Merge lp:~3v1n0/nautilus/sync-unity-patches-with-3.14 into lp:~ubuntu-desktop/nautilus/ubuntu

Proposed by Marco Trevisan (Treviño)
Status: Merged
Merged at revision: 499
Proposed branch: lp:~3v1n0/nautilus/sync-unity-patches-with-3.14
Merge into: lp:~ubuntu-desktop/nautilus/ubuntu
Diff against target: 427 lines (+108/-103)
2 files modified
debian/patches/19_unity_open_location_xid.patch (+80/-75)
debian/patches/20_add_timestamp_to_operations.patch (+28/-28)
To merge this branch: bzr merge lp:~3v1n0/nautilus/sync-unity-patches-with-3.14
Reviewer Review Type Date Requested Status
Sebastien Bacher Approve
Review via email: mp+285006@code.launchpad.net

Commit message

Sync unity patches with 3.14

To post a comment you must log in.
Revision history for this message
Sebastien Bacher (seb128) wrote :

thanks!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/patches/19_unity_open_location_xid.patch'
2--- debian/patches/19_unity_open_location_xid.patch 2015-12-01 10:15:30 +0000
3+++ debian/patches/19_unity_open_location_xid.patch 2016-02-04 02:13:28 +0000
4@@ -6,10 +6,10 @@
5 Forwarded: no
6 Author: Marco Trevisan <marco@ubuntu.com>
7
8-Index: nautilus-3.18.2/data/freedesktop-dbus-interfaces.xml
9+Index: nautilus-3.14.3/data/freedesktop-dbus-interfaces.xml
10 ===================================================================
11---- nautilus-3.18.2.orig/data/freedesktop-dbus-interfaces.xml
12-+++ nautilus-3.18.2/data/freedesktop-dbus-interfaces.xml
13+--- nautilus-3.14.3.orig/data/freedesktop-dbus-interfaces.xml
14++++ nautilus-3.14.3/data/freedesktop-dbus-interfaces.xml
15 @@ -31,5 +31,6 @@
16 <arg type='s' name='StartupId' direction='in'/>
17 </method>
18@@ -17,11 +17,11 @@
19 + <property name="XUbuntuOpenLocationsXids" type="a{uas}" access="read"/>
20 </interface>
21 </node>
22-Index: nautilus-3.18.2/src/nautilus-application.c
23+Index: nautilus-3.14.3/src/nautilus-application.c
24 ===================================================================
25---- nautilus-3.18.2.orig/src/nautilus-application.c
26-+++ nautilus-3.18.2/src/nautilus-application.c
27-@@ -1120,8 +1120,8 @@ nautilus_application_quit_mainloop (GApp
28+--- nautilus-3.14.3.orig/src/nautilus-application.c
29++++ nautilus-3.14.3/src/nautilus-application.c
30+@@ -1321,8 +1321,8 @@ nautilus_application_quit_mainloop (GApp
31 G_APPLICATION_CLASS (nautilus_application_parent_class)->quit_mainloop (app);
32 }
33
34@@ -32,7 +32,7 @@
35 {
36 gint i;
37 GList *l, *sl;
38-@@ -1133,15 +1133,40 @@ update_dbus_opened_locations (NautilusAp
39+@@ -1332,15 +1332,39 @@ update_dbus_opened_locations (NautilusAp
40
41 g_return_if_fail (NAUTILUS_IS_APPLICATION (app));
42
43@@ -41,51 +41,49 @@
44 +
45 + g_variant_builder_init (&b, G_VARIANT_TYPE ("a{uas}"));
46 +
47- for (l = app->priv->windows; l != NULL; l = l->next) {
48- window = l->data;
49+ for (l = gtk_application_get_windows (GTK_APPLICATION (app)); l; l = l->next) {
50+ if (!NAUTILUS_IS_WINDOW (l->data) || NAUTILUS_IS_DESKTOP_WINDOW (l->data))
51+ continue;
52
53+- for (sl = nautilus_window_get_slots (NAUTILUS_WINDOW (l->data)); sl; sl = sl->next) {
54++ NautilusWindow *window = NAUTILUS_WINDOW (l->data);
55++ NautilusWindowSlot *active_slot = nautilus_window_get_active_slot (window);
56++ gchar *active_uri = NULL;
57++
58++ if (active_slot) {
59++ active_uri = nautilus_window_slot_get_location_uri (active_slot);
60++ }
61++
62 + g_variant_builder_init (&wb, G_VARIANT_TYPE ("as"));
63-+
64-+ NautilusWindowSlot *active_slot = nautilus_window_get_active_slot (window);
65-+
66-+ if (active_slot != NULL)
67-+ {
68-+ location = nautilus_window_slot_get_location (active_slot);
69-+
70-+ if (location != NULL) {
71-+ gchar *active_uri = g_file_get_uri (location);
72-+ g_variant_builder_add (&wb, "s", active_uri);
73-+ g_free (active_uri);
74++ g_variant_builder_add (&wb, "s", active_uri ? active_uri : "");
75++ g_free (active_uri);
76++
77++ for (sl = nautilus_window_get_slots (window); sl; sl = sl->next) {
78+ NautilusWindowSlot *slot = NAUTILUS_WINDOW_SLOT (sl->data);
79++
80++ if (slot == active_slot) {
81++ continue;
82 + }
83-+ }
84 +
85- for (sl = nautilus_window_get_slots (window); sl; sl = sl->next) {
86- NautilusWindowSlot *slot = sl->data;
87- location = nautilus_window_slot_get_location (slot);
88+ gchar *uri = nautilus_window_slot_get_location_uri (slot);
89
90- if (location != NULL) {
91- gchar *uri = g_file_get_uri (location);
92-+
93-+ if (slot != active_slot) {
94-+ g_variant_builder_add (&wb, "s", uri);
95-+ }
96+ if (uri) {
97++ g_variant_builder_add (&wb, "s", uri);
98 +
99 GList *found = g_list_find_custom (locations, uri, (GCompareFunc) g_strcmp0);
100
101 if (!found) {
102-@@ -1152,6 +1177,21 @@ update_dbus_opened_locations (NautilusAp
103+@@ -1351,6 +1375,19 @@ update_dbus_opened_locations (NautilusAp
104 }
105 }
106 }
107 +
108-+ if (gtk_widget_get_realized (GTK_WIDGET (l->data))) {
109-+ guint32 window_id = 0;
110-+ GdkWindow *gdk_win = gtk_widget_get_window (GTK_WIDGET (l->data));
111++ if (gtk_widget_get_realized (GTK_WIDGET (window))) {
112++ GdkWindow *gdk_win = gtk_widget_get_window (GTK_WIDGET (window));
113++ guint32 window_id = GPOINTER_TO_UINT(gdk_win);
114 +#ifdef GDK_WINDOWING_X11
115 + if (GDK_IS_X11_WINDOW (gdk_win)) {
116 + window_id = gdk_x11_window_get_xid (gdk_win);
117-+ } else {
118-+ window_id = GPOINTER_TO_UINT(gdk_win);
119 + }
120 +#endif
121 + g_variant_builder_add (&b, "{uas}", window_id, &wb);
122@@ -95,7 +93,7 @@
123 }
124
125 locations_array = g_new (gchar*, locations_size + 1);
126-@@ -1165,6 +1205,8 @@ update_dbus_opened_locations (NautilusAp
127+@@ -1364,6 +1401,8 @@ update_dbus_opened_locations (NautilusAp
128
129 nautilus_freedesktop_dbus_set_open_locations (app->priv->fdb_manager,
130 (const gchar**) locations_array);
131@@ -104,28 +102,23 @@
132
133 g_free (locations_array);
134 g_list_free_full (locations, g_free);
135-@@ -1172,10 +1214,17 @@ update_dbus_opened_locations (NautilusAp
136-
137- static void
138- on_slot_location_changed (NautilusWindowSlot *slot,
139-- GParamSpec *pspec,
140-- NautilusApplication *application)
141-+ GParamSpec *pspec,
142-+ NautilusApplication *application)
143-+{
144+@@ -1375,7 +1414,14 @@ on_slot_location_changed (NautilusWindow
145+ const char *to,
146+ NautilusApplication *application)
147+ {
148+- update_dbus_opened_locations (application);
149 + nautilus_application_update_dbus_opened_locations (application);
150 +}
151 +
152 +static void
153 +on_slot_active_changed (NautilusWindowSlot *slot,
154 + NautilusApplication *application)
155- {
156-- update_dbus_opened_locations (application);
157++{
158 + nautilus_application_update_dbus_opened_locations (application);
159 }
160
161 static void
162-@@ -1184,10 +1233,11 @@ on_slot_added (NautilusWindow *wind
163+@@ -1384,10 +1430,11 @@ on_slot_added (NautilusWindow *wind
164 NautilusApplication *application)
165 {
166 if (nautilus_window_slot_get_location (slot)) {
167@@ -133,12 +126,12 @@
168 + nautilus_application_update_dbus_opened_locations (application);
169 }
170
171- g_signal_connect (slot, "notify::location", G_CALLBACK (on_slot_location_changed), application);
172+ g_signal_connect (slot, "location-changed", G_CALLBACK (on_slot_location_changed), application);
173 + g_signal_connect (slot, "active", G_CALLBACK (on_slot_active_changed), application);
174 }
175
176 static void
177-@@ -1195,9 +1245,17 @@ on_slot_removed (NautilusWindow *wi
178+@@ -1395,9 +1442,17 @@ on_slot_removed (NautilusWindow *wi
179 NautilusWindowSlot *slot,
180 NautilusApplication *application)
181 {
182@@ -157,26 +150,38 @@
183 }
184
185 static void
186-@@ -1210,6 +1268,7 @@ nautilus_application_window_added (GtkAp
187+@@ -1407,8 +1462,11 @@ nautilus_application_window_added (GtkAp
188+ /* chain to parent */
189+ GTK_APPLICATION_CLASS (nautilus_application_parent_class)->window_added (app, window);
190
191- if (NAUTILUS_IS_WINDOW (window)) {
192- self->priv->windows = g_list_prepend (self->priv->windows, window);
193+- g_signal_connect (window, "slot-added", G_CALLBACK (on_slot_added), app);
194+- g_signal_connect (window, "slot-removed", G_CALLBACK (on_slot_removed), app);
195++ if (NAUTILUS_IS_WINDOW (window)) {
196 + g_signal_connect (window, "realize", G_CALLBACK (on_realize), app);
197- g_signal_connect (window, "slot-added", G_CALLBACK (on_slot_added), app);
198- g_signal_connect (window, "slot-removed", G_CALLBACK (on_slot_removed), app);
199++ g_signal_connect (window, "slot-added", G_CALLBACK (on_slot_added), app);
200++ g_signal_connect (window, "slot-removed", G_CALLBACK (on_slot_removed), app);
201++ }
202+ }
203+
204+ static void
205+@@ -1426,8 +1484,11 @@ nautilus_application_window_removed (Gtk
206+ nautilus_previewer_call_close ();
207 }
208-@@ -1225,6 +1284,7 @@ nautilus_application_window_removed (Gtk
209
210- if (NAUTILUS_IS_WINDOW (window)) {
211- self->priv->windows = g_list_remove_all (self->priv->windows, window);
212+- g_signal_handlers_disconnect_by_func (window, on_slot_added, app);
213+- g_signal_handlers_disconnect_by_func (window, on_slot_removed, app);
214++ if (NAUTILUS_IS_WINDOW (window)) {
215 + g_signal_handlers_disconnect_by_func (window, on_realize, app);
216- g_signal_handlers_disconnect_by_func (window, on_slot_added, app);
217- g_signal_handlers_disconnect_by_func (window, on_slot_removed, app);
218- }
219-Index: nautilus-3.18.2/src/nautilus-freedesktop-dbus.c
220++ g_signal_handlers_disconnect_by_func (window, on_slot_added, app);
221++ g_signal_handlers_disconnect_by_func (window, on_slot_removed, app);
222++ }
223+ }
224+
225+ static void
226+Index: nautilus-3.14.3/src/nautilus-freedesktop-dbus.c
227 ===================================================================
228---- nautilus-3.18.2.orig/src/nautilus-freedesktop-dbus.c
229-+++ nautilus-3.18.2/src/nautilus-freedesktop-dbus.c
230+--- nautilus-3.14.3.orig/src/nautilus-freedesktop-dbus.c
231++++ nautilus-3.14.3/src/nautilus-freedesktop-dbus.c
232 @@ -152,6 +152,9 @@ bus_acquired_cb (GDBusConnection *conn,
233 G_CALLBACK (skeleton_handle_show_item_properties_cb), fdb);
234
235@@ -207,10 +212,10 @@
236 }
237
238 /* Tries to own the org.freedesktop.FileManager1 service name */
239-Index: nautilus-3.18.2/src/nautilus-freedesktop-dbus.h
240+Index: nautilus-3.14.3/src/nautilus-freedesktop-dbus.h
241 ===================================================================
242---- nautilus-3.18.2.orig/src/nautilus-freedesktop-dbus.h
243-+++ nautilus-3.18.2/src/nautilus-freedesktop-dbus.h
244+--- nautilus-3.14.3.orig/src/nautilus-freedesktop-dbus.h
245++++ nautilus-3.14.3/src/nautilus-freedesktop-dbus.h
246 @@ -47,5 +47,6 @@ GType nautilus_freedesktop_dbus_get_type
247 NautilusFreedesktopDBus * nautilus_freedesktop_dbus_new (void);
248
249@@ -218,14 +223,14 @@
250 +void nautilus_freedesktop_dbus_set_open_locations_xids (NautilusFreedesktopDBus *fdb, GVariant *locations);
251
252 #endif /* __NAUTILUS_FREEDESKTOP_DBUS_H__ */
253-Index: nautilus-3.18.2/src/nautilus-application.h
254+Index: nautilus-3.14.3/src/nautilus-application.h
255 ===================================================================
256---- nautilus-3.18.2.orig/src/nautilus-application.h
257-+++ nautilus-3.18.2/src/nautilus-application.h
258-@@ -85,4 +85,6 @@ void nautilus_application_edit_bookmarks
259-
260+--- nautilus-3.14.3.orig/src/nautilus-application.h
261++++ nautilus-3.14.3/src/nautilus-application.h
262+@@ -81,4 +81,6 @@ void nautilus_application_edit_bookmarks
263 GtkWidget * nautilus_application_connect_server (NautilusApplication *application,
264 NautilusWindow *window);
265-+
266+
267 +void nautilus_application_update_dbus_opened_locations (NautilusApplication *app);
268++
269 #endif /* __NAUTILUS_APPLICATION_H__ */
270
271=== modified file 'debian/patches/20_add_timestamp_to_operations.patch'
272--- debian/patches/20_add_timestamp_to_operations.patch 2015-12-01 09:57:33 +0000
273+++ debian/patches/20_add_timestamp_to_operations.patch 2016-02-04 02:13:28 +0000
274@@ -6,10 +6,10 @@
275 Forwarded: yes
276 Author: Marco Trevisan <marco@ubuntu.com>
277
278-Index: nautilus-3.18.2/data/dbus-interfaces.xml
279+Index: nautilus-3.14.3/data/dbus-interfaces.xml
280 ===================================================================
281---- nautilus-3.18.2.orig/data/dbus-interfaces.xml
282-+++ nautilus-3.18.2/data/dbus-interfaces.xml
283+--- nautilus-3.14.3.orig/data/dbus-interfaces.xml
284++++ nautilus-3.14.3/data/dbus-interfaces.xml
285 @@ -27,13 +27,28 @@
286 <arg type='as' name='SourceFilesURIList' direction='in'/>
287 <arg type='s' name='DestinationDirectoryURI' direction='in'/>
288@@ -39,11 +39,11 @@
289 + </method>
290 </interface>
291 </node>
292-Index: nautilus-3.18.2/libnautilus-private/nautilus-file-operations.c
293+Index: nautilus-3.14.3/libnautilus-private/nautilus-file-operations.c
294 ===================================================================
295---- nautilus-3.18.2.orig/libnautilus-private/nautilus-file-operations.c
296-+++ nautilus-3.18.2/libnautilus-private/nautilus-file-operations.c
297-@@ -72,6 +72,7 @@ typedef struct {
298+--- nautilus-3.14.3.orig/libnautilus-private/nautilus-file-operations.c
299++++ nautilus-3.14.3/libnautilus-private/nautilus-file-operations.c
300+@@ -74,6 +74,7 @@ typedef struct {
301 GtkWindow *parent_window;
302 int screen_num;
303 guint inhibit_cookie;
304@@ -51,7 +51,7 @@
305 NautilusProgressInfo *progress;
306 GCancellable *cancellable;
307 GHashTable *skip_files;
308-@@ -1061,7 +1062,8 @@ typedef struct {
309+@@ -1164,7 +1165,8 @@ typedef struct {
310 const char *details_text;
311 const char **button_titles;
312 gboolean show_all;
313@@ -61,7 +61,7 @@
314 int result;
315 } RunSimpleDialogData;
316
317-@@ -1104,7 +1106,8 @@ do_run_simple_dialog (gpointer _data)
318+@@ -1207,7 +1209,8 @@ do_run_simple_dialog (gpointer _data)
319 }
320
321 /* Run it. */
322@@ -71,7 +71,7 @@
323
324 while ((result == GTK_RESPONSE_NONE || result == GTK_RESPONSE_DELETE_EVENT) && data->ignore_close_box) {
325 result = gtk_dialog_run (GTK_DIALOG (dialog));
326-@@ -1145,6 +1148,7 @@ run_simple_dialog_va (CommonJob *job,
327+@@ -1248,6 +1251,7 @@ run_simple_dialog_va (CommonJob *job,
328 data->secondary_text = secondary_text;
329 data->details_text = details_text;
330 data->show_all = show_all;
331@@ -79,7 +79,7 @@
332
333 ptr_array = g_ptr_array_new ();
334 while ((button_title = va_arg (varargs, const char *)) != NULL) {
335-@@ -5065,6 +5069,26 @@ nautilus_file_operations_copy_file (GFil
336+@@ -4819,6 +4823,26 @@ nautilus_file_operations_copy_file (GFil
337 NautilusCopyCallback done_callback,
338 gpointer done_callback_data)
339 {
340@@ -106,15 +106,15 @@
341 CopyMoveJob *job;
342
343 job = op_job_new (CopyMoveJob, parent_window);
344-@@ -5077,6 +5101,7 @@ nautilus_file_operations_copy_file (GFil
345- nautilus_progress_info_set_destination (((CommonJob *)job)->progress, target_dir);
346+@@ -4828,6 +4852,7 @@ nautilus_file_operations_copy_file (GFil
347+ job->destination = g_object_ref (target_dir);
348 job->target_name = g_strdup (new_name);
349 job->debuting_files = g_hash_table_new_full (g_file_hash, (GEqualFunc)g_file_equal, g_object_unref, NULL);
350 + ((CommonJob *)job)->action_timestamp = timestamp;
351
352 if (source_display_name != NULL) {
353 gchar *path;
354-@@ -5104,6 +5129,24 @@ nautilus_file_operations_copy (GList *fi
355+@@ -4855,6 +4880,24 @@ nautilus_file_operations_copy (GList *fi
356 NautilusCopyCallback done_callback,
357 gpointer done_callback_data)
358 {
359@@ -139,15 +139,15 @@
360 CopyMoveJob *job;
361
362 job = op_job_new (CopyMoveJob, parent_window);
363-@@ -5112,6 +5155,7 @@ nautilus_file_operations_copy (GList *fi
364+@@ -4863,6 +4906,7 @@ nautilus_file_operations_copy (GList *fi
365 job->done_callback_data = done_callback_data;
366 job->files = g_list_copy_deep (files, (GCopyFunc) g_object_ref, NULL);
367 job->destination = g_object_ref (target_dir);
368 + ((CommonJob *)job)->action_timestamp = timestamp;
369- /* Need to indicate the destination for the operation notification open
370- * button. */
371- nautilus_progress_info_set_destination (((CommonJob *)job)->progress, target_dir);
372-@@ -6933,6 +6977,13 @@ empty_trash_job (GIOSchedulerJob *io_job
373+ if (relative_item_points != NULL &&
374+ relative_item_points->len > 0) {
375+ job->icon_positions =
376+@@ -6664,6 +6708,13 @@ empty_trash_job (GIOSchedulerJob *io_job
377 void
378 nautilus_file_operations_empty_trash (GtkWidget *parent_view)
379 {
380@@ -161,7 +161,7 @@
381 EmptyTrashJob *job;
382 GtkWindow *parent_window;
383
384-@@ -6945,6 +6996,7 @@ nautilus_file_operations_empty_trash (Gt
385+@@ -6676,6 +6727,7 @@ nautilus_file_operations_empty_trash (Gt
386 job->trash_dirs = g_list_prepend (job->trash_dirs,
387 g_file_new_for_uri ("trash:"));
388 job->should_confirm = TRUE;
389@@ -169,11 +169,11 @@
390
391 inhibit_power_manager ((CommonJob *)job, _("Emptying Trash"));
392
393-Index: nautilus-3.18.2/libnautilus-private/nautilus-file-operations.h
394+Index: nautilus-3.14.3/libnautilus-private/nautilus-file-operations.h
395 ===================================================================
396---- nautilus-3.18.2.orig/libnautilus-private/nautilus-file-operations.h
397-+++ nautilus-3.18.2/libnautilus-private/nautilus-file-operations.h
398-@@ -62,7 +62,17 @@ void nautilus_file_operations_copy_file
399+--- nautilus-3.14.3.orig/libnautilus-private/nautilus-file-operations.h
400++++ nautilus-3.14.3/libnautilus-private/nautilus-file-operations.h
401+@@ -60,7 +60,17 @@ void nautilus_file_operations_copy_file
402 GtkWindow *parent_window,
403 NautilusCopyCallback done_callback,
404 gpointer done_callback_data);
405@@ -191,7 +191,7 @@
406 void nautilus_file_operations_new_folder (GtkWidget *parent_view,
407 GdkPoint *target_point,
408 const char *parent_dir_uri,
409-@@ -126,6 +136,13 @@ void nautilus_file_operations_copy
410+@@ -123,6 +133,13 @@ void nautilus_file_operations_copy
411 GtkWindow *parent_window,
412 NautilusCopyCallback done_callback,
413 gpointer done_callback_data);
414@@ -205,10 +205,10 @@
415 void nautilus_file_operations_move (GList *files,
416 GArray *relative_item_points,
417 GFile *target_dir,
418-Index: nautilus-3.18.2/src/nautilus-dbus-manager.c
419+Index: nautilus-3.14.3/src/nautilus-dbus-manager.c
420 ===================================================================
421---- nautilus-3.18.2.orig/src/nautilus-dbus-manager.c
422-+++ nautilus-3.18.2/src/nautilus-dbus-manager.c
423+--- nautilus-3.14.3.orig/src/nautilus-dbus-manager.c
424++++ nautilus-3.14.3/src/nautilus-dbus-manager.c
425 @@ -57,13 +57,12 @@ nautilus_dbus_manager_dispose (GObject *
426 G_OBJECT_CLASS (nautilus_dbus_manager_parent_class)->dispose (object);
427 }

Subscribers

People subscribed via source and target branches

to all changes: