From 9618f0ebbf4b88045247c01ce8c8f58203508ebf Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Tue, 12 May 2015 16:19:40 -0400 Subject: Imported Upstream version 3.0.6 --- .../guiSQLiteStudio/common/extactioncontainer.cpp | 30 ++++++++++++++-------- .../guiSQLiteStudio/common/extactioncontainer.h | 3 +++ 2 files changed, 23 insertions(+), 10 deletions(-) (limited to 'SQLiteStudio3/guiSQLiteStudio/common') 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(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(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 static QList getInstances(); -- cgit v1.2.3