// Copyright 2017 Dolphin Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include #include #include #include "DolphinQt/Config/ConfigControls/ConfigControl.h" #include "DolphinQt/Config/ToolTipControls/ToolTipComboBox.h" namespace Config { template class Info; } class ConfigChoice final : public ConfigControl { Q_OBJECT public: ConfigChoice(const QStringList& options, const Config::Info& setting); protected: void OnConfigChanged() override; private: void Update(int choice); Config::Info m_setting; }; class ConfigStringChoice final : public ConfigControl { Q_OBJECT public: ConfigStringChoice(const std::vector& options, const Config::Info& setting); ConfigStringChoice(const std::vector>& options, const Config::Info& setting); protected: void OnConfigChanged() override; private: void Update(int index); void Load(); const Config::Info& m_setting; bool m_text_is_data = false; };