on xenial help sign in
Merge from -refactor
commitf9fc49679cc8981f6248846ebd9bdbf41f231646 authorMichael Terry <michael.terry@canonical.com> dateThu 15 Jan 2015, 09:11 (12 years ago) parentab17a566c419e5
17 files changed+494−359
build.sh+4−1 debian/changelog+29 plugins/Dash/CardCreator.js+1−1 plugins/Unity/DashCommunicator/dashconnection.cpp+30 plugins/Unity/DashCommunicator/dashconnection.h+4−1 po/ca.po+92−88 po/fa.po+96−88 po/nl.po+98−91 qml/Dash/Dash.qml+2−2 qml/Dash/GenericScopeView.qml+30−2 src/libunity8-private/abstractdbusservicemonitor.cpp+21−8 src/libunity8-private/abstractdbusservicemonitor.h+9−5 tests/autopilot/unity8/shell/tests/test_edges_demo.py+1−1 tests/mocks/LightDM/demo/CMakeLists.txt+1 tests/qmltests/Dash/tst_Card.qml+2−2 tests/qmltests/Dash/tst_DashContent.qml+57 tests/utils/modules/Unity/Test/UnityTestCase.qml+17−69
build.sh+4−1
@@ -61,7 +61,10 @@ install_dependencies() {
6161}
6262
6363mk_build_deps() {
64− [ ! -f unity8-build-deps*deb -o $CODE_DIR/debian/control -nt unity8-build-deps*deb ] && mk-build-deps --install --root-cmd sudo $CODE_DIR/debian/control
64+ if [ ! -f control -o $CODE_DIR/debian/control -nt control ]; then
65+ sed 's/\:native//g' $CODE_DIR/debian/control > control
66+ mk-build-deps --install --root-cmd sudo control
67+ fi
6568}
6669
6770if [ -f "/usr/bin/ccache" ] ; then
debian/changelog+29
@@ -1,3 +1,32 @@
1+unity8 (8.02+15.04.20150113.1-0ubuntu1) vivid; urgency=low
2+
3+ [ Andrea Cimitan ]
4+ * support background on horizontal cards with summary (LP: #1393008)
5+
6+ [ Gerry Boland ]
7+ * DashCommunicator: replace QDBusInterface with a non-blocking
8+ simplification which does not introspect the service on creation
9+ (LP: #1403508)
10+
11+ [ Leo Arias ]
12+ * Added an autopilot test for the edges demo.
13+
14+ [ Albert Astals ]
15+ * Don't show the manage dash pull up arrow on temp scopes (LP:
16+ #1401869)
17+ * Remove hack, newer Qt already support keyClick(char)
18+ * Tests: Add Qt 5.5 removal TODOs
19+ * Make sure we use fPIC when compiling files for the static library
20+ too
21+ * Make sure changing a scope doesn't trigger creation/destruction of
22+ delegates until it's finished (LP: #1410122)
23+
24+ [ Michael Zanetti ]
25+ * patch debian/control file before using it to make it work with mk-
26+ build-deps
27+
28+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Tue, 13 Jan 2015 20:58:08 +0000
29+
130unity8 (8.02+15.04.20150109.2-0ubuntu1) vivid; urgency=low
231
332 [ Michał Sawicz ]
plugins/Dash/CardCreator.js+1−1
@@ -320,7 +320,7 @@ function cardString(template, components) {
320320 var hasSummary = components["summary"] || false;
321321 var artAndSummary = hasArt && hasSummary;
322322 var isHorizontal = template["card-layout"] === "horizontal";
323− var hasBackground = !isHorizontal && (template["card-background"] || components["background"] || artAndSummary);
323+ var hasBackground = (hasSummary || !isHorizontal) && (template["card-background"] || components["background"] || artAndSummary);
324324 var hasTitle = components["title"] || false;
325325 var hasMascot = components["mascot"] || false;
326326 var hasEmblem = components["emblem"] && !(hasMascot && template["card-size"] === "small") || false;
plugins/Unity/DashCommunicator/dashconnection.cpp+30
@@ -19,12 +19,42 @@
1919#include <QDBusInterface>
2020#include <QDBusPendingCall>
2121
22+/* The default implementation of AbstractDBusServiceMonitor creates a QDBusInterface when the service
23+ * appears on the bus.
24+ *
25+ * On construction QDBusInterface synchronously introspects the service, which will block the GUI
26+ * thread of this process if the service is busy. QDBusAbstractInterface does not perform this
27+ * introspection, so let's subclass that and avoid the blocking scenario.
28+ *
29+ * However we lose Qt's wrapping of the DBus service with a MetaObject, with the result that we
30+ * cannot easily connect to DBus signals with the usual connect() calls. So this approach only
31+ * suited to push communication with the DBus service.
32+ */
33+class AsyncDBusInterface : public QDBusAbstractInterface
34+{
35+public:
36+ AsyncDBusInterface(const QString &service, const QString &path,
37+ const QString &interface, const QDBusConnection &connection,
38+ QObject *parent = 0)
39+ : QDBusAbstractInterface(service, path, interface.toLatin1().data(), connection, parent)
40+ {}
41+ ~AsyncDBusInterface() = default;
42+};
43+
44+
2245DashConnection::DashConnection(const QString &service, const QString &path, const QString &interface, QObject *parent):
2346 AbstractDBusServiceMonitor(service, path, interface, SessionBus, parent)
2447{
2548
2649}
2750
51+/* Override the default implementation to create a non-blocking DBus interface (see note above). */
52+QDBusAbstractInterface* DashConnection::createInterface(const QString &service, const QString &path,
53+ const QString &interface, const QDBusConnection &connection)
54+{
55+ return new AsyncDBusInterface(service, path, interface, connection);
56+}
57+
2858void DashConnection::setCurrentScope(int index, bool animate, bool isSwipe)
2959{
3060 if (dbusInterface()) {
plugins/Unity/DashCommunicator/dashconnection.h+4−1
@@ -20,7 +20,6 @@
2020// local
2121#include "abstractdbusservicemonitor.h"
2222
23−
2423class DashConnection: public AbstractDBusServiceMonitor
2524{
2625 Q_OBJECT
@@ -29,6 +28,10 @@ public:
2928
3029public Q_SLOTS:
3130 void setCurrentScope(int index, bool animate, bool isSwipe);
31+
32+private:
33+ QDBusAbstractInterface* createInterface(const QString &service, const QString &path,
34+ const QString &interface, const QDBusConnection &connection) override;
3235};
3336
3437#endif
po/ca.po+92−88
@@ -8,26 +8,26 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2014-12-10 10:55+0100\n"
11−"PO-Revision-Date: 2014-11-10 09:22+0000\n"
11+"PO-Revision-Date: 2015-01-13 13:15+0000\n"
1212"Last-Translator: David Planella <david.planella@ubuntu.com>\n"
1313"Language-Team: Catalan <ca@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-12-13 07:11+0000\n"
19−"X-Generator: Launchpad (build 17286)\n"
18+"X-Launchpad-Export-Date: 2015-01-15 06:06+0000\n"
19+"X-Generator: Launchpad (build 17303)\n"
2020
2121#: plugins/LightDM/Greeter.cpp:130
2222msgid "Password: "
2323msgstr "Contrasenya: "
2424
2525#: plugins/Unity/Launcher/launcheritem.cpp:45
26−#: plugins/Unity/Launcher/launcheritem.cpp:100
26+#: plugins/Unity/Launcher/launcheritem.cpp:91
2727msgid "Pin shortcut"
2828msgstr "Enganxa la drecera"
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:100
30+#: plugins/Unity/Launcher/launcheritem.cpp:91
3131msgid "Unpin shortcut"
3232msgstr "Desenganxa la drecera"
3333
@@ -54,45 +54,45 @@ msgid_plural "Please wait %1 minutes and then try again…"
5454msgstr[0] "Espereu %1 minut i torneu-ho a intentar..."
5555msgstr[1] "Espereu %1 minuts i torneu-ho a intentar..."
5656
57−#: qml/Components/Dialogs.qml:70
57+#: qml/Components/Dialogs.qml:74
5858msgid "Log out"
5959msgstr "Surt"
6060
61−#: qml/Components/Dialogs.qml:71
61+#: qml/Components/Dialogs.qml:75
6262msgid "Are you sure you want to log out?"
6363msgstr "Segur que voleu sortir?"
6464
65−#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
66−#: qml/Components/Dialogs.qml:122
65+#: qml/Components/Dialogs.qml:77 qml/Components/Dialogs.qml:101
66+#: qml/Components/Dialogs.qml:126
6767msgid "No"
6868msgstr "No"
6969
70−#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
71−#: qml/Components/Dialogs.qml:129
70+#: qml/Components/Dialogs.qml:84 qml/Components/Dialogs.qml:108
71+#: qml/Components/Dialogs.qml:133
7272msgid "Yes"
7373msgstr "Sí"
7474
75−#: qml/Components/Dialogs.qml:94
75+#: qml/Components/Dialogs.qml:98
7676msgid "Shut down"
7777msgstr "Apaga"
7878
79−#: qml/Components/Dialogs.qml:95
79+#: qml/Components/Dialogs.qml:99
8080msgid "Are you sure you want to shut down?"
8181msgstr "Segur que voleu apagar?"
8282
83−#: qml/Components/Dialogs.qml:119
83+#: qml/Components/Dialogs.qml:123
8484msgid "Reboot"
8585msgstr "Reinicia"
8686
87−#: qml/Components/Dialogs.qml:120
87+#: qml/Components/Dialogs.qml:124
8888msgid "Are you sure you want to reboot?"
8989msgstr "Segur que voleu reiniciar?"
9090
91−#: qml/Components/Dialogs.qml:144
91+#: qml/Components/Dialogs.qml:148
9292msgid "Power"
9393msgstr "Energia"
9494
95−#: qml/Components/Dialogs.qml:145
95+#: qml/Components/Dialogs.qml:149
9696msgid ""
9797"Are you sure you would like\n"
9898"to power off?"
@@ -100,15 +100,15 @@ msgstr ""
100100"Segur que voleu\n"
101101"apagar?"
102102
103−#: qml/Components/Dialogs.qml:147
103+#: qml/Components/Dialogs.qml:151
104104msgid "Power off"
105105msgstr "Apaga"
106106
107−#: qml/Components/Dialogs.qml:157
107+#: qml/Components/Dialogs.qml:161
108108msgid "Restart"
109109msgstr "Reinicia"
110110
111−#: qml/Components/Dialogs.qml:167
111+#: qml/Components/Dialogs.qml:171
112112msgid "Cancel"
113113msgstr "Cancel·la"
114114
@@ -116,49 +116,49 @@ msgstr "Cancel·la"
116116msgid "Skip intro"
117117msgstr "Omet la introducció"
118118
119−#: qml/Components/EdgeDemo.qml:125
119+#: qml/Components/EdgeDemo.qml:112
120120msgid "Right edge"
121121msgstr "Vora dreta"
122122
123−#: qml/Components/EdgeDemo.qml:126
123+#: qml/Components/EdgeDemo.qml:113
124124msgid "Try swiping from the right edge to unlock the phone"
125125msgstr ""
126126"Proveu de lliscar el dit des de la vora dreta per desblocar el telèfon"
127127
128−#: qml/Components/EdgeDemo.qml:157
128+#: qml/Components/EdgeDemo.qml:144
129129msgid "Top edge"
130130msgstr "Vora superior"
131131
132−#: qml/Components/EdgeDemo.qml:158
132+#: qml/Components/EdgeDemo.qml:145
133133msgid "Try swiping from the top edge to access the indicators"
134134msgstr ""
135135"Proveu de lliscar el dit des de la vora superior per accedir als indicadors"
136136
137−#: qml/Components/EdgeDemo.qml:183
137+#: qml/Components/EdgeDemo.qml:170
138138msgid "Close"
139139msgstr "Tanca"
140140
141−#: qml/Components/EdgeDemo.qml:184
141+#: qml/Components/EdgeDemo.qml:171
142142msgid "Swipe up again to close the settings screen"
143143msgstr ""
144144"Llisqueu el dit cap amunt una altra vegada per tancar la pantalla de "
145145"configuració"
146146
147−#: qml/Components/EdgeDemo.qml:214
147+#: qml/Components/EdgeDemo.qml:201
148148msgid "Left edge"
149149msgstr "Vora esquerra"
150150
151−#: qml/Components/EdgeDemo.qml:215
151+#: qml/Components/EdgeDemo.qml:202
152152msgid "Swipe from the left to reveal the launcher for quick access to apps"
153153msgstr ""
154154"Llisqueu el dit des de la vora esquerra per mostrar el llançador i accedir "
155155"ràpidament a les aplicacions"
156156
157−#: qml/Components/EdgeDemo.qml:242
157+#: qml/Components/EdgeDemo.qml:229
158158msgid "Well done"
159159msgstr "Enhorabona!"
160160
161−#: qml/Components/EdgeDemo.qml:243
161+#: qml/Components/EdgeDemo.qml:230
162162msgid ""
163163"You have now mastered the edge gestures and can start using the "
164164"phone<br><br>Tap on the screen to start"
@@ -166,44 +166,44 @@ msgstr ""
166166"Ja heu après com utilitzar els gestos de les vores per fer servir el "
167167"telèfon<br><br>Feu un toc a la pantalla per començar"
168168
169−#: qml/Components/Lockscreen.qml:238
169+#: qml/Components/Lockscreen.qml:223
170170msgid "Return to Call"
171171msgstr "Torna a la trucada"
172172
173−#: qml/Components/Lockscreen.qml:238
173+#: qml/Components/Lockscreen.qml:223
174174msgid "Emergency Call"
175175msgstr "Trucada d'emergència"
176176
177−#: qml/Components/Lockscreen.qml:270
177+#: qml/Components/Lockscreen.qml:255
178178msgid "OK"
179179msgstr "D'acord"
180180
181−#: qml/Dash/GenericScopeView.qml:431 qml/Dash/GenericScopeView.qml:588
181+#: qml/Dash/GenericScopeView.qml:434 qml/Dash/GenericScopeView.qml:591
182182msgid "See less"
183183msgstr "Mostra'n menys"
184184
185−#: qml/Dash/GenericScopeView.qml:431
185+#: qml/Dash/GenericScopeView.qml:434
186186msgid "See all"
187187msgstr "Mostra-ho tot"
188188
189−#: qml/Dash/GenericScopeView.qml:493 qml/Dash/PageHeader.qml:267
189+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:268
190190#: qml/Panel/SearchIndicator.qml:27
191191msgid "Search"
192192msgstr "Cerca"
193193
194−#: qml/Dash/PageHeader.qml:260
194+#: qml/Dash/PageHeader.qml:261
195195msgid "Store"
196196msgstr "Botiga"
197197
198−#: qml/Dash/PageHeader.qml:277
198+#: qml/Dash/PageHeader.qml:278
199199msgid "Settings"
200200msgstr "Paràmetres"
201201
202−#: qml/Dash/PageHeader.qml:284
202+#: qml/Dash/PageHeader.qml:285
203203msgid "Remove from Favorites"
204204msgstr "Suprimeix dels preferits"
205205
206−#: qml/Dash/PageHeader.qml:284
206+#: qml/Dash/PageHeader.qml:285
207207msgid "Add to Favorites"
208208msgstr "Afegeix als preferits"
209209
@@ -237,15 +237,15 @@ msgstr "Deixeu anar per actualitzar..."
237237
238238#: qml/Dash/ScopesList.qml:63
239239msgid "Manage"
240−msgstr ""
240+msgstr "Gestiona"
241241
242242#: qml/Dash/ScopesList.qml:107
243243msgid "Home"
244−msgstr ""
244+msgstr "Inici"
245245
246246#: qml/Dash/ScopesList.qml:108
247247msgid "Also installed"
248−msgstr ""
248+msgstr "També instal·lat"
249249
250250#: qml/Greeter/Greeter.qml:174
251251msgid "Unlock"
@@ -299,49 +299,49 @@ msgstr "Desbloca la SIM"
299299msgid "Roaming"
300300msgstr "Itinerància"
301301
302−#: qml/Shell.qml:367
302+#: qml/Shell.qml:402
303303#, qt-format
304304msgid "Enter %1"
305305msgstr "Introduïu: %1"
306306
307−#: qml/Shell.qml:368 qml/Wizard/Pages/passwd-set.qml:60
307+#: qml/Shell.qml:394
308308msgid "Enter passphrase"
309309msgstr "Introduïu la contrasenya"
310310
311−#: qml/Shell.qml:369
311+#: qml/Shell.qml:398
312312msgid "Enter passcode"
313313msgstr "Introduïu el codi d'accés"
314314
315−#: qml/Shell.qml:370
315+#: qml/Shell.qml:403
316316#, qt-format
317317msgid "Sorry, incorrect %1"
318318msgstr "Incorrecte (%1)"
319319
320−#: qml/Shell.qml:371
320+#: qml/Shell.qml:395
321321msgid "Sorry, incorrect passphrase"
322322msgstr "La contrasenya no és correcta"
323323
324−#: qml/Shell.qml:372
324+#: qml/Shell.qml:396
325325msgid "Please re-enter"
326326msgstr "Torneu-ho a introduir"
327327
328−#: qml/Shell.qml:373
328+#: qml/Shell.qml:399
329329msgid "Sorry, incorrect passcode"
330330msgstr "El codi d'accés no és correcte"
331331
332−#: qml/Shell.qml:467 qml/Wizard/Pages/passwd-confirm.qml:53
332+#: qml/Shell.qml:444
333333msgid "Sorry, incorrect passphrase."
334334msgstr "La contrasenya és incorrecta"
335335
336−#: qml/Shell.qml:468 qml/Wizard/Pages/passwd-confirm.qml:54
336+#: qml/Shell.qml:445
337337msgid "Sorry, incorrect passcode."
338338msgstr "El codi d'accés no és correcte"
339339
340−#: qml/Shell.qml:469
340+#: qml/Shell.qml:446
341341msgid "This will be your last attempt."
342342msgstr "Aquest serà el darrer intent."
343343
344−#: qml/Shell.qml:471
344+#: qml/Shell.qml:448
345345msgid ""
346346"If passphrase is entered incorrectly, your phone will conduct a factory "
347347"reset and all personal data will be deleted."
@@ -350,7 +350,7 @@ msgstr ""
350350"reinicialitzarà a l'estat de fàbrica i se suprimiran totes les dades "
351351"personals."
352352
353−#: qml/Shell.qml:472
353+#: qml/Shell.qml:449
354354msgid ""
355355"If passcode is entered incorrectly, your phone will conduct a factory reset "
356356"and all personal data will be deleted."
@@ -361,86 +361,86 @@ msgstr ""
361361
362362#: qml/Wizard/Page.qml:89
363363msgid "Back"
364−msgstr ""
364+msgstr "Enrere"
365365
366366#: qml/Wizard/Pages/10-welcome.qml:27
367367msgid "Hi!"
368−msgstr ""
368+msgstr "Hola!"
369369
370370#: qml/Wizard/Pages/10-welcome.qml:44
371371msgid "Welcome to your Ubuntu phone."
372−msgstr ""
372+msgstr "Us donem la benvinguda al vostre telèfon Ubuntu."
373373
374374#: qml/Wizard/Pages/10-welcome.qml:52
375375msgid "Let’s get started."
376−msgstr ""
376+msgstr "Comencem."
377377
378378#: qml/Wizard/Pages/10-welcome.qml:88 qml/Wizard/Pages/30-passwd-type.qml:128
379379#: qml/Wizard/Pages/40-wifi.qml:197 qml/Wizard/Pages/50-location.qml:131
380380#: qml/Wizard/Pages/60-reporting.qml:50 qml/Wizard/Pages/passwd-confirm.qml:82
381381#: qml/Wizard/Pages/passwd-set.qml:90
382382msgid "Continue"
383−msgstr ""
383+msgstr "Continua"
384384
385385#: qml/Wizard/Pages/20-sim.qml:25
386386msgid "Add a SIM card and restart your device"
387−msgstr ""
387+msgstr "Afegiu una targeta SIM i reinicieu el dispositiu"
388388
389389#: qml/Wizard/Pages/20-sim.qml:55
390390msgid "Without it, you won’t be able to make calls or use text messaging."
391−msgstr ""
391+msgstr "Sense ella, no podreu fer trucades o enviar missatges de text."
392392
393393#: qml/Wizard/Pages/20-sim.qml:69 qml/Wizard/Pages/40-wifi.qml:197
394394msgid "Skip"
395−msgstr ""
395+msgstr "Omet"
396396
397397#: qml/Wizard/Pages/30-passwd-type.qml:39
398398msgid "Lock security"
399−msgstr ""
399+msgstr "Seguretat del bloqueig"
400400
401401#: qml/Wizard/Pages/30-passwd-type.qml:74
402402msgid "Please select how you’d like to unlock your phone."
403−msgstr ""
403+msgstr "Seleccioneu com voleu desblocar el telèfon."
404404
405405#: qml/Wizard/Pages/30-passwd-type.qml:97
406406msgid "Swipe"
407−msgstr ""
407+msgstr "Lliscament amb el dit"
408408
409409#: qml/Wizard/Pages/30-passwd-type.qml:98
410410msgid "No security"
411−msgstr ""
411+msgstr "Sense seguretat"
412412
413413#: qml/Wizard/Pages/30-passwd-type.qml:100
414414msgid "Passcode"
415−msgstr ""
415+msgstr "Codi d'accés"
416416
417417#: qml/Wizard/Pages/30-passwd-type.qml:101
418418msgid "4 digits only"
419−msgstr ""
419+msgstr "Només 4 dígits"
420420
421421#: qml/Wizard/Pages/30-passwd-type.qml:103
422422msgid "Passphrase"
423−msgstr ""
423+msgstr "Contrasenya"
424424
425425#: qml/Wizard/Pages/30-passwd-type.qml:104
426426msgid "Numbers and letters"
427−msgstr ""
427+msgstr "Números i lletres"
428428
429429#: qml/Wizard/Pages/40-wifi.qml:28
430430msgid "Connect to Wi‑Fi"
431−msgstr ""
431+msgstr "Connecta't a la Wi-Fi"
432432
433433#: qml/Wizard/Pages/40-wifi.qml:147
434434msgid "Available networks…"
435−msgstr ""
435+msgstr "Xarxes disponibles..."
436436
437437#: qml/Wizard/Pages/40-wifi.qml:148
438438msgid "No available networks."
439−msgstr ""
439+msgstr "No hi ha xarxes disponibles"
440440
441441#: qml/Wizard/Pages/50-location.qml:27
442442msgid "Location"
443−msgstr ""
443+msgstr "Ubicació"
444444
445445#: qml/Wizard/Pages/50-location.qml:62
446446msgid "Let the phone detect your location:"
@@ -471,70 +471,74 @@ msgstr ""
471471
472472#: qml/Wizard/Pages/60-reporting.qml:24
473473msgid "Improving your experience"
474−msgstr ""
474+msgstr "Millora de l'experiència"
475475
476476#: qml/Wizard/Pages/60-reporting.qml:36
477477msgid ""
478478"Your phone is set up to automatically report errors to Canonical and its "
479479"partners, the makers of the operating system."
480480msgstr ""
481+"Aquest telèfon està configurat per enviar errors de manera automàtica a "
482+"Canonical i associats, els creadors del sistema operatiu."
481483
482484#: qml/Wizard/Pages/60-reporting.qml:43
483485msgid ""
484486"This can be disabled in <b>System Settings</b> under <b>Security &amp; "
485487"Privacy</b>"
486488msgstr ""
489+"Podeu inhabilitar-ho a <b>Configuració del sistema</b>, a la secció "
490+"<b>Seguretat i privadesa</b>"
487491
488492#: qml/Wizard/Pages/80-finished.qml:24
489493msgid "All done"
490−msgstr ""
494+msgstr "Tot fet"
491495
492496#: qml/Wizard/Pages/80-finished.qml:39
493497msgid "Nice work!"
494−msgstr ""
498+msgstr "Bona feina!"
495499
496500#: qml/Wizard/Pages/80-finished.qml:46
497501msgid "Your phone is now ready to use."
498−msgstr ""
502+msgstr "Ja podeu utilitzar el vostre telèfon."
499503
500504#: qml/Wizard/Pages/80-finished.qml:53
501505msgid "Finish"
502−msgstr ""
506+msgstr "Finalitza"
503507
504508#: qml/Wizard/Pages/here-terms.qml:27
505509msgid "Terms & Conditions"
506−msgstr ""
510+msgstr "Condicions generals"
507511
508512#: qml/Wizard/Pages/passwd-confirm.qml:49
509513msgid "Confirm passphrase"
510−msgstr ""
514+msgstr "Confirmeu la contrasenya"
511515
512516#: qml/Wizard/Pages/passwd-confirm.qml:50
513517msgid "Confirm passcode"
514−msgstr ""
518+msgstr "Confirmeu el codi d'accés"
515519
516520#: qml/Wizard/Pages/passwd-confirm.qml:53
517521#: qml/Wizard/Pages/passwd-confirm.qml:54
518522msgid "Please try again."
519−msgstr ""
523+msgstr "Torneu-ho a intentar."
520524
521525#: qml/Wizard/Pages/passwd-set.qml:61
522526msgid "Choose your passcode"
523−msgstr ""
527+msgstr "Trieu el codi d'accés"
524528
525529#: qml/Wizard/Pages/passwd-set.qml:68
526530msgid "Passphrase must be 4 characters long"
527−msgstr ""
531+msgstr "La contrasenya ha de tenir 4 caràcters com a mínim"
528532
529533#: qml/Wizard/StackButton.qml:39
530534#, qt-format
531535msgid "〈 %1"
532−msgstr ""
536+msgstr "〈 %1"
533537
534538#: qml/Wizard/StackButton.qml:42
535539#, qt-format
536540msgid "%1 〉"
537−msgstr ""
541+msgstr "%1 〉"
538542
539543#~ msgid "Confirm"
540544#~ msgstr "Confirma"
po/fa.po+96−88
@@ -8,26 +8,26 @@ msgstr ""
88"Project-Id-Version: unity8\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2014-12-10 10:55+0100\n"
11−"PO-Revision-Date: 2014-12-10 12:53+0000\n"
11+"PO-Revision-Date: 2015-01-09 15:59+0000\n"
1212"Last-Translator: Danial Behzadi <dani.behzi@gmail.com>\n"
1313"Language-Team: Persian <fa@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2014-12-13 07:11+0000\n"
19−"X-Generator: Launchpad (build 17286)\n"
18+"X-Launchpad-Export-Date: 2015-01-10 07:18+0000\n"
19+"X-Generator: Launchpad (build 17298)\n"
2020
2121#: plugins/LightDM/Greeter.cpp:130
2222msgid "Password: "
2323msgstr "گذرواژه: "
2424
2525#: plugins/Unity/Launcher/launcheritem.cpp:45
26−#: plugins/Unity/Launcher/launcheritem.cpp:100
26+#: plugins/Unity/Launcher/launcheritem.cpp:91
2727msgid "Pin shortcut"
2828msgstr "سنجاق کردن میانبر"
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:100
30+#: plugins/Unity/Launcher/launcheritem.cpp:91
3131msgid "Unpin shortcut"
3232msgstr "برداشتن سنجاق میانبر"
3333
@@ -50,45 +50,45 @@ msgid "Please wait %1 minute and then try again…"
5050msgid_plural "Please wait %1 minutes and then try again…"
5151msgstr[0] "لطفاُ %1 دقیقه صبر نموده و سپس مجدّداً تلاش نمایید…"
5252
53−#: qml/Components/Dialogs.qml:70
53+#: qml/Components/Dialogs.qml:74
5454msgid "Log out"
5555msgstr "خروج از حساب"
5656
57−#: qml/Components/Dialogs.qml:71
57+#: qml/Components/Dialogs.qml:75
5858msgid "Are you sure you want to log out?"
5959msgstr "مطمئنید که می‌خواهید از حساب خارج شوید"
6060
61−#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
62−#: qml/Components/Dialogs.qml:122
61+#: qml/Components/Dialogs.qml:77 qml/Components/Dialogs.qml:101
62+#: qml/Components/Dialogs.qml:126
6363msgid "No"
6464msgstr "خیر"
6565
66−#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
67−#: qml/Components/Dialogs.qml:129
66+#: qml/Components/Dialogs.qml:84 qml/Components/Dialogs.qml:108
67+#: qml/Components/Dialogs.qml:133
6868msgid "Yes"
6969msgstr "بله"
7070
71−#: qml/Components/Dialogs.qml:94
71+#: qml/Components/Dialogs.qml:98
7272msgid "Shut down"
7373msgstr "خاموش کردن"
7474
75−#: qml/Components/Dialogs.qml:95
75+#: qml/Components/Dialogs.qml:99
7676msgid "Are you sure you want to shut down?"
7777msgstr "مطمئنید که می‌خواهید خاموش کنید؟"
7878
79−#: qml/Components/Dialogs.qml:119
79+#: qml/Components/Dialogs.qml:123
8080msgid "Reboot"
8181msgstr "راه‌اندازی مجدّد"
8282
83−#: qml/Components/Dialogs.qml:120
83+#: qml/Components/Dialogs.qml:124
8484msgid "Are you sure you want to reboot?"
8585msgstr "مطمئنید که می‌خواهید مجدّداً راه‌اندازی کنسد؟"
8686
87−#: qml/Components/Dialogs.qml:144
87+#: qml/Components/Dialogs.qml:148
8888msgid "Power"
8989msgstr "توان"
9090
91−#: qml/Components/Dialogs.qml:145
91+#: qml/Components/Dialogs.qml:149
9292msgid ""
9393"Are you sure you would like\n"
9494"to power off?"
@@ -96,15 +96,15 @@ msgstr ""
9696"آیا مطمئن هستید که\n"
9797"می‌خواهید خاموش کنید؟"
9898
99−#: qml/Components/Dialogs.qml:147
99+#: qml/Components/Dialogs.qml:151
100100msgid "Power off"
101101msgstr "خاموش کردن"
102102
103−#: qml/Components/Dialogs.qml:157
103+#: qml/Components/Dialogs.qml:161
104104msgid "Restart"
105105msgstr "شروع مجدّد"
106106
107−#: qml/Components/Dialogs.qml:167
107+#: qml/Components/Dialogs.qml:171
108108msgid "Cancel"
109109msgstr "لغو"
110110
@@ -112,43 +112,43 @@ msgstr "لغو"
112112msgid "Skip intro"
113113msgstr "پرش از مقدّمه"
114114
115−#: qml/Components/EdgeDemo.qml:125
115+#: qml/Components/EdgeDemo.qml:112
116116msgid "Right edge"
117117msgstr "لبه‌ی راست"
118118
119−#: qml/Components/EdgeDemo.qml:126
119+#: qml/Components/EdgeDemo.qml:113
120120msgid "Try swiping from the right edge to unlock the phone"
121121msgstr "برای باز کردن قفل تلفن، از لبه‌ی راست بکشید"
122122
123−#: qml/Components/EdgeDemo.qml:157
123+#: qml/Components/EdgeDemo.qml:144
124124msgid "Top edge"
125125msgstr "لبه‌ی بالا"
126126
127−#: qml/Components/EdgeDemo.qml:158
127+#: qml/Components/EdgeDemo.qml:145
128128msgid "Try swiping from the top edge to access the indicators"
129129msgstr "برای دست‌رسی به نشانگرها، از لبه‌ی بالا بکشید"
130130
131−#: qml/Components/EdgeDemo.qml:183
131+#: qml/Components/EdgeDemo.qml:170
132132msgid "Close"
133133msgstr "بستن"
134134
135−#: qml/Components/EdgeDemo.qml:184
135+#: qml/Components/EdgeDemo.qml:171
136136msgid "Swipe up again to close the settings screen"
137137msgstr "برای بستن صفحه‌ی تنظیمات، دوباره به بالا بکشپد"
138138
139−#: qml/Components/EdgeDemo.qml:214
139+#: qml/Components/EdgeDemo.qml:201
140140msgid "Left edge"
141141msgstr "لبه‌ی چپ"
142142
143−#: qml/Components/EdgeDemo.qml:215
143+#: qml/Components/EdgeDemo.qml:202
144144msgid "Swipe from the left to reveal the launcher for quick access to apps"
145145msgstr "برای آشکار شدن اجراگر به منظور دست‌رسی سریع به اپ‌ها از سمت چپ بکشید"
146146
147−#: qml/Components/EdgeDemo.qml:242
147+#: qml/Components/EdgeDemo.qml:229
148148msgid "Well done"
149149msgstr "عالی بود"
150150
151−#: qml/Components/EdgeDemo.qml:243
151+#: qml/Components/EdgeDemo.qml:230
152152msgid ""
153153"You have now mastered the edge gestures and can start using the "
154154"phone<br><br>Tap on the screen to start"
@@ -156,44 +156,44 @@ msgstr ""
156156"هم اکنون در استفاده از ژست های حرکتی مهارت لازم را دارید و می‌توانید استفاده "
157157"از تلفن را آغاز کنید<br><br>برای شروع صفحه را لمس کنید"
158158
159−#: qml/Components/Lockscreen.qml:238
159+#: qml/Components/Lockscreen.qml:223
160160msgid "Return to Call"
161161msgstr "بازگشت به تماس"
162162
163−#: qml/Components/Lockscreen.qml:238
163+#: qml/Components/Lockscreen.qml:223
164164msgid "Emergency Call"
165165msgstr "تماس اضطراری"
166166
167−#: qml/Components/Lockscreen.qml:270
167+#: qml/Components/Lockscreen.qml:255
168168msgid "OK"
169169msgstr "قبول"
170170
171−#: qml/Dash/GenericScopeView.qml:431 qml/Dash/GenericScopeView.qml:588
171+#: qml/Dash/GenericScopeView.qml:434 qml/Dash/GenericScopeView.qml:591
172172msgid "See less"
173173msgstr "کم‌تر ببینید"
174174
175−#: qml/Dash/GenericScopeView.qml:431
175+#: qml/Dash/GenericScopeView.qml:434
176176msgid "See all"
177177msgstr "دیدن همه"
178178
179−#: qml/Dash/GenericScopeView.qml:493 qml/Dash/PageHeader.qml:267
179+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:268
180180#: qml/Panel/SearchIndicator.qml:27
181181msgid "Search"
182182msgstr "جست‌وجو"
183183
184−#: qml/Dash/PageHeader.qml:260
184+#: qml/Dash/PageHeader.qml:261
185185msgid "Store"
186186msgstr "فروشگاه"
187187
188−#: qml/Dash/PageHeader.qml:277
188+#: qml/Dash/PageHeader.qml:278
189189msgid "Settings"
190190msgstr "تنظیمات"
191191
192−#: qml/Dash/PageHeader.qml:284
192+#: qml/Dash/PageHeader.qml:285
193193msgid "Remove from Favorites"
194194msgstr "برداشتن از برگزیده‌ها"
195195
196−#: qml/Dash/PageHeader.qml:284
196+#: qml/Dash/PageHeader.qml:285
197197msgid "Add to Favorites"
198198msgstr "افزودن به برگزیده‌ها"
199199
@@ -289,49 +289,49 @@ msgstr "باز کردن قفل سیم‌کارت"
289289msgid "Roaming"
290290msgstr "رومینگ"
291291
292−#: qml/Shell.qml:367
292+#: qml/Shell.qml:402
293293#, qt-format
294294msgid "Enter %1"
295295msgstr "%1 را وارد کنید"
296296
297−#: qml/Shell.qml:368 qml/Wizard/Pages/passwd-set.qml:60
297+#: qml/Shell.qml:394
298298msgid "Enter passphrase"
299299msgstr "عبارت‌عبور را وارد کنید"
300300
301−#: qml/Shell.qml:369
301+#: qml/Shell.qml:398
302302msgid "Enter passcode"
303303msgstr "رمزعبور را وارد کنید"
304304
305−#: qml/Shell.qml:370
305+#: qml/Shell.qml:403
306306#, qt-format
307307msgid "Sorry, incorrect %1"
308308msgstr "متأسّفیم، %1 نادرست بود"
309309
310−#: qml/Shell.qml:371
310+#: qml/Shell.qml:395
311311msgid "Sorry, incorrect passphrase"
312312msgstr "متأسّفیم، عبارت‌عبور نادرست بود"
313313
314−#: qml/Shell.qml:372
314+#: qml/Shell.qml:396
315315msgid "Please re-enter"
316316msgstr "لطفاً دوباره وارد کنید"
317317
318−#: qml/Shell.qml:373
318+#: qml/Shell.qml:399
319319msgid "Sorry, incorrect passcode"
320320msgstr "متأسّفیم، رمزعبور نادرست بود"
321321
322−#: qml/Shell.qml:467 qml/Wizard/Pages/passwd-confirm.qml:53
322+#: qml/Shell.qml:444
323323msgid "Sorry, incorrect passphrase."
324324msgstr "متأسّفیم، عبارت‌عبور نادرست است."
325325
326−#: qml/Shell.qml:468 qml/Wizard/Pages/passwd-confirm.qml:54
326+#: qml/Shell.qml:445
327327msgid "Sorry, incorrect passcode."
328328msgstr "متأسّفیم، رمزعبور نادرست است."
329329
330−#: qml/Shell.qml:469
330+#: qml/Shell.qml:446
331331msgid "This will be your last attempt."
332332msgstr "این آخرین تلاش شما خواهد بود."
333333
334−#: qml/Shell.qml:471
334+#: qml/Shell.qml:448
335335msgid ""
336336"If passphrase is entered incorrectly, your phone will conduct a factory "
337337"reset and all personal data will be deleted."
@@ -339,7 +339,7 @@ msgstr ""
339339"اگر عبارت‌عبور نادرست وارد شود، تلفن شما بازنشانی کارخانه خواهد شد و تمامی "
340340"اطّلاعات شخصی حذف خواهند شد."
341341
342−#: qml/Shell.qml:472
342+#: qml/Shell.qml:449
343343msgid ""
344344"If passcode is entered incorrectly, your phone will conduct a factory reset "
345345"and all personal data will be deleted."
@@ -349,98 +349,100 @@ msgstr ""
349349
350350#: qml/Wizard/Page.qml:89
351351msgid "Back"
352−msgstr ""
352+msgstr "بازگشت"
353353
354354#: qml/Wizard/Pages/10-welcome.qml:27
355355msgid "Hi!"
356−msgstr ""
356+msgstr "سلام!"
357357
358358#: qml/Wizard/Pages/10-welcome.qml:44
359359msgid "Welcome to your Ubuntu phone."
360−msgstr ""
360+msgstr "به تلفن اوبونتوی خودتان خوش آمدید."
361361
362362#: qml/Wizard/Pages/10-welcome.qml:52
363363msgid "Let’s get started."
364−msgstr ""
364+msgstr "بیایید شروع کینم."
365365
366366#: qml/Wizard/Pages/10-welcome.qml:88 qml/Wizard/Pages/30-passwd-type.qml:128
367367#: qml/Wizard/Pages/40-wifi.qml:197 qml/Wizard/Pages/50-location.qml:131
368368#: qml/Wizard/Pages/60-reporting.qml:50 qml/Wizard/Pages/passwd-confirm.qml:82
369369#: qml/Wizard/Pages/passwd-set.qml:90
370370msgid "Continue"
371−msgstr ""
371+msgstr "ادامه"
372372
373373#: qml/Wizard/Pages/20-sim.qml:25
374374msgid "Add a SIM card and restart your device"
375−msgstr ""
375+msgstr "سیم‌کارتی افزوده و دستگاهتان را شروع مجدّد کنید"
376376
377377#: qml/Wizard/Pages/20-sim.qml:55
378378msgid "Without it, you won’t be able to make calls or use text messaging."
379379msgstr ""
380+"بدون آن، نخواهید توانست تماس گرفته با از پیام‌رسانی متنی استفاده کنید."
380381
381382#: qml/Wizard/Pages/20-sim.qml:69 qml/Wizard/Pages/40-wifi.qml:197
382383msgid "Skip"
383−msgstr ""
384+msgstr "پرش"
384385
385386#: qml/Wizard/Pages/30-passwd-type.qml:39
386387msgid "Lock security"
387−msgstr ""
388+msgstr "امنیت قفل"
388389
389390#: qml/Wizard/Pages/30-passwd-type.qml:74
390391msgid "Please select how you’d like to unlock your phone."
391−msgstr ""
392+msgstr "لطفاً برگزینید که می‌خواهید چگونه قفل تلفنتان را باز کنید."
392393
393394#: qml/Wizard/Pages/30-passwd-type.qml:97
394395msgid "Swipe"
395−msgstr ""
396+msgstr "لغزش"
396397
397398#: qml/Wizard/Pages/30-passwd-type.qml:98
398399msgid "No security"
399−msgstr ""
400+msgstr "بدون امنیت"
400401
401402#: qml/Wizard/Pages/30-passwd-type.qml:100
402403msgid "Passcode"
403−msgstr ""
404+msgstr "رمزعبور"
404405
405406#: qml/Wizard/Pages/30-passwd-type.qml:101
406407msgid "4 digits only"
407−msgstr ""
408+msgstr "فقط ۴ رقم"
408409
409410#: qml/Wizard/Pages/30-passwd-type.qml:103
410411msgid "Passphrase"
411−msgstr ""
412+msgstr "عبارت‌عبور"
412413
413414#: qml/Wizard/Pages/30-passwd-type.qml:104
414415msgid "Numbers and letters"
415−msgstr ""
416+msgstr "اعداد و حروف"
416417
417418#: qml/Wizard/Pages/40-wifi.qml:28
418419msgid "Connect to Wi‑Fi"
419−msgstr ""
420+msgstr "اتّصال به بی‌سیم"
420421
421422#: qml/Wizard/Pages/40-wifi.qml:147
422423msgid "Available networks…"
423−msgstr ""
424+msgstr "شبکه‌های موجود…"
424425
425426#: qml/Wizard/Pages/40-wifi.qml:148
426427msgid "No available networks."
427−msgstr ""
428+msgstr "هیچ شبکه‌ای موجود نیست."
428429
429430#: qml/Wizard/Pages/50-location.qml:27
430431msgid "Location"
431−msgstr ""
432+msgstr "موقعیت"
432433
433434#: qml/Wizard/Pages/50-location.qml:62
434435msgid "Let the phone detect your location:"
435−msgstr ""
436+msgstr "اجازه به تلفن برای تشخیص موقعیّتتان:"
436437
437438#: qml/Wizard/Pages/50-location.qml:69
438439msgid "Using GPS only (less accurate)"
439−msgstr ""
440+msgstr "فقط با استفاده از جی‌پی‌اس (دقّت کم‌تر)"
440441
441442#: qml/Wizard/Pages/50-location.qml:86
442443msgid "Using GPS, anonymized Wi-Fi and cellular network info (recommended)"
443444msgstr ""
445+"با استفاده از جی‌پی‌اس، بی‌سیم ناشناس و اطّلاعات شبکه‌ی سلّولی (پیشنهاد شده)"
444446
445447#. TRANSLATORS: HERE is a trademark for Nokia's location service, you probably shouldn't translate it
446448#: qml/Wizard/Pages/50-location.qml:103
@@ -448,81 +450,87 @@ msgid ""
448450"By selecting this option you agree to the Nokia HERE <a href='#'>terms and "
449451"conditions</a>."
450452msgstr ""
453+"با انتخاب این گزینه، با <a href='#'>شرایط و ضوابط</a> HERE نوکیا موافقت "
454+"می‌کنید."
451455
452456#: qml/Wizard/Pages/50-location.qml:112
453457msgid "Not at all"
454−msgstr ""
458+msgstr "به هیچ وجه"
455459
456460#: qml/Wizard/Pages/50-location.qml:124
457461msgid "You can change your mind later in <b>System Settings</b>."
458−msgstr ""
462+msgstr "می‌توانید بعدها نظرتان را در <b>تنظیمات سامانه</b> تغییر دهید."
459463
460464#: qml/Wizard/Pages/60-reporting.qml:24
461465msgid "Improving your experience"
462−msgstr ""
466+msgstr "ارتقای تجربه‌ی شما"
463467
464468#: qml/Wizard/Pages/60-reporting.qml:36
465469msgid ""
466470"Your phone is set up to automatically report errors to Canonical and its "
467471"partners, the makers of the operating system."
468472msgstr ""
473+"تلفن شما تنظیم شده تا خطاها را به صورت خودکار به سازندگان سیستم‌عامل یعنی "
474+"شرکت کنونیکال و شرکایش گزارش دهد."
469475
470476#: qml/Wizard/Pages/60-reporting.qml:43
471477msgid ""
472478"This can be disabled in <b>System Settings</b> under <b>Security &amp; "
473479"Privacy</b>"
474480msgstr ""
481+"این می‌تواند در <b>تنظیمات سامانه</b> ذیل <b>امنیت و محرمانگی</b> غیرفعَال "
482+"شود"
475483
476484#: qml/Wizard/Pages/80-finished.qml:24
477485msgid "All done"
478−msgstr ""
486+msgstr "همه‌چیز انجام شد"
479487
480488#: qml/Wizard/Pages/80-finished.qml:39
481489msgid "Nice work!"
482−msgstr ""
490+msgstr "عالی بود!"
483491
484492#: qml/Wizard/Pages/80-finished.qml:46
485493msgid "Your phone is now ready to use."
486−msgstr ""
494+msgstr "هم‌اکنون تلفن شما آماده‌ی استفاده است."
487495
488496#: qml/Wizard/Pages/80-finished.qml:53
489497msgid "Finish"
490−msgstr ""
498+msgstr "پایان"
491499
492500#: qml/Wizard/Pages/here-terms.qml:27
493501msgid "Terms & Conditions"
494−msgstr ""
502+msgstr "شرایط و ضوابط"
495503
496504#: qml/Wizard/Pages/passwd-confirm.qml:49
497505msgid "Confirm passphrase"
498−msgstr ""
506+msgstr "تأیید عبارت‌عبور"
499507
500508#: qml/Wizard/Pages/passwd-confirm.qml:50
501509msgid "Confirm passcode"
502−msgstr ""
510+msgstr "تأیید رمزعبور"
503511
504512#: qml/Wizard/Pages/passwd-confirm.qml:53
505513#: qml/Wizard/Pages/passwd-confirm.qml:54
506514msgid "Please try again."
507−msgstr ""
515+msgstr "لطفاً دوباره سعی کنید."
508516
509517#: qml/Wizard/Pages/passwd-set.qml:61
510518msgid "Choose your passcode"
511−msgstr ""
519+msgstr "رمزعبور خود را انتخاب کنید"
512520
513521#: qml/Wizard/Pages/passwd-set.qml:68
514522msgid "Passphrase must be 4 characters long"
515−msgstr ""
523+msgstr "عبارت‌عبور باید ۴ نویسه طول داشته باشد"
516524
517525#: qml/Wizard/StackButton.qml:39
518526#, qt-format
519527msgid "〈 %1"
520−msgstr ""
528+msgstr "〈 %1"
521529
522530#: qml/Wizard/StackButton.qml:42
523531#, qt-format
524532msgid "%1 〉"
525−msgstr ""
533+msgstr "%1 〉"
526534
527535#~ msgid "Type or say a command"
528536#~ msgstr "دستوری را بنویسید یا بگویید"
po/nl.po+98−91
@@ -8,26 +8,26 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2014-12-10 10:55+0100\n"
11−"PO-Revision-Date: 2014-11-05 08:19+0000\n"
11+"PO-Revision-Date: 2015-01-13 20:27+0000\n"
1212"Last-Translator: rob <linuxned@gmail.com>\n"
1313"Language-Team: Dutch <nl@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2014-12-13 07:11+0000\n"
19−"X-Generator: Launchpad (build 17286)\n"
18+"X-Launchpad-Export-Date: 2015-01-15 06:06+0000\n"
19+"X-Generator: Launchpad (build 17303)\n"
2020
2121#: plugins/LightDM/Greeter.cpp:130
2222msgid "Password: "
2323msgstr "Wachtwoord: "
2424
2525#: plugins/Unity/Launcher/launcheritem.cpp:45
26−#: plugins/Unity/Launcher/launcheritem.cpp:100
26+#: plugins/Unity/Launcher/launcheritem.cpp:91
2727msgid "Pin shortcut"
2828msgstr "Snelkoppeling vastzetten"
2929
30−#: plugins/Unity/Launcher/launcheritem.cpp:100
30+#: plugins/Unity/Launcher/launcheritem.cpp:91
3131msgid "Unpin shortcut"
3232msgstr "Snelkoppeling losmaken"
3333
@@ -54,45 +54,45 @@ msgid_plural "Please wait %1 minutes and then try again…"
5454msgstr[0] "Wacht a.u.b. %1 minuut en probeer het dan opnieuw…"
5555msgstr[1] "Wacht a.u.b. %1 minuten en probeer het dan opnieuw…"
5656
57−#: qml/Components/Dialogs.qml:70
57+#: qml/Components/Dialogs.qml:74
5858msgid "Log out"
5959msgstr "Afmelden"
6060
61−#: qml/Components/Dialogs.qml:71
61+#: qml/Components/Dialogs.qml:75
6262msgid "Are you sure you want to log out?"
6363msgstr "Weet u zeker dat u zich wilt afmelden?"
6464
65−#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
66−#: qml/Components/Dialogs.qml:122
65+#: qml/Components/Dialogs.qml:77 qml/Components/Dialogs.qml:101
66+#: qml/Components/Dialogs.qml:126
6767msgid "No"
6868msgstr "Nee"
6969
70−#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
71−#: qml/Components/Dialogs.qml:129
70+#: qml/Components/Dialogs.qml:84 qml/Components/Dialogs.qml:108
71+#: qml/Components/Dialogs.qml:133
7272msgid "Yes"
7373msgstr "Ja"
7474
75−#: qml/Components/Dialogs.qml:94
75+#: qml/Components/Dialogs.qml:98
7676msgid "Shut down"
7777msgstr "Uitschakelen"
7878
79−#: qml/Components/Dialogs.qml:95
79+#: qml/Components/Dialogs.qml:99
8080msgid "Are you sure you want to shut down?"
8181msgstr "Weet u zeker dat u het apparaat wilt uitschakelen?"
8282
83−#: qml/Components/Dialogs.qml:119
83+#: qml/Components/Dialogs.qml:123
8484msgid "Reboot"
8585msgstr "Herstarten"
8686
87−#: qml/Components/Dialogs.qml:120
87+#: qml/Components/Dialogs.qml:124
8888msgid "Are you sure you want to reboot?"
8989msgstr "Weet u zeker dat u het apparaat wilt herstarten?"
9090
91−#: qml/Components/Dialogs.qml:144
91+#: qml/Components/Dialogs.qml:148
9292msgid "Power"
9393msgstr "Energie"
9494
95−#: qml/Components/Dialogs.qml:145
95+#: qml/Components/Dialogs.qml:149
9696msgid ""
9797"Are you sure you would like\n"
9898"to power off?"
@@ -100,15 +100,15 @@ msgstr ""
100100"Weet u zeker dat u het apparaat\n"
101101"wilt uitschakelen?"
102102
103−#: qml/Components/Dialogs.qml:147
103+#: qml/Components/Dialogs.qml:151
104104msgid "Power off"
105105msgstr "Uitschakelen"
106106
107−#: qml/Components/Dialogs.qml:157
107+#: qml/Components/Dialogs.qml:161
108108msgid "Restart"
109109msgstr "Herstarten"
110110
111−#: qml/Components/Dialogs.qml:167
111+#: qml/Components/Dialogs.qml:171
112112msgid "Cancel"
113113msgstr "Annuleren"
114114
@@ -116,43 +116,43 @@ msgstr "Annuleren"
116116msgid "Skip intro"
117117msgstr "Intro overslaan"
118118
119−#: qml/Components/EdgeDemo.qml:125
119+#: qml/Components/EdgeDemo.qml:112
120120msgid "Right edge"
121121msgstr "Rechterrand"
122122
123−#: qml/Components/EdgeDemo.qml:126
123+#: qml/Components/EdgeDemo.qml:113
124124msgid "Try swiping from the right edge to unlock the phone"
125125msgstr "Veeg vanuit de rechterrand om het scherm te ontgrendelen"
126126
127−#: qml/Components/EdgeDemo.qml:157
127+#: qml/Components/EdgeDemo.qml:144
128128msgid "Top edge"
129129msgstr "Bovenrand"
130130
131−#: qml/Components/EdgeDemo.qml:158
131+#: qml/Components/EdgeDemo.qml:145
132132msgid "Try swiping from the top edge to access the indicators"
133133msgstr "Veeg vanuit de bovenrand om de indicatoren te bekijken"
134134
135−#: qml/Components/EdgeDemo.qml:183
135+#: qml/Components/EdgeDemo.qml:170
136136msgid "Close"
137137msgstr "Sluiten"
138138
139−#: qml/Components/EdgeDemo.qml:184
139+#: qml/Components/EdgeDemo.qml:171
140140msgid "Swipe up again to close the settings screen"
141141msgstr "Veeg nogmaals omhoog om het instellingenscherm te sluiten"
142142
143−#: qml/Components/EdgeDemo.qml:214
143+#: qml/Components/EdgeDemo.qml:201
144144msgid "Left edge"
145145msgstr "Linkerrand"
146146
147−#: qml/Components/EdgeDemo.qml:215
147+#: qml/Components/EdgeDemo.qml:202
148148msgid "Swipe from the left to reveal the launcher for quick access to apps"
149149msgstr "Veeg vanaf links om de Starter te tonen voor snelle toegang tot apps"
150150
151−#: qml/Components/EdgeDemo.qml:242
151+#: qml/Components/EdgeDemo.qml:229
152152msgid "Well done"
153153msgstr "Goed gedaan"
154154
155−#: qml/Components/EdgeDemo.qml:243
155+#: qml/Components/EdgeDemo.qml:230
156156msgid ""
157157"You have now mastered the edge gestures and can start using the "
158158"phone<br><br>Tap on the screen to start"
@@ -160,44 +160,44 @@ msgstr ""
160160"Nu u de bewegingen vanuit de randen onder de knie heeft, kunt u beginnen met "
161161"het gebruiken van de telefoon<br><br>Tik op het scherm om te beginnen"
162162
163−#: qml/Components/Lockscreen.qml:238
163+#: qml/Components/Lockscreen.qml:223
164164msgid "Return to Call"
165165msgstr "Teruggaan naar gesprek"
166166
167−#: qml/Components/Lockscreen.qml:238
167+#: qml/Components/Lockscreen.qml:223
168168msgid "Emergency Call"
169169msgstr "Noodoproep"
170170
171−#: qml/Components/Lockscreen.qml:270
171+#: qml/Components/Lockscreen.qml:255
172172msgid "OK"
173173msgstr "Ok"
174174
175−#: qml/Dash/GenericScopeView.qml:431 qml/Dash/GenericScopeView.qml:588
175+#: qml/Dash/GenericScopeView.qml:434 qml/Dash/GenericScopeView.qml:591
176176msgid "See less"
177177msgstr "Minder zien"
178178
179−#: qml/Dash/GenericScopeView.qml:431
179+#: qml/Dash/GenericScopeView.qml:434
180180msgid "See all"
181181msgstr "Alles zien"
182182
183−#: qml/Dash/GenericScopeView.qml:493 qml/Dash/PageHeader.qml:267
183+#: qml/Dash/GenericScopeView.qml:496 qml/Dash/PageHeader.qml:268
184184#: qml/Panel/SearchIndicator.qml:27
185185msgid "Search"
186186msgstr "Zoeken"
187187
188−#: qml/Dash/PageHeader.qml:260
188+#: qml/Dash/PageHeader.qml:261
189189msgid "Store"
190190msgstr "Winkel"
191191
192−#: qml/Dash/PageHeader.qml:277
192+#: qml/Dash/PageHeader.qml:278
193193msgid "Settings"
194194msgstr "Instellingen"
195195
196−#: qml/Dash/PageHeader.qml:284
196+#: qml/Dash/PageHeader.qml:285
197197msgid "Remove from Favorites"
198198msgstr "Verwijderen uit favorieten"
199199
200−#: qml/Dash/PageHeader.qml:284
200+#: qml/Dash/PageHeader.qml:285
201201msgid "Add to Favorites"
202202msgstr "Toevoegen aan favorieten"
203203
@@ -231,7 +231,7 @@ msgstr "Loslaten om te verversen…"
231231
232232#: qml/Dash/ScopesList.qml:63
233233msgid "Manage"
234−msgstr ""
234+msgstr "Beheren"
235235
236236#: qml/Dash/ScopesList.qml:107
237237msgid "Home"
@@ -239,7 +239,7 @@ msgstr ""
239239
240240#: qml/Dash/ScopesList.qml:108
241241msgid "Also installed"
242−msgstr ""
242+msgstr "Ook geïnstalleerd"
243243
244244#: qml/Greeter/Greeter.qml:174
245245msgid "Unlock"
@@ -293,49 +293,49 @@ msgstr "Simkaart deblokkeren"
293293msgid "Roaming"
294294msgstr "Roaming"
295295
296−#: qml/Shell.qml:367
296+#: qml/Shell.qml:402
297297#, qt-format
298298msgid "Enter %1"
299299msgstr "Voer %1 in"
300300
301−#: qml/Shell.qml:368 qml/Wizard/Pages/passwd-set.qml:60
301+#: qml/Shell.qml:394
302302msgid "Enter passphrase"
303303msgstr "Voer wachtwoordzin in"
304304
305−#: qml/Shell.qml:369
305+#: qml/Shell.qml:398
306306msgid "Enter passcode"
307307msgstr "Voer toegangscode in"
308308
309−#: qml/Shell.qml:370
309+#: qml/Shell.qml:403
310310#, qt-format
311311msgid "Sorry, incorrect %1"
312312msgstr "Sorry, onjuiste %1"
313313
314−#: qml/Shell.qml:371
314+#: qml/Shell.qml:395
315315msgid "Sorry, incorrect passphrase"
316316msgstr "Sorry, onjuiste wachtwoordzin"
317317
318−#: qml/Shell.qml:372
318+#: qml/Shell.qml:396
319319msgid "Please re-enter"
320320msgstr "Herhaal deze a.u.b."
321321
322−#: qml/Shell.qml:373
322+#: qml/Shell.qml:399
323323msgid "Sorry, incorrect passcode"
324324msgstr "Sorry, onjuiste toegangscode"
325325
326−#: qml/Shell.qml:467 qml/Wizard/Pages/passwd-confirm.qml:53
326+#: qml/Shell.qml:444
327327msgid "Sorry, incorrect passphrase."
328328msgstr "Sorry, onjuiste wachtwoordzin."
329329
330−#: qml/Shell.qml:468 qml/Wizard/Pages/passwd-confirm.qml:54
330+#: qml/Shell.qml:445
331331msgid "Sorry, incorrect passcode."
332332msgstr "Sorry, onjuiste toegangscode."
333333
334−#: qml/Shell.qml:469
334+#: qml/Shell.qml:446
335335msgid "This will be your last attempt."
336336msgstr "Dit zal uw laatste poging worden."
337337
338−#: qml/Shell.qml:471
338+#: qml/Shell.qml:448
339339msgid ""
340340"If passphrase is entered incorrectly, your phone will conduct a factory "
341341"reset and all personal data will be deleted."
@@ -343,7 +343,7 @@ msgstr ""
343343"Wanneer de wachtwoordzin nu opnieuw onjuist wordt ingevoerd, zal uw telefoon "
344344"teruggaan naar de fabrieksinstellingen en zal al uw eigen data verloren gaan."
345345
346−#: qml/Shell.qml:472
346+#: qml/Shell.qml:449
347347msgid ""
348348"If passcode is entered incorrectly, your phone will conduct a factory reset "
349349"and all personal data will be deleted."
@@ -353,98 +353,99 @@ msgstr ""
353353
354354#: qml/Wizard/Page.qml:89
355355msgid "Back"
356−msgstr ""
356+msgstr "Terug"
357357
358358#: qml/Wizard/Pages/10-welcome.qml:27
359359msgid "Hi!"
360−msgstr ""
360+msgstr "Hallo!"
361361
362362#: qml/Wizard/Pages/10-welcome.qml:44
363363msgid "Welcome to your Ubuntu phone."
364−msgstr ""
364+msgstr "Welkom bij uw Ubuntutelefoon."
365365
366366#: qml/Wizard/Pages/10-welcome.qml:52
367367msgid "Let’s get started."
368−msgstr ""
368+msgstr "Laten we beginnen."
369369
370370#: qml/Wizard/Pages/10-welcome.qml:88 qml/Wizard/Pages/30-passwd-type.qml:128
371371#: qml/Wizard/Pages/40-wifi.qml:197 qml/Wizard/Pages/50-location.qml:131
372372#: qml/Wizard/Pages/60-reporting.qml:50 qml/Wizard/Pages/passwd-confirm.qml:82
373373#: qml/Wizard/Pages/passwd-set.qml:90
374374msgid "Continue"
375−msgstr ""
375+msgstr "Doorgaan"
376376
377377#: qml/Wizard/Pages/20-sim.qml:25
378378msgid "Add a SIM card and restart your device"
379−msgstr ""
379+msgstr "Voeg een simkaart toe en herstart uw apparaat"
380380
381381#: qml/Wizard/Pages/20-sim.qml:55
382382msgid "Without it, you won’t be able to make calls or use text messaging."
383−msgstr ""
383+msgstr "Indien u dit niet doet, kunt u niet telefoneren of sms´en."
384384
385385#: qml/Wizard/Pages/20-sim.qml:69 qml/Wizard/Pages/40-wifi.qml:197
386386msgid "Skip"
387−msgstr ""
387+msgstr "Overslaan"
388388
389389#: qml/Wizard/Pages/30-passwd-type.qml:39
390390msgid "Lock security"
391−msgstr ""
391+msgstr "Vergrendelbeveiliging"
392392
393393#: qml/Wizard/Pages/30-passwd-type.qml:74
394394msgid "Please select how you’d like to unlock your phone."
395−msgstr ""
395+msgstr "Selecteer a.u.b. hoe u uw telefoon wilt ontgrendelen."
396396
397397#: qml/Wizard/Pages/30-passwd-type.qml:97
398398msgid "Swipe"
399−msgstr ""
399+msgstr "Vegen"
400400
401401#: qml/Wizard/Pages/30-passwd-type.qml:98
402402msgid "No security"
403−msgstr ""
403+msgstr "Geen beveiliging"
404404
405405#: qml/Wizard/Pages/30-passwd-type.qml:100
406406msgid "Passcode"
407−msgstr ""
407+msgstr "Toegangscode"
408408
409409#: qml/Wizard/Pages/30-passwd-type.qml:101
410410msgid "4 digits only"
411−msgstr ""
411+msgstr "Uitsluitend 4 cijfers"
412412
413413#: qml/Wizard/Pages/30-passwd-type.qml:103
414414msgid "Passphrase"
415−msgstr ""
415+msgstr "Wachtwoordzin"
416416
417417#: qml/Wizard/Pages/30-passwd-type.qml:104
418418msgid "Numbers and letters"
419−msgstr ""
419+msgstr "Cijfers en letters"
420420
421421#: qml/Wizard/Pages/40-wifi.qml:28
422422msgid "Connect to Wi‑Fi"
423−msgstr ""
423+msgstr "Verbinden met Wifi"
424424
425425#: qml/Wizard/Pages/40-wifi.qml:147
426426msgid "Available networks…"
427−msgstr ""
427+msgstr "Beschikbare netwerken…"
428428
429429#: qml/Wizard/Pages/40-wifi.qml:148
430430msgid "No available networks."
431−msgstr ""
431+msgstr "Geen netwerken beschikbaar."
432432
433433#: qml/Wizard/Pages/50-location.qml:27
434434msgid "Location"
435−msgstr ""
435+msgstr "Locatie"
436436
437437#: qml/Wizard/Pages/50-location.qml:62
438438msgid "Let the phone detect your location:"
439−msgstr ""
439+msgstr "Laat de telefoon uw locatie detecteren:"
440440
441441#: qml/Wizard/Pages/50-location.qml:69
442442msgid "Using GPS only (less accurate)"
443−msgstr ""
443+msgstr "Alleen GPS gebruiken (minder nauwkeurig)"
444444
445445#: qml/Wizard/Pages/50-location.qml:86
446446msgid "Using GPS, anonymized Wi-Fi and cellular network info (recommended)"
447447msgstr ""
448+"Met behulp van GPS, geanonimiseerde Wi-Fi en mobiele netwerkinfo (aanbevolen)"
448449
449450#. TRANSLATORS: HERE is a trademark for Nokia's location service, you probably shouldn't translate it
450451#: qml/Wizard/Pages/50-location.qml:103
@@ -452,81 +453,87 @@ msgid ""
452453"By selecting this option you agree to the Nokia HERE <a href='#'>terms and "
453454"conditions</a>."
454455msgstr ""
456+"Door deze optie te selecteren gaat u akkoord met de Nokia HERE <a "
457+"href='#'>Algemene Voorwaarden</a>."
455458
456459#: qml/Wizard/Pages/50-location.qml:112
457460msgid "Not at all"
458−msgstr ""
461+msgstr "Helemaal niet"
459462
460463#: qml/Wizard/Pages/50-location.qml:124
461464msgid "You can change your mind later in <b>System Settings</b>."
462−msgstr ""
465+msgstr "U kunt later van gedachten veranderen in <b>Systeeminstellingen</b>."
463466
464467#: qml/Wizard/Pages/60-reporting.qml:24
465468msgid "Improving your experience"
466−msgstr ""
469+msgstr "Uw ervaring verbeteren"
467470
468471#: qml/Wizard/Pages/60-reporting.qml:36
469472msgid ""
470473"Your phone is set up to automatically report errors to Canonical and its "
471474"partners, the makers of the operating system."
472475msgstr ""
476+"Uw telefoon is ingesteld om fouten automatisch te rapporteren aan Canonical "
477+"en partners, de makers van het besturingssysteem."
473478
474479#: qml/Wizard/Pages/60-reporting.qml:43
475480msgid ""
476481"This can be disabled in <b>System Settings</b> under <b>Security &amp; "
477482"Privacy</b>"
478483msgstr ""
484+"Dit kan uitgeschakeld worden bij de <b>Systeeminstellingen</b> onder "
485+"<b>Beveiliging &amp; Privacy</b>"
479486
480487#: qml/Wizard/Pages/80-finished.qml:24
481488msgid "All done"
482−msgstr ""
489+msgstr "Alles klaar"
483490
484491#: qml/Wizard/Pages/80-finished.qml:39
485492msgid "Nice work!"
486−msgstr ""
493+msgstr "Mooi werk!"
487494
488495#: qml/Wizard/Pages/80-finished.qml:46
489496msgid "Your phone is now ready to use."
490−msgstr ""
497+msgstr "Uw telefoon is nu klaar voor gebruik."
491498
492499#: qml/Wizard/Pages/80-finished.qml:53
493500msgid "Finish"
494−msgstr ""
501+msgstr "Voltooien"
495502
496503#: qml/Wizard/Pages/here-terms.qml:27
497504msgid "Terms & Conditions"
498−msgstr ""
505+msgstr "Algemene voorwaarden"
499506
500507#: qml/Wizard/Pages/passwd-confirm.qml:49
501508msgid "Confirm passphrase"
502−msgstr ""
509+msgstr "Wachtwoordzin bevestigen"
503510
504511#: qml/Wizard/Pages/passwd-confirm.qml:50
505512msgid "Confirm passcode"
506−msgstr ""
513+msgstr "Toegangscode bevestigen"
507514
508515#: qml/Wizard/Pages/passwd-confirm.qml:53
509516#: qml/Wizard/Pages/passwd-confirm.qml:54
510517msgid "Please try again."
511−msgstr ""
518+msgstr "Probeer het opnieuw."
512519
513520#: qml/Wizard/Pages/passwd-set.qml:61
514521msgid "Choose your passcode"
515−msgstr ""
522+msgstr "Kies uw toegangscode"
516523
517524#: qml/Wizard/Pages/passwd-set.qml:68
518525msgid "Passphrase must be 4 characters long"
519−msgstr ""
526+msgstr "De wachtwoordzin moet 4 tekens lang zijn"
520527
521528#: qml/Wizard/StackButton.qml:39
522529#, qt-format
523530msgid "〈 %1"
524−msgstr ""
531+msgstr "〈 %1"
525532
526533#: qml/Wizard/StackButton.qml:42
527534#, qt-format
528535msgid "%1 〉"
529−msgstr ""
536+msgstr "%1 〉"
530537
531538#~ msgid "Confirm"
532539#~ msgstr "Bevestigen"
qml/Dash/Dash.qml+2−2
@@ -304,8 +304,8 @@ Showable {
304304 Image {
305305 source: "graphics/overview_hint.png"
306306 anchors.horizontalCenter: parent.horizontalCenter
307− opacity: (scopeItem.scope ? scopeItem.pageHeaderTotallyVisible : scopes.count == 0 || dashContent.pageHeaderTotallyVisible) &&
308− (overviewDragHandle.enabled || bottomEdgeController.progress != 0) ? 1 : 0
307+ opacity: !scopeItem.scope && (scopes.count == 0 || dashContent.pageHeaderTotallyVisible) &&
308+ (overviewDragHandle.enabled || overviewDragHandle.status.progress != 0) ? 1 : 0
309309 Behavior on opacity {
310310 enabled: bottomEdgeController.progress == 0
311311 UbuntuNumberAnimation {}
qml/Dash/GenericScopeView.qml+30−2
@@ -41,6 +41,7 @@ FocusScope {
4141 property bool visibleToParent: false
4242 property alias pageHeaderTotallyVisible: categoryView.pageHeaderTotallyVisible
4343 property var holdingList: null
44+ property bool wasCurrentOnMoveStart: false
4445
4546 property var scopeStyle: ScopeStyle {
4647 style: scope ? scope.customizations : {}
@@ -116,6 +117,9 @@ FocusScope {
116117 }
117118
118119 onIsCurrentChanged: {
120+ if (!holdingList || !holdingList.moving) {
121+ wasCurrentOnMoveStart = scopeView.isCurrent;
122+ }
119123 if (pageHeaderLoader.item && showPageHeader) {
120124 pageHeaderLoader.item.resetSearch();
121125 }
@@ -142,6 +146,15 @@ FocusScope {
142146 onHideDash: subPageLoader.closeSubPage()
143147 }
144148
149+ Connections {
150+ target: holdingList
151+ onMovingChanged: {
152+ if (!moving) {
153+ wasCurrentOnMoveStart = scopeView.isCurrent;
154+ }
155+ }
156+ }
157+
145158 Rectangle {
146159 anchors.fill: parent
147160 color: scopeView.scopeStyle ? scopeView.scopeStyle.background : "transparent"
@@ -367,7 +380,11 @@ FocusScope {
367380
368381 function updateRanges() {
369382 // Don't want to create stress by requesting more items during scope
370− // changes so unless you're not part of the visible scopes just return
383+ // changes so unless you're not part of the visible scopes just return.
384+ // For the visible scopes we need to do some work, the previously non visible
385+ // scope needs to adjust its ranges so that we define the new visible range,
386+ // that still means no creation/destruction of delegates, it's just about changing
387+ // the culling of the items so they are actually visible
371388 if (holdingList && holdingList.moving && !scopeView.visibleToParent) {
372389 return;
373390 }
@@ -412,7 +429,18 @@ FocusScope {
412429 if (scopeView.isCurrent || scopeView.visibleToParent) {
413430 item.displayMarginBeginning = displayMarginBeginning;
414431 item.displayMarginEnd = displayMarginEnd;
415− item.cacheBuffer = scopeView.isCurrent ? categoryView.height * 1.5 : 0;
432+ if (holdingList && holdingList.moving) {
433+ // If we are moving we need to reset the cache buffer of the
434+ // view that was not visible (i.e. !wasCurrentOnMoveStart) to 0 since
435+ // otherwise the cache buffer we had set to preload the items of the
436+ // visible range will trigger some item creations and we want move to
437+ // be as smooth as possible meaning no need creations
438+ if (!wasCurrentOnMoveStart) {
439+ item.cacheBuffer = 0;
440+ }
441+ } else {
442+ item.cacheBuffer = categoryView.height * 1.5;
443+ }
416444 } else {
417445 var visibleRange = baseItem.height + displayMarginEnd + displayMarginBeginning;
418446 if (visibleRange < 0) {
src/libunity8-private/abstractdbusservicemonitor.cpp+21−8
@@ -32,19 +32,20 @@ AbstractDBusServiceMonitor::AbstractDBusServiceMonitor(const QString &service, c
3232 , m_service(service)
3333 , m_path(path)
3434 , m_interface(interface)
35+ , m_bus(bus)
3536 , m_watcher(new QDBusServiceWatcher(service,
3637 (bus == SystemBus) ? QDBusConnection::systemBus()
3738 : QDBusConnection::sessionBus()))
3839 , m_dbusInterface(nullptr)
3940{
40− connect(m_watcher, &QDBusServiceWatcher::serviceRegistered, this, &AbstractDBusServiceMonitor::createInterface);
41− connect(m_watcher, &QDBusServiceWatcher::serviceUnregistered, this, &AbstractDBusServiceMonitor::destroyInterface);
41+ connect(m_watcher, &QDBusServiceWatcher::serviceRegistered, this, &AbstractDBusServiceMonitor::onServiceRegistered);
42+ connect(m_watcher, &QDBusServiceWatcher::serviceUnregistered, this, &AbstractDBusServiceMonitor::onServiceUnregistered);
4243
4344 // Connect to the service if it's up already
4445 QDBusConnectionInterface* sessionBus = QDBusConnection::sessionBus().interface();
4546 QDBusReply<bool> reply = sessionBus->isServiceRegistered(m_service);
4647 if (reply.isValid() && reply.value()) {
47− createInterface(m_service);
48+ onServiceRegistered(m_service);
4849 }
4950}
5051
@@ -54,19 +55,31 @@ AbstractDBusServiceMonitor::~AbstractDBusServiceMonitor()
5455 delete m_dbusInterface;
5556}
5657
57−void AbstractDBusServiceMonitor::createInterface(const QString &)
58+void AbstractDBusServiceMonitor::onServiceRegistered(const QString &)
5859{
5960 if (m_dbusInterface != nullptr) {
6061 delete m_dbusInterface;
6162 m_dbusInterface = nullptr;
6263 }
6364
64− m_dbusInterface = new QDBusInterface(m_service, m_path, m_interface,
65− QDBusConnection::sessionBus());
65+ m_dbusInterface = createInterface(m_service, m_path, m_interface,
66+ (m_bus == SystemBus) ? QDBusConnection::systemBus()
67+ : QDBusConnection::sessionBus());
6668 Q_EMIT serviceAvailableChanged(true);
6769}
6870
69−void AbstractDBusServiceMonitor::destroyInterface(const QString &)
71+/*
72+ * Default implementation creates a QDBusInterface. This performs blocking introspection of the
73+ * service at initialization, which may be undesirable if the service is slow/blocked.
74+ */
75+QDBusAbstractInterface*
76+AbstractDBusServiceMonitor::createInterface(const QString &service, const QString &path,
77+ const QString &interface, const QDBusConnection &connection)
78+{
79+ return new QDBusInterface(service, path, interface, connection);
80+}
81+
82+void AbstractDBusServiceMonitor::onServiceUnregistered(const QString &)
7083{
7184 if (m_dbusInterface != nullptr) {
7285 delete m_dbusInterface;
@@ -76,7 +89,7 @@ void AbstractDBusServiceMonitor::destroyInterface(const QString &)
7689 Q_EMIT serviceAvailableChanged(false);
7790}
7891
79−QDBusInterface* AbstractDBusServiceMonitor::dbusInterface() const
92+QDBusAbstractInterface* AbstractDBusServiceMonitor::dbusInterface() const
8093{
8194 return m_dbusInterface;
8295}
src/libunity8-private/abstractdbusservicemonitor.h+9−5
@@ -24,7 +24,7 @@
2424#include <QString>
2525#include <QDBusConnection>
2626
27−class QDBusInterface;
27+class QDBusAbstractInterface;
2828class QDBusServiceWatcher;
2929
3030class Q_DECL_EXPORT AbstractDBusServiceMonitor : public QObject
@@ -44,7 +44,7 @@ public:
4444 QObject *parent = 0);
4545 ~AbstractDBusServiceMonitor();
4646
47− QDBusInterface* dbusInterface() const;
47+ QDBusAbstractInterface* dbusInterface() const;
4848
4949 bool serviceAvailable() const;
5050
@@ -52,15 +52,19 @@ Q_SIGNALS:
5252 void serviceAvailableChanged(bool available);
5353
5454private Q_SLOTS:
55− void createInterface(const QString &service);
56− void destroyInterface(const QString &service);
55+ void onServiceRegistered(const QString &service);
56+ void onServiceUnregistered(const QString &service);
5757
5858protected:
59+ virtual QDBusAbstractInterface* createInterface(const QString &service, const QString &path,
60+ const QString &interface, const QDBusConnection &connection);
61+
5962 const QString m_service;
6063 const QString m_path;
6164 const QString m_interface;
65+ const Bus m_bus;
6266 QDBusServiceWatcher* m_watcher;
63− QDBusInterface* m_dbusInterface;
67+ QDBusAbstractInterface* m_dbusInterface;
6468};
6569
6670#endif // ABSTRACTDBUSSERVICEMONITOR_H
tests/autopilot/unity8/shell/tests/test_edges_demo.py+1−1
@@ -31,7 +31,7 @@ from unity8.shell.emulators import edges_demo # NOQA
3131class EdgesDemoTestCase(tests.UnityTestCase):
3232
3333 def setUp(self):
34− super().setUp()
34+ super(EdgesDemoTestCase, self).setUp()
3535 self._qml_mock_enabled = False
3636 self._data_dirs_mock_enabled = False
3737 self._lightdm_mock_type = False
tests/mocks/LightDM/demo/CMakeLists.txt+1
@@ -28,6 +28,7 @@ target_link_libraries(MockLightDM-demo-shared
2828qt5_use_modules(MockLightDM-demo Concurrent Gui)
2929qt5_use_modules(MockLightDM-demo-shared Concurrent Gui)
3030
31+set_target_properties(MockLightDM-demo PROPERTIES COMPILE_FLAGS -fPIC)
3132set_target_properties(MockLightDM-demo-shared PROPERTIES
3233 OUTPUT_NAME lightdm-qt5-2)
3334
tests/qmltests/Dash/tst_Card.qml+2−2
@@ -61,7 +61,7 @@ Rectangle {
6161 },
6262 {
6363 "name": "Art, header, summary - horizontal",
64− "layout": { "template": { "card-layout": "horizontal" },
64+ "layout": { "template": { "card-layout": "horizontal", "card-background": { "type": "gradient", "elements": ["grey", "white"] } },
6565 "components": JSON.parse(Helpers.fullMapping) }
6666 },
6767 {
@@ -407,7 +407,7 @@ Rectangle {
407407 return [
408408 { tag: "Art and summary", visible: true, color: "#ffffff", index: 0 },
409409 { tag: "No Summary", visible: false, index: 6 },
410− { tag: "Horizontal", visible: false, index: 5 },
410+ { tag: "Horizontal", visible: true, color: "#808080", index: 5 },
411411 { tag: "Grey background", visible: true, color: "#808080", index: 10 },
412412 { tag: "Overriden Gradient background", visible: true, color: "#808080", gradientColor: "#ffffff",
413413 background: {type: "color", elements: ["grey", "white"]}, index: 10 },
tests/qmltests/Dash/tst_DashContent.qml+57
@@ -537,5 +537,62 @@ Item {
537537
538538 compare(categoryListView.pageHeader.item.searchHint, "Search People");
539539 }
540+
541+ function compareArrays(a, b) {
542+ if (a.length != b.length) return false;
543+ for (var i in a) {
544+ if (a[i] != b[i]) return false;
545+ }
546+ return true;
547+ }
548+
549+ function getSettledButtons() {
550+ var buttons = findChildsByType(dashContent, "AbstractButton");
551+ wait(2500);
552+ var aux = findChildsByType(dashContent, "AbstractButton");
553+ while (!compareArrays(aux, buttons)) {
554+ buttons = aux;
555+ wait(2500);
556+ aux = findChildsByType(dashContent, "AbstractButton");
557+ }
558+ return buttons;
559+ }
560+
561+ function test_noDelegateCreationDestructionOnMove() {
562+ // Our cards are of type AbstractButton as defined in CardCreator.js
563+ // This gives also other things that are not cards but for our purpose it
564+ // does not matter
565+
566+ // Wait for the buttons to settle
567+ var buttons = getSettledButtons();
568+
569+ // Move the scopes so that the item on the right is the current one
570+ // without releasing the button
571+ mouseFlick(dashContent, dashContent.width - units.gu(1), units.gu(1), units.gu(1), units.gu(1), true, false);
572+
573+ // Make sure we have changed to a new scope
574+ compare(dashContent.currentIndex, 1);
575+
576+ // Wait for the buttons to settle
577+ var buttons2 = getSettledButtons();
578+
579+ // Verify we have exactly the same buttons as before starting to move
580+ verify(compareArrays(buttons2, buttons));
581+
582+ // Release the mouse
583+ mouseRelease(dashContent, units.gu(1), units.gu(1));
584+
585+ // Wait for the scopes list to stop moving
586+ var dashContentList = findChild(dashContent, "dashContentList");
587+ tryCompare(dashContentList, "moving", false);
588+ compare(dashContent.currentIndex, 1);
589+
590+ // Wait for the buttons to settle
591+ var buttons3 = getSettledButtons();
592+
593+ // Verify we have a different set of buttons now
594+ expectFail("", "There has to be new cards after releasing the list is not moving anymore");
595+ verify(compareArrays(buttons3, buttons));
596+ }
540597 }
541598}
tests/utils/modules/Unity/Test/UnityTestCase.qml+17−69
@@ -37,6 +37,7 @@ TestCase {
3737 this.getCurrentTimeMs = function() {return this.currentTimeMs}
3838 }
3939
40+ // TODO This function can be removed altogether once we use Qt 5.5 which has the same feature
4041 function mouseClick(item, x, y, button, modifiers, delay) {
4142 if (button === undefined)
4243 button = Qt.LeftButton;
@@ -52,6 +53,7 @@ TestCase {
5253 qtest_fail("window not shown", 2);
5354 }
5455
56+ // TODO This function can be removed altogether once we use Qt 5.5 which has the same feature
5557 function mouseDoubleClick(item, x, y, button, modifiers, delay) {
5658 if (button === undefined)
5759 button = Qt.LeftButton;
@@ -67,6 +69,7 @@ TestCase {
6769 qtest_fail("window not shown", 2)
6870 }
6971
72+ // TODO This function can be removed altogether once we use Qt 5.5 which has the same feature
7073 function mousePress(item, x, y, button, modifiers, delay) {
7174 if (button === undefined)
7275 button = Qt.LeftButton;
@@ -82,6 +85,7 @@ TestCase {
8285 qtest_fail("window not shown", 2)
8386 }
8487
88+ // TODO This function can be removed altogether once we use Qt 5.5 which has the same feature
8589 function mouseRelease(item, x, y, button, modifiers, delay) {
8690 if (button === undefined)
8791 button = Qt.LeftButton;
@@ -170,78 +174,22 @@ TestCase {
170174 return null;
171175 }
172176
177+ function findChildsByType(obj, typeName) {
178+ var res = new Array(0);
179+ for (var i in obj.children) {
180+ var c = obj.children[i];
181+ if (UT.Util.isInstanceOf(c, typeName)) {
182+ res.push(c)
183+ }
184+ res = res.concat(findChildsByType(c, typeName));
185+ }
186+ return res;
187+ }
188+
173189 // Type a full string instead of keyClick letter by letter
174− // TODO: this is not ugly, this is uber-ugly and does not support
175− // any special character. Remove the keyMap once keyClick(obj, char)
176− // has landed in upstream Qt.
177190 function typeString(str) {
178− var keyMap = {
179− "a": Qt.Key_A,
180− "b": Qt.Key_B,
181− "c": Qt.Key_C,
182− "d": Qt.Key_D,
183− "e": Qt.Key_E,
184− "f": Qt.Key_F,
185− "g": Qt.Key_G,
186− "h": Qt.Key_H,
187− "i": Qt.Key_I,
188− "j": Qt.Key_J,
189− "k": Qt.Key_K,
190− "l": Qt.Key_L,
191− "m": Qt.Key_M,
192− "n": Qt.Key_N,
193− "o": Qt.Key_O,
194− "p": Qt.Key_P,
195− "q": Qt.Key_Q,
196− "r": Qt.Key_R,
197− "s": Qt.Key_S,
198− "t": Qt.Key_T,
199− "u": Qt.Key_U,
200− "v": Qt.Key_V,
201− "w": Qt.Key_W,
202− "x": Qt.Key_X,
203− "y": Qt.Key_Y,
204− "z": Qt.Key_Z,
205− "A": Qt.Key_A,
206− "B": Qt.Key_B,
207− "C": Qt.Key_C,
208− "D": Qt.Key_D,
209− "E": Qt.Key_E,
210− "F": Qt.Key_F,
211− "G": Qt.Key_G,
212− "H": Qt.Key_H,
213− "I": Qt.Key_I,
214− "J": Qt.Key_J,
215− "K": Qt.Key_K,
216− "L": Qt.Key_L,
217− "M": Qt.Key_M,
218− "N": Qt.Key_N,
219− "O": Qt.Key_O,
220− "P": Qt.Key_P,
221− "Q": Qt.Key_Q,
222− "R": Qt.Key_R,
223− "S": Qt.Key_S,
224− "T": Qt.Key_T,
225− "U": Qt.Key_U,
226− "V": Qt.Key_V,
227− "W": Qt.Key_W,
228− "X": Qt.Key_X,
229− "Y": Qt.Key_Y,
230− "Z": Qt.Key_Z,
231− "0": Qt.Key_0,
232− "1": Qt.Key_1,
233− "2": Qt.Key_2,
234− "3": Qt.Key_3,
235− "4": Qt.Key_4,
236− "5": Qt.Key_5,
237− "6": Qt.Key_6,
238− "7": Qt.Key_7,
239− "8": Qt.Key_8,
240− "9": Qt.Key_9,
241− " ": Qt.Key_Space,
242− }
243191 for (var i = 0; i < str.length; i++) {
244− keyClick(keyMap[str[i]])
192+ keyClick(str[i])
245193 }
246194 }
247195