[network-manager-applet/lr/gtk4: 41/43] utils: support GTK4



commit 0cd9c7d128a107eaab808696a47e2f9b6e4633bb
Author: Lubomir Rintel <lkundrak v3 sk>
Date:   Mon Feb 18 13:30:42 2019 +0100

    utils: support GTK4
    
    Cover a trivial difference with an ifdef.

 src/libnma/nma-ui-utils.c | 20 +++++++++++++++++++-
 src/utils/utils.c         | 11 ++++++++++-
 2 files changed, 29 insertions(+), 2 deletions(-)
---
diff --git a/src/libnma/nma-ui-utils.c b/src/libnma/nma-ui-utils.c
index cca10be8..7a4e6770 100644
--- a/src/libnma/nma-ui-utils.c
+++ b/src/libnma/nma-ui-utils.c
@@ -219,14 +219,32 @@ nma_gtk_widget_activate_default (GtkWidget *widget)
 static void
 icon_release_cb (GtkEntry *entry,
                  GtkEntryIconPosition position,
+#if !GTK_CHECK_VERSION(3,90,0)
                  GdkEventButton *event,
+#endif
                  gpointer data)
 {
        GtkMenu *menu = GTK_MENU (data);
+#if GTK_CHECK_VERSION(3,90,0)
+       GdkRectangle icon_area;
+#endif
+
        if (position == GTK_ENTRY_ICON_SECONDARY) {
-               gtk_widget_show_all (GTK_WIDGET (data));
+               gtk_widget_show (GTK_WIDGET (data));
+#if GTK_CHECK_VERSION(3,90,0)
+               gtk_entry_get_icon_area (entry,
+                                        GTK_ENTRY_ICON_SECONDARY,
+                                        &icon_area);
+               gtk_menu_popup_at_rect (menu,
+                                       gtk_widget_get_surface (GTK_WIDGET (entry)),
+                                       &icon_area,
+                                       GDK_GRAVITY_CENTER,
+                                       GDK_GRAVITY_CENTER,
+                                       NULL);
+#else
                gtk_menu_popup (menu, NULL, NULL, NULL, NULL,
                                event->button, event->time);
+#endif
        }
 }
 
diff --git a/src/utils/utils.c b/src/utils/utils.c
index ef6e6a85..3a6f07e0 100644
--- a/src/utils/utils.c
+++ b/src/utils/utils.c
@@ -318,10 +318,19 @@ utils_override_bg_color (GtkWidget *widget, GdkRGBA *rgba)
        if (rgba) {
                css = g_strdup_printf ("* { background-color: %s; background-image: none; }",
                                       gdk_rgba_to_string (rgba));
+#if GTK_CHECK_VERSION(3,90,0)
+               gtk_css_provider_load_from_data (provider, css, -1);
+#else
                gtk_css_provider_load_from_data (provider, css, -1, NULL);
+#endif
                g_free (css);
-       } else
+       } else {
+#if GTK_CHECK_VERSION(3,90,0)
+               gtk_css_provider_load_from_data (provider, "", -1);
+#else
                gtk_css_provider_load_from_data (provider, "", -1, NULL);
+#endif
+       }
 }
 
 void


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]