Index: mythtv/programs/mythfrontend/programrecpriority.cpp
===================================================================
--- mythtv.orig/programs/mythfrontend/programrecpriority.cpp	2008-11-15 19:45:04.000000000 -0500
+++ mythtv/programs/mythfrontend/programrecpriority.cpp	2008-11-28 18:57:43.000000000 -0500
@@ -10,6 +10,7 @@
 #include "scheduledrecording.h"
 #include "customedit.h"
 #include "proglist.h"
+#include "storagegroup.h"
 
 #include "mythdb.h"
 #include "mythverbose.h"
@@ -30,6 +31,7 @@
     recType = kNotRecording;
     avg_delay = 0;
     autoRecPriority = 0;
+    profile = "";
 }
 
 ProgramRecPriorityInfo::ProgramRecPriorityInfo(const ProgramRecPriorityInfo
@@ -40,6 +42,7 @@
     recType = other.recType;
     avg_delay = other.avg_delay;
     autoRecPriority = other.autoRecPriority;
+    profile = other.profile;
 }
 
 ProgramRecPriorityInfo& ProgramRecPriorityInfo::operator=(const ProgramInfo &other)
@@ -339,20 +342,28 @@
     m_sortType = (SortType)gContext->GetNumSetting("ProgramRecPrioritySorting",
                                                  (int)byTitle);
     m_reverseSort = gContext->GetNumSetting("ProgramRecPriorityReverse", 0);
+    m_formatShortDate = gContext->GetSetting("ShortDateFormat", "M/d");
+    m_formatLongDate  = gContext->GetSetting("DateFormat", "ddd MMMM d");
+    m_formatTime      = gContext->GetSetting("TimeFormat", "h:mm AP");
 }
 
 ProgramRecPriority::~ProgramRecPriority()
 {
 }
 
-bool ProgramRecPriority::Create()
+bool ProgramRecPriority::Create(QString window_name)
 {
-    if (!LoadWindowFromXML("schedule-ui.xml", "programrecpriority", this))
+    if (window_name != "managerecrules")
+        window_name = "programrecpriority";
+
+    if (!LoadWindowFromXML("schedule-ui.xml", window_name, this))
         return false;
 
     m_programList = dynamic_cast<MythUIButtonList *> (GetChild("programs"));
 
     m_titleText = dynamic_cast<MythUIText *> (GetChild("title"));
+    m_descriptionText = dynamic_cast<MythUIText *> (GetChild("description"));
+    m_categoryText = dynamic_cast<MythUIText *> (GetChild("category"));
     m_schedInfoText = dynamic_cast<MythUIText *> (GetChild("scheduleinfo"));
     m_typeText = dynamic_cast<MythUIText *> (GetChild("recordingtype"));
     m_rectypePriorityText = dynamic_cast<MythUIText *>
@@ -360,6 +371,15 @@
     m_recPriorityText = dynamic_cast<MythUIText *> (GetChild("recpriority"));
     m_recPriorityBText = dynamic_cast<MythUIText *> (GetChild("recpriorityb"));
     m_finalPriorityText = dynamic_cast<MythUIText *> (GetChild("finalpriority"));
+    m_recGroupText = dynamic_cast<MythUIText *> (GetChild("recordinggroup"));
+    m_storageGroupText = dynamic_cast<MythUIText *> (GetChild("storagegroup"));
+    m_lastRecordedText = dynamic_cast<MythUIText *> (GetChild("lastrecorded"));
+    m_lastRecordedDateText = dynamic_cast<MythUIText *> (GetChild("lastrecordeddate"));
+    m_lastRecordedTimeText = dynamic_cast<MythUIText *> (GetChild("lastrecordedtime"));
+    m_channameText = dynamic_cast<MythUIText *> (GetChild("channel"));
+    m_channumText = dynamic_cast<MythUIText *> (GetChild("channum"));
+    m_callsignText = dynamic_cast<MythUIText *> (GetChild("callsign"));
+    m_recProfileText = dynamic_cast<MythUIText *> (GetChild("recordingprofile"));
 
     if (!m_programList)
     {
@@ -876,7 +896,7 @@
 
     MSqlQuery result(MSqlQuery::InitCon());
     result.prepare("SELECT recordid, title, chanid, starttime, startdate, "
-                   "type, inactive, last_record, avg_delay "
+                   "type, inactive, last_record, avg_delay, profile "
                    "FROM record;");
 
     if (result.exec() && result.size() > 0)
@@ -895,6 +915,7 @@
             int inactive = result.value(6).toInt();
             QDateTime lastrec = result.value(7).toDateTime();
             int avgd = result.value(8).toInt();
+            QString profile = result.value(9).toString();
 
             // find matching program in m_programData and set
             // recTypeRecPriority and recType
@@ -914,6 +935,7 @@
                     progInfo->recCount = m_recMatch[progInfo->recordid];
                     progInfo->last_record = lastrec;
                     progInfo->avg_delay = avgd;
+                    progInfo->profile = profile;
 
                     if (autopriority)
                         progInfo->autoRecPriority =
@@ -1116,9 +1138,57 @@
             state = "normal";
 
         item->setText(tempSubTitle, "title", state);
+        item->setText(progInfo->description, "description", state);
+        item->setText(progInfo->category, "category", state);
         item->setText(progInfo->RecTypeChar(), "rectype", state);
         item->setText(QString::number(progRecPriority), "progpriority", state);
         item->setText(QString::number(finalRecPriority), "finalpriority", state);
+
+        QString recgroup = progInfo->recgroup;
+        if (recgroup == "Default")
+            recgroup = tr("Default");
+        item->setText(recgroup, "recordinggroup", state);
+        QString storagegroup = progInfo->storagegroup;
+        if (storagegroup == "Default")
+            storagegroup = tr("Default");
+        else if (StorageGroup::kSpecialGroups.contains(storagegroup))
+            storagegroup = tr(storagegroup.toLatin1().constData());
+        item->setText(storagegroup, "storagegroup", state);
+
+        QString tempDateTime = (progInfo->last_record).toString(m_formatLongDate + ' ' + m_formatTime);
+        item->setText(tempDateTime, "lastrecorded", state);
+        QString tempDate = (progInfo->last_record).toString(m_formatShortDate);
+        item->setText(tempDate, "lastrecordeddate", state);
+        QString tempTime = (progInfo->last_record).toString(m_formatTime);
+        item->setText(tempTime, "lastrecordedtime", state);
+
+        QString channame = progInfo->channame;
+        if ((progInfo->recType == kAllRecord) ||
+            (progInfo->recType == kFindOneRecord) ||
+            (progInfo->recType == kFindDailyRecord) ||
+            (progInfo->recType == kFindWeeklyRecord))
+            channame = tr("Any");
+        item->setText(channame, "channel", state);
+        QString channum = progInfo->chanstr;
+        if ((progInfo->recType == kAllRecord) ||
+            (progInfo->recType == kFindOneRecord) ||
+            (progInfo->recType == kFindDailyRecord) ||
+            (progInfo->recType == kFindWeeklyRecord))
+            channum = tr("Any");
+        item->setText(channum, "channum", state);
+        QString callsign = progInfo->chansign;
+        if ((progInfo->recType == kAllRecord) ||
+            (progInfo->recType == kFindOneRecord) ||
+            (progInfo->recType == kFindDailyRecord) ||
+            (progInfo->recType == kFindWeeklyRecord))
+            callsign = tr("Any");
+        item->setText(callsign, "callsign", state);
+
+        QString profile = progInfo->profile;
+        if ((profile == "Default") || (profile == "Live TV") ||
+            (profile == "High Quality") || (profile == "Low Quality"))
+            profile = tr(profile.toLatin1().constData());
+        item->setText(profile, "recordingprofile", state);
         item->DisplayState(state, "status");
 
         if (m_currentItem == progInfo)
@@ -1178,6 +1248,12 @@
     if (m_titleText)
         m_titleText->SetText(pgRecInfo->title);
 
+    if (m_descriptionText)
+        m_descriptionText->SetText(pgRecInfo->description);
+
+    if (m_categoryText)
+        m_categoryText->SetText(pgRecInfo->category);
+
     if (m_schedInfoText)
         m_schedInfoText->SetText(subtitle);
 
@@ -1246,6 +1322,78 @@
     if (m_finalPriorityText)
         m_finalPriorityText->SetText(QString::number(finalRecPriority));
 
+    if (m_recGroupText)
+    {
+        QString recgroup = pgRecInfo->recgroup;
+        if (recgroup == "Default")
+            recgroup = tr("Default");
+        m_recGroupText->SetText(recgroup);
+    }
+
+    if (m_storageGroupText)
+    {
+        QString storagegroup = pgRecInfo->storagegroup;
+        if (storagegroup == "Default")
+                storagegroup = tr("Default");
+        else if (StorageGroup::kSpecialGroups.contains(storagegroup))
+            storagegroup = tr(storagegroup.toLatin1().constData());
+        m_storageGroupText->SetText(storagegroup);
+    }
+
+    if (m_lastRecordedText)
+    {
+        QString tempDateTime = (pgRecInfo->last_record).toString(m_formatLongDate + ' ' + m_formatTime);
+        m_lastRecordedText->SetText(tempDateTime);
+    }
+
+    if (m_lastRecordedDateText)
+    {
+        QString tempDate = (pgRecInfo->last_record).toString(m_formatShortDate);
+        m_lastRecordedDateText->SetText(tempDate);
+    }
+
+    if (m_lastRecordedTimeText)
+    {
+        QString tempTime = (pgRecInfo->last_record).toString(m_formatTime);
+        m_lastRecordedTimeText->SetText(tempTime);
+    }
+
+    if (m_channameText)
+    {
+        QString channame = pgRecInfo->channame;
+        if ((rectype == kAllRecord) || (rectype == kFindOneRecord) ||
+            (rectype == kFindDailyRecord) || (rectype == kFindWeeklyRecord))
+            channame = tr("Any");
+        m_channameText->SetText(channame);
+    }
+
+    if (m_channumText)
+    {
+        QString channum = pgRecInfo->chanstr;
+        if ((rectype == kAllRecord) || (rectype == kFindOneRecord) ||
+            (rectype == kFindDailyRecord) || (rectype == kFindWeeklyRecord))
+            channum = tr("Any");
+        m_channumText->SetText(channum);
+    }
+
+    if (m_callsignText)
+    {
+        QString callsign = pgRecInfo->chansign;
+        if ((rectype == kAllRecord) || (rectype == kFindOneRecord) ||
+            (rectype == kFindDailyRecord) || (rectype == kFindWeeklyRecord))
+            callsign = tr("Any");
+        m_callsignText->SetText(callsign);
+    }
+
+    if (m_recProfileText)
+    {
+        QString profile = pgRecInfo->profile;
+        if ((profile == "Default") || (profile == "Live TV") ||
+            (profile == "High Quality") || (profile == "Low Quality"))
+            profile = tr(profile.toLatin1().constData());
+        m_recProfileText->SetText(profile);
+    }
+
 }
 
 void ProgramRecPriority::RemoveItemFromList(MythUIButtonListItem *item)
Index: mythtv/programs/mythfrontend/programrecpriority.h
===================================================================
--- mythtv.orig/programs/mythfrontend/programrecpriority.h	2008-11-15 19:45:04.000000000 -0500
+++ mythtv/programs/mythfrontend/programrecpriority.h	2008-11-28 18:57:25.000000000 -0500
@@ -27,6 +27,7 @@
     QDateTime last_record;
     int avg_delay;
     int autoRecPriority;
+    QString profile;
 };
 
 class ProgramRecPriority : public MythScreenType
@@ -36,7 +37,7 @@
     ProgramRecPriority(MythScreenStack *parent);
    ~ProgramRecPriority();
 
-    bool Create(void);
+    bool Create(QString window_name);
     bool keyPressEvent(QKeyEvent *);
 //    void customEvent(QEvent *event);
 
@@ -82,13 +83,28 @@
 
     MythUIButtonList *m_programList;
 
+    QString m_formatShortDate;
+    QString m_formatLongDate;
+    QString m_formatTime;
+
     MythUIText *m_titleText;
+    MythUIText *m_categoryText;
+    MythUIText *m_descriptionText;
     MythUIText *m_schedInfoText;
     MythUIText *m_typeText;
     MythUIText *m_rectypePriorityText;
     MythUIText *m_recPriorityText;
     MythUIText *m_recPriorityBText;
     MythUIText *m_finalPriorityText;
+    MythUIText *m_recGroupText;
+    MythUIText *m_storageGroupText;
+    MythUIText *m_lastRecordedText;
+    MythUIText *m_lastRecordedDateText;
+    MythUIText *m_lastRecordedTimeText;
+    MythUIText *m_channameText;
+    MythUIText *m_channumText;
+    MythUIText *m_callsignText;
+    MythUIText *m_recProfileText;
 
     ProgramRecPriorityInfo *m_currentItem;
 
Index: mythtv/themes/default/schedule-ui.xml
===================================================================
--- mythtv.orig/themes/default/schedule-ui.xml	2008-11-25 16:03:29.000000000 -0500
+++ mythtv/themes/default/schedule-ui.xml	2008-11-28 18:50:25.000000000 -0500
@@ -401,6 +401,147 @@
 
     </window>
 
+    <window name="managerecrules">
+
+        <textarea name="pagetitle" from="basetextarea">
+            <area>20,5,410,40</area>
+            <font>baselarge</font>
+            <value>Manage Recording Rules</value>
+        </textarea>
+
+        <imagetype name="filler">
+            <filename>rk-background.png</filename>
+            <position>0,35</position>
+        </imagetype>
+
+        <imagetype name="showinglines">
+            <filename>rk-lines.png</filename>
+            <position>0,35</position>
+        </imagetype>
+
+        <textarea name="callsignlabel" from="basetextarea">
+            <area>440,15,100,40</area>
+            <value>Channel</value>
+        </textarea>
+
+        <textarea name="lastrecordedlabel" from="basetextarea">
+            <area>550,15,150,40</area>
+            <value>Last Recorded</value>
+            <align>right</align>
+        </textarea>
+
+        <textarea name="prioritylabel" from="basetextarea">
+            <area>710,15,95,40</area>
+            <value>Priority</value>
+        </textarea>
+
+        <buttonlist name="programs" from="basebuttonlist2">
+            <area>20,59,760,370</area>
+            <buttonarea>0,0,760,340</buttonarea>
+            <statetype name="buttonitem">
+                <state name="active">
+                    <textarea name="rectype" from="buttontext">
+                        <area>30,1,20,24</area>
+                        <align>hcenter</align>
+                    </textarea>
+                    <textarea name="title" from="buttontext">
+                        <area>60,1,350,24</area>
+                    </textarea>
+                    <textarea name="callsign" from="buttontext">
+                        <area>420,1,100,24</area>
+                    </textarea>
+                    <textarea name="lastrecordeddate" from="buttontext">
+                        <area>530,1,150,24</area>
+                        <align>right</align>
+                    </textarea>
+                    <textarea name="finalpriority" from="buttontext">
+                        <area>690,1,60,24</area>
+                        <align>right</align>
+                    </textarea>
+                </state>
+                <state name="selected" from="active" />
+                <state name="inactive" from="active" />
+            </statetype>
+            <statetype name="upscrollarrow">
+                <position>710,340</position>
+            </statetype>
+            <statetype name="downscrollarrow">
+                <position>740,340</position>
+            </statetype>
+        </buttonlist>
+
+        <textarea name="title" from="basetextarea">
+            <area>30,400,740,40</area>
+            <font>basemedium</font>
+        </textarea>
+
+        <textarea name="recordingtype" from="basetextarea">
+            <area>30,440,430,30</area>
+        </textarea>
+
+        <textarea name="scheduleinfo" from="basetextarea">
+            <area>30,470,740,30</area>
+        </textarea>
+
+        <textarea name="finalprioritylabel" from="basetextarea">
+            <area>630,440,90,30</area>
+            <value>Priority:</value>
+            <align>right</align>
+        </textarea>
+
+        <textarea name="finalpriority" from="basetextarea">
+            <area>730,440,40,30</area>
+            <align>right</align>
+        </textarea>
+
+        <textarea name="recordinggrouplabel" from="basetextarea">
+            <area>30,500,190,30</area>
+            <value>Recording Group:</value>
+            <align>right</align>
+        </textarea>
+
+        <textarea name="recordinggroup" from="basetextarea">
+            <area>230,500,160,30</area>
+        </textarea>
+
+        <textarea name="categorylabel" from="basetextarea">
+            <area>30,530,190,30</area>
+            <value>Category:</value>
+            <align>right</align>
+        </textarea>
+
+        <textarea name="category" from="basetextarea">
+            <area>230,530,160,30</area>
+        </textarea>
+
+        <textarea name="storagegrouplabel" from="basetextarea">
+            <area>400,500,190,30</area>
+            <value>Storage Group:</value>
+            <align>right</align>
+        </textarea>
+
+        <textarea name="storagegroup" from="basetextarea">
+            <area>600,500,160,30</area>
+        </textarea>
+
+        <textarea name="recordingprofilelabel" from="basetextarea">
+            <area>400,530,190,30</area>
+            <value>Recording Profile:</value>
+            <align>right</align>
+        </textarea>
+
+        <textarea name="recordingprofile" from="basetextarea">
+            <area>600,530,160,30</area>
+        </textarea>
+
+        <textarea name="keyinstr">
+            <area>0,570,800,30</area>
+            <value>(1) Title (2) Priority (4) Type</value>
+            <align>allcenter</align>
+        </textarea>
+
+    </window>
+
     <window name="custompriority">
 
         <textarea name="pagetitle" from="basetextarea">
Index: mythtv/programs/mythfrontend/manage_recordings.xml
===================================================================
--- mythtv.orig/programs/mythfrontend/manage_recordings.xml	2008-09-27 16:08:33.000000000 -0400
+++ mythtv/programs/mythfrontend/manage_recordings.xml	2008-11-25 16:39:54.000000000 -0500
@@ -32,27 +32,10 @@
    </button>
 
    <button>
-      <type>TV_RECPRIORITIES</type>
-      <text>Set Priorities</text>
-      <text lang="DE">Prioritäten</text>
-      <text lang="IS">Setja forgang</text>
-      <text lang="FR">Fixer les priorités</text>
-      <text lang="NL">Prioriteiten Instellen</text>
-      <text lang="SV">Prioriteter</text>
-      <text lang="JA">録画優先順位</text>
-      <text lang="FI">Aseta Prioriteetteja</text>
-      <text lang="ZH_TW">錄影優先次序</text>
-      <text lang="SL">Nastavitve prioritet</text>
-      <text lang="ET">Prioriteetide muutmine</text>
-      <text lang="NB">Velg prioriteringer</text>
-      <text lang="DA">Sæt prioriteter</text>
-      <text lang="ES">Fijar Prioridades</text>
-      <text lang="PT">Definir Prioridades</text>
-      <text lang="CS">Nastavit priority</text>
-      <text lang="RU">Установка приоритетов</text>
-      <text lang="PL">Ustaw priorytety</text>
-      <text lang="HE">הגדרת קדימויות</text>
-      <action>TV_SET_RECPRIORITIES</action>
+      <type>TV_RECORDING_RULES</type>
+      <text>Recording Rules</text>
+      <alttext>Manage Rules</alttext>
+      <action>TV_MANAGE_RECORDING_RULES</action>
    </button>
 
    <button>
@@ -138,4 +121,28 @@
       <action>TV_PREVIOUS</action>
    </button>
 
+   <button>
+      <type>TV_RECPRIORITIES</type>
+      <text>Set Priorities</text>
+      <text lang="DE">Prioritäten</text>
+      <text lang="IS">Setja forgang</text>
+      <text lang="FR">Fixer les priorités</text>
+      <text lang="NL">Prioriteiten Instellen</text>
+      <text lang="SV">Prioriteter</text>
+      <text lang="JA">録画優先順位</text>
+      <text lang="FI">Aseta Prioriteetteja</text>
+      <text lang="ZH_TW">錄影優先次序</text>
+      <text lang="SL">Nastavitve prioritet</text>
+      <text lang="ET">Prioriteetide muutmine</text>
+      <text lang="NB">Velg prioriteringer</text>
+      <text lang="DA">Sæt prioriteter</text>
+      <text lang="ES">Fijar Prioridades</text>
+      <text lang="PT">Definir Prioridades</text>
+      <text lang="CS">Nastavit priority</text>
+      <text lang="RU">Установка приоритетов</text>
+      <text lang="PL">Ustaw priorytety</text>
+      <text lang="HE">הגדרת קדימויות</text>
+      <action>TV_SET_RECPRIORITIES</action>
+   </button>
+
 </mythmenu>
Index: mythtv/programs/mythfrontend/main.cpp
===================================================================
--- mythtv.orig/programs/mythfrontend/main.cpp	2008-11-25 16:22:14.000000000 -0500
+++ mythtv/programs/mythfrontend/main.cpp	2008-11-25 17:12:23.000000000 -0500
@@ -229,7 +229,19 @@
 
     ProgramRecPriority *progRecPrior = new ProgramRecPriority(mainStack);
 
-    if (progRecPrior->Create())
+    if (progRecPrior->Create("programrecpriority"))
+        mainStack->AddScreen(progRecPrior);
+    else
+        delete progRecPrior;
+}
+
+void startManageRecordingRules(void)
+{
+    MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack();
+
+    ProgramRecPriority *progRecPrior = new ProgramRecPriority(mainStack);
+
+    if (progRecPrior->Create("managerecrules"))
         mainStack->AddScreen(progRecPrior);
     else
         delete progRecPrior;
@@ -363,6 +375,8 @@
         startManaged();
     else if (sel == "tv_set_recpriorities")
         startProgramRecPriorities();
+    else if (sel == "tv_manage_recording_rules")
+        startManageRecordingRules();
     else if (sel == "tv_progfind")
         startFinder();
     else if (sel == "tv_search_title")
@@ -903,6 +917,7 @@
     REG_JUMPLOC("Manage Recordings / Fix Conflicts", "", "",
                 startManaged, "VIEWSCHEDULED");
     REG_JUMP("Program Recording Priorities", "", "", startProgramRecPriorities);
+    REG_JUMP("Manage Recording Rules", "", "", startManageRecordingRules);
     REG_JUMP("Channel Recording Priorities", "", "", startChannelRecPriorities);
     REG_JUMP("TV Recording Playback", "", "", startPlayback);
     REG_JUMP("TV Recording Deletion", "", "", startDelete);
Index: mythtv/themes/classic/tv_schedule.xml
===================================================================
--- mythtv.orig/themes/classic/tv_schedule.xml	2008-10-30 13:24:19.000000000 -0400
+++ mythtv/themes/classic/tv_schedule.xml	2008-11-25 16:39:32.000000000 -0500
@@ -165,6 +165,40 @@
    </button>
 
    <button>
+      <type>TV_RECORDING_RULES</type>
+      <text>Recording Rules</text>
+      <alttext>Manage Rules</alttext>
+      <action>TV_MANAGE_RECORDING_RULES</action>
+   </button>
+
+   <button>
+      <type>TV_CONFLICTS</type>
+      <text>Upcoming Recordings</text>
+      <text lang="IT">Correggi i conflitti</text>
+      <text lang="ES">Resolver conflictos</text>
+      <text lang="CA">Resoldre Conflictes</text>
+      <text lang="NL">Geplande Opnames</text>
+      <text lang="FR">Gestion des conflits</text>
+      <text lang="DE">Aufnahmeplan</text>
+      <text lang="DA">Løs konflikter</text>
+      <text lang="PT">Resolver Conflitos</text>
+      <text lang="SV">Kommande inspelningar</text>
+      <text lang="JA">これからの録画</text>
+      <text lang="FI">Tulevat Nauhoitukset</text>
+      <text lang="ZH_TW">修正預設錄影衝突</text>
+      <text lang="SL">Prihajajoča snemanja</text>
+      <text lang="ET">Tulevased salvestamised</text>
+      <text lang="RU">Будущие записи</text>
+      <text lang="PL">Rozwiąż konflikty</text>
+      <text lang="HE">ההקלטות הבאות</text>
+      <alttext lang="SV">Kommande</alttext>
+      <alttext lang="ET">Tulevased</alttext>
+      <alttext lang="ES">Conflictos</alttext>
+      <alttext lang="PL">Konflikty</alttext>
+      <action>TV_FIX_CONFLICTS</action>
+   </button>
+
+   <button>
       <type>TV_RECPRIORITIES</type>
       <text>Recording Priorities</text>
       <text lang="IT">Priorità Registrazioni</text>
@@ -195,31 +229,4 @@
       <action>TV_SET_RECPRIORITIES</action>
    </button>
 
-   <button>
-      <type>TV_CONFLICTS</type>
-      <text>Upcoming Recordings</text>
-      <text lang="IT">Correggi i conflitti</text>
-      <text lang="ES">Resolver conflictos</text>
-      <text lang="CA">Resoldre Conflictes</text>
-      <text lang="NL">Geplande Opnames</text>
-      <text lang="FR">Gestion des conflits</text>
-      <text lang="DE">Aufnahmeplan</text>
-      <text lang="DA">Løs konflikter</text>
-      <text lang="PT">Resolver Conflitos</text>
-      <text lang="SV">Kommande inspelningar</text>
-      <text lang="JA">これからの録画</text>
-      <text lang="FI">Tulevat Nauhoitukset</text>
-      <text lang="ZH_TW">修正預設錄影衝突</text>
-      <text lang="SL">Prihajajoča snemanja</text>
-      <text lang="ET">Tulevased salvestamised</text>
-      <text lang="RU">Будущие записи</text>
-      <text lang="PL">Rozwiąż konflikty</text>
-      <text lang="HE">ההקלטות הבאות</text>
-      <alttext lang="SV">Kommande</alttext>
-      <alttext lang="ET">Tulevased</alttext>
-      <alttext lang="ES">Conflictos</alttext>
-      <alttext lang="PL">Konflikty</alttext>
-      <action>TV_FIX_CONFLICTS</action>
-   </button>
-
 </mythmenu>
Index: mythtv/themes/default-wide/schedule-ui.xml
===================================================================
--- mythtv.orig/themes/default-wide/schedule-ui.xml	2008-11-28 18:26:11.000000000 -0500
+++ mythtv/themes/default-wide/schedule-ui.xml	2008-11-28 19:13:38.000000000 -0500
@@ -281,4 +281,136 @@
 
     </window>
 
+    <window name="managerecrules">
+
+        <textarea name="pagetitle" from="basetextarea">
+            <area>20,5,650,40</area>
+            <font>baselarge</font>
+            <value>Manage Recording Rules</value>
+        </textarea>
+
+        <imagetype name="filler">
+            <filename>cr-background.png</filename>
+            <area>0,39,1280,420</area>
+        </imagetype>
+
+        <textarea name="callsignlabel" from="basetextarea">
+            <area>680,15,100,40</area>
+            <value>Channel</value>
+            <align>right</align>
+        </textarea>
+        <textarea name="lastrecordedlabel" from="basetextarea">
+            <area>790,15,290,40</area>
+            <value>Last Recorded</value>
+            <align>right</align>
+        </textarea>
+
+        <textarea name="prioritylabel" from="basetextarea">
+            <area>1090,15,95,40</area>
+            <value>Priority</value>
+            <align>right</align>
+        </textarea>
+
+        <buttonlist name="programs" from="basebuttonlist2">
+            <area>20,59,760,370</area>
+            <buttonarea>0,0,760,340</buttonarea>
+            <statetype name="buttonitem">
+                <state name="active">
+                    <textarea name="rectype" from="buttontext">
+                        <area>30,1,20,24</area>
+                        <align>hcenter</align>
+                    </textarea>
+                    <textarea name="title" from="buttontext">
+                        <area>60,1,590,24</area>
+                    </textarea>
+                    <textarea name="callsign" from="buttontext">
+                        <area>660,1,100,24</area>
+                        <align>right</align>
+                    </textarea>
+                    <textarea name="lastrecorded" from="buttontext">
+                        <area>770,1,290,24</area>
+                        <align>right</align>
+                    </textarea>
+                    <textarea name="finalpriority" from="buttontext">
+                        <area>1130,1,40,24</area>
+                        <align>right</align>
+                    </textarea>
+                </state>
+                <state name="selected" from="active" />
+                <state name="inactive" from="active" />
+            </statetype>
+        </buttonlist>
+
+        <textarea name="title" from="basetextarea">
+            <area>30,450,740,40</area>
+            <font>basemedium</font>
+        </textarea>
+
+        <textarea name="recordingtype" from="basetextarea">
+            <area>30,490,430,30</area>
+        </textarea>
+
+        <textarea name="scheduleinfo" from="basetextarea">
+            <area>30,520,740,30</area>
+        </textarea>
+
+        <textarea name="finalprioritylabel" from="basetextarea">
+            <area>1110,490,90,30</area>
+            <value>Priority:</value>
+            <align>right</align>
+        </textarea>
+
+        <textarea name="finalpriority" from="basetextarea">
+            <area>1210,490,40,30</area>
+            <align>right</align>
+        </textarea>
+
+        <textarea name="recordinggrouplabel" from="basetextarea">
+            <area>30,550,190,30</area>
+            <value>Recording Group:</value>
+            <align>right</align>
+        </textarea>
+
+        <textarea name="recordinggroup" from="basetextarea">
+            <area>230,550,160,30</area>
+        </textarea>
+
+        <textarea name="categorylabel" from="basetextarea">
+            <area>30,580,190,30</area>
+            <value>Category:</value>
+            <align>right</align>
+        </textarea>
+
+        <textarea name="category" from="basetextarea">
+            <area>230,580,160,30</area>
+        </textarea>
+
+        <textarea name="storagegrouplabel" from="basetextarea">
+            <area>640,550,190,30</area>
+            <value>Storage Group:</value>
+            <align>right</align>
+        </textarea>
+
+        <textarea name="storagegroup" from="basetextarea">
+            <area>840,550,160,30</area>
+        </textarea>
+
+        <textarea name="recordingprofilelabel" from="basetextarea">
+            <area>640,580,190,30</area>
+            <value>Recording Profile:</value>
+            <align>right</align>
+        </textarea>
+
+        <textarea name="recordingprofile" from="basetextarea">
+            <area>840,580,160,30</area>
+        </textarea>
+
+        <textarea name="keyinstr">
+            <area>0,660,1280,30</area>
+            <value>(1) Title (2) Priority (4) Type</value>
+            <align>allcenter</align>
+        </textarea>
+
+    </window>
+
 </mythuitheme>
