From 426c4a2a5b65ce04a767e4c514aafc182b8d5a56 Mon Sep 17 00:00:00 2001
From: LittleWhite
Date: Sun, 24 Jan 2016 18:34:05 +0100
Subject: Add Configure widget
---
src/citra_qt/CMakeLists.txt | 15 ++++-
src/citra_qt/configure.ui | 109 +++++++++++++++++++++++++++++++++++++
src/citra_qt/configure_debug.cpp | 33 +++++++++++
src/citra_qt/configure_debug.h | 31 +++++++++++
src/citra_qt/configure_debug.ui | 76 ++++++++++++++++++++++++++
src/citra_qt/configure_dialog.cpp | 32 +++++++++++
src/citra_qt/configure_dialog.h | 31 +++++++++++
src/citra_qt/configure_general.cpp | 40 ++++++++++++++
src/citra_qt/configure_general.h | 31 +++++++++++
src/citra_qt/configure_general.ui | 96 ++++++++++++++++++++++++++++++++
src/citra_qt/hotkeys.cpp | 2 +-
src/citra_qt/hotkeys.h | 2 +-
src/citra_qt/hotkeys.ui | 47 +---------------
src/citra_qt/main.cpp | 48 +++-------------
src/citra_qt/main.h | 4 --
src/citra_qt/main.ui | 51 +----------------
src/citra_qt/ui_settings.cpp | 11 ++++
src/citra_qt/ui_settings.h | 16 ++++++
18 files changed, 533 insertions(+), 142 deletions(-)
create mode 100644 src/citra_qt/configure.ui
create mode 100644 src/citra_qt/configure_debug.cpp
create mode 100644 src/citra_qt/configure_debug.h
create mode 100644 src/citra_qt/configure_debug.ui
create mode 100644 src/citra_qt/configure_dialog.cpp
create mode 100644 src/citra_qt/configure_dialog.h
create mode 100644 src/citra_qt/configure_general.cpp
create mode 100644 src/citra_qt/configure_general.h
create mode 100644 src/citra_qt/configure_general.ui
create mode 100644 src/citra_qt/ui_settings.cpp
create mode 100644 src/citra_qt/ui_settings.h
(limited to 'src')
diff --git a/src/citra_qt/CMakeLists.txt b/src/citra_qt/CMakeLists.txt
index 9b3eb2cd6..6660d9879 100644
--- a/src/citra_qt/CMakeLists.txt
+++ b/src/citra_qt/CMakeLists.txt
@@ -17,12 +17,16 @@ set(SRCS
debugger/profiler.cpp
debugger/ramview.cpp
debugger/registers.cpp
- game_list.cpp
util/spinbox.cpp
util/util.cpp
bootmanager.cpp
+ configure_debug.cpp
+ configure_dialog.cpp
+ configure_general.cpp
+ game_list.cpp
hotkeys.cpp
main.cpp
+ ui_settings.cpp
citra-qt.rc
Info.plist
)
@@ -44,12 +48,16 @@ set(HEADERS
debugger/profiler.h
debugger/ramview.h
debugger/registers.h
- game_list.h
util/spinbox.h
util/util.h
bootmanager.h
+ configure_debug.h
+ configure_dialog.h
+ configure_general.h
+ game_list.h
hotkeys.h
main.h
+ ui_settings.h
version.h
)
@@ -59,6 +67,9 @@ set(UIS
debugger/disassembler.ui
debugger/profiler.ui
debugger/registers.ui
+ configure.ui
+ configure_debug.ui
+ configure_general.ui
hotkeys.ui
main.ui
)
diff --git a/src/citra_qt/configure.ui b/src/citra_qt/configure.ui
new file mode 100644
index 000000000..e4ac9a7d8
--- /dev/null
+++ b/src/citra_qt/configure.ui
@@ -0,0 +1,109 @@
+
+
+ ConfigureDialog
+
+
+
+ 0
+ 0
+ 441
+ 401
+
+
+
+
+ 370
+ 219
+
+
+
+ Dialog
+
+
+ -
+
+
+
+ 371
+ 221
+
+
+
+ 0
+
+
+
+ General
+
+
+
+
+ Input
+
+
+
+
+ Debug
+
+
+
+
+ -
+
+
+ QDialogButtonBox::Cancel|QDialogButtonBox::Ok
+
+
+
+
+
+
+
+ ConfigureGeneral
+ QWidget
+
+ 1
+
+
+ ConfigureDebug
+ QWidget
+
+ 1
+
+
+
+
+
+ buttonBox
+ accepted()
+ ConfigureDialog
+ accept()
+
+
+ 220
+ 380
+
+
+ 220
+ 200
+
+
+
+
+ buttonBox
+ rejected()
+ ConfigureDialog
+ reject()
+
+
+ 220
+ 380
+
+
+ 220
+ 200
+
+
+
+
+
diff --git a/src/citra_qt/configure_debug.cpp b/src/citra_qt/configure_debug.cpp
new file mode 100644
index 000000000..f8ff804b2
--- /dev/null
+++ b/src/citra_qt/configure_debug.cpp
@@ -0,0 +1,33 @@
+// Copyright 2016 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include "core/core.h"
+#include "core/gdbstub/gdbstub.h" // TODO: can't include gdbstub without core.h
+#include "core/settings.h"
+
+#include "configure_debug.h"
+#include "ui_configure_debug.h"
+
+ConfigureDebug::ConfigureDebug(QWidget *parent) :
+ QWidget(parent),
+ ui(new Ui::ConfigureDebug)
+{
+ ui->setupUi(this);
+ this->setConfiguration();
+}
+
+ConfigureDebug::~ConfigureDebug() {
+ delete ui;
+}
+
+void ConfigureDebug::setConfiguration() {
+ ui->toogleGDBStub->setChecked(Settings::values.use_gdbstub);
+ ui->GDBPortSpinBox->setValue(Settings::values.gdbstub_port);
+}
+
+void ConfigureDebug::applyConfiguration() {
+ GDBStub::ToggleServer(ui->toogleGDBStub->isChecked());
+ Settings::values.use_gdbstub = ui->toogleGDBStub->isChecked();
+ Settings::values.gdbstub_port = ui->GDBPortSpinBox->value();
+}
diff --git a/src/citra_qt/configure_debug.h b/src/citra_qt/configure_debug.h
new file mode 100644
index 000000000..9b7080d92
--- /dev/null
+++ b/src/citra_qt/configure_debug.h
@@ -0,0 +1,31 @@
+// Copyright 2016 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#ifndef CONFIGURE_DEBUG_H
+#define CONFIGURE_DEBUG_H
+
+#include
+
+namespace Ui {
+class ConfigureDebug;
+}
+
+class ConfigureDebug : public QWidget
+{
+ Q_OBJECT
+
+public:
+ explicit ConfigureDebug(QWidget *parent = 0);
+ ~ConfigureDebug();
+
+ void applyConfiguration();
+
+private:
+ void setConfiguration();
+
+private:
+ Ui::ConfigureDebug *ui;
+};
+
+#endif // CONFIGURE_DEBUG_H
diff --git a/src/citra_qt/configure_debug.ui b/src/citra_qt/configure_debug.ui
new file mode 100644
index 000000000..80acf6e31
--- /dev/null
+++ b/src/citra_qt/configure_debug.ui
@@ -0,0 +1,76 @@
+
+
+ ConfigureDebug
+
+
+
+ 0
+ 0
+ 400
+ 300
+
+
+
+ Form
+
+
+ -
+
+
-
+
+
+ GDB
+
+
+
-
+
+
-
+
+
-
+
+
+ Enable GDB Stub
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ Port:
+
+
+
+ -
+
+
+ 65536
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/citra_qt/configure_dialog.cpp b/src/citra_qt/configure_dialog.cpp
new file mode 100644
index 000000000..ae442adcd
--- /dev/null
+++ b/src/citra_qt/configure_dialog.cpp
@@ -0,0 +1,32 @@
+// Copyright 2016 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include "configure_dialog.h"
+#include "ui_configure.h"
+
+#include "config.h"
+
+#include "core/settings.h"
+
+ConfigureDialog::ConfigureDialog(QWidget *parent) :
+ QDialog(parent),
+ ui(new Ui::ConfigureDialog)
+{
+ ui->setupUi(this);
+ this->setConfiguration();
+}
+
+ConfigureDialog::~ConfigureDialog() {
+ delete ui;
+}
+
+void ConfigureDialog::setConfiguration() {
+}
+
+void ConfigureDialog::applyConfiguration() {
+ Config config;
+ ui->generalTab->applyConfiguration();
+ ui->debugTab->applyConfiguration();
+ config.Save();
+}
diff --git a/src/citra_qt/configure_dialog.h b/src/citra_qt/configure_dialog.h
new file mode 100644
index 000000000..d66049340
--- /dev/null
+++ b/src/citra_qt/configure_dialog.h
@@ -0,0 +1,31 @@
+// Copyright 2016 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#ifndef CONFIGURE_DIALOG_H
+#define CONFIGURE_DIALOG_H
+
+#include
+
+namespace Ui {
+class ConfigureDialog;
+}
+
+class ConfigureDialog : public QDialog
+{
+ Q_OBJECT
+
+public:
+ explicit ConfigureDialog(QWidget *parent = 0);
+ ~ConfigureDialog();
+
+ void applyConfiguration();
+
+private:
+ void setConfiguration();
+
+private:
+ Ui::ConfigureDialog *ui;
+};
+
+#endif // CONFIGURE_DIALOG_H
diff --git a/src/citra_qt/configure_general.cpp b/src/citra_qt/configure_general.cpp
new file mode 100644
index 000000000..71d992ebe
--- /dev/null
+++ b/src/citra_qt/configure_general.cpp
@@ -0,0 +1,40 @@
+// Copyright 2016 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include "citra_qt/configure_general.h"
+#include "citra_qt/ui_configure_general.h"
+#include "citra_qt/ui_settings.h"
+
+#include "core/settings.h"
+
+#include "video_core/video_core.h"
+
+ConfigureGeneral::ConfigureGeneral(QWidget *parent) :
+ QWidget(parent),
+ ui(new Ui::ConfigureGeneral)
+{
+ ui->setupUi(this);
+ this->setConfiguration();
+}
+
+ConfigureGeneral::~ConfigureGeneral()
+{
+ delete ui;
+}
+
+void ConfigureGeneral::setConfiguration() {
+ ui->toogleCheckExit->setChecked(UISettings::values.check_closure);
+ ui->toogleHWRenderer->setChecked(Settings::values.use_hw_renderer);
+ ui->toogleShaderJIT->setChecked(Settings::values.use_shader_jit);
+}
+
+void ConfigureGeneral::applyConfiguration() {
+ UISettings::values.check_closure = ui->toogleCheckExit->isChecked();
+
+ VideoCore::g_hw_renderer_enabled =
+ Settings::values.use_hw_renderer = ui->toogleHWRenderer->isChecked();
+
+ VideoCore::g_shader_jit_enabled =
+ Settings::values.use_shader_jit = ui->toogleShaderJIT->isChecked();
+}
diff --git a/src/citra_qt/configure_general.h b/src/citra_qt/configure_general.h
new file mode 100644
index 000000000..0f3b69332
--- /dev/null
+++ b/src/citra_qt/configure_general.h
@@ -0,0 +1,31 @@
+// Copyright 2016 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#ifndef CONFIGURE_GENERAL_H
+#define CONFIGURE_GENERAL_H
+
+#include
+
+namespace Ui {
+class ConfigureGeneral;
+}
+
+class ConfigureGeneral : public QWidget
+{
+ Q_OBJECT
+
+public:
+ explicit ConfigureGeneral(QWidget *parent = 0);
+ ~ConfigureGeneral();
+
+ void applyConfiguration();
+
+private:
+ void setConfiguration();
+
+private:
+ Ui::ConfigureGeneral *ui;
+};
+
+#endif // CONFIGURE_GENERAL_H
diff --git a/src/citra_qt/configure_general.ui b/src/citra_qt/configure_general.ui
new file mode 100644
index 000000000..f847d3c6c
--- /dev/null
+++ b/src/citra_qt/configure_general.ui
@@ -0,0 +1,96 @@
+
+
+ ConfigureGeneral
+
+
+
+ 0
+ 0
+ 284
+ 377
+
+
+
+ Form
+
+
+ -
+
+
-
+
+
+ General
+
+
+
-
+
+
-
+
+
+ Confirm exit while emulation is running
+
+
+
+
+
+
+
+
+ -
+
+
+ Performance
+
+
+
-
+
+
-
+
+
+ Enable hardware renderer
+
+
+
+ -
+
+
+ Enable Shader JIT
+
+
+
+
+
+
+
+
+ -
+
+
+ Hotkeys
+
+
+
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+ GHotkeysDialog
+ QWidget
+
+ 1
+
+
+
+
+
diff --git a/src/citra_qt/hotkeys.cpp b/src/citra_qt/hotkeys.cpp
index ed6b12fc4..929ba6f0e 100644
--- a/src/citra_qt/hotkeys.cpp
+++ b/src/citra_qt/hotkeys.cpp
@@ -94,7 +94,7 @@ QShortcut* GetHotkey(const QString& group, const QString& action, QWidget* widge
}
-GHotkeysDialog::GHotkeysDialog(QWidget* parent): QDialog(parent)
+GHotkeysDialog::GHotkeysDialog(QWidget* parent): QWidget(parent)
{
ui.setupUi(this);
diff --git a/src/citra_qt/hotkeys.h b/src/citra_qt/hotkeys.h
index 2fe635882..50e6cbc21 100644
--- a/src/citra_qt/hotkeys.h
+++ b/src/citra_qt/hotkeys.h
@@ -42,7 +42,7 @@ void SaveHotkeys(QSettings& settings);
*/
void LoadHotkeys(QSettings& settings);
-class GHotkeysDialog : public QDialog
+class GHotkeysDialog : public QWidget
{
Q_OBJECT
diff --git a/src/citra_qt/hotkeys.ui b/src/citra_qt/hotkeys.ui
index 38a9a14d1..050fe064e 100644
--- a/src/citra_qt/hotkeys.ui
+++ b/src/citra_qt/hotkeys.ui
@@ -1,7 +1,7 @@
hotkeys
-
+
0
@@ -39,51 +39,8 @@
- -
-
-
- Qt::Horizontal
-
-
- QDialogButtonBox::Cancel|QDialogButtonBox::Ok|QDialogButtonBox::Reset
-
-
-
-
-
- buttonBox
- accepted()
- hotkeys
- accept()
-
-
- 248
- 254
-
-
- 157
- 274
-
-
-
-
- buttonBox
- rejected()
- hotkeys
- reject()
-
-
- 316
- 260
-
-
- 286
- 274
-
-
-
-
+
diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp
index 32cceaf7e..573036a2a 100644
--- a/src/citra_qt/main.cpp
+++ b/src/citra_qt/main.cpp
@@ -13,6 +13,7 @@
#include "citra_qt/bootmanager.h"
#include "citra_qt/config.h"
+#include "citra_qt/configure_dialog.h"
#include "citra_qt/game_list.h"
#include "citra_qt/hotkeys.h"
#include "citra_qt/main.h"
@@ -145,17 +146,9 @@ GMainWindow::GMainWindow() : emu_thread(nullptr)
game_list->LoadInterfaceLayout(settings);
- ui.action_Use_Gdbstub->setChecked(Settings::values.use_gdbstub);
- SetGdbstubEnabled(ui.action_Use_Gdbstub->isChecked());
-
+ GDBStub::ToggleServer(Settings::values.use_gdbstub);
GDBStub::SetServerPort(static_cast(Settings::values.gdbstub_port));
- ui.action_Use_Hardware_Renderer->setChecked(Settings::values.use_hw_renderer);
- SetHardwareRendererEnabled(ui.action_Use_Hardware_Renderer->isChecked());
-
- ui.action_Use_Shader_JIT->setChecked(Settings::values.use_shader_jit);
- SetShaderJITEnabled(ui.action_Use_Shader_JIT->isChecked());
-
ui.action_Single_Window_Mode->setChecked(settings.value("singleWindowMode", true).toBool());
ToggleWindowMode();
@@ -176,17 +169,14 @@ GMainWindow::GMainWindow() : emu_thread(nullptr)
// Setup connections
connect(game_list, SIGNAL(GameChosen(QString)), this, SLOT(OnGameListLoadFile(QString)));
+ connect(ui.action_Configure, SIGNAL(triggered()), this, SLOT(OnConfigure()));
connect(ui.action_Load_File, SIGNAL(triggered()), this, SLOT(OnMenuLoadFile()));
connect(ui.action_Load_Symbol_Map, SIGNAL(triggered()), this, SLOT(OnMenuLoadSymbolMap()));
connect(ui.action_Select_Game_List_Root, SIGNAL(triggered()), this, SLOT(OnMenuSelectGameListRoot()));
connect(ui.action_Start, SIGNAL(triggered()), this, SLOT(OnStartGame()));
connect(ui.action_Pause, SIGNAL(triggered()), this, SLOT(OnPauseGame()));
connect(ui.action_Stop, SIGNAL(triggered()), this, SLOT(OnStopGame()));
- connect(ui.action_Use_Hardware_Renderer, SIGNAL(triggered(bool)), this, SLOT(SetHardwareRendererEnabled(bool)));
- connect(ui.action_Use_Shader_JIT, SIGNAL(triggered(bool)), this, SLOT(SetShaderJITEnabled(bool)));
- connect(ui.action_Use_Gdbstub, SIGNAL(triggered(bool)), this, SLOT(SetGdbstubEnabled(bool)));
connect(ui.action_Single_Window_Mode, SIGNAL(triggered(bool)), this, SLOT(ToggleWindowMode()));
- connect(ui.action_Hotkeys, SIGNAL(triggered()), this, SLOT(OnOpenHotkeysDialog()));
connect(this, SIGNAL(EmulationStarting(EmuThread*)), disasmWidget, SLOT(OnEmulationStarting(EmuThread*)));
connect(this, SIGNAL(EmulationStopping()), disasmWidget, SLOT(OnEmulationStopping()));
@@ -496,31 +486,6 @@ void GMainWindow::OnStopGame() {
ShutdownGame();
}
-void GMainWindow::OnOpenHotkeysDialog() {
- GHotkeysDialog dialog(this);
- dialog.exec();
-}
-
-void GMainWindow::SetHardwareRendererEnabled(bool enabled) {
- VideoCore::g_hw_renderer_enabled = enabled;
-
- Config config;
- Settings::values.use_hw_renderer = enabled;
- config.Save();
-}
-
-void GMainWindow::SetGdbstubEnabled(bool enabled) {
- GDBStub::ToggleServer(enabled);
-}
-
-void GMainWindow::SetShaderJITEnabled(bool enabled) {
- VideoCore::g_shader_jit_enabled = enabled;
-
- Config config;
- Settings::values.use_shader_jit = enabled;
- config.Save();
-}
-
void GMainWindow::ToggleWindowMode() {
if (ui.action_Single_Window_Mode->isChecked()) {
// Render in the main window...
@@ -547,7 +512,12 @@ void GMainWindow::ToggleWindowMode() {
}
void GMainWindow::OnConfigure() {
- //GControllerConfigDialog* dialog = new GControllerConfigDialog(controller_ports, this);
+ ConfigureDialog configureDialog(this);
+ auto result = configureDialog.exec();
+ if ( result == QDialog::Accepted)
+ {
+ configureDialog.applyConfiguration();
+ }
}
bool GMainWindow::ConfirmClose() {
diff --git a/src/citra_qt/main.h b/src/citra_qt/main.h
index 6e4e56689..7fe425b40 100644
--- a/src/citra_qt/main.h
+++ b/src/citra_qt/main.h
@@ -104,12 +104,8 @@ private slots:
/// Called whenever a user selects the "File->Select Game List Root" menu item
void OnMenuSelectGameListRoot();
void OnMenuRecentFile();
- void OnOpenHotkeysDialog();
void OnConfigure();
void OnDisplayTitleBars(bool);
- void SetHardwareRendererEnabled(bool);
- void SetGdbstubEnabled(bool);
- void SetShaderJITEnabled(bool);
void ToggleWindowMode();
private:
diff --git a/src/citra_qt/main.ui b/src/citra_qt/main.ui
index 1e8a07cfb..441e0b81e 100644
--- a/src/citra_qt/main.ui
+++ b/src/citra_qt/main.ui
@@ -45,7 +45,7 @@
0
0
1081
- 22
+ 19
-
+
+
+ toogle_gdbstub
+ toggled(bool)
+ gdbport_spinbox
+ setEnabled(bool)
+
+
+ 84
+ 157
+
+
+ 342
+ 158
+
+
+
+
diff --git a/src/citra_qt/configure_dialog.cpp b/src/citra_qt/configure_dialog.cpp
index ae442adcd..87c26c715 100644
--- a/src/citra_qt/configure_dialog.cpp
+++ b/src/citra_qt/configure_dialog.cpp
@@ -2,10 +2,10 @@
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
-#include "configure_dialog.h"
+#include "citra_qt/config.h"
+#include "citra_qt/configure_dialog.h"
#include "ui_configure.h"
-#include "config.h"
#include "core/settings.h"
@@ -18,15 +18,12 @@ ConfigureDialog::ConfigureDialog(QWidget *parent) :
}
ConfigureDialog::~ConfigureDialog() {
- delete ui;
}
void ConfigureDialog::setConfiguration() {
}
void ConfigureDialog::applyConfiguration() {
- Config config;
ui->generalTab->applyConfiguration();
ui->debugTab->applyConfiguration();
- config.Save();
}
diff --git a/src/citra_qt/configure_dialog.h b/src/citra_qt/configure_dialog.h
index d66049340..89020eeb4 100644
--- a/src/citra_qt/configure_dialog.h
+++ b/src/citra_qt/configure_dialog.h
@@ -2,9 +2,9 @@
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
-#ifndef CONFIGURE_DIALOG_H
-#define CONFIGURE_DIALOG_H
+#pragma once
+#include
#include
namespace Ui {
@@ -16,7 +16,7 @@ class ConfigureDialog : public QDialog
Q_OBJECT
public:
- explicit ConfigureDialog(QWidget *parent = 0);
+ explicit ConfigureDialog(QWidget *parent = nullptr);
~ConfigureDialog();
void applyConfiguration();
@@ -25,7 +25,5 @@ private:
void setConfiguration();
private:
- Ui::ConfigureDialog *ui;
+ std::unique_ptr ui;
};
-
-#endif // CONFIGURE_DIALOG_H
diff --git a/src/citra_qt/configure_general.cpp b/src/citra_qt/configure_general.cpp
index 71d992ebe..350bd794d 100644
--- a/src/citra_qt/configure_general.cpp
+++ b/src/citra_qt/configure_general.cpp
@@ -3,8 +3,8 @@
// Refer to the license.txt file included.
#include "citra_qt/configure_general.h"
-#include "citra_qt/ui_configure_general.h"
#include "citra_qt/ui_settings.h"
+#include "ui_configure_general.h"
#include "core/settings.h"
@@ -18,23 +18,26 @@ ConfigureGeneral::ConfigureGeneral(QWidget *parent) :
this->setConfiguration();
}
-ConfigureGeneral::~ConfigureGeneral()
-{
- delete ui;
+ConfigureGeneral::~ConfigureGeneral() {
}
void ConfigureGeneral::setConfiguration() {
- ui->toogleCheckExit->setChecked(UISettings::values.check_closure);
- ui->toogleHWRenderer->setChecked(Settings::values.use_hw_renderer);
- ui->toogleShaderJIT->setChecked(Settings::values.use_shader_jit);
+ ui->toogle_deepscan->setChecked(UISettings::values.gamedir_deepscan);
+ ui->toogle_check_exit->setChecked(UISettings::values.confirm_before_closing);
+ ui->region_combobox->setCurrentIndex(Settings::values.region_value);
+ ui->toogle_hw_renderer->setChecked(Settings::values.use_hw_renderer);
+ ui->toogle_shader_jit->setChecked(Settings::values.use_shader_jit);
}
void ConfigureGeneral::applyConfiguration() {
- UISettings::values.check_closure = ui->toogleCheckExit->isChecked();
+ UISettings::values.gamedir_deepscan = ui->toogle_deepscan->isChecked();
+ UISettings::values.confirm_before_closing = ui->toogle_check_exit->isChecked();
+
+ Settings::values.region_value = ui->region_combobox->currentIndex();
VideoCore::g_hw_renderer_enabled =
- Settings::values.use_hw_renderer = ui->toogleHWRenderer->isChecked();
+ Settings::values.use_hw_renderer = ui->toogle_hw_renderer->isChecked();
VideoCore::g_shader_jit_enabled =
- Settings::values.use_shader_jit = ui->toogleShaderJIT->isChecked();
+ Settings::values.use_shader_jit = ui->toogle_shader_jit->isChecked();
}
diff --git a/src/citra_qt/configure_general.h b/src/citra_qt/configure_general.h
index 0f3b69332..a6c68e62d 100644
--- a/src/citra_qt/configure_general.h
+++ b/src/citra_qt/configure_general.h
@@ -2,9 +2,9 @@
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
-#ifndef CONFIGURE_GENERAL_H
-#define CONFIGURE_GENERAL_H
+#pragma once
+#include
#include
namespace Ui {
@@ -16,7 +16,7 @@ class ConfigureGeneral : public QWidget
Q_OBJECT
public:
- explicit ConfigureGeneral(QWidget *parent = 0);
+ explicit ConfigureGeneral(QWidget *parent = nullptr);
~ConfigureGeneral();
void applyConfiguration();
@@ -25,7 +25,5 @@ private:
void setConfiguration();
private:
- Ui::ConfigureGeneral *ui;
+ std::unique_ptr ui;
};
-
-#endif // CONFIGURE_GENERAL_H
diff --git a/src/citra_qt/configure_general.ui b/src/citra_qt/configure_general.ui
index f847d3c6c..47184c5c6 100644
--- a/src/citra_qt/configure_general.ui
+++ b/src/citra_qt/configure_general.ui
@@ -6,7 +6,7 @@
0
0
- 284
+ 300
377
@@ -25,7 +25,14 @@
-
-
-
+
+
+ Recursive scan for game folder
+
+
+
+ -
+
Confirm exit while emulation is running
@@ -36,6 +43,69 @@
+ -
+
+
+ Emulation
+
+
+
-
+
+
-
+
+
-
+
+
+ Region:
+
+
+
+ -
+
+
-
+
+ JPN
+
+
+ -
+
+ USA
+
+
+ -
+
+ EUR
+
+
+ -
+
+ AUS
+
+
+ -
+
+ CHN
+
+
+ -
+
+ KOR
+
+
+ -
+
+ TWN
+
+
+
+
+
+
+
+
+
+
+
-
@@ -45,16 +115,16 @@
-
-
-
+
Enable hardware renderer
-
-
+
- Enable Shader JIT
+ Enable shader JIT
diff --git a/src/citra_qt/hotkeys.cpp b/src/citra_qt/hotkeys.cpp
index 92525d53c..41f95c63d 100644
--- a/src/citra_qt/hotkeys.cpp
+++ b/src/citra_qt/hotkeys.cpp
@@ -32,9 +32,10 @@ void SaveHotkeys()
{
for (auto hotkey : group.second)
{
- UISettings::values.shortcuts.push_back(UISettings::Shortcut(group.first + "/" + hotkey.first,
- UISettings::ContextedShortcut(hotkey.second.keyseq.toString(),
- hotkey.second.context)));
+ UISettings::values.shortcuts.emplace_back(
+ UISettings::Shortcut(group.first + "/" + hotkey.first,
+ UISettings::ContextualShortcut(hotkey.second.keyseq.toString(),
+ hotkey.second.context)));
}
}
}
diff --git a/src/citra_qt/hotkeys.h b/src/citra_qt/hotkeys.h
index 79a685074..38aa5f012 100644
--- a/src/citra_qt/hotkeys.h
+++ b/src/citra_qt/hotkeys.h
@@ -2,6 +2,8 @@
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
+#pragma once
+
#include "ui_hotkeys.h"
class QDialog;
diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp
index 26904c71d..a81c6db3f 100644
--- a/src/citra_qt/main.cpp
+++ b/src/citra_qt/main.cpp
@@ -194,7 +194,7 @@ GMainWindow::GMainWindow() : config(new Config()), emu_thread(nullptr)
show();
- game_list->PopulateAsync(UISettings::values.gamedir_path, UISettings::values.gamedir_deepscan);
+ game_list->PopulateAsync(UISettings::values.gamedir, UISettings::values.gamedir_deepscan);
QStringList args = QApplication::arguments();
if (args.length() >= 2) {
@@ -416,7 +416,7 @@ void GMainWindow::OnMenuLoadSymbolMap() {
void GMainWindow::OnMenuSelectGameListRoot() {
QString dir_path = QFileDialog::getExistingDirectory(this, tr("Select Directory"));
if (!dir_path.isEmpty()) {
- UISettings::values.gamedir_path = dir_path;
+ UISettings::values.gamedir = dir_path;
game_list->PopulateAsync(dir_path, UISettings::values.gamedir_deepscan);
}
}
@@ -488,14 +488,15 @@ void GMainWindow::ToggleWindowMode() {
void GMainWindow::OnConfigure() {
ConfigureDialog configureDialog(this);
auto result = configureDialog.exec();
- if ( result == QDialog::Accepted)
+ if (result == QDialog::Accepted)
{
configureDialog.applyConfiguration();
+ config->Save();
}
}
bool GMainWindow::ConfirmClose() {
- if (emu_thread == nullptr || !confirm_before_closing)
+ if (emu_thread == nullptr || !UISettings::values.confirm_before_closing)
return true;
auto answer = QMessageBox::question(this, tr("Citra"),
diff --git a/src/citra_qt/main.h b/src/citra_qt/main.h
index bd620676b..477db5c5c 100644
--- a/src/citra_qt/main.h
+++ b/src/citra_qt/main.h
@@ -130,7 +130,6 @@ private:
GPUCommandListWidget* graphicsCommandsWidget;
QAction* actions_recent_files[max_recent_files_item];
- bool confirm_before_closing;
};
#endif // _CITRA_QT_MAIN_HXX_
diff --git a/src/citra_qt/ui_settings.h b/src/citra_qt/ui_settings.h
index 729866d56..62db4a73e 100644
--- a/src/citra_qt/ui_settings.h
+++ b/src/citra_qt/ui_settings.h
@@ -2,8 +2,7 @@
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
-#ifndef UISETTINGS_H
-#define UISETTINGS_H
+#pragma once
#include
#include
@@ -13,8 +12,8 @@
namespace UISettings {
- typedef std::pair ContextedShortcut;
- typedef std::pair Shortcut;
+using ContextualShortcut = std::pair ;
+using Shortcut = std::pair;
struct Values {
QByteArray geometry;
@@ -30,19 +29,19 @@ struct Values {
bool single_window_mode;
bool display_titlebar;
- bool check_closure;
+ bool confirm_before_closing;
bool first_start;
QString roms_path;
QString symbols_path;
- QString gamedir_path;
+ QString gamedir;
bool gamedir_deepscan;
QStringList recent_files;
// Shortcut name
std::vector shortcuts;
-} extern values;
+};
-}
+extern Values values;
-#endif // UISETTINGS_H
+}
--
cgit v1.2.3