00001 /* 00002 recordingselector.h 00003 00004 header for the recording selector interface screen 00005 */ 00006 00007 #ifndef RECORDINGSELECTOR_H_ 00008 #define RECORDINGSELECTOR_H_ 00009 00010 // c++ 00011 #include <vector> 00012 00013 // qt 00014 #include <QList> 00015 #include <QStringList> 00016 00017 // mythtv 00018 #include <mythscreentype.h> 00019 00020 // mytharchive 00021 #include "archiveutil.h" 00022 00023 class ProgramInfo; 00024 class MythUIText; 00025 class MythUIButton; 00026 class MythUIButtonList; 00027 class MythUIButtonListItem; 00028 00029 class RecordingSelector : public MythScreenType 00030 { 00031 00032 Q_OBJECT 00033 00034 public: 00035 RecordingSelector(MythScreenStack *parent, QList<ArchiveItem *> *archiveList); 00036 00037 ~RecordingSelector(void); 00038 00039 bool Create(); 00040 bool keyPressEvent(QKeyEvent *e); 00041 00042 signals: 00043 void haveResult(bool ok); 00044 00045 public slots: 00046 void OKPressed(void); 00047 void cancelPressed(void); 00048 00049 void showMenu(void); 00050 void selectAll(void); 00051 void clearAll(void); 00052 00053 void setCategory(MythUIButtonListItem *item); 00054 void titleChanged(MythUIButtonListItem *item); 00055 void toggleSelected(MythUIButtonListItem *item); 00056 00057 private: 00058 void Init(void); 00059 void updateRecordingList(void); 00060 void updateSelectedList(void); 00061 void updateCategorySelector(void); 00062 void getRecordingList(void); 00063 00064 QList<ArchiveItem *> *m_archiveList; 00065 std::vector<ProgramInfo *> *m_recordingList; 00066 QList<ProgramInfo *> m_selectedList; 00067 QStringList m_categories; 00068 00069 MythUIButtonList *m_recordingButtonList; 00070 MythUIButton *m_okButton; 00071 MythUIButton *m_cancelButton; 00072 MythUIButtonList *m_categorySelector; 00073 MythUIText *m_titleText; 00074 MythUIText *m_datetimeText; 00075 MythUIText *m_filesizeText; 00076 MythUIText *m_descriptionText; 00077 MythUIImage *m_previewImage; 00078 MythUIImage *m_cutlistImage; 00079 00080 friend class GetRecordingListThread; 00081 }; 00082 00083 #endif
1.6.3