[epiphany/overview] gd-main-view: Sync with upstream



commit dd27df135a3f88df4a7957d81b929664b68f1fca
Author: Claudio Saavedra <csaavedra igalia com>
Date:   Tue Aug 7 17:56:44 2012 +0300

    gd-main-view: Sync with upstream

 lib/widgets/gd-main-view-generic.c |    2 +-
 lib/widgets/gd-main-view-generic.h |   10 +++---
 lib/widgets/gd-main-view.c         |   50 ++++++++++++++++++------------------
 3 files changed, 31 insertions(+), 31 deletions(-)
---
diff --git a/lib/widgets/gd-main-view-generic.c b/lib/widgets/gd-main-view-generic.c
index 190eb61..100ffd3 100644
--- a/lib/widgets/gd-main-view-generic.c
+++ b/lib/widgets/gd-main-view-generic.c
@@ -53,7 +53,7 @@ gd_main_view_generic_default_init (GdMainViewGenericInterface *iface)
  */
 void
 gd_main_view_generic_set_model (GdMainViewGeneric *self,
-                        GtkTreeModel *model)
+                                GtkTreeModel *model)
 {
   GdMainViewGenericInterface *iface;
 
diff --git a/lib/widgets/gd-main-view-generic.h b/lib/widgets/gd-main-view-generic.h
index 3dee4dd..efaf848 100644
--- a/lib/widgets/gd-main-view-generic.h
+++ b/lib/widgets/gd-main-view-generic.h
@@ -58,18 +58,18 @@ struct _GdMainViewGenericIface
   GTypeInterface base_iface;
 
   /* signals */
-  void          (* selection_changed)    (GdMainViewGeneric  *view);
+  void          (* selection_changed)    (GdMainViewGeneric  *self);
 
   /* vtable */
-  void          (* set_model)            (GdMainViewGeneric  *view,
+  void          (* set_model)            (GdMainViewGeneric  *self,
                                           GtkTreeModel       *model);
 
-  GtkTreePath * (* get_path_at_pos)      (GdMainViewGeneric *view,
+  GtkTreePath * (* get_path_at_pos)      (GdMainViewGeneric *self,
                                           gint               x, 
                                           gint               y);
-  void          (* scroll_to_path)       (GdMainViewGeneric *view,
+  void          (* scroll_to_path)       (GdMainViewGeneric *self,
                                           GtkTreePath       *path);
-  void          (* set_selection_mode)   (GdMainViewGeneric *view,
+  void          (* set_selection_mode)   (GdMainViewGeneric *self,
                                           gboolean           selection_mode);
 };
 
diff --git a/lib/widgets/gd-main-view.c b/lib/widgets/gd-main-view.c
index 93afeff..6698426 100644
--- a/lib/widgets/gd-main-view.c
+++ b/lib/widgets/gd-main-view.c
@@ -35,8 +35,7 @@ struct _GdMainViewPrivate {
   GtkWidget *current_view;
   GtkTreeModel *model;
 
-  gdouble button_press_x;
-  gdouble button_press_y;
+  gchar *button_press_item_path;
 };
 
 enum {
@@ -70,6 +69,16 @@ gd_main_view_dispose (GObject *obj)
 }
 
 static void
+gd_main_view_finalize (GObject *obj)
+{
+  GdMainView *self = GD_MAIN_VIEW (obj);
+
+  g_free (self->priv->button_press_item_path);
+
+  G_OBJECT_CLASS (gd_main_view_parent_class)->finalize (obj);
+}
+
+static void
 gd_main_view_init (GdMainView *self)
 {
   GtkStyleContext *context;
@@ -169,6 +178,7 @@ gd_main_view_class_init (GdMainViewClass *klass)
   oclass->get_property = gd_main_view_get_property;
   oclass->set_property = gd_main_view_set_property;
   oclass->dispose = gd_main_view_dispose;
+  oclass->finalize = gd_main_view_finalize;
 
   klass->item_deleted = gd_main_view_real_item_deleted;
 
@@ -402,6 +412,7 @@ on_button_release_event (GtkWidget *view,
   GdMainView *self = user_data;
   GdMainViewGeneric *generic = get_generic (self);
   GtkTreePath *path;
+  gchar *button_release_item_path;
   gboolean entered_mode = FALSE, selection_mode;
   gboolean res, same_item = FALSE;
 
@@ -413,12 +424,15 @@ on_button_release_event (GtkWidget *view,
 
   if (path != NULL)
     {
-      if (event->x == self->priv->button_press_x &&
-          event->y == self->priv->button_press_y)
+      button_release_item_path = gtk_tree_path_to_string (path);
+      if (g_strcmp0 (self->priv->button_press_item_path, button_release_item_path) == 0)
         same_item = TRUE;
+
+      g_free (button_release_item_path);
     }
 
-  self->priv->button_press_x = self->priv->button_press_y = 0;
+  g_free (self->priv->button_press_item_path);
+  self->priv->button_press_item_path = NULL;
 
   if (!same_item)
     {
@@ -460,21 +474,11 @@ on_button_press_event (GtkWidget *view,
   GList *selection, *l;
   GtkTreePath *sel_path;
   gboolean found = FALSE;
-  gdouble event_x = 0, event_y = 0;
-
-  self->priv->button_press_x = event->x;
-  self->priv->button_press_y = event->y;
 
   path = gd_main_view_generic_get_path_at_pos (generic, event->x, event->y);
 
   if (path != NULL)
-    {
-      event_x = event->x;
-      event_y = event->y;
-    }
-
-  self->priv->button_press_x = event_x;
-  self->priv->button_press_y = event_y;
+    self->priv->button_press_item_path = gtk_tree_path_to_string (path);
 
   if (!self->priv->selection_mode ||
       path == NULL)
@@ -510,18 +514,15 @@ on_drag_begin (GdMainViewGeneric *generic,
                gpointer user_data)
 {
   GdMainView *self = user_data;
-  GtkTreePath *path;
 
-  path = gd_main_view_generic_get_path_at_pos (generic,
-                                               self->priv->button_press_x,
-                                               self->priv->button_press_y);
-
-  if (path != NULL)
+  if (self->priv->button_press_item_path != NULL)
     {
       gboolean res;
       GtkTreeIter iter;
       GdkPixbuf *icon = NULL;
+      GtkTreePath *path;
 
+      path = gtk_tree_path_new_from_string (self->priv->button_press_item_path);
       res = gtk_tree_model_get_iter (self->priv->model,
                                      &iter, path);
       if (res)
@@ -564,7 +565,8 @@ on_delete_item_clicked (GdMainViewGeneric *generic,
                         const gchar *path,
                         GdMainView *self)
 {
-  self->priv->button_press_x = self->priv->button_press_y = 0;
+  g_free (self->priv->button_press_item_path);
+  self->priv->button_press_item_path = NULL;
 
   gd_main_view_item_deleted (self, path);
 }
@@ -582,8 +584,6 @@ clear_selection_list_foreach (GtkTreeModel *model,
                               GtkTreeIter *iter,
                               gpointer user_data)
 {
-  gboolean is_selected;
-
   gtk_list_store_set (GTK_LIST_STORE (model), iter,
                       GD_MAIN_COLUMN_SELECTED, FALSE,
                       -1);



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