From 3ebc615989944f6e1a484741a2179123cf450b8c Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Tue, 22 Oct 2019 22:27:10 -0400 Subject: [PATCH] panel-plugin: migrate GtkTooltips to new simpler API. In gtk+-3.x, the GtkTooltips struct is gone and you're supposed to use the newer API that was available back in gtk+-2.x: https://developer.gnome.org/gtk2/stable/gtk-migrating-tooltips.html For us, this is pretty straightforward: instead of declaring a GtkTooltips member and doing stuff to it, we just call the gtk_widget_set_tooltip_text() function on our plugin's eventbox instead. --- panel-plugin/xfce4-hdaps.c | 19 +++---------------- panel-plugin/xfce4-hdaps.h | 3 +-- 2 files changed, 4 insertions(+), 18 deletions(-) diff --git a/panel-plugin/xfce4-hdaps.c b/panel-plugin/xfce4-hdaps.c index 95f05eb..eb1d5cc 100644 --- a/panel-plugin/xfce4-hdaps.c +++ b/panel-plugin/xfce4-hdaps.c @@ -131,15 +131,14 @@ void hdaps_set_icon(HdapsPlugin *hdaps, int status) { void hdaps_set_tooltip(HdapsPlugin *hdaps, int status) { - if (status == HDAPS_ERROR) { - gtk_tooltips_set_tip(hdaps->tooltip, hdaps->eventbox, "HDAPS Error", NULL); + gtk_widget_set_tooltip_text(GTK_WIDGET(hdaps->eventbox), "HDAPS Error"); } else if (status == HDAPS_OFF) { - gtk_tooltips_set_tip(hdaps->tooltip, hdaps->eventbox, "HDAPS Off", NULL); + gtk_widget_set_tooltip_text(GTK_WIDGET(hdaps->eventbox), "HDAPS Off"); } else { - gtk_tooltips_set_tip(hdaps->tooltip, hdaps->eventbox, "HDAPS On", NULL); + gtk_widget_set_tooltip_text(GTK_WIDGET(hdaps->eventbox), "HDAPS On"); } } @@ -265,14 +264,6 @@ static HdapsPlugin *hdaps_new(XfcePanelPlugin *plugin) { so it's important that they start out n*sync. */ hdaps->previous_status = HDAPS_OFF; hdaps_set_icon(hdaps, HDAPS_OFF); - - /* Create the tooltip widget, and set its initial value. - * The first couple of lines are stolen from the battery - * status plugin. I make no claim as to their correctness. - */ - hdaps->tooltip = gtk_tooltips_new(); - g_object_ref(G_OBJECT(hdaps->tooltip)); - gtk_object_sink(GTK_OBJECT(hdaps->tooltip)); hdaps_set_tooltip(hdaps, HDAPS_OFF); return hdaps; @@ -308,10 +299,6 @@ static void hdaps_free(XfcePanelPlugin *plugin, g_free(hdaps->device_name); } - /* Goodbye, tooltips. */ - gtk_tooltips_set_tip(hdaps->tooltip, hdaps->eventbox, NULL, NULL); - g_object_unref(G_OBJECT(hdaps->tooltip)); - /* ...and finally free the plugin structure. */ panel_slice_free(HdapsPlugin, hdaps); } diff --git a/panel-plugin/xfce4-hdaps.h b/panel-plugin/xfce4-hdaps.h index c6a2830..4affb30 100644 --- a/panel-plugin/xfce4-hdaps.h +++ b/panel-plugin/xfce4-hdaps.h @@ -36,8 +36,7 @@ typedef struct { GtkWidget *eventbox; GtkWidget *hvbox; GtkWidget *icon; - GtkTooltips *tooltip; - + /* A pointer to the timeout function. That is, a pointer to the function that gets executed every poll_frequency milliseconds. */ -- 2.43.2