[videodb] remove unused seasons table from episode_view
[xbmc.git] / xbmc / dialogs / GUIDialogSmartPlaylistEditor.h
blob3c0c889dcb82d7a5bbcd219335c0e508337b3e5d
1 /*
2 * Copyright (C) 2005-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
7 */
9 #pragma once
11 #include "guilib/GUIDialog.h"
12 #include "playlists/SmartPlayList.h"
14 class CFileItemList;
16 class CGUIDialogSmartPlaylistEditor :
17 public CGUIDialog
19 public:
20 enum PLAYLIST_TYPE { TYPE_SONGS = 1, TYPE_ALBUMS, TYPE_ARTISTS, TYPE_MIXED, TYPE_MUSICVIDEOS, TYPE_MOVIES, TYPE_TVSHOWS, TYPE_EPISODES };
22 CGUIDialogSmartPlaylistEditor(void);
23 ~CGUIDialogSmartPlaylistEditor(void) override;
24 bool OnMessage(CGUIMessage& message) override;
25 bool OnBack(int actionID) override;
26 void OnInitWindow() override;
27 void OnDeinitWindow(int nextWindowID) override;
29 static bool EditPlaylist(const std::string &path, const std::string &type = "");
30 static bool NewPlaylist(const std::string &type);
32 protected:
33 void OnRuleList(int item);
34 void OnRuleAdd();
35 void OnRuleRemove(int item);
36 void OnMatch();
37 void OnLimit();
38 void OnName();
39 void OnType();
40 void OnOrder();
41 void OnOrderDirection();
42 void OnGroupBy();
43 void OnGroupMixed();
44 void OnOK();
45 void OnCancel();
46 void OnPopupMenu(int item);
47 void UpdateButtons();
48 void UpdateRuleControlButtons();
49 int GetSelectedItem();
50 void HighlightItem(int item);
51 std::vector<PLAYLIST_TYPE> GetAllowedTypes(const std::string& mode);
52 PLAYLIST_TYPE ConvertType(const std::string &type);
53 std::string ConvertType(PLAYLIST_TYPE type);
54 std::string GetLocalizedType(PLAYLIST_TYPE type);
56 KODI::PLAYLIST::CSmartPlaylist m_playlist;
58 // our list of rules for display purposes
59 CFileItemList* m_ruleLabels;
61 std::string m_path;
62 bool m_cancelled;
63 std::string m_mode; // mode we're in (partymode etc.)