xbmc
GUIWindowMusicPlaylistEditor.h
1 /*
2  * Copyright (C) 2005-2018 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 #include "GUIWindowMusicBase.h"
12 
13 class CFileItemList;
14 
16 {
17 public:
19  ~CGUIWindowMusicPlaylistEditor(void) override;
20 
21  bool OnMessage(CGUIMessage& message) override;
22  bool OnAction(const CAction &action) override;
23  bool OnClick(int iItem, const std::string &player = "") override;
24  bool OnBack(int actionID) override;
25 
26 protected:
27  bool GetDirectory(const std::string &strDirectory, CFileItemList &items) override;
28  void UpdateButtons() override;
29  bool Update(const std::string &strDirectory, bool updateFilterPath = true) override;
30  void OnPrepareFileItems(CFileItemList &items) override;
31  bool OnContextButton(int itemNumber, CONTEXT_BUTTON button) override;
32  void OnQueueItem(int iItem, bool first = false) override;
33  std::string GetStartFolder(const std::string& dir) override { return ""; }
34 
35  void OnSourcesContext();
36  void OnPlaylistContext();
37  int GetCurrentPlaylistItem();
38  void OnDeletePlaylistItem(int item);
39  void UpdatePlaylist();
40  void ClearPlaylist();
41  void OnSavePlaylist();
42  void OnLoadPlaylist();
43  void AppendToPlaylist(CFileItemList &newItems);
44  void OnMovePlaylistItem(int item, int direction);
45 
46  void LoadPlaylist(const std::string &playlist);
47 
48  // new method
49  void PlayItem(int iItem) override;
50 
51  void DeleteRemoveableMediaDirectoryCache();
52 
53  CMusicThumbLoader m_playlistThumbLoader;
54 
55  CFileItemList* m_playlist;
56  std::string m_strLoadedPlaylist;
57 };
Definition: MusicThumbLoader.h:19
bool GetDirectory(const std::string &strDirectory, CFileItemList &items) override
Overwrite to fill fileitems from a source.
Definition: GUIWindowMusicPlaylistEditor.cpp:174
Represents a list of files.
Definition: FileItem.h:713
The base class for music windows.
Definition: GUIWindowMusicBase.h:37
bool Update(const std::string &strDirectory, bool updateFilterPath=true) override
Retrieves the items from the given path and updates the list.
Definition: GUIWindowMusicPlaylistEditor.cpp:264
bool OnClick(int iItem, const std::string &player="") override
On click.
Definition: GUIWindowMusicPlaylistEditor.cpp:78
Definition: GUIWindowMusicPlaylistEditor.h:15
bool OnMessage(CGUIMessage &message) override
Handle messages on window.
Definition: GUIWindowMusicPlaylistEditor.cpp:93
class encapsulating information regarding a particular user action to be sent to windows and controls...
Definition: Action.h:22
Definition: GUIMessage.h:365
void UpdateButtons() override
Overwrite to update your gui buttons (visible, enable,...)
Definition: GUIWindowMusicPlaylistEditor.cpp:218
void OnQueueItem(int iItem, bool first=false) override
Add selected list/thumb control item to playlist and start playing.
Definition: GUIWindowMusicPlaylistEditor.cpp:251
void OnPrepareFileItems(CFileItemList &items) override
On prepare file items.
Definition: GUIWindowMusicPlaylistEditor.cpp:211
std::string GetStartFolder(const std::string &dir) override
Translate the folder to start in from the given quick path.
Definition: GUIWindowMusicPlaylistEditor.h:33