svx/source/tbxctrls/tbunosearchcontrollers.cxx |    4 
 svx/uiconfig/ui/checkbuttonbox.ui              |   12 -
 svx/uiconfig/ui/findbox.ui                     |   10 -
 sw/uiconfig/swriter/ui/fielddialog.ui          |  231 ++++---------------------
 vcl/qt5/QtInstanceDialog.cxx                   |    2 
 vcl/qt5/QtInstanceTreeView.cxx                 |    8 
 6 files changed, 61 insertions(+), 206 deletions(-)

New commits:
commit 00ebf365dd33d2272fdbb624976d6a6f94c3820c
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Sat Apr 19 17:57:53 2025 +0200
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Sat Apr 19 21:18:13 2025 +0200

    tdf#130857 qt weld: Don't unconditionally make dialogs modal
    
    Despite QDialog::modal [1] defaulting to false like GtkWindow::modal [2]
    and QtBuilder::setDialogProperties correctly evaluating the "modal"
    property in .ui files, even non-modal dialogs were run as modal
    dialogs when using SAL_VCL_QT_USE_WELDED_WIDGETS=1.
    (Seen with Writer's "Insert" -> "Fields" -> "More Fields..."
    dialog in a WIP branch.)
    
    This is because QDialog::open was used so far to open the dialog,
    for which the doc [3] explains:
    
    > Shows the dialog as a window modal dialog, returning immediately.
    
    Use QDialog::show/QWidget::show instead to show the dialog, which
    does unconditionally run the dialog as modal.
    
    This also makes the "Close" button work for that dialog.
    Previously, it wouldn't close the dialog because
    
        bAllow = !pDialog->get_visible() || !pDialog->get_modal();
    
    in SfxChildWindow::QueryClose would evaluate to false
    because the dialog was both, visible and modal.
    
    [1] https://doc.qt.io/qt-6/qdialog.html#modal-prop
    [2] https://docs.gtk.org/gtk3/property.Window.modal.html
    [3] https://doc.qt.io/qt-6/qdialog.html#open
    
    Change-Id: I099d990c614b592751e01791b48405c674b6ed3f
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184377
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>

diff --git a/vcl/qt5/QtInstanceDialog.cxx b/vcl/qt5/QtInstanceDialog.cxx
index 6ee4ca2bdff3..e9b5af5642bb 100644
--- a/vcl/qt5/QtInstanceDialog.cxx
+++ b/vcl/qt5/QtInstanceDialog.cxx
@@ -52,7 +52,7 @@ bool QtInstanceDialog::runAsync(const 
std::shared_ptr<weld::DialogController>& r
     m_xRunAsyncDialogController = rxOwner;
     m_aRunAsyncFunc = func;
     connect(m_pDialog, &QDialog::finished, this, 
&QtInstanceDialog::dialogFinished);
-    m_pDialog->open();
+    m_pDialog->show();
 
     return true;
 }
commit 5de816bdeb927237262ac6c165b0a5ae0cb8466f
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Sat Apr 19 17:27:10 2025 +0200
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Sat Apr 19 21:17:58 2025 +0200

    sw: Resave fielddialog.ui with glade 3.40
    
    This is Writer's "Insert" -> "Field" -> "More Fields..."
    dialog.
    
    Change-Id: Ic77b96cf659292307a7be14dc1cb3d0c2d01da4e
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184376
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>

diff --git a/sw/uiconfig/swriter/ui/fielddialog.ui 
b/sw/uiconfig/swriter/ui/fielddialog.ui
index e80a8509ffa4..498c74d77b5f 100644
--- a/sw/uiconfig/swriter/ui/fielddialog.ui
+++ b/sw/uiconfig/swriter/ui/fielddialog.ui
@@ -1,29 +1,29 @@
 <?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.20"/>
   <object class="GtkDialog" id="FieldDialog">
-    <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="fielddialog|FieldDialog">Fields</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="reset">
                 <property name="label" translatable="yes" 
context="stock">_Reset</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
-                <property name="no_show_all">True</property>
+                <property name="can-focus">True</property>
+                <property name="receives-default">True</property>
+                <property name="no-show-all">True</property>
                 <property name="use-underline">True</property>
               </object>
               <packing>
@@ -36,11 +36,11 @@
               <object class="GtkButton" id="ok">
                 <property name="label" translatable="yes" 
context="fielddialog|ok">_Insert</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="use_underline">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>
                 <child internal-child="accessible">
                   <object class="AtkObject" id="ok-atkobject">
                     <property name="AtkObject::accessible-description" 
translatable="yes" context="fielddialog|extended_tip|ok">Inserts the selected 
field at the current cursor position in the document. To close the dialog, 
click the Close button.</property>
@@ -57,8 +57,8 @@
               <object class="GtkButton" id="cancel">
                 <property name="label" translatable="yes" 
context="stock">_Close</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>
                 <child internal-child="accessible">
                   <object class="AtkObject" id="cancel-atkobject">
@@ -76,8 +76,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>
@@ -91,46 +91,22 @@
           <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>
         <child>
           <object class="GtkNotebook" id="tabcontrol">
             <property name="visible">True</property>
-            <property name="can_focus">True</property>
+            <property name="can-focus">True</property>
             <property name="hexpand">True</property>
             <property name="vexpand">True</property>
-            <property name="enable_popup">True</property>
+            <property name="enable-popup">True</property>
             <child>
               <!-- n-columns=1 n-rows=1 -->
               <object class="GtkGrid">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
+                <property name="can-focus">False</property>
                 <child>
                   <placeholder/>
                 </child>
@@ -139,42 +115,18 @@
             <child type="tab">
               <object class="GtkLabel" id="document">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
+                <property name="can-focus">False</property>
                 <property name="label" translatable="yes" 
context="fielddialog|document">Document</property>
               </object>
               <packing>
-                <property name="tab_fill">False</property>
+                <property name="tab-fill">False</property>
               </packing>
             </child>
             <child>
               <!-- n-columns=1 n-rows=1 -->
               <object class="GtkGrid">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
+                <property name="can-focus">False</property>
                 <child>
                   <placeholder/>
                 </child>
@@ -186,43 +138,19 @@
             <child type="tab">
               <object class="GtkLabel" id="ref">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
+                <property name="can-focus">False</property>
                 <property name="label" translatable="yes" 
context="fielddialog|ref">Cross-references</property>
               </object>
               <packing>
                 <property name="position">1</property>
-                <property name="tab_fill">False</property>
+                <property name="tab-fill">False</property>
               </packing>
             </child>
             <child>
               <!-- n-columns=1 n-rows=1 -->
               <object class="GtkGrid">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
+                <property name="can-focus">False</property>
                 <child>
                   <placeholder/>
                 </child>
@@ -234,43 +162,19 @@
             <child type="tab">
               <object class="GtkLabel" id="functions">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
+                <property name="can-focus">False</property>
                 <property name="label" translatable="yes" 
context="fielddialog|functions">Functions</property>
               </object>
               <packing>
                 <property name="position">2</property>
-                <property name="tab_fill">False</property>
+                <property name="tab-fill">False</property>
               </packing>
             </child>
             <child>
               <!-- n-columns=1 n-rows=1 -->
               <object class="GtkGrid">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
+                <property name="can-focus">False</property>
                 <child>
                   <placeholder/>
                 </child>
@@ -282,43 +186,19 @@
             <child type="tab">
               <object class="GtkLabel" id="docinfo">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
+                <property name="can-focus">False</property>
                 <property name="label" translatable="yes" 
context="fielddialog|docinfo">DocInformation</property>
               </object>
               <packing>
                 <property name="position">3</property>
-                <property name="tab_fill">False</property>
+                <property name="tab-fill">False</property>
               </packing>
             </child>
             <child>
               <!-- n-columns=1 n-rows=1 -->
               <object class="GtkGrid">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
+                <property name="can-focus">False</property>
                 <child>
                   <placeholder/>
                 </child>
@@ -330,43 +210,19 @@
             <child type="tab">
               <object class="GtkLabel" id="variables">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
+                <property name="can-focus">False</property>
                 <property name="label" translatable="yes" 
context="fielddialog|variables">Variables</property>
               </object>
               <packing>
                 <property name="position">4</property>
-                <property name="tab_fill">False</property>
+                <property name="tab-fill">False</property>
               </packing>
             </child>
             <child>
               <!-- n-columns=1 n-rows=1 -->
               <object class="GtkGrid">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
+                <property name="can-focus">False</property>
                 <child>
                   <placeholder/>
                 </child>
@@ -378,12 +234,12 @@
             <child type="tab">
               <object class="GtkLabel" id="database">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
+                <property name="can-focus">False</property>
                 <property name="label" translatable="yes" 
context="fielddialog|database">Database</property>
               </object>
               <packing>
                 <property name="position">5</property>
-                <property name="tab_fill">False</property>
+                <property name="tab-fill">False</property>
               </packing>
             </child>
           </object>
@@ -401,9 +257,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="FieldDialog-atkobject">
         <property name="AtkObject::accessible-description" translatable="yes" 
context="fielddialog|extended_tip|FieldDialog">Inserts a field at the current 
cursor position.</property>
commit 62b30a8272d22d8b4b83556afee73824eafc52fb
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Sat Apr 19 17:04:51 2025 +0200
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Sat Apr 19 21:17:52 2025 +0200

    tdf#130857 qt weld: Implement QtInstanceTreeView::get_iter_first
    
    Change-Id: I2874958292ae188d24911f14698f2da44015d65c
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184375
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>

diff --git a/vcl/qt5/QtInstanceTreeView.cxx b/vcl/qt5/QtInstanceTreeView.cxx
index a209be729990..3950999d0f43 100644
--- a/vcl/qt5/QtInstanceTreeView.cxx
+++ b/vcl/qt5/QtInstanceTreeView.cxx
@@ -490,10 +490,12 @@ bool QtInstanceTreeView::get_cursor(weld::TreeIter*) const
 
 void QtInstanceTreeView::set_cursor(const weld::TreeIter& rIter) { 
set_cursor(rowIndex(rIter)); }
 
-bool QtInstanceTreeView::get_iter_first(weld::TreeIter&) const
+bool QtInstanceTreeView::get_iter_first(weld::TreeIter& rIter) const
 {
-    assert(false && "Not implemented yet");
-    return false;
+    QtInstanceTreeIter& rQtIter = static_cast<QtInstanceTreeIter&>(rIter);
+    const QModelIndex aIndex = modelIndex(0);
+    rQtIter.setModelIndex(aIndex);
+    return aIndex.isValid();
 }
 
 bool QtInstanceTreeView::iter_next_sibling(weld::TreeIter&) const
commit e5e491c3dbfdc5a51d7df0230191fd8d4aa39177
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Sat Apr 19 15:38:51 2025 +0200
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Sat Apr 19 21:17:45 2025 +0200

    tdf#130857 svx: Use container size for search bar item windows
    
    Set the CheckButtonItemWindow and FindTextFieldControl
    size to the size of the containers they contain
    (see corresponding .ui files svx/uiconfig/ui/checkbuttonbox.ui
    and svx/uiconfig/ui/findbox.ui), not only to the
    size of the checkbox/combobox inside of those containers.
    
    While the size is the same for gen and gtk3 on Linux, it
    isn't in a WIP branch of mine experimenting to support
    using native Qt widgets for those when using the qt6 VCL
    plugin, resulting in the checkbox/combobox not being shown
    completely.
    
    Change-Id: I5ae47adcf21f787d69e130eb2e45737a32676591
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184374
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>
    Tested-by: Jenkins

diff --git a/svx/source/tbxctrls/tbunosearchcontrollers.cxx 
b/svx/source/tbxctrls/tbunosearchcontrollers.cxx
index db1a1698adc0..7f24d173cd3d 100644
--- a/svx/source/tbxctrls/tbunosearchcontrollers.cxx
+++ b/svx/source/tbxctrls/tbunosearchcontrollers.cxx
@@ -86,7 +86,7 @@ public:
 
         m_xWidget->connect_key_press(LINK(this, CheckButtonItemWindow, 
KeyInputHdl));
         m_xWidget->set_label(rLabel);
-        SetSizePixel(m_xWidget->get_preferred_size());
+        SetSizePixel(m_xContainer->get_preferred_size());
     }
 
     bool get_active() const
@@ -229,7 +229,7 @@ FindTextFieldControl::FindTextFieldControl(ToolBox* pParent,
     m_xWidget->connect_entry_activate(LINK(this, FindTextFieldControl, 
ActivateHdl));
 
     m_xWidget->set_size_request(250, -1);
-    SetSizePixel(m_xWidget->get_preferred_size());
+    SetSizePixel(m_xContainer->get_preferred_size());
 
     // tdf#154269 - respect FindReplaceRememberedSearches expert option
     m_nRememberSize = 
officecfg::Office::Common::Misc::FindReplaceRememberedSearches::get();
commit 03774463ff6798309a67eec10f896f1416d986fa
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Sat Apr 19 15:35:21 2025 +0200
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Sat Apr 19 21:17:35 2025 +0200

    svx: Resave checkbuttonbox.ui with glade 3.40
    
    This .ui file is used for the checkboxes in
    the Search/Find toolbar that opens when pressing
    Ctrl+F in Writer.
    
    Change-Id: Ic1c5d0f5245fc29a0473b0a882d985c4fdd44f0d
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184373
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>
    Tested-by: Jenkins

diff --git a/svx/uiconfig/ui/checkbuttonbox.ui 
b/svx/uiconfig/ui/checkbuttonbox.ui
index 06a59de7681c..55f194ace8bd 100644
--- a/svx/uiconfig/ui/checkbuttonbox.ui
+++ b/svx/uiconfig/ui/checkbuttonbox.ui
@@ -1,21 +1,21 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.22.1 -->
+<!-- Generated with glade 3.40.0 -->
 <interface domain="svx">
   <requires lib="gtk+" version="3.20"/>
   <object class="GtkBox" id="CheckButtonBox">
     <property name="visible">True</property>
-    <property name="can_focus">False</property>
+    <property name="can-focus">False</property>
     <property name="hexpand">True</property>
     <property name="spacing">6</property>
     <child>
       <object class="GtkCheckButton" id="checkbutton">
         <property name="visible">True</property>
-        <property name="can_focus">True</property>
-        <property name="receives_default">False</property>
+        <property name="can-focus">True</property>
+        <property name="receives-default">False</property>
         <property name="hexpand">True</property>
         <property name="vexpand">True</property>
-        <property name="use_underline">True</property>
-        <property name="draw_indicator">True</property>
+        <property name="use-underline">True</property>
+        <property name="draw-indicator">True</property>
       </object>
       <packing>
         <property name="expand">False</property>
commit c64781bde0ccc2a4bb23b57e7b922b47ead92f1d
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Sat Apr 19 15:32:26 2025 +0200
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Sat Apr 19 21:17:29 2025 +0200

    svx: Resave findbox.ui with glade 3.40
    
    This .ui file is used for the combobox in
    the Search/Find toolbar that opens when pressing
    Ctrl+F in Writer.
    
    Change-Id: I6d1f12a8e217a1dbf68e2a13cddbd14cf8b8ac58
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184372
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>

diff --git a/svx/uiconfig/ui/findbox.ui b/svx/uiconfig/ui/findbox.ui
index b01c199de3d1..342b636286a7 100644
--- a/svx/uiconfig/ui/findbox.ui
+++ b/svx/uiconfig/ui/findbox.ui
@@ -1,22 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.22.1 -->
+<!-- Generated with glade 3.40.0 -->
 <interface domain="svx">
   <requires lib="gtk+" version="3.20"/>
   <object class="GtkBox" id="FindBox">
     <property name="visible">True</property>
-    <property name="can_focus">False</property>
+    <property name="can-focus">False</property>
     <property name="hexpand">True</property>
     <property name="spacing">6</property>
     <child>
       <object class="GtkComboBoxText" id="find">
         <property name="visible">True</property>
-        <property name="can_focus">False</property>
+        <property name="can-focus">False</property>
         <property name="hexpand">True</property>
-        <property name="has_entry">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>
-            <property name="can_focus">True</property>
           </object>
         </child>
       </object>

Reply via email to