Ticket #4530: filter_watched.patch

File filter_watched.patch, 27.6 KB (added by Donald R. Huettl <drhuettl@…>, 13 years ago)
Line 
1Index: mythtv.new/i18n/mythfrontend_zh_tw.ts
2===================================================================
3--- mythtv.new/i18n/mythfrontend_zh_tw.ts       (revision 15597)
4+++ mythtv.new/i18n/mythfrontend_zh_tw.ts       (working copy)
5@@ -1086,6 +1086,10 @@
6         <translation type="unfinished"></translation>
7     </message>
8     <message>
9+        <source>Unwatched</source>
10+        <translation type="unfinished"></translation>
11+    </message>
12+    <message>
13         <source>There are %1 recordings in this display group</source>
14         <translation type="unfinished"></translation>
15     </message>
16@@ -3185,6 +3189,10 @@
17         <translation type="unfinished"></translation>
18     </message>
19     <message>
20+        <source>Unwatched</source>
21+        <translation type="unfinished"></translation>
22+    </message>
23+    <message>
24         <source>Start in Title section</source>
25         <translation type="unfinished"></translation>
26     </message>
27Index: mythtv.new/i18n/mythfrontend_nb.ts
28===================================================================
29--- mythtv.new/i18n/mythfrontend_nb.ts  (revision 15597)
30+++ mythtv.new/i18n/mythfrontend_nb.ts  (working copy)
31@@ -1159,6 +1159,10 @@
32         <translation>Alle programmer</translation>
33     </message>
34     <message>
35+        <source>Unwatched</source>
36+        <translation type="unfinished"></translation>
37+    </message>
38+    <message>
39         <source>There are %1 recordings in this display group</source>
40         <translation>Det er %1 opptak i denne gruppen</translation>
41     </message>
42@@ -3923,6 +3927,10 @@
43         <translation>Alle programmer</translation>
44     </message>
45     <message>
46+        <source>Unwatched</source>
47+        <translation type="unfinished"></translation>
48+    </message>
49+    <message>
50         <source>Start in Title section</source>
51         <translation>Start i tittelvelgeren</translation>
52     </message>
53Index: mythtv.new/i18n/mythfrontend_pt_br.ts
54===================================================================
55--- mythtv.new/i18n/mythfrontend_pt_br.ts       (revision 15597)
56+++ mythtv.new/i18n/mythfrontend_pt_br.ts       (working copy)
57@@ -1271,6 +1271,10 @@
58         <translation type="unfinished">Todos Programas</translation>
59     </message>
60     <message>
61+        <source>Unwatched</source>
62+        <translation type="unfinished"></translation>
63+    </message>
64+    <message>
65         <source>There are %1 recordings in this display group</source>
66         <translation type="unfinished">Neste grupo de vídeo existem %1 gravações</translation>
67     </message>
68@@ -4174,6 +4178,10 @@
69         <translation type="unfinished">Todos Programas</translation>
70     </message>
71     <message>
72+        <source>Unwatched</source>
73+        <translation type="unfinished"></translation>
74+    </message>
75+    <message>
76         <source>Default group filter to apply on the View Recordings screen.</source>
77         <translation type="obsolete">Aplicar filtro de grupo padrão na tela de visualização de Gravações</translation>
78     </message>
79Index: mythtv.new/i18n/mythfrontend_fr.ts
80===================================================================
81--- mythtv.new/i18n/mythfrontend_fr.ts  (revision 15597)
82+++ mythtv.new/i18n/mythfrontend_fr.ts  (working copy)
83@@ -1289,6 +1289,10 @@
84         <translation>Toutes les émissions</translation>
85     </message>
86     <message>
87+        <source>Unwatched</source>
88+        <translation type="unfinished"></translation>
89+    </message>
90+    <message>
91         <source>You have finished watching:</source>
92         <translation type="obsolete">Vous avez terminé de visionner:</translation>
93     </message>
94@@ -4005,6 +4009,10 @@
95         <translation>Toutes émissions</translation>
96     </message>
97     <message>
98+        <source>Unwatched</source>
99+        <translation type="unfinished"></translation>
100+    </message>
101+    <message>
102         <source>Show group summary</source>
103         <translation>Voir les résumés de groupes</translation>
104     </message>
105Index: mythtv.new/i18n/mythfrontend_et.ts
106===================================================================
107--- mythtv.new/i18n/mythfrontend_et.ts  (revision 15597)
108+++ mythtv.new/i18n/mythfrontend_et.ts  (working copy)
109@@ -1361,6 +1361,10 @@
110         <translation>Kõik programmid</translation>
111     </message>
112     <message>
113+        <source>Unwatched</source>
114+        <translation type="unfinished"></translation>
115+    </message>
116+    <message>
117         <source>There are %1 recordings in this display group</source>
118         <translation>NÀidatavas grupis on %1 salvestist</translation>
119     </message>
120@@ -4345,6 +4349,10 @@
121         <translation>Kõik programmid</translation>
122     </message>
123     <message>
124+        <source>Unwatched</source>
125+        <translation type="unfinished"></translation>
126+    </message>
127+    <message>
128         <source>Start in Title section</source>
129         <translation>Alusta pealkirjade sektsioonis</translation>
130     </message>
131Index: mythtv.new/i18n/mythfrontend_nl.ts
132===================================================================
133--- mythtv.new/i18n/mythfrontend_nl.ts  (revision 15597)
134+++ mythtv.new/i18n/mythfrontend_nl.ts  (working copy)
135@@ -1172,6 +1172,10 @@
136         <translation>Alle Programma &apos;s</translation>
137     </message>
138     <message>
139+        <source>Unwatched</source>
140+        <translation type="unfinished"></translation>
141+    </message>
142+    <message>
143         <source>You have finished watching:</source>
144         <translation type="obsolete">U bent klaar met het kijken naar:</translation>
145     </message>
146@@ -3651,6 +3655,10 @@
147         <translation>Alle programma&apos;s</translation>
148     </message>
149     <message>
150+        <source>Unwatched</source>
151+        <translation type="unfinished"></translation>
152+    </message>
153+    <message>
154         <source>Commercial Skip Auto-Rewind Amount</source>
155         <translation>Hoeveel terugspringen na &quot;Reclame overslaan&quot;</translation>
156     </message>
157Index: mythtv.new/i18n/mythfrontend_en_gb.ts
158===================================================================
159--- mythtv.new/i18n/mythfrontend_en_gb.ts       (revision 15597)
160+++ mythtv.new/i18n/mythfrontend_en_gb.ts       (working copy)
161@@ -1106,6 +1106,10 @@
162         <translation>All Programmes</translation>
163     </message>
164     <message>
165+        <source>Unwatched</source>
166+        <translation type="unfinished"></translation>
167+    </message>
168+    <message>
169         <source>There are %1 recordings in this display group</source>
170         <translation></translation>
171     </message>
172@@ -4268,6 +4272,10 @@
173         <translation>All Programmes</translation>
174     </message>
175     <message>
176+        <source>Unwatched</source>
177+        <translation type="unfinished"></translation>
178+    </message>
179+    <message>
180         <source>Always prompt for initial group filter</source>
181         <translation></translation>
182     </message>
183Index: mythtv.new/i18n/mythfrontend_pl.ts
184===================================================================
185--- mythtv.new/i18n/mythfrontend_pl.ts  (revision 15597)
186+++ mythtv.new/i18n/mythfrontend_pl.ts  (working copy)
187@@ -1101,6 +1101,10 @@
188         <translation type="unfinished"></translation>
189     </message>
190     <message>
191+        <source>Unwatched</source>
192+        <translation type="unfinished"></translation>
193+    </message>
194+    <message>
195         <source>There are %1 recordings in this display group</source>
196         <translation type="unfinished"></translation>
197     </message>
198@@ -4318,6 +4322,10 @@
199         <translation type="unfinished"></translation>
200     </message>
201     <message>
202+        <source>Unwatched</source>
203+        <translation type="unfinished"></translation>
204+    </message>
205+    <message>
206         <source>Always prompt for initial group filter</source>
207         <translation type="unfinished"></translation>
208     </message>
209Index: mythtv.new/i18n/mythfrontend_it.ts
210===================================================================
211--- mythtv.new/i18n/mythfrontend_it.ts  (revision 15597)
212+++ mythtv.new/i18n/mythfrontend_it.ts  (working copy)
213@@ -1134,6 +1134,10 @@
214         <translation>Tutte le Reg.</translation>
215     </message>
216     <message>
217+        <source>Unwatched</source>
218+        <translation type="unfinished"></translation>
219+    </message>
220+    <message>
221         <source>% used</source>
222         <translation>% usato</translation>
223     </message>
224@@ -3555,6 +3559,10 @@
225         <translation type="unfinished">Tutte le Reg.</translation>
226     </message>
227     <message>
228+        <source>Unwatched</source>
229+        <translation type="unfinished"></translation>
230+    </message>
231+    <message>
232         <source>Commercial Skip Auto-Rewind Amount</source>
233         <translation type="unfinished"></translation>
234     </message>
235Index: mythtv.new/i18n/mythfrontend_cz.ts
236===================================================================
237--- mythtv.new/i18n/mythfrontend_cz.ts  (revision 15597)
238+++ mythtv.new/i18n/mythfrontend_cz.ts  (working copy)
239@@ -1309,6 +1309,10 @@
240         <translation>VÅ¡echny programy</translation>
241     </message>
242     <message>
243+        <source>Unwatched</source>
244+        <translation type="unfinished"></translation>
245+    </message>
246+    <message>
247         <source>There are %1 recordings in this display group</source>
248         <translation>V této skupině zobrazení je %1 nahrávek</translation>
249     </message>
250@@ -4068,6 +4072,10 @@
251         <translation>VÅ¡echny programy</translation>
252     </message>
253     <message>
254+        <source>Unwatched</source>
255+        <translation type="unfinished"></translation>
256+    </message>
257+    <message>
258         <source>Start in Title section</source>
259         <translation type="unfinished"></translation>
260     </message>
261Index: mythtv.new/i18n/mythfrontend_ca.ts
262===================================================================
263--- mythtv.new/i18n/mythfrontend_ca.ts  (revision 15597)
264+++ mythtv.new/i18n/mythfrontend_ca.ts  (working copy)
265@@ -1097,6 +1097,10 @@
266         <translation>Tots</translation>
267     </message>
268     <message>
269+        <source>Unwatched</source>
270+        <translation type="unfinished"></translation>
271+    </message>
272+    <message>
273         <source>You have finished watching:</source>
274         <translation type="obsolete">Heu acavat de veure:</translation>
275     </message>
276@@ -3490,6 +3494,10 @@
277         <translation type="unfinished">Tots</translation>
278     </message>
279     <message>
280+        <source>Unwatched</source>
281+        <translation type="unfinished"></translation>
282+    </message>
283+    <message>
284         <source>Commercial Skip Auto-Rewind Amount</source>
285         <translation type="unfinished"></translation>
286     </message>
287Index: mythtv.new/i18n/mythfrontend_pt.ts
288===================================================================
289--- mythtv.new/i18n/mythfrontend_pt.ts  (revision 15597)
290+++ mythtv.new/i18n/mythfrontend_pt.ts  (working copy)
291@@ -1097,6 +1097,10 @@
292         <translation>Todos os Programas</translation>
293     </message>
294     <message>
295+        <source>Unwatched</source>
296+        <translation type="unfinished"></translation>
297+    </message>
298+    <message>
299         <source>You have finished watching:</source>
300         <translation type="obsolete">Acabou de ver:</translation>
301     </message>
302@@ -3478,6 +3482,10 @@
303         <translation type="unfinished">Todos os Programas</translation>
304     </message>
305     <message>
306+        <source>Unwatched</source>
307+        <translation type="unfinished"></translation>
308+    </message>
309+    <message>
310         <source>Commercial Skip Auto-Rewind Amount</source>
311         <translation type="unfinished"></translation>
312     </message>
313Index: mythtv.new/i18n/mythfrontend_tr.ts
314===================================================================
315--- mythtv.new/i18n/mythfrontend_tr.ts  (revision 15597)
316+++ mythtv.new/i18n/mythfrontend_tr.ts  (working copy)
317@@ -1315,6 +1315,10 @@
318         <translation>TÃŒm Programlar</translation>
319     </message>
320     <message>
321+        <source>Unwatched</source>
322+        <translation type="unfinished"></translation>
323+    </message>
324+    <message>
325         <source>There are %1 recordings in this display group</source>
326         <translation>Bu gösterge grubunda %1 kayıt var</translation>
327     </message>
328@@ -4765,6 +4769,10 @@
329         <translation>TÃŒm Programlar</translation>
330     </message>
331     <message>
332+        <source>Unwatched</source>
333+        <translation type="unfinished"></translation>
334+    </message>
335+    <message>
336         <source>Default group filter to apply on the View Recordings screen.</source>
337         <translation type="obsolete">Kayıtları GörÃŒntÃŒle ekranında uygulanacak varsayılan grup filtresi.</translation>
338     </message>
339Index: mythtv.new/i18n/mythfrontend_de.ts
340===================================================================
341--- mythtv.new/i18n/mythfrontend_de.ts  (revision 15597)
342+++ mythtv.new/i18n/mythfrontend_de.ts  (working copy)
343@@ -1328,6 +1328,10 @@
344         <translation>Alle Sendungen</translation>
345     </message>
346     <message>
347+        <source>Unwatched</source>
348+        <translation type="unfinished"></translation>
349+    </message>
350+    <message>
351         <source>You have finished watching:</source>
352         <translation type="obsolete">Wiedergabe beendet von:</translation>
353     </message>
354@@ -3850,6 +3854,10 @@
355         <translation>Alle Sendungen</translation>
356     </message>
357     <message>
358+        <source>Unwatched</source>
359+        <translation type="unfinished"></translation>
360+    </message>
361+    <message>
362         <source>Commercial Skip Auto-Rewind Amount</source>
363         <translation type="unfinished">Werbeblock SprunglÀnge</translation>
364     </message>
365Index: mythtv.new/i18n/mythfrontend_sv.ts
366===================================================================
367--- mythtv.new/i18n/mythfrontend_sv.ts  (revision 15597)
368+++ mythtv.new/i18n/mythfrontend_sv.ts  (working copy)
369@@ -1097,6 +1097,10 @@
370         <translation>Alla program</translation>
371     </message>
372     <message>
373+        <source>Unwatched</source>
374+        <translation type="unfinished"></translation>
375+    </message>
376+    <message>
377         <source>Are you sure you want to delete:</source>
378         <translation>Är du sÀker pÃ¥ att du vill ta bort:</translation>
379     </message>
380@@ -3436,6 +3440,10 @@
381         <translation>Alla program</translation>
382     </message>
383     <message>
384+        <source>Unwatched</source>
385+        <translation type="unfinished"></translation>
386+    </message>
387+    <message>
388         <source>Commercial Skip Auto-Rewind Amount</source>
389         <translation>Tillbakaspolning vid reklamöverhoppning</translation>
390     </message>
391Index: mythtv.new/i18n/mythfrontend_ja.ts
392===================================================================
393--- mythtv.new/i18n/mythfrontend_ja.ts  (revision 15597)
394+++ mythtv.new/i18n/mythfrontend_ja.ts  (working copy)
395@@ -1277,6 +1277,10 @@
396         <translation>党番組</translation>
397     </message>
398     <message>
399+        <source>Unwatched</source>
400+        <translation type="unfinished"></translation>
401+    </message>
402+    <message>
403         <source>You have finished watching:</source>
404         <translation type="obsolete">枈み:</translation>
405     </message>
406@@ -3817,6 +3821,10 @@
407         <translation>党番組</translation>
408     </message>
409     <message>
410+        <source>Unwatched</source>
411+        <translation type="unfinished"></translation>
412+    </message>
413+    <message>
414         <source>Commercial Skip Auto-Rewind Amount</source>
415         <translation>CMスキップ自動巻き戻し量</translation>
416     </message>
417Index: mythtv.new/i18n/mythfrontend_fi.ts
418===================================================================
419--- mythtv.new/i18n/mythfrontend_fi.ts  (revision 15597)
420+++ mythtv.new/i18n/mythfrontend_fi.ts  (working copy)
421@@ -1297,6 +1297,10 @@
422         <translation>Kaikki Ohjelmat</translation>
423     </message>
424     <message>
425+        <source>Unwatched</source>
426+        <translation type="unfinished"></translation>
427+    </message>
428+    <message>
429         <source>You have finished watching:</source>
430         <translation type="obsolete">Katsomasi ohjelma on loppunut:</translation>
431     </message>
432@@ -3834,6 +3838,10 @@
433         <translation>Kaikki Ohjelmat</translation>
434     </message>
435     <message>
436+        <source>Unwatched</source>
437+        <translation type="unfinished"></translation>
438+    </message>
439+    <message>
440         <source>Commercial Skip Auto-Rewind Amount</source>
441         <translation>Mainosten Ohituksen Automaattisenkelauksen MÀÀrÀ</translation>
442     </message>
443Index: mythtv.new/i18n/mythfrontend_dk.ts
444===================================================================
445--- mythtv.new/i18n/mythfrontend_dk.ts  (revision 15597)
446+++ mythtv.new/i18n/mythfrontend_dk.ts  (working copy)
447@@ -1329,6 +1329,10 @@
448         <translation>Alle programmer</translation>
449     </message>
450     <message>
451+        <source>Unwatched</source>
452+        <translation type="unfinished"></translation>
453+    </message>
454+    <message>
455         <source>You have finished watching:</source>
456         <translation type="obsolete">Du er fÊrdig med at se:</translation>
457     </message>
458@@ -3852,6 +3856,10 @@
459         <translation>Alle programmer</translation>
460     </message>
461     <message>
462+        <source>Unwatched</source>
463+        <translation type="unfinished"></translation>
464+    </message>
465+    <message>
466         <source>Commercial Skip Auto-Rewind Amount</source>
467         <translation>Reklame skip Auto-Tilbage mÊngde</translation>
468     </message>
469Index: mythtv.new/i18n/mythfrontend_es.ts
470===================================================================
471--- mythtv.new/i18n/mythfrontend_es.ts  (revision 15597)
472+++ mythtv.new/i18n/mythfrontend_es.ts  (working copy)
473@@ -1342,6 +1342,10 @@
474         <translation>Todas</translation>
475     </message>
476     <message>
477+        <source>Unwatched</source>
478+        <translation type="unfinished"></translation>
479+    </message>
480+    <message>
481         <source>You have finished watching:</source>
482         <translation type="obsolete">Ha acabado de ver:</translation>
483     </message>
484@@ -3878,6 +3882,10 @@
485         <translation>Todas</translation>
486     </message>
487     <message>
488+        <source>Unwatched</source>
489+        <translation type="unfinished"></translation>
490+    </message>
491+    <message>
492         <source>Commercial Skip Auto-Rewind Amount</source>
493         <translation>Cantidad de salto atrás después del salto de anuncios</translation>
494     </message>
495Index: mythtv.new/i18n/mythfrontend_is.ts
496===================================================================
497--- mythtv.new/i18n/mythfrontend_is.ts  (revision 15597)
498+++ mythtv.new/i18n/mythfrontend_is.ts  (working copy)
499@@ -1305,6 +1305,10 @@
500         <translation>Allir dagskrárliðir</translation>
501     </message>
502     <message>
503+        <source>Unwatched</source>
504+        <translation type="unfinished"></translation>
505+    </message>
506+    <message>
507         <source>You have finished watching:</source>
508         <translation type="obsolete">Þú hefur lokið að horfa á:</translation>
509     </message>
510@@ -3805,6 +3809,10 @@
511         <translation>Alle programmer</translation>
512     </message>
513     <message>
514+        <source>Unwatched</source>
515+        <translation type="unfinished"></translation>
516+    </message>
517+    <message>
518         <source>Commercial Skip Auto-Rewind Amount</source>
519         <translation type="unfinished"></translation>
520     </message>
521Index: mythtv.new/i18n/mythfrontend_si.ts
522===================================================================
523--- mythtv.new/i18n/mythfrontend_si.ts  (revision 15597)
524+++ mythtv.new/i18n/mythfrontend_si.ts  (working copy)
525@@ -1259,6 +1259,10 @@
526         <translation>Vsi programi</translation>
527     </message>
528     <message>
529+        <source>Unwatched</source>
530+        <translation type="unfinished"></translation>
531+    </message>
532+    <message>
533         <source>There are %1 recordings in this display group</source>
534         <translation>Samo 1% posnetkov je v tej skupini</translation>
535     </message>
536@@ -3460,6 +3464,10 @@
537         <translation>Vsi programi</translation>
538     </message>
539     <message>
540+        <source>Unwatched</source>
541+        <translation type="unfinished"></translation>
542+    </message>
543+    <message>
544         <source>Start in Title section</source>
545         <translation>Začni z naslovom</translation>
546     </message>
547Index: mythtv.new/i18n/mythfrontend_ru.ts
548===================================================================
549--- mythtv.new/i18n/mythfrontend_ru.ts  (revision 15597)
550+++ mythtv.new/i18n/mythfrontend_ru.ts  (working copy)
551@@ -1167,6 +1167,10 @@
552         <translation>Все прПграЌЌы</translation>
553     </message>
554     <message>
555+        <source>Unwatched</source>
556+        <translation type="unfinished"></translation>
557+    </message>
558+    <message>
559         <source>There are %1 recordings in this display group</source>
560         <translation>%1 запОсей в этПй группе</translation>
561     </message>
562@@ -4517,6 +4521,10 @@
563         <translation>ВсеЌ прПграЌЌаЌ</translation>
564     </message>
565     <message>
566+        <source>Unwatched</source>
567+        <translation type="unfinished"></translation>
568+    </message>
569+    <message>
570         <source>Default group filter to apply on the View Recordings screen.</source>
571         <translation type="obsolete">ЀОльтр пП уЌПлчаМОю Ўля группы прОЌеМяеЌый Ма экраМе ПрПсЌПтр запОсей.</translation>
572     </message>
573Index: mythtv.new/libs/libmythtv/programinfo.cpp
574===================================================================
575--- mythtv.new/libs/libmythtv/programinfo.cpp   (revision 15597)
576+++ mythtv.new/libs/libmythtv/programinfo.cpp   (working copy)
577@@ -4031,7 +4031,7 @@
578 {
579     QString result = QString("");
580 
581-    if (group == "All Programs")
582+    if ((group == "All Programs") || (group == "Unwatched"))
583     {
584         result = gContext->GetSetting("AllRecGroupPassword");
585     }
586Index: mythtv.new/programs/mythfrontend/playbackbox.cpp
587===================================================================
588--- mythtv.new/programs/mythfrontend/playbackbox.cpp    (revision 15597)
589+++ mythtv.new/programs/mythfrontend/playbackbox.cpp    (working copy)
590@@ -336,7 +336,8 @@
591         if ((recGroup == "All Programs") ||
592             (recGroup == "Default") ||
593             (recGroup == "LiveTV") ||
594-            (recGroup == "Deleted"))
595+            (recGroup == "Deleted") ||
596+            (recGroup == "Unwatched"))
597         {
598             groupDisplayName = tr(recGroup);
599         }
600@@ -1842,12 +1843,14 @@
601         {
602             progsInDB++;
603             p = *i;
604+            bool watched = (p->programflags & FL_WATCHED);
605+            bool allUnwatched = ((recGroup == "Unwatched") && !watched);
606 
607             if (p->title == "")
608                 p->title = tr("_NO_TITLE_");
609 
610             if ((((p->recgroup == recGroup) ||
611-                  ((recGroup == "All Programs") &&
612+                  (((recGroup == "All Programs") || allUnwatched) &&
613                    (p->recgroup != "Deleted") &&
614                    (p->recgroup != "LiveTV" || LiveTVInAllPrograms))) &&
615                  (recGroupPassword == curGroupPassword)) ||
616@@ -1868,7 +1871,7 @@
617                 if ((viewMask & VIEW_TITLES) && // Show titles
618                     ((p->recgroup != "LiveTV") ||
619                      (recGroup == "LiveTV") ||
620-                     ((recGroup == "All Programs") &&
621+                     (((recGroup == "All Programs") || allUnwatched) &&
622                       ((viewMask & VIEW_LIVETVGRP) == 0))))
623                 {
624                     sTitle = sortTitle(p->title, viewMask, titleSort,
625@@ -1909,7 +1912,7 @@
626                 }
627 
628                 if ((LiveTVInAllPrograms) &&
629-                    (recGroup == "All Programs") &&
630+                    ((recGroup == "All Programs") || allUnwatched) &&
631                     (viewMask & VIEW_LIVETVGRP) &&
632                     (p->recgroup == "LiveTV"))
633                 {
634@@ -1927,7 +1930,7 @@
635                         VERBOSE(VB_FILE, QString("Auto-expire off:  %1")
636                                                  .arg(p->title));
637                     }
638-                    else if (p->programflags & FL_WATCHED)
639+                    else if (watched)
640                     {
641                         p->recpriority2 = wlWatched;
642                         VERBOSE(VB_FILE, QString("Marked as 'watched':  %1")
643@@ -4957,7 +4960,7 @@
644             SLOT(toggleSearchView(bool)));
645     recGroupPopup->addWidget(checkBox, false);
646 
647-    if ((recGroup == "All Programs") &&
648+    if (((recGroup == "All Programs") || (recGroup == "Unwatched"))&&
649         (gContext->GetNumSetting("LiveTVInAllPrograms",0)))
650     {
651         checkBox = new MythCheckBox(tr("Show LiveTV as a Group"),
652@@ -5018,6 +5021,7 @@
653     QString saveRecGroup = recGroup;
654     int items;
655     int totalItems = 0;
656+    int unwatched = 0;
657     bool liveTVInAll = gContext->GetNumSetting("LiveTVInAllPrograms",0);
658 
659     recGroupType.clear();
660@@ -5026,7 +5030,7 @@
661 
662     // Find each recording group, and the number of recordings in each
663     query.prepare(
664-        "SELECT recgroup, COUNT(title) "
665+        "SELECT recgroup, COUNT(title), SUM(watched) "
666         "FROM recorded "
667         "WHERE deletepending = 0 "
668         "GROUP BY recgroup");
669@@ -5042,6 +5046,8 @@
670                 (dispGroup != "Deleted"))
671                 totalItems += items;
672 
673+            unwatched += (items - query.value(2).toInt());
674+
675             dispGroup = (dispGroup == "Default") ? tr("Default") : dispGroup;
676             dispGroup = (dispGroup == "Deleted") ? tr("Deleted") : dispGroup;
677             dispGroup = (dispGroup == "LiveTV")  ? tr("LiveTV")  : dispGroup;
678@@ -5059,6 +5065,12 @@
679                                         .arg(totalItems).arg(itemStr));
680     recGroupType["All Programs"] = "recgroup";
681 
682+    // Create and add the "Unwatched" entry
683+    itemStr = (unwatched == 1) ? tr("item") : tr("items");
684+    recGroupListBox->insertItem(QString("%1 [%2 %3]").arg(tr("Unwatched"))
685+                                        .arg(unwatched).arg(itemStr));
686+    recGroupType["Unwatched"] = "recgroup";
687+
688     // Add the group entries
689     recGroupListBox->insertItem(QString("------- %1 -------")
690                                         .arg(tr("Groups")));
691@@ -5130,6 +5142,8 @@
692         dispGroup = tr("LiveTV");
693     else if (recGroup == "Deleted")
694         dispGroup = tr("Deleted");
695+    else if (recGroup == "Unwatched")
696+        dispGroup = tr("Unwatched");
697     else
698         dispGroup = recGroup;
699 
700@@ -5198,6 +5212,8 @@
701         recGroup = "LiveTV";
702     else if (recGroup == tr("Deleted"))
703         recGroup = "Deleted";
704+    else if (recGroup == tr("Unwatched"))
705+        recGroup = "Unwatched";
706 
707     recGroupPassword = getRecGroupPassword(recGroup);
708 
709@@ -5586,7 +5602,8 @@
710     grid->addWidget(label, 0, 0, Qt::AlignLeft);
711 
712     if ((recGroup == "Default") || (recGroup == "All Programs") ||
713-        (recGroup == "LiveTV") || (recGroup == "Deleted"))
714+        (recGroup == "LiveTV") || (recGroup == "Deleted") ||
715+        (recGroup == "Unwatched"))
716         label = new QLabel(tr(recGroup), recGroupPopup);
717     else
718         label = new QLabel(recGroup, recGroupPopup);
719@@ -5659,7 +5676,7 @@
720         return;
721     }
722 
723-    if (recGroup == "All Programs")
724+    if ((recGroup == "All Programs") || (recGroup == "Unwatched"))
725     {
726         gContext->SaveSetting("AllRecGroupPassword", newPassword);
727     }
728Index: mythtv.new/programs/mythfrontend/globalsettings.cpp
729===================================================================
730--- mythtv.new/programs/mythfrontend/globalsettings.cpp (revision 15597)
731+++ mythtv.new/programs/mythfrontend/globalsettings.cpp (working copy)
732@@ -251,6 +251,7 @@
733     gc->setLabel(QObject::tr("Default group filter to apply"));
734 
735     gc->addSelection(QObject::tr("All Programs"), QString("All Programs"));
736+    gc->addSelection(QObject::tr("Unwatched"), QString("Unwatched"));
737     gc->addSelection(QObject::tr("Default"), QString("Default"));
738 
739     MSqlQuery query(MSqlQuery::InitCon());