diff -Nur orig/mythtv-0.18.1/libs/libmythtv/proglist.cpp mythtv-0.18.1/libs/libmythtv/proglist.cpp --- orig/mythtv-0.18.1/libs/libmythtv/proglist.cpp 2005-05-11 15:24:37.000000000 -0400 +++ mythtv-0.18.1/libs/libmythtv/proglist.cpp 2005-08-23 07:29:10.000000000 -0400 @@ -1312,6 +1312,8 @@ viewTextList << tr("At least 3 stars"); viewList << "0.5"; viewTextList << tr("At least 2 stars"); + viewList << "Unique"; + viewTextList << tr("Unique"); curView = 0; } else if (type == plTime) @@ -1470,11 +1472,29 @@ } else if (type == plMovies) // list movies { - where = QString("WHERE channel.visible = 1 " - " AND program.endtime > %1 " - " AND program.category_type = 'movie' " - " AND program.stars >= '\%2' ") - .arg(startstr).arg(qphrase); + if (qphrase != "Unique") { + where = QString("WHERE channel.visible = 1 " + " AND program.endtime > %1 " + " AND program.category_type = 'movie' " + " AND program.stars >= '\%2' ") + .arg(startstr).arg(qphrase); + } else { // list only by unique show names. +// where = QString("WHERE channel.visible = 1" +// " AND program.endtime > %1 " +// " AND program.category_type = 'movie'" +// " GROUP BY program.title " +// " ORDER BY program.title ASC ") +// .arg(startstr); + where = QString("LEFT JOIN videometadata ON" + " program.title = videometadata.title" + " WHERE channel.visible = 1" + " AND program.endtime > %1" + " AND program.category_type = 'movie'" + " AND videometadata.title IS NULL" + " GROUP BY program.title" + " ORDER BY program.title ASC ") + .arg(startstr); + } } else if (type == plTime) // list by time {