filter/uiconfig/ui/xmlfiltertabpagegeneral.ui        |  124 +++++++++----------
 filter/uiconfig/ui/xmlfiltertabpagetransformation.ui |  114 ++++++++---------
 vcl/qt5/QtInstanceBuilder.cxx                        |    1 
 3 files changed, 120 insertions(+), 119 deletions(-)

New commits:
commit 9d617f6fab45fd1330edb6baf751b10960d86554
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Sat Feb 22 13:14:56 2025 +0100
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Sun Feb 23 10:13:55 2025 +0100

    tdf#130857 qt weld: Support "Test XML Filter" 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 in Writer via
    "Tools" -> "XML Filter Settings" -> "Test XSLTs".
    
    Change-Id: I88853d2299cda220027033c2b7e75b7ae8bae4e0
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182032
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>
    Tested-by: Jenkins

diff --git a/vcl/qt5/QtInstanceBuilder.cxx b/vcl/qt5/QtInstanceBuilder.cxx
index ce06b4326f0e..6563e84d7d52 100644
--- a/vcl/qt5/QtInstanceBuilder.cxx
+++ b/vcl/qt5/QtInstanceBuilder.cxx
@@ -83,6 +83,7 @@ bool QtInstanceBuilder::IsUIFileSupported(const OUString& 
rUIFile)
         u"cui/ui/zoomdialog.ui"_ustr,
         u"dbaccess/ui/savedialog.ui"_ustr,
         u"dbaccess/ui/tabledesignsavemodifieddialog.ui"_ustr,
+        u"filter/ui/testxmlfilter.ui"_ustr,
         u"filter/ui/xmlfiltertabpagegeneral.ui"_ustr,
         u"filter/ui/xmlfiltertabpagetransformation.ui"_ustr,
         u"filter/ui/xsltfilterdialog.ui"_ustr,
commit f358878e943631a236806b083287f7f33254dc56
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Sat Feb 22 13:08:24 2025 +0100
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Sun Feb 23 10:13:46 2025 +0100

    tdf#130857 Define widgets in XML Filter dlg .ui files in order
    
    Switch the order in which the widgets in the .ui files
    are defined so that the order matches the visual appearance
    (and "left-attach"/"top-attach" properties 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 <m.wegh...@posteo.de>
        Date:   Thu Oct 24 17:43:35 2024 +0200
    
            tdf#130857 optnewdictionarydialog.ui: Define focusable widgets in 
order
    
    for more background.
    
    The dialog can be triggered in Writer via
    "Tools" -> "XML Filter Settings" -> "New".
    
    Change-Id: Icf1043da9d97efed6f1a5e1d3cb722d66f86921c
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182031
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>
    Tested-by: Jenkins

diff --git a/filter/uiconfig/ui/xmlfiltertabpagegeneral.ui 
b/filter/uiconfig/ui/xmlfiltertabpagegeneral.ui
index 6b4b42edad4f..c0d08e35e6c1 100644
--- a/filter/uiconfig/ui/xmlfiltertabpagegeneral.ui
+++ b/filter/uiconfig/ui/xmlfiltertabpagegeneral.ui
@@ -31,64 +31,78 @@
           </packing>
         </child>
         <child>
-          <object class="GtkLabel" id="label3">
+          <object class="GtkEntry" id="filtername">
             <property name="visible">True</property>
-            <property name="can-focus">False</property>
-            <property name="label" translatable="yes" 
context="xmlfiltertabpagegeneral|label3">_Application:</property>
-            <property name="use-underline">True</property>
-            <property name="mnemonic-widget">application</property>
-            <property name="xalign">1</property>
+            <property name="can-focus">True</property>
+            <property name="halign">start</property>
+            <property name="activates-default">True</property>
+            <property name="width-chars">38</property>
+            <property name="truncate-multiline">True</property>
+            <child internal-child="accessible">
+              <object class="AtkObject" id="filtername-atkobject">
+                <property name="AtkObject::accessible-description" 
translatable="yes" 
context="xmlfiltertabpagegeneral|extended_tip|filtername">Enter the name that 
you want to display in the list box of the XML Filter Settings 
dialog.</property>
+              </object>
+            </child>
           </object>
           <packing>
-            <property name="left-attach">0</property>
-            <property name="top-attach">1</property>
+            <property name="left-attach">1</property>
+            <property name="top-attach">0</property>
           </packing>
         </child>
         <child>
-          <object class="GtkLabel" id="label4">
+          <object class="GtkLabel" id="label3">
             <property name="visible">True</property>
             <property name="can-focus">False</property>
-            <property name="label" translatable="yes" 
context="xmlfiltertabpagegeneral|label4">_Name of file type:</property>
+            <property name="label" translatable="yes" 
context="xmlfiltertabpagegeneral|label3">_Application:</property>
             <property name="use-underline">True</property>
-            <property name="mnemonic-widget">interfacename</property>
+            <property name="mnemonic-widget">application</property>
             <property name="xalign">1</property>
           </object>
           <packing>
             <property name="left-attach">0</property>
-            <property name="top-attach">2</property>
+            <property name="top-attach">1</property>
           </packing>
         </child>
         <child>
-          <object class="GtkLabel" id="label5">
+          <object class="GtkComboBoxText" id="application">
             <property name="visible">True</property>
             <property name="can-focus">False</property>
-            <property name="label" translatable="yes" 
context="xmlfiltertabpagegeneral|label5">File _extension:</property>
-            <property name="use-underline">True</property>
-            <property name="mnemonic-widget">extension</property>
-            <property name="xalign">1</property>
+            <property name="halign">start</property>
+            <property name="has-entry">True</property>
+            <child internal-child="entry">
+              <object class="GtkEntry" id="comboboxtext-entry">
+                <property name="can-focus">True</property>
+                <property name="activates-default">True</property>
+                <property name="truncate-multiline">True</property>
+              </object>
+            </child>
+            <child internal-child="accessible">
+              <object class="AtkObject" id="application-atkobject">
+                <property name="AtkObject::accessible-description" 
translatable="yes" 
context="xmlfiltertabpagegeneral|extended_tip|application">Select the 
application that you want to use with the filter.</property>
+              </object>
+            </child>
           </object>
           <packing>
-            <property name="left-attach">0</property>
-            <property name="top-attach">3</property>
+            <property name="left-attach">1</property>
+            <property name="top-attach">1</property>
           </packing>
         </child>
         <child>
-          <object class="GtkLabel" id="label6">
+          <object class="GtkLabel" id="label4">
             <property name="visible">True</property>
             <property name="can-focus">False</property>
-            <property name="label" translatable="yes" 
context="xmlfiltertabpagegeneral|label6">Comment_s:</property>
+            <property name="label" translatable="yes" 
context="xmlfiltertabpagegeneral|label4">_Name of file type:</property>
             <property name="use-underline">True</property>
-            <property name="mnemonic-widget">description</property>
+            <property name="mnemonic-widget">interfacename</property>
             <property name="xalign">1</property>
-            <property name="yalign">0</property>
           </object>
           <packing>
             <property name="left-attach">0</property>
-            <property name="top-attach">4</property>
+            <property name="top-attach">2</property>
           </packing>
         </child>
         <child>
-          <object class="GtkEntry" id="filtername">
+          <object class="GtkEntry" id="interfacename">
             <property name="visible">True</property>
             <property name="can-focus">True</property>
             <property name="halign">start</property>
@@ -96,76 +110,62 @@
             <property name="width-chars">38</property>
             <property name="truncate-multiline">True</property>
             <child internal-child="accessible">
-              <object class="AtkObject" id="filtername-atkobject">
-                <property name="AtkObject::accessible-description" 
translatable="yes" 
context="xmlfiltertabpagegeneral|extended_tip|filtername">Enter the name that 
you want to display in the list box of the XML Filter Settings 
dialog.</property>
+              <object class="AtkObject" id="interfacename-atkobject">
+                <property name="AtkObject::accessible-description" 
translatable="yes" 
context="xmlfiltertabpagegeneral|extended_tip|interfacename">Enter the name 
that you want to display in the File type box in file dialogs.</property>
               </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>
-          <object class="GtkEntry" id="extension">
+          <object class="GtkLabel" id="label5">
             <property name="visible">True</property>
-            <property name="can-focus">True</property>
-            <property name="halign">start</property>
-            <property name="activates-default">True</property>
-            <property name="width-chars">6</property>
-            <property name="truncate-multiline">True</property>
-            <child internal-child="accessible">
-              <object class="AtkObject" id="extension-atkobject">
-                <property name="AtkObject::accessible-description" 
translatable="yes" 
context="xmlfiltertabpagegeneral|extended_tip|extension">Enter the file 
extension to use when you open a file without specifying a filter. The file 
extension is used to determine which filter to use.</property>
-              </object>
-            </child>
+            <property name="can-focus">False</property>
+            <property name="label" translatable="yes" 
context="xmlfiltertabpagegeneral|label5">File _extension:</property>
+            <property name="use-underline">True</property>
+            <property name="mnemonic-widget">extension</property>
+            <property name="xalign">1</property>
           </object>
           <packing>
-            <property name="left-attach">1</property>
+            <property name="left-attach">0</property>
             <property name="top-attach">3</property>
           </packing>
         </child>
         <child>
-          <object class="GtkEntry" id="interfacename">
+          <object class="GtkEntry" id="extension">
             <property name="visible">True</property>
             <property name="can-focus">True</property>
             <property name="halign">start</property>
             <property name="activates-default">True</property>
-            <property name="width-chars">38</property>
+            <property name="width-chars">6</property>
             <property name="truncate-multiline">True</property>
             <child internal-child="accessible">
-              <object class="AtkObject" id="interfacename-atkobject">
-                <property name="AtkObject::accessible-description" 
translatable="yes" 
context="xmlfiltertabpagegeneral|extended_tip|interfacename">Enter the name 
that you want to display in the File type box in file dialogs.</property>
+              <object class="AtkObject" id="extension-atkobject">
+                <property name="AtkObject::accessible-description" 
translatable="yes" 
context="xmlfiltertabpagegeneral|extended_tip|extension">Enter the file 
extension to use when you open a file without specifying a filter. The file 
extension is used to determine which filter to use.</property>
               </object>
             </child>
           </object>
           <packing>
             <property name="left-attach">1</property>
-            <property name="top-attach">2</property>
+            <property name="top-attach">3</property>
           </packing>
         </child>
         <child>
-          <object class="GtkComboBoxText" id="application">
+          <object class="GtkLabel" id="label6">
             <property name="visible">True</property>
             <property name="can-focus">False</property>
-            <property name="halign">start</property>
-            <property name="has-entry">True</property>
-            <child internal-child="entry">
-              <object class="GtkEntry" id="comboboxtext-entry">
-                <property name="can-focus">True</property>
-                <property name="activates-default">True</property>
-                <property name="truncate-multiline">True</property>
-              </object>
-            </child>
-            <child internal-child="accessible">
-              <object class="AtkObject" id="application-atkobject">
-                <property name="AtkObject::accessible-description" 
translatable="yes" 
context="xmlfiltertabpagegeneral|extended_tip|application">Select the 
application that you want to use with the filter.</property>
-              </object>
-            </child>
+            <property name="label" translatable="yes" 
context="xmlfiltertabpagegeneral|label6">Comment_s:</property>
+            <property name="use-underline">True</property>
+            <property name="mnemonic-widget">description</property>
+            <property name="xalign">1</property>
+            <property name="yalign">0</property>
           </object>
           <packing>
-            <property name="left-attach">1</property>
-            <property name="top-attach">1</property>
+            <property name="left-attach">0</property>
+            <property name="top-attach">4</property>
           </packing>
         </child>
         <child>
diff --git a/filter/uiconfig/ui/xmlfiltertabpagetransformation.ui 
b/filter/uiconfig/ui/xmlfiltertabpagetransformation.ui
index f816f90e7d93..53b2c54232e5 100644
--- a/filter/uiconfig/ui/xmlfiltertabpagetransformation.ui
+++ b/filter/uiconfig/ui/xmlfiltertabpagetransformation.ui
@@ -64,6 +64,29 @@
             <property name="top-attach">1</property>
           </packing>
         </child>
+        <child>
+          <object class="GtkComboBoxText" id="xsltexport">
+            <property name="visible">True</property>
+            <property name="can-focus">False</property>
+            <property name="hexpand">True</property>
+            <property name="has-entry">True</property>
+            <child internal-child="entry">
+              <object class="GtkEntry">
+                <property name="can-focus">True</property>
+                <property name="truncate-multiline">True</property>
+              </object>
+            </child>
+            <child internal-child="accessible">
+              <object class="AtkObject" id="xsltexport-atkobject">
+                <property name="AtkObject::accessible-description" 
translatable="yes" 
context="xmlfiltertabpagetransformation|extended_tip|xsltexport">If this is an 
export filter, enter the file name of the XSLT stylesheet that you want to use 
for exporting.</property>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="left-attach">1</property>
+            <property name="top-attach">1</property>
+          </packing>
+        </child>
         <child>
           <object class="GtkButton" id="browseexport">
             <property name="label" translatable="yes" 
context="xmlfiltertabpagetransformation|browseexport">Brows_e...</property>
@@ -96,6 +119,29 @@
             <property name="top-attach">2</property>
           </packing>
         </child>
+        <child>
+          <object class="GtkComboBoxText" id="xsltimport">
+            <property name="visible">True</property>
+            <property name="can-focus">False</property>
+            <property name="hexpand">True</property>
+            <property name="has-entry">True</property>
+            <child internal-child="entry">
+              <object class="GtkEntry">
+                <property name="can-focus">True</property>
+                <property name="truncate-multiline">True</property>
+              </object>
+            </child>
+            <child internal-child="accessible">
+              <object class="AtkObject" id="xsltimport-atkobject">
+                <property name="AtkObject::accessible-description" 
translatable="yes" 
context="xmlfiltertabpagetransformation|extended_tip|xsltimport">If this is an 
import filter, enter the file name of the XSLT stylesheet that you want to use 
for importing.</property>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="left-attach">1</property>
+            <property name="top-attach">2</property>
+          </packing>
+        </child>
         <child>
           <object class="GtkButton" id="browseimport">
             <property name="label" translatable="yes" 
context="xmlfiltertabpagetransformation|browseimport">B_rowse...</property>
@@ -129,47 +175,7 @@
           </packing>
         </child>
         <child>
-          <object class="GtkButton" id="browsetemp">
-            <property name="label" translatable="yes" 
context="xmlfiltertabpagetransformation|browsetemp">Browse...</property>
-            <property name="visible">True</property>
-            <property name="can-focus">True</property>
-            <property name="receives-default">True</property>
-            <child internal-child="accessible">
-              <object class="AtkObject" id="browsetemp-atkobject">
-                <property name="AtkObject::accessible-description" 
translatable="yes" 
context="xmlfiltertabpagetransformation|extended_tip|browsetemp">Opens a file 
selection dialog.</property>
-              </object>
-            </child>
-          </object>
-          <packing>
-            <property name="left-attach">2</property>
-            <property name="top-attach">3</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkComboBoxText" id="xsltexport">
-            <property name="visible">True</property>
-            <property name="can-focus">False</property>
-            <property name="hexpand">True</property>
-            <property name="has-entry">True</property>
-            <child internal-child="entry">
-              <object class="GtkEntry">
-                <property name="can-focus">True</property>
-                <property name="truncate-multiline">True</property>
-              </object>
-            </child>
-            <child internal-child="accessible">
-              <object class="AtkObject" id="xsltexport-atkobject">
-                <property name="AtkObject::accessible-description" 
translatable="yes" 
context="xmlfiltertabpagetransformation|extended_tip|xsltexport">If this is an 
export filter, enter the file name of the XSLT stylesheet that you want to use 
for exporting.</property>
-              </object>
-            </child>
-          </object>
-          <packing>
-            <property name="left-attach">1</property>
-            <property name="top-attach">1</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkComboBoxText" id="xsltimport">
+          <object class="GtkComboBoxText" id="tempimport">
             <property name="visible">True</property>
             <property name="can-focus">False</property>
             <property name="hexpand">True</property>
@@ -181,36 +187,30 @@
               </object>
             </child>
             <child internal-child="accessible">
-              <object class="AtkObject" id="xsltimport-atkobject">
-                <property name="AtkObject::accessible-description" 
translatable="yes" 
context="xmlfiltertabpagetransformation|extended_tip|xsltimport">If this is an 
import filter, enter the file name of the XSLT stylesheet that you want to use 
for importing.</property>
+              <object class="AtkObject" id="tempimport-atkobject">
+                <property name="AtkObject::accessible-description" 
translatable="yes" 
context="xmlfiltertabpagetransformation|extended_tip|tempimport">Enter the name 
of the template that you want to use for importing. In the template, styles are 
defined to display XML tags.</property>
               </object>
             </child>
           </object>
           <packing>
             <property name="left-attach">1</property>
-            <property name="top-attach">2</property>
+            <property name="top-attach">3</property>
           </packing>
         </child>
         <child>
-          <object class="GtkComboBoxText" id="tempimport">
+          <object class="GtkButton" id="browsetemp">
+            <property name="label" translatable="yes" 
context="xmlfiltertabpagetransformation|browsetemp">Browse...</property>
             <property name="visible">True</property>
-            <property name="can-focus">False</property>
-            <property name="hexpand">True</property>
-            <property name="has-entry">True</property>
-            <child internal-child="entry">
-              <object class="GtkEntry">
-                <property name="can-focus">True</property>
-                <property name="truncate-multiline">True</property>
-              </object>
-            </child>
+            <property name="can-focus">True</property>
+            <property name="receives-default">True</property>
             <child internal-child="accessible">
-              <object class="AtkObject" id="tempimport-atkobject">
-                <property name="AtkObject::accessible-description" 
translatable="yes" 
context="xmlfiltertabpagetransformation|extended_tip|tempimport">Enter the name 
of the template that you want to use for importing. In the template, styles are 
defined to display XML tags.</property>
+              <object class="AtkObject" id="browsetemp-atkobject">
+                <property name="AtkObject::accessible-description" 
translatable="yes" 
context="xmlfiltertabpagetransformation|extended_tip|browsetemp">Opens a file 
selection dialog.</property>
               </object>
             </child>
           </object>
           <packing>
-            <property name="left-attach">1</property>
+            <property name="left-attach">2</property>
             <property name="top-attach">3</property>
           </packing>
         </child>

Reply via email to