include/vcl/builderbase.hxx             |    1 
 sc/uiconfig/scalc/ui/showsheetdialog.ui |   65 +++++++++++++++-----------------
 vcl/qt5/QtBuilder.cxx                   |    1 
 vcl/source/window/builder.cxx           |   23 +++++------
 4 files changed, 44 insertions(+), 46 deletions(-)

New commits:
commit cb17f33b673e7786a57028fddc85485c33e1576b
Author:     Michael Weghorn <[email protected]>
AuthorDate: Fri Nov 29 16:17:16 2024 +0100
Commit:     Michael Weghorn <[email protected]>
CommitDate: Sat Nov 30 09:39:35 2024 +0100

    tdf#130857 qt weld: Evaluate tree view header visibility
    
    Take into account the "headers-visible" property
    for "GtkTreeView" in .ui files.
    
    With this in place, Calc's "Sheets" -> "Show Sheet"
    dialog no longer shows an unexpected "1" title
    above the list of hidden sheets.
    
    Change-Id: I054cca7e2b379782cf3548cb822ecdba0f5553d4
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177547
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <[email protected]>

diff --git a/vcl/qt5/QtBuilder.cxx b/vcl/qt5/QtBuilder.cxx
index d2835099ff9b..7a4269a9ec10 100644
--- a/vcl/qt5/QtBuilder.cxx
+++ b/vcl/qt5/QtBuilder.cxx
@@ -290,6 +290,7 @@ QObject* QtBuilder::makeObject(QObject* pParent, 
std::u16string_view sName, std:
     {
         QTreeView* pTreeView = new QTreeView(pParentWidget);
         pTreeView->setModel(new QStandardItemModel(pTreeView));
+        pTreeView->setHeaderHidden(!extractHeadersVisible(rMap));
         pObject = pTreeView;
     }
     else if (sName == u"GtkTreeViewColumn")
commit 480d38b18ccdc422c92f7dde11058f16c4ac57fa
Author:     Michael Weghorn <[email protected]>
AuthorDate: Fri Nov 29 16:14:50 2024 +0100
Commit:     Michael Weghorn <[email protected]>
CommitDate: Sat Nov 30 09:39:27 2024 +0100

    tdf#130857 VclBuilder: Move extractHeadersVisible to base class
    
    Move this helper function to the base class, for reuse
    in QtBuilder in an upcoming commit.
    
    Change-Id: Ide125c87bd4ebf63f70f94239a9bc42c3eab3c98
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177546
    Reviewed-by: Michael Weghorn <[email protected]>
    Tested-by: Jenkins

diff --git a/include/vcl/builderbase.hxx b/include/vcl/builderbase.hxx
index 34ce94d69c0d..1845d2d90cc3 100644
--- a/include/vcl/builderbase.hxx
+++ b/include/vcl/builderbase.hxx
@@ -84,6 +84,7 @@ protected:
     static void collectAccelerator(xmlreader::XmlReader& reader, accelmap& 
rMap);
     stringmap collectPackingProperties(xmlreader::XmlReader& reader);
     void collectProperty(xmlreader::XmlReader& rReader, stringmap& rMap) const;
+    static bool extractHeadersVisible(stringmap& rMap);
     static bool extractEntry(stringmap& rMap);
     static OUString extractIconName(stringmap& rMap);
     static OUString extractTooltipText(stringmap& rMap);
diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx
index e22ebf320e15..6cdce48f5cbd 100644
--- a/vcl/source/window/builder.cxx
+++ b/vcl/source/window/builder.cxx
@@ -1078,18 +1078,6 @@ namespace
         return sTitle;
     }
 
-    bool extractHeadersVisible(VclBuilder::stringmap &rMap)
-    {
-        bool bHeadersVisible = true;
-        VclBuilder::stringmap::iterator aFind = 
rMap.find(u"headers-visible"_ustr);
-        if (aFind != rMap.end())
-        {
-            bHeadersVisible = toBool(aFind->second);
-            rMap.erase(aFind);
-        }
-        return bHeadersVisible;
-    }
-
     bool extractSortIndicator(VclBuilder::stringmap &rMap)
     {
         bool bSortIndicator = false;
@@ -3497,6 +3485,17 @@ bool BuilderBase::extractEntry(VclBuilder::stringmap 
&rMap)
     return bHasEntry;
 }
 
+bool BuilderBase::extractHeadersVisible(VclBuilder::stringmap& rMap)
+{
+    bool bHeadersVisible = true;
+    VclBuilder::stringmap::iterator aFind = rMap.find(u"headers-visible"_ustr);
+    if (aFind != rMap.end())
+    {
+        bHeadersVisible = toBool(aFind->second);
+        rMap.erase(aFind);
+    }
+    return bHeadersVisible;
+}
 
 OUString BuilderBase::extractIconName(VclBuilder::stringmap &rMap)
 {
commit 4d1f6c439be24a0701a923081b249d6801902bc1
Author:     Michael Weghorn <[email protected]>
AuthorDate: Fri Nov 29 16:05:14 2024 +0100
Commit:     Michael Weghorn <[email protected]>
CommitDate: Sat Nov 30 09:39:21 2024 +0100

    showsheetdialog.ui: Resave with glade 3.40
    
    To trigger the dialog:
    
    * start Calc
    * add more sheets
    * hide some of the sheets (e.g. by right-clicking them
      in the bar at the bottom, "Hide Sheet")
    * select "Sheet" -> "Show Sheet" in the menubar
    
    Change-Id: Ie2f92c0b86ec47cf5bab85c9ea3c8096023a11de
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177545
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <[email protected]>

diff --git a/sc/uiconfig/scalc/ui/showsheetdialog.ui 
b/sc/uiconfig/scalc/ui/showsheetdialog.ui
index bbe83704c0c9..dc0b33c5b902 100644
--- a/sc/uiconfig/scalc/ui/showsheetdialog.ui
+++ b/sc/uiconfig/scalc/ui/showsheetdialog.ui
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.36.0 -->
+<!-- Generated with glade 3.40.0 -->
 <interface domain="sc">
   <requires lib="gtk+" version="3.20"/>
   <object class="GtkTreeStore" id="liststore1">
@@ -11,31 +11,31 @@
     </columns>
   </object>
   <object class="GtkDialog" id="ShowSheetDialog">
-    <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="showsheetdialog|ShowSheetDialog">Show Sheet</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>
@@ -48,8 +48,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>
@@ -62,8 +62,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>
@@ -77,37 +77,37 @@
           <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="GtkFrame" id="frame">
             <property name="visible">True</property>
-            <property name="can_focus">False</property>
+            <property name="can-focus">False</property>
             <property name="hexpand">True</property>
             <property name="vexpand">True</property>
-            <property name="label_xalign">0</property>
-            <property name="shadow_type">none</property>
+            <property name="label-xalign">0</property>
+            <property name="shadow-type">none</property>
             <child>
               <object class="GtkScrolledWindow">
                 <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="hexpand">True</property>
-                <property name="vexpand">True</property>
-                <property name="shadow_type">in</property>
+                <property name="can-focus">True</property>
                 <property name="margin-start">12</property>
                 <property name="margin-top">6</property>
+                <property name="hexpand">True</property>
+                <property name="vexpand">True</property>
+                <property name="shadow-type">in</property>
                 <child>
                   <object class="GtkTreeView" id="treeview">
                     <property name="visible">True</property>
-                    <property name="can_focus">True</property>
+                    <property name="can-focus">True</property>
                     <property name="vexpand">True</property>
                     <property name="model">liststore1</property>
-                    <property name="headers_visible">False</property>
-                    <property name="headers_clickable">False</property>
-                    <property name="search_column">0</property>
-                    <property name="show_expanders">False</property>
+                    <property name="headers-visible">False</property>
+                    <property name="headers-clickable">False</property>
+                    <property name="search-column">0</property>
+                    <property name="show-expanders">False</property>
                     <child internal-child="selection">
                       <object class="GtkTreeSelection" 
id="treeview-selection1"/>
                     </child>
@@ -128,7 +128,7 @@
             <child type="label">
               <object class="GtkLabel" id="label1">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
+                <property name="can-focus">False</property>
                 <property name="label" translatable="yes" 
context="showsheetdialog|label1">Hidden Sheets</property>
                 <attributes>
                   <attribute name="weight" value="bold"/>
@@ -149,9 +149,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="ShowSheetDialog-atkobject">
         <property name="AtkObject::accessible-description" translatable="yes" 
context="showsheetdialog|extended_tip|ShowSheetDialog">Displays a list of all 
hidden sheets in your spreadsheet document.</property>

Reply via email to