summaryrefslogtreecommitdiff
path: root/src-ng/nautilus-file.c
diff options
context:
space:
mode:
Diffstat (limited to 'src-ng/nautilus-file.c')
-rw-r--r--src-ng/nautilus-file.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/src-ng/nautilus-file.c b/src-ng/nautilus-file.c
index 8cac9b0ae..9701be12b 100644
--- a/src-ng/nautilus-file.c
+++ b/src-ng/nautilus-file.c
@@ -23,6 +23,7 @@
#include "nautilus-file-table.h"
#include "nautilus-task-manager.h"
#include "tasks/nautilus-attribute-task.h"
+#include "tasks/nautilus-thumbnail-task.h"
enum
{
@@ -305,6 +306,34 @@ nautilus_file_query_info (NautilusFile *file,
nautilus_task_manager_queue_task (manager, task);
}
+typedef struct
+{
+ NautilusFile *file;
+
+ NautilusFileInfoCallback callback;
+ gpointer callback_data;
+} GetThumbnailDetails;
+
+void
+nautilus_file_get_thumbnail (NautilusFile *file,
+ NautilusThumbnailCallback callback,
+ gpointer user_data)
+{
+ g_autoptr (GFile) location = NULL;
+ g_autoptr (NautilusTask) task = NULL;
+ GetThumbnailDetails *details;
+ g_autoptr (NautilusTaskManager) manager = NULL;
+
+ g_return_if_fail (NAUTILUS_IS_FILE (file));
+
+ location = nautilus_file_get_location (file);
+ task = nautilus_thumbnail_task_new (location, TRUE);
+ details = g_new0 (GetThumbnailDetails, 1);
+ manager = nautilus_task_manager_dup_singleton ();
+
+ nautilus_task_manager_queue_task (manager, task);
+}
+
NautilusFile *
nautilus_file_get_existing (GFile *location)
{