summaryrefslogtreecommitdiff
path: root/demos/widget-factory
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2014-07-04 15:46:47 -0400
committerMatthias Clasen <mclasen@redhat.com>2014-07-04 15:46:47 -0400
commit5e5ecbbf811bde57d7bacad4f0f0d50bfe51fbae (patch)
tree9e768f3b4c9605bec5d28a7ba3d033a51c27daf2 /demos/widget-factory
parenta1596350209cc0b89bbc6c7f92dc5be604ac4e8f (diff)
downloadgtk+-5e5ecbbf811bde57d7bacad4f0f0d50bfe51fbae.tar.gz
widget-factory: show off needs-attention stack pages
When clicking 'Action' in the 'Act' dialog, we mark the third page as needing attention a second later. This unveils that we currently don't have any theming for needs-attention in Adwaita.
Diffstat (limited to 'demos/widget-factory')
-rw-r--r--demos/widget-factory/widget-factory.c26
-rw-r--r--demos/widget-factory/widget-factory.ui2
2 files changed, 26 insertions, 2 deletions
diff --git a/demos/widget-factory/widget-factory.c b/demos/widget-factory/widget-factory.c
index 9ba633f7e7..041b0b2401 100644
--- a/demos/widget-factory/widget-factory.c
+++ b/demos/widget-factory/widget-factory.c
@@ -75,7 +75,7 @@ activate_about (GSimpleAction *action,
};
gchar *version;
- version = g_strdup_printf ("%s,\nRunning against GTK+ %d.%d.%d",
+ version = g_strdup_printf ("%s\nRunning against GTK+ %d.%d.%d",
PACKAGE_VERSION,
gtk_get_major_version (),
gtk_get_minor_version (),
@@ -283,12 +283,32 @@ close_dialog (GtkWidget *dialog)
gtk_widget_hide (dialog);
}
+static gboolean
+demand_attention (gpointer page)
+{
+ GtkWidget *stack;
+
+ stack = gtk_widget_get_parent (page);
+ gtk_container_child_set (GTK_CONTAINER (stack), page,
+ "needs-attention", TRUE,
+ NULL);
+
+ return G_SOURCE_REMOVE;
+}
+
+static void
+action_dialog_button_clicked (GtkButton *button, GtkWidget *page)
+{
+ g_timeout_add (1000, demand_attention, page);
+}
+
static void
activate (GApplication *app)
{
GtkBuilder *builder;
GtkWindow *window;
GtkWidget *widget;
+ GtkWidget *page;
GtkWidget *dialog;
GtkAdjustment *adj;
static GActionEntry win_entries[] = {
@@ -356,6 +376,10 @@ activate (GApplication *app)
widget = (GtkWidget *)gtk_builder_get_object (builder, "action_dialog_button");
g_signal_connect (widget, "clicked", G_CALLBACK (show_dialog), dialog);
+ widget = (GtkWidget *)gtk_builder_get_object (builder, "act_action_dialog");
+ page = (GtkWidget *)gtk_builder_get_object (builder, "page3_content");
+ g_signal_connect (widget, "clicked", G_CALLBACK (action_dialog_button_clicked), page);
+
dialog = (GtkWidget *)gtk_builder_get_object (builder, "preference_dialog");
g_signal_connect (dialog, "response", G_CALLBACK (close_dialog), NULL);
widget = (GtkWidget *)gtk_builder_get_object (builder, "preference_dialog_button");
diff --git a/demos/widget-factory/widget-factory.ui b/demos/widget-factory/widget-factory.ui
index b0f19177b8..13a3d43b84 100644
--- a/demos/widget-factory/widget-factory.ui
+++ b/demos/widget-factory/widget-factory.ui
@@ -2727,7 +2727,7 @@ Suspendisse feugiat quam quis dolor accumsan cursus. </property>
</packing>
</child>
<child>
- <object class="GtkSpinner">
+ <object class="GtkSpinner" id="page3_content">
<property name="visible">True</property>
<property name="active">True</property>
<property name="expand">True</property>