on xenial help sign in
Merge from trunk
commit6b6d265fdced45b71d776346c7cc818c4482b965 authorMichael Terry <michael.terry@canonical.com> dateThu 21 Aug 2014, 08:53 (12 years ago) parent2b501133e0d35c
90 files changed+1289−655
build.sh+1 debian/changelog+56 debian/control+4−2 plugins/AccountsService/AccountsService.qmltypes+8 plugins/Dash/CardCreator.js+19−5 plugins/Dash/Dash.qmltypes+1 plugins/Dash/ScopeStyle.qml+1−1 plugins/LightDM/LightDM.qmltypes+7 plugins/Unity/DashCommunicator/DashCommunicator.qmltypes+34 plugins/Unity/Indicators/CachedUnityMenuModel.qml−60 plugins/Unity/Indicators/qmldir−3 plugins/Unity/Indicators/unitymenumodelcache.cpp+22−7 plugins/Unity/Indicators/unitymenumodelcache.h+5−3 plugins/Unity/Session/Session.qmltypes+12 plugins/Utils/Utils.qmltypes+7 po/am.po+9−9 po/ca.po+20−15 po/de.po+15−15 po/en_AU.po+17−13 po/en_GB.po+17−13 po/es.po+30−26 po/fa.po+17−13 po/fi.po+17−13 po/fr.po+25−19 po/hu.po+41−37 po/ja.po+53−52 po/km.po+32−26 po/ko.po+42−40 po/pl.po+20−20 po/pt.po+13−11 po/pt_BR.po+33−29 po/ru.po+39−35 po/sl.po+41−37 po/uk.po+17−13 qml/Components/Dialogs.qml+21−25 qml/Dash/CardHorizontalList.qml+2−2 qml/Dash/DashNavigation.qml+2−2 qml/Dash/DashNavigationList.qml+1−1 qml/Dash/GenericScopeView.qml+2−2 qml/Components/PageHeader.qml → qml/Dash/PageHeader.qml+4−3 qml/Dash/Previews/PreviewAudioPlayback.qml+3−3 qml/Dash/Previews/PreviewExpandable.qml+1−1 qml/Dash/Previews/PreviewHeader.qml+1−1 qml/Dash/Previews/PreviewRatingDisplay.qml+2−2 qml/Dash/Previews/PreviewRatingInput.qml+2−2 qml/Dash/Previews/PreviewTextSummary.qml+2−2 qml/Dash/ScopesOverview.qml+12−5 qml/Components/graphics/PageHeaderBaseDivider@18.png → qml/Dash/graphics/PageHeaderBaseDivider@18.png qml/Components/graphics/PageHeaderBaseDivider@18.sci → qml/Dash/graphics/PageHeaderBaseDivider@18.sci qml/Components/graphics/pagination_dot_off@30.png → qml/Dash/graphics/pagination_dot_off@30.png qml/Components/graphics/pagination_dot_on@30.png → qml/Dash/graphics/pagination_dot_on@30.png qml/Greeter/Clock.qml+2−1 qml/Hud/HudParametrizedActionsPage.qml+9−2 qml/Notifications/Notification.qml+3−1 qml/Notifications/Notifications.qml+2−2 tests/mocks/Unity/Indicators/CachedUnityMenuModel.qml → qml/Panel/Indicators/CachedUnityMenuModel.qml+14−5 qml/Panel/Indicators/DefaultIndicatorWidget.qml+2−1 qml/Panel/Indicators/IndicatorBase.qml+4−2 qml/Shell.qml+18−6 tests/autopilot/unity8/indicators/tests/test_indicators.py+1−1 tests/mocks/AccountsService/AccountsService.qmltypes+8 tests/mocks/LightDM/LightDM.qmltypes+7 tests/mocks/QMenuModel/QMenuModel.qmltypes+1 tests/mocks/QMenuModel/unitymenumodel.cpp+4−5 tests/mocks/Ubuntu/Telephony/Telephony.qmltypes+57 tests/mocks/Unity/Application/Application.qmltypes+133−8 tests/mocks/Unity/Application/ApplicationInfo.cpp+1 tests/mocks/Unity/DashCommunicator/DashCommunicator.qmltypes+46 tests/mocks/Unity/Indicators/CMakeLists.txt+6−1 tests/mocks/Unity/Indicators/fakeplugin.cpp+9 tests/mocks/Unity/Indicators/qmldir−1 tests/mocks/Unity/fake_categories.cpp+3 tests/mocks/Unity/fake_scope.cpp+1−1 tests/plugins/Dash/cardcreator/1.res+1−1 tests/plugins/Dash/cardcreator/2.res+2−2 tests/plugins/Dash/cardcreator/3.res+2−2 tests/plugins/Dash/cardcreator/4.res+2−2 tests/plugins/Dash/cardcreator/5.res+2−2 tests/plugins/Dash/cardcreator/6.res+3−3 tests/plugins/Dash/cardcreator/7.res+3−3 tests/plugins/Dash/tst_ScopeStyle.qml+4−4 tests/qmltests/CMakeLists.txt+2−1 tests/qmltests/Components/tst_LazyImage.qml+1−1 tests/qmltests/Dash/tst_Card.qml+1−1 tests/qmltests/Dash/tst_CardTool.qml+13−5 tests/qmltests/Dash/tst_Dash.qml+2−1 tests/qmltests/Dash/tst_GenericScopeView.qml+51−20 tests/qmltests/Components/tst_PageHeader.qml → tests/qmltests/Dash/tst_PageHeader.qml+2−2 tests/qmltests/Components/tst_PageHeader/logo-ubuntu-orange.svg → tests/qmltests/Dash/tst_PageHeader/logo-ubuntu-orange.svg tests/qmltests/Panel/Indicators/tst_CachedUnityMenuModel.qml+137
build.sh+1
@@ -44,6 +44,7 @@ install_dependencies() {
4444 gsettings-ubuntu-schemas \
4545 pay-service \
4646 qmenumodel-qml \
47+ qml-module-qtquick-layouts \
4748 qml-module-qtquick-xmllistmodel \
4849 qtdeclarative5-gsettings1.0 \
4950 qtdeclarative5-ubuntu-ui-toolkit-plugin \
debian/changelog+56
@@ -1,3 +1,59 @@
1+unity8 (8.00+14.10.20140820-0ubuntu1) utopic; urgency=low
2+
3+ [ CI bot ]
4+ * Resync trunk
5+
6+ [ Nick Dedekind ]
7+ * Fixed CachedUnityMenuModel destruction unhinging indicators. (LP:
8+ #1328646)
9+
10+ [ Mirco Müller ]
11+ * Temporarily disable any opacity-animation for notifications to
12+ unblock the train due to LP: 1354406. (LP: #1354406)
13+
14+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Wed, 20 Aug 2014 20:03:55 +0000
15+
16+unity8 (8.00+14.10.20140817-0ubuntu1) utopic; urgency=low
17+
18+ [ CI bot ]
19+ * Resync trunk
20+
21+ [ Michał Sawicz ]
22+ * Fix dash overview test and prevent crash in mock ApplicationInfo's
23+ d'tor. tryCompareFunction didn't work because .item threw.
24+
25+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Sun, 17 Aug 2014 00:37:35 +0000
26+
27+unity8 (8.00+14.10.20140815.1-0ubuntu1) utopic; urgency=low
28+
29+ [ Michael Terry ]
30+ * Bring dialer to front on incoming call even when device is locked
31+ (LP: #1354532)
32+
33+ [ CI bot ]
34+ * Resync trunk
35+
36+ [ Michał Sawicz ]
37+ * Use palette's baseText for text colour in dash.
38+ * Update qmltypes definitions
39+ * Move PageHeader out of qml/Components into qml/Dash
40+ * Reshuffle and update dependencies
41+ * Fix cardtool test and make card creator output debugging info on
42+ errors.
43+ * Support previews for scopes in overview and hook up preview
44+ processing to activity indicator.
45+ * Fix notifications indicator title
46+ * Fix horizontal list activation and add test for it.
47+
48+ [ Ying-Chun Liu ]
49+ * Add button colors and i18n for power off dialog. (LP: #1354506)
50+
51+ [ Mirco Müller ]
52+ * Force plain-text rendering for summary- and body-text. (LP:
53+ #1335787)
54+
55+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Fri, 15 Aug 2014 17:38:07 +0000
56+
157unity8 (8.00+14.10.20140814.1-0ubuntu1) utopic; urgency=low
258
359 [ Michael Terry ]
debian/control+4−2
@@ -32,6 +32,7 @@ Build-Depends: cmake,
3232 python3-all:any,
3333 python3-setuptools,
3434 python:any (>= 2.7),
35+ qml-module-qtquick-layouts,
3536 qml-module-qtquick-xmllistmodel,
3637 qml-module-qtquick2,
3738 qml-module-qttest,
@@ -84,7 +85,6 @@ Depends: gsettings-desktop-schemas,
8485 qml-module-qtquick-xmllistmodel,
8586 qtdeclarative5-gsettings1.0,
8687 qtdeclarative5-qtmir-plugin (>= 0.4.1),
87− qtdeclarative5-ubuntu-settings-components (>= 0.3),
8888 qtdeclarative5-ubuntu-telephony0.1,
8989 unity-launcher-impl-3,
9090 unity8-common (= ${source:Version}),
@@ -105,7 +105,9 @@ Description: Unity 8 shell
105105
106106Package: unity8-common
107107Architecture: all
108−Depends: qtdeclarative5-ubuntu-thumbnailer0.1 | ubuntu-thumbnailer-impl,
108+Depends: qml-module-qtquick-layouts,
109+ qtdeclarative5-ubuntu-settings-components (>= 0.3),
110+ qtdeclarative5-ubuntu-thumbnailer0.1 | ubuntu-thumbnailer-impl,
109111 qtdeclarative5-ubuntu-ui-toolkit-plugin (>= 0.1.49) | qtdeclarative5-ubuntu-ui-toolkit-plugin-gles (>= 0.1.49),
110112 qtdeclarative5-unity-notifications-plugin (>= 0.1.2) | unity-notifications-impl,
111113 ubuntu-thumbnailer-impl-0,
plugins/AccountsService/AccountsService.qmltypes+8
@@ -14,9 +14,17 @@ Module {
1414 isCreatable: false
1515 isSingleton: true
1616 exportMetaObjectRevisions: [0]
17+ Enum {
18+ name: "PasswordDisplayHint"
19+ values: {
20+ "Keyboard": 0,
21+ "Numeric": 1
22+ }
23+ }
1724 Property { name: "user"; type: "string" }
1825 Property { name: "demoEdges"; type: "bool" }
1926 Property { name: "backgroundFile"; type: "string"; isReadonly: true }
2027 Property { name: "statsWelcomeScreen"; type: "bool"; isReadonly: true }
28+ Property { name: "passwordDisplayHint"; type: "PasswordDisplayHint"; isReadonly: true }
2129 }
2230}
plugins/Dash/CardCreator.js+19−5
@@ -439,20 +439,20 @@ function cardString(template, components) {
439439 mascotCode = kMascotImageCode.arg(mascotAnchors).arg(mascotImageVisible);
440440 }
441441
442− var summaryColorWithBackground = 'backgroundLoader.active && backgroundLoader.item && backgroundLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : "grey")';
442+ var summaryColorWithBackground = 'backgroundLoader.active && backgroundLoader.item && backgroundLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : Theme.palette.normal.baseText)';
443443
444444 var hasTitleContainer = hasTitle && (hasEmblem || (hasMascot && (hasSubtitle || hasAttributes)));
445445 var titleSubtitleCode = '';
446446 if (hasTitle) {
447447 var titleColor;
448448 if (headerAsOverlay) {
449− titleColor = 'overlayLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : "grey")';
449+ titleColor = 'overlayLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : Theme.palette.normal.baseText)';
450450 } else if (hasSummary) {
451451 titleColor = 'summary.color';
452452 } else if (hasBackground) {
453453 titleColor = summaryColorWithBackground;
454454 } else {
455− titleColor = 'root.scopeStyle ? root.scopeStyle.foreground : "grey"';
455+ titleColor = 'root.scopeStyle ? root.scopeStyle.foreground : Theme.palette.normal.baseText';
456456 }
457457
458458 var titleAnchors;
@@ -604,7 +604,7 @@ function cardString(template, components) {
604604 if (hasBackground) {
605605 summaryColor = summaryColorWithBackground;
606606 } else {
607− summaryColor = 'root.scopeStyle ? root.scopeStyle.foreground : "grey"';
607+ summaryColor = 'root.scopeStyle ? root.scopeStyle.foreground : Theme.palette.normal.baseText';
608608 }
609609
610610 var summaryTopMargin = (hasMascot || hasSubtitle || hasAttributes ? 'anchors.margins' : '0');
@@ -639,7 +639,10 @@ function cardString(template, components) {
639639 implicitHeight += 'titleLabel.y + titleLabel.height + units.gu(1);\n';
640640 } else if (hasArt) {
641641 implicitHeight += 'artShapeHolder.height;\n';
642+ } else {
643+ implicitHeight = '';
642644 }
645+
643646 // Close the AbstractButton
644647 code += implicitHeight + '}\n';
645648
@@ -653,5 +656,16 @@ function createCardComponent(parent, template, components) {
653656 var card = cardString(template, components);
654657 var code = imports + 'Component {\n' + card + '}\n';
655658
656− return Qt.createQmlObject(code, parent, "createCardComponent");
659+ try {
660+ return Qt.createQmlObject(code, parent, "createCardComponent");
661+ } catch (e) {
662+ console.error("ERROR: Invalid component created.");
663+ console.error("Template:");
664+ console.error(JSON.stringify(template));
665+ console.error("Components:");
666+ console.error(JSON.stringify(components));
667+ console.error("Code:");
668+ console.error(code);
669+ throw e;
670+ }
657671}
plugins/Dash/Dash.qmltypes+1
@@ -39,6 +39,7 @@ Module {
3939 Property { name: "sectionProperty"; type: "string" }
4040 Property { name: "forceNoClip"; type: "bool" }
4141 Property { name: "stickyHeaderHeight"; type: "int"; isReadonly: true }
42+ Property { name: "headerItemShownHeight"; type: "double"; isReadonly: true }
4243 Signal { name: "headerChanged" }
4344 Method { name: "positionAtBeginning" }
4445 Method { name: "showHeader" }
plugins/Dash/ScopeStyle.qml+1−1
@@ -87,7 +87,7 @@ QtObject {
8787 property var d: QtObject {
8888 // FIXME: should be taken from the theme
8989 readonly property color defaultLight: "white"
90− readonly property color defaultDark: "grey"
90+ readonly property color defaultDark: Theme.palette.normal.baseText
9191 readonly property real defaultLightLuminance: luminance(defaultLight)
9292 readonly property real defaultDarkLuminance: luminance(defaultDark)
9393
plugins/LightDM/LightDM.qmltypes+7
@@ -14,6 +14,7 @@ Module {
1414 isCreatable: false
1515 isSingleton: true
1616 exportMetaObjectRevisions: [0]
17+ Property { name: "active"; type: "bool" }
1718 Property { name: "authenticated"; type: "bool"; isReadonly: true }
1819 Property { name: "authenticationUser"; type: "string"; isReadonly: true }
1920 Property { name: "promptless"; type: "bool"; isReadonly: true }
@@ -32,6 +33,8 @@ Module {
3233 name: "authenticationUserChanged"
3334 Parameter { name: "user"; type: "string" }
3435 }
36+ Signal { name: "isActiveChanged" }
37+ Signal { name: "showGreeter" }
3538 Signal {
3639 name: "requestAuthenticationUser"
3740 Parameter { name: "user"; type: "string" }
@@ -51,6 +54,10 @@ Module {
5154 Parameter { name: "session"; type: "string" }
5255 }
5356 Method { name: "startSessionSync"; type: "bool" }
57+ Method {
58+ name: "setIsActive"
59+ Parameter { name: "isActive"; type: "bool" }
60+ }
5461 }
5562 Component {
5663 name: "QAbstractProxyModel"
plugins/Unity/DashCommunicator/DashCommunicator.qmltypesnew file+34
@@ -0,0 +1,34 @@
1+import QtQuick.tooling 1.1
2+
3+// This file describes the plugin-supplied types contained in the library.
4+// It is used for QML tooling purposes only.
5+//
6+// This file was auto-generated by:
7+// 'qmlplugindump -notrelocatable Unity.DashCommunicator 0.1 plugins'
8+
9+Module {
10+ Component {
11+ name: "DashCommunicator"
12+ prototype: "QObject"
13+ exports: ["Unity.DashCommunicator/DashCommunicator 0.1"]
14+ exportMetaObjectRevisions: [0]
15+ Method {
16+ name: "setCurrentScope"
17+ Parameter { name: "scopeId"; type: "string" }
18+ Parameter { name: "animate"; type: "bool" }
19+ Parameter { name: "reset"; type: "bool" }
20+ }
21+ }
22+ Component {
23+ name: "DashCommunicatorService"
24+ prototype: "QObject"
25+ exports: ["Unity.DashCommunicator/DashCommunicatorService 0.1"]
26+ exportMetaObjectRevisions: [0]
27+ Signal {
28+ name: "setCurrentScopeRequested"
29+ Parameter { name: "scopeId"; type: "string" }
30+ Parameter { name: "animate"; type: "bool" }
31+ Parameter { name: "reset"; type: "bool" }
32+ }
33+ }
34+}
plugins/Unity/Indicators/CachedUnityMenuModel.qmldeleted−60
@@ -1,60 +0,0 @@
1−/*
2− * Copyright 2013 Canonical Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU Lesser General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU Lesser General Public License for more details.
12− *
13− * You should have received a copy of the GNU Lesser General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− *
16− * Authors:
17− * Nick Dedekind <nick.dedekind@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−import QMenuModel 0.1 as QMenuModel
22−import Unity.Indicators 0.1 as Indicators
23−
24−// Make sure we don't duplicate models.
25−Item {
26− id: cachedModel
27− property string busName: ""
28− property string actionsObjectPath: ""
29− property string menuObjectPath: ""
30−
31− readonly property bool ready: busName!=="" && actionsObjectPath!=="" && menuObjectPath!==""
32−
33− property QtObject model: {
34− if (!ready) {
35− return null;
36− }
37−
38− var component = Indicators.UnityMenuModelCache.model(menuObjectPath);
39− if (!component) {
40− component = modelComponent.createObject(cachedModel);
41− return component;
42− }
43− return component;
44− }
45−
46− Component {
47− id: modelComponent
48−
49− QMenuModel.UnityMenuModel {
50− id: unityModel
51− busName: cachedModel.busName
52− actions: { "indicator": cachedModel.actionsObjectPath }
53− menuObjectPath: cachedModel.menuObjectPath
54−
55− Component.onCompleted: {
56− Indicators.UnityMenuModelCache.registerModel(cachedModel.menuObjectPath, unityModel);
57− }
58− }
59− }
60−}
plugins/Unity/Indicators/qmldir−3
@@ -1,6 +1,3 @@
11module Unity.Indicators
22plugin IndicatorsQml
33typeinfo Indicators.qmltypes
4−
5−CachedUnityMenuModel 0.1 CachedUnityMenuModel.qml
6−IndicatorBase 0.1 IndicatorBase.qml
plugins/Unity/Indicators/unitymenumodelcache.cpp+22−7
@@ -29,14 +29,29 @@ UnityMenuModelCache::~UnityMenuModelCache()
2929{
3030}
3131
32−
33−UnityMenuModel* UnityMenuModelCache::model(const QString& path) const
32+UnityMenuModel* UnityMenuModelCache::model(const QByteArray& bus,
33+ const QByteArray& path,
34+ const QVariantMap& actions)
3435{
35− return m_menuModels.value(path, NULL);
36+ if (m_registry.contains(path))
37+ return m_registry[path];
38+
39+ UnityMenuModel* menuModel = new UnityMenuModel;
40+ connect(menuModel, &QObject::destroyed, this, [menuModel, this](QObject*) {
41+ QList<QByteArray> keys = m_registry.keys(menuModel);
42+ Q_FOREACH(const QByteArray& key, keys) {
43+ m_registry.remove(key);
44+ }
45+ });
46+ m_registry[path] = menuModel;
47+
48+ menuModel->setBusName(bus);
49+ menuModel->setMenuObjectPath(path);
50+ menuModel->setActions(actions);
51+ return menuModel;
3652}
3753
38−void UnityMenuModelCache::registerModel(const QString& path, UnityMenuModel* menuModel)
54+bool UnityMenuModelCache::contains(const QByteArray& path)
3955{
40− menuModel->setParent(this);
41− m_menuModels[path] = menuModel;
42−}
56+ return m_registry.contains(path);
57+}
plugins/Unity/Indicators/unitymenumodelcache.h+5−3
@@ -34,11 +34,13 @@ public:
3434 UnityMenuModelCache(QObject*parent=NULL);
3535 ~UnityMenuModelCache();
3636
37− Q_INVOKABLE UnityMenuModel* model(const QString& path) const;
38− Q_INVOKABLE void registerModel(const QString& path, UnityMenuModel* menuModel);
37+ Q_INVOKABLE UnityMenuModel* model(const QByteArray& bus,
38+ const QByteArray& path,
39+ const QVariantMap& actions);
40+ Q_INVOKABLE bool contains(const QByteArray& path);
3941
4042private:
41− QHash<QString, UnityMenuModel*> m_menuModels;
43+ QHash<QByteArray, UnityMenuModel*> m_registry;
4244};
4345
4446#endif // UNITYMENUMODELCACHE_H
plugins/Unity/Session/Session.qmltypes+12
@@ -18,8 +18,20 @@ Module {
1818 name: "logoutRequested"
1919 Parameter { name: "have_inhibitors"; type: "bool" }
2020 }
21+ Signal {
22+ name: "rebootRequested"
23+ Parameter { name: "have_inhibitors"; type: "bool" }
24+ }
25+ Signal {
26+ name: "shutdownRequested"
27+ Parameter { name: "have_inhibitors"; type: "bool" }
28+ }
2129 Signal { name: "logoutReady" }
2230 Method { name: "Logout" }
31+ Method { name: "Reboot" }
32+ Method { name: "Shutdown" }
2333 Method { name: "RequestLogout" }
34+ Method { name: "RequestReboot" }
35+ Method { name: "RequestShutdown" }
2436 }
2537}
plugins/Utils/Utils.qmltypes+7
@@ -140,4 +140,11 @@ Module {
140140 Property { name: "actionsHint"; type: "QByteArray" }
141141 Property { name: "menuObjectPathHint"; type: "QByteArray" }
142142 }
143+ Component {
144+ name: "WindowKeysFilter"
145+ defaultProperty: "data"
146+ prototype: "QQuickItem"
147+ exports: ["Utils/WindowKeysFilter 0.1"]
148+ exportMetaObjectRevisions: [0]
149+ }
143150}
po/am.po+9−9
@@ -8,18 +8,18 @@ msgstr ""
88"Project-Id-Version: unity8\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2014-08-13 14:09-0400\n"
11−"PO-Revision-Date: 2014-08-12 20:52+0000\n"
11+"PO-Revision-Date: 2014-08-16 20:11+0000\n"
1212"Last-Translator: samson <Unknown>\n"
1313"Language-Team: Amharic <am@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-08-15 06:28+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-18 07:20+0000\n"
1818"X-Generator: Launchpad (build 17156)\n"
1919
2020#: plugins/LightDM/Greeter.cpp:129
2121msgid "Password: "
22−msgstr ""
22+msgstr "የ መግቢያ ቃል: "
2323
2424#: plugins/Unity/Launcher/launcheritem.cpp:43
2525#: plugins/Unity/Launcher/launcheritem.cpp:73
@@ -94,11 +94,11 @@ msgstr ""
9494
9595#: qml/Components/Lockscreen.qml:161
9696msgid "Too many incorrect attempts"
97−msgstr ""
97+msgstr "በርካታ የተሳሳቱ ሙከራዎች"
9898
9999#: qml/Components/Lockscreen.qml:163
100100msgid "Please wait"
101−msgstr ""
101+msgstr "እባክዎን ይቆዩ"
102102
103103#: qml/Components/Lockscreen.qml:245
104104msgid "Emergency Call"
@@ -260,16 +260,16 @@ msgstr ""
260260#: qml/Shell.qml:269
261261#, qt-format
262262msgid "Enter your %1"
263−msgstr ""
263+msgstr "ያስገቡ የ እርስዎን %1"
264264
265265#: qml/Shell.qml:270
266266#, qt-format
267267msgid "Incorrect %1"
268−msgstr ""
268+msgstr "የተሳሳተ %1"
269269
270270#: qml/Shell.qml:272
271271msgid "Please re-enter"
272−msgstr ""
272+msgstr "እባክዎን እንደ ገና-ያስገቡ"
273273
274274#: qml/Shell.qml:306
275275msgid "Sorry, incorrect passphrase."
@@ -281,7 +281,7 @@ msgstr ""
281281
282282#: qml/Shell.qml:308
283283msgid "This will be your last attempt."
284−msgstr ""
284+msgstr "ይህ የመጨረሻ ሙከራዎ ነው"
285285
286286#: qml/Shell.qml:310
287287msgid ""
po/ca.po+20−15
@@ -8,18 +8,18 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2014-08-13 14:09-0400\n"
11−"PO-Revision-Date: 2014-08-12 09:17+0000\n"
11+"PO-Revision-Date: 2014-08-17 03:42+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"
17−"X-Launchpad-Export-Date: 2014-08-15 06:28+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-18 07:20+0000\n"
1818"X-Generator: Launchpad (build 17156)\n"
1919
2020#: plugins/LightDM/Greeter.cpp:129
2121msgid "Password: "
22−msgstr ""
22+msgstr "Contrasenya: "
2323
2424#: plugins/Unity/Launcher/launcheritem.cpp:43
2525#: plugins/Unity/Launcher/launcheritem.cpp:73
@@ -102,11 +102,11 @@ msgstr ""
102102
103103#: qml/Components/Lockscreen.qml:161
104104msgid "Too many incorrect attempts"
105−msgstr ""
105+msgstr "Massa intents incorrectes"
106106
107107#: qml/Components/Lockscreen.qml:163
108108msgid "Please wait"
109−msgstr ""
109+msgstr "Espereu"
110110
111111#: qml/Components/Lockscreen.qml:245
112112msgid "Emergency Call"
@@ -179,11 +179,11 @@ msgstr "Botiga"
179179
180180#: qml/Dash/ScopesOverviewTab.qml:36
181181msgid "Favorites"
182−msgstr "Preferits"
182+msgstr "Preferides"
183183
184184#: qml/Dash/ScopesOverviewTab.qml:54
185185msgid "All"
186−msgstr "Tots"
186+msgstr "Totes"
187187
188188#: qml/Greeter/Greeter.qml:157
189189msgid "Swipe to unlock"
@@ -259,46 +259,51 @@ msgstr "Itinerància"
259259
260260#: qml/Shell.qml:267
261261msgid "passphrase"
262−msgstr ""
262+msgstr "contrasenya"
263263
264264#: qml/Shell.qml:267
265265msgid "passcode"
266−msgstr ""
266+msgstr "clau"
267267
268268#: qml/Shell.qml:269
269269#, qt-format
270270msgid "Enter your %1"
271−msgstr ""
271+msgstr "Introduïu la %1"
272272
273273#: qml/Shell.qml:270
274274#, qt-format
275275msgid "Incorrect %1"
276−msgstr ""
276+msgstr "La %1 és incorrecta"
277277
278278#: qml/Shell.qml:272
279279msgid "Please re-enter"
280−msgstr ""
280+msgstr "Torneu-la a introduir"
281281
282282#: qml/Shell.qml:306
283283msgid "Sorry, incorrect passphrase."
284−msgstr ""
284+msgstr "La contrasenya és incorrecta"
285285
286286#: qml/Shell.qml:307
287287msgid "Sorry, incorrect passcode."
288−msgstr ""
288+msgstr "La clau és incorrecta"
289289
290290#: qml/Shell.qml:308
291291msgid "This will be your last attempt."
292−msgstr ""
292+msgstr "Aquest serà el darrer intent."
293293
294294#: qml/Shell.qml:310
295295msgid ""
296296"If passphrase is entered incorrectly, your phone will conduct a factory "
297297"reset and all personal data will be deleted."
298298msgstr ""
299+"Si la contrasenya s'introdueix de manera incorrecta, el telèfon es "
300+"reinicialitzarà a l'estat de fàbrica i se suprimiran totes les dades "
301+"personals."
299302
300303#: qml/Shell.qml:311
301304msgid ""
302305"If passcode is entered incorrectly, your phone will conduct a factory reset "
303306"and all personal data will be deleted."
304307msgstr ""
308+"Si la clau s'introdueix de manera incorrecta, el telèfon es reinicialitzarà "
309+"a l'estat de fàbrica i se suprimiran totes les dades personals."
po/de.po+15−15
@@ -8,27 +8,27 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2014-08-13 14:09-0400\n"
11−"PO-Revision-Date: 2014-08-08 08:58+0000\n"
12−"Last-Translator: Martin Pitt <martin.pitt@ubuntu.com>\n"
11+"PO-Revision-Date: 2014-08-17 21:46+0000\n"
12+"Last-Translator: Phillip Sz <Unknown>\n"
1313"Language-Team: German <de@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-08-15 06:28+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-18 07:20+0000\n"
1818"X-Generator: Launchpad (build 17156)\n"
1919
2020#: plugins/LightDM/Greeter.cpp:129
2121msgid "Password: "
22−msgstr ""
22+msgstr "Passwort: "
2323
2424#: plugins/Unity/Launcher/launcheritem.cpp:43
2525#: plugins/Unity/Launcher/launcheritem.cpp:73
2626msgid "Pin shortcut"
27−msgstr ""
27+msgstr "Verknüpfung anheften"
2828
2929#: plugins/Unity/Launcher/launcheritem.cpp:73
3030msgid "Unpin shortcut"
31−msgstr ""
31+msgstr "Verknüpfung entfernen"
3232
3333#: qml/Components/Dialogs.qml:142
3434msgid "Are you sure you would like to turn power off?"
@@ -36,15 +36,15 @@ msgstr ""
3636
3737#: qml/Components/Dialogs.qml:144
3838msgid "Power off"
39−msgstr ""
39+msgstr "Ausschalten"
4040
4141#: qml/Components/Dialogs.qml:153
4242msgid "Restart"
43−msgstr ""
43+msgstr "Neustart"
4444
4545#: qml/Components/Dialogs.qml:162
4646msgid "Cancel"
47−msgstr ""
47+msgstr "Abbrechen"
4848
4949#: qml/Components/EdgeDemoOverlay.qml:151
5050msgid "Skip intro"
@@ -103,7 +103,7 @@ msgstr ""
103103
104104#: qml/Components/Lockscreen.qml:163
105105msgid "Please wait"
106−msgstr ""
106+msgstr "Bitte warten"
107107
108108#: qml/Components/Lockscreen.qml:245
109109msgid "Emergency Call"
@@ -168,7 +168,7 @@ msgstr ""
168168
169169#: qml/Dash/ScopesOverview.qml:408
170170msgid "Done"
171−msgstr ""
171+msgstr "Erledigt"
172172
173173#: qml/Dash/ScopesOverview.qml:434
174174msgid "Store"
@@ -176,11 +176,11 @@ msgstr ""
176176
177177#: qml/Dash/ScopesOverviewTab.qml:36
178178msgid "Favorites"
179−msgstr ""
179+msgstr "Favoriten"
180180
181181#: qml/Dash/ScopesOverviewTab.qml:54
182182msgid "All"
183−msgstr ""
183+msgstr "Alle"
184184
185185#: qml/Greeter/Greeter.qml:157
186186msgid "Swipe to unlock"
@@ -252,11 +252,11 @@ msgstr ""
252252
253253#: qml/Panel/Indicators/RoamingIndication.qml:27
254254msgid "Roaming"
255−msgstr ""
255+msgstr "Roaming"
256256
257257#: qml/Shell.qml:267
258258msgid "passphrase"
259−msgstr ""
259+msgstr "Passwort"
260260
261261#: qml/Shell.qml:267
262262msgid "passcode"
po/en_AU.po+17−13
@@ -8,18 +8,18 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2014-08-13 14:09-0400\n"
11−"PO-Revision-Date: 2014-08-13 02:04+0000\n"
11+"PO-Revision-Date: 2014-08-17 09:06+0000\n"
1212"Last-Translator: Jared Norris <jarednorris@ubuntu.com>\n"
1313"Language-Team: English (Australia) <en_AU@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-08-15 06:28+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-18 07:20+0000\n"
1818"X-Generator: Launchpad (build 17156)\n"
1919
2020#: plugins/LightDM/Greeter.cpp:129
2121msgid "Password: "
22−msgstr ""
22+msgstr "Password: "
2323
2424#: plugins/Unity/Launcher/launcheritem.cpp:43
2525#: plugins/Unity/Launcher/launcheritem.cpp:73
@@ -96,11 +96,11 @@ msgstr ""
9696
9797#: qml/Components/Lockscreen.qml:161
9898msgid "Too many incorrect attempts"
99−msgstr ""
99+msgstr "Too many incorrect attempts"
100100
101101#: qml/Components/Lockscreen.qml:163
102102msgid "Please wait"
103−msgstr ""
103+msgstr "Please wait"
104104
105105#: qml/Components/Lockscreen.qml:245
106106msgid "Emergency Call"
@@ -253,46 +253,50 @@ msgstr "Roaming"
253253
254254#: qml/Shell.qml:267
255255msgid "passphrase"
256−msgstr ""
256+msgstr "passphrase"
257257
258258#: qml/Shell.qml:267
259259msgid "passcode"
260−msgstr ""
260+msgstr "passcode"
261261
262262#: qml/Shell.qml:269
263263#, qt-format
264264msgid "Enter your %1"
265−msgstr ""
265+msgstr "Enter your %1"
266266
267267#: qml/Shell.qml:270
268268#, qt-format
269269msgid "Incorrect %1"
270−msgstr ""
270+msgstr "Incorrect %1"
271271
272272#: qml/Shell.qml:272
273273msgid "Please re-enter"
274−msgstr ""
274+msgstr "Please re-enter"
275275
276276#: qml/Shell.qml:306
277277msgid "Sorry, incorrect passphrase."
278−msgstr ""
278+msgstr "Sorry, incorrect passphrase."
279279
280280#: qml/Shell.qml:307
281281msgid "Sorry, incorrect passcode."
282−msgstr ""
282+msgstr "Sorry, incorrect passcode."
283283
284284#: qml/Shell.qml:308
285285msgid "This will be your last attempt."
286−msgstr ""
286+msgstr "This will be your last attempt."
287287
288288#: qml/Shell.qml:310
289289msgid ""
290290"If passphrase is entered incorrectly, your phone will conduct a factory "
291291"reset and all personal data will be deleted."
292292msgstr ""
293+"If passphrase is entered incorrectly, your phone will conduct a factory "
294+"reset and all personal data will be deleted."
293295
294296#: qml/Shell.qml:311
295297msgid ""
296298"If passcode is entered incorrectly, your phone will conduct a factory reset "
297299"and all personal data will be deleted."
298300msgstr ""
301+"If passcode is entered incorrectly, your phone will conduct a factory reset "
302+"and all personal data will be deleted."
po/en_GB.po+17−13
@@ -8,18 +8,18 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2014-08-13 14:09-0400\n"
11−"PO-Revision-Date: 2014-08-12 12:46+0000\n"
11+"PO-Revision-Date: 2014-08-15 10:01+0000\n"
1212"Last-Translator: Alan Pope ㋛ <alan@ubuntu.com>\n"
1313"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-08-15 06:28+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-18 07:20+0000\n"
1818"X-Generator: Launchpad (build 17156)\n"
1919
2020#: plugins/LightDM/Greeter.cpp:129
2121msgid "Password: "
22−msgstr ""
22+msgstr "Password: "
2323
2424#: plugins/Unity/Launcher/launcheritem.cpp:43
2525#: plugins/Unity/Launcher/launcheritem.cpp:73
@@ -96,11 +96,11 @@ msgstr ""
9696
9797#: qml/Components/Lockscreen.qml:161
9898msgid "Too many incorrect attempts"
99−msgstr ""
99+msgstr "Too many incorrect attempts"
100100
101101#: qml/Components/Lockscreen.qml:163
102102msgid "Please wait"
103−msgstr ""
103+msgstr "Please wait"
104104
105105#: qml/Components/Lockscreen.qml:245
106106msgid "Emergency Call"
@@ -253,46 +253,50 @@ msgstr "Roaming"
253253
254254#: qml/Shell.qml:267
255255msgid "passphrase"
256−msgstr ""
256+msgstr "passphrase"
257257
258258#: qml/Shell.qml:267
259259msgid "passcode"
260−msgstr ""
260+msgstr "passcode"
261261
262262#: qml/Shell.qml:269
263263#, qt-format
264264msgid "Enter your %1"
265−msgstr ""
265+msgstr "Enter your %1"
266266
267267#: qml/Shell.qml:270
268268#, qt-format
269269msgid "Incorrect %1"
270−msgstr ""
270+msgstr "Incorrect %1"
271271
272272#: qml/Shell.qml:272
273273msgid "Please re-enter"
274−msgstr ""
274+msgstr "Please re-enter"
275275
276276#: qml/Shell.qml:306
277277msgid "Sorry, incorrect passphrase."
278−msgstr ""
278+msgstr "Sorry, incorrect passphrase."
279279
280280#: qml/Shell.qml:307
281281msgid "Sorry, incorrect passcode."
282−msgstr ""
282+msgstr "Sorry, incorrect passcode."
283283
284284#: qml/Shell.qml:308
285285msgid "This will be your last attempt."
286−msgstr ""
286+msgstr "This will be your last attempt."
287287
288288#: qml/Shell.qml:310
289289msgid ""
290290"If passphrase is entered incorrectly, your phone will conduct a factory "
291291"reset and all personal data will be deleted."
292292msgstr ""
293+"If passphrase is entered incorrectly, your phone will conduct a factory "
294+"reset and all personal data will be deleted."
293295
294296#: qml/Shell.qml:311
295297msgid ""
296298"If passcode is entered incorrectly, your phone will conduct a factory reset "
297299"and all personal data will be deleted."
298300msgstr ""
301+"If passcode is entered incorrectly, your phone will conduct a factory reset "
302+"and all personal data will be deleted."
po/es.po+30−26
@@ -8,18 +8,18 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2014-08-13 14:09-0400\n"
11−"PO-Revision-Date: 2014-08-06 15:24+0000\n"
12−"Last-Translator: Leo Arias <leo.arias@canonical.com>\n"
11+"PO-Revision-Date: 2014-08-17 04:37+0000\n"
12+"Last-Translator: Adolfo Jayme <fitoschido@gmail.com>\n"
1313"Language-Team: Spanish <es@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-08-15 06:28+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-18 07:20+0000\n"
1818"X-Generator: Launchpad (build 17156)\n"
1919
2020#: plugins/LightDM/Greeter.cpp:129
2121msgid "Password: "
22−msgstr ""
22+msgstr "Contraseña: "
2323
2424#: plugins/Unity/Launcher/launcheritem.cpp:43
2525#: plugins/Unity/Launcher/launcheritem.cpp:73
@@ -32,19 +32,19 @@ msgstr "Desanclar"
3232
3333#: qml/Components/Dialogs.qml:142
3434msgid "Are you sure you would like to turn power off?"
35−msgstr ""
35+msgstr "¿Está seguro de que quiere apagarlo?"
3636
3737#: qml/Components/Dialogs.qml:144
3838msgid "Power off"
39−msgstr ""
39+msgstr "Apagar"
4040
4141#: qml/Components/Dialogs.qml:153
4242msgid "Restart"
43−msgstr ""
43+msgstr "Reiniciar"
4444
4545#: qml/Components/Dialogs.qml:162
4646msgid "Cancel"
47−msgstr ""
47+msgstr "Cancelar"
4848
4949#: qml/Components/EdgeDemoOverlay.qml:151
5050msgid "Skip intro"
@@ -99,11 +99,11 @@ msgstr ""
9999
100100#: qml/Components/Lockscreen.qml:161
101101msgid "Too many incorrect attempts"
102−msgstr ""
102+msgstr "Demasiados intentos incorrectos"
103103
104104#: qml/Components/Lockscreen.qml:163
105105msgid "Please wait"
106−msgstr ""
106+msgstr "Espere un momento"
107107
108108#: qml/Components/Lockscreen.qml:245
109109msgid "Emergency Call"
@@ -136,7 +136,7 @@ msgstr "Ver menos"
136136
137137#: qml/Dash/GenericScopeView.qml:360
138138msgid "See all"
139−msgstr "Ver todas"
139+msgstr "Ver todo"
140140
141141#: qml/Dash/GenericScopeView.qml:423 qml/Panel/SearchIndicator.qml:27
142142msgid "Search"
@@ -164,23 +164,23 @@ msgstr "Enviar"
164164
165165#: qml/Dash/ScopesOverview.qml:201
166166msgid "Manage Dash"
167−msgstr ""
167+msgstr "Gestionar tablero"
168168
169169#: qml/Dash/ScopesOverview.qml:408
170170msgid "Done"
171−msgstr ""
171+msgstr "Hecho"
172172
173173#: qml/Dash/ScopesOverview.qml:434
174174msgid "Store"
175−msgstr ""
175+msgstr "Tienda"
176176
177177#: qml/Dash/ScopesOverviewTab.qml:36
178178msgid "Favorites"
179−msgstr ""
179+msgstr "Favoritos"
180180
181181#: qml/Dash/ScopesOverviewTab.qml:54
182182msgid "All"
183−msgstr ""
183+msgstr "Todo"
184184
185185#: qml/Greeter/Greeter.qml:157
186186msgid "Swipe to unlock"
@@ -248,54 +248,58 @@ msgstr "Falló, toque para reintentar"
248248
249249#: qml/Panel/Indicators/ModemInfoItem.qml:105
250250msgid "Unlock SIM"
251−msgstr ""
251+msgstr "Desbloquear SIM"
252252
253253#: qml/Panel/Indicators/RoamingIndication.qml:27
254254msgid "Roaming"
255−msgstr ""
255+msgstr "Itinerancia"
256256
257257#: qml/Shell.qml:267
258258msgid "passphrase"
259−msgstr ""
259+msgstr "frase de paso"
260260
261261#: qml/Shell.qml:267
262262msgid "passcode"
263−msgstr ""
263+msgstr "Código de paso"
264264
265265#: qml/Shell.qml:269
266266#, qt-format
267267msgid "Enter your %1"
268−msgstr ""
268+msgstr "Introduzca su %1"
269269
270270#: qml/Shell.qml:270
271271#, qt-format
272272msgid "Incorrect %1"
273−msgstr ""
273+msgstr "%1 incorrecta"
274274
275275#: qml/Shell.qml:272
276276msgid "Please re-enter"
277−msgstr ""
277+msgstr "Vuelva a introducirla"
278278
279279#: qml/Shell.qml:306
280280msgid "Sorry, incorrect passphrase."
281−msgstr ""
281+msgstr "Frase de paso incorrecta"
282282
283283#: qml/Shell.qml:307
284284msgid "Sorry, incorrect passcode."
285−msgstr ""
285+msgstr "Código de paso incorrecto"
286286
287287#: qml/Shell.qml:308
288288msgid "This will be your last attempt."
289−msgstr ""
289+msgstr "Este será su último intento."
290290
291291#: qml/Shell.qml:310
292292msgid ""
293293"If passphrase is entered incorrectly, your phone will conduct a factory "
294294"reset and all personal data will be deleted."
295295msgstr ""
296+"Si se introduce la frase incorrectamente, el teléfono volverá a la "
297+"configuración de fábrica y se perderán todos los datos personales."
296298
297299#: qml/Shell.qml:311
298300msgid ""
299301"If passcode is entered incorrectly, your phone will conduct a factory reset "
300302"and all personal data will be deleted."
301303msgstr ""
304+"Si se introduce el código incorrectamente, el teléfono volverá a la "
305+"configuración de fábrica y se perderán todos los datos personales."
po/fa.po+17−13
@@ -8,18 +8,18 @@ msgstr ""
88"Project-Id-Version: unity8\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2014-08-13 14:09-0400\n"
11−"PO-Revision-Date: 2014-08-12 13:40+0000\n"
11+"PO-Revision-Date: 2014-08-15 14:00+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"
17−"X-Launchpad-Export-Date: 2014-08-15 06:28+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-18 07:20+0000\n"
1818"X-Generator: Launchpad (build 17156)\n"
1919
2020#: plugins/LightDM/Greeter.cpp:129
2121msgid "Password: "
22−msgstr ""
22+msgstr "گذرواژه: "
2323
2424#: plugins/Unity/Launcher/launcheritem.cpp:43
2525#: plugins/Unity/Launcher/launcheritem.cpp:73
@@ -96,11 +96,11 @@ msgstr ""
9696
9797#: qml/Components/Lockscreen.qml:161
9898msgid "Too many incorrect attempts"
99−msgstr ""
99+msgstr "تلاش‌های ناموفّق زیاد"
100100
101101#: qml/Components/Lockscreen.qml:163
102102msgid "Please wait"
103−msgstr ""
103+msgstr "لطفاً صبر کنید"
104104
105105#: qml/Components/Lockscreen.qml:245
106106msgid "Emergency Call"
@@ -253,46 +253,50 @@ msgstr "رومینگ"
253253
254254#: qml/Shell.qml:267
255255msgid "passphrase"
256−msgstr ""
256+msgstr "عبارت‌عبور"
257257
258258#: qml/Shell.qml:267
259259msgid "passcode"
260−msgstr ""
260+msgstr "رمزعبور"
261261
262262#: qml/Shell.qml:269
263263#, qt-format
264264msgid "Enter your %1"
265−msgstr ""
265+msgstr "%1 خود را وارد کنید"
266266
267267#: qml/Shell.qml:270
268268#, qt-format
269269msgid "Incorrect %1"
270−msgstr ""
270+msgstr "%1 نادرست"
271271
272272#: qml/Shell.qml:272
273273msgid "Please re-enter"
274−msgstr ""
274+msgstr "لطفاً دوباره وارد کنید"
275275
276276#: qml/Shell.qml:306
277277msgid "Sorry, incorrect passphrase."
278−msgstr ""
278+msgstr "متأسّفیم، عبارت‌عبور نادرست است."
279279
280280#: qml/Shell.qml:307
281281msgid "Sorry, incorrect passcode."
282−msgstr ""
282+msgstr "متأسّفیم، رمزعبور نادرست است."
283283
284284#: qml/Shell.qml:308
285285msgid "This will be your last attempt."
286−msgstr ""
286+msgstr "این آخرین تلاش شما خواهد بود."
287287
288288#: qml/Shell.qml:310
289289msgid ""
290290"If passphrase is entered incorrectly, your phone will conduct a factory "
291291"reset and all personal data will be deleted."
292292msgstr ""
293+"اگر عبارت‌عبور نادرست وارد شود، تلفن شما بازنشانی کارخانه خواهد شد و تمامی "
294+"اطّلاعات شخصی حذف خواهند شد."
293295
294296#: qml/Shell.qml:311
295297msgid ""
296298"If passcode is entered incorrectly, your phone will conduct a factory reset "
297299"and all personal data will be deleted."
298300msgstr ""
301+"اگر رمزعبور نادرست وارد شود، تلفن شما بازنشانی کارخانه خواهد شد و تمامی "
302+"اطّلاعات شخصی حذف خواهند شد."
po/fi.po+17−13
@@ -8,18 +8,18 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2014-08-13 14:09-0400\n"
11−"PO-Revision-Date: 2014-08-13 06:38+0000\n"
11+"PO-Revision-Date: 2014-08-17 16:53+0000\n"
1212"Last-Translator: Jiri Grönroos <Unknown>\n"
1313"Language-Team: Finnish <fi@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-08-15 06:28+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-18 07:20+0000\n"
1818"X-Generator: Launchpad (build 17156)\n"
1919
2020#: plugins/LightDM/Greeter.cpp:129
2121msgid "Password: "
22−msgstr ""
22+msgstr "Salasana: "
2323
2424#: plugins/Unity/Launcher/launcheritem.cpp:43
2525#: plugins/Unity/Launcher/launcheritem.cpp:73
@@ -96,11 +96,11 @@ msgstr ""
9696
9797#: qml/Components/Lockscreen.qml:161
9898msgid "Too many incorrect attempts"
99−msgstr ""
99+msgstr "Liian monta virheellistä yritystä"
100100
101101#: qml/Components/Lockscreen.qml:163
102102msgid "Please wait"
103−msgstr ""
103+msgstr "Odota hetki"
104104
105105#: qml/Components/Lockscreen.qml:245
106106msgid "Emergency Call"
@@ -253,46 +253,50 @@ msgstr "Verkkovierailu"
253253
254254#: qml/Shell.qml:267
255255msgid "passphrase"
256−msgstr ""
256+msgstr "tunnuslause"
257257
258258#: qml/Shell.qml:267
259259msgid "passcode"
260−msgstr ""
260+msgstr "tunnuskoodi"
261261
262262#: qml/Shell.qml:269
263263#, qt-format
264264msgid "Enter your %1"
265−msgstr ""
265+msgstr "Anna %1"
266266
267267#: qml/Shell.qml:270
268268#, qt-format
269269msgid "Incorrect %1"
270−msgstr ""
270+msgstr "Virheellinen %1"
271271
272272#: qml/Shell.qml:272
273273msgid "Please re-enter"
274−msgstr ""
274+msgstr "Anna uudelleen"
275275
276276#: qml/Shell.qml:306
277277msgid "Sorry, incorrect passphrase."
278−msgstr ""
278+msgstr "Virheellinen tunnuslause."
279279
280280#: qml/Shell.qml:307
281281msgid "Sorry, incorrect passcode."
282−msgstr ""
282+msgstr "Virheellinen tunnuskoodi."
283283
284284#: qml/Shell.qml:308
285285msgid "This will be your last attempt."
286−msgstr ""
286+msgstr "Tämä on viimeinen yritys."
287287
288288#: qml/Shell.qml:310
289289msgid ""
290290"If passphrase is entered incorrectly, your phone will conduct a factory "
291291"reset and all personal data will be deleted."
292292msgstr ""
293+"Jos kirjoitat tunnuslauseen virheellisesti, puhelimesi palautetaan "
294+"tehdastilaan ja kaikki henkilökohtaiset tietosi poistetaan."
293295
294296#: qml/Shell.qml:311
295297msgid ""
296298"If passcode is entered incorrectly, your phone will conduct a factory reset "
297299"and all personal data will be deleted."
298300msgstr ""
301+"Jos kirjoitat tunnuskoodin virheellisesti, puhelimesi palautetaan "
302+"tehdastilaan ja kaikki henkilökohtaiset tietosi poistetaan."
po/fr.po+25−19
@@ -8,18 +8,18 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2014-08-13 14:09-0400\n"
11−"PO-Revision-Date: 2014-08-12 18:47+0000\n"
12−"Last-Translator: Sébastien Maes <nautilussebastien@gmail.com>\n"
11+"PO-Revision-Date: 2014-08-16 12:13+0000\n"
12+"Last-Translator: Jean Marc <Unknown>\n"
1313"Language-Team: French <fr@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-08-15 06:28+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-18 07:20+0000\n"
1818"X-Generator: Launchpad (build 17156)\n"
1919
2020#: plugins/LightDM/Greeter.cpp:129
2121msgid "Password: "
22−msgstr ""
22+msgstr "Mot de passe : "
2323
2424#: plugins/Unity/Launcher/launcheritem.cpp:43
2525#: plugins/Unity/Launcher/launcheritem.cpp:73
@@ -103,11 +103,11 @@ msgstr ""
103103
104104#: qml/Components/Lockscreen.qml:161
105105msgid "Too many incorrect attempts"
106−msgstr ""
106+msgstr "Trop de tentatives incorrectes"
107107
108108#: qml/Components/Lockscreen.qml:163
109109msgid "Please wait"
110−msgstr ""
110+msgstr "Veuillez patienter"
111111
112112#: qml/Components/Lockscreen.qml:245
113113msgid "Emergency Call"
@@ -156,7 +156,7 @@ msgstr "Moins..."
156156
157157#: qml/Dash/Previews/PreviewRatingInput.qml:81
158158msgid "Rate this"
159−msgstr "Evaluez ceci"
159+msgstr "Évaluez ceci"
160160
161161#: qml/Dash/Previews/PreviewRatingInput.qml:126
162162msgid "Add a review"
@@ -172,7 +172,7 @@ msgstr "Gérer le tableau de bord"
172172
173173#: qml/Dash/ScopesOverview.qml:408
174174msgid "Done"
175−msgstr ""
175+msgstr "Terminé"
176176
177177#: qml/Dash/ScopesOverview.qml:434
178178msgid "Store"
@@ -180,11 +180,11 @@ msgstr ""
180180
181181#: qml/Dash/ScopesOverviewTab.qml:36
182182msgid "Favorites"
183−msgstr ""
183+msgstr "Favorites"
184184
185185#: qml/Dash/ScopesOverviewTab.qml:54
186186msgid "All"
187−msgstr ""
187+msgstr "Toutes"
188188
189189#: qml/Greeter/Greeter.qml:157
190190msgid "Swipe to unlock"
@@ -256,50 +256,56 @@ msgstr "Déverrouiller la carte SIM"
256256
257257#: qml/Panel/Indicators/RoamingIndication.qml:27
258258msgid "Roaming"
259−msgstr ""
259+msgstr "Roaming"
260260
261261#: qml/Shell.qml:267
262262msgid "passphrase"
263−msgstr ""
263+msgstr "phrase secrète"
264264
265265#: qml/Shell.qml:267
266266msgid "passcode"
267−msgstr ""
267+msgstr "code"
268268
269269#: qml/Shell.qml:269
270270#, qt-format
271271msgid "Enter your %1"
272−msgstr ""
272+msgstr "Saisissez votre %1"
273273
274274#: qml/Shell.qml:270
275275#, qt-format
276276msgid "Incorrect %1"
277−msgstr ""
277+msgstr "%1 non valide"
278278
279279#: qml/Shell.qml:272
280280msgid "Please re-enter"
281−msgstr ""
281+msgstr "Veuillez recommencer"
282282
283283#: qml/Shell.qml:306
284284msgid "Sorry, incorrect passphrase."
285−msgstr ""
285+msgstr "Désolé, phrase secrète incorrecte."
286286
287287#: qml/Shell.qml:307
288288msgid "Sorry, incorrect passcode."
289−msgstr ""
289+msgstr "Désolé, code incorrect."
290290
291291#: qml/Shell.qml:308
292292msgid "This will be your last attempt."
293−msgstr ""
293+msgstr "Ceci sera votre dernière tentative."
294294
295295#: qml/Shell.qml:310
296296msgid ""
297297"If passphrase is entered incorrectly, your phone will conduct a factory "
298298"reset and all personal data will be deleted."
299299msgstr ""
300+"Si la phrase secrète est saisie de manière incorrecte, votre téléphone "
301+"effectuera une réinitialisation aux paramètres d'usine et toutes les données "
302+"personnelles seront supprimées."
300303
301304#: qml/Shell.qml:311
302305msgid ""
303306"If passcode is entered incorrectly, your phone will conduct a factory reset "
304307"and all personal data will be deleted."
305308msgstr ""
309+"Si le code est saisi de manière incorrecte, votre téléphone effectuera une "
310+"réinitialisation aux paramètres d'usine et toutes les données personnelles "
311+"seront supprimées."
po/hu.po+41−37
@@ -8,18 +8,18 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2014-08-13 14:09-0400\n"
11−"PO-Revision-Date: 2014-08-06 07:41+0000\n"
11+"PO-Revision-Date: 2014-08-19 07:08+0000\n"
1212"Last-Translator: Richard Somlói <ricsipontaz@gmail.com>\n"
1313"Language-Team: Hungarian <hu@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-08-15 06:28+0000\n"
18−"X-Generator: Launchpad (build 17156)\n"
17+"X-Launchpad-Export-Date: 2014-08-20 06:23+0000\n"
18+"X-Generator: Launchpad (build 17163)\n"
1919
2020#: plugins/LightDM/Greeter.cpp:129
2121msgid "Password: "
22−msgstr ""
22+msgstr "Jelszó: "
2323
2424#: plugins/Unity/Launcher/launcheritem.cpp:43
2525#: plugins/Unity/Launcher/launcheritem.cpp:73
@@ -32,19 +32,19 @@ msgstr "Indító feloldása"
3232
3333#: qml/Components/Dialogs.qml:142
3434msgid "Are you sure you would like to turn power off?"
35−msgstr ""
35+msgstr "Biztos benne, hogy ki szeretné kapcsolni?"
3636
3737#: qml/Components/Dialogs.qml:144
3838msgid "Power off"
39−msgstr ""
39+msgstr "Kikapcsolás"
4040
4141#: qml/Components/Dialogs.qml:153
4242msgid "Restart"
43−msgstr ""
43+msgstr "Újraindítás"
4444
4545#: qml/Components/Dialogs.qml:162
4646msgid "Cancel"
47−msgstr ""
47+msgstr "Mégse"
4848
4949#: qml/Components/EdgeDemoOverlay.qml:151
5050msgid "Skip intro"
@@ -98,46 +98,46 @@ msgstr ""
9898
9999#: qml/Components/Lockscreen.qml:161
100100msgid "Too many incorrect attempts"
101−msgstr ""
101+msgstr "Túl sok sikertelen kísérlet"
102102
103103#: qml/Components/Lockscreen.qml:163
104104msgid "Please wait"
105−msgstr ""
105+msgstr "Kérem várjon"
106106
107−#: qml/Components/Lockscreen.qml:245
107+#: qml/Components/Lockscreen.qml:220
108108msgid "Emergency Call"
109109msgstr "Vészhívás"
110110
111−#: qml/Components/Lockscreen.qml:268
111+#: qml/Components/Lockscreen.qml:243
112112msgid "OK"
113113msgstr "Ok"
114114
115−#: qml/Components/PassphraseLockscreen.qml:61
115+#: qml/Components/PassphraseLockscreen.qml:62
116116#, qt-format
117117msgid "Hello %1"
118118msgstr "Üdv %1"
119119
120−#: qml/Components/PassphraseLockscreen.qml:61
120+#: qml/Components/PassphraseLockscreen.qml:62
121121msgid "Hello"
122122msgstr "Üdvözöljük"
123123
124−#: qml/Components/PinLockscreen.qml:197
124+#: qml/Components/PinLockscreen.qml:198
125125msgid "CANCEL"
126126msgstr "MÉGSE"
127127
128−#: qml/Components/PinLockscreen.qml:215
128+#: qml/Components/PinLockscreen.qml:216
129129msgid "DONE"
130130msgstr "KÉSZ"
131131
132−#: qml/Dash/GenericScopeView.qml:360
132+#: qml/Dash/GenericScopeView.qml:358
133133msgid "See less"
134134msgstr "Kevesebb"
135135
136−#: qml/Dash/GenericScopeView.qml:360
136+#: qml/Dash/GenericScopeView.qml:358
137137msgid "See all"
138138msgstr "Összes megtekintése"
139139
140−#: qml/Dash/GenericScopeView.qml:423 qml/Panel/SearchIndicator.qml:27
140+#: qml/Panel/SearchIndicator.qml:27
141141msgid "Search"
142142msgstr "Keresés"
143143
@@ -161,25 +161,25 @@ msgstr "Értékelés hozzáadása"
161161msgid "Send"
162162msgstr "Küldés"
163163
164−#: qml/Dash/ScopesOverview.qml:201
164+#: qml/Dash/ScopesOverview.qml:200
165165msgid "Manage Dash"
166−msgstr ""
166+msgstr "Dash kezelése"
167167
168−#: qml/Dash/ScopesOverview.qml:408
168+#: qml/Dash/ScopesOverview.qml:405
169169msgid "Done"
170−msgstr ""
170+msgstr "Kész"
171171
172−#: qml/Dash/ScopesOverview.qml:434
172+#: qml/Dash/ScopesOverview.qml:431
173173msgid "Store"
174−msgstr ""
174+msgstr "Áruház"
175175
176176#: qml/Dash/ScopesOverviewTab.qml:36
177177msgid "Favorites"
178−msgstr ""
178+msgstr "Kedvencek"
179179
180180#: qml/Dash/ScopesOverviewTab.qml:54
181181msgid "All"
182−msgstr ""
182+msgstr "Összes"
183183
184184#: qml/Greeter/Greeter.qml:157
185185msgid "Swipe to unlock"
@@ -247,54 +247,58 @@ msgstr "Sikertelen, koppintson az újrapróbáláshoz"
247247
248248#: qml/Panel/Indicators/ModemInfoItem.qml:105
249249msgid "Unlock SIM"
250−msgstr ""
250+msgstr "SIM feloldása"
251251
252252#: qml/Panel/Indicators/RoamingIndication.qml:27
253253msgid "Roaming"
254−msgstr ""
254+msgstr "Barangolás"
255255
256256#: qml/Shell.qml:267
257257msgid "passphrase"
258−msgstr ""
258+msgstr "jelmondat"
259259
260260#: qml/Shell.qml:267
261261msgid "passcode"
262−msgstr ""
262+msgstr "jelkód"
263263
264264#: qml/Shell.qml:269
265265#, qt-format
266266msgid "Enter your %1"
267−msgstr ""
267+msgstr "Adja meg a következőt: %1"
268268
269269#: qml/Shell.qml:270
270270#, qt-format
271271msgid "Incorrect %1"
272−msgstr ""
272+msgstr "Helytelen %1"
273273
274274#: qml/Shell.qml:272
275275msgid "Please re-enter"
276−msgstr ""
276+msgstr "Kérjük adja meg újra"
277277
278278#: qml/Shell.qml:306
279279msgid "Sorry, incorrect passphrase."
280−msgstr ""
280+msgstr "Sajnáljuk, helytelen jelmondat."
281281
282282#: qml/Shell.qml:307
283283msgid "Sorry, incorrect passcode."
284−msgstr ""
284+msgstr "Sajnáljuk, helytelen jelkód."
285285
286286#: qml/Shell.qml:308
287287msgid "This will be your last attempt."
288−msgstr ""
288+msgstr "Ez az utolsó próbálkozási lehetősége."
289289
290290#: qml/Shell.qml:310
291291msgid ""
292292"If passphrase is entered incorrectly, your phone will conduct a factory "
293293"reset and all personal data will be deleted."
294294msgstr ""
295+"Ha helytelen jelmondatot ad meg, a telefonja visszaállítja a gyári "
296+"beállításokat és törli minden személyes adatát."
295297
296298#: qml/Shell.qml:311
297299msgid ""
298300"If passcode is entered incorrectly, your phone will conduct a factory reset "
299301"and all personal data will be deleted."
300302msgstr ""
303+"Ha helytelen jelkódot ad meg, a telefonja visszaállítja a gyári "
304+"beállításokat és törli minden személyes adatát."
po/ja.po+53−52
@@ -8,43 +8,43 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2014-08-13 14:09-0400\n"
11−"PO-Revision-Date: 2014-08-12 07:14+0000\n"
12−"Last-Translator: Shushi Kurose <md81bird@hitaki.net>\n"
11+"PO-Revision-Date: 2014-08-18 15:03+0000\n"
12+"Last-Translator: Mitsuya Shibata <mty.shibata@gmail.com>\n"
1313"Language-Team: Japanese <ja@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-08-15 06:28+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-19 06:59+0000\n"
1818"X-Generator: Launchpad (build 17156)\n"
1919
2020#: plugins/LightDM/Greeter.cpp:129
2121msgid "Password: "
22−msgstr ""
22+msgstr "パスワード: "
2323
2424#: plugins/Unity/Launcher/launcheritem.cpp:43
2525#: plugins/Unity/Launcher/launcheritem.cpp:73
2626msgid "Pin shortcut"
27−msgstr ""
27+msgstr "ショートカットを追加する"
2828
2929#: plugins/Unity/Launcher/launcheritem.cpp:73
3030msgid "Unpin shortcut"
31−msgstr ""
31+msgstr "ショートカットを削除する"
3232
3333#: qml/Components/Dialogs.qml:142
3434msgid "Are you sure you would like to turn power off?"
35−msgstr ""
35+msgstr "本当に電源を切りますか?"
3636
3737#: qml/Components/Dialogs.qml:144
3838msgid "Power off"
39−msgstr ""
39+msgstr "電源を切る"
4040
4141#: qml/Components/Dialogs.qml:153
4242msgid "Restart"
43−msgstr ""
43+msgstr "再起動"
4444
4545#: qml/Components/Dialogs.qml:162
4646msgid "Cancel"
47−msgstr ""
47+msgstr "キャンセル"
4848
4949#: qml/Components/EdgeDemoOverlay.qml:151
5050msgid "Skip intro"
@@ -56,7 +56,7 @@ msgstr "右端"
5656
5757#: qml/Components/EdgeDemo.qml:113
5858msgid "Try swiping from the right edge to unlock the phone"
59−msgstr ""
59+msgstr "アンロックするには右端からスワイプしてみてください"
6060
6161#: qml/Components/EdgeDemo.qml:144
6262msgid "Top edge"
@@ -91,63 +91,64 @@ msgid ""
9191"You have now mastered the edge gestures and can start using the "
9292"phone<br><br>Tap on the screen to start"
9393msgstr ""
94+"これでスマートフォンの操作に必要な、画面端を用いたジェスチャーを習得できました。<br><br>利用を開始するなら画面をタップしてください"
9495
9596#: qml/Components/Lockscreen.qml:161
9697msgid "Too many incorrect attempts"
97−msgstr ""
98+msgstr "失敗回数が上限に達しました"
9899
99100#: qml/Components/Lockscreen.qml:163
100101msgid "Please wait"
101−msgstr ""
102+msgstr "お待ちください"
102103
103−#: qml/Components/Lockscreen.qml:245
104+#: qml/Components/Lockscreen.qml:220
104105msgid "Emergency Call"
105106msgstr "緊急通報"
106107
107−#: qml/Components/Lockscreen.qml:268
108+#: qml/Components/Lockscreen.qml:243
108109msgid "OK"
109110msgstr "OK"
110111
111−#: qml/Components/PassphraseLockscreen.qml:61
112+#: qml/Components/PassphraseLockscreen.qml:62
112113#, qt-format
113114msgid "Hello %1"
114115msgstr "こんにちは %1 さん"
115116
116−#: qml/Components/PassphraseLockscreen.qml:61
117+#: qml/Components/PassphraseLockscreen.qml:62
117118msgid "Hello"
118119msgstr "こんにちは"
119120
120−#: qml/Components/PinLockscreen.qml:197
121+#: qml/Components/PinLockscreen.qml:198
121122msgid "CANCEL"
122−msgstr ""
123+msgstr "キャンセル"
123124
124−#: qml/Components/PinLockscreen.qml:215
125+#: qml/Components/PinLockscreen.qml:216
125126msgid "DONE"
126−msgstr ""
127+msgstr "完了"
127128
128−#: qml/Dash/GenericScopeView.qml:360
129+#: qml/Dash/GenericScopeView.qml:358
129130msgid "See less"
130131msgstr ""
131132
132−#: qml/Dash/GenericScopeView.qml:360
133+#: qml/Dash/GenericScopeView.qml:358
133134msgid "See all"
134−msgstr ""
135+msgstr "すべて表示する"
135136
136−#: qml/Dash/GenericScopeView.qml:423 qml/Panel/SearchIndicator.qml:27
137+#: qml/Panel/SearchIndicator.qml:27
137138msgid "Search"
138139msgstr "検索"
139140
140141#: qml/Dash/Previews/PreviewActionCombo.qml:34
141142msgid "More..."
142−msgstr ""
143+msgstr "さらに ..."
143144
144145#: qml/Dash/Previews/PreviewActionCombo.qml:34
145146msgid "Less..."
146−msgstr ""
147+msgstr "隠す..."
147148
148149#: qml/Dash/Previews/PreviewRatingInput.qml:81
149150msgid "Rate this"
150−msgstr ""
151+msgstr "評価する"
151152
152153#: qml/Dash/Previews/PreviewRatingInput.qml:126
153154msgid "Add a review"
@@ -157,21 +158,21 @@ msgstr "レビューを追加"
157158msgid "Send"
158159msgstr "送信"
159160
160−#: qml/Dash/ScopesOverview.qml:201
161+#: qml/Dash/ScopesOverview.qml:200
161162msgid "Manage Dash"
162−msgstr ""
163+msgstr "Dashの管理"
163164
164−#: qml/Dash/ScopesOverview.qml:408
165+#: qml/Dash/ScopesOverview.qml:405
165166msgid "Done"
166−msgstr ""
167+msgstr "完了"
167168
168−#: qml/Dash/ScopesOverview.qml:434
169+#: qml/Dash/ScopesOverview.qml:431
169170msgid "Store"
170−msgstr ""
171+msgstr "保存"
171172
172173#: qml/Dash/ScopesOverviewTab.qml:36
173174msgid "Favorites"
174−msgstr ""
175+msgstr "お気に入り"
175176
176177#: qml/Dash/ScopesOverviewTab.qml:54
177178msgid "All"
@@ -179,7 +180,7 @@ msgstr "すべて"
179180
180181#: qml/Greeter/Greeter.qml:157
181182msgid "Swipe to unlock"
182−msgstr ""
183+msgstr "スワイプしてロック解除"
183184
184185#: qml/Hud/HudParametrizedActionsPage.qml:132
185186msgid "Confirm"
@@ -187,7 +188,7 @@ msgstr "確認"
187188
188189#: qml/Hud/Hud.qml:61 qml/Hud/Hud.qml:99 qml/Hud/Hud.qml:372
189190msgid "Type or say a command"
190−msgstr ""
191+msgstr "コマンドを音声かキーボードから入力"
191192
192193#: qml/Hud/Hud.qml:84
193194msgid "Loading. Please Wait..."
@@ -207,11 +208,11 @@ msgstr "パスワードを表示"
207208
208209#: qml/Notifications/NotificationMenuItemFactory.qml:115
209210msgid "Please enter SIM PIN"
210−msgstr ""
211+msgstr "SIM PINを入力してください"
211212
212213#: qml/Panel/ActiveCallHint.qml:77
213214msgid "Tap to return to call..."
214−msgstr ""
215+msgstr "タップすると通話に戻ります..."
215216
216217#: qml/Panel/ActiveCallHint.qml:90
217218msgid "Conference"
@@ -223,11 +224,11 @@ msgstr ""
223224
224225#: qml/Panel/Indicators/MenuItemFactory.qml:655
225226msgid "Downloading"
226−msgstr ""
227+msgstr "ダウンロード中"
227228
228229#: qml/Panel/Indicators/MenuItemFactory.qml:657
229230msgid "Paused, tap to resume"
230−msgstr ""
231+msgstr "停止中、再開するにはタップしてください"
231232
232233#: qml/Panel/Indicators/MenuItemFactory.qml:659
233234msgid "Canceled"
@@ -239,49 +240,49 @@ msgstr ""
239240
240241#: qml/Panel/Indicators/MenuItemFactory.qml:663
241242msgid "Failed, tap to retry"
242−msgstr ""
243+msgstr "失敗しました、再試行するにはタップしてください"
243244
244245#: qml/Panel/Indicators/ModemInfoItem.qml:105
245246msgid "Unlock SIM"
246−msgstr ""
247+msgstr "SIMのアンロック"
247248
248249#: qml/Panel/Indicators/RoamingIndication.qml:27
249250msgid "Roaming"
250−msgstr ""
251+msgstr "ローミング"
251252
252253#: qml/Shell.qml:267
253254msgid "passphrase"
254−msgstr ""
255+msgstr "パスフレーズ"
255256
256257#: qml/Shell.qml:267
257258msgid "passcode"
258−msgstr ""
259+msgstr "パスコード"
259260
260261#: qml/Shell.qml:269
261262#, qt-format
262263msgid "Enter your %1"
263−msgstr ""
264+msgstr "%1を入力してください"
264265
265266#: qml/Shell.qml:270
266267#, qt-format
267268msgid "Incorrect %1"
268−msgstr ""
269+msgstr "%1が間違っています"
269270
270271#: qml/Shell.qml:272
271272msgid "Please re-enter"
272−msgstr ""
273+msgstr "再入力してください"
273274
274275#: qml/Shell.qml:306
275276msgid "Sorry, incorrect passphrase."
276−msgstr ""
277+msgstr "パスフレーズが間違っています。"
277278
278279#: qml/Shell.qml:307
279280msgid "Sorry, incorrect passcode."
280−msgstr ""
281+msgstr "パスコードが間違っています。"
281282
282283#: qml/Shell.qml:308
283284msgid "This will be your last attempt."
284−msgstr ""
285+msgstr "これが最後のチャンスです。"
285286
286287#: qml/Shell.qml:310
287288msgid ""
po/km.po+32−26
@@ -8,18 +8,18 @@ msgstr ""
88"Project-Id-Version: unity8\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2014-08-13 14:09-0400\n"
11−"PO-Revision-Date: 2014-08-13 04:57+0000\n"
11+"PO-Revision-Date: 2014-08-20 02:48+0000\n"
1212"Last-Translator: Sok Sophea <sksophea@gmail.com>\n"
1313"Language-Team: Khmer <km@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-08-15 06:28+0000\n"
18−"X-Generator: Launchpad (build 17156)\n"
17+"X-Launchpad-Export-Date: 2014-08-21 06:48+0000\n"
18+"X-Generator: Launchpad (build 17163)\n"
1919
2020#: plugins/LightDM/Greeter.cpp:129
2121msgid "Password: "
22−msgstr ""
22+msgstr "ពាក្យសម្ងាត់៖ "
2323
2424#: plugins/Unity/Launcher/launcheritem.cpp:43
2525#: plugins/Unity/Launcher/launcheritem.cpp:73
@@ -98,46 +98,46 @@ msgstr ""
9898
9999#: qml/Components/Lockscreen.qml:161
100100msgid "Too many incorrect attempts"
101−msgstr ""
101+msgstr "បាន​ព្យាយាម​ខុស​ច្រើន​ដង​ពេក"
102102
103103#: qml/Components/Lockscreen.qml:163
104104msgid "Please wait"
105−msgstr ""
105+msgstr "សូមរង់ចាំ"
106106
107−#: qml/Components/Lockscreen.qml:245
107+#: qml/Components/Lockscreen.qml:220
108108msgid "Emergency Call"
109109msgstr "ការ​ហៅ​ពេល​អាសន្ន"
110110
111−#: qml/Components/Lockscreen.qml:268
111+#: qml/Components/Lockscreen.qml:243
112112msgid "OK"
113113msgstr "យល់ព្រម"
114114
115−#: qml/Components/PassphraseLockscreen.qml:61
115+#: qml/Components/PassphraseLockscreen.qml:62
116116#, qt-format
117117msgid "Hello %1"
118118msgstr "សួស្ដី %1"
119119
120−#: qml/Components/PassphraseLockscreen.qml:61
120+#: qml/Components/PassphraseLockscreen.qml:62
121121msgid "Hello"
122122msgstr "សួស្តី"
123123
124−#: qml/Components/PinLockscreen.qml:197
124+#: qml/Components/PinLockscreen.qml:198
125125msgid "CANCEL"
126126msgstr "បោះបង់"
127127
128−#: qml/Components/PinLockscreen.qml:215
128+#: qml/Components/PinLockscreen.qml:216
129129msgid "DONE"
130130msgstr "រួចរាល់"
131131
132−#: qml/Dash/GenericScopeView.qml:360
132+#: qml/Dash/GenericScopeView.qml:358
133133msgid "See less"
134134msgstr "មើល​តិច​ជាង"
135135
136−#: qml/Dash/GenericScopeView.qml:360
136+#: qml/Dash/GenericScopeView.qml:358
137137msgid "See all"
138138msgstr "មើល​ទាំងអស់"
139139
140−#: qml/Dash/GenericScopeView.qml:423 qml/Panel/SearchIndicator.qml:27
140+#: qml/Panel/SearchIndicator.qml:27
141141msgid "Search"
142142msgstr "ស្វែង​រក"
143143
@@ -161,15 +161,15 @@ msgstr "បន្ថែម​ការ​ពិនិត្យ"
161161msgid "Send"
162162msgstr "ផ្ញើ"
163163
164−#: qml/Dash/ScopesOverview.qml:201
164+#: qml/Dash/ScopesOverview.qml:200
165165msgid "Manage Dash"
166166msgstr "គ្រប់គ្រង​ផ្ទាំង"
167167
168−#: qml/Dash/ScopesOverview.qml:408
168+#: qml/Dash/ScopesOverview.qml:405
169169msgid "Done"
170170msgstr "ធ្វើរួច"
171171
172−#: qml/Dash/ScopesOverview.qml:434
172+#: qml/Dash/ScopesOverview.qml:431
173173msgid "Store"
174174msgstr "រក្សាទុក"
175175
@@ -255,46 +255,52 @@ msgstr "រ៉ូមីង"
255255
256256#: qml/Shell.qml:267
257257msgid "passphrase"
258−msgstr ""
258+msgstr "ឃ្លា​សម្ងាត់"
259259
260260#: qml/Shell.qml:267
261261msgid "passcode"
262−msgstr ""
262+msgstr "កូដ​សម្ងាត់"
263263
264264#: qml/Shell.qml:269
265265#, qt-format
266266msgid "Enter your %1"
267−msgstr ""
267+msgstr "បញ្ចូល %1 របស់​អ្នក"
268268
269269#: qml/Shell.qml:270
270270#, qt-format
271271msgid "Incorrect %1"
272−msgstr ""
272+msgstr "មិន​ត្រឹមត្រូវ %1"
273273
274274#: qml/Shell.qml:272
275275msgid "Please re-enter"
276−msgstr ""
276+msgstr "សូម​បញ្ចូល​ឡើងវិញ"
277277
278278#: qml/Shell.qml:306
279279msgid "Sorry, incorrect passphrase."
280−msgstr ""
280+msgstr "សូមទោស! ឃ្លា​សម្ងាត់​មិន​ត្រឹមត្រូវ។"
281281
282282#: qml/Shell.qml:307
283283msgid "Sorry, incorrect passcode."
284−msgstr ""
284+msgstr "សូមទោស! កូដ​សម្ងាត់​មិន​ត្រឹមត្រូវ។"
285285
286286#: qml/Shell.qml:308
287287msgid "This will be your last attempt."
288−msgstr ""
288+msgstr "នេះ​គឺ​ការ​ព្យាយាម​លើក​ចុងក្រោយ។"
289289
290290#: qml/Shell.qml:310
291291msgid ""
292292"If passphrase is entered incorrectly, your phone will conduct a factory "
293293"reset and all personal data will be deleted."
294294msgstr ""
295+"បើ​បញ្ចូល​ឃ្លា​សម្ងាត់​មិន​ត្រឹមត្រូវ "
296+"ទូរស័ព្ទ​របស់​អ្នក​នឹង​កំណត់​ទៅ​ទិន្នន័យ​ពី​រោងចក្រ​វិញ "
297+"ហើយ​ទិន្នន័យ​ផ្ទាល់ខ្លួន​ទាំងអស់​របស់​អ្នក​នឹង​ត្រូវ​បាន​លុប។"
295298
296299#: qml/Shell.qml:311
297300msgid ""
298301"If passcode is entered incorrectly, your phone will conduct a factory reset "
299302"and all personal data will be deleted."
300303msgstr ""
304+"បើ​បញ្ចូល​កូដ​សម្ងាត់​មិន​ត្រឹមត្រូវ "
305+"ទូរស័ព្ទ​របស់​អ្នក​នឹង​កំណត់​ទៅ​ទិន្នន័យ​ពី​រោងចក្រ​វិញ "
306+"ហើយ​ទិន្នន័យ​ផ្ទាល់ខ្លួន​ទាំងអស់​របស់​អ្នក​នឹង​ត្រូវ​បាន​លុប។"
po/ko.po+42−40
@@ -8,18 +8,18 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2014-08-13 14:09-0400\n"
11−"PO-Revision-Date: 2014-07-17 03:56+0000\n"
11+"PO-Revision-Date: 2014-08-19 13:02+0000\n"
1212"Last-Translator: MinSik CHO <Unknown>\n"
1313"Language-Team: Korean <ko@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-08-15 06:28+0000\n"
18−"X-Generator: Launchpad (build 17156)\n"
17+"X-Launchpad-Export-Date: 2014-08-20 06:23+0000\n"
18+"X-Generator: Launchpad (build 17163)\n"
1919
2020#: plugins/LightDM/Greeter.cpp:129
2121msgid "Password: "
22−msgstr ""
22+msgstr "열쇠글: "
2323
2424#: plugins/Unity/Launcher/launcheritem.cpp:43
2525#: plugins/Unity/Launcher/launcheritem.cpp:73
@@ -32,19 +32,19 @@ msgstr "바로가기를 고정 해제하기"
3232
3333#: qml/Components/Dialogs.qml:142
3434msgid "Are you sure you would like to turn power off?"
35−msgstr ""
35+msgstr "정말로 전원을 끌까요?"
3636
3737#: qml/Components/Dialogs.qml:144
3838msgid "Power off"
39−msgstr ""
39+msgstr "전원 끄기"
4040
4141#: qml/Components/Dialogs.qml:153
4242msgid "Restart"
43−msgstr ""
43+msgstr "재시작"
4444
4545#: qml/Components/Dialogs.qml:162
4646msgid "Cancel"
47−msgstr ""
47+msgstr "취소"
4848
4949#: qml/Components/EdgeDemoOverlay.qml:151
5050msgid "Skip intro"
@@ -96,46 +96,46 @@ msgstr ""
9696
9797#: qml/Components/Lockscreen.qml:161
9898msgid "Too many incorrect attempts"
99−msgstr ""
99+msgstr "너무 많이 틀리셨습니다"
100100
101101#: qml/Components/Lockscreen.qml:163
102102msgid "Please wait"
103−msgstr ""
103+msgstr "기다려주십시오"
104104
105−#: qml/Components/Lockscreen.qml:245
105+#: qml/Components/Lockscreen.qml:220
106106msgid "Emergency Call"
107107msgstr "긴급 통화"
108108
109−#: qml/Components/Lockscreen.qml:268
109+#: qml/Components/Lockscreen.qml:243
110110msgid "OK"
111111msgstr "확인"
112112
113−#: qml/Components/PassphraseLockscreen.qml:61
113+#: qml/Components/PassphraseLockscreen.qml:62
114114#, qt-format
115115msgid "Hello %1"
116116msgstr "안녕하세요 %1"
117117
118−#: qml/Components/PassphraseLockscreen.qml:61
118+#: qml/Components/PassphraseLockscreen.qml:62
119119msgid "Hello"
120120msgstr "안녕하세요"
121121
122−#: qml/Components/PinLockscreen.qml:197
122+#: qml/Components/PinLockscreen.qml:198
123123msgid "CANCEL"
124124msgstr "취소"
125125
126−#: qml/Components/PinLockscreen.qml:215
126+#: qml/Components/PinLockscreen.qml:216
127127msgid "DONE"
128128msgstr "완료"
129129
130−#: qml/Dash/GenericScopeView.qml:360
130+#: qml/Dash/GenericScopeView.qml:358
131131msgid "See less"
132132msgstr "간단히 표시하기"
133133
134−#: qml/Dash/GenericScopeView.qml:360
134+#: qml/Dash/GenericScopeView.qml:358
135135msgid "See all"
136−msgstr ""
136+msgstr "모두 보기"
137137
138−#: qml/Dash/GenericScopeView.qml:423 qml/Panel/SearchIndicator.qml:27
138+#: qml/Panel/SearchIndicator.qml:27
139139msgid "Search"
140140msgstr "검색"
141141
@@ -159,25 +159,25 @@ msgstr "평가 제출하기"
159159msgid "Send"
160160msgstr "보내기"
161161
162−#: qml/Dash/ScopesOverview.qml:201
162+#: qml/Dash/ScopesOverview.qml:200
163163msgid "Manage Dash"
164−msgstr ""
164+msgstr "대시 관리"
165165
166−#: qml/Dash/ScopesOverview.qml:408
166+#: qml/Dash/ScopesOverview.qml:405
167167msgid "Done"
168−msgstr ""
168+msgstr "완료"
169169
170−#: qml/Dash/ScopesOverview.qml:434
170+#: qml/Dash/ScopesOverview.qml:431
171171msgid "Store"
172−msgstr ""
172+msgstr "장터"
173173
174174#: qml/Dash/ScopesOverviewTab.qml:36
175175msgid "Favorites"
176−msgstr ""
176+msgstr "즐겨찾기"
177177
178178#: qml/Dash/ScopesOverviewTab.qml:54
179179msgid "All"
180−msgstr ""
180+msgstr "모두"
181181
182182#: qml/Greeter/Greeter.qml:157
183183msgid "Swipe to unlock"
@@ -213,11 +213,11 @@ msgstr "심카드의 PIN 번호를 입력하세요."
213213
214214#: qml/Panel/ActiveCallHint.qml:77
215215msgid "Tap to return to call..."
216−msgstr ""
216+msgstr "통화로 돌아가려면 터치하세요..."
217217
218218#: qml/Panel/ActiveCallHint.qml:90
219219msgid "Conference"
220−msgstr ""
220+msgstr "회의"
221221
222222#: qml/Panel/Indicators/MenuItemFactory.qml:651
223223msgid "In queue…"
@@ -245,54 +245,56 @@ msgstr "실패하였습니다. 재시도하려면 누르세요."
245245
246246#: qml/Panel/Indicators/ModemInfoItem.qml:105
247247msgid "Unlock SIM"
248−msgstr ""
248+msgstr "SIM 카드 보안 해제"
249249
250250#: qml/Panel/Indicators/RoamingIndication.qml:27
251251msgid "Roaming"
252−msgstr ""
252+msgstr "로밍"
253253
254254#: qml/Shell.qml:267
255255msgid "passphrase"
256−msgstr ""
256+msgstr "비밀번호"
257257
258258#: qml/Shell.qml:267
259259msgid "passcode"
260−msgstr ""
260+msgstr "비밀번호"
261261
262262#: qml/Shell.qml:269
263263#, qt-format
264264msgid "Enter your %1"
265−msgstr ""
265+msgstr "%1를 입력하세요"
266266
267267#: qml/Shell.qml:270
268268#, qt-format
269269msgid "Incorrect %1"
270−msgstr ""
270+msgstr "잘못된 %1입니다"
271271
272272#: qml/Shell.qml:272
273273msgid "Please re-enter"
274−msgstr ""
274+msgstr "다시 입력하세요"
275275
276276#: qml/Shell.qml:306
277277msgid "Sorry, incorrect passphrase."
278−msgstr ""
278+msgstr "잘못된 비밀번호입니다."
279279
280280#: qml/Shell.qml:307
281281msgid "Sorry, incorrect passcode."
282−msgstr ""
282+msgstr "잘못된 비밀번호입니다."
283283
284284#: qml/Shell.qml:308
285285msgid "This will be your last attempt."
286−msgstr ""
286+msgstr "마지막 시도입니다."
287287
288288#: qml/Shell.qml:310
289289msgid ""
290290"If passphrase is entered incorrectly, your phone will conduct a factory "
291291"reset and all personal data will be deleted."
292292msgstr ""
293+"만약 이번 시도에서 잘못 입력하면, 보안을 위해 휴대 전화가 공장 초기화 과정을 거쳐 모든 사용자 데이터를 삭제할 것입니다."
293294
294295#: qml/Shell.qml:311
295296msgid ""
296297"If passcode is entered incorrectly, your phone will conduct a factory reset "
297298"and all personal data will be deleted."
298299msgstr ""
300+"만약 이번 시도에서 잘못 입력하면, 보안을 위해 휴대 전화가 공장 초기화 과정을 거쳐 모든 사용자 데이터를 삭제할 것입니다."
po/pl.po+20−20
@@ -8,13 +8,13 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2014-08-13 14:09-0400\n"
11−"PO-Revision-Date: 2014-07-31 13:51+0000\n"
12−"Last-Translator: Michał Radwański <radwanski.michal@outlook.com>\n"
11+"PO-Revision-Date: 2014-08-18 20:25+0000\n"
12+"Last-Translator: Paweł Stroka <pawstr@gmail.com>\n"
1313"Language-Team: Polish <pl@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-08-15 06:28+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-19 06:59+0000\n"
1818"X-Generator: Launchpad (build 17156)\n"
1919
2020#: plugins/LightDM/Greeter.cpp:129
@@ -104,40 +104,40 @@ msgstr ""
104104msgid "Please wait"
105105msgstr ""
106106
107−#: qml/Components/Lockscreen.qml:245
107+#: qml/Components/Lockscreen.qml:220
108108msgid "Emergency Call"
109109msgstr "Telefon ratunkowy"
110110
111−#: qml/Components/Lockscreen.qml:268
111+#: qml/Components/Lockscreen.qml:243
112112msgid "OK"
113113msgstr "OK"
114114
115−#: qml/Components/PassphraseLockscreen.qml:61
115+#: qml/Components/PassphraseLockscreen.qml:62
116116#, qt-format
117117msgid "Hello %1"
118118msgstr "Witaj %1"
119119
120−#: qml/Components/PassphraseLockscreen.qml:61
120+#: qml/Components/PassphraseLockscreen.qml:62
121121msgid "Hello"
122122msgstr "Witaj"
123123
124−#: qml/Components/PinLockscreen.qml:197
124+#: qml/Components/PinLockscreen.qml:198
125125msgid "CANCEL"
126126msgstr "ANULUJ"
127127
128−#: qml/Components/PinLockscreen.qml:215
128+#: qml/Components/PinLockscreen.qml:216
129129msgid "DONE"
130130msgstr "ZROBIONE"
131131
132−#: qml/Dash/GenericScopeView.qml:360
132+#: qml/Dash/GenericScopeView.qml:358
133133msgid "See less"
134134msgstr "Zobacz mniej"
135135
136−#: qml/Dash/GenericScopeView.qml:360
136+#: qml/Dash/GenericScopeView.qml:358
137137msgid "See all"
138138msgstr "Zobacz wszystko"
139139
140−#: qml/Dash/GenericScopeView.qml:423 qml/Panel/SearchIndicator.qml:27
140+#: qml/Panel/SearchIndicator.qml:27
141141msgid "Search"
142142msgstr "Szukaj"
143143
@@ -161,15 +161,15 @@ msgstr "Dodaj recenzję"
161161msgid "Send"
162162msgstr "Wyślij"
163163
164−#: qml/Dash/ScopesOverview.qml:201
164+#: qml/Dash/ScopesOverview.qml:200
165165msgid "Manage Dash"
166166msgstr ""
167167
168−#: qml/Dash/ScopesOverview.qml:408
168+#: qml/Dash/ScopesOverview.qml:405
169169msgid "Done"
170170msgstr ""
171171
172−#: qml/Dash/ScopesOverview.qml:434
172+#: qml/Dash/ScopesOverview.qml:431
173173msgid "Store"
174174msgstr ""
175175
@@ -255,11 +255,11 @@ msgstr ""
255255
256256#: qml/Shell.qml:267
257257msgid "passphrase"
258−msgstr ""
258+msgstr "hasło"
259259
260260#: qml/Shell.qml:267
261261msgid "passcode"
262−msgstr ""
262+msgstr "kod"
263263
264264#: qml/Shell.qml:269
265265#, qt-format
@@ -273,15 +273,15 @@ msgstr ""
273273
274274#: qml/Shell.qml:272
275275msgid "Please re-enter"
276−msgstr ""
276+msgstr "Proszę wprowadzić ponownie"
277277
278278#: qml/Shell.qml:306
279279msgid "Sorry, incorrect passphrase."
280−msgstr ""
280+msgstr "Niestety, błędne hasło"
281281
282282#: qml/Shell.qml:307
283283msgid "Sorry, incorrect passcode."
284−msgstr ""
284+msgstr "Niestety, błędny kod"
285285
286286#: qml/Shell.qml:308
287287msgid "This will be your last attempt."
po/pt.po+13−11
@@ -8,18 +8,18 @@ msgstr ""
88"Project-Id-Version: unity8\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2014-08-13 14:09-0400\n"
11−"PO-Revision-Date: 2014-08-12 23:56+0000\n"
11+"PO-Revision-Date: 2014-08-17 20:27+0000\n"
1212"Last-Translator: Ivo Xavier <ivofernandes12@gmail.com>\n"
1313"Language-Team: Portuguese <pt@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-08-15 06:28+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-18 07:20+0000\n"
1818"X-Generator: Launchpad (build 17156)\n"
1919
2020#: plugins/LightDM/Greeter.cpp:129
2121msgid "Password: "
22−msgstr ""
22+msgstr "Senha: "
2323
2424#: plugins/Unity/Launcher/launcheritem.cpp:43
2525#: plugins/Unity/Launcher/launcheritem.cpp:73
@@ -97,11 +97,11 @@ msgstr ""
9797
9898#: qml/Components/Lockscreen.qml:161
9999msgid "Too many incorrect attempts"
100−msgstr ""
100+msgstr "Demasiadas tentativas incorrectas"
101101
102102#: qml/Components/Lockscreen.qml:163
103103msgid "Please wait"
104−msgstr ""
104+msgstr "Por favor aguarde"
105105
106106#: qml/Components/Lockscreen.qml:245
107107msgid "Emergency Call"
@@ -254,7 +254,7 @@ msgstr "Roaming"
254254
255255#: qml/Shell.qml:267
256256msgid "passphrase"
257−msgstr ""
257+msgstr "frase de acesso"
258258
259259#: qml/Shell.qml:267
260260msgid "passcode"
@@ -263,20 +263,20 @@ msgstr ""
263263#: qml/Shell.qml:269
264264#, qt-format
265265msgid "Enter your %1"
266−msgstr ""
266+msgstr "Introduza o seu %1"
267267
268268#: qml/Shell.qml:270
269269#, qt-format
270270msgid "Incorrect %1"
271−msgstr ""
271+msgstr "Incorreto %1"
272272
273273#: qml/Shell.qml:272
274274msgid "Please re-enter"
275−msgstr ""
275+msgstr "Por favor, volte a reintroduzir"
276276
277277#: qml/Shell.qml:306
278278msgid "Sorry, incorrect passphrase."
279−msgstr ""
279+msgstr "Desculpe, frase de acesso incorreta."
280280
281281#: qml/Shell.qml:307
282282msgid "Sorry, incorrect passcode."
@@ -284,13 +284,15 @@ msgstr ""
284284
285285#: qml/Shell.qml:308
286286msgid "This will be your last attempt."
287−msgstr ""
287+msgstr "Esta será a sua última tentativa."
288288
289289#: qml/Shell.qml:310
290290msgid ""
291291"If passphrase is entered incorrectly, your phone will conduct a factory "
292292"reset and all personal data will be deleted."
293293msgstr ""
294+"Se a frase de acesso for introduzida incorretamente, o seu telemóvel vai "
295+"proceder ao restauro de fábrica e apagará toda a sua informação pessoal."
294296
295297#: qml/Shell.qml:311
296298msgid ""
po/pt_BR.po+33−29
@@ -8,18 +8,18 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2014-08-13 14:09-0400\n"
11−"PO-Revision-Date: 2014-08-13 04:53+0000\n"
12−"Last-Translator: Tiago Hillebrandt <tiagohillebrandt@gmail.com>\n"
11+"PO-Revision-Date: 2014-08-18 14:14+0000\n"
12+"Last-Translator: Rafael Neri <Unknown>\n"
1313"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-08-15 06:28+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-19 06:59+0000\n"
1818"X-Generator: Launchpad (build 17156)\n"
1919
2020#: plugins/LightDM/Greeter.cpp:129
2121msgid "Password: "
22−msgstr ""
22+msgstr "Senha: "
2323
2424#: plugins/Unity/Launcher/launcheritem.cpp:43
2525#: plugins/Unity/Launcher/launcheritem.cpp:73
@@ -98,46 +98,46 @@ msgstr ""
9898
9999#: qml/Components/Lockscreen.qml:161
100100msgid "Too many incorrect attempts"
101−msgstr ""
101+msgstr "Muitas tentativas incorretas"
102102
103103#: qml/Components/Lockscreen.qml:163
104104msgid "Please wait"
105−msgstr ""
105+msgstr "Por favor, aguarde"
106106
107−#: qml/Components/Lockscreen.qml:245
107+#: qml/Components/Lockscreen.qml:220
108108msgid "Emergency Call"
109109msgstr "Chamada de emergência"
110110
111−#: qml/Components/Lockscreen.qml:268
111+#: qml/Components/Lockscreen.qml:243
112112msgid "OK"
113113msgstr "OK"
114114
115−#: qml/Components/PassphraseLockscreen.qml:61
115+#: qml/Components/PassphraseLockscreen.qml:62
116116#, qt-format
117117msgid "Hello %1"
118118msgstr "Olá %1"
119119
120−#: qml/Components/PassphraseLockscreen.qml:61
120+#: qml/Components/PassphraseLockscreen.qml:62
121121msgid "Hello"
122122msgstr "Olá"
123123
124−#: qml/Components/PinLockscreen.qml:197
124+#: qml/Components/PinLockscreen.qml:198
125125msgid "CANCEL"
126126msgstr "CANCELAR"
127127
128−#: qml/Components/PinLockscreen.qml:215
128+#: qml/Components/PinLockscreen.qml:216
129129msgid "DONE"
130130msgstr "FEITO"
131131
132−#: qml/Dash/GenericScopeView.qml:360
132+#: qml/Dash/GenericScopeView.qml:358
133133msgid "See less"
134134msgstr "Ver menos"
135135
136−#: qml/Dash/GenericScopeView.qml:360
136+#: qml/Dash/GenericScopeView.qml:358
137137msgid "See all"
138138msgstr "Ver todos"
139139
140−#: qml/Dash/GenericScopeView.qml:423 qml/Panel/SearchIndicator.qml:27
140+#: qml/Panel/SearchIndicator.qml:27
141141msgid "Search"
142142msgstr "Pesquisar"
143143
@@ -161,15 +161,15 @@ msgstr "Adicionar uma análise"
161161msgid "Send"
162162msgstr "Enviar"
163163
164−#: qml/Dash/ScopesOverview.qml:201
164+#: qml/Dash/ScopesOverview.qml:200
165165msgid "Manage Dash"
166−msgstr ""
166+msgstr "Gerencia painel"
167167
168−#: qml/Dash/ScopesOverview.qml:408
168+#: qml/Dash/ScopesOverview.qml:405
169169msgid "Done"
170−msgstr ""
170+msgstr "Concluído"
171171
172−#: qml/Dash/ScopesOverview.qml:434
172+#: qml/Dash/ScopesOverview.qml:431
173173msgid "Store"
174174msgstr "Loja"
175175
@@ -179,7 +179,7 @@ msgstr "Favoritos"
179179
180180#: qml/Dash/ScopesOverviewTab.qml:54
181181msgid "All"
182−msgstr ""
182+msgstr "Tudo"
183183
184184#: qml/Greeter/Greeter.qml:157
185185msgid "Swipe to unlock"
@@ -255,46 +255,50 @@ msgstr "Roaming"
255255
256256#: qml/Shell.qml:267
257257msgid "passphrase"
258−msgstr ""
258+msgstr "senha"
259259
260260#: qml/Shell.qml:267
261261msgid "passcode"
262−msgstr ""
262+msgstr "código de acesso"
263263
264264#: qml/Shell.qml:269
265265#, qt-format
266266msgid "Enter your %1"
267−msgstr ""
267+msgstr "Digite o seu %1"
268268
269269#: qml/Shell.qml:270
270270#, qt-format
271271msgid "Incorrect %1"
272−msgstr ""
272+msgstr "%1 incorreto"
273273
274274#: qml/Shell.qml:272
275275msgid "Please re-enter"
276−msgstr ""
276+msgstr "Por favor, digite novamente"
277277
278278#: qml/Shell.qml:306
279279msgid "Sorry, incorrect passphrase."
280−msgstr ""
280+msgstr "Desculpe, senha incorreta."
281281
282282#: qml/Shell.qml:307
283283msgid "Sorry, incorrect passcode."
284−msgstr ""
284+msgstr "Desculpe, código de acesso incorreto."
285285
286286#: qml/Shell.qml:308
287287msgid "This will be your last attempt."
288−msgstr ""
288+msgstr "Esta será a sua última tentativa."
289289
290290#: qml/Shell.qml:310
291291msgid ""
292292"If passphrase is entered incorrectly, your phone will conduct a factory "
293293"reset and all personal data will be deleted."
294294msgstr ""
295+"Se a senha for digitada incorretamente, o telefone será restaurado aos "
296+"padrões de fábrica e todos os dados pessoais serão apagados."
295297
296298#: qml/Shell.qml:311
297299msgid ""
298300"If passcode is entered incorrectly, your phone will conduct a factory reset "
299301"and all personal data will be deleted."
300302msgstr ""
303+"Se o código de acesso for digitado incorretamente, o telefone será "
304+"restaurado aos padrões de fábrica e todos os dados pessoais serão apagados."
po/ru.po+39−35
@@ -8,18 +8,18 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2014-08-13 14:09-0400\n"
11−"PO-Revision-Date: 2014-07-31 09:39+0000\n"
11+"PO-Revision-Date: 2014-08-20 12:41+0000\n"
1212"Last-Translator: Jay ZDLin <Unknown>\n"
1313"Language-Team: Russian <ru@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-08-15 06:28+0000\n"
18−"X-Generator: Launchpad (build 17156)\n"
17+"X-Launchpad-Export-Date: 2014-08-21 06:48+0000\n"
18+"X-Generator: Launchpad (build 17163)\n"
1919
2020#: plugins/LightDM/Greeter.cpp:129
2121msgid "Password: "
22−msgstr ""
22+msgstr "Пароль: "
2323
2424#: plugins/Unity/Launcher/launcheritem.cpp:43
2525#: plugins/Unity/Launcher/launcheritem.cpp:73
@@ -32,19 +32,19 @@ msgstr "Изъять ярлык"
3232
3333#: qml/Components/Dialogs.qml:142
3434msgid "Are you sure you would like to turn power off?"
35−msgstr ""
35+msgstr "Отключить питание?"
3636
3737#: qml/Components/Dialogs.qml:144
3838msgid "Power off"
39−msgstr ""
39+msgstr "Отключить"
4040
4141#: qml/Components/Dialogs.qml:153
4242msgid "Restart"
43−msgstr ""
43+msgstr "Перезапустить"
4444
4545#: qml/Components/Dialogs.qml:162
4646msgid "Cancel"
47−msgstr ""
47+msgstr "Отменить"
4848
4949#: qml/Components/EdgeDemoOverlay.qml:151
5050msgid "Skip intro"
@@ -101,46 +101,46 @@ msgstr ""
101101
102102#: qml/Components/Lockscreen.qml:161
103103msgid "Too many incorrect attempts"
104−msgstr ""
104+msgstr "Слишком много ошибок ввода"
105105
106106#: qml/Components/Lockscreen.qml:163
107107msgid "Please wait"
108−msgstr ""
108+msgstr "Подождите"
109109
110−#: qml/Components/Lockscreen.qml:245
110+#: qml/Components/Lockscreen.qml:220
111111msgid "Emergency Call"
112112msgstr "Экстренный вызов"
113113
114−#: qml/Components/Lockscreen.qml:268
114+#: qml/Components/Lockscreen.qml:243
115115msgid "OK"
116116msgstr "ОК"
117117
118−#: qml/Components/PassphraseLockscreen.qml:61
118+#: qml/Components/PassphraseLockscreen.qml:62
119119#, qt-format
120120msgid "Hello %1"
121121msgstr "Привет, %1"
122122
123−#: qml/Components/PassphraseLockscreen.qml:61
123+#: qml/Components/PassphraseLockscreen.qml:62
124124msgid "Hello"
125125msgstr "Привет"
126126
127−#: qml/Components/PinLockscreen.qml:197
127+#: qml/Components/PinLockscreen.qml:198
128128msgid "CANCEL"
129129msgstr "ОТМЕНИТЬ"
130130
131−#: qml/Components/PinLockscreen.qml:215
131+#: qml/Components/PinLockscreen.qml:216
132132msgid "DONE"
133133msgstr "ГОТОВО"
134134
135−#: qml/Dash/GenericScopeView.qml:360
135+#: qml/Dash/GenericScopeView.qml:358
136136msgid "See less"
137137msgstr "Вкратце"
138138
139−#: qml/Dash/GenericScopeView.qml:360
139+#: qml/Dash/GenericScopeView.qml:358
140140msgid "See all"
141141msgstr "Показать всё"
142142
143−#: qml/Dash/GenericScopeView.qml:423 qml/Panel/SearchIndicator.qml:27
143+#: qml/Panel/SearchIndicator.qml:27
144144msgid "Search"
145145msgstr "Поиск"
146146
@@ -164,25 +164,25 @@ msgstr "Добавьте отзыв"
164164msgid "Send"
165165msgstr "Отправить"
166166
167−#: qml/Dash/ScopesOverview.qml:201
167+#: qml/Dash/ScopesOverview.qml:200
168168msgid "Manage Dash"
169169msgstr ""
170170
171−#: qml/Dash/ScopesOverview.qml:408
171+#: qml/Dash/ScopesOverview.qml:405
172172msgid "Done"
173−msgstr ""
173+msgstr "Готово"
174174
175−#: qml/Dash/ScopesOverview.qml:434
175+#: qml/Dash/ScopesOverview.qml:431
176176msgid "Store"
177177msgstr ""
178178
179179#: qml/Dash/ScopesOverviewTab.qml:36
180180msgid "Favorites"
181−msgstr ""
181+msgstr "Избранное"
182182
183183#: qml/Dash/ScopesOverviewTab.qml:54
184184msgid "All"
185−msgstr ""
185+msgstr "Все"
186186
187187#: qml/Greeter/Greeter.qml:157
188188msgid "Swipe to unlock"
@@ -250,54 +250,58 @@ msgstr "Сбой, коснитесь для повтора"
250250
251251#: qml/Panel/Indicators/ModemInfoItem.qml:105
252252msgid "Unlock SIM"
253−msgstr ""
253+msgstr "Разблокировать SIM-карту"
254254
255255#: qml/Panel/Indicators/RoamingIndication.qml:27
256256msgid "Roaming"
257−msgstr ""
257+msgstr "Роуминг"
258258
259259#: qml/Shell.qml:267
260260msgid "passphrase"
261−msgstr ""
261+msgstr "ключевая фраза"
262262
263263#: qml/Shell.qml:267
264264msgid "passcode"
265−msgstr ""
265+msgstr "секретный код"
266266
267267#: qml/Shell.qml:269
268268#, qt-format
269269msgid "Enter your %1"
270−msgstr ""
270+msgstr "Введите %1"
271271
272272#: qml/Shell.qml:270
273273#, qt-format
274274msgid "Incorrect %1"
275−msgstr ""
275+msgstr "Некорректно введён %1"
276276
277277#: qml/Shell.qml:272
278278msgid "Please re-enter"
279−msgstr ""
279+msgstr "Повторите ввод"
280280
281281#: qml/Shell.qml:306
282282msgid "Sorry, incorrect passphrase."
283−msgstr ""
283+msgstr "Неверная ключевая фраза."
284284
285285#: qml/Shell.qml:307
286286msgid "Sorry, incorrect passcode."
287−msgstr ""
287+msgstr "Неверный секретный код."
288288
289289#: qml/Shell.qml:308
290290msgid "This will be your last attempt."
291−msgstr ""
291+msgstr "Осталась последняя попытка."
292292
293293#: qml/Shell.qml:310
294294msgid ""
295295"If passphrase is entered incorrectly, your phone will conduct a factory "
296296"reset and all personal data will be deleted."
297297msgstr ""
298+"Если ключевая фраза будет введена неверно, то телефон вернётся к заводским "
299+"настройкам, а все личные данные будут удалены."
298300
299301#: qml/Shell.qml:311
300302msgid ""
301303"If passcode is entered incorrectly, your phone will conduct a factory reset "
302304"and all personal data will be deleted."
303305msgstr ""
306+"Если секретный код будет введен неверно, то телефон вернётся к заводским "
307+"настройкам, а все личные данные будут удалены."
po/sl.po+41−37
@@ -8,18 +8,18 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2014-08-13 14:09-0400\n"
11−"PO-Revision-Date: 2014-08-06 06:11+0000\n"
11+"PO-Revision-Date: 2014-08-19 12:54+0000\n"
1212"Last-Translator: Damir Jerovšek <Unknown>\n"
1313"Language-Team: Slovenian <sl@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-08-15 06:28+0000\n"
18−"X-Generator: Launchpad (build 17156)\n"
17+"X-Launchpad-Export-Date: 2014-08-20 06:23+0000\n"
18+"X-Generator: Launchpad (build 17163)\n"
1919
2020#: plugins/LightDM/Greeter.cpp:129
2121msgid "Password: "
22−msgstr ""
22+msgstr "Geslo: "
2323
2424#: plugins/Unity/Launcher/launcheritem.cpp:43
2525#: plugins/Unity/Launcher/launcheritem.cpp:73
@@ -32,19 +32,19 @@ msgstr "Odpni bližnjico"
3232
3333#: qml/Components/Dialogs.qml:142
3434msgid "Are you sure you would like to turn power off?"
35−msgstr ""
35+msgstr "Ali ste prepričani, da želite izklopiti?"
3636
3737#: qml/Components/Dialogs.qml:144
3838msgid "Power off"
39−msgstr ""
39+msgstr "Izklopi"
4040
4141#: qml/Components/Dialogs.qml:153
4242msgid "Restart"
43−msgstr ""
43+msgstr "Ponovno zaženi"
4444
4545#: qml/Components/Dialogs.qml:162
4646msgid "Cancel"
47−msgstr ""
47+msgstr "Prekliči"
4848
4949#: qml/Components/EdgeDemoOverlay.qml:151
5050msgid "Skip intro"
@@ -98,46 +98,46 @@ msgstr ""
9898
9999#: qml/Components/Lockscreen.qml:161
100100msgid "Too many incorrect attempts"
101−msgstr ""
101+msgstr "Preveč nepravilnih poskusov"
102102
103103#: qml/Components/Lockscreen.qml:163
104104msgid "Please wait"
105−msgstr ""
105+msgstr "Počakajte"
106106
107−#: qml/Components/Lockscreen.qml:245
107+#: qml/Components/Lockscreen.qml:220
108108msgid "Emergency Call"
109109msgstr "Klic v sili"
110110
111−#: qml/Components/Lockscreen.qml:268
111+#: qml/Components/Lockscreen.qml:243
112112msgid "OK"
113113msgstr "V REDU"
114114
115−#: qml/Components/PassphraseLockscreen.qml:61
115+#: qml/Components/PassphraseLockscreen.qml:62
116116#, qt-format
117117msgid "Hello %1"
118118msgstr "Pozdravljeni, %1"
119119
120−#: qml/Components/PassphraseLockscreen.qml:61
120+#: qml/Components/PassphraseLockscreen.qml:62
121121msgid "Hello"
122122msgstr "Pozdravljeni"
123123
124−#: qml/Components/PinLockscreen.qml:197
124+#: qml/Components/PinLockscreen.qml:198
125125msgid "CANCEL"
126126msgstr "PREKLIČI"
127127
128−#: qml/Components/PinLockscreen.qml:215
128+#: qml/Components/PinLockscreen.qml:216
129129msgid "DONE"
130130msgstr "KONČANO"
131131
132−#: qml/Dash/GenericScopeView.qml:360
132+#: qml/Dash/GenericScopeView.qml:358
133133msgid "See less"
134134msgstr "Pokaži manj"
135135
136−#: qml/Dash/GenericScopeView.qml:360
136+#: qml/Dash/GenericScopeView.qml:358
137137msgid "See all"
138138msgstr "Ogled vsega"
139139
140−#: qml/Dash/GenericScopeView.qml:423 qml/Panel/SearchIndicator.qml:27
140+#: qml/Panel/SearchIndicator.qml:27
141141msgid "Search"
142142msgstr "Iskanje"
143143
@@ -161,25 +161,25 @@ msgstr "Dodaj oceno"
161161msgid "Send"
162162msgstr "Pošlji"
163163
164−#: qml/Dash/ScopesOverview.qml:201
164+#: qml/Dash/ScopesOverview.qml:200
165165msgid "Manage Dash"
166−msgstr ""
166+msgstr "Upravljaj s pregledno ploščo"
167167
168−#: qml/Dash/ScopesOverview.qml:408
168+#: qml/Dash/ScopesOverview.qml:405
169169msgid "Done"
170−msgstr ""
170+msgstr "Končano"
171171
172−#: qml/Dash/ScopesOverview.qml:434
172+#: qml/Dash/ScopesOverview.qml:431
173173msgid "Store"
174−msgstr ""
174+msgstr "Trgovina"
175175
176176#: qml/Dash/ScopesOverviewTab.qml:36
177177msgid "Favorites"
178−msgstr ""
178+msgstr "Priljubljeni"
179179
180180#: qml/Dash/ScopesOverviewTab.qml:54
181181msgid "All"
182−msgstr ""
182+msgstr "Vse"
183183
184184#: qml/Greeter/Greeter.qml:157
185185msgid "Swipe to unlock"
@@ -247,54 +247,58 @@ msgstr "Spodletelo, tapnite za ponovni poskus"
247247
248248#: qml/Panel/Indicators/ModemInfoItem.qml:105
249249msgid "Unlock SIM"
250−msgstr ""
250+msgstr "Odkleni SIM"
251251
252252#: qml/Panel/Indicators/RoamingIndication.qml:27
253253msgid "Roaming"
254−msgstr ""
254+msgstr "Gostovanje"
255255
256256#: qml/Shell.qml:267
257257msgid "passphrase"
258−msgstr ""
258+msgstr "šifrirno reklo"
259259
260260#: qml/Shell.qml:267
261261msgid "passcode"
262−msgstr ""
262+msgstr "geslo"
263263
264264#: qml/Shell.qml:269
265265#, qt-format
266266msgid "Enter your %1"
267−msgstr ""
267+msgstr "Vnesite vaš %1"
268268
269269#: qml/Shell.qml:270
270270#, qt-format
271271msgid "Incorrect %1"
272−msgstr ""
272+msgstr "Nepravilen %1"
273273
274274#: qml/Shell.qml:272
275275msgid "Please re-enter"
276−msgstr ""
276+msgstr "Ponovno vnesite"
277277
278278#: qml/Shell.qml:306
279279msgid "Sorry, incorrect passphrase."
280−msgstr ""
280+msgstr "Nepravilno geslo."
281281
282282#: qml/Shell.qml:307
283283msgid "Sorry, incorrect passcode."
284−msgstr ""
284+msgstr "Nepravilno geslo."
285285
286286#: qml/Shell.qml:308
287287msgid "This will be your last attempt."
288−msgstr ""
288+msgstr "To je vaš zadnji poskus"
289289
290290#: qml/Shell.qml:310
291291msgid ""
292292"If passphrase is entered incorrectly, your phone will conduct a factory "
293293"reset and all personal data will be deleted."
294294msgstr ""
295+"Če je vneseno nepravilno šifrirno reklo, bo telefon ponastavljen na "
296+"tovarniške nastavitve ter vsi osebni podatki bodo izbrisani."
295297
296298#: qml/Shell.qml:311
297299msgid ""
298300"If passcode is entered incorrectly, your phone will conduct a factory reset "
299301"and all personal data will be deleted."
300302msgstr ""
303+"Če je vneseno nepravilno geslo, bo telefon ponastavljen na tovarniške "
304+"nastavitve ter vsi osebni podatki bodo izbrisani."
po/uk.po+17−13
@@ -8,18 +8,18 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2014-08-13 14:09-0400\n"
11−"PO-Revision-Date: 2014-08-12 14:38+0000\n"
11+"PO-Revision-Date: 2014-08-17 14:49+0000\n"
1212"Last-Translator: Yuri Chornoivan <yurchor@gmail.com>\n"
1313"Language-Team: Ukrainian <uk@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-08-15 06:28+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-18 07:20+0000\n"
1818"X-Generator: Launchpad (build 17156)\n"
1919
2020#: plugins/LightDM/Greeter.cpp:129
2121msgid "Password: "
22−msgstr ""
22+msgstr "Пароль: "
2323
2424#: plugins/Unity/Launcher/launcheritem.cpp:43
2525#: plugins/Unity/Launcher/launcheritem.cpp:73
@@ -99,11 +99,11 @@ msgstr ""
9999
100100#: qml/Components/Lockscreen.qml:161
101101msgid "Too many incorrect attempts"
102−msgstr ""
102+msgstr "Забагато помилкових спроб"
103103
104104#: qml/Components/Lockscreen.qml:163
105105msgid "Please wait"
106−msgstr ""
106+msgstr "Будь ласка, зачекайте"
107107
108108#: qml/Components/Lockscreen.qml:245
109109msgid "Emergency Call"
@@ -256,46 +256,50 @@ msgstr "Роумінг"
256256
257257#: qml/Shell.qml:267
258258msgid "passphrase"
259−msgstr ""
259+msgstr "пароль"
260260
261261#: qml/Shell.qml:267
262262msgid "passcode"
263−msgstr ""
263+msgstr "код-пароль"
264264
265265#: qml/Shell.qml:269
266266#, qt-format
267267msgid "Enter your %1"
268−msgstr ""
268+msgstr "Вкажіть ваш %1"
269269
270270#: qml/Shell.qml:270
271271#, qt-format
272272msgid "Incorrect %1"
273−msgstr ""
273+msgstr "Помилковий %1"
274274
275275#: qml/Shell.qml:272
276276msgid "Please re-enter"
277−msgstr ""
277+msgstr "Будь ласка, вкажіть ще раз"
278278
279279#: qml/Shell.qml:306
280280msgid "Sorry, incorrect passphrase."
281−msgstr ""
281+msgstr "Вибачте, помилковий пароль."
282282
283283#: qml/Shell.qml:307
284284msgid "Sorry, incorrect passcode."
285−msgstr ""
285+msgstr "Вибачте, помилковий код-пароль."
286286
287287#: qml/Shell.qml:308
288288msgid "This will be your last attempt."
289−msgstr ""
289+msgstr "Ця спроба буде останньою."
290290
291291#: qml/Shell.qml:310
292292msgid ""
293293"If passphrase is entered incorrectly, your phone will conduct a factory "
294294"reset and all personal data will be deleted."
295295msgstr ""
296+"Якщо пароль буде вказано неправильно, телефон повернеться до початкового "
297+"стану, усі особисті дані буде вилучено."
296298
297299#: qml/Shell.qml:311
298300msgid ""
299301"If passcode is entered incorrectly, your phone will conduct a factory reset "
300302"and all personal data will be deleted."
301303msgstr ""
304+"Якщо код-пароль буде вказано неправильно, телефон повернеться до початкового "
305+"стану, усі особисті дані буде вилучено."
qml/Components/Dialogs.qml+21−25
@@ -18,15 +18,18 @@ import QtQuick 2.0
1818
1919import Unity.Application 0.1
2020import Unity.Session 0.1
21−import Ubuntu.Components 0.1
21+import Ubuntu.Components 1.1
2222import Ubuntu.Components.Popups 0.1
2323
2424Item {
2525 id: root
2626
2727 function onPowerKeyPressed() {
28+ // FIXME: event.isAutoRepeat is always false on Nexus 4.
29+ // So we use powerKeyTimer.running to avoid the PowerOff key repeat
30+ // https://launchpad.net/bugs/1349416
2831 if (!powerKeyTimer.running) {
29− powerKeyTimer.start();
32+ powerKeyTimer.restart();
3033 }
3134 }
3235
@@ -64,17 +67,17 @@ Item {
6467 id: logoutDialog
6568 Dialog {
6669 id: dialogueLogout
67− title: "Logout"
68− text: "Are you sure that you want to logout?"
70+ title: i18n.tr("Log out")
71+ text: i18n.tr("Are you sure you want to log out?")
6972 Button {
70− text: "Cancel"
73+ text: i18n.tr("No")
7174 onClicked: {
7275 PopupUtils.close(dialogueLogout);
7376 d.dialogShown = false;
7477 }
7578 }
7679 Button {
77− text: "Yes"
80+ text: i18n.tr("Yes")
7881 onClicked: {
7982 DBusUnitySessionService.Logout();
8083 PopupUtils.close(dialogueLogout);
@@ -88,17 +91,17 @@ Item {
8891 id: shutdownDialog
8992 Dialog {
9093 id: dialogueShutdown
91− title: "Shutdown"
92− text: "Are you sure that you want to shutdown?"
94+ title: i18n.tr("Shut down")
95+ text: i18n.tr("Are you sure you want to shut down?")
9396 Button {
94− text: "Cancel"
97+ text: i18n.tr("No")
9598 onClicked: {
9699 PopupUtils.close(dialogueShutdown);
97100 d.dialogShown = false;
98101 }
99102 }
100103 Button {
101− text: "Yes"
104+ text: i18n.tr("Yes")
102105 onClicked: {
103106 dBusUnitySessionServiceConnection.closeAllApps();
104107 DBusUnitySessionService.Shutdown();
@@ -113,17 +116,17 @@ Item {
113116 id: rebootDialog
114117 Dialog {
115118 id: dialogueReboot
116− title: "Reboot"
117− text: "Are you sure that you want to reboot?"
119+ title: i18n.tr("Reboot")
120+ text: i18n.tr("Are you sure you want to reboot?")
118121 Button {
119− text: "Cancel"
122+ text: i18n.tr("No")
120123 onClicked: {
121124 PopupUtils.close(dialogueReboot)
122125 d.dialogShown = false;
123126 }
124127 }
125128 Button {
126− text: "Yes"
129+ text: i18n.tr("Yes")
127130 onClicked: {
128131 dBusUnitySessionServiceConnection.closeAllApps();
129132 DBusUnitySessionService.Reboot();
@@ -138,8 +141,8 @@ Item {
138141 id: powerDialog
139142 Dialog {
140143 id: dialoguePower
141− title: "Power"
142− text: i18n.tr("Are you sure you would like to turn power off?")
144+ title: i18n.tr("Power")
145+ text: i18n.tr("Are you sure you would like\nto power off?")
143146 Button {
144147 text: i18n.tr("Power off")
145148 onClicked: {
@@ -148,15 +151,7 @@ Item {
148151 d.dialogShown = false;
149152 root.powerOffClicked();
150153 }
151− }
152− Button {
153− text: i18n.tr("Restart")
154− onClicked: {
155− dBusUnitySessionServiceConnection.closeAllApps();
156− DBusUnitySessionService.Reboot();
157− PopupUtils.close(dialoguePower);
158− d.dialogShown = false;
159− }
154+ color: UbuntuColors.red
160155 }
161156 Button {
162157 text: i18n.tr("Cancel")
@@ -164,6 +159,7 @@ Item {
164159 PopupUtils.close(dialoguePower);
165160 d.dialogShown = false;
166161 }
162+ color: UbuntuColors.coolGrey
167163 }
168164 }
169165 }
qml/Dash/CardHorizontalList.qml+2−2
@@ -54,8 +54,8 @@ DashRenderer {
5454 }
5555 Connections {
5656 target: loader.item
57− onClicked: root.clicked(index, result)
58− onPressAndHold: root.pressAndHold(index)
57+ onClicked: root.clicked(index, result, loader.item, model)
58+ onPressAndHold: root.pressAndHold(index, model)
5959 }
6060 }
6161 }
qml/Dash/DashNavigation.qml+2−2
@@ -80,7 +80,7 @@ AbstractButton {
8080 anchors.margins: units.gu(2)
8181 verticalAlignment: Text.AlignVCenter
8282 text: root.currentNavigation ? root.currentNavigation.label : ""
83− color: root.scopeStyle ? root.scopeStyle.foreground : "grey"
83+ color: root.scopeStyle ? root.scopeStyle.foreground : Theme.palette.normal.baseText
8484 }
8585
8686 Icon {
@@ -90,7 +90,7 @@ AbstractButton {
9090 name: showList ? "up" : "down"
9191 height: units.gu(2)
9292 width: height
93− color: root.scopeStyle ? root.scopeStyle.foreground : "grey"
93+ color: root.scopeStyle ? root.scopeStyle.foreground : Theme.palette.normal.baseText
9494 }
9595
9696 // navigationListView is outside root
qml/Dash/DashNavigationList.qml+1−1
@@ -27,7 +27,7 @@ Item {
2727 signal allNavigationClicked()
2828
2929 readonly property int itemHeight: units.gu(5)
30− readonly property color foregroundColor: root.scopeStyle ? root.scopeStyle.foreground : "grey"
30+ readonly property color foregroundColor: root.scopeStyle ? root.scopeStyle.foreground : Theme.palette.normal.baseText
3131 implicitHeight: flickable.contentHeight
3232
3333 Rectangle {
qml/Dash/GenericScopeView.qml+2−2
@@ -365,7 +365,7 @@ FocusScope {
365365 }
366366 fontSize: "small"
367367 font.weight: Font.Bold
368− color: scopeStyle ? scopeStyle.foreground : "grey"
368+ color: scopeStyle ? scopeStyle.foreground : Theme.palette.normal.baseText
369369 visible: baseItem.expandable && !baseItem.headerLink
370370 }
371371 }
@@ -403,7 +403,7 @@ FocusScope {
403403 width: categoryView.width
404404 height: section != "" ? units.gu(5) : 0
405405 text: section
406− color: scopeStyle ? scopeStyle.foreground : "grey"
406+ color: scopeStyle ? scopeStyle.foreground : Theme.palette.normal.baseText
407407 iconName: delegate && delegate.headerLink ? "go-next" : ""
408408 onClicked: {
409409 if (delegate.headerLink) scopeView.scope.performQuery(delegate.headerLink);
qml/Components/PageHeader.qml → qml/Dash/PageHeader.qmlrenamed+4−3
@@ -19,7 +19,8 @@ import Ubuntu.Components 1.1
1919import Ubuntu.Components.Themes.Ambiance 1.1
2020import Ubuntu.Components.Popups 1.0
2121import Ubuntu.Components.ListItems 1.0
22−import "SearchHistoryModel"
22+import "../Components"
23+import "../Components/SearchHistoryModel"
2324
2425Item {
2526 id: root
@@ -172,7 +173,7 @@ Item {
172173 property var styledItem: searchHeader
173174 property string title
174175 property var config: PageHeadConfiguration {
175− foregroundColor: root.scopeStyle ? root.scopeStyle.headerForeground : "grey"
176+ foregroundColor: root.scopeStyle ? root.scopeStyle.headerForeground : Theme.palette.normal.baseText
176177 backAction: Action {
177178 iconName: "back"
178179 onTriggered: {
@@ -242,7 +243,7 @@ Item {
242243 property var styledItem: header
243244 property string title: root.title
244245 property var config: PageHeadConfiguration {
245− foregroundColor: root.scopeStyle ? root.scopeStyle.headerForeground : "grey"
246+ foregroundColor: root.scopeStyle ? root.scopeStyle.headerForeground : Theme.palette.normal.baseText
246247 backAction: Action {
247248 iconName: "back"
248249 visible: root.showBackButton
qml/Dash/Previews/PreviewAudioPlayback.qml+3−3
@@ -139,7 +139,7 @@ PreviewWidget {
139139 objectName: "trackTitleLabel"
140140 anchors { top: parent.top; left: parent.left; right: parent.right }
141141 opacity: 0.9
142− color: scopeStyle ? scopeStyle.foreground : "grey"
142+ color: scopeStyle ? scopeStyle.foreground : Theme.palette.normal.baseText
143143 fontSize: "small"
144144 horizontalAlignment: Text.AlignLeft
145145 text: modelData["title"]
@@ -152,7 +152,7 @@ PreviewWidget {
152152 anchors { top: trackTitleLabel.bottom; left: parent.left; right: parent.right }
153153 visible: text !== ""
154154 opacity: 0.9
155− color: scopeStyle ? scopeStyle.foreground : "grey"
155+ color: scopeStyle ? scopeStyle.foreground : Theme.palette.normal.baseText
156156 font.weight: Font.Light
157157 fontSize: "small"
158158 horizontalAlignment: Text.AlignLeft
@@ -193,7 +193,7 @@ PreviewWidget {
193193 anchors.verticalCenter: parent.verticalCenter
194194 width: parent.column3Width
195195 opacity: 0.9
196− color: scopeStyle ? scopeStyle.foreground : "grey"
196+ color: scopeStyle ? scopeStyle.foreground : Theme.palette.normal.baseText
197197 fontSize: "small"
198198 horizontalAlignment: Text.AlignRight
199199 text: audio.lengthToString(modelData["length"])
qml/Dash/Previews/PreviewExpandable.qml+1−1
@@ -41,7 +41,7 @@ PreviewWidget {
4141 right: expandButton.left
4242 }
4343 fontSize: "large"
44− color: root.scopeStyle ? root.scopeStyle.foreground : "grey"
44+ color: root.scopeStyle ? root.scopeStyle.foreground : Theme.palette.normal.baseText
4545 visible: text !== ""
4646 opacity: .8
4747 text: widgetData["title"] || ""
qml/Dash/Previews/PreviewHeader.qml+1−1
@@ -35,7 +35,7 @@ PreviewWidget {
3535 readonly property url mascot: root.widgetData["mascot"] || ""
3636 readonly property string title: root.widgetData["title"] || ""
3737 readonly property string subtitle: root.widgetData["subtitle"] || ""
38− readonly property color fontColor: root.scopeStyle ? root.scopeStyle.foreground : "grey"
38+ readonly property color fontColor: root.scopeStyle ? root.scopeStyle.foreground : Theme.palette.normal.baseText
3939
4040 implicitHeight: row.height + row.margins * 2
4141 width: parent.width
qml/Dash/Previews/PreviewRatingDisplay.qml+2−2
@@ -72,7 +72,7 @@ PreviewWidget {
7272 id: authorLabel
7373 objectName: "authorLabel"
7474 anchors { left: parent.left; right: parent.right }
75− color: scopeStyle ? scopeStyle.foreground : "grey"
75+ color: scopeStyle ? scopeStyle.foreground : Theme.palette.normal.baseText
7676 opacity: .8
7777 text: modelData["author"] || ""
7878 visible: text !== ""
@@ -83,7 +83,7 @@ PreviewWidget {
8383 id: reviewLabel
8484 objectName: "reviewLabel"
8585 anchors { left: parent.left; right: parent.right }
86− color: scopeStyle ? scopeStyle.foreground : "grey"
86+ color: scopeStyle ? scopeStyle.foreground : Theme.palette.normal.baseText
8787 opacity: .8
8888 text: modelData["review"] || ""
8989 visible: text !== ""
qml/Dash/Previews/PreviewRatingInput.qml+2−2
@@ -76,7 +76,7 @@ PreviewWidget {
7676 verticalCenter: parent.verticalCenter
7777 left: parent.left
7878 }
79− color: root.scopeStyle ? root.scopeStyle.foreground : "grey"
79+ color: root.scopeStyle ? root.scopeStyle.foreground : Theme.palette.normal.baseText
8080 opacity: .8
8181 text: widgetData["rating-label"] || i18n.tr("Rate this")
8282 }
@@ -121,7 +121,7 @@ PreviewWidget {
121121 left: parent.left
122122 right: parent.right
123123 }
124− color: root.scopeStyle ? root.scopeStyle.foreground : "grey"
124+ color: root.scopeStyle ? root.scopeStyle.foreground : Theme.palette.normal.baseText
125125 opacity: .8
126126 text: widgetData["review-label"] || i18n.tr("Add a review")
127127 }
qml/Dash/Previews/PreviewTextSummary.qml+2−2
@@ -39,7 +39,7 @@ PreviewWidget {
3939 }
4040 height: visible ? implicitHeight : 0
4141 fontSize: "large"
42− color: root.scopeStyle ? root.scopeStyle.foreground : "grey"
42+ color: root.scopeStyle ? root.scopeStyle.foreground : Theme.palette.normal.baseText
4343 visible: text !== ""
4444 opacity: .8
4545 text: widgetData["title"] || ""
@@ -61,7 +61,7 @@ PreviewWidget {
6161 clip: true
6262 fontSize: "small"
6363 lineHeight: 1.2
64− color: root.scopeStyle ? root.scopeStyle.foreground : "grey"
64+ color: root.scopeStyle ? root.scopeStyle.foreground : Theme.palette.normal.baseText
6565 opacity: .8
6666 text: widgetData["text"]
6767 wrapMode: Text.Wrap
qml/Dash/ScopesOverview.qml+12−5
@@ -32,7 +32,7 @@ Item {
3232 property alias currentTab: tabBar.currentTab
3333
3434 // Properties used by parent
35− readonly property bool processing: searchResultsViewer.processing || tempScopeItem.processing
35+ readonly property bool processing: searchResultsViewer.processing || tempScopeItem.processing || previewListView.processing
3636 property bool growingDashFromPos: false
3737 readonly property bool searching: scope && scope.searchQuery == ""
3838 readonly property bool showingNonFavoriteScope: tempScopeItem.scope != null
@@ -366,7 +366,16 @@ Item {
366366 }
367367
368368 function itemPressedAndHeld(index, itemModel, resultsModel, limitedCategoryItemCount) {
369− // Do nothing
369+ if (itemModel.uri.indexOf("scope://") === 0) {
370+ // Preview can call openScope so make sure restorePosition and restoreSize are set
371+ scopesOverviewXYScaler.restorePosition = undefined;
372+ scopesOverviewXYScaler.restoreSize = allCardSize;
373+
374+ previewListView.model = resultsModel;
375+ previewListView.currentIndex = -1;
376+ previewListView.currentIndex = index;
377+ previewListView.open = true;
378+ }
370379 }
371380 }
372381
@@ -400,7 +409,7 @@ Item {
400409 border.color: "white"
401410 border.width: units.dp(1)
402411 radius: units.dp(10)
403− color: parent.pressed ? "gray" : "transparent"
412+ color: parent.pressed ? Theme.palette.normal.baseText : "transparent"
404413 }
405414 Label {
406415 id: label
@@ -455,8 +464,6 @@ Item {
455464 anchors.left: scopesOverviewContent.right
456465 }
457466
458−
459−
460467 Item {
461468 id: scopesOverviewXYScaler
462469 width: parent.width
qml/Components/graphics/PageHeaderBaseDivider@18.png → qml/Dash/graphics/PageHeaderBaseDivider@18.pngrenamed

Binary file not shown.

qml/Components/graphics/PageHeaderBaseDivider@18.sci → qml/Dash/graphics/PageHeaderBaseDivider@18.scirenamed

The content is the same.

qml/Components/graphics/pagination_dot_off@30.png → qml/Dash/graphics/pagination_dot_off@30.pngrenamed

Binary file not shown.

qml/Components/graphics/pagination_dot_on@30.png → qml/Dash/graphics/pagination_dot_on@30.pngrenamed

Binary file not shown.

qml/Greeter/Clock.qml+2−1
@@ -16,6 +16,7 @@
1616
1717import QtQuick 2.0
1818import Ubuntu.Components 0.1
19+import "../Panel/Indicators"
1920import Unity.Indicators 0.1 as Indicators
2021
2122Item {
@@ -33,7 +34,7 @@ Item {
3334 }
3435 }
3536
36− Indicators.CachedUnityMenuModel {
37+ CachedUnityMenuModel {
3738 id: timeModel
3839 objectName: "timeModel"
3940
qml/Hud/HudParametrizedActionsPage.qml+9−2
@@ -15,7 +15,8 @@
1515 */
1616
1717import QtQuick 2.0
18−import Ubuntu.Components 0.1
18+import Ubuntu.Components 1.1
19+import Ubuntu.Components.Themes.Ambiance 1.1
1920import "../Components"
2021
2122Item {
@@ -89,12 +90,18 @@ Item {
8990 anchors.left: parent.left
9091 anchors.right: parent.right
9192
92− PageHeader {
93+ PageHeadStyle {
9394 id: header
9495 anchors.top: parent.top
9596 anchors.left: parent.left
9697 anchors.right: parent.right
9798 anchors.topMargin: units.gu(1)
99+ height: units.gu(6.5)
100+ contentHeight: height
101+ separatorSource: ""
102+ property var styledItem: header
103+ property string title
104+ property var config: PageHeadConfiguration { }
98105 }
99106 }
100107 }
qml/Notifications/Notification.qml+3−1
@@ -52,7 +52,7 @@ Item {
5252 implicitHeight: type !== Notification.PlaceHolder ? (fullscreen ? maxHeight : contentColumn.height + contentColumn.spacing * 2) : 0
5353
5454 color: Qt.rgba(0.132, 0.117, 0.109, 0.97)
55− opacity: 0
55+ opacity: 1
5656
5757 state: {
5858 var result = "";
@@ -257,6 +257,7 @@ Item {
257257 font.bold: true
258258 color: Theme.palette.selected.backgroundText
259259 elide: Text.ElideRight
260+ textFormat: Text.PlainText
260261 }
261262
262263 Label {
@@ -274,6 +275,7 @@ Item {
274275 wrapMode: Text.WordWrap
275276 maximumLineCount: 10
276277 elide: Text.ElideRight
278+ textFormat: Text.PlainText
277279 }
278280 }
279281 }
qml/Notifications/Notifications.qml+2−2
@@ -79,7 +79,7 @@ ListView {
7979 }
8080 }
8181
82− populate: Transition {
82+ /*populate: Transition {
8383 UbuntuNumberAnimation {
8484 property: "opacity"
8585 to: 1
@@ -107,5 +107,5 @@ ListView {
107107 properties: "x,y"
108108 duration: UbuntuAnimation.SnapDuration
109109 }
110− }
110+ }*/
111111}
tests/mocks/Unity/Indicators/CachedUnityMenuModel.qml → qml/Panel/Indicators/CachedUnityMenuModel.qmlrenamed+14−5
@@ -18,13 +18,22 @@
1818 */
1919
2020import QtQuick 2.0
21+import QMenuModel 0.1
22+import Unity.Indicators 0.1 as Indicators
2123
24+// Make sure we don't duplicate models.
2225Item {
23− property string busName: ""
24− property string actionsObjectPath: ""
25− property string menuObjectPath: ""
26+ id: cachedModel
27+ property string busName
28+ property string actionsObjectPath
29+ property string menuObjectPath
30+ readonly property bool ready: busName!=="" && actionsObjectPath!=="" && menuObjectPath!==""
2631
27− readonly property bool ready: false
32+ property var model: {
33+ if (!ready) return null;
2834
29− property QtObject model: null
35+ return Indicators.UnityMenuModelCache.model(cachedModel.busName,
36+ cachedModel.menuObjectPath,
37+ { "indicator": cachedModel.actionsObjectPath });
38+ }
3039}
qml/Panel/Indicators/DefaultIndicatorWidget.qml+2−1
@@ -63,6 +63,7 @@ IndicatorBase {
6363 }
6464
6565 Row {
66+ id: iconRow
6667 anchors {
6768 top: parent.top
6869 bottom: parent.bottom
@@ -73,7 +74,7 @@ IndicatorBase {
7374
7475 Item {
7576 width: itemImage.width + units.gu(1)
76− anchors { top: parent.top; bottom: parent.bottom }
77+ height: iconRow.height
7778
7879 StatusIcon {
7980 id: itemImage
qml/Panel/Indicators/IndicatorBase.qml+4−2
@@ -34,6 +34,7 @@ Item {
3434 property string deviceMenuObjectPath: menuObjectPath
3535
3636 property alias menuModel: cachedModel.model
37+ property alias rootActionState: rootAction
3738
3839 CachedUnityMenuModel {
3940 id: cachedModel
@@ -42,8 +43,9 @@ Item {
4243 menuObjectPath: indicatorItem.deviceMenuObjectPath
4344 }
4445
45− property RootActionState rootActionState: RootActionState {
46− menu: menuModel
46+ RootActionState {
47+ id: rootAction
48+ menu: menuModel ? menuModel : null
4749 onUpdated: indicatorItem.rootActionStateChanged()
4850 }
4951}
qml/Shell.qml+18−6
@@ -68,6 +68,13 @@ Item {
6868 }
6969 }
7070
71+ function setFakeActiveForApp(app) {
72+ if (shell.locked) {
73+ greeter.fakeActiveForApp = app
74+ lockscreen.hide()
75+ }
76+ }
77+
7178 Binding {
7279 target: LauncherModel
7380 property: "applicationManager"
@@ -130,7 +137,11 @@ Item {
130137 Connections {
131138 target: ApplicationManager
132139 onFocusRequested: {
133− if (greeter.fakeActiveForApp !== "" && greeter.fakeActiveForApp !== appId) {
140+ if (appId === "dialer-app") {
141+ // Always let the dialer-app through. Either user asked
142+ // for an emergency call or accepted an incoming call.
143+ setFakeActiveForApp(appId)
144+ } else if (greeter.fakeActiveForApp !== "" && greeter.fakeActiveForApp !== appId) {
134145 lockscreen.show();
135146 }
136147 greeter.hide();
@@ -147,6 +158,11 @@ Item {
147158 if (greeter.shown && appId != "unity8-dash") {
148159 greeter.hide();
149160 }
161+ if (appId === "dialer-app") {
162+ // Always let the dialer-app through. Either user asked
163+ // for an emergency call or accepted an incoming call.
164+ setFakeActiveForApp(appId)
165+ }
150166 }
151167 }
152168
@@ -239,11 +255,7 @@ Item {
239255
240256 onEntered: LightDM.Greeter.respond(passphrase);
241257 onCancel: greeter.show()
242− onEmergencyCall: {
243− greeter.fakeActiveForApp = "dialer-app"
244− shell.activateApplication("dialer-app")
245− lockscreen.hide()
246− }
258+ onEmergencyCall: shell.activateApplication("dialer-app") // will automatically enter fake-active mode
247259
248260 onShownChanged: if (shown) greeter.fakeActiveForApp = ""
249261
tests/autopilot/unity8/indicators/tests/test_indicators.py+1−1
@@ -76,7 +76,7 @@ class IndicatorPageTitleMatchesWidgetTestCase(IndicatorTestCase):
7676 ('Location', dict(indicator_name='indicator-location',
7777 title='Location')),
7878 ('Messaging', dict(indicator_name='indicator-messages',
79− title='Incoming')),
79+ title='Notification center')),
8080 ('Network', dict(indicator_name='indicator-network',
8181 title='Network')),
8282 ('Power', dict(indicator_name='indicator-power',
tests/mocks/AccountsService/AccountsService.qmltypes+8
@@ -14,9 +14,17 @@ Module {
1414 isCreatable: false
1515 isSingleton: true
1616 exportMetaObjectRevisions: [0]
17+ Enum {
18+ name: "PasswordDisplayHint"
19+ values: {
20+ "Keyboard": 0,
21+ "Numeric": 1
22+ }
23+ }
1724 Property { name: "user"; type: "string" }
1825 Property { name: "demoEdges"; type: "bool" }
1926 Property { name: "backgroundFile"; type: "string" }
2027 Property { name: "statsWelcomeScreen"; type: "bool" }
28+ Property { name: "passwordDisplayHint"; type: "PasswordDisplayHint"; isReadonly: true }
2129 }
2230}
tests/mocks/LightDM/LightDM.qmltypes+7
@@ -14,6 +14,7 @@ Module {
1414 isCreatable: false
1515 isSingleton: true
1616 exportMetaObjectRevisions: [0]
17+ Property { name: "active"; type: "bool" }
1718 Property { name: "authenticated"; type: "bool"; isReadonly: true }
1819 Property { name: "authenticationUser"; type: "string"; isReadonly: true }
1920 Property { name: "promptless"; type: "bool"; isReadonly: true }
@@ -32,6 +33,8 @@ Module {
3233 name: "authenticationUserChanged"
3334 Parameter { name: "user"; type: "string" }
3435 }
36+ Signal { name: "isActiveChanged" }
37+ Signal { name: "showGreeter" }
3538 Signal {
3639 name: "requestAuthenticationUser"
3740 Parameter { name: "user"; type: "string" }
@@ -51,6 +54,10 @@ Module {
5154 Parameter { name: "session"; type: "string" }
5255 }
5356 Method { name: "startSessionSync"; type: "bool" }
57+ Method {
58+ name: "setIsActive"
59+ Parameter { name: "isActive"; type: "bool" }
60+ }
5461 }
5562 Component {
5663 name: "QAbstractProxyModel"
tests/mocks/QMenuModel/QMenuModel.qmltypes+1
@@ -23,6 +23,7 @@ Module {
2323 Property { name: "actions"; type: "QVariantMap" }
2424 Property { name: "menuObjectPath"; type: "QByteArray" }
2525 Property { name: "actionStateParser"; type: "ActionStateParser"; isPointer: true }
26+ Property { name: "nameOwner"; type: "string"; isReadonly: true }
2627 Method {
2728 name: "insertRow"
2829 Parameter { name: "row"; type: "int" }
tests/mocks/QMenuModel/unitymenumodel.cpp+4−5
@@ -17,7 +17,6 @@
1717 */
1818
1919#include "unitymenumodel.h"
20−#include <QDebug>
2120
2221enum MenuRoles {
2322 LabelRole = Qt::DisplayRole + 1,
@@ -38,6 +37,10 @@ UnityMenuModel::UnityMenuModel(QObject *parent)
3837{
3938}
4039
40+UnityMenuModel::~UnityMenuModel()
41+{
42+}
43+
4144QVariant UnityMenuModel::modelData() const
4245{
4346 return m_modelData;
@@ -83,10 +86,6 @@ void UnityMenuModel::removeRow(int row)
8386 endRemoveRows();
8487}
8588
86−UnityMenuModel::~UnityMenuModel()
87−{
88−}
89−
9089QByteArray UnityMenuModel::busName() const
9190{
9291 return m_busName;
tests/mocks/Ubuntu/Telephony/Telephony.qmltypesnew file+57
@@ -0,0 +1,57 @@
1+import QtQuick.tooling 1.1
2+
3+// This file describes the plugin-supplied types contained in the library.
4+// It is used for QML tooling purposes only.
5+//
6+// This file was auto-generated by:
7+// 'qmlplugindump -notrelocatable Ubuntu.Telephony 0.1 tests/mocks'
8+
9+Module {
10+ Component {
11+ name: "ContactWatcherData"
12+ prototype: "QObject"
13+ exports: ["Ubuntu.Telephony/ContactWatcherData 0.1"]
14+ isCreatable: false
15+ exportMetaObjectRevisions: [0]
16+ Property { name: "contactData"; type: "QVariant" }
17+ }
18+ Component {
19+ name: "MockCallEntry"
20+ prototype: "QObject"
21+ exports: ["Ubuntu.Telephony/CallEntry 0.1"]
22+ exportMetaObjectRevisions: [0]
23+ Property { name: "phoneNumber"; type: "string" }
24+ Property { name: "isConference"; type: "bool" }
25+ Property { name: "elapsedTime"; type: "int"; isReadonly: true }
26+ }
27+ Component {
28+ name: "MockCallManager"
29+ prototype: "QObject"
30+ exports: ["Ubuntu.Telephony/CallManager 0.1"]
31+ isCreatable: false
32+ exportMetaObjectRevisions: [0]
33+ Property { name: "foregroundCall"; type: "QObject"; isPointer: true }
34+ Property { name: "backgroundCall"; type: "QObject"; isPointer: true }
35+ Property { name: "hasCalls"; type: "bool"; isReadonly: true }
36+ Property { name: "callIndicatorVisible"; type: "bool" }
37+ }
38+ Component {
39+ name: "MockContactWatcher"
40+ prototype: "QObject"
41+ exports: ["Ubuntu.Telephony/ContactWatcher 0.1"]
42+ exportMetaObjectRevisions: [0]
43+ Property { name: "phoneNumber"; type: "string" }
44+ Property { name: "alias"; type: "string"; isReadonly: true }
45+ }
46+ Component {
47+ name: "MockTelepathyHelper"
48+ prototype: "QObject"
49+ exports: ["Ubuntu.Telephony/TelepathyHelper 0.1"]
50+ isCreatable: false
51+ exportMetaObjectRevisions: [0]
52+ Method {
53+ name: "registerChannelObserver"
54+ Parameter { name: "name"; type: "string" }
55+ }
56+ }
57+}
tests/mocks/Unity/Application/Application.qmltypes+133−8
@@ -33,15 +33,58 @@ Module {
3333 exportMetaObjectRevisions: [0]
3434 Property { name: "fullscreen"; type: "bool" }
3535 Property { name: "stage"; type: "Stage" }
36+ Property { name: "surface"; type: "MirSurfaceItem"; isReadonly: true; isPointer: true }
37+ Property { name: "promptSurfaces"; type: "MirSurfaceItem"; isList: true; isReadonly: true }
3638 Property { name: "imageQml"; type: "string" }
3739 Property { name: "windowQml"; type: "string" }
38− Signal { name: "appIdChanged" }
39− Signal { name: "nameChanged" }
40− Signal { name: "commentChanged" }
41− Signal { name: "iconChanged" }
42− Signal { name: "stateChanged" }
43− Signal { name: "focusedChanged" }
44− Signal { name: "screenshotChanged" }
40+ Signal {
41+ name: "appIdChanged"
42+ Parameter { type: "string" }
43+ }
44+ Signal {
45+ name: "nameChanged"
46+ Parameter { type: "string" }
47+ }
48+ Signal {
49+ name: "commentChanged"
50+ Parameter { type: "string" }
51+ }
52+ Signal {
53+ name: "iconChanged"
54+ Parameter { type: "QUrl" }
55+ }
56+ Signal {
57+ name: "stageChanged"
58+ Parameter { type: "Stage" }
59+ }
60+ Signal {
61+ name: "stateChanged"
62+ Parameter { type: "State" }
63+ }
64+ Signal {
65+ name: "focusedChanged"
66+ Parameter { type: "bool" }
67+ }
68+ Signal {
69+ name: "fullscreenChanged"
70+ Parameter { type: "bool" }
71+ }
72+ Signal {
73+ name: "imageQmlChanged"
74+ Parameter { type: "string" }
75+ }
76+ Signal {
77+ name: "windowQmlChanged"
78+ Parameter { type: "string" }
79+ }
80+ Signal {
81+ name: "screenshotChanged"
82+ Parameter { type: "QUrl" }
83+ }
84+ Signal {
85+ name: "surfaceChanged"
86+ Parameter { type: "MirSurfaceItem"; isPointer: true }
87+ }
4588 }
4689 Component {
4790 name: "ApplicationManager"
@@ -102,11 +145,11 @@ Module {
102145 "ForceMainStage": 1
103146 }
104147 }
148+ Property { name: "empty"; type: "bool"; isReadonly: true }
105149 Property { name: "sideStageWidth"; type: "int"; isReadonly: true }
106150 Property { name: "stageHint"; type: "StageHint"; isReadonly: true }
107151 Property { name: "formFactorHint"; type: "FormFactorHint"; isReadonly: true }
108152 Property { name: "fake"; type: "bool"; isReadonly: true }
109− Property { name: "rightMargin"; type: "int" }
110153 Signal {
111154 name: "focusRequested"
112155 Parameter { name: "favoriteApplication"; type: "FavoriteApplication" }
@@ -115,6 +158,10 @@ Module {
115158 name: "focusRequested"
116159 Parameter { name: "appId"; type: "string" }
117160 }
161+ Signal {
162+ name: "emptyChanged"
163+ Parameter { name: "empty"; type: "bool" }
164+ }
118165 Method {
119166 name: "get"
120167 type: "ApplicationInfo*"
@@ -177,6 +224,84 @@ Module {
177224 }
178225 Method { name: "availableApplications"; type: "QStringList" }
179226 }
227+ Component {
228+ name: "MirSurfaceItem"
229+ defaultProperty: "data"
230+ prototype: "QQuickPaintedItem"
231+ exports: ["Unity.Application/MirSurfaceItem 0.1"]
232+ isCreatable: false
233+ exportMetaObjectRevisions: [0]
234+ Enum {
235+ name: "Type"
236+ values: {
237+ "Normal": 0,
238+ "Utility": 1,
239+ "Dialog": 2,
240+ "Overlay": 3,
241+ "Freestyle": 4,
242+ "Popover": 5,
243+ "InputMethod": 6
244+ }
245+ }
246+ Enum {
247+ name: "State"
248+ values: {
249+ "Unknown": 0,
250+ "Restored": 1,
251+ "Minimized": 2,
252+ "Maximized": 3,
253+ "VertMaximized": 4,
254+ "Fullscreen": 5
255+ }
256+ }
257+ Property { name: "type"; type: "Type"; isReadonly: true }
258+ Property { name: "state"; type: "State"; isReadonly: true }
259+ Property { name: "name"; type: "string"; isReadonly: true }
260+ Property { name: "parentSurface"; type: "MirSurfaceItem"; isReadonly: true; isPointer: true }
261+ Property { name: "childSurfaces"; type: "MirSurfaceItem"; isList: true; isReadonly: true }
262+ Signal {
263+ name: "typeChanged"
264+ Parameter { type: "Type" }
265+ }
266+ Signal {
267+ name: "stateChanged"
268+ Parameter { type: "State" }
269+ }
270+ Signal {
271+ name: "nameChanged"
272+ Parameter { type: "string" }
273+ }
274+ Signal {
275+ name: "parentSurfaceChanged"
276+ Parameter { type: "MirSurfaceItem"; isPointer: true }
277+ }
278+ Signal { name: "removed" }
279+ Signal { name: "inputMethodRequested" }
280+ Signal { name: "inputMethodDismissed" }
281+ Method {
282+ name: "setState"
283+ Parameter { name: "newState"; type: "State" }
284+ }
285+ Method { name: "release" }
286+ }
287+ Component {
288+ name: "SurfaceManager"
289+ prototype: "QObject"
290+ exports: ["Unity.Application/SurfaceManager 0.1"]
291+ isCreatable: false
292+ isSingleton: true
293+ exportMetaObjectRevisions: [0]
294+ Signal { name: "countChanged" }
295+ Signal {
296+ name: "surfaceCreated"
297+ Parameter { name: "surface"; type: "MirSurfaceItem"; isPointer: true }
298+ }
299+ Signal {
300+ name: "surfaceDestroyed"
301+ Parameter { name: "surface"; type: "MirSurfaceItem"; isPointer: true }
302+ }
303+ Method { name: "inputMethodSurface"; type: "MirSurfaceItem*" }
304+ }
180305 Component {
181306 name: "unity::shell::application::ApplicationInfoInterface"
182307 prototype: "QObject"
tests/mocks/Unity/Application/ApplicationInfo.cpp+1
@@ -54,6 +54,7 @@ ApplicationInfo::~ApplicationInfo()
5454 if (m_surface) {
5555 Q_EMIT SurfaceManager::singleton()->surfaceDestroyed(m_surface);
5656 m_surface->deleteLater();
57+ setSurface(nullptr);
5758 }
5859}
5960
tests/mocks/Unity/DashCommunicator/DashCommunicator.qmltypesnew file+46
@@ -0,0 +1,46 @@
1+import QtQuick.tooling 1.1
2+
3+// This file describes the plugin-supplied types contained in the library.
4+// It is used for QML tooling purposes only.
5+//
6+// This file was auto-generated by:
7+// 'qmlplugindump -notrelocatable Unity.DashCommunicator 0.1 tests/mocks'
8+
9+Module {
10+ Component {
11+ name: "DashCommunicator"
12+ prototype: "QObject"
13+ exports: ["Unity.DashCommunicator/DashCommunicator 0.1"]
14+ exportMetaObjectRevisions: [0]
15+ Signal {
16+ name: "setCurrentScopeCalled"
17+ Parameter { name: "scopeId"; type: "string" }
18+ Parameter { name: "animate"; type: "bool" }
19+ Parameter { name: "reset"; type: "bool" }
20+ }
21+ Method {
22+ name: "setCurrentScope"
23+ Parameter { name: "scopeId"; type: "string" }
24+ Parameter { name: "animate"; type: "bool" }
25+ Parameter { name: "reset"; type: "bool" }
26+ }
27+ }
28+ Component {
29+ name: "DashCommunicatorService"
30+ prototype: "QObject"
31+ exports: ["Unity.DashCommunicator/DashCommunicatorService 0.1"]
32+ exportMetaObjectRevisions: [0]
33+ Signal {
34+ name: "setCurrentScopeRequested"
35+ Parameter { name: "scopeId"; type: "string" }
36+ Parameter { name: "animate"; type: "bool" }
37+ Parameter { name: "reset"; type: "bool" }
38+ }
39+ Method {
40+ name: "mockSetCurrentScope"
41+ Parameter { name: "scopeId"; type: "string" }
42+ Parameter { name: "animate"; type: "bool" }
43+ Parameter { name: "reset"; type: "bool" }
44+ }
45+ }
46+}
tests/mocks/Unity/Indicators/CMakeLists.txt+6−1
@@ -14,6 +14,7 @@ set(IndicatorsFakeQml_SOURCES
1414 fakeplugin.cpp
1515 ${CMAKE_SOURCE_DIR}/plugins/Unity/Indicators/indicators.h
1616 ${CMAKE_SOURCE_DIR}/plugins/Unity/Indicators/menucontentactivator.cpp
17+ ${CMAKE_SOURCE_DIR}/plugins/Unity/Indicators/unitymenumodelcache.cpp
1718 ${CMAKE_SOURCE_DIR}/plugins/Unity/Indicators/unitymenumodelstack.cpp
1819 ${CMAKE_SOURCE_DIR}/plugins/Unity/Indicators/visibleindicatorsmodel.cpp
1920 fakeindicatorsmodel.cpp
@@ -33,7 +34,11 @@ add_library(IndicatorsFakeQml SHARED
3334)
3435add_definitions(-DUNITYINDICATORS_LIBRARY)
3536
36−target_link_libraries(IndicatorsFakeQml)
37+add_dependencies(IndicatorsFakeQml QMenuModelQml)
38+target_link_libraries(IndicatorsFakeQml
39+ -L${CMAKE_BINARY_DIR}/tests/mocks/QMenuModel
40+ -lqmenumodel
41+)
3742
3843qt5_use_modules(IndicatorsFakeQml Core Qml Quick)
3944
tests/mocks/Unity/Indicators/fakeplugin.cpp+9
@@ -26,9 +26,16 @@
2626#include "fakeindicatorsmodel.h"
2727#include "indicators.h"
2828#include "menucontentactivator.h"
29+#include "unitymenumodelcache.h"
2930#include "unitymenumodelstack.h"
3031#include "visibleindicatorsmodel.h"
3132
33+static QObject* menuModelCacheSingleton(QQmlEngine* engine, QJSEngine* scriptEngine) {
34+ Q_UNUSED(engine);
35+ Q_UNUSED(scriptEngine);
36+ return new UnityMenuModelCache;
37+}
38+
3239void IndicatorsFakePlugin::registerTypes(const char * uri)
3340{
3441 Q_INIT_RESOURCE(indicators_fake);
@@ -41,6 +48,8 @@ void IndicatorsFakePlugin::registerTypes(const char * uri)
4148 qmlRegisterType<UnityMenuModelStack>(uri, 0, 1, "UnityMenuModelStack");
4249 qmlRegisterType<VisibleIndicatorsModel>(uri, 0, 1, "VisibleIndicatorsModel");
4350
51+ qmlRegisterSingletonType<UnityMenuModelCache>(uri, 0, 1, "UnityMenuModelCache", menuModelCacheSingleton);
52+
4453 // external uncreatables
4554 qmlRegisterUncreatableType<MenuContentState>(uri, 0, 1, "MenuContentState", "Can't create MenuContentState class");
4655 qmlRegisterUncreatableType<ActionState>(uri, 0, 1, "ActionState", "Can't create ActionState class");
tests/mocks/Unity/Indicators/qmldir−1
@@ -2,7 +2,6 @@ module Unity.Indicators
22plugin IndicatorsFakeQml
33typeinfo Indicators.qmltypes
44
5−CachedUnityMenuModel 0.1 CachedUnityMenuModel.qml
65IndicatorsModel 0.1 IndicatorsModel.qml
76FakeMenuPage 0.1 FakeMenuPage.qml
87RootActionState 0.1 RootActionState.qml
tests/mocks/Unity/fake_categories.cpp+3
@@ -149,6 +149,9 @@ Categories::data(const QModelIndex& index, int role) const
149149 map["card-size"] = "medium";
150150 map["overlay"] = true;
151151 }
152+ if (index.row() == 18) {
153+ map["category-layout"] = "horizontal-list";
154+ }
152155 if (index.row() == 19) {
153156 map["category-layout"] = "grid";
154157 map["collapsed-rows"] = 0;
tests/mocks/Unity/fake_scope.cpp+1−1
@@ -226,7 +226,7 @@ QVariantMap Scope::customizations() const
226226 m["page-header"] = h;
227227 } else if (m_id == "MockScope5") {
228228 h["background"] = "gradient:///lightgrey/grey";
229− h["logo"] = QUrl("../../../tests/qmltests/Components/tst_PageHeader/logo-ubuntu-orange.svg");
229+ h["logo"] = QUrl("../../../tests/qmltests/Dash/tst_PageHeader/logo-ubuntu-orange.svg");
230230 m["page-header"] = h;
231231 }
232232 return m;
tests/plugins/Dash/cardcreator/1.res+1−1
@@ -70,7 +70,7 @@ Label {
7070 wrapMode: Text.Wrap;
7171 maximumLineCount: 2;
7272 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
73− color: root.scopeStyle ? root.scopeStyle.foreground : "grey";
73+ color: root.scopeStyle ? root.scopeStyle.foreground : Theme.palette.normal.baseText;
7474 visible: showHeader ;
7575 text: root.title;
7676 font.weight: components && components["subtitle"] ? Font.DemiBold : Font.Normal;
tests/plugins/Dash/cardcreator/2.res+2−2
@@ -94,7 +94,7 @@ Image {
9494 wrapMode: Text.Wrap;
9595 maximumLineCount: 2;
9696 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
97− color: backgroundLoader.active && backgroundLoader.item && backgroundLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : "grey");
97+ color: backgroundLoader.active && backgroundLoader.item && backgroundLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : Theme.palette.normal.baseText);
9898 visible: showHeader ;
9999 text: root.title;
100100 font.weight: components && components["subtitle"] ? Font.DemiBold : Font.Normal;
@@ -112,7 +112,7 @@ Image {
112112 elide: Text.ElideRight;
113113 fontSize: "small";
114114 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
115− color: backgroundLoader.active && backgroundLoader.item && backgroundLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : "grey");
115+ color: backgroundLoader.active && backgroundLoader.item && backgroundLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : Theme.palette.normal.baseText);
116116 visible: titleLabel.visible && titleLabel.text;
117117 text: cardData && cardData["subtitle"] || "";
118118 font.weight: Font.Light;
tests/plugins/Dash/cardcreator/3.res+2−2
@@ -70,7 +70,7 @@ Label {
7070 wrapMode: Text.Wrap;
7171 maximumLineCount: 2;
7272 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
73− color: root.scopeStyle ? root.scopeStyle.foreground : "grey";
73+ color: root.scopeStyle ? root.scopeStyle.foreground : Theme.palette.normal.baseText;
7474 visible: showHeader ;
7575 text: root.title;
7676 font.weight: components && components["subtitle"] ? Font.DemiBold : Font.Normal;
@@ -88,7 +88,7 @@ Label {
8888 elide: Text.ElideRight;
8989 fontSize: "small";
9090 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
91− color: root.scopeStyle ? root.scopeStyle.foreground : "grey";
91+ color: root.scopeStyle ? root.scopeStyle.foreground : Theme.palette.normal.baseText;
9292 visible: titleLabel.visible && titleLabel.text;
9393 text: cardData && cardData["subtitle"] || "";
9494 font.weight: Font.Light;
tests/plugins/Dash/cardcreator/4.res+2−2
@@ -74,7 +74,7 @@ Label {
7474 wrapMode: Text.Wrap;
7575 maximumLineCount: 2;
7676 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
77− color: root.scopeStyle ? root.scopeStyle.foreground : "grey";
77+ color: root.scopeStyle ? root.scopeStyle.foreground : Theme.palette.normal.baseText;
7878 visible: showHeader ;
7979 text: root.title;
8080 font.weight: components && components["subtitle"] ? Font.DemiBold : Font.Normal;
@@ -92,7 +92,7 @@ Label {
9292 elide: Text.ElideRight;
9393 fontSize: "small";
9494 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
95− color: root.scopeStyle ? root.scopeStyle.foreground : "grey";
95+ color: root.scopeStyle ? root.scopeStyle.foreground : Theme.palette.normal.baseText;
9696 visible: titleLabel.visible && titleLabel.text;
9797 text: cardData && cardData["subtitle"] || "";
9898 font.weight: Font.Light;
tests/plugins/Dash/cardcreator/5.res+2−2
@@ -113,7 +113,7 @@ Label {
113113 wrapMode: Text.Wrap;
114114 maximumLineCount: 2;
115115 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
116− color: overlayLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : "grey");
116+ color: overlayLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : Theme.palette.normal.baseText);
117117 visible: showHeader && overlayLoader.active;
118118 text: root.title;
119119 font.weight: components && components["subtitle"] ? Font.DemiBold : Font.Normal;
@@ -131,7 +131,7 @@ Label {
131131 elide: Text.ElideRight;
132132 fontSize: "small";
133133 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
134− color: overlayLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : "grey");
134+ color: overlayLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : Theme.palette.normal.baseText);
135135 visible: titleLabel.visible && titleLabel.text;
136136 text: cardData && cardData["subtitle"] || "";
137137 font.weight: Font.Light;
tests/plugins/Dash/cardcreator/6.res+3−3
@@ -70,7 +70,7 @@ Item {
7070 wrapMode: Text.Wrap;
7171 maximumLineCount: 2;
7272 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
73− color: backgroundLoader.active && backgroundLoader.item && backgroundLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : "grey");
73+ color: backgroundLoader.active && backgroundLoader.item && backgroundLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : Theme.palette.normal.baseText);
7474 visible: showHeader ;
7575 text: root.title;
7676 font.weight: components && components["subtitle"] ? Font.DemiBold : Font.Normal;
@@ -88,7 +88,7 @@ Item {
8888 elide: Text.ElideRight;
8989 fontSize: "small";
9090 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
91− color: backgroundLoader.active && backgroundLoader.item && backgroundLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : "grey");
91+ color: backgroundLoader.active && backgroundLoader.item && backgroundLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : Theme.palette.normal.baseText);
9292 visible: titleLabel.visible && titleLabel.text;
9393 text: cardData && cardData["subtitle"] || "";
9494 font.weight: Font.Light;
@@ -103,7 +103,7 @@ Item {
103103 rightMargin: units.gu(1);
104104 }
105105 source: cardData && cardData["emblem"] || "";
106− color: backgroundLoader.active && backgroundLoader.item && backgroundLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : "grey");
106+ color: backgroundLoader.active && backgroundLoader.item && backgroundLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : Theme.palette.normal.baseText);
107107 width: height;
108108 height: source != "" ? titleLabel.font.pixelSize : 0;
109109 }
tests/plugins/Dash/cardcreator/7.res+3−3
@@ -95,7 +95,7 @@ Image {
9595 wrapMode: Text.Wrap;
9696 maximumLineCount: 2;
9797 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
98− color: backgroundLoader.active && backgroundLoader.item && backgroundLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : "grey");
98+ color: backgroundLoader.active && backgroundLoader.item && backgroundLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : Theme.palette.normal.baseText);
9999 visible: showHeader ;
100100 text: root.title;
101101 font.weight: components && components["subtitle"] ? Font.DemiBold : Font.Normal;
@@ -113,7 +113,7 @@ Image {
113113 elide: Text.ElideRight;
114114 fontSize: "small";
115115 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
116− color: backgroundLoader.active && backgroundLoader.item && backgroundLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : "grey");
116+ color: backgroundLoader.active && backgroundLoader.item && backgroundLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : Theme.palette.normal.baseText);
117117 visible: titleLabel.visible && titleLabel.text;
118118 text: cardData && cardData["subtitle"] || "";
119119 font.weight: Font.Light;
@@ -127,7 +127,7 @@ Image {
127127 rightMargin: units.gu(1);
128128 top: subtitleLabel.bottom;
129129 }
130− color: backgroundLoader.active && backgroundLoader.item && backgroundLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : "grey");
130+ color: backgroundLoader.active && backgroundLoader.item && backgroundLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : Theme.palette.normal.baseText);
131131 model: cardData && cardData["attributes"];
132132 }
133133
tests/plugins/Dash/tst_ScopeStyle.qml+4−4
@@ -67,7 +67,7 @@ Rectangle {
6767
6868 function test_foreground_data() {
6969 return [
70− { tag: "default", index: 0, foreground: "grey", luminance: 0.5020 },
70+ { tag: "default", index: 0, foreground: Theme.palette.normal.foreground, luminance: 0.5725 },
7171 { tag: "red on black", index: 1, foreground: "red", luminance: 0.2126 },
7272 { tag: "green on white", index: 2, foreground: "green", luminance: 0.3590 },
7373 { tag: "blue on darkgrey", index: 3, foreground: "blue", luminance: 0.0722 },
@@ -101,7 +101,7 @@ Rectangle {
101101
102102 function test_threshold_data() {
103103 return [
104− { tag: "default", index: 0, threshold: 0.7510 },
104+ { tag: "default", index: 0, threshold: 0.7863 },
105105 { tag: "red on black", index: 1, threshold: 0.1063 },
106106 { tag: "green on white", index: 2, threshold: 0.6795 },
107107 { tag: "blue on darkgrey", index: 3, threshold: 0.3675 },
@@ -130,7 +130,7 @@ Rectangle {
130130
131131 function test_dark_data() {
132132 return [
133− { tag: "default", index: 0, dark: "grey" },
133+ { tag: "default", index: 0, dark: Theme.palette.normal.baseText },
134134 { tag: "red on black", index: 1, dark: "black" },
135135 { tag: "green on white", index: 2, dark: "green" },
136136 { tag: "blue on darkgrey", index: 3, dark: "blue" },
@@ -157,7 +157,7 @@ Rectangle {
157157
158158 function test_headerForeground_data() {
159159 return [
160− { tag: "default", index: 0, headerForeground: "grey" },
160+ { tag: "default", index: 0, headerForeground: Theme.palette.normal.baseText },
161161 { tag: "black", index: 2, headerForeground: "black" },
162162 ];
163163 }
tests/qmltests/CMakeLists.txt+2−1
@@ -31,7 +31,6 @@ add_qml_test(Components ResponsiveFlowView)
3131add_qml_test(Components ResponsiveGridView)
3232add_qml_test(Components ResponsiveVerticalJournal IMPORT_PATHS ${qmltest_DEFAULT_IMPORT_PATHS} ${CMAKE_BINARY_DIR}/plugins)
3333add_qml_test(Components Showable)
34−add_qml_test(Components PageHeader)
3534add_qml_test(Components ZoomableImage)
3635add_qml_test(Dash Dash)
3736add_qml_test(Dash DashContent)
@@ -39,6 +38,7 @@ add_qml_test(Dash Card)
3938add_qml_benchmark(Dash CardBenchmark 1000)
4039add_qml_test(Dash CardTool)
4140add_qml_test(Dash GenericScopeView)
41+add_qml_test(Dash PageHeader)
4242add_qml_test(Dash PreviewListView)
4343add_qml_test(Dash/Previews Preview)
4444add_qml_test(Dash/Previews PreviewActions)
@@ -72,6 +72,7 @@ add_qml_test(Panel Panel)
7272add_qml_test(Panel SearchIndicator)
7373add_qml_test(Panel/Indicators DefaultIndicatorWidget ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/tests/mocks/QMenuModel")
7474add_qml_test(Panel/Indicators DefaultIndicatorPage ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/tests/mocks/QMenuModel")
75+add_qml_test(Panel/Indicators CachedUnityMenuModel ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/tests/mocks/QMenuModel")
7576# These MenuItemFactory tests need the test/mocks/ to come before plugins/
7677add_qml_test(Panel/Indicators MenuItemFactory IMPORT_PATHS ${CMAKE_BINARY_DIR}/tests/mocks ${qmltest_DEFAULT_IMPORT_PATHS})
7778add_qml_test(Panel/Indicators MessageMenuItemFactory IMPORT_PATHS ${CMAKE_BINARY_DIR}/tests/mocks ${qmltest_DEFAULT_IMPORT_PATHS})
tests/qmltests/Components/tst_LazyImage.qml+1−1
@@ -32,7 +32,7 @@ Rectangle {
3232 rightMargin: 2 * parent.width / 3
3333 }
3434
35− color: "grey"
35+ color: Theme.palette.normal.baseText
3636
3737 Column {
3838 anchors { fill: parent; margins: units.gu(5) }
tests/qmltests/Dash/tst_Card.qml+1−1
@@ -452,7 +452,7 @@ Rectangle {
452452
453453 background.color = data.tag;
454454
455− var fontColor = data.dark ? "grey" : "white";
455+ var fontColor = data.dark ? Theme.palette.normal.baseText : "white";
456456
457457 tryCompareFunction(function() { return Qt.colorEqual(summary.color, fontColor); }, true);
458458 tryCompareFunction(function() { return Qt.colorEqual(title.color, fontColor); }, true);
tests/qmltests/Dash/tst_CardTool.qml+13−5
@@ -237,7 +237,7 @@ Rectangle {
237237
238238 UT.UnityTestCase {
239239 id: testCase
240− name: "Card"
240+ name: "CardTool"
241241
242242 property var internalCard: findChild(cardTool, "cardToolCard")
243243
@@ -272,10 +272,18 @@ Rectangle {
272272 { tag: "MediumCarousel", width: units.gu(22), height: units.gu(22), viewWidth: 84, index: 0, layout_index: 4},
273273 { tag: "LargeCarousel", width: units.gu(26), height: units.gu(26), viewWidth: 140, index: 0, layout_index: 4},
274274 { tag: "PortraitCarousel", width: units.gu(22), height: units.gu(44), viewWidth: 84, index: 10, layout_index: 4},
275− { tag: "SmallHorizontalList", width: units.gu(18), height: units.gu(39.5), viewWidth: 30, index: 0, layout_index: 5},
276− { tag: "MediumHorizontalList", width: units.gu(22), height: units.gu(43.5), viewWidth: 84, index: 0, layout_index: 5},
277− { tag: "LargeHorizontalList", width: units.gu(26), height: units.gu(47.5), viewWidth: 140, index: 0, layout_index: 5},
278− { tag: "PortraitHorizontalList", width: units.gu(22), height: units.gu(65.5), viewWidth: 84, index: 10, layout_index: 5},
275+ { tag: "SmallHorizontalList", width: units.gu(18),
276+ height: function() { return internalCard ? internalCard.height : 0 },
277+ viewWidth: 30, index: 0, layout_index: 5 },
278+ { tag: "MediumHorizontalList", width: units.gu(22),
279+ height: function() { return internalCard ? internalCard.height : 0 },
280+ viewWidth: 84, index: 0, layout_index: 5 },
281+ { tag: "LargeHorizontalList", width: units.gu(26),
282+ height: function() { return internalCard ? internalCard.height : 0 },
283+ viewWidth: 140, index: 0, layout_index: 5 },
284+ { tag: "PortraitHorizontalList", width: units.gu(22),
285+ height: function() { return internalCard ? internalCard.height : 0 },
286+ viewWidth: 84, index: 10, layout_index: 5 },
279287 ]
280288 }
281289
tests/qmltests/Dash/tst_Dash.qml+2−1
@@ -127,8 +127,9 @@ Item {
127127 tryCompare(scopes, "loaded", true);
128128 var dashContentList = findChild(dash, "dashContentList");
129129 tryCompare(dashContentList, "count", 6);
130+ tryCompareFunction(function() { return findChild(dash, "MockScope1 loader") != null; }, true);
130131 var mockScope1Loader = findChild(dash, "MockScope1 loader");
131− tryCompareFunction(function() { return mockScope1Loader.item != null; }, true);
132+ tryCompare(mockScope1Loader, "status", Loader.Ready);
132133
133134 // Show the overview
134135 touchFlick(dash, dash.width / 2, dash.height - 1, dash.width / 2, dash.height - units.gu(18));
tests/qmltests/Dash/tst_GenericScopeView.qml+51−20
@@ -76,6 +76,20 @@ Item {
7676 spy.signalName = "";
7777 }
7878
79+ function scrollToCategory(category) {
80+ var categoryListView = findChild(genericScopeView, "categoryListView");
81+ tryCompareFunction(function() {
82+ if (findChild(genericScopeView, category)) return true;
83+ mouseFlick(genericScopeView, genericScopeView.width/2, genericScopeView.height,
84+ genericScopeView.width/2, genericScopeView.y)
85+ tryCompare(categoryListView, "moving", false);
86+ return findChild(genericScopeView, category) !== null;
87+ }, true);
88+
89+ tryCompareFunction(function() { return findChild(genericScopeView, "delegate0") !== null; }, true);
90+ return findChild(genericScopeView, category);
91+ }
92+
7993 function test_isActive() {
8094 tryCompare(genericScopeView.scope, "isActive", false)
8195 genericScopeView.isCurrent = true
@@ -222,12 +236,7 @@ Item {
222236 }
223237
224238 function test_forced_category_expansion() {
225− tryCompareFunction(function() {
226− mouseFlick(genericScopeView, genericScopeView.width/2, genericScopeView.height,
227− genericScopeView.width/2, genericScopeView.y)
228− return findChild(genericScopeView, "dashCategory19") !== null;
229− }, true);
230− var category = findChild(genericScopeView, "dashCategory19")
239+ var category = scrollToCategory("dashCategory19");
231240 compare(category.expandable, false, "Category with collapsed-rows: 0 should not be expandable");
232241
233242 var grid = findChild(category, "19");
@@ -285,20 +294,13 @@ Item {
285294 }
286295
287296 function test_showPreviewCarousel() {
288− tryCompareFunction(function() {
289− var dashCategory1 = findChild(genericScopeView, "dashCategory1");
290− if (dashCategory1 != null) {
291− var tile = findChild(dashCategory1, "carouselDelegate1");
292− return tile != null;
293− }
294− return false;
295− },
296− true);
297+ var category = scrollToCategory("dashCategory1");
297298
298299 tryCompare(testCase.previewListView, "open", false);
299300
300− var dashCategory1 = findChild(genericScopeView, "dashCategory1");
301− var tile = findChild(dashCategory1, "carouselDelegate1");
301+ var tile = findChild(category, "carouselDelegate1");
302+ verify(tile, "Could not find delegate");
303+
302304 mouseClick(tile, tile.width / 2, tile.height / 2);
303305 tryCompare(tile, "explicitlyScaled", true);
304306 mouseClick(tile, tile.width / 2, tile.height / 2);
@@ -306,6 +308,35 @@ Item {
306308 tryCompare(testCase.previewListView, "x", 0);
307309
308310 closePreview();
311+
312+ mousePress(tile, tile.width / 2, tile.height / 2);
313+ tryCompare(testCase.previewListView, "open", true);
314+ tryCompare(testCase.previewListView, "x", 0);
315+ mouseRelease(tile, tile.width / 2, tile.height / 2);
316+
317+ closePreview();
318+ }
319+
320+ function test_showPreviewHorizontalList() {
321+ var category = scrollToCategory("dashCategory18");
322+
323+ tryCompare(testCase.previewListView, "open", false);
324+
325+ var tile = findChild(category, "delegate1");
326+ verify(tile, "Could not find delegate");
327+
328+ mouseClick(tile, tile.width / 2, tile.height / 2);
329+ tryCompare(testCase.previewListView, "open", true);
330+ tryCompare(testCase.previewListView, "x", 0);
331+
332+ closePreview();
333+
334+ mousePress(tile, tile.width / 2, tile.height / 2);
335+ tryCompare(testCase.previewListView, "open", true);
336+ tryCompare(testCase.previewListView, "x", 0);
337+ mouseRelease(tile, tile.width / 2, tile.height / 2);
338+
339+ closePreview();
309340 }
310341
311342 function test_previewCycle() {
@@ -333,10 +364,10 @@ Item {
333364
334365 function test_header_style_data() {
335366 return [
336− { tag: "Default", index: 0, foreground: "grey", background: "", logo: "" },
367+ { tag: "Default", index: 0, foreground: Theme.palette.normal.baseText, background: "", logo: "" },
337368 { tag: "Foreground", index: 1, foreground: "yellow", background: "", logo: "" },
338− { tag: "Logo+Background", index: 2, foreground: "grey", background: "gradient:///lightgrey/grey",
339− logo: Qt.resolvedUrl("../Components/tst_PageHeader/logo-ubuntu-orange.svg") },
369+ { tag: "Logo+Background", index: 2, foreground: Theme.palette.normal.baseText, background: "gradient:///lightgrey/grey",
370+ logo: Qt.resolvedUrl("../Dash/tst_PageHeader/logo-ubuntu-orange.svg") },
340371 ];
341372 }
342373
tests/qmltests/Components/tst_PageHeader.qml → tests/qmltests/Dash/tst_PageHeader.qmlrenamed+2−2
@@ -17,7 +17,7 @@
1717import QtQuick 2.0
1818import QtTest 1.0
1919import ".."
20−import "../../../qml/Components"
20+import "../../../qml/Dash"
2121import Ubuntu.Components 0.1
2222import Unity 0.2
2323import Unity.Test 0.1 as UT
@@ -242,7 +242,7 @@ Item {
242242 searchEntryEnabled: true
243243 title: "%^$%^%^&%^&%^$%GHR%"
244244 scopeStyle: QtObject {
245− readonly property color foreground: "grey"
245+ readonly property color foreground: Theme.palette.normal.baseText
246246 readonly property url headerLogo: showImageCheckBox.checked ? pageHeader.titleImageSource : ""
247247 }
248248 showBackButton: showBackButtonCheckBox.checked
tests/qmltests/Components/tst_PageHeader/logo-ubuntu-orange.svg → tests/qmltests/Dash/tst_PageHeader/logo-ubuntu-orange.svgrenamed

The content is the same.

tests/qmltests/Panel/Indicators/tst_CachedUnityMenuModel.qmlnew file+137
@@ -0,0 +1,137 @@
1+/*
2+ * Copyright 2014 Canonical Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import QtQuick 2.0
18+import QtTest 1.0
19+import Unity.Test 0.1 as UT
20+import QMenuModel 0.1
21+import Unity.Indicators 0.1 as Indicators
22+import "../../../../qml/Panel/Indicators"
23+
24+Item {
25+ id: root
26+ width: units.gu(40)
27+ height: units.gu(70)
28+
29+ Component {
30+ id: model
31+ CachedUnityMenuModel {}
32+ }
33+
34+ UT.UnityTestCase {
35+ name: "CachedUnityMenuModel"
36+ when: windowShown
37+
38+ function cleanup() {
39+ doGC();
40+ }
41+
42+ function doGC() {
43+ // need to put some wait cycles here to get gc going properly.
44+ wait(10);
45+ gc();
46+ wait(10);
47+ }
48+
49+ function test_createDifferent() {
50+ var cachedObject = model.createObject(null,
51+ {
52+ "busName": "com.canonical.test1",
53+ "menuObjectPath": "/com/canonical/test1",
54+ "actionsObjectPath": "/com/canonical/test1"
55+ });
56+
57+ var cachedObject2 = model.createObject(null,
58+ {
59+ "busName": "com.canonical.test2",
60+ "menuObjectPath": "/com/canonical/test2",
61+ "actionsObjectPath": "/com/canonical/test2"
62+ });
63+
64+ verify(cachedObject.model !== cachedObject2.model);
65+ }
66+
67+ function test_createSame() {
68+ var cachedObject = model.createObject(null,
69+ {
70+ "busName": "com.canonical.test3",
71+ "menuObjectPath": "/com/canonical/test3",
72+ "actionsObjectPath": "/com/canonical/test3"
73+ });
74+
75+ var cachedObject2 = model.createObject(null,
76+ {
77+ "busName": "com.canonical.test3",
78+ "menuObjectPath": "/com/canonical/test3",
79+ "actionsObjectPath": "/com/canonical/test3"
80+ });
81+
82+ verify(cachedObject.model === cachedObject2.model);
83+ }
84+
85+ // Tests that changing cached model data does not change the model path of others
86+ function test_lp1328646() {
87+ var cachedObject = model.createObject(null,
88+ {
89+ "busName": "com.canonical.test4",
90+ "menuObjectPath": "/com/canonical/test4",
91+ "actionsObjectPath": "/com/canonical/test4"
92+ });
93+
94+ var cachedObject2 = model.createObject(null,
95+ {
96+ "busName": "com.canonical.test4",
97+ "menuObjectPath": "/com/canonical/test4",
98+ "actionsObjectPath": "/com/canonical/test4"
99+ });
100+
101+ cachedObject.menuObjectPath = "/com/canonical/test5";
102+ compare(cachedObject.model.menuObjectPath, "/com/canonical/test5");
103+ compare(cachedObject2.model.menuObjectPath, "/com/canonical/test4");
104+
105+ verify(cachedObject.model !== cachedObject2.model);
106+ }
107+
108+ function createAndDestroy(test) {
109+ var cachedObject = model.createObject(null,
110+ {
111+ "busName": "com.canonical."+test,
112+ "menuObjectPath": "/com/canonical/"+test,
113+ "actionsObjectPath": "/com/canonical/"+test
114+ });
115+ var cachedObject2 = model.createObject(null,
116+ {
117+ "busName": "com.canonical."+test,
118+ "menuObjectPath": "/com/canonical/"+test,
119+ "actionsObjectPath": "/com/canonical/"+test
120+ });
121+ cachedObject.destroy();
122+ return cachedObject2;
123+ }
124+
125+ function test_destroyAllDeletesModel() {
126+ createAndDestroy("test6");
127+ doGC();
128+ compare(Indicators.UnityMenuModelCache.contains("/com/canonical/test6"), false);
129+ }
130+
131+ function test_destroyPartialKeepsModel() {
132+ var model = createAndDestroy("test7");
133+ doGC();
134+ compare(Indicators.UnityMenuModelCache.contains("/com/canonical/test7"), true);
135+ }
136+ }
137+}