Merge lp:~3v1n0/nautilus/reuse-already-opened-views into lp:~ubuntu-desktop/nautilus/ubuntu
- reuse-already-opened-views
- Merge into ubuntu
Status: | Merged |
---|---|
Merged at revision: | 362 |
Proposed branch: | lp:~3v1n0/nautilus/reuse-already-opened-views |
Merge into: | lp:~ubuntu-desktop/nautilus/ubuntu |
Prerequisite: | lp:~3v1n0/nautilus/progress-quicklist-improvements |
Diff against target: |
555 lines (+366/-34) 6 files modified
debian/changelog (+10/-1) debian/patches/10_reuse_already_opened_views.patch (+302/-0) debian/patches/12_unity_launcher_support.patch (+35/-28) debian/patches/17_static_unity_quicklist.patch (+5/-5) debian/patches/19_add_desktop_keywords.patch (+12/-0) debian/patches/series (+2/-0) |
To merge this branch: | bzr merge lp:~3v1n0/nautilus/reuse-already-opened-views |
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Ubuntu Desktop | Pending | ||
Review via email: mp+152981@code.launchpad.net |
This proposal supersedes a proposal from 2013-03-12.
Commit message
* debian/
- Try to reuse the available windows or tabs when opening an already opened
location (lp: #692444)
* debian/
- Use the quicklist activation timestamp to set the application user time
so that the opened windows will be focused (lp: #1154237)
* debian/
- Use nautilus --new-window to open a New window
Description of the change
- Backported the upstream patches I wrote to fix bug https:/
- Updated the unity launcher support patch to use g_application_open to use the same codepath
- Updated the Exec and the static quicklist to use the --new-window flag
- 364. By Marco Trevisan (Treviño)
-
debian/changelog: added missing entry
- 365. By Marco Trevisan (Treviño)
-
debian/
patches/ 10_reuse_ already_ opened_ views.patch: added DEP-3 headers
Preview Diff
1 | === modified file 'debian/changelog' |
2 | --- debian/changelog 2013-03-13 12:40:27 +0000 |
3 | +++ debian/changelog 2013-03-13 12:40:27 +0000 |
4 | @@ -1,10 +1,19 @@ |
5 | nautilus (1:3.6.3-0ubuntu9) UNRELEASED; urgency=low |
6 | |
7 | + * debian/patches/10_reuse_already_opened_views.patch |
8 | + - Try to reuse the available windows or tabs when opening an already opened |
9 | + location (lp: #692444) |
10 | * debian/patches/12_unity_launcher_support.patch: |
11 | - Quicklist entries to show the copy dialog should use a separator (lp: #1154109) |
12 | - Transfer dialog should be presented using the correct timestamp (lp: #1154111) |
13 | + - Use the quicklist activation timestamp to set the application user time |
14 | + so that the opened windows will be focused (lp: #1154237) |
15 | + * debian/patches/17_static_unity_quicklist.patch: |
16 | + - Use nautilus --new-window to open a New window |
17 | + * debian/patches/19_add_desktop_keywords.patch: |
18 | + - Adding .desktop files keywords from upstream |
19 | |
20 | - -- Marco Trevisan (Treviño) <marco@ubuntu.com> Tue, 12 Mar 2013 15:31:21 +0100 |
21 | + -- Marco Trevisan (Treviño) <marco@ubuntu.com> Tue, 12 Mar 2013 18:57:21 +0100 |
22 | |
23 | nautilus (1:3.6.3-0ubuntu8) raring; urgency=low |
24 | |
25 | |
26 | === added file 'debian/patches/10_reuse_already_opened_views.patch' |
27 | --- debian/patches/10_reuse_already_opened_views.patch 1970-01-01 00:00:00 +0000 |
28 | +++ debian/patches/10_reuse_already_opened_views.patch 2013-03-13 12:40:27 +0000 |
29 | @@ -0,0 +1,302 @@ |
30 | +Description: Focus already opened nautilus windows or tabs when an already |
31 | + opened location is requested. Add a --new-window command to force the opening |
32 | + of a new window. |
33 | + |
34 | +Origin: upstream, https://git.gnome.org/browse/nautilus/commit/?id=c8ee0c5 |
35 | + https://git.gnome.org/browse/nautilus/commit/?id=d0b0b |
36 | + https://git.gnome.org/browse/nautilus/commit/?id=ce4255cf |
37 | +Bug: https://bugzilla.gnome.org/show_bug.cgi?id=694034 |
38 | +Bug-Ubuntu: https://bugs.launchpad.net/nautilus/+bug/692444 |
39 | +Forwarded: yes |
40 | +Applied-Upstream: 3.7.91 |
41 | +Author: Marco Trevisan <marco@ubuntu.com> |
42 | + |
43 | +Index: nautilus/data/nautilus.desktop.in.in |
44 | +=================================================================== |
45 | +--- nautilus.orig/data/nautilus.desktop.in.in 2013-03-12 19:34:31.066512196 +0100 |
46 | ++++ nautilus/data/nautilus.desktop.in.in 2013-03-12 19:34:41.726459664 +0100 |
47 | +@@ -1,7 +1,7 @@ |
48 | + [Desktop Entry] |
49 | + _Name=Files |
50 | + _Comment=Access and organize files |
51 | +-Exec=nautilus %U |
52 | ++Exec=nautilus --new-window %U |
53 | + Icon=system-file-manager |
54 | + Terminal=false |
55 | + Type=Application |
56 | +Index: nautilus/libnautilus-private/nautilus-file-utilities.c |
57 | +=================================================================== |
58 | +--- nautilus.orig/libnautilus-private/nautilus-file-utilities.c 2013-03-12 19:34:31.066512196 +0100 |
59 | ++++ nautilus/libnautilus-private/nautilus-file-utilities.c 2013-03-12 19:34:31.058512174 +0100 |
60 | +@@ -1296,6 +1296,48 @@ |
61 | + return NULL; |
62 | + } |
63 | + |
64 | ++gboolean |
65 | ++nautilus_file_selection_equal (GList *selection_a, |
66 | ++ GList *selection_b) |
67 | ++{ |
68 | ++ GList *al, *bl; |
69 | ++ gboolean selection_matches; |
70 | ++ |
71 | ++ if (selection_a == NULL || selection_b == NULL) { |
72 | ++ return (selection_a == selection_b); |
73 | ++ } |
74 | ++ |
75 | ++ if (g_list_length (selection_a) != g_list_length (selection_b)) { |
76 | ++ return FALSE; |
77 | ++ } |
78 | ++ |
79 | ++ selection_matches = TRUE; |
80 | ++ |
81 | ++ for (al = selection_a; al; al = al->next) { |
82 | ++ GFile *a_location = nautilus_file_get_location (NAUTILUS_FILE (al->data)); |
83 | ++ gboolean found = FALSE; |
84 | ++ |
85 | ++ for (bl = selection_b; bl; bl = bl->next) { |
86 | ++ GFile *b_location = nautilus_file_get_location (NAUTILUS_FILE (bl->data)); |
87 | ++ found = g_file_equal (b_location, a_location); |
88 | ++ g_object_unref (b_location); |
89 | ++ |
90 | ++ if (found) { |
91 | ++ break; |
92 | ++ } |
93 | ++ } |
94 | ++ |
95 | ++ selection_matches = found; |
96 | ++ g_object_unref (a_location); |
97 | ++ |
98 | ++ if (!selection_matches) { |
99 | ++ break; |
100 | ++ } |
101 | ++ } |
102 | ++ |
103 | ++ return selection_matches; |
104 | ++} |
105 | ++ |
106 | + #if !defined (NAUTILUS_OMIT_SELF_CHECK) |
107 | + |
108 | + void |
109 | +Index: nautilus/libnautilus-private/nautilus-file-utilities.h |
110 | +=================================================================== |
111 | +--- nautilus.orig/libnautilus-private/nautilus-file-utilities.h 2013-03-12 19:34:31.066512196 +0100 |
112 | ++++ nautilus/libnautilus-private/nautilus-file-utilities.h 2013-03-12 19:34:31.058512174 +0100 |
113 | +@@ -95,4 +95,6 @@ |
114 | + GCancellable *cancellable, |
115 | + gpointer user_data); |
116 | + |
117 | ++gboolean nautilus_file_selection_equal (GList *selection_a, GList *selection_b); |
118 | ++ |
119 | + #endif /* NAUTILUS_FILE_UTILITIES_H */ |
120 | +Index: nautilus/src/nautilus-application.c |
121 | +=================================================================== |
122 | +--- nautilus.orig/src/nautilus-application.c 2013-03-12 19:34:31.066512196 +0100 |
123 | ++++ nautilus/src/nautilus-application.c 2013-03-12 19:34:31.058512174 +0100 |
124 | +@@ -576,6 +576,47 @@ |
125 | + } |
126 | + } |
127 | + |
128 | ++static NautilusWindowSlot * |
129 | ++get_window_slot_for_location (NautilusApplication *application, GFile *location) |
130 | ++{ |
131 | ++ NautilusWindowSlot *slot; |
132 | ++ GList *l, *sl; |
133 | ++ |
134 | ++ slot = NULL; |
135 | ++ |
136 | ++ if (g_file_query_file_type (location, G_FILE_QUERY_INFO_NONE, NULL) != G_FILE_TYPE_DIRECTORY) { |
137 | ++ location = g_file_get_parent (location); |
138 | ++ } else { |
139 | ++ g_object_ref (location); |
140 | ++ } |
141 | ++ |
142 | ++ for (l = gtk_application_get_windows (GTK_APPLICATION (application)); l; l = l->next) { |
143 | ++ NautilusWindow *win = NAUTILUS_WINDOW (l->data); |
144 | ++ |
145 | ++ if (NAUTILUS_IS_DESKTOP_WINDOW (win)) |
146 | ++ continue; |
147 | ++ |
148 | ++ for (sl = nautilus_window_get_slots (win); sl; sl = sl->next) { |
149 | ++ NautilusWindowSlot *current = NAUTILUS_WINDOW_SLOT (sl->data); |
150 | ++ GFile *slot_location = nautilus_window_slot_get_location (current); |
151 | ++ |
152 | ++ if (g_file_equal (slot_location, location)) { |
153 | ++ slot = current; |
154 | ++ break; |
155 | ++ } |
156 | ++ } |
157 | ++ |
158 | ++ if (slot) { |
159 | ++ break; |
160 | ++ } |
161 | ++ } |
162 | ++ |
163 | ++ g_object_unref (location); |
164 | ++ |
165 | ++ return slot; |
166 | ++} |
167 | ++ |
168 | ++ |
169 | + static void |
170 | + open_window (NautilusApplication *application, |
171 | + GFile *location, GdkScreen *screen, const char *geometry) |
172 | +@@ -609,6 +650,7 @@ |
173 | + |
174 | + static void |
175 | + open_windows (NautilusApplication *application, |
176 | ++ gboolean force_new, |
177 | + GFile **files, |
178 | + gint n_files, |
179 | + GdkScreen *screen, |
180 | +@@ -621,8 +663,22 @@ |
181 | + open_window (application, NULL, screen, geometry); |
182 | + } else { |
183 | + /* Open windows at each requested location. */ |
184 | +- for (i = 0; i < n_files; i++) { |
185 | +- open_window (application, files[i], screen, geometry); |
186 | ++ for (i = 0; i < n_files; ++i) { |
187 | ++ NautilusWindowSlot *slot = NULL; |
188 | ++ |
189 | ++ if (!force_new) |
190 | ++ slot = get_window_slot_for_location (application, files[i]); |
191 | ++ |
192 | ++ if (!slot) { |
193 | ++ open_window (application, files[i], screen, geometry); |
194 | ++ } else { |
195 | ++ /* We open the location again to update any possible selection */ |
196 | ++ nautilus_window_slot_open_location (slot, files[i], 0); |
197 | ++ |
198 | ++ NautilusWindow *window = nautilus_window_slot_get_window (slot); |
199 | ++ nautilus_window_set_active_slot (window, slot); |
200 | ++ gtk_window_present (GTK_WINDOW (window)); |
201 | ++ } |
202 | + } |
203 | + } |
204 | + } |
205 | +@@ -634,19 +690,28 @@ |
206 | + const char *startup_id) |
207 | + { |
208 | + NautilusWindow *window; |
209 | ++ NautilusWindowSlot *slot; |
210 | + GList *sel_list = NULL; |
211 | + |
212 | + nautilus_profile_start (NULL); |
213 | + |
214 | +- window = nautilus_application_create_window (application, gdk_screen_get_default ()); |
215 | +- gtk_window_set_startup_id (GTK_WINDOW (window), startup_id); |
216 | ++ slot = get_window_slot_for_location (application, location); |
217 | ++ |
218 | ++ if (!slot) { |
219 | ++ window = nautilus_application_create_window (application, gdk_screen_get_default ()); |
220 | ++ slot = nautilus_window_get_active_slot (window); |
221 | ++ } else { |
222 | ++ window = nautilus_window_slot_get_window (slot); |
223 | ++ nautilus_window_set_active_slot (window, slot); |
224 | ++ gtk_window_present (GTK_WINDOW (window)); |
225 | ++ } |
226 | + |
227 | + if (selection != NULL) { |
228 | + sel_list = g_list_prepend (sel_list, nautilus_file_get (selection)); |
229 | + } |
230 | + |
231 | +- nautilus_window_slot_open_location_full (nautilus_window_get_active_slot (window), location, |
232 | +- 0, sel_list, NULL, NULL); |
233 | ++ gtk_window_set_startup_id (GTK_WINDOW (window), startup_id); |
234 | ++ nautilus_window_slot_open_location_full (slot, location, 0, sel_list, NULL, NULL); |
235 | + |
236 | + if (sel_list != NULL) { |
237 | + nautilus_file_list_free (sel_list); |
238 | +@@ -665,7 +730,9 @@ |
239 | + |
240 | + DEBUG ("Open called on the GApplication instance; %d files", n_files); |
241 | + |
242 | +- open_windows (self, files, n_files, |
243 | ++ gboolean force_new = (g_strcmp0 (hint, "new-window") == 0); |
244 | ++ |
245 | ++ open_windows (self, force_new, files, n_files, |
246 | + gdk_screen_get_default (), |
247 | + self->priv->geometry); |
248 | + } |
249 | +@@ -1059,6 +1126,7 @@ |
250 | + gboolean version = FALSE; |
251 | + gboolean browser = FALSE; |
252 | + gboolean kill_shell = FALSE; |
253 | ++ gboolean open_new_window = FALSE; |
254 | + gboolean no_default_window = FALSE; |
255 | + gchar **remaining = NULL; |
256 | + NautilusApplication *self = NAUTILUS_APPLICATION (application); |
257 | +@@ -1075,6 +1143,8 @@ |
258 | + N_("Show the version of the program."), NULL }, |
259 | + { "geometry", 'g', 0, G_OPTION_ARG_STRING, &self->priv->geometry, |
260 | + N_("Create the initial window with the given geometry."), N_("GEOMETRY") }, |
261 | ++ { "new-window", 'w', 0, G_OPTION_ARG_NONE, &open_new_window, |
262 | ++ N_("Always open a new window for browsing specified URIs"), NULL }, |
263 | + { "no-default-window", 'n', 0, G_OPTION_ARG_NONE, &no_default_window, |
264 | + N_("Only create windows for explicitly specified URIs."), NULL }, |
265 | + { "no-desktop", '\0', 0, G_OPTION_ARG_NONE, &self->priv->no_desktop, |
266 | +@@ -1089,7 +1159,6 @@ |
267 | + GError *error = NULL; |
268 | + gint argc = 0; |
269 | + gchar **argv = NULL; |
270 | +- |
271 | + *exit_status = EXIT_SUCCESS; |
272 | + |
273 | + nautilus_profile_start (NULL); |
274 | +@@ -1127,8 +1196,8 @@ |
275 | + goto out; |
276 | + } |
277 | + |
278 | +- DEBUG ("Parsing local command line, no_default_window %d, quit %d, " |
279 | +- "self checks %d, no_desktop %d", |
280 | ++ DEBUG ("Parsing local command line, open_new_window %d, no_default_window %d, " |
281 | ++ "quit %d, self checks %d, no_desktop %d", open_new_window, |
282 | + no_default_window, kill_shell, perform_self_check, self->priv->no_desktop); |
283 | + |
284 | + g_application_register (application, NULL, &error); |
285 | +@@ -1185,7 +1254,7 @@ |
286 | + |
287 | + /* Invoke "Open" to create new windows */ |
288 | + if (len > 0) { |
289 | +- g_application_open (application, files, len, ""); |
290 | ++ g_application_open (application, files, len, open_new_window ? "new-window" : ""); |
291 | + } |
292 | + |
293 | + for (idx = 0; idx < len; idx++) { |
294 | +Index: nautilus/src/nautilus-window-manage-views.c |
295 | +=================================================================== |
296 | +--- nautilus.orig/src/nautilus-window-manage-views.c 2013-03-12 19:34:31.066512196 +0100 |
297 | ++++ nautilus/src/nautilus-window-manage-views.c 2013-03-12 19:34:31.062512185 +0100 |
298 | +@@ -427,6 +427,7 @@ |
299 | + NautilusWindowSlot *target_slot; |
300 | + NautilusWindowOpenFlags slot_flags; |
301 | + GFile *old_location; |
302 | ++ GList *old_selection; |
303 | + char *old_uri, *new_uri; |
304 | + int new_slot_position; |
305 | + gboolean use_same; |
306 | +@@ -525,9 +526,14 @@ |
307 | + } |
308 | + } |
309 | + |
310 | +- if (target_window == window && target_slot == slot && |
311 | ++ old_selection = NULL; |
312 | ++ if (slot->content_view != NULL) { |
313 | ++ old_selection = nautilus_view_get_selection (slot->content_view); |
314 | ++ } |
315 | ++ |
316 | ++ if (target_window == window && target_slot == slot && !is_desktop && |
317 | + old_location && g_file_equal (old_location, location) && |
318 | +- !is_desktop) { |
319 | ++ nautilus_file_selection_equal (old_selection, new_selection)) { |
320 | + |
321 | + if (callback != NULL) { |
322 | + callback (window, location, NULL, user_data); |
323 | +@@ -537,7 +543,7 @@ |
324 | + } |
325 | + |
326 | + slot->pending_use_default_location = ((flags & NAUTILUS_WINDOW_OPEN_FLAG_USE_DEFAULT_LOCATION) != 0); |
327 | +- begin_location_change (target_slot, location, old_location, new_selection, |
328 | ++ begin_location_change (target_slot, location, old_location, new_selection, |
329 | + NAUTILUS_LOCATION_CHANGE_STANDARD, 0, NULL, callback, user_data); |
330 | + |
331 | + done: |
332 | |
333 | === modified file 'debian/patches/12_unity_launcher_support.patch' |
334 | --- debian/patches/12_unity_launcher_support.patch 2013-03-13 12:40:27 +0000 |
335 | +++ debian/patches/12_unity_launcher_support.patch 2013-03-13 12:40:27 +0000 |
336 | @@ -1,8 +1,8 @@ |
337 | === modified file 'configure.in' |
338 | Index: nautilus/configure.in |
339 | =================================================================== |
340 | ---- nautilus.orig/configure.in 2013-03-12 13:29:48.958239697 +0100 |
341 | -+++ nautilus/configure.in 2013-03-12 13:29:48.950239703 +0100 |
342 | +--- nautilus.orig/configure.in 2013-03-12 17:57:43.417743091 +0100 |
343 | ++++ nautilus/configure.in 2013-03-12 17:57:43.413743092 +0100 |
344 | @@ -10,6 +10,8 @@ |
345 | m4_define(exif_minver, 0.6.20) |
346 | m4_define(exempi_minver, 2.1.0) |
347 | @@ -52,8 +52,8 @@ |
348 | |
349 | Index: nautilus/libnautilus-private/nautilus-progress-info.c |
350 | =================================================================== |
351 | ---- nautilus.orig/libnautilus-private/nautilus-progress-info.c 2013-03-12 13:29:48.958239697 +0100 |
352 | -+++ nautilus/libnautilus-private/nautilus-progress-info.c 2013-03-12 13:29:48.950239703 +0100 |
353 | +--- nautilus.orig/libnautilus-private/nautilus-progress-info.c 2013-03-12 17:57:43.417743091 +0100 |
354 | ++++ nautilus/libnautilus-private/nautilus-progress-info.c 2013-03-12 17:57:43.413743092 +0100 |
355 | @@ -52,6 +52,8 @@ |
356 | char *status; |
357 | char *details; |
358 | @@ -117,8 +117,8 @@ |
359 | } |
360 | Index: nautilus/libnautilus-private/nautilus-progress-info.h |
361 | =================================================================== |
362 | ---- nautilus.orig/libnautilus-private/nautilus-progress-info.h 2013-03-12 13:29:48.958239697 +0100 |
363 | -+++ nautilus/libnautilus-private/nautilus-progress-info.h 2013-03-12 13:29:48.950239703 +0100 |
364 | +--- nautilus.orig/libnautilus-private/nautilus-progress-info.h 2013-03-12 17:57:43.417743091 +0100 |
365 | ++++ nautilus/libnautilus-private/nautilus-progress-info.h 2013-03-12 17:57:43.413743092 +0100 |
366 | @@ -62,6 +62,8 @@ |
367 | gboolean nautilus_progress_info_get_is_started (NautilusProgressInfo *info); |
368 | gboolean nautilus_progress_info_get_is_finished (NautilusProgressInfo *info); |
369 | @@ -130,8 +130,8 @@ |
370 | void nautilus_progress_info_finish (NautilusProgressInfo *info); |
371 | Index: nautilus/src/Makefile.am |
372 | =================================================================== |
373 | ---- nautilus.orig/src/Makefile.am 2013-03-12 13:29:48.958239697 +0100 |
374 | -+++ nautilus/src/Makefile.am 2013-03-12 13:29:48.950239703 +0100 |
375 | +--- nautilus.orig/src/Makefile.am 2013-03-12 17:57:43.417743091 +0100 |
376 | ++++ nautilus/src/Makefile.am 2013-03-12 17:57:43.413743092 +0100 |
377 | @@ -31,6 +31,7 @@ |
378 | -DSYSCONFDIR=\""$(sysconfdir)"\" \ |
379 | -DVERSION="\"$(VERSION)\"" \ |
380 | @@ -161,8 +161,8 @@ |
381 | nodist_nautilus_SOURCES = \ |
382 | Index: nautilus/src/nautilus-progress-ui-handler.c |
383 | =================================================================== |
384 | ---- nautilus.orig/src/nautilus-progress-ui-handler.c 2013-03-12 13:29:48.958239697 +0100 |
385 | -+++ nautilus/src/nautilus-progress-ui-handler.c 2013-03-12 15:25:31.435572751 +0100 |
386 | +--- nautilus.orig/src/nautilus-progress-ui-handler.c 2013-03-12 17:57:43.417743091 +0100 |
387 | ++++ nautilus/src/nautilus-progress-ui-handler.c 2013-03-12 17:57:43.413743092 +0100 |
388 | @@ -38,6 +38,11 @@ |
389 | |
390 | #include <libnotify/notify.h> |
391 | @@ -432,7 +432,7 @@ |
392 | Index: nautilus/src/unity-quicklist-handler.c |
393 | =================================================================== |
394 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 |
395 | -+++ nautilus/src/unity-quicklist-handler.c 2013-03-12 14:07:43.835192621 +0100 |
396 | ++++ nautilus/src/unity-quicklist-handler.c 2013-03-12 17:57:43.413743092 +0100 |
397 | @@ -0,0 +1,153 @@ |
398 | +/*unity-quicklist-handler.c: handle Unity quicklists |
399 | + * |
400 | @@ -590,7 +590,7 @@ |
401 | Index: nautilus/src/unity-quicklist-handler.h |
402 | =================================================================== |
403 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 |
404 | -+++ nautilus/src/unity-quicklist-handler.h 2013-03-12 14:07:14.835176946 +0100 |
405 | ++++ nautilus/src/unity-quicklist-handler.h 2013-03-12 17:57:43.413743092 +0100 |
406 | @@ -0,0 +1,75 @@ |
407 | +/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ |
408 | +/* |
409 | @@ -669,8 +669,8 @@ |
410 | +#endif /* __UNITY_QUICKLIST_HANDLER_H__ */ |
411 | Index: nautilus/src/nautilus-application.c |
412 | =================================================================== |
413 | ---- nautilus.orig/src/nautilus-application.c 2013-03-12 13:29:48.958239697 +0100 |
414 | -+++ nautilus/src/nautilus-application.c 2013-03-12 13:29:48.954239700 +0100 |
415 | +--- nautilus.orig/src/nautilus-application.c 2013-03-12 17:57:43.417743091 +0100 |
416 | ++++ nautilus/src/nautilus-application.c 2013-03-12 17:57:43.417743091 +0100 |
417 | @@ -79,6 +79,10 @@ |
418 | #include <gdk/gdkx.h> |
419 | #include <gtk/gtk.h> |
420 | @@ -682,7 +682,7 @@ |
421 | /* Keep window from shrinking down ridiculously small; numbers are somewhat arbitrary */ |
422 | #define APPLICATION_WINDOW_MIN_WIDTH 300 |
423 | #define APPLICATION_WINDOW_MIN_HEIGHT 100 |
424 | -@@ -1479,6 +1483,10 @@ |
425 | +@@ -1548,6 +1552,10 @@ |
426 | nautilus_application_init_actions (self); |
427 | |
428 | nautilus_profile_end (NULL); |
429 | @@ -696,8 +696,8 @@ |
430 | Index: nautilus/src/unity-bookmarks-handler.c |
431 | =================================================================== |
432 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 |
433 | -+++ nautilus/src/unity-bookmarks-handler.c 2013-03-12 13:29:48.954239700 +0100 |
434 | -@@ -0,0 +1,137 @@ |
435 | ++++ nautilus/src/unity-bookmarks-handler.c 2013-03-12 18:57:09.410958729 +0100 |
436 | +@@ -0,0 +1,144 @@ |
437 | +/*unity-bookmarks-handler.c: handle Unity bookmark for quicklist |
438 | + * |
439 | + * Copyright (C) 2012 Canonical |
440 | @@ -741,19 +741,26 @@ |
441 | + guint timestamp, |
442 | + NautilusBookmark *bookmark) |
443 | +{ |
444 | -+ g_assert (NAUTILUS_IS_BOOKMARK (bookmark)); |
445 | ++ g_return_if_fail (NAUTILUS_IS_BOOKMARK (bookmark)); |
446 | + |
447 | -+ GFile *location; |
448 | ++ GFile *locations[2]; |
449 | ++ GList *windows, *l; |
450 | + NautilusApplication *application; |
451 | -+ NautilusWindow *new_window; |
452 | + |
453 | -+ location = nautilus_bookmark_get_location (bookmark); |
454 | ++ locations[0] = nautilus_bookmark_get_location (bookmark); |
455 | ++ locations[1] = NULL; |
456 | + |
457 | + application = NAUTILUS_APPLICATION (g_application_get_default ()); |
458 | -+ new_window = nautilus_application_create_window (application, gdk_screen_get_default ()); |
459 | -+ nautilus_window_slot_open_location (nautilus_window_get_active_slot (new_window), location, 0); |
460 | -+ |
461 | -+ g_object_unref (location); |
462 | ++ |
463 | ++ /* Make sure that the application timestamp matches the event */ |
464 | ++ for (l = gtk_application_get_windows (GTK_APPLICATION (application)); l; l = l->next) { |
465 | ++ GdkWindow *gdk_window = gtk_widget_get_window (GTK_WIDGET (l->data)); |
466 | ++ gdk_x11_window_set_user_time (gdk_window, timestamp); |
467 | ++ } |
468 | ++ |
469 | ++ g_application_open (G_APPLICATION (application), locations, 1, ""); |
470 | ++ |
471 | ++ g_object_unref (locations[0]); |
472 | +} |
473 | + |
474 | +static void |
475 | @@ -838,7 +845,7 @@ |
476 | Index: nautilus/src/unity-bookmarks-handler.h |
477 | =================================================================== |
478 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 |
479 | -+++ nautilus/src/unity-bookmarks-handler.h 2013-03-12 13:29:48.954239700 +0100 |
480 | ++++ nautilus/src/unity-bookmarks-handler.h 2013-03-12 17:57:43.417743091 +0100 |
481 | @@ -0,0 +1,31 @@ |
482 | +/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ |
483 | +/* |
484 | @@ -873,8 +880,8 @@ |
485 | +#endif /* __UNITY_BOOKMARKS_HANDLER_H__*/ |
486 | Index: nautilus/po/POTFILES.in |
487 | =================================================================== |
488 | ---- nautilus.orig/po/POTFILES.in 2013-03-12 13:29:48.958239697 +0100 |
489 | -+++ nautilus/po/POTFILES.in 2013-03-12 13:29:48.954239700 +0100 |
490 | +--- nautilus.orig/po/POTFILES.in 2013-03-12 17:57:43.417743091 +0100 |
491 | ++++ nautilus/po/POTFILES.in 2013-03-12 17:57:43.417743091 +0100 |
492 | @@ -90,3 +90,4 @@ |
493 | src/nautilus-window-private.h |
494 | src/nautilus-window-slot.c |
495 | |
496 | === modified file 'debian/patches/17_static_unity_quicklist.patch' |
497 | --- debian/patches/17_static_unity_quicklist.patch 2013-03-08 13:44:44 +0000 |
498 | +++ debian/patches/17_static_unity_quicklist.patch 2013-03-13 12:40:27 +0000 |
499 | @@ -1,8 +1,8 @@ |
500 | -Index: nautilus-3.5.5/data/nautilus.desktop.in.in |
501 | +Index: nautilus/data/nautilus.desktop.in.in |
502 | =================================================================== |
503 | ---- nautilus-3.5.5.orig/data/nautilus.desktop.in.in 2012-05-08 06:28:08.000000000 +0200 |
504 | -+++ nautilus-3.5.5/data/nautilus.desktop.in.in 2012-08-08 09:41:30.183206868 +0200 |
505 | -@@ -13,3 +13,9 @@ |
506 | +--- nautilus.orig/data/nautilus.desktop.in.in 2013-03-12 17:08:37.121951465 +0100 |
507 | ++++ nautilus/data/nautilus.desktop.in.in 2013-03-12 17:11:35.029894735 +0100 |
508 | +@@ -14,3 +14,9 @@ |
509 | X-GNOME-Bugzilla-Product=nautilus |
510 | X-GNOME-Bugzilla-Component=general |
511 | X-GNOME-Bugzilla-Version=@VERSION@ |
512 | @@ -10,5 +10,5 @@ |
513 | + |
514 | +[Desktop Action Window] |
515 | +_Name=Open a New Window |
516 | -+Exec=nautilus |
517 | ++Exec=nautilus --new-window |
518 | +OnlyShowIn=Unity; |
519 | |
520 | === added file 'debian/patches/19_add_desktop_keywords.patch' |
521 | --- debian/patches/19_add_desktop_keywords.patch 1970-01-01 00:00:00 +0000 |
522 | +++ debian/patches/19_add_desktop_keywords.patch 2013-03-13 12:40:27 +0000 |
523 | @@ -0,0 +1,12 @@ |
524 | +Index: nautilus/data/nautilus.desktop.in.in |
525 | +=================================================================== |
526 | +--- nautilus.orig/data/nautilus.desktop.in.in 2013-03-12 19:35:01.714349423 +0100 |
527 | ++++ nautilus/data/nautilus.desktop.in.in 2013-03-12 19:37:25.077722944 +0100 |
528 | +@@ -1,6 +1,7 @@ |
529 | + [Desktop Entry] |
530 | + _Name=Files |
531 | + _Comment=Access and organize files |
532 | ++_Keywords=folder;manager;explore;disk;filesystem; |
533 | + Exec=nautilus --new-window %U |
534 | + Icon=system-file-manager |
535 | + Terminal=false |
536 | |
537 | === modified file 'debian/patches/series' |
538 | --- debian/patches/series 2013-03-08 13:44:44 +0000 |
539 | +++ debian/patches/series 2013-03-13 12:40:27 +0000 |
540 | @@ -4,6 +4,7 @@ |
541 | 06_never_exec_nonexec_launchers.patch |
542 | 08_clean_session_capplet.patch |
543 | 09_no-initial-fade.patch |
544 | +10_reuse_already_opened_views.patch |
545 | 11_copy_skipping_pager.patch |
546 | 12_unity_launcher_support.patch |
547 | 14_bring_del_instead_ctrl_del.patch |
548 | @@ -11,6 +12,7 @@ |
549 | 16_unity_new_documents.patch |
550 | 17_static_unity_quicklist.patch |
551 | 18_unity_icon_color.patch |
552 | +19_add_desktop_keywords.patch |
553 | zg_activity_logging.patch |
554 | dont_wrap_labels_after_dots.patch |
555 | git_add_missing_tooltips.patch |