Ticket #5759: mythtv-5759-add_support_for_manage_rules.4.patch

File mythtv-5759-add_support_for_manage_rules.4.patch, 29.9 KB (added by sphery <mtdean@…>, 17 years ago)

Updated patch for recent changes to trunk

Line 
1Index: mythtv/programs/mythfrontend/programrecpriority.cpp
2===================================================================
3--- mythtv.orig/programs/mythfrontend/programrecpriority.cpp 2009-04-16 19:05:58.000000000 -0400
4+++ mythtv/programs/mythfrontend/programrecpriority.cpp 2009-05-23 16:23:26.000000000 -0400
5@@ -10,6 +10,7 @@
6 #include "scheduledrecording.h"
7 #include "customedit.h"
8 #include "proglist.h"
9+#include "storagegroup.h"
10
11 #include "mythdb.h"
12 #include "mythverbose.h"
13@@ -28,7 +29,8 @@
14 ProgramInfo(),
15 recTypeRecPriority(0), recType(kNotRecording),
16 matchCount(0), recCount(0),
17- avg_delay(0), autoRecPriority(0)
18+ avg_delay(0), autoRecPriority(0),
19+ profile("")
20 {
21 }
22
23@@ -40,7 +42,8 @@
24 matchCount(other.matchCount),
25 recCount(other.recCount),
26 avg_delay(other.avg_delay),
27- autoRecPriority(other.autoRecPriority)
28+ autoRecPriority(other.autoRecPriority),
29+ profile(other.profile)
30 {
31 // TODO CHECK: should last_record be initialized too? -- dtk 22-12-2008
32 }
33@@ -61,6 +64,7 @@
34 last_record = QDateTime();
35 avg_delay = 0;
36 autoRecPriority = 0;
37+ profile = "";
38 #endif
39
40 return *this;
41@@ -323,25 +327,42 @@
42 m_sortType = (SortType)gContext->GetNumSetting("ProgramRecPrioritySorting",
43 (int)byTitle);
44 m_reverseSort = gContext->GetNumSetting("ProgramRecPriorityReverse", 0);
45+ m_formatShortDate = gContext->GetSetting("ShortDateFormat", "M/d");
46+ m_formatLongDate = gContext->GetSetting("DateFormat", "ddd MMMM d");
47+ m_formatTime = gContext->GetSetting("TimeFormat", "h:mm AP");
48 }
49
50 ProgramRecPriority::~ProgramRecPriority()
51 {
52 }
53
54-bool ProgramRecPriority::Create()
55+bool ProgramRecPriority::Create(QString window_name)
56 {
57- if (!LoadWindowFromXML("schedule-ui.xml", "programrecpriority", this))
58+ if (window_name != "managerecrules")
59+ window_name = "programrecpriority";
60+
61+ if (!LoadWindowFromXML("schedule-ui.xml", window_name, this))
62 return false;
63
64 m_programList = dynamic_cast<MythUIButtonList *> (GetChild("programs"));
65
66+ m_descriptionText = dynamic_cast<MythUIText *> (GetChild("description"));
67+ m_categoryText = dynamic_cast<MythUIText *> (GetChild("category"));
68 m_schedInfoText = dynamic_cast<MythUIText *> (GetChild("scheduleinfo"));
69 m_rectypePriorityText = dynamic_cast<MythUIText *>
70 (GetChild("rectypepriority"));
71 m_recPriorityText = dynamic_cast<MythUIText *> (GetChild("recpriority"));
72 m_recPriorityBText = dynamic_cast<MythUIText *> (GetChild("recpriorityb"));
73 m_finalPriorityText = dynamic_cast<MythUIText *> (GetChild("finalpriority"));
74+ m_recGroupText = dynamic_cast<MythUIText *> (GetChild("recordinggroup"));
75+ m_storageGroupText = dynamic_cast<MythUIText *> (GetChild("storagegroup"));
76+ m_lastRecordedText = dynamic_cast<MythUIText *> (GetChild("lastrecorded"));
77+ m_lastRecordedDateText = dynamic_cast<MythUIText *> (GetChild("lastrecordeddate"));
78+ m_lastRecordedTimeText = dynamic_cast<MythUIText *> (GetChild("lastrecordedtime"));
79+ m_channameText = dynamic_cast<MythUIText *> (GetChild("channel"));
80+ m_channumText = dynamic_cast<MythUIText *> (GetChild("channum"));
81+ m_callsignText = dynamic_cast<MythUIText *> (GetChild("callsign"));
82+ m_recProfileText = dynamic_cast<MythUIText *> (GetChild("recordingprofile"));
83
84 if (!m_programList)
85 {
86@@ -1065,7 +1086,7 @@
87
88 MSqlQuery result(MSqlQuery::InitCon());
89 result.prepare("SELECT recordid, title, chanid, starttime, startdate, "
90- "type, inactive, last_record, avg_delay "
91+ "type, inactive, last_record, avg_delay, profile "
92 "FROM record;");
93
94 if (!result.exec())
95@@ -1086,6 +1107,7 @@
96 int inactive = result.value(6).toInt();
97 QDateTime lastrec = result.value(7).toDateTime();
98 int avgd = result.value(8).toInt();
99+ QString profile = result.value(9).toString();
100
101 // find matching program in m_programData and set
102 // recTypeRecPriority and recType
103@@ -1105,6 +1127,7 @@
104 progInfo->recCount = m_recMatch[progInfo->recordid];
105 progInfo->last_record = lastrec;
106 progInfo->avg_delay = avgd;
107+ progInfo->profile = profile;
108
109 if (autopriority)
110 progInfo->autoRecPriority =
111@@ -1313,8 +1336,56 @@
112 progInfo->ToMap(infoMap);
113 item->SetTextFromMap(infoMap, state);
114
115+ item->SetText(progInfo->description, "description", state);
116+ item->SetText(progInfo->category, "category", state);
117 item->SetText(QString::number(progRecPriority), "progpriority", state);
118 item->SetText(QString::number(finalRecPriority), "finalpriority", state);
119+
120+ QString recgroup = progInfo->recgroup;
121+ if (recgroup == "Default")
122+ recgroup = tr("Default");
123+ item->SetText(recgroup, "recordinggroup", state);
124+ QString storagegroup = progInfo->storagegroup;
125+ if (storagegroup == "Default")
126+ storagegroup = tr("Default");
127+ else if (StorageGroup::kSpecialGroups.contains(storagegroup))
128+ storagegroup = tr(storagegroup.toLatin1().constData());
129+ item->SetText(storagegroup, "storagegroup", state);
130+
131+ QString tempDateTime = (progInfo->last_record).toString(m_formatLongDate + ' ' + m_formatTime);
132+ item->SetText(tempDateTime, "lastrecorded", state);
133+ QString tempDate = (progInfo->last_record).toString(m_formatShortDate);
134+ item->SetText(tempDate, "lastrecordeddate", state);
135+ QString tempTime = (progInfo->last_record).toString(m_formatTime);
136+ item->SetText(tempTime, "lastrecordedtime", state);
137+
138+ QString channame = progInfo->channame;
139+ if ((progInfo->recType == kAllRecord) ||
140+ (progInfo->recType == kFindOneRecord) ||
141+ (progInfo->recType == kFindDailyRecord) ||
142+ (progInfo->recType == kFindWeeklyRecord))
143+ channame = tr("Any");
144+ item->SetText(channame, "channel", state);
145+ QString channum = progInfo->chanstr;
146+ if ((progInfo->recType == kAllRecord) ||
147+ (progInfo->recType == kFindOneRecord) ||
148+ (progInfo->recType == kFindDailyRecord) ||
149+ (progInfo->recType == kFindWeeklyRecord))
150+ channum = tr("Any");
151+ item->SetText(channum, "channum", state);
152+ QString callsign = progInfo->chansign;
153+ if ((progInfo->recType == kAllRecord) ||
154+ (progInfo->recType == kFindOneRecord) ||
155+ (progInfo->recType == kFindDailyRecord) ||
156+ (progInfo->recType == kFindWeeklyRecord))
157+ callsign = tr("Any");
158+ item->SetText(callsign, "callsign", state);
159+
160+ QString profile = progInfo->profile;
161+ if ((profile == "Default") || (profile == "Live TV") ||
162+ (profile == "High Quality") || (profile == "Low Quality"))
163+ profile = tr(profile.toLatin1().constData());
164+ item->SetText(profile, "recordingprofile", state);
165 item->DisplayState(state, "status");
166
167 if (m_currentItem == progInfo)
168@@ -1372,6 +1443,12 @@
169 pgRecInfo->ToMap(infoMap);
170 SetTextFromMap(infoMap);
171
172+ if (m_descriptionText)
173+ m_descriptionText->SetText(pgRecInfo->description);
174+
175+ if (m_categoryText)
176+ m_categoryText->SetText(pgRecInfo->category);
177+
178 if (m_schedInfoText)
179 m_schedInfoText->SetText(subtitle);
180
181@@ -1395,6 +1472,84 @@
182 if (m_finalPriorityText)
183 m_finalPriorityText->SetText(QString::number(finalRecPriority));
184
185+ if (m_recGroupText)
186+ {
187+ QString recgroup = pgRecInfo->recgroup;
188+ if (recgroup == "Default")
189+ recgroup = tr("Default");
190+ m_recGroupText->SetText(recgroup);
191+ }
192+
193+ if (m_storageGroupText)
194+ {
195+ QString storagegroup = pgRecInfo->storagegroup;
196+ if (storagegroup == "Default")
197+ storagegroup = tr("Default");
198+ else if (StorageGroup::kSpecialGroups.contains(storagegroup))
199+ storagegroup = tr(storagegroup.toLatin1().constData());
200+ m_storageGroupText->SetText(storagegroup);
201+ }
202+
203+ if (m_lastRecordedText)
204+ {
205+ QString tempDateTime = (pgRecInfo->last_record).toString(m_formatLongDate + ' ' + m_formatTime);
206+ m_lastRecordedText->SetText(tempDateTime);
207+ }
208+
209+ if (m_lastRecordedDateText)
210+ {
211+ QString tempDate = (pgRecInfo->last_record).toString(m_formatShortDate);
212+ m_lastRecordedDateText->SetText(tempDate);
213+ }
214+
215+ if (m_lastRecordedTimeText)
216+ {
217+ QString tempTime = (pgRecInfo->last_record).toString(m_formatTime);
218+ m_lastRecordedTimeText->SetText(tempTime);
219+ }
220+
221+ if (m_channameText)
222+ {
223+ QString channame = pgRecInfo->channame;
224+ if ((pgRecInfo->rectype == kAllRecord) ||
225+ (pgRecInfo->rectype == kFindOneRecord) ||
226+ (pgRecInfo->rectype == kFindDailyRecord) ||
227+ (pgRecInfo->rectype == kFindWeeklyRecord))
228+ channame = tr("Any");
229+ m_channameText->SetText(channame);
230+ }
231+
232+ if (m_channumText)
233+ {
234+ QString channum = pgRecInfo->chanstr;
235+ if ((pgRecInfo->rectype == kAllRecord) ||
236+ (pgRecInfo->rectype == kFindOneRecord) ||
237+ (pgRecInfo->rectype == kFindDailyRecord) ||
238+ (pgRecInfo->rectype == kFindWeeklyRecord))
239+ channum = tr("Any");
240+ m_channumText->SetText(channum);
241+ }
242+
243+ if (m_callsignText)
244+ {
245+ QString callsign = pgRecInfo->chansign;
246+ if ((pgRecInfo->rectype == kAllRecord) ||
247+ (pgRecInfo->rectype == kFindOneRecord) ||
248+ (pgRecInfo->rectype == kFindDailyRecord) ||
249+ (pgRecInfo->rectype == kFindWeeklyRecord))
250+ callsign = tr("Any");
251+ m_callsignText->SetText(callsign);
252+ }
253+
254+ if (m_recProfileText)
255+ {
256+ QString profile = pgRecInfo->profile;
257+ if ((profile == "Default") || (profile == "Live TV") ||
258+ (profile == "High Quality") || (profile == "Low Quality"))
259+ profile = tr(profile.toLatin1().constData());
260+ m_recProfileText->SetText(profile);
261+ }
262+
263 }
264
265 void ProgramRecPriority::RemoveItemFromList(MythUIButtonListItem *item)
266Index: mythtv/programs/mythfrontend/programrecpriority.h
267===================================================================
268--- mythtv.orig/programs/mythfrontend/programrecpriority.h 2009-04-16 19:05:57.000000000 -0400
269+++ mythtv/programs/mythfrontend/programrecpriority.h 2009-05-23 15:53:59.000000000 -0400
270@@ -27,6 +27,7 @@
271 QDateTime last_record;
272 int avg_delay;
273 int autoRecPriority;
274+ QString profile;
275 };
276
277 class ProgramRecPriority : public MythScreenType
278@@ -36,7 +37,7 @@
279 ProgramRecPriority(MythScreenStack *parent);
280 ~ProgramRecPriority();
281
282- bool Create(void);
283+ bool Create(QString window_name);
284 bool keyPressEvent(QKeyEvent *);
285 void customEvent(QEvent *event);
286
287@@ -85,11 +86,26 @@
288
289 MythUIButtonList *m_programList;
290
291+ QString m_formatShortDate;
292+ QString m_formatLongDate;
293+ QString m_formatTime;
294+
295+ MythUIText *m_categoryText;
296+ MythUIText *m_descriptionText;
297 MythUIText *m_schedInfoText;
298 MythUIText *m_rectypePriorityText;
299 MythUIText *m_recPriorityText;
300 MythUIText *m_recPriorityBText;
301 MythUIText *m_finalPriorityText;
302+ MythUIText *m_recGroupText;
303+ MythUIText *m_storageGroupText;
304+ MythUIText *m_lastRecordedText;
305+ MythUIText *m_lastRecordedDateText;
306+ MythUIText *m_lastRecordedTimeText;
307+ MythUIText *m_channameText;
308+ MythUIText *m_channumText;
309+ MythUIText *m_callsignText;
310+ MythUIText *m_recProfileText;
311
312 ProgramRecPriorityInfo *m_currentItem;
313
314Index: mythtv/themes/default/schedule-ui.xml
315===================================================================
316--- mythtv.orig/themes/default/schedule-ui.xml 2009-05-23 15:03:23.000000000 -0400
317+++ mythtv/themes/default/schedule-ui.xml 2009-05-23 15:53:59.000000000 -0400
318@@ -827,6 +827,147 @@
319
320 </window>
321
322+ <window name="managerecrules">
323+
324+ <textarea name="pagetitle" from="basetextarea">
325+ <area>20,5,410,40</area>
326+ <font>baselarge</font>
327+ <value>Manage Recording Rules</value>
328+ </textarea>
329+
330+ <imagetype name="filler">
331+ <filename>rk-background.png</filename>
332+ <position>0,35</position>
333+ </imagetype>
334+
335+ <imagetype name="showinglines">
336+ <filename>rk-lines.png</filename>
337+ <position>0,35</position>
338+ </imagetype>
339+
340+ <textarea name="callsignlabel" from="basetextarea">
341+ <area>440,15,100,40</area>
342+ <value>Channel</value>
343+ </textarea>
344+
345+ <textarea name="lastrecordedlabel" from="basetextarea">
346+ <area>550,15,150,40</area>
347+ <value>Last Recorded</value>
348+ <align>right</align>
349+ </textarea>
350+
351+ <textarea name="prioritylabel" from="basetextarea">
352+ <area>710,15,95,40</area>
353+ <value>Priority</value>
354+ </textarea>
355+
356+ <buttonlist name="programs" from="basebuttonlist2">
357+ <area>20,59,760,370</area>
358+ <buttonarea>0,0,760,340</buttonarea>
359+ <statetype name="buttonitem">
360+ <state name="active">
361+ <textarea name="rectype" from="buttontext">
362+ <area>30,1,20,24</area>
363+ <align>hcenter</align>
364+ </textarea>
365+ <textarea name="title" from="buttontext">
366+ <area>60,1,350,24</area>
367+ </textarea>
368+ <textarea name="callsign" from="buttontext">
369+ <area>420,1,100,24</area>
370+ </textarea>
371+ <textarea name="lastrecordeddate" from="buttontext">
372+ <area>530,1,150,24</area>
373+ <align>right</align>
374+ </textarea>
375+ <textarea name="finalpriority" from="buttontext">
376+ <area>690,1,60,24</area>
377+ <align>right</align>
378+ </textarea>
379+ </state>
380+ <state name="selected" from="active" />
381+ <state name="inactive" from="active" />
382+ </statetype>
383+ <statetype name="upscrollarrow">
384+ <position>710,340</position>
385+ </statetype>
386+ <statetype name="downscrollarrow">
387+ <position>740,340</position>
388+ </statetype>
389+ </buttonlist>
390+
391+ <textarea name="title" from="basetextarea">
392+ <area>30,400,740,40</area>
393+ <font>basemedium</font>
394+ </textarea>
395+
396+ <textarea name="recordingtype" from="basetextarea">
397+ <area>30,440,430,30</area>
398+ </textarea>
399+
400+ <textarea name="scheduleinfo" from="basetextarea">
401+ <area>30,470,740,30</area>
402+ </textarea>
403+
404+ <textarea name="finalprioritylabel" from="basetextarea">
405+ <area>630,440,90,30</area>
406+ <value>Priority:</value>
407+ <align>right</align>
408+ </textarea>
409+
410+ <textarea name="finalpriority" from="basetextarea">
411+ <area>730,440,40,30</area>
412+ <align>right</align>
413+ </textarea>
414+
415+ <textarea name="recordinggrouplabel" from="basetextarea">
416+ <area>30,500,190,30</area>
417+ <value>Recording Group:</value>
418+ <align>right</align>
419+ </textarea>
420+
421+ <textarea name="recordinggroup" from="basetextarea">
422+ <area>230,500,160,30</area>
423+ </textarea>
424+
425+ <textarea name="categorylabel" from="basetextarea">
426+ <area>30,530,190,30</area>
427+ <value>Category:</value>
428+ <align>right</align>
429+ </textarea>
430+
431+ <textarea name="category" from="basetextarea">
432+ <area>230,530,160,30</area>
433+ </textarea>
434+
435+ <textarea name="storagegrouplabel" from="basetextarea">
436+ <area>400,500,190,30</area>
437+ <value>Storage Group:</value>
438+ <align>right</align>
439+ </textarea>
440+
441+ <textarea name="storagegroup" from="basetextarea">
442+ <area>600,500,160,30</area>
443+ </textarea>
444+
445+ <textarea name="recordingprofilelabel" from="basetextarea">
446+ <area>400,530,190,30</area>
447+ <value>Recording Profile:</value>
448+ <align>right</align>
449+ </textarea>
450+
451+ <textarea name="recordingprofile" from="basetextarea">
452+ <area>600,530,160,30</area>
453+ </textarea>
454+
455+ <textarea name="keyinstr">
456+ <area>0,570,800,30</area>
457+ <value>(1) Title (2) Priority (4) Type</value>
458+ <align>allcenter</align>
459+ </textarea>
460+
461+ </window>
462+
463 <window name="custompriority">
464
465 <textarea name="pagetitle" from="basetextarea">
466Index: mythtv/themes/defaultmenu/manage_recordings.xml
467===================================================================
468--- mythtv.orig/themes/defaultmenu/manage_recordings.xml 2009-04-16 19:05:49.000000000 -0400
469+++ mythtv/themes/defaultmenu/manage_recordings.xml 2009-05-23 15:53:59.000000000 -0400
470@@ -33,28 +33,11 @@
471 </button>
472
473 <button>
474- <type>TV_RECPRIORITIES</type>
475- <text>Set Priorities</text>
476- <text lang="DE">PrioritÀten</text>
477- <text lang="IS">Setja forgang</text>
478- <text lang="FR">Fixer les priorités</text>
479- <text lang="NL">Prioriteiten Instellen</text>
480- <text lang="SV">Prioriteter</text>
481- <text lang="JA">録画優å…
482ˆé †äœ</text>
483- <text lang="FI">Aseta Prioriteetteja</text>
484- <text lang="ZH_TW">錄圱優å…
485ˆæ¬¡åº</text>
486- <text lang="SL">Nastavitve prioritet</text>
487- <text lang="ET">Prioriteetide muutmine</text>
488- <text lang="NB">Velg prioriteringer</text>
489- <text lang="DA">SÊt prioriteter</text>
490- <text lang="ES">Fijar Prioridades</text>
491- <text lang="PT">Definir Prioridades</text>
492- <text lang="CS">Nastavit priority</text>
493- <text lang="RU">УстаМПвка прОПрОтетПв</text>
494- <text lang="PL">Ustaw priorytety</text>
495- <text lang="HE">הגדךת קדימויות</text>
496- <description>Prioritize some shows over others</description>
497- <action>TV_SET_RECPRIORITIES</action>
498+ <type>TV_RECORDING_RULES</type>
499+ <text>Recording Rules</text>
500+ <alttext>Manage Rules</alttext>
501+ <description>Edit or delete any recording rule</description>
502+ <action>TV_MANAGE_RECORDING_RULES</action>
503 </button>
504
505 <button>
506@@ -143,4 +126,29 @@
507 <action>TV_PREVIOUS</action>
508 </button>
509
510+ <button>
511+ <type>TV_RECPRIORITIES</type>
512+ <text>Set Priorities</text>
513+ <text lang="DE">PrioritÀten</text>
514+ <text lang="IS">Setja forgang</text>
515+ <text lang="FR">Fixer les priorités</text>
516+ <text lang="NL">Prioriteiten Instellen</text>
517+ <text lang="SV">Prioriteter</text>
518+ <text lang="JA">録画優å…
519ˆé †äœ</text>
520+ <text lang="FI">Aseta Prioriteetteja</text>
521+ <text lang="ZH_TW">錄圱優å…
522ˆæ¬¡åº</text>
523+ <text lang="SL">Nastavitve prioritet</text>
524+ <text lang="ET">Prioriteetide muutmine</text>
525+ <text lang="NB">Velg prioriteringer</text>
526+ <text lang="DA">SÊt prioriteter</text>
527+ <text lang="ES">Fijar Prioridades</text>
528+ <text lang="PT">Definir Prioridades</text>
529+ <text lang="CS">Nastavit priority</text>
530+ <text lang="RU">УстаМПвка прОПрОтетПв</text>
531+ <text lang="PL">Ustaw priorytety</text>
532+ <text lang="HE">הגדךת קדימויות</text>
533+ <description>Prioritize some shows over others</description>
534+ <action>TV_SET_RECPRIORITIES</action>
535+ </button>
536+
537 </mythmenu>
538Index: mythtv/programs/mythfrontend/main.cpp
539===================================================================
540--- mythtv.orig/programs/mythfrontend/main.cpp 2009-05-09 18:32:09.000000000 -0400
541+++ mythtv/programs/mythfrontend/main.cpp 2009-05-23 15:53:59.000000000 -0400
542@@ -287,7 +287,19 @@
543
544 ProgramRecPriority *progRecPrior = new ProgramRecPriority(mainStack);
545
546- if (progRecPrior->Create())
547+ if (progRecPrior->Create("programrecpriority"))
548+ mainStack->AddScreen(progRecPrior);
549+ else
550+ delete progRecPrior;
551+}
552+
553+void startManageRecordingRules(void)
554+{
555+ MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack();
556+
557+ ProgramRecPriority *progRecPrior = new ProgramRecPriority(mainStack);
558+
559+ if (progRecPrior->Create("managerecrules"))
560 mainStack->AddScreen(progRecPrior);
561 else
562 delete progRecPrior;
563@@ -438,6 +450,8 @@
564 startManaged();
565 else if (sel == "tv_set_recpriorities")
566 startProgramRecPriorities();
567+ else if (sel == "tv_manage_recording_rules")
568+ startManageRecordingRules();
569 else if (sel == "tv_progfind")
570 startFinder();
571 else if (sel == "tv_search_title")
572@@ -870,6 +884,7 @@
573 REG_JUMPLOC("Manage Recordings / Fix Conflicts", "", "",
574 startManaged, "VIEWSCHEDULED");
575 REG_JUMP("Program Recording Priorities", "", "", startProgramRecPriorities);
576+ REG_JUMP("Manage Recording Rules", "", "", startManageRecordingRules);
577 REG_JUMP("Channel Recording Priorities", "", "", startChannelRecPriorities);
578 REG_JUMP("TV Recording Playback", "", "", startPlayback);
579 REG_JUMP("TV Recording Deletion", "", "", startDelete);
580Index: mythtv/themes/classic/tv_schedule.xml
581===================================================================
582--- mythtv.orig/themes/classic/tv_schedule.xml 2009-04-16 19:05:49.000000000 -0400
583+++ mythtv/themes/classic/tv_schedule.xml 2009-05-23 15:53:59.000000000 -0400
584@@ -170,6 +170,42 @@
585 </button>
586
587 <button>
588+ <type>TV_RECORDING_RULES</type>
589+ <text>Recording Rules</text>
590+ <alttext>Manage Rules</alttext>
591+ <description>Edit or delete any recording rule</description>
592+ <action>TV_MANAGE_RECORDING_RULES</action>
593+ </button>
594+
595+ <button>
596+ <type>TV_CONFLICTS</type>
597+ <text>Upcoming Recordings</text>
598+ <text lang="IT">Correggi i conflitti</text>
599+ <text lang="ES">Resolver conflictos</text>
600+ <text lang="CA">Resoldre Conflictes</text>
601+ <text lang="NL">Geplande Opnames</text>
602+ <text lang="FR">Gestion des conflits</text>
603+ <text lang="DE">Aufnahmeplan</text>
604+ <text lang="DA">LÞs konflikter</text>
605+ <text lang="PT">Resolver Conflitos</text>
606+ <text lang="SV">Kommande inspelningar</text>
607+ <text lang="JA">これからの録画</text>
608+ <text lang="FI">Tulevat Nauhoitukset</text>
609+ <text lang="ZH_TW">修正預蚭錄圱衝突</text>
610+ <text lang="SL">Prihajajoča snemanja</text>
611+ <text lang="ET">Tulevased salvestamised</text>
612+ <text lang="RU">БуЎущОе запОсО</text>
613+ <text lang="PL">Rozwią
614Ō konflikty</text>
615+ <text lang="HE">ההקלטות הבאות</text>
616+ <alttext lang="SV">Kommande</alttext>
617+ <alttext lang="ET">Tulevased</alttext>
618+ <alttext lang="ES">Conflictos</alttext>
619+ <alttext lang="PL">Konflikty</alttext>
620+ <description>VCR-like recording scheduler</description>
621+ <action>TV_FIX_CONFLICTS</action>
622+ </button>
623+
624+ <button>
625 <type>TV_RECPRIORITIES</type>
626 <text>Recording Priorities</text>
627 <text lang="IT">Priorità Registrazioni</text>
628@@ -201,32 +237,4 @@
629 <action>TV_SET_RECPRIORITIES</action>
630 </button>
631
632- <button>
633- <type>TV_CONFLICTS</type>
634- <text>Upcoming Recordings</text>
635- <text lang="IT">Correggi i conflitti</text>
636- <text lang="ES">Resolver conflictos</text>
637- <text lang="CA">Resoldre Conflictes</text>
638- <text lang="NL">Geplande Opnames</text>
639- <text lang="FR">Gestion des conflits</text>
640- <text lang="DE">Aufnahmeplan</text>
641- <text lang="DA">LÞs konflikter</text>
642- <text lang="PT">Resolver Conflitos</text>
643- <text lang="SV">Kommande inspelningar</text>
644- <text lang="JA">これからの録画</text>
645- <text lang="FI">Tulevat Nauhoitukset</text>
646- <text lang="ZH_TW">修正預蚭錄圱衝突</text>
647- <text lang="SL">Prihajajoča snemanja</text>
648- <text lang="ET">Tulevased salvestamised</text>
649- <text lang="RU">БуЎущОе запОсО</text>
650- <text lang="PL">Rozwią
651Ō konflikty</text>
652- <text lang="HE">ההקלטות הבאות</text>
653- <alttext lang="SV">Kommande</alttext>
654- <alttext lang="ET">Tulevased</alttext>
655- <alttext lang="ES">Conflictos</alttext>
656- <alttext lang="PL">Konflikty</alttext>
657- <description>See what will be recorded next</description>
658- <action>TV_FIX_CONFLICTS</action>
659- </button>
660-
661 </mythmenu>
662Index: mythtv/themes/default-wide/schedule-ui.xml
663===================================================================
664--- mythtv.orig/themes/default-wide/schedule-ui.xml 2009-05-23 15:03:23.000000000 -0400
665+++ mythtv/themes/default-wide/schedule-ui.xml 2009-05-23 15:53:59.000000000 -0400
666@@ -1411,4 +1411,136 @@
667
668 </window>
669
670+ <window name="managerecrules">
671+
672+ <textarea name="pagetitle" from="basetextarea">
673+ <area>20,5,650,40</area>
674+ <font>baselarge</font>
675+ <value>Manage Recording Rules</value>
676+ </textarea>
677+
678+ <imagetype name="filler">
679+ <filename>cr-background.png</filename>
680+ <area>0,39,1280,420</area>
681+ </imagetype>
682+
683+ <textarea name="callsignlabel" from="basetextarea">
684+ <area>680,15,100,40</area>
685+ <value>Channel</value>
686+ <align>right</align>
687+ </textarea>
688+ <textarea name="lastrecordedlabel" from="basetextarea">
689+ <area>790,15,290,40</area>
690+ <value>Last Recorded</value>
691+ <align>right</align>
692+ </textarea>
693+
694+ <textarea name="prioritylabel" from="basetextarea">
695+ <area>1090,15,95,40</area>
696+ <value>Priority</value>
697+ <align>right</align>
698+ </textarea>
699+
700+ <buttonlist name="programs" from="basebuttonlist2">
701+ <area>20,59,760,370</area>
702+ <buttonarea>0,0,760,340</buttonarea>
703+ <statetype name="buttonitem">
704+ <state name="active">
705+ <textarea name="rectype" from="buttontext">
706+ <area>30,1,20,24</area>
707+ <align>hcenter</align>
708+ </textarea>
709+ <textarea name="title" from="buttontext">
710+ <area>60,1,590,24</area>
711+ </textarea>
712+ <textarea name="callsign" from="buttontext">
713+ <area>660,1,100,24</area>
714+ <align>right</align>
715+ </textarea>
716+ <textarea name="lastrecorded" from="buttontext">
717+ <area>770,1,290,24</area>
718+ <align>right</align>
719+ </textarea>
720+ <textarea name="finalpriority" from="buttontext">
721+ <area>1130,1,40,24</area>
722+ <align>right</align>
723+ </textarea>
724+ </state>
725+ <state name="selected" from="active" />
726+ <state name="inactive" from="active" />
727+ </statetype>
728+ </buttonlist>
729+
730+ <textarea name="title" from="basetextarea">
731+ <area>30,450,740,40</area>
732+ <font>basemedium</font>
733+ </textarea>
734+
735+ <textarea name="recordingtype" from="basetextarea">
736+ <area>30,490,430,30</area>
737+ </textarea>
738+
739+ <textarea name="scheduleinfo" from="basetextarea">
740+ <area>30,520,740,30</area>
741+ </textarea>
742+
743+ <textarea name="finalprioritylabel" from="basetextarea">
744+ <area>1110,490,90,30</area>
745+ <value>Priority:</value>
746+ <align>right</align>
747+ </textarea>
748+
749+ <textarea name="finalpriority" from="basetextarea">
750+ <area>1210,490,40,30</area>
751+ <align>right</align>
752+ </textarea>
753+
754+ <textarea name="recordinggrouplabel" from="basetextarea">
755+ <area>30,550,190,30</area>
756+ <value>Recording Group:</value>
757+ <align>right</align>
758+ </textarea>
759+
760+ <textarea name="recordinggroup" from="basetextarea">
761+ <area>230,550,160,30</area>
762+ </textarea>
763+
764+ <textarea name="categorylabel" from="basetextarea">
765+ <area>30,580,190,30</area>
766+ <value>Category:</value>
767+ <align>right</align>
768+ </textarea>
769+
770+ <textarea name="category" from="basetextarea">
771+ <area>230,580,160,30</area>
772+ </textarea>
773+
774+ <textarea name="storagegrouplabel" from="basetextarea">
775+ <area>640,550,190,30</area>
776+ <value>Storage Group:</value>
777+ <align>right</align>
778+ </textarea>
779+
780+ <textarea name="storagegroup" from="basetextarea">
781+ <area>840,550,160,30</area>
782+ </textarea>
783+
784+ <textarea name="recordingprofilelabel" from="basetextarea">
785+ <area>640,580,190,30</area>
786+ <value>Recording Profile:</value>
787+ <align>right</align>
788+ </textarea>
789+
790+ <textarea name="recordingprofile" from="basetextarea">
791+ <area>840,580,160,30</area>
792+ </textarea>
793+
794+ <textarea name="keyinstr">
795+ <area>0,660,1280,30</area>
796+ <value>(1) Title (2) Priority (4) Type</value>
797+ <align>allcenter</align>
798+ </textarea>
799+
800+ </window>
801+
802 </mythuitheme>