Merge lp:~dpniel/ubuntu-filemanager-app/new-page-header into lp:ubuntu-filemanager-app
- new-page-header
- Merge into trunk
Status: | Merged |
---|---|
Approved by: | Alan Pope πΊπ§π± π¦ |
Approved revision: | 543 |
Merged at revision: | 543 |
Proposed branch: | lp:~dpniel/ubuntu-filemanager-app/new-page-header |
Merge into: | lp:ubuntu-filemanager-app |
Prerequisite: | lp:~dpniel/ubuntu-filemanager-app/fix-1588252 |
Diff against target: |
910 lines (+249/-253) 5 files modified
po/com.ubuntu.filemanager.pot (+64/-68) src/app/qml/components/PathHistoryRow.qml (+42/-52) src/app/qml/ui/FolderListPage.qml (+130/-123) src/app/qml/ui/PlacesPage.qml (+5/-4) src/app/qml/ui/SettingsSheet.qml (+8/-6) |
To merge this branch: | bzr merge lp:~dpniel/ubuntu-filemanager-app/new-page-header |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Alan Pope πΊπ§π± π¦ (community) | Approve | ||
Jenkins Bot | continuous-integration | Approve | |
Review via email: mp+296499@code.launchpad.net |
Commit message
Migrate to using the latest PageHeader API
This required a few changes in PathHistoryRow so it aligned properly
plus i quickly replaced the Rectangle's that really weren't needed???
Description of the change
Migrate to using the latest PageHeader API.
Dan Chapman ξΏ (dpniel) wrote : | # |
Jenkins Bot (ubuntu-core-apps-jenkins-bot) wrote : | # |
PASSED: Continuous integration, rev:541
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
- 542. By Dan Chapman ξΏ
-
Fix build dir included in translations
Jenkins Bot (ubuntu-core-apps-jenkins-bot) wrote : | # |
PASSED: Continuous integration, rev:542
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
Alan Pope πΊπ§π± π¦ (popey) wrote : | # |
Settings page seems blank after this change?
Dan Chapman ξΏ (dpniel) wrote : | # |
Oh forgot about the settings page :-) Probably because it's named as SettingsSheet so i missed it. I'll update that as well.
- 543. By Dan Chapman ξΏ
-
Fix settings page content hiding behind header :-p
Jenkins Bot (ubuntu-core-apps-jenkins-bot) wrote : | # |
PASSED: Continuous integration, rev:543
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
Alan Pope πΊπ§π± π¦ (popey) wrote : | # |
That's better! Thanks Dan!
Preview Diff
1 | === modified file 'po/com.ubuntu.filemanager.pot' | |||
2 | --- po/com.ubuntu.filemanager.pot 2016-06-05 06:28:30 +0000 | |||
3 | +++ po/com.ubuntu.filemanager.pot 2016-06-09 11:18:31 +0000 | |||
4 | @@ -8,7 +8,7 @@ | |||
5 | 8 | msgstr "" | 8 | msgstr "" |
6 | 9 | "Project-Id-Version: \n" | 9 | "Project-Id-Version: \n" |
7 | 10 | "Report-Msgid-Bugs-To: \n" | 10 | "Report-Msgid-Bugs-To: \n" |
9 | 11 | "POT-Creation-Date: 2016-06-05 07:23+0100\n" | 11 | "POT-Creation-Date: 2016-06-09 12:17+0100\n" |
10 | 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
11 | 13 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | 13 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
12 | 14 | "Language-Team: LANGUAGE <LL@li.org>\n" | 14 | "Language-Team: LANGUAGE <LL@li.org>\n" |
13 | @@ -26,13 +26,13 @@ | |||
14 | 26 | msgstr[0] "" | 26 | msgstr[0] "" |
15 | 27 | msgstr[1] "" | 27 | msgstr[1] "" |
16 | 28 | 28 | ||
19 | 29 | #: ../src/app/qml/components/PathHistoryRow.qml:84 | 29 | #: ../src/app/qml/components/PathHistoryRow.qml:89 |
20 | 30 | #: ../src/app/qml/ui/FolderListPage.qml:845 | 30 | #: ../src/app/qml/ui/FolderListPage.qml:852 |
21 | 31 | msgid "Device" | 31 | msgid "Device" |
22 | 32 | msgstr "" | 32 | msgstr "" |
23 | 33 | 33 | ||
24 | 34 | #: ../src/app/qml/components/PlacesSidebar.qml:54 | 34 | #: ../src/app/qml/components/PlacesSidebar.qml:54 |
26 | 35 | #: ../src/app/qml/ui/FolderListPage.qml:31 ../src/app/qml/ui/PlacesPage.qml:27 | 35 | #: ../src/app/qml/ui/FolderListPage.qml:30 ../src/app/qml/ui/PlacesPage.qml:31 |
27 | 36 | #: ../src/app/qml/ui/PlacesPopover.qml:102 | 36 | #: ../src/app/qml/ui/PlacesPopover.qml:102 |
28 | 37 | msgid "Places" | 37 | msgid "Places" |
29 | 38 | msgstr "" | 38 | msgstr "" |
30 | @@ -41,8 +41,8 @@ | |||
31 | 41 | msgid "Open with" | 41 | msgid "Open with" |
32 | 42 | msgstr "" | 42 | msgstr "" |
33 | 43 | 43 | ||
36 | 44 | #: ../src/app/qml/filemanager.qml:80 ../src/app/qml/ui/FolderListPage.qml:107 | 44 | #: ../src/app/qml/filemanager.qml:80 ../src/app/qml/ui/FolderListPage.qml:112 |
37 | 45 | #: ../src/app/qml/ui/SettingsSheet.qml:31 | 45 | #: ../src/app/qml/ui/SettingsSheet.qml:33 |
38 | 46 | msgid "Settings" | 46 | msgid "Settings" |
39 | 47 | msgstr "" | 47 | msgstr "" |
40 | 48 | 48 | ||
41 | @@ -50,12 +50,12 @@ | |||
42 | 50 | msgid "Change app settings" | 50 | msgid "Change app settings" |
43 | 51 | msgstr "" | 51 | msgstr "" |
44 | 52 | 52 | ||
46 | 53 | #: ../src/app/qml/filemanager.qml:258 ../src/app/qml/ui/FolderListPage.qml:379 | 53 | #: ../src/app/qml/filemanager.qml:258 ../src/app/qml/ui/FolderListPage.qml:386 |
47 | 54 | #: ../src/app/qml/ui/ViewPopover.qml:70 | 54 | #: ../src/app/qml/ui/ViewPopover.qml:70 |
48 | 55 | msgid "Icons" | 55 | msgid "Icons" |
49 | 56 | msgstr "" | 56 | msgstr "" |
50 | 57 | 57 | ||
52 | 58 | #: ../src/app/qml/filemanager.qml:258 ../src/app/qml/ui/FolderListPage.qml:395 | 58 | #: ../src/app/qml/filemanager.qml:258 ../src/app/qml/ui/FolderListPage.qml:402 |
53 | 59 | #: ../src/app/qml/ui/ViewPopover.qml:71 | 59 | #: ../src/app/qml/ui/ViewPopover.qml:71 |
54 | 60 | msgid "List" | 60 | msgid "List" |
55 | 61 | msgstr "" | 61 | msgstr "" |
56 | @@ -76,7 +76,7 @@ | |||
57 | 76 | #: ../src/app/qml/ui/AuthenticationDialog.qml:49 | 76 | #: ../src/app/qml/ui/AuthenticationDialog.qml:49 |
58 | 77 | #: ../src/app/qml/ui/ConfirmDialog.qml:31 | 77 | #: ../src/app/qml/ui/ConfirmDialog.qml:31 |
59 | 78 | #: ../src/app/qml/ui/ConfirmDialogWithInput.qml:47 | 78 | #: ../src/app/qml/ui/ConfirmDialogWithInput.qml:47 |
61 | 79 | #: ../src/app/qml/ui/FolderListPage.qml:679 | 79 | #: ../src/app/qml/ui/FolderListPage.qml:686 |
62 | 80 | #: ../src/app/qml/ui/NotifyDialog.qml:25 | 80 | #: ../src/app/qml/ui/NotifyDialog.qml:25 |
63 | 81 | msgid "OK" | 81 | msgid "OK" |
64 | 82 | msgstr "" | 82 | msgstr "" |
65 | @@ -86,9 +86,9 @@ | |||
66 | 86 | #: ../src/app/qml/ui/ConfirmDialogWithInput.qml:57 | 86 | #: ../src/app/qml/ui/ConfirmDialogWithInput.qml:57 |
67 | 87 | #: ../src/app/qml/ui/FileActionDialog.qml:45 | 87 | #: ../src/app/qml/ui/FileActionDialog.qml:45 |
68 | 88 | #: ../src/app/qml/ui/FileOperationProgressDialog.qml:44 | 88 | #: ../src/app/qml/ui/FileOperationProgressDialog.qml:44 |
72 | 89 | #: ../src/app/qml/ui/FolderListPage.qml:357 | 89 | #: ../src/app/qml/ui/FolderListPage.qml:364 |
73 | 90 | #: ../src/app/qml/ui/FolderListPage.qml:670 | 90 | #: ../src/app/qml/ui/FolderListPage.qml:677 |
74 | 91 | #: ../src/app/qml/ui/FolderListPage.qml:737 ../src/app/qml/ui/GoToDialog.qml:67 | 91 | #: ../src/app/qml/ui/FolderListPage.qml:744 ../src/app/qml/ui/GoToDialog.qml:67 |
75 | 92 | #: ../src/app/qml/ui/NetAuthenticationDialog.qml:108 | 92 | #: ../src/app/qml/ui/NetAuthenticationDialog.qml:108 |
76 | 93 | msgid "Cancel" | 93 | msgid "Cancel" |
77 | 94 | msgstr "" | 94 | msgstr "" |
78 | @@ -150,195 +150,195 @@ | |||
79 | 150 | msgid "File operation" | 150 | msgid "File operation" |
80 | 151 | msgstr "" | 151 | msgstr "" |
81 | 152 | 152 | ||
83 | 153 | #: ../src/app/qml/ui/FolderListPage.qml:57 | 153 | #: ../src/app/qml/ui/FolderListPage.qml:62 |
84 | 154 | #, qt-format | 154 | #, qt-format |
85 | 155 | msgid "Paste %1 File" | 155 | msgid "Paste %1 File" |
86 | 156 | msgid_plural "Paste %1 Files" | 156 | msgid_plural "Paste %1 Files" |
87 | 157 | msgstr[0] "" | 157 | msgstr[0] "" |
88 | 158 | msgstr[1] "" | 158 | msgstr[1] "" |
89 | 159 | 159 | ||
91 | 160 | #: ../src/app/qml/ui/FolderListPage.qml:61 | 160 | #: ../src/app/qml/ui/FolderListPage.qml:66 |
92 | 161 | msgid "Paste files" | 161 | msgid "Paste files" |
93 | 162 | msgstr "" | 162 | msgstr "" |
94 | 163 | 163 | ||
96 | 164 | #: ../src/app/qml/ui/FolderListPage.qml:69 | 164 | #: ../src/app/qml/ui/FolderListPage.qml:74 |
97 | 165 | msgid "Clear clipboard" | 165 | msgid "Clear clipboard" |
98 | 166 | msgstr "" | 166 | msgstr "" |
99 | 167 | 167 | ||
103 | 168 | #: ../src/app/qml/ui/FolderListPage.qml:79 | 168 | #: ../src/app/qml/ui/FolderListPage.qml:84 |
104 | 169 | #: ../src/app/qml/ui/FolderListPage.qml:97 | 169 | #: ../src/app/qml/ui/FolderListPage.qml:102 |
105 | 170 | #: ../src/app/qml/ui/FolderListPage.qml:607 | 170 | #: ../src/app/qml/ui/FolderListPage.qml:614 |
106 | 171 | msgid "Properties" | 171 | msgid "Properties" |
107 | 172 | msgstr "" | 172 | msgstr "" |
108 | 173 | 173 | ||
110 | 174 | #: ../src/app/qml/ui/FolderListPage.qml:88 | 174 | #: ../src/app/qml/ui/FolderListPage.qml:93 |
111 | 175 | msgid "New Folder" | 175 | msgid "New Folder" |
112 | 176 | msgstr "" | 176 | msgstr "" |
113 | 177 | 177 | ||
115 | 178 | #: ../src/app/qml/ui/FolderListPage.qml:115 | 178 | #: ../src/app/qml/ui/FolderListPage.qml:120 |
116 | 179 | msgid "Go To" | 179 | msgid "Go To" |
117 | 180 | msgstr "" | 180 | msgstr "" |
118 | 181 | 181 | ||
120 | 182 | #: ../src/app/qml/ui/FolderListPage.qml:122 | 182 | #: ../src/app/qml/ui/FolderListPage.qml:127 |
121 | 183 | msgid "Unlock full access" | 183 | msgid "Unlock full access" |
122 | 184 | msgstr "" | 184 | msgstr "" |
123 | 185 | 185 | ||
125 | 186 | #: ../src/app/qml/ui/FolderListPage.qml:136 | 186 | #: ../src/app/qml/ui/FolderListPage.qml:141 |
126 | 187 | msgid "Authentication failed" | 187 | msgid "Authentication failed" |
127 | 188 | msgstr "" | 188 | msgstr "" |
128 | 189 | 189 | ||
130 | 190 | #: ../src/app/qml/ui/FolderListPage.qml:210 | 190 | #: ../src/app/qml/ui/FolderListPage.qml:217 |
131 | 191 | #, qt-format | 191 | #, qt-format |
132 | 192 | msgid "%1 file" | 192 | msgid "%1 file" |
133 | 193 | msgid_plural "%1 files" | 193 | msgid_plural "%1 files" |
134 | 194 | msgstr[0] "" | 194 | msgstr[0] "" |
135 | 195 | msgstr[1] "" | 195 | msgstr[1] "" |
136 | 196 | 196 | ||
138 | 197 | #: ../src/app/qml/ui/FolderListPage.qml:254 | 197 | #: ../src/app/qml/ui/FolderListPage.qml:261 |
139 | 198 | msgid "Open in a new tab" | 198 | msgid "Open in a new tab" |
140 | 199 | msgstr "" | 199 | msgstr "" |
141 | 200 | 200 | ||
143 | 201 | #: ../src/app/qml/ui/FolderListPage.qml:262 | 201 | #: ../src/app/qml/ui/FolderListPage.qml:269 |
144 | 202 | msgid "Close this tab" | 202 | msgid "Close this tab" |
145 | 203 | msgstr "" | 203 | msgstr "" |
146 | 204 | 204 | ||
148 | 205 | #: ../src/app/qml/ui/FolderListPage.qml:275 | 205 | #: ../src/app/qml/ui/FolderListPage.qml:282 |
149 | 206 | msgid "Create folder" | 206 | msgid "Create folder" |
150 | 207 | msgstr "" | 207 | msgstr "" |
151 | 208 | 208 | ||
153 | 209 | #: ../src/app/qml/ui/FolderListPage.qml:276 | 209 | #: ../src/app/qml/ui/FolderListPage.qml:283 |
154 | 210 | msgid "Enter name for new folder" | 210 | msgid "Enter name for new folder" |
155 | 211 | msgstr "" | 211 | msgstr "" |
156 | 212 | 212 | ||
158 | 213 | #: ../src/app/qml/ui/FolderListPage.qml:292 | 213 | #: ../src/app/qml/ui/FolderListPage.qml:299 |
159 | 214 | msgid "Create file" | 214 | msgid "Create file" |
160 | 215 | msgstr "" | 215 | msgstr "" |
161 | 216 | 216 | ||
163 | 217 | #: ../src/app/qml/ui/FolderListPage.qml:293 | 217 | #: ../src/app/qml/ui/FolderListPage.qml:300 |
164 | 218 | msgid "Enter name for new file" | 218 | msgid "Enter name for new file" |
165 | 219 | msgstr "" | 219 | msgstr "" |
166 | 220 | 220 | ||
168 | 221 | #: ../src/app/qml/ui/FolderListPage.qml:342 | 221 | #: ../src/app/qml/ui/FolderListPage.qml:349 |
169 | 222 | msgid "Select" | 222 | msgid "Select" |
170 | 223 | msgstr "" | 223 | msgstr "" |
171 | 224 | 224 | ||
173 | 225 | #: ../src/app/qml/ui/FolderListPage.qml:439 | 225 | #: ../src/app/qml/ui/FolderListPage.qml:446 |
174 | 226 | msgid "No files" | 226 | msgid "No files" |
175 | 227 | msgstr "" | 227 | msgstr "" |
176 | 228 | 228 | ||
179 | 229 | #: ../src/app/qml/ui/FolderListPage.qml:459 | 229 | #: ../src/app/qml/ui/FolderListPage.qml:466 |
180 | 230 | #: ../src/app/qml/ui/FolderListPage.qml:568 | 230 | #: ../src/app/qml/ui/FolderListPage.qml:575 |
181 | 231 | msgid "Delete" | 231 | msgid "Delete" |
182 | 232 | msgstr "" | 232 | msgstr "" |
183 | 233 | 233 | ||
185 | 234 | #: ../src/app/qml/ui/FolderListPage.qml:460 | 234 | #: ../src/app/qml/ui/FolderListPage.qml:467 |
186 | 235 | #, qt-format | 235 | #, qt-format |
187 | 236 | msgid "Are you sure you want to permanently delete '%1'?" | 236 | msgid "Are you sure you want to permanently delete '%1'?" |
188 | 237 | msgstr "" | 237 | msgstr "" |
189 | 238 | 238 | ||
191 | 239 | #: ../src/app/qml/ui/FolderListPage.qml:465 | 239 | #: ../src/app/qml/ui/FolderListPage.qml:472 |
192 | 240 | msgid "Deleting files" | 240 | msgid "Deleting files" |
193 | 241 | msgstr "" | 241 | msgstr "" |
194 | 242 | 242 | ||
197 | 243 | #: ../src/app/qml/ui/FolderListPage.qml:483 | 243 | #: ../src/app/qml/ui/FolderListPage.qml:490 |
198 | 244 | #: ../src/app/qml/ui/FolderListPage.qml:581 | 244 | #: ../src/app/qml/ui/FolderListPage.qml:588 |
199 | 245 | msgid "Rename" | 245 | msgid "Rename" |
200 | 246 | msgstr "" | 246 | msgstr "" |
201 | 247 | 247 | ||
203 | 248 | #: ../src/app/qml/ui/FolderListPage.qml:484 | 248 | #: ../src/app/qml/ui/FolderListPage.qml:491 |
204 | 249 | msgid "Enter a new name" | 249 | msgid "Enter a new name" |
205 | 250 | msgstr "" | 250 | msgstr "" |
206 | 251 | 251 | ||
208 | 252 | #: ../src/app/qml/ui/FolderListPage.qml:493 | 252 | #: ../src/app/qml/ui/FolderListPage.qml:500 |
209 | 253 | msgid "Could not rename" | 253 | msgid "Could not rename" |
210 | 254 | msgstr "" | 254 | msgstr "" |
211 | 255 | 255 | ||
213 | 256 | #: ../src/app/qml/ui/FolderListPage.qml:494 | 256 | #: ../src/app/qml/ui/FolderListPage.qml:501 |
214 | 257 | msgid "Insufficient permissions or name already exists?" | 257 | msgid "Insufficient permissions or name already exists?" |
215 | 258 | msgstr "" | 258 | msgstr "" |
216 | 259 | 259 | ||
218 | 260 | #: ../src/app/qml/ui/FolderListPage.qml:512 | 260 | #: ../src/app/qml/ui/FolderListPage.qml:519 |
219 | 261 | msgid "Extract Archive" | 261 | msgid "Extract Archive" |
220 | 262 | msgstr "" | 262 | msgstr "" |
221 | 263 | 263 | ||
223 | 264 | #: ../src/app/qml/ui/FolderListPage.qml:513 | 264 | #: ../src/app/qml/ui/FolderListPage.qml:520 |
224 | 265 | #, qt-format | 265 | #, qt-format |
225 | 266 | msgid "Are you sure you want to extract '%1' here?" | 266 | msgid "Are you sure you want to extract '%1' here?" |
226 | 267 | msgstr "" | 267 | msgstr "" |
227 | 268 | 268 | ||
229 | 269 | #: ../src/app/qml/ui/FolderListPage.qml:545 | 269 | #: ../src/app/qml/ui/FolderListPage.qml:552 |
230 | 270 | msgid "Cut" | 270 | msgid "Cut" |
231 | 271 | msgstr "" | 271 | msgstr "" |
232 | 272 | 272 | ||
234 | 273 | #: ../src/app/qml/ui/FolderListPage.qml:556 | 273 | #: ../src/app/qml/ui/FolderListPage.qml:563 |
235 | 274 | msgid "Copy" | 274 | msgid "Copy" |
236 | 275 | msgstr "" | 275 | msgstr "" |
237 | 276 | 276 | ||
240 | 277 | #: ../src/app/qml/ui/FolderListPage.qml:596 | 277 | #: ../src/app/qml/ui/FolderListPage.qml:603 |
241 | 278 | #: ../src/app/qml/ui/FolderListPage.qml:717 | 278 | #: ../src/app/qml/ui/FolderListPage.qml:724 |
242 | 279 | msgid "Extract archive" | 279 | msgid "Extract archive" |
243 | 280 | msgstr "" | 280 | msgstr "" |
244 | 281 | 281 | ||
246 | 282 | #: ../src/app/qml/ui/FolderListPage.qml:627 | 282 | #: ../src/app/qml/ui/FolderListPage.qml:634 |
247 | 283 | msgid "File operation error" | 283 | msgid "File operation error" |
248 | 284 | msgstr "" | 284 | msgstr "" |
249 | 285 | 285 | ||
251 | 286 | #: ../src/app/qml/ui/FolderListPage.qml:658 | 286 | #: ../src/app/qml/ui/FolderListPage.qml:665 |
252 | 287 | #, qt-format | 287 | #, qt-format |
253 | 288 | msgid "Extracting archive '%1'" | 288 | msgid "Extracting archive '%1'" |
254 | 289 | msgstr "" | 289 | msgstr "" |
255 | 290 | 290 | ||
257 | 291 | #: ../src/app/qml/ui/FolderListPage.qml:694 | 291 | #: ../src/app/qml/ui/FolderListPage.qml:701 |
258 | 292 | msgid "Extracting failed" | 292 | msgid "Extracting failed" |
259 | 293 | msgstr "" | 293 | msgstr "" |
260 | 294 | 294 | ||
262 | 295 | #: ../src/app/qml/ui/FolderListPage.qml:695 | 295 | #: ../src/app/qml/ui/FolderListPage.qml:702 |
263 | 296 | #, qt-format | 296 | #, qt-format |
264 | 297 | msgid "Extracting the archive '%1' failed." | 297 | msgid "Extracting the archive '%1' failed." |
265 | 298 | msgstr "" | 298 | msgstr "" |
266 | 299 | 299 | ||
268 | 300 | #: ../src/app/qml/ui/FolderListPage.qml:709 | 300 | #: ../src/app/qml/ui/FolderListPage.qml:716 |
269 | 301 | msgid "Archive file" | 301 | msgid "Archive file" |
270 | 302 | msgstr "" | 302 | msgstr "" |
271 | 303 | 303 | ||
273 | 304 | #: ../src/app/qml/ui/FolderListPage.qml:710 | 304 | #: ../src/app/qml/ui/FolderListPage.qml:717 |
274 | 305 | msgid "Do you want to extract the archive here?" | 305 | msgid "Do you want to extract the archive here?" |
275 | 306 | msgstr "" | 306 | msgstr "" |
276 | 307 | 307 | ||
278 | 308 | #: ../src/app/qml/ui/FolderListPage.qml:727 | 308 | #: ../src/app/qml/ui/FolderListPage.qml:734 |
279 | 309 | msgid "Open with another app" | 309 | msgid "Open with another app" |
280 | 310 | msgstr "" | 310 | msgstr "" |
281 | 311 | 311 | ||
283 | 312 | #: ../src/app/qml/ui/FolderListPage.qml:811 | 312 | #: ../src/app/qml/ui/FolderListPage.qml:818 |
284 | 313 | msgid "~/Desktop" | 313 | msgid "~/Desktop" |
285 | 314 | msgstr "" | 314 | msgstr "" |
286 | 315 | 315 | ||
288 | 316 | #: ../src/app/qml/ui/FolderListPage.qml:821 | 316 | #: ../src/app/qml/ui/FolderListPage.qml:828 |
289 | 317 | msgid "~/Public" | 317 | msgid "~/Public" |
290 | 318 | msgstr "" | 318 | msgstr "" |
291 | 319 | 319 | ||
293 | 320 | #: ../src/app/qml/ui/FolderListPage.qml:823 | 320 | #: ../src/app/qml/ui/FolderListPage.qml:830 |
294 | 321 | msgid "~/Programs" | 321 | msgid "~/Programs" |
295 | 322 | msgstr "" | 322 | msgstr "" |
296 | 323 | 323 | ||
298 | 324 | #: ../src/app/qml/ui/FolderListPage.qml:825 | 324 | #: ../src/app/qml/ui/FolderListPage.qml:832 |
299 | 325 | msgid "~/Templates" | 325 | msgid "~/Templates" |
300 | 326 | msgstr "" | 326 | msgstr "" |
301 | 327 | 327 | ||
303 | 328 | #: ../src/app/qml/ui/FolderListPage.qml:843 | 328 | #: ../src/app/qml/ui/FolderListPage.qml:850 |
304 | 329 | msgid "Home" | 329 | msgid "Home" |
305 | 330 | msgstr "" | 330 | msgstr "" |
306 | 331 | 331 | ||
308 | 332 | #: ../src/app/qml/ui/FolderListPage.qml:847 | 332 | #: ../src/app/qml/ui/FolderListPage.qml:854 |
309 | 333 | msgid "Network" | 333 | msgid "Network" |
310 | 334 | msgstr "" | 334 | msgstr "" |
311 | 335 | 335 | ||
313 | 336 | #: ../src/app/qml/ui/FolderListPage.qml:948 | 336 | #: ../src/app/qml/ui/FolderListPage.qml:955 |
314 | 337 | msgid "Folder not accessible" | 337 | msgid "Folder not accessible" |
315 | 338 | msgstr "" | 338 | msgstr "" |
316 | 339 | 339 | ||
317 | 340 | #. TRANSLATORS: this refers to a folder name | 340 | #. TRANSLATORS: this refers to a folder name |
319 | 341 | #: ../src/app/qml/ui/FolderListPage.qml:950 | 341 | #: ../src/app/qml/ui/FolderListPage.qml:957 |
320 | 342 | #, qt-format | 342 | #, qt-format |
321 | 343 | msgid "Can not access %1" | 343 | msgid "Can not access %1" |
322 | 344 | msgstr "" | 344 | msgstr "" |
323 | @@ -351,12 +351,12 @@ | |||
324 | 351 | msgid "Enter a location to go to:" | 351 | msgid "Enter a location to go to:" |
325 | 352 | msgstr "" | 352 | msgstr "" |
326 | 353 | 353 | ||
328 | 354 | #: ../src/app/qml/ui/GoToDialog.qml:45 ../src/app/qml/ui/PlacesPage.qml:63 | 354 | #: ../src/app/qml/ui/GoToDialog.qml:45 ../src/app/qml/ui/PlacesPage.qml:65 |
329 | 355 | #: ../src/app/qml/ui/PlacesPopover.qml:66 | 355 | #: ../src/app/qml/ui/PlacesPopover.qml:66 |
330 | 356 | msgid "Location..." | 356 | msgid "Location..." |
331 | 357 | msgstr "" | 357 | msgstr "" |
332 | 358 | 358 | ||
334 | 359 | #: ../src/app/qml/ui/GoToDialog.qml:54 ../src/app/qml/ui/PlacesPage.qml:78 | 359 | #: ../src/app/qml/ui/GoToDialog.qml:54 ../src/app/qml/ui/PlacesPage.qml:80 |
335 | 360 | #: ../src/app/qml/ui/PlacesPopover.qml:81 | 360 | #: ../src/app/qml/ui/PlacesPopover.qml:81 |
336 | 361 | msgid "Go" | 361 | msgid "Go" |
337 | 362 | msgstr "" | 362 | msgstr "" |
338 | @@ -377,11 +377,7 @@ | |||
339 | 377 | msgid "Ok" | 377 | msgid "Ok" |
340 | 378 | msgstr "" | 378 | msgstr "" |
341 | 379 | 379 | ||
347 | 380 | #: ../src/app/qml/ui/SettingsSheet.qml:34 | 380 | #: ../src/app/qml/ui/SettingsSheet.qml:45 |
343 | 381 | msgid "Close" | ||
344 | 382 | msgstr "" | ||
345 | 383 | |||
346 | 384 | #: ../src/app/qml/ui/SettingsSheet.qml:43 | ||
348 | 385 | msgid "Show Advanced Features" | 381 | msgid "Show Advanced Features" |
349 | 386 | msgstr "" | 382 | msgstr "" |
350 | 387 | 383 | ||
351 | 388 | 384 | ||
352 | === modified file 'src/app/qml/components/PathHistoryRow.qml' | |||
353 | --- src/app/qml/components/PathHistoryRow.qml 2016-04-06 14:51:26 +0000 | |||
354 | +++ src/app/qml/components/PathHistoryRow.qml 2016-06-09 11:18:31 +0000 | |||
355 | @@ -20,13 +20,22 @@ | |||
356 | 20 | import Ubuntu.Components.ListItems 1.3 | 20 | import Ubuntu.Components.ListItems 1.3 |
357 | 21 | 21 | ||
358 | 22 | /* Full path of your current folder and recent history, that you can jump to by clicking its members */ | 22 | /* Full path of your current folder and recent history, that you can jump to by clicking its members */ |
359 | 23 | |||
360 | 24 | |||
361 | 23 | Flickable { | 25 | Flickable { |
362 | 24 | id: flickable | 26 | id: flickable |
364 | 25 | 27 | anchors { | |
365 | 28 | fill: parent | ||
366 | 29 | topMargin: units.gu(1) | ||
367 | 30 | rightMargin: units.gu(1) | ||
368 | 31 | bottomMargin: units.gu(1) | ||
369 | 32 | } | ||
370 | 26 | /* Convenience properties ; used a large amount of times to warrant a variable */ | 33 | /* Convenience properties ; used a large amount of times to warrant a variable */ |
371 | 27 | property int iconWidth: units.gu(2.5) | 34 | property int iconWidth: units.gu(2.5) |
372 | 28 | property string textSize: "large" | 35 | property string textSize: "large" |
373 | 29 | property string separatorText: " /" | 36 | property string separatorText: " /" |
374 | 37 | |||
375 | 38 | |||
376 | 30 | /* contentWidth equals this to allow it to hide Device and Home */ | 39 | /* contentWidth equals this to allow it to hide Device and Home */ |
377 | 31 | contentWidth: { | 40 | contentWidth: { |
378 | 32 | repeater.model > 0 ? | 41 | repeater.model > 0 ? |
379 | @@ -35,11 +44,8 @@ | |||
380 | 35 | : width + row.width - repeater.itemAt(repeater.model-1).width | 44 | : width + row.width - repeater.itemAt(repeater.model-1).width |
381 | 36 | : width + memoryRow.width - memoryRepeater.itemAt(memoryRepeater.model-1).width | 45 | : width + memoryRow.width - memoryRepeater.itemAt(memoryRepeater.model-1).width |
382 | 37 | } | 46 | } |
383 | 38 | height: units.gu(7) | ||
384 | 39 | anchors { | 47 | anchors { |
388 | 40 | left: parent.left // back.right | 48 | fill: parent |
386 | 41 | right: parent.right | ||
387 | 42 | rightMargin: units.gu(1) | ||
389 | 43 | } | 49 | } |
390 | 44 | clip: true | 50 | clip: true |
391 | 45 | boundsBehavior: Flickable.StopAtBounds | 51 | boundsBehavior: Flickable.StopAtBounds |
392 | @@ -52,6 +58,11 @@ | |||
393 | 52 | /* Flickable Contents */ | 58 | /* Flickable Contents */ |
394 | 53 | Row { | 59 | Row { |
395 | 54 | id: row | 60 | id: row |
396 | 61 | anchors { | ||
397 | 62 | left: parent.left | ||
398 | 63 | top: parent.top | ||
399 | 64 | bottom: parent.bottom | ||
400 | 65 | } | ||
401 | 55 | spacing: 0 // Safety; having any spacing will throw off the contentX calculations. | 66 | spacing: 0 // Safety; having any spacing will throw off the contentX calculations. |
402 | 56 | 67 | ||
403 | 57 | function repositionScrollable() { | 68 | function repositionScrollable() { |
404 | @@ -61,23 +72,17 @@ | |||
405 | 61 | flickable.contentX = row.width - repeater.itemAt(repeater.model - 1).width | 72 | flickable.contentX = row.width - repeater.itemAt(repeater.model - 1).width |
406 | 62 | } | 73 | } |
407 | 63 | } | 74 | } |
408 | 64 | |||
409 | 65 | Timer { | ||
410 | 66 | id: repositionTimer | ||
411 | 67 | onTriggered: repositionScrollabe() | ||
412 | 68 | } | ||
413 | 69 | |||
414 | 70 | /* Adjust contentX according to the current folder */ | 75 | /* Adjust contentX according to the current folder */ |
415 | 71 | onWidthChanged: { | 76 | onWidthChanged: { |
416 | 72 | repositionScrollable() | 77 | repositionScrollable() |
417 | 73 | } | 78 | } |
418 | 74 | 79 | ||
419 | 75 | /* Root Folder displayed as "Device" */ | 80 | /* Root Folder displayed as "Device" */ |
421 | 76 | Rectangle { | 81 | AbstractButton { |
422 | 77 | id: device | 82 | id: device |
426 | 78 | width: deviceLabel.contentWidth + flickable.iconWidth | 83 | width: deviceLabel.width + flickable.iconWidth |
427 | 79 | height: units.gu(7) | 84 | height: parent.height |
428 | 80 | color: "transparent" | 85 | onClicked: goTo("/") |
429 | 81 | 86 | ||
430 | 82 | Label { | 87 | Label { |
431 | 83 | id: deviceLabel | 88 | id: deviceLabel |
432 | @@ -89,13 +94,6 @@ | |||
433 | 89 | /* Maximum Width = Flickable Width */ | 94 | /* Maximum Width = Flickable Width */ |
434 | 90 | width: if (contentWidth > flickable.width) { flickable.width } | 95 | width: if (contentWidth > flickable.width) { flickable.width } |
435 | 91 | } | 96 | } |
436 | 92 | |||
437 | 93 | MouseArea { | ||
438 | 94 | anchors.fill: parent | ||
439 | 95 | onClicked: { | ||
440 | 96 | goTo("/") | ||
441 | 97 | } | ||
442 | 98 | } | ||
443 | 99 | } | 97 | } |
444 | 100 | 98 | ||
445 | 101 | /* Current Directory and its parents */ | 99 | /* Current Directory and its parents */ |
446 | @@ -128,11 +126,21 @@ | |||
447 | 128 | // console.log("Memory Path = " + memoryPath) | 126 | // console.log("Memory Path = " + memoryPath) |
448 | 129 | } | 127 | } |
449 | 130 | 128 | ||
451 | 131 | delegate: Rectangle { | 129 | delegate: AbstractButton { |
452 | 132 | visible: folder !== "/" // This is to avoid issues with naming the root folder, "Device" | 130 | visible: folder !== "/" // This is to avoid issues with naming the root folder, "Device" |
453 | 133 | width: label.width + pathSeparator.width | 131 | width: label.width + pathSeparator.width |
456 | 134 | height: units.gu(7) | 132 | height: row.height |
457 | 135 | color: "transparent" | 133 | onClicked: { |
458 | 134 | // When clicking on an already selected item, go up one level. Otherwise go to | ||
459 | 135 | // the clicked item. This behaviour is to make it easy to go up in the folder | ||
460 | 136 | // hierarchy now that the "back" button goes back in history and not up the directory | ||
461 | 137 | // hierarchy | ||
462 | 138 | if (repeater.model === index + 1) { | ||
463 | 139 | goUp() | ||
464 | 140 | } else { | ||
465 | 141 | goTo(pathRaw(folder, index)) | ||
466 | 142 | } | ||
467 | 143 | } | ||
468 | 136 | 144 | ||
469 | 137 | Label { | 145 | Label { |
470 | 138 | id: label | 146 | id: label |
471 | @@ -156,21 +164,6 @@ | |||
472 | 156 | color: UbuntuColors.inkstone | 164 | color: UbuntuColors.inkstone |
473 | 157 | // clip: true | 165 | // clip: true |
474 | 158 | } | 166 | } |
475 | 159 | |||
476 | 160 | MouseArea { | ||
477 | 161 | anchors.fill: parent | ||
478 | 162 | onClicked: { | ||
479 | 163 | // When clicking on an already selected item, go up one level. Otherwise go to | ||
480 | 164 | // the clicked item. This behaviour is to make it easy to go up in the folder | ||
481 | 165 | // hierarchy now that the "back" button goes back in history and not up the directory | ||
482 | 166 | // hierarchy | ||
483 | 167 | if (repeater.model === index + 1) { | ||
484 | 168 | goUp() | ||
485 | 169 | } else { | ||
486 | 170 | goTo(pathRaw(folder, index)) | ||
487 | 171 | } | ||
488 | 172 | } | ||
489 | 173 | } | ||
490 | 174 | } | 167 | } |
491 | 175 | } | 168 | } |
492 | 176 | } | 169 | } |
493 | @@ -178,17 +171,20 @@ | |||
494 | 178 | /* Memory of Previously visited folders */ | 171 | /* Memory of Previously visited folders */ |
495 | 179 | Row { | 172 | Row { |
496 | 180 | id: memoryRow | 173 | id: memoryRow |
499 | 181 | anchors.left: row.right // Not placed in the other row, to help avoid making contentX calculations more complicated. | 174 | anchors { |
500 | 182 | 175 | top: parent.top | |
501 | 176 | bottom: parent.bottom | ||
502 | 177 | left: row.right // Not placed in the other row, to help avoid making contentX calculations more complicated. | ||
503 | 178 | } | ||
504 | 183 | /* Previously visited folders */ | 179 | /* Previously visited folders */ |
505 | 184 | Repeater { | 180 | Repeater { |
506 | 185 | id: memoryRepeater | 181 | id: memoryRepeater |
507 | 186 | model: repeater.memoryModel - repeater.model | 182 | model: repeater.memoryModel - repeater.model |
508 | 187 | 183 | ||
510 | 188 | delegate: Rectangle { | 184 | delegate: AbstractButton { |
511 | 189 | width: memoryLabel.width + memoryPathSeparator.width | 185 | width: memoryLabel.width + memoryPathSeparator.width |
514 | 190 | height: units.gu(7) | 186 | height: memoryRow.height |
515 | 191 | color: "transparent" | 187 | onClicked: goTo(pathRaw(repeater.memoryPath, repeater.memoryModel-memoryRepeater.model+index)) |
516 | 192 | 188 | ||
517 | 193 | Label { | 189 | Label { |
518 | 194 | id: memoryLabel | 190 | id: memoryLabel |
519 | @@ -213,14 +209,8 @@ | |||
520 | 213 | color: UbuntuColors.inkstone | 209 | color: UbuntuColors.inkstone |
521 | 214 | // clip: true | 210 | // clip: true |
522 | 215 | } | 211 | } |
523 | 216 | |||
524 | 217 | MouseArea { | ||
525 | 218 | anchors.fill: parent | ||
526 | 219 | onClicked: { | ||
527 | 220 | goTo(pathRaw(repeater.memoryPath, repeater.memoryModel-memoryRepeater.model+index)) | ||
528 | 221 | } | ||
529 | 222 | } | ||
530 | 223 | } | 212 | } |
531 | 224 | } | 213 | } |
532 | 225 | } | 214 | } |
533 | 226 | } | 215 | } |
534 | 216 | |||
535 | 227 | 217 | ||
536 | === modified file 'src/app/qml/ui/FolderListPage.qml' | |||
537 | --- src/app/qml/ui/FolderListPage.qml 2016-06-05 06:28:30 +0000 | |||
538 | +++ src/app/qml/ui/FolderListPage.qml 2016-06-09 11:18:31 +0000 | |||
539 | @@ -27,124 +27,129 @@ | |||
540 | 27 | 27 | ||
541 | 28 | PageWithBottomEdge { | 28 | PageWithBottomEdge { |
542 | 29 | id: folderListPage | 29 | id: folderListPage |
543 | 30 | title: basename(folder) | ||
544 | 31 | bottomEdgeTitle: i18n.tr("Places") | 30 | bottomEdgeTitle: i18n.tr("Places") |
545 | 32 | bottomEdgeEnabled: !sidebar.expanded | 31 | bottomEdgeEnabled: !sidebar.expanded |
546 | 33 | bottomEdgePageSource: Qt.resolvedUrl("PlacesPage.qml") | 32 | bottomEdgePageSource: Qt.resolvedUrl("PlacesPage.qml") |
547 | 34 | 33 | ||
558 | 35 | head.contents: PathHistoryRow {} | 34 | header: PageHeader { |
559 | 36 | 35 | title: basename(folder) | |
560 | 37 | /* Go to last folder visited */ | 36 | contents: PathHistoryRow {} |
561 | 38 | head.backAction: Action { | 37 | flickable: !sidebar.expanded ? |
562 | 39 | id: back | 38 | (folderListView.visible ? folderListView.flickable : folderIconView.flickable) : null |
563 | 40 | objectName: "back" | 39 | leadingActionBar.actions: [ |
564 | 41 | iconName: "back" | 40 | /* Go to last folder visited */ |
565 | 42 | 41 | Action { | |
566 | 43 | onTriggered: { | 42 | id: back |
567 | 44 | goBack() | 43 | objectName: "back" |
568 | 44 | iconName: "back" | ||
569 | 45 | |||
570 | 46 | onTriggered: { | ||
571 | 47 | goBack() | ||
572 | 48 | } | ||
573 | 49 | } | ||
574 | 50 | ] | ||
575 | 51 | trailingActionBar { | ||
576 | 52 | numberOfSlots: 3 | ||
577 | 53 | actions: [ | ||
578 | 54 | Action { | ||
579 | 55 | id: pasteButton | ||
580 | 56 | objectName: "paste" | ||
581 | 57 | iconName: "edit-paste" | ||
582 | 58 | // Translation message was implemented according to: | ||
583 | 59 | // http://developer.ubuntu.com/api/qml/sdk-14.04/Ubuntu.Components.i18n/ | ||
584 | 60 | // It allows correct translation for languages with more than two plural forms: | ||
585 | 61 | // http://localization-guide.readthedocs.org/en/latest/l10n/pluralforms.html | ||
586 | 62 | text: i18n.tr("Paste %1 File", "Paste %1 Files", pageModel.clipboardUrlsCounter).arg(pageModel.clipboardUrlsCounter) | ||
587 | 63 | visible: pageModel.clipboardUrlsCounter > 0 | ||
588 | 64 | onTriggered: { | ||
589 | 65 | console.log("Pasting to current folder items of count " + pageModel.clipboardUrlsCounter) | ||
590 | 66 | fileOperationDialog.startOperation(i18n.tr("Paste files")) | ||
591 | 67 | pageModel.paste() | ||
592 | 68 | } | ||
593 | 69 | }, | ||
594 | 70 | Action { | ||
595 | 71 | id: clearClipboardButton | ||
596 | 72 | objectName: "clearClipboard" | ||
597 | 73 | iconName: "edit-clear" | ||
598 | 74 | text: i18n.tr("Clear clipboard") | ||
599 | 75 | visible: pageModel.clipboardUrlsCounter > 0 | ||
600 | 76 | onTriggered: { | ||
601 | 77 | console.log("Clearing clipboard") | ||
602 | 78 | pageModel.clearClipboard() | ||
603 | 79 | } | ||
604 | 80 | }, | ||
605 | 81 | Action { | ||
606 | 82 | id: optionsButton | ||
607 | 83 | iconName: "view-list-symbolic" | ||
608 | 84 | text: i18n.tr("Properties") | ||
609 | 85 | onTriggered: { | ||
610 | 86 | PopupUtils.open(Qt.resolvedUrl("ViewPopover.qml"), parent) | ||
611 | 87 | } | ||
612 | 88 | }, | ||
613 | 89 | Action { | ||
614 | 90 | id: createNewFolder | ||
615 | 91 | objectName: "createFolder" | ||
616 | 92 | iconName: "add" | ||
617 | 93 | text: i18n.tr("New Folder") | ||
618 | 94 | onTriggered: { | ||
619 | 95 | print(text) | ||
620 | 96 | PopupUtils.open(createFolderDialog, folderListPage) | ||
621 | 97 | } | ||
622 | 98 | }, | ||
623 | 99 | Action { | ||
624 | 100 | id: viewProperties | ||
625 | 101 | iconName: "info" | ||
626 | 102 | text: i18n.tr("Properties") | ||
627 | 103 | onTriggered: { | ||
628 | 104 | print(text) | ||
629 | 105 | PopupUtils.open(Qt.resolvedUrl("FileDetailsPopover.qml"), folderListPage,{ "model": pageModel}) | ||
630 | 106 | } | ||
631 | 107 | }, | ||
632 | 108 | Action { | ||
633 | 109 | id: settingsButton | ||
634 | 110 | iconName: "settings" | ||
635 | 111 | objectName: "settings" | ||
636 | 112 | text: i18n.tr("Settings") | ||
637 | 113 | visible: sidebar.expanded | ||
638 | 114 | onTriggered: pageStack.push(settingsPage); | ||
639 | 115 | }, | ||
640 | 116 | Action { | ||
641 | 117 | id: gotoButton | ||
642 | 118 | iconName: "find" | ||
643 | 119 | objectName:"Find" | ||
644 | 120 | text: i18n.tr("Go To") | ||
645 | 121 | visible: sidebar.expanded | ||
646 | 122 | onTriggered: PopupUtils.open(Qt.resolvedUrl("GoToDialog.qml"), parent) | ||
647 | 123 | }, | ||
648 | 124 | Action { | ||
649 | 125 | id: unlockButton | ||
650 | 126 | iconName: "lock" | ||
651 | 127 | text: i18n.tr("Unlock full access") | ||
652 | 128 | visible: pageModel.onlyAllowedPaths | ||
653 | 129 | onTriggered: { | ||
654 | 130 | console.log("Full access clicked") | ||
655 | 131 | var authDialog = PopupUtils.open(Qt.resolvedUrl("AuthenticationDialog.qml"), | ||
656 | 132 | folderListPage) | ||
657 | 133 | |||
658 | 134 | authDialog.passwordEntered.connect(function(password) { | ||
659 | 135 | if (pamAuthentication.validatePasswordToken(password)) { | ||
660 | 136 | console.log("Authenticated for full access") | ||
661 | 137 | pageModel.onlyAllowedPaths = false | ||
662 | 138 | } else { | ||
663 | 139 | PopupUtils.open(Qt.resolvedUrl("NotifyDialog.qml"), folderListPage, | ||
664 | 140 | { | ||
665 | 141 | title: i18n.tr("Authentication failed") | ||
666 | 142 | }) | ||
667 | 143 | |||
668 | 144 | console.log("Could not authenticate") | ||
669 | 145 | } | ||
670 | 146 | }) | ||
671 | 147 | } | ||
672 | 148 | } | ||
673 | 149 | ] | ||
674 | 45 | } | 150 | } |
675 | 46 | } | 151 | } |
676 | 47 | 152 | ||
677 | 48 | head.actions: [ | ||
678 | 49 | Action { | ||
679 | 50 | id: pasteButton | ||
680 | 51 | objectName: "paste" | ||
681 | 52 | iconName: "edit-paste" | ||
682 | 53 | // Translation message was implemented according to: | ||
683 | 54 | // http://developer.ubuntu.com/api/qml/sdk-14.04/Ubuntu.Components.i18n/ | ||
684 | 55 | // It allows correct translation for languages with more than two plural forms: | ||
685 | 56 | // http://localization-guide.readthedocs.org/en/latest/l10n/pluralforms.html | ||
686 | 57 | text: i18n.tr("Paste %1 File", "Paste %1 Files", pageModel.clipboardUrlsCounter).arg(pageModel.clipboardUrlsCounter) | ||
687 | 58 | visible: pageModel.clipboardUrlsCounter > 0 | ||
688 | 59 | onTriggered: { | ||
689 | 60 | console.log("Pasting to current folder items of count " + pageModel.clipboardUrlsCounter) | ||
690 | 61 | fileOperationDialog.startOperation(i18n.tr("Paste files")) | ||
691 | 62 | pageModel.paste() | ||
692 | 63 | } | ||
693 | 64 | }, | ||
694 | 65 | Action { | ||
695 | 66 | id: clearClipboardButton | ||
696 | 67 | objectName: "clearClipboard" | ||
697 | 68 | iconName: "edit-clear" | ||
698 | 69 | text: i18n.tr("Clear clipboard") | ||
699 | 70 | visible: pageModel.clipboardUrlsCounter > 0 | ||
700 | 71 | onTriggered: { | ||
701 | 72 | console.log("Clearing clipboard") | ||
702 | 73 | pageModel.clearClipboard() | ||
703 | 74 | } | ||
704 | 75 | }, | ||
705 | 76 | Action { | ||
706 | 77 | id: optionsButton | ||
707 | 78 | iconName: "view-list-symbolic" | ||
708 | 79 | text: i18n.tr("Properties") | ||
709 | 80 | onTriggered: { | ||
710 | 81 | PopupUtils.open(Qt.resolvedUrl("ViewPopover.qml"), parent) | ||
711 | 82 | } | ||
712 | 83 | }, | ||
713 | 84 | Action { | ||
714 | 85 | id: createNewFolder | ||
715 | 86 | objectName: "createFolder" | ||
716 | 87 | iconName: "add" | ||
717 | 88 | text: i18n.tr("New Folder") | ||
718 | 89 | onTriggered: { | ||
719 | 90 | print(text) | ||
720 | 91 | PopupUtils.open(createFolderDialog, folderListPage) | ||
721 | 92 | } | ||
722 | 93 | }, | ||
723 | 94 | Action { | ||
724 | 95 | id: viewProperties | ||
725 | 96 | iconName: "info" | ||
726 | 97 | text: i18n.tr("Properties") | ||
727 | 98 | onTriggered: { | ||
728 | 99 | print(text) | ||
729 | 100 | PopupUtils.open(Qt.resolvedUrl("FileDetailsPopover.qml"), folderListPage,{ "model": pageModel}) | ||
730 | 101 | } | ||
731 | 102 | }, | ||
732 | 103 | Action { | ||
733 | 104 | id: settingsButton | ||
734 | 105 | iconName: "settings" | ||
735 | 106 | objectName: "settings" | ||
736 | 107 | text: i18n.tr("Settings") | ||
737 | 108 | visible: sidebar.expanded | ||
738 | 109 | onTriggered: pageStack.push(settingsPage); | ||
739 | 110 | }, | ||
740 | 111 | Action { | ||
741 | 112 | id: gotoButton | ||
742 | 113 | iconName: "find" | ||
743 | 114 | objectName:"Find" | ||
744 | 115 | text: i18n.tr("Go To") | ||
745 | 116 | visible: sidebar.expanded | ||
746 | 117 | onTriggered: PopupUtils.open(Qt.resolvedUrl("GoToDialog.qml"), parent) | ||
747 | 118 | }, | ||
748 | 119 | Action { | ||
749 | 120 | id: unlockButton | ||
750 | 121 | iconName: "lock" | ||
751 | 122 | text: i18n.tr("Unlock full access") | ||
752 | 123 | visible: pageModel.onlyAllowedPaths | ||
753 | 124 | onTriggered: { | ||
754 | 125 | console.log("Full access clicked") | ||
755 | 126 | var authDialog = PopupUtils.open(Qt.resolvedUrl("AuthenticationDialog.qml"), | ||
756 | 127 | folderListPage) | ||
757 | 128 | |||
758 | 129 | authDialog.passwordEntered.connect(function(password) { | ||
759 | 130 | if (pamAuthentication.validatePasswordToken(password)) { | ||
760 | 131 | console.log("Authenticated for full access") | ||
761 | 132 | pageModel.onlyAllowedPaths = false | ||
762 | 133 | } else { | ||
763 | 134 | PopupUtils.open(Qt.resolvedUrl("NotifyDialog.qml"), folderListPage, | ||
764 | 135 | { | ||
765 | 136 | title: i18n.tr("Authentication failed") | ||
766 | 137 | }) | ||
767 | 138 | |||
768 | 139 | console.log("Could not authenticate") | ||
769 | 140 | } | ||
770 | 141 | }) | ||
771 | 142 | } | ||
772 | 143 | } | ||
773 | 144 | ] | ||
774 | 145 | flickable: !sidebar.expanded ? | ||
775 | 146 | (folderListView.visible ? folderListView.flickable : folderIconView.flickable) : null | ||
776 | 147 | |||
777 | 148 | property variant fileView: folderListPage | 153 | property variant fileView: folderListPage |
778 | 149 | property bool showHiddenFiles: false | 154 | property bool showHiddenFiles: false |
779 | 150 | property bool showingListView: folderListView.visible | 155 | property bool showingListView: folderListView.visible |
780 | @@ -158,6 +163,8 @@ | |||
781 | 158 | 163 | ||
782 | 159 | property FolderListSelection selectionManager: pageModel.selectionObject() | 164 | property FolderListSelection selectionManager: pageModel.selectionObject() |
783 | 160 | 165 | ||
784 | 166 | readonly property bool __anchorToHeader: sidebar.expanded | ||
785 | 167 | |||
786 | 161 | onShowHiddenFilesChanged: { | 168 | onShowHiddenFilesChanged: { |
787 | 162 | pageModel.showHiddenFiles = folderListPage.showHiddenFiles | 169 | pageModel.showHiddenFiles = folderListPage.showHiddenFiles |
788 | 163 | } | 170 | } |
789 | @@ -306,12 +313,12 @@ | |||
790 | 306 | PlacesSidebar { | 313 | PlacesSidebar { |
791 | 307 | id: sidebar | 314 | id: sidebar |
792 | 308 | objectName: "placesSidebar" | 315 | objectName: "placesSidebar" |
799 | 309 | 316 | anchors { | |
800 | 310 | // anchors { | 317 | left: mode === "left" ? parent.left : undefined |
801 | 311 | // top: parent.top | 318 | right: mode === "right" ? parent.right : undefined |
802 | 312 | // bottom: parent.bottom | 319 | top: folderListPage.header.bottom |
803 | 313 | // bottomMargin: units.gu(-2) | 320 | bottom: parent.bottom |
804 | 314 | // } | 321 | } |
805 | 315 | 322 | ||
806 | 316 | expanded: showSidebar | 323 | expanded: showSidebar |
807 | 317 | } | 324 | } |
808 | @@ -370,7 +377,7 @@ | |||
809 | 370 | 377 | ||
810 | 371 | folderListModel: pageModel | 378 | folderListModel: pageModel |
811 | 372 | anchors { | 379 | anchors { |
813 | 373 | top: parent.top | 380 | top: __anchorToHeader ? folderListPage.header.bottom : parent.top |
814 | 374 | bottom: bottomBar.top | 381 | bottom: bottomBar.top |
815 | 375 | left: sidebar.right | 382 | left: sidebar.right |
816 | 376 | right: parent.right | 383 | right: parent.right |
817 | @@ -386,7 +393,7 @@ | |||
818 | 386 | 393 | ||
819 | 387 | folderListModel: pageModel | 394 | folderListModel: pageModel |
820 | 388 | anchors { | 395 | anchors { |
822 | 389 | top: parent.top | 396 | top: __anchorToHeader ? folderListPage.header.bottom : parent.top |
823 | 390 | bottom: bottomBar.top | 397 | bottom: bottomBar.top |
824 | 391 | left: sidebar.right | 398 | left: sidebar.right |
825 | 392 | right: parent.right | 399 | right: parent.right |
826 | @@ -829,7 +836,7 @@ | |||
827 | 829 | } else if (file === "/") { | 836 | } else if (file === "/") { |
828 | 830 | iconPath = "/usr/share/icons/Humanity/devices/48/drive-harddisk.svg" | 837 | iconPath = "/usr/share/icons/Humanity/devices/48/drive-harddisk.svg" |
829 | 831 | } else if (file === userplaces.locationSamba) { | 838 | } else if (file === userplaces.locationSamba) { |
831 | 832 | iconPath = "/usr/share/icons/Humanity/places/48/network_local.svg" | 839 | iconPath = "/usr/share/icons/Humanity/places/48/network_local.svg" |
832 | 833 | } else if (userplaces.isUserMountDirectory(file)) { | 840 | } else if (userplaces.isUserMountDirectory(file)) { |
833 | 834 | // In context of Ubuntu Touch this means SDCard currently. | 841 | // In context of Ubuntu Touch this means SDCard currently. |
834 | 835 | iconPath = "/usr/share/icons/Humanity/devices/48/drive-removable-media.svg" | 842 | iconPath = "/usr/share/icons/Humanity/devices/48/drive-removable-media.svg" |
835 | @@ -936,8 +943,8 @@ | |||
836 | 936 | if (model.isBrowsable) { | 943 | if (model.isBrowsable) { |
837 | 937 | console.log("browsable path="+model.filePath+" isRemote="+model.isRemote+" needsAuthentication="+model.needsAuthentication) | 944 | console.log("browsable path="+model.filePath+" isRemote="+model.isRemote+" needsAuthentication="+model.needsAuthentication) |
838 | 938 | if ((model.isReadable && model.isExecutable) || | 945 | if ((model.isReadable && model.isExecutable) || |
841 | 939 | (model.isRemote && model.needsAuthentication) //in this case it is necessary to generate the signal needsAuthentication() | 946 | (model.isRemote && model.needsAuthentication) //in this case it is necessary to generate the signal needsAuthentication() |
842 | 940 | ) { | 947 | ) { |
843 | 941 | console.log("Changing to dir", model.filePath) | 948 | console.log("Changing to dir", model.filePath) |
844 | 942 | //prefer pageModel.cdIntoIndex() because it is not necessary to parse the path | 949 | //prefer pageModel.cdIntoIndex() because it is not necessary to parse the path |
845 | 943 | //goTo(model.filePath) | 950 | //goTo(model.filePath) |
846 | @@ -956,7 +963,7 @@ | |||
847 | 956 | if (fileSelectorMode) { | 963 | if (fileSelectorMode) { |
848 | 957 | selectionManager.select(model.index,false,true) | 964 | selectionManager.select(model.index,false,true) |
849 | 958 | } else { | 965 | } else { |
851 | 959 | openFile(model) | 966 | openFile(model) |
852 | 960 | } | 967 | } |
853 | 961 | } | 968 | } |
854 | 962 | } | 969 | } |
855 | 963 | 970 | ||
856 | === modified file 'src/app/qml/ui/PlacesPage.qml' | |||
857 | --- src/app/qml/ui/PlacesPage.qml 2016-01-18 10:32:34 +0000 | |||
858 | +++ src/app/qml/ui/PlacesPage.qml 2016-06-09 11:18:31 +0000 | |||
859 | @@ -23,11 +23,13 @@ | |||
860 | 23 | 23 | ||
861 | 24 | Page { | 24 | Page { |
862 | 25 | id: root | 25 | id: root |
863 | 26 | |||
864 | 27 | title: i18n.tr("Places") | ||
865 | 28 | objectName: 'PlacesPage' | ||
866 | 29 | // ADDED THIS PROPERTY FOR BUG #1341671 WORKAROUND | 26 | // ADDED THIS PROPERTY FOR BUG #1341671 WORKAROUND |
867 | 30 | property string testProperty: "justForAutopilotTests" | 27 | property string testProperty: "justForAutopilotTests" |
868 | 28 | objectName: 'PlacesPage' | ||
869 | 29 | |||
870 | 30 | header: PageHeader { | ||
871 | 31 | title: i18n.tr("Places") | ||
872 | 32 | } | ||
873 | 31 | 33 | ||
874 | 32 | Flickable { | 34 | Flickable { |
875 | 33 | objectName: "placesFlickable" | 35 | objectName: "placesFlickable" |
876 | @@ -116,5 +118,4 @@ | |||
877 | 116 | } | 118 | } |
878 | 117 | } | 119 | } |
879 | 118 | } | 120 | } |
880 | 119 | |||
881 | 120 | } | 121 | } |
882 | 121 | 122 | ||
883 | === modified file 'src/app/qml/ui/SettingsSheet.qml' | |||
884 | --- src/app/qml/ui/SettingsSheet.qml 2016-01-18 10:32:34 +0000 | |||
885 | +++ src/app/qml/ui/SettingsSheet.qml 2016-06-09 11:18:31 +0000 | |||
886 | @@ -28,16 +28,18 @@ | |||
887 | 28 | */ | 28 | */ |
888 | 29 | Page { | 29 | Page { |
889 | 30 | id: sheet | 30 | id: sheet |
890 | 31 | title: i18n.tr("Settings") | ||
891 | 32 | 31 | ||
895 | 33 | Component.onCompleted: { | 32 | header: PageHeader { |
896 | 34 | sheet.__leftButton.text = i18n.tr("Close") | 33 | title: i18n.tr("Settings") |
894 | 35 | sheet.__foreground.style = Theme.createStyleComponent(Qt.resolvedUrl("../components/SuruSheetStyle.qml"), sheet) | ||
897 | 36 | } | 34 | } |
898 | 37 | 35 | ||
899 | 38 | Column { | 36 | Column { |
902 | 39 | anchors.fill: parent | 37 | anchors { |
903 | 40 | anchors.margins: units.gu(-1) | 38 | left: parent.left |
904 | 39 | top: sheet.header.bottom | ||
905 | 40 | right: parent.right | ||
906 | 41 | bottom: parent.bottom | ||
907 | 42 | } | ||
908 | 41 | 43 | ||
909 | 42 | Standard { | 44 | Standard { |
910 | 43 | text: i18n.tr("Show Advanced Features") | 45 | text: i18n.tr("Show Advanced Features") |
eeeek i see the build directory has been included in translations i'll fix that