[gnome-builder/wip/chergert/perspective] prefs: switch to parent stack when stack switcher changes
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/wip/chergert/perspective] prefs: switch to parent stack when stack switcher changes
- Date: Wed, 11 Nov 2015 01:18:53 +0000 (UTC)
commit e4dcb7be7a2abe4ddc25ecba6fd7829bcb9d4ecd
Author: Christian Hergert <christian hergert me>
Date: Tue Nov 10 17:18:48 2015 -0800
prefs: switch to parent stack when stack switcher changes
libide/preferences/ide-preferences-perspective.c | 17 +++++++++++++++++
1 files changed, 17 insertions(+), 0 deletions(-)
---
diff --git a/libide/preferences/ide-preferences-perspective.c
b/libide/preferences/ide-preferences-perspective.c
index f71de85..da83684 100644
--- a/libide/preferences/ide-preferences-perspective.c
+++ b/libide/preferences/ide-preferences-perspective.c
@@ -97,6 +97,17 @@ ide_preferences_perspective_extension_removed (PeasExtensionSet *set,
}
static void
+ide_preferences_perspective_notify_visible_child (IdePreferencesPerspective *self,
+ GParamSpec *pspec,
+ GtkStack *stack)
+{
+ g_assert (IDE_IS_PREFERENCES_PERSPECTIVE (self));
+
+ gtk_stack_set_visible_child (self->top_stack, GTK_WIDGET (self->page_stack));
+ gtk_widget_hide (GTK_WIDGET (self->back_button));
+}
+
+static void
ide_preferences_perspective_constructed (GObject *object)
{
IdePreferencesPerspective *self = (IdePreferencesPerspective *)object;
@@ -176,6 +187,12 @@ ide_preferences_perspective_init (IdePreferencesPerspective *self)
gtk_widget_init_template (GTK_WIDGET (self));
+ g_signal_connect_object (self->page_stack,
+ "notify::visible-child",
+ G_CALLBACK (ide_preferences_perspective_notify_visible_child),
+ self,
+ G_CONNECT_SWAPPED);
+
self->pages = g_sequence_new (NULL);
self->widgets = g_hash_table_new (g_direct_hash, g_direct_equal);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]