summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt/Config/Graphics/GraphicsBool.cpp
diff options
context:
space:
mode:
authorspycrab <spycrab@users.noreply.github.com>2018-07-07 00:40:15 +0200
committerspycrab <spycrab@users.noreply.github.com>2018-07-07 00:48:38 +0200
commit13ba24c5a6795532c8893eccf2a21ae95682e1b7 (patch)
tree747e394036c189c46add1b3e1451e50f48230e11 /Source/Core/DolphinQt/Config/Graphics/GraphicsBool.cpp
parent059880bb1640d5a3b0e1fbbf66e1a356df4b9f41 (diff)
Move DolphinQt2 to DolphinQt
Diffstat (limited to 'Source/Core/DolphinQt/Config/Graphics/GraphicsBool.cpp')
-rw-r--r--Source/Core/DolphinQt/Config/Graphics/GraphicsBool.cpp54
1 files changed, 54 insertions, 0 deletions
diff --git a/Source/Core/DolphinQt/Config/Graphics/GraphicsBool.cpp b/Source/Core/DolphinQt/Config/Graphics/GraphicsBool.cpp
new file mode 100644
index 0000000000..192a2120c3
--- /dev/null
+++ b/Source/Core/DolphinQt/Config/Graphics/GraphicsBool.cpp
@@ -0,0 +1,54 @@
+// Copyright 2017 Dolphin Emulator Project
+// Licensed under GPLv2+
+// Refer to the license.txt file included.
+
+#include "DolphinQt/Config/Graphics/GraphicsBool.h"
+
+#include "Common/Config/Config.h"
+
+#include "DolphinQt/Settings.h"
+
+#include <QFont>
+
+GraphicsBool::GraphicsBool(const QString& label, const Config::ConfigInfo<bool>& setting,
+ bool reverse)
+ : QCheckBox(label), m_setting(setting), m_reverse(reverse)
+{
+ connect(this, &QCheckBox::toggled, this, &GraphicsBool::Update);
+ setChecked(Config::Get(m_setting) ^ reverse);
+
+ connect(&Settings::Instance(), &Settings::ConfigChanged, [this] {
+ QFont bf = font();
+ bf.setBold(Config::GetActiveLayerForConfig(m_setting) != Config::LayerType::Base);
+ setFont(bf);
+
+ bool old = blockSignals(true);
+ setChecked(Config::Get(m_setting) ^ m_reverse);
+ blockSignals(old);
+ });
+}
+
+void GraphicsBool::Update()
+{
+ Config::SetBaseOrCurrent(m_setting, static_cast<bool>(isChecked() ^ m_reverse));
+}
+
+GraphicsBoolEx::GraphicsBoolEx(const QString& label, const Config::ConfigInfo<bool>& setting,
+ bool reverse)
+ : QRadioButton(label), m_setting(setting), m_reverse(reverse)
+{
+ connect(this, &QCheckBox::toggled, this, &GraphicsBoolEx::Update);
+ setChecked(Config::Get(m_setting) ^ reverse);
+
+ if (Config::GetActiveLayerForConfig(m_setting) != Config::LayerType::Base)
+ {
+ QFont bf = font();
+ bf.setBold(true);
+ setFont(bf);
+ }
+}
+
+void GraphicsBoolEx::Update()
+{
+ Config::SetBaseOrCurrent(m_setting, static_cast<bool>(isChecked() ^ m_reverse));
+}