diff options
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/inc/qt5/QtBuilder.hxx | 2 | ||||
-rw-r--r-- | vcl/qt5/QtBuilder.cxx | 19 |
2 files changed, 14 insertions, 7 deletions
diff --git a/vcl/inc/qt5/QtBuilder.hxx b/vcl/inc/qt5/QtBuilder.hxx index bb5ba7ad6278..254fb379023b 100644 --- a/vcl/inc/qt5/QtBuilder.hxx +++ b/vcl/inc/qt5/QtBuilder.hxx @@ -20,6 +20,7 @@ #include <QtWidgets/QMessageBox> #include <QtWidgets/QPushButton> #include <QtWidgets/QSlider> +#include <QtWidgets/QToolButton> #include <rtl/ustring.hxx> #include <unotools/resmgr.hxx> @@ -98,6 +99,7 @@ private: static void setProperties(QObject* obj, stringmap& rProps); void setButtonProperties(QPushButton& rButton, stringmap& rProps); static void setLabelProperties(QLabel& rLabel, stringmap& rProps); + void setMenuButtonProperties(QToolButton& rButton, stringmap& rProps); void setScaleProperties(QSlider& rSlider, stringmap& rProps); void setSpinButtonProperties(QDoubleSpinBox& rSpinBox, stringmap& rProps); static QWidget* windowForObject(QObject* pObject); diff --git a/vcl/qt5/QtBuilder.cxx b/vcl/qt5/QtBuilder.cxx index 8b1b4293c8ff..1dafdae0ee57 100644 --- a/vcl/qt5/QtBuilder.cxx +++ b/vcl/qt5/QtBuilder.cxx @@ -286,13 +286,7 @@ QObject* QtBuilder::makeObject(QObject* pParent, std::u16string_view sName, std: else if (sName == u"GtkMenuButton") { QToolButton* pMenuButton = new QToolButton(pParentWidget); - const OUString sMenu = extractPopupMenu(rMap); - if (!sMenu.isEmpty()) - { - QMenu* pMenu = get_menu(sMenu); - assert(pMenu && "menu button references non-existing menu"); - pMenuButton->setMenu(pMenu); - } + setMenuButtonProperties(*pMenuButton, rMap); pObject = pMenuButton; } else if (sName == u"GtkNotebook") @@ -843,6 +837,17 @@ void QtBuilder::setLabelProperties(QLabel& rLabel, stringmap& rProps) } } +void QtBuilder::setMenuButtonProperties(QToolButton& rButton, stringmap& rProps) +{ + const OUString sMenu = extractPopupMenu(rProps); + if (!sMenu.isEmpty()) + { + QMenu* pMenu = get_menu(sMenu); + assert(pMenu && "menu button references non-existing menu"); + rButton.setMenu(pMenu); + } +} + void QtBuilder::setScaleProperties(QSlider& rSlider, stringmap& rProps) { if (!hasOrientationVertical(rProps)) |