|
MythTV
0.26-pre
|
00001 #ifndef PROGRAMRECPROIRITY_H_ 00002 #define PROGRAMRECPROIRITY_H_ 00003 00004 #include <vector> 00005 00006 #include "recordinginfo.h" 00007 #include "mythscreentype.h" 00008 00009 // mythfrontend 00010 #include "schedulecommon.h" 00011 00012 class QDateTime; 00013 00014 class MythUIButtonList; 00015 class MythUIButtonListItem; 00016 class MythUIText; 00017 class MythUIStateType; 00018 class ProgramRecPriority; 00019 00020 class RecordingRule; 00021 00022 class ProgramRecPriorityInfo : public RecordingInfo 00023 { 00024 friend class ProgramRecPriority; 00025 00026 public: 00027 ProgramRecPriorityInfo(); 00028 ProgramRecPriorityInfo(const ProgramRecPriorityInfo &other); 00029 ProgramRecPriorityInfo &operator=(const ProgramRecPriorityInfo&); 00030 ProgramRecPriorityInfo &operator=(const RecordingInfo&); 00031 ProgramRecPriorityInfo &operator=(const ProgramInfo&); 00032 00033 virtual ProgramRecPriorityInfo &clone(const ProgramRecPriorityInfo &other); 00034 virtual ProgramRecPriorityInfo &clone(const ProgramInfo &other); 00035 virtual void clear(void); 00036 00037 virtual void ToMap(QHash<QString, QString> &progMap, 00038 bool showrerecord = false, 00039 uint star_range = 10) const; 00040 00041 int recTypeRecPriority; 00042 RecordingType recType; 00043 int matchCount; 00044 int recCount; 00045 QDateTime last_record; 00046 int avg_delay; 00047 int autoRecPriority; 00048 QString profile; 00049 }; 00050 00051 class ProgramRecPriority : public ScheduleCommon 00052 { 00053 Q_OBJECT 00054 public: 00055 ProgramRecPriority(MythScreenStack *parent, const QString &name); 00056 ~ProgramRecPriority(); 00057 00058 bool Create(void); 00059 bool keyPressEvent(QKeyEvent *); 00060 void customEvent(QEvent *event); 00061 00062 enum SortType 00063 { 00064 byTitle, 00065 byRecPriority, 00066 byRecType, 00067 byCount, 00068 byRecCount, 00069 byLastRecord, 00070 byAvgDelay 00071 }; 00072 00073 protected slots: 00074 void updateInfo(MythUIButtonListItem *item); 00075 void edit(MythUIButtonListItem *item); 00076 void scheduleChanged(int recid); 00077 00078 private: 00079 virtual void Load(void); 00080 virtual void Init(void); 00081 00082 void FillList(void); 00083 void SortList(ProgramRecPriorityInfo *newCurrentItem = NULL); 00084 void UpdateList(); 00085 void RemoveItemFromList(MythUIButtonListItem *item); 00086 00087 void changeRecPriority(int howMuch); 00088 void saveRecPriority(void); 00089 void customEdit(); 00090 void newTemplate(QString category); 00091 void remove(); 00092 void deactivate(); 00093 void upcoming(); 00094 void details(); 00095 00096 void showMenu(void); 00097 void showSortMenu(void); 00098 00099 QMap<int, ProgramRecPriorityInfo> m_programData; 00100 vector<ProgramRecPriorityInfo*> m_sortedProgram; 00101 QMap<int, int> m_origRecPriorityData; 00102 00103 void countMatches(void); 00104 QMap<int, int> m_conMatch; 00105 QMap<int, int> m_nowMatch; 00106 QMap<int, int> m_recMatch; 00107 QMap<int, int> m_listMatch; 00108 00109 MythUIButtonList *m_programList; 00110 00111 MythUIText *m_schedInfoText; 00112 MythUIText *m_rectypePriorityText; 00113 MythUIText *m_recPriorityText; 00114 MythUIText *m_recPriorityBText; 00115 MythUIText *m_finalPriorityText; 00116 MythUIText *m_lastRecordedText; 00117 MythUIText *m_lastRecordedDateText; 00118 MythUIText *m_lastRecordedTimeText; 00119 MythUIText *m_channameText; 00120 MythUIText *m_channumText; 00121 MythUIText *m_callsignText; 00122 MythUIText *m_recProfileText; 00123 00124 ProgramRecPriorityInfo *m_currentItem; 00125 00126 bool m_reverseSort; 00127 00128 SortType m_sortType; 00129 }; 00130 00131 Q_DECLARE_METATYPE(ProgramRecPriorityInfo *) 00132 00133 #endif
1.7.6.1