[gtk+/wip/matthiasc/kill-event-signals: 124/130] text cell renderer: Stop using ::focus-out-event
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/matthiasc/kill-event-signals: 124/130] text cell renderer: Stop using ::focus-out-event
- Date: Sat, 6 Jan 2018 23:46:07 +0000 (UTC)
commit 870f87c15ca293c36826eb346a28d1017c88f387
Author: Matthias Clasen <mclasen redhat com>
Date: Sat Jan 6 15:12:04 2018 -0500
text cell renderer: Stop using ::focus-out-event
The has-focus property works fine here.
gtk/gtkcellrenderertext.c | 20 ++++++++++----------
1 files changed, 10 insertions(+), 10 deletions(-)
---
diff --git a/gtk/gtkcellrenderertext.c b/gtk/gtkcellrenderertext.c
index 4bac4c7..f0c7d07 100644
--- a/gtk/gtkcellrenderertext.c
+++ b/gtk/gtkcellrenderertext.c
@@ -1876,26 +1876,26 @@ gtk_cell_renderer_text_populate_popup (GtkEntry *entry,
G_CALLBACK (gtk_cell_renderer_text_popup_unmap), data);
}
-static gboolean
-gtk_cell_renderer_text_focus_out_event (GtkWidget *entry,
- GdkEvent *event,
- gpointer data)
+static void
+gtk_cell_renderer_text_focus_changed (GtkWidget *entry,
+ GParamSpec *pspec,
+ gpointer data)
{
GtkCellRendererTextPrivate *priv;
priv = GTK_CELL_RENDERER_TEXT (data)->priv;
+ if (gtk_widget_has_focus (entry))
+ return;
+
if (priv->in_entry_menu)
- return FALSE;
+ return;
g_object_set (entry,
"editing-canceled", TRUE,
NULL);
gtk_cell_editable_editing_done (GTK_CELL_EDITABLE (entry));
gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE (entry));
-
- /* entry needs focus-out-event */
- return FALSE;
}
static GtkCellEditable *
@@ -1944,8 +1944,8 @@ gtk_cell_renderer_text_start_editing (GtkCellRenderer *cell,
"editing-done",
G_CALLBACK (gtk_cell_renderer_text_editing_done),
celltext);
- priv->focus_out_id = g_signal_connect_after (priv->entry, "focus-out-event",
- G_CALLBACK (gtk_cell_renderer_text_focus_out_event),
+ priv->focus_out_id = g_signal_connect_after (priv->entry, "notify::has-focus",
+ G_CALLBACK (gtk_cell_renderer_text_focus_changed),
celltext);
priv->populate_popup_id =
g_signal_connect (priv->entry, "populate-popup",
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]