Show thumbnail tab tooltips with Gtk 2.12 if speed dial is enabled

This commit is contained in:
Christian Dywan 2009-06-01 09:35:16 +02:00
parent 7fbe7f81b9
commit 1bd94a4d28

View file

@ -46,6 +46,11 @@ midori_search_action_get_icon (KatzeNet* net,
static void
midori_view_construct_web_view (MidoriView* view);
GdkPixbuf*
midori_view_get_snapshot (MidoriView* view,
guint width,
guint height);
struct _MidoriView
{
GtkScrolledWindow parent_instance;
@ -75,6 +80,7 @@ struct _MidoriView
GtkWidget* menu_item;
GtkWidget* tab_label;
GtkWidget* tooltip_image;
GtkWidget* tab_icon;
GtkWidget* tab_title;
GtkWidget* tab_close;
@ -548,7 +554,9 @@ midori_view_update_title (MidoriView* view)
soup_uri_free (uri);
}
gtk_label_set_text (GTK_LABEL (view->tab_title), title);
#if !GTK_CHECK_VERSION (2, 12, 0)
gtk_widget_set_tooltip_text (view->tab_title, title);
#endif
}
if (view->menu_item)
gtk_label_set_text (GTK_LABEL (gtk_bin_get_child (GTK_BIN (
@ -2535,6 +2543,23 @@ midori_view_tab_label_parent_set (GtkWidget* tab_label,
}
}
#if GTK_CHECK_VERSION (2, 12, 0)
static gboolean
midori_view_tab_label_query_tooltip_cb (GtkWidget* tab_label,
gint x,
gint y,
gboolean keyboard,
GtkTooltip* tooltip,
MidoriView* view)
{
if (view->speed_dial_in_new_tabs)
gtk_tooltip_set_icon (tooltip, midori_view_get_snapshot (view, 160, 107));
else
gtk_tooltip_set_text (tooltip, view->uri);
return TRUE;
}
#endif
/**
* midori_view_get_proxy_tab_label:
* @view: a #MidoriView
@ -2611,6 +2636,11 @@ midori_view_get_proxy_tab_label (MidoriView* view)
G_CALLBACK (midori_view_tab_close_clicked), view);
view->tab_label = event_box;
#if GTK_CHECK_VERSION (2, 12, 0)
gtk_widget_set_has_tooltip (view->tab_label, TRUE);
g_signal_connect (view->tab_label, "query-tooltip",
G_CALLBACK (midori_view_tab_label_query_tooltip_cb), view);
#endif
g_signal_connect (view->tab_icon, "destroy",
G_CALLBACK (gtk_widget_destroyed),
&view->tab_icon);