From 3a8aedf39ea1de8c570c2bab866e8dbcee4ff506 Mon Sep 17 00:00:00 2001 From: "Joachim Wuttke (h)" <j.wuttke@fz-juelich.de> Date: Thu, 23 Nov 2023 14:01:21 +0100 Subject: [PATCH] Revert "remove autocreation project on startup" This reverts commit bfdf0aaf07cf5912a2cd92d519082ccf0cd65b83. --- GUI/View/Main/ActionManager.cpp | 10 ++++++++++ GUI/View/Main/MainWindow.cpp | 3 +++ GUI/View/Widget/ApplicationSettings.cpp | 11 +++++++++++ GUI/View/Widget/ApplicationSettings.h | 2 ++ 4 files changed, 26 insertions(+) diff --git a/GUI/View/Main/ActionManager.cpp b/GUI/View/Main/ActionManager.cpp index 363393c4dbb..3e5ce8e85ff 100644 --- a/GUI/View/Main/ActionManager.cpp +++ b/GUI/View/Main/ActionManager.cpp @@ -225,6 +225,16 @@ void ActionManager::onAboutToShowSettingsMenu() &ProjectManager::setAutosaveEnabled); m_settingsMenu->addAction(action); + action = new QWidgetAction(m_settingsMenu); + checkBox = new QCheckBox("&Create project on startup", m_settingsMenu); + action->setText("&Create project on startup"); + action->setDefaultWidget(checkBox); + action->setCheckable(true); + checkBox->setChecked(appSettings->createNewProjectOnStartup()); + connect(checkBox, &QCheckBox::toggled, + [](bool b) { appSettings->setCreateNewProjectOnStartup(b); }); + m_settingsMenu->addAction(action); + m_settingsMenu->addSeparator(); auto* styleMenu = m_settingsMenu->addMenu("Interface Style"); diff --git a/GUI/View/Main/MainWindow.cpp b/GUI/View/Main/MainWindow.cpp index 7bdaeb4a59b..af66ce8b559 100644 --- a/GUI/View/Main/MainWindow.cpp +++ b/GUI/View/Main/MainWindow.cpp @@ -102,6 +102,9 @@ MainWindow::MainWindow() m_viewSelectionButtons->button(GUI::ID::ViewId::Projects)->setChecked(true); updateTitle(); + if (appSettings) + if (appSettings->createNewProjectOnStartup()) + m_projectManager->newProject(); } MainWindow::~MainWindow() = default; diff --git a/GUI/View/Widget/ApplicationSettings.cpp b/GUI/View/Widget/ApplicationSettings.cpp index e497d6199e2..292c6923b0d 100644 --- a/GUI/View/Widget/ApplicationSettings.cpp +++ b/GUI/View/Widget/ApplicationSettings.cpp @@ -23,6 +23,7 @@ namespace { +const QString S_CREATE_NEW_PROJECT_ON_STARTUP = "CreateNewProjectOnStartup"; const QString S_STYLE = "UiStyle"; const QString S_SIZE = "Size"; const QString S_POS = "Pos"; @@ -48,6 +49,16 @@ bool ApplicationSettings::useNativeFileDialog() const #endif } +bool ApplicationSettings::createNewProjectOnStartup() const +{ + return QSettings().value(S_CREATE_NEW_PROJECT_ON_STARTUP, false).toBool(); +} + +void ApplicationSettings::setCreateNewProjectOnStartup(bool b) +{ + QSettings().setValue(S_CREATE_NEW_PROJECT_ON_STARTUP, b); +} + ApplicationSettings::Style ApplicationSettings::styleToUse() const { return static_cast<Style>(QSettings().value(S_STYLE, static_cast<int>(Style::light)).toInt()); diff --git a/GUI/View/Widget/ApplicationSettings.h b/GUI/View/Widget/ApplicationSettings.h index c2a24f7c3d1..86b8a8a57b0 100644 --- a/GUI/View/Widget/ApplicationSettings.h +++ b/GUI/View/Widget/ApplicationSettings.h @@ -32,6 +32,8 @@ public: ApplicationSettings(); bool useNativeFileDialog() const; + bool createNewProjectOnStartup() const; + void setCreateNewProjectOnStartup(bool b); Style styleToUse() const; void setStyleToUse(Style style); -- GitLab