[gnome-documents] main-view: clear selection when we exit selection mode



commit bb384065d677f8618d1c553fd39c5b0bb32f2d43
Author: Cosimo Cecchi <cosimoc gnome org>
Date:   Mon Mar 12 16:16:58 2012 -0400

    main-view: clear selection when we exit selection mode
    
    Don't keep the selection when selection mode is deactivated.

 src/lib/gd-main-view.c |   24 ++++++++++++++++++++++++
 1 files changed, 24 insertions(+), 0 deletions(-)
---
diff --git a/src/lib/gd-main-view.c b/src/lib/gd-main-view.c
index c82cf3c..7df3d5e 100644
--- a/src/lib/gd-main-view.c
+++ b/src/lib/gd-main-view.c
@@ -532,12 +532,36 @@ gd_main_view_apply_model (GdMainView *self)
   gd_main_view_generic_set_model (generic, self->priv->model);
 }
 
+static gboolean
+clear_selection_list_foreach (GtkTreeModel *model,
+                              GtkTreePath *path,
+                              GtkTreeIter *iter,
+                              gpointer user_data)
+{
+  gboolean is_selected;
+
+  gtk_list_store_set (GTK_LIST_STORE (model), iter,
+                      GD_MAIN_COLUMN_SELECTED, FALSE,
+                      -1);
+
+  return FALSE;
+}
+
 static void
 gd_main_view_apply_selection_mode (GdMainView *self)
 {
   GdMainViewGeneric *generic = get_generic (self);
 
   gd_main_view_generic_set_selection_mode (generic, self->priv->selection_mode);
+
+  if (!self->priv->selection_mode &&
+      self->priv->model != NULL)
+    {
+      gtk_tree_model_foreach (self->priv->model,
+                              clear_selection_list_foreach,
+                              self);
+      g_signal_emit (self, signals[VIEW_SELECTION_CHANGED], 0);
+    }
 }
 
 static void



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