[gnome-photos] main-toolbar: Implement active_changed



commit ecbaa268b4862d8d1993cda7c715f8b1e8e57946
Author: Debarshi Ray <debarshir gnome org>
Date:   Sat Jul 14 23:36:33 2012 +0200

    main-toolbar: Implement active_changed

 src/photos-main-toolbar.c |   30 +++++++++++++++++++++++++++++-
 1 files changed, 29 insertions(+), 1 deletions(-)
---
diff --git a/src/photos-main-toolbar.c b/src/photos-main-toolbar.c
index bc5f986..f3f2c42 100644
--- a/src/photos-main-toolbar.c
+++ b/src/photos-main-toolbar.c
@@ -39,6 +39,7 @@ struct _PhotosMainToolbarPrivate
 {
   ClutterActor *actor;
   ClutterLayoutManager *layout;
+  GtkWidget *coll_back_button;
   GtkWidget *widget;
   PhotosBaseManager *col_mngr;
   PhotosBaseManager *item_mngr;
@@ -127,11 +128,38 @@ photos_main_toolbar_set_toolbar_title (PhotosMainToolbar *self)
 
 
 static void
+photos_main_toolbar_coll_back_button_clicked (GtkButton *button, gpointer user_data)
+{
+  PhotosMainToolbar *self = PHOTOS_MAIN_TOOLBAR (user_data);
+  photos_base_manager_set_active_object (self->priv->col_mngr, NULL);
+}
+
+
+static void
 photos_main_toolbar_active_changed (PhotosBaseManager *manager, GObject *object, gpointer user_data)
 {
   PhotosMainToolbar *self = PHOTOS_MAIN_TOOLBAR (user_data);
+  PhotosMainToolbarPrivate *priv = self->priv;
+  GObject *item;
+
+  item = photos_base_manager_get_active_object (priv->col_mngr);
+  if (item != NULL && priv->coll_back_button == NULL)
+    {
+      priv->coll_back_button = gd_main_toolbar_add_button (GD_MAIN_TOOLBAR (priv->widget),
+                                                           "go-previous-symbolic",
+                                                           _("Back"),
+                                                           TRUE);
+      g_signal_connect (priv->coll_back_button,
+                        "clicked",
+                        G_CALLBACK (photos_main_toolbar_coll_back_button_clicked),
+                        self);
+    }
+  else if (item == NULL && priv->coll_back_button != NULL)
+    {
+      gtk_widget_destroy (priv->coll_back_button);
+      priv->coll_back_button = NULL;
+    }
 
-  photos_main_toolbar_set_toolbar_title (self);
   photos_main_toolbar_set_toolbar_title (self);
 }
 



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