]> gitweb.michael.orlitzky.com - xfce4-hdaps.git/commitdiff
panel-plugin: migrate GtkTooltips to new simpler API.
authorMichael Orlitzky <michael@orlitzky.com>
Wed, 23 Oct 2019 02:27:10 +0000 (22:27 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Thu, 24 Oct 2019 13:26:40 +0000 (09:26 -0400)
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
panel-plugin/xfce4-hdaps.h

index 95f05eb5f90a14b014b94f6db7d496da45a84e07..eb1d5cc81dcf7323c696fc3397473efb146f7657 100644 (file)
@@ -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);
 }
index c6a28303d9ff032102b115b0a02525dd933276da..4affb309e64ac9b3e37c9b9ff48906d124606f03 100644 (file)
@@ -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. */