Compare commits

...

8 Commits

Author SHA1 Message Date
Matthias Clasen
abcf2e3bf7 node-editor: Don't use the ::query-tooltip signal
Use the vfunc, the signal is going away.
2020-05-09 23:24:59 -04:00
Matthias Clasen
a123d99fcd inspector: Don't use the ::query-tooltip signal
Use the vfunc, the signal is going away.
2020-05-09 22:49:55 -04:00
Matthias Clasen
4f760a9a2a volumebutton: Don't use the ::query-tooltip signal
Use the vfunc, the signal is going away.
2020-05-09 22:31:00 -04:00
Matthias Clasen
7e6be71d38 volumebutton: Enable the tooltips
Little point in having a query-tooltip handler if
we don't make sure ::query-tooltip is emitted.
2020-05-09 22:31:00 -04:00
Matthias Clasen
ed46982cc5 volumebutton: Remove broken a11y code
The accessible of a button is not an AtkImage,
so whatever this code was trying to do isn't
working. Remove it.
2020-05-09 22:30:59 -04:00
Matthias Clasen
e92270f928 iconview: Stop using the ::query-tooltip signal
Use the vfunc instead. The signal is going away.
2020-05-09 22:30:59 -04:00
Matthias Clasen
79a96b9bef treeview: Don't use the ::query-tooltip signal
Use the vfunc instead.
2020-05-09 22:30:59 -04:00
Matthias Clasen
ff55264e60 linkbutton: Don't use the ::query-tooltip signal
As a subclass, GtkLinkButton should override the
vfunc. The signal will be going away.
2020-05-09 22:30:59 -04:00
9 changed files with 93 additions and 109 deletions

View File

@@ -273,13 +273,13 @@ text_changed (GtkTextBuffer *buffer,
}
static gboolean
text_view_query_tooltip_cb (GtkWidget *widget,
int x,
int y,
gboolean keyboard_tip,
GtkTooltip *tooltip,
NodeEditorWindow *self)
node_editor_query_tooltip (GtkWidget *widget,
int x,
int y,
gboolean keyboard_tip,
GtkTooltip *tooltip)
{
NodeEditorWindow *self = NODE_EDITOR_WINDOW (widget);
GtkTextIter iter;
guint i;
GString *text;
@@ -295,6 +295,7 @@ text_view_query_tooltip_cb (GtkWidget *widget,
{
gint bx, by, trailing;
gtk_widget_translate_coordinates (widget, self->text_view, x, y, &x, &y);
gtk_text_view_window_to_buffer_coords (GTK_TEXT_VIEW (self->text_view), GTK_TEXT_WINDOW_TEXT,
x, y, &bx, &by);
gtk_text_view_get_iter_at_position (GTK_TEXT_VIEW (self->text_view), &iter, &trailing, bx, by);
@@ -757,6 +758,7 @@ node_editor_window_class_init (NodeEditorWindowClass *class)
widget_class->realize = node_editor_window_realize;
widget_class->unrealize = node_editor_window_unrealize;
widget_class->query_tooltip = node_editor_query_tooltip;
gtk_widget_class_bind_template_child (widget_class, NodeEditorWindow, text_view);
gtk_widget_class_bind_template_child (widget_class, NodeEditorWindow, picture);
@@ -767,7 +769,6 @@ node_editor_window_class_init (NodeEditorWindowClass *class)
gtk_widget_class_bind_template_child (widget_class, NodeEditorWindow, testcase_name_entry);
gtk_widget_class_bind_template_child (widget_class, NodeEditorWindow, testcase_save_button);
gtk_widget_class_bind_template_callback (widget_class, text_view_query_tooltip_cb);
gtk_widget_class_bind_template_callback (widget_class, open_cb);
gtk_widget_class_bind_template_callback (widget_class, save_cb);
gtk_widget_class_bind_template_callback (widget_class, export_image_cb);

View File

@@ -84,6 +84,7 @@
<property name="default-width">1024</property>
<property name="default-height">768</property>
<property name="focus-widget">text_view</property>
<property name="has-tooltip">1</property>
<child type="titlebar">
<object class="GtkHeaderBar" id="header">
<property name="show-title-buttons">1</property>
@@ -138,8 +139,6 @@
<property name="left-margin">6</property>
<property name="right-margin">6</property>
<property name="bottom-margin">6</property>
<property name="has-tooltip">1</property>
<signal name="query-tooltip" handler="text_view_query_tooltip_cb"/>
<style>
<class name="editor" />
</style>

View File

@@ -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");

View File

@@ -120,12 +120,11 @@ static void gtk_link_button_clicked (GtkButton *button);
static void gtk_link_button_popup_menu (GtkWidget *widget,
const char *action_name,
GVariant *parameters);
static gboolean gtk_link_button_query_tooltip_cb (GtkWidget *widget,
gint x,
gint y,
gboolean keyboard_tip,
GtkTooltip *tooltip,
gpointer data);
static gboolean gtk_link_button_query_tooltip (GtkWidget *widget,
gint x,
gint y,
gboolean keyboard_tip,
GtkTooltip *tooltip);
static void gtk_link_button_pressed_cb (GtkGestureClick *gesture,
int n_press,
double x,
@@ -164,6 +163,8 @@ gtk_link_button_class_init (GtkLinkButtonClass *klass)
gobject_class->get_property = gtk_link_button_get_property;
gobject_class->finalize = gtk_link_button_finalize;
widget_class->query_tooltip = gtk_link_button_query_tooltip;
button_class->clicked = gtk_link_button_clicked;
klass->activate_link = gtk_link_button_activate_link;
@@ -341,9 +342,6 @@ gtk_link_button_init (GtkLinkButton *link_button)
gtk_widget_set_state_flags (GTK_WIDGET (link_button), GTK_STATE_FLAG_LINK, FALSE);
gtk_widget_set_has_tooltip (GTK_WIDGET (link_button), TRUE);
g_signal_connect (link_button, "query-tooltip",
G_CALLBACK (gtk_link_button_query_tooltip_cb), NULL);
source = gtk_drag_source_new ();
content = g_object_new (GTK_TYPE_LINK_CONTENT, NULL);
GTK_LINK_CONTENT (content)->link = link_button;
@@ -581,13 +579,12 @@ gtk_link_button_new_with_label (const gchar *uri,
return retval;
}
static gboolean
gtk_link_button_query_tooltip_cb (GtkWidget *widget,
gint x,
gint y,
gboolean keyboard_tip,
GtkTooltip *tooltip,
gpointer data)
static gboolean
gtk_link_button_query_tooltip (GtkWidget *widget,
gint x,
gint y,
gboolean keyboard_tip,
GtkTooltip *tooltip)
{
GtkLinkButton *link_button = GTK_LINK_BUTTON (widget);
const gchar *label, *uri;

View File

@@ -658,6 +658,11 @@ static void gtk_tree_view_size_allocate (GtkWidget *widget,
int baseline);
static void gtk_tree_view_snapshot (GtkWidget *widget,
GtkSnapshot *snapshot);
static gboolean gtk_tree_view_query_tooltip (GtkWidget *widget,
int x,
int y,
gboolean keyboard_tip,
GtkTooltip *tooltip);
static gboolean gtk_tree_view_forward_controller_key_pressed (GtkEventControllerKey *key,
guint keyval,
@@ -1027,6 +1032,7 @@ gtk_tree_view_class_init (GtkTreeViewClass *class)
widget_class->focus = gtk_tree_view_focus;
widget_class->grab_focus = gtk_tree_view_grab_focus;
widget_class->css_changed = gtk_tree_view_css_changed;
widget_class->query_tooltip = gtk_tree_view_query_tooltip;
/* GtkContainer signals */
container_class->remove = gtk_tree_view_remove;
@@ -14588,12 +14594,11 @@ gtk_tree_view_get_tooltip_context (GtkTreeView *tree_view,
}
static gboolean
gtk_tree_view_set_tooltip_query_cb (GtkWidget *widget,
gint x,
gint y,
gboolean keyboard_tip,
GtkTooltip *tooltip,
gpointer data)
gtk_tree_view_query_tooltip (GtkWidget *widget,
int x,
int y,
gboolean keyboard_tip,
GtkTooltip *tooltip)
{
GValue value = G_VALUE_INIT;
GValue transformed = G_VALUE_INIT;
@@ -14602,10 +14607,13 @@ gtk_tree_view_set_tooltip_query_cb (GtkWidget *widget,
GtkTreeModel *model;
GtkTreeView *tree_view = GTK_TREE_VIEW (widget);
if (tree_view->tooltip_column == -1)
return FALSE;
if (!gtk_tree_view_get_tooltip_context (GTK_TREE_VIEW (widget),
&x, &y,
keyboard_tip,
&model, &path, &iter))
&x, &y,
keyboard_tip,
&model, &path, &iter))
return FALSE;
gtk_tree_model_get_value (model, &iter,
@@ -14658,7 +14666,7 @@ gtk_tree_view_set_tooltip_query_cb (GtkWidget *widget,
*/
void
gtk_tree_view_set_tooltip_column (GtkTreeView *tree_view,
gint column)
int column)
{
g_return_if_fail (GTK_IS_TREE_VIEW (tree_view));
@@ -14666,21 +14674,9 @@ gtk_tree_view_set_tooltip_column (GtkTreeView *tree_view,
return;
if (column == -1)
{
g_signal_handlers_disconnect_by_func (tree_view,
gtk_tree_view_set_tooltip_query_cb,
NULL);
gtk_widget_set_has_tooltip (GTK_WIDGET (tree_view), FALSE);
}
else
{
if (tree_view->tooltip_column == -1)
{
g_signal_connect (tree_view, "query-tooltip",
G_CALLBACK (gtk_tree_view_set_tooltip_query_cb), NULL);
gtk_widget_set_has_tooltip (GTK_WIDGET (tree_view), TRUE);
}
}
gtk_widget_set_has_tooltip (GTK_WIDGET (tree_view), FALSE);
else if (tree_view->tooltip_column == -1)
gtk_widget_set_has_tooltip (GTK_WIDGET (tree_view), TRUE);
tree_view->tooltip_column = column;
g_object_notify_by_pspec (G_OBJECT (tree_view), tree_view_props[PROP_TOOLTIP_COLUMN]);

View File

@@ -78,13 +78,12 @@ enum
PROP_SYMBOLIC
};
static gboolean cb_query_tooltip (GtkWidget *button,
gint x,
gint y,
gboolean keyboard_mode,
GtkTooltip *tooltip,
gpointer user_data);
static void cb_value_changed (GtkVolumeButton *button,
static gboolean gtk_volume_button_query_tooltip (GtkWidget *button,
int x,
int y,
gboolean keyboard_mode,
GtkTooltip *tooltip);
static void cb_value_changed (GtkVolumeButton *button,
gdouble value,
gpointer user_data);
@@ -110,9 +109,9 @@ get_symbolic (GtkScaleButton *button)
static void
gtk_volume_button_set_property (GObject *object,
guint prop_id,
const GValue *value,
GParamSpec *pspec)
guint prop_id,
const GValue *value,
GParamSpec *pspec)
{
GtkScaleButton *button = GTK_SCALE_BUTTON (object);
@@ -124,7 +123,7 @@ gtk_volume_button_set_property (GObject *object,
if (g_value_get_boolean (value))
gtk_scale_button_set_icons (button, (const char **) icons_symbolic);
else
gtk_scale_button_set_icons (button, (const char **) icons);
gtk_scale_button_set_icons (button, (const char **) icons);
g_object_notify_by_pspec (object, pspec);
}
break;
@@ -136,9 +135,9 @@ gtk_volume_button_set_property (GObject *object,
static void
gtk_volume_button_get_property (GObject *object,
guint prop_id,
GValue *value,
GParamSpec *pspec)
guint prop_id,
GValue *value,
GParamSpec *pspec)
{
switch (prop_id)
{
@@ -160,6 +159,8 @@ gtk_volume_button_class_init (GtkVolumeButtonClass *klass)
gobject_class->set_property = gtk_volume_button_set_property;
gobject_class->get_property = gtk_volume_button_get_property;
widget_class->query_tooltip = gtk_volume_button_query_tooltip;
/**
* GtkVolumeButton:use-symbolic:
*
@@ -179,7 +180,6 @@ gtk_volume_button_class_init (GtkVolumeButtonClass *klass)
/* Bind class to template
*/
gtk_widget_class_set_template_from_resource (widget_class, "/org/gtk/libgtk/ui/gtkvolumebutton.ui");
gtk_widget_class_bind_template_callback (widget_class, cb_query_tooltip);
gtk_widget_class_bind_template_callback (widget_class, cb_value_changed);
}
@@ -192,7 +192,7 @@ gtk_volume_button_init (GtkVolumeButton *button)
/* The atk action description is not supported by GtkBuilder */
atk_action_set_description (ATK_ACTION (gtk_widget_get_accessible (GTK_WIDGET (widget))),
1, _("Adjusts the volume"));
1, _("Adjusts the volume"));
}
/**
@@ -213,20 +213,16 @@ gtk_volume_button_new (void)
}
static gboolean
cb_query_tooltip (GtkWidget *button,
gint x,
gint y,
gboolean keyboard_mode,
GtkTooltip *tooltip,
gpointer user_data)
gtk_volume_button_query_tooltip (GtkWidget *button,
int x,
int y,
gboolean keyboard_mode,
GtkTooltip *tooltip)
{
GtkScaleButton *scale_button = GTK_SCALE_BUTTON (button);
GtkAdjustment *adjustment;
gdouble val;
char *str;
AtkImage *image;
image = ATK_IMAGE (gtk_widget_get_accessible (button));
adjustment = gtk_scale_button_get_adjustment (scale_button);
val = gtk_scale_button_get_value (scale_button);
@@ -254,7 +250,6 @@ cb_query_tooltip (GtkWidget *button,
}
gtk_tooltip_set_text (tooltip, str);
atk_image_set_image_description (image, str);
g_free (str);
return TRUE;

View File

@@ -65,13 +65,13 @@ css_error_free (gpointer data)
}
static gboolean
query_tooltip_cb (GtkWidget *widget,
gint x,
gint y,
gboolean keyboard_tip,
GtkTooltip *tooltip,
GtkInspectorCssEditor *ce)
gtk_css_editor_query_tooltip (GtkWidget *widget,
int x,
int y,
gboolean keyboard_tip,
GtkTooltip *tooltip)
{
GtkInspectorCssEditor *ce = GTK_INSPECTOR_CSS_EDITOR (widget);
GtkTextIter iter;
GList *l;
@@ -86,6 +86,7 @@ query_tooltip_cb (GtkWidget *widget,
{
gint bx, by, trailing;
gtk_widget_translate_coordinates (widget, ce->priv->view, x, y, &x, &y);
gtk_text_view_window_to_buffer_coords (GTK_TEXT_VIEW (ce->priv->view), GTK_TEXT_WINDOW_TEXT,
x, y, &bx, &by);
gtk_text_view_get_iter_at_position (GTK_TEXT_VIEW (ce->priv->view), &iter, &trailing, bx, by);
@@ -406,6 +407,8 @@ gtk_inspector_css_editor_class_init (GtkInspectorCssEditorClass *klass)
object_class->constructed = constructed;
object_class->finalize = finalize;
widget_class->query_tooltip = gtk_css_editor_query_tooltip;
gtk_widget_class_set_template_from_resource (widget_class, "/org/gtk/libgtk/inspector/css-editor.ui");
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorCssEditor, text);
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorCssEditor, view);
@@ -413,7 +416,6 @@ gtk_inspector_css_editor_class_init (GtkInspectorCssEditorClass *klass)
gtk_widget_class_bind_template_callback (widget_class, disable_toggled);
gtk_widget_class_bind_template_callback (widget_class, save_clicked);
gtk_widget_class_bind_template_callback (widget_class, text_changed);
gtk_widget_class_bind_template_callback (widget_class, query_tooltip_cb);
}
void

View File

@@ -20,6 +20,7 @@
</object>
<template class="GtkInspectorCssEditor" parent="GtkBox">
<property name="orientation">vertical</property>
<property name="has-tooltip">1</property>
<child>
<object class="GtkBox">
<property name="spacing">6</property>
@@ -57,8 +58,6 @@
<property name="monospace">1</property>
<property name="left-margin">6</property>
<property name="right-margin">6</property>
<property name="has-tooltip">1</property>
<signal name="query-tooltip" handler="query_tooltip_cb"/>
</object>
</child>
</object>

View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface domain="gtk40">
<template class="GtkVolumeButton" parent="GtkScaleButton">
<property name="has-tooltip">1</property>
<property name="adjustment">
<object class="GtkAdjustment">
<property name="upper">1</property>
@@ -18,7 +19,6 @@ audio-volume-medium</property>
<property name="AtkObject::accessible-description" translatable="yes">Turns volume up or down</property>
</object>
</child>
<signal name="query-tooltip" handler="cb_query_tooltip" swapped="no"/>
<signal name="value-changed" handler="cb_value_changed" swapped="no"/>
<child internal-child="plus_button">
<object class="GtkButton" id="scalebutton-plus_button1">