summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vcl/inc/qt5/QtBuilder.hxx2
-rw-r--r--vcl/qt5/QtBuilder.cxx19
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))