diff options
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/common')
| -rw-r--r-- | SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.cpp | 30 | ||||
| -rw-r--r-- | SQLiteStudio3/guiSQLiteStudio/common/extactioncontainer.h | 3 |
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(); |
