Merge pull request #26166 from ksooo/improve-plugin-ctx-menus
[xbmc.git] / xbmc / pictures / GUIWindowPictures.h
blob115e5620e8778f62fcaa009e9c27ab7eca354ac7
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 "PictureThumbLoader.h"
12 #include "windows/GUIMediaWindow.h"
14 class CGUIDialogProgress;
16 class CGUIWindowPictures : public CGUIMediaWindow, public IBackgroundLoaderObserver
18 public:
19 CGUIWindowPictures(void);
20 ~CGUIWindowPictures(void) override;
21 bool OnMessage(CGUIMessage& message) override;
22 void OnInitWindow() override;
24 protected:
25 bool GetDirectory(const std::string &strDirectory, CFileItemList& items) override;
26 void OnItemInfo(int item);
27 bool OnClick(int iItem, const std::string &player = "") override;
28 void UpdateButtons() override;
29 void OnPrepareFileItems(CFileItemList& items) override;
30 bool Update(const std::string &strDirectory, bool updateFilterPath = true) override;
31 void GetContextButtons(int itemNumber, CContextButtons &buttons) override;
32 bool OnContextButton(int itemNumber, CONTEXT_BUTTON button) override;
33 bool OnAddMediaSource() override;
34 std::string GetStartFolder(const std::string &dir) override;
36 void OnRegenerateThumbs();
37 bool OnPlayMedia(int iItem, const std::string &player = "") override;
38 bool ShowPicture(int iItem, bool startSlideShow);
39 void OnShowPictureRecursive(const std::string& strPath);
40 void OnSlideShow(const std::string& strPicture);
41 void OnSlideShow();
42 void OnSlideShowRecursive(const std::string& strPicture);
43 void OnSlideShowRecursive();
44 void OnItemLoaded(CFileItem* pItem) override;
45 void LoadPlayList(const std::string& strPlayList) override;
47 CGUIDialogProgress* m_dlgProgress;
49 CPictureThumbLoader m_thumbLoader;
50 bool m_slideShowStarted;