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 void ShowMenu(void) override; // MythScreenType
52 bool keyPressEvent(QKeyEvent *event) override; // MythScreenType
53
54 protected:
55 ResultItem *GetStreamItem() override; // NetBase
56 void Load() override; // MythScreenType
57 void LoadData(void) override; // NetBase
58
59 private:
60 void FillTree(void);
63 bool GoBack();
65
67 QDomElement& domElem);
69 QStringList paths,
70 const QString& dirthumb,
71 const QList<ResultItem*>& videos);
72
73 void AddFileNode(MythGenericTree *where_to_add,
74 ResultItem *video);
75
76 void SwitchView(void);
77
78 static void SetSubfolderData(MythGenericTree *folder);
79 void UpdateResultItem(ResultItem *item);
80 void UpdateSiteItem(RSSSite *site);
81 void UpdateCurrentItem(void);
82
83 // Only to keep track of what to delete
84 QList<ResultItem*> m_videos;
85
90
92
95
97
99 bool m_rssAutoUpdate {false};
100 bool m_treeAutoUpdate {false};
101
102 private slots:
105 void RunTreeEditor(void) const;
106 void RunRSSEditor(void) const;
108
109 void SwitchTreeView(void);
110 void SwitchGalleryView(void);
111 void SwitchBrowseView(void);
112
113 void UpdateRSS();
114 void UpdateTrees();
115 void ToggleRSSUpdates();
116 void ToggleTreeUpdates();
117
118 void SlotItemChanged();
119
120 void DoTreeRefresh();
121 void TreeRefresh();
122
123 protected:
124 void customEvent(QEvent *levent) override; // NetBase
125
126 static const QString kRSSNode;
127 static const QString kSearchNode;
128 static const QString kDownloadNode;
129};
130
131#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:668
bool Create(void) override
Definition: nettree.cpp:60
static void SetSubfolderData(MythGenericTree *folder)
Definition: nettree.cpp:1001
NetTree(DialogType type, MythScreenStack *parent, const char *name=nullptr)
Definition: nettree.cpp:47
void RunTreeEditor(void) const
Definition: nettree.cpp:860
RSSSite::rssList m_rssList
Definition: nettree.h:94
bool m_treeAutoUpdate
Definition: nettree.h:100
void ShowMenu(void) override
Definition: nettree.cpp:400
MythMenu * CreateShowManageMenu(void)
Definition: nettree.cpp:461
static const QString kRSSNode
Definition: nettree.h:126
void SwitchBrowseView(void)
Definition: nettree.cpp:501
static const QString kSearchNode
Definition: nettree.h:127
ResultItem * GetStreamItem() override
Definition: nettree.cpp:649
void SlotItemChanged()
Definition: nettree.cpp:830
void UpdateItem(MythUIButtonListItem *item)
Definition: nettree.cpp:212
MythMenu * CreateShowViewMenu(void)
Definition: nettree.cpp:445
MythUIText * m_noSites
Definition: nettree.h:91
void SwitchView(void)
Definition: nettree.cpp:507
void TreeRefresh()
Definition: nettree.cpp:903
void FillTree(void)
Definition: nettree.cpp:526
bool keyPressEvent(QKeyEvent *event) override
Key event handler.
Definition: nettree.cpp:361
void SetCurrentNode(MythGenericTree *node)
Definition: nettree.cpp:140
bool m_rssAutoUpdate
Definition: nettree.h:99
void AddFileNode(MythGenericTree *where_to_add, ResultItem *video)
Definition: nettree.cpp:635
void SwitchTreeView(void)
Definition: nettree.cpp:489
QList< ResultItem * > m_videos
Definition: nettree.h:84
void customEvent(QEvent *levent) override
Definition: nettree.cpp:955
void HandleDirSelect(MythGenericTree *node)
Definition: nettree.cpp:330
void ToggleRSSUpdates()
Definition: nettree.cpp:941
void SwitchGalleryView(void)
Definition: nettree.cpp:495
void UpdateRSS()
Definition: nettree.cpp:917
MythGenericTree * m_siteGeneric
Definition: nettree.h:88
MythGenericTree * m_currentNode
Definition: nettree.h:89
static const QString kDownloadNode
Definition: nettree.h:128
void UpdateCurrentItem(void)
Definition: nettree.cpp:746
void UpdateSiteItem(RSSSite *site)
Definition: nettree.cpp:717
MythUIButtonTree * m_siteMap
Definition: nettree.h:86
void DoTreeRefresh()
Definition: nettree.cpp:896
MythUIButtonList * m_siteButtonList
Definition: nettree.h:87
void UpdateTrees()
Definition: nettree.cpp:931
~NetTree() override
Definition: nettree.cpp:148
void ToggleTreeUpdates()
Definition: nettree.cpp:948
void BuildGenericTree(MythGenericTree *dst, QDomElement &domElem)
bool GoBack()
Definition: nettree.cpp:339
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:306
DialogType m_type
Definition: nettree.h:96
GrabberDownloadThread * m_gdt
Definition: nettree.h:93
void RunRSSEditor(void) const
Definition: nettree.cpp:878
void LoadData(void) override
Definition: nettree.cpp:162
uint m_updateFreq
Definition: nettree.h:98
QList< RSSSite * > rssList
Definition: rssmanager.h:53
unsigned int uint
Definition: compat.h:60
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