summaryrefslogtreecommitdiffstats
path: root/libraries/libfm/patches/0019-3589259-Fix-for-dropping-files-onto-Trash-in-Places-.patch
blob: d132710fb86af9894c5d5575826e26a6b9618cb1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
From 0beaa4830244ab72eeece67bb99802c3aa04f81c Mon Sep 17 00:00:00 2001
From: Andriy Grytsenko <andrej@rep.kiev.ua>
Date: Sat, 24 Nov 2012 00:56:34 +0200
Subject: [PATCH 19/22] [#3589259]Fix for dropping files onto Trash in Places
 sidebar.

The Trash item in Places sidebar has incomplete file info and
FmDndDest widget thinks it's not droppable target.
The commit adds job to update Trash item so it will be complete.
---
 src/gtk/fm-places-model.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/gtk/fm-places-model.c b/src/gtk/fm-places-model.c
index f5d6927..b637089 100644
--- a/src/gtk/fm-places-model.c
+++ b/src/gtk/fm-places-model.c
@@ -611,8 +611,13 @@ static void create_trash_item(FmPlacesModel* model)
     FmPlacesItem* item;
     GdkPixbuf* pix;
     GFile* gf;
+    FmFileInfoJob* job = fm_file_info_job_new(NULL, FM_FILE_INFO_JOB_NONE);
 
     gf = fm_file_new_for_uri("trash:///");
+    fm_file_info_job_add(job, fm_path_get_trash());
+    g_signal_connect(job, "finished", G_CALLBACK(on_file_info_job_finished), model);
+    model->jobs = g_slist_prepend(model->jobs, job);
+    fm_job_run_async(FM_JOB(job));
     model->trash_monitor = fm_monitor_directory(gf, NULL);
     g_signal_connect(model->trash_monitor, "changed", G_CALLBACK(on_trash_changed), model);
     g_object_unref(gf);
-- 
1.8.0.1