From 38f45f6fcf8afb03fef53ba6fb0f2ebf3e0ef0bb Mon Sep 17 00:00:00 2001 From: akl Date: Tue, 24 Dec 2013 11:56:15 +0000 Subject: [PATCH] Fix of INTPAL0052256 (Tool bar YACS module does not disappears): hide all YACS actions at switching to empty context on exit from the module. --- src/genericgui/GenericGui.cxx | 14 +++++++++++--- src/genericgui/GenericGui.hxx | 3 ++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/genericgui/GenericGui.cxx b/src/genericgui/GenericGui.cxx index 7f1610666..11f87b006 100644 --- a/src/genericgui/GenericGui.cxx +++ b/src/genericgui/GenericGui.cxx @@ -720,6 +720,14 @@ void GenericGui::initialMenus() showBaseMenus(true); } +void GenericGui::hideAllMenus() +{ + showBaseMenus (false); + showCommonMenus (false); + showEditionMenus(false); + showExecMenus (false); +} + void GenericGui::showBaseMenus(bool show) { DEBTRACE("GenericGui::showBaseMenus " << show); @@ -801,12 +809,12 @@ void GenericGui::showCommonMenus(bool show) _wrapper->setToolShown(_hideAllLinksAct, show); } -void GenericGui::switchContext(QWidget *view) +void GenericGui::switchContext(QWidget *view, bool onExit) { DEBTRACE("GenericGui::switchContext " << view); if (! _mapViewContext.count(view)) { - initialMenus(); + onExit ? hideAllMenus() : initialMenus(); _dwTree->setWidget(0); _dwStacked->setWidget(0); return; @@ -959,7 +967,7 @@ bool GenericGui::closeContext(QWidget *view, bool onExit) } delete context; _mapViewContext.erase(view); - switchContext(newView); + switchContext(newView, onExit); } return true; } diff --git a/src/genericgui/GenericGui.hxx b/src/genericgui/GenericGui.hxx index 19be69da3..509efe10f 100644 --- a/src/genericgui/GenericGui.hxx +++ b/src/genericgui/GenericGui.hxx @@ -65,11 +65,12 @@ namespace YACS void createMenus(); void createTools(); void initialMenus(); + void hideAllMenus(); void showBaseMenus(bool show); void showEditionMenus(bool show); void showExecMenus(bool show); void showCommonMenus(bool show); - void switchContext(QWidget *view); + void switchContext(QWidget *view, bool onExit = false); bool closeContext(QWidget *view, bool onExit = false); void showDockWidgets(bool isVisible); void raiseStacked(); -- 2.39.2