[Libreoffice-commits] core.git: 2 commits - cui/uiconfig vcl/unx

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Fri Jun 18 19:05:29 UTC 2021


 cui/uiconfig/ui/splitcellsdialog.ui |   48 ++++++++++++++++---------
 vcl/unx/gtk3/gtkinst.cxx            |   67 ++++++++++++++++++++++++++++++++++--
 2 files changed, 95 insertions(+), 20 deletions(-)

New commits:
commit d95e400b5fffb10e716f5b27caebb4eae5fd5cc7
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Fri Jun 18 17:08:09 2021 +0100
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Fri Jun 18 21:04:53 2021 +0200

    gtk4: implement removing an entry from MenuButton menu
    
    and enable a bunch of now working dialogs
    
    Change-Id: I42d6731cf4535e4a4867d4177590939a1cc395f5
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117468
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx
index dd55c73707db..059a51ee93df 100644
--- a/vcl/unx/gtk3/gtkinst.cxx
+++ b/vcl/unx/gtk3/gtkinst.cxx
@@ -9489,6 +9489,39 @@ private:
             g_action_map_remove_action(G_ACTION_MAP(m_pActionGroup), m_aIdToAction[id].getStr());
         }
     }
+
+    bool remove_id(GMenuModel* pMenuModel, const OString& rId)
+    {
+        for (int i = 0, nCount = g_menu_model_get_n_items(pMenuModel); i < nCount; ++i)
+        {
+            OString sTarget;
+            char *id;
+            if (g_menu_model_get_item_attribute(pMenuModel, i, "target", "s", &id))
+            {
+                sTarget = OString(id);
+                g_free(id);
+            }
+
+            if (sTarget == rId)
+            {
+                g_menu_remove(G_MENU(pMenuModel), i);
+                return true;
+            }
+
+            if (GMenuModel* pSectionModel = g_menu_model_get_item_link(pMenuModel, i, G_MENU_LINK_SECTION))
+            {
+                if (remove_id(pSectionModel, rId))
+                    return true;
+            }
+            if (GMenuModel* pSubMenuModel = g_menu_model_get_item_link(pMenuModel, i, G_MENU_LINK_SUBMENU))
+            {
+                if (remove_id(pSubMenuModel, rId))
+                    return true;
+            }
+        }
+        return false;
+    }
+
 #endif
 
     static void signalFlagsChanged(GtkToggleButton* pToggleButton, GtkStateFlags flags, gpointer widget)
@@ -9755,8 +9788,13 @@ public:
 #if !GTK_CHECK_VERSION(4, 0, 0)
         MenuHelper::remove_item(rId);
 #else
-        (void)rId;
-        std::abort();
+        GtkPopover* pPopover = gtk_menu_button_get_popover(m_pMenuButton);
+        if (GMenuModel* pMenuModel = GTK_IS_POPOVER_MENU(pPopover) ?
+                                     gtk_popover_menu_get_menu_model(GTK_POPOVER_MENU(pPopover)) :
+                                     nullptr)
+        {
+            remove_id(pMenuModel, rId);
+        }
 #endif
     }
 
@@ -22241,6 +22279,7 @@ weld::Builder* GtkInstance::CreateBuilder(weld::Widget* pParent, const OUString&
 {
 #if GTK_CHECK_VERSION(4, 0, 0)
     if (rUIFile != "cui/ui/aboutdialog.ui" &&
+        rUIFile != "cui/ui/accelconfigpage.ui" &&
         rUIFile != "cui/ui/acorexceptpage.ui" &&
         rUIFile != "cui/ui/acoroptionspage.ui" &&
         rUIFile != "cui/ui/acorreplacepage.ui" &&
@@ -22255,12 +22294,15 @@ weld::Builder* GtkInstance::CreateBuilder(weld::Widget* pParent, const OUString&
         rUIFile != "cui/ui/charnamepage.ui" &&
         rUIFile != "cui/ui/colorpage.ui" &&
         rUIFile != "cui/ui/colorpickerdialog.ui" &&
+        rUIFile != "cui/ui/customizedialog.ui" &&
         rUIFile != "cui/ui/editdictionarydialog.ui" &&
         rUIFile != "cui/ui/effectspage.ui" &&
         rUIFile != "cui/ui/eventassigndialog.ui" &&
         rUIFile != "cui/ui/eventassignpage.ui" &&
+        rUIFile != "cui/ui/eventsconfigpage.ui" &&
         rUIFile != "cui/ui/fontfeaturesdialog.ui" &&
         rUIFile != "cui/ui/fontfragment.ui" &&
+        rUIFile != "cui/ui/formatnumberdialog.ui" &&
         rUIFile != "cui/ui/gradientpage.ui" &&
         rUIFile != "cui/ui/hatchpage.ui" &&
         rUIFile != "cui/ui/hangulhanjaadddialog.ui" &&
@@ -22280,7 +22322,9 @@ weld::Builder* GtkInstance::CreateBuilder(weld::Widget* pParent, const OUString&
         rUIFile != "cui/ui/macroassigndialog.ui" &&
         rUIFile != "cui/ui/macroassignpage.ui" &&
         rUIFile != "cui/ui/macroselectordialog.ui" &&
+        rUIFile != "cui/ui/menuassignpage.ui" &&
         rUIFile != "cui/ui/namedialog.ui" &&
+        rUIFile != "cui/ui/numberingformatpage.ui" &&
         rUIFile != "cui/ui/numberingoptionspage.ui" &&
         rUIFile != "cui/ui/numberingpositionpage.ui" &&
         rUIFile != "cui/ui/objectnamedialog.ui" &&
@@ -22303,6 +22347,7 @@ weld::Builder* GtkInstance::CreateBuilder(weld::Widget* pParent, const OUString&
         rUIFile != "cui/ui/qrcodegen.ui" &&
         rUIFile != "cui/ui/scriptorganizer.ui" &&
         rUIFile != "cui/ui/searchattrdialog.ui" &&
+        rUIFile != "cui/ui/searchformatdialog.ui" &&
         rUIFile != "cui/ui/selectpathdialog.ui" &&
         rUIFile != "cui/ui/signatureline.ui" &&
         rUIFile != "cui/ui/similaritysearchdialog.ui" &&
@@ -22318,6 +22363,8 @@ weld::Builder* GtkInstance::CreateBuilder(weld::Widget* pParent, const OUString&
         rUIFile != "cui/ui/twolinespage.ui" &&
         rUIFile != "cui/ui/wordcompletionpage.ui" &&
         rUIFile != "cui/ui/zoomdialog.ui" &&
+        rUIFile != "desktop/ui/extensionmanager.ui" &&
+        rUIFile != "desktop/ui/updatedialog.ui" &&
         rUIFile != "filter/ui/pdfgeneralpage.ui" &&
         rUIFile != "filter/ui/pdfsecuritypage.ui" &&
         rUIFile != "filter/ui/pdfsignpage.ui" &&
@@ -22447,6 +22494,13 @@ weld::Builder* GtkInstance::CreateBuilder(weld::Widget* pParent, const OUString&
         rUIFile != "modules/swriter/ui/editcategories.ui" &&
         rUIFile != "modules/swriter/ui/endnotepage.ui" &&
         rUIFile != "modules/swriter/ui/exchangedatabases.ui" &&
+        rUIFile != "modules/swriter/ui/fielddialog.ui" &&
+        rUIFile != "modules/swriter/ui/flddbpage.ui" &&
+        rUIFile != "modules/swriter/ui/flddocumentpage.ui" &&
+        rUIFile != "modules/swriter/ui/flddocinfopage.ui" &&
+        rUIFile != "modules/swriter/ui/fldfuncpage.ui" &&
+        rUIFile != "modules/swriter/ui/fldrefpage.ui" &&
+        rUIFile != "modules/swriter/ui/fldvarpage.ui" &&
         rUIFile != "modules/swriter/ui/footendnotedialog.ui" &&
         rUIFile != "modules/swriter/ui/footnoteareapage.ui" &&
         rUIFile != "modules/swriter/ui/footnotepage.ui" &&
commit 8e54bc168f828a243919b9f22338e8369ddbb2fc
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Fri Jun 18 14:20:42 2021 +0100
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Fri Jun 18 21:03:15 2021 +0200

    move the explanatory image outside the RadioButton
    
    Change-Id: I90425bec7418a26959241b670f63a5f4a4bb0fa4
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117460
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/cui/uiconfig/ui/splitcellsdialog.ui b/cui/uiconfig/ui/splitcellsdialog.ui
index 305c03a70be4..a95e0613d977 100644
--- a/cui/uiconfig/ui/splitcellsdialog.ui
+++ b/cui/uiconfig/ui/splitcellsdialog.ui
@@ -9,16 +9,6 @@
     <property name="step-increment">1</property>
     <property name="page-increment">5</property>
   </object>
-  <object class="GtkImage" id="image1">
-    <property name="visible">True</property>
-    <property name="can-focus">False</property>
-    <property name="icon-name">svx/res/zetlhor2.png</property>
-  </object>
-  <object class="GtkImage" id="image2">
-    <property name="visible">True</property>
-    <property name="can-focus">False</property>
-    <property name="icon-name">svx/res/zetlver2.png</property>
-  </object>
   <object class="GtkDialog" id="SplitCellsDialog">
     <property name="can-focus">False</property>
     <property name="border-width">6</property>
@@ -162,27 +152,26 @@
                 <property name="label-xalign">0</property>
                 <property name="shadow-type">none</property>
                 <child>
-                  <!-- n-columns=1 n-rows=3 -->
+                  <!-- n-columns=2 n-rows=3 -->
                   <object class="GtkGrid" id="grid2">
                     <property name="visible">True</property>
                     <property name="can-focus">False</property>
                     <property name="margin-start">12</property>
                     <property name="margin-top">6</property>
                     <property name="row-spacing">6</property>
+                    <property name="column-spacing">3</property>
                     <child>
                       <object class="GtkRadioButton" id="hori">
                         <property name="label" translatable="yes" context="splitcellsdialog|hori">H_orizontally</property>
                         <property name="visible">True</property>
                         <property name="can-focus">True</property>
                         <property name="receives-default">False</property>
-                        <property name="image">image1</property>
                         <property name="use-underline">True</property>
-                        <property name="always-show-image">True</property>
                         <property name="active">True</property>
                         <property name="draw-indicator">True</property>
                       </object>
                       <packing>
-                        <property name="left-attach">0</property>
+                        <property name="left-attach">1</property>
                         <property name="top-attach">0</property>
                       </packing>
                     </child>
@@ -192,14 +181,12 @@
                         <property name="visible">True</property>
                         <property name="can-focus">True</property>
                         <property name="receives-default">False</property>
-                        <property name="image">image2</property>
                         <property name="use-underline">True</property>
-                        <property name="always-show-image">True</property>
                         <property name="draw-indicator">True</property>
                         <property name="group">hori</property>
                       </object>
                       <packing>
-                        <property name="left-attach">0</property>
+                        <property name="left-attach">1</property>
                         <property name="top-attach">2</property>
                       </packing>
                     </child>
@@ -214,10 +201,35 @@
                         <property name="draw-indicator">True</property>
                       </object>
                       <packing>
-                        <property name="left-attach">0</property>
+                        <property name="left-attach">1</property>
                         <property name="top-attach">1</property>
                       </packing>
                     </child>
+                    <child>
+                      <object class="GtkImage" id="image1">
+                        <property name="visible">True</property>
+                        <property name="can-focus">False</property>
+                        <property name="icon-name">svx/res/zetlhor2.png</property>
+                      </object>
+                      <packing>
+                        <property name="left-attach">0</property>
+                        <property name="top-attach">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkImage" id="image2">
+                        <property name="visible">True</property>
+                        <property name="can-focus">False</property>
+                        <property name="icon-name">svx/res/zetlver2.png</property>
+                      </object>
+                      <packing>
+                        <property name="left-attach">0</property>
+                        <property name="top-attach">2</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <placeholder/>
+                    </child>
                   </object>
                 </child>
                 <child type="label">
diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx
index 34cf8788804e..dd55c73707db 100644
--- a/vcl/unx/gtk3/gtkinst.cxx
+++ b/vcl/unx/gtk3/gtkinst.cxx
@@ -22309,6 +22309,7 @@ weld::Builder* GtkInstance::CreateBuilder(weld::Widget* pParent, const OUString&
         rUIFile != "cui/ui/specialcharacters.ui" &&
         rUIFile != "cui/ui/spelloptionsdialog.ui" &&
         rUIFile != "cui/ui/spinbox.ui" &&
+        rUIFile != "cui/ui/splitcellsdialog.ui" &&
         rUIFile != "cui/ui/textflowpage.ui" &&
         rUIFile != "cui/ui/thesaurus.ui" &&
         rUIFile != "cui/ui/tipofthedaydialog.ui" &&
@@ -22430,6 +22431,7 @@ weld::Builder* GtkInstance::CreateBuilder(weld::Widget* pParent, const OUString&
         rUIFile != "modules/smath/ui/smathsettings.ui" &&
         rUIFile != "modules/smath/ui/spacingdialog.ui" &&
         rUIFile != "modules/smath/ui/symdefinedialog.ui" &&
+        rUIFile != "modules/swriter/ui/autoformattable.ui" &&
         rUIFile != "modules/swriter/ui/autotext.ui" &&
         rUIFile != "modules/swriter/ui/bibliographyentry.ui" &&
         rUIFile != "modules/swriter/ui/bulletsandnumbering.ui" &&
@@ -22440,6 +22442,7 @@ weld::Builder* GtkInstance::CreateBuilder(weld::Widget* pParent, const OUString&
         rUIFile != "modules/swriter/ui/columndialog.ui" &&
         rUIFile != "modules/swriter/ui/columnpage.ui" &&
         rUIFile != "modules/swriter/ui/columnwidth.ui" &&
+        rUIFile != "modules/swriter/ui/converttexttable.ui" &&
         rUIFile != "modules/swriter/ui/dropcapspage.ui" &&
         rUIFile != "modules/swriter/ui/editcategories.ui" &&
         rUIFile != "modules/swriter/ui/endnotepage.ui" &&
@@ -22448,6 +22451,7 @@ weld::Builder* GtkInstance::CreateBuilder(weld::Widget* pParent, const OUString&
         rUIFile != "modules/swriter/ui/footnoteareapage.ui" &&
         rUIFile != "modules/swriter/ui/footnotepage.ui" &&
         rUIFile != "modules/swriter/ui/footnotesendnotestabpage.ui" &&
+        rUIFile != "modules/swriter/ui/formattablepage.ui" &&
         rUIFile != "modules/swriter/ui/framedialog.ui" &&
         rUIFile != "modules/swriter/ui/frmaddpage.ui" &&
         rUIFile != "modules/swriter/ui/frmtypepage.ui" &&
@@ -22479,7 +22483,12 @@ weld::Builder* GtkInstance::CreateBuilder(weld::Widget* pParent, const OUString&
         rUIFile != "modules/swriter/ui/rowheight.ui" &&
         rUIFile != "modules/swriter/ui/savelabeldialog.ui" &&
         rUIFile != "modules/swriter/ui/sectionpage.ui" &&
+        rUIFile != "modules/swriter/ui/sortdialog.ui" &&
+        rUIFile != "modules/swriter/ui/splittable.ui" &&
         rUIFile != "modules/swriter/ui/statisticsinfopage.ui" &&
+        rUIFile != "modules/swriter/ui/tablecolumnpage.ui" &&
+        rUIFile != "modules/swriter/ui/tableproperties.ui" &&
+        rUIFile != "modules/swriter/ui/tabletextflowpage.ui" &&
         rUIFile != "modules/swriter/ui/templatedialog8.ui" &&
         rUIFile != "modules/swriter/ui/textgridpage.ui" &&
         rUIFile != "modules/swriter/ui/titlepage.ui" &&


More information about the Libreoffice-commits mailing list