diff options
author | Sky <git@bunnies.cc> | 2013-11-03 00:45:25 +0000 |
---|---|---|
committer | Sky <git@bunnies.cc> | 2013-11-03 00:45:25 +0000 |
commit | 09dc35688398b2dde41817828c4c657143506d3b (patch) | |
tree | 736616880b8a634e954a474ef75028998962b299 | |
parent | 8c7f15cefb17b036d4f55ca5283e26cb64ff2fc7 (diff) | |
download | MultiMC-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.cpp | 6 | ||||
-rw-r--r-- | gui/mainwindow.cpp | 7 |
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(); } |