kodi
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  void OnQueueItem(int iItem, bool first = false) override;
32  std::string GetStartFolder(const std::string& dir) override { return ""; }
33 
34  void OnSourcesContext();
35  void OnPlaylistContext();
36  int GetCurrentPlaylistItem();
37  void OnDeletePlaylistItem(int item);
38  void UpdatePlaylist();
39  void ClearPlaylist();
40  void OnSavePlaylist();
41  void OnLoadPlaylist();
42  void AppendToPlaylist(CFileItemList &newItems);
43  void OnMovePlaylistItem(int item, int direction);
44 
45  void LoadPlaylist(const std::string &playlist);
46 
47  // new method
48  void PlayItem(int iItem) override;
49 
50  void DeleteRemoveableMediaDirectoryCache();
51 
52  CMusicThumbLoader m_playlistThumbLoader;
53 
54  CFileItemList* m_playlist;
55  std::string m_strLoadedPlaylist;
56 };
Definition: MusicThumbLoader.h:19
bool GetDirectory(const std::string &strDirectory, CFileItemList &items) override
Overwrite to fill fileitems from a source.
Definition: GUIWindowMusicPlaylistEditor.cpp:175
Represents a list of files.
Definition: FileItem.h:702
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:265
bool OnClick(int iItem, const std::string &player="") override
On click.
Definition: GUIWindowMusicPlaylistEditor.cpp:79
Definition: GUIWindowMusicPlaylistEditor.h:15
bool OnMessage(CGUIMessage &message) override
Handle messages on window.
Definition: GUIWindowMusicPlaylistEditor.cpp:94
Class encapsulating information regarding a particular user action to be sent to windows and controls...
Definition: Action.h:21
Definition: GUIMessage.h:365
void UpdateButtons() override
Overwrite to update your gui buttons (visible, enable,...)
Definition: GUIWindowMusicPlaylistEditor.cpp:219
void OnQueueItem(int iItem, bool first=false) override
Add selected list/thumb control item to playlist and start playing.
Definition: GUIWindowMusicPlaylistEditor.cpp:252
void OnPrepareFileItems(CFileItemList &items) override
On prepare file items.
Definition: GUIWindowMusicPlaylistEditor.cpp:212
std::string GetStartFolder(const std::string &dir) override
Translate the folder to start in from the given quick path.
Definition: GUIWindowMusicPlaylistEditor.h:32