diff options
| -rw-r--r-- | src/common/common_paths.h | 6 | ||||
| -rw-r--r-- | src/core/settings.h | 44 | ||||
| -rw-r--r-- | src/core/telemetry_session.cpp | 9 | ||||
| -rw-r--r-- | src/yuzu/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | src/yuzu/bootmanager.cpp | 4 | ||||
| -rw-r--r-- | src/yuzu/configuration/config.cpp | 86 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure.ui | 22 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_general.cpp | 12 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_general.ui | 109 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_graphics.cpp | 16 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_graphics.ui | 177 | ||||
| -rw-r--r-- | src/yuzu/game_list.cpp | 3 | ||||
| -rw-r--r-- | src/yuzu/main.cpp | 52 | ||||
| -rw-r--r-- | src/yuzu/main.h | 6 | ||||
| -rw-r--r-- | src/yuzu/main.ui | 2 | ||||
| -rw-r--r-- | src/yuzu/ui_settings.h | 4 | ||||
| -rw-r--r-- | src/yuzu/yuzu.rc (renamed from src/yuzu/citra-qt.rc) | 0 |
17 files changed, 69 insertions, 485 deletions
diff --git a/src/common/common_paths.h b/src/common/common_paths.h index d5b510cdb..0a6132dab 100644 --- a/src/common/common_paths.h +++ b/src/common/common_paths.h | |||
| @@ -18,11 +18,7 @@ | |||
| 18 | #ifdef USER_DIR | 18 | #ifdef USER_DIR |
| 19 | #define EMU_DATA_DIR USER_DIR | 19 | #define EMU_DATA_DIR USER_DIR |
| 20 | #else | 20 | #else |
| 21 | #ifdef _WIN32 | 21 | #define EMU_DATA_DIR "yuzu" |
| 22 | #define EMU_DATA_DIR "Citra" | ||
| 23 | #else | ||
| 24 | #define EMU_DATA_DIR "citra-emu" | ||
| 25 | #endif | ||
| 26 | #endif | 22 | #endif |
| 27 | 23 | ||
| 28 | // Dirs in both User and Sys | 24 | // Dirs in both User and Sys |
diff --git a/src/core/settings.h b/src/core/settings.h index ebf072cff..f2c88e5d4 100644 --- a/src/core/settings.h +++ b/src/core/settings.h | |||
| @@ -10,13 +10,6 @@ | |||
| 10 | 10 | ||
| 11 | namespace Settings { | 11 | namespace Settings { |
| 12 | 12 | ||
| 13 | enum class LayoutOption { | ||
| 14 | Default, | ||
| 15 | SingleScreen, | ||
| 16 | LargeScreen, | ||
| 17 | SideScreen, | ||
| 18 | }; | ||
| 19 | |||
| 20 | namespace NativeButton { | 13 | namespace NativeButton { |
| 21 | enum Values { | 14 | enum Values { |
| 22 | A, | 15 | A, |
| @@ -78,9 +71,6 @@ enum class CpuCore { | |||
| 78 | }; | 71 | }; |
| 79 | 72 | ||
| 80 | struct Values { | 73 | struct Values { |
| 81 | // CheckNew3DS | ||
| 82 | bool is_new_3ds; | ||
| 83 | |||
| 84 | // Controls | 74 | // Controls |
| 85 | std::array<std::string, NativeButton::NumButtons> buttons; | 75 | std::array<std::string, NativeButton::NumButtons> buttons; |
| 86 | std::array<std::string, NativeAnalog::NumAnalogs> analogs; | 76 | std::array<std::string, NativeAnalog::NumAnalogs> analogs; |
| @@ -93,54 +83,20 @@ struct Values { | |||
| 93 | // Data Storage | 83 | // Data Storage |
| 94 | bool use_virtual_sd; | 84 | bool use_virtual_sd; |
| 95 | 85 | ||
| 96 | // System Region | ||
| 97 | int region_value; | ||
| 98 | |||
| 99 | // Renderer | 86 | // Renderer |
| 100 | bool use_hw_renderer; | ||
| 101 | bool use_shader_jit; | ||
| 102 | float resolution_factor; | 87 | float resolution_factor; |
| 103 | bool use_vsync; | ||
| 104 | bool toggle_framelimit; | 88 | bool toggle_framelimit; |
| 105 | 89 | ||
| 106 | LayoutOption layout_option; | ||
| 107 | bool swap_screen; | ||
| 108 | bool custom_layout; | ||
| 109 | u16 custom_top_left; | ||
| 110 | u16 custom_top_top; | ||
| 111 | u16 custom_top_right; | ||
| 112 | u16 custom_top_bottom; | ||
| 113 | u16 custom_bottom_left; | ||
| 114 | u16 custom_bottom_top; | ||
| 115 | u16 custom_bottom_right; | ||
| 116 | u16 custom_bottom_bottom; | ||
| 117 | |||
| 118 | float bg_red; | 90 | float bg_red; |
| 119 | float bg_green; | 91 | float bg_green; |
| 120 | float bg_blue; | 92 | float bg_blue; |
| 121 | 93 | ||
| 122 | std::string log_filter; | 94 | std::string log_filter; |
| 123 | 95 | ||
| 124 | // Audio | ||
| 125 | std::string sink_id; | ||
| 126 | bool enable_audio_stretching; | ||
| 127 | std::string audio_device_id; | ||
| 128 | |||
| 129 | // Debugging | 96 | // Debugging |
| 130 | bool use_gdbstub; | 97 | bool use_gdbstub; |
| 131 | u16 gdbstub_port; | 98 | u16 gdbstub_port; |
| 132 | |||
| 133 | // WebService | ||
| 134 | bool enable_telemetry; | ||
| 135 | std::string telemetry_endpoint_url; | ||
| 136 | std::string verify_endpoint_url; | ||
| 137 | std::string citra_username; | ||
| 138 | std::string citra_token; | ||
| 139 | } extern values; | 99 | } extern values; |
| 140 | 100 | ||
| 141 | // a special value for Values::region_value indicating that citra will automatically select a region | ||
| 142 | // value to fit the region lockout info of the game | ||
| 143 | static constexpr int REGION_VALUE_AUTO_SELECT = -1; | ||
| 144 | |||
| 145 | void Apply(); | 101 | void Apply(); |
| 146 | } // namespace Settings | 102 | } // namespace Settings |
diff --git a/src/core/telemetry_session.cpp b/src/core/telemetry_session.cpp index 4e402bc58..a613889f0 100644 --- a/src/core/telemetry_session.cpp +++ b/src/core/telemetry_session.cpp | |||
| @@ -146,21 +146,12 @@ TelemetrySession::TelemetrySession() { | |||
| 146 | #endif | 146 | #endif |
| 147 | 147 | ||
| 148 | // Log user configuration information | 148 | // Log user configuration information |
| 149 | AddField(Telemetry::FieldType::UserConfig, "Audio_EnableAudioStretching", | ||
| 150 | Settings::values.enable_audio_stretching); | ||
| 151 | AddField(Telemetry::FieldType::UserConfig, "Core_CpuCore", | 149 | AddField(Telemetry::FieldType::UserConfig, "Core_CpuCore", |
| 152 | static_cast<int>(Settings::values.cpu_core)); | 150 | static_cast<int>(Settings::values.cpu_core)); |
| 153 | AddField(Telemetry::FieldType::UserConfig, "Renderer_ResolutionFactor", | 151 | AddField(Telemetry::FieldType::UserConfig, "Renderer_ResolutionFactor", |
| 154 | Settings::values.resolution_factor); | 152 | Settings::values.resolution_factor); |
| 155 | AddField(Telemetry::FieldType::UserConfig, "Renderer_ToggleFramelimit", | 153 | AddField(Telemetry::FieldType::UserConfig, "Renderer_ToggleFramelimit", |
| 156 | Settings::values.toggle_framelimit); | 154 | Settings::values.toggle_framelimit); |
| 157 | AddField(Telemetry::FieldType::UserConfig, "Renderer_UseHwRenderer", | ||
| 158 | Settings::values.use_hw_renderer); | ||
| 159 | AddField(Telemetry::FieldType::UserConfig, "Renderer_UseShaderJit", | ||
| 160 | Settings::values.use_shader_jit); | ||
| 161 | AddField(Telemetry::FieldType::UserConfig, "Renderer_UseVsync", Settings::values.use_vsync); | ||
| 162 | AddField(Telemetry::FieldType::UserConfig, "System_IsNew3ds", Settings::values.is_new_3ds); | ||
| 163 | AddField(Telemetry::FieldType::UserConfig, "System_RegionValue", Settings::values.region_value); | ||
| 164 | } | 155 | } |
| 165 | 156 | ||
| 166 | TelemetrySession::~TelemetrySession() { | 157 | TelemetrySession::~TelemetrySession() { |
diff --git a/src/yuzu/CMakeLists.txt b/src/yuzu/CMakeLists.txt index 02953f1e6..95d521706 100644 --- a/src/yuzu/CMakeLists.txt +++ b/src/yuzu/CMakeLists.txt | |||
| @@ -21,7 +21,7 @@ set(SRCS | |||
| 21 | hotkeys.cpp | 21 | hotkeys.cpp |
| 22 | main.cpp | 22 | main.cpp |
| 23 | ui_settings.cpp | 23 | ui_settings.cpp |
| 24 | citra-qt.rc | 24 | yuzu.rc |
| 25 | Info.plist | 25 | Info.plist |
| 26 | ) | 26 | ) |
| 27 | 27 | ||
diff --git a/src/yuzu/bootmanager.cpp b/src/yuzu/bootmanager.cpp index 6c17af708..a1e0cf575 100644 --- a/src/yuzu/bootmanager.cpp +++ b/src/yuzu/bootmanager.cpp | |||
| @@ -19,7 +19,6 @@ | |||
| 19 | #include "input_common/motion_emu.h" | 19 | #include "input_common/motion_emu.h" |
| 20 | #include "yuzu/bootmanager.h" | 20 | #include "yuzu/bootmanager.h" |
| 21 | 21 | ||
| 22 | |||
| 23 | EmuThread::EmuThread(GRenderWindow* render_window) | 22 | EmuThread::EmuThread(GRenderWindow* render_window) |
| 24 | : exec_step(false), running(false), stop_run(false), render_window(render_window) {} | 23 | : exec_step(false), running(false), stop_run(false), render_window(render_window) {} |
| 25 | 24 | ||
| @@ -107,7 +106,7 @@ private: | |||
| 107 | GRenderWindow::GRenderWindow(QWidget* parent, EmuThread* emu_thread) | 106 | GRenderWindow::GRenderWindow(QWidget* parent, EmuThread* emu_thread) |
| 108 | : QWidget(parent), child(nullptr), emu_thread(emu_thread) { | 107 | : QWidget(parent), child(nullptr), emu_thread(emu_thread) { |
| 109 | 108 | ||
| 110 | std::string window_title = Common::StringFromFormat("Citra %s| %s-%s", Common::g_build_name, | 109 | std::string window_title = Common::StringFromFormat("yuzu %s| %s-%s", Common::g_build_name, |
| 111 | Common::g_scm_branch, Common::g_scm_desc); | 110 | Common::g_scm_branch, Common::g_scm_desc); |
| 112 | setWindowTitle(QString::fromStdString(window_title)); | 111 | setWindowTitle(QString::fromStdString(window_title)); |
| 113 | 112 | ||
| @@ -261,7 +260,6 @@ void GRenderWindow::InitRenderTarget() { | |||
| 261 | QGLFormat fmt; | 260 | QGLFormat fmt; |
| 262 | fmt.setVersion(3, 3); | 261 | fmt.setVersion(3, 3); |
| 263 | fmt.setProfile(QGLFormat::CoreProfile); | 262 | fmt.setProfile(QGLFormat::CoreProfile); |
| 264 | fmt.setSwapInterval(Settings::values.use_vsync); | ||
| 265 | 263 | ||
| 266 | // Requests a forward-compatible context, which is required to get a 3.2+ context on OS X | 264 | // Requests a forward-compatible context, which is required to get a 3.2+ context on OS X |
| 267 | fmt.setOption(QGL::NoDeprecatedFunctions); | 265 | fmt.setOption(QGL::NoDeprecatedFunctions); |
diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp index 362f4ffe2..047e347d1 100644 --- a/src/yuzu/configuration/config.cpp +++ b/src/yuzu/configuration/config.cpp | |||
| @@ -73,10 +73,7 @@ void Config::ReadValues() { | |||
| 73 | qt_config->endGroup(); | 73 | qt_config->endGroup(); |
| 74 | 74 | ||
| 75 | qt_config->beginGroup("Renderer"); | 75 | qt_config->beginGroup("Renderer"); |
| 76 | Settings::values.use_hw_renderer = qt_config->value("use_hw_renderer", true).toBool(); | ||
| 77 | Settings::values.use_shader_jit = qt_config->value("use_shader_jit", true).toBool(); | ||
| 78 | Settings::values.resolution_factor = qt_config->value("resolution_factor", 1.0).toFloat(); | 76 | Settings::values.resolution_factor = qt_config->value("resolution_factor", 1.0).toFloat(); |
| 79 | Settings::values.use_vsync = qt_config->value("use_vsync", false).toBool(); | ||
| 80 | Settings::values.toggle_framelimit = qt_config->value("toggle_framelimit", true).toBool(); | 77 | Settings::values.toggle_framelimit = qt_config->value("toggle_framelimit", true).toBool(); |
| 81 | 78 | ||
| 82 | Settings::values.bg_red = qt_config->value("bg_red", 0.0).toFloat(); | 79 | Settings::values.bg_red = qt_config->value("bg_red", 0.0).toFloat(); |
| @@ -84,39 +81,10 @@ void Config::ReadValues() { | |||
| 84 | Settings::values.bg_blue = qt_config->value("bg_blue", 0.0).toFloat(); | 81 | Settings::values.bg_blue = qt_config->value("bg_blue", 0.0).toFloat(); |
| 85 | qt_config->endGroup(); | 82 | qt_config->endGroup(); |
| 86 | 83 | ||
| 87 | qt_config->beginGroup("Layout"); | ||
| 88 | Settings::values.layout_option = | ||
| 89 | static_cast<Settings::LayoutOption>(qt_config->value("layout_option").toInt()); | ||
| 90 | Settings::values.swap_screen = qt_config->value("swap_screen", false).toBool(); | ||
| 91 | Settings::values.custom_layout = qt_config->value("custom_layout", false).toBool(); | ||
| 92 | Settings::values.custom_top_left = qt_config->value("custom_top_left", 0).toInt(); | ||
| 93 | Settings::values.custom_top_top = qt_config->value("custom_top_top", 0).toInt(); | ||
| 94 | Settings::values.custom_top_right = qt_config->value("custom_top_right", 400).toInt(); | ||
| 95 | Settings::values.custom_top_bottom = qt_config->value("custom_top_bottom", 240).toInt(); | ||
| 96 | Settings::values.custom_bottom_left = qt_config->value("custom_bottom_left", 40).toInt(); | ||
| 97 | Settings::values.custom_bottom_top = qt_config->value("custom_bottom_top", 240).toInt(); | ||
| 98 | Settings::values.custom_bottom_right = qt_config->value("custom_bottom_right", 360).toInt(); | ||
| 99 | Settings::values.custom_bottom_bottom = qt_config->value("custom_bottom_bottom", 480).toInt(); | ||
| 100 | qt_config->endGroup(); | ||
| 101 | |||
| 102 | qt_config->beginGroup("Audio"); | ||
| 103 | Settings::values.sink_id = qt_config->value("output_engine", "auto").toString().toStdString(); | ||
| 104 | Settings::values.enable_audio_stretching = | ||
| 105 | qt_config->value("enable_audio_stretching", true).toBool(); | ||
| 106 | Settings::values.audio_device_id = | ||
| 107 | qt_config->value("output_device", "auto").toString().toStdString(); | ||
| 108 | qt_config->endGroup(); | ||
| 109 | |||
| 110 | qt_config->beginGroup("Data Storage"); | 84 | qt_config->beginGroup("Data Storage"); |
| 111 | Settings::values.use_virtual_sd = qt_config->value("use_virtual_sd", true).toBool(); | 85 | Settings::values.use_virtual_sd = qt_config->value("use_virtual_sd", true).toBool(); |
| 112 | qt_config->endGroup(); | 86 | qt_config->endGroup(); |
| 113 | 87 | ||
| 114 | qt_config->beginGroup("System"); | ||
| 115 | Settings::values.is_new_3ds = qt_config->value("is_new_3ds", false).toBool(); | ||
| 116 | Settings::values.region_value = | ||
| 117 | qt_config->value("region_value", Settings::REGION_VALUE_AUTO_SELECT).toInt(); | ||
| 118 | qt_config->endGroup(); | ||
| 119 | |||
| 120 | qt_config->beginGroup("Miscellaneous"); | 88 | qt_config->beginGroup("Miscellaneous"); |
| 121 | Settings::values.log_filter = qt_config->value("log_filter", "*:Info").toString().toStdString(); | 89 | Settings::values.log_filter = qt_config->value("log_filter", "*:Info").toString().toStdString(); |
| 122 | qt_config->endGroup(); | 90 | qt_config->endGroup(); |
| @@ -126,23 +94,7 @@ void Config::ReadValues() { | |||
| 126 | Settings::values.gdbstub_port = qt_config->value("gdbstub_port", 24689).toInt(); | 94 | Settings::values.gdbstub_port = qt_config->value("gdbstub_port", 24689).toInt(); |
| 127 | qt_config->endGroup(); | 95 | qt_config->endGroup(); |
| 128 | 96 | ||
| 129 | qt_config->beginGroup("WebService"); | ||
| 130 | Settings::values.enable_telemetry = qt_config->value("enable_telemetry", true).toBool(); | ||
| 131 | Settings::values.telemetry_endpoint_url = | ||
| 132 | qt_config->value("telemetry_endpoint_url", "https://services.citra-emu.org/api/telemetry") | ||
| 133 | .toString() | ||
| 134 | .toStdString(); | ||
| 135 | Settings::values.verify_endpoint_url = | ||
| 136 | qt_config->value("verify_endpoint_url", "https://services.citra-emu.org/api/profile") | ||
| 137 | .toString() | ||
| 138 | .toStdString(); | ||
| 139 | Settings::values.citra_username = qt_config->value("citra_username").toString().toStdString(); | ||
| 140 | Settings::values.citra_token = qt_config->value("citra_token").toString().toStdString(); | ||
| 141 | qt_config->endGroup(); | ||
| 142 | |||
| 143 | qt_config->beginGroup("UI"); | 97 | qt_config->beginGroup("UI"); |
| 144 | UISettings::values.theme = qt_config->value("theme", UISettings::themes[0].second).toString(); | ||
| 145 | |||
| 146 | qt_config->beginGroup("UILayout"); | 98 | qt_config->beginGroup("UILayout"); |
| 147 | UISettings::values.geometry = qt_config->value("geometry").toByteArray(); | 99 | UISettings::values.geometry = qt_config->value("geometry").toByteArray(); |
| 148 | UISettings::values.state = qt_config->value("state").toByteArray(); | 100 | UISettings::values.state = qt_config->value("state").toByteArray(); |
| @@ -213,10 +165,7 @@ void Config::SaveValues() { | |||
| 213 | qt_config->endGroup(); | 165 | qt_config->endGroup(); |
| 214 | 166 | ||
| 215 | qt_config->beginGroup("Renderer"); | 167 | qt_config->beginGroup("Renderer"); |
| 216 | qt_config->setValue("use_hw_renderer", Settings::values.use_hw_renderer); | ||
| 217 | qt_config->setValue("use_shader_jit", Settings::values.use_shader_jit); | ||
| 218 | qt_config->setValue("resolution_factor", (double)Settings::values.resolution_factor); | 168 | qt_config->setValue("resolution_factor", (double)Settings::values.resolution_factor); |
| 219 | qt_config->setValue("use_vsync", Settings::values.use_vsync); | ||
| 220 | qt_config->setValue("toggle_framelimit", Settings::values.toggle_framelimit); | 169 | qt_config->setValue("toggle_framelimit", Settings::values.toggle_framelimit); |
| 221 | 170 | ||
| 222 | // Cast to double because Qt's written float values are not human-readable | 171 | // Cast to double because Qt's written float values are not human-readable |
| @@ -225,35 +174,10 @@ void Config::SaveValues() { | |||
| 225 | qt_config->setValue("bg_blue", (double)Settings::values.bg_blue); | 174 | qt_config->setValue("bg_blue", (double)Settings::values.bg_blue); |
| 226 | qt_config->endGroup(); | 175 | qt_config->endGroup(); |
| 227 | 176 | ||
| 228 | qt_config->beginGroup("Layout"); | ||
| 229 | qt_config->setValue("layout_option", static_cast<int>(Settings::values.layout_option)); | ||
| 230 | qt_config->setValue("swap_screen", Settings::values.swap_screen); | ||
| 231 | qt_config->setValue("custom_layout", Settings::values.custom_layout); | ||
| 232 | qt_config->setValue("custom_top_left", Settings::values.custom_top_left); | ||
| 233 | qt_config->setValue("custom_top_top", Settings::values.custom_top_top); | ||
| 234 | qt_config->setValue("custom_top_right", Settings::values.custom_top_right); | ||
| 235 | qt_config->setValue("custom_top_bottom", Settings::values.custom_top_bottom); | ||
| 236 | qt_config->setValue("custom_bottom_left", Settings::values.custom_bottom_left); | ||
| 237 | qt_config->setValue("custom_bottom_top", Settings::values.custom_bottom_top); | ||
| 238 | qt_config->setValue("custom_bottom_right", Settings::values.custom_bottom_right); | ||
| 239 | qt_config->setValue("custom_bottom_bottom", Settings::values.custom_bottom_bottom); | ||
| 240 | qt_config->endGroup(); | ||
| 241 | |||
| 242 | qt_config->beginGroup("Audio"); | ||
| 243 | qt_config->setValue("output_engine", QString::fromStdString(Settings::values.sink_id)); | ||
| 244 | qt_config->setValue("enable_audio_stretching", Settings::values.enable_audio_stretching); | ||
| 245 | qt_config->setValue("output_device", QString::fromStdString(Settings::values.audio_device_id)); | ||
| 246 | qt_config->endGroup(); | ||
| 247 | |||
| 248 | qt_config->beginGroup("Data Storage"); | 177 | qt_config->beginGroup("Data Storage"); |
| 249 | qt_config->setValue("use_virtual_sd", Settings::values.use_virtual_sd); | 178 | qt_config->setValue("use_virtual_sd", Settings::values.use_virtual_sd); |
| 250 | qt_config->endGroup(); | 179 | qt_config->endGroup(); |
| 251 | 180 | ||
| 252 | qt_config->beginGroup("System"); | ||
| 253 | qt_config->setValue("is_new_3ds", Settings::values.is_new_3ds); | ||
| 254 | qt_config->setValue("region_value", Settings::values.region_value); | ||
| 255 | qt_config->endGroup(); | ||
| 256 | |||
| 257 | qt_config->beginGroup("Miscellaneous"); | 181 | qt_config->beginGroup("Miscellaneous"); |
| 258 | qt_config->setValue("log_filter", QString::fromStdString(Settings::values.log_filter)); | 182 | qt_config->setValue("log_filter", QString::fromStdString(Settings::values.log_filter)); |
| 259 | qt_config->endGroup(); | 183 | qt_config->endGroup(); |
| @@ -263,16 +187,6 @@ void Config::SaveValues() { | |||
| 263 | qt_config->setValue("gdbstub_port", Settings::values.gdbstub_port); | 187 | qt_config->setValue("gdbstub_port", Settings::values.gdbstub_port); |
| 264 | qt_config->endGroup(); | 188 | qt_config->endGroup(); |
| 265 | 189 | ||
| 266 | qt_config->beginGroup("WebService"); | ||
| 267 | qt_config->setValue("enable_telemetry", Settings::values.enable_telemetry); | ||
| 268 | qt_config->setValue("telemetry_endpoint_url", | ||
| 269 | QString::fromStdString(Settings::values.telemetry_endpoint_url)); | ||
| 270 | qt_config->setValue("verify_endpoint_url", | ||
| 271 | QString::fromStdString(Settings::values.verify_endpoint_url)); | ||
| 272 | qt_config->setValue("citra_username", QString::fromStdString(Settings::values.citra_username)); | ||
| 273 | qt_config->setValue("citra_token", QString::fromStdString(Settings::values.citra_token)); | ||
| 274 | qt_config->endGroup(); | ||
| 275 | |||
| 276 | qt_config->beginGroup("UI"); | 190 | qt_config->beginGroup("UI"); |
| 277 | qt_config->setValue("theme", UISettings::values.theme); | 191 | qt_config->setValue("theme", UISettings::values.theme); |
| 278 | 192 | ||
diff --git a/src/yuzu/configuration/configure.ui b/src/yuzu/configuration/configure.ui index 6abd1917e..8b92a907c 100644 --- a/src/yuzu/configuration/configure.ui +++ b/src/yuzu/configuration/configure.ui | |||
| @@ -39,21 +39,11 @@ | |||
| 39 | <string>Graphics</string> | 39 | <string>Graphics</string> |
| 40 | </attribute> | 40 | </attribute> |
| 41 | </widget> | 41 | </widget> |
| 42 | <widget class="ConfigureAudio" name="audioTab"> | ||
| 43 | <attribute name="title"> | ||
| 44 | <string>Audio</string> | ||
| 45 | </attribute> | ||
| 46 | </widget> | ||
| 47 | <widget class="ConfigureDebug" name="debugTab"> | 42 | <widget class="ConfigureDebug" name="debugTab"> |
| 48 | <attribute name="title"> | 43 | <attribute name="title"> |
| 49 | <string>Debug</string> | 44 | <string>Debug</string> |
| 50 | </attribute> | 45 | </attribute> |
| 51 | </widget> | 46 | </widget> |
| 52 | <widget class="ConfigureWeb" name="webTab"> | ||
| 53 | <attribute name="title"> | ||
| 54 | <string>Web</string> | ||
| 55 | </attribute> | ||
| 56 | </widget> | ||
| 57 | </widget> | 47 | </widget> |
| 58 | </item> | 48 | </item> |
| 59 | <item> | 49 | <item> |
| @@ -79,12 +69,6 @@ | |||
| 79 | <container>1</container> | 69 | <container>1</container> |
| 80 | </customwidget> | 70 | </customwidget> |
| 81 | <customwidget> | 71 | <customwidget> |
| 82 | <class>ConfigureAudio</class> | ||
| 83 | <extends>QWidget</extends> | ||
| 84 | <header>configuration/configure_audio.h</header> | ||
| 85 | <container>1</container> | ||
| 86 | </customwidget> | ||
| 87 | <customwidget> | ||
| 88 | <class>ConfigureDebug</class> | 72 | <class>ConfigureDebug</class> |
| 89 | <extends>QWidget</extends> | 73 | <extends>QWidget</extends> |
| 90 | <header>configuration/configure_debug.h</header> | 74 | <header>configuration/configure_debug.h</header> |
| @@ -102,12 +86,6 @@ | |||
| 102 | <header>configuration/configure_graphics.h</header> | 86 | <header>configuration/configure_graphics.h</header> |
| 103 | <container>1</container> | 87 | <container>1</container> |
| 104 | </customwidget> | 88 | </customwidget> |
| 105 | <customwidget> | ||
| 106 | <class>ConfigureWeb</class> | ||
| 107 | <extends>QWidget</extends> | ||
| 108 | <header>configuration/configure_web.h</header> | ||
| 109 | <container>1</container> | ||
| 110 | </customwidget> | ||
| 111 | </customwidgets> | 89 | </customwidgets> |
| 112 | <resources/> | 90 | <resources/> |
| 113 | <connections> | 91 | <connections> |
diff --git a/src/yuzu/configuration/configure_general.cpp b/src/yuzu/configuration/configure_general.cpp index 4a1002c17..92fd6ab02 100644 --- a/src/yuzu/configuration/configure_general.cpp +++ b/src/yuzu/configuration/configure_general.cpp | |||
| @@ -13,10 +13,6 @@ ConfigureGeneral::ConfigureGeneral(QWidget* parent) | |||
| 13 | 13 | ||
| 14 | ui->setupUi(this); | 14 | ui->setupUi(this); |
| 15 | 15 | ||
| 16 | for (auto theme : UISettings::themes) { | ||
| 17 | ui->theme_combobox->addItem(theme.first, theme.second); | ||
| 18 | } | ||
| 19 | |||
| 20 | this->setConfiguration(); | 16 | this->setConfiguration(); |
| 21 | 17 | ||
| 22 | ui->cpu_core_combobox->setEnabled(!Core::System::GetInstance().IsPoweredOn()); | 18 | ui->cpu_core_combobox->setEnabled(!Core::System::GetInstance().IsPoweredOn()); |
| @@ -27,20 +23,12 @@ ConfigureGeneral::~ConfigureGeneral() {} | |||
| 27 | void ConfigureGeneral::setConfiguration() { | 23 | void ConfigureGeneral::setConfiguration() { |
| 28 | ui->toggle_deepscan->setChecked(UISettings::values.gamedir_deepscan); | 24 | ui->toggle_deepscan->setChecked(UISettings::values.gamedir_deepscan); |
| 29 | ui->toggle_check_exit->setChecked(UISettings::values.confirm_before_closing); | 25 | ui->toggle_check_exit->setChecked(UISettings::values.confirm_before_closing); |
| 30 | |||
| 31 | // The first item is "auto-select" with actual value -1, so plus one here will do the trick | ||
| 32 | ui->region_combobox->setCurrentIndex(Settings::values.region_value + 1); | ||
| 33 | |||
| 34 | ui->theme_combobox->setCurrentIndex(ui->theme_combobox->findData(UISettings::values.theme)); | ||
| 35 | ui->cpu_core_combobox->setCurrentIndex(static_cast<int>(Settings::values.cpu_core)); | 26 | ui->cpu_core_combobox->setCurrentIndex(static_cast<int>(Settings::values.cpu_core)); |
| 36 | } | 27 | } |
| 37 | 28 | ||
| 38 | void ConfigureGeneral::applyConfiguration() { | 29 | void ConfigureGeneral::applyConfiguration() { |
| 39 | UISettings::values.gamedir_deepscan = ui->toggle_deepscan->isChecked(); | 30 | UISettings::values.gamedir_deepscan = ui->toggle_deepscan->isChecked(); |
| 40 | UISettings::values.confirm_before_closing = ui->toggle_check_exit->isChecked(); | 31 | UISettings::values.confirm_before_closing = ui->toggle_check_exit->isChecked(); |
| 41 | UISettings::values.theme = | ||
| 42 | ui->theme_combobox->itemData(ui->theme_combobox->currentIndex()).toString(); | ||
| 43 | Settings::values.region_value = ui->region_combobox->currentIndex() - 1; | ||
| 44 | Settings::values.cpu_core = | 32 | Settings::values.cpu_core = |
| 45 | static_cast<Settings::CpuCore>(ui->cpu_core_combobox->currentIndex()); | 33 | static_cast<Settings::CpuCore>(ui->cpu_core_combobox->currentIndex()); |
| 46 | Settings::Apply(); | 34 | Settings::Apply(); |
diff --git a/src/yuzu/configuration/configure_general.ui b/src/yuzu/configuration/configure_general.ui index e88c37936..573c4cb0e 100644 --- a/src/yuzu/configuration/configure_general.ui +++ b/src/yuzu/configuration/configure_general.ui | |||
| @@ -71,102 +71,6 @@ | |||
| 71 | </widget> | 71 | </widget> |
| 72 | </item> | 72 | </item> |
| 73 | <item> | 73 | <item> |
| 74 | <widget class="QGroupBox" name="groupBox_4"> | ||
| 75 | <property name="title"> | ||
| 76 | <string>Emulation</string> | ||
| 77 | </property> | ||
| 78 | <layout class="QHBoxLayout" name="horizontalLayout_5"> | ||
| 79 | <item> | ||
| 80 | <layout class="QVBoxLayout" name="verticalLayout_6"> | ||
| 81 | <item> | ||
| 82 | <layout class="QHBoxLayout" name="horizontalLayout_6"> | ||
| 83 | <item> | ||
| 84 | <widget class="QLabel" name="label"> | ||
| 85 | <property name="text"> | ||
| 86 | <string>Region:</string> | ||
| 87 | </property> | ||
| 88 | </widget> | ||
| 89 | </item> | ||
| 90 | <item> | ||
| 91 | <widget class="QComboBox" name="region_combobox"> | ||
| 92 | <item> | ||
| 93 | <property name="text"> | ||
| 94 | <string>Auto-select</string> | ||
| 95 | </property> | ||
| 96 | </item> | ||
| 97 | <item> | ||
| 98 | <property name="text"> | ||
| 99 | <string notr="true">JPN</string> | ||
| 100 | </property> | ||
| 101 | </item> | ||
| 102 | <item> | ||
| 103 | <property name="text"> | ||
| 104 | <string notr="true">USA</string> | ||
| 105 | </property> | ||
| 106 | </item> | ||
| 107 | <item> | ||
| 108 | <property name="text"> | ||
| 109 | <string notr="true">EUR</string> | ||
| 110 | </property> | ||
| 111 | </item> | ||
| 112 | <item> | ||
| 113 | <property name="text"> | ||
| 114 | <string notr="true">AUS</string> | ||
| 115 | </property> | ||
| 116 | </item> | ||
| 117 | <item> | ||
| 118 | <property name="text"> | ||
| 119 | <string notr="true">CHN</string> | ||
| 120 | </property> | ||
| 121 | </item> | ||
| 122 | <item> | ||
| 123 | <property name="text"> | ||
| 124 | <string notr="true">KOR</string> | ||
| 125 | </property> | ||
| 126 | </item> | ||
| 127 | <item> | ||
| 128 | <property name="text"> | ||
| 129 | <string notr="true">TWN</string> | ||
| 130 | </property> | ||
| 131 | </item> | ||
| 132 | </widget> | ||
| 133 | </item> | ||
| 134 | </layout> | ||
| 135 | </item> | ||
| 136 | </layout> | ||
| 137 | </item> | ||
| 138 | </layout> | ||
| 139 | </widget> | ||
| 140 | </item> | ||
| 141 | <item> | ||
| 142 | <widget class="QGroupBox" name="theme_group_box"> | ||
| 143 | <property name="title"> | ||
| 144 | <string>Theme</string> | ||
| 145 | </property> | ||
| 146 | <layout class="QHBoxLayout" name="theme_qhbox_layout"> | ||
| 147 | <item> | ||
| 148 | <layout class="QVBoxLayout" name="theme_qvbox_layout"> | ||
| 149 | <item> | ||
| 150 | <layout class="QHBoxLayout" name="theme_qhbox_layout_2"> | ||
| 151 | <item> | ||
| 152 | <widget class="QLabel" name="theme_label"> | ||
| 153 | <property name="text"> | ||
| 154 | <string>Theme:</string> | ||
| 155 | </property> | ||
| 156 | </widget> | ||
| 157 | </item> | ||
| 158 | <item> | ||
| 159 | <widget class="QComboBox" name="theme_combobox"> | ||
| 160 | </widget> | ||
| 161 | </item> | ||
| 162 | </layout> | ||
| 163 | </item> | ||
| 164 | </layout> | ||
| 165 | </item> | ||
| 166 | </layout> | ||
| 167 | </widget> | ||
| 168 | </item> | ||
| 169 | <item> | ||
| 170 | <widget class="QGroupBox" name="groupBox_3"> | 74 | <widget class="QGroupBox" name="groupBox_3"> |
| 171 | <property name="title"> | 75 | <property name="title"> |
| 172 | <string>Hotkeys</string> | 76 | <string>Hotkeys</string> |
| @@ -182,6 +86,19 @@ | |||
| 182 | </layout> | 86 | </layout> |
| 183 | </widget> | 87 | </widget> |
| 184 | </item> | 88 | </item> |
| 89 | <item> | ||
| 90 | <spacer name="verticalSpacer"> | ||
| 91 | <property name="orientation"> | ||
| 92 | <enum>Qt::Vertical</enum> | ||
| 93 | </property> | ||
| 94 | <property name="sizeHint" stdset="0"> | ||
| 95 | <size> | ||
| 96 | <width>20</width> | ||
| 97 | <height>40</height> | ||
| 98 | </size> | ||
| 99 | </property> | ||
| 100 | </spacer> | ||
| 101 | </item> | ||
| 185 | </layout> | 102 | </layout> |
| 186 | </item> | 103 | </item> |
| 187 | </layout> | 104 | </layout> |
diff --git a/src/yuzu/configuration/configure_graphics.cpp b/src/yuzu/configuration/configure_graphics.cpp index 379e13301..5f91d5492 100644 --- a/src/yuzu/configuration/configure_graphics.cpp +++ b/src/yuzu/configuration/configure_graphics.cpp | |||
| @@ -13,10 +13,6 @@ ConfigureGraphics::ConfigureGraphics(QWidget* parent) | |||
| 13 | 13 | ||
| 14 | ui->setupUi(this); | 14 | ui->setupUi(this); |
| 15 | this->setConfiguration(); | 15 | this->setConfiguration(); |
| 16 | |||
| 17 | ui->toggle_vsync->setEnabled(!Core::System::GetInstance().IsPoweredOn()); | ||
| 18 | |||
| 19 | ui->layoutBox->setEnabled(!Settings::values.custom_layout); | ||
| 20 | } | 16 | } |
| 21 | 17 | ||
| 22 | ConfigureGraphics::~ConfigureGraphics() {} | 18 | ConfigureGraphics::~ConfigureGraphics() {} |
| @@ -91,26 +87,14 @@ Resolution FromResolutionFactor(float factor) { | |||
| 91 | } | 87 | } |
| 92 | 88 | ||
| 93 | void ConfigureGraphics::setConfiguration() { | 89 | void ConfigureGraphics::setConfiguration() { |
| 94 | ui->toggle_hw_renderer->setChecked(Settings::values.use_hw_renderer); | ||
| 95 | ui->resolution_factor_combobox->setEnabled(Settings::values.use_hw_renderer); | ||
| 96 | ui->toggle_shader_jit->setChecked(Settings::values.use_shader_jit); | ||
| 97 | ui->resolution_factor_combobox->setCurrentIndex( | 90 | ui->resolution_factor_combobox->setCurrentIndex( |
| 98 | static_cast<int>(FromResolutionFactor(Settings::values.resolution_factor))); | 91 | static_cast<int>(FromResolutionFactor(Settings::values.resolution_factor))); |
| 99 | ui->toggle_vsync->setChecked(Settings::values.use_vsync); | ||
| 100 | ui->toggle_framelimit->setChecked(Settings::values.toggle_framelimit); | 92 | ui->toggle_framelimit->setChecked(Settings::values.toggle_framelimit); |
| 101 | ui->layout_combobox->setCurrentIndex(static_cast<int>(Settings::values.layout_option)); | ||
| 102 | ui->swap_screen->setChecked(Settings::values.swap_screen); | ||
| 103 | } | 93 | } |
| 104 | 94 | ||
| 105 | void ConfigureGraphics::applyConfiguration() { | 95 | void ConfigureGraphics::applyConfiguration() { |
| 106 | Settings::values.use_hw_renderer = ui->toggle_hw_renderer->isChecked(); | ||
| 107 | Settings::values.use_shader_jit = ui->toggle_shader_jit->isChecked(); | ||
| 108 | Settings::values.resolution_factor = | 96 | Settings::values.resolution_factor = |
| 109 | ToResolutionFactor(static_cast<Resolution>(ui->resolution_factor_combobox->currentIndex())); | 97 | ToResolutionFactor(static_cast<Resolution>(ui->resolution_factor_combobox->currentIndex())); |
| 110 | Settings::values.use_vsync = ui->toggle_vsync->isChecked(); | ||
| 111 | Settings::values.toggle_framelimit = ui->toggle_framelimit->isChecked(); | 98 | Settings::values.toggle_framelimit = ui->toggle_framelimit->isChecked(); |
| 112 | Settings::values.layout_option = | ||
| 113 | static_cast<Settings::LayoutOption>(ui->layout_combobox->currentIndex()); | ||
| 114 | Settings::values.swap_screen = ui->swap_screen->isChecked(); | ||
| 115 | Settings::Apply(); | 99 | Settings::Apply(); |
| 116 | } | 100 | } |
diff --git a/src/yuzu/configuration/configure_graphics.ui b/src/yuzu/configuration/configure_graphics.ui index 5667b14b6..489156805 100644 --- a/src/yuzu/configuration/configure_graphics.ui +++ b/src/yuzu/configuration/configure_graphics.ui | |||
| @@ -23,27 +23,6 @@ | |||
| 23 | </property> | 23 | </property> |
| 24 | <layout class="QVBoxLayout" name="verticalLayout_2"> | 24 | <layout class="QVBoxLayout" name="verticalLayout_2"> |
| 25 | <item> | 25 | <item> |
| 26 | <widget class="QCheckBox" name="toggle_hw_renderer"> | ||
| 27 | <property name="text"> | ||
| 28 | <string>Enable hardware renderer</string> | ||
| 29 | </property> | ||
| 30 | </widget> | ||
| 31 | </item> | ||
| 32 | <item> | ||
| 33 | <widget class="QCheckBox" name="toggle_shader_jit"> | ||
| 34 | <property name="text"> | ||
| 35 | <string>Enable shader JIT</string> | ||
| 36 | </property> | ||
| 37 | </widget> | ||
| 38 | </item> | ||
| 39 | <item> | ||
| 40 | <widget class="QCheckBox" name="toggle_vsync"> | ||
| 41 | <property name="text"> | ||
| 42 | <string>Enable V-Sync</string> | ||
| 43 | </property> | ||
| 44 | </widget> | ||
| 45 | </item> | ||
| 46 | <item> | ||
| 47 | <widget class="QCheckBox" name="toggle_framelimit"> | 26 | <widget class="QCheckBox" name="toggle_framelimit"> |
| 48 | <property name="text"> | 27 | <property name="text"> |
| 49 | <string>Limit framerate</string> | 28 | <string>Limit framerate</string> |
| @@ -51,134 +30,79 @@ | |||
| 51 | </widget> | 30 | </widget> |
| 52 | </item> | 31 | </item> |
| 53 | <item> | 32 | <item> |
| 54 | <layout class="QHBoxLayout" name="horizontalLayout"> | 33 | <layout class="QHBoxLayout" name="horizontalLayout"> |
| 55 | <item> | ||
| 56 | <widget class="QLabel" name="label"> | ||
| 57 | <property name="text"> | ||
| 58 | <string>Internal Resolution:</string> | ||
| 59 | </property> | ||
| 60 | </widget> | ||
| 61 | </item> | ||
| 62 | <item> | ||
| 63 | <widget class="QComboBox" name="resolution_factor_combobox"> | ||
| 64 | <item> | ||
| 65 | <property name="text"> | ||
| 66 | <string>Auto (Window Size)</string> | ||
| 67 | </property> | ||
| 68 | </item> | ||
| 69 | <item> | ||
| 70 | <property name="text"> | ||
| 71 | <string>Native (400x240)</string> | ||
| 72 | </property> | ||
| 73 | </item> | ||
| 74 | <item> | ||
| 75 | <property name="text"> | ||
| 76 | <string>2x Native (800x480)</string> | ||
| 77 | </property> | ||
| 78 | </item> | ||
| 79 | <item> | ||
| 80 | <property name="text"> | ||
| 81 | <string>3x Native (1200x720)</string> | ||
| 82 | </property> | ||
| 83 | </item> | ||
| 84 | <item> | ||
| 85 | <property name="text"> | ||
| 86 | <string>4x Native (1600x960)</string> | ||
| 87 | </property> | ||
| 88 | </item> | ||
| 89 | <item> | ||
| 90 | <property name="text"> | ||
| 91 | <string>5x Native (2000x1200)</string> | ||
| 92 | </property> | ||
| 93 | </item> | ||
| 94 | <item> | ||
| 95 | <property name="text"> | ||
| 96 | <string>6x Native (2400x1440)</string> | ||
| 97 | </property> | ||
| 98 | </item> | ||
| 99 | <item> | ||
| 100 | <property name="text"> | ||
| 101 | <string>7x Native (2800x1680)</string> | ||
| 102 | </property> | ||
| 103 | </item> | ||
| 104 | <item> | ||
| 105 | <property name="text"> | ||
| 106 | <string>8x Native (3200x1920)</string> | ||
| 107 | </property> | ||
| 108 | </item> | ||
| 109 | <item> | ||
| 110 | <property name="text"> | ||
| 111 | <string>9x Native (3600x2160)</string> | ||
| 112 | </property> | ||
| 113 | </item> | ||
| 114 | <item> | ||
| 115 | <property name="text"> | ||
| 116 | <string>10x Native (4000x2400)</string> | ||
| 117 | </property> | ||
| 118 | </item> | ||
| 119 | </widget> | ||
| 120 | </item> | ||
| 121 | </layout> | ||
| 122 | </item> | ||
| 123 | </layout> | ||
| 124 | </widget> | ||
| 125 | </item> | ||
| 126 | </layout> | ||
| 127 | </item> | ||
| 128 | <item> | ||
| 129 | <widget class="QGroupBox" name="layoutBox"> | ||
| 130 | <property name="title"> | ||
| 131 | <string>Layout</string> | ||
| 132 | </property> | ||
| 133 | <layout class="QHBoxLayout" name="horizontalLayout_3"> | ||
| 134 | <item> | ||
| 135 | <layout class="QVBoxLayout" name="verticalLayout_4"> | ||
| 136 | <item> | ||
| 137 | <layout class="QHBoxLayout" name="horizontalLayout_4"> | ||
| 138 | <item> | 34 | <item> |
| 139 | <widget class="QLabel" name="label1"> | 35 | <widget class="QLabel" name="label"> |
| 140 | <property name="text"> | 36 | <property name="text"> |
| 141 | <string>Screen Layout:</string> | 37 | <string>Internal Resolution:</string> |
| 142 | </property> | 38 | </property> |
| 143 | </widget> | 39 | </widget> |
| 144 | </item> | 40 | </item> |
| 145 | <item> | 41 | <item> |
| 146 | <widget class="QComboBox" name="layout_combobox"> | 42 | <widget class="QComboBox" name="resolution_factor_combobox"> |
| 43 | <item> | ||
| 44 | <property name="text"> | ||
| 45 | <string>Auto (Window Size)</string> | ||
| 46 | </property> | ||
| 47 | </item> | ||
| 147 | <item> | 48 | <item> |
| 148 | <property name="text"> | 49 | <property name="text"> |
| 149 | <string>Default</string> | 50 | <string>Native (400x240)</string> |
| 150 | </property> | 51 | </property> |
| 151 | </item> | 52 | </item> |
| 152 | <item> | 53 | <item> |
| 153 | <property name="text"> | 54 | <property name="text"> |
| 154 | <string>Single Screen</string> | 55 | <string>2x Native (800x480)</string> |
| 155 | </property> | 56 | </property> |
| 156 | </item> | 57 | </item> |
| 157 | <item> | 58 | <item> |
| 158 | <property name="text"> | 59 | <property name="text"> |
| 159 | <string>Large Screen</string> | 60 | <string>3x Native (1200x720)</string> |
| 160 | </property> | 61 | </property> |
| 161 | </item> | 62 | </item> |
| 162 | <item> | 63 | <item> |
| 163 | <property name="text"> | 64 | <property name="text"> |
| 164 | <string>Side by Side</string> | 65 | <string>4x Native (1600x960)</string> |
| 66 | </property> | ||
| 67 | </item> | ||
| 68 | <item> | ||
| 69 | <property name="text"> | ||
| 70 | <string>5x Native (2000x1200)</string> | ||
| 71 | </property> | ||
| 72 | </item> | ||
| 73 | <item> | ||
| 74 | <property name="text"> | ||
| 75 | <string>6x Native (2400x1440)</string> | ||
| 76 | </property> | ||
| 77 | </item> | ||
| 78 | <item> | ||
| 79 | <property name="text"> | ||
| 80 | <string>7x Native (2800x1680)</string> | ||
| 81 | </property> | ||
| 82 | </item> | ||
| 83 | <item> | ||
| 84 | <property name="text"> | ||
| 85 | <string>8x Native (3200x1920)</string> | ||
| 86 | </property> | ||
| 87 | </item> | ||
| 88 | <item> | ||
| 89 | <property name="text"> | ||
| 90 | <string>9x Native (3600x2160)</string> | ||
| 91 | </property> | ||
| 92 | </item> | ||
| 93 | <item> | ||
| 94 | <property name="text"> | ||
| 95 | <string>10x Native (4000x2400)</string> | ||
| 165 | </property> | 96 | </property> |
| 166 | </item> | 97 | </item> |
| 167 | </widget> | 98 | </widget> |
| 168 | </item> | 99 | </item> |
| 169 | </layout> | 100 | </layout> |
| 170 | </item> | 101 | </item> |
| 171 | <item> | ||
| 172 | <widget class="QCheckBox" name="swap_screen"> | ||
| 173 | <property name="text"> | ||
| 174 | <string>Swap Screens</string> | ||
| 175 | </property> | ||
| 176 | </widget> | ||
| 177 | </item> | ||
| 178 | </layout> | 102 | </layout> |
| 179 | </item> | 103 | </widget> |
| 180 | </layout> | 104 | </item> |
| 181 | </widget> | 105 | </layout> |
| 182 | </item> | 106 | </item> |
| 183 | <item> | 107 | <item> |
| 184 | <spacer name="verticalSpacer"> | 108 | <spacer name="verticalSpacer"> |
| @@ -196,12 +120,5 @@ | |||
| 196 | </layout> | 120 | </layout> |
| 197 | </widget> | 121 | </widget> |
| 198 | <resources/> | 122 | <resources/> |
| 199 | <connections> | 123 | <connections/> |
| 200 | <connection> | ||
| 201 | <sender>toggle_hw_renderer</sender> | ||
| 202 | <signal>toggled(bool)</signal> | ||
| 203 | <receiver>resolution_factor_combobox</receiver> | ||
| 204 | <slot>setEnabled(bool)</slot> | ||
| 205 | </connection> | ||
| 206 | </connections> | ||
| 207 | </ui> | 124 | </ui> |
diff --git a/src/yuzu/game_list.cpp b/src/yuzu/game_list.cpp index a8e3541cd..532c4ae63 100644 --- a/src/yuzu/game_list.cpp +++ b/src/yuzu/game_list.cpp | |||
| @@ -356,8 +356,7 @@ void GameList::LoadInterfaceLayout() { | |||
| 356 | item_model->sort(header->sortIndicatorSection(), header->sortIndicatorOrder()); | 356 | item_model->sort(header->sortIndicatorSection(), header->sortIndicatorOrder()); |
| 357 | } | 357 | } |
| 358 | 358 | ||
| 359 | const QStringList GameList::supported_file_extensions = {"3ds", "3dsx", "elf", "axf", | 359 | const QStringList GameList::supported_file_extensions = {"nso", "nro"}; |
| 360 | "cci", "cxi", "app"}; | ||
| 361 | 360 | ||
| 362 | static bool HasSupportedFileExtension(const std::string& file_name) { | 361 | static bool HasSupportedFileExtension(const std::string& file_name) { |
| 363 | QFileInfo file = QFileInfo(file_name.c_str()); | 362 | QFileInfo file = QFileInfo(file_name.c_str()); |
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index dc9bcab6f..2f41de3fe 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp | |||
| @@ -65,22 +65,7 @@ static void ShowCalloutMessage(const QString& message, CalloutFlag flag) { | |||
| 65 | msg.exec(); | 65 | msg.exec(); |
| 66 | } | 66 | } |
| 67 | 67 | ||
| 68 | void GMainWindow::ShowCallouts() { | 68 | void GMainWindow::ShowCallouts() {} |
| 69 | static const QString telemetry_message = | ||
| 70 | tr("To help improve Citra, the Citra Team collects anonymous usage data. No private or " | ||
| 71 | "personally identifying information is collected. This data helps us to understand how " | ||
| 72 | "people use Citra and prioritize our efforts. Furthermore, it helps us to more easily " | ||
| 73 | "identify emulation bugs and performance issues. This data includes:<ul><li>Information" | ||
| 74 | " about the version of Citra you are using</li><li>Performance data about the games you " | ||
| 75 | "play</li><li>Your configuration settings</li><li>Information about your computer " | ||
| 76 | "hardware</li><li>Emulation errors and crash information</li></ul>By default, this " | ||
| 77 | "feature is enabled. To disable this feature, click 'Emulation' from the menu and then " | ||
| 78 | "select 'Configure...'. Then, on the 'Web' tab, uncheck 'Share anonymous usage data with" | ||
| 79 | " the Citra team'. <br/><br/>By using this software, you agree to the above terms.<br/>" | ||
| 80 | "<br/><a href='https://citra-emu.org/entry/telemetry-and-why-thats-a-good-thing/'>Learn " | ||
| 81 | "more</a>"); | ||
| 82 | ShowCalloutMessage(telemetry_message, CalloutFlag::Telemetry); | ||
| 83 | } | ||
| 84 | 69 | ||
| 85 | GMainWindow::GMainWindow() : config(new Config()), emu_thread(nullptr) { | 70 | GMainWindow::GMainWindow() : config(new Config()), emu_thread(nullptr) { |
| 86 | setAcceptDrops(true); | 71 | setAcceptDrops(true); |
| @@ -98,14 +83,12 @@ GMainWindow::GMainWindow() : config(new Config()), emu_thread(nullptr) { | |||
| 98 | ConnectMenuEvents(); | 83 | ConnectMenuEvents(); |
| 99 | ConnectWidgetEvents(); | 84 | ConnectWidgetEvents(); |
| 100 | 85 | ||
| 101 | setWindowTitle(QString("Citra %1| %2-%3") | 86 | setWindowTitle(QString("yuzu %1| %2-%3") |
| 102 | .arg(Common::g_build_name, Common::g_scm_branch, Common::g_scm_desc)); | 87 | .arg(Common::g_build_name, Common::g_scm_branch, Common::g_scm_desc)); |
| 103 | show(); | 88 | show(); |
| 104 | 89 | ||
| 105 | game_list->PopulateAsync(UISettings::values.gamedir, UISettings::values.gamedir_deepscan); | 90 | game_list->PopulateAsync(UISettings::values.gamedir, UISettings::values.gamedir_deepscan); |
| 106 | 91 | ||
| 107 | UpdateUITheme(); | ||
| 108 | |||
| 109 | // Show one-time "callout" messages to the user | 92 | // Show one-time "callout" messages to the user |
| 110 | ShowCallouts(); | 93 | ShowCallouts(); |
| 111 | 94 | ||
| @@ -203,7 +186,6 @@ void GMainWindow::InitializeRecentFileMenuActions() { | |||
| 203 | 186 | ||
| 204 | void GMainWindow::InitializeHotkeys() { | 187 | void GMainWindow::InitializeHotkeys() { |
| 205 | RegisterHotkey("Main Window", "Load File", QKeySequence::Open); | 188 | RegisterHotkey("Main Window", "Load File", QKeySequence::Open); |
| 206 | RegisterHotkey("Main Window", "Swap Screens", QKeySequence::NextChild); | ||
| 207 | RegisterHotkey("Main Window", "Start Emulation"); | 189 | RegisterHotkey("Main Window", "Start Emulation"); |
| 208 | LoadHotkeys(); | 190 | LoadHotkeys(); |
| 209 | 191 | ||
| @@ -211,8 +193,6 @@ void GMainWindow::InitializeHotkeys() { | |||
| 211 | SLOT(OnMenuLoadFile())); | 193 | SLOT(OnMenuLoadFile())); |
| 212 | connect(GetHotkey("Main Window", "Start Emulation", this), SIGNAL(activated()), this, | 194 | connect(GetHotkey("Main Window", "Start Emulation", this), SIGNAL(activated()), this, |
| 213 | SLOT(OnStartGame())); | 195 | SLOT(OnStartGame())); |
| 214 | connect(GetHotkey("Main Window", "Swap Screens", render_window), SIGNAL(activated()), this, | ||
| 215 | SLOT(OnSwapScreens())); | ||
| 216 | } | 196 | } |
| 217 | 197 | ||
| 218 | void GMainWindow::SetDefaultUIGeometry() { | 198 | void GMainWindow::SetDefaultUIGeometry() { |
| @@ -386,7 +366,7 @@ bool GMainWindow::LoadROM(const QString& filename) { | |||
| 386 | } | 366 | } |
| 387 | 367 | ||
| 388 | void GMainWindow::BootGame(const QString& filename) { | 368 | void GMainWindow::BootGame(const QString& filename) { |
| 389 | LOG_INFO(Frontend, "Citra starting..."); | 369 | LOG_INFO(Frontend, "yuzu starting..."); |
| 390 | StoreRecentFile(filename); // Put the filename on top of the list | 370 | StoreRecentFile(filename); // Put the filename on top of the list |
| 391 | 371 | ||
| 392 | if (!LoadROM(filename)) | 372 | if (!LoadROM(filename)) |
| @@ -503,7 +483,7 @@ void GMainWindow::OnMenuLoadFile() { | |||
| 503 | for (const auto& piece : game_list->supported_file_extensions) | 483 | for (const auto& piece : game_list->supported_file_extensions) |
| 504 | extensions += "*." + piece + " "; | 484 | extensions += "*." + piece + " "; |
| 505 | 485 | ||
| 506 | QString file_filter = tr("3DS Executable") + " (" + extensions + ")"; | 486 | QString file_filter = tr("Switch Executable") + " (" + extensions + ")"; |
| 507 | file_filter += ";;" + tr("All Files (*.*)"); | 487 | file_filter += ";;" + tr("All Files (*.*)"); |
| 508 | 488 | ||
| 509 | QString filename = QFileDialog::getOpenFileName(this, tr("Load File"), | 489 | QString filename = QFileDialog::getOpenFileName(this, tr("Load File"), |
| @@ -597,7 +577,6 @@ void GMainWindow::OnConfigure() { | |||
| 597 | auto result = configureDialog.exec(); | 577 | auto result = configureDialog.exec(); |
| 598 | if (result == QDialog::Accepted) { | 578 | if (result == QDialog::Accepted) { |
| 599 | configureDialog.applyConfiguration(); | 579 | configureDialog.applyConfiguration(); |
| 600 | UpdateUITheme(); | ||
| 601 | config->Save(); | 580 | config->Save(); |
| 602 | } | 581 | } |
| 603 | } | 582 | } |
| @@ -611,11 +590,6 @@ void GMainWindow::OnToggleFilterBar() { | |||
| 611 | } | 590 | } |
| 612 | } | 591 | } |
| 613 | 592 | ||
| 614 | void GMainWindow::OnSwapScreens() { | ||
| 615 | Settings::values.swap_screen = !Settings::values.swap_screen; | ||
| 616 | Settings::Apply(); | ||
| 617 | } | ||
| 618 | |||
| 619 | void GMainWindow::OnCreateGraphicsSurfaceViewer() {} | 593 | void GMainWindow::OnCreateGraphicsSurfaceViewer() {} |
| 620 | 594 | ||
| 621 | void GMainWindow::UpdateStatusBar() { | 595 | void GMainWindow::UpdateStatusBar() { |
| @@ -778,24 +752,6 @@ void GMainWindow::filterBarSetChecked(bool state) { | |||
| 778 | emit(OnToggleFilterBar()); | 752 | emit(OnToggleFilterBar()); |
| 779 | } | 753 | } |
| 780 | 754 | ||
| 781 | void GMainWindow::UpdateUITheme() { | ||
| 782 | if (UISettings::values.theme != UISettings::themes[0].second) { | ||
| 783 | QString theme_uri(":" + UISettings::values.theme + "/style.qss"); | ||
| 784 | QFile f(theme_uri); | ||
| 785 | if (!f.exists()) { | ||
| 786 | LOG_ERROR(Frontend, "Unable to set style, stylesheet file not found"); | ||
| 787 | } else { | ||
| 788 | f.open(QFile::ReadOnly | QFile::Text); | ||
| 789 | QTextStream ts(&f); | ||
| 790 | qApp->setStyleSheet(ts.readAll()); | ||
| 791 | GMainWindow::setStyleSheet(ts.readAll()); | ||
| 792 | } | ||
| 793 | } else { | ||
| 794 | qApp->setStyleSheet(""); | ||
| 795 | GMainWindow::setStyleSheet(""); | ||
| 796 | } | ||
| 797 | } | ||
| 798 | |||
| 799 | #ifdef main | 755 | #ifdef main |
| 800 | #undef main | 756 | #undef main |
| 801 | #endif | 757 | #endif |
diff --git a/src/yuzu/main.h b/src/yuzu/main.h index d59a6d67d..e37ef2b85 100644 --- a/src/yuzu/main.h +++ b/src/yuzu/main.h | |||
| @@ -123,7 +123,6 @@ private slots: | |||
| 123 | /// Called whenever a user selects the "File->Select Game List Root" menu item | 123 | /// Called whenever a user selects the "File->Select Game List Root" menu item |
| 124 | void OnMenuSelectGameListRoot(); | 124 | void OnMenuSelectGameListRoot(); |
| 125 | void OnMenuRecentFile(); | 125 | void OnMenuRecentFile(); |
| 126 | void OnSwapScreens(); | ||
| 127 | void OnConfigure(); | 126 | void OnConfigure(); |
| 128 | void OnToggleFilterBar(); | 127 | void OnToggleFilterBar(); |
| 129 | void OnDisplayTitleBars(bool); | 128 | void OnDisplayTitleBars(bool); |
| @@ -156,11 +155,6 @@ private: | |||
| 156 | ProfilerWidget* profilerWidget; | 155 | ProfilerWidget* profilerWidget; |
| 157 | MicroProfileDialog* microProfileDialog; | 156 | MicroProfileDialog* microProfileDialog; |
| 158 | RegistersWidget* registersWidget; | 157 | RegistersWidget* registersWidget; |
| 159 | GPUCommandStreamWidget* graphicsWidget; | ||
| 160 | GPUCommandListWidget* graphicsCommandsWidget; | ||
| 161 | GraphicsBreakPointsWidget* graphicsBreakpointsWidget; | ||
| 162 | GraphicsVertexShaderWidget* graphicsVertexShaderWidget; | ||
| 163 | GraphicsTracingWidget* graphicsTracingWidget; | ||
| 164 | WaitTreeWidget* waitTreeWidget; | 158 | WaitTreeWidget* waitTreeWidget; |
| 165 | 159 | ||
| 166 | QAction* actions_recent_files[max_recent_files_item]; | 160 | QAction* actions_recent_files[max_recent_files_item]; |
diff --git a/src/yuzu/main.ui b/src/yuzu/main.ui index b13d578f5..234e90c3c 100644 --- a/src/yuzu/main.ui +++ b/src/yuzu/main.ui | |||
| @@ -143,7 +143,7 @@ | |||
| 143 | </action> | 143 | </action> |
| 144 | <action name="action_About"> | 144 | <action name="action_About"> |
| 145 | <property name="text"> | 145 | <property name="text"> |
| 146 | <string>About Citra</string> | 146 | <string>About yuzu</string> |
| 147 | </property> | 147 | </property> |
| 148 | </action> | 148 | </action> |
| 149 | <action name="action_Single_Window_Mode"> | 149 | <action name="action_Single_Window_Mode"> |
diff --git a/src/yuzu/ui_settings.h b/src/yuzu/ui_settings.h index d85c92765..e965f0ba9 100644 --- a/src/yuzu/ui_settings.h +++ b/src/yuzu/ui_settings.h | |||
| @@ -15,10 +15,6 @@ namespace UISettings { | |||
| 15 | using ContextualShortcut = std::pair<QString, int>; | 15 | using ContextualShortcut = std::pair<QString, int>; |
| 16 | using Shortcut = std::pair<QString, ContextualShortcut>; | 16 | using Shortcut = std::pair<QString, ContextualShortcut>; |
| 17 | 17 | ||
| 18 | static const std::array<std::pair<QString, QString>, 2> themes = { | ||
| 19 | {std::make_pair(QString("Default"), QString("default")), | ||
| 20 | std::make_pair(QString("Dark"), QString("qdarkstyle"))}}; | ||
| 21 | |||
| 22 | struct Values { | 18 | struct Values { |
| 23 | QByteArray geometry; | 19 | QByteArray geometry; |
| 24 | QByteArray state; | 20 | QByteArray state; |
diff --git a/src/yuzu/citra-qt.rc b/src/yuzu/yuzu.rc index 1b253653f..1b253653f 100644 --- a/src/yuzu/citra-qt.rc +++ b/src/yuzu/yuzu.rc | |||