vcl/Library_vclplug_qt5.mk | 1 vcl/Library_vclplug_qt6.mk | 1 vcl/qt5/QtInstanceBuilder.cxx | 568 +++++++++++++++++++++--------------------- 3 files changed, 287 insertions(+), 283 deletions(-)
New commits: commit 9e24587442aa331299fd7a42eb5e9d0161365582 Author: Michael Weghorn <[email protected]> AuthorDate: Fri Jan 23 22:58:21 2026 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Sat Jan 24 00:24:28 2026 +0100 tdf#130857 qt weld: Use frozen::unordered_set for sets of supported files This allows to make them constexpr. Change-Id: I27390761a6d8b11e8e6f8c6e81598407fe9bf8e6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198028 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/vcl/Library_vclplug_qt5.mk b/vcl/Library_vclplug_qt5.mk index 3352bbb7432d..dec8ed5afadd 100644 --- a/vcl/Library_vclplug_qt5.mk +++ b/vcl/Library_vclplug_qt5.mk @@ -59,6 +59,7 @@ $(eval $(call gb_Library_use_externals,vclplug_qt5,\ boost_headers \ cairo \ epoxy \ + frozen \ graphite \ harfbuzz \ icu_headers \ diff --git a/vcl/Library_vclplug_qt6.mk b/vcl/Library_vclplug_qt6.mk index 7894b0f8900e..7bb5302f876e 100644 --- a/vcl/Library_vclplug_qt6.mk +++ b/vcl/Library_vclplug_qt6.mk @@ -58,6 +58,7 @@ $(eval $(call gb_Library_use_externals,vclplug_qt6,\ boost_headers \ cairo \ epoxy \ + frozen \ graphite \ harfbuzz \ icu_headers \ diff --git a/vcl/qt5/QtInstanceBuilder.cxx b/vcl/qt5/QtInstanceBuilder.cxx index 5cded3f428ba..4545355406be 100644 --- a/vcl/qt5/QtInstanceBuilder.cxx +++ b/vcl/qt5/QtInstanceBuilder.cxx @@ -9,8 +9,6 @@ #include <QtInstanceBuilder.hxx> -#include <unordered_set> - #include <QtBuilder.hxx> #include <QtInstanceAssistant.hxx> #include <QtInstanceBox.hxx> @@ -48,6 +46,289 @@ #include <QtInstanceTreeView.hxx> #include <QtWidgets/QToolButton> +#include <frozen/bits/elsa_std.h> +#include <frozen/unordered_set.h> + +#include <string_view> + +// set of supported UI files +// +// The idea is to implement functionality needed for a specific UI file/dialog +// in QtInstanceBuilder, then add it to the set of supported UI files here. +// This allows looking at one .ui file at a time and only having to implement +// what is relevant for that particular one, without having to implement the full +// weld API at once. +constexpr auto SUPPORTED_UI_FILES = frozen::make_unordered_set<std::u16string_view>({ + u"cui/ui/aboutconfigdialog.ui", + u"cui/ui/aboutdialog.ui", + u"cui/ui/additionsdialog.ui", + u"cui/ui/breaknumberoption.ui", + u"cui/ui/certdialog.ui", + u"cui/ui/editdictionarydialog.ui", + u"cui/ui/fontfeaturesdialog.ui", + u"cui/ui/fontfragment.ui", + u"cui/ui/gallerytitledialog.ui", + u"cui/ui/graphictestdlg.ui", + u"cui/ui/hyperlinkmarkdialog.ui", + u"cui/ui/imageviewer.ui", + u"cui/ui/insertoleobject.ui", + u"cui/ui/insertrowcolumn.ui", + u"cui/ui/javaclasspathdialog.ui", + u"cui/ui/javastartparametersdialog.ui", + u"cui/ui/linedialog.ui", + u"cui/ui/macroassigndialog.ui", + u"cui/ui/macroselectordialog.ui", + u"cui/ui/namedialog.ui", + u"cui/ui/newtabledialog.ui", + u"cui/ui/numberdialog.ui", + u"cui/ui/objecttitledescdialog.ui", + u"cui/ui/objectnamedialog.ui", + u"cui/ui/optnewdictionarydialog.ui", + u"cui/ui/password.ui", + u"cui/ui/pastespecial.ui", + u"cui/ui/positionsizedialog.ui", + u"cui/ui/qrcodegen.ui", + u"cui/ui/querydeletedictionarydialog.ui", + u"cui/ui/querydeletelineenddialog.ui", + u"cui/ui/querydeletelinestyledialog.ui", + u"cui/ui/querysavelistdialog.ui", + u"cui/ui/querydialog.ui", + u"cui/ui/queryduplicatedialog.ui", + u"cui/ui/searchattrdialog.ui", + u"cui/ui/securityoptionsdialog.ui", + u"cui/ui/selectpathdialog.ui", + u"cui/ui/signatureline.ui", + u"cui/ui/signsignatureline.ui", + u"cui/ui/similaritysearchdialog.ui", + u"cui/ui/spelloptionsdialog.ui", + u"cui/ui/splitcellsdialog.ui", + u"cui/ui/textdialog.ui", + u"cui/ui/tipofthedaydialog.ui", + u"cui/ui/toolbartabpage.ui", + u"cui/ui/tsaurldialog.ui", + u"cui/ui/uipickerdialog.ui", + u"cui/ui/uitabpage.ui", + u"cui/ui/welcomedialog.ui", + u"cui/ui/whatsnewtabpage.ui", + u"cui/ui/widgettestdialog.ui", + u"cui/ui/zoomdialog.ui", + u"dbaccess/ui/designsavemodifieddialog.ui", + u"dbaccess/ui/fielddialog.ui", + u"dbaccess/ui/savedialog.ui", + u"dbaccess/ui/tabledesignsavemodifieddialog.ui", + u"desktop/ui/installforalldialog.ui", + u"desktop/ui/showlicensedialog.ui", + u"desktop/ui/licensedialog.ui", + u"filter/ui/pdfoptionsdialog.ui", + u"filter/ui/testxmlfilter.ui", + u"filter/ui/xmlfiltertabpagegeneral.ui", + u"filter/ui/xmlfiltertabpagetransformation.ui", + u"filter/ui/xmlfiltersettings.ui", + u"filter/ui/xsltfilterdialog.ui", + u"modules/BasicIDE/ui/exportdialog.ui", + u"modules/BasicIDE/ui/gotolinedialog.ui", + u"modules/BasicIDE/ui/newlibdialog.ui", + u"modules/scalc/ui/colwidthdialog.ui", + u"modules/scalc/ui/conditionalformatdialog.ui", + u"modules/scalc/ui/definedatabaserangedialog.ui", + u"modules/scalc/ui/deletecells.ui", + u"modules/scalc/ui/deletecontents.ui", + u"modules/scalc/ui/duplicaterecordsdlg.ui", + u"modules/scalc/ui/fourieranalysisdialog.ui", + u"modules/scalc/ui/gotosheetdialog.ui", + u"modules/scalc/ui/groupbydate.ui", + u"modules/scalc/ui/groupdialog.ui", + u"modules/scalc/ui/inputstringdialog.ui", + u"modules/scalc/ui/insertcells.ui", + u"modules/scalc/ui/insertsheet.ui", + u"modules/scalc/ui/movecopysheet.ui", + u"modules/scalc/ui/optdlg.ui", + u"modules/scalc/ui/optimalcolwidthdialog.ui", + u"modules/scalc/ui/optimalrowheightdialog.ui", + u"modules/scalc/ui/pastespecial.ui", + u"modules/scalc/ui/rowheightdialog.ui", + u"modules/scalc/ui/selectrange.ui", + u"modules/scalc/ui/selectsource.ui", + u"modules/scalc/ui/showsheetdialog.ui", + u"modules/scalc/ui/sortdialog.ui", + u"modules/scalc/ui/subtotaldialog.ui", + u"modules/scalc/ui/ttestdialog.ui", + u"modules/scalc/ui/ztestdialog.ui", + u"modules/schart/ui/charttypedialog.ui", + u"modules/schart/ui/insertaxisdlg.ui", + u"modules/schart/ui/inserttitledlg.ui", + u"modules/sdraw/ui/dlgsnap.ui", + u"modules/sdraw/ui/insertlayer.ui", + u"modules/simpress/ui/customslideshows.ui", + u"modules/simpress/ui/definecustomslideshow.ui", + u"modules/simpress/ui/masterlayoutdlg.ui", + u"modules/simpress/ui/presentationdialog.ui", + u"modules/simpress/ui/slidedesigndialog.ui", + u"modules/smath/ui/alignmentdialog.ui", + u"modules/smath/ui/fontdialog.ui", + u"modules/smath/ui/fontsizedialog.ui", + u"modules/smath/ui/fonttypedialog.ui", + u"modules/smath/ui/savedefaultsdialog.ui", + u"modules/smath/ui/smathsettings.ui", + u"modules/smath/ui/spacingdialog.ui", + u"modules/spropctrlr/ui/taborder.ui", + u"modules/swriter/ui/authenticationsettingsdialog.ui", + u"modules/swriter/ui/autoformattable.ui", + u"modules/swriter/ui/bibliographyentry.ui", + u"modules/swriter/ui/captiondialog.ui", + u"modules/swriter/ui/captionoptions.ui", + u"modules/swriter/ui/columndialog.ui", + u"modules/swriter/ui/columnwidth.ui", + u"modules/swriter/ui/createauthorentry.ui", + u"modules/swriter/ui/editcategories.ui", + u"modules/swriter/ui/endnotepage.ui", + u"modules/swriter/ui/fielddialog.ui", + u"modules/swriter/ui/footendnotedialog.ui", + u"modules/swriter/ui/footnotepage.ui", + u"modules/swriter/ui/inforeadonlydialog.ui", + u"modules/swriter/ui/insertbookmark.ui", + u"modules/swriter/ui/insertbreak.ui", + u"modules/swriter/ui/insertcaption.ui", + u"modules/swriter/ui/inserttable.ui", + u"modules/swriter/ui/linenumbering.ui", + u"modules/swriter/ui/numberingnamedialog.ui", + u"modules/swriter/ui/pagenumberdlg.ui", + u"modules/swriter/ui/printmergedialog.ui", + u"modules/swriter/ui/renameautotextdialog.ui", + u"modules/swriter/ui/renameobjectdialog.ui", + u"modules/swriter/ui/rowheight.ui", + u"modules/swriter/ui/splittable.ui", + u"modules/swriter/ui/stringinput.ui", + u"modules/swriter/ui/testmailsettings.ui", + u"modules/swriter/ui/watermarkdialog.ui", + u"modules/swriter/ui/wordcount.ui", + u"modules/swriter/ui/wrapdialog.ui", + u"sfx/ui/commandpopup.ui", + u"sfx/ui/documentpropertiesdialog.ui", + u"sfx/ui/editdurationdialog.ui", + u"sfx/ui/helpmanual.ui", + u"sfx/ui/inputdialog.ui", + u"sfx/ui/licensedialog.ui", + u"sfx/ui/loadtemplatedialog.ui", + u"sfx/ui/newstyle.ui", + u"sfx/ui/password.ui", + u"sfx/ui/printeroptionsdialog.ui", + u"sfx/ui/querysavedialog.ui", + u"sfx/ui/safemodequerydialog.ui", + u"sfx/ui/templatecategorydlg.ui", + u"sfx/ui/versioncommentdialog.ui", + u"sfx/ui/versionsofdialog.ui", + u"svt/ui/addresstemplatedialog.ui", + u"svt/ui/placeedit.ui", + u"svt/ui/printersetupdialog.ui", + u"svt/ui/restartdialog.ui", + u"svx/ui/compressgraphicdialog.ui", + u"svx/ui/docrecoverybrokendialog.ui", + u"svx/ui/docrecoveryrecoverdialog.ui", + u"svx/ui/docrecoverysavedialog.ui", + u"svx/ui/dropdownfielddialog.ui", + u"svx/ui/fontworkgallerydialog.ui", + u"svx/ui/deletefooterdialog.ui", + u"svx/ui/deleteheaderdialog.ui", + u"svx/ui/fileexporteddialog.ui", + u"svx/ui/formpropertydialog.ui", + u"svx/ui/gotopagedialog.ui", + u"svx/ui/passwd.ui", + u"svx/ui/querydeletethemedialog.ui", + u"svx/ui/safemodedialog.ui", + u"svx/ui/themecoloreditdialog.ui", + u"svx/ui/themedialog.ui", + u"uui/ui/logindialog.ui", + u"uui/ui/masterpassworddlg.ui", + u"uui/ui/password.ui", + u"uui/ui/setmasterpassworddlg.ui", + u"vcl/ui/openlockedquerybox.ui", + u"vcl/ui/printdialog.ui", + u"vcl/ui/printerdevicepage.ui", + u"vcl/ui/printerpaperpage.ui", + u"vcl/ui/printerpropertiesdialog.ui", + u"vcl/ui/printprogressdialog.ui", + u"xmlsec/ui/digitalsignaturesdialog.ui", + u"xmlsec/ui/macrosecuritydialog.ui", + u"xmlsec/ui/securitylevelpage.ui", + u"xmlsec/ui/securitytrustpage.ui", + u"xmlsec/ui/selectcertificatedialog.ui", + u"xmlsec/ui/viewcertdialog.ui", + u"writerperfect/ui/exportepub.ui", +}); + +// These UI files are only supported inside native Qt dialogs/widgets +constexpr auto SUPPORTED_WITH_QT_PARENT = frozen::make_unordered_set<std::u16string_view>({ + u"cui/ui/additionsfragment.ui", + u"cui/ui/appearance.ui", + u"cui/ui/cellalignment.ui", + u"cui/ui/graphictestentry.ui", + u"cui/ui/lineendstabpage.ui", + u"cui/ui/linetabpage.ui", + u"cui/ui/linestyletabpage.ui", + u"cui/ui/macroassignpage.ui", + u"cui/ui/numberingformatpage.ui", + u"cui/ui/optlingupage.ui", + u"cui/ui/possizetabpage.ui", + u"cui/ui/rotationtabpage.ui", + u"cui/ui/slantcornertabpage.ui", + u"cui/ui/textattrtabpage.ui", + u"cui/ui/textanimtabpage.ui", + u"cui/ui/textcolumnstabpage.ui", + u"filter/ui/pdfgeneralpage.ui", + u"filter/ui/pdflinkspage.ui", + u"filter/ui/pdfsecuritypage.ui", + u"filter/ui/pdfsignpage.ui", + u"filter/ui/pdfuserinterfacepage.ui", + u"filter/ui/pdfviewpage.ui", + u"modules/scalc/ui/conditionalentry.ui", + u"modules/scalc/ui/printeroptions.ui", + u"modules/scalc/ui/sortcriteriapage.ui", + u"modules/scalc/ui/sortkey.ui", + u"modules/scalc/ui/sortoptionspage.ui", + u"modules/scalc/ui/statisticsinfopage.ui", + u"modules/scalc/ui/subtotalgrppage.ui", + u"modules/scalc/ui/subtotaloptionspage.ui", + u"modules/schart/ui/tp_ChartType.ui", + u"modules/sdraw/ui/drawprinteroptions.ui", + u"modules/simpress/ui/annotationtagmenu.ui", + u"modules/simpress/ui/impressprinteroptions.ui", + u"modules/smath/ui/printeroptions.ui", + u"modules/spropctrlr/ui/browserline.ui", + u"modules/spropctrlr/ui/browserpage.ui", + u"modules/spropctrlr/ui/combobox.ui", + u"modules/spropctrlr/ui/formproperties.ui", + u"modules/spropctrlr/ui/listbox.ui", + u"modules/spropctrlr/ui/numericfield.ui", + u"modules/spropctrlr/ui/textfield.ui", + u"modules/spropctrlr/ui/urlcontrol.ui", + u"modules/swriter/ui/bibliofragment.ui", + u"modules/swriter/ui/columnpage.ui", + u"modules/swriter/ui/flddbpage.ui", + u"modules/swriter/ui/flddocinfopage.ui", + u"modules/swriter/ui/flddocumentpage.ui", + u"modules/swriter/ui/fldfuncpage.ui", + u"modules/swriter/ui/fldrefpage.ui", + u"modules/swriter/ui/fldvarpage.ui", + u"modules/swriter/ui/optcaptionpage.ui", + u"modules/swriter/ui/printeroptions.ui", + u"modules/swriter/ui/printoptionspage.ui", + u"modules/swriter/ui/statisticsinfopage.ui", + u"modules/swriter/ui/wrappage.ui", + u"sfx/ui/custominfopage.ui", + u"sfx/ui/descriptioninfopage.ui", + u"sfx/ui/documentfontspage.ui", + u"sfx/ui/documentinfopage.ui", + u"sfx/ui/linefragment.ui", + u"sfx/ui/securityinfopage.ui", + u"svt/ui/datewindow.ui", + u"svt/ui/linewindow.ui", + u"svx/ui/colorwindow.ui", + u"svx/ui/formnavimenu.ui", + u"vcl/ui/editmenu.ui", + u"xmlsec/ui/certdetails.ui", + u"xmlsec/ui/certgeneral.ui", +}); QtInstanceBuilder::QtInstanceBuilder(QWidget* pParent, std::u16string_view sUIRoot, const OUString& rUIFile) @@ -59,289 +340,10 @@ QtInstanceBuilder::~QtInstanceBuilder() {} bool QtInstanceBuilder::IsUIFileSupported(const OUString& rUIFile, const weld::Widget* pParent) { - // set of supported UI files - // - // The idea is to implement functionality needed for a specific UI file/dialog - // in QtInstanceBuilder, then add it to the set of supported UI files here. - // This allows looking at one .ui file at a time and only having to implement - // what is relevant for that particular one, without having to implement the full - // weld API at once. - static std::unordered_set<OUString> aSupportedUIFiles = { - u"cui/ui/aboutconfigdialog.ui"_ustr, - u"cui/ui/aboutdialog.ui"_ustr, - u"cui/ui/additionsdialog.ui"_ustr, - u"cui/ui/breaknumberoption.ui"_ustr, - u"cui/ui/certdialog.ui"_ustr, - u"cui/ui/editdictionarydialog.ui"_ustr, - u"cui/ui/fontfeaturesdialog.ui"_ustr, - u"cui/ui/fontfragment.ui"_ustr, - u"cui/ui/gallerytitledialog.ui"_ustr, - u"cui/ui/graphictestdlg.ui"_ustr, - u"cui/ui/hyperlinkmarkdialog.ui"_ustr, - u"cui/ui/imageviewer.ui"_ustr, - u"cui/ui/insertoleobject.ui"_ustr, - u"cui/ui/insertrowcolumn.ui"_ustr, - u"cui/ui/javaclasspathdialog.ui"_ustr, - u"cui/ui/javastartparametersdialog.ui"_ustr, - u"cui/ui/linedialog.ui"_ustr, - u"cui/ui/macroassigndialog.ui"_ustr, - u"cui/ui/macroselectordialog.ui"_ustr, - u"cui/ui/namedialog.ui"_ustr, - u"cui/ui/newtabledialog.ui"_ustr, - u"cui/ui/numberdialog.ui"_ustr, - u"cui/ui/objecttitledescdialog.ui"_ustr, - u"cui/ui/objectnamedialog.ui"_ustr, - u"cui/ui/optnewdictionarydialog.ui"_ustr, - u"cui/ui/password.ui"_ustr, - u"cui/ui/pastespecial.ui"_ustr, - u"cui/ui/positionsizedialog.ui"_ustr, - u"cui/ui/qrcodegen.ui"_ustr, - u"cui/ui/querydeletedictionarydialog.ui"_ustr, - u"cui/ui/querydeletelineenddialog.ui"_ustr, - u"cui/ui/querydeletelinestyledialog.ui"_ustr, - u"cui/ui/querysavelistdialog.ui"_ustr, - u"cui/ui/querydialog.ui"_ustr, - u"cui/ui/queryduplicatedialog.ui"_ustr, - u"cui/ui/searchattrdialog.ui"_ustr, - u"cui/ui/securityoptionsdialog.ui"_ustr, - u"cui/ui/selectpathdialog.ui"_ustr, - u"cui/ui/signatureline.ui"_ustr, - u"cui/ui/signsignatureline.ui"_ustr, - u"cui/ui/similaritysearchdialog.ui"_ustr, - u"cui/ui/spelloptionsdialog.ui"_ustr, - u"cui/ui/splitcellsdialog.ui"_ustr, - u"cui/ui/textdialog.ui"_ustr, - u"cui/ui/tipofthedaydialog.ui"_ustr, - u"cui/ui/toolbartabpage.ui"_ustr, - u"cui/ui/tsaurldialog.ui"_ustr, - u"cui/ui/uipickerdialog.ui"_ustr, - u"cui/ui/uitabpage.ui"_ustr, - u"cui/ui/welcomedialog.ui"_ustr, - u"cui/ui/whatsnewtabpage.ui"_ustr, - u"cui/ui/widgettestdialog.ui"_ustr, - u"cui/ui/zoomdialog.ui"_ustr, - u"dbaccess/ui/designsavemodifieddialog.ui"_ustr, - u"dbaccess/ui/fielddialog.ui"_ustr, - u"dbaccess/ui/savedialog.ui"_ustr, - u"dbaccess/ui/tabledesignsavemodifieddialog.ui"_ustr, - u"desktop/ui/installforalldialog.ui"_ustr, - u"desktop/ui/showlicensedialog.ui"_ustr, - u"desktop/ui/licensedialog.ui"_ustr, - u"filter/ui/pdfoptionsdialog.ui"_ustr, - u"filter/ui/testxmlfilter.ui"_ustr, - u"filter/ui/xmlfiltertabpagegeneral.ui"_ustr, - u"filter/ui/xmlfiltertabpagetransformation.ui"_ustr, - u"filter/ui/xmlfiltersettings.ui"_ustr, - u"filter/ui/xsltfilterdialog.ui"_ustr, - u"modules/BasicIDE/ui/exportdialog.ui"_ustr, - u"modules/BasicIDE/ui/gotolinedialog.ui"_ustr, - u"modules/BasicIDE/ui/newlibdialog.ui"_ustr, - u"modules/scalc/ui/colwidthdialog.ui"_ustr, - u"modules/scalc/ui/conditionalformatdialog.ui"_ustr, - u"modules/scalc/ui/definedatabaserangedialog.ui"_ustr, - u"modules/scalc/ui/deletecells.ui"_ustr, - u"modules/scalc/ui/deletecontents.ui"_ustr, - u"modules/scalc/ui/duplicaterecordsdlg.ui"_ustr, - u"modules/scalc/ui/fourieranalysisdialog.ui"_ustr, - u"modules/scalc/ui/gotosheetdialog.ui"_ustr, - u"modules/scalc/ui/groupbydate.ui"_ustr, - u"modules/scalc/ui/groupdialog.ui"_ustr, - u"modules/scalc/ui/inputstringdialog.ui"_ustr, - u"modules/scalc/ui/insertcells.ui"_ustr, - u"modules/scalc/ui/insertsheet.ui"_ustr, - u"modules/scalc/ui/movecopysheet.ui"_ustr, - u"modules/scalc/ui/optdlg.ui"_ustr, - u"modules/scalc/ui/optimalcolwidthdialog.ui"_ustr, - u"modules/scalc/ui/optimalrowheightdialog.ui"_ustr, - u"modules/scalc/ui/pastespecial.ui"_ustr, - u"modules/scalc/ui/rowheightdialog.ui"_ustr, - u"modules/scalc/ui/selectrange.ui"_ustr, - u"modules/scalc/ui/selectsource.ui"_ustr, - u"modules/scalc/ui/showsheetdialog.ui"_ustr, - u"modules/scalc/ui/sortdialog.ui"_ustr, - u"modules/scalc/ui/subtotaldialog.ui"_ustr, - u"modules/scalc/ui/ttestdialog.ui"_ustr, - u"modules/scalc/ui/ztestdialog.ui"_ustr, - u"modules/schart/ui/charttypedialog.ui"_ustr, - u"modules/schart/ui/insertaxisdlg.ui"_ustr, - u"modules/schart/ui/inserttitledlg.ui"_ustr, - u"modules/sdraw/ui/dlgsnap.ui"_ustr, - u"modules/sdraw/ui/insertlayer.ui"_ustr, - u"modules/simpress/ui/customslideshows.ui"_ustr, - u"modules/simpress/ui/definecustomslideshow.ui"_ustr, - u"modules/simpress/ui/masterlayoutdlg.ui"_ustr, - u"modules/simpress/ui/presentationdialog.ui"_ustr, - u"modules/simpress/ui/slidedesigndialog.ui"_ustr, - u"modules/smath/ui/alignmentdialog.ui"_ustr, - u"modules/smath/ui/fontdialog.ui"_ustr, - u"modules/smath/ui/fontsizedialog.ui"_ustr, - u"modules/smath/ui/fonttypedialog.ui"_ustr, - u"modules/smath/ui/savedefaultsdialog.ui"_ustr, - u"modules/smath/ui/smathsettings.ui"_ustr, - u"modules/smath/ui/spacingdialog.ui"_ustr, - u"modules/spropctrlr/ui/taborder.ui"_ustr, - u"modules/swriter/ui/authenticationsettingsdialog.ui"_ustr, - u"modules/swriter/ui/autoformattable.ui"_ustr, - u"modules/swriter/ui/bibliographyentry.ui"_ustr, - u"modules/swriter/ui/captiondialog.ui"_ustr, - u"modules/swriter/ui/captionoptions.ui"_ustr, - u"modules/swriter/ui/columndialog.ui"_ustr, - u"modules/swriter/ui/columnwidth.ui"_ustr, - u"modules/swriter/ui/createauthorentry.ui"_ustr, - u"modules/swriter/ui/editcategories.ui"_ustr, - u"modules/swriter/ui/endnotepage.ui"_ustr, - u"modules/swriter/ui/fielddialog.ui"_ustr, - u"modules/swriter/ui/footendnotedialog.ui"_ustr, - u"modules/swriter/ui/footnotepage.ui"_ustr, - u"modules/swriter/ui/inforeadonlydialog.ui"_ustr, - u"modules/swriter/ui/insertbookmark.ui"_ustr, - u"modules/swriter/ui/insertbreak.ui"_ustr, - u"modules/swriter/ui/insertcaption.ui"_ustr, - u"modules/swriter/ui/inserttable.ui"_ustr, - u"modules/swriter/ui/linenumbering.ui"_ustr, - u"modules/swriter/ui/numberingnamedialog.ui"_ustr, - u"modules/swriter/ui/pagenumberdlg.ui"_ustr, - u"modules/swriter/ui/printmergedialog.ui"_ustr, - u"modules/swriter/ui/renameautotextdialog.ui"_ustr, - u"modules/swriter/ui/renameobjectdialog.ui"_ustr, - u"modules/swriter/ui/rowheight.ui"_ustr, - u"modules/swriter/ui/splittable.ui"_ustr, - u"modules/swriter/ui/stringinput.ui"_ustr, - u"modules/swriter/ui/testmailsettings.ui"_ustr, - u"modules/swriter/ui/watermarkdialog.ui"_ustr, - u"modules/swriter/ui/wordcount.ui"_ustr, - u"modules/swriter/ui/wrapdialog.ui"_ustr, - u"sfx/ui/commandpopup.ui"_ustr, - u"sfx/ui/documentpropertiesdialog.ui"_ustr, - u"sfx/ui/editdurationdialog.ui"_ustr, - u"sfx/ui/helpmanual.ui"_ustr, - u"sfx/ui/inputdialog.ui"_ustr, - u"sfx/ui/licensedialog.ui"_ustr, - u"sfx/ui/loadtemplatedialog.ui"_ustr, - u"sfx/ui/newstyle.ui"_ustr, - u"sfx/ui/password.ui"_ustr, - u"sfx/ui/printeroptionsdialog.ui"_ustr, - u"sfx/ui/querysavedialog.ui"_ustr, - u"sfx/ui/safemodequerydialog.ui"_ustr, - u"sfx/ui/templatecategorydlg.ui"_ustr, - u"sfx/ui/versioncommentdialog.ui"_ustr, - u"sfx/ui/versionsofdialog.ui"_ustr, - u"svt/ui/addresstemplatedialog.ui"_ustr, - u"svt/ui/placeedit.ui"_ustr, - u"svt/ui/printersetupdialog.ui"_ustr, - u"svt/ui/restartdialog.ui"_ustr, - u"svx/ui/compressgraphicdialog.ui"_ustr, - u"svx/ui/docrecoverybrokendialog.ui"_ustr, - u"svx/ui/docrecoveryrecoverdialog.ui"_ustr, - u"svx/ui/docrecoverysavedialog.ui"_ustr, - u"svx/ui/dropdownfielddialog.ui"_ustr, - u"svx/ui/fontworkgallerydialog.ui"_ustr, - u"svx/ui/deletefooterdialog.ui"_ustr, - u"svx/ui/deleteheaderdialog.ui"_ustr, - u"svx/ui/fileexporteddialog.ui"_ustr, - u"svx/ui/formpropertydialog.ui"_ustr, - u"svx/ui/gotopagedialog.ui"_ustr, - u"svx/ui/passwd.ui"_ustr, - u"svx/ui/querydeletethemedialog.ui"_ustr, - u"svx/ui/safemodedialog.ui"_ustr, - u"svx/ui/themecoloreditdialog.ui"_ustr, - u"svx/ui/themedialog.ui"_ustr, - u"uui/ui/logindialog.ui"_ustr, - u"uui/ui/masterpassworddlg.ui"_ustr, - u"uui/ui/password.ui"_ustr, - u"uui/ui/setmasterpassworddlg.ui"_ustr, - u"vcl/ui/openlockedquerybox.ui"_ustr, - u"vcl/ui/printdialog.ui"_ustr, - u"vcl/ui/printerdevicepage.ui"_ustr, - u"vcl/ui/printerpaperpage.ui"_ustr, - u"vcl/ui/printerpropertiesdialog.ui"_ustr, - u"vcl/ui/printprogressdialog.ui"_ustr, - u"xmlsec/ui/digitalsignaturesdialog.ui"_ustr, - u"xmlsec/ui/macrosecuritydialog.ui"_ustr, - u"xmlsec/ui/securitylevelpage.ui"_ustr, - u"xmlsec/ui/securitytrustpage.ui"_ustr, - u"xmlsec/ui/selectcertificatedialog.ui"_ustr, - u"xmlsec/ui/viewcertdialog.ui"_ustr, - u"writerperfect/ui/exportepub.ui"_ustr, - }; - - // These UI files are only supported inside native Qt dialogs/widgets - static std::unordered_set<OUString> aSupportedWithQtParent = { - u"cui/ui/additionsfragment.ui"_ustr, - u"cui/ui/appearance.ui"_ustr, - u"cui/ui/cellalignment.ui"_ustr, - u"cui/ui/graphictestentry.ui"_ustr, - u"cui/ui/lineendstabpage.ui"_ustr, - u"cui/ui/linetabpage.ui"_ustr, - u"cui/ui/linestyletabpage.ui"_ustr, - u"cui/ui/macroassignpage.ui"_ustr, - u"cui/ui/numberingformatpage.ui"_ustr, - u"cui/ui/optlingupage.ui"_ustr, - u"cui/ui/possizetabpage.ui"_ustr, - u"cui/ui/rotationtabpage.ui"_ustr, - u"cui/ui/slantcornertabpage.ui"_ustr, - u"cui/ui/textattrtabpage.ui"_ustr, - u"cui/ui/textanimtabpage.ui"_ustr, - u"cui/ui/textcolumnstabpage.ui"_ustr, - u"filter/ui/pdfgeneralpage.ui"_ustr, - u"filter/ui/pdflinkspage.ui"_ustr, - u"filter/ui/pdfsecuritypage.ui"_ustr, - u"filter/ui/pdfsignpage.ui"_ustr, - u"filter/ui/pdfuserinterfacepage.ui"_ustr, - u"filter/ui/pdfviewpage.ui"_ustr, - u"modules/scalc/ui/conditionalentry.ui"_ustr, - u"modules/scalc/ui/printeroptions.ui"_ustr, - u"modules/scalc/ui/sortcriteriapage.ui"_ustr, - u"modules/scalc/ui/sortkey.ui"_ustr, - u"modules/scalc/ui/sortoptionspage.ui"_ustr, - u"modules/scalc/ui/statisticsinfopage.ui"_ustr, - u"modules/scalc/ui/subtotalgrppage.ui"_ustr, - u"modules/scalc/ui/subtotaloptionspage.ui"_ustr, - u"modules/schart/ui/tp_ChartType.ui"_ustr, - u"modules/sdraw/ui/drawprinteroptions.ui"_ustr, - u"modules/simpress/ui/annotationtagmenu.ui"_ustr, - u"modules/simpress/ui/impressprinteroptions.ui"_ustr, - u"modules/smath/ui/printeroptions.ui"_ustr, - u"modules/spropctrlr/ui/browserline.ui"_ustr, - u"modules/spropctrlr/ui/browserpage.ui"_ustr, - u"modules/spropctrlr/ui/combobox.ui"_ustr, - u"modules/spropctrlr/ui/formproperties.ui"_ustr, - u"modules/spropctrlr/ui/listbox.ui"_ustr, - u"modules/spropctrlr/ui/numericfield.ui"_ustr, - u"modules/spropctrlr/ui/textfield.ui"_ustr, - u"modules/spropctrlr/ui/urlcontrol.ui"_ustr, - u"modules/swriter/ui/bibliofragment.ui"_ustr, - u"modules/swriter/ui/columnpage.ui"_ustr, - u"modules/swriter/ui/flddbpage.ui"_ustr, - u"modules/swriter/ui/flddocinfopage.ui"_ustr, - u"modules/swriter/ui/flddocumentpage.ui"_ustr, - u"modules/swriter/ui/fldfuncpage.ui"_ustr, - u"modules/swriter/ui/fldrefpage.ui"_ustr, - u"modules/swriter/ui/fldvarpage.ui"_ustr, - u"modules/swriter/ui/optcaptionpage.ui"_ustr, - u"modules/swriter/ui/printeroptions.ui"_ustr, - u"modules/swriter/ui/printoptionspage.ui"_ustr, - u"modules/swriter/ui/statisticsinfopage.ui"_ustr, - u"modules/swriter/ui/wrappage.ui"_ustr, - u"sfx/ui/custominfopage.ui"_ustr, - u"sfx/ui/descriptioninfopage.ui"_ustr, - u"sfx/ui/documentfontspage.ui"_ustr, - u"sfx/ui/documentinfopage.ui"_ustr, - u"sfx/ui/linefragment.ui"_ustr, - u"sfx/ui/securityinfopage.ui"_ustr, - u"svt/ui/datewindow.ui"_ustr, - u"svt/ui/linewindow.ui"_ustr, - u"svx/ui/colorwindow.ui"_ustr, - u"svx/ui/formnavimenu.ui"_ustr, - u"vcl/ui/editmenu.ui"_ustr, - u"xmlsec/ui/certdetails.ui"_ustr, - u"xmlsec/ui/certgeneral.ui"_ustr, - }; - - if (aSupportedUIFiles.contains(rUIFile)) + if (SUPPORTED_UI_FILES.contains(rUIFile)) return true; - return aSupportedWithQtParent.contains(rUIFile) + return SUPPORTED_WITH_QT_PARENT.contains(rUIFile) && dynamic_cast<const QtInstanceWidget*>(pParent); } commit b58f5346843e5510b73f0e799dc408378e4d3da1 Author: Michael Weghorn <[email protected]> AuthorDate: Fri Jan 23 22:32:42 2026 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Sat Jan 24 00:24:17 2026 +0100 tdf#130857 qt weld: Put .ui file entry where it belongs alphabetically Makes it easier to keep an overview and find specific entries. Change-Id: I2d162a37fe67e502509803d9b5a6311cb4a7c49c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198026 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins diff --git a/vcl/qt5/QtInstanceBuilder.cxx b/vcl/qt5/QtInstanceBuilder.cxx index 8b03f87bbe11..5cded3f428ba 100644 --- a/vcl/qt5/QtInstanceBuilder.cxx +++ b/vcl/qt5/QtInstanceBuilder.cxx @@ -270,7 +270,6 @@ bool QtInstanceBuilder::IsUIFileSupported(const OUString& rUIFile, const weld::W u"cui/ui/additionsfragment.ui"_ustr, u"cui/ui/appearance.ui"_ustr, u"cui/ui/cellalignment.ui"_ustr, - u"svx/ui/formnavimenu.ui"_ustr, u"cui/ui/graphictestentry.ui"_ustr, u"cui/ui/lineendstabpage.ui"_ustr, u"cui/ui/linetabpage.ui"_ustr, @@ -333,6 +332,7 @@ bool QtInstanceBuilder::IsUIFileSupported(const OUString& rUIFile, const weld::W u"svt/ui/datewindow.ui"_ustr, u"svt/ui/linewindow.ui"_ustr, u"svx/ui/colorwindow.ui"_ustr, + u"svx/ui/formnavimenu.ui"_ustr, u"vcl/ui/editmenu.ui"_ustr, u"xmlsec/ui/certdetails.ui"_ustr, u"xmlsec/ui/certgeneral.ui"_ustr,
