Handle drag on default text like focus in
Also only connect the signals once.
This commit is contained in:
parent
8f489ca872
commit
39e915bbbf
1 changed files with 17 additions and 4 deletions
|
@ -1102,6 +1102,17 @@ sokoke_on_entry_focus_out_event (GtkEntry* entry,
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
sokoke_on_entry_drag_data_received (GtkEntry* entry,
|
||||||
|
GdkDragContext* drag_context,
|
||||||
|
gint x,
|
||||||
|
gint y,
|
||||||
|
guint timestamp,
|
||||||
|
gpointer user_data)
|
||||||
|
{
|
||||||
|
sokoke_on_entry_focus_in_event (entry, NULL, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
sokoke_entry_set_default_text (GtkEntry* entry,
|
sokoke_entry_set_default_text (GtkEntry* entry,
|
||||||
const gchar* default_text)
|
const gchar* default_text)
|
||||||
|
@ -1116,6 +1127,12 @@ sokoke_entry_set_default_text (GtkEntry* entry,
|
||||||
sokoke_widget_set_pango_font_style (GTK_WIDGET (entry),
|
sokoke_widget_set_pango_font_style (GTK_WIDGET (entry),
|
||||||
PANGO_STYLE_ITALIC);
|
PANGO_STYLE_ITALIC);
|
||||||
gtk_entry_set_text (entry, default_text);
|
gtk_entry_set_text (entry, default_text);
|
||||||
|
g_signal_connect (entry, "drag-data-received",
|
||||||
|
G_CALLBACK (sokoke_on_entry_drag_data_received), NULL);
|
||||||
|
g_signal_connect (entry, "focus-in-event",
|
||||||
|
G_CALLBACK (sokoke_on_entry_focus_in_event), NULL);
|
||||||
|
g_signal_connect (entry, "focus-out-event",
|
||||||
|
G_CALLBACK (sokoke_on_entry_focus_out_event), NULL);
|
||||||
}
|
}
|
||||||
else if (!gtk_widget_has_focus (GTK_WIDGET (entry)))
|
else if (!gtk_widget_has_focus (GTK_WIDGET (entry)))
|
||||||
{
|
{
|
||||||
|
@ -1130,10 +1147,6 @@ sokoke_entry_set_default_text (GtkEntry* entry,
|
||||||
}
|
}
|
||||||
g_object_set_data (G_OBJECT (entry), "sokoke_default_text",
|
g_object_set_data (G_OBJECT (entry), "sokoke_default_text",
|
||||||
(gpointer)default_text);
|
(gpointer)default_text);
|
||||||
g_signal_connect (entry, "focus-in-event",
|
|
||||||
G_CALLBACK (sokoke_on_entry_focus_in_event), NULL);
|
|
||||||
g_signal_connect (entry, "focus-out-event",
|
|
||||||
G_CALLBACK (sokoke_on_entry_focus_out_event), NULL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gchar*
|
gchar*
|
||||||
|
|
Loading…
Reference in a new issue