[gtk/wip/tooltip-api: 17/22] iconview: Stop using the ::query-tooltip signal
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/tooltip-api: 17/22] iconview: Stop using the ::query-tooltip signal
- Date: Sun, 10 May 2020 03:27:37 +0000 (UTC)
commit e92270f928994bf0967c7734138fe3a3e7b37980
Author: Matthias Clasen <mclasen redhat com>
Date: Wed May 6 23:10:33 2020 -0400
iconview: Stop using the ::query-tooltip signal
Use the vfunc instead. The signal is going away.
gtk/gtkiconview.c | 41 ++++++++++++++++++-----------------------
1 file changed, 18 insertions(+), 23 deletions(-)
---
diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c
index 848961f8d8..cd4459f08b 100644
--- a/gtk/gtkiconview.c
+++ b/gtk/gtkiconview.c
@@ -305,6 +305,11 @@ static gboolean gtk_icon_view_maybe_begin_drag (GtkIconView *icon_view,
double x,
double y,
GdkDevice *device);
+static gboolean gtk_icon_view_query_tooltip (GtkWidget *widget,
+ int x,
+ int y,
+ gboolean keyboard_tip,
+ GtkTooltip *tooltip);
static void remove_scroll_timeout (GtkIconView *icon_view);
@@ -352,6 +357,7 @@ gtk_icon_view_class_init (GtkIconViewClass *klass)
widget_class->snapshot = gtk_icon_view_snapshot;
widget_class->focus = gtk_widget_focus_self;
widget_class->grab_focus = gtk_widget_grab_focus_self;
+ widget_class->query_tooltip = gtk_icon_view_query_tooltip;
container_class->remove = gtk_icon_view_remove;
container_class->forall = gtk_icon_view_forall;
@@ -4407,12 +4413,11 @@ gtk_icon_view_get_tooltip_context (GtkIconView *icon_view,
}
static gboolean
-gtk_icon_view_set_tooltip_query_cb (GtkWidget *widget,
- gint x,
- gint y,
- gboolean keyboard_tip,
- GtkTooltip *tooltip,
- gpointer data)
+gtk_icon_view_query_tooltip (GtkWidget *widget,
+ int x,
+ int y,
+ gboolean keyboard_tip,
+ GtkTooltip *tooltip)
{
gchar *str;
GtkTreeIter iter;
@@ -4420,6 +4425,9 @@ gtk_icon_view_set_tooltip_query_cb (GtkWidget *widget,
GtkTreeModel *model;
GtkIconView *icon_view = GTK_ICON_VIEW (widget);
+ if (icon_view->priv->tooltip_column == -1)
+ return FALSE;
+
if (!gtk_icon_view_get_tooltip_context (GTK_ICON_VIEW (widget),
&x, &y,
keyboard_tip,
@@ -4443,7 +4451,6 @@ gtk_icon_view_set_tooltip_query_cb (GtkWidget *widget,
return TRUE;
}
-
/**
* gtk_icon_view_set_tooltip_column:
* @icon_view: a #GtkIconView
@@ -4462,7 +4469,7 @@ gtk_icon_view_set_tooltip_query_cb (GtkWidget *widget,
*/
void
gtk_icon_view_set_tooltip_column (GtkIconView *icon_view,
- gint column)
+ int column)
{
g_return_if_fail (GTK_IS_ICON_VIEW (icon_view));
@@ -4470,21 +4477,9 @@ gtk_icon_view_set_tooltip_column (GtkIconView *icon_view,
return;
if (column == -1)
- {
- g_signal_handlers_disconnect_by_func (icon_view,
- gtk_icon_view_set_tooltip_query_cb,
- NULL);
- gtk_widget_set_has_tooltip (GTK_WIDGET (icon_view), FALSE);
- }
- else
- {
- if (icon_view->priv->tooltip_column == -1)
- {
- g_signal_connect (icon_view, "query-tooltip",
- G_CALLBACK (gtk_icon_view_set_tooltip_query_cb), NULL);
- gtk_widget_set_has_tooltip (GTK_WIDGET (icon_view), TRUE);
- }
- }
+ gtk_widget_set_has_tooltip (GTK_WIDGET (icon_view), FALSE);
+ else if (icon_view->priv->tooltip_column == -1)
+ gtk_widget_set_has_tooltip (GTK_WIDGET (icon_view), TRUE);
icon_view->priv->tooltip_column = column;
g_object_notify (G_OBJECT (icon_view), "tooltip-column");
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]