summaryrefslogtreecommitdiff
path: root/src/nautilus-directory-async.c
diff options
context:
space:
mode:
authorCarlos Soriano <csoriano@gnome.org>2018-05-09 15:20:23 +0200
committerCarlos Soriano <csoriano1618@gmail.com>2018-05-09 14:24:19 +0000
commitb1cb977812054a45bb10a4b297871a25ad3262d9 (patch)
tree833cd0a173fbab31223f5238d3cfb4c8ac7df667 /src/nautilus-directory-async.c
parent0e0f5b9a338aa30dbafa75b61ba74b1b5df52193 (diff)
downloadnautilus-b1cb977812054a45bb10a4b297871a25ad3262d9.tar.gz
general: Remove NautilusLink
It was used for desktop files, netscape url links and other links. However this is not really useful anymore with the desktop gone, so it makes sense to remove it from Nautilus and have a big clean up. This also was one of the blockers for the backend rework.
Diffstat (limited to 'src/nautilus-directory-async.c')
-rw-r--r--src/nautilus-directory-async.c298
1 files changed, 0 insertions, 298 deletions
diff --git a/src/nautilus-directory-async.c b/src/nautilus-directory-async.c
index 91305a7cb..ab3f0dc32 100644
--- a/src/nautilus-directory-async.c
+++ b/src/nautilus-directory-async.c
@@ -28,7 +28,6 @@
#include "nautilus-file-utilities.h"
#include "nautilus-signaller.h"
#include "nautilus-global-preferences.h"
-#include "nautilus-link.h"
#include "nautilus-profile.h"
#include "nautilus-metadata.h"
#include <eel/eel-glib-extensions.h>
@@ -47,13 +46,6 @@
/* Keep async. jobs down to this number for all directories. */
#define MAX_ASYNC_JOBS 10
-struct LinkInfoReadState
-{
- NautilusDirectory *directory;
- GCancellable *cancellable;
- NautilusFile *file;
-};
-
struct ThumbnailState
{
NautilusDirectory *directory;
@@ -181,12 +173,6 @@ static gboolean request_is_satisfied (NautilusDirectory *directory,
static void cancel_loading_attributes (NautilusDirectory *directory,
NautilusFileAttributes file_attributes);
static void add_all_files_to_work_queue (NautilusDirectory *directory);
-static void link_info_done (NautilusDirectory *directory,
- NautilusFile *file,
- const char *uri,
- const char *name,
- GIcon *icon,
- gboolean is_launcher);
static void move_file_to_low_priority_queue (NautilusDirectory *directory,
NautilusFile *file);
static void move_file_to_extension_queue (NautilusDirectory *directory,
@@ -532,18 +518,6 @@ mime_list_cancel (NautilusDirectory *directory)
}
static void
-link_info_cancel (NautilusDirectory *directory)
-{
- if (directory->details->link_info_read_state != NULL)
- {
- g_cancellable_cancel (directory->details->link_info_read_state->cancellable);
- directory->details->link_info_read_state->directory = NULL;
- directory->details->link_info_read_state = NULL;
- async_job_end (directory, "link info");
- }
-}
-
-static void
thumbnail_cancel (NautilusDirectory *directory)
{
if (directory->details->thumbnail_state != NULL)
@@ -698,12 +672,6 @@ nautilus_directory_set_up_request (NautilusFileAttributes file_attributes)
REQUEST_SET_TYPE (request, REQUEST_FILE_INFO);
}
- if (file_attributes & NAUTILUS_FILE_ATTRIBUTE_LINK_INFO)
- {
- REQUEST_SET_TYPE (request, REQUEST_FILE_INFO);
- REQUEST_SET_TYPE (request, REQUEST_LINK_INFO);
- }
-
if ((file_attributes & NAUTILUS_FILE_ATTRIBUTE_EXTENSION_INFO) != 0)
{
REQUEST_SET_TYPE (request, REQUEST_EXTENSION_INFO);
@@ -739,7 +707,6 @@ mime_db_changed_callback (GObject *ignore,
g_assert (dir->details != NULL);
attrs = NAUTILUS_FILE_ATTRIBUTE_INFO |
- NAUTILUS_FILE_ATTRIBUTE_LINK_INFO |
NAUTILUS_FILE_ATTRIBUTE_DIRECTORY_ITEM_MIME_TYPES;
nautilus_directory_force_reload_internal (dir, attrs);
@@ -1703,12 +1670,6 @@ nautilus_async_destroying_file (NautilusFile *file)
directory->details->get_info_file = NULL;
changed = TRUE;
}
- if (directory->details->link_info_read_state != NULL &&
- directory->details->link_info_read_state->file == file)
- {
- directory->details->link_info_read_state->file = NULL;
- changed = TRUE;
- }
if (directory->details->extension_info_file == file)
{
directory->details->extension_info_file = NULL;
@@ -1790,28 +1751,6 @@ should_get_mime_list (NautilusFile *file)
}
static gboolean
-lacks_link_info (NautilusFile *file)
-{
- if (file->details->file_info_is_up_to_date &&
- !file->details->link_info_is_up_to_date)
- {
- if (nautilus_file_is_nautilus_link (file))
- {
- return TRUE;
- }
- else
- {
- link_info_done (file->details->directory, file, NULL, NULL, NULL, FALSE);
- return FALSE;
- }
- }
- else
- {
- return FALSE;
- }
-}
-
-static gboolean
lacks_extension_info (NautilusFile *file)
{
return file->details->pending_info_providers != NULL;
@@ -1935,14 +1874,6 @@ request_is_satisfied (NautilusDirectory *directory,
}
}
- if (REQUEST_WANTS_TYPE (request, REQUEST_LINK_INFO))
- {
- if (has_problem (directory, file, lacks_link_info))
- {
- return FALSE;
- }
- }
-
return TRUE;
}
@@ -3542,211 +3473,6 @@ file_info_start (NautilusDirectory *directory,
}
static void
-link_info_done (NautilusDirectory *directory,
- NautilusFile *file,
- const char *uri,
- const char *name,
- GIcon *icon,
- gboolean is_launcher)
-{
- file->details->link_info_is_up_to_date = TRUE;
- file->details->got_link_info = TRUE;
- g_clear_object (&file->details->custom_icon);
-
- if (uri)
- {
- g_free (file->details->activation_uri);
- file->details->activation_uri = NULL;
- file->details->got_custom_activation_uri = TRUE;
- file->details->activation_uri = g_strdup (uri);
- }
- if (icon != NULL)
- {
- file->details->custom_icon = g_object_ref (icon);
- }
- file->details->is_launcher = is_launcher;
-
- nautilus_directory_async_state_changed (directory);
-}
-
-static void
-link_info_stop (NautilusDirectory *directory)
-{
- NautilusFile *file;
-
- if (directory->details->link_info_read_state != NULL)
- {
- file = directory->details->link_info_read_state->file;
-
- if (file != NULL)
- {
- g_assert (NAUTILUS_IS_FILE (file));
- g_assert (file->details->directory == directory);
- if (is_needy (file,
- lacks_link_info,
- REQUEST_LINK_INFO))
- {
- return;
- }
- }
-
- /* The link info is not wanted, so stop it. */
- link_info_cancel (directory);
- }
-}
-
-static void
-link_info_got_data (NautilusDirectory *directory,
- NautilusFile *file,
- gboolean result,
- goffset bytes_read,
- char *file_contents)
-{
- char *link_uri, *uri, *name;
- GIcon *icon;
- gboolean is_launcher;
-
- nautilus_directory_ref (directory);
-
- uri = NULL;
- name = NULL;
- icon = NULL;
- is_launcher = FALSE;
-
- /* Handle the case where we read the Nautilus link. */
- if (result)
- {
- link_uri = nautilus_file_get_uri (file);
- nautilus_link_get_link_info_given_file_contents (file_contents, bytes_read, link_uri,
- &uri, &name, &icon, &is_launcher);
- g_free (link_uri);
- }
- else
- {
- /* FIXME bugzilla.gnome.org 42433: We should report this error to the user. */
- }
-
- nautilus_file_ref (file);
- link_info_done (directory, file, uri, name, icon, is_launcher);
- nautilus_file_changed (file);
- nautilus_file_unref (file);
-
- g_free (uri);
- g_free (name);
-
- if (icon != NULL)
- {
- g_object_unref (icon);
- }
-
- nautilus_directory_unref (directory);
-}
-
-static void
-link_info_read_state_free (LinkInfoReadState *state)
-{
- g_object_unref (state->cancellable);
- g_free (state);
-}
-
-static void
-link_info_nautilus_link_read_callback (GObject *source_object,
- GAsyncResult *res,
- gpointer user_data)
-{
- LinkInfoReadState *state;
- gsize file_size;
- char *file_contents;
- gboolean result;
- NautilusDirectory *directory;
-
- state = user_data;
-
- if (state->directory == NULL)
- {
- /* Operation was cancelled. Bail out */
- link_info_read_state_free (state);
- return;
- }
-
- directory = nautilus_directory_ref (state->directory);
-
- result = g_file_load_contents_finish (G_FILE (source_object),
- res,
- &file_contents, &file_size,
- NULL, NULL);
-
- state->directory->details->link_info_read_state = NULL;
- async_job_end (state->directory, "link info");
-
- link_info_got_data (state->directory, state->file, result, file_size, file_contents);
-
- if (result)
- {
- g_free (file_contents);
- }
-
- link_info_read_state_free (state);
-
- nautilus_directory_unref (directory);
-}
-
-static void
-link_info_start (NautilusDirectory *directory,
- NautilusFile *file,
- gboolean *doing_io)
-{
- GFile *location;
- gboolean nautilus_style_link;
- LinkInfoReadState *state;
-
- if (directory->details->link_info_read_state != NULL)
- {
- *doing_io = TRUE;
- return;
- }
-
- if (!is_needy (file,
- lacks_link_info,
- REQUEST_LINK_INFO))
- {
- return;
- }
- *doing_io = TRUE;
-
- /* Figure out if it is a link. */
- nautilus_style_link = nautilus_file_is_nautilus_link (file);
- location = nautilus_file_get_location (file);
-
- /* If it's not a link we are done. If it is, we need to read it. */
- if (!nautilus_style_link)
- {
- link_info_done (directory, file, NULL, NULL, NULL, FALSE);
- }
- else
- {
- if (!async_job_start (directory, "link info"))
- {
- g_object_unref (location);
- return;
- }
-
- state = g_new0 (LinkInfoReadState, 1);
- state->directory = directory;
- state->file = file;
- state->cancellable = g_cancellable_new ();
-
- directory->details->link_info_read_state = state;
-
- g_file_load_contents_async (location,
- state->cancellable,
- link_info_nautilus_link_read_callback,
- state);
- }
- g_object_unref (location);
-}
-
-static void
thumbnail_done (NautilusDirectory *directory,
NautilusFile *file,
GdkPixbuf *pixbuf)
@@ -4563,7 +4289,6 @@ start_or_stop_io (NautilusDirectory *directory)
directory_count_stop (directory);
deep_count_stop (directory);
mime_list_stop (directory);
- link_info_stop (directory);
extension_info_stop (directory);
mount_stop (directory);
thumbnail_stop (directory);
@@ -4577,7 +4302,6 @@ start_or_stop_io (NautilusDirectory *directory)
/* Start getting attributes if possible */
file_info_start (directory, file, &doing_io);
- link_info_start (directory, file, &doing_io);
if (doing_io)
{
@@ -4670,7 +4394,6 @@ nautilus_directory_cancel (NautilusDirectory *directory)
directory_count_cancel (directory);
file_info_cancel (directory);
file_list_cancel (directory);
- link_info_cancel (directory);
mime_list_cancel (directory);
new_files_cancel (directory);
extension_info_cancel (directory);
@@ -4764,18 +4487,6 @@ cancel_filesystem_info_for_file (NautilusDirectory *directory,
}
static void
-cancel_link_info_for_file (NautilusDirectory *directory,
- NautilusFile *file)
-{
- if (directory->details->link_info_read_state != NULL &&
- directory->details->link_info_read_state->file == file)
- {
- link_info_cancel (directory);
- }
-}
-
-
-static void
cancel_loading_attributes (NautilusDirectory *directory,
NautilusFileAttributes file_attributes)
{
@@ -4803,11 +4514,6 @@ cancel_loading_attributes (NautilusDirectory *directory,
{
filesystem_info_cancel (directory);
}
- if (REQUEST_WANTS_TYPE (request, REQUEST_LINK_INFO))
- {
- link_info_cancel (directory);
- }
-
if (REQUEST_WANTS_TYPE (request, REQUEST_EXTENSION_INFO))
{
extension_info_cancel (directory);
@@ -4857,10 +4563,6 @@ nautilus_directory_cancel_loading_file_attributes (NautilusDirectory *direc
{
cancel_filesystem_info_for_file (directory, file);
}
- if (REQUEST_WANTS_TYPE (request, REQUEST_LINK_INFO))
- {
- cancel_link_info_for_file (directory, file);
- }
if (REQUEST_WANTS_TYPE (request, REQUEST_THUMBNAIL))
{
cancel_thumbnail_for_file (directory, file);