From f55b4ca7f75730dc264e4773633c4ae3b6832929 Mon Sep 17 00:00:00 2001 From: "Zheng, Lei" Date: Wed, 4 Sep 2019 16:58:03 +0800 Subject: [PATCH] Gui: minor adjustment on command status update --- src/Gui/Application.cpp | 3 +++ src/Gui/Document.cpp | 2 ++ src/Gui/MainWindow.cpp | 2 -- src/Gui/TaskView/TaskView.cpp | 5 +++++ 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Gui/Application.cpp b/src/Gui/Application.cpp index 982215d144..049cfcb396 100644 --- a/src/Gui/Application.cpp +++ b/src/Gui/Application.cpp @@ -958,6 +958,9 @@ void Application::setActiveDocument(Gui::Document* pcDocument) { if (d->activeDocument == pcDocument) return; // nothing needs to be done + + getMainWindow()->updateActions(); + if (pcDocument) { // This happens if a document with more than one view is about being // closed and a second view is activated. The document is still not diff --git a/src/Gui/Document.cpp b/src/Gui/Document.cpp index a72397b53f..9e749027c9 100644 --- a/src/Gui/Document.cpp +++ b/src/Gui/Document.cpp @@ -772,6 +772,8 @@ void Document::slotChangedObject(const App::DocumentObject& Obj, const App::Prop FC_LOG(Prop.getFullName() << " modified"); setModified(true); } + + getMainWindow()->updateActions(true); } void Document::slotRelabelObject(const App::DocumentObject& Obj) diff --git a/src/Gui/MainWindow.cpp b/src/Gui/MainWindow.cpp index 0d7ce10859..d4f67e5bee 100644 --- a/src/Gui/MainWindow.cpp +++ b/src/Gui/MainWindow.cpp @@ -1001,7 +1001,6 @@ void MainWindow::setActiveWindow(MDIView* view) onSetActiveSubWindow(view->parentWidget()); d->activeView = view; Application::Instance->viewActivated(view); - updateActions(); } void MainWindow::onWindowActivated(QMdiSubWindow* w) @@ -1025,7 +1024,6 @@ void MainWindow::onWindowActivated(QMdiSubWindow* w) // set active the appropriate window (it needs not to be part of mdiIds, e.g. directly after creation) d->activeView = view; Application::Instance->viewActivated(view); - updateActions(); } void MainWindow::onWindowsMenuAboutToShow() diff --git a/src/Gui/TaskView/TaskView.cpp b/src/Gui/TaskView/TaskView.cpp index 94f5363b65..09c00650e6 100644 --- a/src/Gui/TaskView/TaskView.cpp +++ b/src/Gui/TaskView/TaskView.cpp @@ -44,6 +44,7 @@ #include #include #include +#include #if defined (QSINT_ACTIONPANEL) #include @@ -613,10 +614,14 @@ void TaskView::showDialog(TaskDialog *dlg) ActiveDialog = dlg; ActiveDialog->open(); + + getMainWindow()->updateActions(); } void TaskView::removeDialog(void) { + getMainWindow()->updateActions(); + if (ActiveCtrl) { taskPanel->removeWidget(ActiveCtrl); delete ActiveCtrl;