diff options
Diffstat (limited to 'src/citra_qt/config.cpp')
| -rw-r--r-- | src/citra_qt/config.cpp | 60 |
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 | ||
| 12 | Config::Config() { | 10 | Config::Config() { |
| @@ -20,24 +18,23 @@ Config::Config() { | |||
| 20 | 18 | ||
| 21 | const std::array<QVariant, Settings::NativeInput::NUM_INPUTS> Config::defaults = { | 19 | const 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 | ||
| 34 | void Config::ReadValues() { | 29 | void 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"); |