[nautilus/remove-desktop-files-and-links: 5/7] files-view: Remove support for creating website links



commit 36174b2988e4c2d9c5ca9b32395c0dd315b84497
Author: Carlos Soriano <csoriano gnome org>
Date:   Wed May 9 14:46:04 2018 +0200

    files-view: Remove support for creating website links
    
    This might made sense with the desktop...althought not sure how used
    was it.
    
    For Nautilus as an app this probably doesn't make much sense, and
    probably it was not very used...
    
    Remove it so we are a step closer to remove nautilus-link handling.

 src/nautilus-files-view-dnd.c  | 193 -----------------------------------------
 src/nautilus-files-view-dnd.h  |   6 +-
 src/nautilus-list-view.c       |  13 ---
 src/nautilus-window-slot-dnd.c |  24 -----
 4 files changed, 1 insertion(+), 235 deletions(-)
---
diff --git a/src/nautilus-files-view-dnd.c b/src/nautilus-files-view-dnd.c
index dd26582d5..9a3a76b35 100644
--- a/src/nautilus-files-view-dnd.c
+++ b/src/nautilus-files-view-dnd.c
@@ -43,199 +43,6 @@
 #define GET_ANCESTOR(obj) \
     GTK_WINDOW (gtk_widget_get_ancestor (GTK_WIDGET (obj), GTK_TYPE_WINDOW))
 
-typedef struct
-{
-    NautilusFilesView *view;
-    char *link_name;
-    char *target_uri;
-    char *url;
-} NetscapeUrlDropLink;
-
-static void
-revert_slashes (char *string)
-{
-    while (*string != 0)
-    {
-        if (*string == '/')
-        {
-            *string = '\\';
-        }
-        string++;
-    }
-}
-
-static void
-handle_netscape_url_drop_link_cb (GObject      *source_object,
-                                  GAsyncResult *res,
-                                  gpointer      user_data)
-{
-    NetscapeUrlDropLink *data = user_data;
-    char *link_name = data->link_name;
-    char *link_display_name;
-    gint screen_num;
-    GFileInfo *info;
-    char *icon_name = NULL;
-    GdkScreen *screen;
-
-    info = g_file_query_info_finish (G_FILE (source_object),
-                                     res, NULL);
-
-    if (info != NULL)
-    {
-        GIcon *icon;
-        const char * const *names;
-
-        icon = g_file_info_get_icon (info);
-
-        if (G_IS_THEMED_ICON (icon))
-        {
-            names = g_themed_icon_get_names (G_THEMED_ICON (icon));
-            icon_name = g_strdup (names[0]);
-        }
-
-        g_object_unref (info);
-    }
-
-    if (icon_name == NULL)
-    {
-        icon_name = g_strdup ("text-html");
-    }
-
-    link_display_name = g_strdup_printf (_("Link to %s"), link_name);
-
-    /* The filename can't contain slashes, strip em.
-     *  (the basename of http://foo/ is http://foo/) */
-    revert_slashes (link_name);
-
-    screen = gtk_widget_get_screen (GTK_WIDGET (data->view));
-    screen_num = gdk_screen_get_number (screen);
-
-    nautilus_link_local_create (data->target_uri,
-                                link_name,
-                                link_display_name,
-                                icon_name,
-                                data->url,
-                                screen_num,
-                                TRUE);
-
-    g_free (link_display_name);
-    g_free (icon_name);
-
-    g_free (data->url);
-    g_free (data->link_name);
-    g_free (data->target_uri);
-
-    g_object_unref (data->view);
-    g_slice_free (NetscapeUrlDropLink, data);
-}
-
-void
-nautilus_files_view_handle_netscape_url_drop (NautilusFilesView *view,
-                                              const char        *encoded_url,
-                                              const char        *target_uri,
-                                              GdkDragAction      action)
-{
-    char *url, *title;
-    char *link_name;
-    char **bits;
-    GList *uri_list = NULL;
-    GFile *f;
-
-    f = g_file_new_for_uri (target_uri);
-
-    if (!g_file_is_native (f))
-    {
-        show_dialog (_("Drag and drop is not supported."),
-                     _("Drag and drop is only supported on local file systems."),
-                     GET_ANCESTOR (view),
-                     GTK_MESSAGE_WARNING);
-        g_object_unref (f);
-        return;
-    }
-
-    g_object_unref (f);
-
-    /* _NETSCAPE_URL_ works like this: $URL\n$TITLE */
-    bits = g_strsplit (encoded_url, "\n", 0);
-    switch (g_strv_length (bits))
-    {
-        case 0:
-        {
-            g_strfreev (bits);
-            return;
-        }
-
-        case 1:
-        {
-            url = bits[0];
-            title = NULL;
-        }
-        break;
-
-        default:
-            url = bits[0];
-            title = bits[1];
-    }
-
-    f = g_file_new_for_uri (url);
-
-    /* We don't support GDK_ACTION_ASK or GDK_ACTION_PRIVATE
-     * and we don't support combinations either. */
-    if ((action != GDK_ACTION_DEFAULT) &&
-        (action != GDK_ACTION_COPY) &&
-        (action != GDK_ACTION_MOVE) &&
-        (action != GDK_ACTION_LINK))
-    {
-        show_dialog (_("Drag and drop is not supported."),
-                     _("An invalid drag type was used."),
-                     GET_ANCESTOR (view),
-                     GTK_MESSAGE_WARNING);
-        return;
-    }
-
-    if (action == GDK_ACTION_LINK)
-    {
-        if (g_strcmp0 (title, NULL) == 0)
-        {
-            link_name = g_file_get_basename (f);
-        }
-        else
-        {
-            link_name = g_strdup (title);
-        }
-
-        if (g_strcmp0 (link_name, NULL) != 0)
-        {
-            NetscapeUrlDropLink *data;
-
-            data = g_slice_new0 (NetscapeUrlDropLink);
-            data->link_name = link_name;
-            data->view = g_object_ref (view);
-            data->target_uri = g_strdup (target_uri);
-            data->url = g_strdup (url);
-
-            g_file_query_info_async (f,
-                                     G_FILE_ATTRIBUTE_STANDARD_ICON,
-                                     0, 0, NULL,
-                                     handle_netscape_url_drop_link_cb,
-                                     data);
-        }
-    }
-    else
-    {
-        uri_list = g_list_append (uri_list, url);
-
-        nautilus_files_view_move_copy_items (view, uri_list,
-                                             target_uri,
-                                             action);
-
-        g_list_free (uri_list);
-    }
-
-    g_object_unref (f);
-    g_strfreev (bits);
-}
-
 void
 nautilus_files_view_handle_uri_list_drop (NautilusFilesView *view,
                                           const char        *item_uris,
diff --git a/src/nautilus-files-view-dnd.h b/src/nautilus-files-view-dnd.h
index 73ea5c778..9cde15485 100644
--- a/src/nautilus-files-view-dnd.h
+++ b/src/nautilus-files-view-dnd.h
@@ -28,10 +28,6 @@
 
 #include "nautilus-files-view.h"
 
-void nautilus_files_view_handle_netscape_url_drop (NautilusFilesView *view,
-                                                   const char        *encoded_url,
-                                                   const char        *target_uri,
-                                                   GdkDragAction      action);
 void nautilus_files_view_handle_uri_list_drop     (NautilusFilesView *view,
                                                    const char        *item_uris,
                                                    const char        *target_uri,
@@ -52,4 +48,4 @@ void nautilus_files_view_handle_hover             (NautilusFilesView *view,
 void nautilus_files_view_drop_proxy_received_uris (NautilusFilesView *view,
                                                    const GList       *uris,
                                                    const char        *target_location,
-                                                   GdkDragAction      action);
\ No newline at end of file
+                                                   GdkDragAction      action);
diff --git a/src/nautilus-list-view.c b/src/nautilus-list-view.c
index d8a4e9104..012bfd6b3 100644
--- a/src/nautilus-list-view.c
+++ b/src/nautilus-list-view.c
@@ -1275,17 +1275,6 @@ get_file_for_path_callback (NautilusTreeViewDragDest *dest,
     return nautilus_list_model_file_for_path (view->details->model, path);
 }
 
-/* Handles an URL received from Mozilla */
-static void
-list_view_handle_netscape_url (NautilusTreeViewDragDest *dest,
-                               const char               *encoded_url,
-                               const char               *target_uri,
-                               GdkDragAction             action,
-                               NautilusListView         *view)
-{
-    nautilus_files_view_handle_netscape_url_drop (NAUTILUS_FILES_VIEW (view),
-                                                  encoded_url, target_uri, action);
-}
 
 static void
 list_view_handle_uri_list (NautilusTreeViewDragDest *dest,
@@ -2037,8 +2026,6 @@ create_and_set_up_tree_view (NautilusListView *view)
                              "move-copy-items",
                              G_CALLBACK (move_copy_items_callback),
                              view, 0);
-    g_signal_connect_object (view->details->drag_dest, "handle-netscape-url",
-                             G_CALLBACK (list_view_handle_netscape_url), view, 0);
     g_signal_connect_object (view->details->drag_dest, "handle-uri-list",
                              G_CALLBACK (list_view_handle_uri_list), view, 0);
     g_signal_connect_object (view->details->drag_dest, "handle-text",
diff --git a/src/nautilus-window-slot-dnd.c b/src/nautilus-window-slot-dnd.c
index c983debc5..96c5d9cc8 100644
--- a/src/nautilus-window-slot-dnd.c
+++ b/src/nautilus-window-slot-dnd.c
@@ -42,7 +42,6 @@ typedef struct
     {
         GList *selection_list;
         GList *uri_list;
-        char *netscape_url;
         GtkSelectionData *selection_data;
     } data;
 
@@ -248,10 +247,6 @@ slot_proxy_drag_motion (GtkWidget      *widget,
         {
             action = nautilus_drag_default_drop_action_for_uri_list (context, target_uri);
         }
-        else if (drag_info->info == NAUTILUS_ICON_DND_NETSCAPE_URL)
-        {
-            action = nautilus_drag_default_drop_action_for_netscape_url (context);
-        }
         else if (drag_info->info == NAUTILUS_ICON_DND_TEXT)
         {
             valid_text_drag = TRUE;
@@ -311,10 +306,6 @@ drag_info_clear (NautilusDragSlotProxyInfo *drag_info)
     {
         g_list_free (drag_info->data.uri_list);
     }
-    else if (drag_info->info == NAUTILUS_ICON_DND_NETSCAPE_URL)
-    {
-        g_free (drag_info->data.netscape_url);
-    }
     else if (drag_info->info == NAUTILUS_ICON_DND_TEXT ||
              drag_info->info == NAUTILUS_ICON_DND_XDNDDIRECTSAVE ||
              drag_info->info == NAUTILUS_ICON_DND_RAW)
@@ -446,14 +437,6 @@ slot_proxy_handle_drop (GtkWidget                 *widget,
                                                           target_uri,
                                                           gdk_drag_context_get_selected_action (context));
         }
-        if (drag_info->info == NAUTILUS_ICON_DND_NETSCAPE_URL)
-        {
-            nautilus_files_view_handle_netscape_url_drop (target_view,
-                                                          drag_info->data.netscape_url,
-                                                          target_uri,
-                                                          gdk_drag_context_get_selected_action (context));
-        }
-
 
         gtk_drag_finish (context, TRUE, FALSE, time);
     }
@@ -507,12 +490,6 @@ slot_proxy_drag_data_received (GtkWidget        *widget,
 
         drag_info->have_valid_data = drag_info->data.uri_list != NULL;
     }
-    else if (info == NAUTILUS_ICON_DND_NETSCAPE_URL)
-    {
-        drag_info->data.netscape_url = g_strdup ((char *) gtk_selection_data_get_data (data));
-
-        drag_info->have_valid_data = drag_info->data.netscape_url != NULL;
-    }
     else if (info == NAUTILUS_ICON_DND_TEXT ||
              info == NAUTILUS_ICON_DND_XDNDDIRECTSAVE ||
              info == NAUTILUS_ICON_DND_RAW)
@@ -537,7 +514,6 @@ nautilus_drag_slot_proxy_init (GtkWidget          *widget,
     const GtkTargetEntry targets[] =
     {
         { NAUTILUS_ICON_DND_GNOME_ICON_LIST_TYPE, 0, NAUTILUS_ICON_DND_GNOME_ICON_LIST },
-        { NAUTILUS_ICON_DND_NETSCAPE_URL_TYPE, 0, NAUTILUS_ICON_DND_NETSCAPE_URL },
         { NAUTILUS_ICON_DND_XDNDDIRECTSAVE_TYPE, 0, NAUTILUS_ICON_DND_XDNDDIRECTSAVE }, /* XDS Protocol Type 
*/
         { NAUTILUS_ICON_DND_RAW_TYPE, 0, NAUTILUS_ICON_DND_RAW }
     };


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