starmath/source/ElementsDockingWindow.cxx          |    8 -
 starmath/uiconfig/smath/ui/sidebarelements_math.ui |  144 ++++++---------------
 2 files changed, 46 insertions(+), 106 deletions(-)

New commits:
commit f208a4bcbbadc40d92a32bef9afba487bb539fe3
Author:     Mike Kaganski <mike.kagan...@collabora.com>
AuthorDate: Tue May 17 11:55:11 2022 +0300
Commit:     Mike Kaganski <mike.kagan...@collabora.com>
CommitDate: Sun Jun 5 07:52:20 2022 +0200

    Simplify the UI
    
    Remove the intermediary containers, keeping those that are really
    needed to create the necessary structure.
    
    I'm curious, how much CPU could be wasted by the unused container
    layers when calculating the layout.
    
    Change-Id: I56bf13c52b4e14dcef6595d00223cd36f48793d0
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134463
    Tested-by: Jenkins
    Tested-by: Caolán McNamara <caol...@redhat.com>
    Reviewed-by: Caolán McNamara <caol...@redhat.com>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135409
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com>
    Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com>

diff --git a/starmath/uiconfig/smath/ui/sidebarelements_math.ui 
b/starmath/uiconfig/smath/ui/sidebarelements_math.ui
index c645e7f8d349..3b18a2a9e301 100644
--- a/starmath/uiconfig/smath/ui/sidebarelements_math.ui
+++ b/starmath/uiconfig/smath/ui/sidebarelements_math.ui
@@ -8,146 +8,86 @@
       <column type="gchararray"/>
     </columns>
   </object>
-  <!-- n-columns=1 n-rows=1 -->
-  <object class="GtkGrid" id="MathElementsPanel">
+  <object class="GtkPaned" id="MathElementsPanel">
     <property name="visible">True</property>
     <property name="can-focus">False</property>
+    <property name="orientation">vertical</property>
     <property name="hexpand">True</property>
     <property name="vexpand">True</property>
     <property name="border-width">6</property>
+    <property name="wide-handle">True</property>
     <child>
-      <!-- n-columns=1 n-rows=1 -->
-      <object class="GtkGrid" id="container">
+      <object class="GtkScrolledWindow">
         <property name="visible">True</property>
-        <property name="can-focus">False</property>
+        <property name="can-focus">True</property>
         <property name="hexpand">True</property>
         <property name="vexpand">True</property>
-        <property name="row-spacing">3</property>
-        <property name="column-spacing">6</property>
+        <property name="shadow-type">in</property>
         <child>
-          <object class="GtkPaned" id="splitter">
+          <object class="GtkTreeView" id="categorylist">
             <property name="visible">True</property>
             <property name="can-focus">True</property>
             <property name="hexpand">True</property>
             <property name="vexpand">True</property>
-            <property name="orientation">vertical</property>
-            <property name="wide-handle">True</property>
+            <property name="model">liststore1</property>
+            <property name="headers-visible">False</property>
+            <property name="search-column">0</property>
+            <property name="show-expanders">False</property>
+            <child internal-child="selection">
+              <object class="GtkTreeSelection" id="treeview-selection2"/>
+            </child>
             <child>
-              <!-- n-columns=1 n-rows=1 -->
-              <object class="GtkGrid">
-                <property name="visible">True</property>
-                <property name="can-focus">False</property>
-                <property name="hexpand">True</property>
-                <property name="vexpand">True</property>
+              <object class="GtkTreeViewColumn" id="treeviewcolumn0">
                 <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>
-                    <child>
-                      <object class="GtkTreeView" id="categorylist">
-                        <property name="visible">True</property>
-                        <property name="can-focus">True</property>
-                        <property name="hexpand">True</property>
-                        <property name="vexpand">True</property>
-                        <property name="model">liststore1</property>
-                        <property name="headers-visible">False</property>
-                        <property name="search-column">0</property>
-                        <property name="show-expanders">False</property>
-                        <child internal-child="selection">
-                          <object class="GtkTreeSelection" 
id="treeview-selection2"/>
-                        </child>
-                        <child>
-                          <object class="GtkTreeViewColumn" 
id="treeviewcolumn0">
-                            <child>
-                              <object class="GtkCellRendererText" 
id="cellrenderertext1"/>
-                              <attributes>
-                                <attribute name="text">1</attribute>
-                              </attributes>
-                            </child>
-                          </object>
-                        </child>
-                      </object>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="left-attach">0</property>
-                    <property name="top-attach">0</property>
-                  </packing>
+                  <object class="GtkCellRendererText" id="cellrenderertext1"/>
+                  <attributes>
+                    <attribute name="text">1</attribute>
+                  </attributes>
                 </child>
               </object>
-              <packing>
-                <property name="resize">False</property>
-                <property name="shrink">True</property>
-              </packing>
             </child>
+          </object>
+        </child>
+      </object>
+    </child>
+    <child>
+      <object class="GtkScrolledWindow" id="scrolledwindow">
+        <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>
+        <child>
+          <object class="GtkViewport">
+            <property name="visible">True</property>
+            <property name="can-focus">False</property>
             <child>
-              <!-- n-columns=1 n-rows=1 -->
-              <object class="GtkGrid">
+              <object class="GtkBox">
                 <property name="visible">True</property>
                 <property name="can-focus">False</property>
+                <property name="orientation">vertical</property>
                 <property name="hexpand">True</property>
                 <property name="vexpand">True</property>
-                <property name="row-spacing">6</property>
                 <child>
-                  <!-- n-columns=1 n-rows=1 -->
-                  <object class="GtkGrid">
+                  <object class="GtkDrawingArea" id="element_selector">
                     <property name="visible">True</property>
-                    <property name="can-focus">False</property>
+                    <property name="can-focus">True</property>
+                    <property name="events">GDK_BUTTON_MOTION_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | 
GDK_KEY_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | 
GDK_STRUCTURE_MASK | GDK_SCROLL_MASK | GDK_SMOOTH_SCROLL_MASK</property>
                     <property name="hexpand">True</property>
                     <property name="vexpand">True</property>
-                    <child>
-                      <object class="GtkScrolledWindow" id="scrolledwindow">
-                        <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>
-                        <child>
-                          <object class="GtkViewport">
-                            <property name="visible">True</property>
-                            <property name="can-focus">False</property>
-                            <child>
-                              <object class="GtkDrawingArea" 
id="element_selector">
-                                <property name="visible">True</property>
-                                <property name="can-focus">True</property>
-                                <property name="events">GDK_BUTTON_MOTION_MASK 
| GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | 
GDK_KEY_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | 
GDK_STRUCTURE_MASK | GDK_SCROLL_MASK | GDK_SMOOTH_SCROLL_MASK</property>
-                                <property name="hexpand">True</property>
-                                <property name="vexpand">True</property>
-                              </object>
-                            </child>
-                          </object>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="left-attach">0</property>
-                        <property name="top-attach">0</property>
-                      </packing>
-                    </child>
                   </object>
                   <packing>
-                    <property name="left-attach">0</property>
-                    <property name="top-attach">0</property>
+                    <property name="position">0</property>
                   </packing>
                 </child>
               </object>
-              <packing>
-                <property name="resize">True</property>
-                <property name="shrink">True</property>
-              </packing>
             </child>
           </object>
-          <packing>
-            <property name="left-attach">0</property>
-            <property name="top-attach">0</property>
-          </packing>
         </child>
       </object>
       <packing>
-        <property name="left-attach">0</property>
-        <property name="top-attach">0</property>
+        <property name="resize">True</property>
+        <property name="shrink">True</property>
       </packing>
     </child>
   </object>
commit 48b10bb5bac0f64df5e281142762fa1890819c59
Author:     Mike Kaganski <mike.kagan...@collabora.com>
AuthorDate: Tue May 17 16:02:52 2022 +0200
Commit:     Mike Kaganski <mike.kagan...@collabora.com>
CommitDate: Sun Jun 5 07:52:00 2022 +0200

    Use structured binding to clarify the code
    
    Change-Id: I6b1c0532a64a18d961b7ab112675213eea2fd121
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134438
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135408
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com>

diff --git a/starmath/source/ElementsDockingWindow.cxx 
b/starmath/source/ElementsDockingWindow.cxx
index 1ba5c0d991ec..2f4bc80de14f 100644
--- a/starmath/source/ElementsDockingWindow.cxx
+++ b/starmath/source/ElementsDockingWindow.cxx
@@ -1041,15 +1041,15 @@ void SmElementsControl::build()
     {
         case 5:
         {
-            for (sal_uInt16 n = 0; n < m_a5CategoriesSize; ++n)
+            for (const auto& [rSetId, rElementsArray, rElementsArraySize] : 
m_a5Categories)
             {
-                if (msCurrentSetId == std::get<0>(m_a5Categories[n]))
+                if (msCurrentSetId == rSetId)
                 {
-                    addElements(std::get<1>(m_a5Categories[n]), 
std::get<2>(m_a5Categories[n]));
+                    addElements(rElementsArray, rElementsArraySize);
                     break;
                 }
                 else
-                    m_nCurrentOffset += std::get<2>(m_a5Categories[n]);
+                    m_nCurrentOffset += rElementsArraySize;
             }
             break;
         }

Reply via email to