From 684e9fd42537437f5f7c33759af746aa56786dcc Mon Sep 17 00:00:00 2001 From: wmayer Date: Wed, 15 Feb 2023 23:58:13 +0100 Subject: [PATCH] Gui: fix removing item from recent files list --- src/Gui/Action.cpp | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/src/Gui/Action.cpp b/src/Gui/Action.cpp index a43253c775..df84585d76 100644 --- a/src/Gui/Action.cpp +++ b/src/Gui/Action.cpp @@ -918,6 +918,22 @@ public: } } + void trySaveUserParameter() + { + // update the XML structure and save the user parameter to disk (#0001989) + bool saveParameter = App::GetApplication().GetParameterGroupByPath + ("User parameter:BaseApp/Preferences/General")->GetBool("SaveUserParameter", true); + if (saveParameter) { + saveUserParameter(); + } + } + + void saveUserParameter() + { + ParameterManager* parmgr = App::GetApplication().GetParameterSet("User parameter"); + parmgr->SaveDocument(App::Application::Config()["UserParameter"].c_str()); + } + public: RecentFilesAction *master; ParameterGrp::handle handle; @@ -954,13 +970,7 @@ void RecentFilesAction::appendFile(const QString& filename) setFiles(files); save(); - // update the XML structure and save the user parameter to disk (#0001989) - bool saveParameter = App::GetApplication().GetParameterGroupByPath - ("User parameter:BaseApp/Preferences/General")->GetBool("SaveUserParameter", true); - if (saveParameter) { - ParameterManager* parmgr = App::GetApplication().GetParameterSet("User parameter"); - parmgr->SaveDocument(App::Application::Config()["UserParameter"].c_str()); - } + _pimpl->trySaveUserParameter(); } /** @@ -1022,6 +1032,7 @@ void RecentFilesAction::activateFile(int id) QMessageBox::critical(getMainWindow(), tr("File not found"), tr("The file '%1' cannot be opened.").arg(filename)); files.removeAll(filename); setFiles(files); + save(); } else { // invokes appendFile()