summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSky <git@bunnies.cc>2013-11-03 00:45:25 +0000
committerSky <git@bunnies.cc>2013-11-03 00:45:25 +0000
commit09dc35688398b2dde41817828c4c657143506d3b (patch)
tree736616880b8a634e954a474ef75028998962b299
parent8c7f15cefb17b036d4f55ca5283e26cb64ff2fc7 (diff)
downloadMultiMC-09dc35688398b2dde41817828c4c657143506d3b.tar
MultiMC-09dc35688398b2dde41817828c4c657143506d3b.tar.gz
MultiMC-09dc35688398b2dde41817828c4c657143506d3b.tar.lz
MultiMC-09dc35688398b2dde41817828c4c657143506d3b.tar.xz
MultiMC-09dc35688398b2dde41817828c4c657143506d3b.zip
Main window geometry and state saving/reloading
-rw-r--r--MultiMC.cpp6
-rw-r--r--gui/mainwindow.cpp7
2 files changed, 10 insertions, 3 deletions
diff --git a/MultiMC.cpp b/MultiMC.cpp
index d13d1443..bb65050f 100644
--- a/MultiMC.cpp
+++ b/MultiMC.cpp
@@ -336,6 +336,10 @@ void MultiMC::initGlobalSettings()
QUuid uuid = QUuid::createUuid();
m_settings->set("YggdrasilClientToken", uuid.toString());
}
+
+ // Window state and geometry
+ m_settings->registerSetting(new Setting("MainWindowState", ""));
+ m_settings->registerSetting(new Setting("MainWindowGeometry", ""));
}
void MultiMC::initHttpMetaCache()
@@ -398,6 +402,8 @@ int main_gui(MultiMC &app)
{
// show main window
MainWindow mainWin;
+ mainWin.restoreState(QByteArray::fromBase64(MMC->settings()->get("MainWindowState").toByteArray()));
+ mainWin.restoreGeometry(QByteArray::fromBase64(MMC->settings()->get("MainWindowGeometry").toByteArray()));
mainWin.show();
mainWin.checkSetDefaultJava();
return app.exec();
diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp
index b2fdbe16..00cfacf7 100644
--- a/gui/mainwindow.cpp
+++ b/gui/mainwindow.cpp
@@ -449,9 +449,10 @@ void MainWindow::on_actionEditInstMods_triggered()
void MainWindow::closeEvent(QCloseEvent *event)
{
// Save the window state and geometry.
- // TODO: Make this work with the new settings system.
- // settings->getConfig().setValue("MainWindowGeometry", saveGeometry());
- // settings->getConfig().setValue("MainWindowState", saveState());
+
+ MMC->settings()->set("MainWindowState", saveState().toBase64());
+ MMC->settings()->set("MainWindowGeometry", saveGeometry().toBase64());
+
QMainWindow::closeEvent(event);
QApplication::exit();
}