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.
11 #include "ContextMenuItem.h"
12 #include "VideoLibraryQueue.h"
13 #include "media/MediaType.h"
20 class CVideoInfo
: public CStaticContextMenuAction
23 explicit CVideoInfo(MediaType mediaType
);
24 bool IsVisible(const CFileItem
& item
) const override
;
25 bool Execute(const std::shared_ptr
<CFileItem
>& item
) const override
;
28 const MediaType m_mediaType
;
31 struct CTVShowInfo
: CVideoInfo
33 CTVShowInfo() : CVideoInfo(MediaTypeTvShow
) {}
36 struct CSeasonInfo
: CVideoInfo
38 CSeasonInfo() : CVideoInfo(MediaTypeSeason
) {}
41 struct CEpisodeInfo
: CVideoInfo
43 CEpisodeInfo() : CVideoInfo(MediaTypeEpisode
) {}
46 struct CMusicVideoInfo
: CVideoInfo
48 CMusicVideoInfo() : CVideoInfo(MediaTypeMusicVideo
) {}
51 struct CMovieInfo
: CVideoInfo
53 CMovieInfo() : CVideoInfo(MediaTypeMovie
) {}
56 struct CMovieSetInfo
: CVideoInfo
58 CMovieSetInfo() : CVideoInfo(MediaTypeVideoCollection
) {}
61 struct CVideoRemoveResumePoint
: CStaticContextMenuAction
63 CVideoRemoveResumePoint() : CStaticContextMenuAction(38209) {}
64 bool IsVisible(const CFileItem
& item
) const override
;
65 bool Execute(const std::shared_ptr
<CFileItem
>& item
) const override
;
68 struct CVideoMarkWatched
: CStaticContextMenuAction
70 CVideoMarkWatched() : CStaticContextMenuAction(16103) {}
71 bool IsVisible(const CFileItem
& item
) const override
;
72 bool Execute(const std::shared_ptr
<CFileItem
>& item
) const override
;
75 struct CVideoMarkUnWatched
: CStaticContextMenuAction
77 CVideoMarkUnWatched() : CStaticContextMenuAction(16104) {}
78 bool IsVisible(const CFileItem
& item
) const override
;
79 bool Execute(const std::shared_ptr
<CFileItem
>& item
) const override
;
82 struct CVideoBrowse
: CStaticContextMenuAction
84 CVideoBrowse() : CStaticContextMenuAction(37015) {} // Browse into
85 bool IsVisible(const CFileItem
& item
) const override
;
86 bool Execute(const std::shared_ptr
<CFileItem
>& item
) const override
;
89 struct CVideoChooseVersion
: CStaticContextMenuAction
91 CVideoChooseVersion() : CStaticContextMenuAction(40221) {} // Choose version
92 bool IsVisible(const CFileItem
& item
) const override
;
93 bool Execute(const std::shared_ptr
<CFileItem
>& item
) const override
;
96 struct CVideoPlayVersionUsing
: CStaticContextMenuAction
98 CVideoPlayVersionUsing() : CStaticContextMenuAction(40209) {} // Play version using...
99 bool IsVisible(const CFileItem
& item
) const override
;
100 bool Execute(const std::shared_ptr
<CFileItem
>& _item
) const override
;
103 struct CVideoResume
: IContextMenuItem
105 std::string
GetLabel(const CFileItem
& item
) const override
;
106 bool IsVisible(const CFileItem
& item
) const override
;
107 bool Execute(const std::shared_ptr
<CFileItem
>& _item
) const override
;
110 struct CVideoPlay
: IContextMenuItem
112 std::string
GetLabel(const CFileItem
& item
) const override
;
113 bool IsVisible(const CFileItem
& item
) const override
;
114 bool Execute(const std::shared_ptr
<CFileItem
>& _item
) const override
;
117 struct CVideoPlayUsing
: CStaticContextMenuAction
119 CVideoPlayUsing() : CStaticContextMenuAction(15213) {} // Play using...
120 bool IsVisible(const CFileItem
& item
) const override
;
121 bool Execute(const std::shared_ptr
<CFileItem
>& _item
) const override
;
124 struct CVideoQueue
: CStaticContextMenuAction
126 CVideoQueue() : CStaticContextMenuAction(13347) {} // Queue item
127 bool IsVisible(const CFileItem
& item
) const override
;
128 bool Execute(const std::shared_ptr
<CFileItem
>& item
) const override
;
131 struct CVideoPlayNext
: CStaticContextMenuAction
133 CVideoPlayNext() : CStaticContextMenuAction(10008) {} // Play next
134 bool IsVisible(const CFileItem
& item
) const override
;
135 bool Execute(const std::shared_ptr
<CFileItem
>& item
) const override
;
138 struct CVideoPlayAndQueue
: IContextMenuItem
140 std::string
GetLabel(const CFileItem
& item
) const override
;
141 bool IsVisible(const CFileItem
& item
) const override
;
142 bool Execute(const std::shared_ptr
<CFileItem
>& item
) const override
;