cui/uiconfig/ui/borderpage.ui | 284 +++++++++++++++++------------------ sw/uiconfig/swriter/ui/wrapdialog.ui | 39 ++-- vcl/qt5/QtInstanceBuilder.cxx | 2 3 files changed, 162 insertions(+), 163 deletions(-)
New commits: commit d20f7e9b86f2efa258db3e8456dd24d94190e0c5 Author: Michael Weghorn <[email protected]> AuthorDate: Sun Nov 16 18:49:44 2025 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Sun Nov 16 22:02:19 2025 +0100 tdf#130857 qt weld: Support Writer "Wrap" dialog This means that native Qt widgets are used for that dialog now when using the qt5 or qt6 VCL plugin and starting LO with environment variable SAL_VCL_QT_USE_WELDED_WIDGETS=1 set. The dialog can be triggered like this: * start Writer * "Insert" -> "Shape" -> "Basic Shapes" -> "Rectangle" * insert the shape into the doc by clicking and moving mouse * right-click on the selected shape to open the context menu * "Wrap" -> "Edit..." Change-Id: Ia79bb16fdec73c288b97aa21c0906f14d990636f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194078 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/vcl/qt5/QtInstanceBuilder.cxx b/vcl/qt5/QtInstanceBuilder.cxx index b70adaf291d8..efe9a7c6bc18 100644 --- a/vcl/qt5/QtInstanceBuilder.cxx +++ b/vcl/qt5/QtInstanceBuilder.cxx @@ -189,6 +189,7 @@ bool QtInstanceBuilder::IsUIFileSupported(const OUString& rUIFile, const weld::W 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/documentpropertiesdialog.ui"_ustr, u"sfx/ui/editdurationdialog.ui"_ustr, u"sfx/ui/helpmanual.ui"_ustr, @@ -271,6 +272,7 @@ bool QtInstanceBuilder::IsUIFileSupported(const OUString& rUIFile, const weld::W u"modules/swriter/ui/columnpage.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, commit 11c9886851973ba60d7c23d0b7c2c2f950683ae1 Author: Michael Weghorn <[email protected]> AuthorDate: Sun Nov 16 18:42:57 2025 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Sun Nov 16 22:02:13 2025 +0100 sw: Resave wrapdialog.ui with glade 3.40 The dialog using this .ui file can be triggered as follows: * start Writer * "Insert" -> "Shape" -> "Basic Shapes" -> "Rectangle" * insert the shape into the doc by clicking and moving mouse * right-click on the selected shape to open the context menu * "Wrap" -> "Edit..." Change-Id: I9a4922ed0a8603513d2bd36923430585065e6830 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194077 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins diff --git a/sw/uiconfig/swriter/ui/wrapdialog.ui b/sw/uiconfig/swriter/ui/wrapdialog.ui index 1fb34d475f02..49d635b7259a 100644 --- a/sw/uiconfig/swriter/ui/wrapdialog.ui +++ b/sw/uiconfig/swriter/ui/wrapdialog.ui @@ -1,33 +1,33 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.36.0 --> +<!-- Generated with glade 3.40.0 --> <interface domain="sw"> <requires lib="gtk+" version="3.24"/> <object class="GtkDialog" id="WrapDialog"> - <property name="can_focus">False</property> - <property name="border_width">6</property> + <property name="can-focus">False</property> + <property name="border-width">6</property> <property name="title" translatable="yes" context="wrapdialog|WrapDialog">Wrap</property> <property name="resizable">False</property> <property name="modal">True</property> - <property name="default_width">0</property> - <property name="default_height">0</property> - <property name="type_hint">dialog</property> + <property name="default-width">0</property> + <property name="default-height">0</property> + <property name="type-hint">dialog</property> <child internal-child="vbox"> <object class="GtkBox" id="dialog-vbox1"> - <property name="can_focus">False</property> + <property name="can-focus">False</property> <property name="orientation">vertical</property> <property name="spacing">12</property> <child internal-child="action_area"> <object class="GtkButtonBox" id="dialog-action_area1"> - <property name="can_focus">False</property> - <property name="layout_style">end</property> + <property name="can-focus">False</property> + <property name="layout-style">end</property> <child> <object class="GtkButton" id="ok"> <property name="label" translatable="yes" context="stock">_OK</property> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="can_default">True</property> - <property name="has_default">True</property> - <property name="receives_default">True</property> + <property name="can-focus">True</property> + <property name="can-default">True</property> + <property name="has-default">True</property> + <property name="receives-default">True</property> <property name="use-underline">True</property> </object> <packing> @@ -40,8 +40,8 @@ <object class="GtkButton" id="cancel"> <property name="label" translatable="yes" context="stock">_Cancel</property> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> + <property name="can-focus">True</property> + <property name="receives-default">True</property> <property name="use-underline">True</property> </object> <packing> @@ -54,8 +54,8 @@ <object class="GtkButton" id="help"> <property name="label" translatable="yes" context="stock">_Help</property> <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="receives_default">True</property> + <property name="can-focus">True</property> + <property name="receives-default">True</property> <property name="use-underline">True</property> </object> <packing> @@ -69,7 +69,7 @@ <packing> <property name="expand">False</property> <property name="fill">True</property> - <property name="pack_type">end</property> + <property name="pack-type">end</property> <property name="position">0</property> </packing> </child> @@ -83,9 +83,6 @@ <action-widget response="-6">cancel</action-widget> <action-widget response="-11">help</action-widget> </action-widgets> - <child type="titlebar"> - <placeholder/> - </child> <child internal-child="accessible"> <object class="AtkObject" id="WrapDialog-atkobject"> <property name="AtkObject::accessible-description" translatable="yes" context="wrapdialog|extended_tip|WrapDialog">Specify the way you want text to wrap around an object.</property> commit 0e57301d98aef031d0c237748d86c210b76b8ba9 Author: Michael Weghorn <[email protected]> AuthorDate: Sun Nov 16 18:23:42 2025 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Sun Nov 16 22:02:07 2025 +0100 tdf#130857 Define widgets in Borders tab page in order Switch the order in which the widgets in the .ui file are defined so that the order better matches the visual appearance and logical order, which makes sure that tab focus order with the Qt-based VCL plugins is correct as well when using native Qt widgets (SAL_VCL_QT_USE_WELDED_WIDGETS=1), where focus order is (by default) based on widget creation order. See commit 02692566ad9fc7c3484f8581ffa0004cd4e43987 Author: Michael Weghorn <[email protected]> Date: Thu Oct 24 17:43:35 2024 +0200 tdf#130857 optnewdictionarydialog.ui: Define focusable widgets in order for more background. Using native Qt widgets isn't yet supported for that tab page, but this makes focus order work as expected in a WIP branch to implement that. Sample steps to trigger the "Borders" dialog using that tab page: * start Writer * "Tools" -> "Customize" * add "Borders" entry to the menu and close the dialog * open menu and click the newly added menu entry Change-Id: Iae68d1f4d09f52dc68ddc487d62ae03b24c596db Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194076 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/cui/uiconfig/ui/borderpage.ui b/cui/uiconfig/ui/borderpage.ui index e5e07784865c..c3a1bb75353f 100644 --- a/cui/uiconfig/ui/borderpage.ui +++ b/cui/uiconfig/ui/borderpage.ui @@ -74,29 +74,34 @@ <property name="row-spacing">3</property> <property name="column-spacing">6</property> <child> - <object class="GtkScrolledWindow" id="frameselwin"> + <object class="GtkLabel" id="label14"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="valign">center</property> + <property name="label" translatable="yes" context="borderpage|label14">Pr_esets:</property> + <property name="use-underline">True</property> + <property name="mnemonic-widget">presets</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">0</property> + </packing> + </child> + <child> + <object class="GtkIconView" id="presets"> <property name="visible">True</property> <property name="can-focus">True</property> - <property name="hscrollbar-policy">never</property> - <property name="vscrollbar-policy">never</property> - <property name="shadow-type">in</property> - <child> - <object class="GtkViewport"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <child> - <object class="GtkDrawingArea" id="framesel"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="events">GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_STRUCTURE_MASK</property> - </object> - </child> - </object> - </child> + <property name="halign">start</property> + <property name="valign">start</property> + <property name="model">presets_liststore</property> + <property name="pixbuf-column">0</property> + <property name="columns">5</property> + <property name="activate-on-single-click">True</property> </object> <packing> <property name="left-attach">1</property> - <property name="top-attach">2</property> + <property name="top-attach">0</property> </packing> </child> <child> @@ -116,34 +121,29 @@ </packing> </child> <child> - <object class="GtkLabel" id="label14"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="borderpage|label14">Pr_esets:</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">presets</property> - <property name="xalign">0</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">0</property> - </packing> - </child> - <child> - <object class="GtkIconView" id="presets"> + <object class="GtkScrolledWindow" id="frameselwin"> <property name="visible">True</property> <property name="can-focus">True</property> - <property name="halign">start</property> - <property name="valign">start</property> - <property name="model">presets_liststore</property> - <property name="pixbuf-column">0</property> - <property name="columns">5</property> - <property name="activate-on-single-click">True</property> + <property name="hscrollbar-policy">never</property> + <property name="vscrollbar-policy">never</property> + <property name="shadow-type">in</property> + <child> + <object class="GtkViewport"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <child> + <object class="GtkDrawingArea" id="framesel"> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="events">GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_STRUCTURE_MASK</property> + </object> + </child> + </object> + </child> </object> <packing> <property name="left-attach">1</property> - <property name="top-attach">0</property> + <property name="top-attach">2</property> </packing> </child> <child> @@ -227,20 +227,20 @@ </packing> </child> <child> - <object class="GtkLabel" id="label16"> + <object class="GtkMenuButton" id="linestylelb"> <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label" translatable="yes" context="borderpage|label16">_Thickness:</property> - <property name="use-underline">True</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> <property name="xalign">0</property> - <accessibility> - <relation type="label-for" target="linewidthlb"/> - <relation type="label-for" target="linewidthmf"/> - </accessibility> + <property name="draw-indicator">True</property> + <property name="label" translatable="no"></property> + <child> + <placeholder/> + </child> </object> <packing> - <property name="left-attach">0</property> - <property name="top-attach">2</property> + <property name="left-attach">1</property> + <property name="top-attach">0</property> </packing> </child> <child> @@ -258,7 +258,7 @@ </packing> </child> <child> - <object class="GtkMenuButton" id="linestylelb"> + <object class="GtkMenuButton" id="linecolorlb"> <property name="visible">True</property> <property name="can-focus">True</property> <property name="receives-default">False</property> @@ -271,24 +271,24 @@ </object> <packing> <property name="left-attach">1</property> - <property name="top-attach">0</property> + <property name="top-attach">1</property> </packing> </child> <child> - <object class="GtkMenuButton" id="linecolorlb"> + <object class="GtkLabel" id="label16"> <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> + <property name="can-focus">False</property> + <property name="label" translatable="yes" context="borderpage|label16">_Thickness:</property> + <property name="use-underline">True</property> <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> + <accessibility> + <relation type="label-for" target="linewidthlb"/> + <relation type="label-for" target="linewidthmf"/> + </accessibility> </object> <packing> - <property name="left-attach">1</property> - <property name="top-attach">1</property> + <property name="left-attach">0</property> + <property name="top-attach">2</property> </packing> </child> <child> @@ -379,116 +379,116 @@ <property name="row-spacing">3</property> <property name="column-spacing">6</property> <child> - <object class="GtkSpinButton" id="leftmf"> + <object class="GtkLabel" id="leftft"> <property name="visible">True</property> - <property name="can-focus">True</property> + <property name="can-focus">False</property> <property name="valign">center</property> - <property name="activates-default">True</property> - <property name="truncate-multiline">True</property> - <property name="adjustment">adjustment2</property> - <property name="digits">2</property> + <property name="label" translatable="yes" context="borderpage|leftft">_Left:</property> + <property name="use-underline">True</property> + <property name="mnemonic-widget">leftmf</property> + <property name="xalign">0</property> </object> <packing> - <property name="left-attach">1</property> + <property name="left-attach">0</property> <property name="top-attach">0</property> </packing> </child> <child> - <object class="GtkSpinButton" id="topmf"> + <object class="GtkSpinButton" id="leftmf"> <property name="visible">True</property> <property name="can-focus">True</property> + <property name="valign">center</property> <property name="activates-default">True</property> <property name="truncate-multiline">True</property> - <property name="adjustment">adjustment5</property> + <property name="adjustment">adjustment2</property> <property name="digits">2</property> </object> <packing> <property name="left-attach">1</property> - <property name="top-attach">2</property> + <property name="top-attach">0</property> </packing> </child> <child> - <object class="GtkSpinButton" id="rightmf"> + <object class="GtkLabel" id="rightft"> <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="activates-default">True</property> - <property name="truncate-multiline">True</property> - <property name="adjustment">adjustment4</property> - <property name="digits">2</property> + <property name="can-focus">False</property> + <property name="label" translatable="yes" context="borderpage|rightft">Right:</property> + <property name="use-underline">True</property> + <property name="mnemonic-widget">rightmf</property> + <property name="xalign">0</property> </object> <packing> - <property name="left-attach">1</property> + <property name="left-attach">0</property> <property name="top-attach">1</property> </packing> </child> <child> - <object class="GtkSpinButton" id="bottommf"> + <object class="GtkSpinButton" id="rightmf"> <property name="visible">True</property> <property name="can-focus">True</property> <property name="activates-default">True</property> <property name="truncate-multiline">True</property> - <property name="adjustment">adjustment6</property> + <property name="adjustment">adjustment4</property> <property name="digits">2</property> </object> <packing> <property name="left-attach">1</property> - <property name="top-attach">3</property> + <property name="top-attach">1</property> </packing> </child> <child> - <object class="GtkLabel" id="leftft"> + <object class="GtkLabel" id="topft"> <property name="visible">True</property> <property name="can-focus">False</property> - <property name="valign">center</property> - <property name="label" translatable="yes" context="borderpage|leftft">_Left:</property> + <property name="label" translatable="yes" context="borderpage|topft">_Top:</property> <property name="use-underline">True</property> - <property name="mnemonic-widget">leftmf</property> + <property name="mnemonic-widget">topmf</property> <property name="xalign">0</property> </object> <packing> <property name="left-attach">0</property> - <property name="top-attach">0</property> + <property name="top-attach">2</property> </packing> </child> <child> - <object class="GtkLabel" id="rightft"> + <object class="GtkSpinButton" id="topmf"> <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label" translatable="yes" context="borderpage|rightft">Right:</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">rightmf</property> - <property name="xalign">0</property> + <property name="can-focus">True</property> + <property name="activates-default">True</property> + <property name="truncate-multiline">True</property> + <property name="adjustment">adjustment5</property> + <property name="digits">2</property> </object> <packing> - <property name="left-attach">0</property> - <property name="top-attach">1</property> + <property name="left-attach">1</property> + <property name="top-attach">2</property> </packing> </child> <child> - <object class="GtkLabel" id="topft"> + <object class="GtkLabel" id="bottomft"> <property name="visible">True</property> <property name="can-focus">False</property> - <property name="label" translatable="yes" context="borderpage|topft">_Top:</property> + <property name="label" translatable="yes" context="borderpage|bottomft">_Bottom:</property> <property name="use-underline">True</property> - <property name="mnemonic-widget">topmf</property> + <property name="mnemonic-widget">bottommf</property> <property name="xalign">0</property> </object> <packing> <property name="left-attach">0</property> - <property name="top-attach">2</property> + <property name="top-attach">3</property> </packing> </child> <child> - <object class="GtkLabel" id="bottomft"> + <object class="GtkSpinButton" id="bottommf"> <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label" translatable="yes" context="borderpage|bottomft">_Bottom:</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">bottommf</property> - <property name="xalign">0</property> + <property name="can-focus">True</property> + <property name="activates-default">True</property> + <property name="truncate-multiline">True</property> + <property name="adjustment">adjustment6</property> + <property name="digits">2</property> </object> <packing> - <property name="left-attach">0</property> + <property name="left-attach">1</property> <property name="top-attach">3</property> </packing> </child> @@ -540,6 +540,20 @@ <property name="margin-top">6</property> <property name="row-spacing">3</property> <property name="column-spacing">6</property> + <child> + <object class="GtkLabel" id="label22"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="label" translatable="yes" context="borderpage|label22">_Position:</property> + <property name="use-underline">True</property> + <property name="mnemonic-widget">shadows</property> + <property name="xalign">0</property> + </object> + <packing> + <property name="left-attach">0</property> + <property name="top-attach">0</property> + </packing> + </child> <child> <object class="GtkIconView" id="shadows"> <property name="visible">True</property> @@ -557,17 +571,34 @@ </packing> </child> <child> - <object class="GtkLabel" id="label22"> + <object class="GtkLabel" id="shadowcolorft"> <property name="visible">True</property> <property name="can-focus">False</property> - <property name="label" translatable="yes" context="borderpage|label22">_Position:</property> + <property name="label" translatable="yes" context="borderpage|shadowcolorft">C_olor:</property> <property name="use-underline">True</property> - <property name="mnemonic-widget">shadows</property> + <property name="mnemonic-widget">shadowcolorlb</property> <property name="xalign">0</property> </object> <packing> <property name="left-attach">0</property> - <property name="top-attach">0</property> + <property name="top-attach">1</property> + </packing> + </child> + <child> + <object class="GtkMenuButton" id="shadowcolorlb"> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="receives-default">False</property> + <property name="xalign">0</property> + <property name="draw-indicator">True</property> + <property name="label" translatable="no"></property> + <child> + <placeholder/> + </child> + </object> + <packing> + <property name="left-attach">1</property> + <property name="top-attach">1</property> </packing> </child> <child> @@ -601,37 +632,6 @@ <property name="top-attach">2</property> </packing> </child> - <child> - <object class="GtkLabel" id="shadowcolorft"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label" translatable="yes" context="borderpage|shadowcolorft">C_olor:</property> - <property name="use-underline">True</property> - <property name="mnemonic-widget">shadowcolorlb</property> - <property name="xalign">0</property> - </object> - <packing> - <property name="left-attach">0</property> - <property name="top-attach">1</property> - </packing> - </child> - <child> - <object class="GtkMenuButton" id="shadowcolorlb"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="receives-default">False</property> - <property name="xalign">0</property> - <property name="draw-indicator">True</property> - <property name="label" translatable="no"></property> - <child> - <placeholder/> - </child> - </object> - <packing> - <property name="left-attach">1</property> - <property name="top-attach">1</property> - </packing> - </child> </object> </child> <child type="label">
