11 #include "dialogs/GUIDialogContextMenu.h" 12 #include "filesystem/DirectoryHistory.h" 13 #include "filesystem/VirtualDirectory.h" 15 #include "playlists/SmartPlayList.h" 16 #include "view/GUIViewControl.h" 24 class CGetDirectoryItems;
35 bool OnAction(
const CAction &action)
override;
36 bool OnBack(
int actionID)
override;
40 void OnWindowLoaded()
override;
41 void OnWindowUnload()
override;
43 bool IsMediaWindow()
const override {
return true; }
44 int GetViewContainerID()
const override {
return m_viewControl.GetCurrentControl(); }
45 int GetViewCount()
const override {
return m_viewControl.GetViewModeCount(); }
46 bool HasListItems()
const override {
return true; }
47 CFileItemPtr GetCurrentListItem(
int offset = 0)
override;
50 virtual bool CanFilterAdvanced() {
return m_canFilterAdvanced; }
51 virtual bool IsFiltered();
52 virtual bool IsSameStartFolder(
const std::string &dir);
54 virtual std::string GetRootPath()
const {
return ""; }
58 virtual bool UseFileDirectories() {
return true; }
62 CGUIControl *GetFirstFocusableControl(
int id)
override;
64 bool Load(TiXmlElement *pRootElement)
override;
67 virtual void SetupShares();
69 virtual bool OnClick(
int iItem,
const std::string &player =
"");
75 virtual bool OnSelect(
int item);
76 virtual bool OnPopupMenu(
int iItem);
78 virtual void GetContextButtons(
int itemNumber,
CContextButtons& buttons) {}
79 virtual bool OnContextButton(
int itemNumber, CONTEXT_BUTTON button) {
return false; }
80 virtual bool OnAddMediaSource() {
return false; }
84 void SaveControlStates()
override;
85 void RestoreControlStates()
override;
96 virtual bool Update(
const std::string &strDirectory,
bool updateFilterPath =
true);
102 virtual bool Refresh(
bool clearCache =
false);
109 void ClearFileItems();
122 virtual void UpdateFilterPath(
const std::string &strDirector,
const CFileItemList &items,
bool updateFilterPath);
123 virtual bool Filter(
bool advanced =
true);
130 void OnFilterItems(
const std::string &filter);
151 void SaveSelectedItemInHistory();
152 void RestoreSelectedItemFromHistory();
155 virtual void LoadPlayList(
const std::string& strFileName) {}
156 virtual bool OnPlayMedia(
int iItem,
const std::string &player =
"");
157 virtual bool OnPlayAndQueueMedia(
const CFileItemPtr& item,
const std::string& player =
"");
159 virtual void OnDeleteItem(
int iItem);
160 void OnRenameItem(
int iItem);
161 bool WaitForNetwork()
const;
163 bool WaitGetDirectoryItems(CGetDirectoryItems &items);
164 void CancelUpdateItems();
178 bool ProcessRenderLoop(
bool renderOnly);
187 std::unique_ptr<CGUIViewState> m_guiState;
188 std::atomic_bool m_vecItemsUpdating = {
false};
192 CUpdateGuard(std::atomic_bool &update) : m_update(update)
201 std::atomic_bool &m_update;
204 std::atomic_bool m_updateAborted = {
false};
205 std::atomic_bool m_updateJobActive = {
false};
209 std::string m_startDirectory;
212 bool m_canFilterAdvanced;
226 bool m_backgroundLoad =
false;
This is an Event class built from a ConditionVariable.
Definition: Event.h:35
Definition: GUIViewControl.h:19
Represents a list of files.
Definition: FileItem.h:702
Base class for controls.
Definition: GUIControl.h:83
Definition: LabelFormatter.h:21
Class encapsulating information regarding a particular user action to be sent to windows and controls...
Definition: Action.h:21
Definition: GUIViewState.h:25
Get access to shares and it's directories.
Definition: VirtualDirectory.h:24
Definition: GUIMessage.h:365
Definition: GUIWindow.h:58
Definition: SmartPlayList.h:90
Definition: DirectoryHistory.h:15
Definition: GUIDialogContextMenu.h:93
Represents a file on a share.
Definition: FileItem.h:102