summaryrefslogtreecommitdiff
path: root/src/citra_qt/config.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/citra_qt/config.cpp')
-rw-r--r--src/citra_qt/config.cpp60
1 files changed, 32 insertions, 28 deletions
diff --git a/src/citra_qt/config.cpp b/src/citra_qt/config.cpp
index cf1c09930..0b46ca6bb 100644
--- a/src/citra_qt/config.cpp
+++ b/src/citra_qt/config.cpp
@@ -3,10 +3,8 @@
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include <QSettings> 5#include <QSettings>
6
7#include "citra_qt/config.h" 6#include "citra_qt/config.h"
8#include "citra_qt/ui_settings.h" 7#include "citra_qt/ui_settings.h"
9
10#include "common/file_util.h" 8#include "common/file_util.h"
11 9
12Config::Config() { 10Config::Config() {
@@ -20,24 +18,23 @@ Config::Config() {
20 18
21const std::array<QVariant, Settings::NativeInput::NUM_INPUTS> Config::defaults = { 19const std::array<QVariant, Settings::NativeInput::NUM_INPUTS> Config::defaults = {
22 // directly mapped keys 20 // directly mapped keys
23 Qt::Key_A, Qt::Key_S, Qt::Key_Z, Qt::Key_X, 21 Qt::Key_A, Qt::Key_S, Qt::Key_Z, Qt::Key_X, Qt::Key_Q, Qt::Key_W, Qt::Key_1, Qt::Key_2,
24 Qt::Key_Q, Qt::Key_W, Qt::Key_1, Qt::Key_2, 22 Qt::Key_M, Qt::Key_N, Qt::Key_B, Qt::Key_T, Qt::Key_G, Qt::Key_F, Qt::Key_H, Qt::Key_I,
25 Qt::Key_M, Qt::Key_N, Qt::Key_B, 23 Qt::Key_K, Qt::Key_J, Qt::Key_L,
26 Qt::Key_T, Qt::Key_G, Qt::Key_F, Qt::Key_H,
27 Qt::Key_I, Qt::Key_K, Qt::Key_J, Qt::Key_L,
28 24
29 // indirectly mapped keys 25 // indirectly mapped keys
30 Qt::Key_Up, Qt::Key_Down, Qt::Key_Left, Qt::Key_Right, 26 Qt::Key_Up, Qt::Key_Down, Qt::Key_Left, Qt::Key_Right, Qt::Key_D,
31 Qt::Key_D,
32}; 27};
33 28
34void Config::ReadValues() { 29void Config::ReadValues() {
35 qt_config->beginGroup("Controls"); 30 qt_config->beginGroup("Controls");
36 for (int i = 0; i < Settings::NativeInput::NUM_INPUTS; ++i) { 31 for (int i = 0; i < Settings::NativeInput::NUM_INPUTS; ++i) {
37 Settings::values.input_mappings[Settings::NativeInput::All[i]] = 32 Settings::values.input_mappings[Settings::NativeInput::All[i]] =
38 qt_config->value(QString::fromStdString(Settings::NativeInput::Mapping[i]), defaults[i]).toInt(); 33 qt_config->value(QString::fromStdString(Settings::NativeInput::Mapping[i]), defaults[i])
34 .toInt();
39 } 35 }
40 Settings::values.pad_circle_modifier_scale = qt_config->value("pad_circle_modifier_scale", 0.5).toFloat(); 36 Settings::values.pad_circle_modifier_scale =
37 qt_config->value("pad_circle_modifier_scale", 0.5).toFloat();
41 qt_config->endGroup(); 38 qt_config->endGroup();
42 39
43 qt_config->beginGroup("Core"); 40 qt_config->beginGroup("Core");
@@ -48,17 +45,19 @@ void Config::ReadValues() {
48 qt_config->beginGroup("Renderer"); 45 qt_config->beginGroup("Renderer");
49 Settings::values.use_hw_renderer = qt_config->value("use_hw_renderer", true).toBool(); 46 Settings::values.use_hw_renderer = qt_config->value("use_hw_renderer", true).toBool();
50 Settings::values.use_shader_jit = qt_config->value("use_shader_jit", true).toBool(); 47 Settings::values.use_shader_jit = qt_config->value("use_shader_jit", true).toBool();
51 Settings::values.use_scaled_resolution = qt_config->value("use_scaled_resolution", false).toBool(); 48 Settings::values.use_scaled_resolution =
49 qt_config->value("use_scaled_resolution", false).toBool();
52 Settings::values.use_vsync = qt_config->value("use_vsync", false).toBool(); 50 Settings::values.use_vsync = qt_config->value("use_vsync", false).toBool();
53 51
54 Settings::values.bg_red = qt_config->value("bg_red", 1.0).toFloat(); 52 Settings::values.bg_red = qt_config->value("bg_red", 1.0).toFloat();
55 Settings::values.bg_green = qt_config->value("bg_green", 1.0).toFloat(); 53 Settings::values.bg_green = qt_config->value("bg_green", 1.0).toFloat();
56 Settings::values.bg_blue = qt_config->value("bg_blue", 1.0).toFloat(); 54 Settings::values.bg_blue = qt_config->value("bg_blue", 1.0).toFloat();
57 qt_config->endGroup(); 55 qt_config->endGroup();
58 56
59 qt_config->beginGroup("Audio"); 57 qt_config->beginGroup("Audio");
60 Settings::values.sink_id = qt_config->value("output_engine", "auto").toString().toStdString(); 58 Settings::values.sink_id = qt_config->value("output_engine", "auto").toString().toStdString();
61 Settings::values.enable_audio_stretching = qt_config->value("enable_audio_stretching", true).toBool(); 59 Settings::values.enable_audio_stretching =
60 qt_config->value("enable_audio_stretching", true).toBool();
62 qt_config->endGroup(); 61 qt_config->endGroup();
63 62
64 qt_config->beginGroup("Data Storage"); 63 qt_config->beginGroup("Data Storage");
@@ -84,10 +83,14 @@ void Config::ReadValues() {
84 qt_config->beginGroup("UILayout"); 83 qt_config->beginGroup("UILayout");
85 UISettings::values.geometry = qt_config->value("geometry").toByteArray(); 84 UISettings::values.geometry = qt_config->value("geometry").toByteArray();
86 UISettings::values.state = qt_config->value("state").toByteArray(); 85 UISettings::values.state = qt_config->value("state").toByteArray();
87 UISettings::values.renderwindow_geometry = qt_config->value("geometryRenderWindow").toByteArray(); 86 UISettings::values.renderwindow_geometry =
88 UISettings::values.gamelist_header_state = qt_config->value("gameListHeaderState").toByteArray(); 87 qt_config->value("geometryRenderWindow").toByteArray();
89 UISettings::values.microprofile_geometry = qt_config->value("microProfileDialogGeometry").toByteArray(); 88 UISettings::values.gamelist_header_state =
90 UISettings::values.microprofile_visible = qt_config->value("microProfileDialogVisible", false).toBool(); 89 qt_config->value("gameListHeaderState").toByteArray();
90 UISettings::values.microprofile_geometry =
91 qt_config->value("microProfileDialogGeometry").toByteArray();
92 UISettings::values.microprofile_visible =
93 qt_config->value("microProfileDialogVisible", false).toBool();
91 qt_config->endGroup(); 94 qt_config->endGroup();
92 95
93 qt_config->beginGroup("Paths"); 96 qt_config->beginGroup("Paths");
@@ -106,10 +109,10 @@ void Config::ReadValues() {
106 QStringList hotkeys = qt_config->childGroups(); 109 QStringList hotkeys = qt_config->childGroups();
107 for (auto hotkey : hotkeys) { 110 for (auto hotkey : hotkeys) {
108 qt_config->beginGroup(hotkey); 111 qt_config->beginGroup(hotkey);
109 UISettings::values.shortcuts.emplace_back( 112 UISettings::values.shortcuts.emplace_back(UISettings::Shortcut(
110 UISettings::Shortcut(group + "/" + hotkey, 113 group + "/" + hotkey,
111 UISettings::ContextualShortcut(qt_config->value("KeySeq").toString(), 114 UISettings::ContextualShortcut(qt_config->value("KeySeq").toString(),
112 qt_config->value("Context").toInt()))); 115 qt_config->value("Context").toInt())));
113 qt_config->endGroup(); 116 qt_config->endGroup();
114 } 117 }
115 118
@@ -119,7 +122,7 @@ void Config::ReadValues() {
119 122
120 UISettings::values.single_window_mode = qt_config->value("singleWindowMode", true).toBool(); 123 UISettings::values.single_window_mode = qt_config->value("singleWindowMode", true).toBool();
121 UISettings::values.display_titlebar = qt_config->value("displayTitleBars", true).toBool(); 124 UISettings::values.display_titlebar = qt_config->value("displayTitleBars", true).toBool();
122 UISettings::values.confirm_before_closing = qt_config->value("confirmClose",true).toBool(); 125 UISettings::values.confirm_before_closing = qt_config->value("confirmClose", true).toBool();
123 UISettings::values.first_start = qt_config->value("firstStart", true).toBool(); 126 UISettings::values.first_start = qt_config->value("firstStart", true).toBool();
124 127
125 qt_config->endGroup(); 128 qt_config->endGroup();
@@ -129,9 +132,10 @@ void Config::SaveValues() {
129 qt_config->beginGroup("Controls"); 132 qt_config->beginGroup("Controls");
130 for (int i = 0; i < Settings::NativeInput::NUM_INPUTS; ++i) { 133 for (int i = 0; i < Settings::NativeInput::NUM_INPUTS; ++i) {
131 qt_config->setValue(QString::fromStdString(Settings::NativeInput::Mapping[i]), 134 qt_config->setValue(QString::fromStdString(Settings::NativeInput::Mapping[i]),
132 Settings::values.input_mappings[Settings::NativeInput::All[i]]); 135 Settings::values.input_mappings[Settings::NativeInput::All[i]]);
133 } 136 }
134 qt_config->setValue("pad_circle_modifier_scale", (double)Settings::values.pad_circle_modifier_scale); 137 qt_config->setValue("pad_circle_modifier_scale",
138 (double)Settings::values.pad_circle_modifier_scale);
135 qt_config->endGroup(); 139 qt_config->endGroup();
136 140
137 qt_config->beginGroup("Core"); 141 qt_config->beginGroup("Core");
@@ -146,9 +150,9 @@ void Config::SaveValues() {
146 qt_config->setValue("use_vsync", Settings::values.use_vsync); 150 qt_config->setValue("use_vsync", Settings::values.use_vsync);
147 151
148 // Cast to double because Qt's written float values are not human-readable 152 // Cast to double because Qt's written float values are not human-readable
149 qt_config->setValue("bg_red", (double)Settings::values.bg_red); 153 qt_config->setValue("bg_red", (double)Settings::values.bg_red);
150 qt_config->setValue("bg_green", (double)Settings::values.bg_green); 154 qt_config->setValue("bg_green", (double)Settings::values.bg_green);
151 qt_config->setValue("bg_blue", (double)Settings::values.bg_blue); 155 qt_config->setValue("bg_blue", (double)Settings::values.bg_blue);
152 qt_config->endGroup(); 156 qt_config->endGroup();
153 157
154 qt_config->beginGroup("Audio"); 158 qt_config->beginGroup("Audio");