[gnome-todo] storage-popover: reset stack on hide



commit 8b4e323e3cac6f49980eeb07b43c3157e5e52e53
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Mon Jul 6 00:20:13 2015 -0300

    storage-popover: reset stack on hide
    
    When the popover is hidden and it's still showing
    the storage selector, go back to the main child.

 data/ui/storage-popover.ui |    1 +
 src/gtd-storage-popover.c  |    9 +++++++++
 2 files changed, 10 insertions(+), 0 deletions(-)
---
diff --git a/data/ui/storage-popover.ui b/data/ui/storage-popover.ui
index ffe025f..c500e51 100644
--- a/data/ui/storage-popover.ui
+++ b/data/ui/storage-popover.ui
@@ -4,6 +4,7 @@
   <template class="GtdStoragePopover" parent="GtkPopover">
     <property name="can_focus">False</property>
     <property name="border_width">18</property>
+    <signal name="closed" handler="gtd_storage_popover__closed" swapped="no" />
     <child>
       <object class="GtkStack" id="stack">
         <property name="visible">True</property>
diff --git a/src/gtd-storage-popover.c b/src/gtd-storage-popover.c
index b8163ac..9119c58 100644
--- a/src/gtd-storage-popover.c
+++ b/src/gtd-storage-popover.c
@@ -84,6 +84,14 @@ clear_and_hide (GtdStoragePopover *popover)
 }
 
 static void
+gtd_storage_popover__closed (GtdStoragePopover *popover)
+{
+  g_return_if_fail (GTD_IS_STORAGE_POPOVER (popover));
+
+  gtk_stack_set_visible_child_name (GTK_STACK (popover->priv->stack), "main");
+}
+
+static void
 gtd_storage_popover__action_button_clicked (GtdStoragePopover *popover,
                                             GtkWidget         *button)
 {
@@ -277,6 +285,7 @@ gtd_storage_popover_class_init (GtdStoragePopoverClass *klass)
 
   gtk_widget_class_bind_template_callback (widget_class, gtd_storage_popover__action_button_clicked);
   gtk_widget_class_bind_template_callback (widget_class, gtd_storage_popover__change_location_clicked);
+  gtk_widget_class_bind_template_callback (widget_class, gtd_storage_popover__closed);
   gtk_widget_class_bind_template_callback (widget_class, gtd_storage_popover__storage_selected);
   gtk_widget_class_bind_template_callback (widget_class, gtd_storage_popover__text_changed_cb);
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]