diff --git a/src/SMESHGUI/SMESHGUI.cxx b/src/SMESHGUI/SMESHGUI.cxx index d4ac0bd64..aeb1f53d1 100644 --- a/src/SMESHGUI/SMESHGUI.cxx +++ b/src/SMESHGUI/SMESHGUI.cxx @@ -831,6 +831,7 @@ SalomeApp_Module( "SMESH" ) } myActiveDialogBox = 0; + myFilterLibraryDlg = 0; myState = -1; myDisplayer = 0; @@ -2060,7 +2061,11 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) aTypes.append( SMESH::FACE ); aTypes.append( SMESH::VOLUME ); } - new SMESHGUI_FilterLibraryDlg( this, SMESH::GetDesktop( this ), aTypes, SMESHGUI_FilterLibraryDlg::EDIT ); + if (!myFilterLibraryDlg) + myFilterLibraryDlg = new SMESHGUI_FilterLibraryDlg( this, SMESH::GetDesktop( this ), aTypes, SMESHGUI_FilterLibraryDlg::EDIT ); + else if (myFilterLibraryDlg->isHidden()) + myFilterLibraryDlg->show(); + myFilterLibraryDlg->raise(); } break; diff --git a/src/SMESHGUI/SMESHGUI.h b/src/SMESHGUI/SMESHGUI.h index 9626e4358..2115e2650 100644 --- a/src/SMESHGUI/SMESHGUI.h +++ b/src/SMESHGUI/SMESHGUI.h @@ -48,6 +48,8 @@ class LightApp_Operation; class SalomeApp_Study; class LightApp_SelectionMgr; +class SMESHGUI_FilterLibraryDlg; + //================================================================================= // class : SMESHGUI @@ -138,6 +140,8 @@ private : int myState; QMap myRules; LightApp_Displayer* myDisplayer; + + SMESHGUI_FilterLibraryDlg* myFilterLibraryDlg; }; #endif diff --git a/src/SMESHGUI/SMESHGUI_FilterLibraryDlg.cxx b/src/SMESHGUI/SMESHGUI_FilterLibraryDlg.cxx index 8c9feaee0..52ff8d24d 100644 --- a/src/SMESHGUI/SMESHGUI_FilterLibraryDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_FilterLibraryDlg.cxx @@ -102,7 +102,7 @@ SMESHGUI_FilterLibraryDlg::SMESHGUI_FilterLibraryDlg (SMESHGUI* theModule, const QValueList& theTypes, const int theMode, const char* theName) - : QDialog( parent, theName, true, WStyle_Customize | + : QDialog( parent, theName, false, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu ), mySMESHGUI( theModule ) {