aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Yuri Kunde Schlesner <yuriks@yuriks.net>2015-07-31 16:00:09 -0700
committerGravatar Yuri Kunde Schlesner <yuriks@yuriks.net>2015-07-31 16:00:09 -0700
commit1af1c5c37b2001f3ae4360c18aac2196be535894 (patch)
tree5c770e72221afb7d777f634930198ee1bbd24de0 /src
parentce65925bc384632a39bb066e5ff581100d1beb69 (diff)
parentcb405ad1b4410bd1adff2bc07312ddb1f2d1284d (diff)
Merge pull request #999 from LittleWhite-tb/qt-save-location
Save the path leading where the last file have been loaded
Diffstat (limited to 'src')
-rw-r--r--src/citra_qt/main.cpp25
1 files changed, 20 insertions, 5 deletions
diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp
index e93e8ebb..6b030c17 100644
--- a/src/citra_qt/main.cpp
+++ b/src/citra_qt/main.cpp
@@ -122,9 +122,8 @@ GMainWindow::GMainWindow() : emu_thread(nullptr)
y = (screenRect.y() + screenRect.height()) / 2 - h * 55 / 100;
setGeometry(x, y, w, h);
-
// Restore UI state
- QSettings settings(QSettings::IniFormat, QSettings::UserScope, "Citra team", "Citra");
+ QSettings settings;
restoreGeometry(settings.value("geometry").toByteArray());
restoreState(settings.value("state").toByteArray());
render_window->restoreGeometry(settings.value("geometryRenderWindow").toByteArray());
@@ -271,8 +270,13 @@ void GMainWindow::ShutdownGame() {
void GMainWindow::OnMenuLoadFile()
{
- QString filename = QFileDialog::getOpenFileName(this, tr("Load File"), QString(), tr("3DS executable (*.3ds *.3dsx *.elf *.axf *.cci *.cxi)"));
+ QSettings settings;
+ QString rom_path = settings.value("romsPath", QString()).toString();
+
+ QString filename = QFileDialog::getOpenFileName(this, tr("Load File"), rom_path, tr("3DS executable (*.3ds *.3dsx *.elf *.axf *.cci *.cxi)"));
if (filename.size()) {
+ settings.setValue("romsPath", QFileInfo(filename).path());
+
// Shutdown previous session if the emu thread is still active...
if (emu_thread != nullptr)
ShutdownGame();
@@ -282,9 +286,15 @@ void GMainWindow::OnMenuLoadFile()
}
void GMainWindow::OnMenuLoadSymbolMap() {
- QString filename = QFileDialog::getOpenFileName(this, tr("Load Symbol Map"), QString(), tr("Symbol map (*)"));
- if (filename.size())
+ QSettings settings;
+ QString symbol_path = settings.value("symbolsPath", QString()).toString();
+
+ QString filename = QFileDialog::getOpenFileName(this, tr("Load Symbol Map"), symbol_path, tr("Symbol map (*)"));
+ if (filename.size()) {
+ settings.setValue("symbolsPath", QFileInfo(filename).path());
+
LoadSymbolMap(filename.toLatin1().data());
+ }
}
void GMainWindow::OnStartGame()
@@ -375,6 +385,11 @@ int main(int argc, char* argv[])
Log::Filter log_filter(Log::Level::Info);
Log::SetFilter(&log_filter);
+ // Init settings params
+ QSettings::setDefaultFormat(QSettings::IniFormat);
+ QCoreApplication::setOrganizationName("Citra team");
+ QCoreApplication::setApplicationName("Citra");
+
QApplication::setAttribute(Qt::AA_X11InitThreads);
QApplication app(argc, argv);