kodi
GUIDialogLibExportSettings.h
1 /*
2  * Copyright (C) 2017-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 "settings/LibExportSettings.h"
12 #include "settings/dialogs/GUIDialogSettingsManualBase.h"
13 
14 #include <map>
15 
17 {
18 public:
20 
21  // specialization of CGUIWindow
22  bool HasListItems() const override { return true; }
23  static bool Show(CLibExportSettings& settings);
24 
25 protected:
26  // specializations of CGUIWindow
27  void OnInitWindow() override;
28 
29  // implementations of ISettingCallback
30  void OnSettingChanged(const std::shared_ptr<const CSetting>& setting) override;
31  void OnSettingAction(const std::shared_ptr<const CSetting>& setting) override;
32 
33  // specialization of CGUIDialogSettingsBase
34  bool OnMessage(CGUIMessage& message) override;
35  bool AllowResettingSettings() const override { return false; }
36  bool Save() override;
37  void SetupView() override;
38 
39  // specialization of CGUIDialogSettingsManualBase
40  void InitializeSettings() override;
41 
42  void OnOK();
43  void UpdateButtons();
44 
45 private:
46  void SetLabel2(const std::string &settingid, const std::string &label);
47  void SetLabel(const std::string &settingid, const std::string &label);
48  void ToggleState(const std::string &settingid, bool enabled);
49 
50  using CGUIDialogSettingsManualBase::SetFocus;
51  void SetFocus(const std::string &settingid);
52  static int GetExportItemsFromSetting(const SettingConstPtr& setting);
53  void UpdateToggles();
54  void UpdateDescription();
55 
56  CLibExportSettings m_settings;
57  bool m_destinationChecked = false;
58  std::shared_ptr<CSettingBool> m_settingNFO;
59  std::shared_ptr<CSettingBool> m_settingArt;
60 };
Definition: GUIDialogLibExportSettings.h:16
void OnSettingChanged(const std::shared_ptr< const CSetting > &setting) override
The value of the given setting has changed.
Definition: GUIDialogLibExportSettings.cpp:82
Definition: LibExportSettings.h:38
Definition: settings.py:1
Definition: GUIMessage.h:365
void OnInitWindow() override
Called on window open.
Definition: GUIDialogLibExportSettings.cpp:77
void OnSettingAction(const std::shared_ptr< const CSetting > &setting) override
The given setting has been activated.
Definition: GUIDialogLibExportSettings.cpp:139
Definition: GUIDialogSettingsManualBase.h:37