[nautilus/wip/ernestask/tasks: 8/17] files-view: use task API for extracting
- From: Ernestas Kulik <ernestask src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus/wip/ernestask/tasks: 8/17] files-view: use task API for extracting
- Date: Sat, 8 Jul 2017 14:19:14 +0000 (UTC)
commit 15ad1aeed6331dfa69ec8c5359749f3f84801f06
Author: Ernestas Kulik <ernestask gnome org>
Date: Thu Jun 1 10:00:07 2017 +0300
files-view: use task API for extracting
src/nautilus-files-view.c | 24 +++++++++++++++++-------
1 files changed, 17 insertions(+), 7 deletions(-)
---
diff --git a/src/nautilus-files-view.c b/src/nautilus-files-view.c
index 3d56913..2db139e 100644
--- a/src/nautilus-files-view.c
+++ b/src/nautilus-files-view.c
@@ -99,6 +99,9 @@
#define DEBUG_FLAG NAUTILUS_DEBUG_DIRECTORY_VIEW
#include "nautilus-debug.h"
+#include "nautilus-task-manager.h"
+#include "tasks/nautilus-extract-task.h"
+
/* Minimum starting update inverval */
#define UPDATE_INTERVAL_MIN 100
/* Maximum update interval */
@@ -6300,8 +6303,9 @@ typedef struct
} ExtractData;
static void
-extract_done (GList *outputs,
- gpointer user_data)
+on_extract_task_completed (NautilusExtractTask *task,
+ GList *outputs,
+ gpointer user_data)
{
NautilusFilesViewPrivate *priv;
ExtractData *data;
@@ -6402,6 +6406,8 @@ extract_files (NautilusFilesView *view,
if (extracting_to_current_directory)
{
+ g_autoptr (NautilusTaskManager) manager = NULL;
+ g_autoptr (NautilusTask) task = NULL;
ExtractData *data;
data = g_new (ExtractData, 1);
@@ -6421,11 +6427,15 @@ extract_files (NautilusFilesView *view,
NULL,
G_CONNECT_AFTER);
- nautilus_file_operations_extract_files (locations,
- destination_directory,
- nautilus_files_view_get_containing_window (view),
- extract_done,
- data);
+ manager = nautilus_task_manager_dup_singleton ();
+ task = nautilus_extract_task_new (nautilus_files_view_get_containing_window (view),
+ locations,
+ destination_directory);
+
+ g_signal_connect (task, "completed",
+ G_CALLBACK (on_extract_task_completed), data);
+
+ nautilus_task_manager_queue_task (manager, task);
}
else
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]