00001 #ifndef VIDEOTREE_H_ 00002 #define VIDEOTREE_H_ 00003 00004 #include <memory> 00005 00006 #include <mythtv/mythdialogs.h> 00007 00008 class Metadata; 00009 class VideoList; 00010 class ParentalLevel; 00011 00012 class VideoTreeImp; 00013 class VideoTree : public MythThemedDialog 00014 { 00015 Q_OBJECT 00016 00017 public: 00018 VideoTree(MythMainWindow *lparent, const QString &window_name, 00019 const QString &theme_filename, const QString &name, 00020 VideoList *video_list); 00021 ~VideoTree(); 00022 00023 void buildVideoList(); 00024 00025 void playVideo(Metadata *someItem); 00026 int videoExitType() { return m_exit_type; } 00027 00028 public slots: 00029 void slotDoCancel(); 00030 void slotVideoGallery(); 00031 void slotVideoBrowser(); 00032 void slotViewPlot(); 00033 void slotViewCast(); 00034 void slotDoFilter(); 00035 void slotWatchVideo(); 00036 00037 void handleTreeListSelection(int node_int); 00038 void handleTreeListEntry(int node_int); 00039 void playVideo(int node_number); 00040 void setParentalLevel(const ParentalLevel &which_level); 00041 00042 protected: 00043 void keyPressEvent(QKeyEvent *e); 00044 bool createPopup(); 00045 void cancelPopup(); 00046 void doMenu(bool info); 00047 00048 private: 00049 MythPopupBox *popup; 00050 bool expectingPopup; 00051 Metadata *curitem; 00052 std::auto_ptr<ParentalLevel> current_parental_level; 00053 bool file_browser; 00054 bool m_db_folders; 00055 00056 VideoList *m_video_list; 00057 GenericTree *video_tree_root; 00058 00059 int m_exit_type; 00060 00061 private: 00062 void jumpTo(const QString &location); 00063 void setExitType(int exit_type) { m_exit_type = exit_type; } 00064 std::auto_ptr<VideoTreeImp> m_imp; 00065 }; 00066 00067 #endif
1.5.5