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

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

Updated for recent changes in trunk

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