[Windows] Fix driver version detection of AMD RDNA+ GPU on Windows 10
[xbmc.git] / xbmc / addons / gui / GUIDialogAddonSettings.h
bloba3cf664c23948612e91d809545d3f157332c2d86
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 "addons/IAddon.h"
12 #include "settings/dialogs/GUIDialogSettingsManagerBase.h"
14 class CGUIDialogAddonSettings : public CGUIDialogSettingsManagerBase
16 public:
17 CGUIDialogAddonSettings();
18 ~CGUIDialogAddonSettings() override = default;
20 // specializations of CGUIControl
21 bool OnMessage(CGUIMessage& message) override;
22 bool OnAction(const CAction& action) override;
24 static bool ShowForAddon(const ADDON::AddonPtr& addon, bool saveToDisk = true);
25 static void SaveAndClose();
27 std::string GetCurrentAddonID() const;
29 protected:
30 // implementation of CGUIDialogSettingsBase
31 void SetupView() override;
32 std::string GetLocalizedString(uint32_t labelId) const override;
33 std::string GetSettingsLabel(const std::shared_ptr<ISetting>& setting) override;
34 int GetSettingLevel() const override;
35 std::shared_ptr<CSettingSection> GetSection() override;
37 // implementation of CGUIDialogSettingsManagerBase
38 bool AllowResettingSettings() const override { return false; }
39 bool Save() override { return true; }
40 CSettingsManager* GetSettingsManager() const override;
42 // implementation of ISettingCallback
43 void OnSettingAction(const std::shared_ptr<const CSetting>& setting) override;
45 private:
46 static bool ShowForSingleInstance(const ADDON::AddonPtr& addon,
47 bool saveToDisk,
48 ADDON::AddonInstanceId instanceId = ADDON::ADDON_SETTINGS_ID);
49 static bool ShowForMultipleInstances(const ADDON::AddonPtr& addon, bool saveToDisk);
51 ADDON::AddonPtr m_addon;
52 ADDON::AddonInstanceId m_instanceId{ADDON::ADDON_SETTINGS_ID};
53 bool m_saveToDisk = false;