[nautilus/wip/csoriano/temp: 1/2] pathbar: Remove dnd handling



commit 9130cc81af3b1127ccfc534b0b0eeea9c36c4014
Author: Carlos Soriano <csoriano gnome org>
Date:   Wed Mar 29 13:39:48 2017 +0200

    pathbar: Remove dnd handling
    
    So users can drag the window from the buttons of the pathbar too, as it
    seems it's more important feature for them instead of dnd the path in
    the pathbar, which is also quite undiscoverable.

 src/nautilus-pathbar.c |  177 ------------------------------------------------
 1 files changed, 0 insertions(+), 177 deletions(-)
---
diff --git a/src/nautilus-pathbar.c b/src/nautilus-pathbar.c
index 35eaf30..b5e0d65 100644
--- a/src/nautilus-pathbar.c
+++ b/src/nautilus-pathbar.c
@@ -94,9 +94,6 @@ struct _NautilusPathBarDetails
     guint need_timer : 1;
     guint ignore_click : 1;
 
-    unsigned int drag_slider_timeout;
-    gboolean drag_slider_timeout_for_up_button;
-
     GActionGroup *action_group;
 
     GMenu *context_menu;
@@ -229,76 +226,6 @@ get_slider_button (NautilusPathBar *path_bar,
     return button;
 }
 
-static gboolean
-slider_timeout (gpointer user_data)
-{
-    NautilusPathBar *path_bar;
-
-    path_bar = NAUTILUS_PATH_BAR (user_data);
-
-    path_bar->priv->drag_slider_timeout = 0;
-
-    if (gtk_widget_get_visible (GTK_WIDGET (path_bar)))
-    {
-        if (path_bar->priv->drag_slider_timeout_for_up_button)
-        {
-            nautilus_path_bar_scroll_up (path_bar);
-        }
-        else
-        {
-            nautilus_path_bar_scroll_down (path_bar);
-        }
-    }
-
-    return FALSE;
-}
-
-static void
-nautilus_path_bar_slider_drag_motion (GtkWidget      *widget,
-                                      GdkDragContext *context,
-                                      int             x,
-                                      int             y,
-                                      unsigned int    time,
-                                      gpointer        user_data)
-{
-    NautilusPathBar *path_bar;
-    GtkSettings *settings;
-    unsigned int timeout;
-
-    path_bar = NAUTILUS_PATH_BAR (user_data);
-
-    if (path_bar->priv->drag_slider_timeout == 0)
-    {
-        settings = gtk_widget_get_settings (widget);
-
-        g_object_get (settings, "gtk-timeout-expand", &timeout, NULL);
-        path_bar->priv->drag_slider_timeout =
-            g_timeout_add (timeout,
-                           slider_timeout,
-                           path_bar);
-
-        path_bar->priv->drag_slider_timeout_for_up_button =
-            widget == path_bar->priv->up_slider_button;
-    }
-}
-
-static void
-nautilus_path_bar_slider_drag_leave (GtkWidget      *widget,
-                                     GdkDragContext *context,
-                                     unsigned int    time,
-                                     gpointer        user_data)
-{
-    NautilusPathBar *path_bar;
-
-    path_bar = NAUTILUS_PATH_BAR (user_data);
-
-    if (path_bar->priv->drag_slider_timeout != 0)
-    {
-        g_source_remove (path_bar->priv->drag_slider_timeout);
-        path_bar->priv->drag_slider_timeout = 0;
-    }
-}
-
 static void
 nautilus_path_bar_init (NautilusPathBar *path_bar)
 {
@@ -339,30 +266,6 @@ nautilus_path_bar_init (NautilusPathBar *path_bar)
     g_signal_connect (path_bar->priv->down_slider_button, "button-press-event", G_CALLBACK 
(nautilus_path_bar_slider_button_press), path_bar);
     g_signal_connect (path_bar->priv->down_slider_button, "button-release-event", G_CALLBACK 
(nautilus_path_bar_slider_button_release), path_bar);
 
-    gtk_drag_dest_set (GTK_WIDGET (path_bar->priv->up_slider_button),
-                       0, NULL, 0, 0);
-    gtk_drag_dest_set_track_motion (GTK_WIDGET (path_bar->priv->up_slider_button), TRUE);
-    g_signal_connect (path_bar->priv->up_slider_button,
-                      "drag-motion",
-                      G_CALLBACK (nautilus_path_bar_slider_drag_motion),
-                      path_bar);
-    g_signal_connect (path_bar->priv->up_slider_button,
-                      "drag-leave",
-                      G_CALLBACK (nautilus_path_bar_slider_drag_leave),
-                      path_bar);
-
-    gtk_drag_dest_set (GTK_WIDGET (path_bar->priv->down_slider_button),
-                       0, NULL, 0, 0);
-    gtk_drag_dest_set_track_motion (GTK_WIDGET (path_bar->priv->down_slider_button), TRUE);
-    g_signal_connect (path_bar->priv->down_slider_button,
-                      "drag-motion",
-                      G_CALLBACK (nautilus_path_bar_slider_drag_motion),
-                      path_bar);
-    g_signal_connect (path_bar->priv->down_slider_button,
-                      "drag-leave",
-                      G_CALLBACK (nautilus_path_bar_slider_drag_leave),
-                      path_bar);
-
     gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET (path_bar)),
                                  GTK_STYLE_CLASS_LINKED);
     gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET (path_bar)),
@@ -378,12 +281,6 @@ nautilus_path_bar_finalize (GObject *object)
 
     nautilus_path_bar_stop_scrolling (path_bar);
 
-    if (path_bar->priv->drag_slider_timeout != 0)
-    {
-        g_source_remove (path_bar->priv->drag_slider_timeout);
-        path_bar->priv->drag_slider_timeout = 0;
-    }
-
     g_list_free (path_bar->priv->button_list);
 
     unschedule_pop_up_context_menu (NAUTILUS_PATH_BAR (object));
@@ -1666,15 +1563,6 @@ button_event_cb (GtkWidget      *button,
     return FALSE;
 }
 
-static void
-button_drag_begin_cb (GtkWidget      *widget,
-                      GdkDragContext *drag_context,
-                      gpointer        user_data)
-{
-    g_object_set_data (G_OBJECT (widget), "handle-button-release",
-                       GINT_TO_POINTER (FALSE));
-}
-
 static GIcon *
 get_gicon_for_mount (ButtonData *button_data)
 {
@@ -1839,66 +1727,6 @@ setup_button_type (ButtonData      *button_data,
 }
 
 static void
-button_drag_data_get_cb (GtkWidget        *widget,
-                         GdkDragContext   *context,
-                         GtkSelectionData *selection_data,
-                         guint             info,
-                         guint             time_,
-                         gpointer          user_data)
-{
-    ButtonData *button_data;
-    char *uri_list[2];
-    char *tmp;
-
-    button_data = user_data;
-
-    uri_list[0] = g_file_get_uri (button_data->path);
-    uri_list[1] = NULL;
-
-    if (info == NAUTILUS_ICON_DND_GNOME_ICON_LIST)
-    {
-        tmp = g_strdup_printf ("%s\r\n", uri_list[0]);
-        gtk_selection_data_set (selection_data, gtk_selection_data_get_target (selection_data),
-                                8, (const guchar *) tmp, strlen (tmp));
-        g_free (tmp);
-    }
-    else if (info == NAUTILUS_ICON_DND_URI_LIST)
-    {
-        gtk_selection_data_set_uris (selection_data, uri_list);
-    }
-
-    g_free (uri_list[0]);
-}
-
-static void
-setup_button_drag_source (ButtonData *button_data)
-{
-    GtkTargetList *target_list;
-    const GtkTargetEntry targets[] =
-    {
-        { NAUTILUS_ICON_DND_GNOME_ICON_LIST_TYPE, 0, NAUTILUS_ICON_DND_GNOME_ICON_LIST }
-    };
-
-    gtk_drag_source_set (button_data->button,
-                         GDK_BUTTON1_MASK |
-                         GDK_BUTTON2_MASK,
-                         NULL, 0,
-                         GDK_ACTION_MOVE |
-                         GDK_ACTION_COPY |
-                         GDK_ACTION_LINK |
-                         GDK_ACTION_ASK);
-
-    target_list = gtk_target_list_new (targets, G_N_ELEMENTS (targets));
-    gtk_target_list_add_uri_targets (target_list, NAUTILUS_ICON_DND_URI_LIST);
-    gtk_drag_source_set_target_list (button_data->button, target_list);
-    gtk_target_list_unref (target_list);
-
-    g_signal_connect (button_data->button, "drag-data-get",
-                      G_CALLBACK (button_drag_data_get_cb),
-                      button_data);
-}
-
-static void
 button_data_file_changed (NautilusFile *file,
                           ButtonData   *button_data)
 {
@@ -2109,13 +1937,8 @@ make_button_data (NautilusPathBar *path_bar,
     g_signal_connect (button_data->button, "clicked", G_CALLBACK (button_clicked_cb), button_data);
     g_signal_connect (button_data->button, "button-press-event", G_CALLBACK (button_event_cb), button_data);
     g_signal_connect (button_data->button, "button-release-event", G_CALLBACK (button_event_cb), 
button_data);
-    g_signal_connect (button_data->button, "drag-begin", G_CALLBACK (button_drag_begin_cb), button_data);
     g_object_weak_ref (G_OBJECT (button_data->button), (GWeakNotify) button_data_free, button_data);
 
-    setup_button_drag_source (button_data);
-
-    nautilus_drag_slot_proxy_init (button_data->button, button_data->file, NULL);
-
     g_object_unref (path);
 
     return button_data;


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