[maemo-commits] [maemo-commits] r15454 - in projects/haf/trunk/hildon-fm: . debian hildon-fm

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Thu Apr 17 14:30:59 EEST 2008
Author: kihamala
Date: 2008-04-17 14:30:56 +0300 (Thu, 17 Apr 2008)
New Revision: 15454

Modified:
   projects/haf/trunk/hildon-fm/ChangeLog
   projects/haf/trunk/hildon-fm/debian/changelog
   projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-selection.c
Log:
added "currently-dragging" property


Modified: projects/haf/trunk/hildon-fm/ChangeLog
===================================================================
--- projects/haf/trunk/hildon-fm/ChangeLog	2008-04-17 06:04:11 UTC (rev 15453)
+++ projects/haf/trunk/hildon-fm/ChangeLog	2008-04-17 11:30:56 UTC (rev 15454)
@@ -1,3 +1,16 @@
+2008-04-17  Kimmo Hämäläinen  <kimmo.hamalainen at nokia.com>
+
+	* hildon-fm/hildon-file-selection.c: Add new property PROP_DRAGGING
+	and currently_dragging member for it to _HildonFileSelectionPrivate
+	struct.
+	(hildon_file_selection_get_property): Add PROP_DRAGGING.
+	(hildon_file_selection_set_property): Add PROP_DRAGGING.
+	(hildon_file_selection_class_init): Add "currently-dragging" property.
+	(drag_begin): Set currently_dragging to TRUE.
+	(drag_end): New function. Set currently_dragging to FALSE.
+	(hildon_file_selection_setup_dnd_view): Connect drag_end() to
+	"drag-end" signal. Related to NB#83827
+
 2008-04-03  Marius Vollmer  <marius.vollmer at nokia.com>
 
 	* hildon-fm/hildon-file-selection.c

Modified: projects/haf/trunk/hildon-fm/debian/changelog
===================================================================
--- projects/haf/trunk/hildon-fm/debian/changelog	2008-04-17 06:04:11 UTC (rev 15453)
+++ projects/haf/trunk/hildon-fm/debian/changelog	2008-04-17 11:30:56 UTC (rev 15454)
@@ -1,6 +1,8 @@
 libhildonfm (1:2.0.3~unreleased) unstable; urgency=low
 
   * Fixes: NB#79697, NB#77225.
+  * Add "currently-dragging" property to HildonFileSelection. Related to
+    NB#83827
 
  -- Marius Vollmer <marius.vollmer at nokia.com>  Thu, 03 Apr 2008 19:07:54 +0300
 

Modified: projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-selection.c
===================================================================
--- projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-selection.c	2008-04-17 06:04:11 UTC (rev 15453)
+++ projects/haf/trunk/hildon-fm/hildon-fm/hildon-file-selection.c	2008-04-17 11:30:56 UTC (rev 15454)
@@ -129,7 +129,8 @@
     PROP_SAFE_FOLDER,
     PROP_ACTIVE_PANE,
     PROP_SHOW_UPNP,
-    PROP_PANE_POSITION
+    PROP_PANE_POSITION,
+    PROP_DRAGGING
 };
 
 struct _HildonFileSelectionPrivate {
@@ -184,6 +185,7 @@
     gboolean local_only;
     gboolean show_hidden;
     gboolean show_upnp;
+    gboolean currently_dragging;
     GtkFilePath *safe_folder;
 
     gchar **drag_data_uris;
@@ -933,7 +935,9 @@
       gtk_paned_set_position (GTK_PANED (priv->hpaned), 
 			      g_value_get_int (value));
       break;
-
+    case PROP_DRAGGING:
+      ULOG_ERR_F("PROP_DRAGGING is a read-only property");
+      break;
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec);
         break;
@@ -980,6 +984,9 @@
         g_value_set_int (value, 
 			 gtk_paned_get_position (GTK_PANED (priv->hpaned)));
 	break;
+    case PROP_DRAGGING:
+	g_value_set_boolean(value, priv->currently_dragging);
+	break;
     default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec);
         break;
@@ -1202,6 +1209,11 @@
 			"the both panes",
                         0, INT_MAX, 250,
 			G_PARAM_CONSTRUCT | G_PARAM_READWRITE));
+
+    g_object_class_install_property(object, PROP_DRAGGING,
+      g_param_spec_boolean("currently-dragging", "Currently dragging",
+                           "Whether or not dragging is ongoing",
+                           FALSE, G_PARAM_READABLE));
 }
 
 static gboolean
@@ -2725,6 +2737,8 @@
 
     /* We do not want GtkTreeView to create the default drag cursor */
     g_signal_stop_emission_by_name(widget, "drag-begin");
+
+    self->priv->currently_dragging = TRUE;
 }
 
 static void drag_data_get(GtkWidget * widget,
@@ -2839,6 +2853,14 @@
     return valid_location;
 }
 
+static void drag_end(GtkWidget *widget, GdkDragContext *context,
+                     gpointer user_data)
+{
+  HildonFileSelectionPrivate *priv;
+  priv = HILDON_FILE_SELECTION(user_data)->priv;
+  priv->currently_dragging = FALSE;
+}
+
 static gboolean drag_drop(GtkWidget *widget, GdkDragContext *context,
   gint x, gint y, guint time, gpointer user_data)
 {
@@ -2888,6 +2910,8 @@
     g_signal_connect_object(view, "drag-drop", G_CALLBACK(drag_drop),
       self, G_CONNECT_AFTER);
 
+    g_signal_connect_object(view, "drag-end", G_CALLBACK(drag_end), self, 0);
+
     /* We don't connect "drag-data-delete", because file system
        notifications tell us about what to update */
     /* g_signal_connect(view, "drag-data-delete",


More information about the maemo-commits mailing list