NULL placeholder text should unset it (gtk3 compat)
Fixes: https://bugs.launchpad.net/midori/+bug/1043681
This commit is contained in:
parent
a0d9517053
commit
ebd0847a39
1 changed files with 9 additions and 13 deletions
|
@ -71,17 +71,15 @@ gtk_entry_set_placeholder_text (GtkEntry* entry,
|
||||||
const gchar* default_text)
|
const gchar* default_text)
|
||||||
{
|
{
|
||||||
/* Note: The default text initially overwrites any previous text */
|
/* Note: The default text initially overwrites any previous text */
|
||||||
gchar* old_value = g_object_get_data (G_OBJECT (entry),
|
gchar* old_value = g_object_get_data (G_OBJECT (entry), "sokoke_default_text");
|
||||||
"sokoke_default_text");
|
g_object_set_data (G_OBJECT (entry), "sokoke_default_text", (gpointer)default_text);
|
||||||
g_object_set_data (G_OBJECT (entry), "sokoke_default_text",
|
|
||||||
(gpointer)default_text);
|
|
||||||
|
|
||||||
if (!old_value)
|
if (default_text == NULL)
|
||||||
|
g_object_set_data (G_OBJECT (entry), "sokoke_has_default", GINT_TO_POINTER (0));
|
||||||
|
else if (!old_value)
|
||||||
{
|
{
|
||||||
g_object_set_data (G_OBJECT (entry), "sokoke_has_default",
|
g_object_set_data (G_OBJECT (entry), "sokoke_has_default", GINT_TO_POINTER (1));
|
||||||
GINT_TO_POINTER (1));
|
sokoke_widget_set_pango_font_style (GTK_WIDGET (entry), PANGO_STYLE_ITALIC);
|
||||||
sokoke_widget_set_pango_font_style (GTK_WIDGET (entry),
|
|
||||||
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_signal_connect (entry, "drag-data-received",
|
||||||
G_CALLBACK (sokoke_on_entry_drag_data_received), NULL);
|
G_CALLBACK (sokoke_on_entry_drag_data_received), NULL);
|
||||||
|
@ -92,13 +90,11 @@ gtk_entry_set_placeholder_text (GtkEntry* entry,
|
||||||
}
|
}
|
||||||
else if (!gtk_widget_has_focus (GTK_WIDGET (entry)))
|
else if (!gtk_widget_has_focus (GTK_WIDGET (entry)))
|
||||||
{
|
{
|
||||||
gint has_default = GPOINTER_TO_INT (
|
gint has_default = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (entry), "sokoke_has_default"));
|
||||||
g_object_get_data (G_OBJECT (entry), "sokoke_has_default"));
|
|
||||||
if (has_default)
|
if (has_default)
|
||||||
{
|
{
|
||||||
gtk_entry_set_text (entry, default_text);
|
gtk_entry_set_text (entry, default_text);
|
||||||
sokoke_widget_set_pango_font_style (GTK_WIDGET (entry),
|
sokoke_widget_set_pango_font_style (GTK_WIDGET (entry), PANGO_STYLE_ITALIC);
|
||||||
PANGO_STYLE_ITALIC);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue