on xenial help sign in
merge trunk
320d32fJosh Arenson
CMakeLists.txt+1−1
@@ -57,7 +57,7 @@ find_package(Qt5DBus 5.4 REQUIRED)
57find_package(Qt5Concurrent 5.4 REQUIRED)
57find_package(Qt5Concurrent 5.4 REQUIRED)
58find_package(Qt5Sql 5.4 REQUIRED)
58find_package(Qt5Sql 5.4 REQUIRED)
59
59
60−pkg_check_modules(APPLICATION_API REQUIRED unity-shell-application=15)
60+pkg_check_modules(APPLICATION_API REQUIRED unity-shell-application=16)
61pkg_check_modules(GEONAMES REQUIRED geonames>=0.2)
61pkg_check_modules(GEONAMES REQUIRED geonames>=0.2)
62pkg_check_modules(GIO REQUIRED gio-2.0>=2.32)
62pkg_check_modules(GIO REQUIRED gio-2.0>=2.32)
63pkg_check_modules(GLIB REQUIRED glib-2.0>=2.32)
63pkg_check_modules(GLIB REQUIRED glib-2.0>=2.32)
debian/changelog+74
@@ -1,3 +1,77 @@
1+unity8 (8.12+16.10.20160520.1-0ubuntu1) yakkety; urgency=medium
2+
3+ [ Lukáš Tinkl ]
4+ * Don't dim screen when the indicators are open (LP: #1564342)
5+ * Fix upcoming alarms ETA labels (LP: #1576741)
6+ * Stabilize flaky wizard tests (LP: #1582994)
7+
8+ [ Michael Zanetti ]
9+ * fix the SIM PIN darkening after it got removed accidentally (LP:
10+ #1577147)
11+
12+ [ Michał Sawicz, Nick Dedekind ]
13+ * Fixed saving current stage and loss of surface focus when switching
14+ stages
15+
16+ [ Nick Dedekind ]
17+ * Fixed incorrect osk surface item resizing the surface.
18+
19+ -- Michał Sawicz <michal.sawicz@canonical.com> Fri, 20 May 2016 08:44:19 +0000
20+
21+unity8 (8.12+16.04.20160518.1-0ubuntu1) xenial; urgency=medium
22+
23+ [ CI Train Bot ]
24+ * Resync trunk.
25+
26+ [ Daniel d'Andrada, Michał Sawicz ]
27+ * Move prompt surfaces from MirSurface to Application
28+
29+ -- Nick Dedekind <ci-train-bot@canonical.com> Wed, 18 May 2016 11:20:04 +0000
30+
31+unity8 (8.12+16.04.20160504.2-0ubuntu1) xenial; urgency=medium
32+
33+ [ Albert Astals Cid ]
34+ * Expandable Filter Widget
35+ * Pass the category correctly
36+
37+ [ Albert Astals Cid, CI Train Bot ]
38+ * Make the previewActions react to the actions model changing (LP:
39+ #1485887)
40+ * Reload Preview Zoomable Image source if it gets updated
41+ * Update the icon also to the original one if that's what the scope
42+ wants
43+
44+ [ Andrea Cimitan ]
45+ * Add social actions to cards
46+
47+ [ CI Train Bot ]
48+ * Resync trunk.
49+
50+ -- Pawel Stolowski <ci-train-bot@canonical.com> Wed, 04 May 2016 18:09:33 +0000
51+
52+unity8 (8.12+16.04.20160429.2-0ubuntu1) xenial; urgency=medium
53+
54+ [ CI Train Bot ]
55+ * Resync trunk.
56+
57+ [ Daniel d'Andrada ]
58+ * Ensure shell transformations use bindings as OrientedShell can get
59+ resized
60+ * Make shell rotation animation work on multimonitor scenarios.
61+ * Refactor screenshotting code and make it work in multimonitor
62+ scenarios
63+
64+ [ Gerry Boland, Nick Dedekind ]
65+ * Indicators: set menu height binding while fully open/closed, fixes
66+ dynamic grid unit bug.
67+
68+ [ Michael Zanetti ]
69+ * Call the dash sizing hack when units.gu changes
70+ * Temporary means to override GUs on the internal screen
71+ * reduce some paint layers.
72+
73+ -- Michał Sawicz <michal.sawicz@canonical.com> Fri, 29 Apr 2016 20:07:37 +0000
74+
1unity8 (8.12+16.04.20160427.3-0ubuntu1) xenial; urgency=medium
75unity8 (8.12+16.04.20160427.3-0ubuntu1) xenial; urgency=medium
2
76
3 [ Albert Astals Cid ]
77 [ Albert Astals Cid ]
debian/control+4−4
@@ -31,7 +31,7 @@ Build-Depends: cmake,
31 libqt5xmlpatterns5-dev,
31 libqt5xmlpatterns5-dev,
32 libsystemsettings-dev,
32 libsystemsettings-dev,
33 libudev-dev,
33 libudev-dev,
34− libunity-api-dev (>= 7.110),
34+ libunity-api-dev (>= 7.112),
35 libusermetricsoutput1-dev,
35 libusermetricsoutput1-dev,
36# Need those X11 libs touch emulation from mouse events in manual QML tests on a X11 desktop
36# Need those X11 libs touch emulation from mouse events in manual QML tests on a X11 desktop
37 libx11-dev[!armhf],
37 libx11-dev[!armhf],
@@ -145,10 +145,10 @@ Depends: qml-module-qtquick-layouts,
145 qtdeclarative5-ubuntu-ui-toolkit-plugin (>= 1.3.1845) | qtdeclarative5-ubuntu-ui-toolkit-plugin-gles (>= 1.3.1845),
145 qtdeclarative5-ubuntu-ui-toolkit-plugin (>= 1.3.1845) | qtdeclarative5-ubuntu-ui-toolkit-plugin-gles (>= 1.3.1845),
146 qtdeclarative5-unity-notifications-plugin (>= 0.1.2) | unity-notifications-impl,
146 qtdeclarative5-unity-notifications-plugin (>= 0.1.2) | unity-notifications-impl,
147 ubuntu-thumbnailer-impl-0,
147 ubuntu-thumbnailer-impl-0,
148− unity-application-impl-15,
148+ unity-application-impl-16,
149 unity-notifications-impl-3,
149 unity-notifications-impl-3,
150 unity-plugin-scopes | unity-scopes-impl,
150 unity-plugin-scopes | unity-scopes-impl,
151− unity-scopes-impl-11,
151+ unity-scopes-impl-12,
152 unity8-fake-env | unity-application-impl,
152 unity8-fake-env | unity-application-impl,
153 ${misc:Depends},
153 ${misc:Depends},
154Breaks: unity8 (<< 7.86),
154Breaks: unity8 (<< 7.86),
@@ -191,7 +191,7 @@ Pre-Depends: ${misc:Pre-Depends},
191Depends: ${misc:Depends},
191Depends: ${misc:Depends},
192 ${shlibs:Depends},
192 ${shlibs:Depends},
193Provides: unity-application-impl,
193Provides: unity-application-impl,
194− unity-application-impl-15,
194+ unity-application-impl-16,
195Replaces: unity8-autopilot (<< 8.02+15.04.20150422-0ubuntu1)
195Replaces: unity8-autopilot (<< 8.02+15.04.20150422-0ubuntu1)
196Description: Fake environment for running Unity 8 shell
196Description: Fake environment for running Unity 8 shell
197 Provides fake implementations of some QML modules used by Unity 8 shell
197 Provides fake implementations of some QML modules used by Unity 8 shell
debian/unity8-private.install+1−1
@@ -8,7 +8,7 @@ usr/lib/*/unity8/qml/Greeter
8usr/lib/*/unity8/qml/LightDM
8usr/lib/*/unity8/qml/LightDM
9usr/lib/*/unity8/qml/Lights
9usr/lib/*/unity8/qml/Lights
10usr/lib/*/unity8/qml/Powerd
10usr/lib/*/unity8/qml/Powerd
11−usr/lib/*/unity8/qml/ScreenGrabber
11+usr/lib/*/unity8/qml/ScreenshotDirectory
12usr/lib/*/unity8/qml/SessionBroadcast
12usr/lib/*/unity8/qml/SessionBroadcast
13usr/lib/*/unity8/qml/Ubuntu
13usr/lib/*/unity8/qml/Ubuntu
14usr/lib/*/unity8/qml/Unity
14usr/lib/*/unity8/qml/Unity
plugins/CMakeLists.txt+1−1
@@ -19,8 +19,8 @@ add_subdirectory(LightDM)
19add_subdirectory(Lights)
19add_subdirectory(Lights)
20add_subdirectory(Dash)
20add_subdirectory(Dash)
21add_subdirectory(Powerd)
21add_subdirectory(Powerd)
22+add_subdirectory(ScreenshotDirectory)
22add_subdirectory(SessionBroadcast)
23add_subdirectory(SessionBroadcast)
23−add_subdirectory(ScreenGrabber)
24add_subdirectory(Ubuntu)
24add_subdirectory(Ubuntu)
25add_subdirectory(UInput)
25add_subdirectory(UInput)
26add_subdirectory(Unity)
26add_subdirectory(Unity)
plugins/Dash/CardCreator.js+44−1
@@ -351,6 +351,17 @@ var kAttributesRowCode = 'CardAttributes { \n\
351 model: cardData && cardData["attributes"]; \n\
351 model: cardData && cardData["attributes"]; \n\
352 }\n';
352 }\n';
353
353
354+// %1 is used as anchors of socialActionsRow
355+// %2 is used as color of socialActionsRow
356+var kSocialActionsRowCode = 'CardSocialActions { \n\
357+ id: socialActionsRow; \n\
358+ objectName: "socialActionsRow"; \n\
359+ anchors { %1 } \n\
360+ color: %2; \n\
361+ model: cardData && cardData["socialActions"]; \n\
362+ onClicked: root.action(actionId); \n\
363+ }\n';
364+
354// %1 is used as top anchor of summary
365// %1 is used as top anchor of summary
355// %2 is used as topMargin anchor of summary
366// %2 is used as topMargin anchor of summary
356// %3 is used as color of summary
367// %3 is used as color of summary
@@ -437,9 +448,11 @@ function cardString(template, components, isCardTool) {
437 var hasSubtitle = hasTitle && components["subtitle"] || false;
448 var hasSubtitle = hasTitle && components["subtitle"] || false;
438 var hasHeaderRow = hasMascot && hasTitle;
449 var hasHeaderRow = hasMascot && hasTitle;
439 var hasAttributes = hasTitle && components["attributes"] && components["attributes"]["field"] || false;
450 var hasAttributes = hasTitle && components["attributes"] && components["attributes"]["field"] || false;
451+ var hasSocialActions = hasTitle && components["social-actions"] || false;
440 var isAudio = template["quick-preview-type"] === "audio";
452 var isAudio = template["quick-preview-type"] === "audio";
441 var asynchronous = isCardTool ? "false" : "true";
453 var asynchronous = isCardTool ? "false" : "true";
442
454
455+ code += 'signal action(var actionId);\n';
443 if (isAudio) {
456 if (isAudio) {
444 // For now we only support audio cards with [optional] art, title, subtitle
457 // For now we only support audio cards with [optional] art, title, subtitle
445 // in horizontal mode
458 // in horizontal mode
@@ -841,6 +854,34 @@ function cardString(template, components, isCardTool) {
841 code += kSummaryLabelCode.arg(summaryTopAnchor).arg(summaryTopMargin).arg(summaryColor);
854 code += kSummaryLabelCode.arg(summaryTopAnchor).arg(summaryTopMargin).arg(summaryColor);
842 }
855 }
843
856
857+ if (hasSocialActions) {
858+ var socialAnchors;
859+ var socialTopAnchor;
860+
861+ if (hasSummary) socialTopAnchor = 'summary.bottom;';
862+ else if (isHorizontal && hasArt) socialTopAnchor = 'artShapeHolder.bottom;';
863+ else if (headerAsOverlay && hasArt) socialTopAnchor = 'artShapeHolder.bottom;';
864+ else if (hasHeaderRow) socialTopAnchor = 'row.bottom;';
865+ else if (hasTitleContainer) socialTopAnchor = 'headerTitleContainer.bottom;';
866+ else if (hasMascot) socialTopAnchor = 'mascotImage.bottom;';
867+ else if (hasAttributes) socialTopAnchor = 'attributesRow.bottom;';
868+ else if (hasSubtitle) socialTopAnchor = 'subtitleLabel.bottom;';
869+ else if (hasTitle) socialTopAnchor = 'titleLabel.bottom;';
870+ else if (hasArt) socialTopAnchor = 'artShapeHolder.bottom;';
871+ else socialTopAnchor = 'parent.top';
872+
873+ socialAnchors = 'top: ' + socialTopAnchor + ' left: parent.left; right: parent.right; topMargin: units.gu(1);'
874+
875+ var socialColor;
876+ if (hasBackground) {
877+ socialColor = summaryColorWithBackground;
878+ } else {
879+ socialColor = 'root.scopeStyle ? root.scopeStyle.foreground : theme.palette.normal.baseText';
880+ }
881+
882+ code += kSocialActionsRowCode.arg(socialAnchors).arg(socialColor);
883+ }
884+
844 var touchdownAnchors;
885 var touchdownAnchors;
845 if (hasBackground) {
886 if (hasBackground) {
846 touchdownAnchors = 'fill: backgroundLoader';
887 touchdownAnchors = 'fill: backgroundLoader';
@@ -852,7 +893,9 @@ function cardString(template, components, isCardTool) {
852 code += kTouchdownCode.arg(touchdownAnchors);
893 code += kTouchdownCode.arg(touchdownAnchors);
853
894
854 var implicitHeight = 'implicitHeight: ';
895 var implicitHeight = 'implicitHeight: ';
896+ if (hasSocialActions) {
897+ implicitHeight += 'socialActionsRow.y + socialActionsRow.height + units.gu(1);\n';
855− if (hasSummary) {
898+ } else if (hasSummary) {
856 implicitHeight += 'summary.y + summary.height + units.gu(1);\n';
899 implicitHeight += 'summary.y + summary.height + units.gu(1);\n';
857 } else if (isAudio) {
900 } else if (isAudio) {
858 implicitHeight += 'audioButton.height;\n';
901 implicitHeight += 'audioButton.height;\n';
plugins/Dash/CardSocialActions.qmlnew file+94
@@ -0,0 +1,94 @@
1+/*
2+ * Copyright 2016 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.4
18+import QtQuick.Layouts 1.1
19+import Ubuntu.Components 1.3
20+
21+Column {
22+ id: socialActions
23+ spacing: units.gu(0.5)
24+
25+ property alias model: repeater.model
26+ property color color: theme.palette.normal.baseText
27+
28+ signal clicked(var actionId)
29+
30+ Rectangle {
31+ id: divider
32+ visible: repeater.count > 0
33+ anchors {
34+ left: parent.left;
35+ right: parent.right;
36+ leftMargin:units.dp(1);
37+ rightMargin: units.dp(1);
38+ }
39+ color: Qt.darker(theme.palette.normal.background, 1.12)
40+ height: visible ? units.dp(1) : 0
41+ }
42+
43+ Row {
44+ id: row
45+ anchors {
46+ left: parent.left
47+ right: parent.right
48+ leftMargin: units.gu(1)
49+ rightMargin: units.gu(1)
50+ }
51+ spacing: units.gu(2)
52+ readonly property int visibleItems: {
53+ if (width <= units.gu(12)) // small card
54+ return 2;
55+ else if (width <= units.gu(21)) // medium card
56+ return 3;
57+ else // large or horizontal card
58+ return 4;
59+ }
60+
61+ Repeater {
62+ id: repeater
63+ delegate: Loader {
64+ height: units.gu(2)
65+ active: index < row.visibleItems
66+ sourceComponent: AbstractButton {
67+ objectName: "delegate" + index
68+ height: units.gu(2)
69+ width: icon.width
70+ Icon {
71+ id: icon
72+ objectName: "icon"
73+
74+ readonly property url urlIcon: modelData && modelData["icon"] || ""
75+ readonly property url urlTemporaryIcon: "temporaryIcon" in modelData && modelData["temporaryIcon"] || ""
76+
77+ height: units.gu(2)
78+ // FIXME Workaround for bug https://bugs.launchpad.net/ubuntu/+source/ubuntu-ui-toolkit/+bug/1421293
79+ width: implicitWidth > 0 && implicitHeight > 0 ? (implicitWidth / implicitHeight * height) : implicitWidth
80+ source: urlIcon
81+ color: socialActions.color
82+
83+ onUrlIconChanged: {
84+ if (urlIcon) source = urlIcon
85+ }
86+ }
87+
88+ onClicked: socialActions.clicked(modelData["id"]);
89+ onPressedChanged: if (pressed && icon.urlTemporaryIcon != "") icon.source = icon.urlTemporaryIcon
90+ }
91+ }
92+ }
93+ }
94+}
plugins/Dash/qmldir+1
@@ -5,6 +5,7 @@ singleton CardCreatorCache 0.1 CardCreatorCache.qml
5singleton DashAudioPlayer 0.1 DashAudioPlayer.qml
5singleton DashAudioPlayer 0.1 DashAudioPlayer.qml
6ScopeStyle 0.1 ScopeStyle.qml
6ScopeStyle 0.1 ScopeStyle.qml
7CardAttributes 0.1 CardAttributes.qml
7CardAttributes 0.1 CardAttributes.qml
8+CardSocialActions 0.1 CardSocialActions.qml
8CroppedImageMinimumSourceSize 0.1 CroppedImageMinimumSourceSize.qml
9CroppedImageMinimumSourceSize 0.1 CroppedImageMinimumSourceSize.qml
9AudioProgressBar 0.1 AudioProgressBar.qml
10AudioProgressBar 0.1 AudioProgressBar.qml
10CardAudioProgress 0.1 CardAudioProgress.qml
11CardAudioProgress 0.1 CardAudioProgress.qml
plugins/ScreenGrabber/CMakeLists.txtdeleted−13
@@ -1,13 +0,0 @@
1−include_directories(
2− ${CMAKE_CURRENT_BINARY_DIR}
3−)
4−
5−set(SCREENGRABBERSOURCES
6− screengrabber.cpp
7− plugin.cpp
8−)
9−
10−add_library(ScreenGrabber-qml MODULE ${SCREENGRABBERSOURCES})
11−qt5_use_modules(ScreenGrabber-qml Qml Gui Quick Concurrent)
12−
13−add_unity8_plugin(ScreenGrabber 0.1 ScreenGrabber TARGETS ScreenGrabber-qml)
plugins/ScreenGrabber/qmldirdeleted−3
@@ -1,3 +0,0 @@
1−module ScreenGrabber
2−plugin ScreenGrabber-qml
3−typeinfo ScreenGrabber.qmltypes
plugins/ScreenGrabber/screengrabber.cppdeleted−115
@@ -1,115 +0,0 @@
1−/*
2− * Copyright (C) 2014-2015 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−#include "screengrabber.h"
18−
19−#include <QDir>
20−#include <QDateTime>
21−#include <QStandardPaths>
22−#include <QTemporaryDir>
23−#include <QtGui/QImage>
24−#include <QtGui/QGuiApplication>
25−#include <QtQuick/QQuickWindow>
26−
27−#include <QDebug>
28−
29−QString saveScreenshot(const QImage &screenshot, const QString &filename, const QString &format, int quality)
30−{
31− if (screenshot.save(filename, format.toLatin1().data(), quality)) {
32− return filename;
33− } else {
34− qWarning() << "ScreenGrabber: failed to save snapshot!";
35− }
36− return QString();
37−}
38−
39−ScreenGrabber::ScreenGrabber(QObject *parent)
40− : QObject(parent)
41−{
42− QObject::connect(&m_watcher,
43− &QFutureWatcher<QString>::finished,
44− this,
45− &ScreenGrabber::onScreenshotSaved);
46−
47− QDir screenshotsDir;
48− if (qEnvironmentVariableIsSet("UNITY_TESTING")) {
49− QTemporaryDir tDir;
50− tDir.setAutoRemove(false);
51− screenshotsDir = tDir.path();
52− } else {
53− screenshotsDir = QStandardPaths::writableLocation(QStandardPaths::PicturesLocation);
54− }
55− screenshotsDir.mkpath(QStringLiteral("Screenshots"));
56− screenshotsDir.cd(QStringLiteral("Screenshots"));
57− if (screenshotsDir.exists()) {
58− fileNamePrefix = screenshotsDir.absolutePath();
59− fileNamePrefix.append("/screenshot");
60− } else {
61− qWarning() << "ScreenGrabber: failed to create directory at: " << screenshotsDir.absolutePath();
62− }
63−}
64−
65−void ScreenGrabber::captureAndSave(int angle)
66−{
67− if (fileNamePrefix.isEmpty())
68− {
69− qWarning() << "ScreenShotter: no directory to save screenshot";
70− return;
71− }
72−
73− const QWindowList windows = QGuiApplication::topLevelWindows();
74− if (windows.empty())
75− {
76− qWarning() << "ScreenShotter: no top level windows found!";
77− return;
78− }
79−
80− QQuickWindow *main_window = qobject_cast<QQuickWindow *>(windows[0]);
81− if (!main_window)
82− {
83− qWarning() << "ScreenShotter: can only take screenshots of QQuickWindows";
84− return;
85− }
86−
87− const QImage screenshot = main_window->grabWindow().transformed(QTransform().rotate(angle));
88− const QString filename = makeFileName();
89− qDebug() << "Saving screenshot to" << filename;
90− QFuture<QString> saveFuture(QtConcurrent::run(saveScreenshot, screenshot, filename, getFormat(), screenshotQuality));
91− m_watcher.setFuture(saveFuture);
92−}
93−
94−void ScreenGrabber::onScreenshotSaved()
95−{
96− const QString filename = m_watcher.future().result();
97− if (!filename.isEmpty()) {
98− Q_EMIT screenshotSaved(filename);
99− }
100−}
101−
102−QString ScreenGrabber::makeFileName() const
103−{
104− QString fileName(fileNamePrefix);
105− fileName.append(QDateTime::currentDateTime().toString(QStringLiteral("yyyyMMdd_hhmmsszzz")));
106− fileName.append(".");
107− fileName.append(getFormat());
108− return fileName;
109−}
110−
111−QString ScreenGrabber::getFormat() const
112−{
113− //TODO: This should be configurable (perhaps through gsettings?)
114− return QStringLiteral("png");
115−}
plugins/ScreenGrabber/screengrabber.hdeleted−49
@@ -1,49 +0,0 @@
1−/*
2− * Copyright (C) 2014-2015 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−#ifndef SNAPSHOTTER_H
18−#define SNAPSHOTTER_H
19−
20−#include <QObject>
21−#include <QString>
22−#include <QtConcurrent>
23−
24−class ScreenGrabber: public QObject
25−{
26− Q_OBJECT
27−
28−public:
29− explicit ScreenGrabber(QObject *parent = 0);
30− ~ScreenGrabber() = default;
31−
32−public Q_SLOTS:
33− void captureAndSave(int angle = 0);
34−
35−Q_SIGNALS:
36− void screenshotSaved(const QString &filename);
37−
38−private Q_SLOTS:
39− void onScreenshotSaved();
40−
41−private:
42− QString makeFileName() const;
43− QString getFormat() const;
44− QString fileNamePrefix;
45− int screenshotQuality = -1; // default quality for the format
46− QFutureWatcher<QString> m_watcher;
47−};
48−
49−#endif
plugins/ScreenshotDirectory/CMakeLists.txtnew file+9
@@ -0,0 +1,9 @@
1+set(PLUGIN_SOURCES
2+ ScreenshotDirectory.cpp
3+ plugin.cpp
4+)
5+
6+add_library(ScreenshotDirectory-qml MODULE ${PLUGIN_SOURCES})
7+qt5_use_modules(ScreenshotDirectory-qml Qml Gui Quick)
8+
9+add_unity8_plugin(ScreenshotDirectory 0.1 ScreenshotDirectory TARGETS ScreenshotDirectory-qml)
plugins/ScreenGrabber/ScreenGrabber.qmltypes → plugins/ScreenshotDirectory/ScreenGrabber.qmltypesrenamed

The content is the same.

plugins/ScreenshotDirectory/ScreenshotDirectory.cppnew file+64
@@ -0,0 +1,64 @@
1+/*
2+ * Copyright (C) 2014-2016 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+#include "ScreenshotDirectory.h"
18+
19+#include <QDir>
20+#include <QDateTime>
21+#include <QStandardPaths>
22+#include <QTemporaryDir>
23+
24+#include <QDebug>
25+
26+ScreenshotDirectory::ScreenshotDirectory(QObject *parent)
27+ : QObject(parent)
28+{
29+ QDir screenshotsDir;
30+ if (qEnvironmentVariableIsSet("UNITY_TESTING")) {
31+ QTemporaryDir tDir;
32+ tDir.setAutoRemove(false);
33+ screenshotsDir = tDir.path();
34+ } else {
35+ screenshotsDir = QStandardPaths::writableLocation(QStandardPaths::PicturesLocation);
36+ }
37+ screenshotsDir.mkpath(QStringLiteral("Screenshots"));
38+ screenshotsDir.cd(QStringLiteral("Screenshots"));
39+ if (screenshotsDir.exists()) {
40+ m_fileNamePrefix = screenshotsDir.absolutePath();
41+ m_fileNamePrefix.append("/screenshot");
42+ } else {
43+ qWarning() << "ScreenshotDirectory: failed to create directory at:" << screenshotsDir.absolutePath();
44+ }
45+}
46+
47+QString ScreenshotDirectory::makeFileName() const
48+{
49+ if (m_fileNamePrefix.isEmpty()) {
50+ return QString();
51+ }
52+
53+ QString fileName(m_fileNamePrefix);
54+ fileName.append(QDateTime::currentDateTime().toString(QStringLiteral("yyyyMMdd_hhmmsszzz")));
55+ fileName.append(".");
56+ fileName.append(format());
57+ return fileName;
58+}
59+
60+QString ScreenshotDirectory::format() const
61+{
62+ //TODO: This should be configurable (perhaps through gsettings?)
63+ return QStringLiteral("png");
64+}
plugins/Utils/windowscreenshotprovider.h → plugins/ScreenshotDirectory/ScreenshotDirectory.hrenamed+17−9
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2015 Canonical, Ltd.
2+ * Copyright (C) 2014-2016 Canonical, Ltd.
3 *
3 *
4 * This program is free software; you can redistribute it and/or modify
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
5 * it under the terms of the GNU General Public License as published by
@@ -14,18 +14,26 @@
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
15 */
16
16
17−#ifndef WINDOW_SCREENSHOT_PROVIDER_H_
17+#ifndef SCREENSHOTDIRECTORY_H
18−#define WINDOW_SCREENSHOT_PROVIDER_H_
18+#define SCREENSHOTDIRECTORY_H
19
19
20−#include <QQuickImageProvider>
20+#include <QObject>
21+#include <QString>
21
22
22−class WindowScreenshotProvider : public QQuickImageProvider
23+class ScreenshotDirectory: public QObject
23{
24{
25+ Q_OBJECT
26+
24public:
27public:
25− WindowScreenshotProvider();
28+ explicit ScreenshotDirectory(QObject *parent = 0);
29+ ~ScreenshotDirectory() = default;
30+
31+public Q_SLOTS:
32+ QString makeFileName() const;
26
33
27− // id is ignored for now
34+private:
28− QImage requestImage(const QString &id, QSize *size, const QSize &requestedSize) override;
35+ QString format() const;
36+ QString m_fileNamePrefix;
29};
37};
30
38
31−#endif // WINDOW_SCREENSHOT_PROVIDER_H_
39+#endif // SCREENSHOTDIRECTORY_H
plugins/ScreenGrabber/plugin.cpp → plugins/ScreenshotDirectory/plugin.cpprenamed+5−7
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2014 Canonical, Ltd.
2+ * Copyright (C) 2014,2016 Canonical, Ltd.
3 *
3 *
4 * This program is free software; you can redistribute it and/or modify
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
5 * it under the terms of the GNU General Public License as published by
@@ -12,17 +12,15 @@
12 *
12 *
13 * You should have received a copy of the GNU General Public License
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/>.
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− *
16− * Authors: Alberto Aguirre <alberto.aguirre@canonical.com>
17 */
15 */
18
16
19#include "plugin.h"
17#include "plugin.h"
20−#include "screengrabber.h"
18+#include "ScreenshotDirectory.h"
21
19
22#include <QtQml/qqml.h>
20#include <QtQml/qqml.h>
23
21
24−void ScreenGrabberPlugin::registerTypes(const char *uri)
22+void ScreenshotDirectoryPlugin::registerTypes(const char *uri)
25{
23{
26− Q_ASSERT(uri == QLatin1String("ScreenGrabber"));
24+ Q_ASSERT(uri == QLatin1String("ScreenshotDirectory"));
27− qmlRegisterType<ScreenGrabber>(uri, 0, 1, "ScreenGrabber");
25+ qmlRegisterType<ScreenshotDirectory>(uri, 0, 1, "ScreenshotDirectory");
28}
26}
plugins/ScreenGrabber/plugin.h → plugins/ScreenshotDirectory/plugin.hrenamed+5−7
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2014 Canonical, Ltd.
2+ * Copyright (C) 2014,2016 Canonical, Ltd.
3 *
3 *
4 * This program is free software; you can redistribute it and/or modify
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
5 * it under the terms of the GNU General Public License as published by
@@ -12,16 +12,14 @@
12 *
12 *
13 * You should have received a copy of the GNU General Public License
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/>.
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− *
16− * Authors: Alberto Aguirre <alberto.aguirre@canonical.com>
17 */
15 */
18
16
19−#ifndef SCREENGRABBER_PLUGIN_H
17+#ifndef SCREENSHOTDIRECTORY_PLUGIN_H
20−#define SCREENGRABBER_PLUGIN_H
18+#define SCREENSHOTDIRECTORY_PLUGIN_H
21
19
22#include <QtQml/QQmlExtensionPlugin>
20#include <QtQml/QQmlExtensionPlugin>
23
21
24−class ScreenGrabberPlugin : public QQmlExtensionPlugin
22+class ScreenshotDirectoryPlugin : public QQmlExtensionPlugin
25{
23{
26 Q_OBJECT
24 Q_OBJECT
27 Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
25 Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
@@ -30,4 +28,4 @@ public:
30 void registerTypes(const char *uri) override;
28 void registerTypes(const char *uri) override;
31};
29};
32
30
33−#endif // SCREENGRABBER_PLUGIN_H
31+#endif // SCREENSHOTDIRECTORY_PLUGIN_H
plugins/ScreenshotDirectory/qmldirnew file+2
@@ -0,0 +1,2 @@
1+module ScreenshotDirectory
2+plugin ScreenshotDirectory-qml
plugins/Utils/CMakeLists.txt−1
@@ -18,7 +18,6 @@ set(QMLPLUGIN_SRC
18 Timer.cpp
18 Timer.cpp
19 unitymenumodelpaths.cpp
19 unitymenumodelpaths.cpp
20 windowinputfilter.cpp
20 windowinputfilter.cpp
21− windowscreenshotprovider.cpp
22 easingcurve.cpp
21 easingcurve.cpp
23 windowstatestorage.cpp
22 windowstatestorage.cpp
24 timezoneFormatter.cpp
23 timezoneFormatter.cpp
plugins/Utils/plugin.cpp−8
@@ -31,7 +31,6 @@
31#include "unitysortfilterproxymodelqml.h"
31#include "unitysortfilterproxymodelqml.h"
32#include "unitymenumodelpaths.h"
32#include "unitymenumodelpaths.h"
33#include "windowinputfilter.h"
33#include "windowinputfilter.h"
34−#include "windowscreenshotprovider.h"
35#include "windowstatestorage.h"
34#include "windowstatestorage.h"
36#include "constants.h"
35#include "constants.h"
37#include "timezoneFormatter.h"
36#include "timezoneFormatter.h"
@@ -82,10 +81,3 @@ void UtilsPlugin::registerTypes(const char *uri)
82 qmlRegisterType<DeviceConfigParser>(uri, 0, 1, "DeviceConfigParser");
81 qmlRegisterType<DeviceConfigParser>(uri, 0, 1, "DeviceConfigParser");
83 qmlRegisterSingletonType<GlobalFunctions>(uri, 0, 1, "Functions", createGlobalFunctions);
82 qmlRegisterSingletonType<GlobalFunctions>(uri, 0, 1, "Functions", createGlobalFunctions);
84}
83}
85−
86−void UtilsPlugin::initializeEngine(QQmlEngine *engine, const char *uri)
87−{
88− QQmlExtensionPlugin::initializeEngine(engine, uri);
89−
90− engine->addImageProvider(QStringLiteral("window"), new WindowScreenshotProvider);
91−}
plugins/Utils/plugin.h−1
@@ -29,7 +29,6 @@ class UtilsPlugin : public QQmlExtensionPlugin
29
29
30public:
30public:
31 void registerTypes(const char *uri) override;
31 void registerTypes(const char *uri) override;
32− void initializeEngine(QQmlEngine *engine, const char *uri) override;
33};
32};
34
33
35#endif
34#endif
plugins/Utils/windowscreenshotprovider.cppdeleted−59
@@ -1,59 +0,0 @@
1−/*
2− * Copyright (C) 2015 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−#include "windowscreenshotprovider.h"
18−
19−#include <QGuiApplication>
20−#include <QQuickWindow>
21−
22−WindowScreenshotProvider::WindowScreenshotProvider()
23− : QQuickImageProvider(QQmlImageProviderBase::Image, 0)
24−{
25−}
26−
27−// A very simple implementation where we assume that there's only one window and that it's a
28−// QQuickWindow. Thus the id parameter is irrelevant.
29−//
30−// Idea: Make the id contain the objectName of the QQuickWindow once we care about a multi-display
31−// compositor?
32−// Strictly speaking that could be the actual QWindow::winId(), but that's mostly a
33−// meaningless arbitrary number.
34−QImage WindowScreenshotProvider::requestImage(const QString &id, QSize *size, const QSize &requestedSize)
35−{
36− Q_UNUSED(id);
37− Q_UNUSED(requestedSize);
38−
39− QWindowList windows = QGuiApplication::topLevelWindows();
40−
41− if (windows.count() != 1) {
42− size->rwidth() = 0;
43− size->rheight() = 0;
44− return QImage();
45− }
46−
47− QQuickWindow *quickWindow = qobject_cast<QQuickWindow *>(windows[0]);
48−
49− if (!quickWindow) {
50− size->rwidth() = 0;
51− size->rheight() = 0;
52− return QImage();
53− }
54−
55− QImage image = quickWindow->grabWindow();
56− size->rwidth() = image.width();
57− size->rheight() = image.height();
58− return image;
59−}
po/aa.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2016-02-12 10:18+0000\n"
11"PO-Revision-Date: 2016-02-12 10:18+0000\n"
12"Last-Translator: Charif AYFARAH <ayfarah@ymail.com>\n"
12"Last-Translator: Charif AYFARAH <ayfarah@ymail.com>\n"
13"Language-Team: Afar <aa@li.org>\n"
13"Language-Team: Afar <aa@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -186,15 +186,15 @@ msgstr ""
186msgid "Reset"
186msgid "Reset"
187msgstr ""
187msgstr ""
188
188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190msgid "Show less"
190msgid "Show less"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194msgid "Show all"
194msgid "Show all"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198msgctxt "Label: Hint for dash search line edit"
198msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
199msgid "Search"
200msgstr "Goranto"
200msgstr "Goranto"
@@ -256,7 +256,7 @@ msgstr "Dabqi"
256msgid "Also installed"
256msgid "Also installed"
257msgstr ""
257msgstr ""
258
258
259−#: qml/DisabledScreenNotice.qml:104
259+#: qml/DisabledScreenNotice.qml:109
260msgid ""
260msgid ""
261"Your device is now connected to an external display. Use this screen as a "
261"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
262"touch pad to interact with the pointer."
po/am.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2016-03-24 19:07+0000\n"
11"PO-Revision-Date: 2016-03-24 19:07+0000\n"
12"Last-Translator: samson <Unknown>\n"
12"Last-Translator: samson <Unknown>\n"
13"Language-Team: Amharic <am@li.org>\n"
13"Language-Team: Amharic <am@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -188,15 +188,15 @@ msgstr "የ እርስዎን ውጤቶች እንደገና ማጣሪያ"
188msgid "Reset"
188msgid "Reset"
189msgstr "እንደ ነበረ መመለሻ"
189msgstr "እንደ ነበረ መመለሻ"
190
190
191−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
191+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
192msgid "Show less"
192msgid "Show less"
193msgstr ""
193msgstr ""
194
194
195−#: qml/Dash/GenericScopeView.qml:570
195+#: qml/Dash/GenericScopeView.qml:579
196msgid "Show all"
196msgid "Show all"
197msgstr ""
197msgstr ""
198
198
199−#: qml/Dash/GenericScopeView.qml:627
199+#: qml/Dash/GenericScopeView.qml:636
200msgctxt "Label: Hint for dash search line edit"
200msgctxt "Label: Hint for dash search line edit"
201msgid "Search"
201msgid "Search"
202msgstr "መፈለጊያ"
202msgstr "መፈለጊያ"
@@ -258,7 +258,7 @@ msgstr "ቤት"
258msgid "Also installed"
258msgid "Also installed"
259msgstr "እንዲሁም የተገጠሙ"
259msgstr "እንዲሁም የተገጠሙ"
260
260
261−#: qml/DisabledScreenNotice.qml:104
261+#: qml/DisabledScreenNotice.qml:109
262msgid ""
262msgid ""
263"Your device is now connected to an external display. Use this screen as a "
263"Your device is now connected to an external display. Use this screen as a "
264"touch pad to interact with the pointer."
264"touch pad to interact with the pointer."
po/ar.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-07-29 09:41+0000\n"
11"PO-Revision-Date: 2015-07-29 09:41+0000\n"
12"Last-Translator: Ibrahim Saed <ibraheem5000@gmail.com>\n"
12"Last-Translator: Ibrahim Saed <ibraheem5000@gmail.com>\n"
13"Language-Team: Arabic <ar@li.org>\n"
13"Language-Team: Arabic <ar@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= "
17"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= "
18"3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n"
18"3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n"
19−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
19+"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
20−"X-Generator: Launchpad (build 17995)\n"
20+"X-Generator: Launchpad (build 18053)\n"
21
21
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
@@ -195,15 +195,15 @@ msgstr ""
195msgid "Reset"
195msgid "Reset"
196msgstr ""
196msgstr ""
197
197
198−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
198+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
199msgid "Show less"
199msgid "Show less"
200msgstr ""
200msgstr ""
201
201
202−#: qml/Dash/GenericScopeView.qml:570
202+#: qml/Dash/GenericScopeView.qml:579
203msgid "Show all"
203msgid "Show all"
204msgstr ""
204msgstr ""
205
205
206−#: qml/Dash/GenericScopeView.qml:627
206+#: qml/Dash/GenericScopeView.qml:636
207msgctxt "Label: Hint for dash search line edit"
207msgctxt "Label: Hint for dash search line edit"
208msgid "Search"
208msgid "Search"
209msgstr "بحث"
209msgstr "بحث"
@@ -265,7 +265,7 @@ msgstr "الرئيسية"
265msgid "Also installed"
265msgid "Also installed"
266msgstr "أيضا تم تثبيت"
266msgstr "أيضا تم تثبيت"
267
267
268−#: qml/DisabledScreenNotice.qml:104
268+#: qml/DisabledScreenNotice.qml:109
269msgid ""
269msgid ""
270"Your device is now connected to an external display. Use this screen as a "
270"Your device is now connected to an external display. Use this screen as a "
271"touch pad to interact with the pointer."
271"touch pad to interact with the pointer."
po/ast.po+44−36
@@ -7,16 +7,16 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11−"PO-Revision-Date: 2016-04-17 16:57+0000\n"
11+"PO-Revision-Date: 2016-05-16 14:07+0000\n"
12"Last-Translator: Xuacu Saturio <xuacusk8@gmail.com>\n"
12"Last-Translator: Xuacu Saturio <xuacusk8@gmail.com>\n"
13"Language-Team: Asturian <ast@li.org>\n"
13"Language-Team: Asturian <ast@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -140,7 +140,7 @@ msgstr "Apps que pueden tener datos sin guardar:"
140msgctxt ""
140msgctxt ""
141"Re-dock means connect the device again to an external screen/mouse/keyboard"
141"Re-dock means connect the device again to an external screen/mouse/keyboard"
142msgid "Re-dock, save your work and close these apps to continue."
142msgid "Re-dock, save your work and close these apps to continue."
143−msgstr ""
143+msgstr "Reconeuta, guarda'l trabayu y zarra eses apps pa siguir."
144
144
145#: qml/Components/ModeSwitchWarningDialog.qml:63
145#: qml/Components/ModeSwitchWarningDialog.qml:63
146msgid "Or force close now (unsaved data will be lost)."
146msgid "Or force close now (unsaved data will be lost)."
@@ -183,28 +183,28 @@ msgstr "Amestar a favoritos"
183
183
184#: qml/Dash/FiltersPopover.qml:60
184#: qml/Dash/FiltersPopover.qml:60
185msgid "Refine your results"
185msgid "Refine your results"
186−msgstr ""
186+msgstr "Refina los resultaos"
187
187
188#: qml/Dash/FiltersPopover.qml:69
188#: qml/Dash/FiltersPopover.qml:69
189msgid "Reset"
189msgid "Reset"
190msgstr "Reafitar"
190msgstr "Reafitar"
191
191
192−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
192+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
193msgid "Show less"
193msgid "Show less"
194−msgstr ""
194+msgstr "Ver menos"
195
195
196−#: qml/Dash/GenericScopeView.qml:570
196+#: qml/Dash/GenericScopeView.qml:579
197msgid "Show all"
197msgid "Show all"
198−msgstr ""
198+msgstr "Ver too"
199
199
200−#: qml/Dash/GenericScopeView.qml:627
200+#: qml/Dash/GenericScopeView.qml:636
201msgctxt "Label: Hint for dash search line edit"
201msgctxt "Label: Hint for dash search line edit"
202msgid "Search"
202msgid "Search"
203msgstr "Guetar"
203msgstr "Guetar"
204
204
205#: qml/Dash/PageHeaderExtraPanel.qml:55
205#: qml/Dash/PageHeaderExtraPanel.qml:55
206msgid "Recent Searches"
206msgid "Recent Searches"
207−msgstr ""
207+msgstr "Guetes recién"
208
208
209#: qml/Dash/PageHeaderExtraPanel.qml:66
209#: qml/Dash/PageHeaderExtraPanel.qml:66
210msgid "Clear All"
210msgid "Clear All"
@@ -259,11 +259,13 @@ msgstr "Aniciu"
259msgid "Also installed"
259msgid "Also installed"
260msgstr "Tamién instalaos"
260msgstr "Tamién instalaos"
261
261
262−#: qml/DisabledScreenNotice.qml:104
262+#: qml/DisabledScreenNotice.qml:109
263msgid ""
263msgid ""
264"Your device is now connected to an external display. Use this screen as a "
264"Your device is now connected to an external display. Use this screen as a "
265"touch pad to interact with the pointer."
265"touch pad to interact with the pointer."
266msgstr ""
266msgstr ""
267+"El preséu agora ta coneutáu con una pantalla esterna. Usa esta pantalla como "
268+"touch pad pa interactuar col punteru."
267
269
268#: qml/Greeter/CoverPage.qml:118
270#: qml/Greeter/CoverPage.qml:118
269msgid "Unlock"
271msgid "Unlock"
@@ -425,51 +427,53 @@ msgstr "Devolver llamada"
425
427
426#: qml/Stages/SideStage.qml:76
428#: qml/Stages/SideStage.qml:76
427msgid "Drag using 3 fingers any application from one window to the other"
429msgid "Drag using 3 fingers any application from one window to the other"
428−msgstr ""
430+msgstr "Abasnar cualquier aplicación d'una ventana a otra usando 3 deos"
429
431
430#: qml/Tutorial/TutorialBottom.qml:78
432#: qml/Tutorial/TutorialBottom.qml:78
431msgid "Swipe up to add a contact"
433msgid "Swipe up to add a contact"
432−msgstr ""
434+msgstr "Eslizar p'amestar un contactu"
433
435
434#: qml/Tutorial/TutorialBottom.qml:80
436#: qml/Tutorial/TutorialBottom.qml:80
435msgid "Swipe up for favorite calculations"
437msgid "Swipe up for favorite calculations"
436−msgstr ""
438+msgstr "Eslizar pa los cálculos favoritos"
437
439
438#: qml/Tutorial/TutorialBottom.qml:82
440#: qml/Tutorial/TutorialBottom.qml:82
439msgid "Swipe up for recent calls"
441msgid "Swipe up for recent calls"
440−msgstr ""
442+msgstr "Eslizar pa llamaes recién"
441
443
442#: qml/Tutorial/TutorialBottom.qml:84
444#: qml/Tutorial/TutorialBottom.qml:84
443msgid "Swipe up to create a message"
445msgid "Swipe up to create a message"
444−msgstr ""
446+msgstr "Eslizar pa crear un mensaxe"
445
447
446#: qml/Tutorial/TutorialBottom.qml:85
448#: qml/Tutorial/TutorialBottom.qml:85
447msgid "Swipe up to manage the app"
449msgid "Swipe up to manage the app"
448−msgstr ""
450+msgstr "Eslizar p'alministrar la app"
449
451
450#: qml/Tutorial/TutorialLeftLong.qml:47
452#: qml/Tutorial/TutorialLeftLong.qml:47
451msgid "Long swipe from the left edge to open the Today scope"
453msgid "Long swipe from the left edge to open the Today scope"
452−msgstr ""
454+msgstr "Eslizamientu llargu dende'l berbesu izquierdu pa ver el scope Güei"
453
455
454#: qml/Tutorial/TutorialLeft.qml:47
456#: qml/Tutorial/TutorialLeft.qml:47
455msgid "Swipe from the left edge to open the launcher"
457msgid "Swipe from the left edge to open the launcher"
456−msgstr ""
458+msgstr "Eslizar dende'l berbesu izquierdu p'abrir el llanzador"
457
459
458#: qml/Tutorial/TutorialRight.qml:55
460#: qml/Tutorial/TutorialRight.qml:55
459msgid "Push your mouse against the right edge to view your open apps"
461msgid "Push your mouse against the right edge to view your open apps"
460−msgstr ""
462+msgstr "Emburria'l mur escontra'l berbesu drechu pa ver les apps abiertes"
461
463
462#: qml/Tutorial/TutorialRight.qml:56
464#: qml/Tutorial/TutorialRight.qml:56
463msgid "Short or long swipe from the right edge to view your open apps"
465msgid "Short or long swipe from the right edge to view your open apps"
464msgstr ""
466msgstr ""
467+"Eslizamientu curtiu o llargu dende'l berbesu drechu pa ver les apps abiertes"
465
468
466#: qml/Tutorial/TutorialTop.qml:53
469#: qml/Tutorial/TutorialTop.qml:53
467msgid "Swipe from the top right edge to open the notification bar"
470msgid "Swipe from the top right edge to open the notification bar"
468msgstr ""
471msgstr ""
472+"Esliza dende'l berbesu superior drechu p'abrir la barra de notificaciones"
469
473
470#: qml/Tutorial/TutorialTop.qml:54
474#: qml/Tutorial/TutorialTop.qml:54
471msgid "Swipe from the top edge to open the notification bar"
475msgid "Swipe from the top edge to open the notification bar"
472−msgstr ""
476+msgstr "Esliza dende'l berbesu superior p'abrir la barra de notificaciones"
473
477
474#: qml/Wizard/Page.qml:54
478#: qml/Wizard/Page.qml:54
475msgctxt "Button: Go back one page in the Wizard"
479msgctxt "Button: Go back one page in the Wizard"
@@ -512,35 +516,37 @@ msgstr "Saltar"
512
516
513#: qml/Wizard/Pages/40-location.qml:27
517#: qml/Wizard/Pages/40-location.qml:27
514msgid "Location Services"
518msgid "Location Services"
515−msgstr ""
519+msgstr "Servicios d'allugamientu"
516
520
517#: qml/Wizard/Pages/40-location.qml:83
521#: qml/Wizard/Pages/40-location.qml:83
518msgid ""
522msgid ""
519"Use GPS, Wi-Fi hotspots and mobile network anonymously to detect location "
523"Use GPS, Wi-Fi hotspots and mobile network anonymously to detect location "
520"(recommended)"
524"(recommended)"
521msgstr ""
525msgstr ""
526+"Usar GPS, puntos Wi-Fi y redes móviles de mou anónimu pa detectar "
527+"l'allugamientu (recomendao)"
522
528
523#: qml/Wizard/Pages/40-location.qml:105
529#: qml/Wizard/Pages/40-location.qml:105
524#, qt-format
530#, qt-format
525msgid "By selecting this option you agree to the Nokia HERE %1."
531msgid "By selecting this option you agree to the Nokia HERE %1."
526−msgstr ""
532+msgstr "Seleicionando esta opción aceutes los %1 de Nokia HERE."
527
533
528#: qml/Wizard/Pages/40-location.qml:106
534#: qml/Wizard/Pages/40-location.qml:106
529msgctxt "part of: Nokia HERE terms and conditions"
535msgctxt "part of: Nokia HERE terms and conditions"
530msgid "terms and conditions"
536msgid "terms and conditions"
531−msgstr ""
537+msgstr "términos y condiciones"
532
538
533#: qml/Wizard/Pages/40-location.qml:160
539#: qml/Wizard/Pages/40-location.qml:160
534msgid "GPS only"
540msgid "GPS only"
535−msgstr ""
541+msgstr "Sólo GPS"
536
542
537#: qml/Wizard/Pages/40-location.qml:214
543#: qml/Wizard/Pages/40-location.qml:214
538msgid "Don't use my location"
544msgid "Don't use my location"
539−msgstr ""
545+msgstr "Nun usar l'allugamientu"
540
546
541#: qml/Wizard/Pages/40-location.qml:260
547#: qml/Wizard/Pages/40-location.qml:260
542msgid "You can change it later in System Settings."
548msgid "You can change it later in System Settings."
543−msgstr ""
549+msgstr "Pues camudalo sero na Configuración del Sistema."
544
550
545#: qml/Wizard/Pages/50-timezone.qml:29
551#: qml/Wizard/Pages/50-timezone.qml:29
546msgid "Time Zone"
552msgid "Time Zone"
@@ -565,33 +571,35 @@ msgstr "Bloquiar pantalla"
565#: qml/Wizard/Pages/70-passwd-type.qml:101
571#: qml/Wizard/Pages/70-passwd-type.qml:101
566msgctxt "Label: Type of security method"
572msgctxt "Label: Type of security method"
567msgid "Create new password"
573msgid "Create new password"
568−msgstr ""
574+msgstr "Crear contraseña nueva"
569
575
570#: qml/Wizard/Pages/70-passwd-type.qml:103
576#: qml/Wizard/Pages/70-passwd-type.qml:103
571msgctxt "Label: Type of security method"
577msgctxt "Label: Type of security method"
572msgid "Create passcode (numbers only)"
578msgid "Create passcode (numbers only)"
573−msgstr ""
579+msgstr "Crear códigu d'accesu (sólo númberos)"
574
580
575#: qml/Wizard/Pages/70-passwd-type.qml:105
581#: qml/Wizard/Pages/70-passwd-type.qml:105
576msgctxt "Label: Type of security method"
582msgctxt "Label: Type of security method"
577msgid "No lock code"
583msgid "No lock code"
578−msgstr ""
584+msgstr "Ensin códigu de bloquéu"
579
585
580#: qml/Wizard/Pages/75-report-check.qml:26 qml/Wizard/Pages/here-terms.qml:108
586#: qml/Wizard/Pages/75-report-check.qml:26 qml/Wizard/Pages/here-terms.qml:108
581msgid "Privacy Policy"
587msgid "Privacy Policy"
582−msgstr ""
588+msgstr "Política d'intimidá"
583
589
584#: qml/Wizard/Pages/75-report-check.qml:26
590#: qml/Wizard/Pages/75-report-check.qml:26
585msgid "Help Us Improve"
591msgid "Help Us Improve"
586−msgstr ""
592+msgstr "Ayúdanos a meyorar"
587
593
588#: qml/Wizard/Pages/75-report-check.qml:59
594#: qml/Wizard/Pages/75-report-check.qml:59
589msgid "Improve system performance by sending us crashes and error reports."
595msgid "Improve system performance by sending us crashes and error reports."
590msgstr ""
596msgstr ""
597+"Ameyora'l rindimientu del sistema unviándonos los informes d'errores y "
598+"cuelgues."
591
599
592#: qml/Wizard/Pages/75-report-check.qml:60
600#: qml/Wizard/Pages/75-report-check.qml:60
593msgid "Privacy policy"
601msgid "Privacy policy"
594−msgstr ""
602+msgstr "Política d'intimidá"
595
603
596#: qml/Wizard/Pages/80-finished.qml:89
604#: qml/Wizard/Pages/80-finished.qml:89
597msgid "Welcome to Ubuntu"
605msgid "Welcome to Ubuntu"
@@ -599,7 +607,7 @@ msgstr "Bienveníu/a a Ubuntu"
599
607
600#: qml/Wizard/Pages/80-finished.qml:104
608#: qml/Wizard/Pages/80-finished.qml:104
601msgid "You are ready to use your device now"
609msgid "You are ready to use your device now"
602−msgstr ""
610+msgstr "Ya tas preparáu pa usar el preséu"
603
611
604#: qml/Wizard/Pages/80-finished.qml:124
612#: qml/Wizard/Pages/80-finished.qml:124
605msgid "Get Started"
613msgid "Get Started"
po/az.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2014-09-03 16:39+0000\n"
11"PO-Revision-Date: 2014-09-03 16:39+0000\n"
12"Last-Translator: Nicat Məmmədov <n1c4t97@gmail.com>\n"
12"Last-Translator: Nicat Məmmədov <n1c4t97@gmail.com>\n"
13"Language-Team: Azerbaijani <az@li.org>\n"
13"Language-Team: Azerbaijani <az@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -186,15 +186,15 @@ msgstr ""
186msgid "Reset"
186msgid "Reset"
187msgstr ""
187msgstr ""
188
188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190msgid "Show less"
190msgid "Show less"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194msgid "Show all"
194msgid "Show all"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198msgctxt "Label: Hint for dash search line edit"
198msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
199msgid "Search"
200msgstr ""
200msgstr ""
@@ -256,7 +256,7 @@ msgstr ""
256msgid "Also installed"
256msgid "Also installed"
257msgstr ""
257msgstr ""
258
258
259−#: qml/DisabledScreenNotice.qml:104
259+#: qml/DisabledScreenNotice.qml:109
260msgid ""
260msgid ""
261"Your device is now connected to an external display. Use this screen as a "
261"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
262"touch pad to interact with the pointer."
po/be.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-12-13 13:12+0000\n"
11"PO-Revision-Date: 2015-12-13 13:12+0000\n"
12"Last-Translator: Mikhail_SaTuRn <mikhail_saturn@tut.by>\n"
12"Last-Translator: Mikhail_SaTuRn <mikhail_saturn@tut.by>\n"
13"Language-Team: Belarusian <be@li.org>\n"
13"Language-Team: Belarusian <be@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
19−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
19+"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
20−"X-Generator: Launchpad (build 17995)\n"
20+"X-Generator: Launchpad (build 18053)\n"
21
21
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
@@ -193,15 +193,15 @@ msgstr ""
193msgid "Reset"
193msgid "Reset"
194msgstr ""
194msgstr ""
195
195
196−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
196+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
197msgid "Show less"
197msgid "Show less"
198msgstr ""
198msgstr ""
199
199
200−#: qml/Dash/GenericScopeView.qml:570
200+#: qml/Dash/GenericScopeView.qml:579
201msgid "Show all"
201msgid "Show all"
202msgstr ""
202msgstr ""
203
203
204−#: qml/Dash/GenericScopeView.qml:627
204+#: qml/Dash/GenericScopeView.qml:636
205msgctxt "Label: Hint for dash search line edit"
205msgctxt "Label: Hint for dash search line edit"
206msgid "Search"
206msgid "Search"
207msgstr "Пошук"
207msgstr "Пошук"
@@ -263,7 +263,7 @@ msgstr "Хатняя папка"
263msgid "Also installed"
263msgid "Also installed"
264msgstr "Таксама ўсталявана"
264msgstr "Таксама ўсталявана"
265
265
266−#: qml/DisabledScreenNotice.qml:104
266+#: qml/DisabledScreenNotice.qml:109
267msgid ""
267msgid ""
268"Your device is now connected to an external display. Use this screen as a "
268"Your device is now connected to an external display. Use this screen as a "
269"touch pad to interact with the pointer."
269"touch pad to interact with the pointer."
po/bg.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-04-12 14:43+0000\n"
11"PO-Revision-Date: 2015-04-12 14:43+0000\n"
12"Last-Translator: George Karavasilev <kokoto-java@ubuntu.com>\n"
12"Last-Translator: George Karavasilev <kokoto-java@ubuntu.com>\n"
13"Language-Team: Bulgarian <bg@li.org>\n"
13"Language-Team: Bulgarian <bg@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -188,15 +188,15 @@ msgstr ""
188msgid "Reset"
188msgid "Reset"
189msgstr ""
189msgstr ""
190
190
191−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
191+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
192msgid "Show less"
192msgid "Show less"
193msgstr ""
193msgstr ""
194
194
195−#: qml/Dash/GenericScopeView.qml:570
195+#: qml/Dash/GenericScopeView.qml:579
196msgid "Show all"
196msgid "Show all"
197msgstr ""
197msgstr ""
198
198
199−#: qml/Dash/GenericScopeView.qml:627
199+#: qml/Dash/GenericScopeView.qml:636
200msgctxt "Label: Hint for dash search line edit"
200msgctxt "Label: Hint for dash search line edit"
201msgid "Search"
201msgid "Search"
202msgstr ""
202msgstr ""
@@ -258,7 +258,7 @@ msgstr ""
258msgid "Also installed"
258msgid "Also installed"
259msgstr ""
259msgstr ""
260
260
261−#: qml/DisabledScreenNotice.qml:104
261+#: qml/DisabledScreenNotice.qml:109
262msgid ""
262msgid ""
263"Your device is now connected to an external display. Use this screen as a "
263"Your device is now connected to an external display. Use this screen as a "
264"touch pad to interact with the pointer."
264"touch pad to interact with the pointer."
po/bn.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-11-27 19:38+0000\n"
11"PO-Revision-Date: 2015-11-27 19:38+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Bengali <bn@li.org>\n"
13"Language-Team: Bengali <bn@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -188,15 +188,15 @@ msgstr ""
188msgid "Reset"
188msgid "Reset"
189msgstr ""
189msgstr ""
190
190
191−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
191+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
192msgid "Show less"
192msgid "Show less"
193msgstr ""
193msgstr ""
194
194
195−#: qml/Dash/GenericScopeView.qml:570
195+#: qml/Dash/GenericScopeView.qml:579
196msgid "Show all"
196msgid "Show all"
197msgstr ""
197msgstr ""
198
198
199−#: qml/Dash/GenericScopeView.qml:627
199+#: qml/Dash/GenericScopeView.qml:636
200msgctxt "Label: Hint for dash search line edit"
200msgctxt "Label: Hint for dash search line edit"
201msgid "Search"
201msgid "Search"
202msgstr "খুঁজুন"
202msgstr "খুঁজুন"
@@ -258,7 +258,7 @@ msgstr ""
258msgid "Also installed"
258msgid "Also installed"
259msgstr "আরও ইন্সটল করা রয়েছে..."
259msgstr "আরও ইন্সটল করা রয়েছে..."
260
260
261−#: qml/DisabledScreenNotice.qml:104
261+#: qml/DisabledScreenNotice.qml:109
262msgid ""
262msgid ""
263"Your device is now connected to an external display. Use this screen as a "
263"Your device is now connected to an external display. Use this screen as a "
264"touch pad to interact with the pointer."
264"touch pad to interact with the pointer."
po/br.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2016-04-27 12:20+0000\n"
11"PO-Revision-Date: 2016-04-27 12:20+0000\n"
12"Last-Translator: Fohanno Thierry <thierry.fohanno@ofis-bzh.org>\n"
12"Last-Translator: Fohanno Thierry <thierry.fohanno@ofis-bzh.org>\n"
13"Language-Team: Breton <br@li.org>\n"
13"Language-Team: Breton <br@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -195,15 +195,15 @@ msgstr "Purañ ho tisoc'hoù"
195msgid "Reset"
195msgid "Reset"
196msgstr "Adderaouekaat"
196msgstr "Adderaouekaat"
197
197
198−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
198+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
199msgid "Show less"
199msgid "Show less"
200msgstr ""
200msgstr ""
201
201
202−#: qml/Dash/GenericScopeView.qml:570
202+#: qml/Dash/GenericScopeView.qml:579
203msgid "Show all"
203msgid "Show all"
204msgstr ""
204msgstr ""
205
205
206−#: qml/Dash/GenericScopeView.qml:627
206+#: qml/Dash/GenericScopeView.qml:636
207msgctxt "Label: Hint for dash search line edit"
207msgctxt "Label: Hint for dash search line edit"
208msgid "Search"
208msgid "Search"
209msgstr "Klask"
209msgstr "Klask"
@@ -265,7 +265,7 @@ msgstr "Er gêr"
265msgid "Also installed"
265msgid "Also installed"
266msgstr "Staliet ivez"
266msgstr "Staliet ivez"
267
267
268−#: qml/DisabledScreenNotice.qml:104
268+#: qml/DisabledScreenNotice.qml:109
269msgid ""
269msgid ""
270"Your device is now connected to an external display. Use this screen as a "
270"Your device is now connected to an external display. Use this screen as a "
271"touch pad to interact with the pointer."
271"touch pad to interact with the pointer."
po/bs.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-12-01 20:06+0000\n"
11"PO-Revision-Date: 2015-12-01 20:06+0000\n"
12"Last-Translator: Kenan Gutić <Unknown>\n"
12"Last-Translator: Kenan Gutić <Unknown>\n"
13"Language-Team: Bosnian <bs@li.org>\n"
13"Language-Team: Bosnian <bs@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
19+"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
20−"X-Generator: Launchpad (build 17995)\n"
20+"X-Generator: Launchpad (build 18053)\n"
21
21
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
@@ -192,15 +192,15 @@ msgstr ""
192msgid "Reset"
192msgid "Reset"
193msgstr ""
193msgstr ""
194
194
195−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
195+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
196msgid "Show less"
196msgid "Show less"
197msgstr ""
197msgstr ""
198
198
199−#: qml/Dash/GenericScopeView.qml:570
199+#: qml/Dash/GenericScopeView.qml:579
200msgid "Show all"
200msgid "Show all"
201msgstr ""
201msgstr ""
202
202
203−#: qml/Dash/GenericScopeView.qml:627
203+#: qml/Dash/GenericScopeView.qml:636
204msgctxt "Label: Hint for dash search line edit"
204msgctxt "Label: Hint for dash search line edit"
205msgid "Search"
205msgid "Search"
206msgstr "Pretraži"
206msgstr "Pretraži"
@@ -262,7 +262,7 @@ msgstr "Početna"
262msgid "Also installed"
262msgid "Also installed"
263msgstr "Također instalirano"
263msgstr "Također instalirano"
264
264
265−#: qml/DisabledScreenNotice.qml:104
265+#: qml/DisabledScreenNotice.qml:109
266msgid ""
266msgid ""
267"Your device is now connected to an external display. Use this screen as a "
267"Your device is now connected to an external display. Use this screen as a "
268"touch pad to interact with the pointer."
268"touch pad to interact with the pointer."
po/ca.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-07-04 09:48+0000\n"
11"PO-Revision-Date: 2015-07-04 09:48+0000\n"
12"Last-Translator: David Planella <david.planella@ubuntu.com>\n"
12"Last-Translator: David Planella <david.planella@ubuntu.com>\n"
13"Language-Team: Catalan <ca@li.org>\n"
13"Language-Team: Catalan <ca@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -192,15 +192,15 @@ msgstr ""
192msgid "Reset"
192msgid "Reset"
193msgstr ""
193msgstr ""
194
194
195−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
195+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
196msgid "Show less"
196msgid "Show less"
197msgstr ""
197msgstr ""
198
198
199−#: qml/Dash/GenericScopeView.qml:570
199+#: qml/Dash/GenericScopeView.qml:579
200msgid "Show all"
200msgid "Show all"
201msgstr ""
201msgstr ""
202
202
203−#: qml/Dash/GenericScopeView.qml:627
203+#: qml/Dash/GenericScopeView.qml:636
204msgctxt "Label: Hint for dash search line edit"
204msgctxt "Label: Hint for dash search line edit"
205msgid "Search"
205msgid "Search"
206msgstr "Cerca"
206msgstr "Cerca"
@@ -262,7 +262,7 @@ msgstr "Inici"
262msgid "Also installed"
262msgid "Also installed"
263msgstr "També instal·lat"
263msgstr "També instal·lat"
264
264
265−#: qml/DisabledScreenNotice.qml:104
265+#: qml/DisabledScreenNotice.qml:109
266msgid ""
266msgid ""
267"Your device is now connected to an external display. Use this screen as a "
267"Your device is now connected to an external display. Use this screen as a "
268"touch pad to interact with the pointer."
268"touch pad to interact with the pointer."
po/ca@valencia.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-02-22 15:22+0000\n"
11"PO-Revision-Date: 2015-02-22 15:22+0000\n"
12"Last-Translator: David Planella <david.planella@ubuntu.com>\n"
12"Last-Translator: David Planella <david.planella@ubuntu.com>\n"
13"Language-Team: Catalan <ca@li.org>\n"
13"Language-Team: Catalan <ca@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -192,15 +192,15 @@ msgstr ""
192msgid "Reset"
192msgid "Reset"
193msgstr ""
193msgstr ""
194
194
195−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
195+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
196msgid "Show less"
196msgid "Show less"
197msgstr ""
197msgstr ""
198
198
199−#: qml/Dash/GenericScopeView.qml:570
199+#: qml/Dash/GenericScopeView.qml:579
200msgid "Show all"
200msgid "Show all"
201msgstr ""
201msgstr ""
202
202
203−#: qml/Dash/GenericScopeView.qml:627
203+#: qml/Dash/GenericScopeView.qml:636
204msgctxt "Label: Hint for dash search line edit"
204msgctxt "Label: Hint for dash search line edit"
205msgid "Search"
205msgid "Search"
206msgstr ""
206msgstr ""
@@ -262,7 +262,7 @@ msgstr "Inici"
262msgid "Also installed"
262msgid "Also installed"
263msgstr "També instal·lat"
263msgstr "També instal·lat"
264
264
265−#: qml/DisabledScreenNotice.qml:104
265+#: qml/DisabledScreenNotice.qml:109
266msgid ""
266msgid ""
267"Your device is now connected to an external display. Use this screen as a "
267"Your device is now connected to an external display. Use this screen as a "
268"touch pad to interact with the pointer."
268"touch pad to interact with the pointer."
po/ce.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-02-15 04:01+0000\n"
11"PO-Revision-Date: 2015-02-15 04:01+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Chechen <ce@li.org>\n"
13"Language-Team: Chechen <ce@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -186,15 +186,15 @@ msgstr ""
186msgid "Reset"
186msgid "Reset"
187msgstr ""
187msgstr ""
188
188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190msgid "Show less"
190msgid "Show less"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194msgid "Show all"
194msgid "Show all"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198msgctxt "Label: Hint for dash search line edit"
198msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
199msgid "Search"
200msgstr ""
200msgstr ""
@@ -256,7 +256,7 @@ msgstr ""
256msgid "Also installed"
256msgid "Also installed"
257msgstr ""
257msgstr ""
258
258
259−#: qml/DisabledScreenNotice.qml:104
259+#: qml/DisabledScreenNotice.qml:109
260msgid ""
260msgid ""
261"Your device is now connected to an external display. Use this screen as a "
261"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
262"touch pad to interact with the pointer."
po/ckb.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2014-01-21 11:05+0000\n"
11"PO-Revision-Date: 2014-01-21 11:05+0000\n"
12"Last-Translator: Aras <aras.noori@gmail.com>\n"
12"Last-Translator: Aras <aras.noori@gmail.com>\n"
13"Language-Team: Kurdish (Sorani) <ckb@li.org>\n"
13"Language-Team: Kurdish (Sorani) <ckb@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -186,15 +186,15 @@ msgstr ""
186msgid "Reset"
186msgid "Reset"
187msgstr ""
187msgstr ""
188
188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190msgid "Show less"
190msgid "Show less"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194msgid "Show all"
194msgid "Show all"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198msgctxt "Label: Hint for dash search line edit"
198msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
199msgid "Search"
200msgstr ""
200msgstr ""
@@ -256,7 +256,7 @@ msgstr ""
256msgid "Also installed"
256msgid "Also installed"
257msgstr ""
257msgstr ""
258
258
259−#: qml/DisabledScreenNotice.qml:104
259+#: qml/DisabledScreenNotice.qml:109
260msgid ""
260msgid ""
261"Your device is now connected to an external display. Use this screen as a "
261"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
262"touch pad to interact with the pointer."
po/co.ponew file+736
@@ -0,0 +1,736 @@
1+# Corsican translation for unity8
2+# Copyright (c) 2016 Rosetta Contributors and Canonical Ltd 2016
3+# This file is distributed under the same license as the unity8 package.
4+# FIRST AUTHOR <EMAIL@ADDRESS>, 2016.
5+#
6+msgid ""
7+msgstr ""
8+"Project-Id-Version: unity8\n"
9+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11+"PO-Revision-Date: 2016-05-24 10:40+0000\n"
12+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13+"Language-Team: Corsican <co@li.org>\n"
14+"MIME-Version: 1.0\n"
15+"Content-Type: text/plain; charset=UTF-8\n"
16+"Content-Transfer-Encoding: 8bit\n"
17+"Plural-Forms: nplurals=2; plural=n != 1;\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
19+"X-Generator: Launchpad (build 18053)\n"
20+
21+#: plugins/IntegratedLightDM/Greeter.cpp:112
22+msgid "Password: "
23+msgstr ""
24+
25+#: plugins/Unity/Launcher/launcheritem.cpp:48
26+#: plugins/Unity/Launcher/launcheritem.cpp:107
27+msgid "Pin shortcut"
28+msgstr ""
29+
30+#: plugins/Unity/Launcher/launcheritem.cpp:53
31+msgid "Quit"
32+msgstr ""
33+
34+#: plugins/Unity/Launcher/launcheritem.cpp:107
35+msgid "Unpin shortcut"
36+msgstr ""
37+
38+#: qml/Components/DelayedLockscreen.qml:49
39+msgid "Device Locked"
40+msgstr ""
41+
42+#: qml/Components/DelayedLockscreen.qml:64
43+msgid "You have been locked out due to too many failed passphrase attempts."
44+msgstr ""
45+
46+#: qml/Components/DelayedLockscreen.qml:65
47+msgid "You have been locked out due to too many failed passcode attempts."
48+msgstr ""
49+
50+#: qml/Components/DelayedLockscreen.qml:74
51+#, qt-format
52+msgid "Please wait %1 minute and then try again…"
53+msgid_plural "Please wait %1 minutes and then try again…"
54+msgstr[0] ""
55+msgstr[1] ""
56+
57+#: qml/Components/Dialogs.qml:144
58+msgctxt "Title: Lock/Log out dialog"
59+msgid "Log out"
60+msgstr ""
61+
62+#: qml/Components/Dialogs.qml:145
63+msgid "Are you sure you want to log out?"
64+msgstr ""
65+
66+#: qml/Components/Dialogs.qml:147
67+msgctxt "Button: Lock the system"
68+msgid "Lock"
69+msgstr ""
70+
71+#: qml/Components/Dialogs.qml:154
72+msgctxt "Button: Log out from the system"
73+msgid "Log Out"
74+msgstr ""
75+
76+#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
77+#: qml/Dash/DashPageHeader.qml:298 qml/Wizard/Pages/passcode-confirm.qml:32
78+#: qml/Wizard/Pages/passcode-set.qml:32
79+msgid "Cancel"
80+msgstr ""
81+
82+#: qml/Components/Dialogs.qml:173
83+msgctxt "Title: Reboot dialog"
84+msgid "Reboot"
85+msgstr ""
86+
87+#: qml/Components/Dialogs.qml:174
88+msgid "Are you sure you want to reboot?"
89+msgstr ""
90+
91+#: qml/Components/Dialogs.qml:176
92+msgid "No"
93+msgstr ""
94+
95+#: qml/Components/Dialogs.qml:182
96+msgid "Yes"
97+msgstr ""
98+
99+#: qml/Components/Dialogs.qml:197
100+msgctxt "Title: Power off/Restart dialog"
101+msgid "Power"
102+msgstr ""
103+
104+#: qml/Components/Dialogs.qml:198
105+msgid ""
106+"Are you sure you would like\n"
107+"to power off?"
108+msgstr ""
109+
110+#: qml/Components/Dialogs.qml:200
111+msgctxt "Button: Power off the system"
112+msgid "Power off"
113+msgstr ""
114+
115+#: qml/Components/Dialogs.qml:209
116+msgctxt "Button: Restart the system"
117+msgid "Restart"
118+msgstr ""
119+
120+#: qml/Components/Lockscreen.qml:231
121+msgid "Return to Call"
122+msgstr ""
123+
124+#: qml/Components/Lockscreen.qml:231
125+msgid "Emergency Call"
126+msgstr ""
127+
128+#: qml/Components/Lockscreen.qml:263
129+msgid "OK"
130+msgstr ""
131+
132+#: qml/Components/ModeSwitchWarningDialog.qml:32
133+msgid "Apps may have unsaved data:"
134+msgstr ""
135+
136+#: qml/Components/ModeSwitchWarningDialog.qml:57
137+msgctxt ""
138+"Re-dock means connect the device again to an external screen/mouse/keyboard"
139+msgid "Re-dock, save your work and close these apps to continue."
140+msgstr ""
141+
142+#: qml/Components/ModeSwitchWarningDialog.qml:63
143+msgid "Or force close now (unsaved data will be lost)."
144+msgstr ""
145+
146+#: qml/Components/ModeSwitchWarningDialog.qml:75
147+msgid "OK, I will reconnect"
148+msgstr ""
149+
150+#: qml/Components/ModeSwitchWarningDialog.qml:76
151+msgid "Reconnect now!"
152+msgstr ""
153+
154+#: qml/Components/ModeSwitchWarningDialog.qml:88
155+msgid "Close all"
156+msgstr ""
157+
158+#: qml/Dash/DashPageHeader.qml:337
159+msgctxt "Button: Open the Ubuntu Store"
160+msgid "Store"
161+msgstr ""
162+
163+#: qml/Dash/DashPageHeader.qml:344
164+msgctxt "Button: Start a search in the current dash scope"
165+msgid "Search"
166+msgstr ""
167+
168+#: qml/Dash/DashPageHeader.qml:354
169+msgctxt "Button: Show the current dash scope settings"
170+msgid "Settings"
171+msgstr ""
172+
173+#: qml/Dash/DashPageHeader.qml:361
174+msgid "Remove from Favorites"
175+msgstr ""
176+
177+#: qml/Dash/DashPageHeader.qml:361
178+msgid "Add to Favorites"
179+msgstr ""
180+
181+#: qml/Dash/FiltersPopover.qml:60
182+msgid "Refine your results"
183+msgstr ""
184+
185+#: qml/Dash/FiltersPopover.qml:69
186+msgid "Reset"
187+msgstr ""
188+
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190+msgid "Show less"
191+msgstr ""
192+
193+#: qml/Dash/GenericScopeView.qml:579
194+msgid "Show all"
195+msgstr ""
196+
197+#: qml/Dash/GenericScopeView.qml:636
198+msgctxt "Label: Hint for dash search line edit"
199+msgid "Search"
200+msgstr ""
201+
202+#: qml/Dash/PageHeaderExtraPanel.qml:55
203+msgid "Recent Searches"
204+msgstr ""
205+
206+#: qml/Dash/PageHeaderExtraPanel.qml:66
207+msgid "Clear All"
208+msgstr ""
209+
210+#: qml/Dash/Previews/PreviewActionCombo.qml:35
211+msgid "More..."
212+msgstr ""
213+
214+#: qml/Dash/Previews/PreviewActionCombo.qml:35
215+msgid "Less..."
216+msgstr ""
217+
218+#: qml/Dash/Previews/PreviewCommentInput.qml:68
219+#: qml/Dash/Previews/PreviewRatingInput.qml:174
220+msgid "Send"
221+msgstr ""
222+
223+#: qml/Dash/Previews/PreviewRatingInput.qml:84
224+msgid "Rate this"
225+msgstr ""
226+
227+#: qml/Dash/Previews/PreviewRatingInput.qml:129
228+msgid "Add a review"
229+msgstr ""
230+
231+#: qml/Dash/Previews/PreviewSharing.qml:66
232+msgid "Preview Share Item"
233+msgstr ""
234+
235+#: qml/Dash/PullToRefreshScopeStyle.qml:55
236+msgid "Pull to refresh…"
237+msgstr ""
238+
239+#: qml/Dash/PullToRefreshScopeStyle.qml:60
240+msgid "Release to refresh…"
241+msgstr ""
242+
243+#: qml/Dash/ScopeSettings/ScopeSettingBoolean.qml:43
244+msgid "Enable location data"
245+msgstr ""
246+
247+#: qml/Dash/ScopesList.qml:67
248+msgid "Manage"
249+msgstr ""
250+
251+#: qml/Dash/ScopesList.qml:113
252+msgid "Home"
253+msgstr ""
254+
255+#: qml/Dash/ScopesList.qml:114
256+msgid "Also installed"
257+msgstr ""
258+
259+#: qml/DisabledScreenNotice.qml:109
260+msgid ""
261+"Your device is now connected to an external display. Use this screen as a "
262+"touch pad to interact with the pointer."
263+msgstr ""
264+
265+#: qml/Greeter/CoverPage.qml:118
266+msgid "Unlock"
267+msgstr ""
268+
269+#: qml/Greeter/LoginList.qml:239
270+msgid "Retry"
271+msgstr ""
272+
273+#: qml/Greeter/LoginList.qml:240
274+msgid "Tap to unlock"
275+msgstr ""
276+
277+#: qml/Greeter/NarrowView.qml:54
278+msgid "Sorry, incorrect passphrase."
279+msgstr ""
280+
281+#: qml/Greeter/NarrowView.qml:55
282+msgid "Sorry, incorrect passcode."
283+msgstr ""
284+
285+#: qml/Greeter/NarrowView.qml:56
286+msgid "This will be your last attempt."
287+msgstr ""
288+
289+#: qml/Greeter/NarrowView.qml:58
290+msgid ""
291+"If passphrase is entered incorrectly, your phone will conduct a factory "
292+"reset and all personal data will be deleted."
293+msgstr ""
294+
295+#: qml/Greeter/NarrowView.qml:59
296+msgid ""
297+"If passcode is entered incorrectly, your phone will conduct a factory reset "
298+"and all personal data will be deleted."
299+msgstr ""
300+
301+#: qml/Greeter/NarrowView.qml:116
302+#, qt-format
303+msgid "Enter %1"
304+msgstr ""
305+
306+#: qml/Greeter/NarrowView.qml:117
307+msgid "Enter passphrase"
308+msgstr ""
309+
310+#: qml/Greeter/NarrowView.qml:118
311+msgid "Enter passcode"
312+msgstr ""
313+
314+#: qml/Greeter/NarrowView.qml:119
315+#, qt-format
316+msgid "Sorry, incorrect %1"
317+msgstr ""
318+
319+#: qml/Greeter/NarrowView.qml:120
320+msgid "Sorry, incorrect passphrase"
321+msgstr ""
322+
323+#: qml/Greeter/NarrowView.qml:121
324+msgctxt "passphrase"
325+msgid "Please re-enter"
326+msgstr ""
327+
328+#: qml/Greeter/NarrowView.qml:122
329+msgid "Sorry, incorrect passcode"
330+msgstr ""
331+
332+#: qml/Notifications/NotificationMenuItemFactory.qml:124
333+msgid "Show password"
334+msgstr ""
335+
336+#: qml/Panel/ActiveCallHint.qml:79
337+msgid "Tap to return to call..."
338+msgstr ""
339+
340+#: qml/Panel/ActiveCallHint.qml:92
341+msgid "Conference"
342+msgstr ""
343+
344+#: qml/Panel/Indicators/MenuItemFactory.qml:762
345+msgid "Nothing is playing"
346+msgstr ""
347+
348+#: qml/Panel/Indicators/MenuItemFactory.qml:891
349+#, qt-format
350+msgid "%1 hour"
351+msgid_plural "%1 hours"
352+msgstr[0] ""
353+msgstr[1] ""
354+
355+#: qml/Panel/Indicators/MenuItemFactory.qml:895
356+#, qt-format
357+msgid "%1 minute"
358+msgid_plural "%1 minutes"
359+msgstr[0] ""
360+msgstr[1] ""
361+
362+#: qml/Panel/Indicators/MenuItemFactory.qml:900
363+#, qt-format
364+msgid "%1 second"
365+msgid_plural "%1 seconds"
366+msgstr[0] ""
367+msgstr[1] ""
368+
369+#: qml/Panel/Indicators/MenuItemFactory.qml:903
370+msgid "0 seconds"
371+msgstr ""
372+
373+#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
374+#: qml/Panel/Indicators/MenuItemFactory.qml:905
375+#, qt-format
376+msgid "%1 remaining"
377+msgstr ""
378+
379+#: qml/Panel/Indicators/MenuItemFactory.qml:911
380+msgid "In queue…"
381+msgstr ""
382+
383+#: qml/Panel/Indicators/MenuItemFactory.qml:915
384+msgid "Downloading"
385+msgstr ""
386+
387+#: qml/Panel/Indicators/MenuItemFactory.qml:917
388+msgid "Paused, tap to resume"
389+msgstr ""
390+
391+#: qml/Panel/Indicators/MenuItemFactory.qml:919
392+msgid "Canceled"
393+msgstr ""
394+
395+#: qml/Panel/Indicators/MenuItemFactory.qml:921
396+msgid "Finished"
397+msgstr ""
398+
399+#: qml/Panel/Indicators/MenuItemFactory.qml:923
400+msgid "Failed, tap to retry"
401+msgstr ""
402+
403+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:155
404+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
405+msgctxt "Button: Send a reply message"
406+msgid "Send"
407+msgstr ""
408+
409+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
410+msgctxt "Label: Hint in message indicator line edit"
411+msgid "Reply"
412+msgstr ""
413+
414+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
415+msgctxt "Button: Call back on phone"
416+msgid "Call back"
417+msgstr ""
418+
419+#: qml/Stages/SideStage.qml:76
420+msgid "Drag using 3 fingers any application from one window to the other"
421+msgstr ""
422+
423+#: qml/Tutorial/TutorialBottom.qml:78
424+msgid "Swipe up to add a contact"
425+msgstr ""
426+
427+#: qml/Tutorial/TutorialBottom.qml:80
428+msgid "Swipe up for favorite calculations"
429+msgstr ""
430+
431+#: qml/Tutorial/TutorialBottom.qml:82
432+msgid "Swipe up for recent calls"
433+msgstr ""
434+
435+#: qml/Tutorial/TutorialBottom.qml:84
436+msgid "Swipe up to create a message"
437+msgstr ""
438+
439+#: qml/Tutorial/TutorialBottom.qml:85
440+msgid "Swipe up to manage the app"
441+msgstr ""
442+
443+#: qml/Tutorial/TutorialLeftLong.qml:47
444+msgid "Long swipe from the left edge to open the Today scope"
445+msgstr ""
446+
447+#: qml/Tutorial/TutorialLeft.qml:47
448+msgid "Swipe from the left edge to open the launcher"
449+msgstr ""
450+
451+#: qml/Tutorial/TutorialRight.qml:55
452+msgid "Push your mouse against the right edge to view your open apps"
453+msgstr ""
454+
455+#: qml/Tutorial/TutorialRight.qml:56
456+msgid "Short or long swipe from the right edge to view your open apps"
457+msgstr ""
458+
459+#: qml/Tutorial/TutorialTop.qml:53
460+msgid "Swipe from the top right edge to open the notification bar"
461+msgstr ""
462+
463+#: qml/Tutorial/TutorialTop.qml:54
464+msgid "Swipe from the top edge to open the notification bar"
465+msgstr ""
466+
467+#: qml/Wizard/Page.qml:54
468+msgctxt "Button: Go back one page in the Wizard"
469+msgid "Back"
470+msgstr ""
471+
472+#: qml/Wizard/Pages/10-welcome.qml:27
473+msgid "Language"
474+msgstr ""
475+
476+#: qml/Wizard/Pages/10-welcome.qml:156 qml/Wizard/Pages/30-wifi.qml:206
477+#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:267
478+#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
479+#: qml/Wizard/Pages/75-report-check.qml:84
480+#: qml/Wizard/Pages/passcode-desktop.qml:124
481+#: qml/Wizard/Pages/password-set.qml:141
482+msgid "Next"
483+msgstr ""
484+
485+#: qml/Wizard/Pages/30-wifi.qml:29
486+msgid "Connect to Wi‑Fi"
487+msgstr ""
488+
489+#: qml/Wizard/Pages/30-wifi.qml:130
490+msgid "Connected"
491+msgstr ""
492+
493+#: qml/Wizard/Pages/30-wifi.qml:163
494+msgid "Available Wi-Fi networks"
495+msgstr ""
496+
497+#: qml/Wizard/Pages/30-wifi.qml:164
498+msgid "No available Wi-Fi networks"
499+msgstr ""
500+
501+#: qml/Wizard/Pages/30-wifi.qml:206 qml/Wizard/Pages/60-account.qml:65
502+#: qml/Wizard/Pages/sim.qml:101
503+msgid "Skip"
504+msgstr ""
505+
506+#: qml/Wizard/Pages/40-location.qml:27
507+msgid "Location Services"
508+msgstr ""
509+
510+#: qml/Wizard/Pages/40-location.qml:83
511+msgid ""
512+"Use GPS, Wi-Fi hotspots and mobile network anonymously to detect location "
513+"(recommended)"
514+msgstr ""
515+
516+#: qml/Wizard/Pages/40-location.qml:105
517+#, qt-format
518+msgid "By selecting this option you agree to the Nokia HERE %1."
519+msgstr ""
520+
521+#: qml/Wizard/Pages/40-location.qml:106
522+msgctxt "part of: Nokia HERE terms and conditions"
523+msgid "terms and conditions"
524+msgstr ""
525+
526+#: qml/Wizard/Pages/40-location.qml:160
527+msgid "GPS only"
528+msgstr ""
529+
530+#: qml/Wizard/Pages/40-location.qml:214
531+msgid "Don't use my location"
532+msgstr ""
533+
534+#: qml/Wizard/Pages/40-location.qml:260
535+msgid "You can change it later in System Settings."
536+msgstr ""
537+
538+#: qml/Wizard/Pages/50-timezone.qml:29
539+msgid "Time Zone"
540+msgstr ""
541+
542+#: qml/Wizard/Pages/50-timezone.qml:178
543+msgid "Enter your city"
544+msgstr ""
545+
546+#: qml/Wizard/Pages/60-account.qml:24
547+msgid "Personalize Your Device"
548+msgstr ""
549+
550+#: qml/Wizard/Pages/60-account.qml:48
551+msgid "Preferred Name"
552+msgstr ""
553+
554+#: qml/Wizard/Pages/70-passwd-type.qml:39
555+msgid "Lock Screen"
556+msgstr ""
557+
558+#: qml/Wizard/Pages/70-passwd-type.qml:101
559+msgctxt "Label: Type of security method"
560+msgid "Create new password"
561+msgstr ""
562+
563+#: qml/Wizard/Pages/70-passwd-type.qml:103
564+msgctxt "Label: Type of security method"
565+msgid "Create passcode (numbers only)"
566+msgstr ""
567+
568+#: qml/Wizard/Pages/70-passwd-type.qml:105
569+msgctxt "Label: Type of security method"
570+msgid "No lock code"
571+msgstr ""
572+
573+#: qml/Wizard/Pages/75-report-check.qml:26 qml/Wizard/Pages/here-terms.qml:108
574+msgid "Privacy Policy"
575+msgstr ""
576+
577+#: qml/Wizard/Pages/75-report-check.qml:26
578+msgid "Help Us Improve"
579+msgstr ""
580+
581+#: qml/Wizard/Pages/75-report-check.qml:59
582+msgid "Improve system performance by sending us crashes and error reports."
583+msgstr ""
584+
585+#: qml/Wizard/Pages/75-report-check.qml:60
586+msgid "Privacy policy"
587+msgstr ""
588+
589+#: qml/Wizard/Pages/80-finished.qml:89
590+msgid "Welcome to Ubuntu"
591+msgstr ""
592+
593+#: qml/Wizard/Pages/80-finished.qml:104
594+msgid "You are ready to use your device now"
595+msgstr ""
596+
597+#: qml/Wizard/Pages/80-finished.qml:124
598+msgid "Get Started"
599+msgstr ""
600+
601+#: qml/Wizard/Pages/here-terms.qml:25
602+msgid "Terms & Conditions"
603+msgstr ""
604+
605+#: qml/Wizard/Pages/here-terms.qml:69
606+msgid "Your device uses positioning technologies provided by HERE."
607+msgstr ""
608+
609+#: qml/Wizard/Pages/here-terms.qml:81
610+msgid ""
611+"To provide you with positioning services and to improve their quality, HERE "
612+"collects information about nearby cell towers and Wi-Fi hotspots around your "
613+"current location whenever your position is being found."
614+msgstr ""
615+
616+#: qml/Wizard/Pages/here-terms.qml:93
617+msgid ""
618+"The information collected is used to analyze the service and to improve the "
619+"use of service, but not to identify you personally."
620+msgstr ""
621+
622+#: qml/Wizard/Pages/here-terms.qml:106
623+#, qt-format
624+msgid "By continuing, you agree to the HERE platform %1 and %2."
625+msgstr ""
626+
627+#: qml/Wizard/Pages/here-terms.qml:107
628+msgid "Service Terms"
629+msgstr ""
630+
631+#: qml/Wizard/Pages/passcode-confirm.qml:43
632+#: qml/Wizard/Pages/passcode-desktop.qml:80
633+msgid "Confirm passcode"
634+msgstr ""
635+
636+#: qml/Wizard/Pages/passcode-confirm.qml:45
637+msgid "Incorrect passcode."
638+msgstr ""
639+
640+#: qml/Wizard/Pages/passcode-confirm.qml:45
641+msgctxt "Enter the passcode again"
642+msgid "Please re-enter."
643+msgstr ""
644+
645+#: qml/Wizard/Pages/passcode-desktop.qml:30
646+msgid "Lock Screen Passcode"
647+msgstr ""
648+
649+#: qml/Wizard/Pages/passcode-desktop.qml:56
650+msgid "Enter 4 numbers to setup your passcode"
651+msgstr ""
652+
653+#: qml/Wizard/Pages/passcode-desktop.qml:65
654+#: qml/Wizard/Pages/passcode-set.qml:54
655+msgid "Choose passcode"
656+msgstr ""
657+
658+#: qml/Wizard/Pages/passcode-desktop.qml:105
659+msgid "Passcode too short"
660+msgstr ""
661+
662+#: qml/Wizard/Pages/passcode-desktop.qml:107
663+msgid "Passcodes match"
664+msgstr ""
665+
666+#: qml/Wizard/Pages/passcode-desktop.qml:109
667+msgid "Passcodes do not match"
668+msgstr ""
669+
670+#: qml/Wizard/Pages/passcode-set.qml:62
671+msgid "Passcode must be 4 characters long"
672+msgstr ""
673+
674+#: qml/Wizard/Pages/password-set.qml:30
675+msgid "Lock Screen Password"
676+msgstr ""
677+
678+#: qml/Wizard/Pages/password-set.qml:61
679+msgid "Enter at least 8 characters"
680+msgstr ""
681+
682+#: qml/Wizard/Pages/password-set.qml:73
683+msgid "Choose password"
684+msgstr ""
685+
686+#: qml/Wizard/Pages/password-set.qml:103
687+msgid "Confirm password"
688+msgstr ""
689+
690+#: qml/Wizard/Pages/sim.qml:27
691+msgid "No SIM card installed"
692+msgstr ""
693+
694+#: qml/Wizard/Pages/sim.qml:54
695+msgid "SIM card added"
696+msgstr ""
697+
698+#: qml/Wizard/Pages/sim.qml:55
699+msgid "You must restart the device to access the mobile network."
700+msgstr ""
701+
702+#: qml/Wizard/Pages/sim.qml:59
703+msgid "Restart"
704+msgstr ""
705+
706+#: qml/Wizard/Pages/sim.qml:78
707+msgid "You won’t be able to make calls or use text messaging without a SIM."
708+msgstr ""
709+
710+#: qml/Wizard/Pages/sim.qml:90
711+msgid "To proceed with no SIM tap Skip."
712+msgstr ""
713+
714+#: qml/Wizard/PasswordMeter.qml:87
715+msgid "Passwords match"
716+msgstr ""
717+
718+#: qml/Wizard/PasswordMeter.qml:89
719+msgid "Passwords do not match"
720+msgstr ""
721+
722+#: qml/Wizard/PasswordMeter.qml:93
723+msgid "Strong password"
724+msgstr ""
725+
726+#: qml/Wizard/PasswordMeter.qml:95
727+msgid "Fair password"
728+msgstr ""
729+
730+#: qml/Wizard/PasswordMeter.qml:97
731+msgid "Weak password"
732+msgstr ""
733+
734+#: qml/Wizard/PasswordMeter.qml:99
735+msgid "Very weak password"
736+msgstr ""
po/cs.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-07-07 10:44+0000\n"
11"PO-Revision-Date: 2015-07-07 10:44+0000\n"
12"Last-Translator: Vojtěch Daněk <vdanek@outlook.com>\n"
12"Last-Translator: Vojtěch Daněk <vdanek@outlook.com>\n"
13"Language-Team: Czech <cs@li.org>\n"
13"Language-Team: Czech <cs@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
17"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20"Language: cs\n"
20"Language: cs\n"
21
21
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -192,15 +192,15 @@ msgstr ""
192msgid "Reset"
192msgid "Reset"
193msgstr ""
193msgstr ""
194
194
195−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
195+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
196msgid "Show less"
196msgid "Show less"
197msgstr ""
197msgstr ""
198
198
199−#: qml/Dash/GenericScopeView.qml:570
199+#: qml/Dash/GenericScopeView.qml:579
200msgid "Show all"
200msgid "Show all"
201msgstr ""
201msgstr ""
202
202
203−#: qml/Dash/GenericScopeView.qml:627
203+#: qml/Dash/GenericScopeView.qml:636
204msgctxt "Label: Hint for dash search line edit"
204msgctxt "Label: Hint for dash search line edit"
205msgid "Search"
205msgid "Search"
206msgstr "Hledat"
206msgstr "Hledat"
@@ -262,7 +262,7 @@ msgstr "Domů"
262msgid "Also installed"
262msgid "Also installed"
263msgstr "Také nainstalováno"
263msgstr "Také nainstalováno"
264
264
265−#: qml/DisabledScreenNotice.qml:104
265+#: qml/DisabledScreenNotice.qml:109
266msgid ""
266msgid ""
267"Your device is now connected to an external display. Use this screen as a "
267"Your device is now connected to an external display. Use this screen as a "
268"touch pad to interact with the pointer."
268"touch pad to interact with the pointer."
po/cy.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-07-31 13:21+0000\n"
11"PO-Revision-Date: 2015-07-31 13:21+0000\n"
12"Last-Translator: Owen Llywelyn <owen.llywelyn@gmail.com>\n"
12"Last-Translator: Owen Llywelyn <owen.llywelyn@gmail.com>\n"
13"Language-Team: Welsh <cy@li.org>\n"
13"Language-Team: Welsh <cy@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==2 ? 1 : (n != 8 && n != 11) ? "
17"Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==2 ? 1 : (n != 8 && n != 11) ? "
18"2 : 3;\n"
18"2 : 3;\n"
19−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
19+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
20−"X-Generator: Launchpad (build 17995)\n"
20+"X-Generator: Launchpad (build 18053)\n"
21
21
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
@@ -193,15 +193,15 @@ msgstr ""
193msgid "Reset"
193msgid "Reset"
194msgstr ""
194msgstr ""
195
195
196−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
196+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
197msgid "Show less"
197msgid "Show less"
198msgstr ""
198msgstr ""
199
199
200−#: qml/Dash/GenericScopeView.qml:570
200+#: qml/Dash/GenericScopeView.qml:579
201msgid "Show all"
201msgid "Show all"
202msgstr ""
202msgstr ""
203
203
204−#: qml/Dash/GenericScopeView.qml:627
204+#: qml/Dash/GenericScopeView.qml:636
205msgctxt "Label: Hint for dash search line edit"
205msgctxt "Label: Hint for dash search line edit"
206msgid "Search"
206msgid "Search"
207msgstr "Chwilio"
207msgstr "Chwilio"
@@ -263,7 +263,7 @@ msgstr "Cartref"
263msgid "Also installed"
263msgid "Also installed"
264msgstr "Hefyd wedi gosod"
264msgstr "Hefyd wedi gosod"
265
265
266−#: qml/DisabledScreenNotice.qml:104
266+#: qml/DisabledScreenNotice.qml:109
267msgid ""
267msgid ""
268"Your device is now connected to an external display. Use this screen as a "
268"Your device is now connected to an external display. Use this screen as a "
269"touch pad to interact with the pointer."
269"touch pad to interact with the pointer."
po/da.po+7−7
@@ -8,7 +8,7 @@ msgid ""
8msgstr ""
8msgstr ""
9"Project-Id-Version: unity8\n"
9"Project-Id-Version: unity8\n"
10"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
11−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
11+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
12"PO-Revision-Date: 2015-07-06 12:05+0000\n"
12"PO-Revision-Date: 2015-07-06 12:05+0000\n"
13"Last-Translator: Folmer Fredslund <Unknown>\n"
13"Last-Translator: Folmer Fredslund <Unknown>\n"
14"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
14"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
19−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
19+"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
20−"X-Generator: Launchpad (build 17995)\n"
20+"X-Generator: Launchpad (build 18053)\n"
21
21
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
@@ -193,15 +193,15 @@ msgstr ""
193msgid "Reset"
193msgid "Reset"
194msgstr ""
194msgstr ""
195
195
196−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
196+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
197msgid "Show less"
197msgid "Show less"
198msgstr ""
198msgstr ""
199
199
200−#: qml/Dash/GenericScopeView.qml:570
200+#: qml/Dash/GenericScopeView.qml:579
201msgid "Show all"
201msgid "Show all"
202msgstr ""
202msgstr ""
203
203
204−#: qml/Dash/GenericScopeView.qml:627
204+#: qml/Dash/GenericScopeView.qml:636
205msgctxt "Label: Hint for dash search line edit"
205msgctxt "Label: Hint for dash search line edit"
206msgid "Search"
206msgid "Search"
207msgstr "Søg"
207msgstr "Søg"
@@ -263,7 +263,7 @@ msgstr "Hjem"
263msgid "Also installed"
263msgid "Also installed"
264msgstr "Også installeret"
264msgstr "Også installeret"
265
265
266−#: qml/DisabledScreenNotice.qml:104
266+#: qml/DisabledScreenNotice.qml:109
267msgid ""
267msgid ""
268"Your device is now connected to an external display. Use this screen as a "
268"Your device is now connected to an external display. Use this screen as a "
269"touch pad to interact with the pointer."
269"touch pad to interact with the pointer."
po/de.po+13−11
@@ -7,16 +7,16 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11−"PO-Revision-Date: 2016-03-13 15:41+0000\n"
11+"PO-Revision-Date: 2016-05-10 19:23+0000\n"
12−"Last-Translator: schuko24 <gerdsaenger@t-online.de>\n"
12+"Last-Translator: Torsten Franz <Unknown>\n"
13"Language-Team: German <de@li.org>\n"
13"Language-Team: German <de@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -194,15 +194,15 @@ msgstr "Ergebnisse verfeinern"
194msgid "Reset"
194msgid "Reset"
195msgstr "Zurücksetzen"
195msgstr "Zurücksetzen"
196
196
197−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
197+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
198msgid "Show less"
198msgid "Show less"
199−msgstr ""
199+msgstr "Weniger anzeigen"
200
200
201−#: qml/Dash/GenericScopeView.qml:570
201+#: qml/Dash/GenericScopeView.qml:579
202msgid "Show all"
202msgid "Show all"
203−msgstr ""
203+msgstr "Alle anzeigen"
204
204
205−#: qml/Dash/GenericScopeView.qml:627
205+#: qml/Dash/GenericScopeView.qml:636
206msgctxt "Label: Hint for dash search line edit"
206msgctxt "Label: Hint for dash search line edit"
207msgid "Search"
207msgid "Search"
208msgstr "Suchen"
208msgstr "Suchen"
@@ -264,7 +264,7 @@ msgstr "Startseite"
264msgid "Also installed"
264msgid "Also installed"
265msgstr "Ebenfalls installiert"
265msgstr "Ebenfalls installiert"
266
266
267−#: qml/DisabledScreenNotice.qml:104
267+#: qml/DisabledScreenNotice.qml:109
268msgid ""
268msgid ""
269"Your device is now connected to an external display. Use this screen as a "
269"Your device is now connected to an external display. Use this screen as a "
270"touch pad to interact with the pointer."
270"touch pad to interact with the pointer."
@@ -466,6 +466,8 @@ msgstr "Von der linken Kante wischen, um den Starter zu öffnen"
466#: qml/Tutorial/TutorialRight.qml:55
466#: qml/Tutorial/TutorialRight.qml:55
467msgid "Push your mouse against the right edge to view your open apps"
467msgid "Push your mouse against the right edge to view your open apps"
468msgstr ""
468msgstr ""
469+"Bewegen Sie den Mauszeiger an die rechte Kante, um die geöffneten "
470+"Anwendungen zu sehen"
469
471
470#: qml/Tutorial/TutorialRight.qml:56
472#: qml/Tutorial/TutorialRight.qml:56
471msgid "Short or long swipe from the right edge to view your open apps"
473msgid "Short or long swipe from the right edge to view your open apps"
po/el.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2016-04-25 16:24+0000\n"
11"PO-Revision-Date: 2016-04-25 16:24+0000\n"
12"Last-Translator: Aggelos Arnaoutis <angelosarn@hotmail.com>\n"
12"Last-Translator: Aggelos Arnaoutis <angelosarn@hotmail.com>\n"
13"Language-Team: Greek <el@li.org>\n"
13"Language-Team: Greek <el@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -194,15 +194,15 @@ msgstr "Βελτιώστε τα αποτελέσματά σας"
194msgid "Reset"
194msgid "Reset"
195msgstr "Επαναφορά"
195msgstr "Επαναφορά"
196
196
197−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
197+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
198msgid "Show less"
198msgid "Show less"
199msgstr ""
199msgstr ""
200
200
201−#: qml/Dash/GenericScopeView.qml:570
201+#: qml/Dash/GenericScopeView.qml:579
202msgid "Show all"
202msgid "Show all"
203msgstr ""
203msgstr ""
204
204
205−#: qml/Dash/GenericScopeView.qml:627
205+#: qml/Dash/GenericScopeView.qml:636
206msgctxt "Label: Hint for dash search line edit"
206msgctxt "Label: Hint for dash search line edit"
207msgid "Search"
207msgid "Search"
208msgstr "Αναζήτηση"
208msgstr "Αναζήτηση"
@@ -264,7 +264,7 @@ msgstr "Αρχή"
264msgid "Also installed"
264msgid "Also installed"
265msgstr "Επίσης εγκατεστημένα"
265msgstr "Επίσης εγκατεστημένα"
266
266
267−#: qml/DisabledScreenNotice.qml:104
267+#: qml/DisabledScreenNotice.qml:109
268msgid ""
268msgid ""
269"Your device is now connected to an external display. Use this screen as a "
269"Your device is now connected to an external display. Use this screen as a "
270"touch pad to interact with the pointer."
270"touch pad to interact with the pointer."
po/en_AU.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2016-03-27 10:09+0000\n"
11"PO-Revision-Date: 2016-03-27 10:09+0000\n"
12"Last-Translator: Jared Norris <jarednorris@ubuntu.com>\n"
12"Last-Translator: Jared Norris <jarednorris@ubuntu.com>\n"
13"Language-Team: English (Australia) <en_AU@li.org>\n"
13"Language-Team: English (Australia) <en_AU@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -188,15 +188,15 @@ msgstr "Refine your results"
188msgid "Reset"
188msgid "Reset"
189msgstr "Reset"
189msgstr "Reset"
190
190
191−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
191+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
192msgid "Show less"
192msgid "Show less"
193msgstr ""
193msgstr ""
194
194
195−#: qml/Dash/GenericScopeView.qml:570
195+#: qml/Dash/GenericScopeView.qml:579
196msgid "Show all"
196msgid "Show all"
197msgstr ""
197msgstr ""
198
198
199−#: qml/Dash/GenericScopeView.qml:627
199+#: qml/Dash/GenericScopeView.qml:636
200msgctxt "Label: Hint for dash search line edit"
200msgctxt "Label: Hint for dash search line edit"
201msgid "Search"
201msgid "Search"
202msgstr "Search"
202msgstr "Search"
@@ -258,7 +258,7 @@ msgstr "Home"
258msgid "Also installed"
258msgid "Also installed"
259msgstr "Also installed"
259msgstr "Also installed"
260
260
261−#: qml/DisabledScreenNotice.qml:104
261+#: qml/DisabledScreenNotice.qml:109
262msgid ""
262msgid ""
263"Your device is now connected to an external display. Use this screen as a "
263"Your device is now connected to an external display. Use this screen as a "
264"touch pad to interact with the pointer."
264"touch pad to interact with the pointer."
po/en_GB.po+10−10
@@ -7,16 +7,16 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11−"PO-Revision-Date: 2016-04-29 10:35+0000\n"
11+"PO-Revision-Date: 2016-05-10 10:10+0000\n"
12"Last-Translator: Andi Chandler <Unknown>\n"
12"Last-Translator: Andi Chandler <Unknown>\n"
13"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
13"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -188,15 +188,15 @@ msgstr "Refine your results"
188msgid "Reset"
188msgid "Reset"
189msgstr "Reset"
189msgstr "Reset"
190
190
191−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
191+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
192msgid "Show less"
192msgid "Show less"
193−msgstr ""
193+msgstr "Show less"
194
194
195−#: qml/Dash/GenericScopeView.qml:570
195+#: qml/Dash/GenericScopeView.qml:579
196msgid "Show all"
196msgid "Show all"
197−msgstr ""
197+msgstr "Show all"
198
198
199−#: qml/Dash/GenericScopeView.qml:627
199+#: qml/Dash/GenericScopeView.qml:636
200msgctxt "Label: Hint for dash search line edit"
200msgctxt "Label: Hint for dash search line edit"
201msgid "Search"
201msgid "Search"
202msgstr "Search"
202msgstr "Search"
@@ -258,7 +258,7 @@ msgstr "Home"
258msgid "Also installed"
258msgid "Also installed"
259msgstr "Also installed"
259msgstr "Also installed"
260
260
261−#: qml/DisabledScreenNotice.qml:104
261+#: qml/DisabledScreenNotice.qml:109
262msgid ""
262msgid ""
263"Your device is now connected to an external display. Use this screen as a "
263"Your device is now connected to an external display. Use this screen as a "
264"touch pad to interact with the pointer."
264"touch pad to interact with the pointer."
po/eo.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-06-06 23:37+0000\n"
11"PO-Revision-Date: 2015-06-06 23:37+0000\n"
12"Last-Translator: Eliovir <Unknown>\n"
12"Last-Translator: Eliovir <Unknown>\n"
13"Language-Team: Esperanto <eo@li.org>\n"
13"Language-Team: Esperanto <eo@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -186,15 +186,15 @@ msgstr ""
186msgid "Reset"
186msgid "Reset"
187msgstr ""
187msgstr ""
188
188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190msgid "Show less"
190msgid "Show less"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194msgid "Show all"
194msgid "Show all"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198msgctxt "Label: Hint for dash search line edit"
198msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
199msgid "Search"
200msgstr "Serĉi"
200msgstr "Serĉi"
@@ -256,7 +256,7 @@ msgstr "Hejmo"
256msgid "Also installed"
256msgid "Also installed"
257msgstr ""
257msgstr ""
258
258
259−#: qml/DisabledScreenNotice.qml:104
259+#: qml/DisabledScreenNotice.qml:109
260msgid ""
260msgid ""
261"Your device is now connected to an external display. Use this screen as a "
261"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
262"touch pad to interact with the pointer."
po/es.po+9−9
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2016-03-25 12:02+0000\n"
11"PO-Revision-Date: 2016-03-25 12:02+0000\n"
12"Last-Translator: Adolfo Jayme <fitoschido@gmail.com>\n"
12"Last-Translator: Adolfo Jayme <fitoschido@gmail.com>\n"
13"Language-Team: Spanish <es@li.org>\n"
13"Language-Team: Spanish <es@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -193,15 +193,15 @@ msgstr "Refinar resultados"
193msgid "Reset"
193msgid "Reset"
194msgstr "Restablecer"
194msgstr "Restablecer"
195
195
196−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
196+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
197msgid "Show less"
197msgid "Show less"
198−msgstr ""
198+msgstr "Mostrar menos"
199
199
200−#: qml/Dash/GenericScopeView.qml:570
200+#: qml/Dash/GenericScopeView.qml:579
201msgid "Show all"
201msgid "Show all"
202−msgstr ""
202+msgstr "Mostrar todo"
203
203
204−#: qml/Dash/GenericScopeView.qml:627
204+#: qml/Dash/GenericScopeView.qml:636
205msgctxt "Label: Hint for dash search line edit"
205msgctxt "Label: Hint for dash search line edit"
206msgid "Search"
206msgid "Search"
207msgstr "Búsqueda"
207msgstr "Búsqueda"
@@ -263,7 +263,7 @@ msgstr "Inicio"
263msgid "Also installed"
263msgid "Also installed"
264msgstr "También instalados"
264msgstr "También instalados"
265
265
266−#: qml/DisabledScreenNotice.qml:104
266+#: qml/DisabledScreenNotice.qml:109
267msgid ""
267msgid ""
268"Your device is now connected to an external display. Use this screen as a "
268"Your device is now connected to an external display. Use this screen as a "
269"touch pad to interact with the pointer."
269"touch pad to interact with the pointer."
po/eu.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-07-13 23:29+0000\n"
11"PO-Revision-Date: 2015-07-13 23:29+0000\n"
12"Last-Translator: Ibai Oihanguren Sala <Unknown>\n"
12"Last-Translator: Ibai Oihanguren Sala <Unknown>\n"
13"Language-Team: Basque <eu@li.org>\n"
13"Language-Team: Basque <eu@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -189,15 +189,15 @@ msgstr ""
189msgid "Reset"
189msgid "Reset"
190msgstr ""
190msgstr ""
191
191
192−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
192+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
193msgid "Show less"
193msgid "Show less"
194msgstr ""
194msgstr ""
195
195
196−#: qml/Dash/GenericScopeView.qml:570
196+#: qml/Dash/GenericScopeView.qml:579
197msgid "Show all"
197msgid "Show all"
198msgstr ""
198msgstr ""
199
199
200−#: qml/Dash/GenericScopeView.qml:627
200+#: qml/Dash/GenericScopeView.qml:636
201msgctxt "Label: Hint for dash search line edit"
201msgctxt "Label: Hint for dash search line edit"
202msgid "Search"
202msgid "Search"
203msgstr "Bilatu"
203msgstr "Bilatu"
@@ -259,7 +259,7 @@ msgstr "Hasiera"
259msgid "Also installed"
259msgid "Also installed"
260msgstr "Hau ere instalatuta"
260msgstr "Hau ere instalatuta"
261
261
262−#: qml/DisabledScreenNotice.qml:104
262+#: qml/DisabledScreenNotice.qml:109
263msgid ""
263msgid ""
264"Your device is now connected to an external display. Use this screen as a "
264"Your device is now connected to an external display. Use this screen as a "
265"touch pad to interact with the pointer."
265"touch pad to interact with the pointer."
po/fa.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2016-03-30 14:29+0000\n"
11"PO-Revision-Date: 2016-03-30 14:29+0000\n"
12"Last-Translator: Danial Behzadi <dani.behzi@gmail.com>\n"
12"Last-Translator: Danial Behzadi <dani.behzi@gmail.com>\n"
13"Language-Team: Persian <fa@li.org>\n"
13"Language-Team: Persian <fa@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -189,15 +189,15 @@ msgstr "نتایجتان را بهبود دهید"
189msgid "Reset"
189msgid "Reset"
190msgstr "بازنشانی"
190msgstr "بازنشانی"
191
191
192−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
192+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
193msgid "Show less"
193msgid "Show less"
194msgstr ""
194msgstr ""
195
195
196−#: qml/Dash/GenericScopeView.qml:570
196+#: qml/Dash/GenericScopeView.qml:579
197msgid "Show all"
197msgid "Show all"
198msgstr ""
198msgstr ""
199
199
200−#: qml/Dash/GenericScopeView.qml:627
200+#: qml/Dash/GenericScopeView.qml:636
201msgctxt "Label: Hint for dash search line edit"
201msgctxt "Label: Hint for dash search line edit"
202msgid "Search"
202msgid "Search"
203msgstr "جست‌وجو"
203msgstr "جست‌وجو"
@@ -259,7 +259,7 @@ msgstr "خانه"
259msgid "Also installed"
259msgid "Also installed"
260msgstr "هم‌چنین نصب شده"
260msgstr "هم‌چنین نصب شده"
261
261
262−#: qml/DisabledScreenNotice.qml:104
262+#: qml/DisabledScreenNotice.qml:109
263msgid ""
263msgid ""
264"Your device is now connected to an external display. Use this screen as a "
264"Your device is now connected to an external display. Use this screen as a "
265"touch pad to interact with the pointer."
265"touch pad to interact with the pointer."
po/fi.po+11−9
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-07-04 18:32+0000\n"
11"PO-Revision-Date: 2015-07-04 18:32+0000\n"
12"Last-Translator: Jiri Grönroos <Unknown>\n"
12"Last-Translator: Jiri Grönroos <Unknown>\n"
13"Language-Team: Finnish <fi@li.org>\n"
13"Language-Team: Finnish <fi@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -192,15 +192,15 @@ msgstr "Tarkenna tuloksia"
192msgid "Reset"
192msgid "Reset"
193msgstr "Palauta"
193msgstr "Palauta"
194
194
195−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
195+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
196msgid "Show less"
196msgid "Show less"
197−msgstr ""
197+msgstr "Näytä vähemmän"
198
198
199−#: qml/Dash/GenericScopeView.qml:570
199+#: qml/Dash/GenericScopeView.qml:579
200msgid "Show all"
200msgid "Show all"
201−msgstr ""
201+msgstr "Näytä kaikki"
202
202
203−#: qml/Dash/GenericScopeView.qml:627
203+#: qml/Dash/GenericScopeView.qml:636
204msgctxt "Label: Hint for dash search line edit"
204msgctxt "Label: Hint for dash search line edit"
205msgid "Search"
205msgid "Search"
206msgstr "Etsi"
206msgstr "Etsi"
@@ -262,7 +262,7 @@ msgstr "Koti"
262msgid "Also installed"
262msgid "Also installed"
263msgstr "Myös asennettu"
263msgstr "Myös asennettu"
264
264
265−#: qml/DisabledScreenNotice.qml:104
265+#: qml/DisabledScreenNotice.qml:109
266msgid ""
266msgid ""
267"Your device is now connected to an external display. Use this screen as a "
267"Your device is now connected to an external display. Use this screen as a "
268"touch pad to interact with the pointer."
268"touch pad to interact with the pointer."
@@ -463,6 +463,8 @@ msgstr "Vedä vasemmasta reunasta avataksesi käynnistimen"
463#: qml/Tutorial/TutorialRight.qml:55
463#: qml/Tutorial/TutorialRight.qml:55
464msgid "Push your mouse against the right edge to view your open apps"
464msgid "Push your mouse against the right edge to view your open apps"
465msgstr ""
465msgstr ""
466+"Työnnä oikeaa reunaa hiiren osoittimella nähdäksesi avoinna olevat "
467+"sovellukset"
466
468
467#: qml/Tutorial/TutorialRight.qml:56
469#: qml/Tutorial/TutorialRight.qml:56
468msgid "Short or long swipe from the right edge to view your open apps"
470msgid "Short or long swipe from the right edge to view your open apps"
po/fo.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2014-01-14 20:08+0000\n"
11"PO-Revision-Date: 2014-01-14 20:08+0000\n"
12"Last-Translator: Jógvan Olsen <jeggy@jebster.net>\n"
12"Last-Translator: Jógvan Olsen <jeggy@jebster.net>\n"
13"Language-Team: Faroese <fo@li.org>\n"
13"Language-Team: Faroese <fo@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -186,15 +186,15 @@ msgstr ""
186msgid "Reset"
186msgid "Reset"
187msgstr ""
187msgstr ""
188
188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190msgid "Show less"
190msgid "Show less"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194msgid "Show all"
194msgid "Show all"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198msgctxt "Label: Hint for dash search line edit"
198msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
199msgid "Search"
200msgstr ""
200msgstr ""
@@ -256,7 +256,7 @@ msgstr ""
256msgid "Also installed"
256msgid "Also installed"
257msgstr ""
257msgstr ""
258
258
259−#: qml/DisabledScreenNotice.qml:104
259+#: qml/DisabledScreenNotice.qml:109
260msgid ""
260msgid ""
261"Your device is now connected to an external display. Use this screen as a "
261"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
262"touch pad to interact with the pointer."
po/fr.po+12−12
@@ -7,16 +7,16 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11−"PO-Revision-Date: 2016-05-01 09:09+0000\n"
11+"PO-Revision-Date: 2016-05-19 21:22+0000\n"
12−"Last-Translator: Anne <anneonyme017@gmail.com>\n"
12+"Last-Translator: Ubuntu-QC-1 <Unknown>\n"
13"Language-Team: French <fr@li.org>\n"
13"Language-Team: French <fr@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2016-05-02 05:45+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -37,13 +37,13 @@ msgstr "Détacher le raccourci"
37
37
38#: qml/Components/DelayedLockscreen.qml:49
38#: qml/Components/DelayedLockscreen.qml:49
39msgid "Device Locked"
39msgid "Device Locked"
40−msgstr "Périphérique verrouillé"
40+msgstr "Appareil verrouillé"
41
41
42#: qml/Components/DelayedLockscreen.qml:64
42#: qml/Components/DelayedLockscreen.qml:64
43msgid "You have been locked out due to too many failed passphrase attempts."
43msgid "You have been locked out due to too many failed passphrase attempts."
44msgstr ""
44msgstr ""
45−"Vous avez été bloqué suite à un trop grand nombre de tentatives de saisie "
45+"L'appareil a été verrouillé suite à un trop grand nombre de tentatives de "
46−"d'une phrase de passe erronée."
46+"saisie d'une phrase de passe erronée."
47
47
48#: qml/Components/DelayedLockscreen.qml:65
48#: qml/Components/DelayedLockscreen.qml:65
49msgid "You have been locked out due to too many failed passcode attempts."
49msgid "You have been locked out due to too many failed passcode attempts."
@@ -196,15 +196,15 @@ msgstr "Affiner vos résultats"
196msgid "Reset"
196msgid "Reset"
197msgstr "Réinitialiser"
197msgstr "Réinitialiser"
198
198
199−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
199+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
200msgid "Show less"
200msgid "Show less"
201msgstr "Afficher plus"
201msgstr "Afficher plus"
202
202
203−#: qml/Dash/GenericScopeView.qml:570
203+#: qml/Dash/GenericScopeView.qml:579
204msgid "Show all"
204msgid "Show all"
205msgstr "Tout afficher"
205msgstr "Tout afficher"
206
206
207−#: qml/Dash/GenericScopeView.qml:627
207+#: qml/Dash/GenericScopeView.qml:636
208msgctxt "Label: Hint for dash search line edit"
208msgctxt "Label: Hint for dash search line edit"
209msgid "Search"
209msgid "Search"
210msgstr "Rechercher"
210msgstr "Rechercher"
@@ -266,7 +266,7 @@ msgstr "Accueil"
266msgid "Also installed"
266msgid "Also installed"
267msgstr "Également installées"
267msgstr "Également installées"
268
268
269−#: qml/DisabledScreenNotice.qml:104
269+#: qml/DisabledScreenNotice.qml:109
270msgid ""
270msgid ""
271"Your device is now connected to an external display. Use this screen as a "
271"Your device is now connected to an external display. Use this screen as a "
272"touch pad to interact with the pointer."
272"touch pad to interact with the pointer."
po/ga.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2016-01-25 11:33+0000\n"
11"PO-Revision-Date: 2016-01-25 11:33+0000\n"
12"Last-Translator: Joshua Kiley <Unknown>\n"
12"Last-Translator: Joshua Kiley <Unknown>\n"
13"Language-Team: Irish <ga@li.org>\n"
13"Language-Team: Irish <ga@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2;\n"
17"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -187,15 +187,15 @@ msgstr ""
187msgid "Reset"
187msgid "Reset"
188msgstr ""
188msgstr ""
189
189
190−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
190+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
191msgid "Show less"
191msgid "Show less"
192msgstr ""
192msgstr ""
193
193
194−#: qml/Dash/GenericScopeView.qml:570
194+#: qml/Dash/GenericScopeView.qml:579
195msgid "Show all"
195msgid "Show all"
196msgstr ""
196msgstr ""
197
197
198−#: qml/Dash/GenericScopeView.qml:627
198+#: qml/Dash/GenericScopeView.qml:636
199msgctxt "Label: Hint for dash search line edit"
199msgctxt "Label: Hint for dash search line edit"
200msgid "Search"
200msgid "Search"
201msgstr "Cuardach"
201msgstr "Cuardach"
@@ -257,7 +257,7 @@ msgstr "Baile"
257msgid "Also installed"
257msgid "Also installed"
258msgstr ""
258msgstr ""
259
259
260−#: qml/DisabledScreenNotice.qml:104
260+#: qml/DisabledScreenNotice.qml:109
261msgid ""
261msgid ""
262"Your device is now connected to an external display. Use this screen as a "
262"Your device is now connected to an external display. Use this screen as a "
263"touch pad to interact with the pointer."
263"touch pad to interact with the pointer."
po/gd.po+9−9
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2016-04-08 18:34+0000\n"
11"PO-Revision-Date: 2016-04-08 18:34+0000\n"
12"Last-Translator: Akerbeltz <fios@akerbeltz.org>\n"
12"Last-Translator: Akerbeltz <fios@akerbeltz.org>\n"
13"Language-Team: Fòram na Gàidhlig\n"
13"Language-Team: Fòram na Gàidhlig\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : "
17"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : "
18"(n > 2 && n < 20) ? 2 : 3;\n"
18"(n > 2 && n < 20) ? 2 : 3;\n"
19−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
19+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
20−"X-Generator: Launchpad (build 17995)\n"
20+"X-Generator: Launchpad (build 18053)\n"
21"Language: gd\n"
21"Language: gd\n"
22
22
23#: plugins/IntegratedLightDM/Greeter.cpp:112
23#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -198,15 +198,15 @@ msgstr "Cuir na toraidhean air gleus"
198msgid "Reset"
198msgid "Reset"
199msgstr "Ath-shuidhich"
199msgstr "Ath-shuidhich"
200
200
201−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
201+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
202msgid "Show less"
202msgid "Show less"
203−msgstr ""
203+msgstr "Seall nas lugha dhiubh"
204
204
205−#: qml/Dash/GenericScopeView.qml:570
205+#: qml/Dash/GenericScopeView.qml:579
206msgid "Show all"
206msgid "Show all"
207−msgstr ""
207+msgstr "Seall na h-uile"
208
208
209−#: qml/Dash/GenericScopeView.qml:627
209+#: qml/Dash/GenericScopeView.qml:636
210msgctxt "Label: Hint for dash search line edit"
210msgctxt "Label: Hint for dash search line edit"
211msgid "Search"
211msgid "Search"
212msgstr "Lorg"
212msgstr "Lorg"
@@ -268,7 +268,7 @@ msgstr "Dhachaigh"
268msgid "Also installed"
268msgid "Also installed"
269msgstr "Air a stàladh cuideachd"
269msgstr "Air a stàladh cuideachd"
270
270
271−#: qml/DisabledScreenNotice.qml:104
271+#: qml/DisabledScreenNotice.qml:109
272msgid ""
272msgid ""
273"Your device is now connected to an external display. Use this screen as a "
273"Your device is now connected to an external display. Use this screen as a "
274"touch pad to interact with the pointer."
274"touch pad to interact with the pointer."
po/gl.po+9−9
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2016-01-15 14:56+0000\n"
11"PO-Revision-Date: 2016-01-15 14:56+0000\n"
12"Last-Translator: Marcos Lans <Unknown>\n"
12"Last-Translator: Marcos Lans <Unknown>\n"
13"Language-Team: Galician <gl@li.org>\n"
13"Language-Team: Galician <gl@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -188,15 +188,15 @@ msgstr "Afinar os resultados"
188msgid "Reset"
188msgid "Reset"
189msgstr "Restabelecer"
189msgstr "Restabelecer"
190
190
191−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
191+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
192msgid "Show less"
192msgid "Show less"
193−msgstr ""
193+msgstr "Mostrar menos"
194
194
195−#: qml/Dash/GenericScopeView.qml:570
195+#: qml/Dash/GenericScopeView.qml:579
196msgid "Show all"
196msgid "Show all"
197−msgstr ""
197+msgstr "Mostrar todo"
198
198
199−#: qml/Dash/GenericScopeView.qml:627
199+#: qml/Dash/GenericScopeView.qml:636
200msgctxt "Label: Hint for dash search line edit"
200msgctxt "Label: Hint for dash search line edit"
201msgid "Search"
201msgid "Search"
202msgstr "Buscar"
202msgstr "Buscar"
@@ -258,7 +258,7 @@ msgstr "Persoal"
258msgid "Also installed"
258msgid "Also installed"
259msgstr "Tamén instalado"
259msgstr "Tamén instalado"
260
260
261−#: qml/DisabledScreenNotice.qml:104
261+#: qml/DisabledScreenNotice.qml:109
262msgid ""
262msgid ""
263"Your device is now connected to an external display. Use this screen as a "
263"Your device is now connected to an external display. Use this screen as a "
264"touch pad to interact with the pointer."
264"touch pad to interact with the pointer."
po/gv.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-04-02 14:24+0000\n"
11"PO-Revision-Date: 2015-04-02 14:24+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Manx <gv@li.org>\n"
13"Language-Team: Manx <gv@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : (n == 2 ? 1 : 2);\n"
17"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : (n == 2 ? 1 : 2);\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -193,15 +193,15 @@ msgstr ""
193msgid "Reset"
193msgid "Reset"
194msgstr ""
194msgstr ""
195
195
196−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
196+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
197msgid "Show less"
197msgid "Show less"
198msgstr ""
198msgstr ""
199
199
200−#: qml/Dash/GenericScopeView.qml:570
200+#: qml/Dash/GenericScopeView.qml:579
201msgid "Show all"
201msgid "Show all"
202msgstr ""
202msgstr ""
203
203
204−#: qml/Dash/GenericScopeView.qml:627
204+#: qml/Dash/GenericScopeView.qml:636
205msgctxt "Label: Hint for dash search line edit"
205msgctxt "Label: Hint for dash search line edit"
206msgid "Search"
206msgid "Search"
207msgstr ""
207msgstr ""
@@ -263,7 +263,7 @@ msgstr "Balley"
263msgid "Also installed"
263msgid "Also installed"
264msgstr ""
264msgstr ""
265
265
266−#: qml/DisabledScreenNotice.qml:104
266+#: qml/DisabledScreenNotice.qml:109
267msgid ""
267msgid ""
268"Your device is now connected to an external display. Use this screen as a "
268"Your device is now connected to an external display. Use this screen as a "
269"touch pad to interact with the pointer."
269"touch pad to interact with the pointer."
po/he.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-07-12 08:47+0000\n"
11"PO-Revision-Date: 2015-07-12 08:47+0000\n"
12"Last-Translator: Yaron <sh.yaron@gmail.com>\n"
12"Last-Translator: Yaron <sh.yaron@gmail.com>\n"
13"Language-Team: Hebrew <he@li.org>\n"
13"Language-Team: Hebrew <he@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -186,15 +186,15 @@ msgstr ""
186msgid "Reset"
186msgid "Reset"
187msgstr ""
187msgstr ""
188
188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190msgid "Show less"
190msgid "Show less"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194msgid "Show all"
194msgid "Show all"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198msgctxt "Label: Hint for dash search line edit"
198msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
199msgid "Search"
200msgstr "חיפוש"
200msgstr "חיפוש"
@@ -256,7 +256,7 @@ msgstr "בית"
256msgid "Also installed"
256msgid "Also installed"
257msgstr ""
257msgstr ""
258
258
259−#: qml/DisabledScreenNotice.qml:104
259+#: qml/DisabledScreenNotice.qml:109
260msgid ""
260msgid ""
261"Your device is now connected to an external display. Use this screen as a "
261"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
262"touch pad to interact with the pointer."
po/hi.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2014-01-15 01:49+0000\n"
11"PO-Revision-Date: 2014-01-15 01:49+0000\n"
12"Last-Translator: Siddhanathan Shanmugam <Unknown>\n"
12"Last-Translator: Siddhanathan Shanmugam <Unknown>\n"
13"Language-Team: Hindi <hi@li.org>\n"
13"Language-Team: Hindi <hi@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -186,15 +186,15 @@ msgstr ""
186msgid "Reset"
186msgid "Reset"
187msgstr ""
187msgstr ""
188
188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190msgid "Show less"
190msgid "Show less"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194msgid "Show all"
194msgid "Show all"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198msgctxt "Label: Hint for dash search line edit"
198msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
199msgid "Search"
200msgstr ""
200msgstr ""
@@ -256,7 +256,7 @@ msgstr ""
256msgid "Also installed"
256msgid "Also installed"
257msgstr ""
257msgstr ""
258
258
259−#: qml/DisabledScreenNotice.qml:104
259+#: qml/DisabledScreenNotice.qml:109
260msgid ""
260msgid ""
261"Your device is now connected to an external display. Use this screen as a "
261"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
262"touch pad to interact with the pointer."
po/hr.po+74−11
@@ -7,17 +7,17 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11−"PO-Revision-Date: 2013-06-27 04:14+0000\n"
11+"PO-Revision-Date: 2016-05-04 17:52+0000\n"
12−"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
12+"Last-Translator: gogo <trebelnik2@gmail.com>\n"
13"Language-Team: Croatian <hr@li.org>\n"
13"Language-Team: Croatian <hr@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
19+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
20−"X-Generator: Launchpad (build 17995)\n"
20+"X-Generator: Launchpad (build 18053)\n"
21
21
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
@@ -192,15 +192,15 @@ msgstr "Precizirajte svoje rezultate"
192msgid "Reset"
192msgid "Reset"
193msgstr "Ponovno postavi"
193msgstr "Ponovno postavi"
194
194
195−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
195+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
196msgid "Show less"
196msgid "Show less"
197−msgstr ""
197+msgstr "Prikaži manje"
198
198
199−#: qml/Dash/GenericScopeView.qml:570
199+#: qml/Dash/GenericScopeView.qml:579
200msgid "Show all"
200msgid "Show all"
201−msgstr ""
201+msgstr "Prikaži sve"
202
202
203−#: qml/Dash/GenericScopeView.qml:627
203+#: qml/Dash/GenericScopeView.qml:636
204msgctxt "Label: Hint for dash search line edit"
204msgctxt "Label: Hint for dash search line edit"
205msgid "Search"
205msgid "Search"
206msgstr "Pretraži"
206msgstr "Pretraži"
@@ -262,7 +262,7 @@ msgstr "Naslovnica"
262msgid "Also installed"
262msgid "Also installed"
263msgstr "Također instalirano"
263msgstr "Također instalirano"
264
264
265−#: qml/DisabledScreenNotice.qml:104
265+#: qml/DisabledScreenNotice.qml:109
266msgid ""
266msgid ""
267"Your device is now connected to an external display. Use this screen as a "
267"Your device is now connected to an external display. Use this screen as a "
268"touch pad to interact with the pointer."
268"touch pad to interact with the pointer."
@@ -467,6 +467,7 @@ msgstr "Povucite od lijevog ruba za otvaranje pokretača"
467#: qml/Tutorial/TutorialRight.qml:55
467#: qml/Tutorial/TutorialRight.qml:55
468msgid "Push your mouse against the right edge to view your open apps"
468msgid "Push your mouse against the right edge to view your open apps"
469msgstr ""
469msgstr ""
470+"Gurnite svoj miš uz desni rub kako bi vidjeli svoje otvorene aplikacije"
470
471
471#: qml/Tutorial/TutorialRight.qml:56
472#: qml/Tutorial/TutorialRight.qml:56
472msgid "Short or long swipe from the right edge to view your open apps"
473msgid "Short or long swipe from the right edge to view your open apps"
@@ -782,9 +783,36 @@ msgstr "Vrlo slaba lozinka"
782#~ msgid "Search"
783#~ msgid "Search"
783#~ msgstr "Pretraživanje"
784#~ msgstr "Pretraživanje"
784
785
786+#~ msgid "Top edge"
787+#~ msgstr "Gornji rub"
788+
789+#~ msgid "Left edge"
790+#~ msgstr "Lijevi rub"
791+
792+#~ msgid "Well done"
793+#~ msgstr "Dobro obavljeno"
794+
795+#~ msgid "Right edge"
796+#~ msgstr "Desni rub"
797+
798+#~ msgid "Close"
799+#~ msgstr "Zatvori"
800+
801+#~ msgid "Power"
802+#~ msgstr "Energija"
803+
804+#~ msgid "Power off"
805+#~ msgstr "Isključivanje"
806+
807+#~ msgid "Skip intro"
808+#~ msgstr "Preskoči uvod"
809+
785#~ msgid "See all"
810#~ msgid "See all"
786#~ msgstr "Prikaži sve"
811#~ msgstr "Prikaži sve"
787
812
813+#~ msgid "Settings"
814+#~ msgstr "Postavke"
815+
788#~ msgid "See less"
816#~ msgid "See less"
789#~ msgstr "Prikaži manje"
817#~ msgstr "Prikaži manje"
790
818
@@ -1013,3 +1041,38 @@ msgstr "Vrlo slaba lozinka"
1013#~ msgid "Hover your mouse on the right edge to view your open apps"
1041#~ msgid "Hover your mouse on the right edge to view your open apps"
1014#~ msgstr ""
1042#~ msgstr ""
1015#~ "Lebdite svojim mišem po desnom rubu kako bi vidjeli otvorene aplikacije"
1043#~ "Lebdite svojim mišem po desnom rubu kako bi vidjeli otvorene aplikacije"
1044+
1045+#~ msgid "Please re-enter"
1046+#~ msgstr "Ponovno upišite"
1047+
1048+#~ msgid "Log out"
1049+#~ msgstr "Odjava"
1050+
1051+#~ msgid "Reboot"
1052+#~ msgstr "Ponovno pokretanje"
1053+
1054+#~ msgid "Shut down"
1055+#~ msgstr "Isključivanje"
1056+
1057+#~ msgid "Try swiping from the top edge to access the indicators"
1058+#~ msgstr "Za pristup indikatorima pokušajte povući s desnog ruba"
1059+
1060+#~ msgid "Try swiping from the right edge to unlock the phone"
1061+#~ msgstr "Za otključavanje telefona pokušajte povući s desnog ruba"
1062+
1063+#~ msgid "Swipe up again to close the settings screen"
1064+#~ msgstr "Za zatvaranje zaslona postavki povucite prema gore"
1065+
1066+#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
1067+#~ msgstr ""
1068+#~ "Za otkrivanje pokretača brzog pristupa aplikacijama povucite s lijeve strane"
1069+
1070+#~ msgid ""
1071+#~ "You have now mastered the edge gestures and can start using the "
1072+#~ "phone<br><br>Tap on the screen to start"
1073+#~ msgstr ""
1074+#~ "Uspješno ste ovladali korištenjem rubova zaslona i možete započeti s "
1075+#~ "korištenjem telefona<br><br>Dotaknite zaslon kako bi započeli"
1076+
1077+#~ msgid "Store"
1078+#~ msgstr "Pohrana"
po/hu.po+9−9
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2016-03-24 09:19+0000\n"
11"PO-Revision-Date: 2016-03-24 09:19+0000\n"
12"Last-Translator: Richard Somlói <ricsipontaz@gmail.com>\n"
12"Last-Translator: Richard Somlói <ricsipontaz@gmail.com>\n"
13"Language-Team: Hungarian <hu@li.org>\n"
13"Language-Team: Hungarian <hu@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -190,15 +190,15 @@ msgstr "Találatok finomítása"
190msgid "Reset"
190msgid "Reset"
191msgstr "Alaphelyzetbe állítás"
191msgstr "Alaphelyzetbe állítás"
192
192
193−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
193+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
194msgid "Show less"
194msgid "Show less"
195−msgstr ""
195+msgstr "Kevesebb"
196
196
197−#: qml/Dash/GenericScopeView.qml:570
197+#: qml/Dash/GenericScopeView.qml:579
198msgid "Show all"
198msgid "Show all"
199−msgstr ""
199+msgstr "Összes megjelenítése"
200
200
201−#: qml/Dash/GenericScopeView.qml:627
201+#: qml/Dash/GenericScopeView.qml:636
202msgctxt "Label: Hint for dash search line edit"
202msgctxt "Label: Hint for dash search line edit"
203msgid "Search"
203msgid "Search"
204msgstr "Keresés"
204msgstr "Keresés"
@@ -260,7 +260,7 @@ msgstr "Kezdőlapon"
260msgid "Also installed"
260msgid "Also installed"
261msgstr "Telepítve"
261msgstr "Telepítve"
262
262
263−#: qml/DisabledScreenNotice.qml:104
263+#: qml/DisabledScreenNotice.qml:109
264msgid ""
264msgid ""
265"Your device is now connected to an external display. Use this screen as a "
265"Your device is now connected to an external display. Use this screen as a "
266"touch pad to interact with the pointer."
266"touch pad to interact with the pointer."
po/hy.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2014-10-28 06:34+0000\n"
11"PO-Revision-Date: 2014-10-28 06:34+0000\n"
12"Last-Translator: Vahan Harutyunyan <Unknown>\n"
12"Last-Translator: Vahan Harutyunyan <Unknown>\n"
13"Language-Team: Armenian <hy@li.org>\n"
13"Language-Team: Armenian <hy@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -190,15 +190,15 @@ msgstr ""
190msgid "Reset"
190msgid "Reset"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
193+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
194msgid "Show less"
194msgid "Show less"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:570
197+#: qml/Dash/GenericScopeView.qml:579
198msgid "Show all"
198msgid "Show all"
199msgstr ""
199msgstr ""
200
200
201−#: qml/Dash/GenericScopeView.qml:627
201+#: qml/Dash/GenericScopeView.qml:636
202msgctxt "Label: Hint for dash search line edit"
202msgctxt "Label: Hint for dash search line edit"
203msgid "Search"
203msgid "Search"
204msgstr ""
204msgstr ""
@@ -260,7 +260,7 @@ msgstr ""
260msgid "Also installed"
260msgid "Also installed"
261msgstr ""
261msgstr ""
262
262
263−#: qml/DisabledScreenNotice.qml:104
263+#: qml/DisabledScreenNotice.qml:109
264msgid ""
264msgid ""
265"Your device is now connected to an external display. Use this screen as a "
265"Your device is now connected to an external display. Use this screen as a "
266"touch pad to interact with the pointer."
266"touch pad to interact with the pointer."
po/ia.po+9−9
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-08-25 19:31+0000\n"
11"PO-Revision-Date: 2015-08-25 19:31+0000\n"
12"Last-Translator: karm <melo@carmu.com>\n"
12"Last-Translator: karm <melo@carmu.com>\n"
13"Language-Team: Interlingua <ia@li.org>\n"
13"Language-Team: Interlingua <ia@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -190,15 +190,15 @@ msgstr "Poli tu resultatos"
190msgid "Reset"
190msgid "Reset"
191msgstr "Restabilir"
191msgstr "Restabilir"
192
192
193−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
193+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
194msgid "Show less"
194msgid "Show less"
195−msgstr ""
195+msgstr "Monstrar minus"
196
196
197−#: qml/Dash/GenericScopeView.qml:570
197+#: qml/Dash/GenericScopeView.qml:579
198msgid "Show all"
198msgid "Show all"
199−msgstr ""
199+msgstr "Monstrar toto"
200
200
201−#: qml/Dash/GenericScopeView.qml:627
201+#: qml/Dash/GenericScopeView.qml:636
202msgctxt "Label: Hint for dash search line edit"
202msgctxt "Label: Hint for dash search line edit"
203msgid "Search"
203msgid "Search"
204msgstr "Cerca"
204msgstr "Cerca"
@@ -260,7 +260,7 @@ msgstr "A domo"
260msgid "Also installed"
260msgid "Also installed"
261msgstr "Ja installate"
261msgstr "Ja installate"
262
262
263−#: qml/DisabledScreenNotice.qml:104
263+#: qml/DisabledScreenNotice.qml:109
264msgid ""
264msgid ""
265"Your device is now connected to an external display. Use this screen as a "
265"Your device is now connected to an external display. Use this screen as a "
266"touch pad to interact with the pointer."
266"touch pad to interact with the pointer."
po/id.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2013-06-26 22:35+0000\n"
11"PO-Revision-Date: 2013-06-26 22:35+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Indonesian <id@li.org>\n"
13"Language-Team: Indonesian <id@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -189,15 +189,15 @@ msgstr ""
189msgid "Reset"
189msgid "Reset"
190msgstr ""
190msgstr ""
191
191
192−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
192+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
193msgid "Show less"
193msgid "Show less"
194msgstr ""
194msgstr ""
195
195
196−#: qml/Dash/GenericScopeView.qml:570
196+#: qml/Dash/GenericScopeView.qml:579
197msgid "Show all"
197msgid "Show all"
198msgstr ""
198msgstr ""
199
199
200−#: qml/Dash/GenericScopeView.qml:627
200+#: qml/Dash/GenericScopeView.qml:636
201msgctxt "Label: Hint for dash search line edit"
201msgctxt "Label: Hint for dash search line edit"
202msgid "Search"
202msgid "Search"
203msgstr ""
203msgstr ""
@@ -259,7 +259,7 @@ msgstr "Beranda"
259msgid "Also installed"
259msgid "Also installed"
260msgstr "Juga terpasang"
260msgstr "Juga terpasang"
261
261
262−#: qml/DisabledScreenNotice.qml:104
262+#: qml/DisabledScreenNotice.qml:109
263msgid ""
263msgid ""
264"Your device is now connected to an external display. Use this screen as a "
264"Your device is now connected to an external display. Use this screen as a "
265"touch pad to interact with the pointer."
265"touch pad to interact with the pointer."
po/is.po+7−7
@@ -9,7 +9,7 @@ msgid ""
9msgstr ""
9msgstr ""
10"Project-Id-Version: po_unity8-is\n"
10"Project-Id-Version: po_unity8-is\n"
11"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
11"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
12−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
12+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
13"PO-Revision-Date: 2014-11-13 09:32+0000\n"
13"PO-Revision-Date: 2014-11-13 09:32+0000\n"
14"Last-Translator: Sveinn í Felli <sv1@fellsnet.is>\n"
14"Last-Translator: Sveinn í Felli <sv1@fellsnet.is>\n"
15"Language-Team: Icelandic <translation-team-is@lists.sourceforge.net>\n"
15"Language-Team: Icelandic <translation-team-is@lists.sourceforge.net>\n"
@@ -17,8 +17,8 @@ msgstr ""
17"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Type: text/plain; charset=UTF-8\n"
18"Content-Transfer-Encoding: 8bit\n"
18"Content-Transfer-Encoding: 8bit\n"
19"Plural-Forms: nplurals=2; plural=n != 1;\n"
19"Plural-Forms: nplurals=2; plural=n != 1;\n"
20−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
20+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
21−"X-Generator: Launchpad (build 17995)\n"
21+"X-Generator: Launchpad (build 18053)\n"
22"Language: is\n"
22"Language: is\n"
23
23
24#: plugins/IntegratedLightDM/Greeter.cpp:112
24#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -195,15 +195,15 @@ msgstr ""
195msgid "Reset"
195msgid "Reset"
196msgstr ""
196msgstr ""
197
197
198−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
198+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
199msgid "Show less"
199msgid "Show less"
200msgstr ""
200msgstr ""
201
201
202−#: qml/Dash/GenericScopeView.qml:570
202+#: qml/Dash/GenericScopeView.qml:579
203msgid "Show all"
203msgid "Show all"
204msgstr ""
204msgstr ""
205
205
206−#: qml/Dash/GenericScopeView.qml:627
206+#: qml/Dash/GenericScopeView.qml:636
207msgctxt "Label: Hint for dash search line edit"
207msgctxt "Label: Hint for dash search line edit"
208msgid "Search"
208msgid "Search"
209msgstr ""
209msgstr ""
@@ -265,7 +265,7 @@ msgstr ""
265msgid "Also installed"
265msgid "Also installed"
266msgstr ""
266msgstr ""
267
267
268−#: qml/DisabledScreenNotice.qml:104
268+#: qml/DisabledScreenNotice.qml:109
269msgid ""
269msgid ""
270"Your device is now connected to an external display. Use this screen as a "
270"Your device is now connected to an external display. Use this screen as a "
271"touch pad to interact with the pointer."
271"touch pad to interact with the pointer."
po/it.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2016-04-03 16:08+0000\n"
11"PO-Revision-Date: 2016-04-03 16:08+0000\n"
12"Last-Translator: Milo Casagrande <milo.casagrande@gmail.com>\n"
12"Last-Translator: Milo Casagrande <milo.casagrande@gmail.com>\n"
13"Language-Team: Italian <it@li.org>\n"
13"Language-Team: Italian <it@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -194,15 +194,15 @@ msgstr "Affina la ricerca"
194msgid "Reset"
194msgid "Reset"
195msgstr "Azzera"
195msgstr "Azzera"
196
196
197−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
197+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
198msgid "Show less"
198msgid "Show less"
199−msgstr ""
199+msgstr "Mostra di meno"
200
200
201−#: qml/Dash/GenericScopeView.qml:570
201+#: qml/Dash/GenericScopeView.qml:579
202msgid "Show all"
202msgid "Show all"
203−msgstr ""
203+msgstr "Mostra tutto"
204
204
205−#: qml/Dash/GenericScopeView.qml:627
205+#: qml/Dash/GenericScopeView.qml:636
206msgctxt "Label: Hint for dash search line edit"
206msgctxt "Label: Hint for dash search line edit"
207msgid "Search"
207msgid "Search"
208msgstr "Cerca"
208msgstr "Cerca"
@@ -264,7 +264,7 @@ msgstr "Home"
264msgid "Also installed"
264msgid "Also installed"
265msgstr "Installato anche"
265msgstr "Installato anche"
266
266
267−#: qml/DisabledScreenNotice.qml:104
267+#: qml/DisabledScreenNotice.qml:109
268msgid ""
268msgid ""
269"Your device is now connected to an external display. Use this screen as a "
269"Your device is now connected to an external display. Use this screen as a "
270"touch pad to interact with the pointer."
270"touch pad to interact with the pointer."
@@ -309,7 +309,7 @@ msgid ""
309"If passcode is entered incorrectly, your phone will conduct a factory reset "
309"If passcode is entered incorrectly, your phone will conduct a factory reset "
310"and all personal data will be deleted."
310"and all personal data will be deleted."
311msgstr ""
311msgstr ""
312−"Se verrà inserito una passcode errato, il telefono eseguirà un ripristino "
312+"Se verrà inserito un passcode errato, il telefono eseguirà un ripristino "
313"delle impostazioni di fabbrica e tutti i dati personali verranno eliminati."
313"delle impostazioni di fabbrica e tutti i dati personali verranno eliminati."
314
314
315#: qml/Greeter/NarrowView.qml:116
315#: qml/Greeter/NarrowView.qml:116
@@ -465,7 +465,7 @@ msgstr "Scorrere dal bordo sinistro per aprire il launcher"
465
465
466#: qml/Tutorial/TutorialRight.qml:55
466#: qml/Tutorial/TutorialRight.qml:55
467msgid "Push your mouse against the right edge to view your open apps"
467msgid "Push your mouse against the right edge to view your open apps"
468−msgstr ""
468+msgstr "Spostare il mouse sul bordo destro per vedere le app aperte"
469
469
470#: qml/Tutorial/TutorialRight.qml:56
470#: qml/Tutorial/TutorialRight.qml:56
471msgid "Short or long swipe from the right edge to view your open apps"
471msgid "Short or long swipe from the right edge to view your open apps"
po/ja.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-10-05 10:05+0000\n"
11"PO-Revision-Date: 2015-10-05 10:05+0000\n"
12"Last-Translator: Kentaro Kazuhama <Unknown>\n"
12"Last-Translator: Kentaro Kazuhama <Unknown>\n"
13"Language-Team: Japanese <ja@li.org>\n"
13"Language-Team: Japanese <ja@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -185,15 +185,15 @@ msgstr ""
185msgid "Reset"
185msgid "Reset"
186msgstr ""
186msgstr ""
187
187
188−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
188+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
189msgid "Show less"
189msgid "Show less"
190msgstr ""
190msgstr ""
191
191
192−#: qml/Dash/GenericScopeView.qml:570
192+#: qml/Dash/GenericScopeView.qml:579
193msgid "Show all"
193msgid "Show all"
194msgstr ""
194msgstr ""
195
195
196−#: qml/Dash/GenericScopeView.qml:627
196+#: qml/Dash/GenericScopeView.qml:636
197msgctxt "Label: Hint for dash search line edit"
197msgctxt "Label: Hint for dash search line edit"
198msgid "Search"
198msgid "Search"
199msgstr ""
199msgstr ""
@@ -255,7 +255,7 @@ msgstr ""
255msgid "Also installed"
255msgid "Also installed"
256msgstr ""
256msgstr ""
257
257
258−#: qml/DisabledScreenNotice.qml:104
258+#: qml/DisabledScreenNotice.qml:109
259msgid ""
259msgid ""
260"Your device is now connected to an external display. Use this screen as a "
260"Your device is now connected to an external display. Use this screen as a "
261"touch pad to interact with the pointer."
261"touch pad to interact with the pointer."
po/km.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2014-08-20 02:48+0000\n"
11"PO-Revision-Date: 2014-08-20 02:48+0000\n"
12"Last-Translator: Sophea Sok <sksophea@gmail.com>\n"
12"Last-Translator: Sophea Sok <sksophea@gmail.com>\n"
13"Language-Team: Khmer <km@li.org>\n"
13"Language-Team: Khmer <km@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -188,15 +188,15 @@ msgstr ""
188msgid "Reset"
188msgid "Reset"
189msgstr "កំណត់​ឡើង​វិញ​"
189msgstr "កំណត់​ឡើង​វិញ​"
190
190
191−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
191+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
192msgid "Show less"
192msgid "Show less"
193msgstr ""
193msgstr ""
194
194
195−#: qml/Dash/GenericScopeView.qml:570
195+#: qml/Dash/GenericScopeView.qml:579
196msgid "Show all"
196msgid "Show all"
197msgstr ""
197msgstr ""
198
198
199−#: qml/Dash/GenericScopeView.qml:627
199+#: qml/Dash/GenericScopeView.qml:636
200msgctxt "Label: Hint for dash search line edit"
200msgctxt "Label: Hint for dash search line edit"
201msgid "Search"
201msgid "Search"
202msgstr "ស្វែងរក"
202msgstr "ស្វែងរក"
@@ -258,7 +258,7 @@ msgstr "ផ្ទះ"
258msgid "Also installed"
258msgid "Also installed"
259msgstr ""
259msgstr ""
260
260
261−#: qml/DisabledScreenNotice.qml:104
261+#: qml/DisabledScreenNotice.qml:109
262msgid ""
262msgid ""
263"Your device is now connected to an external display. Use this screen as a "
263"Your device is now connected to an external display. Use this screen as a "
264"touch pad to interact with the pointer."
264"touch pad to interact with the pointer."
po/kn.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2013-06-27 05:43+0000\n"
11"PO-Revision-Date: 2013-06-27 05:43+0000\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
13"Language-Team: Kannada <kn@li.org>\n"
13"Language-Team: Kannada <kn@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -186,15 +186,15 @@ msgstr ""
186msgid "Reset"
186msgid "Reset"
187msgstr ""
187msgstr ""
188
188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190msgid "Show less"
190msgid "Show less"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194msgid "Show all"
194msgid "Show all"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198msgctxt "Label: Hint for dash search line edit"
198msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
199msgid "Search"
200msgstr ""
200msgstr ""
@@ -256,7 +256,7 @@ msgstr ""
256msgid "Also installed"
256msgid "Also installed"
257msgstr ""
257msgstr ""
258
258
259−#: qml/DisabledScreenNotice.qml:104
259+#: qml/DisabledScreenNotice.qml:109
260msgid ""
260msgid ""
261"Your device is now connected to an external display. Use this screen as a "
261"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
262"touch pad to interact with the pointer."
po/ko.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2014-08-19 13:02+0000\n"
11"PO-Revision-Date: 2014-08-19 13:02+0000\n"
12"Last-Translator: MinSik CHO <Unknown>\n"
12"Last-Translator: MinSik CHO <Unknown>\n"
13"Language-Team: Korean <ko@li.org>\n"
13"Language-Team: Korean <ko@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -185,15 +185,15 @@ msgstr ""
185msgid "Reset"
185msgid "Reset"
186msgstr ""
186msgstr ""
187
187
188−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
188+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
189msgid "Show less"
189msgid "Show less"
190msgstr ""
190msgstr ""
191
191
192−#: qml/Dash/GenericScopeView.qml:570
192+#: qml/Dash/GenericScopeView.qml:579
193msgid "Show all"
193msgid "Show all"
194msgstr ""
194msgstr ""
195
195
196−#: qml/Dash/GenericScopeView.qml:627
196+#: qml/Dash/GenericScopeView.qml:636
197msgctxt "Label: Hint for dash search line edit"
197msgctxt "Label: Hint for dash search line edit"
198msgid "Search"
198msgid "Search"
199msgstr "검색"
199msgstr "검색"
@@ -255,7 +255,7 @@ msgstr "홈"
255msgid "Also installed"
255msgid "Also installed"
256msgstr "설치함"
256msgstr "설치함"
257
257
258−#: qml/DisabledScreenNotice.qml:104
258+#: qml/DisabledScreenNotice.qml:109
259msgid ""
259msgid ""
260"Your device is now connected to an external display. Use this screen as a "
260"Your device is now connected to an external display. Use this screen as a "
261"touch pad to interact with the pointer."
261"touch pad to interact with the pointer."
po/ku.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2014-09-10 13:14+0000\n"
11"PO-Revision-Date: 2014-09-10 13:14+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Kurdish <ku@li.org>\n"
13"Language-Team: Kurdish <ku@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -188,15 +188,15 @@ msgstr ""
188msgid "Reset"
188msgid "Reset"
189msgstr ""
189msgstr ""
190
190
191−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
191+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
192msgid "Show less"
192msgid "Show less"
193msgstr ""
193msgstr ""
194
194
195−#: qml/Dash/GenericScopeView.qml:570
195+#: qml/Dash/GenericScopeView.qml:579
196msgid "Show all"
196msgid "Show all"
197msgstr ""
197msgstr ""
198
198
199−#: qml/Dash/GenericScopeView.qml:627
199+#: qml/Dash/GenericScopeView.qml:636
200msgctxt "Label: Hint for dash search line edit"
200msgctxt "Label: Hint for dash search line edit"
201msgid "Search"
201msgid "Search"
202msgstr ""
202msgstr ""
@@ -258,7 +258,7 @@ msgstr ""
258msgid "Also installed"
258msgid "Also installed"
259msgstr ""
259msgstr ""
260
260
261−#: qml/DisabledScreenNotice.qml:104
261+#: qml/DisabledScreenNotice.qml:109
262msgid ""
262msgid ""
263"Your device is now connected to an external display. Use this screen as a "
263"Your device is now connected to an external display. Use this screen as a "
264"touch pad to interact with the pointer."
264"touch pad to interact with the pointer."
po/ky.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2013-06-27 06:17+0000\n"
11"PO-Revision-Date: 2013-06-27 06:17+0000\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
13"Language-Team: Kirghiz <ky@li.org>\n"
13"Language-Team: Kirghiz <ky@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -186,15 +186,15 @@ msgstr ""
186msgid "Reset"
186msgid "Reset"
187msgstr ""
187msgstr ""
188
188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190msgid "Show less"
190msgid "Show less"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194msgid "Show all"
194msgid "Show all"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198msgctxt "Label: Hint for dash search line edit"
198msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
199msgid "Search"
200msgstr ""
200msgstr ""
@@ -256,7 +256,7 @@ msgstr ""
256msgid "Also installed"
256msgid "Also installed"
257msgstr ""
257msgstr ""
258
258
259−#: qml/DisabledScreenNotice.qml:104
259+#: qml/DisabledScreenNotice.qml:109
260msgid ""
260msgid ""
261"Your device is now connected to an external display. Use this screen as a "
261"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
262"touch pad to interact with the pointer."
po/lo.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2013-10-02 10:00+0000\n"
11"PO-Revision-Date: 2013-10-02 10:00+0000\n"
12"Last-Translator: Anousak <anousak@gmail.com>\n"
12"Last-Translator: Anousak <anousak@gmail.com>\n"
13"Language-Team: Lao <lo@li.org>\n"
13"Language-Team: Lao <lo@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -186,15 +186,15 @@ msgstr ""
186msgid "Reset"
186msgid "Reset"
187msgstr ""
187msgstr ""
188
188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190msgid "Show less"
190msgid "Show less"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194msgid "Show all"
194msgid "Show all"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198msgctxt "Label: Hint for dash search line edit"
198msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
199msgid "Search"
200msgstr ""
200msgstr ""
@@ -256,7 +256,7 @@ msgstr ""
256msgid "Also installed"
256msgid "Also installed"
257msgstr ""
257msgstr ""
258
258
259−#: qml/DisabledScreenNotice.qml:104
259+#: qml/DisabledScreenNotice.qml:109
260msgid ""
260msgid ""
261"Your device is now connected to an external display. Use this screen as a "
261"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
262"touch pad to interact with the pointer."
po/lt.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2014-05-19 17:15+0000\n"
11"PO-Revision-Date: 2014-05-19 17:15+0000\n"
12"Last-Translator: Mantas Kriaučiūnas <mantas@akl.lt>\n"
12"Last-Translator: Mantas Kriaučiūnas <mantas@akl.lt>\n"
13"Language-Team: Lithuanian <lt@li.org>\n"
13"Language-Team: Lithuanian <lt@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"(n%100<10 || n%100>=20) ? 1 : 2;\n"
18"(n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
19+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
20−"X-Generator: Launchpad (build 17995)\n"
20+"X-Generator: Launchpad (build 18053)\n"
21
21
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
@@ -187,15 +187,15 @@ msgstr ""
187msgid "Reset"
187msgid "Reset"
188msgstr ""
188msgstr ""
189
189
190−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
190+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
191msgid "Show less"
191msgid "Show less"
192msgstr ""
192msgstr ""
193
193
194−#: qml/Dash/GenericScopeView.qml:570
194+#: qml/Dash/GenericScopeView.qml:579
195msgid "Show all"
195msgid "Show all"
196msgstr ""
196msgstr ""
197
197
198−#: qml/Dash/GenericScopeView.qml:627
198+#: qml/Dash/GenericScopeView.qml:636
199msgctxt "Label: Hint for dash search line edit"
199msgctxt "Label: Hint for dash search line edit"
200msgid "Search"
200msgid "Search"
201msgstr ""
201msgstr ""
@@ -257,7 +257,7 @@ msgstr ""
257msgid "Also installed"
257msgid "Also installed"
258msgstr ""
258msgstr ""
259
259
260−#: qml/DisabledScreenNotice.qml:104
260+#: qml/DisabledScreenNotice.qml:109
261msgid ""
261msgid ""
262"Your device is now connected to an external display. Use this screen as a "
262"Your device is now connected to an external display. Use this screen as a "
263"touch pad to interact with the pointer."
263"touch pad to interact with the pointer."
po/lv.po+7−7
@@ -8,7 +8,7 @@ msgid ""
8msgstr ""
8msgstr ""
9"Project-Id-Version: unity\n"
9"Project-Id-Version: unity\n"
10"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
11−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
11+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
12"PO-Revision-Date: 2015-11-22 19:13+0000\n"
12"PO-Revision-Date: 2015-11-22 19:13+0000\n"
13"Last-Translator: Klavs Anson <anson.klavs@gmail.com>\n"
13"Last-Translator: Klavs Anson <anson.klavs@gmail.com>\n"
14"Language-Team: Latvian <lata-l10n@googlegroups.com>\n"
14"Language-Team: Latvian <lata-l10n@googlegroups.com>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
18"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n"
18"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
19+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
20−"X-Generator: Launchpad (build 17995)\n"
20+"X-Generator: Launchpad (build 18053)\n"
21"Language: lv\n"
21"Language: lv\n"
22
22
23#: plugins/IntegratedLightDM/Greeter.cpp:112
23#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -191,15 +191,15 @@ msgstr ""
191msgid "Reset"
191msgid "Reset"
192msgstr ""
192msgstr ""
193
193
194−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
194+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
195msgid "Show less"
195msgid "Show less"
196msgstr ""
196msgstr ""
197
197
198−#: qml/Dash/GenericScopeView.qml:570
198+#: qml/Dash/GenericScopeView.qml:579
199msgid "Show all"
199msgid "Show all"
200msgstr ""
200msgstr ""
201
201
202−#: qml/Dash/GenericScopeView.qml:627
202+#: qml/Dash/GenericScopeView.qml:636
203msgctxt "Label: Hint for dash search line edit"
203msgctxt "Label: Hint for dash search line edit"
204msgid "Search"
204msgid "Search"
205msgstr "Meklēt"
205msgstr "Meklēt"
@@ -261,7 +261,7 @@ msgstr "Mājas"
261msgid "Also installed"
261msgid "Also installed"
262msgstr "Arī instalēja"
262msgstr "Arī instalēja"
263
263
264−#: qml/DisabledScreenNotice.qml:104
264+#: qml/DisabledScreenNotice.qml:109
265msgid ""
265msgid ""
266"Your device is now connected to an external display. Use this screen as a "
266"Your device is now connected to an external display. Use this screen as a "
267"touch pad to interact with the pointer."
267"touch pad to interact with the pointer."
po/ml.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2013-11-23 11:44+0000\n"
11"PO-Revision-Date: 2013-11-23 11:44+0000\n"
12"Last-Translator: ST Alfas <Unknown>\n"
12"Last-Translator: ST Alfas <Unknown>\n"
13"Language-Team: Malayalam <ml@li.org>\n"
13"Language-Team: Malayalam <ml@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -186,15 +186,15 @@ msgstr ""
186msgid "Reset"
186msgid "Reset"
187msgstr ""
187msgstr ""
188
188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190msgid "Show less"
190msgid "Show less"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194msgid "Show all"
194msgid "Show all"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198msgctxt "Label: Hint for dash search line edit"
198msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
199msgid "Search"
200msgstr ""
200msgstr ""
@@ -256,7 +256,7 @@ msgstr ""
256msgid "Also installed"
256msgid "Also installed"
257msgstr ""
257msgstr ""
258
258
259−#: qml/DisabledScreenNotice.qml:104
259+#: qml/DisabledScreenNotice.qml:109
260msgid ""
260msgid ""
261"Your device is now connected to an external display. Use this screen as a "
261"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
262"touch pad to interact with the pointer."
po/mr.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2014-01-14 19:54+0000\n"
11"PO-Revision-Date: 2014-01-14 19:54+0000\n"
12"Last-Translator: Rohan Deshmukh <Unknown>\n"
12"Last-Translator: Rohan Deshmukh <Unknown>\n"
13"Language-Team: Marathi <mr@li.org>\n"
13"Language-Team: Marathi <mr@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -186,15 +186,15 @@ msgstr ""
186msgid "Reset"
186msgid "Reset"
187msgstr ""
187msgstr ""
188
188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190msgid "Show less"
190msgid "Show less"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194msgid "Show all"
194msgid "Show all"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198msgctxt "Label: Hint for dash search line edit"
198msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
199msgid "Search"
200msgstr "शोध"
200msgstr "शोध"
@@ -256,7 +256,7 @@ msgstr ""
256msgid "Also installed"
256msgid "Also installed"
257msgstr ""
257msgstr ""
258
258
259−#: qml/DisabledScreenNotice.qml:104
259+#: qml/DisabledScreenNotice.qml:109
260msgid ""
260msgid ""
261"Your device is now connected to an external display. Use this screen as a "
261"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
262"touch pad to interact with the pointer."
po/ms.po+97−76
@@ -7,16 +7,16 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11−"PO-Revision-Date: 2014-01-17 09:05+0000\n"
11+"PO-Revision-Date: 2016-05-24 01:36+0000\n"
12"Last-Translator: abuyop <Unknown>\n"
12"Last-Translator: abuyop <Unknown>\n"
13"Language-Team: Malay <ms@li.org>\n"
13"Language-Team: Malay <ms@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -125,7 +125,7 @@ msgstr "Kembali ke Panggilan"
125
125
126#: qml/Components/Lockscreen.qml:231
126#: qml/Components/Lockscreen.qml:231
127msgid "Emergency Call"
127msgid "Emergency Call"
128−msgstr "panggilan Kecemasan"
128+msgstr "Panggilan Kecemasan"
129
129
130#: qml/Components/Lockscreen.qml:263
130#: qml/Components/Lockscreen.qml:263
131msgid "OK"
131msgid "OK"
@@ -139,7 +139,7 @@ msgstr "Apl mungkin mempunyai data tidak disimpan:"
139msgctxt ""
139msgctxt ""
140"Re-dock means connect the device again to an external screen/mouse/keyboard"
140"Re-dock means connect the device again to an external screen/mouse/keyboard"
141msgid "Re-dock, save your work and close these apps to continue."
141msgid "Re-dock, save your work and close these apps to continue."
142−msgstr ""
142+msgstr "Labuh-semula, simpan kerja anda dan tutup apl ini untuk teruskan."
143
143
144#: qml/Components/ModeSwitchWarningDialog.qml:63
144#: qml/Components/ModeSwitchWarningDialog.qml:63
145msgid "Or force close now (unsaved data will be lost)."
145msgid "Or force close now (unsaved data will be lost)."
@@ -182,32 +182,32 @@ msgstr "Tambah ke Kegemaran"
182
182
183#: qml/Dash/FiltersPopover.qml:60
183#: qml/Dash/FiltersPopover.qml:60
184msgid "Refine your results"
184msgid "Refine your results"
185−msgstr ""
185+msgstr "Takrif keputusan anda"
186
186
187#: qml/Dash/FiltersPopover.qml:69
187#: qml/Dash/FiltersPopover.qml:69
188msgid "Reset"
188msgid "Reset"
189−msgstr ""
189+msgstr "Tetap Semula"
190
190
191−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
191+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
192msgid "Show less"
192msgid "Show less"
193−msgstr ""
193+msgstr "Tunjuk sedikit"
194
194
195−#: qml/Dash/GenericScopeView.qml:570
195+#: qml/Dash/GenericScopeView.qml:579
196msgid "Show all"
196msgid "Show all"
197−msgstr ""
197+msgstr "Tunjuk semua"
198
198
199−#: qml/Dash/GenericScopeView.qml:627
199+#: qml/Dash/GenericScopeView.qml:636
200msgctxt "Label: Hint for dash search line edit"
200msgctxt "Label: Hint for dash search line edit"
201msgid "Search"
201msgid "Search"
202msgstr "Gelintar"
202msgstr "Gelintar"
203
203
204#: qml/Dash/PageHeaderExtraPanel.qml:55
204#: qml/Dash/PageHeaderExtraPanel.qml:55
205msgid "Recent Searches"
205msgid "Recent Searches"
206−msgstr ""
206+msgstr "Gelintar Baru-baru Ini"
207
207
208#: qml/Dash/PageHeaderExtraPanel.qml:66
208#: qml/Dash/PageHeaderExtraPanel.qml:66
209msgid "Clear All"
209msgid "Clear All"
210−msgstr ""
210+msgstr "Kosongkan Semua"
211
211
212#: qml/Dash/Previews/PreviewActionCombo.qml:35
212#: qml/Dash/Previews/PreviewActionCombo.qml:35
213msgid "More..."
213msgid "More..."
@@ -258,11 +258,13 @@ msgstr "Rumah"
258msgid "Also installed"
258msgid "Also installed"
259msgstr "Juga dipasang"
259msgstr "Juga dipasang"
260
260
261−#: qml/DisabledScreenNotice.qml:104
261+#: qml/DisabledScreenNotice.qml:109
262msgid ""
262msgid ""
263"Your device is now connected to an external display. Use this screen as a "
263"Your device is now connected to an external display. Use this screen as a "
264"touch pad to interact with the pointer."
264"touch pad to interact with the pointer."
265msgstr ""
265msgstr ""
266+"Peranti anda kini bersambung dengan paparan luar. Guna skrin ini sebagai pad "
267+"sentuh untuk berinteraksi dengan penuding."
266
268
267#: qml/Greeter/CoverPage.qml:118
269#: qml/Greeter/CoverPage.qml:118
268msgid "Unlock"
270msgid "Unlock"
@@ -392,7 +394,7 @@ msgstr "Memuat turun"
392
394
393#: qml/Panel/Indicators/MenuItemFactory.qml:917
395#: qml/Panel/Indicators/MenuItemFactory.qml:917
394msgid "Paused, tap to resume"
396msgid "Paused, tap to resume"
395−msgstr "Dijeda, ketuk untuk sambung semula"
397+msgstr "Dijeda, ketik untuk sambung semula"
396
398
397#: qml/Panel/Indicators/MenuItemFactory.qml:919
399#: qml/Panel/Indicators/MenuItemFactory.qml:919
398msgid "Canceled"
400msgid "Canceled"
@@ -404,7 +406,7 @@ msgstr "Selesai"
404
406
405#: qml/Panel/Indicators/MenuItemFactory.qml:923
407#: qml/Panel/Indicators/MenuItemFactory.qml:923
406msgid "Failed, tap to retry"
408msgid "Failed, tap to retry"
407−msgstr "Gagal, ketuk untuk cuba lagi"
409+msgstr "Gagal, ketik untuk cuba lagi"
408
410
409#: qml/Panel/Indicators/MessageMenuItemFactory.qml:155
411#: qml/Panel/Indicators/MessageMenuItemFactory.qml:155
410#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
412#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
@@ -425,50 +427,56 @@ msgstr "Panggilan semula"
425#: qml/Stages/SideStage.qml:76
427#: qml/Stages/SideStage.qml:76
426msgid "Drag using 3 fingers any application from one window to the other"
428msgid "Drag using 3 fingers any application from one window to the other"
427msgstr ""
429msgstr ""
430+"Seret menggunakan 3 jari pada mana-mana aplik dari satu tetingkap ke "
431+"tetingkap yang lain"
428
432
429#: qml/Tutorial/TutorialBottom.qml:78
433#: qml/Tutorial/TutorialBottom.qml:78
430msgid "Swipe up to add a contact"
434msgid "Swipe up to add a contact"
431−msgstr ""
435+msgstr "Leret ke atas untuk menambah kenalan"
432
436
433#: qml/Tutorial/TutorialBottom.qml:80
437#: qml/Tutorial/TutorialBottom.qml:80
434msgid "Swipe up for favorite calculations"
438msgid "Swipe up for favorite calculations"
435−msgstr ""
439+msgstr "Leret ke atas untuk pengiraan kegemaran"
436
440
437#: qml/Tutorial/TutorialBottom.qml:82
441#: qml/Tutorial/TutorialBottom.qml:82
438msgid "Swipe up for recent calls"
442msgid "Swipe up for recent calls"
439−msgstr ""
443+msgstr "Leret ke atas untuk panggilan baru-baru ini"
440
444
441#: qml/Tutorial/TutorialBottom.qml:84
445#: qml/Tutorial/TutorialBottom.qml:84
442msgid "Swipe up to create a message"
446msgid "Swipe up to create a message"
443−msgstr ""
447+msgstr "Leret ke atas untuk cipta satu mesej"
444
448
445#: qml/Tutorial/TutorialBottom.qml:85
449#: qml/Tutorial/TutorialBottom.qml:85
446msgid "Swipe up to manage the app"
450msgid "Swipe up to manage the app"
447−msgstr ""
451+msgstr "Leret ke atas untuk mengurus apl"
448
452
449#: qml/Tutorial/TutorialLeftLong.qml:47
453#: qml/Tutorial/TutorialLeftLong.qml:47
450msgid "Long swipe from the left edge to open the Today scope"
454msgid "Long swipe from the left edge to open the Today scope"
451−msgstr ""
455+msgstr "Leret panjang dari pinggir kiri untuk membuka skop Hari Ini"
452
456
453#: qml/Tutorial/TutorialLeft.qml:47
457#: qml/Tutorial/TutorialLeft.qml:47
454msgid "Swipe from the left edge to open the launcher"
458msgid "Swipe from the left edge to open the launcher"
455−msgstr ""
459+msgstr "Leret dari pinggir kiri untuk membuka pelancar"
456
460
457#: qml/Tutorial/TutorialRight.qml:55
461#: qml/Tutorial/TutorialRight.qml:55
458msgid "Push your mouse against the right edge to view your open apps"
462msgid "Push your mouse against the right edge to view your open apps"
459msgstr ""
463msgstr ""
464+"Tolak penuding tetikus anda ke pinggir kanan untuk melihat apl yang telah "
465+"dibuka"
460
466
461#: qml/Tutorial/TutorialRight.qml:56
467#: qml/Tutorial/TutorialRight.qml:56
462msgid "Short or long swipe from the right edge to view your open apps"
468msgid "Short or long swipe from the right edge to view your open apps"
463msgstr ""
469msgstr ""
470+"Leret pendek atau panjang dari pinggir kanan untuk melihat apl yang telah "
471+"dibuka"
464
472
465#: qml/Tutorial/TutorialTop.qml:53
473#: qml/Tutorial/TutorialTop.qml:53
466msgid "Swipe from the top right edge to open the notification bar"
474msgid "Swipe from the top right edge to open the notification bar"
467−msgstr ""
475+msgstr "Leret dari pinggir kanan atas untuk membuka palang pemberitahuan"
468
476
469#: qml/Tutorial/TutorialTop.qml:54
477#: qml/Tutorial/TutorialTop.qml:54
470msgid "Swipe from the top edge to open the notification bar"
478msgid "Swipe from the top edge to open the notification bar"
471−msgstr ""
479+msgstr "Leret dari pinggir atas untuk membuka palang pemberitahuan"
472
480
473#: qml/Wizard/Page.qml:54
481#: qml/Wizard/Page.qml:54
474msgctxt "Button: Go back one page in the Wizard"
482msgctxt "Button: Go back one page in the Wizard"
@@ -477,7 +485,7 @@ msgstr "Kembali"
477
485
478#: qml/Wizard/Pages/10-welcome.qml:27
486#: qml/Wizard/Pages/10-welcome.qml:27
479msgid "Language"
487msgid "Language"
480−msgstr ""
488+msgstr "Bahasa"
481
489
482#: qml/Wizard/Pages/10-welcome.qml:156 qml/Wizard/Pages/30-wifi.qml:206
490#: qml/Wizard/Pages/10-welcome.qml:156 qml/Wizard/Pages/30-wifi.qml:206
483#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:267
491#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:267
@@ -486,7 +494,7 @@ msgstr ""
486#: qml/Wizard/Pages/passcode-desktop.qml:124
494#: qml/Wizard/Pages/passcode-desktop.qml:124
487#: qml/Wizard/Pages/password-set.qml:141
495#: qml/Wizard/Pages/password-set.qml:141
488msgid "Next"
496msgid "Next"
489−msgstr ""
497+msgstr "Berikutnya"
490
498
491#: qml/Wizard/Pages/30-wifi.qml:29
499#: qml/Wizard/Pages/30-wifi.qml:29
492msgid "Connect to Wi‑Fi"
500msgid "Connect to Wi‑Fi"
@@ -494,15 +502,15 @@ msgstr "Sambung ke Wi-Fi"
494
502
495#: qml/Wizard/Pages/30-wifi.qml:130
503#: qml/Wizard/Pages/30-wifi.qml:130
496msgid "Connected"
504msgid "Connected"
497−msgstr ""
505+msgstr "Bersambung"
498
506
499#: qml/Wizard/Pages/30-wifi.qml:163
507#: qml/Wizard/Pages/30-wifi.qml:163
500msgid "Available Wi-Fi networks"
508msgid "Available Wi-Fi networks"
501−msgstr ""
509+msgstr "Rangkaian Wi-Fi tersedia"
502
510
503#: qml/Wizard/Pages/30-wifi.qml:164
511#: qml/Wizard/Pages/30-wifi.qml:164
504msgid "No available Wi-Fi networks"
512msgid "No available Wi-Fi networks"
505−msgstr ""
513+msgstr "Tiada rangkaian Wi-Fi tersedia"
506
514
507#: qml/Wizard/Pages/30-wifi.qml:206 qml/Wizard/Pages/60-account.qml:65
515#: qml/Wizard/Pages/30-wifi.qml:206 qml/Wizard/Pages/60-account.qml:65
508#: qml/Wizard/Pages/sim.qml:101
516#: qml/Wizard/Pages/sim.qml:101
@@ -511,98 +519,101 @@ msgstr "Langkau"
511
519
512#: qml/Wizard/Pages/40-location.qml:27
520#: qml/Wizard/Pages/40-location.qml:27
513msgid "Location Services"
521msgid "Location Services"
514−msgstr ""
522+msgstr "Perkhidmatan Lokasi"
515
523
516#: qml/Wizard/Pages/40-location.qml:83
524#: qml/Wizard/Pages/40-location.qml:83
517msgid ""
525msgid ""
518"Use GPS, Wi-Fi hotspots and mobile network anonymously to detect location "
526"Use GPS, Wi-Fi hotspots and mobile network anonymously to detect location "
519"(recommended)"
527"(recommended)"
520msgstr ""
528msgstr ""
529+"Guna GPS, hotspot Wi-Fi dan rangkaian mudah alih secara awanama untuk "
530+"mengesan lokasi (disarankan)"
521
531
522#: qml/Wizard/Pages/40-location.qml:105
532#: qml/Wizard/Pages/40-location.qml:105
523#, qt-format
533#, qt-format
524msgid "By selecting this option you agree to the Nokia HERE %1."
534msgid "By selecting this option you agree to the Nokia HERE %1."
525−msgstr ""
535+msgstr "Dengan memilih pilihan ini anda bersetuju dengan Nokia HERE %1."
526
536
527#: qml/Wizard/Pages/40-location.qml:106
537#: qml/Wizard/Pages/40-location.qml:106
528msgctxt "part of: Nokia HERE terms and conditions"
538msgctxt "part of: Nokia HERE terms and conditions"
529msgid "terms and conditions"
539msgid "terms and conditions"
530−msgstr ""
540+msgstr "terma dan syarat"
531
541
532#: qml/Wizard/Pages/40-location.qml:160
542#: qml/Wizard/Pages/40-location.qml:160
533msgid "GPS only"
543msgid "GPS only"
534−msgstr ""
544+msgstr "GPS sahaja"
535
545
536#: qml/Wizard/Pages/40-location.qml:214
546#: qml/Wizard/Pages/40-location.qml:214
537msgid "Don't use my location"
547msgid "Don't use my location"
538−msgstr ""
548+msgstr "Jangan guna lokasi saya"
539
549
540#: qml/Wizard/Pages/40-location.qml:260
550#: qml/Wizard/Pages/40-location.qml:260
541msgid "You can change it later in System Settings."
551msgid "You can change it later in System Settings."
542−msgstr ""
552+msgstr "Anda boleh mengubahnya kemudian di dalam Tetapan Sistem."
543
553
544#: qml/Wizard/Pages/50-timezone.qml:29
554#: qml/Wizard/Pages/50-timezone.qml:29
545msgid "Time Zone"
555msgid "Time Zone"
546−msgstr ""
556+msgstr "Zon Waktu"
547
557
548#: qml/Wizard/Pages/50-timezone.qml:178
558#: qml/Wizard/Pages/50-timezone.qml:178
549msgid "Enter your city"
559msgid "Enter your city"
550−msgstr ""
560+msgstr "Masukkan bandar anda"
551
561
552#: qml/Wizard/Pages/60-account.qml:24
562#: qml/Wizard/Pages/60-account.qml:24
553msgid "Personalize Your Device"
563msgid "Personalize Your Device"
554−msgstr ""
564+msgstr "Peribadikan Peranti Anda"
555
565
556#: qml/Wizard/Pages/60-account.qml:48
566#: qml/Wizard/Pages/60-account.qml:48
557msgid "Preferred Name"
567msgid "Preferred Name"
558−msgstr ""
568+msgstr "Nama Digemari"
559
569
560#: qml/Wizard/Pages/70-passwd-type.qml:39
570#: qml/Wizard/Pages/70-passwd-type.qml:39
561msgid "Lock Screen"
571msgid "Lock Screen"
562−msgstr ""
572+msgstr "Skrin Kunci"
563
573
564#: qml/Wizard/Pages/70-passwd-type.qml:101
574#: qml/Wizard/Pages/70-passwd-type.qml:101
565msgctxt "Label: Type of security method"
575msgctxt "Label: Type of security method"
566msgid "Create new password"
576msgid "Create new password"
567−msgstr ""
577+msgstr "Cipta kata laluan baharu"
568
578
569#: qml/Wizard/Pages/70-passwd-type.qml:103
579#: qml/Wizard/Pages/70-passwd-type.qml:103
570msgctxt "Label: Type of security method"
580msgctxt "Label: Type of security method"
571msgid "Create passcode (numbers only)"
581msgid "Create passcode (numbers only)"
572−msgstr ""
582+msgstr "Cipta kod laluan (nombor sahaja)"
573
583
574#: qml/Wizard/Pages/70-passwd-type.qml:105
584#: qml/Wizard/Pages/70-passwd-type.qml:105
575msgctxt "Label: Type of security method"
585msgctxt "Label: Type of security method"
576msgid "No lock code"
586msgid "No lock code"
577−msgstr ""
587+msgstr "Tiada kod kunci"
578
588
579#: qml/Wizard/Pages/75-report-check.qml:26 qml/Wizard/Pages/here-terms.qml:108
589#: qml/Wizard/Pages/75-report-check.qml:26 qml/Wizard/Pages/here-terms.qml:108
580msgid "Privacy Policy"
590msgid "Privacy Policy"
581−msgstr ""
591+msgstr "Dasar Kerahsiaan"
582
592
583#: qml/Wizard/Pages/75-report-check.qml:26
593#: qml/Wizard/Pages/75-report-check.qml:26
584msgid "Help Us Improve"
594msgid "Help Us Improve"
585−msgstr ""
595+msgstr "Bantu Kami"
586
596
587#: qml/Wizard/Pages/75-report-check.qml:59
597#: qml/Wizard/Pages/75-report-check.qml:59
588msgid "Improve system performance by sending us crashes and error reports."
598msgid "Improve system performance by sending us crashes and error reports."
589msgstr ""
599msgstr ""
600+"Tambah baik prestasi sistem dengan menghantar laporan kerosakan dan ralat."
590
601
591#: qml/Wizard/Pages/75-report-check.qml:60
602#: qml/Wizard/Pages/75-report-check.qml:60
592msgid "Privacy policy"
603msgid "Privacy policy"
593−msgstr ""
604+msgstr "Dasar kerahsiaan"
594
605
595#: qml/Wizard/Pages/80-finished.qml:89
606#: qml/Wizard/Pages/80-finished.qml:89
596msgid "Welcome to Ubuntu"
607msgid "Welcome to Ubuntu"
597−msgstr ""
608+msgstr "Selamat datang ke Ubuntu"
598
609
599#: qml/Wizard/Pages/80-finished.qml:104
610#: qml/Wizard/Pages/80-finished.qml:104
600msgid "You are ready to use your device now"
611msgid "You are ready to use your device now"
601−msgstr ""
612+msgstr "Anda boleh gunakan peranti sekarang"
602
613
603#: qml/Wizard/Pages/80-finished.qml:124
614#: qml/Wizard/Pages/80-finished.qml:124
604msgid "Get Started"
615msgid "Get Started"
605−msgstr ""
616+msgstr "Membiasakan Diri"
606
617
607#: qml/Wizard/Pages/here-terms.qml:25
618#: qml/Wizard/Pages/here-terms.qml:25
608msgid "Terms & Conditions"
619msgid "Terms & Conditions"
@@ -611,6 +622,8 @@ msgstr "Terma & Syarat"
611#: qml/Wizard/Pages/here-terms.qml:69
622#: qml/Wizard/Pages/here-terms.qml:69
612msgid "Your device uses positioning technologies provided by HERE."
623msgid "Your device uses positioning technologies provided by HERE."
613msgstr ""
624msgstr ""
625+"Peranti anda menggunakan teknologi menentukan lokasi yang disediakan oleh "
626+"HERE."
614
627
615#: qml/Wizard/Pages/here-terms.qml:81
628#: qml/Wizard/Pages/here-terms.qml:81
616msgid ""
629msgid ""
@@ -618,21 +631,27 @@ msgid ""
618"collects information about nearby cell towers and Wi-Fi hotspots around your "
631"collects information about nearby cell towers and Wi-Fi hotspots around your "
619"current location whenever your position is being found."
632"current location whenever your position is being found."
620msgstr ""
633msgstr ""
634+"Untuk menyediakan perkhidmatan penentuan lokasi dan menambahbaik kualiti, "
635+"HERE mengutip maklumat berkenaan menara telekomunikasi berhampiran dan "
636+"hotspot Wi-Fi disekitar anda bilamana kedudukan anda ditemui."
621
637
622#: qml/Wizard/Pages/here-terms.qml:93
638#: qml/Wizard/Pages/here-terms.qml:93
623msgid ""
639msgid ""
624"The information collected is used to analyze the service and to improve the "
640"The information collected is used to analyze the service and to improve the "
625"use of service, but not to identify you personally."
641"use of service, but not to identify you personally."
626msgstr ""
642msgstr ""
643+"Maklumat tersebut digunakan untuk menganalisis perkhidmatan dan menambahbaik "
644+"penggunaan perkhidmatan, walaubagaimanapun tidak mengenalpasti anda secara "
645+"peribadi."
627
646
628#: qml/Wizard/Pages/here-terms.qml:106
647#: qml/Wizard/Pages/here-terms.qml:106
629#, qt-format
648#, qt-format
630msgid "By continuing, you agree to the HERE platform %1 and %2."
649msgid "By continuing, you agree to the HERE platform %1 and %2."
631−msgstr ""
650+msgstr "Jika diteruskan, anda menyetujui HERE platform %1 dan %2."
632
651
633#: qml/Wizard/Pages/here-terms.qml:107
652#: qml/Wizard/Pages/here-terms.qml:107
634msgid "Service Terms"
653msgid "Service Terms"
635−msgstr ""
654+msgstr "Terma Perkhidmatan"
636
655
637#: qml/Wizard/Pages/passcode-confirm.qml:43
656#: qml/Wizard/Pages/passcode-confirm.qml:43
638#: qml/Wizard/Pages/passcode-desktop.qml:80
657#: qml/Wizard/Pages/passcode-desktop.qml:80
@@ -641,69 +660,70 @@ msgstr "Sahkan kod laluan"
641
660
642#: qml/Wizard/Pages/passcode-confirm.qml:45
661#: qml/Wizard/Pages/passcode-confirm.qml:45
643msgid "Incorrect passcode."
662msgid "Incorrect passcode."
644−msgstr ""
663+msgstr "Kod laluan tidak betul."
645
664
646#: qml/Wizard/Pages/passcode-confirm.qml:45
665#: qml/Wizard/Pages/passcode-confirm.qml:45
647msgctxt "Enter the passcode again"
666msgctxt "Enter the passcode again"
648msgid "Please re-enter."
667msgid "Please re-enter."
649−msgstr ""
668+msgstr "Sila masukkan sekali lagi."
650
669
651#: qml/Wizard/Pages/passcode-desktop.qml:30
670#: qml/Wizard/Pages/passcode-desktop.qml:30
652msgid "Lock Screen Passcode"
671msgid "Lock Screen Passcode"
653−msgstr ""
672+msgstr "Kod Laluan Skrin Kunci"
654
673
655#: qml/Wizard/Pages/passcode-desktop.qml:56
674#: qml/Wizard/Pages/passcode-desktop.qml:56
656msgid "Enter 4 numbers to setup your passcode"
675msgid "Enter 4 numbers to setup your passcode"
657−msgstr ""
676+msgstr "Masukkan 4 nombor untuk persediaan kod laluan anda"
658
677
659#: qml/Wizard/Pages/passcode-desktop.qml:65
678#: qml/Wizard/Pages/passcode-desktop.qml:65
660#: qml/Wizard/Pages/passcode-set.qml:54
679#: qml/Wizard/Pages/passcode-set.qml:54
661msgid "Choose passcode"
680msgid "Choose passcode"
662−msgstr ""
681+msgstr "Pilih kod laluan"
663
682
664#: qml/Wizard/Pages/passcode-desktop.qml:105
683#: qml/Wizard/Pages/passcode-desktop.qml:105
665msgid "Passcode too short"
684msgid "Passcode too short"
666−msgstr ""
685+msgstr "Kod laluan terlalu pendek"
667
686
668#: qml/Wizard/Pages/passcode-desktop.qml:107
687#: qml/Wizard/Pages/passcode-desktop.qml:107
669msgid "Passcodes match"
688msgid "Passcodes match"
670−msgstr ""
689+msgstr "Kod laluan sepadan"
671
690
672#: qml/Wizard/Pages/passcode-desktop.qml:109
691#: qml/Wizard/Pages/passcode-desktop.qml:109
673msgid "Passcodes do not match"
692msgid "Passcodes do not match"
674−msgstr ""
693+msgstr "Kod laluan tidak sepadan"
675
694
676#: qml/Wizard/Pages/passcode-set.qml:62
695#: qml/Wizard/Pages/passcode-set.qml:62
677msgid "Passcode must be 4 characters long"
696msgid "Passcode must be 4 characters long"
678−msgstr ""
697+msgstr "Kod laluan mestilah 4 aksara panjang"
679
698
680#: qml/Wizard/Pages/password-set.qml:30
699#: qml/Wizard/Pages/password-set.qml:30
681msgid "Lock Screen Password"
700msgid "Lock Screen Password"
682−msgstr ""
701+msgstr "Kata Laluan Skrin Kunci"
683
702
684#: qml/Wizard/Pages/password-set.qml:61
703#: qml/Wizard/Pages/password-set.qml:61
685msgid "Enter at least 8 characters"
704msgid "Enter at least 8 characters"
686−msgstr ""
705+msgstr "Masukkan sekurang-kurangnya 8 aksara"
687
706
688#: qml/Wizard/Pages/password-set.qml:73
707#: qml/Wizard/Pages/password-set.qml:73
689msgid "Choose password"
708msgid "Choose password"
690−msgstr ""
709+msgstr "Pilih kata laluan"
691
710
692#: qml/Wizard/Pages/password-set.qml:103
711#: qml/Wizard/Pages/password-set.qml:103
693msgid "Confirm password"
712msgid "Confirm password"
694−msgstr ""
713+msgstr "Sahkan kata laluan"
695
714
696#: qml/Wizard/Pages/sim.qml:27
715#: qml/Wizard/Pages/sim.qml:27
697msgid "No SIM card installed"
716msgid "No SIM card installed"
698−msgstr ""
717+msgstr "Tiada kad SIM terpasang"
699
718
700#: qml/Wizard/Pages/sim.qml:54
719#: qml/Wizard/Pages/sim.qml:54
701msgid "SIM card added"
720msgid "SIM card added"
702−msgstr ""
721+msgstr "Kad SIM ditambah"
703
722
704#: qml/Wizard/Pages/sim.qml:55
723#: qml/Wizard/Pages/sim.qml:55
705msgid "You must restart the device to access the mobile network."
724msgid "You must restart the device to access the mobile network."
706msgstr ""
725msgstr ""
726+"Anda mesti mulakan semula peranti supaya dapat mencapai rangkaian mudah alih."
707
727
708#: qml/Wizard/Pages/sim.qml:59
728#: qml/Wizard/Pages/sim.qml:59
709msgid "Restart"
729msgid "Restart"
@@ -712,34 +732,35 @@ msgstr "Mula Semula"
712#: qml/Wizard/Pages/sim.qml:78
732#: qml/Wizard/Pages/sim.qml:78
713msgid "You won’t be able to make calls or use text messaging without a SIM."
733msgid "You won’t be able to make calls or use text messaging without a SIM."
714msgstr ""
734msgstr ""
735+"Anda tidak dapat membuat panggilan atau guna pemesejan teks tanpa SIM."
715
736
716#: qml/Wizard/Pages/sim.qml:90
737#: qml/Wizard/Pages/sim.qml:90
717msgid "To proceed with no SIM tap Skip."
738msgid "To proceed with no SIM tap Skip."
718−msgstr ""
739+msgstr "Untuk teruskan tanpa SIM ketik Langkau."
719
740
720#: qml/Wizard/PasswordMeter.qml:87
741#: qml/Wizard/PasswordMeter.qml:87
721msgid "Passwords match"
742msgid "Passwords match"
722−msgstr ""
743+msgstr "Kata laluan sepadan"
723
744
724#: qml/Wizard/PasswordMeter.qml:89
745#: qml/Wizard/PasswordMeter.qml:89
725msgid "Passwords do not match"
746msgid "Passwords do not match"
726−msgstr ""
747+msgstr "Kata laluan tidak sepadan"
727
748
728#: qml/Wizard/PasswordMeter.qml:93
749#: qml/Wizard/PasswordMeter.qml:93
729msgid "Strong password"
750msgid "Strong password"
730−msgstr ""
751+msgstr "Kata laluan kuat"
731
752
732#: qml/Wizard/PasswordMeter.qml:95
753#: qml/Wizard/PasswordMeter.qml:95
733msgid "Fair password"
754msgid "Fair password"
734−msgstr ""
755+msgstr "Kata laluan sederhana"
735
756
736#: qml/Wizard/PasswordMeter.qml:97
757#: qml/Wizard/PasswordMeter.qml:97
737msgid "Weak password"
758msgid "Weak password"
738−msgstr ""
759+msgstr "Kata laluan lemah"
739
760
740#: qml/Wizard/PasswordMeter.qml:99
761#: qml/Wizard/PasswordMeter.qml:99
741msgid "Very weak password"
762msgid "Very weak password"
742−msgstr ""
763+msgstr "Kata laluan sangat lemah"
743
764
744#~ msgid "Top edge"
765#~ msgid "Top edge"
745#~ msgstr "Pinggir atas"
766#~ msgstr "Pinggir atas"
po/my.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2013-12-12 11:12+0000\n"
11"PO-Revision-Date: 2013-12-12 11:12+0000\n"
12"Last-Translator: Pyae Sone <Unknown>\n"
12"Last-Translator: Pyae Sone <Unknown>\n"
13"Language-Team: Burmese <my@li.org>\n"
13"Language-Team: Burmese <my@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -186,15 +186,15 @@ msgstr ""
186msgid "Reset"
186msgid "Reset"
187msgstr ""
187msgstr ""
188
188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190msgid "Show less"
190msgid "Show less"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194msgid "Show all"
194msgid "Show all"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198msgctxt "Label: Hint for dash search line edit"
198msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
199msgid "Search"
200msgstr "ရှာဖွေရန်"
200msgstr "ရှာဖွေရန်"
@@ -256,7 +256,7 @@ msgstr "ပင်မ"
256msgid "Also installed"
256msgid "Also installed"
257msgstr ""
257msgstr ""
258
258
259−#: qml/DisabledScreenNotice.qml:104
259+#: qml/DisabledScreenNotice.qml:109
260msgid ""
260msgid ""
261"Your device is now connected to an external display. Use this screen as a "
261"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
262"touch pad to interact with the pointer."
po/nb.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2016-03-29 08:56+0000\n"
11"PO-Revision-Date: 2016-03-29 08:56+0000\n"
12"Last-Translator: Åka Sikrom <Unknown>\n"
12"Last-Translator: Åka Sikrom <Unknown>\n"
13"Language-Team: Norwegian Bokmal <nb@li.org>\n"
13"Language-Team: Norwegian Bokmal <nb@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -192,15 +192,15 @@ msgstr "Filtrer søketreff"
192msgid "Reset"
192msgid "Reset"
193msgstr "Tilbakestill"
193msgstr "Tilbakestill"
194
194
195−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
195+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
196msgid "Show less"
196msgid "Show less"
197msgstr ""
197msgstr ""
198
198
199−#: qml/Dash/GenericScopeView.qml:570
199+#: qml/Dash/GenericScopeView.qml:579
200msgid "Show all"
200msgid "Show all"
201msgstr ""
201msgstr ""
202
202
203−#: qml/Dash/GenericScopeView.qml:627
203+#: qml/Dash/GenericScopeView.qml:636
204msgctxt "Label: Hint for dash search line edit"
204msgctxt "Label: Hint for dash search line edit"
205msgid "Search"
205msgid "Search"
206msgstr "Søk"
206msgstr "Søk"
@@ -262,7 +262,7 @@ msgstr "Hjem"
262msgid "Also installed"
262msgid "Also installed"
263msgstr "Også installert"
263msgstr "Også installert"
264
264
265−#: qml/DisabledScreenNotice.qml:104
265+#: qml/DisabledScreenNotice.qml:109
266msgid ""
266msgid ""
267"Your device is now connected to an external display. Use this screen as a "
267"Your device is now connected to an external display. Use this screen as a "
268"touch pad to interact with the pointer."
268"touch pad to interact with the pointer."
po/ne.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-12-06 15:11+0000\n"
11"PO-Revision-Date: 2015-12-06 15:11+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Nepali <ne@li.org>\n"
13"Language-Team: Nepali <ne@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -186,15 +186,15 @@ msgstr ""
186msgid "Reset"
186msgid "Reset"
187msgstr ""
187msgstr ""
188
188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190msgid "Show less"
190msgid "Show less"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194msgid "Show all"
194msgid "Show all"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198msgctxt "Label: Hint for dash search line edit"
198msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
199msgid "Search"
200msgstr ""
200msgstr ""
@@ -256,7 +256,7 @@ msgstr ""
256msgid "Also installed"
256msgid "Also installed"
257msgstr ""
257msgstr ""
258
258
259−#: qml/DisabledScreenNotice.qml:104
259+#: qml/DisabledScreenNotice.qml:109
260msgid ""
260msgid ""
261"Your device is now connected to an external display. Use this screen as a "
261"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
262"touch pad to interact with the pointer."
po/nl.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-07-07 07:14+0000\n"
11"PO-Revision-Date: 2015-07-07 07:14+0000\n"
12"Last-Translator: Hannie Dumoleyn <Unknown>\n"
12"Last-Translator: Hannie Dumoleyn <Unknown>\n"
13"Language-Team: Dutch <nl@li.org>\n"
13"Language-Team: Dutch <nl@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -195,15 +195,15 @@ msgstr "Resultaten verfijnen"
195msgid "Reset"
195msgid "Reset"
196msgstr "Herstellen"
196msgstr "Herstellen"
197
197
198−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
198+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
199msgid "Show less"
199msgid "Show less"
200msgstr ""
200msgstr ""
201
201
202−#: qml/Dash/GenericScopeView.qml:570
202+#: qml/Dash/GenericScopeView.qml:579
203msgid "Show all"
203msgid "Show all"
204msgstr ""
204msgstr ""
205
205
206−#: qml/Dash/GenericScopeView.qml:627
206+#: qml/Dash/GenericScopeView.qml:636
207msgctxt "Label: Hint for dash search line edit"
207msgctxt "Label: Hint for dash search line edit"
208msgid "Search"
208msgid "Search"
209msgstr "Zoeken"
209msgstr "Zoeken"
@@ -265,7 +265,7 @@ msgstr "Thuis"
265msgid "Also installed"
265msgid "Also installed"
266msgstr "Ook geïnstalleerd"
266msgstr "Ook geïnstalleerd"
267
267
268−#: qml/DisabledScreenNotice.qml:104
268+#: qml/DisabledScreenNotice.qml:109
269msgid ""
269msgid ""
270"Your device is now connected to an external display. Use this screen as a "
270"Your device is now connected to an external display. Use this screen as a "
271"touch pad to interact with the pointer."
271"touch pad to interact with the pointer."
po/nn.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-05-12 11:32+0000\n"
11"PO-Revision-Date: 2015-05-12 11:32+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Norwegian Nynorsk <nn@li.org>\n"
13"Language-Team: Norwegian Nynorsk <nn@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -186,15 +186,15 @@ msgstr ""
186msgid "Reset"
186msgid "Reset"
187msgstr ""
187msgstr ""
188
188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190msgid "Show less"
190msgid "Show less"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194msgid "Show all"
194msgid "Show all"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198msgctxt "Label: Hint for dash search line edit"
198msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
199msgid "Search"
200msgstr ""
200msgstr ""
@@ -256,7 +256,7 @@ msgstr ""
256msgid "Also installed"
256msgid "Also installed"
257msgstr ""
257msgstr ""
258
258
259−#: qml/DisabledScreenNotice.qml:104
259+#: qml/DisabledScreenNotice.qml:109
260msgid ""
260msgid ""
261"Your device is now connected to an external display. Use this screen as a "
261"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
262"touch pad to interact with the pointer."
po/oc.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-02-05 20:35+0000\n"
11"PO-Revision-Date: 2015-02-05 20:35+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Occitan (post 1500) <oc@li.org>\n"
13"Language-Team: Occitan (post 1500) <oc@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -195,15 +195,15 @@ msgstr "Afinar vòstres resultats"
195msgid "Reset"
195msgid "Reset"
196msgstr "Reïnicializar"
196msgstr "Reïnicializar"
197
197
198−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
198+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
199msgid "Show less"
199msgid "Show less"
200msgstr ""
200msgstr ""
201
201
202−#: qml/Dash/GenericScopeView.qml:570
202+#: qml/Dash/GenericScopeView.qml:579
203msgid "Show all"
203msgid "Show all"
204msgstr ""
204msgstr ""
205
205
206−#: qml/Dash/GenericScopeView.qml:627
206+#: qml/Dash/GenericScopeView.qml:636
207msgctxt "Label: Hint for dash search line edit"
207msgctxt "Label: Hint for dash search line edit"
208msgid "Search"
208msgid "Search"
209msgstr "Recercar"
209msgstr "Recercar"
@@ -265,7 +265,7 @@ msgstr "Acuèlh"
265msgid "Also installed"
265msgid "Also installed"
266msgstr "Tanben installadas"
266msgstr "Tanben installadas"
267
267
268−#: qml/DisabledScreenNotice.qml:104
268+#: qml/DisabledScreenNotice.qml:109
269msgid ""
269msgid ""
270"Your device is now connected to an external display. Use this screen as a "
270"Your device is now connected to an external display. Use this screen as a "
271"touch pad to interact with the pointer."
271"touch pad to interact with the pointer."
po/or.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-03-21 05:28+0000\n"
11"PO-Revision-Date: 2015-03-21 05:28+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Oriya <or@li.org>\n"
13"Language-Team: Oriya <or@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n!=1;\n"
17"Plural-Forms: nplurals=2; plural=n!=1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -186,15 +186,15 @@ msgstr ""
186msgid "Reset"
186msgid "Reset"
187msgstr ""
187msgstr ""
188
188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190msgid "Show less"
190msgid "Show less"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194msgid "Show all"
194msgid "Show all"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198msgctxt "Label: Hint for dash search line edit"
198msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
199msgid "Search"
200msgstr ""
200msgstr ""
@@ -256,7 +256,7 @@ msgstr ""
256msgid "Also installed"
256msgid "Also installed"
257msgstr ""
257msgstr ""
258
258
259−#: qml/DisabledScreenNotice.qml:104
259+#: qml/DisabledScreenNotice.qml:109
260msgid ""
260msgid ""
261"Your device is now connected to an external display. Use this screen as a "
261"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
262"touch pad to interact with the pointer."
po/pa.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-04-24 04:29+0000\n"
11"PO-Revision-Date: 2015-04-24 04:29+0000\n"
12"Last-Translator: Gursharnjit_Singh <ubuntuser13@gmail.com>\n"
12"Last-Translator: Gursharnjit_Singh <ubuntuser13@gmail.com>\n"
13"Language-Team: Punjabi <pa@li.org>\n"
13"Language-Team: Punjabi <pa@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -188,15 +188,15 @@ msgstr ""
188msgid "Reset"
188msgid "Reset"
189msgstr ""
189msgstr ""
190
190
191−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
191+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
192msgid "Show less"
192msgid "Show less"
193msgstr ""
193msgstr ""
194
194
195−#: qml/Dash/GenericScopeView.qml:570
195+#: qml/Dash/GenericScopeView.qml:579
196msgid "Show all"
196msgid "Show all"
197msgstr ""
197msgstr ""
198
198
199−#: qml/Dash/GenericScopeView.qml:627
199+#: qml/Dash/GenericScopeView.qml:636
200msgctxt "Label: Hint for dash search line edit"
200msgctxt "Label: Hint for dash search line edit"
201msgid "Search"
201msgid "Search"
202msgstr "ਖੋਜ"
202msgstr "ਖੋਜ"
@@ -258,7 +258,7 @@ msgstr "ਘਰ"
258msgid "Also installed"
258msgid "Also installed"
259msgstr "ਨਾਲ ਇੰਸਟਾਲ ਹੋਇਆ"
259msgstr "ਨਾਲ ਇੰਸਟਾਲ ਹੋਇਆ"
260
260
261−#: qml/DisabledScreenNotice.qml:104
261+#: qml/DisabledScreenNotice.qml:109
262msgid ""
262msgid ""
263"Your device is now connected to an external display. Use this screen as a "
263"Your device is now connected to an external display. Use this screen as a "
264"touch pad to interact with the pointer."
264"touch pad to interact with the pointer."
po/pl.po+12−12
@@ -7,17 +7,17 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11−"PO-Revision-Date: 2016-03-28 20:45+0000\n"
11+"PO-Revision-Date: 2016-05-05 13:36+0000\n"
12−"Last-Translator: Krzysztof Tataradziński <Unknown>\n"
12+"Last-Translator: dawidd6 <dawidd0811@gmail.com>\n"
13"Language-Team: Polish <pl@li.org>\n"
13"Language-Team: Polish <pl@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
17"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
18"|| n%100>=20) ? 1 : 2;\n"
18"|| n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
19+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
20−"X-Generator: Launchpad (build 17995)\n"
20+"X-Generator: Launchpad (build 18053)\n"
21
21
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
@@ -189,15 +189,15 @@ msgstr "Przefiltruj wyniki"
189msgid "Reset"
189msgid "Reset"
190msgstr "Reset"
190msgstr "Reset"
191
191
192−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
192+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
193msgid "Show less"
193msgid "Show less"
194−msgstr ""
194+msgstr "Pokaż mniej"
195
195
196−#: qml/Dash/GenericScopeView.qml:570
196+#: qml/Dash/GenericScopeView.qml:579
197msgid "Show all"
197msgid "Show all"
198−msgstr ""
198+msgstr "Pokaż wszystko"
199
199
200−#: qml/Dash/GenericScopeView.qml:627
200+#: qml/Dash/GenericScopeView.qml:636
201msgctxt "Label: Hint for dash search line edit"
201msgctxt "Label: Hint for dash search line edit"
202msgid "Search"
202msgid "Search"
203msgstr "Szukaj"
203msgstr "Szukaj"
@@ -259,7 +259,7 @@ msgstr "Pulpit"
259msgid "Also installed"
259msgid "Also installed"
260msgstr "Również zainstalowane"
260msgstr "Również zainstalowane"
261
261
262−#: qml/DisabledScreenNotice.qml:104
262+#: qml/DisabledScreenNotice.qml:109
263msgid ""
263msgid ""
264"Your device is now connected to an external display. Use this screen as a "
264"Your device is now connected to an external display. Use this screen as a "
265"touch pad to interact with the pointer."
265"touch pad to interact with the pointer."
@@ -463,7 +463,7 @@ msgstr "Przeciągnięcie od lewej krawędzi otwiera pasek uruchamiania"
463
463
464#: qml/Tutorial/TutorialRight.qml:55
464#: qml/Tutorial/TutorialRight.qml:55
465msgid "Push your mouse against the right edge to view your open apps"
465msgid "Push your mouse against the right edge to view your open apps"
466−msgstr ""
466+msgstr "Poprowadź kursor poza prawą krawędź, aby wyświetlić otwarte programy"
467
467
468#: qml/Tutorial/TutorialRight.qml:56
468#: qml/Tutorial/TutorialRight.qml:56
469msgid "Short or long swipe from the right edge to view your open apps"
469msgid "Short or long swipe from the right edge to view your open apps"
po/pt.po+12−12
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2016-02-18 01:11+0000\n"
11"PO-Revision-Date: 2016-02-18 01:11+0000\n"
12"Last-Translator: Ivo Xavier <ivoxavier.8@gmail.com>\n"
12"Last-Translator: Ivo Xavier <ivoxavier.8@gmail.com>\n"
13"Language-Team: Portuguese <pt@li.org>\n"
13"Language-Team: Portuguese <pt@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -193,15 +193,15 @@ msgstr "Redefina os seus resultados"
193msgid "Reset"
193msgid "Reset"
194msgstr "Repor"
194msgstr "Repor"
195
195
196−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
196+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
197msgid "Show less"
197msgid "Show less"
198−msgstr ""
198+msgstr "Mostrar menos"
199
199
200−#: qml/Dash/GenericScopeView.qml:570
200+#: qml/Dash/GenericScopeView.qml:579
201msgid "Show all"
201msgid "Show all"
202−msgstr ""
202+msgstr "Mostrar tudo"
203
203
204−#: qml/Dash/GenericScopeView.qml:627
204+#: qml/Dash/GenericScopeView.qml:636
205msgctxt "Label: Hint for dash search line edit"
205msgctxt "Label: Hint for dash search line edit"
206msgid "Search"
206msgid "Search"
207msgstr "Procurar"
207msgstr "Procurar"
@@ -263,7 +263,7 @@ msgstr "Página inicial"
263msgid "Also installed"
263msgid "Also installed"
264msgstr "Também instalado"
264msgstr "Também instalado"
265
265
266−#: qml/DisabledScreenNotice.qml:104
266+#: qml/DisabledScreenNotice.qml:109
267msgid ""
267msgid ""
268"Your device is now connected to an external display. Use this screen as a "
268"Your device is now connected to an external display. Use this screen as a "
269"touch pad to interact with the pointer."
269"touch pad to interact with the pointer."
@@ -300,8 +300,8 @@ msgid ""
300"If passphrase is entered incorrectly, your phone will conduct a factory "
300"If passphrase is entered incorrectly, your phone will conduct a factory "
301"reset and all personal data will be deleted."
301"reset and all personal data will be deleted."
302msgstr ""
302msgstr ""
303−"Se a palavra-passe for introduzida incorretamente, o seu telemóvel apagará "
303+"Se a palavra-passe for introduzida incorretamente, a sua informação pessoal "
304−"toda a sua informação pessoal."
304+"será eliminada."
305
305
306#: qml/Greeter/NarrowView.qml:59
306#: qml/Greeter/NarrowView.qml:59
307msgid ""
307msgid ""
@@ -309,7 +309,7 @@ msgid ""
309"and all personal data will be deleted."
309"and all personal data will be deleted."
310msgstr ""
310msgstr ""
311"Se o código for introduzido incorretamente, todos os dados pessoais serão "
311"Se o código for introduzido incorretamente, todos os dados pessoais serão "
312−"apagados."
312+"eliminados"
313
313
314#: qml/Greeter/NarrowView.qml:116
314#: qml/Greeter/NarrowView.qml:116
315#, qt-format
315#, qt-format
po/pt_BR.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-08-05 04:40+0000\n"
11"PO-Revision-Date: 2015-08-05 04:40+0000\n"
12"Last-Translator: Julio Alexander Sieg <julio.sieg@gmail.com>\n"
12"Last-Translator: Julio Alexander Sieg <julio.sieg@gmail.com>\n"
13"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
13"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -190,15 +190,15 @@ msgstr ""
190msgid "Reset"
190msgid "Reset"
191msgstr "Redefinir"
191msgstr "Redefinir"
192
192
193−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
193+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
194msgid "Show less"
194msgid "Show less"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:570
197+#: qml/Dash/GenericScopeView.qml:579
198msgid "Show all"
198msgid "Show all"
199msgstr ""
199msgstr ""
200
200
201−#: qml/Dash/GenericScopeView.qml:627
201+#: qml/Dash/GenericScopeView.qml:636
202msgctxt "Label: Hint for dash search line edit"
202msgctxt "Label: Hint for dash search line edit"
203msgid "Search"
203msgid "Search"
204msgstr "Pesquisar"
204msgstr "Pesquisar"
@@ -260,7 +260,7 @@ msgstr "Início"
260msgid "Also installed"
260msgid "Also installed"
261msgstr "Instalado também"
261msgstr "Instalado também"
262
262
263−#: qml/DisabledScreenNotice.qml:104
263+#: qml/DisabledScreenNotice.qml:109
264msgid ""
264msgid ""
265"Your device is now connected to an external display. Use this screen as a "
265"Your device is now connected to an external display. Use this screen as a "
266"touch pad to interact with the pointer."
266"touch pad to interact with the pointer."
po/ro.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-07-06 17:47+0000\n"
11"PO-Revision-Date: 2015-07-06 17:47+0000\n"
12"Last-Translator: Meriuță Cornel <meriutacornel@neacornel.eu>\n"
12"Last-Translator: Meriuță Cornel <meriutacornel@neacornel.eu>\n"
13"Language-Team: Romanian <ro@li.org>\n"
13"Language-Team: Romanian <ro@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=(n == 1 ? 0: (((n % 100 > 19) || ((n % 100 "
17"Plural-Forms: nplurals=3; plural=(n == 1 ? 0: (((n % 100 > 19) || ((n % 100 "
18"== 0) && (n != 0))) ? 2: 1));\n"
18"== 0) && (n != 0))) ? 2: 1));\n"
19−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
19+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
20−"X-Generator: Launchpad (build 17995)\n"
20+"X-Generator: Launchpad (build 18053)\n"
21
21
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
@@ -193,15 +193,15 @@ msgstr ""
193msgid "Reset"
193msgid "Reset"
194msgstr ""
194msgstr ""
195
195
196−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
196+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
197msgid "Show less"
197msgid "Show less"
198msgstr ""
198msgstr ""
199
199
200−#: qml/Dash/GenericScopeView.qml:570
200+#: qml/Dash/GenericScopeView.qml:579
201msgid "Show all"
201msgid "Show all"
202msgstr ""
202msgstr ""
203
203
204−#: qml/Dash/GenericScopeView.qml:627
204+#: qml/Dash/GenericScopeView.qml:636
205msgctxt "Label: Hint for dash search line edit"
205msgctxt "Label: Hint for dash search line edit"
206msgid "Search"
206msgid "Search"
207msgstr "Căutare"
207msgstr "Căutare"
@@ -263,7 +263,7 @@ msgstr "Acasă"
263msgid "Also installed"
263msgid "Also installed"
264msgstr "Alte programe instalate"
264msgstr "Alte programe instalate"
265
265
266−#: qml/DisabledScreenNotice.qml:104
266+#: qml/DisabledScreenNotice.qml:109
267msgid ""
267msgid ""
268"Your device is now connected to an external display. Use this screen as a "
268"Your device is now connected to an external display. Use this screen as a "
269"touch pad to interact with the pointer."
269"touch pad to interact with the pointer."
po/ru.po+33−29
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-07-06 05:33+0000\n"
11"PO-Revision-Date: 2015-07-06 05:33+0000\n"
12"Last-Translator: ☠Jay ZDLin☠ <Unknown>\n"
12"Last-Translator: ☠Jay ZDLin☠ <Unknown>\n"
13"Language-Team: Russian <ru@li.org>\n"
13"Language-Team: Russian <ru@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
19+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
20−"X-Generator: Launchpad (build 17995)\n"
20+"X-Generator: Launchpad (build 18053)\n"
21
21
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
@@ -186,21 +186,21 @@ msgstr "Добавить в избранное"
186
186
187#: qml/Dash/FiltersPopover.qml:60
187#: qml/Dash/FiltersPopover.qml:60
188msgid "Refine your results"
188msgid "Refine your results"
189−msgstr ""
189+msgstr "Уточнить результаты"
190
190
191#: qml/Dash/FiltersPopover.qml:69
191#: qml/Dash/FiltersPopover.qml:69
192msgid "Reset"
192msgid "Reset"
193msgstr "Сбросить"
193msgstr "Сбросить"
194
194
195−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
195+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
196msgid "Show less"
196msgid "Show less"
197msgstr ""
197msgstr ""
198
198
199−#: qml/Dash/GenericScopeView.qml:570
199+#: qml/Dash/GenericScopeView.qml:579
200msgid "Show all"
200msgid "Show all"
201msgstr ""
201msgstr ""
202
202
203−#: qml/Dash/GenericScopeView.qml:627
203+#: qml/Dash/GenericScopeView.qml:636
204msgctxt "Label: Hint for dash search line edit"
204msgctxt "Label: Hint for dash search line edit"
205msgid "Search"
205msgid "Search"
206msgstr "Поиск"
206msgstr "Поиск"
@@ -262,7 +262,7 @@ msgstr "Домой"
262msgid "Also installed"
262msgid "Also installed"
263msgstr "Также установлено"
263msgstr "Также установлено"
264
264
265−#: qml/DisabledScreenNotice.qml:104
265+#: qml/DisabledScreenNotice.qml:109
266msgid ""
266msgid ""
267"Your device is now connected to an external display. Use this screen as a "
267"Your device is now connected to an external display. Use this screen as a "
268"touch pad to interact with the pointer."
268"touch pad to interact with the pointer."
@@ -507,11 +507,11 @@ msgstr "Подключено"
507
507
508#: qml/Wizard/Pages/30-wifi.qml:163
508#: qml/Wizard/Pages/30-wifi.qml:163
509msgid "Available Wi-Fi networks"
509msgid "Available Wi-Fi networks"
510−msgstr ""
510+msgstr "Доступные Wi-Fi сети"
511
511
512#: qml/Wizard/Pages/30-wifi.qml:164
512#: qml/Wizard/Pages/30-wifi.qml:164
513msgid "No available Wi-Fi networks"
513msgid "No available Wi-Fi networks"
514−msgstr ""
514+msgstr "Нет доступных Wi-Fi сетей"
515
515
516#: qml/Wizard/Pages/30-wifi.qml:206 qml/Wizard/Pages/60-account.qml:65
516#: qml/Wizard/Pages/30-wifi.qml:206 qml/Wizard/Pages/60-account.qml:65
517#: qml/Wizard/Pages/sim.qml:101
517#: qml/Wizard/Pages/sim.qml:101
@@ -520,13 +520,15 @@ msgstr "Пропустить"
520
520
521#: qml/Wizard/Pages/40-location.qml:27
521#: qml/Wizard/Pages/40-location.qml:27
522msgid "Location Services"
522msgid "Location Services"
523−msgstr ""
523+msgstr "Службы геолокации"
524
524
525#: qml/Wizard/Pages/40-location.qml:83
525#: qml/Wizard/Pages/40-location.qml:83
526msgid ""
526msgid ""
527"Use GPS, Wi-Fi hotspots and mobile network anonymously to detect location "
527"Use GPS, Wi-Fi hotspots and mobile network anonymously to detect location "
528"(recommended)"
528"(recommended)"
529msgstr ""
529msgstr ""
530+"Использовать анонимно GPS, точки доступа Wi-Fi и мобильную сеть для "
531+"определения местоположения (рекомендуется)"
530
532
531#: qml/Wizard/Pages/40-location.qml:105
533#: qml/Wizard/Pages/40-location.qml:105
532#, qt-format
534#, qt-format
@@ -536,7 +538,7 @@ msgstr ""
536#: qml/Wizard/Pages/40-location.qml:106
538#: qml/Wizard/Pages/40-location.qml:106
537msgctxt "part of: Nokia HERE terms and conditions"
539msgctxt "part of: Nokia HERE terms and conditions"
538msgid "terms and conditions"
540msgid "terms and conditions"
539−msgstr ""
541+msgstr "условия и соглашения"
540
542
541#: qml/Wizard/Pages/40-location.qml:160
543#: qml/Wizard/Pages/40-location.qml:160
542msgid "GPS only"
544msgid "GPS only"
@@ -564,11 +566,11 @@ msgstr ""
564
566
565#: qml/Wizard/Pages/60-account.qml:48
567#: qml/Wizard/Pages/60-account.qml:48
566msgid "Preferred Name"
568msgid "Preferred Name"
567−msgstr ""
569+msgstr "Предпочитаемое имя"
568
570
569#: qml/Wizard/Pages/70-passwd-type.qml:39
571#: qml/Wizard/Pages/70-passwd-type.qml:39
570msgid "Lock Screen"
572msgid "Lock Screen"
571−msgstr ""
573+msgstr "Заблокировать экран"
572
574
573#: qml/Wizard/Pages/70-passwd-type.qml:101
575#: qml/Wizard/Pages/70-passwd-type.qml:101
574msgctxt "Label: Type of security method"
576msgctxt "Label: Type of security method"
@@ -578,16 +580,16 @@ msgstr "Создать новый пароль"
578#: qml/Wizard/Pages/70-passwd-type.qml:103
580#: qml/Wizard/Pages/70-passwd-type.qml:103
579msgctxt "Label: Type of security method"
581msgctxt "Label: Type of security method"
580msgid "Create passcode (numbers only)"
582msgid "Create passcode (numbers only)"
581−msgstr ""
583+msgstr "Создать парольный код (только цифры)"
582
584
583#: qml/Wizard/Pages/70-passwd-type.qml:105
585#: qml/Wizard/Pages/70-passwd-type.qml:105
584msgctxt "Label: Type of security method"
586msgctxt "Label: Type of security method"
585msgid "No lock code"
587msgid "No lock code"
586−msgstr ""
588+msgstr "Без кода разблокировки"
587
589
588#: qml/Wizard/Pages/75-report-check.qml:26 qml/Wizard/Pages/here-terms.qml:108
590#: qml/Wizard/Pages/75-report-check.qml:26 qml/Wizard/Pages/here-terms.qml:108
589msgid "Privacy Policy"
591msgid "Privacy Policy"
590−msgstr ""
592+msgstr "Политика конфиденциальности"
591
593
592#: qml/Wizard/Pages/75-report-check.qml:26
594#: qml/Wizard/Pages/75-report-check.qml:26
593msgid "Help Us Improve"
595msgid "Help Us Improve"
@@ -599,7 +601,7 @@ msgstr ""
599
601
600#: qml/Wizard/Pages/75-report-check.qml:60
602#: qml/Wizard/Pages/75-report-check.qml:60
601msgid "Privacy policy"
603msgid "Privacy policy"
602−msgstr ""
604+msgstr "Политика конфиденциальности"
603
605
604#: qml/Wizard/Pages/80-finished.qml:89
606#: qml/Wizard/Pages/80-finished.qml:89
605msgid "Welcome to Ubuntu"
607msgid "Welcome to Ubuntu"
@@ -607,11 +609,11 @@ msgstr "Добро пожаловать в Ubuntu"
607
609
608#: qml/Wizard/Pages/80-finished.qml:104
610#: qml/Wizard/Pages/80-finished.qml:104
609msgid "You are ready to use your device now"
611msgid "You are ready to use your device now"
610−msgstr ""
612+msgstr "Теперь устройство готово к использованию"
611
613
612#: qml/Wizard/Pages/80-finished.qml:124
614#: qml/Wizard/Pages/80-finished.qml:124
613msgid "Get Started"
615msgid "Get Started"
614−msgstr ""
616+msgstr "Приступая к работе"
615
617
616#: qml/Wizard/Pages/here-terms.qml:25
618#: qml/Wizard/Pages/here-terms.qml:25
617msgid "Terms & Conditions"
619msgid "Terms & Conditions"
@@ -619,7 +621,7 @@ msgstr "Условия использования"
619
621
620#: qml/Wizard/Pages/here-terms.qml:69
622#: qml/Wizard/Pages/here-terms.qml:69
621msgid "Your device uses positioning technologies provided by HERE."
623msgid "Your device uses positioning technologies provided by HERE."
622−msgstr ""
624+msgstr "Ваше устройство использует HERE для определения местоположения"
623
625
624#: qml/Wizard/Pages/here-terms.qml:81
626#: qml/Wizard/Pages/here-terms.qml:81
625msgid ""
627msgid ""
@@ -633,6 +635,8 @@ msgid ""
633"The information collected is used to analyze the service and to improve the "
635"The information collected is used to analyze the service and to improve the "
634"use of service, but not to identify you personally."
636"use of service, but not to identify you personally."
635msgstr ""
637msgstr ""
638+"Собираемая информация используется для анализа и улучшения сервиса, а не для "
639+"идентификации вашей личности."
636
640
637#: qml/Wizard/Pages/here-terms.qml:106
641#: qml/Wizard/Pages/here-terms.qml:106
638#, qt-format
642#, qt-format
@@ -659,11 +663,11 @@ msgstr "Введите заново."
659
663
660#: qml/Wizard/Pages/passcode-desktop.qml:30
664#: qml/Wizard/Pages/passcode-desktop.qml:30
661msgid "Lock Screen Passcode"
665msgid "Lock Screen Passcode"
662−msgstr ""
666+msgstr "Код блокировки экрана"
663
667
664#: qml/Wizard/Pages/passcode-desktop.qml:56
668#: qml/Wizard/Pages/passcode-desktop.qml:56
665msgid "Enter 4 numbers to setup your passcode"
669msgid "Enter 4 numbers to setup your passcode"
666−msgstr ""
670+msgstr "Введите код блокировки из 4 цифр"
667
671
668#: qml/Wizard/Pages/passcode-desktop.qml:65
672#: qml/Wizard/Pages/passcode-desktop.qml:65
669#: qml/Wizard/Pages/passcode-set.qml:54
673#: qml/Wizard/Pages/passcode-set.qml:54
@@ -672,15 +676,15 @@ msgstr ""
672
676
673#: qml/Wizard/Pages/passcode-desktop.qml:105
677#: qml/Wizard/Pages/passcode-desktop.qml:105
674msgid "Passcode too short"
678msgid "Passcode too short"
675−msgstr ""
679+msgstr "Код слишком короткий"
676
680
677#: qml/Wizard/Pages/passcode-desktop.qml:107
681#: qml/Wizard/Pages/passcode-desktop.qml:107
678msgid "Passcodes match"
682msgid "Passcodes match"
679−msgstr ""
683+msgstr "Коды совпадают"
680
684
681#: qml/Wizard/Pages/passcode-desktop.qml:109
685#: qml/Wizard/Pages/passcode-desktop.qml:109
682msgid "Passcodes do not match"
686msgid "Passcodes do not match"
683−msgstr ""
687+msgstr "Коды не совпадают"
684
688
685#: qml/Wizard/Pages/passcode-set.qml:62
689#: qml/Wizard/Pages/passcode-set.qml:62
686msgid "Passcode must be 4 characters long"
690msgid "Passcode must be 4 characters long"
@@ -688,7 +692,7 @@ msgstr "Код должен содержать 4 символа"
688
692
689#: qml/Wizard/Pages/password-set.qml:30
693#: qml/Wizard/Pages/password-set.qml:30
690msgid "Lock Screen Password"
694msgid "Lock Screen Password"
691−msgstr ""
695+msgstr "Пароль блокировки экрана"
692
696
693#: qml/Wizard/Pages/password-set.qml:61
697#: qml/Wizard/Pages/password-set.qml:61
694msgid "Enter at least 8 characters"
698msgid "Enter at least 8 characters"
@@ -737,11 +741,11 @@ msgstr "Пароли не совпадают"
737
741
738#: qml/Wizard/PasswordMeter.qml:93
742#: qml/Wizard/PasswordMeter.qml:93
739msgid "Strong password"
743msgid "Strong password"
740−msgstr ""
744+msgstr "Сильный пароль"
741
745
742#: qml/Wizard/PasswordMeter.qml:95
746#: qml/Wizard/PasswordMeter.qml:95
743msgid "Fair password"
747msgid "Fair password"
744−msgstr ""
748+msgstr "Неплохой пароль"
745
749
746#: qml/Wizard/PasswordMeter.qml:97
750#: qml/Wizard/PasswordMeter.qml:97
747msgid "Weak password"
751msgid "Weak password"
po/shn.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-11-10 12:09+0000\n"
11"PO-Revision-Date: 2015-11-10 12:09+0000\n"
12"Last-Translator: Rockworld <sumoisrock@gmail.com>\n"
12"Last-Translator: Rockworld <sumoisrock@gmail.com>\n"
13"Language-Team: Shan <shn@li.org>\n"
13"Language-Team: Shan <shn@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=(n == 1) ? 0 : 1;\n"
17"Plural-Forms: nplurals=2; plural=(n == 1) ? 0 : 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -186,15 +186,15 @@ msgstr ""
186msgid "Reset"
186msgid "Reset"
187msgstr ""
187msgstr ""
188
188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190msgid "Show less"
190msgid "Show less"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194msgid "Show all"
194msgid "Show all"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198msgctxt "Label: Hint for dash search line edit"
198msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
199msgid "Search"
200msgstr ""
200msgstr ""
@@ -256,7 +256,7 @@ msgstr ""
256msgid "Also installed"
256msgid "Also installed"
257msgstr ""
257msgstr ""
258
258
259−#: qml/DisabledScreenNotice.qml:104
259+#: qml/DisabledScreenNotice.qml:109
260msgid ""
260msgid ""
261"Your device is now connected to an external display. Use this screen as a "
261"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
262"touch pad to interact with the pointer."
po/si.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2013-06-26 22:36+0000\n"
11"PO-Revision-Date: 2013-06-26 22:36+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Sinhalese <si@li.org>\n"
13"Language-Team: Sinhalese <si@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -188,15 +188,15 @@ msgstr ""
188msgid "Reset"
188msgid "Reset"
189msgstr ""
189msgstr ""
190
190
191−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
191+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
192msgid "Show less"
192msgid "Show less"
193msgstr ""
193msgstr ""
194
194
195−#: qml/Dash/GenericScopeView.qml:570
195+#: qml/Dash/GenericScopeView.qml:579
196msgid "Show all"
196msgid "Show all"
197msgstr ""
197msgstr ""
198
198
199−#: qml/Dash/GenericScopeView.qml:627
199+#: qml/Dash/GenericScopeView.qml:636
200msgctxt "Label: Hint for dash search line edit"
200msgctxt "Label: Hint for dash search line edit"
201msgid "Search"
201msgid "Search"
202msgstr ""
202msgstr ""
@@ -258,7 +258,7 @@ msgstr ""
258msgid "Also installed"
258msgid "Also installed"
259msgstr ""
259msgstr ""
260
260
261−#: qml/DisabledScreenNotice.qml:104
261+#: qml/DisabledScreenNotice.qml:109
262msgid ""
262msgid ""
263"Your device is now connected to an external display. Use this screen as a "
263"Your device is now connected to an external display. Use this screen as a "
264"touch pad to interact with the pointer."
264"touch pad to interact with the pointer."
po/sk.po+56−11
@@ -7,16 +7,16 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11−"PO-Revision-Date: 2016-03-26 15:29+0000\n"
11+"PO-Revision-Date: 2016-05-02 10:43+0000\n"
12"Last-Translator: P_E_T_O <Unknown>\n"
12"Last-Translator: P_E_T_O <Unknown>\n"
13"Language-Team: Slovak <sk@li.org>\n"
13"Language-Team: Slovak <sk@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n"
17"Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20"Language: sk\n"
20"Language: sk\n"
21
21
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -195,15 +195,15 @@ msgstr "Spresniť výsledky"
195msgid "Reset"
195msgid "Reset"
196msgstr "Resetovať"
196msgstr "Resetovať"
197
197
198−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
198+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
199msgid "Show less"
199msgid "Show less"
200−msgstr ""
200+msgstr "Zobraziť menej"
201
201
202−#: qml/Dash/GenericScopeView.qml:570
202+#: qml/Dash/GenericScopeView.qml:579
203msgid "Show all"
203msgid "Show all"
204−msgstr ""
204+msgstr "Zobraziť všetko"
205
205
206−#: qml/Dash/GenericScopeView.qml:627
206+#: qml/Dash/GenericScopeView.qml:636
207msgctxt "Label: Hint for dash search line edit"
207msgctxt "Label: Hint for dash search line edit"
208msgid "Search"
208msgid "Search"
209msgstr "Hľadať"
209msgstr "Hľadať"
@@ -265,7 +265,7 @@ msgstr "Domov"
265msgid "Also installed"
265msgid "Also installed"
266msgstr "Tiež nainštalované"
266msgstr "Tiež nainštalované"
267
267
268−#: qml/DisabledScreenNotice.qml:104
268+#: qml/DisabledScreenNotice.qml:109
269msgid ""
269msgid ""
270"Your device is now connected to an external display. Use this screen as a "
270"Your device is now connected to an external display. Use this screen as a "
271"touch pad to interact with the pointer."
271"touch pad to interact with the pointer."
@@ -469,7 +469,7 @@ msgstr "Potiahnite od ľavého okraja pre otvorenie spúšťača"
469
469
470#: qml/Tutorial/TutorialRight.qml:55
470#: qml/Tutorial/TutorialRight.qml:55
471msgid "Push your mouse against the right edge to view your open apps"
471msgid "Push your mouse against the right edge to view your open apps"
472−msgstr ""
472+msgstr "Potiahnuť myšou do pravého rohu pre zobrazenie otvorených aplikácií"
473
473
474#: qml/Tutorial/TutorialRight.qml:56
474#: qml/Tutorial/TutorialRight.qml:56
475msgid "Short or long swipe from the right edge to view your open apps"
475msgid "Short or long swipe from the right edge to view your open apps"
@@ -764,6 +764,30 @@ msgstr "Heslo je slabé"
764msgid "Very weak password"
764msgid "Very weak password"
765msgstr "Heslo je veľmi slabé"
765msgstr "Heslo je veľmi slabé"
766
766
767+#~ msgid "Reboot"
768+#~ msgstr "Reštartovať"
769+
770+#~ msgid "Shut down"
771+#~ msgstr "Vypnúť"
772+
773+#~ msgid "Power"
774+#~ msgstr "Napájanie"
775+
776+#~ msgid "Power off"
777+#~ msgstr "Vypnúť"
778+
779+#~ msgid "Close"
780+#~ msgstr "Zatvoriť"
781+
782+#~ msgid "Well done"
783+#~ msgstr "Výborne"
784+
785+#~ msgid "Skip intro"
786+#~ msgstr "Preskočiť"
787+
788+#~ msgid "Right edge"
789+#~ msgstr "Pravý okraj"
790+
767#~ msgctxt "Title: Reboot/Shut down dialog"
791#~ msgctxt "Title: Reboot/Shut down dialog"
768#~ msgid "Shut down"
792#~ msgid "Shut down"
769#~ msgstr "Vypnúť"
793#~ msgstr "Vypnúť"
@@ -951,3 +975,24 @@ msgstr "Heslo je veľmi slabé"
951
975
952#~ msgid "Hover your mouse on the right edge to view your open apps"
976#~ msgid "Hover your mouse on the right edge to view your open apps"
953#~ msgstr "Prejdite myšou od pravého okraja pre zobrazenie otvorených aplikácií"
977#~ msgstr "Prejdite myšou od pravého okraja pre zobrazenie otvorených aplikácií"
978+
979+#~ msgid "Log out"
980+#~ msgstr "Odhlásiť sa"
981+
982+#~ msgid "Try swiping from the top edge to access the indicators"
983+#~ msgstr "Potiahnite horný okraj pre prístup k indikátorom"
984+
985+#~ msgid "Top edge"
986+#~ msgstr "Horný okraj"
987+
988+#~ msgid "Try swiping from the right edge to unlock the phone"
989+#~ msgstr "Potiahnite od pravého okraja pre odomknutie telefónu"
990+
991+#~ msgid "Swipe up again to close the settings screen"
992+#~ msgstr "Potiahnite späť hore pre zatvorenie nastavení"
993+
994+#~ msgid "Left edge"
995+#~ msgstr "Ľavý okraj"
996+
997+#~ msgid "Swipe from the left to reveal the launcher for quick access to apps"
998+#~ msgstr "Potiahnite z ľavého okraja pre rýchly prístup k aplikáciam"
po/sl.po+10−10
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2016-01-31 18:34+0000\n"
11"PO-Revision-Date: 2016-01-31 18:34+0000\n"
12"Last-Translator: Bernard Banko <Unknown>\n"
12"Last-Translator: Bernard Banko <Unknown>\n"
13"Language-Team: Slovenian <sl@li.org>\n"
13"Language-Team: Slovenian <sl@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || "
17"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || "
18"n%100==4 ? 3 : 0);\n"
18"n%100==4 ? 3 : 0);\n"
19−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
19+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
20−"X-Generator: Launchpad (build 17995)\n"
20+"X-Generator: Launchpad (build 18053)\n"
21
21
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
@@ -193,15 +193,15 @@ msgstr "Prečistite rezultate"
193msgid "Reset"
193msgid "Reset"
194msgstr "Ponastavi"
194msgstr "Ponastavi"
195
195
196−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
196+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
197msgid "Show less"
197msgid "Show less"
198−msgstr ""
198+msgstr "Pokaži manj"
199
199
200−#: qml/Dash/GenericScopeView.qml:570
200+#: qml/Dash/GenericScopeView.qml:579
201msgid "Show all"
201msgid "Show all"
202−msgstr ""
202+msgstr "Pokaži vse"
203
203
204−#: qml/Dash/GenericScopeView.qml:627
204+#: qml/Dash/GenericScopeView.qml:636
205msgctxt "Label: Hint for dash search line edit"
205msgctxt "Label: Hint for dash search line edit"
206msgid "Search"
206msgid "Search"
207msgstr "Iskanje"
207msgstr "Iskanje"
@@ -263,7 +263,7 @@ msgstr "Domov"
263msgid "Also installed"
263msgid "Also installed"
264msgstr "Tudi nameščeno"
264msgstr "Tudi nameščeno"
265
265
266−#: qml/DisabledScreenNotice.qml:104
266+#: qml/DisabledScreenNotice.qml:109
267msgid ""
267msgid ""
268"Your device is now connected to an external display. Use this screen as a "
268"Your device is now connected to an external display. Use this screen as a "
269"touch pad to interact with the pointer."
269"touch pad to interact with the pointer."
@@ -469,7 +469,7 @@ msgstr "Potegnite levi rob za prikaz zaganjalnika"
469
469
470#: qml/Tutorial/TutorialRight.qml:55
470#: qml/Tutorial/TutorialRight.qml:55
471msgid "Push your mouse against the right edge to view your open apps"
471msgid "Push your mouse against the right edge to view your open apps"
472−msgstr ""
472+msgstr "Za prikaz odprtih programov potisnite kazalko proti desnemu robu."
473
473
474#: qml/Tutorial/TutorialRight.qml:56
474#: qml/Tutorial/TutorialRight.qml:56
475msgid "Short or long swipe from the right edge to view your open apps"
475msgid "Short or long swipe from the right edge to view your open apps"
po/sq.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2016-04-21 06:03+0000\n"
11"PO-Revision-Date: 2016-04-21 06:03+0000\n"
12"Last-Translator: Indrit Bashkimi <indrit.bashkimi@gmail.com>\n"
12"Last-Translator: Indrit Bashkimi <indrit.bashkimi@gmail.com>\n"
13"Language-Team: sq\n"
13"Language-Team: sq\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20"Language: sq\n"
20"Language: sq\n"
21
21
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -187,15 +187,15 @@ msgstr "Përmirëso rezultatet"
187msgid "Reset"
187msgid "Reset"
188msgstr "Rivendos"
188msgstr "Rivendos"
189
189
190−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
190+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
191msgid "Show less"
191msgid "Show less"
192msgstr ""
192msgstr ""
193
193
194−#: qml/Dash/GenericScopeView.qml:570
194+#: qml/Dash/GenericScopeView.qml:579
195msgid "Show all"
195msgid "Show all"
196msgstr ""
196msgstr ""
197
197
198−#: qml/Dash/GenericScopeView.qml:627
198+#: qml/Dash/GenericScopeView.qml:636
199msgctxt "Label: Hint for dash search line edit"
199msgctxt "Label: Hint for dash search line edit"
200msgid "Search"
200msgid "Search"
201msgstr "Kërko"
201msgstr "Kërko"
@@ -257,7 +257,7 @@ msgstr "Shtëpia"
257msgid "Also installed"
257msgid "Also installed"
258msgstr ""
258msgstr ""
259
259
260−#: qml/DisabledScreenNotice.qml:104
260+#: qml/DisabledScreenNotice.qml:109
261msgid ""
261msgid ""
262"Your device is now connected to an external display. Use this screen as a "
262"Your device is now connected to an external display. Use this screen as a "
263"touch pad to interact with the pointer."
263"touch pad to interact with the pointer."
po/sr.po+11−10
@@ -8,8 +8,8 @@ msgid ""
8msgstr ""
8msgstr ""
9"Project-Id-Version: unity\n"
9"Project-Id-Version: unity\n"
10"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
11−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
11+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
12−"PO-Revision-Date: 2016-03-24 12:36+0000\n"
12+"PO-Revision-Date: 2016-05-04 19:50+0000\n"
13"Last-Translator: Bojan Bogdanović <Unknown>\n"
13"Last-Translator: Bojan Bogdanović <Unknown>\n"
14"Language-Team: српски <xfce4@xfce4.org>\n"
14"Language-Team: српски <xfce4@xfce4.org>\n"
15"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
@@ -17,8 +17,8 @@ msgstr ""
17"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
18"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
19"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
20−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
20+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
21−"X-Generator: Launchpad (build 17995)\n"
21+"X-Generator: Launchpad (build 18053)\n"
22"Language: sr\n"
22"Language: sr\n"
23
23
24#: plugins/IntegratedLightDM/Greeter.cpp:112
24#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -192,15 +192,15 @@ msgstr "Пречистите Ваше резултате"
192msgid "Reset"
192msgid "Reset"
193msgstr "Ресетуј"
193msgstr "Ресетуј"
194
194
195−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
195+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
196msgid "Show less"
196msgid "Show less"
197−msgstr ""
197+msgstr "Прикажи мање"
198
198
199−#: qml/Dash/GenericScopeView.qml:570
199+#: qml/Dash/GenericScopeView.qml:579
200msgid "Show all"
200msgid "Show all"
201−msgstr ""
201+msgstr "Прикажи све"
202
202
203−#: qml/Dash/GenericScopeView.qml:627
203+#: qml/Dash/GenericScopeView.qml:636
204msgctxt "Label: Hint for dash search line edit"
204msgctxt "Label: Hint for dash search line edit"
205msgid "Search"
205msgid "Search"
206msgstr "Претрага"
206msgstr "Претрага"
@@ -262,7 +262,7 @@ msgstr "Почетна"
262msgid "Also installed"
262msgid "Also installed"
263msgstr "Такође инсталиран"
263msgstr "Такође инсталиран"
264
264
265−#: qml/DisabledScreenNotice.qml:104
265+#: qml/DisabledScreenNotice.qml:109
266msgid ""
266msgid ""
267"Your device is now connected to an external display. Use this screen as a "
267"Your device is now connected to an external display. Use this screen as a "
268"touch pad to interact with the pointer."
268"touch pad to interact with the pointer."
@@ -467,6 +467,7 @@ msgstr "Превуците са леве ивице да отворите пок
467#: qml/Tutorial/TutorialRight.qml:55
467#: qml/Tutorial/TutorialRight.qml:55
468msgid "Push your mouse against the right edge to view your open apps"
468msgid "Push your mouse against the right edge to view your open apps"
469msgstr ""
469msgstr ""
470+"померите Вашег миша преко десне ивице да видите Ваше отворене програме"
470
471
471#: qml/Tutorial/TutorialRight.qml:56
472#: qml/Tutorial/TutorialRight.qml:56
472msgid "Short or long swipe from the right edge to view your open apps"
473msgid "Short or long swipe from the right edge to view your open apps"
po/sv.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2016-03-25 05:01+0000\n"
11"PO-Revision-Date: 2016-03-25 05:01+0000\n"
12"Last-Translator: Josef Andersson <Unknown>\n"
12"Last-Translator: Josef Andersson <Unknown>\n"
13"Language-Team: Swedish\n"
13"Language-Team: Swedish\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20"Language: sv\n"
20"Language: sv\n"
21
21
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -190,15 +190,15 @@ msgstr "Förfina dina resultat"
190msgid "Reset"
190msgid "Reset"
191msgstr "Återställ"
191msgstr "Återställ"
192
192
193−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
193+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
194msgid "Show less"
194msgid "Show less"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:570
197+#: qml/Dash/GenericScopeView.qml:579
198msgid "Show all"
198msgid "Show all"
199msgstr ""
199msgstr ""
200
200
201−#: qml/Dash/GenericScopeView.qml:627
201+#: qml/Dash/GenericScopeView.qml:636
202msgctxt "Label: Hint for dash search line edit"
202msgctxt "Label: Hint for dash search line edit"
203msgid "Search"
203msgid "Search"
204msgstr "Sök"
204msgstr "Sök"
@@ -260,7 +260,7 @@ msgstr "Hem"
260msgid "Also installed"
260msgid "Also installed"
261msgstr "Även installerat"
261msgstr "Även installerat"
262
262
263−#: qml/DisabledScreenNotice.qml:104
263+#: qml/DisabledScreenNotice.qml:109
264msgid ""
264msgid ""
265"Your device is now connected to an external display. Use this screen as a "
265"Your device is now connected to an external display. Use this screen as a "
266"touch pad to interact with the pointer."
266"touch pad to interact with the pointer."
po/sw.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-07-17 20:02+0000\n"
11"PO-Revision-Date: 2015-07-17 20:02+0000\n"
12"Last-Translator: Valentine <mwangi_valentino@yahoo.com>\n"
12"Last-Translator: Valentine <mwangi_valentino@yahoo.com>\n"
13"Language-Team: Swahili <sw@li.org>\n"
13"Language-Team: Swahili <sw@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -188,15 +188,15 @@ msgstr ""
188msgid "Reset"
188msgid "Reset"
189msgstr ""
189msgstr ""
190
190
191−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
191+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
192msgid "Show less"
192msgid "Show less"
193msgstr ""
193msgstr ""
194
194
195−#: qml/Dash/GenericScopeView.qml:570
195+#: qml/Dash/GenericScopeView.qml:579
196msgid "Show all"
196msgid "Show all"
197msgstr ""
197msgstr ""
198
198
199−#: qml/Dash/GenericScopeView.qml:627
199+#: qml/Dash/GenericScopeView.qml:636
200msgctxt "Label: Hint for dash search line edit"
200msgctxt "Label: Hint for dash search line edit"
201msgid "Search"
201msgid "Search"
202msgstr "Tafuta"
202msgstr "Tafuta"
@@ -258,7 +258,7 @@ msgstr "Nyumbani"
258msgid "Also installed"
258msgid "Also installed"
259msgstr ""
259msgstr ""
260
260
261−#: qml/DisabledScreenNotice.qml:104
261+#: qml/DisabledScreenNotice.qml:109
262msgid ""
262msgid ""
263"Your device is now connected to an external display. Use this screen as a "
263"Your device is now connected to an external display. Use this screen as a "
264"touch pad to interact with the pointer."
264"touch pad to interact with the pointer."
po/ta.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2013-10-24 11:36+0000\n"
11"PO-Revision-Date: 2013-10-24 11:36+0000\n"
12"Last-Translator: Arun Kumar - அருண் குமார் <thangam.arunx@gmail.com>\n"
12"Last-Translator: Arun Kumar - அருண் குமார் <thangam.arunx@gmail.com>\n"
13"Language-Team: Ubuntu Tamil Team/Free Tamil Computing/Thamizha\n"
13"Language-Team: Ubuntu Tamil Team/Free Tamil Computing/Thamizha\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20"Language: ta\n"
20"Language: ta\n"
21
21
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -187,15 +187,15 @@ msgstr ""
187msgid "Reset"
187msgid "Reset"
188msgstr ""
188msgstr ""
189
189
190−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
190+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
191msgid "Show less"
191msgid "Show less"
192msgstr ""
192msgstr ""
193
193
194−#: qml/Dash/GenericScopeView.qml:570
194+#: qml/Dash/GenericScopeView.qml:579
195msgid "Show all"
195msgid "Show all"
196msgstr ""
196msgstr ""
197
197
198−#: qml/Dash/GenericScopeView.qml:627
198+#: qml/Dash/GenericScopeView.qml:636
199msgctxt "Label: Hint for dash search line edit"
199msgctxt "Label: Hint for dash search line edit"
200msgid "Search"
200msgid "Search"
201msgstr ""
201msgstr ""
@@ -257,7 +257,7 @@ msgstr ""
257msgid "Also installed"
257msgid "Also installed"
258msgstr ""
258msgstr ""
259
259
260−#: qml/DisabledScreenNotice.qml:104
260+#: qml/DisabledScreenNotice.qml:109
261msgid ""
261msgid ""
262"Your device is now connected to an external display. Use this screen as a "
262"Your device is now connected to an external display. Use this screen as a "
263"touch pad to interact with the pointer."
263"touch pad to interact with the pointer."
po/te.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2014-07-19 10:04+0000\n"
11"PO-Revision-Date: 2014-07-19 10:04+0000\n"
12"Last-Translator: Praveen Illa <mail2ipn@gmail.com>\n"
12"Last-Translator: Praveen Illa <mail2ipn@gmail.com>\n"
13"Language-Team: Telugu <te@li.org>\n"
13"Language-Team: Telugu <te@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -186,15 +186,15 @@ msgstr ""
186msgid "Reset"
186msgid "Reset"
187msgstr ""
187msgstr ""
188
188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190msgid "Show less"
190msgid "Show less"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194msgid "Show all"
194msgid "Show all"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198msgctxt "Label: Hint for dash search line edit"
198msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
199msgid "Search"
200msgstr ""
200msgstr ""
@@ -256,7 +256,7 @@ msgstr ""
256msgid "Also installed"
256msgid "Also installed"
257msgstr ""
257msgstr ""
258
258
259−#: qml/DisabledScreenNotice.qml:104
259+#: qml/DisabledScreenNotice.qml:109
260msgid ""
260msgid ""
261"Your device is now connected to an external display. Use this screen as a "
261"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
262"touch pad to interact with the pointer."
po/th.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2014-10-02 04:55+0000\n"
11"PO-Revision-Date: 2014-10-02 04:55+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Thai <th@li.org>\n"
13"Language-Team: Thai <th@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -186,15 +186,15 @@ msgstr ""
186msgid "Reset"
186msgid "Reset"
187msgstr ""
187msgstr ""
188
188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190msgid "Show less"
190msgid "Show less"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194msgid "Show all"
194msgid "Show all"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198msgctxt "Label: Hint for dash search line edit"
198msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
199msgid "Search"
200msgstr ""
200msgstr ""
@@ -256,7 +256,7 @@ msgstr ""
256msgid "Also installed"
256msgid "Also installed"
257msgstr ""
257msgstr ""
258
258
259−#: qml/DisabledScreenNotice.qml:104
259+#: qml/DisabledScreenNotice.qml:109
260msgid ""
260msgid ""
261"Your device is now connected to an external display. Use this screen as a "
261"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
262"touch pad to interact with the pointer."
po/tr.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-03-22 15:56+0000\n"
11"PO-Revision-Date: 2015-03-22 15:56+0000\n"
12"Last-Translator: Arda Ünlü <aarda.uunlu@gmail.com>\n"
12"Last-Translator: Arda Ünlü <aarda.uunlu@gmail.com>\n"
13"Language-Team: Turkish <tr@li.org>\n"
13"Language-Team: Turkish <tr@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -186,15 +186,15 @@ msgstr ""
186msgid "Reset"
186msgid "Reset"
187msgstr ""
187msgstr ""
188
188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190msgid "Show less"
190msgid "Show less"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194msgid "Show all"
194msgid "Show all"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198msgctxt "Label: Hint for dash search line edit"
198msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
199msgid "Search"
200msgstr "Ara"
200msgstr "Ara"
@@ -256,7 +256,7 @@ msgstr "Ev"
256msgid "Also installed"
256msgid "Also installed"
257msgstr "Ayrıca kurulan"
257msgstr "Ayrıca kurulan"
258
258
259−#: qml/DisabledScreenNotice.qml:104
259+#: qml/DisabledScreenNotice.qml:109
260msgid ""
260msgid ""
261"Your device is now connected to an external display. Use this screen as a "
261"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
262"touch pad to interact with the pointer."
po/ug.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-12-01 07:37+0000\n"
11"PO-Revision-Date: 2015-12-01 07:37+0000\n"
12"Last-Translator: Eltikin <eltikinuyghur@hotmail.com>\n"
12"Last-Translator: Eltikin <eltikinuyghur@hotmail.com>\n"
13"Language-Team: Uyghur Computer Science Association <UKIJ@yahoogroups.com>\n"
13"Language-Team: Uyghur Computer Science Association <UKIJ@yahoogroups.com>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -187,15 +187,15 @@ msgstr ""
187msgid "Reset"
187msgid "Reset"
188msgstr ""
188msgstr ""
189
189
190−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
190+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
191msgid "Show less"
191msgid "Show less"
192msgstr ""
192msgstr ""
193
193
194−#: qml/Dash/GenericScopeView.qml:570
194+#: qml/Dash/GenericScopeView.qml:579
195msgid "Show all"
195msgid "Show all"
196msgstr ""
196msgstr ""
197
197
198−#: qml/Dash/GenericScopeView.qml:627
198+#: qml/Dash/GenericScopeView.qml:636
199msgctxt "Label: Hint for dash search line edit"
199msgctxt "Label: Hint for dash search line edit"
200msgid "Search"
200msgid "Search"
201msgstr "ئىزدە"
201msgstr "ئىزدە"
@@ -257,7 +257,7 @@ msgstr "ماكان"
257msgid "Also installed"
257msgid "Also installed"
258msgstr "قايتىدىن ئورنات"
258msgstr "قايتىدىن ئورنات"
259
259
260−#: qml/DisabledScreenNotice.qml:104
260+#: qml/DisabledScreenNotice.qml:109
261msgid ""
261msgid ""
262"Your device is now connected to an external display. Use this screen as a "
262"Your device is now connected to an external display. Use this screen as a "
263"touch pad to interact with the pointer."
263"touch pad to interact with the pointer."
po/uk.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2016-04-01 17:32+0000\n"
11"PO-Revision-Date: 2016-04-01 17:32+0000\n"
12"Last-Translator: Yuri Chornoivan <yurchor@gmail.com>\n"
12"Last-Translator: Yuri Chornoivan <yurchor@gmail.com>\n"
13"Language-Team: Ukrainian <uk@li.org>\n"
13"Language-Team: Ukrainian <uk@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
19+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
20−"X-Generator: Launchpad (build 17995)\n"
20+"X-Generator: Launchpad (build 18053)\n"
21
21
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
@@ -196,15 +196,15 @@ msgstr "Покращіть результати"
196msgid "Reset"
196msgid "Reset"
197msgstr "Скинути"
197msgstr "Скинути"
198
198
199−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
199+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
200msgid "Show less"
200msgid "Show less"
201msgstr ""
201msgstr ""
202
202
203−#: qml/Dash/GenericScopeView.qml:570
203+#: qml/Dash/GenericScopeView.qml:579
204msgid "Show all"
204msgid "Show all"
205msgstr ""
205msgstr ""
206
206
207−#: qml/Dash/GenericScopeView.qml:627
207+#: qml/Dash/GenericScopeView.qml:636
208msgctxt "Label: Hint for dash search line edit"
208msgctxt "Label: Hint for dash search line edit"
209msgid "Search"
209msgid "Search"
210msgstr "Пошук"
210msgstr "Пошук"
@@ -266,7 +266,7 @@ msgstr "Домівка"
266msgid "Also installed"
266msgid "Also installed"
267msgstr "Також встановлено"
267msgstr "Також встановлено"
268
268
269−#: qml/DisabledScreenNotice.qml:104
269+#: qml/DisabledScreenNotice.qml:109
270msgid ""
270msgid ""
271"Your device is now connected to an external display. Use this screen as a "
271"Your device is now connected to an external display. Use this screen as a "
272"touch pad to interact with the pointer."
272"touch pad to interact with the pointer."
po/unity8.pot+5−5
@@ -8,7 +8,7 @@ msgid ""
8msgstr ""
8msgstr ""
9"Project-Id-Version: unity8\n"
9"Project-Id-Version: unity8\n"
10"Report-Msgid-Bugs-To: \n"
10"Report-Msgid-Bugs-To: \n"
11−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
11+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14"Language-Team: LANGUAGE <LL@li.org>\n"
14"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -186,15 +186,15 @@ msgstr ""
186msgid "Reset"
186msgid "Reset"
187msgstr ""
187msgstr ""
188
188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190msgid "Show less"
190msgid "Show less"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194msgid "Show all"
194msgid "Show all"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198msgctxt "Label: Hint for dash search line edit"
198msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
199msgid "Search"
200msgstr ""
200msgstr ""
@@ -256,7 +256,7 @@ msgstr ""
256msgid "Also installed"
256msgid "Also installed"
257msgstr ""
257msgstr ""
258
258
259−#: qml/DisabledScreenNotice.qml:104
259+#: qml/DisabledScreenNotice.qml:109
260msgid ""
260msgid ""
261"Your device is now connected to an external display. Use this screen as a "
261"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
262"touch pad to interact with the pointer."
po/ur.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-05-05 03:12+0000\n"
11"PO-Revision-Date: 2015-05-05 03:12+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Urdu <ur@li.org>\n"
13"Language-Team: Urdu <ur@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -186,15 +186,15 @@ msgstr ""
186msgid "Reset"
186msgid "Reset"
187msgstr ""
187msgstr ""
188
188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190msgid "Show less"
190msgid "Show less"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194msgid "Show all"
194msgid "Show all"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198msgctxt "Label: Hint for dash search line edit"
198msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
199msgid "Search"
200msgstr ""
200msgstr ""
@@ -256,7 +256,7 @@ msgstr ""
256msgid "Also installed"
256msgid "Also installed"
257msgstr ""
257msgstr ""
258
258
259−#: qml/DisabledScreenNotice.qml:104
259+#: qml/DisabledScreenNotice.qml:109
260msgid ""
260msgid ""
261"Your device is now connected to an external display. Use this screen as a "
261"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
262"touch pad to interact with the pointer."
po/uz.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-07-04 16:03+0000\n"
11"PO-Revision-Date: 2015-07-04 16:03+0000\n"
12"Last-Translator: Learner <muzaffar.habibullayev@yandex.ru>\n"
12"Last-Translator: Learner <muzaffar.habibullayev@yandex.ru>\n"
13"Language-Team: Uzbek <uz@li.org>\n"
13"Language-Team: Uzbek <uz@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -186,15 +186,15 @@ msgstr ""
186msgid "Reset"
186msgid "Reset"
187msgstr ""
187msgstr ""
188
188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190msgid "Show less"
190msgid "Show less"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194msgid "Show all"
194msgid "Show all"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198msgctxt "Label: Hint for dash search line edit"
198msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
199msgid "Search"
200msgstr ""
200msgstr ""
@@ -256,7 +256,7 @@ msgstr ""
256msgid "Also installed"
256msgid "Also installed"
257msgstr ""
257msgstr ""
258
258
259−#: qml/DisabledScreenNotice.qml:104
259+#: qml/DisabledScreenNotice.qml:109
260msgid ""
260msgid ""
261"Your device is now connected to an external display. Use this screen as a "
261"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
262"touch pad to interact with the pointer."
po/vi.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2014-01-15 01:19+0000\n"
11"PO-Revision-Date: 2014-01-15 01:19+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Vietnamese <vi@li.org>\n"
13"Language-Team: Vietnamese <vi@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -186,15 +186,15 @@ msgstr ""
186msgid "Reset"
186msgid "Reset"
187msgstr ""
187msgstr ""
188
188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190msgid "Show less"
190msgid "Show less"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194msgid "Show all"
194msgid "Show all"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198msgctxt "Label: Hint for dash search line edit"
198msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
199msgid "Search"
200msgstr ""
200msgstr ""
@@ -256,7 +256,7 @@ msgstr ""
256msgid "Also installed"
256msgid "Also installed"
257msgstr ""
257msgstr ""
258
258
259−#: qml/DisabledScreenNotice.qml:104
259+#: qml/DisabledScreenNotice.qml:109
260msgid ""
260msgid ""
261"Your device is now connected to an external display. Use this screen as a "
261"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
262"touch pad to interact with the pointer."
po/wo.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2015-10-29 11:16+0000\n"
11"PO-Revision-Date: 2015-10-29 11:16+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Wolof <wo@li.org>\n"
13"Language-Team: Wolof <wo@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -186,15 +186,15 @@ msgstr ""
186msgid "Reset"
186msgid "Reset"
187msgstr ""
187msgstr ""
188
188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190msgid "Show less"
190msgid "Show less"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194msgid "Show all"
194msgid "Show all"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198msgctxt "Label: Hint for dash search line edit"
198msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
199msgid "Search"
200msgstr "Seet"
200msgstr "Seet"
@@ -256,7 +256,7 @@ msgstr "Njëlbeen"
256msgid "Also installed"
256msgid "Also installed"
257msgstr "Yiñ samp tamit"
257msgstr "Yiñ samp tamit"
258
258
259−#: qml/DisabledScreenNotice.qml:104
259+#: qml/DisabledScreenNotice.qml:109
260msgid ""
260msgid ""
261"Your device is now connected to an external display. Use this screen as a "
261"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
262"touch pad to interact with the pointer."
po/xh.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2013-09-28 13:20+0000\n"
11"PO-Revision-Date: 2013-09-28 13:20+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Xhosa <xh@li.org>\n"
13"Language-Team: Xhosa <xh@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -186,15 +186,15 @@ msgstr ""
186msgid "Reset"
186msgid "Reset"
187msgstr ""
187msgstr ""
188
188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190msgid "Show less"
190msgid "Show less"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194msgid "Show all"
194msgid "Show all"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198msgctxt "Label: Hint for dash search line edit"
198msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
199msgid "Search"
200msgstr ""
200msgstr ""
@@ -256,7 +256,7 @@ msgstr ""
256msgid "Also installed"
256msgid "Also installed"
257msgstr ""
257msgstr ""
258
258
259−#: qml/DisabledScreenNotice.qml:104
259+#: qml/DisabledScreenNotice.qml:109
260msgid ""
260msgid ""
261"Your device is now connected to an external display. Use this screen as a "
261"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
262"touch pad to interact with the pointer."
po/zh_CN.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2016-04-13 06:27+0000\n"
11"PO-Revision-Date: 2016-04-13 06:27+0000\n"
12"Last-Translator: YunQiang Su <wzssyqa@gmail.com>\n"
12"Last-Translator: YunQiang Su <wzssyqa@gmail.com>\n"
13"Language-Team: Chinese (Simplified) <zh_CN@li.org>\n"
13"Language-Team: Chinese (Simplified) <zh_CN@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -187,15 +187,15 @@ msgstr "精进查找结果"
187msgid "Reset"
187msgid "Reset"
188msgstr "重置"
188msgstr "重置"
189
189
190−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
190+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
191msgid "Show less"
191msgid "Show less"
192msgstr ""
192msgstr ""
193
193
194−#: qml/Dash/GenericScopeView.qml:570
194+#: qml/Dash/GenericScopeView.qml:579
195msgid "Show all"
195msgid "Show all"
196msgstr ""
196msgstr ""
197
197
198−#: qml/Dash/GenericScopeView.qml:627
198+#: qml/Dash/GenericScopeView.qml:636
199msgctxt "Label: Hint for dash search line edit"
199msgctxt "Label: Hint for dash search line edit"
200msgid "Search"
200msgid "Search"
201msgstr "搜索"
201msgstr "搜索"
@@ -257,7 +257,7 @@ msgstr "首页"
257msgid "Also installed"
257msgid "Also installed"
258msgstr "已安装"
258msgstr "已安装"
259
259
260−#: qml/DisabledScreenNotice.qml:104
260+#: qml/DisabledScreenNotice.qml:109
261msgid ""
261msgid ""
262"Your device is now connected to an external display. Use this screen as a "
262"Your device is now connected to an external display. Use this screen as a "
263"touch pad to interact with the pointer."
263"touch pad to interact with the pointer."
po/zh_HK.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2014-08-10 11:45+0000\n"
11"PO-Revision-Date: 2014-08-10 11:45+0000\n"
12"Last-Translator: Daniel Cheung <daniel.2345@hotmail.com>\n"
12"Last-Translator: Daniel Cheung <daniel.2345@hotmail.com>\n"
13"Language-Team: Chinese (Hong Kong) <zh_HK@li.org>\n"
13"Language-Team: Chinese (Hong Kong) <zh_HK@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -186,15 +186,15 @@ msgstr ""
186msgid "Reset"
186msgid "Reset"
187msgstr ""
187msgstr ""
188
188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190msgid "Show less"
190msgid "Show less"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194msgid "Show all"
194msgid "Show all"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198msgctxt "Label: Hint for dash search line edit"
198msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
199msgid "Search"
200msgstr ""
200msgstr ""
@@ -256,7 +256,7 @@ msgstr ""
256msgid "Also installed"
256msgid "Also installed"
257msgstr ""
257msgstr ""
258
258
259−#: qml/DisabledScreenNotice.qml:104
259+#: qml/DisabledScreenNotice.qml:109
260msgid ""
260msgid ""
261"Your device is now connected to an external display. Use this screen as a "
261"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
262"touch pad to interact with the pointer."
po/zh_TW.po+7−7
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
10+"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11"PO-Revision-Date: 2016-02-24 04:40+0000\n"
11"PO-Revision-Date: 2016-02-24 04:40+0000\n"
12"Last-Translator: Po-Hsu Lin <po-hsu.lin@canonical.com>\n"
12"Last-Translator: Po-Hsu Lin <po-hsu.lin@canonical.com>\n"
13"Language-Team: Chinese (Traditional) <zh_TW@li.org>\n"
13"Language-Team: Chinese (Traditional) <zh_TW@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19−"X-Generator: Launchpad (build 17995)\n"
19+"X-Generator: Launchpad (build 18053)\n"
20"Language: zh_TW\n"
20"Language: zh_TW\n"
21
21
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -186,15 +186,15 @@ msgstr "精細篩選結果"
186msgid "Reset"
186msgid "Reset"
187msgstr "重設"
187msgstr "重設"
188
188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190msgid "Show less"
190msgid "Show less"
191msgstr ""
191msgstr ""
192
192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194msgid "Show all"
194msgid "Show all"
195msgstr ""
195msgstr ""
196
196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198msgctxt "Label: Hint for dash search line edit"
198msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
199msgid "Search"
200msgstr "搜尋"
200msgstr "搜尋"
@@ -256,7 +256,7 @@ msgstr "家屋"
256msgid "Also installed"
256msgid "Also installed"
257msgstr "也有安裝"
257msgstr "也有安裝"
258
258
259−#: qml/DisabledScreenNotice.qml:104
259+#: qml/DisabledScreenNotice.qml:109
260msgid ""
260msgid ""
261"Your device is now connected to an external display. Use this screen as a "
261"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
262"touch pad to interact with the pointer."
qml/Components/InputMethod.qml+2−2
@@ -30,8 +30,8 @@ Item {
30
30
31 consumesInput: true
31 consumesInput: true
32
32
33− surfaceWidth: width
33+ surfaceWidth: root.enabled ? width : -1
34− surfaceHeight: height
34+ surfaceHeight: root.enabled ? height : -1
35 surface: SurfaceManager.inputMethodSurface
35 surface: SurfaceManager.inputMethodSurface
36
36
37 onLiveChanged: {
37 onLiveChanged: {
qml/Components/ScreenGrabber.qml → qml/Components/ItemGrabber.qmlrenamed+27−17
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2014-2015 Canonical, Ltd.
2+ * Copyright (C) 2014-2016 Canonical, Ltd.
3 *
3 *
4 * This program is free software; you can redistribute it and/or modify
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
5 * it under the terms of the GNU General Public License as published by
@@ -15,36 +15,31 @@
15 */
15 */
16
16
17import QtQuick 2.4
17import QtQuick 2.4
18−import ScreenGrabber 0.1
18+import ScreenshotDirectory 0.1
19−import GlobalShortcut 1.0
20
19
20+/*
21+ Captures an image of the given item and saves it in a screenshots directory.
22+ It also displays a flash visual effect and camera shutter sound, as feedback
23+ to the user to hint that a screenshot was taken.
24+ */
21Rectangle {
25Rectangle {
22 id: root
26 id: root
23 visible: false
27 visible: false
24 color: "white"
28 color: "white"
25− anchors.fill: parent
26 opacity: 0.0
29 opacity: 0.0
27
30
28− // to be set from outside
31+ ScreenshotDirectory {
29− property int rotationAngle: 0
32+ id: screenshotDirectory
30−
31− ScreenGrabber {
32− id: screenGrabber
33 objectName: "screenGrabber"
33 objectName: "screenGrabber"
34 }
34 }
35
35
36− GlobalShortcut {
37− id: screenshotShortcut
38− shortcut: Qt.Key_Print
39− onTriggered: capture()
40− }
41−
42 NotificationAudio {
36 NotificationAudio {
43 id: shutterSound
37 id: shutterSound
44 source: "/system/media/audio/ui/camera_click.ogg"
38 source: "/system/media/audio/ui/camera_click.ogg"
45 }
39 }
46
40
47− function capture() {
41+ function capture(item) {
42+ d.target = item;
48 visible = true;
43 visible = true;
49 shutterSound.stop();
44 shutterSound.stop();
50 shutterSound.play();
45 shutterSound.play();
@@ -62,13 +57,28 @@ Rectangle {
62 }
57 }
63 }
58 }
64
59
60+ QtObject {
61+ id: d
62+ property Item target
63+ }
64+
65 NumberAnimation on opacity {
65 NumberAnimation on opacity {
66 id: fadeOut
66 id: fadeOut
67 from: 1.0
67 from: 1.0
68 to: 0.0
68 to: 0.0
69 onStopped: {
69 onStopped: {
70 if (visible) {
70 if (visible) {
71− screenGrabber.captureAndSave(root.rotationAngle);
71+ d.target.grabToImage(function(result)
72+ {
73+ var fileName = screenshotDirectory.makeFileName();
74+ if (fileName.length === 0) {
75+ console.warn("ItemGrabber: No fileName to save image to");
76+ } else {
77+ console.log("ItemGrabber: Saving image to " + fileName);
78+ result.saveToFile(fileName);
79+ }
80+ });
81+
72 visible = false;
82 visible = false;
73 }
83 }
74 }
84 }
qml/Components/WindowScreenshot.qml → qml/Components/ItemSnapshot.qmlrenamed+13−3
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2015 Canonical, Ltd.
2+ * Copyright (C) 2015-2016 Canonical, Ltd.
3 *
3 *
4 * This program is free software; you can redistribute it and/or modify
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
5 * it under the terms of the GNU General Public License as published by
@@ -19,9 +19,19 @@ import QtQuick 2.4
19Item {
19Item {
20 id: root
20 id: root
21
21
22+ property Item target
23+
24+ property bool ready: image.status === Image.Ready
25+
22 function take() {
26 function take() {
23− var timeNow = new Date().getTime();
27+ if (!target) {
28+ console.warn("ItemSnapshot.take(): no target set");
29+ return;
30+ }
31+
32+ target.grabToImage(function(result) {
24− image.source = "image://window/" + timeNow;
33+ image.source = result.url;
34+ });
25 }
35 }
26
36
27 // Unload the image to free up memory
37 // Unload the image to free up memory
qml/Components/NotificationAudio.qml+7−3
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2015 Canonical, Ltd.
2+ * Copyright (C) 2015-2016 Canonical, Ltd.
3 *
3 *
4 * This program is free software; you can redistribute it and/or modify
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
5 * it under the terms of the GNU General Public License as published by
@@ -23,10 +23,14 @@ Item {
23 readonly property var playbackState: priv.audio ? priv.audio.playbackState : 0
23 readonly property var playbackState: priv.audio ? priv.audio.playbackState : 0
24
24
25 function play() {
25 function play() {
26+ if (priv.audio) {
26− priv.audio.play();
27+ priv.audio.play();
28+ }
27 }
29 }
28 function stop() {
30 function stop() {
31+ if (priv.audio) {
29− priv.audio.stop();
32+ priv.audio.stop();
33+ }
30 }
34 }
31
35
32 QtObject {
36 QtObject {
qml/Components/VirtualTouchPad.qml+1−1
@@ -31,7 +31,7 @@ Item {
31 anchors.fill: parent
31 anchors.fill: parent
32
32
33 // FIXME: Once we have Qt DPR support, this should be Qt.styleHints.startDragDistance
33 // FIXME: Once we have Qt DPR support, this should be Qt.styleHints.startDragDistance
34− readonly property int clickThreshold: units.gu(1.5)
34+ readonly property int clickThreshold: internalGu * 1.5
35 property bool isClick: false
35 property bool isClick: false
36 property bool isDoubleClick: false
36 property bool isDoubleClick: false
37 property bool isDrag: false
37 property bool isDrag: false
qml/Dash/CardGrid.qml+1
@@ -78,6 +78,7 @@ DashRenderer {
78 target: loader.item
78 target: loader.item
79 onClicked: root.clicked(index, result, loader.item, model)
79 onClicked: root.clicked(index, result, loader.item, model)
80 onPressAndHold: root.pressAndHold(index, result, model)
80 onPressAndHold: root.pressAndHold(index, result, model)
81+ onAction: root.action(index, result, actionId)
81 }
82 }
82 }
83 }
83 }
84 }
qml/Dash/CardHorizontalList.qml+1
@@ -59,6 +59,7 @@ DashRenderer {
59 target: loader.item
59 target: loader.item
60 onClicked: root.clicked(index, result, loader.item, model)
60 onClicked: root.clicked(index, result, loader.item, model)
61 onPressAndHold: root.pressAndHold(index, result, model)
61 onPressAndHold: root.pressAndHold(index, result, model)
62+ onAction: root.action(index, result, actionId)
62 }
63 }
63 }
64 }
64 }
65 }
qml/Dash/CardTool.qml+23−7
@@ -162,7 +162,7 @@ Item {
162 id: attributesModel
162 id: attributesModel
163 property int numOfAttributes: 0
163 property int numOfAttributes: 0
164 property var model: []
164 property var model: []
165− property bool hasAttributes: {
165+ readonly property bool hasAttributes: {
166 var attributes = components["attributes"];
166 var attributes = components["attributes"];
167 var hasAttributesFlag = (attributes != undefined) && (attributes["field"] != undefined);
167 var hasAttributesFlag = (attributes != undefined) && (attributes["field"] != undefined);
168
168
@@ -182,16 +182,31 @@ Item {
182 }
182 }
183 }
183 }
184
184
185+ Item {
186+ id: socialActionsModel
187+ property var model: []
188+ readonly property bool hasActions: components["social-actions"] != undefined
189+
190+ onHasActionsChanged: {
191+ model = []
192+ if (hasActions) {
193+ model.push( {"id":"text", "icon":"image://theme/ok" } );
194+ }
195+ }
196+ }
197+
185 Loader {
198 Loader {
186 id: cardLoader
199 id: cardLoader
187− readonly property var fields: ["art", "mascot", "title", "subtitle", "summary", "attributes"]
200+ readonly property var cfields: ["art", "mascot", "title", "subtitle", "summary", "attributes", "social-actions"]
201+ readonly property var dfields: ["art", "mascot", "title", "subtitle", "summary", "attributes", "socialActions"]
188 readonly property var maxData: {
202 readonly property var maxData: {
189 "art": Qt.resolvedUrl("graphics/pixel.png"),
203 "art": Qt.resolvedUrl("graphics/pixel.png"),
190 "mascot": Qt.resolvedUrl("graphics/pixel.png"),
204 "mascot": Qt.resolvedUrl("graphics/pixel.png"),
191 "title": "—\n—",
205 "title": "—\n—",
192 "subtitle": "—",
206 "subtitle": "—",
193 "summary": "—\n—\n—\n—\n—",
207 "summary": "—\n—\n—\n—\n—",
194− "attributes": attributesModel.model
208+ "attributes": attributesModel.model,
209+ "socialActions": socialActionsModel.model
195 }
210 }
196 sourceComponent: CardCreatorCache.getCardComponent(cardTool.template, cardTool.components, true);
211 sourceComponent: CardCreatorCache.getCardComponent(cardTool.template, cardTool.components, true);
197 onLoaded: {
212 onLoaded: {
@@ -206,13 +221,14 @@ Item {
206 }
221 }
207 function updateCardData() {
222 function updateCardData() {
208 var data = {};
223 var data = {};
209− for (var k in fields) {
224+ for (var k in cfields) {
225+ var ckey = cfields[k];
210− var component = cardTool.components[fields[k]];
226+ var component = cardTool.components[ckey];
211− var key = fields[k];
212 if ((typeof component === "string" && component.length > 0) ||
227 if ((typeof component === "string" && component.length > 0) ||
213 (typeof component === "object" && component !== null
228 (typeof component === "object" && component !== null
214 && typeof component["field"] === "string" && component["field"].length > 0)) {
229 && typeof component["field"] === "string" && component["field"].length > 0)) {
230+ var dkey = dfields[k];
215− data[key] = maxData[key];
231+ data[dkey] = maxData[dkey];
216 }
232 }
217 }
233 }
218 item.cardData = data;
234 item.cardData = data;
qml/Dash/CardVerticalJournal.qml+1
@@ -78,6 +78,7 @@ DashRenderer {
78 target: loader.item
78 target: loader.item
79 onClicked: root.clicked(index, result, loader.item, model)
79 onClicked: root.clicked(index, result, loader.item, model)
80 onPressAndHold: root.pressAndHold(index, result, model)
80 onPressAndHold: root.pressAndHold(index, result, model)
81+ onAction: root.action(index, result, actionId)
81 }
82 }
82 }
83 }
83 }
84 }
qml/Dash/DashRenderer.qml+6
@@ -57,4 +57,10 @@ Item {
57 /// @param result result model of the clicked item, used for activation
57 /// @param result result model of the clicked item, used for activation
58 /// @param itemModel model of the item
58 /// @param itemModel model of the item
59 signal pressAndHold(int index, var result, var itemModel)
59 signal pressAndHold(int index, var result, var itemModel)
60+
61+ /// Emitted when the user clicked on an item action
62+ /// @param index is the index of the clicked item
63+ /// @param result result model of the clicked item, used for activation
64+ /// @param actionId id of the clicked action
65+ signal action(int index, var result, var actionId)
60}
66}
qml/Dash/Filters/FilterExpandableWidget.qmlnew file+96
@@ -0,0 +1,96 @@
1+/*
2+ * Copyright (C) 2016 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.4
18+import Ubuntu.Components 1.3
19+import Ubuntu.Components.ListItems 1.3 as ListItems
20+
21+/*! Expandable Filter Widget. */
22+
23+FilterWidget {
24+ id: root
25+
26+ showsTitleOnItsOwn: true
27+
28+ implicitHeight: expandingItem.height
29+
30+ ListItems.Expandable {
31+ id: expandingItem
32+ objectName: "expandingItem"
33+
34+ expandedHeight: collapsedHeight + column.height
35+ anchors.left: parent.left
36+ anchors.right: parent.right
37+ showDivider: false
38+
39+ onClicked: {
40+ expanded = !expanded;
41+ forceActiveFocus();
42+ }
43+ __contentsMargins: 0
44+
45+ Item {
46+ id: titleHolder
47+ anchors.top: parent.top
48+ height: expandingItem.collapsedHeight
49+ anchors.left: parent.left
50+ anchors.right: parent.right
51+
52+ Label {
53+ anchors.left: parent.left
54+ anchors.leftMargin: units.gu(2)
55+ anchors.right: dropDown.left
56+ anchors.verticalCenter: parent.verticalCenter
57+ text: widgetData.title || ""
58+ }
59+
60+ Image {
61+ id: dropDown
62+ height: units.gu(3)
63+ fillMode: Image.PreserveAspectFit
64+ anchors.right: parent.right
65+ anchors.rightMargin: units.gu(2)
66+ anchors.verticalCenter: parent.verticalCenter
67+ source: expandingItem.expanded ? "image://theme/up" : "image://theme/down"
68+ }
69+ }
70+
71+ Column {
72+ id: column
73+ anchors.left: parent.left
74+ anchors.right: parent.right
75+ anchors.top: titleHolder.bottom
76+
77+ Repeater {
78+ id: repeater
79+ model: widgetData.filters
80+
81+ delegate: FilterWidgetFactory {
82+ width: parent.width
83+
84+ widgetId: id
85+ widgetType: type
86+ widgetData: filter
87+
88+ ListItems.ThinDivider {
89+ anchors.bottom: parent.bottom
90+ visible: index !== repeater.count - 1
91+ }
92+ }
93+ }
94+ }
95+ }
96+}
qml/Dash/Filters/FilterWidget.qml+3
@@ -25,5 +25,8 @@ Item {
25 //! Variable used to contain widget's data
25 //! Variable used to contain widget's data
26 property var widgetData: null
26 property var widgetData: null
27
27
28+ //! Does the widget show the title inside?
29+ property bool showsTitleOnItsOwn: false
30+
28 objectName: widgetId
31 objectName: widgetId
29}
32}
qml/Dash/Filters/FilterWidgetFactory.qml+2−1
@@ -35,7 +35,7 @@ Item {
35
35
36 Label {
36 Label {
37 id: title
37 id: title
38− text: widgetData ? widgetData.title : ""
38+ text: widgetData && !(loader.item && loader.item.showsTitleOnItsOwn) ? widgetData.title : ""
39 height: text != "" ? implicitHeight : 0
39 height: text != "" ? implicitHeight : 0
40
40
41 anchors {
41 anchors {
@@ -68,6 +68,7 @@ Item {
68 case Filters.OptionSelectorFilter: return "FilterOptionSelector.qml";
68 case Filters.OptionSelectorFilter: return "FilterOptionSelector.qml";
69 case Filters.RangeInputFilter: return "FilterRangeInput.qml";
69 case Filters.RangeInputFilter: return "FilterRangeInput.qml";
70 case Filters.ValueSliderFilter: return "FilterValueSlider.qml";
70 case Filters.ValueSliderFilter: return "FilterValueSlider.qml";
71+ case Filters.ExpandableFilterWidget: return "FilterExpandableWidget.qml";
71 default: return "";
72 default: return "";
72 }
73 }
73 }
74 }
qml/Dash/GenericScopeView.qml+9
@@ -360,6 +360,11 @@ FocusScope {
360 scopeView.enableHeightBehaviorOnNextCreation = item.enableHeightBehaviorOnNextCreation;
360 scopeView.enableHeightBehaviorOnNextCreation = item.enableHeightBehaviorOnNextCreation;
361 }
361 }
362 }
362 }
363+ // FIXME: directly connecting to onUnitsChanged cause a compile error:
364+ // Cannot assign to non-existent property "onUnitsChanged"
365+ // Until the units object is reworked to properly do all we need, let's go through a intermediate property
366+ property int pxpgu: units.gu(1);
367+ onPxpguChanged: clickScopeSizingHacks();
363
368
364 function clickScopeSizingHacks() {
369 function clickScopeSizingHacks() {
365 if (scope && scope.id === "clickscope" &&
370 if (scope && scope.id === "clickscope" &&
@@ -390,6 +395,10 @@ FocusScope {
390 scopeView.itemPressedAndHeld(result, baseItem.category);
395 scopeView.itemPressedAndHeld(result, baseItem.category);
391 }
396 }
392
397
398+ onAction: { // (int index, var result, var actionId)
399+ scope.activateAction(result, baseItem.category, actionId);
400+ }
401+
393 function categoryItemCount() {
402 function categoryItemCount() {
394 var categoryItemCount = -1;
403 var categoryItemCount = -1;
395 if (!rendererLoader.expanded && !seeAllLabel.visible && target.collapsedItemCount > 0) {
404 if (!rendererLoader.expanded && !seeAllLabel.visible && target.collapsedItemCount > 0) {
qml/Dash/Previews/PreviewActionCombo.qml+1−1
@@ -59,7 +59,7 @@ Item {
59
59
60 delegate: PreviewActionButton {
60 delegate: PreviewActionButton {
61 data: modelData
61 data: modelData
62− width: implicitWidth < parent.width ? parent.width : implicitWidth
62+ width: implicitWidth < root.width ? root.width : implicitWidth
63 onClicked: root.triggeredAction(modelData)
63 onClicked: root.triggeredAction(modelData)
64 strokeColor: moreButton.strokeColor
64 strokeColor: moreButton.strokeColor
65 }
65 }
qml/Dash/Previews/PreviewActions.qml+8−7
@@ -26,25 +26,26 @@ PreviewWidget {
26 id: root
26 id: root
27
27
28 implicitHeight: row.height + units.gu(1)
28 implicitHeight: row.height + units.gu(1)
29+ readonly property var actions: root.widgetData ? root.widgetData["actions"] : null
29
30
30 Row {
31 Row {
31 id: row
32 id: row
32− readonly property var actions: root.widgetData ? root.widgetData["actions"] : null
33 anchors.right: parent.right
33 anchors.right: parent.right
34
34
35 spacing: units.gu(1)
35 spacing: units.gu(1)
36
36
37 Loader {
37 Loader {
38 id: loader
38 id: loader
39+ objectName: "loader"
39− readonly property bool button: row.actions && row.actions.length == 2
40+ readonly property bool button: root.actions && root.actions.length == 2
40− readonly property bool combo: row.actions && row.actions.length > 2
41+ readonly property bool combo: root.actions && root.actions.length > 2
41 source: button ? "PreviewActionButton.qml" : (combo ? "PreviewActionCombo.qml" : "")
42 source: button ? "PreviewActionButton.qml" : (combo ? "PreviewActionCombo.qml" : "")
42 width: (root.width - units.gu(1)) / 2
43 width: (root.width - units.gu(1)) / 2
43 onLoaded: {
44 onLoaded: {
44 if (button) {
45 if (button) {
45− item.data = row.actions[1];
46+ item.data = Qt.binding(function() { return root.actions[1]; });
46 } else if (combo) {
47 } else if (combo) {
47− item.model = row.actions.slice(1);
48+ item.model = Qt.binding(function() { return root.actions.slice(1); });
48 }
49 }
49 }
50 }
50 Binding {
51 Binding {
@@ -61,8 +62,8 @@ PreviewWidget {
61 }
62 }
62
63
63 PreviewActionButton {
64 PreviewActionButton {
64− data: visible ? row.actions[0] : null
65+ data: visible ? root.actions[0] : null
65− visible: row.actions && row.actions.length > 0
66+ visible: root.actions && root.actions.length > 0
66 onTriggeredAction: root.triggered(root.widgetId, actionData.id, actionData)
67 onTriggeredAction: root.triggered(root.widgetId, actionData.id, actionData)
67 width: (root.width - units.gu(1)) / 2
68 width: (root.width - units.gu(1)) / 2
68 color: root.scopeStyle ? root.scopeStyle.previewButtonColor : UbuntuColors.orange
69 color: root.scopeStyle ? root.scopeStyle.previewButtonColor : UbuntuColors.orange
qml/Dash/Previews/PreviewIconActions.qml+15
@@ -32,10 +32,20 @@ PreviewWidget {
32 id: row
32 id: row
33 readonly property var actions: root.widgetData ? root.widgetData["actions"] : null
33 readonly property var actions: root.widgetData ? root.widgetData["actions"] : null
34 width: parent.width
34 width: parent.width
35+ onActionsChanged: {
36+ // Rewire the source since it may have been unwired on onClicked
37+ // but the icon didn't change i.e. the scope updated the results
38+ // and the icon needs to go back to the one it was originally
39+ for (var i = 0; i < repeater.count; ++i) {
40+ var button = repeater.itemAt(i);
41+ button.updateIcon();
42+ }
43+ }
35
44
36 spacing: units.gu(2)
45 spacing: units.gu(2)
37
46
38 Repeater {
47 Repeater {
48+ id: repeater
39 model: row.actions
49 model: row.actions
40
50
41 AbstractButton {
51 AbstractButton {
@@ -43,6 +53,11 @@ PreviewWidget {
43 height: label.height
53 height: label.height
44 width: childrenRect.width
54 width: childrenRect.width
45
55
56+ readonly property var iconUrl: modelData.icon;
57+ function updateIcon() {
58+ icon.source = iconUrl;
59+ }
60+
46 Image {
61 Image {
47 id: icon
62 id: icon
48 height: parent.height
63 height: parent.height
qml/Dash/Previews/PreviewZoomableImage.qml+13−8
@@ -34,6 +34,8 @@ PreviewWidget {
34
34
35 property Item rootItem: QuickUtils.rootItem(root)
35 property Item rootItem: QuickUtils.rootItem(root)
36
36
37+ readonly property var imageUrl: widgetData["source"] || widgetData["fallback"] || ""
38+
37 LazyImage {
39 LazyImage {
38 id: lazyImage
40 id: lazyImage
39 objectName: "lazyImage"
41 objectName: "lazyImage"
@@ -42,7 +44,7 @@ PreviewWidget {
42 right: parent.right
44 right: parent.right
43 }
45 }
44 scaleTo: "width"
46 scaleTo: "width"
45− source: widgetData["source"] || widgetData["fallback"] || ""
47+ source: root.imageUrl
46 asynchronous: true
48 asynchronous: true
47 useUbuntuShape: false
49 useUbuntuShape: false
48 pressed: mouseArea.pressed
50 pressed: mouseArea.pressed
@@ -59,11 +61,12 @@ PreviewWidget {
59
61
60 Connections {
62 Connections {
61 target: lazyImage.sourceImage
63 target: lazyImage.sourceImage
62− // If modelData would change after failing to load it would not be
63− // reloaded since the source binding is destroyed by the source = fallback
64− // But at the moment the model never changes
65 onStatusChanged: if (lazyImage.sourceImage.status === Image.Error) lazyImage.sourceImage.source = widgetData["fallback"];
64 onStatusChanged: if (lazyImage.sourceImage.status === Image.Error) lazyImage.sourceImage.source = widgetData["fallback"];
66 }
65 }
66+ Connections {
67+ target: root
68+ onImageUrlChanged: lazyImage.sourceImage.source = root.imageUrl;
69+ }
67
70
68 PreviewMediaToolbar {
71 PreviewMediaToolbar {
69 id: toolbar
72 id: toolbar
@@ -86,12 +89,14 @@ PreviewWidget {
86
89
87 delegate: ZoomableImage {
90 delegate: ZoomableImage {
88 anchors.fill: parent
91 anchors.fill: parent
89− source: widgetData["source"] || widgetData["fallback"] || ""
92+ source: root.imageUrl
90 zoomable: widgetData["zoomable"] ? widgetData["zoomable"] : false
93 zoomable: widgetData["zoomable"] ? widgetData["zoomable"] : false
91− // If modelData would change after failing to load it would not be
92− // reloaded since the source binding is destroyed by the source = fallback
93− // But at the moment the model never changes
94 onStatusChanged: if (status === Image.Error) source = widgetData["fallback"];
94 onStatusChanged: if (status === Image.Error) source = widgetData["fallback"];
95+
96+ Connections {
97+ target: root
98+ onImageUrlChanged: source = root.imageUrl;
99+ }
95 }
100 }
96 }
101 }
97}
102}
qml/DisabledScreenNotice.qml+11−4
@@ -18,6 +18,7 @@ import QtQuick 2.4
18import QtQuick.Layouts 1.1
18import QtQuick.Layouts 1.1
19import Ubuntu.Components 1.3
19import Ubuntu.Components 1.3
20import Unity.Session 0.1
20import Unity.Session 0.1
21+import Unity.Screens 0.1
21import QtQuick.Window 2.2
22import QtQuick.Window 2.2
22import "Components"
23import "Components"
23
24
@@ -35,6 +36,10 @@ Item {
35 name: applicationArguments.deviceName
36 name: applicationArguments.deviceName
36 }
37 }
37
38
39+ Screens {
40+ id: screens
41+ }
42+
38 Item {
43 Item {
39 id: contentContainer
44 id: contentContainer
40 objectName: "contentContainer"
45 objectName: "contentContainer"
@@ -96,19 +101,19 @@ Item {
96
101
97 Column {
102 Column {
98 anchors.centerIn: parent
103 anchors.centerIn: parent
99− width: parent.width - units.gu(8)
104+ width: parent.width - (internalGu * 8)
100− spacing: units.gu(4)
105+ spacing: internalGu * 4
101
106
102 Label {
107 Label {
103 id: text
108 id: text
104 text: i18n.tr("Your device is now connected to an external display. Use this screen as a touch pad to interact with the pointer.")
109 text: i18n.tr("Your device is now connected to an external display. Use this screen as a touch pad to interact with the pointer.")
105 color: "white"
110 color: "white"
106 width: parent.width
111 width: parent.width
107− fontSize: "large"
112+ font.pixelSize: 2.5 * internalGu
108 wrapMode: Text.Wrap
113 wrapMode: Text.Wrap
109 }
114 }
110 Icon {
115 Icon {
111− height: units.gu(8)
116+ height: internalGu * 8
112 width: height
117 width: height
113 name: "input-touchpad-symbolic"
118 name: "input-touchpad-symbolic"
114 color: "white"
119 color: "white"
@@ -119,6 +124,8 @@ Item {
119
124
120 InputMethod {
125 InputMethod {
121 id: inputMethod
126 id: inputMethod
127+ // Don't resize when there is only one screen to avoid resize clashing with the InputMethod in the Shell.
128+ enabled: screens.count > 1
122 objectName: "inputMethod"
129 objectName: "inputMethod"
123 anchors.fill: parent
130 anchors.fill: parent
124 }
131 }
qml/Notifications/NotificationMenuItemFactory.qml+1
@@ -146,6 +146,7 @@ Loader {
146 errorText: errorAction.valid ? errorAction.state : ""
146 errorText: errorAction.valid ? errorAction.state : ""
147 retryText: notification.body
147 retryText: notification.body
148 background: menuFactory.background
148 background: menuFactory.background
149+ darkenBackground: 0.4
149
150
150 onEntered: {
151 onEntered: {
151 menuModel.changeState(menuIndex, passphrase);
152 menuModel.changeState(menuIndex, passphrase);
qml/OrientedShell.qml+7−7
@@ -26,9 +26,8 @@ import "Rotation"
26// Workaround https://bugs.launchpad.net/ubuntu/+source/unity8/+bug/1473471
26// Workaround https://bugs.launchpad.net/ubuntu/+source/unity8/+bug/1473471
27import Ubuntu.Components 1.3
27import Ubuntu.Components 1.3
28
28
29−Rectangle {
29+Item {
30 id: root
30 id: root
31− color: "black"
32
31
33 implicitWidth: units.gu(40)
32 implicitWidth: units.gu(40)
34 implicitHeight: units.gu(71)
33 implicitHeight: units.gu(71)
@@ -241,7 +240,7 @@ Rectangle {
241 orientedShell: root
240 orientedShell: root
242 shell: shell
241 shell: shell
243 shellCover: shellCover
242 shellCover: shellCover
244− windowScreenshot: windowScreenshot
243+ shellSnapshot: shellSnapshot
245 }
244 }
246
245
247 Shell {
246 Shell {
@@ -291,8 +290,9 @@ Rectangle {
291 visible: false
290 visible: false
292 }
291 }
293
292
294− WindowScreenshot {
293+ ItemSnapshot {
295− id: windowScreenshot
294+ id: shellSnapshot
295+ target: shell
296 visible: false
296 visible: false
297 width: root.width
297 width: root.width
298 height: root.height
298 height: root.height
@@ -302,9 +302,9 @@ Rectangle {
302 property real transformOriginY
302 property real transformOriginY
303
303
304 transform: Rotation {
304 transform: Rotation {
305− origin.x: windowScreenshot.transformOriginX; origin.y: windowScreenshot.transformOriginY;
305+ origin.x: shellSnapshot.transformOriginX; origin.y: shellSnapshot.transformOriginY;
306 axis { x: 0; y: 0; z: 1 }
306 axis { x: 0; y: 0; z: 1 }
307− angle: windowScreenshot.transformRotationAngle
307+ angle: shellSnapshot.transformRotationAngle
308 }
308 }
309 }
309 }
310}
310}
qml/Panel/Indicators/MenuItemFactory.qml+2−2
@@ -377,11 +377,11 @@ Item {
377 property int menuIndex: -1
377 property int menuIndex: -1
378 property var extendedData: menuData && menuData.ext || undefined
378 property var extendedData: menuData && menuData.ext || undefined
379
379
380− property date serverTime: new Date(getExtendedProperty(extendedData, "xCanonicalTime", 0) * 1000)
380+ readonly property date serverTime: new Date(getExtendedProperty(extendedData, "xCanonicalTime", 0) * 1000)
381 LiveTimer {
381 LiveTimer {
382 frequency: LiveTimer.Relative
382 frequency: LiveTimer.Relative
383 relativeTime: alarmItem.serverTime
383 relativeTime: alarmItem.serverTime
384− onTrigger: alarmItem.serverTime = new Date(getExtendedProperty(extendedData, "xCanonicalTime", 0) * 1000)
384+ onTrigger: alarmItem.time = i18n.relativeDateTime(alarmItem.serverTime)
385 }
385 }
386
386
387 text: menuData && menuData.label || ""
387 text: menuData && menuData.label || ""
qml/Panel/IndicatorsMenu.qml+20−10
@@ -43,18 +43,28 @@ Showable {
43
43
44 // TODO: Perhaps we need a animation standard for showing/hiding? Each showable seems to
44 // TODO: Perhaps we need a animation standard for showing/hiding? Each showable seems to
45 // use its own values. Need to ask design about this.
45 // use its own values. Need to ask design about this.
46+ showAnimation: SequentialAnimation {
46− showAnimation: StandardAnimation {
47+ StandardAnimation {
48+ target: root
47− property: "height"
49+ property: "height"
48− to: openedHeight
50+ to: openedHeight
49− duration: UbuntuAnimation.BriskDuration
51+ duration: UbuntuAnimation.BriskDuration
50− easing.type: Easing.OutCubic
52+ easing.type: Easing.OutCubic
53+ }
54+ // set binding in case units.gu changes while menu open, so height correctly adjusted to fit
55+ ScriptAction { script: root.height = Qt.binding( function(){ return root.openedHeight; } ) }
51 }
56 }
52
57
58+ hideAnimation: SequentialAnimation {
53− hideAnimation: StandardAnimation {
59+ StandardAnimation {
60+ target: root
54− property: "height"
61+ property: "height"
55− to: minimizedPanelHeight
62+ to: minimizedPanelHeight
56− duration: UbuntuAnimation.BriskDuration
63+ duration: UbuntuAnimation.BriskDuration
57− easing.type: Easing.OutCubic
64+ easing.type: Easing.OutCubic
65+ }
66+ // set binding in case units.gu changes while menu closed, so menu adjusts to fit
67+ ScriptAction { script: root.height = Qt.binding( function(){ return root.minimizedPanelHeight; } ) }
58 }
68 }
59
69
60 height: minimizedPanelHeight
70 height: minimizedPanelHeight
qml/Panel/Panel.qml+6−15
@@ -30,22 +30,13 @@ Item {
30 property real indicatorAreaShowProgress: 1.0
30 property real indicatorAreaShowProgress: 1.0
31 property bool locked: false
31 property bool locked: false
32
32
33− Rectangle {
33+ MouseArea {
34− id: darkenedArea
35− property real darkenedOpacity: 0.6
36− anchors {
37− fill: parent
34+ anchors.fill: parent
38− topMargin: panelHeight
35+ anchors.topMargin: panelHeight
39− }
40− color: "black"
41− opacity: indicators.unitProgress * darkenedOpacity
42 visible: !indicators.fullyClosed
36 visible: !indicators.fullyClosed
43−
37+ enabled: visible
44− MouseArea {
45− anchors.fill: parent
46− onClicked: if (indicators.fullyOpened) indicators.hide();
38+ onClicked: if (indicators.fullyOpened) indicators.hide();
47− hoverEnabled: true // should also eat hover events, otherwise they will pass through
39+ hoverEnabled: true // should also eat hover events, otherwise they will pass through
48− }
49 }
40 }
50
41
51 Binding {
42 Binding {
qml/Rotation/HalfLoopRotationAnimation.qml+2−1
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2015 Canonical, Ltd.
2+ * Copyright (C) 2015-2016 Canonical, Ltd.
3 *
3 *
4 * This program is free software; you can redistribute it and/or modify
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
5 * it under the terms of the GNU General Public License as published by
@@ -42,5 +42,6 @@ SequentialAnimation {
42 from: root.fromAngle; to: root.toAngle
42 from: root.fromAngle; to: root.toAngle
43 duration: rotationDuration; easing.type: rotationEasing
43 duration: rotationDuration; easing.type: rotationEasing
44 }
44 }
45+ UpdateShellTransformations { info: root.info; shell: root.shell }
45 ScriptAction { script: { info.transitioning = false; } }
46 ScriptAction { script: { info.transitioning = false; } }
46}
47}
qml/Rotation/ImmediateRotationAction.qml+11−22
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2015 Canonical, Ltd.
2+ * Copyright (C) 2015-2016 Canonical, Ltd.
3 *
3 *
4 * This program is free software; you can redistribute it and/or modify
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
5 * it under the terms of the GNU General Public License as published by
@@ -16,30 +16,19 @@
16
16
17import QtQuick 2.4
17import QtQuick 2.4
18
18
19−ScriptAction {
19+SequentialAnimation {
20+ id: root
20 property var info
21 property var info
21 property var shell
22 property var shell
22
23
23− script: {
24+ ScriptAction { script: {
24− info.transitioning = true;
25+ root.info.transitioning = true;
25− shell.orientationAngle = info.requestedOrientationAngle;
26+ } }
26− shell.transformRotationAngle = info.requestedOrientationAngle;
27
27
28− // Making bindings as orientedShell's dimensions might wiggle during startup.
28+ UpdateShellTransformations { info: root.info; shell: root.shell }
29− if (info.requestedOrientationAngle === 90 || info.requestedOrientationAngle === 270) {
30− shell.width = Qt.binding(function() { return orientedShell.height; });
31− shell.height = Qt.binding(function() { return orientedShell.width; });
32− } else {
33− shell.width = Qt.binding(function() { return orientedShell.width; });
34− shell.height = Qt.binding(function() { return orientedShell.height; });
35− }
36
29
37− shell.x = Qt.binding(function() { return (orientedShell.width - shell.width) / 2; });
30+ ScriptAction { script: {
38− shell.y = Qt.binding(function() { return (orientedShell.height - shell.height) / 2; });
39− shell.transformOriginX = Qt.binding(function() { return shell.width / 2; });
40− shell.transformOriginY = Qt.binding(function() { return shell.height / 2; });
41−
42− shell.updateFocusedAppOrientation();
31+ root.shell.updateFocusedAppOrientation();
43− info.transitioning = false;
32+ root.info.transitioning = false;
44− }
33+ } }
45}
34}
qml/Rotation/NinetyRotationAnimation.qml+14−16
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2015 Canonical, Ltd.
2+ * Copyright (C) 2015-2016 Canonical, Ltd.
3 *
3 *
4 * This program is free software; you can redistribute it and/or modify
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
5 * it under the terms of the GNU General Public License as published by
@@ -30,8 +30,7 @@ SequentialAnimation {
30
30
31 ScriptAction { script: {
31 ScriptAction { script: {
32 info.transitioning = true;
32 info.transitioning = true;
33− windowScreenshot.take();
33+
34− windowScreenshot.visible = true;
35 shell.orientationAngle = root.toAngle;
34 shell.orientationAngle = root.toAngle;
36 shell.x = 0;
35 shell.x = 0;
37 shell.width = flipShellDimensions ? orientedShell.height : orientedShell.width;
36 shell.width = flipShellDimensions ? orientedShell.height : orientedShell.width;
@@ -41,12 +40,10 @@ SequentialAnimation {
41 shell.updateFocusedAppOrientation();
40 shell.updateFocusedAppOrientation();
42 shellCover.visible = true;
41 shellCover.visible = true;
43
42
44− windowScreenshot.transformOriginX = orientedShell.width / 2;
43+ shellSnapshot.transformOriginX = shell.transformOriginX;
45− if (fromAngle == 180 || fromAngle == 270) {
44+ shellSnapshot.transformOriginY = shell.transformOriginY;
46− windowScreenshot.transformOriginY = orientedShell.height - (orientedShell.width / 2);
45+ shellSnapshot.transformRotationAngle = shell.transformRotationAngle;
47− } else {
46+ shellSnapshot.visible = true;
48− windowScreenshot.transformOriginY = orientedShell.width / 2;
49− }
50 } }
47 } }
51 ParallelAnimation {
48 ParallelAnimation {
52 NumberAnimation {
49 NumberAnimation {
@@ -66,24 +63,25 @@ SequentialAnimation {
66 }
63 }
67
64
68 NumberAnimation {
65 NumberAnimation {
69− target: windowScreenshot; property: "opacity"; from: 1; to: 0;
66+ target: shellSnapshot; property: "opacity"; from: 1; to: 0;
70 duration: rotationDuration; easing.type: rotationEasing
67 duration: rotationDuration; easing.type: rotationEasing
71 }
68 }
72 RotationAnimation {
69 RotationAnimation {
73− target: windowScreenshot; property: "transformRotationAngle";
70+ target: shellSnapshot; property: "transformRotationAngle";
74− from: 0; to: root.toAngle - root.fromAngle
71+ from: root.fromAngle; to: root.toAngle
75 direction: RotationAnimation.Shortest
72 direction: RotationAnimation.Shortest
76 duration: rotationDuration; easing.type: rotationEasing
73 duration: rotationDuration; easing.type: rotationEasing
77 }
74 }
78 NumberAnimation {
75 NumberAnimation {
79− target: windowScreenshot; property: "y"
76+ target: shellSnapshot; property: "y"
80− from: 0; to: root.toY - root.fromY
77+ from: root.fromY; to: root.toY
81 duration: rotationDuration; easing.type: rotationEasing
78 duration: rotationDuration; easing.type: rotationEasing
82 }
79 }
83 }
80 }
81+ UpdateShellTransformations { info: root.info; shell: root.shell }
84 ScriptAction { script: {
82 ScriptAction { script: {
85− windowScreenshot.visible = false;
83+ shellSnapshot.visible = false;
86− windowScreenshot.discard();
84+ shellSnapshot.discard();
87 shellCover.visible = false;
85 shellCover.visible = false;
88 info.transitioning = false;
86 info.transitioning = false;
89 } }
87 } }
qml/Rotation/RotationStates.qml+25−5
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2015 Canonical, Ltd.
2+ * Copyright (C) 2015,2016 Canonical, Ltd.
3 *
3 *
4 * This program is free software; you can redistribute it and/or modify
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
5 * it under the terms of the GNU General Public License as published by
@@ -30,7 +30,7 @@ StateGroup {
30 property Item orientedShell
30 property Item orientedShell
31 property Item shell
31 property Item shell
32 property Item shellCover
32 property Item shellCover
33− property Item windowScreenshot
33+ property Item shellSnapshot
34
34
35 property int rotationDuration: 450
35 property int rotationDuration: 450
36 property int rotationEasing: Easing.InOutCubic
36 property int rotationEasing: Easing.InOutCubic
@@ -88,12 +88,32 @@ StateGroup {
88 }
88 }
89
89
90 var requestedState = d.requestedOrientationAngle.toString();
90 var requestedState = d.requestedOrientationAngle.toString();
91− if (requestedState !== root.state) {
91+ if (requestedState === root.state) {
92+ return;
93+ }
94+
92− d.resolveAnimationType();
95+ d.resolveAnimationType();
93− root.state = requestedState;
96+
97+ var angleDiff = Math.abs(root.shell.orientationAngle - d.requestedOrientationAngle);
98+ var isNinetyRotationAnimation = angleDiff == 90 || angleDiff == 270;
99+ var needsShellSnapshot = d.animationType == d.fullAnimation && isNinetyRotationAnimation;
100+
101+ if (needsShellSnapshot && !shellSnapshotReady) {
102+ root.shellSnapshot.take();
103+ // try again once we have a shell snapshot ready for use. Snapshot taking is async.
104+ return;
105+ }
106+
107+ if (!needsShellSnapshot && shellSnapshotReady) {
108+ root.shellSnapshot.discard();
94 }
109 }
110+
111+ root.state = requestedState;
95 }
112 }
96
113
114+ property bool shellSnapshotReady: root.shellSnapshot && root.shellSnapshot.ready
115+ onShellSnapshotReadyChanged: tryUpdateState();
116+
97 property Connections shellConnections: Connections {
117 property Connections shellConnections: Connections {
98 target: root.orientedShell
118 target: root.orientedShell
99 onOrientationChangesEnabledChanged: {
119 onOrientationChangesEnabledChanged: {
qml/Rotation/UpdateShellTransformations.qmlnew file+42
@@ -0,0 +1,42 @@
1+/*
2+ * Copyright (C) 2016 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.4
18+
19+ScriptAction {
20+ property var info
21+ property var shell
22+
23+ script: {
24+ shell.orientationAngle = info.requestedOrientationAngle;
25+ shell.transformRotationAngle = info.requestedOrientationAngle;
26+
27+ // They must all be bindings as orientedShell's size can change
28+
29+ if (info.requestedOrientationAngle === 90 || info.requestedOrientationAngle === 270) {
30+ shell.width = Qt.binding(function() { return orientedShell.height; });
31+ shell.height = Qt.binding(function() { return orientedShell.width; });
32+ } else {
33+ shell.width = Qt.binding(function() { return orientedShell.width; });
34+ shell.height = Qt.binding(function() { return orientedShell.height; });
35+ }
36+
37+ shell.x = Qt.binding(function() { return (orientedShell.width - shell.width) / 2; });
38+ shell.y = Qt.binding(function() { return (orientedShell.height - shell.height) / 2; });
39+ shell.transformOriginX = Qt.binding(function() { return shell.width / 2; });
40+ shell.transformOriginY = Qt.binding(function() { return shell.height / 2; });
41+ }
42+}
qml/Shell.qml+11−5
@@ -192,7 +192,7 @@ Item {
192 onPowerKeyLongPressed: dialogs.showPowerDialog();
192 onPowerKeyLongPressed: dialogs.showPowerDialog();
193 onVolumeDownTriggered: volumeControl.volumeDown();
193 onVolumeDownTriggered: volumeControl.volumeDown();
194 onVolumeUpTriggered: volumeControl.volumeUp();
194 onVolumeUpTriggered: volumeControl.volumeUp();
195− onScreenshotTriggered: screenGrabber.capture();
195+ onScreenshotTriggered: itemGrabber.capture(shell);
196 }
196 }
197
197
198 GlobalShortcut {
198 GlobalShortcut {
@@ -705,16 +705,22 @@ Item {
705 onShowHome: showHome()
705 onShowHome: showHome()
706 }
706 }
707
707
708− ScreenGrabber {
708+ ItemGrabber {
709− id: screenGrabber
709+ id: itemGrabber
710− rotationAngle: -shell.orientationAngle
710+ anchors.fill: parent
711 z: dialogs.z + 10
711 z: dialogs.z + 10
712+ GlobalShortcut { shortcut: Qt.Key_Print; onTriggered: itemGrabber.capture(shell) }
713+ Connections {
714+ target: applicationsDisplayLoader.item
715+ ignoreUnknownSignals: true
716+ onItemSnapshotRequested: itemGrabber.capture(item)
717+ }
712 }
718 }
713
719
714 Cursor {
720 Cursor {
715 id: cursor
721 id: cursor
716 visible: shell.hasMouse
722 visible: shell.hasMouse
717− z: screenGrabber.z + 1
723+ z: itemGrabber.z + 1
718
724
719 onPushedLeftBoundary: {
725 onPushedLeftBoundary: {
720 if (buttons === Qt.NoButton) {
726 if (buttons === Qt.NoButton) {
qml/Stages/AbstractStage.qml+8−7
@@ -21,13 +21,6 @@ import GSettings 1.0
21FocusScope {
21FocusScope {
22 id: root
22 id: root
23
23
24− property alias color: backRect.color
25− Rectangle {
26− id: backRect
27− color: "#060606"
28− anchors.fill: parent
29− }
30−
31 // Controls to be set from outside
24 // Controls to be set from outside
32 property QtObject applicationManager
25 property QtObject applicationManager
33 property QtObject topLevelSurfaceList
26 property QtObject topLevelSurfaceList
@@ -49,6 +42,7 @@ FocusScope {
49 property bool suspended
42 property bool suspended
50 // A Stage should paint a wallpaper etc over its full size but not use the margins for window placement
43 // A Stage should paint a wallpaper etc over its full size but not use the margins for window placement
51 property int leftMargin: 0
44 property int leftMargin: 0
45+ property alias paintBackground: background.visible
52
46
53 // To be read from outside
47 // To be read from outside
54 property var mainApp: null
48 property var mainApp: null
@@ -60,6 +54,7 @@ FocusScope {
60 | Qt.InvertedLandscapeOrientation
54 | Qt.InvertedLandscapeOrientation
61
55
62 signal stageAboutToBeUnloaded
56 signal stageAboutToBeUnloaded
57+ signal itemSnapshotRequested(Item item)
63
58
64 // Shared code for use in stage implementations
59 // Shared code for use in stage implementations
65 GSettings {
60 GSettings {
@@ -76,4 +71,10 @@ FocusScope {
76 }
71 }
77 return false;
72 return false;
78 }
73 }
74+
75+ Rectangle {
76+ id: background
77+ color: "#060606"
78+ anchors.fill: parent
79+ }
79}
80}
qml/Stages/ApplicationWindow.qml+31−1
@@ -120,6 +120,17 @@ FocusScope {
120 || (application.supportedOrientations & Qt.InvertedLandscapeOrientation))
120 || (application.supportedOrientations & Qt.InvertedLandscapeOrientation))
121
121
122 property bool surfaceOldEnoughToBeResized: false
122 property bool surfaceOldEnoughToBeResized: false
123+
124+ property var focusedSurface: {
125+ if (promptSurfacesRepeater.count == 0) {
126+ return surfaceContainer;
127+ } else {
128+ return promptSurfacesRepeater.itemAt(promptSurfacesRepeater.count - 1);
129+ }
130+ }
131+ onFocusedSurfaceChanged: {
132+ focusedSurface.focus = true;
133+ }
123 }
134 }
124
135
125 Binding {
136 Binding {
@@ -183,7 +194,26 @@ FocusScope {
183 requestedWidth: root.requestedWidth
194 requestedWidth: root.requestedWidth
184 requestedHeight: root.requestedHeight
195 requestedHeight: root.requestedHeight
185 surfaceOrientationAngle: application && application.rotatesWindowContents ? root.surfaceOrientationAngle : 0
196 surfaceOrientationAngle: application && application.rotatesWindowContents ? root.surfaceOrientationAngle : 0
186− focus: true
197+ }
198+
199+ Repeater {
200+ id: promptSurfacesRepeater
201+ objectName: "promptSurfacesRepeater"
202+ // show only along with the top-most application surface
203+ model: {
204+ if (root.application && root.surface === root.application.surfaceList.first) {
205+ return root.application.promptSurfaceList;
206+ } else {
207+ return null;
208+ }
209+ }
210+ delegate: SurfaceContainer {
211+ interactive: index == (promptSurfacesRepeater.count - 1) && root.interactive
212+ surface: model.surface
213+ width: root.width
214+ height: root.height
215+ isPromptSurface: true
216+ }
187 }
217 }
188
218
189 // SurfaceContainer size drives ApplicationWindow size
219 // SurfaceContainer size drives ApplicationWindow size
qml/Stages/DesktopStage.qml+7
@@ -26,6 +26,7 @@ import GlobalShortcut 1.0
26AbstractStage {
26AbstractStage {
27 id: root
27 id: root
28 anchors.fill: parent
28 anchors.fill: parent
29+ paintBackground: false
29
30
30 // functions to be called from outside
31 // functions to be called from outside
31 function updateFocusedAppOrientation() { /* TODO */ }
32 function updateFocusedAppOrientation() { /* TODO */ }
@@ -94,6 +95,12 @@ AbstractStage {
94 active: priv.focusedAppDelegate !== null
95 active: priv.focusedAppDelegate !== null
95 }
96 }
96
97
98+ GlobalShortcut {
99+ shortcut: Qt.AltModifier|Qt.Key_Print
100+ onTriggered: root.itemSnapshotRequested(priv.focusedAppDelegate)
101+ active: priv.focusedAppDelegate !== null
102+ }
103+
97 Connections {
104 Connections {
98 target: root.topLevelSurfaceList
105 target: root.topLevelSurfaceList
99 onCountChanged: {
106 onCountChanged: {
qml/Stages/PhoneStage.qml+2
@@ -31,6 +31,8 @@ AbstractStage {
31 property real startScale: 1.1
31 property real startScale: 1.1
32 property real endScale: 0.7
32 property real endScale: 0.7
33
33
34+ paintBackground: spreadView.shiftedContentX !== 0
35+
34 onBeingResizedChanged: {
36 onBeingResizedChanged: {
35 if (beingResized) {
37 if (beingResized) {
36 // Brace yourselves for impact!
38 // Brace yourselves for impact!
qml/Stages/ShimStage.qml−1
@@ -21,7 +21,6 @@ AbstractStage {
21 id: shimStage
21 id: shimStage
22
22
23 anchors.fill: parent
23 anchors.fill: parent
24− color: UbuntuColors.lightAubergine
25
24
26 Text {
25 Text {
27 id: greeterModeText
26 id: greeterModeText
qml/Stages/SurfaceContainer.qml+7−63
@@ -33,7 +33,10 @@ FocusScope {
33 property bool interactive
33 property bool interactive
34 property int surfaceOrientationAngle: 0
34 property int surfaceOrientationAngle: 0
35 property bool resizeSurface: true
35 property bool resizeSurface: true
36− property bool inPromptSession: false
36+ property bool isPromptSurface: false
37+ // FIME - dont export, use interactive property. Need to fix qtmir to handle consumesInputChanged
38+ // to update surface activeFocus. See mock MirSurfaceItem.
39+ property alias consumesInput: surfaceItem.consumesInput
37
40
38 onSurfaceChanged: {
41 onSurfaceChanged: {
39 // Not a binding because animations might remove the surface from the surfaceItem
42 // Not a binding because animations might remove the surface from the surfaceItem
@@ -56,6 +59,8 @@ FocusScope {
56 id: surfaceItem
59 id: surfaceItem
57 objectName: "surfaceItem"
60 objectName: "surfaceItem"
58
61
62+ focus: true
63+
59 fillMode: MirSurfaceItem.PadOrCrop
64 fillMode: MirSurfaceItem.PadOrCrop
60 consumesInput: true
65 consumesInput: true
61
66
@@ -122,59 +127,12 @@ FocusScope {
122 when: root.requestedHeight < 0
127 when: root.requestedHeight < 0
123 }
128 }
124
129
125− Repeater {
126− id: childSurfacesRepeater
127− objectName: "childSurfacesRepeater"
128− model: root.surface ? root.surface.promptSurfaceList : null
129−
130− delegate: Loader {
131− objectName: "childDelegate" + index
132− anchors.fill: root
133−
134− // Only way to do recursive qml items.
135− source: Qt.resolvedUrl("SurfaceContainer.qml")
136−
137− z: index
138−
139− // Since a Loader is a FocusScope, propagate its focus to the loaded Item
140− Binding {
141− target: item; when: item
142− property: "focus"; value: focus
143− }
144−
145− Binding {
146− target: item; when: item
147− property: "interactive"; value: index == (childSurfacesRepeater.count - 1) && root.interactive
148− }
149−
150− Binding {
151− target: item; when: item
152− property: "surface"; value: model.surface
153− }
154−
155− Binding {
156− target: item; when: item
157− property: "width"; value: root.width
158− }
159−
160− Binding {
161− target: item; when: item
162− property: "height"; value: root.height
163− }
164−
165− Binding {
166− target: item; when: item
167− property: "inPromptSession"; value: true
168− }
169− }
170− }
171−
172 Loader {
130 Loader {
173 id: animationsLoader
131 id: animationsLoader
174 objectName: "animationsLoader"
132 objectName: "animationsLoader"
175 active: root.surface
133 active: root.surface
176 source: {
134 source: {
177− if (root.inPromptSession) {
135+ if (root.isPromptSurface) {
178 return "PromptSurfaceAnimations.qml";
136 return "PromptSurfaceAnimations.qml";
179 } else {
137 } else {
180 // Let ApplicationWindow do the animations
138 // Let ApplicationWindow do the animations
@@ -194,18 +152,4 @@ FocusScope {
194 value: root
152 value: root
195 }
153 }
196 }
154 }
197−
198− QtObject {
199− id: d
200− property var focusedChild: {
201− if (childSurfacesRepeater.count == 0) {
202− return surfaceItem;
203− } else {
204− return childSurfacesRepeater.itemAt(childSurfacesRepeater.count - 1);
205− }
206− }
207− onFocusedChildChanged: {
208− focusedChild.focus = true;
209− }
210− }
211}
155}
qml/Stages/TabletStage.qml+7−3
@@ -34,6 +34,8 @@ AbstractStage {
34 property int stageFocusedSurface: priv.focusedAppDelegate ? priv.focusedAppDelegate.stage : ApplicationInfoInterface.MainStage
34 property int stageFocusedSurface: priv.focusedAppDelegate ? priv.focusedAppDelegate.stage : ApplicationInfoInterface.MainStage
35 // </tutorial-hacks>
35 // </tutorial-hacks>
36
36
37+ paintBackground: spreadView.shiftedContentX !== 0
38+
37 // Functions to be called from outside
39 // Functions to be called from outside
38 function updateFocusedAppOrientation() {
40 function updateFocusedAppOrientation() {
39 var mainStageIndex = root.topLevelSurfaceList.indexForId(priv.mainStageItemId);
41 var mainStageIndex = root.topLevelSurfaceList.indexForId(priv.mainStageItemId);
@@ -746,10 +748,11 @@ AbstractStage {
746 surface: model.surface
748 surface: model.surface
747 closeable: !isDash
749 closeable: !isDash
748 highlightShown: root.altTabPressed && priv.highlightIndex == zIndex
750 highlightShown: root.altTabPressed && priv.highlightIndex == zIndex
751+ dropShadow: spreadView.active || priv.focusedAppDelegateIsDislocated
749
752
750 readonly property bool wantsMainStage: stage == ApplicationInfoInterface.MainStage
753 readonly property bool wantsMainStage: stage == ApplicationInfoInterface.MainStage
751
754
752− readonly property bool isDash: model.application.appId == "unity8-dash"
755+ readonly property bool isDash: application.appId == "unity8-dash"
753
756
754 onFocusChanged: {
757 onFocusChanged: {
755 if (focus && !spreadRepeater.startingUp) {
758 if (focus && !spreadRepeater.startingUp) {
@@ -765,7 +768,7 @@ AbstractStage {
765 onFocusRequested: spreadTile.focus = true;
768 onFocusRequested: spreadTile.focus = true;
766 }
769 }
767 Connections {
770 Connections {
768− target: model.application
771+ target: spreadTile.application
769 onFocusRequested: {
772 onFocusRequested: {
770 if (!model.surface) {
773 if (!model.surface) {
771 // when an app has no surfaces, we assume there's only one entry representing it:
774 // when an app has no surfaces, we assume there's only one entry representing it:
@@ -841,7 +844,7 @@ AbstractStage {
841 _constructing = false;
844 _constructing = false;
842 }
845 }
843 Component.onDestruction: {
846 Component.onDestruction: {
844− WindowStateStorage.saveStage(model.application.appId, stage);
847+ WindowStateStorage.saveStage(application.appId, stage);
845 }
848 }
846
849
847 function refreshStage() {
850 function refreshStage() {
@@ -1070,6 +1073,7 @@ AbstractStage {
1070
1073
1071 surface: spreadDelegate ? spreadDelegate.surface : null
1074 surface: spreadDelegate ? spreadDelegate.surface : null
1072
1075
1076+ consumesInput: false
1073 interactive: false
1077 interactive: false
1074 resizeSurface: false
1078 resizeSurface: false
1075 focus: false
1079 focus: false
src/SecondaryWindow.cpp+9
@@ -19,9 +19,18 @@
19// local
19// local
20#include <paths.h>
20#include <paths.h>
21
21
22+#include <QQmlContext>
23+
22SecondaryWindow::SecondaryWindow(QQmlEngine *engine)
24SecondaryWindow::SecondaryWindow(QQmlEngine *engine)
23 : QQuickView(engine, nullptr)
25 : QQuickView(engine, nullptr)
24{
26{
27+ QByteArray pxpguEnv = qgetenv("GRID_UNIT_PX");
28+ bool ok;
29+ int pxpgu = pxpguEnv.toInt(&ok);
30+ if (!ok) {
31+ pxpgu = 8;
32+ }
33+ engine->rootContext()->setContextProperty("internalGu", pxpgu);
25 setResizeMode(QQuickView::SizeRootObjectToView);
34 setResizeMode(QQuickView::SizeRootObjectToView);
26 setColor("black");
35 setColor("black");
27 setTitle(QStringLiteral("Unity8 Shell - Secondary Screen"));
36 setTitle(QStringLiteral("Unity8 Shell - Secondary Screen"));
src/ShellApplication.cpp+6
@@ -178,6 +178,9 @@ void ShellApplication::onScreenAdded(QScreen * /*screen*/)
178 // Changing the QScreen where a QWindow is drawn makes it also lose focus (besides having
178 // Changing the QScreen where a QWindow is drawn makes it also lose focus (besides having
179 // its backing QPlatformWindow recreated). So lets refocus it.
179 // its backing QPlatformWindow recreated). So lets refocus it.
180 m_shellView->requestActivate();
180 m_shellView->requestActivate();
181+ // QWindow::destroy() is called when it changes between screens. We have to manually make it visible again
182+ // <dandrader> This bug is supposedly fixed in Qt 5.5.1, although I can still reproduce it there. :-/
183+ m_shellView->setVisible(true);
181
184
182 m_secondaryWindow = new SecondaryWindow(m_qmlEngine);
185 m_secondaryWindow = new SecondaryWindow(m_qmlEngine);
183 m_secondaryWindow->setScreen(screens().at(0));
186 m_secondaryWindow->setScreen(screens().at(0));
@@ -204,5 +207,8 @@ void ShellApplication::onScreenAboutToBeRemoved(QScreen *screen)
204 // Changing the QScreen where a QWindow is drawn makes it also lose focus (besides having
207 // Changing the QScreen where a QWindow is drawn makes it also lose focus (besides having
205 // its backing QPlatformWindow recreated). So lets refocus it.
208 // its backing QPlatformWindow recreated). So lets refocus it.
206 m_shellView->requestActivate();
209 m_shellView->requestActivate();
210+ // QWindow::destroy() is called when it changes between screens. We have to manually make it visible again
211+ // <dandrader> This bug is supposedly fixed in Qt 5.5.1, although I can still reproduce it there. :-/
212+ m_shellView->setVisible(true);
207 }
213 }
208}
214}
tests/mocks/Unity/Application/ApplicationInfo.cpp+8
@@ -194,6 +194,10 @@ void ApplicationInfo::setState(State value)
194 MirSurface *surface = static_cast<MirSurface*>(m_surfaceList.get(i));
194 MirSurface *surface = static_cast<MirSurface*>(m_surfaceList.get(i));
195 surface->setLive(false);
195 surface->setLive(false);
196 }
196 }
197+ for (int i = 0; i < m_promptSurfaceList.count(); ++i) {
198+ auto surface = static_cast<MirSurface*>(m_promptSurfaceList.get(i));
199+ surface->setLive(false);
200+ }
197 }
201 }
198
202
199 m_state = value;
203 m_state = value;
@@ -238,6 +242,10 @@ void ApplicationInfo::setManualSurfaceCreation(bool value)
238 if (value != m_manualSurfaceCreation) {
242 if (value != m_manualSurfaceCreation) {
239 m_manualSurfaceCreation = value;
243 m_manualSurfaceCreation = value;
240 Q_EMIT manualSurfaceCreationChanged(value);
244 Q_EMIT manualSurfaceCreationChanged(value);
245+
246+ if (m_manualSurfaceCreation && m_surfaceCreationTimer.isActive()) {
247+ m_surfaceCreationTimer.stop();
248+ }
241 }
249 }
242}
250}
243
251
tests/mocks/Unity/Application/ApplicationInfo.h+2
@@ -108,6 +108,7 @@ public:
108 Q_INVOKABLE void setShellChrome(Mir::ShellChrome shellChrome);
108 Q_INVOKABLE void setShellChrome(Mir::ShellChrome shellChrome);
109
109
110 MirSurfaceListInterface* surfaceList() override { return &m_surfaceList; }
110 MirSurfaceListInterface* surfaceList() override { return &m_surfaceList; }
111+ MirSurfaceListInterface* promptSurfaceList() override { return &m_promptSurfaceList; }
111
112
112 void setFocused(bool value);
113 void setFocused(bool value);
113
114
@@ -148,6 +149,7 @@ private:
148 bool m_exemptFromLifecycle{false};
149 bool m_exemptFromLifecycle{false};
149 QSize m_initialSurfaceSize;
150 QSize m_initialSurfaceSize;
150 MirSurfaceListModel m_surfaceList;
151 MirSurfaceListModel m_surfaceList;
152+ MirSurfaceListModel m_promptSurfaceList;
151 int m_liveSurfaceCount{0};
153 int m_liveSurfaceCount{0};
152 QTimer m_surfaceCreationTimer;
154 QTimer m_surfaceCreationTimer;
153 QList<MirSurface*> m_closingSurfaces;
155 QList<MirSurface*> m_closingSurfaces;
tests/mocks/Unity/Application/MirSurface.cpp+1−21
@@ -408,27 +408,6 @@ void MirSurface::close()
408 }
408 }
409}
409}
410
410
411−void MirSurface::createPromptSurface()
412−{
413− QStringList screenshotIds = {"gallery", "map", "facebook", "camera", "browser", "music", "twitter"};
414− int i = rand() % screenshotIds.count();
415−
416− QUrl screenshotUrl = QString("qrc:///Unity/Application/screenshots/%1@12.png")
417− .arg(screenshotIds[i]);
418−
419− auto surface = new MirSurface(QString("prompt foo"),
420− Mir::NormalType,
421− Mir::RestoredState,
422− screenshotUrl);
423−
424− m_promptSurfaceList.appendSurface(surface);
425−}
426−
427−MirSurfaceListInterface* MirSurface::promptSurfaceList()
428−{
429− return &m_promptSurfaceList;
430−}
431−
432void MirSurface::requestFocus()
411void MirSurface::requestFocus()
433{
412{
434 DEBUG_MSG("");
413 DEBUG_MSG("");
@@ -485,6 +464,7 @@ void MirFocusController::setFocusedSurface(MirSurfaceInterface *surface)
485
464
486 if (m_focusedSurface) {
465 if (m_focusedSurface) {
487 Q_EMIT m_focusedSurface->focusedChanged(true);
466 Q_EMIT m_focusedSurface->focusedChanged(true);
467+ m_focusedSurface->raise();
488 }
468 }
489}
469}
490
470
tests/mocks/Unity/Application/MirSurface.h−5
@@ -107,8 +107,6 @@ public:
107
107
108 Q_INVOKABLE void close() override;
108 Q_INVOKABLE void close() override;
109
109
110− unity::shell::application::MirSurfaceListInterface* promptSurfaceList() override;
111−
112 Q_INVOKABLE void raise() override;
110 Q_INVOKABLE void raise() override;
113
111
114 ////
112 ////
@@ -130,8 +128,6 @@ public:
130 Q_INVOKABLE void setWidthIncrement(int);
128 Q_INVOKABLE void setWidthIncrement(int);
131 Q_INVOKABLE void setHeightIncrement(int);
129 Q_INVOKABLE void setHeightIncrement(int);
132
130
133− Q_INVOKABLE void createPromptSurface();
134−
135 /////
131 /////
136 // internal mock stuff
132 // internal mock stuff
137
133
@@ -199,7 +195,6 @@ private:
199 QSize m_pendingResize;
195 QSize m_pendingResize;
200
196
201 Mir::ShellChrome m_shellChrome;
197 Mir::ShellChrome m_shellChrome;
202− MirSurfaceListModel m_promptSurfaceList;
203
198
204 struct View {
199 struct View {
205 bool visible;
200 bool visible;
tests/mocks/Unity/Application/MirSurfaceItem.cpp+16−7
@@ -56,7 +56,11 @@ MirSurfaceItem::MirSurfaceItem(QQuickItem *parent)
56 Qt::ExtraButton9 | Qt::ExtraButton10 | Qt::ExtraButton11 |
56 Qt::ExtraButton9 | Qt::ExtraButton10 | Qt::ExtraButton11 |
57 Qt::ExtraButton12 | Qt::ExtraButton13);
57 Qt::ExtraButton12 | Qt::ExtraButton13);
58
58
59+ connect(this, &QQuickItem::activeFocusChanged, this, &MirSurfaceItem::updateMirSurfaceActiveFocus);
59 connect(this, &QQuickItem::visibleChanged, this, &MirSurfaceItem::updateMirSurfaceVisibility);
60 connect(this, &QQuickItem::visibleChanged, this, &MirSurfaceItem::updateMirSurfaceVisibility);
61+ connect(this, &MirSurfaceItem::consumesInputChanged, this, [this]() {
62+ updateMirSurfaceActiveFocus(hasActiveFocus());
63+ });
60}
64}
61
65
62MirSurfaceItem::~MirSurfaceItem()
66MirSurfaceItem::~MirSurfaceItem()
@@ -234,6 +238,10 @@ void MirSurfaceItem::setSurface(MirSurfaceInterface* surface)
234 delete m_qmlContentComponent;
238 delete m_qmlContentComponent;
235 m_qmlContentComponent = nullptr;
239 m_qmlContentComponent = nullptr;
236
240
241+ if (hasActiveFocus() && m_consumesInput && m_qmlSurface->live()) {
242+ m_qmlSurface->setActiveFocus(false);
243+ }
244+
237 disconnect(m_qmlSurface, nullptr, this, nullptr);
245 disconnect(m_qmlSurface, nullptr, this, nullptr);
238 m_qmlSurface->unregisterView((qintptr)this);
246 m_qmlSurface->unregisterView((qintptr)this);
239 }
247 }
@@ -243,8 +251,6 @@ void MirSurfaceItem::setSurface(MirSurfaceInterface* surface)
243 if (m_qmlSurface) {
251 if (m_qmlSurface) {
244 m_qmlSurface->registerView((qintptr)this);
252 m_qmlSurface->registerView((qintptr)this);
245
253
246− m_qmlSurface->setActiveFocus(hasActiveFocus());
247−
248 updateSurfaceSize();
254 updateSurfaceSize();
249 updateMirSurfaceVisibility();
255 updateMirSurfaceVisibility();
250
256
@@ -277,17 +283,20 @@ void MirSurfaceItem::setSurface(MirSurfaceInterface* surface)
277 default:
283 default:
278 qFatal("MirSurfaceItem: Unhandled component status");
284 qFatal("MirSurfaceItem: Unhandled component status");
279 }
285 }
286+
287+ if (m_consumesInput) {
288+ m_qmlSurface->setActiveFocus(hasActiveFocus());
289+ }
280 }
290 }
281
291
282 Q_EMIT surfaceChanged(m_qmlSurface);
292 Q_EMIT surfaceChanged(m_qmlSurface);
283}
293}
284
294
285−void MirSurfaceItem::itemChange(ItemChange change, const ItemChangeData & value)
295+
296+void MirSurfaceItem::updateMirSurfaceActiveFocus(bool focused)
286{
297{
287− if (change == QQuickItem::ItemActiveFocusHasChanged) {
298+ if (m_qmlSurface && m_consumesInput && m_qmlSurface->live()) {
288− if (m_qmlSurface) {
289− m_qmlSurface->setActiveFocus(value.boolValue);
299+ m_qmlSurface->setActiveFocus(focused);
290− }
291 }
300 }
292}
301}
293
302
tests/mocks/Unity/Application/MirSurfaceItem.h+1−1
@@ -98,12 +98,12 @@ protected:
98 void mousePressEvent(QMouseEvent * event) override;
98 void mousePressEvent(QMouseEvent * event) override;
99 void mouseMoveEvent(QMouseEvent * event) override;
99 void mouseMoveEvent(QMouseEvent * event) override;
100 void mouseReleaseEvent(QMouseEvent * event) override;
100 void mouseReleaseEvent(QMouseEvent * event) override;
101− void itemChange(ItemChange change, const ItemChangeData & value) override;
102
101
103private Q_SLOTS:
102private Q_SLOTS:
104 void onComponentStatusChanged(QQmlComponent::Status status);
103 void onComponentStatusChanged(QQmlComponent::Status status);
105 void updateScreenshot(QUrl screenshot);
104 void updateScreenshot(QUrl screenshot);
106 void updateMirSurfaceVisibility();
105 void updateMirSurfaceVisibility();
106+ void updateMirSurfaceActiveFocus(bool focused);
107
107
108private:
108private:
109 void createQmlContentItem();
109 void createQmlContentItem();
tests/mocks/Unity/Application/MirSurfaceListModel.cpp+28
@@ -67,6 +67,9 @@ void MirSurfaceListModel::appendSurface(MirSurface *surface)
67 connectSurface(surface);
67 connectSurface(surface);
68 endInsertRows();
68 endInsertRows();
69 Q_EMIT countChanged();
69 Q_EMIT countChanged();
70+ if (m_surfaceList.count() == 1) {
71+ Q_EMIT firstChanged();
72+ }
70}
73}
71
74
72void MirSurfaceListModel::connectSurface(MirSurface *surface)
75void MirSurfaceListModel::connectSurface(MirSurface *surface)
@@ -83,6 +86,9 @@ void MirSurfaceListModel::removeSurface(MirSurface *surface)
83 m_surfaceList.removeAt(i);
86 m_surfaceList.removeAt(i);
84 endRemoveRows();
87 endRemoveRows();
85 Q_EMIT countChanged();
88 Q_EMIT countChanged();
89+ if (m_surfaceList.count() == 0 || i == 0) {
90+ Q_EMIT firstChanged();
91+ }
86 }
92 }
87}
93}
88
94
@@ -100,6 +106,10 @@ void MirSurfaceListModel::moveSurface(int from, int to)
100 m_surfaceList.move(from, to);
106 m_surfaceList.move(from, to);
101 endMoveRows();
107 endMoveRows();
102 }
108 }
109+
110+ if ((from == 0 || to == 0) && m_surfaceList.count() > 1) {
111+ Q_EMIT firstChanged();
112+ }
103}
113}
104
114
105MirSurfaceInterface *MirSurfaceListModel::get(int index)
115MirSurfaceInterface *MirSurfaceListModel::get(int index)
@@ -119,3 +129,21 @@ const MirSurfaceInterface *MirSurfaceListModel::get(int index) const
119 return nullptr;
129 return nullptr;
120 }
130 }
121}
131}
132+
133+MirSurfaceInterface *MirSurfaceListModel::createSurface()
134+{
135+ QStringList screenshotIds = {"gallery", "map", "facebook", "camera", "browser", "music", "twitter"};
136+ int i = rand() % screenshotIds.count();
137+
138+ QUrl screenshotUrl = QString("qrc:///Unity/Application/screenshots/%1@12.png")
139+ .arg(screenshotIds[i]);
140+
141+ auto surface = new MirSurface(QString("prompt foo"),
142+ Mir::NormalType,
143+ Mir::RestoredState,
144+ screenshotUrl);
145+
146+ appendSurface(surface);
147+
148+ return surface;
149+}
tests/mocks/Unity/Application/MirSurfaceListModel.h+5
@@ -43,6 +43,11 @@ public:
43
43
44 bool contains(MirSurface *surface) const { return m_surfaceList.contains(surface); }
44 bool contains(MirSurface *surface) const { return m_surfaceList.contains(surface); }
45
45
46+ ////
47+ // API for tests
48+
49+ Q_INVOKABLE unity::shell::application::MirSurfaceInterface *createSurface();
50+
46private:
51private:
47 void raise(MirSurface *surface);
52 void raise(MirSurface *surface);
48 void moveSurface(int from, int to);
53 void moveSurface(int from, int to);
tests/mocks/Unity/CMakeLists.txt+3−1
@@ -8,7 +8,7 @@ add_subdirectory(DashCommunicator)
8add_subdirectory(Screens)
8add_subdirectory(Screens)
9
9
10pkg_search_module(GOBJECT gobject-2.0 REQUIRED)
10pkg_search_module(GOBJECT gobject-2.0 REQUIRED)
11−pkg_check_modules(SCOPES_API REQUIRED unity-shell-scopes=11)
11+pkg_check_modules(SCOPES_API REQUIRED unity-shell-scopes=12)
12
12
13include_directories(
13include_directories(
14 ${CMAKE_CURRENT_BINARY_DIR}
14 ${CMAKE_CURRENT_BINARY_DIR}
@@ -34,6 +34,7 @@ set(UnityQML_SOURCES
34 fake_optionselectoroptions.cpp
34 fake_optionselectoroptions.cpp
35 fake_rangeinputfilter.cpp
35 fake_rangeinputfilter.cpp
36 fake_valuesliderfilter.cpp
36 fake_valuesliderfilter.cpp
37+ fake_expandablefilterwidget.cpp
37 fake_valueslidervalues.cpp
38 fake_valueslidervalues.cpp
38 fake_unity_plugin.cpp
39 fake_unity_plugin.cpp
39 ${SCOPES_API_INCLUDEDIR}/unity/shell/scopes/CategoriesInterface.h
40 ${SCOPES_API_INCLUDEDIR}/unity/shell/scopes/CategoriesInterface.h
@@ -51,6 +52,7 @@ set(UnityQML_SOURCES
51 ${SCOPES_API_INCLUDEDIR}/unity/shell/scopes/SettingsModelInterface.h
52 ${SCOPES_API_INCLUDEDIR}/unity/shell/scopes/SettingsModelInterface.h
52 ${SCOPES_API_INCLUDEDIR}/unity/shell/scopes/ValueSliderFilterInterface.h
53 ${SCOPES_API_INCLUDEDIR}/unity/shell/scopes/ValueSliderFilterInterface.h
53 ${SCOPES_API_INCLUDEDIR}/unity/shell/scopes/ValueSliderValuesInterface.h
54 ${SCOPES_API_INCLUDEDIR}/unity/shell/scopes/ValueSliderValuesInterface.h
55+ ${SCOPES_API_INCLUDEDIR}/unity/shell/scopes/ExpandableFilterWidgetInterface.h
54)
56)
55
57
56# Workaround for gcc failure LP: #1417664
58# Workaround for gcc failure LP: #1417664
tests/mocks/Unity/fake_categories.cpp+4−1
@@ -88,7 +88,7 @@ Categories::data(const QModelIndex& index, int role) const
88 }
88 }
89 case RoleComponents:
89 case RoleComponents:
90 {
90 {
91− QVariantMap map, artMap, attributeMap;
91+ QVariantMap map, artMap, attributeMap, socialActionMap;
92 if (index.row() % 2 != 0) {
92 if (index.row() % 2 != 0) {
93 artMap["aspect-ratio"] = QString("1.%1").arg(index.row());
93 artMap["aspect-ratio"] = QString("1.%1").arg(index.row());
94 } else {
94 } else {
@@ -99,6 +99,9 @@ Categories::data(const QModelIndex& index, int role) const
99 map["title"] = "HOLA";
99 map["title"] = "HOLA";
100 map["subtitle"] = "HOLA";
100 map["subtitle"] = "HOLA";
101 attributeMap["field"] = "attribute";
101 attributeMap["field"] = "attribute";
102+ socialActionMap["icon"] = "icon";
103+ socialActionMap["id"] = "socialHola";
104+ map["socialActions"] = socialActionMap;
102 map["attributes"] = attributeMap;
105 map["attributes"] = attributeMap;
103 return map;
106 return map;
104 }
107 }
tests/mocks/Unity/fake_expandablefilterwidget.cppnew file+53
@@ -0,0 +1,53 @@
1+/*
2+ * Copyright (C) 2016 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+#include "fake_expandablefilterwidget.h"
18+
19+#include "fake_filters.h"
20+
21+FakeExpandbleFilterWidget::FakeExpandbleFilterWidget(const QString &id, const QString &tag, const QString &title, QObject* parent)
22+ : unity::shell::scopes::ExpandableFilterWidgetInterface(parent)
23+ , m_filterId(id)
24+ , m_filterTag(tag)
25+ , m_title(title)
26+{
27+ m_filters = new Filters(this);
28+}
29+
30+QString FakeExpandbleFilterWidget::filterId() const
31+{
32+ return m_filterId;
33+}
34+
35+QString FakeExpandbleFilterWidget::filterTag() const
36+{
37+ return m_filterTag;
38+}
39+
40+QString FakeExpandbleFilterWidget::title() const
41+{
42+ return m_title;
43+}
44+
45+unity::shell::scopes::FiltersInterface* FakeExpandbleFilterWidget::filters() const
46+{
47+ return m_filters;
48+}
49+
50+void FakeExpandbleFilterWidget::addFilter(unity::shell::scopes::FilterBaseInterface* f)
51+{
52+ m_filters->addFilter(f);
53+}
tests/mocks/Unity/fake_expandablefilterwidget.hnew file+48
@@ -0,0 +1,48 @@
1+/*
2+ * Copyright (C) 2016 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+#ifndef FAKE_EXPANDABLEFILTERWIDGET_H
18+#define FAKE_EXPANDABLEFILTERWIDGET_H
19+
20+#include <unity/shell/scopes/ExpandableFilterWidgetInterface.h>
21+
22+class Filters;
23+
24+class FakeExpandbleFilterWidget : public unity::shell::scopes::ExpandableFilterWidgetInterface
25+{
26+ Q_OBJECT
27+
28+public:
29+ FakeExpandbleFilterWidget(const QString &id, const QString &tag, const QString &title, QObject* parent);
30+
31+ QString filterId() const override;
32+ QString filterTag() const override;
33+ QString title() const override;
34+
35+ unity::shell::scopes::FiltersInterface* filters() const override;
36+
37+ // mock API
38+ void addFilter(unity::shell::scopes::FilterBaseInterface* f);
39+
40+private:
41+ QString m_filterId;
42+ QString m_filterTag;
43+ QString m_title;
44+
45+ Filters *m_filters;
46+};
47+
48+#endif
tests/mocks/Unity/fake_filters.cpp+19−8
@@ -19,10 +19,14 @@
19#include "fake_optionselectorfilter.h"
19#include "fake_optionselectorfilter.h"
20#include "fake_rangeinputfilter.h"
20#include "fake_rangeinputfilter.h"
21#include "fake_valuesliderfilter.h"
21#include "fake_valuesliderfilter.h"
22−#include "fake_scope.h"
22+#include "fake_expandablefilterwidget.h"
23
23
24−Filters::Filters(Scope* parent)
24+Filters::Filters(QObject* parent)
25 : unity::shell::scopes::FiltersInterface(parent)
25 : unity::shell::scopes::FiltersInterface(parent)
26+{
27+}
28+
29+void Filters::addFakeFilters()
26{
30{
27 addFilter(new FakeOptionSelectorFilter("OSF1", "Tag1", "Which Cake you like More", false, QStringList() << "cheese" << "carrot" << "chocolate", this));
31 addFilter(new FakeOptionSelectorFilter("OSF1", "Tag1", "Which Cake you like More", false, QStringList() << "cheese" << "carrot" << "chocolate", this));
28
32
@@ -41,6 +45,11 @@ Filters::Filters(Scope* parent)
41 addFilter(vsf);
45 addFilter(vsf);
42
46
43 addFilter(new FakeOptionSelectorFilter("OSF2", "Tag2", "Which Countries have you been to?", true, QStringList() << "Germany" << "UK" << "New Zealand", this));
47 addFilter(new FakeOptionSelectorFilter("OSF2", "Tag2", "Which Countries have you been to?", true, QStringList() << "Germany" << "UK" << "New Zealand", this));
48+
49+ auto expandableFilter = new FakeExpandbleFilterWidget("EFW", "Tag5", "Advanced Settings", this);
50+ expandableFilter->addFilter(new FakeValueSliderFilter("VS2", "Tag6", 15, 10, 150, labels, this));
51+
52+ addFilter(expandableFilter);
44}
53}
45
54
46void Filters::addFilter(unity::shell::scopes::FilterBaseInterface *f)
55void Filters::addFilter(unity::shell::scopes::FilterBaseInterface *f)
@@ -58,9 +67,10 @@ void Filters::addFilter(unity::shell::scopes::FilterBaseInterface *f)
58 }
67 }
59 break;
68 break;
60
69
61− case FiltersInterface::ValueSliderFilter: {
70+ case FiltersInterface::ExpandableFilterWidget:
71+ // Can't be active
72+ case FiltersInterface::ValueSliderFilter:
62− // Not counting value slider as active in the mock
73+ // Not counting value as active in the mock
63− }
64
74
65 case Invalid:
75 case Invalid:
66 break;
76 break;
@@ -113,9 +123,10 @@ int Filters::activeFiltersCount() const
113 }
123 }
114 break;
124 break;
115
125
116− case FiltersInterface::ValueSliderFilter: {
126+ case FiltersInterface::ExpandableFilterWidget:
127+ // Can't be active
128+ case FiltersInterface::ValueSliderFilter:
117− // Not counting value slider as active in the mock
129+ // Not counting value as active in the mock
118− }
119
130
120 case Invalid:
131 case Invalid:
121 break;
132 break;
tests/mocks/Unity/fake_filters.h+4−4
@@ -20,25 +20,25 @@
20#include <unity/shell/scopes/FiltersInterface.h>
20#include <unity/shell/scopes/FiltersInterface.h>
21#include <unity/shell/scopes/FilterBaseInterface.h>
21#include <unity/shell/scopes/FilterBaseInterface.h>
22
22
23−class Scope;
24−
25class Filters : public unity::shell::scopes::FiltersInterface
23class Filters : public unity::shell::scopes::FiltersInterface
26{
24{
27 Q_OBJECT
25 Q_OBJECT
28
26
29public:
27public:
30− Filters(Scope* parent);
28+ Filters(QObject* parent);
31
29
32 int rowCount(const QModelIndex &parent) const override;
30 int rowCount(const QModelIndex &parent) const override;
33 QVariant data(const QModelIndex &index, int role) const override;
31 QVariant data(const QModelIndex &index, int role) const override;
34
32
33+ // Mock API
35 int activeFiltersCount() const;
34 int activeFiltersCount() const;
35+ void addFakeFilters();
36+ void addFilter(unity::shell::scopes::FilterBaseInterface* f);
36
37
37Q_SIGNALS:
38Q_SIGNALS:
38 void activeFiltersCountChanged();
39 void activeFiltersCountChanged();
39
40
40private:
41private:
41− void addFilter(unity::shell::scopes::FilterBaseInterface* f);
42
42
43 QVector<unity::shell::scopes::FilterBaseInterface*> m_filters;
43 QVector<unity::shell::scopes::FilterBaseInterface*> m_filters;
44};
44};
tests/mocks/Unity/fake_resultsmodel.cpp+2
@@ -72,6 +72,8 @@ ResultsModel::data(const QModelIndex& index, int role) const
72 case RoleUri:
72 case RoleUri:
73 case RoleCategoryId:
73 case RoleCategoryId:
74 case RoleDndUri:
74 case RoleDndUri:
75+ case RoleAttributes:
76+ case RoleSocialActions:
75 return QString();
77 return QString();
76 case RoleResult:
78 case RoleResult:
77 return QString("Result.%1.%2").arg(m_categoryId).arg(index.row());
79 return QString("Result.%1.%2").arg(m_categoryId).arg(index.row());
tests/mocks/Unity/fake_scope.cpp+2
@@ -49,6 +49,8 @@ Scope::Scope(QString const& id, QString const& name, bool favorite, Scopes* pare
49 , m_filters(new Filters(this))
49 , m_filters(new Filters(this))
50 , m_returnNullPreview(returnNullPreview)
50 , m_returnNullPreview(returnNullPreview)
51{
51{
52+ m_filters->addFakeFilters();
53+
52 m_primaryNavigationFilter = new FakeOptionSelectorFilter("OSF3", "PFTag", "Which food you like More", false, QStringList() << "meat" << "vegetables", this);
54 m_primaryNavigationFilter = new FakeOptionSelectorFilter("OSF3", "PFTag", "Which food you like More", false, QStringList() << "meat" << "vegetables", this);
53 connect(m_filters, &Filters::activeFiltersCountChanged, this, &Scope::activeFiltersCountChanged);
55 connect(m_filters, &Filters::activeFiltersCountChanged, this, &Scope::activeFiltersCountChanged);
54}
56}
tests/mocks/Utils/CMakeLists.txt−1
@@ -13,7 +13,6 @@ set(QMLPLUGIN_SRC
13 ${CMAKE_SOURCE_DIR}/plugins/Utils/unitysortfilterproxymodelqml.cpp
13 ${CMAKE_SOURCE_DIR}/plugins/Utils/unitysortfilterproxymodelqml.cpp
14 ${CMAKE_SOURCE_DIR}/plugins/Utils/unitymenumodelpaths.cpp
14 ${CMAKE_SOURCE_DIR}/plugins/Utils/unitymenumodelpaths.cpp
15 ${CMAKE_SOURCE_DIR}/plugins/Utils/windowinputfilter.cpp
15 ${CMAKE_SOURCE_DIR}/plugins/Utils/windowinputfilter.cpp
16− ${CMAKE_SOURCE_DIR}/plugins/Utils/windowscreenshotprovider.cpp
17 ${CMAKE_SOURCE_DIR}/plugins/Utils/easingcurve.cpp
16 ${CMAKE_SOURCE_DIR}/plugins/Utils/easingcurve.cpp
18 ${CMAKE_SOURCE_DIR}/plugins/Utils/inputwatcher.cpp
17 ${CMAKE_SOURCE_DIR}/plugins/Utils/inputwatcher.cpp
19 ${CMAKE_SOURCE_DIR}/plugins/Utils/timezoneFormatter.cpp
18 ${CMAKE_SOURCE_DIR}/plugins/Utils/timezoneFormatter.cpp
tests/mocks/Utils/plugin.cpp−8
@@ -33,7 +33,6 @@
33#include <unitysortfilterproxymodelqml.h>
33#include <unitysortfilterproxymodelqml.h>
34#include <unitymenumodelpaths.h>
34#include <unitymenumodelpaths.h>
35#include <windowinputfilter.h>
35#include <windowinputfilter.h>
36−#include <windowscreenshotprovider.h>
37#include <easingcurve.h>
36#include <easingcurve.h>
38#include <timezoneFormatter.h>
37#include <timezoneFormatter.h>
39#include <applicationsfiltermodel.h>
38#include <applicationsfiltermodel.h>
@@ -82,10 +81,3 @@ void FakeUtilsPlugin::registerTypes(const char *uri)
82 qmlRegisterType<DeviceConfigParser>(uri, 0, 1, "DeviceConfigParser");
81 qmlRegisterType<DeviceConfigParser>(uri, 0, 1, "DeviceConfigParser");
83 qmlRegisterSingletonType<GlobalFunctions>(uri, 0, 1, "Functions", createGlobalFunctions);
82 qmlRegisterSingletonType<GlobalFunctions>(uri, 0, 1, "Functions", createGlobalFunctions);
84}
83}
85−
86−void FakeUtilsPlugin::initializeEngine(QQmlEngine *engine, const char *uri)
87−{
88− QQmlExtensionPlugin::initializeEngine(engine, uri);
89−
90− engine->addImageProvider(QLatin1String("window"), new WindowScreenshotProvider);
91−}
tests/mocks/Utils/plugin.h−1
@@ -27,7 +27,6 @@ class FakeUtilsPlugin : public QQmlExtensionPlugin
27
27
28public:
28public:
29 void registerTypes(const char *uri);
29 void registerTypes(const char *uri);
30− void initializeEngine(QQmlEngine *engine, const char *uri);
31};
30};
32
31
33#endif
32#endif
tests/mocks/Utils/windowstatestorage.cpp+1
@@ -50,6 +50,7 @@ QRect WindowStateStorage::getGeometry(const QString &windowId, const QRect &defa
50void WindowStateStorage::saveStage(const QString &appId, int stage)
50void WindowStateStorage::saveStage(const QString &appId, int stage)
51{
51{
52 m_stage[appId] = stage;
52 m_stage[appId] = stage;
53+ Q_EMIT stageSaved(appId, stage);
53}
54}
54
55
55int WindowStateStorage::getStage(const QString &appId) const
56int WindowStateStorage::getStage(const QString &appId) const
tests/mocks/Utils/windowstatestorage.h+3
@@ -45,6 +45,9 @@ public:
45Q_SIGNALS:
45Q_SIGNALS:
46 void geometryChanged(const QVariantMap& geometry);
46 void geometryChanged(const QVariantMap& geometry);
47
47
48+ // For testing.
49+ void stageSaved(const QString& appId, int stage);
50+
48private:
51private:
49 void setGeometry(const QVariantMap& geometry);
52 void setGeometry(const QVariantMap& geometry);
50 QVariantMap geometry() const;
53 QVariantMap geometry() const;
tests/plugins/CMakeLists.txt−1
@@ -3,7 +3,6 @@ add_subdirectory(GlobalShortcut)
3add_subdirectory(Greeter)
3add_subdirectory(Greeter)
4add_subdirectory(LightDM)
4add_subdirectory(LightDM)
5add_subdirectory(Dash)
5add_subdirectory(Dash)
6−add_subdirectory(ScreenGrabber)
7add_subdirectory(Ubuntu)
6add_subdirectory(Ubuntu)
8add_subdirectory(Unity)
7add_subdirectory(Unity)
9add_subdirectory(Utils)
8add_subdirectory(Utils)
tests/plugins/Dash/cardcreator/1.res+1−1
@@ -11,7 +11,7 @@ AbstractButton {
11 property bool showHeader: true;
11 property bool showHeader: true;
12 implicitWidth: childrenRect.width;
12 implicitWidth: childrenRect.width;
13 enabled: true;
13 enabled: true;
14−
14+signal action(var actionId);
15readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1);
15readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1);
16Item {
16Item {
17 id: artShapeHolder;
17 id: artShapeHolder;
tests/plugins/Dash/cardcreator/1.res.cardcreator+1−1
@@ -10,7 +10,7 @@ AbstractButton {
10 property bool showHeader: true;
10 property bool showHeader: true;
11 implicitWidth: childrenRect.width;
11 implicitWidth: childrenRect.width;
12 enabled: true;
12 enabled: true;
13−
13+signal action(var actionId);
14readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1);
14readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1);
15Item {
15Item {
16 id: artShapeHolder;
16 id: artShapeHolder;
tests/plugins/Dash/cardcreator/10.res+1−1
@@ -11,7 +11,7 @@ AbstractButton {
11 property bool showHeader: true;
11 property bool showHeader: true;
12 implicitWidth: childrenRect.width;
12 implicitWidth: childrenRect.width;
13 enabled: true;
13 enabled: true;
14−
14+signal action(var actionId);
15Loader {
15Loader {
16 id: backgroundLoader;
16 id: backgroundLoader;
17 objectName: "backgroundLoader";
17 objectName: "backgroundLoader";
tests/plugins/Dash/cardcreator/10.res.cardcreator+1−1
@@ -10,7 +10,7 @@ AbstractButton {
10 property bool showHeader: true;
10 property bool showHeader: true;
11 implicitWidth: childrenRect.width;
11 implicitWidth: childrenRect.width;
12 enabled: true;
12 enabled: true;
13−
13+signal action(var actionId);
14Loader {
14Loader {
15 id: backgroundLoader;
15 id: backgroundLoader;
16 objectName: "backgroundLoader";
16 objectName: "backgroundLoader";
tests/plugins/Dash/cardcreator/11.res+1−1
@@ -11,7 +11,7 @@ AbstractButton {
11 property bool showHeader: true;
11 property bool showHeader: true;
12 implicitWidth: childrenRect.width;
12 implicitWidth: childrenRect.width;
13 enabled: true;
13 enabled: true;
14−
14+signal action(var actionId);
15Loader {
15Loader {
16 id: backgroundLoader;
16 id: backgroundLoader;
17 objectName: "backgroundLoader";
17 objectName: "backgroundLoader";
tests/plugins/Dash/cardcreator/11.res.cardcreator+1−1
@@ -10,7 +10,7 @@ AbstractButton {
10 property bool showHeader: true;
10 property bool showHeader: true;
11 implicitWidth: childrenRect.width;
11 implicitWidth: childrenRect.width;
12 enabled: true;
12 enabled: true;
13−
13+signal action(var actionId);
14Loader {
14Loader {
15 id: backgroundLoader;
15 id: backgroundLoader;
16 objectName: "backgroundLoader";
16 objectName: "backgroundLoader";
tests/plugins/Dash/cardcreator/12.resnew file+139
@@ -0,0 +1,139 @@
1+AbstractButton {
2+ id: root;
3+ property var cardData;
4+ property string artShapeStyle: "inset";
5+ property string backgroundShapeStyle: "inset";
6+ property real fontScale: 1.0;
7+ property var scopeStyle: null;
8+ property int fixedHeaderHeight: -1;
9+ property size fixedArtShapeSize: Qt.size(-1, -1);
10+ readonly property string title: cardData && cardData["title"] || "";
11+ property bool showHeader: true;
12+ implicitWidth: childrenRect.width;
13+ enabled: true;
14+signal action(var actionId);
15+readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1);
16+Item {
17+ id: artShapeHolder;
18+ height: root.fixedArtShapeSize.height > 0 ? root.fixedArtShapeSize.height : artShapeLoader.height;
19+ width: root.fixedArtShapeSize.width > 0 ? root.fixedArtShapeSize.width : artShapeLoader.width;
20+ anchors { horizontalCenter: parent.horizontalCenter; }
21+ Loader {
22+ id: artShapeLoader;
23+ objectName: "artShapeLoader";
24+ readonly property string cardArt: cardData && cardData["art"] || "";
25+ active: cardArt != "";
26+ asynchronous: true;
27+ visible: status == Loader.Ready;
28+ sourceComponent: Item {
29+ id: artShape;
30+ objectName: "artShape";
31+ visible: image.status == Image.Ready;
32+ readonly property alias image: artImage;
33+ Loader {
34+ anchors.fill: parent;
35+ visible: true;
36+ sourceComponent: root.artShapeStyle === "icon" ? artShapeIconComponent : artShapeShapeComponent;
37+ Component {
38+ id: artShapeShapeComponent;
39+ UbuntuShape {
40+ source: artImage;
41+ sourceFillMode: UbuntuShape.PreserveAspectCrop;
42+ radius: "medium";
43+ aspect: {
44+ switch (root.artShapeStyle) {
45+ case "inset": return UbuntuShape.Inset;
46+ case "shadow": return UbuntuShape.DropShadow;
47+ default:
48+ case "flat": return UbuntuShape.Flat;
49+ }
50+ }
51+ }
52+ }
53+ Component {
54+ id: artShapeIconComponent;
55+ ProportionalShape { source: artImage; aspect: UbuntuShape.DropShadow; }
56+ }
57+ }
58+ readonly property real fixedArtShapeSizeAspect: (root.fixedArtShapeSize.height > 0 && root.fixedArtShapeSize.width > 0) ? root.fixedArtShapeSize.width / root.fixedArtShapeSize.height : -1;
59+ readonly property real aspect: fixedArtShapeSizeAspect > 0 ? fixedArtShapeSizeAspect : 0.75;
60+ Component.onCompleted: { updateWidthHeightBindings(); }
61+ Connections { target: root; onFixedArtShapeSizeChanged: updateWidthHeightBindings(); }
62+ function updateWidthHeightBindings() {
63+ if (root.fixedArtShapeSize.height > 0 && root.fixedArtShapeSize.width > 0) {
64+ width = root.fixedArtShapeSize.width;
65+ height = root.fixedArtShapeSize.height;
66+ } else {
67+ width = Qt.binding(function() { return image.status !== Image.Ready ? 0 : image.width });
68+ height = Qt.binding(function() { return image.status !== Image.Ready ? 0 : image.height });
69+ }
70+ }
71+ CroppedImageMinimumSourceSize {
72+ id: artImage;
73+ objectName: "artImage";
74+ source: artShapeLoader.cardArt;
75+ asynchronous: true;
76+ visible: !true;
77+ width: root.width;
78+ height: width / artShape.aspect;
79+ }
80+ }
81+ }
82+ }
83+readonly property int headerHeight: titleLabel.height + subtitleLabel.height + subtitleLabel.anchors.topMargin;
84+Label {
85+ id: titleLabel;
86+ objectName: "titleLabel";
87+ anchors { right: parent.right;
88+ left: parent.left;
89+ top: artShapeHolder.bottom;
90+ topMargin: units.gu(1);
91+ }
92+ elide: Text.ElideRight;
93+ fontSize: "small";
94+ wrapMode: Text.Wrap;
95+ maximumLineCount: 2;
96+ font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
97+ color: root.scopeStyle ? root.scopeStyle.foreground : theme.palette.normal.baseText;
98+ visible: showHeader ;
99+ width: undefined;
100+ text: root.title;
101+ font.weight: cardData && cardData["subtitle"] ? Font.DemiBold : Font.Normal;
102+ horizontalAlignment: Text.AlignLeft;
103+ }
104+Label {
105+ id: subtitleLabel;
106+ objectName: "subtitleLabel";
107+ anchors { left: titleLabel.left;
108+ leftMargin: titleLabel.leftMargin;
109+ right: titleLabel.right;
110+ top: titleLabel.bottom;
111+ }
112+ anchors.topMargin: units.dp(2);
113+ elide: Text.ElideRight;
114+ maximumLineCount: 1;
115+ fontSize: "x-small";
116+ font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
117+ color: root.scopeStyle ? root.scopeStyle.foreground : theme.palette.normal.baseText;
118+ visible: titleLabel.visible && titleLabel.text;
119+ text: cardData && cardData["subtitle"] || "";
120+ font.weight: Font.Light;
121+ }
122+CardSocialActions {
123+ id: socialActionsRow;
124+ objectName: "socialActionsRow";
125+ anchors { top: subtitleLabel.bottom; left: parent.left; right: parent.right; topMargin: units.gu(1); }
126+ color: root.scopeStyle ? root.scopeStyle.foreground : theme.palette.normal.baseText;
127+ model: cardData && cardData["socialActions"];
128+ onClicked: root.action(actionId);
129+}
130+UbuntuShape {
131+ id: touchdown;
132+ objectName: "touchdown";
133+ anchors { fill: artShapeHolder }
134+ visible: root.artShapeStyle != "shadow" && root.artShapeStyle != "icon" && root.pressed;
135+ radius: "medium";
136+ borderSource: "radius_pressed.sci"
137+}
138+implicitHeight: socialActionsRow.y + socialActionsRow.height + units.gu(1);
139+}
tests/plugins/Dash/cardcreator/12.res.cardcreatornew file+138
@@ -0,0 +1,138 @@
1+AbstractButton {
2+ id: root;
3+ property var cardData;
4+ property string artShapeStyle: "inset";
5+ property string backgroundShapeStyle: "inset";
6+ property real fontScale: 1.0;
7+ property var scopeStyle: null;
8+ property size fixedArtShapeSize: Qt.size(-1, -1);
9+ readonly property string title: cardData && cardData["title"] || "";
10+ property bool showHeader: true;
11+ implicitWidth: childrenRect.width;
12+ enabled: true;
13+signal action(var actionId);
14+readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1);
15+Item {
16+ id: artShapeHolder;
17+ height: root.fixedArtShapeSize.height > 0 ? root.fixedArtShapeSize.height : artShapeLoader.height;
18+ width: root.fixedArtShapeSize.width > 0 ? root.fixedArtShapeSize.width : artShapeLoader.width;
19+ anchors { horizontalCenter: parent.horizontalCenter; }
20+ Loader {
21+ id: artShapeLoader;
22+ objectName: "artShapeLoader";
23+ readonly property string cardArt: cardData && cardData["art"] || "";
24+ active: cardArt != "";
25+ asynchronous: false;
26+ visible: status == Loader.Ready;
27+ sourceComponent: Item {
28+ id: artShape;
29+ objectName: "artShape";
30+ visible: image.status == Image.Ready;
31+ readonly property alias image: artImage;
32+ Loader {
33+ anchors.fill: parent;
34+ visible: true;
35+ sourceComponent: root.artShapeStyle === "icon" ? artShapeIconComponent : artShapeShapeComponent;
36+ Component {
37+ id: artShapeShapeComponent;
38+ UbuntuShape {
39+ source: artImage;
40+ sourceFillMode: UbuntuShape.PreserveAspectCrop;
41+ radius: "medium";
42+ aspect: {
43+ switch (root.artShapeStyle) {
44+ case "inset": return UbuntuShape.Inset;
45+ case "shadow": return UbuntuShape.DropShadow;
46+ default:
47+ case "flat": return UbuntuShape.Flat;
48+ }
49+ }
50+ }
51+ }
52+ Component {
53+ id: artShapeIconComponent;
54+ ProportionalShape { source: artImage; aspect: UbuntuShape.DropShadow; }
55+ }
56+ }
57+ readonly property real fixedArtShapeSizeAspect: (root.fixedArtShapeSize.height > 0 && root.fixedArtShapeSize.width > 0) ? root.fixedArtShapeSize.width / root.fixedArtShapeSize.height : -1;
58+ readonly property real aspect: fixedArtShapeSizeAspect > 0 ? fixedArtShapeSizeAspect : 0.75;
59+ Component.onCompleted: { updateWidthHeightBindings(); }
60+ Connections { target: root; onFixedArtShapeSizeChanged: updateWidthHeightBindings(); }
61+ function updateWidthHeightBindings() {
62+ if (root.fixedArtShapeSize.height > 0 && root.fixedArtShapeSize.width > 0) {
63+ width = root.fixedArtShapeSize.width;
64+ height = root.fixedArtShapeSize.height;
65+ } else {
66+ width = Qt.binding(function() { return image.status !== Image.Ready ? 0 : image.width });
67+ height = Qt.binding(function() { return image.status !== Image.Ready ? 0 : image.height });
68+ }
69+ }
70+ CroppedImageMinimumSourceSize {
71+ id: artImage;
72+ objectName: "artImage";
73+ source: artShapeLoader.cardArt;
74+ asynchronous: false;
75+ visible: !true;
76+ width: root.width;
77+ height: width / artShape.aspect;
78+ }
79+ }
80+ }
81+ }
82+readonly property int headerHeight: titleLabel.height + subtitleLabel.height + subtitleLabel.anchors.topMargin;
83+Label {
84+ id: titleLabel;
85+ objectName: "titleLabel";
86+ anchors { right: parent.right;
87+ left: parent.left;
88+ top: artShapeHolder.bottom;
89+ topMargin: units.gu(1);
90+ }
91+ elide: Text.ElideRight;
92+ fontSize: "small";
93+ wrapMode: Text.Wrap;
94+ maximumLineCount: 2;
95+ font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
96+ color: root.scopeStyle ? root.scopeStyle.foreground : theme.palette.normal.baseText;
97+ visible: showHeader ;
98+ width: undefined;
99+ text: root.title;
100+ font.weight: cardData && cardData["subtitle"] ? Font.DemiBold : Font.Normal;
101+ horizontalAlignment: Text.AlignLeft;
102+ }
103+Label {
104+ id: subtitleLabel;
105+ objectName: "subtitleLabel";
106+ anchors { left: titleLabel.left;
107+ leftMargin: titleLabel.leftMargin;
108+ right: titleLabel.right;
109+ top: titleLabel.bottom;
110+ }
111+ anchors.topMargin: units.dp(2);
112+ elide: Text.ElideRight;
113+ maximumLineCount: 1;
114+ fontSize: "x-small";
115+ font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
116+ color: root.scopeStyle ? root.scopeStyle.foreground : theme.palette.normal.baseText;
117+ visible: titleLabel.visible && titleLabel.text;
118+ text: cardData && cardData["subtitle"] || "";
119+ font.weight: Font.Light;
120+ }
121+CardSocialActions {
122+ id: socialActionsRow;
123+ objectName: "socialActionsRow";
124+ anchors { top: subtitleLabel.bottom; left: parent.left; right: parent.right; topMargin: units.gu(1); }
125+ color: root.scopeStyle ? root.scopeStyle.foreground : theme.palette.normal.baseText;
126+ model: cardData && cardData["socialActions"];
127+ onClicked: root.action(actionId);
128+}
129+UbuntuShape {
130+ id: touchdown;
131+ objectName: "touchdown";
132+ anchors { fill: artShapeHolder }
133+ visible: root.artShapeStyle != "shadow" && root.artShapeStyle != "icon" && root.pressed;
134+ radius: "medium";
135+ borderSource: "radius_pressed.sci"
136+}
137+implicitHeight: socialActionsRow.y + socialActionsRow.height + units.gu(1);
138+}
tests/plugins/Dash/cardcreator/12.tstnew file+3
@@ -0,0 +1,3 @@
1+template: {"card-layout":"vertical","card-size":"small","category-layout":"grid","collapsed-rows":2}
2+components: {"art":{"aspect-ratio":0.75,"field":"art"},"subtitle":{"field":"price"},"title":{"field":"title"},"attributes":{},"social-actions":{}}
3+result: 12.res
tests/plugins/Dash/cardcreator/2.res+1−1
@@ -11,7 +11,7 @@ AbstractButton {
11 property bool showHeader: true;
11 property bool showHeader: true;
12 implicitWidth: childrenRect.width;
12 implicitWidth: childrenRect.width;
13 enabled: true;
13 enabled: true;
14−
14+signal action(var actionId);
15Loader {
15Loader {
16 id: backgroundLoader;
16 id: backgroundLoader;
17 objectName: "backgroundLoader";
17 objectName: "backgroundLoader";
tests/plugins/Dash/cardcreator/2.res.cardcreator+1−1
@@ -10,7 +10,7 @@ AbstractButton {
10 property bool showHeader: true;
10 property bool showHeader: true;
11 implicitWidth: childrenRect.width;
11 implicitWidth: childrenRect.width;
12 enabled: true;
12 enabled: true;
13−
13+signal action(var actionId);
14Loader {
14Loader {
15 id: backgroundLoader;
15 id: backgroundLoader;
16 objectName: "backgroundLoader";
16 objectName: "backgroundLoader";
tests/plugins/Dash/cardcreator/3.res+1−1
@@ -11,7 +11,7 @@ AbstractButton {
11 property bool showHeader: true;
11 property bool showHeader: true;
12 implicitWidth: childrenRect.width;
12 implicitWidth: childrenRect.width;
13 enabled: true;
13 enabled: true;
14−
14+signal action(var actionId);
15readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1);
15readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1);
16Item {
16Item {
17 id: artShapeHolder;
17 id: artShapeHolder;
tests/plugins/Dash/cardcreator/3.res.cardcreator+1−1
@@ -10,7 +10,7 @@ AbstractButton {
10 property bool showHeader: true;
10 property bool showHeader: true;
11 implicitWidth: childrenRect.width;
11 implicitWidth: childrenRect.width;
12 enabled: true;
12 enabled: true;
13−
13+signal action(var actionId);
14readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1);
14readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1);
15Item {
15Item {
16 id: artShapeHolder;
16 id: artShapeHolder;
tests/plugins/Dash/cardcreator/4.res+1−1
@@ -11,7 +11,7 @@ AbstractButton {
11 property bool showHeader: true;
11 property bool showHeader: true;
12 implicitWidth: childrenRect.width;
12 implicitWidth: childrenRect.width;
13 enabled: true;
13 enabled: true;
14−
14+signal action(var actionId);
15readonly property size artShapeSize: Qt.size(-1, -1);
15readonly property size artShapeSize: Qt.size(-1, -1);
16readonly property int headerHeight: row.height;
16readonly property int headerHeight: row.height;
17Row {
17Row {
tests/plugins/Dash/cardcreator/4.res.cardcreator+1−1
@@ -10,7 +10,7 @@ AbstractButton {
10 property bool showHeader: true;
10 property bool showHeader: true;
11 implicitWidth: childrenRect.width;
11 implicitWidth: childrenRect.width;
12 enabled: true;
12 enabled: true;
13−
13+signal action(var actionId);
14readonly property size artShapeSize: Qt.size(-1, -1);
14readonly property size artShapeSize: Qt.size(-1, -1);
15readonly property int headerHeight: row.height;
15readonly property int headerHeight: row.height;
16Row {
16Row {
tests/plugins/Dash/cardcreator/5.res+1−1
@@ -11,7 +11,7 @@ AbstractButton {
11 property bool showHeader: true;
11 property bool showHeader: true;
12 implicitWidth: childrenRect.width;
12 implicitWidth: childrenRect.width;
13 enabled: false;
13 enabled: false;
14−
14+signal action(var actionId);
15readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1);
15readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1);
16Item {
16Item {
17 id: artShapeHolder;
17 id: artShapeHolder;
tests/plugins/Dash/cardcreator/5.res.cardcreator+1−1
@@ -10,7 +10,7 @@ AbstractButton {
10 property bool showHeader: true;
10 property bool showHeader: true;
11 implicitWidth: childrenRect.width;
11 implicitWidth: childrenRect.width;
12 enabled: false;
12 enabled: false;
13−
13+signal action(var actionId);
14readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1);
14readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1);
15Item {
15Item {
16 id: artShapeHolder;
16 id: artShapeHolder;
tests/plugins/Dash/cardcreator/6.res+1−1
@@ -11,7 +11,7 @@ AbstractButton {
11 property bool showHeader: true;
11 property bool showHeader: true;
12 implicitWidth: childrenRect.width;
12 implicitWidth: childrenRect.width;
13 enabled: true;
13 enabled: true;
14−
14+signal action(var actionId);
15Loader {
15Loader {
16 id: backgroundLoader;
16 id: backgroundLoader;
17 objectName: "backgroundLoader";
17 objectName: "backgroundLoader";
tests/plugins/Dash/cardcreator/6.res.cardcreator+1−1
@@ -10,7 +10,7 @@ AbstractButton {
10 property bool showHeader: true;
10 property bool showHeader: true;
11 implicitWidth: childrenRect.width;
11 implicitWidth: childrenRect.width;
12 enabled: true;
12 enabled: true;
13−
13+signal action(var actionId);
14Loader {
14Loader {
15 id: backgroundLoader;
15 id: backgroundLoader;
16 objectName: "backgroundLoader";
16 objectName: "backgroundLoader";
tests/plugins/Dash/cardcreator/7.res+1−1
@@ -11,7 +11,7 @@ AbstractButton {
11 property bool showHeader: true;
11 property bool showHeader: true;
12 implicitWidth: childrenRect.width;
12 implicitWidth: childrenRect.width;
13 enabled: true;
13 enabled: true;
14−
14+signal action(var actionId);
15Loader {
15Loader {
16 id: backgroundLoader;
16 id: backgroundLoader;
17 objectName: "backgroundLoader";
17 objectName: "backgroundLoader";
tests/plugins/Dash/cardcreator/7.res.cardcreator+1−1
@@ -10,7 +10,7 @@ AbstractButton {
10 property bool showHeader: true;
10 property bool showHeader: true;
11 implicitWidth: childrenRect.width;
11 implicitWidth: childrenRect.width;
12 enabled: true;
12 enabled: true;
13−
13+signal action(var actionId);
14Loader {
14Loader {
15 id: backgroundLoader;
15 id: backgroundLoader;
16 objectName: "backgroundLoader";
16 objectName: "backgroundLoader";
tests/plugins/Dash/cardcreator/8.res+1−1
@@ -11,7 +11,7 @@ AbstractButton {
11 property bool showHeader: true;
11 property bool showHeader: true;
12 implicitWidth: childrenRect.width;
12 implicitWidth: childrenRect.width;
13 enabled: true;
13 enabled: true;
14−
14+signal action(var actionId);
15Loader {
15Loader {
16 id: backgroundLoader;
16 id: backgroundLoader;
17 objectName: "backgroundLoader";
17 objectName: "backgroundLoader";
tests/plugins/Dash/cardcreator/8.res.cardcreator+1−1
@@ -10,7 +10,7 @@ AbstractButton {
10 property bool showHeader: true;
10 property bool showHeader: true;
11 implicitWidth: childrenRect.width;
11 implicitWidth: childrenRect.width;
12 enabled: true;
12 enabled: true;
13−
13+signal action(var actionId);
14Loader {
14Loader {
15 id: backgroundLoader;
15 id: backgroundLoader;
16 objectName: "backgroundLoader";
16 objectName: "backgroundLoader";
tests/plugins/Dash/cardcreator/9.res+1−1
@@ -11,7 +11,7 @@ AbstractButton {
11 property bool showHeader: true;
11 property bool showHeader: true;
12 implicitWidth: childrenRect.width;
12 implicitWidth: childrenRect.width;
13 enabled: true;
13 enabled: true;
14−
14+signal action(var actionId);
15readonly property size artShapeSize: Qt.size(-1, -1);
15readonly property size artShapeSize: Qt.size(-1, -1);
16readonly property int headerHeight: titleLabel.height + subtitleLabel.height + subtitleLabel.anchors.topMargin + audioProgressBar.height + audioProgressBar.anchors.topMargin;
16readonly property int headerHeight: titleLabel.height + subtitleLabel.height + subtitleLabel.anchors.topMargin + audioProgressBar.height + audioProgressBar.anchors.topMargin;
17Label {
17Label {
tests/plugins/Dash/cardcreator/9.res.cardcreator+1−1
@@ -10,7 +10,7 @@ AbstractButton {
10 property bool showHeader: true;
10 property bool showHeader: true;
11 implicitWidth: childrenRect.width;
11 implicitWidth: childrenRect.width;
12 enabled: true;
12 enabled: true;
13−
13+signal action(var actionId);
14readonly property size artShapeSize: Qt.size(-1, -1);
14readonly property size artShapeSize: Qt.size(-1, -1);
15readonly property int headerHeight: titleLabel.height + subtitleLabel.height + subtitleLabel.anchors.topMargin + audioProgressBar.height + audioProgressBar.anchors.topMargin;
15readonly property int headerHeight: titleLabel.height + subtitleLabel.height + subtitleLabel.anchors.topMargin + audioProgressBar.height + audioProgressBar.anchors.topMargin;
16Label {
16Label {
tests/plugins/ScreenGrabber/CMakeLists.txtdeleted−14
@@ -1,14 +0,0 @@
1−include_directories(
2− ${CMAKE_SOURCE_DIR}/plugins/ScreenGrabber
3− ${CMAKE_CURRENT_BINARY_DIR}
4− )
5−
6−add_definitions(
7− -DCURRENT_SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}"
8− )
9−add_definitions(-DBUILT_PLUGINS_DIR="${CMAKE_BINARY_DIR}/plugins")
10−
11−add_executable(ScreenGrabberTestExec ScreenGrabberTest.cpp ${CMAKE_SOURCE_DIR}/plugins/ScreenGrabber/screengrabber.cpp)
12−qt5_use_modules(ScreenGrabberTestExec Test Quick Concurrent)
13−target_link_libraries(ScreenGrabberTestExec ${Qt5Quick_LIBRARIES} ScreenGrabber-qml)
14−add_unity8_uitest(ScreenGrabber ScreenGrabberTestExec DEPENDS ScreenGrabber-qml)
tests/plugins/ScreenGrabber/ScreenGrabberTest.cppdeleted−77
@@ -1,77 +0,0 @@
1−/*
2− * Copyright (C) 2015 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−#include "screengrabber.h"
18−
19−#include <QtTest>
20−#include <QtQuick/QQuickView>
21−#include <QtQuick/QQuickItem>
22−#include <QQmlEngine>
23−
24−class ScreenGrabberTest: public QObject
25−{
26− Q_OBJECT
27−
28−private Q_SLOTS:
29−
30− void initTestCase()
31− {
32− m_view = new QQuickView();
33− m_view->engine()->addImportPath(BUILT_PLUGINS_DIR);
34− m_view->setSource(QUrl::fromLocalFile(CURRENT_SOURCE_DIR "/grabber.qml"));
35− m_grabber = dynamic_cast<ScreenGrabber*>(m_view->rootObject()->property("grabber").value<QObject*>());
36− QVERIFY(m_grabber);
37− m_view->show();
38− QTest::qWaitForWindowExposed(m_view);
39− }
40−
41− void cleanupTestCase()
42− {
43− delete m_view;
44− m_view = nullptr;
45− QTRY_COMPARE(QThreadPool::globalInstance()->activeThreadCount(), 0);
46− }
47−
48− void testGrabScreenshot()
49− {
50− QSignalSpy grabberSpy(m_grabber, &ScreenGrabber::screenshotSaved);
51− m_grabber->captureAndSave();
52− QTRY_VERIFY(grabberSpy.count() == 1);
53− const QVariantList args = grabberSpy.takeFirst();
54− QVERIFY(args.count() == 1); // verify we got a non-empty filename where the screenshot has been saved
55− QVERIFY(!args.first().toString().isEmpty());
56− }
57−
58− void testRotatedScreenshot()
59− {
60− QSignalSpy grabberSpy(m_grabber, &ScreenGrabber::screenshotSaved);
61− m_grabber->captureAndSave(90); // rotate by 90°
62− QTRY_VERIFY(grabberSpy.count() == 1);
63− const QVariantList args = grabberSpy.takeFirst();
64− const QString filename = args.first().toString();
65− QVERIFY(!filename.isEmpty());
66− QImage img(filename);
67− QVERIFY(img.height() > img.width()); // verify that the image got rotated by 90° (height > width)
68− }
69−
70−private:
71− QQuickView *m_view;
72− ScreenGrabber *m_grabber = nullptr;
73−};
74−
75−QTEST_MAIN(ScreenGrabberTest)
76−
77−#include "ScreenGrabberTest.moc"
tests/plugins/ScreenGrabber/grabber.qmldeleted−31
@@ -1,31 +0,0 @@
1−/*
2− * Copyright 2015 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.4
18−import ScreenGrabber 0.1
19−
20−Rectangle {
21− property var grabber: screenGrabber
22−
23− width: 101 // width intentionally bigger than height to test rotation
24− height: 100
25− color: "green"
26−
27− ScreenGrabber {
28− id: screenGrabber
29− objectName: "screenGrabber"
30− }
31−}
tests/plugins/Unity/Launcher/launchermodeltest.cpp+1
@@ -67,6 +67,7 @@ public:
67 QSize initialSurfaceSize() const override { return QSize(); }
67 QSize initialSurfaceSize() const override { return QSize(); }
68 void setInitialSurfaceSize(const QSize &) override {}
68 void setInitialSurfaceSize(const QSize &) override {}
69 MirSurfaceListInterface* surfaceList() override { return nullptr; }
69 MirSurfaceListInterface* surfaceList() override { return nullptr; }
70+ MirSurfaceListInterface* promptSurfaceList() override { return nullptr; }
70
71
71 // Methods used for mocking (not in the interface)
72 // Methods used for mocking (not in the interface)
72 void setFocused(bool focused) { m_focused = focused; Q_EMIT focusedChanged(focused); }
73 void setFocused(bool focused) { m_focused = focused; Q_EMIT focusedChanged(focused); }
tests/qmltests/CMakeLists.txt+1
@@ -57,6 +57,7 @@ add_unity8_qmltest(Dash/Filters FilterOptionSelector)
57add_unity8_qmltest(Dash/Filters FilterRangeInput)
57add_unity8_qmltest(Dash/Filters FilterRangeInput)
58add_unity8_qmltest(Dash/Filters FilterValueSlider)
58add_unity8_qmltest(Dash/Filters FilterValueSlider)
59add_unity8_qmltest(Dash/Filters FilterWidgetFactory)
59add_unity8_qmltest(Dash/Filters FilterWidgetFactory)
60+add_unity8_qmltest(Dash/Filters FilterExpandableWidget)
60add_unity8_qmltest(Dash/ScopeSettings ScopeSettingBoolean)
61add_unity8_qmltest(Dash/ScopeSettings ScopeSettingBoolean)
61add_unity8_qmltest(Dash/ScopeSettings ScopeSettingList)
62add_unity8_qmltest(Dash/ScopeSettings ScopeSettingList)
62add_unity8_qmltest(Dash/ScopeSettings ScopeSettingNumber)
63add_unity8_qmltest(Dash/ScopeSettings ScopeSettingNumber)
tests/qmltests/Dash/CardHelpers.js+9−7
@@ -16,7 +16,8 @@
16
16
17.pragma library
17.pragma library
18
18
19−var components = ["title", "art", "subtitle", "mascot", "emblem", "summary", "attributes", "overlayColor", "quickPreviewData"]
19+var components = ["title", "art", "subtitle", "mascot", "emblem", "summary", "attributes", "social-actions", "overlayColor", "quickPreviewData"]
20+var dataKeys = ["title", "art", "subtitle", "mascot", "emblem", "summary", "attributes", "socialActions", "overlayColor", "quickPreviewData"]
20
21
21var defaultLayout = ' \
22var defaultLayout = ' \
22{ \
23{ \
@@ -38,7 +39,8 @@ var defaultLayout = ' \
38 "mascot": null, \
39 "mascot": null, \
39 "emblem": null, \
40 "emblem": null, \
40 "summary": null, \
41 "summary": null, \
41− "attributes": { "max-count": 2 } \
42+ "attributes": { "max-count": 2 }, \
43+ "social-actions": null \
42 }, \
44 }, \
43 "resources": {} \
45 "resources": {} \
44}'
46}'
@@ -52,10 +54,10 @@ var fullMapping = ' \
52 "emblem": "emblem", \
54 "emblem": "emblem", \
53 "overlayColor": "overlayColor", \
55 "overlayColor": "overlayColor", \
54 "summary": "summary", \
56 "summary": "summary", \
55− "attributes": "attributes" \
57+ "attributes": "attributes", \
58+ "social-actions": "socialActions" \
56}'
59}'
57
60
58−
59function tryParse(json, errorLabel) {
61function tryParse(json, errorLabel) {
60 var o = undefined;
62 var o = undefined;
61 if (errorLabel !== undefined) {
63 if (errorLabel !== undefined) {
@@ -82,12 +84,12 @@ function mapData(json, layout, errorLabel) {
82 for (var k in components) {
84 for (var k in components) {
83 try {
85 try {
84 if (typeof layout[components[k]] == "object") {
86 if (typeof layout[components[k]] == "object") {
85− d[components[k]] = o[layout[components[k]]['field']];
87+ d[dataKeys[k]] = o[layout[components[k]]['field']];
86 } else {
88 } else {
87− d[components[k]] = o[layout[components[k]]];
89+ d[dataKeys[k]] = o[layout[components[k]]];
88 }
90 }
89 } catch(err) {
91 } catch(err) {
90− d[components[k]] = undefined;
92+ d[dataKeys[k]] = undefined;
91 }
93 }
92 }
94 }
93 }
95 }
tests/qmltests/Dash/Filters/tst_FilterExpandableWidget.qmlnew file+99
@@ -0,0 +1,99 @@
1+/*
2+ * Copyright 2016 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.4
18+import QtTest 1.0
19+import Ubuntu.Components 1.3
20+import "../../../../qml/Dash/Filters"
21+import Unity.Test 0.1 as UT
22+import Unity 0.2
23+
24+Rectangle {
25+ id: root
26+ width: units.gu(60)
27+ height: units.gu(80)
28+ color: theme.palette.selected.background
29+
30+ QtObject {
31+ id: widgetData1
32+
33+ property string title: "Expand me!"
34+ property ListModel filters: ListModel {
35+ dynamicRoles: true
36+ }
37+ }
38+
39+ QtObject {
40+ id: sliderObject
41+
42+ property string title
43+ property int value: 30
44+ property int minValue: 10
45+ property int maxValue: 150
46+
47+ property ListModel values: ListModel {
48+ ListElement {
49+ value: 10
50+ label: "10"
51+ }
52+ ListElement {
53+ value: 30
54+ label: "30"
55+ }
56+ ListElement {
57+ value: 100
58+ label: "100"
59+ }
60+ ListElement {
61+ value: 150
62+ label: "150"
63+ }
64+ }
65+ }
66+
67+ Component.onCompleted: {
68+ widgetData1.filters.append({"type": Filters.ValueSliderFilter, "filter": sliderObject, id: "trololo"});
69+ }
70+
71+ FilterWidgetFactory {
72+ id: factory
73+ widgetId: "testExpandableWidget"
74+ widgetType: Filters.ExpandableFilterWidget
75+ widgetData: widgetData1
76+ anchors {
77+ left: parent.left
78+ right: parent.right
79+ }
80+ height: implicitHeight
81+ clip: true
82+ }
83+
84+ UT.UnityTestCase {
85+ name: "FilterExpandableWidget"
86+ when: windowShown
87+
88+ function test_expandedChanges() {
89+ var expandingItem = findChild(factory, "expandingItem");
90+ verify(!expandingItem.expanded)
91+ compare(expandingItem.height, expandingItem.collapsedHeight)
92+ mouseClick(expandingItem);
93+ verify(expandingItem.expanded)
94+ tryCompare(expandingItem, "height", expandingItem.expandedHeight)
95+ verify(expandingItem.collapsedHeight < expandingItem.expandedHeight / 2);
96+ }
97+
98+ }
99+}
tests/qmltests/Dash/Filters/tst_FilterWidgetFactory.qml+2−1
@@ -43,7 +43,8 @@ Rectangle {
43 return [
43 return [
44 { tag: "OptionSelector", type: Filters.OptionSelectorFilter, source: "FilterOptionSelector.qml" },
44 { tag: "OptionSelector", type: Filters.OptionSelectorFilter, source: "FilterOptionSelector.qml" },
45 { tag: "RangeInputFilter", type: Filters.RangeInputFilter, source: "FilterRangeInput.qml" },
45 { tag: "RangeInputFilter", type: Filters.RangeInputFilter, source: "FilterRangeInput.qml" },
46− { tag: "ValueSliderFilter", type: Filters.ValueSliderFilter, source: "FilterValueSlider.qml" }
46+ { tag: "ValueSliderFilter", type: Filters.ValueSliderFilter, source: "FilterValueSlider.qml" },
47+ { tag: "ExpandableFilter", type: Filters.ExpandableFilterWidget, source: "FilterExpandableWidget.qml" }
47 ];
48 ];
48 }
49 }
49
50
tests/qmltests/Dash/Previews/tst_PreviewActions.qml+100−17
@@ -26,17 +26,17 @@ Rectangle {
26 width: units.gu(60)
26 width: units.gu(60)
27 height: units.gu(80)
27 height: units.gu(80)
28
28
29− property var actionDataOneAction: {
29+ readonly property var actionDataOneAction: {
30 "actions": [{"label": "Some Label", "id": "someid"}]
30 "actions": [{"label": "Some Label", "id": "someid"}]
31 }
31 }
32
32
33− property var actionDataTwoActions: {
33+ readonly property var actionDataTwoActions: {
34 "actions": [{"label": "Some Label A", "id": "someid1"},
34 "actions": [{"label": "Some Label A", "id": "someid1"},
35 {"label": "Some Label B", "id": "someid2"}
35 {"label": "Some Label B", "id": "someid2"}
36 ]
36 ]
37 }
37 }
38
38
39− property var actionDataFiveActions: {
39+ readonly property var actionDataFiveActions: {
40 "actions": [{"label": "Some Label C", "id": "someid3"},
40 "actions": [{"label": "Some Label C", "id": "someid3"},
41 {"label": "Some Label D", "id": "someid4"},
41 {"label": "Some Label D", "id": "someid4"},
42 {"label": "Some Label E", "id": "someid5"},
42 {"label": "Some Label E", "id": "someid5"},
@@ -45,6 +45,15 @@ Rectangle {
45 ]
45 ]
46 }
46 }
47
47
48+ property var actionModelActions: {
49+ "actions": [{"label": "Some Label H", "id": "someid8"},
50+ {"label": "Some Label I", "id": "someid9"},
51+ {"label": "Some Label J", "id": "someid10"},
52+ {"label": "Some Label K", "id": "someid11"},
53+ {"label": "Some Label L", "id": "someid12"}
54+ ]
55+ }
56+
48 SignalSpy {
57 SignalSpy {
49 id: spy
58 id: spy
50 signalName: "triggered"
59 signalName: "triggered"
@@ -88,26 +97,32 @@ Rectangle {
88 onTriggered: console.log("triggered", widgetId, actionId);
97 onTriggered: console.log("triggered", widgetId, actionId);
89 width: units.gu(60)
98 width: units.gu(60)
90 }
99 }
100+
101+ PreviewActions {
102+ id: changeModelActions
103+ width: units.gu(60)
104+ }
105+
106+ PreviewActions {
107+ id: updateModelActions
108+ width: units.gu(60)
109+ }
91 }
110 }
92
111
93 UT.UnityTestCase {
112 UT.UnityTestCase {
94 name: "PreviewActionTest"
113 name: "PreviewActionTest"
95 when: windowShown
114 when: windowShown
96
115
97− function cleanup()
98− {
99− spy.clear();
100− }
101−
102 function checkButtonPressSignal(target, id)
116 function checkButtonPressSignal(target, id)
103 {
117 {
104− var button = findChild(root, "button" + id);
118+ var button = findChild(target, "button" + id);
105 verify(button != null);
119 verify(button != null);
106 spy.target = target;
120 spy.target = target;
107 mouseClick(button);
121 mouseClick(button);
108 compare(spy.count, 1);
122 compare(spy.count, 1);
109 compare(spy.signalArguments[0][0], target.widgetId);
123 compare(spy.signalArguments[0][0], target.widgetId);
110 compare(spy.signalArguments[0][1], id);
124 compare(spy.signalArguments[0][1], id);
125+ spy.clear();
111 }
126 }
112
127
113 function test_checkButtons_data() {
128 function test_checkButtons_data() {
@@ -120,7 +135,7 @@ Rectangle {
120 }
135 }
121
136
122 function test_checkButtons(data) {
137 function test_checkButtons(data) {
123− checkButtonPressSignal(data.target, data.id, data.buttonNumber)
138+ checkButtonPressSignal(data.target, data.id)
124 }
139 }
125
140
126 function test_comboButton_data() {
141 function test_comboButton_data() {
@@ -132,17 +147,85 @@ Rectangle {
132 ]
147 ]
133 }
148 }
134
149
135− function test_comboButton(data) {
150+ function pressMoreButton(buttonGroup)
151+ {
136− var button = findChild(root, "moreLessButton");
152+ var button = findChild(buttonGroup, "moreLessButton");
137− var buttonColumn = findChild(root, "buttonColumn");
153+ var buttonColumn = findChild(buttonGroup, "buttonColumn");
138 verify(button != null);
154 verify(button != null);
139− var twoActionsY = twoActions.y
140 mouseClick(button);
155 mouseClick(button);
141− tryCompareFunction(function () { return twoActions.y <= twoActionsY; }, false);
142 tryCompare(buttonColumn, "height", buttonColumn.implicitHeight);
156 tryCompare(buttonColumn, "height", buttonColumn.implicitHeight);
157+ }
158+
159+ function test_comboButton(data) {
160+ var twoActionsY = twoActions.y
161+ pressMoreButton(buttonAndCombo);
162+ tryCompareFunction(function () { return twoActions.y <= twoActionsY; }, false);
143− checkButtonPressSignal(buttonAndCombo, data.id, data.buttonNumber);
163+ checkButtonPressSignal(buttonAndCombo, data.id);
144− mouseClick(button);
164+ mouseClick(findChild(buttonAndCombo, "moreLessButton"));
145 tryCompare(twoActions, "y", twoActionsY);
165 tryCompare(twoActions, "y", twoActionsY);
146 }
166 }
167+
168+ function test_modelChange() {
169+ changeModelActions.widgetData = actionDataOneAction;
170+ waitForRendering(changeModelActions);
171+ checkButtonPressSignal(changeModelActions, "someid");
172+
173+ changeModelActions.widgetData = actionDataTwoActions;
174+ waitForRendering(changeModelActions);
175+ checkButtonPressSignal(changeModelActions, "someid1");
176+ checkButtonPressSignal(changeModelActions, "someid2");
177+
178+ changeModelActions.widgetData = actionDataFiveActions;
179+ waitForRendering(changeModelActions);
180+ pressMoreButton(changeModelActions);
181+ checkButtonPressSignal(changeModelActions, "someid3");
182+ checkButtonPressSignal(changeModelActions, "someid4");
183+ checkButtonPressSignal(changeModelActions, "someid5");
184+ checkButtonPressSignal(changeModelActions, "someid6");
185+ }
186+
187+ function test_modelUpdate() {
188+ updateModelActions.widgetData = actionModelActions;
189+ waitForRendering(updateModelActions);
190+ pressMoreButton(updateModelActions);
191+ checkButtonPressSignal(updateModelActions, "someid8");
192+ checkButtonPressSignal(updateModelActions, "someid9");
193+ checkButtonPressSignal(updateModelActions, "someid10");
194+ checkButtonPressSignal(updateModelActions, "someid11");
195+ checkButtonPressSignal(updateModelActions, "someid12");
196+
197+ updateModelActions["actions"].pop();
198+ updateModelActions.actionsChanged();
199+
200+ // Check that some12 is gone
201+ verify(!findChild(updateModelActions, "buttonsomeid12"));
202+
203+ updateModelActions["actions"][3].id = "someidmoo";
204+ updateModelActions.actionsChanged();
205+ checkButtonPressSignal(updateModelActions, "someidmoo");
206+
207+ verify(findChild(updateModelActions, "moreLessButton"));
208+
209+ updateModelActions["actions"].pop();
210+ updateModelActions["actions"].pop();
211+ updateModelActions.actionsChanged();
212+
213+ // Check there is no more/less button anymore
214+ verify(!findChild(updateModelActions, "moreLessButton"));
215+
216+ updateModelActions["actions"][1].id = "someidbar";
217+ updateModelActions.actionsChanged();
218+ checkButtonPressSignal(updateModelActions, "someidbar");
219+
220+ updateModelActions["actions"].pop();
221+ updateModelActions.actionsChanged();
222+
223+ // Check the loader for the second button/combo is gone
224+ compare(findChild(updateModelActions, "loader").source, "");
225+
226+ updateModelActions["actions"][0].id = "someidlolar";
227+ updateModelActions.actionsChanged();
228+ checkButtonPressSignal(updateModelActions, "someidlolar");
229+ }
147 }
230 }
148}
231}
tests/qmltests/Dash/Previews/tst_PreviewIconActions.qml+14−4
@@ -69,9 +69,12 @@ Rectangle {
69 Timer {
69 Timer {
70 id: timer
70 id: timer
71 property int index: -1
71 property int index: -1
72+ property bool changeIcon: true
72 interval: 500
73 interval: 500
73 onTriggered: {
74 onTriggered: {
75+ if (changeIcon) {
74− actionDataActions.actions[index].icon = Qt.resolvedUrl("../../UnityLogo.png");
76+ actionDataActions.actions[index].icon = Qt.resolvedUrl("../../UnityLogo.png");
77+ }
75 preview.widgetDataChanged();
78 preview.widgetDataChanged();
76 index = -1;
79 index = -1;
77 }
80 }
@@ -89,12 +92,14 @@ Rectangle {
89
92
90 function test_checkButtonWithTemporary_data() {
93 function test_checkButtonWithTemporary_data() {
91 return [
94 return [
92− {tag: "with temporary", temporaryIcon: "emblem", index: 0},
95+ {tag: "with temporary change icon", temporaryIcon: "emblem", index: 0, changeIcon: true},
96+ {tag: "with temporary no change icon", temporaryIcon: "emblem", index: 1, changeIcon: false},
93− {tag: "without temporary", temporaryIcon: undefined, index: 2},
97+ {tag: "without temporary", temporaryIcon: undefined, index: 2, changeIcon: true},
94 ];
98 ];
95 }
99 }
96
100
97 function test_checkButtonWithTemporary(data) {
101 function test_checkButtonWithTemporary(data) {
102+ waitForRendering(preview);
98 spy.target = preview;
103 spy.target = preview;
99
104
100 var buttonId = actionDataActions.actions[data.index].id;
105 var buttonId = actionDataActions.actions[data.index].id;
@@ -108,6 +113,7 @@ Rectangle {
108
113
109 compare(image.source, buttonIcon);
114 compare(image.source, buttonIcon);
110 compare(label.text, buttonLabel);
115 compare(label.text, buttonLabel);
116+ timer.changeIcon = data.changeIcon;
111 mouseClick(button);
117 mouseClick(button);
112 compare(spy.count, 1);
118 compare(spy.count, 1);
113 compare(spy.signalArguments[0][1], buttonId);
119 compare(spy.signalArguments[0][1], buttonId);
@@ -119,7 +125,11 @@ Rectangle {
119 tryCompareFunction(function() {
125 tryCompareFunction(function() {
120 var button = findChild(root, "button" + buttonId);
126 var button = findChild(root, "button" + buttonId);
121 var image = findChildsByType(button, "QQuickImage")[0];
127 var image = findChildsByType(button, "QQuickImage")[0];
128+ if (data.changeIcon) {
122− return image.source && image.source.toString().indexOf("UnityLogo") > -1;
129+ return image.source && image.source.toString().indexOf("UnityLogo") > -1;
130+ } else {
131+ return image.source && image.source == buttonIcon;
132+ }
123 }, true);
133 }, true);
124 }
134 }
125 }
135 }
tests/qmltests/Dash/Previews/tst_PreviewZoomableImage.qml+17
@@ -44,6 +44,11 @@ Rectangle {
44 "fallback": "../../graphics/phone_background.jpg"
44 "fallback": "../../graphics/phone_background.jpg"
45 }
45 }
46
46
47+ property var widgetData4: {
48+ "source": "fadsasf",
49+ "fallback": "../../graphics/phone_background.jpg"
50+ }
51+
47 Loader {
52 Loader {
48 id: loader
53 id: loader
49 width: parent.width
54 width: parent.width
@@ -112,5 +117,17 @@ Rectangle {
112 waitForRendering(lazyImage);
117 waitForRendering(lazyImage);
113 tryCompare(lazyImage, "state", "ready");
118 tryCompare(lazyImage, "state", "ready");
114 }
119 }
120+
121+ function test_fallback_then_source() {
122+ zoomableImage.widgetData = widgetData4;
123+ waitForRendering(zoomableImage);
124+ waitForRendering(lazyImage);
125+ tryCompare(lazyImage, "state", "ready");
126+ verify(lazyImage.sourceImage.source.toString().indexOf("phone_background") > -1);
127+ zoomableImage.widgetData["source"] = "../../graphics/tablet_background.jpg"
128+ zoomableImage.widgetDataChanged();
129+ tryCompare(lazyImage, "state", "ready");
130+ verify(lazyImage.sourceImage.source.toString().indexOf("tablet_background") > -1);
131+ }
115 }
132 }
116}
133}
tests/qmltests/Dash/tst_Card.qml+38−3
@@ -36,6 +36,10 @@ Rectangle {
36 "subtitle": "bar",
36 "subtitle": "bar",
37 "summary": "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
37 "summary": "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
38 "attributes": [{"value":"text1","icon":"image://theme/ok"},{"value":"text2","icon":"image://theme/cancel"}],
38 "attributes": [{"value":"text1","icon":"image://theme/ok"},{"value":"text2","icon":"image://theme/cancel"}],
39+ "socialActions": [{"id":"like","icon":"image://theme/ok","temporaryIcon":"image://theme/undo"},
40+ {"id":"share","icon":"image://theme/cancel"},
41+ {"id":"like","icon":"image://theme/ok","temporaryIcon":"image://theme/undo"},
42+ {"id":"share","icon":"image://theme/cancel"}],
39 "quickPreviewData": {"uri": "/some/file", "duration": "14"}
43 "quickPreviewData": {"uri": "/some/file", "duration": "14"}
40 }'
44 }'
41
45
@@ -211,6 +215,11 @@ Rectangle {
211 }
215 }
212 }
216 }
213
217
218+ SignalSpy {
219+ id: signalSpy
220+ signalName: "action"
221+ }
222+
214 UT.UnityTestCase {
223 UT.UnityTestCase {
215 id: testCase
224 id: testCase
216 name: "Card"
225 name: "Card"
@@ -274,9 +283,11 @@ Rectangle {
274 { tag: "Wide", width: units.gu(18), index: 0 },
283 { tag: "Wide", width: units.gu(18), index: 0 },
275 { tag: "Horizontal", width: units.gu(38), index: 5 },
284 { tag: "Horizontal", width: units.gu(38), index: 5 },
276 // Make sure card ends with header when there's no summary
285 // Make sure card ends with header when there's no summary
277− { tag: "NoSummary", height: function() { var cardToolRow = findChild(cardTool, "outerRow");
286+ { tag: "NoSummary", height: function() { var socialActionsRow = findChild(cardTool, "socialActionsRow");
278− return cardToolRow.y + cardToolRow.height + units.gu(1) }, index: 6 },
287+ return socialActionsRow.y + socialActionsRow.height + units.gu(1) }, index: 6 },
288+ { tag: "HorizontalNoSummary", height: function() { var socialActionsRow = findChild(cardTool, "socialActionsRow");
289+ return socialActionsRow.y + socialActionsRow.height + units.gu(1) },
279− { tag: "HorizontalNoSummary", height: function() { return headerRow.height + units.gu(2) }, card_layout: "horizontal", index: 6 },
290+ card_layout: "horizontal", index: 6 },
280 ]
291 ]
281 }
292 }
282
293
@@ -641,5 +652,29 @@ Rectangle {
641 verify((card.width - titleToCard.x - titleToCard.width) === units.gu(1));
652 verify((card.width - titleToCard.x - titleToCard.width) === units.gu(1));
642 }
653 }
643 }
654 }
655+
656+ function test_action() {
657+ selector.selectedIndex = 0;
658+ waitForRendering(card);
659+
660+ signalSpy.target = card;
661+ var socialActionsRow = findChild(card, "socialActionsRow");
662+ var delegate0 = findChild(socialActionsRow, "delegate0");
663+ var icon0 = findChild(delegate0, "icon");
664+ var delegate1 = findChild(socialActionsRow, "delegate1");
665+ var icon1 = findChild(delegate1, "icon");
666+
667+ compare(icon0.source, "image://theme/ok");
668+ mouseClick(delegate0, delegate0.height / 2, delegate0.height / 2);
669+ tryCompare(signalSpy, "count", 1);
670+ compare(signalSpy.signalArguments[0][0], "like");
671+ compare(icon0.source, "image://theme/undo");
672+
673+ compare(icon1.source, "image://theme/cancel");
674+ mouseClick(delegate1, delegate1.height / 2, delegate1.height / 2);
675+ tryCompare(signalSpy, "count", 2);
676+ compare(signalSpy.signalArguments[1][0], "share");
677+ compare(icon1.source, "image://theme/cancel");
678+ }
644 }
679 }
645}
680}
tests/qmltests/Stages/ApplicationCheckBox.qml+33−3
@@ -44,6 +44,7 @@ Column {
44 d.bindGuard = false;
44 d.bindGuard = false;
45 }
45 }
46
46
47+ // Application checkbox row
47 RowLayout {
48 RowLayout {
48
49
49 QtObject {
50 QtObject {
@@ -128,17 +129,47 @@ Column {
128 visible: enabled
129 visible: enabled
129 Label {
130 Label {
130 text: "➕"
131 text: "➕"
131− color: "white"
132 anchors.centerIn: parent
132 anchors.centerIn: parent
133 }
133 }
134 }
134 }
135 }
135 }
136+
137+ // Prompts controls row
138+ RowLayout {
139+ anchors.left: root.left
140+ anchors.leftMargin: units.gu(2)
141+ visible: root.checked === true && d.application !== null && root.enabled
142+ spacing: units.gu(1)
143+ Label {
144+ property int promptCount: d.application ? d.application.promptSurfaceList.count : 0
145+ id: promptsLabel
146+ text: promptCount + " prompts"
147+ }
148+ MouseArea {
149+ width: height
150+ height: promptsLabel.height * 0.7
151+ anchors.verticalCenter: parent.verticalCenter
152+ onClicked: d.application.promptSurfaceList.createSurface()
153+ Label { text: "➕"; anchors.centerIn: parent }
154+ }
155+ MouseArea {
156+ width: height
157+ height: promptsLabel.height * 0.7
158+ anchors.verticalCenter: parent.verticalCenter
159+ onClicked: d.application.promptSurfaceList.get(d.application.promptSurfaceList.count - 1).close()
160+ enabled: d.application && d.application.promptSurfaceList.count > 0
161+ Label { text: "➖"; anchors.centerIn: parent; enabled: parent.enabled }
162+ }
163+ }
164+
165+ // Rows of application surfaces
136 Repeater {
166 Repeater {
137 model: d.application ? d.application.surfaceList : null
167 model: d.application ? d.application.surfaceList : null
138 RowLayout {
168 RowLayout {
169+ anchors.left: root.left
170+ anchors.leftMargin: units.gu(2)
139 spacing: units.gu(1)
171 spacing: units.gu(1)
140 Label {
172 Label {
141− color: "white"
142 text: "- " + model.surface.name
173 text: "- " + model.surface.name
143 }
174 }
144 MouseArea {
175 MouseArea {
@@ -150,7 +181,6 @@ Column {
150 onClicked: model.surface.setLive(false);
181 onClicked: model.surface.setLive(false);
151 Label {
182 Label {
152 text: "⛒"
183 text: "⛒"
153− color: "white"
154 anchors.centerIn: parent
184 anchors.centerIn: parent
155 }
185 }
156 }
186 }
tests/qmltests/Stages/RecursingChildSessionControl.qmldeleted−94
@@ -1,94 +0,0 @@
1−/*
2− * Copyright 2014,2016 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.4
18−import QtQuick.Layouts 1.1
19−import Ubuntu.Components 1.3
20−import Unity.Application 0.1
21−
22−ColumnLayout {
23− id: root
24−
25− property var surface
26−
27− Column {
28− id: column
29− Layout.fillWidth: true
30− visible: repeater.count
31− spacing: units.gu(1)
32−
33− Repeater {
34− id: repeater
35− model: root.surface ? root.surface.promptSurfaceList : null
36− delegate: Rectangle {
37− border {
38− color: "black"
39− width: 1
40− }
41− anchors {
42− left: column.left
43− right: column.right
44− leftMargin: units.gu(1)
45− rightMargin: units.gu(1)
46− }
47− height: loader.height
48−
49− Rectangle {
50− anchors.fill: parent
51− color: Qt.rgba(Math.random(), Math.random(), Math.random(), 0.4 )
52− }
53−
54− Loader {
55− id: loader
56− visible: status == Loader.Ready
57− source: Qt.resolvedUrl("RecursingChildSessionControl.qml")
58−
59− anchors {
60− left: parent.left
61− right: parent.right
62− }
63−
64− onLoaded: {
65− item.surface = model.surface;
66− }
67− }
68− }
69− }
70− }
71−
72− ColumnLayout {
73− Layout.fillWidth: true
74− spacing: units.gu(1)
75−
76− RowLayout {
77− id: buttonLayout
78−
79− Button {
80− enabled: root.surface
81− activeFocusOnPress: false
82− text: "Remove"
83− onClicked: { root.surface.close(); }
84− }
85−
86− Button {
87− enabled: root.surface !== null
88− activeFocusOnPress: false
89− text: "Add Prompt Surface"
90− onClicked: { root.surface.createPromptSurface(); }
91− }
92− }
93− }
94−}
tests/qmltests/Stages/tst_ApplicationWindow.qml+89−23
@@ -33,7 +33,6 @@ Rectangle {
33 Component.onCompleted: {
33 Component.onCompleted: {
34 root.fakeApplication = ApplicationManager.add("gallery-app");
34 root.fakeApplication = ApplicationManager.add("gallery-app");
35 root.fakeApplication.manualSurfaceCreation = true;
35 root.fakeApplication.manualSurfaceCreation = true;
36− root.fakeApplication.setState(ApplicationInfoInterface.Starting);
37 applicationWindowLoader.item.application = root.fakeApplication;
36 applicationWindowLoader.item.application = root.fakeApplication;
38 }
37 }
39 property QtObject fakeApplication: null
38 property QtObject fakeApplication: null
@@ -78,7 +77,7 @@ Rectangle {
78 Layout.fillWidth: true
77 Layout.fillWidth: true
79
78
80 CheckBox {
79 CheckBox {
81− id: surfaceCheckbox;
80+ id: surfaceCheckbox
82 checked: false;
81 checked: false;
83 activeFocusOnPress: false
82 activeFocusOnPress: false
84 onCheckedChanged: {
83 onCheckedChanged: {
@@ -86,10 +85,8 @@ Rectangle {
86 return;
85 return;
87
86
88 if (checked) {
87 if (checked) {
88+ root.fakeApplication.createSurface();
89− applicationWindowLoader.item.surface = SurfaceManager.createSurface("foo",
89+ applicationWindowLoader.item.surface = root.fakeApplication.surfaceList.get(0);
90− Mir.NormalType, Mir.MaximizedState, root.fakeApplication);
91−
92− root.fakeApplication.setState(ApplicationInfoInterface.Running);
93 } else {
90 } else {
94 if (applicationWindowLoader.item.surface) {
91 if (applicationWindowLoader.item.surface) {
95 applicationWindowLoader.item.surface.setLive(false);
92 applicationWindowLoader.item.surface.setLive(false);
@@ -103,22 +100,20 @@ Rectangle {
103 }
100 }
104 }
101 }
105
102
106− Rectangle {
103+ RowLayout {
107− border {
104+ property var promptSurfaceList: root.fakeApplication ? root.fakeApplication.promptSurfaceList : null
108− color: "black"
105+ Button {
109− width: 1
106+ enabled: parent.promptSurfaceList !== null && parent.promptSurfaceList.count > 0
110− }
107+ activeFocusOnPress: false
111− anchors {
108+ text: "Remove"
112− left: parent.left
109+ onClicked: { parent.promptSurfaceList.get(parent.promptSurfaceList.count - 1).close(); }
113− right: parent.right
114 }
110 }
115− Layout.preferredHeight: sessionControl.height
116
111
117− RecursingChildSessionControl {
112+ Button {
118− id: sessionControl
113+ enabled: parent.promptSurfaceList !== null
119− anchors { left: parent.left; right: parent.right; }
114+ activeFocusOnPress: false
120−
115+ text: "Add Prompt Surface"
121− surface: applicationWindowLoader.item ? applicationWindowLoader.item.surface : null
116+ onClicked: { parent.promptSurfaceList.createSurface(); }
122 }
117 }
123 }
118 }
124
119
@@ -244,19 +239,29 @@ Rectangle {
244 // deleted, so you end up with two instances in memory.
239 // deleted, so you end up with two instances in memory.
245 tryCompare(applicationWindowLoader, "itemDestroyed", true);
240 tryCompare(applicationWindowLoader, "itemDestroyed", true);
246
241
247− setApplicationState(appStarting);
248 surfaceCheckbox.checked = false;
242 surfaceCheckbox.checked = false;
249
243
250− ApplicationManager.stopApplication("gallery-app");
244+ console.log("killApps() start");
245+ killApps();
246+ console.log("killApps() end");
247+
251 root.fakeApplication = ApplicationManager.add("gallery-app");
248 root.fakeApplication = ApplicationManager.add("gallery-app");
252 root.fakeApplication.manualSurfaceCreation = true;
249 root.fakeApplication.manualSurfaceCreation = true;
253− root.fakeApplication.setState(ApplicationInfoInterface.Starting);
254
250
255 applicationWindowLoader.active = true;
251 applicationWindowLoader.active = true;
256
252
257 applicationWindowLoader.item.application = root.fakeApplication;
253 applicationWindowLoader.item.application = root.fakeApplication;
258 }
254 }
259
255
256+ function waitUntilSurfaceContainerStopsAnimating(container) {
257+ var animationsLoader = findChild(container, "animationsLoader");
258+ verify(animationsLoader);
259+ tryCompare(animationsLoader, "status", Loader.Ready)
260+
261+ var animation = animationsLoader.item;
262+ waitUntilTransitionsEnd(animation);
263+ }
264+
260 function test_showSplashUntilAppFullyInit_data() {
265 function test_showSplashUntilAppFullyInit_data() {
261 return [
266 return [
262 {tag: "state=Running then create surface", swapInitOrder: false},
267 {tag: "state=Running then create surface", swapInitOrder: false},
@@ -432,5 +437,66 @@ Rectangle {
432 applicationWindow.interactive = true;
437 applicationWindow.interactive = true;
433 compare(applicationWindow.surface.activeFocus, true);
438 compare(applicationWindow.surface.activeFocus, true);
434 }
439 }
440+
441+ function test_promptSurfaceDestructionReturnsFocusToPreviousSurface() {
442+ surfaceCheckbox.checked = true;
443+ var promptSurfaces = testCase.findChild(applicationWindow, "promptSurfacesRepeater");
444+ var promptSurfaceList = root.fakeApplication.promptSurfaceList;
445+ compare(promptSurfaces.count, 0);
446+
447+ var i;
448+ // 3 surfaces should cover all edge cases
449+ for (i = 0; i < 3; i++) {
450+ promptSurfaceList.createSurface();
451+ compare(promptSurfaces.count, i+1);
452+ waitUntilSurfaceContainerStopsAnimating(promptSurfaces.itemAt(promptSurfaces.count - 1));
453+ }
454+
455+ for (i = 2; i >= 0; --i) {
456+ var promptSurface = promptSurfaceList.get(i);
457+ compare(promptSurface.activeFocus, true);
458+
459+ promptSurface.close();
460+ tryCompareFunction(function() { return promptSurfaces.count; }, i);
461+
462+ if (i > 0) {
463+ // active focus should have gone to the yongest remaining sibling
464+ var previousPromptSurface = promptSurfaceList.get(i-1);
465+ tryCompare(previousPromptSurface, "activeFocus", true);
466+ } else {
467+ // active focus should have gone to the application surface
468+ tryCompare(applicationWindow.surface, "activeFocus", true);
469+ }
470+ }
471+ }
472+
473+ function test_promptSurfaceAdjustsForParentSize() {
474+ var promptSurfaceList = root.fakeApplication.promptSurfaceList;
475+
476+ promptSurfaceList.createSurface();
477+
478+ var promptSurfaces = testCase.findChild(applicationWindow, "promptSurfacesRepeater");
479+
480+ var delegate = promptSurfaces.itemAt(0);
481+ waitUntilSurfaceContainerStopsAnimating(delegate);
482+
483+ var promptSurfaceContainer = findChild(delegate, "surfaceContainer");
484+
485+ tryCompareFunction(function() { return promptSurfaceContainer.height === applicationWindow.height; }, true);
486+ tryCompareFunction(function() { return promptSurfaceContainer.width === applicationWindow.width; }, true);
487+ tryCompareFunction(function() { return promptSurfaceContainer.x === 0; }, true);
488+ tryCompareFunction(function() { return promptSurfaceContainer.y === 0; }, true);
489+
490+ applicationWindow.anchors.margins = units.gu(2);
491+
492+ tryCompareFunction(function() { return promptSurfaceContainer.height === applicationWindow.height; }, true);
493+ tryCompareFunction(function() { return promptSurfaceContainer.width === applicationWindow.width; }, true);
494+ tryCompareFunction(function() { return promptSurfaceContainer.x === 0; }, true);
495+ tryCompareFunction(function() { return promptSurfaceContainer.y === 0; }, true);
496+
497+ // clean up
498+ delegate.surface.close();
499+ tryCompare(promptSurfaces, "count", 0);
500+ }
435 }
501 }
436}
502}
tests/qmltests/Stages/tst_SurfaceContainer.qml+28−155
@@ -42,6 +42,7 @@ Rectangle {
42 anchors.fill: parent
42 anchors.fill: parent
43 focus: true
43 focus: true
44 interactive: interactiveCheckbox.checked
44 interactive: interactiveCheckbox.checked
45+ isPromptSurface: promptCheckbox.checked
45 Component.onDestruction: {
46 Component.onDestruction: {
46 surfaceContainerLoader.itemDestroyed = true;
47 surfaceContainerLoader.itemDestroyed = true;
47 }
48 }
@@ -75,17 +76,19 @@ Rectangle {
75 anchors { left: parent.left; right: parent.right; top: parent.top; margins: units.gu(1) }
76 anchors { left: parent.left; right: parent.right; top: parent.top; margins: units.gu(1) }
76 spacing: units.gu(1)
77 spacing: units.gu(1)
77
78
78− RowLayout {
79− Layout.fillWidth: true
80
79
81− Row {
80+ Row {
82− CheckBox {id: fullscreenCheckbox; checked: true; activeFocusOnPress: false }
81+ CheckBox {id: fullscreenCheckbox; checked: true; activeFocusOnPress: false }
83− Label { text: "fullscreen" }
82+ Label { text: "fullscreen" }
84− }
83+ }
85− Row {
84+ Row {
86− CheckBox {id: interactiveCheckbox; checked: true; activeFocusOnPress: false }
85+ CheckBox {id: interactiveCheckbox; checked: true; activeFocusOnPress: false }
87− Label { text: "interactive" }
86+ Label { text: "interactive" }
88− }
87+ }
88+ Row {
89+ CheckBox {id: promptCheckbox; checked: false; activeFocusOnPress: false
90+ enabled: surfaceContainerLoader.item.surface === null }
91+ Label { text: "isPromptSurface" }
89 }
92 }
90
93
91 RowLayout {
94 RowLayout {
@@ -102,10 +105,9 @@ Rectangle {
102 if (checked) {
105 if (checked) {
103 var application = ApplicationManager.add("music-app");
106 var application = ApplicationManager.add("music-app");
104 application.manualSurfaceCreation = true;
107 application.manualSurfaceCreation = true;
105− application.setState(ApplicationInfoInterface.Starting);
106
108
109+ application.createSurface();
107− surfaceContainerLoader.item.surface = SurfaceManager.createSurface("foo",
110+ surfaceContainerLoader.item.surface = application.surfaceList.get(0);
108− Mir.NormalType, Mir.MaximizedState, application.screenshot);
109
111
110 application.setState(ApplicationInfoInterface.Running);
112 application.setState(ApplicationInfoInterface.Running);
111 } else {
113 } else {
@@ -123,22 +125,11 @@ Rectangle {
123 }
125 }
124 }
126 }
125
127
126− Rectangle {
128+ Button {
127− border {
129+ text: "Reload"
128− color: "black"
130+ enabled: !surfaceCheckbox.checked
129− width: 1
131+ onClicked: {
130− }
132+ testCase.cleanup();
131− anchors {
132− left: parent.left
133− right: parent.right
134− }
135− Layout.preferredHeight: surfaceChildrenControl.height
136−
137− RecursingChildSessionControl {
138− id: surfaceChildrenControl
139− anchors { left: parent.left; right: parent.right; }
140−
141− surface: surfaceContainerLoader.item ? surfaceContainerLoader.item.surface : null
142 }
133 }
143 }
134 }
144 }
135 }
@@ -164,6 +155,7 @@ Rectangle {
164
155
165 surfaceCheckbox.checked = false;
156 surfaceCheckbox.checked = false;
166 interactiveCheckbox.checked = true;
157 interactiveCheckbox.checked = true;
158+ promptCheckbox.checked = false;
167
159
168 surfaceContainerLoader.active = true;
160 surfaceContainerLoader.active = true;
169 tryCompare(surfaceContainerLoader, "status", Loader.Ready);
161 tryCompare(surfaceContainerLoader, "status", Loader.Ready);
@@ -171,121 +163,6 @@ Rectangle {
171
163
172 when: windowShown
164 when: windowShown
173
165
174− function test_addChildSession_data() {
175− return [ { tag: "count=1", count: 1 },
176− { tag: "count=4", count: 4 } ];
177− }
178−
179− function test_addChildSession(data) {
180− surfaceCheckbox.checked = true;
181− var childSurfaces = testCase.findChild(surfaceContainer, "childSurfacesRepeater");
182− compare(childSurfaces.count, 0);
183−
184− var i;
185− for (i = 0; i < data.count; i++) {
186− surfaceContainer.surface.createPromptSurface();
187− compare(childSurfaces.count, i+1);
188− }
189−
190− for (i = data.count-1; i >= 0; i--) {
191− {
192− var childPromptSurface = surfaceContainer.surface.promptSurfaceList.get(i);
193− childPromptSurface.close();
194− }
195− tryCompareFunction(function() { return childSurfaces.count; }, i);
196− }
197− }
198−
199− function test_childSessionDestructionReturnsFocusToSiblingOrParent() {
200− surfaceCheckbox.checked = true;
201− var childSurfaces = testCase.findChild(surfaceContainer, "childSurfacesRepeater");
202− compare(childSurfaces.count, 0);
203−
204− var i;
205− // 3 surfaces should cover all edge cases
206− for (i = 0; i < 3; i++) {
207− surfaceContainer.surface.createPromptSurface();
208− compare(childSurfaces.count, i+1);
209− }
210−
211− for (i = 2; i >= 0; --i) {
212− var childPromptSurface = surfaceContainer.surface.promptSurfaceList.get(i);
213− compare(childPromptSurface.activeFocus, true);
214−
215− childPromptSurface.close();
216− tryCompareFunction(function() { return childSurfaces.count; }, i);
217−
218− if (i > 0) {
219− // active focus should have gone to the yongest remaining sibling
220− var previousSiblingSurface = surfaceContainer.surface.promptSurfaceList.get(i-1);
221− tryCompare(previousSiblingSurface, "activeFocus", true);
222− } else {
223− // active focus should have gone to the parent surface
224− tryCompare(surfaceContainer.surface, "activeFocus", true);
225− }
226− }
227− }
228−
229− function test_nestedChildSessions_data() {
230− return [ { tag: "depth=2", depth: 2 },
231− { tag: "depth=8", depth: 8 }
232− ];
233− }
234− function test_nestedChildSessions(data) {
235− surfaceCheckbox.checked = true;
236−
237− var i;
238− var container = surfaceContainer;
239− var surface = container.surface;
240− var surfaces = [surface];
241− var parent_childSurfaces = [null];
242− for (i = 0; i < data.depth; i++) {
243− surface.createPromptSurface();
244− var childSurfaces = testCase.findChild(container, "childSurfacesRepeater");
245− compare(childSurfaces.count, 1);
246−
247− var childDelegate = childSurfaces.itemAt(0);
248− container = findChild(childDelegate, "surfaceContainer");
249− {
250− var animationsLoader = findChild(container, "animationsLoader");
251− tryCompare(animationsLoader, "status", Loader.Ready);
252− waitUntilTransitionsEnd(animationsLoader.item);
253− }
254− surface = container.surface;
255−
256− surfaces.push(surface);
257− parent_childSurfaces.push(childSurfaces);
258− }
259−
260− for (i = surfaces.length-1; i >= 0; i--) {
261− surfaces[i].close();
262− if (parent_childSurfaces[i]) {
263− tryCompareFunction(function() { return parent_childSurfaces[i].count; }, 0);
264− }
265− }
266− }
267−
268− function test_childrenAdjustForParentSize() {
269− surfaceCheckbox.checked = true;
270−
271− surfaceContainer.surface.createPromptSurface();
272−
273− var delegate = findChild(surfaceContainer, "childDelegate0");
274− var childContainer = findChild(delegate, "surfaceContainer");
275−
276− tryCompareFunction(function() { return childContainer.height === surfaceContainer.height; }, true);
277− tryCompareFunction(function() { return childContainer.width === surfaceContainer.width; }, true);
278− tryCompareFunction(function() { return childContainer.x === 0; }, true);
279− tryCompareFunction(function() { return childContainer.y === 0; }, true);
280−
281− surfaceContainer.anchors.margins = units.gu(2);
282−
283− tryCompareFunction(function() { return childContainer.height === surfaceContainer.height; }, true);
284− tryCompareFunction(function() { return childContainer.width === surfaceContainer.width; }, true);
285− tryCompareFunction(function() { return childContainer.x === 0; }, true);
286− tryCompareFunction(function() { return childContainer.y === 0; }, true);
287− }
288−
289 function isContainerAnimating(container) {
166 function isContainerAnimating(container) {
290 var animationsLoader = findChild(container, "animationsLoader");
167 var animationsLoader = findChild(container, "animationsLoader");
291 if (!animationsLoader || animationsLoader.status != Loader.Ready) {
168 if (!animationsLoader || animationsLoader.status != Loader.Ready) {
@@ -303,25 +180,21 @@ Rectangle {
303 return false;
180 return false;
304 }
181 }
305
182
306− function test_childrenAnimate() {
183+ function test_promptSurfaceAnimates() {
184+ promptCheckbox.checked = true;
307 surfaceCheckbox.checked = true;
185 surfaceCheckbox.checked = true;
308
186
309− surfaceContainer.surface.createPromptSurface();
310−
311− var delegate = findChild(surfaceContainer, "childDelegate0");
312− var childContainer = findChild(delegate, "surfaceContainer");
313−
314 // wait for animation to begin
187 // wait for animation to begin
315− tryCompareFunction(function() { return isContainerAnimating(childContainer); }, true);
188+ tryCompareFunction(function() { return isContainerAnimating(surfaceContainer); }, true);
316 // wait for animation to end
189 // wait for animation to end
317− tryCompareFunction(function() { return isContainerAnimating(childContainer); }, false);
190+ tryCompareFunction(function() { return isContainerAnimating(surfaceContainer); }, false);
318
191
319− surfaceContainer.surface.promptSurfaceList.get(0).close();
192+ surfaceContainer.surface.close();
320
193
321 // wait for animation to begin
194 // wait for animation to begin
322− tryCompareFunction(function() { return isContainerAnimating(childContainer); }, true);
195+ tryCompareFunction(function() { return isContainerAnimating(surfaceContainer); }, true);
323 // wait for animation to end
196 // wait for animation to end
324− tryCompareFunction(function() { return isContainerAnimating(childContainer); }, false);
197+ tryCompareFunction(function() { return isContainerAnimating(surfaceContainer); }, false);
325 }
198 }
326
199
327 function test_surfaceItemGetsNoTouchesWhenContainerNotInteractive() {
200 function test_surfaceItemGetsNoTouchesWhenContainerNotInteractive() {
tests/qmltests/Stages/tst_TabletStage.qml+66−2
@@ -129,6 +129,12 @@ Rectangle {
129 }
129 }
130 }
130 }
131
131
132+ SignalSpy {
133+ id: stageSaver
134+ target: WindowStateStorage
135+ signalName: "stageSaved"
136+ }
137+
132 UnityTestCase {
138 UnityTestCase {
133 id: testCase
139 id: testCase
134 name: "TabletStage"
140 name: "TabletStage"
@@ -138,6 +144,7 @@ Rectangle {
138 property Item sideStage: tabletStage ? findChild(tabletStage, "sideStage") : null
144 property Item sideStage: tabletStage ? findChild(tabletStage, "sideStage") : null
139
145
140 function init() {
146 function init() {
147+ stageSaver.clear();
141 tabletStageLoader.active = true;
148 tabletStageLoader.active = true;
142 tryCompare(tabletStageLoader, "status", Loader.Ready);
149 tryCompare(tabletStageLoader, "status", Loader.Ready);
143
150
@@ -510,7 +517,35 @@ Rectangle {
510 tryCompare(stagesPriv, "sideStageAppId", data.sideStageAppId);
517 tryCompare(stagesPriv, "sideStageAppId", data.sideStageAppId);
511 }
518 }
512
519
513− function test_loadSideStageByDragginFromMainStage() {
520+ function test_applicationSavesLastStage_data() {
521+ return [
522+ { tag: "MainStage", stage: ApplicationInfoInterface.MainStage},
523+ { tag: "SideStage", stage: ApplicationInfoInterface.SideStage},
524+ ];
525+ }
526+
527+ function test_applicationSavesLastStage(data) {
528+ WindowStateStorage.saveStage(webbrowserCheckBox.appId, data.stage);
529+ stageSaver.clear();
530+
531+ var stagesPriv = findInvisibleChild(tabletStage, "stagesPriv");
532+ verify(stagesPriv);
533+
534+ tryCompare(stagesPriv, "mainStageAppId", "unity8-dash");
535+ tryCompare(stagesPriv, "sideStageAppId", "");
536+
537+ var webbrowserSurfaceId = topSurfaceList.nextId;
538+ webbrowserCheckBox.checked = true;
539+ waitUntilAppSurfaceShowsUp(webbrowserSurfaceId);
540+
541+ webbrowserCheckBox.checked = false;
542+
543+ tryCompare(stageSaver, "count", 1);
544+ compare(stageSaver.signalArguments[0][0], "webbrowser-app")
545+ compare(stageSaver.signalArguments[0][1], data.stage)
546+ }
547+
548+ function test_loadSideStageByDraggingFromMainStage() {
514 sideStage.showNow();
549 sideStage.showNow();
515 var webbrowserSurfaceId = topSurfaceList.nextId;
550 var webbrowserSurfaceId = topSurfaceList.nextId;
516 webbrowserCheckBox.checked = true;
551 webbrowserCheckBox.checked = true;
@@ -538,7 +573,7 @@ Rectangle {
538 tryCompare(appDelegate, "stage", ApplicationInfoInterface.SideStage);
573 tryCompare(appDelegate, "stage", ApplicationInfoInterface.SideStage);
539 }
574 }
540
575
541− function test_unloadSideStageByDragginFromStageStage() {
576+ function test_unloadSideStageByDraggingFromStageStage() {
542 sideStage.showNow();
577 sideStage.showNow();
543 WindowStateStorage.saveStage(webbrowserCheckBox.appId, ApplicationInfoInterface.SideStage)
578 WindowStateStorage.saveStage(webbrowserCheckBox.appId, ApplicationInfoInterface.SideStage)
544 var webbrowserSurfaceId = topSurfaceList.nextId;
579 var webbrowserSurfaceId = topSurfaceList.nextId;
@@ -690,5 +725,34 @@ Rectangle {
690 // only unity8-dash surface is left
725 // only unity8-dash surface is left
691 compare(topSurfaceList.count, 1);
726 compare(topSurfaceList.count, 1);
692 }
727 }
728+
729+ function test_draggingSurfaceKeepsSurfaceFocus() {
730+ var webbrowserSurfaceId = topSurfaceList.nextId;
731+ webbrowserCheckBox.checked = true;
732+ waitUntilAppSurfaceShowsUp(webbrowserSurfaceId);
733+
734+ var appDelegate = findChild(tabletStage, "spreadDelegate_" + webbrowserSurfaceId);
735+ verify(appDelegate);
736+ compare(appDelegate.stage, ApplicationInfoInterface.MainStage);
737+
738+ tryCompare(appDelegate.surface, "activeFocus", true);
739+
740+ var pos = tabletStage.width - sideStage.width - (tabletStage.width - sideStage.width) / 2;
741+ var end_pos = tabletStage.width - sideStage.width / 2;
742+
743+ multiTouchDragUntil([0,1,2],
744+ tabletStage,
745+ pos,
746+ tabletStage.height / 2,
747+ units.gu(3),
748+ 0,
749+ function() {
750+ pos += units.gu(3);
751+ return sideStage.shown && !sideStage.showAnimation.running &&
752+ pos >= end_pos;
753+ });
754+
755+ tryCompare(appDelegate.surface, "activeFocus", true);
756+ }
693 }
757 }
694}
758}
tests/qmltests/Wizard/tst_Wizard.qml+3−12
@@ -144,7 +144,9 @@ Item {
144 var pages = findChild(wizard, "wizardPages");
144 var pages = findChild(wizard, "wizardPages");
145 var stack = findChild(pages, "pageStack");
145 var stack = findChild(pages, "pageStack");
146 // don't simply call tryCompare here, because stack.currentPage will be swapped out itself
146 // don't simply call tryCompare here, because stack.currentPage will be swapped out itself
147− tryCompareFunction(function() { return stack.currentPage.objectName; }, name);
147+ tryCompareFunction(function() { return stack.currentPage.objectName; }, name, 15000);
148+ var contentAnimation = findInvisibleChild(stack.currentPage, "contentAnimation");
149+ tryCompareFunction(function() { return contentAnimation.running; }, false);
148 tryCompare(stack.currentPage, "opacity", 1.0);
150 tryCompare(stack.currentPage, "opacity", 1.0);
149 tryCompare(stack.currentPage, "enabled", true);
151 tryCompare(stack.currentPage, "enabled", true);
150 tryCompare(stack.currentPage, "skipValid", true);
152 tryCompare(stack.currentPage, "skipValid", true);
@@ -153,17 +155,6 @@ Item {
153 return stack.currentPage;
155 return stack.currentPage;
154 }
156 }
155
157
156− function verifyPageIsBlocked(name) {
157− var pages = findChild(wizard, "wizardPages");
158− var stack = findChild(pages, "pageStack");
159− // don't simply call tryCompare here, because stack.currentPage will be swapped out itself
160− tryCompareFunction(function() { return stack.currentPage.objectName; }, name);
161− tryCompare(stack.currentPage, "enabled", false);
162− tryCompare(stack.currentPage, "skipValid", false);
163− waitForRendering(stack.currentPage);
164− return stack.currentPage;
165− }
166−
167 function goToPage(name, skipSim, skipLocation, skipReporting) {
158 function goToPage(name, skipSim, skipLocation, skipReporting) {
168 if (skipSim === undefined) {
159 if (skipSim === undefined) {
169 skipSim = false;
160 skipSim = false;