Salome HOME
Crash on abort of any non-sketch operation.
[modules/shaper.git] / src / XGUI / XGUI_MainMenu.cpp
index 1bd8d8eb04e6c0cbce5866baf494e2253ee6d12a..d874cc974d48745772d71c12124baf12a7cdd1b4 100644 (file)
@@ -16,7 +16,8 @@
 #include <QTabBar>
 
 XGUI_MainMenu::XGUI_MainMenu(XGUI_MainWindow *parent)
-    : QWidget(parent), myDesktop(parent)
+    : QWidget(parent),
+      myDesktop(parent)
 {
   myGeneralPage = new XGUI_MenuGroupPanel(this);
   myGeneralPage->setObjectName("Default");
@@ -32,7 +33,7 @@ XGUI_MainMenu::XGUI_MainMenu(XGUI_MainWindow *parent)
   aMainLayout->setContentsMargins(0, 2, 2, 0);
   aMainLayout->setSpacing(2);
   setLayout(aMainLayout);
-  setFixedHeight(menuHeight());
+  updateFromResources();
 }
 
 XGUI_MainMenu::~XGUI_MainMenu(void)
@@ -60,7 +61,6 @@ XGUI_Workbench* XGUI_MainMenu::findWorkbench(const QString& theObjName) const
   return myDesktop->findChild<XGUI_Workbench*>(theObjName);
 }
 
-
 bool XGUI_MainMenu::eventFilter(QObject *theWatched, QEvent *theEvent)
 {
   if (theWatched == myGeneralPage) {
@@ -81,12 +81,9 @@ void XGUI_MainMenu::insertConsole(QWidget* theConsole)
   aCloseTabButton->setFixedSize(16, 16);
   aCloseTabButton->setIcon(QIcon(":pictures/wnd_close.png"));
   aCloseTabButton->setFlat(true);
-  aTabBar->setTabButton(aConsoleTabId,
-                        QTabBar::RightSide,
-                        aCloseTabButton);
+  aTabBar->setTabButton(aConsoleTabId, QTabBar::RightSide, aCloseTabButton);
 
-  connect(aCloseTabButton, SIGNAL(clicked()),
-          myDesktop, SLOT(dockPythonConsole()));
+  connect(aCloseTabButton, SIGNAL(clicked()), myDesktop, SLOT(dockPythonConsole()));
 }
 
 void XGUI_MainMenu::removeConsole()
@@ -101,9 +98,11 @@ XGUI_Command* XGUI_MainMenu::feature(const QString& theId) const
   result = myGeneralPage->feature(theId);
   if (!result) {
     XGUI_Workbench* aWbn;
-    foreach (aWbn, myWorkbenches) {
+    foreach (aWbn, myWorkbenches)
+    {
       result = aWbn->feature(theId);
-      if (result) break;
+      if (result)
+        break;
     }
   }
   return result;
@@ -113,7 +112,8 @@ QList<XGUI_Command*> XGUI_MainMenu::features() const
 {
   QList<XGUI_Command*> aList = myGeneralPage->features();
   XGUI_Workbench* aWbn;
-  foreach (aWbn, myWorkbenches) {
+  foreach (aWbn, myWorkbenches)
+  {
     aList.append(aWbn->features());
   }
   return aList;
@@ -122,27 +122,27 @@ QList<XGUI_Command*> XGUI_MainMenu::features() const
 int XGUI_MainMenu::menuItemSize() const
 {
   const int kDefaultItemSize = 25;
-  int anItemSize = XGUI_Preferences::resourceMgr()->integerValue(
-    XGUI_Preferences::MENU_SECTION, "item_size", kDefaultItemSize);
-  return anItemSize;
+  return kDefaultItemSize;
 }
 
 int XGUI_MainMenu::menuHeight() const
 {
   // Default group has no tabs above --> one extra row
   int rows = menuItemRowsCount() + 1;
-  const int kMarginsSpacings = 4;
+  const int kMarginsSpacings = 5;
   return rows * menuItemSize() + kMarginsSpacings;
 }
 
 int XGUI_MainMenu::menuItemRowsCount() const
 {
-  const int kDefaultRowsCount = 3;
-  int aRowsCount = XGUI_Preferences::resourceMgr()->integerValue(
-    XGUI_Preferences::MENU_SECTION, "rows_number", kDefaultRowsCount);
+  static const int kDefaultRowsCount = 3;
+  int aRowsCount = XGUI_Preferences::resourceMgr()->integerValue(XGUI_Preferences::MENU_SECTION,
+                                                                 "rows_number", kDefaultRowsCount);
   return aRowsCount;
 }
 
 void XGUI_MainMenu::updateFromResources()
 {
+  setFixedHeight(menuHeight());
+  repaint();
 }