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
20enum DialogType : std::uint8_t
21 { DLG_DEFAULT = 0, DLG_GALLERY = 0x1, DLG_TREE = 0x2,
22 DLG_BROWSER = 0x4, dtLast = 0x5 };
23
24enum TreeNodeType : std::int8_t {
28 kNoFilesFound = -4
29};
30
31// Tree node attribute index
32enum TreeNodeAttributes : std::uint8_t {
34};
35
36enum NodeOrder : std::uint8_t {
40};
41
42class 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);
62 bool GoBack();
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
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
List widget, displays list items in a variety of themeable arrangements and can trigger signals when ...
A tree widget for displaying and navigating a MythGenericTree()
All purpose text widget, displays a text string.
Definition: mythuitext.h:29
void UpdateResultItem(ResultItem *item)
Definition: nettree.cpp:662
bool Create(void) override
Definition: nettree.cpp:60
static void SetSubfolderData(MythGenericTree *folder)
Definition: nettree.cpp:993
NetTree(DialogType type, MythScreenStack *parent, const char *name=nullptr)
Definition: nettree.cpp:47
void RunTreeEditor(void) const
Definition: nettree.cpp:852
RSSSite::rssList m_rssList
Definition: nettree.h:93
bool m_treeAutoUpdate
Definition: nettree.h:99
void ShowMenu(void) override
Definition: nettree.cpp:398
MythMenu * CreateShowManageMenu(void)
Definition: nettree.cpp:459
static const QString kRSSNode
Definition: nettree.h:127
void SwitchBrowseView(void)
Definition: nettree.cpp:499
static const QString kSearchNode
Definition: nettree.h:128
ResultItem * GetStreamItem() override
Definition: nettree.cpp:645
void SlotItemChanged()
Definition: nettree.cpp:822
void UpdateItem(MythUIButtonListItem *item)
Definition: nettree.cpp:210
MythMenu * CreateShowViewMenu(void)
Definition: nettree.cpp:443
MythUIText * m_noSites
Definition: nettree.h:90
void SwitchView(void)
Definition: nettree.cpp:505
void TreeRefresh()
Definition: nettree.cpp:895
void FillTree(void)
Definition: nettree.cpp:524
bool keyPressEvent(QKeyEvent *event) override
Key event handler.
Definition: nettree.cpp:359
void SetCurrentNode(MythGenericTree *node)
Definition: nettree.cpp:140
bool m_rssAutoUpdate
Definition: nettree.h:98
void AddFileNode(MythGenericTree *where_to_add, ResultItem *video)
Definition: nettree.cpp:631
void SwitchTreeView(void)
Definition: nettree.cpp:487
QList< ResultItem * > m_videos
Definition: nettree.h:83
void customEvent(QEvent *levent) override
Definition: nettree.cpp:947
void HandleDirSelect(MythGenericTree *node)
Definition: nettree.cpp:328
void ToggleRSSUpdates()
Definition: nettree.cpp:933
void SwitchGalleryView(void)
Definition: nettree.cpp:493
void UpdateRSS()
Definition: nettree.cpp:909
MythGenericTree * m_siteGeneric
Definition: nettree.h:87
MythGenericTree * m_currentNode
Definition: nettree.h:88
static const QString kDownloadNode
Definition: nettree.h:129
void UpdateCurrentItem(void)
Definition: nettree.cpp:740
void UpdateSiteItem(RSSSite *site)
Definition: nettree.cpp:711
MythUIButtonTree * m_siteMap
Definition: nettree.h:85
void DoTreeRefresh()
Definition: nettree.cpp:888
MythUIButtonList * m_siteButtonList
Definition: nettree.h:86
void UpdateTrees()
Definition: nettree.cpp:923
~NetTree() override
Definition: nettree.cpp:148
void ToggleTreeUpdates()
Definition: nettree.cpp:940
void BuildGenericTree(MythGenericTree *dst, QDomElement &domElem)
bool GoBack()
Definition: nettree.cpp:337
void Load() override
Load data which will ultimately be displayed on-screen or used to determine what appears on-screen (S...
Definition: nettree.cpp:132
void HandleSelect(MythUIButtonListItem *item)
Definition: nettree.cpp:304
DialogType m_type
Definition: nettree.h:95
GrabberDownloadThread * m_gdt
Definition: nettree.h:92
void RunRSSEditor(void) const
Definition: nettree.cpp:870
void LoadData(void) override
Definition: nettree.cpp:162
uint m_updateFreq
Definition: nettree.h:97
QList< RSSSite * > rssList
Definition: rssmanager.h:53
unsigned int uint
Definition: freesurround.h:24
NodeOrder
Definition: nettree.h:36
@ kOrderUp
Definition: nettree.h:37
@ kOrderItem
Definition: nettree.h:39
@ kOrderSub
Definition: nettree.h:38
TreeNodeAttributes
Definition: nettree.h:32
@ kNodeSort
Definition: nettree.h:33
DialogType
Definition: nettree.h:21
@ DLG_DEFAULT
Definition: nettree.h:21
@ dtLast
Definition: nettree.h:22
@ DLG_TREE
Definition: nettree.h:21
@ DLG_BROWSER
Definition: nettree.h:22
@ DLG_GALLERY
Definition: nettree.h:21
TreeNodeType
Definition: nettree.h:24
@ kRootNode
Definition: nettree.h:27
@ kSubFolder
Definition: nettree.h:25
@ kUpFolder
Definition: nettree.h:26
@ kNoFilesFound
Definition: nettree.h:28