MythTV  master
nettree.h
Go to the documentation of this file.
1 #ifndef NETTREE_H
2 #define NETTREE_H
3 
4 #include "netbase.h"
5 
6 // MythTV
19 
20 enum DialogType : std::uint8_t
21  { DLG_DEFAULT = 0, DLG_GALLERY = 0x1, DLG_TREE = 0x2,
22  DLG_BROWSER = 0x4, dtLast = 0x5 };
23 
24 enum TreeNodeType : std::int8_t {
25  kSubFolder = -1,
26  kUpFolder = -2,
27  kRootNode = -3,
29 };
30 
31 // Tree node attribute index
32 enum TreeNodeAttributes : std::uint8_t {
34 };
35 
36 enum NodeOrder : std::uint8_t {
40 };
41 
42 class NetTree : public NetBase
43 {
44  Q_OBJECT
45 
46  public:
47  NetTree(DialogType type, MythScreenStack *parent, const char *name = nullptr);
48  ~NetTree() override;
49 
50  bool Create(void) override; // MythScreenType
51  bool keyPressEvent(QKeyEvent *event) override; // MythScreenType
52 
53  protected:
54  ResultItem *GetStreamItem() override; // NetBase
55 
56  private:
57  void Load() override; // MythScreenType
58 
59  void FillTree(void);
60  void SetCurrentNode(MythGenericTree *node);
61  void HandleDirSelect(MythGenericTree *node);
62  bool GoBack();
63  void UpdateItem(MythUIButtonListItem *item);
64 
66  QDomElement& domElem);
68  QStringList paths,
69  const QString& dirthumb,
70  const QList<ResultItem*>& videos);
71 
72  void AddFileNode(MythGenericTree *where_to_add,
73  ResultItem *video);
74 
75  void SwitchView(void);
76 
77  static void SetSubfolderData(MythGenericTree *folder);
78  void UpdateResultItem(ResultItem *item);
79  void UpdateSiteItem(RSSSite *site);
80  void UpdateCurrentItem(void);
81 
82  // Only to keep track of what to delete
83  QList<ResultItem*> m_videos;
84 
89 
90  MythUIText *m_noSites {nullptr};
91 
94 
96 
98  bool m_rssAutoUpdate {false};
99  bool m_treeAutoUpdate {false};
100 
101  private slots:
102  void ShowMenu(void) override; // MythScreenType
105  void RunTreeEditor(void) const;
106  void RunRSSEditor(void) const;
107  void LoadData(void) override; // NetBase
109 
110  void SwitchTreeView(void);
111  void SwitchGalleryView(void);
112  void SwitchBrowseView(void);
113 
114  void UpdateRSS();
115  void UpdateTrees();
116  void ToggleRSSUpdates();
117  void ToggleTreeUpdates();
118 
119  void SlotItemChanged();
120 
121  void DoTreeRefresh();
122  void TreeRefresh();
123 
124  void customEvent(QEvent *levent) override; // NetBase
125 
126  protected:
127  static const QString kRSSNode;
128  static const QString kSearchNode;
129  static const QString kDownloadNode;
130 };
131 
132 #endif
mythuibuttontree.h
NetTree::DoTreeRefresh
void DoTreeRefresh()
Definition: nettree.cpp:889
NetTree::m_currentNode
MythGenericTree * m_currentNode
Definition: nettree.h:88
NetTree::CreateShowViewMenu
MythMenu * CreateShowViewMenu(void)
Definition: nettree.cpp:444
mythuiprogressbar.h
NetTree::HandleDirSelect
void HandleDirSelect(MythGenericTree *node)
Definition: nettree.cpp:329
NetTree::UpdateResultItem
void UpdateResultItem(ResultItem *item)
Definition: nettree.cpp:663
NetTree::RunTreeEditor
void RunTreeEditor(void) const
Definition: nettree.cpp:853
NetTree::TreeRefresh
void TreeRefresh()
Definition: nettree.cpp:896
NetTree::UpdateRSS
void UpdateRSS()
Definition: nettree.cpp:910
NetTree::UpdateSiteItem
void UpdateSiteItem(RSSSite *site)
Definition: nettree.cpp:712
NetTree::SwitchTreeView
void SwitchTreeView(void)
Definition: nettree.cpp:488
DLG_GALLERY
@ DLG_GALLERY
Definition: nettree.h:21
NetTree::m_siteGeneric
MythGenericTree * m_siteGeneric
Definition: nettree.h:87
mythdialogbox.h
MythScreenStack
Definition: mythscreenstack.h:16
DLG_TREE
@ DLG_TREE
Definition: nettree.h:21
NetTree::m_gdt
GrabberDownloadThread * m_gdt
Definition: nettree.h:92
NodeOrder
NodeOrder
Definition: nettree.h:36
NetTree::CreateShowManageMenu
MythMenu * CreateShowManageMenu(void)
Definition: nettree.cpp:460
kOrderSub
@ kOrderSub
Definition: nettree.h:38
mythuistatetype.h
kOrderUp
@ kOrderUp
Definition: nettree.h:37
NetTree::Load
void Load() override
Load data which will ultimately be displayed on-screen or used to determine what appears on-screen (S...
Definition: nettree.cpp:133
mythuibuttonlist.h
NetTree::SwitchView
void SwitchView(void)
Definition: nettree.cpp:506
NetTree::SwitchGalleryView
void SwitchGalleryView(void)
Definition: nettree.cpp:494
mythprogressdialog.h
NetTree
Definition: nettree.h:42
kOrderItem
@ kOrderItem
Definition: nettree.h:39
NetTree::NetTree
NetTree(DialogType type, MythScreenStack *parent, const char *name=nullptr)
Definition: nettree.cpp:48
MythUIButtonListItem
Definition: mythuibuttonlist.h:41
DLG_BROWSER
@ DLG_BROWSER
Definition: nettree.h:22
NetTree::RunRSSEditor
void RunRSSEditor(void) const
Definition: nettree.cpp:871
NetTree::SwitchBrowseView
void SwitchBrowseView(void)
Definition: nettree.cpp:500
rssmanager.h
NetTree::ToggleTreeUpdates
void ToggleTreeUpdates()
Definition: nettree.cpp:941
metadataimagedownload.h
NetTree::LoadData
void LoadData(void) override
Definition: nettree.cpp:163
NetTree::UpdateItem
void UpdateItem(MythUIButtonListItem *item)
Definition: nettree.cpp:211
netgrabbermanager.h
NetTree::AddFileNode
void AddFileNode(MythGenericTree *where_to_add, ResultItem *video)
Definition: nettree.cpp:632
NetTree::m_siteButtonList
MythUIButtonList * m_siteButtonList
Definition: nettree.h:86
dtLast
@ dtLast
Definition: nettree.h:22
DLG_DEFAULT
@ DLG_DEFAULT
Definition: nettree.h:21
TreeNodeAttributes
TreeNodeAttributes
Definition: nettree.h:32
DialogType
DialogType
Definition: nettree.h:20
NetTree::m_treeAutoUpdate
bool m_treeAutoUpdate
Definition: nettree.h:99
NetTree::m_videos
QList< ResultItem * > m_videos
Definition: nettree.h:83
MythUIButtonTree
A tree widget for displaying and navigating a MythGenericTree()
Definition: mythuibuttontree.h:16
mythgenerictree.h
NetTree::customEvent
void customEvent(QEvent *levent) override
Definition: nettree.cpp:948
NetTree::HandleSelect
void HandleSelect(MythUIButtonListItem *item)
Definition: nettree.cpp:305
kRootNode
@ kRootNode
Definition: nettree.h:27
NetTree::m_rssList
RSSSite::rssList m_rssList
Definition: nettree.h:93
NetTree::BuildGenericTree
void BuildGenericTree(MythGenericTree *dst, QDomElement &domElem)
NetTree::SetCurrentNode
void SetCurrentNode(MythGenericTree *node)
Definition: nettree.cpp:141
MythMenu
Definition: mythdialogbox.h:98
NetTree::m_rssAutoUpdate
bool m_rssAutoUpdate
Definition: nettree.h:98
MythUIText
All purpose text widget, displays a text string.
Definition: mythuitext.h:28
NetTree::SetSubfolderData
static void SetSubfolderData(MythGenericTree *folder)
Definition: nettree.cpp:994
NetTree::keyPressEvent
bool keyPressEvent(QKeyEvent *event) override
Key event handler.
Definition: nettree.cpp:360
ResultItem
Definition: rssparse.h:109
NetTree::m_type
DialogType m_type
Definition: nettree.h:95
NetTree::GetStreamItem
ResultItem * GetStreamItem() override
Definition: nettree.cpp:646
MythGenericTree
Definition: mythgenerictree.h:27
NetTree::m_siteMap
MythUIButtonTree * m_siteMap
Definition: nettree.h:85
kUpFolder
@ kUpFolder
Definition: nettree.h:26
kNoFilesFound
@ kNoFilesFound
Definition: nettree.h:28
kNodeSort
@ kNodeSort
Definition: nettree.h:33
NetTree::kRSSNode
static const QString kRSSNode
Definition: nettree.h:127
NetTree::m_updateFreq
uint m_updateFreq
Definition: nettree.h:97
NetTree::m_noSites
MythUIText * m_noSites
Definition: nettree.h:90
NetTree::FillTree
void FillTree(void)
Definition: nettree.cpp:525
NetTree::~NetTree
~NetTree() override
Definition: nettree.cpp:149
NetTree::kSearchNode
static const QString kSearchNode
Definition: nettree.h:128
netbase.h
NetTree::UpdateCurrentItem
void UpdateCurrentItem(void)
Definition: nettree.cpp:741
NetBase
Definition: netbase.h:18
NetTree::ShowMenu
void ShowMenu(void) override
Definition: nettree.cpp:399
NetTree::UpdateTrees
void UpdateTrees()
Definition: nettree.cpp:924
NetTree::Create
bool Create(void) override
Definition: nettree.cpp:61
NetTree::kDownloadNode
static const QString kDownloadNode
Definition: nettree.h:129
TreeNodeType
TreeNodeType
Definition: nettree.h:24
mythdownloadmanager.h
MythUIButtonList
List widget, displays list items in a variety of themeable arrangements and can trigger signals when ...
Definition: mythuibuttonlist.h:191
NetTree::SlotItemChanged
void SlotItemChanged()
Definition: nettree.cpp:823
NetTree::GoBack
bool GoBack()
Definition: nettree.cpp:338
RSSSite
Definition: rssmanager.h:21
mythscreentype.h
RSSSite::rssList
QList< RSSSite * > rssList
Definition: rssmanager.h:53
GrabberDownloadThread
Definition: netgrabbermanager.h:115
uint
unsigned int uint
Definition: freesurround.h:24
NetTree::ToggleRSSUpdates
void ToggleRSSUpdates()
Definition: nettree.cpp:934
build_compdb.paths
paths
Definition: build_compdb.py:13
kSubFolder
@ kSubFolder
Definition: nettree.h:25