[gtk/matthiasc/for-master] widget-factory: Add an entry with error state
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/matthiasc/for-master] widget-factory: Add an entry with error state
- Date: Wed, 12 Aug 2020 19:41:20 +0000 (UTC)
commit 94696490dc8111846c9ca7008b7553f6c745732d
Author: Matthias Clasen <mclasen redhat com>
Date: Wed Aug 12 13:26:46 2020 -0400
widget-factory: Add an entry with error state
Enter the wrong thing into the age entry for seeing
error states.
demos/widget-factory/widget-factory.c | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
---
diff --git a/demos/widget-factory/widget-factory.c b/demos/widget-factory/widget-factory.c
index 612ba462eb..d4afff17b2 100644
--- a/demos/widget-factory/widget-factory.c
+++ b/demos/widget-factory/widget-factory.c
@@ -1853,6 +1853,31 @@ set_up_context_popover (GtkWidget *widget,
gtk_widget_add_controller (widget, GTK_EVENT_CONTROLLER (gesture));
}
+static void
+age_entry_changed (GtkEntry *entry,
+ GParamSpec *pspec,
+ gpointer data)
+{
+ const char *text;
+ guint64 age;
+ GError *error = NULL;
+
+ text = gtk_editable_get_text (GTK_EDITABLE (entry));
+
+ if (strlen (text) > 0 &&
+ !g_ascii_string_to_unsigned (text, 10, 16, 666, &age, &error))
+ {
+ gtk_widget_set_tooltip_text (GTK_WIDGET (entry), error->message);
+ gtk_widget_add_css_class (GTK_WIDGET (entry), "error");
+ g_error_free (error);
+ }
+ else
+ {
+ gtk_widget_set_tooltip_text (GTK_WIDGET (entry), "");
+ gtk_widget_remove_css_class (GTK_WIDGET (entry), "error");
+ }
+}
+
static void
activate (GApplication *app)
{
@@ -1933,6 +1958,7 @@ activate (GApplication *app)
"decrease_icon_size", (GCallback)decrease_icon_size,
"reset_icon_size", (GCallback)reset_icon_size,
"osd_frame_pressed", (GCallback)osd_frame_pressed,
+ "age_entry_changed", (GCallback)age_entry_changed,
NULL);
gtk_builder_set_scope (builder, scope);
g_object_unref (scope);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]