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

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Tue Jul 6 13:20:11 UTC 2021


 vcl/unx/gtk3/gtkinst.cxx |   21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

New commits:
commit fc98f9a0cd88543f7c053e57023c6c353a3fa429
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Tue Jul 6 11:12:04 2021 +0100
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Tue Jul 6 15:19:30 2021 +0200

    gtk4: implement filling in GtkButton icon-name from vcl theme
    
    for converted GtkToolButtons
    
    Change-Id: Id6a4c91e7cc9f8dcbcecba7378768e603b5dbb2c
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118474
    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 ced03b1b37ff..c8bb28a7a7a2 100644
--- a/vcl/unx/gtk3/gtkinst.cxx
+++ b/vcl/unx/gtk3/gtkinst.cxx
@@ -21546,6 +21546,27 @@ private:
                     gtk_widget_set_tooltip_text(pWidget, label);
             }
         }
+#else
+        else if (GTK_IS_BUTTON(pWidget))
+        {
+            GtkButton* pButton = GTK_BUTTON(pWidget);
+            if (const gchar* icon_name = gtk_button_get_icon_name(pButton))
+            {
+                OUString aIconName(icon_name, strlen(icon_name), RTL_TEXTENCODING_UTF8);
+                if (!IsAllowedBuiltInIcon(aIconName))
+                {
+                    if (GdkPixbuf* pixbuf = load_icon_by_name_theme_lang(aIconName, m_aIconTheme, m_aUILang))
+                    {
+                        GtkWidget* pImage = gtk_image_new_from_pixbuf(pixbuf);
+                        gtk_widget_set_halign(pImage, GTK_ALIGN_CENTER);
+                        gtk_widget_set_valign(pImage, GTK_ALIGN_CENTER);
+                        g_object_unref(pixbuf);
+                        gtk_button_set_child(pButton, pImage);
+                        gtk_widget_show(pImage);
+                    }
+                }
+            }
+        }
 #endif
 
         //set helpids


More information about the Libreoffice-commits mailing list