diff options
Diffstat (limited to 'src/citra_qt/main.cpp')
-rw-r--r-- | src/citra_qt/main.cpp | 65 |
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); |