Merge lp:~renatofilho/ubuntu-filemanager-app/import-contact into lp:ubuntu-filemanager-app

Proposed by Renato Araujo Oliveira Filho on 2016-07-14
Status: Merged
Approved by: Bill Filler on 2016-07-19
Approved revision: 573
Merged at revision: 555
Proposed branch: lp:~renatofilho/ubuntu-filemanager-app/import-contact
Merge into: lp:ubuntu-filemanager-app
Diff against target: 1534 lines (+764/-120)
11 files modified
CMakeLists.txt (+2/-2)
content-hub.json (+14/-0)
manifest.json.in (+1/-1)
po/com.ubuntu.filemanager.pot (+596/-65)
src/app/qml/components/NetAuthenticationHandler.qml (+23/-11)
src/app/qml/components/PathHistoryRow.qml (+5/-1)
src/app/qml/filemanager.qml (+64/-21)
src/app/qml/ui/ConfirmDialogWithInput.qml (+2/-0)
src/app/qml/ui/FolderListPage.qml (+54/-16)
src/plugin/folderlistmodel/dirmodel.h (+1/-1)
ubuntu-filemanager-app.json (+2/-2)
To merge this branch: bzr merge lp:~renatofilho/ubuntu-filemanager-app/import-contact
Reviewer Review Type Date Requested Status
Jenkins Bot continuous-integration Approve on 2016-07-19
Bill Filler Approve on 2016-07-19
Carlos Jose Mazieri Approve on 2016-07-16
Ken VanDine 2016-07-14 Approve on 2016-07-15
Review via email: mp+300087@code.launchpad.net

Commit message

Implemented support for importing any kind of file.

To post a comment you must log in.
556. By Renato Araujo Oliveira Filho on 2016-07-14

Accept any kind of file as destination.

557. By Renato Araujo Oliveira Filho on 2016-07-15

Increase index to make sure a new file name is created.

Ken VanDine (ken-vandine) wrote :

Looks good. I don't know much about the filemanager code base, but at least the content-hub portions look fine.

review: Approve
558. By Renato Araujo Oliveira Filho on 2016-07-15

Use plural form on import finish dialog.

559. By Renato Araujo Oliveira Filho on 2016-07-15

Refresh view on page activated.

560. By Renato Araujo Oliveira Filho on 2016-07-15

Fixed typo.

561. By Renato Araujo Oliveira Filho on 2016-07-15

Avoid create directories with space in the end.

The code looks OK to me. Thanks.

review: Approve
562. By Renato Araujo Oliveira Filho on 2016-07-18

Does not use predictive text on input dialog to keep the "Ok" button enabled while entering the text.

563. By Renato Araujo Oliveira Filho on 2016-07-18

Disable "Create folder" button if current path is not writable.

564. By Renato Araujo Oliveira Filho on 2016-07-18

Add comments

565. By Renato Araujo Oliveira Filho on 2016-07-18

Change the active folder to the folder selected during the import process.

566. By Renato Araujo Oliveira Filho on 2016-07-18

Changed "imported" dialog visual.

567. By Renato Araujo Oliveira Filho on 2016-07-18

Make sure that full access change get propagated to all pages.

568. By Renato Araujo Oliveira Filho on 2016-07-18

Update pot file.

569. By Renato Araujo Oliveira Filho on 2016-07-18

Does not show "create folder" button if directory is not writable.

570. By Renato Araujo Oliveira Filho on 2016-07-18

Go inside of the recent created folder.

571. By Renato Araujo Oliveira Filho on 2016-07-18

Does not upercase inital letter on input dialog.

572. By Renato Araujo Oliveira Filho on 2016-07-18

Avoid stole keyboard focus by NetAuthenticationHandler dialog.

573. By Renato Araujo Oliveira Filho on 2016-07-19

Make current Path darker than the visited one.

Bill Filler (bfiller) wrote :

works as expected

review: Approve
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'CMakeLists.txt'
2--- CMakeLists.txt 2016-03-10 22:37:45 +0000
3+++ CMakeLists.txt 2016-07-19 17:00:39 +0000
4@@ -18,7 +18,7 @@
5 set(ICON_FILE filemanager64.png)
6 set(AUTOPILOT_DIR ${APP_NAME})
7 set(EXEC "${APP_NAME}")
8-set(CONTENT_HUB_EXPORTER hub-exporter.json)
9+set(CONTENT_HUB_JSON content-hub.json)
10 set(UBUNTU_MANIFEST_PATH "manifest.json.in" CACHE INTERNAL "Relative path to the manifest file")
11
12 # global FILE definitions for stat system call, it works for any sub module
13@@ -71,7 +71,7 @@
14
15 add_custom_target(com_ubuntu_calendar_CLICKFiles ALL SOURCES ${CLICK_FILES})
16
17- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/manifest.json filemanager.apparmor ${CONTENT_HUB_EXPORTER} DESTINATION ${CMAKE_INSTALL_PREFIX})
18+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/manifest.json filemanager.apparmor ${CONTENT_HUB_JSON} DESTINATION ${CMAKE_INSTALL_PREFIX})
19
20 set(UPSTREAM_LIBS_DIR ${CMAKE_BINARY_DIR}/upstream-libs)
21
22
23=== renamed file 'hub-exporter.json' => 'content-hub.json'
24--- hub-exporter.json 2014-10-30 21:20:11 +0000
25+++ content-hub.json 2016-07-19 17:00:39 +0000
26@@ -1,4 +1,18 @@
27 {
28+ "destination": [
29+ "pictures",
30+ "documents",
31+ "videos",
32+ "contacts",
33+ "music"
34+ ],
35+ "share": [
36+ "pictures",
37+ "documents",
38+ "videos",
39+ "contacts",
40+ "music"
41+ ],
42 "source": [
43 "pictures",
44 "documents",
45
46=== modified file 'manifest.json.in'
47--- manifest.json.in 2016-04-07 17:27:53 +0000
48+++ manifest.json.in 2016-07-19 17:00:39 +0000
49@@ -7,7 +7,7 @@
50 "filemanager": {
51 "apparmor": "filemanager.apparmor",
52 "desktop": "com.ubuntu.filemanager.desktop",
53- "content-hub": "hub-exporter.json"
54+ "content-hub": "content-hub.json"
55 }
56 },
57 "icon": "filemanager64.png",
58
59=== modified file 'po/com.ubuntu.filemanager.pot'
60--- po/com.ubuntu.filemanager.pot 2016-06-09 11:17:57 +0000
61+++ po/com.ubuntu.filemanager.pot 2016-07-19 17:00:39 +0000
62@@ -1,6 +1,6 @@
63 # SOME DESCRIPTIVE TITLE.
64 # Copyright (C) YEAR Canonical Ltd.
65-# This file is distributed under the same license as the package.
66+# This file is distributed under the same license as the PACKAGE package.
67 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
68 #
69 #, fuzzy
70@@ -8,7 +8,7 @@
71 msgstr ""
72 "Project-Id-Version: \n"
73 "Report-Msgid-Bugs-To: \n"
74-"POT-Creation-Date: 2016-06-09 12:17+0100\n"
75+"POT-Creation-Date: 2016-07-18 19:55-0300\n"
76 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
77 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
78 "Language-Team: LANGUAGE <LL@li.org>\n"
79@@ -18,402 +18,927 @@
80 "Content-Transfer-Encoding: 8bit\n"
81 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
82
83+#: ../armhf-build/po/com.ubuntu.filemanager.desktop.in.in.h:1
84+#: ../qbuild/po/com.ubuntu.filemanager.desktop.in.in.h:1
85+#: ../sbuild/po/com.ubuntu.filemanager.desktop.in.in.h:1
86+#: ../ssbuild/po/com.ubuntu.filemanager.desktop.in.in.h:1
87+#: com.ubuntu.filemanager.desktop.in.in.h:1
88+msgid "File Manager"
89+msgstr ""
90+
91+#: ../sbuild/package/qml/components/FolderIconView.qml:57
92+#: ../sbuild/package/qml/components/FolderListView.qml:36
93+#: ../sbuild/src/app/qml/components/FolderIconView.qml:57
94+#: ../sbuild/src/app/qml/components/FolderListView.qml:36
95 #: ../src/app/qml/components/FolderIconView.qml:57
96 #: ../src/app/qml/components/FolderListView.qml:36
97+#: ../ssbuild/package/qml/components/FolderIconView.qml:57
98+#: ../ssbuild/package/qml/components/FolderListView.qml:36
99+#: ../ssbuild/src/app/qml/components/FolderIconView.qml:57
100+#: ../ssbuild/src/app/qml/components/FolderListView.qml:36
101 #, qt-format
102 msgid "%1 (%2 file)"
103 msgid_plural "%1 (%2 files)"
104 msgstr[0] ""
105 msgstr[1] ""
106
107+#: ../sbuild/package/qml/components/PathHistoryRow.qml:89
108+#: ../sbuild/package/qml/ui/FolderListPage.qml:872
109+#: ../sbuild/src/app/qml/components/PathHistoryRow.qml:89
110+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:875
111 #: ../src/app/qml/components/PathHistoryRow.qml:89
112-#: ../src/app/qml/ui/FolderListPage.qml:852
113+#: ../src/app/qml/ui/FolderListPage.qml:875
114+#: ../ssbuild/package/qml/components/PathHistoryRow.qml:89
115+#: ../ssbuild/package/qml/ui/FolderListPage.qml:858
116+#: ../ssbuild/src/app/qml/components/PathHistoryRow.qml:89
117+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:858
118 msgid "Device"
119 msgstr ""
120
121+#: ../sbuild/package/qml/components/PlacesSidebar.qml:54
122+#: ../sbuild/package/qml/ui/FolderListPage.qml:31
123+#: ../sbuild/package/qml/ui/PlacesPage.qml:31
124+#: ../sbuild/package/qml/ui/PlacesPopover.qml:102
125+#: ../sbuild/src/app/qml/components/PlacesSidebar.qml:54
126+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:31
127+#: ../sbuild/src/app/qml/ui/PlacesPage.qml:31
128+#: ../sbuild/src/app/qml/ui/PlacesPopover.qml:102
129 #: ../src/app/qml/components/PlacesSidebar.qml:54
130-#: ../src/app/qml/ui/FolderListPage.qml:30 ../src/app/qml/ui/PlacesPage.qml:31
131+#: ../src/app/qml/ui/FolderListPage.qml:31 ../src/app/qml/ui/PlacesPage.qml:31
132 #: ../src/app/qml/ui/PlacesPopover.qml:102
133+#: ../ssbuild/package/qml/components/PlacesSidebar.qml:54
134+#: ../ssbuild/package/qml/ui/FolderListPage.qml:30
135+#: ../ssbuild/package/qml/ui/PlacesPage.qml:31
136+#: ../ssbuild/package/qml/ui/PlacesPopover.qml:102
137+#: ../ssbuild/src/app/qml/components/PlacesSidebar.qml:54
138+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:30
139+#: ../ssbuild/src/app/qml/ui/PlacesPage.qml:31
140+#: ../ssbuild/src/app/qml/ui/PlacesPopover.qml:102
141 msgid "Places"
142 msgstr ""
143
144+#: ../sbuild/package/qml/content-hub/FileOpener.qml:27
145+#: ../sbuild/src/app/qml/content-hub/FileOpener.qml:27
146 #: ../src/app/qml/content-hub/FileOpener.qml:27
147+#: ../ssbuild/package/qml/content-hub/FileOpener.qml:27
148+#: ../ssbuild/src/app/qml/content-hub/FileOpener.qml:27
149 msgid "Open with"
150 msgstr ""
151
152-#: ../src/app/qml/filemanager.qml:80 ../src/app/qml/ui/FolderListPage.qml:112
153+#: ../sbuild/package/qml/filemanager.qml:83
154+#: ../sbuild/package/qml/ui/FolderListPage.qml:114
155+#: ../sbuild/package/qml/ui/SettingsSheet.qml:33
156+#: ../sbuild/src/app/qml/filemanager.qml:83
157+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:114
158+#: ../sbuild/src/app/qml/ui/SettingsSheet.qml:33
159+#: ../src/app/qml/filemanager.qml:83 ../src/app/qml/ui/FolderListPage.qml:114
160 #: ../src/app/qml/ui/SettingsSheet.qml:33
161+#: ../ssbuild/package/qml/filemanager.qml:81
162+#: ../ssbuild/package/qml/ui/FolderListPage.qml:112
163+#: ../ssbuild/package/qml/ui/SettingsSheet.qml:33
164+#: ../ssbuild/src/app/qml/filemanager.qml:81
165+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:112
166+#: ../ssbuild/src/app/qml/ui/SettingsSheet.qml:33
167 msgid "Settings"
168 msgstr ""
169
170-#: ../src/app/qml/filemanager.qml:81
171+#: ../sbuild/package/qml/filemanager.qml:84
172+#: ../sbuild/src/app/qml/filemanager.qml:84 ../src/app/qml/filemanager.qml:84
173+#: ../ssbuild/package/qml/filemanager.qml:82
174+#: ../ssbuild/src/app/qml/filemanager.qml:82
175 msgid "Change app settings"
176 msgstr ""
177
178-#: ../src/app/qml/filemanager.qml:258 ../src/app/qml/ui/FolderListPage.qml:386
179+#: ../sbuild/package/qml/filemanager.qml:295
180+#: ../sbuild/package/qml/ui/FolderListPage.qml:406
181+#: ../sbuild/package/qml/ui/ViewPopover.qml:70
182+#: ../sbuild/src/app/qml/filemanager.qml:287
183+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:409
184+#: ../sbuild/src/app/qml/ui/ViewPopover.qml:70
185+#: ../src/app/qml/filemanager.qml:287 ../src/app/qml/ui/FolderListPage.qml:409
186 #: ../src/app/qml/ui/ViewPopover.qml:70
187+#: ../ssbuild/package/qml/filemanager.qml:291
188+#: ../ssbuild/package/qml/ui/FolderListPage.qml:392
189+#: ../ssbuild/package/qml/ui/ViewPopover.qml:70
190+#: ../ssbuild/src/app/qml/filemanager.qml:291
191+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:392
192+#: ../ssbuild/src/app/qml/ui/ViewPopover.qml:70
193 msgid "Icons"
194 msgstr ""
195
196-#: ../src/app/qml/filemanager.qml:258 ../src/app/qml/ui/FolderListPage.qml:402
197+#: ../sbuild/package/qml/filemanager.qml:295
198+#: ../sbuild/package/qml/ui/FolderListPage.qml:422
199+#: ../sbuild/package/qml/ui/ViewPopover.qml:71
200+#: ../sbuild/src/app/qml/filemanager.qml:287
201+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:425
202+#: ../sbuild/src/app/qml/ui/ViewPopover.qml:71
203+#: ../src/app/qml/filemanager.qml:287 ../src/app/qml/ui/FolderListPage.qml:425
204 #: ../src/app/qml/ui/ViewPopover.qml:71
205+#: ../ssbuild/package/qml/filemanager.qml:291
206+#: ../ssbuild/package/qml/ui/FolderListPage.qml:408
207+#: ../ssbuild/package/qml/ui/ViewPopover.qml:71
208+#: ../ssbuild/src/app/qml/filemanager.qml:291
209+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:408
210+#: ../ssbuild/src/app/qml/ui/ViewPopover.qml:71
211 msgid "List"
212 msgstr ""
213
214+#: ../sbuild/package/qml/filemanager.qml:324
215+#: ../sbuild/src/app/qml/filemanager.qml:316
216+#: ../src/app/qml/filemanager.qml:316
217+#, qt-format
218+msgid "File %1"
219+msgstr ""
220+
221+#: ../sbuild/package/qml/filemanager.qml:324
222+#: ../sbuild/src/app/qml/filemanager.qml:316
223+#: ../src/app/qml/filemanager.qml:316
224+#, qt-format
225+msgid "%1 Files"
226+msgstr ""
227+
228+#: ../sbuild/package/qml/filemanager.qml:325
229+#: ../sbuild/src/app/qml/filemanager.qml:317
230+#: ../src/app/qml/filemanager.qml:317
231+#, qt-format
232+msgid "Saved to: %1"
233+msgstr ""
234+
235+#: ../sbuild/package/qml/ui/AuthenticationDialog.qml:25
236+#: ../sbuild/package/qml/ui/NetAuthenticationDialog.qml:26
237+#: ../sbuild/src/app/qml/ui/AuthenticationDialog.qml:25
238+#: ../sbuild/src/app/qml/ui/NetAuthenticationDialog.qml:26
239 #: ../src/app/qml/ui/AuthenticationDialog.qml:25
240 #: ../src/app/qml/ui/NetAuthenticationDialog.qml:26
241+#: ../ssbuild/package/qml/ui/AuthenticationDialog.qml:25
242+#: ../ssbuild/package/qml/ui/NetAuthenticationDialog.qml:26
243+#: ../ssbuild/src/app/qml/ui/AuthenticationDialog.qml:25
244+#: ../ssbuild/src/app/qml/ui/NetAuthenticationDialog.qml:26
245 msgid "Authentication required"
246 msgstr ""
247
248+#: ../sbuild/package/qml/ui/AuthenticationDialog.qml:27
249+#: ../sbuild/src/app/qml/ui/AuthenticationDialog.qml:27
250 #: ../src/app/qml/ui/AuthenticationDialog.qml:27
251+#: ../ssbuild/package/qml/ui/AuthenticationDialog.qml:27
252+#: ../ssbuild/src/app/qml/ui/AuthenticationDialog.qml:27
253 msgid "Password is required to access all files"
254 msgstr ""
255
256+#: ../sbuild/package/qml/ui/AuthenticationDialog.qml:39
257+#: ../sbuild/src/app/qml/ui/AuthenticationDialog.qml:39
258 #: ../src/app/qml/ui/AuthenticationDialog.qml:39
259+#: ../ssbuild/package/qml/ui/AuthenticationDialog.qml:39
260+#: ../ssbuild/src/app/qml/ui/AuthenticationDialog.qml:39
261 msgid "password"
262 msgstr ""
263
264+#: ../sbuild/package/qml/ui/AuthenticationDialog.qml:49
265+#: ../sbuild/package/qml/ui/ConfirmDialog.qml:31
266+#: ../sbuild/package/qml/ui/ConfirmDialogWithInput.qml:49
267+#: ../sbuild/package/qml/ui/FolderListPage.qml:706
268+#: ../sbuild/package/qml/ui/NotifyDialog.qml:25
269+#: ../sbuild/src/app/qml/ui/AuthenticationDialog.qml:49
270+#: ../sbuild/src/app/qml/ui/ConfirmDialog.qml:31
271+#: ../sbuild/src/app/qml/ui/ConfirmDialogWithInput.qml:49
272+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:709
273+#: ../sbuild/src/app/qml/ui/NotifyDialog.qml:25
274 #: ../src/app/qml/ui/AuthenticationDialog.qml:49
275 #: ../src/app/qml/ui/ConfirmDialog.qml:31
276-#: ../src/app/qml/ui/ConfirmDialogWithInput.qml:47
277-#: ../src/app/qml/ui/FolderListPage.qml:686
278+#: ../src/app/qml/ui/ConfirmDialogWithInput.qml:49
279+#: ../src/app/qml/ui/FolderListPage.qml:709
280 #: ../src/app/qml/ui/NotifyDialog.qml:25
281+#: ../ssbuild/package/qml/ui/AuthenticationDialog.qml:49
282+#: ../ssbuild/package/qml/ui/ConfirmDialog.qml:31
283+#: ../ssbuild/package/qml/ui/ConfirmDialogWithInput.qml:47
284+#: ../ssbuild/package/qml/ui/FolderListPage.qml:692
285+#: ../ssbuild/package/qml/ui/NotifyDialog.qml:25
286+#: ../ssbuild/src/app/qml/ui/AuthenticationDialog.qml:49
287+#: ../ssbuild/src/app/qml/ui/ConfirmDialog.qml:31
288+#: ../ssbuild/src/app/qml/ui/ConfirmDialogWithInput.qml:47
289+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:692
290+#: ../ssbuild/src/app/qml/ui/NotifyDialog.qml:25
291 msgid "OK"
292 msgstr ""
293
294+#: ../sbuild/package/qml/ui/AuthenticationDialog.qml:61
295+#: ../sbuild/package/qml/ui/ConfirmDialog.qml:41
296+#: ../sbuild/package/qml/ui/ConfirmDialogWithInput.qml:59
297+#: ../sbuild/package/qml/ui/FileActionDialog.qml:45
298+#: ../sbuild/package/qml/ui/FileOperationProgressDialog.qml:44
299+#: ../sbuild/package/qml/ui/FolderListPage.qml:384
300+#: ../sbuild/package/qml/ui/FolderListPage.qml:697
301+#: ../sbuild/package/qml/ui/FolderListPage.qml:764
302+#: ../sbuild/package/qml/ui/GoToDialog.qml:67
303+#: ../sbuild/package/qml/ui/NetAuthenticationDialog.qml:108
304+#: ../sbuild/src/app/qml/ui/AuthenticationDialog.qml:61
305+#: ../sbuild/src/app/qml/ui/ConfirmDialog.qml:41
306+#: ../sbuild/src/app/qml/ui/ConfirmDialogWithInput.qml:59
307+#: ../sbuild/src/app/qml/ui/FileActionDialog.qml:45
308+#: ../sbuild/src/app/qml/ui/FileOperationProgressDialog.qml:44
309+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:387
310+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:700
311+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:767
312+#: ../sbuild/src/app/qml/ui/GoToDialog.qml:67
313+#: ../sbuild/src/app/qml/ui/NetAuthenticationDialog.qml:108
314 #: ../src/app/qml/ui/AuthenticationDialog.qml:61
315 #: ../src/app/qml/ui/ConfirmDialog.qml:41
316-#: ../src/app/qml/ui/ConfirmDialogWithInput.qml:57
317+#: ../src/app/qml/ui/ConfirmDialogWithInput.qml:59
318 #: ../src/app/qml/ui/FileActionDialog.qml:45
319 #: ../src/app/qml/ui/FileOperationProgressDialog.qml:44
320-#: ../src/app/qml/ui/FolderListPage.qml:364
321-#: ../src/app/qml/ui/FolderListPage.qml:677
322-#: ../src/app/qml/ui/FolderListPage.qml:744 ../src/app/qml/ui/GoToDialog.qml:67
323+#: ../src/app/qml/ui/FolderListPage.qml:387
324+#: ../src/app/qml/ui/FolderListPage.qml:700
325+#: ../src/app/qml/ui/FolderListPage.qml:767
326+#: ../src/app/qml/ui/GoToDialog.qml:67
327 #: ../src/app/qml/ui/NetAuthenticationDialog.qml:108
328+#: ../ssbuild/package/qml/ui/AuthenticationDialog.qml:61
329+#: ../ssbuild/package/qml/ui/ConfirmDialog.qml:41
330+#: ../ssbuild/package/qml/ui/ConfirmDialogWithInput.qml:57
331+#: ../ssbuild/package/qml/ui/FileActionDialog.qml:45
332+#: ../ssbuild/package/qml/ui/FileOperationProgressDialog.qml:44
333+#: ../ssbuild/package/qml/ui/FolderListPage.qml:370
334+#: ../ssbuild/package/qml/ui/FolderListPage.qml:683
335+#: ../ssbuild/package/qml/ui/FolderListPage.qml:750
336+#: ../ssbuild/package/qml/ui/GoToDialog.qml:67
337+#: ../ssbuild/package/qml/ui/NetAuthenticationDialog.qml:108
338+#: ../ssbuild/src/app/qml/ui/AuthenticationDialog.qml:61
339+#: ../ssbuild/src/app/qml/ui/ConfirmDialog.qml:41
340+#: ../ssbuild/src/app/qml/ui/ConfirmDialogWithInput.qml:57
341+#: ../ssbuild/src/app/qml/ui/FileActionDialog.qml:45
342+#: ../ssbuild/src/app/qml/ui/FileOperationProgressDialog.qml:44
343+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:370
344+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:683
345+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:750
346+#: ../ssbuild/src/app/qml/ui/GoToDialog.qml:67
347+#: ../ssbuild/src/app/qml/ui/NetAuthenticationDialog.qml:108
348 msgid "Cancel"
349 msgstr ""
350
351+#: ../sbuild/package/qml/ui/FileActionDialog.qml:30
352+#: ../sbuild/src/app/qml/ui/FileActionDialog.qml:30
353 #: ../src/app/qml/ui/FileActionDialog.qml:30
354+#: ../ssbuild/package/qml/ui/FileActionDialog.qml:30
355+#: ../ssbuild/src/app/qml/ui/FileActionDialog.qml:30
356 msgid "Choose action"
357 msgstr ""
358
359+#: ../sbuild/package/qml/ui/FileActionDialog.qml:31
360+#: ../sbuild/src/app/qml/ui/FileActionDialog.qml:31
361 #: ../src/app/qml/ui/FileActionDialog.qml:31
362+#: ../ssbuild/package/qml/ui/FileActionDialog.qml:31
363+#: ../ssbuild/src/app/qml/ui/FileActionDialog.qml:31
364 #, qt-format
365 msgid "For file: %1"
366 msgstr ""
367
368+#: ../sbuild/package/qml/ui/FileActionDialog.qml:35
369+#: ../sbuild/src/app/qml/ui/FileActionDialog.qml:35
370 #: ../src/app/qml/ui/FileActionDialog.qml:35
371+#: ../ssbuild/package/qml/ui/FileActionDialog.qml:35
372+#: ../ssbuild/src/app/qml/ui/FileActionDialog.qml:35
373 msgid "Open"
374 msgstr ""
375
376+#: ../sbuild/package/qml/ui/FileDetailsPopover.qml:37
377+#: ../sbuild/src/app/qml/ui/FileDetailsPopover.qml:37
378 #: ../src/app/qml/ui/FileDetailsPopover.qml:37
379+#: ../ssbuild/package/qml/ui/FileDetailsPopover.qml:37
380+#: ../ssbuild/src/app/qml/ui/FileDetailsPopover.qml:37
381 msgid "Readable"
382 msgstr ""
383
384+#: ../sbuild/package/qml/ui/FileDetailsPopover.qml:40
385+#: ../sbuild/src/app/qml/ui/FileDetailsPopover.qml:40
386 #: ../src/app/qml/ui/FileDetailsPopover.qml:40
387+#: ../ssbuild/package/qml/ui/FileDetailsPopover.qml:40
388+#: ../ssbuild/src/app/qml/ui/FileDetailsPopover.qml:40
389 msgid "Writable"
390 msgstr ""
391
392+#: ../sbuild/package/qml/ui/FileDetailsPopover.qml:43
393+#: ../sbuild/src/app/qml/ui/FileDetailsPopover.qml:43
394 #: ../src/app/qml/ui/FileDetailsPopover.qml:43
395+#: ../ssbuild/package/qml/ui/FileDetailsPopover.qml:43
396+#: ../ssbuild/src/app/qml/ui/FileDetailsPopover.qml:43
397 msgid "Executable"
398 msgstr ""
399
400+#: ../sbuild/package/qml/ui/FileDetailsPopover.qml:91
401+#: ../sbuild/src/app/qml/ui/FileDetailsPopover.qml:91
402 #: ../src/app/qml/ui/FileDetailsPopover.qml:91
403+#: ../ssbuild/package/qml/ui/FileDetailsPopover.qml:91
404+#: ../ssbuild/src/app/qml/ui/FileDetailsPopover.qml:91
405 msgid "Path:"
406 msgstr ""
407
408+#: ../sbuild/package/qml/ui/FileDetailsPopover.qml:102
409+#: ../sbuild/src/app/qml/ui/FileDetailsPopover.qml:102
410 #: ../src/app/qml/ui/FileDetailsPopover.qml:102
411+#: ../ssbuild/package/qml/ui/FileDetailsPopover.qml:102
412+#: ../ssbuild/src/app/qml/ui/FileDetailsPopover.qml:102
413 msgid "Contents:"
414 msgstr ""
415
416+#: ../sbuild/package/qml/ui/FileDetailsPopover.qml:103
417+#: ../sbuild/src/app/qml/ui/FileDetailsPopover.qml:103
418 #: ../src/app/qml/ui/FileDetailsPopover.qml:103
419+#: ../ssbuild/package/qml/ui/FileDetailsPopover.qml:103
420+#: ../ssbuild/src/app/qml/ui/FileDetailsPopover.qml:103
421 msgid "Size:"
422 msgstr ""
423
424+#: ../sbuild/package/qml/ui/FileDetailsPopover.qml:112
425+#: ../sbuild/src/app/qml/ui/FileDetailsPopover.qml:112
426 #: ../src/app/qml/ui/FileDetailsPopover.qml:112
427+#: ../ssbuild/package/qml/ui/FileDetailsPopover.qml:112
428+#: ../ssbuild/src/app/qml/ui/FileDetailsPopover.qml:112
429 msgid "Accessed:"
430 msgstr ""
431
432+#: ../sbuild/package/qml/ui/FileDetailsPopover.qml:121
433+#: ../sbuild/src/app/qml/ui/FileDetailsPopover.qml:121
434 #: ../src/app/qml/ui/FileDetailsPopover.qml:121
435+#: ../ssbuild/package/qml/ui/FileDetailsPopover.qml:121
436+#: ../ssbuild/src/app/qml/ui/FileDetailsPopover.qml:121
437 msgid "Modified:"
438 msgstr ""
439
440+#: ../sbuild/package/qml/ui/FileDetailsPopover.qml:130
441+#: ../sbuild/src/app/qml/ui/FileDetailsPopover.qml:130
442 #: ../src/app/qml/ui/FileDetailsPopover.qml:130
443+#: ../ssbuild/package/qml/ui/FileDetailsPopover.qml:130
444+#: ../ssbuild/src/app/qml/ui/FileDetailsPopover.qml:130
445 msgid "Permissions:"
446 msgstr ""
447
448+#: ../sbuild/package/qml/ui/FileOperationProgressDialog.qml:27
449+#: ../sbuild/src/app/qml/ui/FileOperationProgressDialog.qml:27
450 #: ../src/app/qml/ui/FileOperationProgressDialog.qml:27
451+#: ../ssbuild/package/qml/ui/FileOperationProgressDialog.qml:27
452+#: ../ssbuild/src/app/qml/ui/FileOperationProgressDialog.qml:27
453 msgid "Operation in progress"
454 msgstr ""
455
456+#: ../sbuild/package/qml/ui/FileOperationProgressDialog.qml:29
457+#: ../sbuild/src/app/qml/ui/FileOperationProgressDialog.qml:29
458 #: ../src/app/qml/ui/FileOperationProgressDialog.qml:29
459+#: ../ssbuild/package/qml/ui/FileOperationProgressDialog.qml:29
460+#: ../ssbuild/src/app/qml/ui/FileOperationProgressDialog.qml:29
461 msgid "File operation"
462 msgstr ""
463
464-#: ../src/app/qml/ui/FolderListPage.qml:62
465+#: ../sbuild/package/qml/ui/FolderListPage.qml:63
466+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:63
467+#: ../src/app/qml/ui/FolderListPage.qml:63
468+#: ../ssbuild/package/qml/ui/FolderListPage.qml:62
469+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:62
470 #, qt-format
471 msgid "Paste %1 File"
472 msgid_plural "Paste %1 Files"
473 msgstr[0] ""
474 msgstr[1] ""
475
476-#: ../src/app/qml/ui/FolderListPage.qml:66
477+#: ../sbuild/package/qml/ui/FolderListPage.qml:67
478+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:67
479+#: ../src/app/qml/ui/FolderListPage.qml:67
480+#: ../ssbuild/package/qml/ui/FolderListPage.qml:66
481+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:66
482 msgid "Paste files"
483 msgstr ""
484
485-#: ../src/app/qml/ui/FolderListPage.qml:74
486+#: ../sbuild/package/qml/ui/FolderListPage.qml:75
487+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:75
488+#: ../src/app/qml/ui/FolderListPage.qml:75
489+#: ../ssbuild/package/qml/ui/FolderListPage.qml:74
490+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:74
491 msgid "Clear clipboard"
492 msgstr ""
493
494-#: ../src/app/qml/ui/FolderListPage.qml:84
495-#: ../src/app/qml/ui/FolderListPage.qml:102
496-#: ../src/app/qml/ui/FolderListPage.qml:614
497+#: ../sbuild/package/qml/ui/FolderListPage.qml:85
498+#: ../sbuild/package/qml/ui/FolderListPage.qml:104
499+#: ../sbuild/package/qml/ui/FolderListPage.qml:634
500+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:85
501+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:104
502+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:637
503+#: ../src/app/qml/ui/FolderListPage.qml:85
504+#: ../src/app/qml/ui/FolderListPage.qml:104
505+#: ../src/app/qml/ui/FolderListPage.qml:637
506+#: ../ssbuild/package/qml/ui/FolderListPage.qml:84
507+#: ../ssbuild/package/qml/ui/FolderListPage.qml:102
508+#: ../ssbuild/package/qml/ui/FolderListPage.qml:620
509+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:84
510+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:102
511+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:620
512 msgid "Properties"
513 msgstr ""
514
515-#: ../src/app/qml/ui/FolderListPage.qml:93
516+#: ../sbuild/package/qml/ui/FolderListPage.qml:94
517+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:94
518+#: ../src/app/qml/ui/FolderListPage.qml:94
519+#: ../ssbuild/package/qml/ui/FolderListPage.qml:93
520+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:93
521 msgid "New Folder"
522 msgstr ""
523
524-#: ../src/app/qml/ui/FolderListPage.qml:120
525+#: ../sbuild/package/qml/ui/FolderListPage.qml:122
526+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:122
527+#: ../src/app/qml/ui/FolderListPage.qml:122
528+#: ../ssbuild/package/qml/ui/FolderListPage.qml:120
529+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:120
530 msgid "Go To"
531 msgstr ""
532
533-#: ../src/app/qml/ui/FolderListPage.qml:127
534+#: ../sbuild/package/qml/ui/FolderListPage.qml:129
535+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:129
536+#: ../src/app/qml/ui/FolderListPage.qml:129
537+#: ../ssbuild/package/qml/ui/FolderListPage.qml:127
538+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:127
539 msgid "Unlock full access"
540 msgstr ""
541
542-#: ../src/app/qml/ui/FolderListPage.qml:141
543+#: ../sbuild/package/qml/ui/FolderListPage.qml:143
544+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:143
545+#: ../src/app/qml/ui/FolderListPage.qml:143
546+#: ../ssbuild/package/qml/ui/FolderListPage.qml:141
547+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:141
548 msgid "Authentication failed"
549 msgstr ""
550
551-#: ../src/app/qml/ui/FolderListPage.qml:217
552+#: ../sbuild/package/qml/ui/FolderListPage.qml:223
553+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:223
554+#: ../src/app/qml/ui/FolderListPage.qml:223
555+#: ../ssbuild/package/qml/ui/FolderListPage.qml:219
556+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:219
557 #, qt-format
558 msgid "%1 file"
559 msgid_plural "%1 files"
560 msgstr[0] ""
561 msgstr[1] ""
562
563-#: ../src/app/qml/ui/FolderListPage.qml:261
564+#: ../sbuild/package/qml/ui/FolderListPage.qml:277
565+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:277
566+#: ../src/app/qml/ui/FolderListPage.qml:277
567+#: ../ssbuild/package/qml/ui/FolderListPage.qml:263
568+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:263
569 msgid "Open in a new tab"
570 msgstr ""
571
572-#: ../src/app/qml/ui/FolderListPage.qml:269
573+#: ../sbuild/package/qml/ui/FolderListPage.qml:285
574+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:285
575+#: ../src/app/qml/ui/FolderListPage.qml:285
576+#: ../ssbuild/package/qml/ui/FolderListPage.qml:271
577+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:271
578 msgid "Close this tab"
579 msgstr ""
580
581-#: ../src/app/qml/ui/FolderListPage.qml:282
582+#: ../sbuild/package/qml/ui/FolderListPage.qml:298
583+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:298
584+#: ../src/app/qml/ui/FolderListPage.qml:298
585+#: ../ssbuild/package/qml/ui/FolderListPage.qml:284
586+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:284
587 msgid "Create folder"
588 msgstr ""
589
590-#: ../src/app/qml/ui/FolderListPage.qml:283
591+#: ../sbuild/package/qml/ui/FolderListPage.qml:299
592+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:299
593+#: ../src/app/qml/ui/FolderListPage.qml:299
594+#: ../ssbuild/package/qml/ui/FolderListPage.qml:285
595+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:285
596 msgid "Enter name for new folder"
597 msgstr ""
598
599-#: ../src/app/qml/ui/FolderListPage.qml:299
600+#: ../sbuild/package/qml/ui/FolderListPage.qml:315
601+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:318
602+#: ../src/app/qml/ui/FolderListPage.qml:318
603+#: ../ssbuild/package/qml/ui/FolderListPage.qml:301
604+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:301
605 msgid "Create file"
606 msgstr ""
607
608-#: ../src/app/qml/ui/FolderListPage.qml:300
609+#: ../sbuild/package/qml/ui/FolderListPage.qml:316
610+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:319
611+#: ../src/app/qml/ui/FolderListPage.qml:319
612+#: ../ssbuild/package/qml/ui/FolderListPage.qml:302
613+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:302
614 msgid "Enter name for new file"
615 msgstr ""
616
617-#: ../src/app/qml/ui/FolderListPage.qml:349
618+#: ../sbuild/package/qml/ui/FolderListPage.qml:365
619+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:368
620+#: ../src/app/qml/ui/FolderListPage.qml:368
621+#: ../ssbuild/package/qml/ui/FolderListPage.qml:351
622+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:351
623 msgid "Select"
624 msgstr ""
625
626-#: ../src/app/qml/ui/FolderListPage.qml:446
627+#: ../sbuild/package/qml/ui/FolderListPage.qml:466
628+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:469
629+#: ../src/app/qml/ui/FolderListPage.qml:469
630+#: ../ssbuild/package/qml/ui/FolderListPage.qml:452
631+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:452
632 msgid "No files"
633 msgstr ""
634
635-#: ../src/app/qml/ui/FolderListPage.qml:466
636-#: ../src/app/qml/ui/FolderListPage.qml:575
637+#: ../sbuild/package/qml/ui/FolderListPage.qml:486
638+#: ../sbuild/package/qml/ui/FolderListPage.qml:595
639+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:489
640+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:598
641+#: ../src/app/qml/ui/FolderListPage.qml:489
642+#: ../src/app/qml/ui/FolderListPage.qml:598
643+#: ../ssbuild/package/qml/ui/FolderListPage.qml:472
644+#: ../ssbuild/package/qml/ui/FolderListPage.qml:581
645+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:472
646+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:581
647 msgid "Delete"
648 msgstr ""
649
650-#: ../src/app/qml/ui/FolderListPage.qml:467
651+#: ../sbuild/package/qml/ui/FolderListPage.qml:487
652+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:490
653+#: ../src/app/qml/ui/FolderListPage.qml:490
654+#: ../ssbuild/package/qml/ui/FolderListPage.qml:473
655+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:473
656 #, qt-format
657 msgid "Are you sure you want to permanently delete '%1'?"
658 msgstr ""
659
660-#: ../src/app/qml/ui/FolderListPage.qml:472
661+#: ../sbuild/package/qml/ui/FolderListPage.qml:492
662+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:495
663+#: ../src/app/qml/ui/FolderListPage.qml:495
664+#: ../ssbuild/package/qml/ui/FolderListPage.qml:478
665+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:478
666 msgid "Deleting files"
667 msgstr ""
668
669-#: ../src/app/qml/ui/FolderListPage.qml:490
670-#: ../src/app/qml/ui/FolderListPage.qml:588
671+#: ../sbuild/package/qml/ui/FolderListPage.qml:510
672+#: ../sbuild/package/qml/ui/FolderListPage.qml:608
673+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:513
674+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:611
675+#: ../src/app/qml/ui/FolderListPage.qml:513
676+#: ../src/app/qml/ui/FolderListPage.qml:611
677+#: ../ssbuild/package/qml/ui/FolderListPage.qml:496
678+#: ../ssbuild/package/qml/ui/FolderListPage.qml:594
679+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:496
680+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:594
681 msgid "Rename"
682 msgstr ""
683
684-#: ../src/app/qml/ui/FolderListPage.qml:491
685+#: ../sbuild/package/qml/ui/FolderListPage.qml:511
686+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:514
687+#: ../src/app/qml/ui/FolderListPage.qml:514
688+#: ../ssbuild/package/qml/ui/FolderListPage.qml:497
689+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:497
690 msgid "Enter a new name"
691 msgstr ""
692
693-#: ../src/app/qml/ui/FolderListPage.qml:500
694+#: ../sbuild/package/qml/ui/FolderListPage.qml:520
695+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:523
696+#: ../src/app/qml/ui/FolderListPage.qml:523
697+#: ../ssbuild/package/qml/ui/FolderListPage.qml:506
698+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:506
699 msgid "Could not rename"
700 msgstr ""
701
702-#: ../src/app/qml/ui/FolderListPage.qml:501
703+#: ../sbuild/package/qml/ui/FolderListPage.qml:521
704+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:524
705+#: ../src/app/qml/ui/FolderListPage.qml:524
706+#: ../ssbuild/package/qml/ui/FolderListPage.qml:507
707+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:507
708 msgid "Insufficient permissions or name already exists?"
709 msgstr ""
710
711-#: ../src/app/qml/ui/FolderListPage.qml:519
712+#: ../sbuild/package/qml/ui/FolderListPage.qml:539
713+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:542
714+#: ../src/app/qml/ui/FolderListPage.qml:542
715+#: ../ssbuild/package/qml/ui/FolderListPage.qml:525
716+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:525
717 msgid "Extract Archive"
718 msgstr ""
719
720-#: ../src/app/qml/ui/FolderListPage.qml:520
721+#: ../sbuild/package/qml/ui/FolderListPage.qml:540
722+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:543
723+#: ../src/app/qml/ui/FolderListPage.qml:543
724+#: ../ssbuild/package/qml/ui/FolderListPage.qml:526
725+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:526
726 #, qt-format
727 msgid "Are you sure you want to extract '%1' here?"
728 msgstr ""
729
730-#: ../src/app/qml/ui/FolderListPage.qml:552
731+#: ../sbuild/package/qml/ui/FolderListPage.qml:572
732+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:575
733+#: ../src/app/qml/ui/FolderListPage.qml:575
734+#: ../ssbuild/package/qml/ui/FolderListPage.qml:558
735+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:558
736 msgid "Cut"
737 msgstr ""
738
739-#: ../src/app/qml/ui/FolderListPage.qml:563
740+#: ../sbuild/package/qml/ui/FolderListPage.qml:583
741+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:586
742+#: ../src/app/qml/ui/FolderListPage.qml:586
743+#: ../ssbuild/package/qml/ui/FolderListPage.qml:569
744+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:569
745 msgid "Copy"
746 msgstr ""
747
748-#: ../src/app/qml/ui/FolderListPage.qml:603
749-#: ../src/app/qml/ui/FolderListPage.qml:724
750+#: ../sbuild/package/qml/ui/FolderListPage.qml:623
751+#: ../sbuild/package/qml/ui/FolderListPage.qml:744
752+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:626
753+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:747
754+#: ../src/app/qml/ui/FolderListPage.qml:626
755+#: ../src/app/qml/ui/FolderListPage.qml:747
756+#: ../ssbuild/package/qml/ui/FolderListPage.qml:609
757+#: ../ssbuild/package/qml/ui/FolderListPage.qml:730
758+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:609
759+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:730
760 msgid "Extract archive"
761 msgstr ""
762
763-#: ../src/app/qml/ui/FolderListPage.qml:634
764+#: ../sbuild/package/qml/ui/FolderListPage.qml:654
765+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:657
766+#: ../src/app/qml/ui/FolderListPage.qml:657
767+#: ../ssbuild/package/qml/ui/FolderListPage.qml:640
768+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:640
769 msgid "File operation error"
770 msgstr ""
771
772-#: ../src/app/qml/ui/FolderListPage.qml:665
773+#: ../sbuild/package/qml/ui/FolderListPage.qml:685
774+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:688
775+#: ../src/app/qml/ui/FolderListPage.qml:688
776+#: ../ssbuild/package/qml/ui/FolderListPage.qml:671
777+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:671
778 #, qt-format
779 msgid "Extracting archive '%1'"
780 msgstr ""
781
782-#: ../src/app/qml/ui/FolderListPage.qml:701
783+#: ../sbuild/package/qml/ui/FolderListPage.qml:721
784+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:724
785+#: ../src/app/qml/ui/FolderListPage.qml:724
786+#: ../ssbuild/package/qml/ui/FolderListPage.qml:707
787+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:707
788 msgid "Extracting failed"
789 msgstr ""
790
791-#: ../src/app/qml/ui/FolderListPage.qml:702
792+#: ../sbuild/package/qml/ui/FolderListPage.qml:722
793+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:725
794+#: ../src/app/qml/ui/FolderListPage.qml:725
795+#: ../ssbuild/package/qml/ui/FolderListPage.qml:708
796+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:708
797 #, qt-format
798 msgid "Extracting the archive '%1' failed."
799 msgstr ""
800
801-#: ../src/app/qml/ui/FolderListPage.qml:716
802+#: ../sbuild/package/qml/ui/FolderListPage.qml:736
803+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:739
804+#: ../src/app/qml/ui/FolderListPage.qml:739
805+#: ../ssbuild/package/qml/ui/FolderListPage.qml:722
806+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:722
807 msgid "Archive file"
808 msgstr ""
809
810-#: ../src/app/qml/ui/FolderListPage.qml:717
811+#: ../sbuild/package/qml/ui/FolderListPage.qml:737
812+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:740
813+#: ../src/app/qml/ui/FolderListPage.qml:740
814+#: ../ssbuild/package/qml/ui/FolderListPage.qml:723
815+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:723
816 msgid "Do you want to extract the archive here?"
817 msgstr ""
818
819-#: ../src/app/qml/ui/FolderListPage.qml:734
820+#: ../sbuild/package/qml/ui/FolderListPage.qml:754
821+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:757
822+#: ../src/app/qml/ui/FolderListPage.qml:757
823+#: ../ssbuild/package/qml/ui/FolderListPage.qml:740
824+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:740
825 msgid "Open with another app"
826 msgstr ""
827
828-#: ../src/app/qml/ui/FolderListPage.qml:818
829+#: ../sbuild/package/qml/ui/FolderListPage.qml:838
830+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:841
831+#: ../src/app/qml/ui/FolderListPage.qml:841
832+#: ../ssbuild/package/qml/ui/FolderListPage.qml:824
833+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:824
834 msgid "~/Desktop"
835 msgstr ""
836
837-#: ../src/app/qml/ui/FolderListPage.qml:828
838+#: ../sbuild/package/qml/ui/FolderListPage.qml:848
839+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:851
840+#: ../src/app/qml/ui/FolderListPage.qml:851
841+#: ../ssbuild/package/qml/ui/FolderListPage.qml:834
842+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:834
843 msgid "~/Public"
844 msgstr ""
845
846-#: ../src/app/qml/ui/FolderListPage.qml:830
847+#: ../sbuild/package/qml/ui/FolderListPage.qml:850
848+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:853
849+#: ../src/app/qml/ui/FolderListPage.qml:853
850+#: ../ssbuild/package/qml/ui/FolderListPage.qml:836
851+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:836
852 msgid "~/Programs"
853 msgstr ""
854
855-#: ../src/app/qml/ui/FolderListPage.qml:832
856+#: ../sbuild/package/qml/ui/FolderListPage.qml:852
857+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:855
858+#: ../src/app/qml/ui/FolderListPage.qml:855
859+#: ../ssbuild/package/qml/ui/FolderListPage.qml:838
860+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:838
861 msgid "~/Templates"
862 msgstr ""
863
864-#: ../src/app/qml/ui/FolderListPage.qml:850
865+#: ../sbuild/package/qml/ui/FolderListPage.qml:870
866+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:873
867+#: ../src/app/qml/ui/FolderListPage.qml:873
868+#: ../ssbuild/package/qml/ui/FolderListPage.qml:856
869+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:856
870 msgid "Home"
871 msgstr ""
872
873-#: ../src/app/qml/ui/FolderListPage.qml:854
874+#: ../sbuild/package/qml/ui/FolderListPage.qml:874
875+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:877
876+#: ../src/app/qml/ui/FolderListPage.qml:877
877+#: ../ssbuild/package/qml/ui/FolderListPage.qml:860
878+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:860
879 msgid "Network"
880 msgstr ""
881
882-#: ../src/app/qml/ui/FolderListPage.qml:955
883+#: ../sbuild/package/qml/ui/FolderListPage.qml:976
884+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:979
885+#: ../src/app/qml/ui/FolderListPage.qml:979
886+#: ../ssbuild/package/qml/ui/FolderListPage.qml:962
887+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:962
888 msgid "Folder not accessible"
889 msgstr ""
890
891 #. TRANSLATORS: this refers to a folder name
892-#: ../src/app/qml/ui/FolderListPage.qml:957
893+#: ../sbuild/package/qml/ui/FolderListPage.qml:978
894+#: ../sbuild/src/app/qml/ui/FolderListPage.qml:981
895+#: ../src/app/qml/ui/FolderListPage.qml:981
896+#: ../ssbuild/package/qml/ui/FolderListPage.qml:964
897+#: ../ssbuild/src/app/qml/ui/FolderListPage.qml:964
898 #, qt-format
899 msgid "Can not access %1"
900 msgstr ""
901
902+#: ../sbuild/package/qml/ui/GoToDialog.qml:26
903+#: ../sbuild/src/app/qml/ui/GoToDialog.qml:26
904 #: ../src/app/qml/ui/GoToDialog.qml:26
905+#: ../ssbuild/package/qml/ui/GoToDialog.qml:26
906+#: ../ssbuild/src/app/qml/ui/GoToDialog.qml:26
907 msgid "Go To Location"
908 msgstr ""
909
910+#: ../sbuild/package/qml/ui/GoToDialog.qml:28
911+#: ../sbuild/src/app/qml/ui/GoToDialog.qml:28
912 #: ../src/app/qml/ui/GoToDialog.qml:28
913+#: ../ssbuild/package/qml/ui/GoToDialog.qml:28
914+#: ../ssbuild/src/app/qml/ui/GoToDialog.qml:28
915 msgid "Enter a location to go to:"
916 msgstr ""
917
918+#: ../sbuild/package/qml/ui/GoToDialog.qml:45
919+#: ../sbuild/package/qml/ui/PlacesPage.qml:65
920+#: ../sbuild/package/qml/ui/PlacesPopover.qml:66
921+#: ../sbuild/src/app/qml/ui/GoToDialog.qml:45
922+#: ../sbuild/src/app/qml/ui/PlacesPage.qml:65
923+#: ../sbuild/src/app/qml/ui/PlacesPopover.qml:66
924 #: ../src/app/qml/ui/GoToDialog.qml:45 ../src/app/qml/ui/PlacesPage.qml:65
925 #: ../src/app/qml/ui/PlacesPopover.qml:66
926+#: ../ssbuild/package/qml/ui/GoToDialog.qml:45
927+#: ../ssbuild/package/qml/ui/PlacesPage.qml:65
928+#: ../ssbuild/package/qml/ui/PlacesPopover.qml:66
929+#: ../ssbuild/src/app/qml/ui/GoToDialog.qml:45
930+#: ../ssbuild/src/app/qml/ui/PlacesPage.qml:65
931+#: ../ssbuild/src/app/qml/ui/PlacesPopover.qml:66
932 msgid "Location..."
933 msgstr ""
934
935+#: ../sbuild/package/qml/ui/GoToDialog.qml:54
936+#: ../sbuild/package/qml/ui/PlacesPage.qml:80
937+#: ../sbuild/package/qml/ui/PlacesPopover.qml:81
938+#: ../sbuild/src/app/qml/ui/GoToDialog.qml:54
939+#: ../sbuild/src/app/qml/ui/PlacesPage.qml:80
940+#: ../sbuild/src/app/qml/ui/PlacesPopover.qml:81
941 #: ../src/app/qml/ui/GoToDialog.qml:54 ../src/app/qml/ui/PlacesPage.qml:80
942 #: ../src/app/qml/ui/PlacesPopover.qml:81
943+#: ../ssbuild/package/qml/ui/GoToDialog.qml:54
944+#: ../ssbuild/package/qml/ui/PlacesPage.qml:80
945+#: ../ssbuild/package/qml/ui/PlacesPopover.qml:81
946+#: ../ssbuild/src/app/qml/ui/GoToDialog.qml:54
947+#: ../ssbuild/src/app/qml/ui/PlacesPage.qml:80
948+#: ../ssbuild/src/app/qml/ui/PlacesPopover.qml:81
949 msgid "Go"
950 msgstr ""
951
952+#: ../sbuild/package/qml/ui/NetAuthenticationDialog.qml:55
953+#: ../sbuild/src/app/qml/ui/NetAuthenticationDialog.qml:55
954 #: ../src/app/qml/ui/NetAuthenticationDialog.qml:55
955+#: ../ssbuild/package/qml/ui/NetAuthenticationDialog.qml:55
956+#: ../ssbuild/src/app/qml/ui/NetAuthenticationDialog.qml:55
957 msgid "User"
958 msgstr ""
959
960+#: ../sbuild/package/qml/ui/NetAuthenticationDialog.qml:66
961+#: ../sbuild/src/app/qml/ui/NetAuthenticationDialog.qml:66
962 #: ../src/app/qml/ui/NetAuthenticationDialog.qml:66
963+#: ../ssbuild/package/qml/ui/NetAuthenticationDialog.qml:66
964+#: ../ssbuild/src/app/qml/ui/NetAuthenticationDialog.qml:66
965 msgid "Password"
966 msgstr ""
967
968+#: ../sbuild/package/qml/ui/NetAuthenticationDialog.qml:79
969+#: ../sbuild/src/app/qml/ui/NetAuthenticationDialog.qml:79
970 #: ../src/app/qml/ui/NetAuthenticationDialog.qml:79
971+#: ../ssbuild/package/qml/ui/NetAuthenticationDialog.qml:79
972+#: ../ssbuild/src/app/qml/ui/NetAuthenticationDialog.qml:79
973 msgid "Save password"
974 msgstr ""
975
976+#: ../sbuild/package/qml/ui/NetAuthenticationDialog.qml:98
977+#: ../sbuild/src/app/qml/ui/NetAuthenticationDialog.qml:98
978 #: ../src/app/qml/ui/NetAuthenticationDialog.qml:98
979+#: ../ssbuild/package/qml/ui/NetAuthenticationDialog.qml:98
980+#: ../ssbuild/src/app/qml/ui/NetAuthenticationDialog.qml:98
981 msgid "Ok"
982 msgstr ""
983
984+#: ../sbuild/package/qml/ui/SettingsSheet.qml:45
985+#: ../sbuild/src/app/qml/ui/SettingsSheet.qml:45
986 #: ../src/app/qml/ui/SettingsSheet.qml:45
987+#: ../ssbuild/package/qml/ui/SettingsSheet.qml:45
988+#: ../ssbuild/src/app/qml/ui/SettingsSheet.qml:45
989 msgid "Show Advanced Features"
990 msgstr ""
991
992+#: ../sbuild/package/qml/ui/ViewPopover.qml:39
993+#: ../sbuild/src/app/qml/ui/ViewPopover.qml:39
994 #: ../src/app/qml/ui/ViewPopover.qml:39
995+#: ../ssbuild/package/qml/ui/ViewPopover.qml:39
996+#: ../ssbuild/src/app/qml/ui/ViewPopover.qml:39
997 msgid "Show Hidden Files"
998 msgstr ""
999
1000+#: ../sbuild/package/qml/ui/ViewPopover.qml:59
1001+#: ../sbuild/src/app/qml/ui/ViewPopover.qml:59
1002 #: ../src/app/qml/ui/ViewPopover.qml:59
1003+#: ../ssbuild/package/qml/ui/ViewPopover.qml:59
1004+#: ../ssbuild/src/app/qml/ui/ViewPopover.qml:59
1005 msgid "View As"
1006 msgstr ""
1007
1008+#: ../sbuild/package/qml/ui/ViewPopover.qml:81
1009+#: ../sbuild/src/app/qml/ui/ViewPopover.qml:81
1010 #: ../src/app/qml/ui/ViewPopover.qml:81
1011+#: ../ssbuild/package/qml/ui/ViewPopover.qml:81
1012+#: ../ssbuild/src/app/qml/ui/ViewPopover.qml:81
1013 msgid "Sort By"
1014 msgstr ""
1015
1016+#: ../sbuild/package/qml/ui/ViewPopover.qml:92
1017+#: ../sbuild/src/app/qml/ui/ViewPopover.qml:92
1018 #: ../src/app/qml/ui/ViewPopover.qml:92
1019+#: ../ssbuild/package/qml/ui/ViewPopover.qml:92
1020+#: ../ssbuild/src/app/qml/ui/ViewPopover.qml:92
1021 msgid "Name"
1022 msgstr ""
1023
1024+#: ../sbuild/package/qml/ui/ViewPopover.qml:93
1025+#: ../sbuild/src/app/qml/ui/ViewPopover.qml:93
1026 #: ../src/app/qml/ui/ViewPopover.qml:93
1027+#: ../ssbuild/package/qml/ui/ViewPopover.qml:93
1028+#: ../ssbuild/src/app/qml/ui/ViewPopover.qml:93
1029 msgid "Date"
1030 msgstr ""
1031
1032+#: ../sbuild/package/qml/ui/ViewPopover.qml:103
1033+#: ../sbuild/src/app/qml/ui/ViewPopover.qml:103
1034 #: ../src/app/qml/ui/ViewPopover.qml:103
1035+#: ../ssbuild/package/qml/ui/ViewPopover.qml:103
1036+#: ../ssbuild/src/app/qml/ui/ViewPopover.qml:103
1037 msgid "Sort Order"
1038 msgstr ""
1039
1040+#: ../sbuild/package/qml/ui/ViewPopover.qml:114
1041+#: ../sbuild/package/qml/ui/ViewPopover.qml:119
1042+#: ../sbuild/src/app/qml/ui/ViewPopover.qml:114
1043+#: ../sbuild/src/app/qml/ui/ViewPopover.qml:119
1044 #: ../src/app/qml/ui/ViewPopover.qml:114 ../src/app/qml/ui/ViewPopover.qml:119
1045+#: ../ssbuild/package/qml/ui/ViewPopover.qml:114
1046+#: ../ssbuild/package/qml/ui/ViewPopover.qml:119
1047+#: ../ssbuild/src/app/qml/ui/ViewPopover.qml:114
1048+#: ../ssbuild/src/app/qml/ui/ViewPopover.qml:119
1049 msgid "Ascending"
1050 msgstr ""
1051
1052+#: ../sbuild/package/qml/ui/ViewPopover.qml:115
1053+#: ../sbuild/src/app/qml/ui/ViewPopover.qml:115
1054 #: ../src/app/qml/ui/ViewPopover.qml:115
1055+#: ../ssbuild/package/qml/ui/ViewPopover.qml:115
1056+#: ../ssbuild/src/app/qml/ui/ViewPopover.qml:115
1057 msgid "Descending"
1058 msgstr ""
1059
1060+#: ../sbuild/package/qml/ui/ViewPopover.qml:127
1061+#: ../sbuild/src/app/qml/ui/ViewPopover.qml:127
1062 #: ../src/app/qml/ui/ViewPopover.qml:127
1063+#: ../ssbuild/package/qml/ui/ViewPopover.qml:127
1064+#: ../ssbuild/src/app/qml/ui/ViewPopover.qml:127
1065 msgid "Filter"
1066 msgstr ""
1067
1068@@ -547,6 +1072,12 @@
1069 msgid "cannot write in "
1070 msgstr ""
1071
1072-#: com.ubuntu.filemanager.desktop.in.in.h:1
1073-msgid "File Manager"
1074+#: ../ssbuild/package/qml/filemanager.qml:316
1075+#: ../ssbuild/src/app/qml/filemanager.qml:316
1076+msgid "Files imported"
1077+msgstr ""
1078+
1079+#: ../ssbuild/package/qml/filemanager.qml:317
1080+#: ../ssbuild/src/app/qml/filemanager.qml:317
1081+msgid "Files imported into: "
1082 msgstr ""
1083
1084=== modified file 'src/app/qml/components/NetAuthenticationHandler.qml'
1085--- src/app/qml/components/NetAuthenticationHandler.qml 2016-01-18 10:32:34 +0000
1086+++ src/app/qml/components/NetAuthenticationHandler.qml 2016-07-19 17:00:39 +0000
1087@@ -7,9 +7,14 @@
1088 objectName: "netAuthenticatinHandler"
1089
1090 property bool savePassword: true
1091+ property var dialogObject: null
1092+
1093 function showDialog(urlPath,user) {
1094- console.log("needsAuthenticationHandler::showDialog()")
1095- netAuthenticationDialog.showDialog(urlPath,user)
1096+ if (dialogObject)
1097+ return
1098+
1099+ dialogObject = PopupUtils.open(netAuthenticationDialogComponent)
1100+ dialogObject.showDialog(urlPath,user)
1101 }
1102
1103 Timer {
1104@@ -26,15 +31,22 @@
1105 }
1106 }
1107
1108- NetAuthenticationDialog {
1109- id: netAuthenticationDialog
1110- onSavePasswordChanged: {
1111- savePassword = check
1112- console.log("NetAuthenticationHandler savePassword="+savePassword)
1113- }
1114- onOk: {
1115- if (!authTimer.running) {
1116- authTimer.start()
1117+ Component {
1118+ id: netAuthenticationDialogComponent
1119+
1120+ NetAuthenticationDialog {
1121+ id: netAuthenticationDialog
1122+ onSavePasswordChanged: {
1123+ savePassword = check
1124+ console.log("NetAuthenticationHandler savePassword="+savePassword)
1125+ }
1126+ onOk: {
1127+ if (!authTimer.running) {
1128+ authTimer.start()
1129+ }
1130+ }
1131+ Component.onDestruction: {
1132+ netAuthenticatinHandler.dialogObject = null
1133 }
1134 }
1135 }
1136
1137=== modified file 'src/app/qml/components/PathHistoryRow.qml'
1138--- src/app/qml/components/PathHistoryRow.qml 2016-06-05 06:58:11 +0000
1139+++ src/app/qml/components/PathHistoryRow.qml 2016-07-19 17:00:39 +0000
1140@@ -147,7 +147,8 @@
1141 text: pathText(folder,index)
1142 fontSize: flickable.textSize
1143 anchors.verticalCenter: parent.verticalCenter
1144- color: repeater.model === index + 1 ? UbuntuColors.inkstone : UbuntuColors.inkstone
1145+ color: UbuntuColors.inkstone
1146+ opacity: repeater.model === index + 1 ? 1.0 : 0.3
1147 clip: true
1148
1149 /* Maximum Width = Flickable Width */
1150@@ -162,6 +163,7 @@
1151 anchors.verticalCenter: parent.verticalCenter
1152 anchors.right: label.left
1153 color: UbuntuColors.inkstone
1154+ opacity: label.opacity
1155 // clip: true
1156 }
1157 }
1158@@ -193,6 +195,7 @@
1159 fontSize: flickable.textSize
1160 anchors.verticalCenter: parent.verticalCenter
1161 color: UbuntuColors.inkstone
1162+ opacity: 0.3
1163 clip: true
1164
1165 /* Maximum Width = Flickable Width */
1166@@ -207,6 +210,7 @@
1167 anchors.verticalCenter: parent.verticalCenter
1168 anchors.right: memoryLabel.left
1169 color: UbuntuColors.inkstone
1170+ opacity: 0.3
1171 // clip: true
1172 }
1173 }
1174
1175=== modified file 'src/app/qml/filemanager.qml'
1176--- src/app/qml/filemanager.qml 2016-03-16 16:15:41 +0000
1177+++ src/app/qml/filemanager.qml 2016-07-19 17:00:39 +0000
1178@@ -42,6 +42,8 @@
1179 property bool loaded: false
1180
1181 property bool allowSidebarExpanded: width > units.gu(50)
1182+ property bool fullAccessGranted: noAuthentication || !pamAuthentication.requireAuthentication()
1183+
1184
1185 onAllowSidebarExpandedChanged: {
1186 if (!allowSidebarExpanded)
1187@@ -58,6 +60,7 @@
1188 id: fileSelector
1189 property var activeTransfer: null
1190 property var fileSelectorComponent: null
1191+ property bool importMode: false
1192 }
1193
1194 Component {
1195@@ -101,8 +104,10 @@
1196 tabs.selectedTabIndex = 0
1197 }
1198
1199- function openFileSelector() {
1200- pageStack.push(fileSelectorComponent, { fileSelectorMode: true} )
1201+ function openFileSelector(selectFolderMode) {
1202+ fileSelector.fileSelectorComponent = pageStack.push(Qt.resolvedUrl("./ui/FolderListPage.qml"), { fileSelectorMode: !selectFolderMode,
1203+ folderSelectorMode: selectFolderMode,
1204+ folder: userplaces.locationHome})
1205 }
1206
1207 function cancelFileSelector() {
1208@@ -114,38 +119,62 @@
1209
1210 function acceptFileSelector(fileUrls) {
1211 console.log("accept file selector " + fileUrls)
1212- var results = fileUrls.map(function(fileUrl) {
1213+ if (fileSelector.importMode) {
1214+ importFiles(fileSelector.activeTransfer, fileUrls[0])
1215+ }
1216+ else
1217+ {
1218+ exportFiles(fileSelector.activeTransfer, fileUrls)
1219+ }
1220+ }
1221+
1222+ function openLocalFile(filePath) {
1223+ pageStack.push(Qt.resolvedUrl("content-hub/FileOpener.qml"), { fileUrl: "file://" + filePath} )
1224+ }
1225+
1226+ function startImport(activeTransfer) {
1227+ if (activeTransfer.state === ContentTransfer.Charged) {
1228+ fileSelector.activeTransfer = activeTransfer
1229+ fileSelector.importMode = true
1230+ openFileSelector(true)
1231+ }
1232+ }
1233+
1234+ function importFiles(activeTransfer, destDir) {
1235+ var fileNames = []
1236+ for(var i=0; i < activeTransfer.items.length; i++) {
1237+ var item = activeTransfer.items[i]
1238+ var uniqueName = fileSelector.fileSelectorComponent.newFileUniqueName(destDir,
1239+ fileSelector.fileSelectorComponent.basename(String(item.url)))
1240+ console.log("Move file to:" + destDir + " with name: " + uniqueName)
1241+ activeTransfer.items[i].move(destDir, uniqueName)
1242+ fileNames.push(uniqueName)
1243+ }
1244+ finishImport(destDir, fileNames)
1245+ }
1246+
1247+ function exportFiles(activeTransfer, filesUrls) {
1248+ var results = filesUrls.map(function(fileUrl) {
1249 return fileSelectorResultComponent.createObject(mainView, {"url": fileUrl})
1250 })
1251
1252- if (fileSelector.activeTransfer !== null) {
1253- fileSelector.activeTransfer.items = results
1254- fileSelector.activeTransfer.state = ContentTransfer.Charged
1255+ if (activeTransfer !== null) {
1256+ activeTransfer.items = results
1257+ activeTransfer.state = ContentTransfer.Charged
1258 console.log("set activeTransfer")
1259 } else {
1260 console.log("activeTransfer null, not setting, testing code")
1261 }
1262 }
1263
1264- function openLocalFile(filePath) {
1265- pageStack.push(Qt.resolvedUrl("content-hub/FileOpener.qml"), { fileUrl: "file://" + filePath} )
1266- }
1267-
1268 Connections {
1269 target: ContentHub
1270 onExportRequested: {
1271 fileSelector.activeTransfer = transfer
1272- openFileSelector()
1273- }
1274- }
1275-
1276- Component {
1277- id: fileSelectorComponent
1278-
1279- FolderListPage {
1280- // TODO: remember last selection
1281- folder: userplaces.locationHome
1282- }
1283+ openFileSelector(false)
1284+ }
1285+ onImportRequested: startImport(transfer)
1286+ onShareRequested: startImport(transfer)
1287 }
1288
1289 PageStack {
1290@@ -275,6 +304,20 @@
1291 })
1292 }
1293
1294+ function finishImport(folder, urls) {
1295+ var count = urls.length
1296+
1297+ pageStack.pop()
1298+ fileSelector.fileSelectorComponent = null
1299+ pageStack.currentPage.currentPage.folder = folder
1300+ pageStack.currentPage.currentPage.refresh()
1301+ PopupUtils.open(Qt.resolvedUrl("./ui/NotifyDialog.qml"), mainView,
1302+ {
1303+ title: (count === 1 ? i18n.tr("File %1").arg(urls[0]) : i18n.tr("%1 Files").arg(count)),
1304+ text: i18n.tr("Saved to: %1").arg(folder)
1305+ })
1306+ }
1307+
1308 Keys.onPressed: {
1309 print("Key pressed!")
1310 event.accepted = tabs.currentPage.keyPressed(event.key, event.modifiers)
1311
1312=== modified file 'src/app/qml/ui/ConfirmDialogWithInput.qml'
1313--- src/app/qml/ui/ConfirmDialogWithInput.qml 2016-01-18 10:32:34 +0000
1314+++ src/app/qml/ui/ConfirmDialogWithInput.qml 2016-07-19 17:00:39 +0000
1315@@ -37,6 +37,8 @@
1316 id: input
1317 objectName: "inputField"
1318 focus: true
1319+ // Avoid need to press enter to make "Ok" button enabled.
1320+ inputMethodHints: Qt.ImhNoPredictiveText | Qt.ImhNoAutoUppercase
1321 validator: RegExpValidator {
1322 regExp: /.+/
1323 }
1324
1325=== modified file 'src/app/qml/ui/FolderListPage.qml'
1326--- src/app/qml/ui/FolderListPage.qml 2016-06-05 06:58:11 +0000
1327+++ src/app/qml/ui/FolderListPage.qml 2016-07-19 17:00:39 +0000
1328@@ -27,6 +27,7 @@
1329
1330 PageWithBottomEdge {
1331 id: folderListPage
1332+
1333 bottomEdgeTitle: i18n.tr("Places")
1334 bottomEdgeEnabled: !sidebar.expanded
1335 bottomEdgePageSource: Qt.resolvedUrl("PlacesPage.qml")
1336@@ -91,6 +92,7 @@
1337 objectName: "createFolder"
1338 iconName: "add"
1339 text: i18n.tr("New Folder")
1340+ visible: folderListPage.__pathIsWritable
1341 onTriggered: {
1342 print(text)
1343 PopupUtils.open(createFolderDialog, folderListPage)
1344@@ -134,7 +136,7 @@
1345 authDialog.passwordEntered.connect(function(password) {
1346 if (pamAuthentication.validatePasswordToken(password)) {
1347 console.log("Authenticated for full access")
1348- pageModel.onlyAllowedPaths = false
1349+ mainView.fullAccessGranted = true
1350 } else {
1351 PopupUtils.open(Qt.resolvedUrl("NotifyDialog.qml"), folderListPage,
1352 {
1353@@ -157,9 +159,13 @@
1354 property bool sortAscending: true
1355 property string folder
1356 property bool loading: pageModel.awaitingResults
1357+ property bool __pathIsWritable: false
1358+
1359
1360 // Set to true if called as file selector for ContentHub
1361 property bool fileSelectorMode: false
1362+ property bool folderSelectorMode: false
1363+ readonly property bool selectionMode: fileSelectorMode || folderSelectorMode
1364
1365 property FolderListSelection selectionManager: pageModel.selectionObject()
1366
1367@@ -209,7 +215,7 @@
1368 id: pageModel
1369 path: folderListPage.folder
1370 enableExternalFSWatcher: true
1371- onlyAllowedPaths: !noAuthentication && pamAuthentication.requireAuthentication()
1372+ onlyAllowedPaths: !mainView.fullAccessGranted
1373
1374 // Properties to emulate a model entry for use by FileDetailsPopover
1375 property bool isDir: true
1376@@ -218,6 +224,14 @@
1377 property bool isReadable: true
1378 property bool isExecutable: true
1379
1380+ function checkIfIsWritable() {
1381+ if (pageModel.path) {
1382+ folderListPage.__pathIsWritable = pageModel.curPathIsWritable() &&
1383+ (!pageModel.onlyAllowedPaths || pageModel.isAllowedPath(path))
1384+ }
1385+ }
1386+
1387+
1388 Component.onCompleted: {
1389 // Add default allowed paths
1390 addAllowedDirectory(userplaces.locationDocuments)
1391@@ -236,6 +250,8 @@
1392 console.log("onDownloadTemporaryComplete received filename="+filename + "name="+nameOnly)
1393 openFromDisk(filename, nameOnly)
1394 }
1395+ onOnlyAllowedPathsChanged: checkIfIsWritable()
1396+ onPathChanged: checkIfIsWritable()
1397 }
1398
1399 FolderListModel {
1400@@ -285,7 +301,10 @@
1401 onAccepted: {
1402 console.log("Create folder accepted", inputText)
1403 if (inputText !== '') {
1404- pageModel.mkdir(inputText)
1405+ var folderName = inputText.trim()
1406+ if (pageModel.mkdir(folderName)) {
1407+ folder = pageModel.path + "/" + folderName
1408+ }
1409 } else {
1410 console.log("Empty directory name, ignored")
1411 }
1412@@ -343,26 +362,30 @@
1413 width: parent.width - sidebar.width
1414
1415 spacing: units.gu(2)
1416- visible: fileSelectorMode || pageModel.onlyAllowedPaths
1417+ visible: selectionMode || pageModel.onlyAllowedPaths
1418
1419 Button {
1420 text: i18n.tr("Select")
1421- enabled: selectionManager.counter > 0
1422- visible: fileSelectorMode
1423+ enabled: (selectionManager.counter > 0) || (folderSelectorMode && folderListPage.__pathIsWritable)
1424+ visible: selectionMode
1425 onClicked: {
1426- var selectedAbsPaths = selectionManager.selectedAbsFilePaths();
1427- // For now support only selection in filesystem
1428- var selectedAbsUrls = selectedAbsPaths.map(function(item) {
1429- return "file://" + item;
1430- });
1431+ var selectedAbsUrls = []
1432+ if (folderSelectorMode) {
1433+ selectedAbsUrls = [ folder ]
1434+ } else {
1435+ var selectedAbsPaths = selectionManager.selectedAbsFilePaths();
1436+ // For now support only selection in filesystem
1437+ selectedAbsUrls = selectedAbsPaths.map(function(item) {
1438+ return "file://" + item;
1439+ });
1440+ }
1441 console.log("FileSelector OK clicked, selected items: " + selectedAbsUrls)
1442-
1443 acceptFileSelector(selectedAbsUrls)
1444 }
1445 }
1446 Button {
1447 text: i18n.tr("Cancel")
1448- visible: fileSelectorMode
1449+ visible: selectionMode
1450 onClicked: {
1451 console.log("FileSelector cancelled")
1452 cancelFileSelector()
1453@@ -493,8 +516,8 @@
1454 onAccepted: {
1455 console.log("Rename accepted", inputText)
1456 if (inputText !== '') {
1457- console.log("Rename commensed, modelRow/inputText", modelRow, inputText)
1458- if (pageModel.rename(modelRow, inputText) === false) {
1459+ console.log("Rename commensed, modelRow/inputText", modelRow, inputText.trim())
1460+ if (pageModel.rename(modelRow, inputText.trim()) === false) {
1461 PopupUtils.open(Qt.resolvedUrl("NotifyDialog.qml"), delegate,
1462 {
1463 title: i18n.tr("Could not rename"),
1464@@ -948,6 +971,7 @@
1465 console.log("Changing to dir", model.filePath)
1466 //prefer pageModel.cdIntoIndex() because it is not necessary to parse the path
1467 //goTo(model.filePath)
1468+ folder = model.filePath
1469 pageModel.cdIntoIndex(model.index)
1470 } else {
1471 PopupUtils.open(Qt.resolvedUrl("NotifyDialog.qml"), delegate,
1472@@ -962,7 +986,7 @@
1473 console.log("Non dir clicked")
1474 if (fileSelectorMode) {
1475 selectionManager.select(model.index,false,true)
1476- } else {
1477+ } else if (!folderSelectorMode){
1478 openFile(model)
1479 }
1480 }
1481@@ -1022,6 +1046,20 @@
1482 }
1483 }
1484
1485+ function newFileUniqueName(filePath, fileName) {
1486+ var fileBaseName = fileName.substring(0, fileName.lastIndexOf("."))
1487+ var fileExtension = fileName.substring(fileName.lastIndexOf(".") + 1)
1488+ var fullName = filePath + "/" + fileName
1489+ var index = 1
1490+
1491+ while (pageModel.existsFile(fullName)) {
1492+ fullName = filePath + "/" + fileBaseName + "-" + index + "." + fileExtension;
1493+ index++
1494+ }
1495+
1496+ return fullName.substring(fullName.lastIndexOf("/") + 1);
1497+ }
1498+
1499 Component.onCompleted: {
1500 forceActiveFocus()
1501 }
1502
1503=== modified file 'src/plugin/folderlistmodel/dirmodel.h'
1504--- src/plugin/folderlistmodel/dirmodel.h 2015-12-08 16:55:41 +0000
1505+++ src/plugin/folderlistmodel/dirmodel.h 2016-07-19 17:00:39 +0000
1506@@ -453,6 +453,7 @@
1507 inline void removeAllowedDirectory(const QString &allowedDirAbsolutePath) {
1508 m_allowedDirs.remove(allowedDirAbsolutePath);
1509 }
1510+ bool isAllowedPath(const QString &absolutePath) const;
1511
1512 signals:
1513 /*!
1514@@ -563,7 +564,6 @@
1515
1516 bool allowAccess(const DirItemInfo &fi) const;
1517 bool allowCurrentPathAccess() const;
1518- bool isAllowedPath(const QString &absolutePath) const;
1519 };
1520
1521
1522
1523=== modified file 'ubuntu-filemanager-app.json'
1524--- ubuntu-filemanager-app.json 2014-08-01 02:41:53 +0000
1525+++ ubuntu-filemanager-app.json 2016-07-19 17:00:39 +0000
1526@@ -4,5 +4,5 @@
1527 "content_exchange_source",
1528 "content_exchange"
1529 ],
1530- "policy_version": 1
1531-}
1532\ No newline at end of file
1533+ "policy_version": 1.3
1534+}

Subscribers

People subscribed via source and target branches