From ce99fabe1396ed2956dc7ecb468760ef88f98765 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Sat, 23 May 2015 16:07:47 +0200 Subject: GH-992 Add a transaction/locking mechanism to settings objects This can cut the FTB loading by ~66% - worth it, but not ideal. Real solution will have to be implemented later. --- application/ConsoleWindow.cpp | 4 ++-- application/MainWindow.cpp | 6 +++--- application/pages/InstanceSettingsPage.cpp | 2 +- application/pages/InstanceSettingsPage.h | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) (limited to 'application') diff --git a/application/ConsoleWindow.cpp b/application/ConsoleWindow.cpp index 52c68299..a96d84a1 100644 --- a/application/ConsoleWindow.cpp +++ b/application/ConsoleWindow.cpp @@ -138,7 +138,7 @@ ConsoleWindow::ConsoleWindow(BaseProcess *process, QWidget *parent) setMayClose(false); - if (m_proc->instance()->settings().get("ShowConsole").toBool()) + if (m_proc->instance()->settings()->get("ShowConsole").toBool()) { show(); } @@ -225,7 +225,7 @@ void ConsoleWindow::onEnded(InstancePtr instance, int code, QProcess::ExitStatus bool peacefulExit = code == 0 && status != QProcess::CrashExit; m_killButton->setEnabled(false); setMayClose(true); - if (instance->settings().get("AutoCloseConsole").toBool()) + if (instance->settings()->get("AutoCloseConsole").toBool()) { if (peacefulExit) { diff --git a/application/MainWindow.cpp b/application/MainWindow.cpp index 02052392..1409a924 100644 --- a/application/MainWindow.cpp +++ b/application/MainWindow.cpp @@ -1548,7 +1548,7 @@ void MainWindow::instanceActivated(QModelIndex index) if (!inst) return; - JavaCommon::checkJVMArgs(inst->settings().get("JvmArgs").toString(), this); + JavaCommon::checkJVMArgs(inst->settings()->get("JvmArgs").toString(), this); doLaunch(); } @@ -1557,7 +1557,7 @@ void MainWindow::on_actionLaunchInstance_triggered() { if (m_selectedInstance) { - JavaCommon::checkJVMArgs(m_selectedInstance->settings().get("JvmArgs").toString(), this); + JavaCommon::checkJVMArgs(m_selectedInstance->settings()->get("JvmArgs").toString(), this); doLaunch(); } } @@ -1566,7 +1566,7 @@ void MainWindow::on_actionLaunchInstanceOffline_triggered() { if (m_selectedInstance) { - JavaCommon::checkJVMArgs(m_selectedInstance->settings().get("JvmArgs").toString(), this); + JavaCommon::checkJVMArgs(m_selectedInstance->settings()->get("JvmArgs").toString(), this); doLaunch(false); } } diff --git a/application/pages/InstanceSettingsPage.cpp b/application/pages/InstanceSettingsPage.cpp index 4fc812b2..3dc79688 100644 --- a/application/pages/InstanceSettingsPage.cpp +++ b/application/pages/InstanceSettingsPage.cpp @@ -14,7 +14,7 @@ InstanceSettingsPage::InstanceSettingsPage(BaseInstance *inst, QWidget *parent) : QWidget(parent), ui(new Ui::InstanceSettingsPage), m_instance(inst) { - m_settings = &(inst->settings()); + m_settings = inst->settings(); ui->setupUi(this); loadSettings(); } diff --git a/application/pages/InstanceSettingsPage.h b/application/pages/InstanceSettingsPage.h index 55ae69db..f85de678 100644 --- a/application/pages/InstanceSettingsPage.h +++ b/application/pages/InstanceSettingsPage.h @@ -69,6 +69,6 @@ private slots: private: Ui::InstanceSettingsPage *ui; BaseInstance *m_instance; - SettingsObject *m_settings; + SettingsObjectPtr m_settings; QObjectPtr checker; }; -- cgit v1.2.3