evolution r35744 - in trunk: calendar calendar/gui/alarm-notify calendar/gui/dialogs shell widgets/misc



Author: pborelli
Date: Mon Jul 14 11:38:30 2008
New Revision: 35744
URL: http://svn.gnome.org/viewvc/evolution?rev=35744&view=rev

Log:
2008-17-14  Paolo Borelli  <pborelli katamail com>

	** Fix for bug #542889

	Port to the new gtk tooltip api.



Modified:
   trunk/calendar/ChangeLog
   trunk/calendar/gui/alarm-notify/alarm-queue.c
   trunk/calendar/gui/dialogs/event-page.c
   trunk/shell/ChangeLog
   trunk/shell/e-shell-window.c
   trunk/shell/e-sidebar.c
   trunk/shell/e-user-creatable-items-handler.c
   trunk/widgets/misc/ChangeLog
   trunk/widgets/misc/e-search-bar.c
   trunk/widgets/misc/e-search-bar.h
   trunk/widgets/misc/e-task-widget.c

Modified: trunk/calendar/gui/alarm-notify/alarm-queue.c
==============================================================================
--- trunk/calendar/gui/alarm-notify/alarm-queue.c	(original)
+++ trunk/calendar/gui/alarm-notify/alarm-queue.c	Mon Jul 14 11:38:30 2008
@@ -1549,7 +1549,6 @@
 	QueuedAlarm *qa;
 	ECalComponent *comp;
 	const char *summary, *location;
-	GtkTooltips *tooltips;
 	ECalComponentText text;
 	char *str, *start_str, *end_str, *alarm_str, *time_str;
 	icaltimezone *current_zone;
@@ -1579,7 +1578,6 @@
 	e_cal_component_get_location (comp, &location);
 
 	/* create the tray icon */
-	tooltips = gtk_tooltips_new ();
 
 	current_zone = config_data_get_timezone ();
 	alarm_str = timet_to_str_with_zone (trigger, current_zone);

Modified: trunk/calendar/gui/dialogs/event-page.c
==============================================================================
--- trunk/calendar/gui/dialogs/event-page.c	(original)
+++ trunk/calendar/gui/dialogs/event-page.c	Mon Jul 14 11:38:30 2008
@@ -784,15 +784,13 @@
 create_image_event_box (const char *image_text, const char *tip_text)
 {
 	GtkWidget *image, *box;
-	GtkTooltips *tip;
 
 	box = gtk_event_box_new ();
-	tip = gtk_tooltips_new ();
 	image = e_icon_factory_get_image (image_text, E_ICON_SIZE_MENU);
 
 	gtk_container_add ((GtkContainer *) box, image);
 	gtk_widget_show_all (box);
-	gtk_tooltips_set_tip (tip, box, tip_text, NULL);
+	gtk_widget_set_tooltip_text (box, tip_text);
 
 	return box;
 }

Modified: trunk/shell/e-shell-window.c
==============================================================================
--- trunk/shell/e-shell-window.c	(original)
+++ trunk/shell/e-shell-window.c	Mon Jul 14 11:38:30 2008
@@ -112,9 +112,6 @@
 	/* The current view (can be NULL initially).  */
 	ComponentView *current_view;
 
-	/* Tooltips.  */
-	GtkTooltips *tooltips;
-
 	/* The status bar widgetry.  */
 	GtkWidget *status_bar;
 	GtkWidget *offline_toggle;
@@ -407,7 +404,7 @@
 	gtk_image_set_from_file (GTK_IMAGE (priv->offline_toggle_image), icon_file);
 	g_free (icon_file);
 	gtk_widget_set_sensitive (priv->offline_toggle, sensitive);
-	gtk_tooltips_set_tip (priv->tooltips, priv->offline_toggle, tooltip, NULL);
+	gtk_widget_set_tooltip_text (priv->offline_toggle, tooltip);
 
 	/* TODO: If we get more shell flags, this should be centralised */
 	t = es_menu_target_new_shell(priv->menu, flags);
@@ -863,11 +860,6 @@
 		priv->ui_component = NULL;
 	}
 
-	if (priv->tooltips != NULL) {
-		gtk_object_destroy (GTK_OBJECT (priv->tooltips));
-		priv->tooltips = NULL;
-	}
-
 	if (priv->store_window_size_timer) {
 		g_source_remove (priv->store_window_size_timer);
 		self->priv->store_window_size_timer = 0;
@@ -992,7 +984,6 @@
 {
 	EShellWindowPrivate *priv = g_new0 (EShellWindowPrivate, 1);
 
-	priv->tooltips = gtk_tooltips_new ();
 	priv->shell_view = e_shell_view_new(shell_window);
 	priv->destroyed = FALSE;
 

Modified: trunk/shell/e-sidebar.c
==============================================================================
--- trunk/shell/e-sidebar.c	(original)
+++ trunk/shell/e-sidebar.c	Mon Jul 14 11:38:30 2008
@@ -36,7 +36,6 @@
 	GtkWidget *label;
 	GtkWidget *icon;
 	GtkWidget *hbox;
-	GtkTooltips *tooltips;
 	GdkPixbuf *default_icon;
 	int id;
 } Button;
@@ -73,8 +72,11 @@
 /* Utility functions.  */
 
 static Button *
-button_new (GtkWidget *button_widget, GtkWidget *label, GtkWidget *icon, GtkTooltips *tooltips,
-	    GtkWidget *hbox, int id)
+button_new (GtkWidget *button_widget,
+	    GtkWidget *label,
+	    GtkWidget *icon,
+	    GtkWidget *hbox,
+	    int        id)
 {
 	Button *button = g_new (Button, 1);
 
@@ -82,7 +84,6 @@
 	button->label = label;
 	button->icon = icon;
 	button->hbox = hbox;
-	button->tooltips = tooltips;
 	button->id = id;
 	button->default_icon = NULL;
 
@@ -90,7 +91,6 @@
 	g_object_ref (label);
 	g_object_ref (icon);
 	g_object_ref (hbox);
-	g_object_ref (tooltips);
 
 	return button;
 }
@@ -102,7 +102,6 @@
 	g_object_unref (button->label);
 	g_object_unref (button->icon);
 	g_object_unref (button->hbox);
-	g_object_unref (button->tooltips);
 	if (button->default_icon)
 		g_object_unref (button->default_icon);
 	g_free (button);
@@ -182,6 +181,30 @@
 	return return_val;
 }
 
+static gboolean
+button_query_tooltip (GtkWidget  *widget,
+		      gint        x,
+		      gint        y,
+		      gboolean    keyboard_mode,
+		      GtkTooltip *tooltip,
+		      ESidebar   *sidebar)
+{
+	/* Show the tooltip only if the label is hidden */
+	if (INTERNAL_MODE (sidebar) == E_SIDEBAR_MODE_ICON) {
+		char *tip;
+
+		tip = g_object_get_data (G_OBJECT (widget),
+					 "ESidebar:button-tooltip");
+		if (tip) {
+			gtk_tooltip_set_text (tooltip, tip);
+
+			return TRUE;
+		}
+	}
+
+	return FALSE;
+}
+
 
 /* Layout. */
 
@@ -529,7 +552,6 @@
 	GtkWidget *hbox;
 	GtkWidget *icon_widget;
 	GtkWidget *label_widget;
-	GtkTooltips *button_tooltips;
 
 	button_widget = gtk_toggle_button_new ();
 	if (sidebar->priv->show)
@@ -548,29 +570,32 @@
 	label_widget = gtk_label_new (label);
 	gtk_misc_set_alignment (GTK_MISC (label_widget), 0.0, 0.5);
 	gtk_widget_show (label_widget);
-	button_tooltips = gtk_tooltips_new();
-	gtk_tooltips_set_tip (GTK_TOOLTIPS (button_tooltips), button_widget, tooltips, NULL);
+
+	g_object_set_data_full (G_OBJECT (button_widget),
+				"ESidebar:button-tooltip",
+				g_strdup (tooltips),
+				g_free);
+	gtk_widget_set_has_tooltip (button_widget, TRUE);
+	g_signal_connect (button_widget, "query-tooltip",
+			  G_CALLBACK (button_query_tooltip), sidebar);
 
 	switch (INTERNAL_MODE (sidebar)) {
 	case E_SIDEBAR_MODE_TEXT:
 		gtk_box_pack_start (GTK_BOX (hbox), label_widget, TRUE, TRUE, 0);
-		gtk_tooltips_disable (button_tooltips);
 		break;
 	case E_SIDEBAR_MODE_ICON:
 		gtk_box_pack_start (GTK_BOX (hbox), icon_widget, TRUE, TRUE, 0);
-		gtk_tooltips_enable (button_tooltips);
 		break;
 	case E_SIDEBAR_MODE_BOTH:
 	default:
 		gtk_box_pack_start (GTK_BOX (hbox), icon_widget, FALSE, TRUE, 0);
 		gtk_box_pack_start (GTK_BOX (hbox), label_widget, TRUE, TRUE, 0);
-		gtk_tooltips_disable (button_tooltips);
 		break;
 	}
 
 	gtk_container_add (GTK_CONTAINER (button_widget), hbox);
 
-	sidebar->priv->buttons = g_slist_append (sidebar->priv->buttons, button_new (button_widget, label_widget, icon_widget, button_tooltips, hbox, id));
+	sidebar->priv->buttons = g_slist_append (sidebar->priv->buttons, button_new (button_widget, label_widget, icon_widget, hbox, id));
 	gtk_widget_set_parent (button_widget, GTK_WIDGET (sidebar));
 
 	gtk_widget_queue_resize (GTK_WIDGET (sidebar));
@@ -657,7 +682,6 @@
 			if (INTERNAL_MODE (sidebar) == E_SIDEBAR_MODE_ICON) {
 				gtk_box_pack_start (GTK_BOX (button->hbox), button->label, TRUE, TRUE, 0);
 				gtk_widget_show (button->label);
-				gtk_tooltips_disable (button->tooltips);
 			}
 			break;
 		case E_SIDEBAR_MODE_ICON:
@@ -669,7 +693,6 @@
 				gtk_container_child_set (GTK_CONTAINER (button->hbox), button->icon,
 							 "expand", TRUE,
 							 NULL);
-			gtk_tooltips_enable (button->tooltips);
 			break;
 		case E_SIDEBAR_MODE_BOTH:
 			if (INTERNAL_MODE (sidebar) == E_SIDEBAR_MODE_TEXT) {
@@ -682,7 +705,6 @@
 							 NULL);
 			}
 
-			gtk_tooltips_disable (button->tooltips);
 			gtk_box_pack_start (GTK_BOX (button->hbox), button->label, TRUE, TRUE, 0);
 			gtk_widget_show (button->label);
 			break;

Modified: trunk/shell/e-user-creatable-items-handler.c
==============================================================================
--- trunk/shell/e-user-creatable-items-handler.c	(original)
+++ trunk/shell/e-user-creatable-items-handler.c	Mon Jul 14 11:38:30 2008
@@ -88,7 +88,6 @@
 	char *menu_xml;
 	GtkWidget *new_button, *new_menu;
 	BonoboControl *new_control;
-	GtkTooltips *tooltips;
 	GtkAccelGroup *accel_group;
 };
 
@@ -744,11 +743,10 @@
 	gconf_client_notify_add(gconf,"/desktop/gnome/interface/toolbar_style",
 		(GConfClientNotifyFunc)new_button_change, handler, NULL, NULL);
 
+	gtk_widget_set_tooltip_text (priv->new_button,
+				     priv->default_menu_item->tooltip);
 	gtk_widget_show (priv->new_button);
-	priv->tooltips = gtk_tooltips_new ();
-	g_object_ref_sink (priv->tooltips);
-	gtk_tooltips_set_tip (priv->tooltips, priv->new_button,
-			      priv->default_menu_item->tooltip, NULL);
+
 	g_free (val);
 	g_object_unref (gconf);
 }
@@ -796,11 +794,6 @@
 		priv->new_control = NULL;
 	}
 
-	if (priv->tooltips) {
-		g_object_unref (priv->tooltips);
-		priv->tooltips = NULL;
-	}
-
 	if (priv->accel_group) {
 		g_object_unref (priv->accel_group);
 		priv->accel_group = NULL;

Modified: trunk/widgets/misc/e-search-bar.c
==============================================================================
--- trunk/widgets/misc/e-search-bar.c	(original)
+++ trunk/widgets/misc/e-search-bar.c	Mon Jul 14 11:38:30 2008
@@ -339,8 +339,9 @@
 		}
 
 		t = g_strdup_printf ("%s: %s\n%s", _("Search"), text, _("Click here to change the search type"));
-		gtk_tooltips_set_tip (esb->tooltips, esb->option_button, t, "Search type");
+		gtk_widget_set_tooltip_text (esb->option_button, t);
 		g_free (t);
+
 		gtk_widget_set_sensitive (esb->clear_button, FALSE);
 	}
 
@@ -474,7 +475,7 @@
 		else
 			t = g_strdup_printf ("%s: %s", _("Search"), _("Click here to change the search type"));
 
-		gtk_tooltips_set_tip (esb->tooltips, esb->option_button, t, "Search type");
+		gtk_widget_set_tooltip_text (esb->option_button, t);
 		g_free (t);
 	}
 
@@ -934,7 +935,6 @@
 	esb->scopeoption      = NULL;
 	esb->scopeoption_box  = NULL;
 
-	esb->tooltips         = NULL;
 	esb->pending_activate = 0;
 
 	esb->item_id          = 0;
@@ -970,8 +970,6 @@
 
 	gtk_box_set_homogeneous (GTK_BOX (search_bar), FALSE);
 
-	search_bar->tooltips = gtk_tooltips_new ();
-
 	bighbox = gtk_hbox_new (FALSE, 0);
 	search_bar->entry_box = gtk_hbox_new (0, FALSE);
 	search_bar->icon_entry = e_icon_entry_new ();

Modified: trunk/widgets/misc/e-search-bar.h
==============================================================================
--- trunk/widgets/misc/e-search-bar.h	(original)
+++ trunk/widgets/misc/e-search-bar.h	Mon Jul 14 11:38:30 2008
@@ -94,7 +94,7 @@
 	GtkWidget *scopeoption_menu;
 
 	guint      pending_activate;
-	GtkTooltips *tooltips;
+
 	/* The currently-selected item & subitem */
 	int        item_id;
 	int        viewitem_id; /* Current View Id */

Modified: trunk/widgets/misc/e-task-widget.c
==============================================================================
--- trunk/widgets/misc/e-task-widget.c	(original)
+++ trunk/widgets/misc/e-task-widget.c	Mon Jul 14 11:38:30 2008
@@ -36,8 +36,6 @@
 struct _ETaskWidgetPrivate {
 	char *component_id;
 
-	GtkTooltips *tooltips;
-
 	GdkPixbuf *icon_pixbuf;
 	GtkWidget *label;
 	GtkWidget *box;
@@ -61,11 +59,6 @@
 
 	priv = task_widget->priv;
 
-	if (priv->tooltips != NULL) {
-		g_object_unref (priv->tooltips);
-		priv->tooltips = NULL;
-	}
-
 	if (priv->icon_pixbuf != NULL) {
 		g_object_unref (priv->icon_pixbuf);
 		priv->icon_pixbuf = NULL;
@@ -107,7 +100,6 @@
 	priv = g_new (ETaskWidgetPrivate, 1);
 
 	priv->component_id = NULL;
-	priv->tooltips     = NULL;
 	priv->icon_pixbuf  = NULL;
 	priv->label        = NULL;
 	priv->image        = NULL;
@@ -213,9 +205,6 @@
 
 	}
 
-	priv->tooltips = gtk_tooltips_new ();
-	g_object_ref_sink (priv->tooltips);
-
 	e_task_widget_update (task_widget, information, -1.0);
 }
 
@@ -297,7 +286,7 @@
 
 	gtk_label_set_text (GTK_LABEL (priv->label), text);
 
-	gtk_tooltips_set_tip (priv->tooltips, GTK_WIDGET (task_widget), text, NULL);
+	gtk_widget_set_tooltip_text (GTK_WIDGET (task_widget), text);
 
 	g_free (text);
 }



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