From 330e3843d285d1d4694936c6553ce8e594908e48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20Gr=C3=B6ger?= <tobias.groeger@student.kit.edu> Date: Sat, 13 Jul 2024 17:54:31 +0200 Subject: [PATCH] ScenarioManager: ignore any file changes made by us --- .../ScenarioManager/gui/detailedapplicationview.cpp | 10 +++++++++- .../ScenarioManager/gui/detailedapplicationview.h | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/source/ArmarXGui/gui-plugins/ScenarioManager/gui/detailedapplicationview.cpp b/source/ArmarXGui/gui-plugins/ScenarioManager/gui/detailedapplicationview.cpp index 9a22dc14..839e2ac1 100644 --- a/source/ArmarXGui/gui-plugins/ScenarioManager/gui/detailedapplicationview.cpp +++ b/source/ArmarXGui/gui-plugins/ScenarioManager/gui/detailedapplicationview.cpp @@ -1049,8 +1049,10 @@ DetailedApplicationView::on_fileUpdate() lastAppInstance->save(); } - + // we want to ignore any file changes made by us to avoid unnecessarily updating the GUI + ignoreFileChanges = true; emit saveScenario(lastAppInstance); + ignoreFileChanges = false; } else if (lastScenario.get() != nullptr) { @@ -1097,6 +1099,12 @@ DetailedApplicationView::on_makeLocalButton_clicked() void DetailedApplicationView::on_fileWatcherUpdate(const QString& path) { + if (ignoreFileChanges) + { + ARMARX_VERBOSE << "Ignoring file change from: " << path.toStdString(); + return; + } + ARMARX_VERBOSE << "File changed: " << path.toStdString() << " -> reloading config"; if (lastAppInstance.get() != nullptr) diff --git a/source/ArmarXGui/gui-plugins/ScenarioManager/gui/detailedapplicationview.h b/source/ArmarXGui/gui-plugins/ScenarioManager/gui/detailedapplicationview.h index 227e46c7..86133728 100644 --- a/source/ArmarXGui/gui-plugins/ScenarioManager/gui/detailedapplicationview.h +++ b/source/ArmarXGui/gui-plugins/ScenarioManager/gui/detailedapplicationview.h @@ -155,6 +155,7 @@ private: QTimer updateTimer; QFileSystemWatcher fileSystemWatcher; + bool ignoreFileChanges = false; }; using DetailedApplicationViewPtr = std::shared_ptr<DetailedApplicationView>; -- GitLab