[videodb] remove unused seasons table from episode_view
[xbmc.git] / xbmc / favourites / ContextMenus.h
blob52f505f90dc73624e88b16f7e096b6cfe28d17c5
1 /*
2 * Copyright (C) 2016-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 "ContextMenuItem.h"
13 #include <memory>
15 class CFileItemList;
17 namespace CONTEXTMENU
20 class CFavouriteContextMenuAction : public CStaticContextMenuAction
22 public:
23 explicit CFavouriteContextMenuAction(uint32_t label) : CStaticContextMenuAction(label) {}
24 bool IsVisible(const CFileItem& item) const override;
25 bool Execute(const std::shared_ptr<CFileItem>& item) const override;
27 protected:
28 ~CFavouriteContextMenuAction() override = default;
29 virtual bool DoExecute(CFileItemList& items, const std::shared_ptr<CFileItem>& item) const = 0;
32 class CMoveUpFavourite : public CFavouriteContextMenuAction
34 public:
35 CMoveUpFavourite() : CFavouriteContextMenuAction(13332) {} // Move up
36 bool IsVisible(const CFileItem& item) const override;
38 protected:
39 bool DoExecute(CFileItemList& items, const std::shared_ptr<CFileItem>& item) const override;
42 class CMoveDownFavourite : public CFavouriteContextMenuAction
44 public:
45 CMoveDownFavourite() : CFavouriteContextMenuAction(13333) {} // Move down
46 bool IsVisible(const CFileItem& item) const override;
48 protected:
49 bool DoExecute(CFileItemList& items, const std::shared_ptr<CFileItem>& item) const override;
52 class CRemoveFavourite : public CFavouriteContextMenuAction
54 public:
55 CRemoveFavourite() : CFavouriteContextMenuAction(15015) {} // Remove
56 protected:
57 bool DoExecute(CFileItemList& items, const std::shared_ptr<CFileItem>& item) const override;
60 class CRenameFavourite : public CFavouriteContextMenuAction
62 public:
63 CRenameFavourite() : CFavouriteContextMenuAction(118) {} // Rename
64 protected:
65 bool DoExecute(CFileItemList& items, const std::shared_ptr<CFileItem>& item) const override;
68 class CChooseThumbnailForFavourite : public CFavouriteContextMenuAction
70 public:
71 CChooseThumbnailForFavourite() : CFavouriteContextMenuAction(20019) {} // Choose thumbnail
72 protected:
73 bool DoExecute(CFileItemList& items, const std::shared_ptr<CFileItem>& item) const override;
76 class CFavouritesTargetBrowse : public CStaticContextMenuAction
78 public:
79 explicit CFavouritesTargetBrowse() : CStaticContextMenuAction(37015) {} // Browse into
80 bool IsVisible(const CFileItem& item) const override;
81 bool Execute(const std::shared_ptr<CFileItem>& item) const override;
84 class CFavouritesTargetResume : public IContextMenuItem
86 public:
87 std::string GetLabel(const CFileItem& item) const override;
88 bool IsVisible(const CFileItem& item) const override;
89 bool Execute(const std::shared_ptr<CFileItem>& item) const override;
92 class CFavouritesTargetPlay : public IContextMenuItem
94 public:
95 std::string GetLabel(const CFileItem& item) const override;
96 bool IsVisible(const CFileItem& item) const override;
97 bool Execute(const std::shared_ptr<CFileItem>& item) const override;
100 class CFavouritesTargetInfo : public CStaticContextMenuAction
102 public:
103 explicit CFavouritesTargetInfo() : CStaticContextMenuAction(19033) {} // Information
104 bool IsVisible(const CFileItem& item) const override;
105 bool Execute(const std::shared_ptr<CFileItem>& item) const override;
108 class CFavouritesTargetContextMenu : public CStaticContextMenuAction
110 public:
111 explicit CFavouritesTargetContextMenu() : CStaticContextMenuAction(22082) {} // More...
112 bool IsVisible(const CFileItem& item) const override;
113 bool Execute(const std::shared_ptr<CFileItem>& item) const override;
116 } // namespace CONTEXTMENU