summaryrefslogtreecommitdiffstats
path: root/src/citra_qt/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/citra_qt/main.cpp')
-rw-r--r--src/citra_qt/main.cpp65
1 files changed, 37 insertions, 28 deletions
diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp
index 8dadb44ef..01841b33c 100644
--- a/src/citra_qt/main.cpp
+++ b/src/citra_qt/main.cpp
@@ -4,51 +4,49 @@
#include <thread>
-#include <QtGui>
#include <QDesktopWidget>
+#include <QtGui>
#include <QFileDialog>
#include <QMessageBox>
#include "qhexedit.h"
-#include "main.h"
-#include "common/string_util.h"
-#include "common/logging/text_formatter.h"
-#include "common/logging/log.h"
-#include "common/logging/backend.h"
-#include "common/logging/filter.h"
+#include "citra_qt/bootmanager.h"
+#include "citra_qt/config.h"
+#include "citra_qt/hotkeys.h"
+#include "citra_qt/main.h"
+
+// Debugger
+#include "citra_qt/debugger/callstack.h"
+#include "citra_qt/debugger/disassembler.h"
+#include "citra_qt/debugger/graphics.h"
+#include "citra_qt/debugger/graphics_breakpoints.h"
+#include "citra_qt/debugger/graphics_cmdlists.h"
+#include "citra_qt/debugger/graphics_framebuffer.h"
+#include "citra_qt/debugger/graphics_tracing.h"
+#include "citra_qt/debugger/graphics_vertex_shader.h"
+#include "citra_qt/debugger/profiler.h"
+#include "citra_qt/debugger/ramview.h"
+#include "citra_qt/debugger/registers.h"
+
#include "common/make_unique.h"
#include "common/microprofile.h"
#include "common/platform.h"
#include "common/scm_rev.h"
#include "common/scope_exit.h"
+#include "common/string_util.h"
+#include "common/logging/backend.h"
+#include "common/logging/filter.h"
+#include "common/logging/log.h"
+#include "common/logging/text_formatter.h"
-#include "bootmanager.h"
-#include "hotkeys.h"
-
-//debugger
-#include "debugger/disassembler.h"
-#include "debugger/registers.h"
-#include "debugger/callstack.h"
-#include "debugger/ramview.h"
-#include "debugger/graphics.h"
-#include "debugger/graphics_breakpoints.h"
-#include "debugger/graphics_cmdlists.h"
-#include "debugger/graphics_framebuffer.h"
-#include "debugger/graphics_tracing.h"
-#include "debugger/graphics_vertex_shader.h"
-#include "debugger/profiler.h"
-
+#include "core/core.h"
#include "core/settings.h"
#include "core/system.h"
-#include "core/core.h"
-#include "core/loader/loader.h"
#include "core/arm/disassembler/load_symbol_map.h"
-#include "citra_qt/config.h"
+#include "core/loader/loader.h"
#include "video_core/video_core.h"
-#include "version.h"
-
GMainWindow::GMainWindow() : emu_thread(nullptr)
{
Pica::g_debug_context = Pica::DebugContext::Construct();
@@ -130,11 +128,14 @@ GMainWindow::GMainWindow() : emu_thread(nullptr)
// Restore UI state
QSettings settings;
+
+ settings.beginGroup("UILayout");
restoreGeometry(settings.value("geometry").toByteArray());
restoreState(settings.value("state").toByteArray());
render_window->restoreGeometry(settings.value("geometryRenderWindow").toByteArray());
microProfileDialog->restoreGeometry(settings.value("microProfileDialogGeometry").toByteArray());
microProfileDialog->setVisible(settings.value("microProfileDialogVisible").toBool());
+ settings.endGroup();
ui.action_Use_Hardware_Renderer->setChecked(Settings::values.use_hw_renderer);
SetHardwareRendererEnabled(ui.action_Use_Hardware_Renderer->isChecked());
@@ -301,6 +302,10 @@ void GMainWindow::StoreRecentFile(const QString& filename)
QStringList recent_files = settings.value("recentFiles").toStringList();
recent_files.prepend(filename);
recent_files.removeDuplicates();
+ while (recent_files.size() > max_recent_files_item) {
+ recent_files.removeLast();
+ }
+
settings.setValue("recentFiles", recent_files);
UpdateRecentFiles();
@@ -439,11 +444,15 @@ void GMainWindow::OnConfigure() {
void GMainWindow::closeEvent(QCloseEvent* event) {
// Save window layout
QSettings settings(QSettings::IniFormat, QSettings::UserScope, "Citra team", "Citra");
+
+ settings.beginGroup("UILayout");
settings.setValue("geometry", saveGeometry());
settings.setValue("state", saveState());
settings.setValue("geometryRenderWindow", render_window->saveGeometry());
settings.setValue("microProfileDialogGeometry", microProfileDialog->saveGeometry());
settings.setValue("microProfileDialogVisible", microProfileDialog->isVisible());
+ settings.endGroup();
+
settings.setValue("singleWindowMode", ui.action_Single_Window_Mode->isChecked());
settings.setValue("displayTitleBars", ui.actionDisplay_widget_title_bars->isChecked());
settings.setValue("firstStart", false);