[Windows] Fix driver version detection of AMD RDNA+ GPU on Windows 10
[xbmc.git] / xbmc / settings / dialogs / GUIDialogLibExportSettings.h
blob4c861bad72bdc80abacdb6198aa98caa061464ee
1 /*
2 * Copyright (C) 2017-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 "settings/LibExportSettings.h"
12 #include "settings/dialogs/GUIDialogSettingsManualBase.h"
14 #include <map>
16 class CGUIDialogLibExportSettings : public CGUIDialogSettingsManualBase
18 public:
19 CGUIDialogLibExportSettings();
21 // specialization of CGUIWindow
22 bool HasListItems() const override { return true; }
23 static bool Show(CLibExportSettings& settings);
25 protected:
26 // specializations of CGUIWindow
27 void OnInitWindow() override;
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;
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;
39 // specialization of CGUIDialogSettingsManualBase
40 void InitializeSettings() override;
42 void OnOK();
43 void UpdateButtons();
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);
50 using CGUIDialogSettingsManualBase::SetFocus;
51 void SetFocus(const std::string &settingid);
52 static int GetExportItemsFromSetting(const SettingConstPtr& setting);
53 void UpdateToggles();
54 void UpdateDescription();
56 CLibExportSettings m_settings;
57 bool m_destinationChecked = false;
58 std::shared_ptr<CSettingBool> m_settingNFO;
59 std::shared_ptr<CSettingBool> m_settingArt;