aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/common
diff options
context:
space:
mode:
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/common')
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.cpp30
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.h3
2 files changed, 23 insertions, 10 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.cpp b/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.cpp
index 9d983a8..8aaeefd 100644
--- a/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.cpp
+++ b/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.cpp
@@ -96,19 +96,16 @@ void ExtActionContainer::attachActionInMenu(int parentAction, QAction* childActi
void ExtActionContainer::attachActionInMenu(QAction* parentAction, QAction* childAction, QToolBar* toolbar)
{
- QToolButton* button = dynamic_cast<QToolButton*>(toolbar->widgetForAction(parentAction));
- QMenu* menu = button->menu();
-
- if (!menu)
- {
- menu = new QMenu(button);
- button->setMenu(menu);
- button->setPopupMode(QToolButton::MenuButtonPopup);
- }
-
+ QMenu* menu = getMenuForAction(parentAction, toolbar);
menu->addAction(childAction);
}
+void ExtActionContainer::addSeparatorInMenu(QAction *parentAction, QToolBar* toolbar)
+{
+ QMenu* menu = getMenuForAction(parentAction, toolbar);
+ menu->addSeparator();
+}
+
void ExtActionContainer::updateShortcutTips()
{
}
@@ -262,6 +259,19 @@ void ExtActionContainer::handleExtraActions()
}
}
+QMenu *ExtActionContainer::getMenuForAction(QAction *parentAction, QToolBar* toolbar)
+{
+ QToolButton* button = dynamic_cast<QToolButton*>(toolbar->widgetForAction(parentAction));
+ QMenu* menu = button->menu();
+ if (!menu)
+ {
+ menu = new QMenu(button);
+ button->setMenu(menu);
+ button->setPopupMode(QToolButton::MenuButtonPopup);
+ }
+ return menu;
+}
+
ExtActionContainer::ActionDetails::ActionDetails()
{
}
diff --git a/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.h b/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.h
index b9dadb9..0c860f7 100644
--- a/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.h
+++ b/SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.h
@@ -17,6 +17,7 @@ class QWidget;
class QActionGroup;
class QToolBar;
class QSignalMapper;
+class QMenu;
#define CFG_SHORTCUTS_METANAME "Shortcuts"
@@ -134,6 +135,7 @@ class GUI_API_EXPORT ExtActionContainer
void attachActionInMenu(int parentAction, int childAction, QToolBar* toolbar);
void attachActionInMenu(int parentAction, QAction* childAction, QToolBar* toolbar);
void attachActionInMenu(QAction* parentAction, QAction* childAction, QToolBar* toolbar);
+ void addSeparatorInMenu(QAction* parentAction, QToolBar *toolbar);
void updateShortcutTips();
/**
@@ -166,6 +168,7 @@ class GUI_API_EXPORT ExtActionContainer
void deleteActions();
void createAction(int action, QAction* qAction, const QObject* receiver, const char* slot, QWidget* container, QWidget* owner);
void handleExtraActions();
+ QMenu* getMenuForAction(QAction* parentAction, QToolBar *toolbar);
template <class T>
static QList<T*> getInstances();