diff options
Diffstat (limited to 'Source/Core/DolphinQt/Config/ConfigControls/ConfigChoice.cpp')
| -rw-r--r-- | Source/Core/DolphinQt/Config/ConfigControls/ConfigChoice.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/Source/Core/DolphinQt/Config/ConfigControls/ConfigChoice.cpp b/Source/Core/DolphinQt/Config/ConfigControls/ConfigChoice.cpp new file mode 100644 index 0000000000..42b255b09a --- /dev/null +++ b/Source/Core/DolphinQt/Config/ConfigControls/ConfigChoice.cpp @@ -0,0 +1,32 @@ +// Copyright 2017 Dolphin Emulator Project +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "DolphinQt/Config/ConfigControls/ConfigChoice.h" + +#include <QSignalBlocker> + +#include "Common/Config/Config.h" + +#include "DolphinQt/Settings.h" + +ConfigChoice::ConfigChoice(const QStringList& options, const Config::Info<int>& setting) + : m_setting(setting) +{ + addItems(options); + connect(this, qOverload<int>(&QComboBox::currentIndexChanged), this, &ConfigChoice::Update); + setCurrentIndex(Config::Get(m_setting)); + + connect(&Settings::Instance(), &Settings::ConfigChanged, this, [this] { + QFont bf = font(); + bf.setBold(Config::GetActiveLayerForConfig(m_setting) != Config::LayerType::Base); + setFont(bf); + + const QSignalBlocker blocker(this); + setCurrentIndex(Config::Get(m_setting)); + }); +} + +void ConfigChoice::Update(int choice) +{ + Config::SetBaseOrCurrent(m_setting, choice); +} |
