on xenial help sign in
Merge
commit7b64b7ca54543a0309bfbebefc5cfe7459866aa4 authorAlbert Astals Cid <albert.astals@canonical.com> dateMon 9 May 2016, 14:38 (10 years ago) parentd5330f1b0fad55
192 files changed+1988−1079
debian/changelog+44 debian/control+2−2 debian/unity8-private.install+1−1 plugins/CMakeLists.txt+1−1 plugins/Dash/CardCreator.js+44−1 plugins/Dash/CardSocialActions.qml+94 plugins/Dash/qmldir+1 plugins/ScreenGrabber/CMakeLists.txt−13 plugins/ScreenGrabber/qmldir−3 plugins/ScreenGrabber/screengrabber.cpp−115 plugins/ScreenGrabber/screengrabber.h−49 plugins/ScreenshotDirectory/CMakeLists.txt+9 plugins/ScreenGrabber/ScreenGrabber.qmltypes → plugins/ScreenshotDirectory/ScreenGrabber.qmltypes plugins/ScreenshotDirectory/ScreenshotDirectory.cpp+64 plugins/Utils/windowscreenshotprovider.h → plugins/ScreenshotDirectory/ScreenshotDirectory.h+17−9 plugins/ScreenGrabber/plugin.cpp → plugins/ScreenshotDirectory/plugin.cpp+5−7 plugins/ScreenGrabber/plugin.h → plugins/ScreenshotDirectory/plugin.h+5−7 plugins/ScreenshotDirectory/qmldir+2 plugins/Utils/CMakeLists.txt−1 plugins/Utils/plugin.cpp−8 plugins/Utils/plugin.h−1 plugins/Utils/windowscreenshotprovider.cpp−59 po/aa.po+5−5 po/am.po+5−5 po/ar.po+5−5 po/ast.po+5−5 po/az.po+5−5 po/be.po+5−5 po/bg.po+5−5 po/bn.po+5−5 po/br.po+5−5 po/bs.po+5−5 po/ca.po+5−5 po/ca@valencia.po+5−5 po/ce.po+5−5 po/ckb.po+5−5 po/cs.po+5−5 po/cy.po+5−5 po/da.po+5−5 po/de.po+6−6 po/el.po+5−5 po/en_AU.po+5−5 po/en_GB.po+5−5 po/eo.po+5−5 po/es.po+7−7 po/eu.po+5−5 po/fa.po+5−5 po/fi.po+5−5 po/fo.po+5−5 po/fr.po+5−5 po/ga.po+5−5 po/gd.po+7−7 po/gl.po+7−7 po/gv.po+5−5 po/he.po+5−5 po/hi.po+5−5 po/hr.po+72−9 po/hu.po+7−7 po/hy.po+5−5 po/ia.po+7−7 po/id.po+5−5 po/is.po+5−5 po/it.po+5−5 po/ja.po+5−5 po/km.po+5−5 po/kn.po+5−5 po/ko.po+5−5 po/ku.po+5−5 po/ky.po+5−5 po/lo.po+5−5 po/lt.po+5−5 po/lv.po+5−5 po/ml.po+5−5 po/mr.po+5−5 po/ms.po+5−5 po/my.po+5−5 po/nb.po+5−5 po/ne.po+5−5 po/nl.po+5−5 po/nn.po+5−5 po/oc.po+5−5 po/or.po+5−5 po/pa.po+5−5 po/pl.po+9−9 po/pt.po+7−7 po/pt_BR.po+5−5 po/ro.po+5−5 po/ru.po+5−5 po/shn.po+5−5 po/si.po+5−5 po/sk.po+54−9 po/sl.po+8−8 po/sq.po+5−5 po/sr.po+9−8 po/sv.po+5−5 po/sw.po+5−5 po/ta.po+5−5 po/te.po+5−5 po/th.po+5−5 po/tr.po+5−5 po/ug.po+5−5 po/uk.po+5−5 po/unity8.pot+4−4 po/ur.po+5−5 po/uz.po+5−5 po/vi.po+5−5 po/wo.po+5−5 po/xh.po+5−5 po/zh_CN.po+5−5 po/zh_HK.po+5−5 po/zh_TW.po+5−5 qml/Components/ScreenGrabber.qml → qml/Components/ItemGrabber.qml+27−17 qml/Components/WindowScreenshot.qml → qml/Components/ItemSnapshot.qml+13−3 qml/Components/NotificationAudio.qml+7−3 qml/Components/VirtualTouchPad.qml+1−1 qml/Dash/CardGrid.qml+1 qml/Dash/CardHorizontalList.qml+1 qml/Dash/CardTool.qml+23−7 qml/Dash/CardVerticalJournal.qml+1 qml/Dash/DashRenderer.qml+6 qml/Dash/Filters/FilterExpandableWidget.qml+96 qml/Dash/Filters/FilterWidget.qml+3 qml/Dash/Filters/FilterWidgetFactory.qml+2−1 qml/Dash/GenericScopeView.qml+9 qml/Dash/Previews/PreviewActionCombo.qml+1−1 qml/Dash/Previews/PreviewActions.qml+8−7 qml/Dash/Previews/PreviewIconActions.qml+15 qml/Dash/Previews/PreviewZoomableImage.qml+13−8 qml/DisabledScreenNotice.qml+4−4 qml/OrientedShell.qml+7−7 qml/Panel/IndicatorsMenu.qml+20−10 qml/Rotation/HalfLoopRotationAnimation.qml+2−1 qml/Rotation/ImmediateRotationAction.qml+11−22 qml/Rotation/NinetyRotationAnimation.qml+14−16 qml/Rotation/RotationStates.qml+25−5 qml/Rotation/UpdateShellTransformations.qml+42 qml/Shell.qml+11−5 qml/Stages/AbstractStage.qml+8−7 qml/Stages/DesktopStage.qml+7 qml/Stages/PhoneStage.qml+2 qml/Stages/ShimStage.qml−1 qml/Stages/TabletStage.qml+3 src/SecondaryWindow.cpp+9 src/ShellApplication.cpp+6 tests/mocks/Unity/CMakeLists.txt+3−1 tests/mocks/Unity/fake_categories.cpp+4−1 tests/mocks/Unity/fake_expandablefilterwidget.cpp+53 tests/mocks/Unity/fake_expandablefilterwidget.h+48 tests/mocks/Unity/fake_filters.cpp+19−8 tests/mocks/Unity/fake_filters.h+4−4 tests/mocks/Unity/fake_resultsmodel.cpp+2 tests/mocks/Unity/fake_scope.cpp+2 tests/mocks/Utils/CMakeLists.txt−1 tests/mocks/Utils/plugin.cpp−8 tests/mocks/Utils/plugin.h−1 tests/plugins/CMakeLists.txt−1 tests/plugins/Dash/cardcreator/1.res+1−1 tests/plugins/Dash/cardcreator/1.res.cardcreator+1−1 tests/plugins/Dash/cardcreator/10.res+1−1 tests/plugins/Dash/cardcreator/10.res.cardcreator+1−1 tests/plugins/Dash/cardcreator/11.res+1−1 tests/plugins/Dash/cardcreator/11.res.cardcreator+1−1 tests/plugins/Dash/cardcreator/12.res+139 tests/plugins/Dash/cardcreator/12.res.cardcreator+138 tests/plugins/Dash/cardcreator/12.tst+3 tests/plugins/Dash/cardcreator/2.res+1−1 tests/plugins/Dash/cardcreator/2.res.cardcreator+1−1 tests/plugins/Dash/cardcreator/3.res+1−1 tests/plugins/Dash/cardcreator/3.res.cardcreator+1−1 tests/plugins/Dash/cardcreator/4.res+1−1 tests/plugins/Dash/cardcreator/4.res.cardcreator+1−1 tests/plugins/Dash/cardcreator/5.res+1−1 tests/plugins/Dash/cardcreator/5.res.cardcreator+1−1 tests/plugins/Dash/cardcreator/6.res+1−1 tests/plugins/Dash/cardcreator/6.res.cardcreator+1−1 tests/plugins/Dash/cardcreator/7.res+1−1 tests/plugins/Dash/cardcreator/7.res.cardcreator+1−1 tests/plugins/Dash/cardcreator/8.res+1−1 tests/plugins/Dash/cardcreator/8.res.cardcreator+1−1 tests/plugins/Dash/cardcreator/9.res+1−1 tests/plugins/Dash/cardcreator/9.res.cardcreator+1−1 tests/plugins/ScreenGrabber/CMakeLists.txt−14 tests/plugins/ScreenGrabber/ScreenGrabberTest.cpp−77 tests/plugins/ScreenGrabber/grabber.qml−31 tests/qmltests/CMakeLists.txt+1 tests/qmltests/Dash/CardHelpers.js+9−7 tests/qmltests/Dash/Filters/tst_FilterExpandableWidget.qml+99 tests/qmltests/Dash/Filters/tst_FilterWidgetFactory.qml+2−1 tests/qmltests/Dash/Previews/tst_PreviewActions.qml+100−17 tests/qmltests/Dash/Previews/tst_PreviewIconActions.qml+14−4 tests/qmltests/Dash/Previews/tst_PreviewZoomableImage.qml+17 tests/qmltests/Dash/tst_Card.qml+38−3
debian/changelog+44
@@ -1,3 +1,47 @@
1+unity8 (8.12+16.04.20160504.2-0ubuntu1) xenial; urgency=medium
2+
3+ [ Albert Astals Cid ]
4+ * Expandable Filter Widget
5+ * Pass the category correctly
6+
7+ [ Albert Astals Cid, CI Train Bot ]
8+ * Make the previewActions react to the actions model changing (LP:
9+ #1485887)
10+ * Reload Preview Zoomable Image source if it gets updated
11+ * Update the icon also to the original one if that's what the scope
12+ wants
13+
14+ [ Andrea Cimitan ]
15+ * Add social actions to cards
16+
17+ [ CI Train Bot ]
18+ * Resync trunk.
19+
20+ -- Pawel Stolowski <ci-train-bot@canonical.com> Wed, 04 May 2016 18:09:33 +0000
21+
22+unity8 (8.12+16.04.20160429.2-0ubuntu1) xenial; urgency=medium
23+
24+ [ CI Train Bot ]
25+ * Resync trunk.
26+
27+ [ Daniel d'Andrada ]
28+ * Ensure shell transformations use bindings as OrientedShell can get
29+ resized
30+ * Make shell rotation animation work on multimonitor scenarios.
31+ * Refactor screenshotting code and make it work in multimonitor
32+ scenarios
33+
34+ [ Gerry Boland, Nick Dedekind ]
35+ * Indicators: set menu height binding while fully open/closed, fixes
36+ dynamic grid unit bug.
37+
38+ [ Michael Zanetti ]
39+ * Call the dash sizing hack when units.gu changes
40+ * Temporary means to override GUs on the internal screen
41+ * reduce some paint layers.
42+
43+ -- Michał Sawicz <michal.sawicz@canonical.com> Fri, 29 Apr 2016 20:07:37 +0000
44+
145unity8 (8.12+16.04.20160427.3-0ubuntu1) xenial; urgency=medium
246
347 [ Albert Astals Cid ]
debian/control+2−2
@@ -30,7 +30,7 @@ Build-Depends: cmake,
3030 libqt5xmlpatterns5-dev,
3131 libsystemsettings-dev,
3232 libudev-dev,
33− libunity-api-dev (>= 7.110),
33+ libunity-api-dev (>= 7.111),
3434 libusermetricsoutput1-dev,
3535# Need those X11 libs touch emulation from mouse events in manual QML tests on a X11 desktop
3636 libx11-dev[!armhf],
@@ -136,7 +136,7 @@ Depends: qml-module-qtquick-layouts,
136136 unity-application-impl-15,
137137 unity-notifications-impl-3,
138138 unity-plugin-scopes | unity-scopes-impl,
139− unity-scopes-impl-11,
139+ unity-scopes-impl-12,
140140 unity8-fake-env | unity-application-impl,
141141 ${misc:Depends},
142142Breaks: unity8 (<< 7.86),
debian/unity8-private.install+1−1
@@ -8,7 +8,7 @@ usr/lib/*/unity8/qml/Greeter
88usr/lib/*/unity8/qml/IntegratedLightDM
99usr/lib/*/unity8/qml/Lights
1010usr/lib/*/unity8/qml/Powerd
11−usr/lib/*/unity8/qml/ScreenGrabber
11+usr/lib/*/unity8/qml/ScreenshotDirectory
1212usr/lib/*/unity8/qml/SessionBroadcast
1313usr/lib/*/unity8/qml/Ubuntu
1414usr/lib/*/unity8/qml/Unity
plugins/CMakeLists.txt+1−1
@@ -19,8 +19,8 @@ add_subdirectory(IntegratedLightDM)
1919add_subdirectory(Lights)
2020add_subdirectory(Dash)
2121add_subdirectory(Powerd)
22+add_subdirectory(ScreenshotDirectory)
2223add_subdirectory(SessionBroadcast)
23−add_subdirectory(ScreenGrabber)
2424add_subdirectory(Ubuntu)
2525add_subdirectory(UInput)
2626add_subdirectory(Unity)
plugins/Dash/CardCreator.js+44−1
@@ -351,6 +351,17 @@ var kAttributesRowCode = 'CardAttributes { \n\
351351 model: cardData && cardData["attributes"]; \n\
352352 }\n';
353353
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+
354365// %1 is used as top anchor of summary
355366// %2 is used as topMargin anchor of summary
356367// %3 is used as color of summary
@@ -437,9 +448,11 @@ function cardString(template, components, isCardTool) {
437448 var hasSubtitle = hasTitle && components["subtitle"] || false;
438449 var hasHeaderRow = hasMascot && hasTitle;
439450 var hasAttributes = hasTitle && components["attributes"] && components["attributes"]["field"] || false;
451+ var hasSocialActions = hasTitle && components["social-actions"] || false;
440452 var isAudio = template["quick-preview-type"] === "audio";
441453 var asynchronous = isCardTool ? "false" : "true";
442454
455+ code += 'signal action(var actionId);\n';
443456 if (isAudio) {
444457 // For now we only support audio cards with [optional] art, title, subtitle
445458 // in horizontal mode
@@ -841,6 +854,34 @@ function cardString(template, components, isCardTool) {
841854 code += kSummaryLabelCode.arg(summaryTopAnchor).arg(summaryTopMargin).arg(summaryColor);
842855 }
843856
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+
844885 var touchdownAnchors;
845886 if (hasBackground) {
846887 touchdownAnchors = 'fill: backgroundLoader';
@@ -852,7 +893,9 @@ function cardString(template, components, isCardTool) {
852893 code += kTouchdownCode.arg(touchdownAnchors);
853894
854895 var implicitHeight = 'implicitHeight: ';
855− if (hasSummary) {
896+ if (hasSocialActions) {
897+ implicitHeight += 'socialActionsRow.y + socialActionsRow.height + units.gu(1);\n';
898+ } else if (hasSummary) {
856899 implicitHeight += 'summary.y + summary.height + units.gu(1);\n';
857900 } else if (isAudio) {
858901 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
55singleton DashAudioPlayer 0.1 DashAudioPlayer.qml
66ScopeStyle 0.1 ScopeStyle.qml
77CardAttributes 0.1 CardAttributes.qml
8+CardSocialActions 0.1 CardSocialActions.qml
89CroppedImageMinimumSourceSize 0.1 CroppedImageMinimumSourceSize.qml
910AudioProgressBar 0.1 AudioProgressBar.qml
1011CardAudioProgress 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 @@
11/*
2− * Copyright (C) 2015 Canonical, Ltd.
2+ * Copyright (C) 2014-2016 Canonical, Ltd.
33 *
44 * This program is free software; you can redistribute it and/or modify
55 * it under the terms of the GNU General Public License as published by
@@ -14,18 +14,26 @@
1414 * along with this program. If not, see <http://www.gnu.org/licenses/>.
1515 */
1616
17−#ifndef WINDOW_SCREENSHOT_PROVIDER_H_
18−#define WINDOW_SCREENSHOT_PROVIDER_H_
17+#ifndef SCREENSHOTDIRECTORY_H
18+#define SCREENSHOTDIRECTORY_H
1919
20−#include <QQuickImageProvider>
20+#include <QObject>
21+#include <QString>
2122
22−class WindowScreenshotProvider : public QQuickImageProvider
23+class ScreenshotDirectory: public QObject
2324{
25+ Q_OBJECT
26+
2427public:
25− WindowScreenshotProvider();
28+ explicit ScreenshotDirectory(QObject *parent = 0);
29+ ~ScreenshotDirectory() = default;
30+
31+public Q_SLOTS:
32+ QString makeFileName() const;
2633
27− // id is ignored for now
28− QImage requestImage(const QString &id, QSize *size, const QSize &requestedSize) override;
34+private:
35+ QString format() const;
36+ QString m_fileNamePrefix;
2937};
3038
31−#endif // WINDOW_SCREENSHOT_PROVIDER_H_
39+#endif // SCREENSHOTDIRECTORY_H
plugins/ScreenGrabber/plugin.cpp → plugins/ScreenshotDirectory/plugin.cpprenamed+5−7
@@ -1,5 +1,5 @@
11/*
2− * Copyright (C) 2014 Canonical, Ltd.
2+ * Copyright (C) 2014,2016 Canonical, Ltd.
33 *
44 * This program is free software; you can redistribute it and/or modify
55 * it under the terms of the GNU General Public License as published by
@@ -12,17 +12,15 @@
1212 *
1313 * You should have received a copy of the GNU General Public License
1414 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− *
16− * Authors: Alberto Aguirre <alberto.aguirre@canonical.com>
1715 */
1816
1917#include "plugin.h"
20−#include "screengrabber.h"
18+#include "ScreenshotDirectory.h"
2119
2220#include <QtQml/qqml.h>
2321
24−void ScreenGrabberPlugin::registerTypes(const char *uri)
22+void ScreenshotDirectoryPlugin::registerTypes(const char *uri)
2523{
26− Q_ASSERT(uri == QLatin1String("ScreenGrabber"));
27− qmlRegisterType<ScreenGrabber>(uri, 0, 1, "ScreenGrabber");
24+ Q_ASSERT(uri == QLatin1String("ScreenshotDirectory"));
25+ qmlRegisterType<ScreenshotDirectory>(uri, 0, 1, "ScreenshotDirectory");
2826}
plugins/ScreenGrabber/plugin.h → plugins/ScreenshotDirectory/plugin.hrenamed+5−7
@@ -1,5 +1,5 @@
11/*
2− * Copyright (C) 2014 Canonical, Ltd.
2+ * Copyright (C) 2014,2016 Canonical, Ltd.
33 *
44 * This program is free software; you can redistribute it and/or modify
55 * it under the terms of the GNU General Public License as published by
@@ -12,16 +12,14 @@
1212 *
1313 * You should have received a copy of the GNU General Public License
1414 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− *
16− * Authors: Alberto Aguirre <alberto.aguirre@canonical.com>
1715 */
1816
19−#ifndef SCREENGRABBER_PLUGIN_H
20−#define SCREENGRABBER_PLUGIN_H
17+#ifndef SCREENSHOTDIRECTORY_PLUGIN_H
18+#define SCREENSHOTDIRECTORY_PLUGIN_H
2119
2220#include <QtQml/QQmlExtensionPlugin>
2321
24−class ScreenGrabberPlugin : public QQmlExtensionPlugin
22+class ScreenshotDirectoryPlugin : public QQmlExtensionPlugin
2523{
2624 Q_OBJECT
2725 Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
@@ -30,4 +28,4 @@ public:
3028 void registerTypes(const char *uri) override;
3129};
3230
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
1818 Timer.cpp
1919 unitymenumodelpaths.cpp
2020 windowinputfilter.cpp
21− windowscreenshotprovider.cpp
2221 easingcurve.cpp
2322 windowstatestorage.cpp
2423 timezoneFormatter.cpp
plugins/Utils/plugin.cpp−8
@@ -31,7 +31,6 @@
3131#include "unitysortfilterproxymodelqml.h"
3232#include "unitymenumodelpaths.h"
3333#include "windowinputfilter.h"
34−#include "windowscreenshotprovider.h"
3534#include "windowstatestorage.h"
3635#include "constants.h"
3736#include "timezoneFormatter.h"
@@ -82,10 +81,3 @@ void UtilsPlugin::registerTypes(const char *uri)
8281 qmlRegisterType<DeviceConfigParser>(uri, 0, 1, "DeviceConfigParser");
8382 qmlRegisterSingletonType<GlobalFunctions>(uri, 0, 1, "Functions", createGlobalFunctions);
8483}
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
2929
3030public:
3131 void registerTypes(const char *uri) override;
32− void initializeEngine(QQmlEngine *engine, const char *uri) override;
3332};
3433
3534#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+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2016-02-12 10:18+0000\n"
1212"Last-Translator: Charif AYFARAH <ayfarah@ymail.com>\n"
1313"Language-Team: Afar <aa@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -186,15 +186,15 @@ msgstr ""
186186msgid "Reset"
187187msgstr ""
188188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190190msgid "Show less"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194194msgid "Show all"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198198msgctxt "Label: Hint for dash search line edit"
199199msgid "Search"
200200msgstr "Goranto"
po/am.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2016-03-24 19:07+0000\n"
1212"Last-Translator: samson <Unknown>\n"
1313"Language-Team: Amharic <am@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -188,15 +188,15 @@ msgstr "የ እርስዎን ውጤቶች እንደገና ማጣሪያ"
188188msgid "Reset"
189189msgstr "እንደ ነበረ መመለሻ"
190190
191−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
191+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
192192msgid "Show less"
193193msgstr ""
194194
195−#: qml/Dash/GenericScopeView.qml:570
195+#: qml/Dash/GenericScopeView.qml:579
196196msgid "Show all"
197197msgstr ""
198198
199−#: qml/Dash/GenericScopeView.qml:627
199+#: qml/Dash/GenericScopeView.qml:636
200200msgctxt "Label: Hint for dash search line edit"
201201msgid "Search"
202202msgstr "መፈለጊያ"
po/ar.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-07-29 09:41+0000\n"
1212"Last-Translator: Ibrahim Saed <ibraheem5000@gmail.com>\n"
1313"Language-Team: Arabic <ar@li.org>\n"
@@ -16,7 +16,7 @@ msgstr ""
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= "
1818"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-06 04:54+0000\n"
2020"X-Generator: Launchpad (build 17995)\n"
2121
2222#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -195,15 +195,15 @@ msgstr ""
195195msgid "Reset"
196196msgstr ""
197197
198−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
198+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
199199msgid "Show less"
200200msgstr ""
201201
202−#: qml/Dash/GenericScopeView.qml:570
202+#: qml/Dash/GenericScopeView.qml:579
203203msgid "Show all"
204204msgstr ""
205205
206−#: qml/Dash/GenericScopeView.qml:627
206+#: qml/Dash/GenericScopeView.qml:636
207207msgctxt "Label: Hint for dash search line edit"
208208msgid "Search"
209209msgstr "بحث"
po/ast.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2016-04-17 16:57+0000\n"
1212"Last-Translator: Xuacu Saturio <xuacusk8@gmail.com>\n"
1313"Language-Team: Asturian <ast@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -189,15 +189,15 @@ msgstr ""
189189msgid "Reset"
190190msgstr "Reafitar"
191191
192−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
192+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
193193msgid "Show less"
194194msgstr ""
195195
196−#: qml/Dash/GenericScopeView.qml:570
196+#: qml/Dash/GenericScopeView.qml:579
197197msgid "Show all"
198198msgstr ""
199199
200−#: qml/Dash/GenericScopeView.qml:627
200+#: qml/Dash/GenericScopeView.qml:636
201201msgctxt "Label: Hint for dash search line edit"
202202msgid "Search"
203203msgstr "Guetar"
po/az.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2014-09-03 16:39+0000\n"
1212"Last-Translator: Nicat Məmmədov <n1c4t97@gmail.com>\n"
1313"Language-Team: Azerbaijani <az@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -186,15 +186,15 @@ msgstr ""
186186msgid "Reset"
187187msgstr ""
188188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190190msgid "Show less"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194194msgid "Show all"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198198msgctxt "Label: Hint for dash search line edit"
199199msgid "Search"
200200msgstr ""
po/be.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-12-13 13:12+0000\n"
1212"Last-Translator: Mikhail_SaTuRn <mikhail_saturn@tut.by>\n"
1313"Language-Team: Belarusian <be@li.org>\n"
@@ -16,7 +16,7 @@ msgstr ""
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
1818"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-06 04:54+0000\n"
2020"X-Generator: Launchpad (build 17995)\n"
2121
2222#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -193,15 +193,15 @@ msgstr ""
193193msgid "Reset"
194194msgstr ""
195195
196−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
196+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
197197msgid "Show less"
198198msgstr ""
199199
200−#: qml/Dash/GenericScopeView.qml:570
200+#: qml/Dash/GenericScopeView.qml:579
201201msgid "Show all"
202202msgstr ""
203203
204−#: qml/Dash/GenericScopeView.qml:627
204+#: qml/Dash/GenericScopeView.qml:636
205205msgctxt "Label: Hint for dash search line edit"
206206msgid "Search"
207207msgstr "Пошук"
po/bg.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-04-12 14:43+0000\n"
1212"Last-Translator: George Karavasilev <kokoto-java@ubuntu.com>\n"
1313"Language-Team: Bulgarian <bg@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -188,15 +188,15 @@ msgstr ""
188188msgid "Reset"
189189msgstr ""
190190
191−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
191+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
192192msgid "Show less"
193193msgstr ""
194194
195−#: qml/Dash/GenericScopeView.qml:570
195+#: qml/Dash/GenericScopeView.qml:579
196196msgid "Show all"
197197msgstr ""
198198
199−#: qml/Dash/GenericScopeView.qml:627
199+#: qml/Dash/GenericScopeView.qml:636
200200msgctxt "Label: Hint for dash search line edit"
201201msgid "Search"
202202msgstr ""
po/bn.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-11-27 19:38+0000\n"
1212"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1313"Language-Team: Bengali <bn@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -188,15 +188,15 @@ msgstr ""
188188msgid "Reset"
189189msgstr ""
190190
191−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
191+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
192192msgid "Show less"
193193msgstr ""
194194
195−#: qml/Dash/GenericScopeView.qml:570
195+#: qml/Dash/GenericScopeView.qml:579
196196msgid "Show all"
197197msgstr ""
198198
199−#: qml/Dash/GenericScopeView.qml:627
199+#: qml/Dash/GenericScopeView.qml:636
200200msgctxt "Label: Hint for dash search line edit"
201201msgid "Search"
202202msgstr "খুঁজুন"
po/br.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2016-04-27 12:20+0000\n"
1212"Last-Translator: Fohanno Thierry <thierry.fohanno@ofis-bzh.org>\n"
1313"Language-Team: Breton <br@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -195,15 +195,15 @@ msgstr "Purañ ho tisoc'hoù"
195195msgid "Reset"
196196msgstr "Adderaouekaat"
197197
198−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
198+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
199199msgid "Show less"
200200msgstr ""
201201
202−#: qml/Dash/GenericScopeView.qml:570
202+#: qml/Dash/GenericScopeView.qml:579
203203msgid "Show all"
204204msgstr ""
205205
206−#: qml/Dash/GenericScopeView.qml:627
206+#: qml/Dash/GenericScopeView.qml:636
207207msgctxt "Label: Hint for dash search line edit"
208208msgid "Search"
209209msgstr "Klask"
po/bs.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-12-01 20:06+0000\n"
1212"Last-Translator: Kenan Gutić <Unknown>\n"
1313"Language-Team: Bosnian <bs@li.org>\n"
@@ -16,7 +16,7 @@ msgstr ""
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
1818"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-06 04:54+0000\n"
2020"X-Generator: Launchpad (build 17995)\n"
2121
2222#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -192,15 +192,15 @@ msgstr ""
192192msgid "Reset"
193193msgstr ""
194194
195−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
195+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
196196msgid "Show less"
197197msgstr ""
198198
199−#: qml/Dash/GenericScopeView.qml:570
199+#: qml/Dash/GenericScopeView.qml:579
200200msgid "Show all"
201201msgstr ""
202202
203−#: qml/Dash/GenericScopeView.qml:627
203+#: qml/Dash/GenericScopeView.qml:636
204204msgctxt "Label: Hint for dash search line edit"
205205msgid "Search"
206206msgstr "Pretraži"
po/ca.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-07-04 09:48+0000\n"
1212"Last-Translator: David Planella <david.planella@ubuntu.com>\n"
1313"Language-Team: Catalan <ca@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -192,15 +192,15 @@ msgstr ""
192192msgid "Reset"
193193msgstr ""
194194
195−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
195+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
196196msgid "Show less"
197197msgstr ""
198198
199−#: qml/Dash/GenericScopeView.qml:570
199+#: qml/Dash/GenericScopeView.qml:579
200200msgid "Show all"
201201msgstr ""
202202
203−#: qml/Dash/GenericScopeView.qml:627
203+#: qml/Dash/GenericScopeView.qml:636
204204msgctxt "Label: Hint for dash search line edit"
205205msgid "Search"
206206msgstr "Cerca"
po/ca@valencia.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-02-22 15:22+0000\n"
1212"Last-Translator: David Planella <david.planella@ubuntu.com>\n"
1313"Language-Team: Catalan <ca@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:55+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -192,15 +192,15 @@ msgstr ""
192192msgid "Reset"
193193msgstr ""
194194
195−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
195+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
196196msgid "Show less"
197197msgstr ""
198198
199−#: qml/Dash/GenericScopeView.qml:570
199+#: qml/Dash/GenericScopeView.qml:579
200200msgid "Show all"
201201msgstr ""
202202
203−#: qml/Dash/GenericScopeView.qml:627
203+#: qml/Dash/GenericScopeView.qml:636
204204msgctxt "Label: Hint for dash search line edit"
205205msgid "Search"
206206msgstr ""
po/ce.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-02-15 04:01+0000\n"
1212"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1313"Language-Team: Chechen <ce@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -186,15 +186,15 @@ msgstr ""
186186msgid "Reset"
187187msgstr ""
188188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190190msgid "Show less"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194194msgid "Show all"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198198msgctxt "Label: Hint for dash search line edit"
199199msgid "Search"
200200msgstr ""
po/ckb.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2014-01-21 11:05+0000\n"
1212"Last-Translator: Aras <aras.noori@gmail.com>\n"
1313"Language-Team: Kurdish (Sorani) <ckb@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:55+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -186,15 +186,15 @@ msgstr ""
186186msgid "Reset"
187187msgstr ""
188188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190190msgid "Show less"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194194msgid "Show all"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198198msgctxt "Label: Hint for dash search line edit"
199199msgid "Search"
200200msgstr ""
po/cs.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-07-07 10:44+0000\n"
1212"Last-Translator: Vojtěch Daněk <vdanek@outlook.com>\n"
1313"Language-Team: Czech <cs@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"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-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020"Language: cs\n"
2121
@@ -192,15 +192,15 @@ msgstr ""
192192msgid "Reset"
193193msgstr ""
194194
195−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
195+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
196196msgid "Show less"
197197msgstr ""
198198
199−#: qml/Dash/GenericScopeView.qml:570
199+#: qml/Dash/GenericScopeView.qml:579
200200msgid "Show all"
201201msgstr ""
202202
203−#: qml/Dash/GenericScopeView.qml:627
203+#: qml/Dash/GenericScopeView.qml:636
204204msgctxt "Label: Hint for dash search line edit"
205205msgid "Search"
206206msgstr "Hledat"
po/cy.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-07-31 13:21+0000\n"
1212"Last-Translator: Owen Llywelyn <owen.llywelyn@gmail.com>\n"
1313"Language-Team: Welsh <cy@li.org>\n"
@@ -16,7 +16,7 @@ msgstr ""
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==2 ? 1 : (n != 8 && n != 11) ? "
1818"2 : 3;\n"
19−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
19+"X-Launchpad-Export-Date: 2016-05-06 04:55+0000\n"
2020"X-Generator: Launchpad (build 17995)\n"
2121
2222#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -193,15 +193,15 @@ msgstr ""
193193msgid "Reset"
194194msgstr ""
195195
196−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
196+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
197197msgid "Show less"
198198msgstr ""
199199
200−#: qml/Dash/GenericScopeView.qml:570
200+#: qml/Dash/GenericScopeView.qml:579
201201msgid "Show all"
202202msgstr ""
203203
204−#: qml/Dash/GenericScopeView.qml:627
204+#: qml/Dash/GenericScopeView.qml:636
205205msgctxt "Label: Hint for dash search line edit"
206206msgid "Search"
207207msgstr "Chwilio"
po/da.po+5−5
@@ -8,7 +8,7 @@ msgid ""
88msgstr ""
99"Project-Id-Version: unity8\n"
1010"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-04 18:09+0000\n"
1212"PO-Revision-Date: 2015-07-06 12:05+0000\n"
1313"Last-Translator: Folmer Fredslund <Unknown>\n"
1414"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
@@ -16,7 +16,7 @@ msgstr ""
1616"Content-Type: text/plain; charset=UTF-8\n"
1717"Content-Transfer-Encoding: 8bit\n"
1818"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-06 04:54+0000\n"
2020"X-Generator: Launchpad (build 17995)\n"
2121
2222#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -193,15 +193,15 @@ msgstr ""
193193msgid "Reset"
194194msgstr ""
195195
196−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
196+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
197197msgid "Show less"
198198msgstr ""
199199
200−#: qml/Dash/GenericScopeView.qml:570
200+#: qml/Dash/GenericScopeView.qml:579
201201msgid "Show all"
202202msgstr ""
203203
204−#: qml/Dash/GenericScopeView.qml:627
204+#: qml/Dash/GenericScopeView.qml:636
205205msgctxt "Label: Hint for dash search line edit"
206206msgid "Search"
207207msgstr "Søg"
po/de.po+6−6
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2016-03-13 15:41+0000\n"
1212"Last-Translator: schuko24 <gerdsaenger@t-online.de>\n"
1313"Language-Team: German <de@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -194,15 +194,15 @@ msgstr "Ergebnisse verfeinern"
194194msgid "Reset"
195195msgstr "Zurücksetzen"
196196
197−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
197+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
198198msgid "Show less"
199−msgstr ""
199+msgstr "Weniger anzeigen"
200200
201−#: qml/Dash/GenericScopeView.qml:570
201+#: qml/Dash/GenericScopeView.qml:579
202202msgid "Show all"
203203msgstr ""
204204
205−#: qml/Dash/GenericScopeView.qml:627
205+#: qml/Dash/GenericScopeView.qml:636
206206msgctxt "Label: Hint for dash search line edit"
207207msgid "Search"
208208msgstr "Suchen"
po/el.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2016-04-25 16:24+0000\n"
1212"Last-Translator: Aggelos Arnaoutis <angelosarn@hotmail.com>\n"
1313"Language-Team: Greek <el@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -194,15 +194,15 @@ msgstr "Βελτιώστε τα αποτελέσματά σας"
194194msgid "Reset"
195195msgstr "Επαναφορά"
196196
197−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
197+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
198198msgid "Show less"
199199msgstr ""
200200
201−#: qml/Dash/GenericScopeView.qml:570
201+#: qml/Dash/GenericScopeView.qml:579
202202msgid "Show all"
203203msgstr ""
204204
205−#: qml/Dash/GenericScopeView.qml:627
205+#: qml/Dash/GenericScopeView.qml:636
206206msgctxt "Label: Hint for dash search line edit"
207207msgid "Search"
208208msgstr "Αναζήτηση"
po/en_AU.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2016-03-27 10:09+0000\n"
1212"Last-Translator: Jared Norris <jarednorris@ubuntu.com>\n"
1313"Language-Team: English (Australia) <en_AU@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:55+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -188,15 +188,15 @@ msgstr "Refine your results"
188188msgid "Reset"
189189msgstr "Reset"
190190
191−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
191+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
192192msgid "Show less"
193193msgstr ""
194194
195−#: qml/Dash/GenericScopeView.qml:570
195+#: qml/Dash/GenericScopeView.qml:579
196196msgid "Show all"
197197msgstr ""
198198
199−#: qml/Dash/GenericScopeView.qml:627
199+#: qml/Dash/GenericScopeView.qml:636
200200msgctxt "Label: Hint for dash search line edit"
201201msgid "Search"
202202msgstr "Search"
po/en_GB.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2016-04-29 10:35+0000\n"
1212"Last-Translator: Andi Chandler <Unknown>\n"
1313"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:55+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -188,15 +188,15 @@ msgstr "Refine your results"
188188msgid "Reset"
189189msgstr "Reset"
190190
191−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
191+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
192192msgid "Show less"
193193msgstr ""
194194
195−#: qml/Dash/GenericScopeView.qml:570
195+#: qml/Dash/GenericScopeView.qml:579
196196msgid "Show all"
197197msgstr ""
198198
199−#: qml/Dash/GenericScopeView.qml:627
199+#: qml/Dash/GenericScopeView.qml:636
200200msgctxt "Label: Hint for dash search line edit"
201201msgid "Search"
202202msgstr "Search"
po/eo.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-06-06 23:37+0000\n"
1212"Last-Translator: Eliovir <Unknown>\n"
1313"Language-Team: Esperanto <eo@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -186,15 +186,15 @@ msgstr ""
186186msgid "Reset"
187187msgstr ""
188188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190190msgid "Show less"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194194msgid "Show all"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198198msgctxt "Label: Hint for dash search line edit"
199199msgid "Search"
200200msgstr "Serĉi"
po/es.po+7−7
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2016-03-25 12:02+0000\n"
1212"Last-Translator: Adolfo Jayme <fitoschido@gmail.com>\n"
1313"Language-Team: Spanish <es@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:55+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -193,15 +193,15 @@ msgstr "Refinar resultados"
193193msgid "Reset"
194194msgstr "Restablecer"
195195
196−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
196+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
197197msgid "Show less"
198−msgstr ""
198+msgstr "Mostrar menos"
199199
200−#: qml/Dash/GenericScopeView.qml:570
200+#: qml/Dash/GenericScopeView.qml:579
201201msgid "Show all"
202−msgstr ""
202+msgstr "Mostrar todo"
203203
204−#: qml/Dash/GenericScopeView.qml:627
204+#: qml/Dash/GenericScopeView.qml:636
205205msgctxt "Label: Hint for dash search line edit"
206206msgid "Search"
207207msgstr "Búsqueda"
po/eu.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-07-13 23:29+0000\n"
1212"Last-Translator: Ibai Oihanguren Sala <Unknown>\n"
1313"Language-Team: Basque <eu@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -189,15 +189,15 @@ msgstr ""
189189msgid "Reset"
190190msgstr ""
191191
192−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
192+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
193193msgid "Show less"
194194msgstr ""
195195
196−#: qml/Dash/GenericScopeView.qml:570
196+#: qml/Dash/GenericScopeView.qml:579
197197msgid "Show all"
198198msgstr ""
199199
200−#: qml/Dash/GenericScopeView.qml:627
200+#: qml/Dash/GenericScopeView.qml:636
201201msgctxt "Label: Hint for dash search line edit"
202202msgid "Search"
203203msgstr "Bilatu"
po/fa.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2016-03-30 14:29+0000\n"
1212"Last-Translator: Danial Behzadi <dani.behzi@gmail.com>\n"
1313"Language-Team: Persian <fa@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -189,15 +189,15 @@ msgstr "نتایجتان را بهبود دهید"
189189msgid "Reset"
190190msgstr "بازنشانی"
191191
192−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
192+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
193193msgid "Show less"
194194msgstr ""
195195
196−#: qml/Dash/GenericScopeView.qml:570
196+#: qml/Dash/GenericScopeView.qml:579
197197msgid "Show all"
198198msgstr ""
199199
200−#: qml/Dash/GenericScopeView.qml:627
200+#: qml/Dash/GenericScopeView.qml:636
201201msgctxt "Label: Hint for dash search line edit"
202202msgid "Search"
203203msgstr "جست‌وجو"
po/fi.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-07-04 18:32+0000\n"
1212"Last-Translator: Jiri Grönroos <Unknown>\n"
1313"Language-Team: Finnish <fi@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -192,15 +192,15 @@ msgstr "Tarkenna tuloksia"
192192msgid "Reset"
193193msgstr "Palauta"
194194
195−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
195+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
196196msgid "Show less"
197197msgstr ""
198198
199−#: qml/Dash/GenericScopeView.qml:570
199+#: qml/Dash/GenericScopeView.qml:579
200200msgid "Show all"
201201msgstr ""
202202
203−#: qml/Dash/GenericScopeView.qml:627
203+#: qml/Dash/GenericScopeView.qml:636
204204msgctxt "Label: Hint for dash search line edit"
205205msgid "Search"
206206msgstr "Etsi"
po/fo.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2014-01-14 20:08+0000\n"
1212"Last-Translator: Jógvan Olsen <jeggy@jebster.net>\n"
1313"Language-Team: Faroese <fo@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -186,15 +186,15 @@ msgstr ""
186186msgid "Reset"
187187msgstr ""
188188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190190msgid "Show less"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194194msgid "Show all"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198198msgctxt "Label: Hint for dash search line edit"
199199msgid "Search"
200200msgstr ""
po/fr.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2016-05-01 09:09+0000\n"
1212"Last-Translator: Anne <anneonyme017@gmail.com>\n"
1313"Language-Team: French <fr@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2016-05-02 05:45+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -196,15 +196,15 @@ msgstr "Affiner vos résultats"
196196msgid "Reset"
197197msgstr "Réinitialiser"
198198
199−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
199+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
200200msgid "Show less"
201201msgstr "Afficher plus"
202202
203−#: qml/Dash/GenericScopeView.qml:570
203+#: qml/Dash/GenericScopeView.qml:579
204204msgid "Show all"
205205msgstr "Tout afficher"
206206
207−#: qml/Dash/GenericScopeView.qml:627
207+#: qml/Dash/GenericScopeView.qml:636
208208msgctxt "Label: Hint for dash search line edit"
209209msgid "Search"
210210msgstr "Rechercher"
po/ga.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2016-01-25 11:33+0000\n"
1212"Last-Translator: Joshua Kiley <Unknown>\n"
1313"Language-Team: Irish <ga@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"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-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -187,15 +187,15 @@ msgstr ""
187187msgid "Reset"
188188msgstr ""
189189
190−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
190+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
191191msgid "Show less"
192192msgstr ""
193193
194−#: qml/Dash/GenericScopeView.qml:570
194+#: qml/Dash/GenericScopeView.qml:579
195195msgid "Show all"
196196msgstr ""
197197
198−#: qml/Dash/GenericScopeView.qml:627
198+#: qml/Dash/GenericScopeView.qml:636
199199msgctxt "Label: Hint for dash search line edit"
200200msgid "Search"
201201msgstr "Cuardach"
po/gd.po+7−7
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2016-04-08 18:34+0000\n"
1212"Last-Translator: Akerbeltz <fios@akerbeltz.org>\n"
1313"Language-Team: Fòram na Gàidhlig\n"
@@ -16,7 +16,7 @@ msgstr ""
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : "
1818"(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-06 04:54+0000\n"
2020"X-Generator: Launchpad (build 17995)\n"
2121"Language: gd\n"
2222
@@ -198,15 +198,15 @@ msgstr "Cuir na toraidhean air gleus"
198198msgid "Reset"
199199msgstr "Ath-shuidhich"
200200
201−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
201+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
202202msgid "Show less"
203−msgstr ""
203+msgstr "Seall nas lugha dhiubh"
204204
205−#: qml/Dash/GenericScopeView.qml:570
205+#: qml/Dash/GenericScopeView.qml:579
206206msgid "Show all"
207−msgstr ""
207+msgstr "Seall na h-uile"
208208
209−#: qml/Dash/GenericScopeView.qml:627
209+#: qml/Dash/GenericScopeView.qml:636
210210msgctxt "Label: Hint for dash search line edit"
211211msgid "Search"
212212msgstr "Lorg"
po/gl.po+7−7
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2016-01-15 14:56+0000\n"
1212"Last-Translator: Marcos Lans <Unknown>\n"
1313"Language-Team: Galician <gl@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -188,15 +188,15 @@ msgstr "Afinar os resultados"
188188msgid "Reset"
189189msgstr "Restabelecer"
190190
191−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
191+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
192192msgid "Show less"
193−msgstr ""
193+msgstr "Mostrar menos"
194194
195−#: qml/Dash/GenericScopeView.qml:570
195+#: qml/Dash/GenericScopeView.qml:579
196196msgid "Show all"
197−msgstr ""
197+msgstr "Mostrar todo"
198198
199−#: qml/Dash/GenericScopeView.qml:627
199+#: qml/Dash/GenericScopeView.qml:636
200200msgctxt "Label: Hint for dash search line edit"
201201msgid "Search"
202202msgstr "Buscar"
po/gv.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-04-02 14:24+0000\n"
1212"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1313"Language-Team: Manx <gv@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"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-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -193,15 +193,15 @@ msgstr ""
193193msgid "Reset"
194194msgstr ""
195195
196−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
196+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
197197msgid "Show less"
198198msgstr ""
199199
200−#: qml/Dash/GenericScopeView.qml:570
200+#: qml/Dash/GenericScopeView.qml:579
201201msgid "Show all"
202202msgstr ""
203203
204−#: qml/Dash/GenericScopeView.qml:627
204+#: qml/Dash/GenericScopeView.qml:636
205205msgctxt "Label: Hint for dash search line edit"
206206msgid "Search"
207207msgstr ""
po/he.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-07-12 08:47+0000\n"
1212"Last-Translator: Yaron <sh.yaron@gmail.com>\n"
1313"Language-Team: Hebrew <he@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -186,15 +186,15 @@ msgstr ""
186186msgid "Reset"
187187msgstr ""
188188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190190msgid "Show less"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194194msgid "Show all"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198198msgctxt "Label: Hint for dash search line edit"
199199msgid "Search"
200200msgstr "חיפוש"
po/hi.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2014-01-15 01:49+0000\n"
1212"Last-Translator: Siddhanathan Shanmugam <Unknown>\n"
1313"Language-Team: Hindi <hi@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -186,15 +186,15 @@ msgstr ""
186186msgid "Reset"
187187msgstr ""
188188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190190msgid "Show less"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194194msgid "Show all"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198198msgctxt "Label: Hint for dash search line edit"
199199msgid "Search"
200200msgstr ""
po/hr.po+72−9
@@ -7,16 +7,16 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
11−"PO-Revision-Date: 2013-06-27 04:14+0000\n"
12−"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
10+"POT-Creation-Date: 2016-05-04 18:09+0000\n"
11+"PO-Revision-Date: 2016-05-04 17:52+0000\n"
12+"Last-Translator: gogo <trebelnik2@gmail.com>\n"
1313"Language-Team: Croatian <hr@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
1818"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-06 04:54+0000\n"
2020"X-Generator: Launchpad (build 17995)\n"
2121
2222#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -192,15 +192,15 @@ msgstr "Precizirajte svoje rezultate"
192192msgid "Reset"
193193msgstr "Ponovno postavi"
194194
195−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
195+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
196196msgid "Show less"
197−msgstr ""
197+msgstr "Prikaži manje"
198198
199−#: qml/Dash/GenericScopeView.qml:570
199+#: qml/Dash/GenericScopeView.qml:579
200200msgid "Show all"
201−msgstr ""
201+msgstr "Prikaži sve"
202202
203−#: qml/Dash/GenericScopeView.qml:627
203+#: qml/Dash/GenericScopeView.qml:636
204204msgctxt "Label: Hint for dash search line edit"
205205msgid "Search"
206206msgstr "Pretraži"
@@ -467,6 +467,7 @@ msgstr "Povucite od lijevog ruba za otvaranje pokretača"
467467#: qml/Tutorial/TutorialRight.qml:55
468468msgid "Push your mouse against the right edge to view your open apps"
469469msgstr ""
470+"Gurnite svoj miš uz desni rub kako bi vidjeli svoje otvorene aplikacije"
470471
471472#: qml/Tutorial/TutorialRight.qml:56
472473msgid "Short or long swipe from the right edge to view your open apps"
@@ -782,9 +783,36 @@ msgstr "Vrlo slaba lozinka"
782783#~ msgid "Search"
783784#~ msgstr "Pretraživanje"
784785
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+
785810#~ msgid "See all"
786811#~ msgstr "Prikaži sve"
787812
813+#~ msgid "Settings"
814+#~ msgstr "Postavke"
815+
788816#~ msgid "See less"
789817#~ msgstr "Prikaži manje"
790818
@@ -1013,3 +1041,38 @@ msgstr "Vrlo slaba lozinka"
10131041#~ msgid "Hover your mouse on the right edge to view your open apps"
10141042#~ msgstr ""
10151043#~ "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+7−7
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2016-03-24 09:19+0000\n"
1212"Last-Translator: Richard Somlói <ricsipontaz@gmail.com>\n"
1313"Language-Team: Hungarian <hu@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -190,15 +190,15 @@ msgstr "Találatok finomítása"
190190msgid "Reset"
191191msgstr "Alaphelyzetbe állítás"
192192
193−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
193+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
194194msgid "Show less"
195−msgstr ""
195+msgstr "Kevesebb"
196196
197−#: qml/Dash/GenericScopeView.qml:570
197+#: qml/Dash/GenericScopeView.qml:579
198198msgid "Show all"
199−msgstr ""
199+msgstr "Összes megjelenítése"
200200
201−#: qml/Dash/GenericScopeView.qml:627
201+#: qml/Dash/GenericScopeView.qml:636
202202msgctxt "Label: Hint for dash search line edit"
203203msgid "Search"
204204msgstr "Keresés"
po/hy.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2014-10-28 06:34+0000\n"
1212"Last-Translator: Vahan Harutyunyan <Unknown>\n"
1313"Language-Team: Armenian <hy@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -190,15 +190,15 @@ msgstr ""
190190msgid "Reset"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
193+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
194194msgid "Show less"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:570
197+#: qml/Dash/GenericScopeView.qml:579
198198msgid "Show all"
199199msgstr ""
200200
201−#: qml/Dash/GenericScopeView.qml:627
201+#: qml/Dash/GenericScopeView.qml:636
202202msgctxt "Label: Hint for dash search line edit"
203203msgid "Search"
204204msgstr ""
po/ia.po+7−7
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-08-25 19:31+0000\n"
1212"Last-Translator: karm <melo@carmu.com>\n"
1313"Language-Team: Interlingua <ia@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -190,15 +190,15 @@ msgstr "Poli tu resultatos"
190190msgid "Reset"
191191msgstr "Restabilir"
192192
193−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
193+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
194194msgid "Show less"
195−msgstr ""
195+msgstr "Monstrar minus"
196196
197−#: qml/Dash/GenericScopeView.qml:570
197+#: qml/Dash/GenericScopeView.qml:579
198198msgid "Show all"
199−msgstr ""
199+msgstr "Monstrar toto"
200200
201−#: qml/Dash/GenericScopeView.qml:627
201+#: qml/Dash/GenericScopeView.qml:636
202202msgctxt "Label: Hint for dash search line edit"
203203msgid "Search"
204204msgstr "Cerca"
po/id.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2013-06-26 22:35+0000\n"
1212"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1313"Language-Team: Indonesian <id@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -189,15 +189,15 @@ msgstr ""
189189msgid "Reset"
190190msgstr ""
191191
192−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
192+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
193193msgid "Show less"
194194msgstr ""
195195
196−#: qml/Dash/GenericScopeView.qml:570
196+#: qml/Dash/GenericScopeView.qml:579
197197msgid "Show all"
198198msgstr ""
199199
200−#: qml/Dash/GenericScopeView.qml:627
200+#: qml/Dash/GenericScopeView.qml:636
201201msgctxt "Label: Hint for dash search line edit"
202202msgid "Search"
203203msgstr ""
po/is.po+5−5
@@ -9,7 +9,7 @@ msgid ""
99msgstr ""
1010"Project-Id-Version: po_unity8-is\n"
1111"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-04 18:09+0000\n"
1313"PO-Revision-Date: 2014-11-13 09:32+0000\n"
1414"Last-Translator: Sveinn í Felli <sv1@fellsnet.is>\n"
1515"Language-Team: Icelandic <translation-team-is@lists.sourceforge.net>\n"
@@ -17,7 +17,7 @@ msgstr ""
1717"Content-Type: text/plain; charset=UTF-8\n"
1818"Content-Transfer-Encoding: 8bit\n"
1919"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-06 04:54+0000\n"
2121"X-Generator: Launchpad (build 17995)\n"
2222"Language: is\n"
2323
@@ -195,15 +195,15 @@ msgstr ""
195195msgid "Reset"
196196msgstr ""
197197
198−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
198+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
199199msgid "Show less"
200200msgstr ""
201201
202−#: qml/Dash/GenericScopeView.qml:570
202+#: qml/Dash/GenericScopeView.qml:579
203203msgid "Show all"
204204msgstr ""
205205
206−#: qml/Dash/GenericScopeView.qml:627
206+#: qml/Dash/GenericScopeView.qml:636
207207msgctxt "Label: Hint for dash search line edit"
208208msgid "Search"
209209msgstr ""
po/it.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2016-04-03 16:08+0000\n"
1212"Last-Translator: Milo Casagrande <milo.casagrande@gmail.com>\n"
1313"Language-Team: Italian <it@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -194,15 +194,15 @@ msgstr "Affina la ricerca"
194194msgid "Reset"
195195msgstr "Azzera"
196196
197−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
197+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
198198msgid "Show less"
199199msgstr ""
200200
201−#: qml/Dash/GenericScopeView.qml:570
201+#: qml/Dash/GenericScopeView.qml:579
202202msgid "Show all"
203203msgstr ""
204204
205−#: qml/Dash/GenericScopeView.qml:627
205+#: qml/Dash/GenericScopeView.qml:636
206206msgctxt "Label: Hint for dash search line edit"
207207msgid "Search"
208208msgstr "Cerca"
po/ja.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-10-05 10:05+0000\n"
1212"Last-Translator: Kentaro Kazuhama <Unknown>\n"
1313"Language-Team: Japanese <ja@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -185,15 +185,15 @@ msgstr ""
185185msgid "Reset"
186186msgstr ""
187187
188−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
188+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
189189msgid "Show less"
190190msgstr ""
191191
192−#: qml/Dash/GenericScopeView.qml:570
192+#: qml/Dash/GenericScopeView.qml:579
193193msgid "Show all"
194194msgstr ""
195195
196−#: qml/Dash/GenericScopeView.qml:627
196+#: qml/Dash/GenericScopeView.qml:636
197197msgctxt "Label: Hint for dash search line edit"
198198msgid "Search"
199199msgstr ""
po/km.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2014-08-20 02:48+0000\n"
1212"Last-Translator: Sophea Sok <sksophea@gmail.com>\n"
1313"Language-Team: Khmer <km@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -188,15 +188,15 @@ msgstr ""
188188msgid "Reset"
189189msgstr "កំណត់​ឡើង​វិញ​"
190190
191−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
191+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
192192msgid "Show less"
193193msgstr ""
194194
195−#: qml/Dash/GenericScopeView.qml:570
195+#: qml/Dash/GenericScopeView.qml:579
196196msgid "Show all"
197197msgstr ""
198198
199−#: qml/Dash/GenericScopeView.qml:627
199+#: qml/Dash/GenericScopeView.qml:636
200200msgctxt "Label: Hint for dash search line edit"
201201msgid "Search"
202202msgstr "ស្វែងរក"
po/kn.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2013-06-27 05:43+0000\n"
1212"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
1313"Language-Team: Kannada <kn@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -186,15 +186,15 @@ msgstr ""
186186msgid "Reset"
187187msgstr ""
188188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190190msgid "Show less"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194194msgid "Show all"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198198msgctxt "Label: Hint for dash search line edit"
199199msgid "Search"
200200msgstr ""
po/ko.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2014-08-19 13:02+0000\n"
1212"Last-Translator: MinSik CHO <Unknown>\n"
1313"Language-Team: Korean <ko@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -185,15 +185,15 @@ msgstr ""
185185msgid "Reset"
186186msgstr ""
187187
188−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
188+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
189189msgid "Show less"
190190msgstr ""
191191
192−#: qml/Dash/GenericScopeView.qml:570
192+#: qml/Dash/GenericScopeView.qml:579
193193msgid "Show all"
194194msgstr ""
195195
196−#: qml/Dash/GenericScopeView.qml:627
196+#: qml/Dash/GenericScopeView.qml:636
197197msgctxt "Label: Hint for dash search line edit"
198198msgid "Search"
199199msgstr "검색"
po/ku.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2014-09-10 13:14+0000\n"
1212"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1313"Language-Team: Kurdish <ku@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -188,15 +188,15 @@ msgstr ""
188188msgid "Reset"
189189msgstr ""
190190
191−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
191+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
192192msgid "Show less"
193193msgstr ""
194194
195−#: qml/Dash/GenericScopeView.qml:570
195+#: qml/Dash/GenericScopeView.qml:579
196196msgid "Show all"
197197msgstr ""
198198
199−#: qml/Dash/GenericScopeView.qml:627
199+#: qml/Dash/GenericScopeView.qml:636
200200msgctxt "Label: Hint for dash search line edit"
201201msgid "Search"
202202msgstr ""
po/ky.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2013-06-27 06:17+0000\n"
1212"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
1313"Language-Team: Kirghiz <ky@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -186,15 +186,15 @@ msgstr ""
186186msgid "Reset"
187187msgstr ""
188188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190190msgid "Show less"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194194msgid "Show all"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198198msgctxt "Label: Hint for dash search line edit"
199199msgid "Search"
200200msgstr ""
po/lo.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2013-10-02 10:00+0000\n"
1212"Last-Translator: Anousak <anousak@gmail.com>\n"
1313"Language-Team: Lao <lo@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -186,15 +186,15 @@ msgstr ""
186186msgid "Reset"
187187msgstr ""
188188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190190msgid "Show less"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194194msgid "Show all"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198198msgctxt "Label: Hint for dash search line edit"
199199msgid "Search"
200200msgstr ""
po/lt.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2014-05-19 17:15+0000\n"
1212"Last-Translator: Mantas Kriaučiūnas <mantas@akl.lt>\n"
1313"Language-Team: Lithuanian <lt@li.org>\n"
@@ -16,7 +16,7 @@ msgstr ""
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
1818"(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-06 04:54+0000\n"
2020"X-Generator: Launchpad (build 17995)\n"
2121
2222#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -187,15 +187,15 @@ msgstr ""
187187msgid "Reset"
188188msgstr ""
189189
190−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
190+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
191191msgid "Show less"
192192msgstr ""
193193
194−#: qml/Dash/GenericScopeView.qml:570
194+#: qml/Dash/GenericScopeView.qml:579
195195msgid "Show all"
196196msgstr ""
197197
198−#: qml/Dash/GenericScopeView.qml:627
198+#: qml/Dash/GenericScopeView.qml:636
199199msgctxt "Label: Hint for dash search line edit"
200200msgid "Search"
201201msgstr ""
po/lv.po+5−5
@@ -8,7 +8,7 @@ msgid ""
88msgstr ""
99"Project-Id-Version: unity\n"
1010"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-04 18:09+0000\n"
1212"PO-Revision-Date: 2015-11-22 19:13+0000\n"
1313"Last-Translator: Klavs Anson <anson.klavs@gmail.com>\n"
1414"Language-Team: Latvian <lata-l10n@googlegroups.com>\n"
@@ -16,7 +16,7 @@ msgstr ""
1616"Content-Type: text/plain; charset=UTF-8\n"
1717"Content-Transfer-Encoding: 8bit\n"
1818"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-06 04:54+0000\n"
2020"X-Generator: Launchpad (build 17995)\n"
2121"Language: lv\n"
2222
@@ -191,15 +191,15 @@ msgstr ""
191191msgid "Reset"
192192msgstr ""
193193
194−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
194+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
195195msgid "Show less"
196196msgstr ""
197197
198−#: qml/Dash/GenericScopeView.qml:570
198+#: qml/Dash/GenericScopeView.qml:579
199199msgid "Show all"
200200msgstr ""
201201
202−#: qml/Dash/GenericScopeView.qml:627
202+#: qml/Dash/GenericScopeView.qml:636
203203msgctxt "Label: Hint for dash search line edit"
204204msgid "Search"
205205msgstr "Meklēt"
po/ml.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2013-11-23 11:44+0000\n"
1212"Last-Translator: ST Alfas <Unknown>\n"
1313"Language-Team: Malayalam <ml@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -186,15 +186,15 @@ msgstr ""
186186msgid "Reset"
187187msgstr ""
188188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190190msgid "Show less"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194194msgid "Show all"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198198msgctxt "Label: Hint for dash search line edit"
199199msgid "Search"
200200msgstr ""
po/mr.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2014-01-14 19:54+0000\n"
1212"Last-Translator: Rohan Deshmukh <Unknown>\n"
1313"Language-Team: Marathi <mr@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -186,15 +186,15 @@ msgstr ""
186186msgid "Reset"
187187msgstr ""
188188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190190msgid "Show less"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194194msgid "Show all"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198198msgctxt "Label: Hint for dash search line edit"
199199msgid "Search"
200200msgstr "शोध"
po/ms.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2014-01-17 09:05+0000\n"
1212"Last-Translator: abuyop <Unknown>\n"
1313"Language-Team: Malay <ms@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -188,15 +188,15 @@ msgstr ""
188188msgid "Reset"
189189msgstr ""
190190
191−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
191+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
192192msgid "Show less"
193193msgstr ""
194194
195−#: qml/Dash/GenericScopeView.qml:570
195+#: qml/Dash/GenericScopeView.qml:579
196196msgid "Show all"
197197msgstr ""
198198
199−#: qml/Dash/GenericScopeView.qml:627
199+#: qml/Dash/GenericScopeView.qml:636
200200msgctxt "Label: Hint for dash search line edit"
201201msgid "Search"
202202msgstr "Gelintar"
po/my.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2013-12-12 11:12+0000\n"
1212"Last-Translator: Pyae Sone <Unknown>\n"
1313"Language-Team: Burmese <my@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -186,15 +186,15 @@ msgstr ""
186186msgid "Reset"
187187msgstr ""
188188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190190msgid "Show less"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194194msgid "Show all"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198198msgctxt "Label: Hint for dash search line edit"
199199msgid "Search"
200200msgstr "ရှာဖွေရန်"
po/nb.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2016-03-29 08:56+0000\n"
1212"Last-Translator: Åka Sikrom <Unknown>\n"
1313"Language-Team: Norwegian Bokmal <nb@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -192,15 +192,15 @@ msgstr "Filtrer søketreff"
192192msgid "Reset"
193193msgstr "Tilbakestill"
194194
195−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
195+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
196196msgid "Show less"
197197msgstr ""
198198
199−#: qml/Dash/GenericScopeView.qml:570
199+#: qml/Dash/GenericScopeView.qml:579
200200msgid "Show all"
201201msgstr ""
202202
203−#: qml/Dash/GenericScopeView.qml:627
203+#: qml/Dash/GenericScopeView.qml:636
204204msgctxt "Label: Hint for dash search line edit"
205205msgid "Search"
206206msgstr "Søk"
po/ne.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-12-06 15:11+0000\n"
1212"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1313"Language-Team: Nepali <ne@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -186,15 +186,15 @@ msgstr ""
186186msgid "Reset"
187187msgstr ""
188188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190190msgid "Show less"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194194msgid "Show all"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198198msgctxt "Label: Hint for dash search line edit"
199199msgid "Search"
200200msgstr ""
po/nl.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-07-07 07:14+0000\n"
1212"Last-Translator: Hannie Dumoleyn <Unknown>\n"
1313"Language-Team: Dutch <nl@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -195,15 +195,15 @@ msgstr "Resultaten verfijnen"
195195msgid "Reset"
196196msgstr "Herstellen"
197197
198−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
198+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
199199msgid "Show less"
200200msgstr ""
201201
202−#: qml/Dash/GenericScopeView.qml:570
202+#: qml/Dash/GenericScopeView.qml:579
203203msgid "Show all"
204204msgstr ""
205205
206−#: qml/Dash/GenericScopeView.qml:627
206+#: qml/Dash/GenericScopeView.qml:636
207207msgctxt "Label: Hint for dash search line edit"
208208msgid "Search"
209209msgstr "Zoeken"
po/nn.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-05-12 11:32+0000\n"
1212"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1313"Language-Team: Norwegian Nynorsk <nn@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -186,15 +186,15 @@ msgstr ""
186186msgid "Reset"
187187msgstr ""
188188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190190msgid "Show less"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194194msgid "Show all"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198198msgctxt "Label: Hint for dash search line edit"
199199msgid "Search"
200200msgstr ""
po/oc.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-02-05 20:35+0000\n"
1212"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1313"Language-Team: Occitan (post 1500) <oc@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -195,15 +195,15 @@ msgstr "Afinar vòstres resultats"
195195msgid "Reset"
196196msgstr "Reïnicializar"
197197
198−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
198+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
199199msgid "Show less"
200200msgstr ""
201201
202−#: qml/Dash/GenericScopeView.qml:570
202+#: qml/Dash/GenericScopeView.qml:579
203203msgid "Show all"
204204msgstr ""
205205
206−#: qml/Dash/GenericScopeView.qml:627
206+#: qml/Dash/GenericScopeView.qml:636
207207msgctxt "Label: Hint for dash search line edit"
208208msgid "Search"
209209msgstr "Recercar"
po/or.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-03-21 05:28+0000\n"
1212"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1313"Language-Team: Oriya <or@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n!=1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -186,15 +186,15 @@ msgstr ""
186186msgid "Reset"
187187msgstr ""
188188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190190msgid "Show less"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194194msgid "Show all"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198198msgctxt "Label: Hint for dash search line edit"
199199msgid "Search"
200200msgstr ""
po/pa.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-04-24 04:29+0000\n"
1212"Last-Translator: Gursharnjit_Singh <ubuntuser13@gmail.com>\n"
1313"Language-Team: Punjabi <pa@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -188,15 +188,15 @@ msgstr ""
188188msgid "Reset"
189189msgstr ""
190190
191−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
191+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
192192msgid "Show less"
193193msgstr ""
194194
195−#: qml/Dash/GenericScopeView.qml:570
195+#: qml/Dash/GenericScopeView.qml:579
196196msgid "Show all"
197197msgstr ""
198198
199−#: qml/Dash/GenericScopeView.qml:627
199+#: qml/Dash/GenericScopeView.qml:636
200200msgctxt "Label: Hint for dash search line edit"
201201msgid "Search"
202202msgstr "ਖੋਜ"
po/pl.po+9−9
@@ -7,16 +7,16 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
11−"PO-Revision-Date: 2016-03-28 20:45+0000\n"
12−"Last-Translator: Krzysztof Tataradziński <Unknown>\n"
10+"POT-Creation-Date: 2016-05-04 18:09+0000\n"
11+"PO-Revision-Date: 2016-05-05 13:36+0000\n"
12+"Last-Translator: dawidd6 <dawidd0811@gmail.com>\n"
1313"Language-Team: Polish <pl@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
1818"|| 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-06 04:54+0000\n"
2020"X-Generator: Launchpad (build 17995)\n"
2121
2222#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -189,15 +189,15 @@ msgstr "Przefiltruj wyniki"
189189msgid "Reset"
190190msgstr "Reset"
191191
192−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
192+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
193193msgid "Show less"
194−msgstr ""
194+msgstr "Pokaż mniej"
195195
196−#: qml/Dash/GenericScopeView.qml:570
196+#: qml/Dash/GenericScopeView.qml:579
197197msgid "Show all"
198−msgstr ""
198+msgstr "Pokaż wszystko"
199199
200−#: qml/Dash/GenericScopeView.qml:627
200+#: qml/Dash/GenericScopeView.qml:636
201201msgctxt "Label: Hint for dash search line edit"
202202msgid "Search"
203203msgstr "Szukaj"
po/pt.po+7−7
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2016-02-18 01:11+0000\n"
1212"Last-Translator: Ivo Xavier <ivoxavier.8@gmail.com>\n"
1313"Language-Team: Portuguese <pt@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -193,15 +193,15 @@ msgstr "Redefina os seus resultados"
193193msgid "Reset"
194194msgstr "Repor"
195195
196−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
196+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
197197msgid "Show less"
198−msgstr ""
198+msgstr "Mostrar menos"
199199
200−#: qml/Dash/GenericScopeView.qml:570
200+#: qml/Dash/GenericScopeView.qml:579
201201msgid "Show all"
202−msgstr ""
202+msgstr "Mostrar tudo"
203203
204−#: qml/Dash/GenericScopeView.qml:627
204+#: qml/Dash/GenericScopeView.qml:636
205205msgctxt "Label: Hint for dash search line edit"
206206msgid "Search"
207207msgstr "Procurar"
po/pt_BR.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-08-05 04:40+0000\n"
1212"Last-Translator: Julio Alexander Sieg <julio.sieg@gmail.com>\n"
1313"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:55+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -190,15 +190,15 @@ msgstr ""
190190msgid "Reset"
191191msgstr "Redefinir"
192192
193−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
193+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
194194msgid "Show less"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:570
197+#: qml/Dash/GenericScopeView.qml:579
198198msgid "Show all"
199199msgstr ""
200200
201−#: qml/Dash/GenericScopeView.qml:627
201+#: qml/Dash/GenericScopeView.qml:636
202202msgctxt "Label: Hint for dash search line edit"
203203msgid "Search"
204204msgstr "Pesquisar"
po/ro.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-07-06 17:47+0000\n"
1212"Last-Translator: Meriuță Cornel <meriutacornel@neacornel.eu>\n"
1313"Language-Team: Romanian <ro@li.org>\n"
@@ -16,7 +16,7 @@ msgstr ""
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=3; plural=(n == 1 ? 0: (((n % 100 > 19) || ((n % 100 "
1818"== 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-06 04:54+0000\n"
2020"X-Generator: Launchpad (build 17995)\n"
2121
2222#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -193,15 +193,15 @@ msgstr ""
193193msgid "Reset"
194194msgstr ""
195195
196−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
196+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
197197msgid "Show less"
198198msgstr ""
199199
200−#: qml/Dash/GenericScopeView.qml:570
200+#: qml/Dash/GenericScopeView.qml:579
201201msgid "Show all"
202202msgstr ""
203203
204−#: qml/Dash/GenericScopeView.qml:627
204+#: qml/Dash/GenericScopeView.qml:636
205205msgctxt "Label: Hint for dash search line edit"
206206msgid "Search"
207207msgstr "Căutare"
po/ru.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-07-06 05:33+0000\n"
1212"Last-Translator: ☠Jay ZDLin☠ <Unknown>\n"
1313"Language-Team: Russian <ru@li.org>\n"
@@ -16,7 +16,7 @@ msgstr ""
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
1818"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-06 04:54+0000\n"
2020"X-Generator: Launchpad (build 17995)\n"
2121
2222#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -192,15 +192,15 @@ msgstr ""
192192msgid "Reset"
193193msgstr "Сбросить"
194194
195−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
195+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
196196msgid "Show less"
197197msgstr ""
198198
199−#: qml/Dash/GenericScopeView.qml:570
199+#: qml/Dash/GenericScopeView.qml:579
200200msgid "Show all"
201201msgstr ""
202202
203−#: qml/Dash/GenericScopeView.qml:627
203+#: qml/Dash/GenericScopeView.qml:636
204204msgctxt "Label: Hint for dash search line edit"
205205msgid "Search"
206206msgstr "Поиск"
po/shn.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-11-10 12:09+0000\n"
1212"Last-Translator: Rockworld <sumoisrock@gmail.com>\n"
1313"Language-Team: Shan <shn@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"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-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -186,15 +186,15 @@ msgstr ""
186186msgid "Reset"
187187msgstr ""
188188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190190msgid "Show less"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194194msgid "Show all"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198198msgctxt "Label: Hint for dash search line edit"
199199msgid "Search"
200200msgstr ""
po/si.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2013-06-26 22:36+0000\n"
1212"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1313"Language-Team: Sinhalese <si@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -188,15 +188,15 @@ msgstr ""
188188msgid "Reset"
189189msgstr ""
190190
191−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
191+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
192192msgid "Show less"
193193msgstr ""
194194
195−#: qml/Dash/GenericScopeView.qml:570
195+#: qml/Dash/GenericScopeView.qml:579
196196msgid "Show all"
197197msgstr ""
198198
199−#: qml/Dash/GenericScopeView.qml:627
199+#: qml/Dash/GenericScopeView.qml:636
200200msgctxt "Label: Hint for dash search line edit"
201201msgid "Search"
202202msgstr ""
po/sk.po+54−9
@@ -7,15 +7,15 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
11−"PO-Revision-Date: 2016-03-26 15:29+0000\n"
10+"POT-Creation-Date: 2016-05-04 18:09+0000\n"
11+"PO-Revision-Date: 2016-05-02 10:43+0000\n"
1212"Last-Translator: P_E_T_O <Unknown>\n"
1313"Language-Team: Slovak <sk@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=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-06 04:55+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020"Language: sk\n"
2121
@@ -195,15 +195,15 @@ msgstr "Spresniť výsledky"
195195msgid "Reset"
196196msgstr "Resetovať"
197197
198−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
198+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
199199msgid "Show less"
200−msgstr ""
200+msgstr "Zobraziť menej"
201201
202−#: qml/Dash/GenericScopeView.qml:570
202+#: qml/Dash/GenericScopeView.qml:579
203203msgid "Show all"
204−msgstr ""
204+msgstr "Zobraziť všetko"
205205
206−#: qml/Dash/GenericScopeView.qml:627
206+#: qml/Dash/GenericScopeView.qml:636
207207msgctxt "Label: Hint for dash search line edit"
208208msgid "Search"
209209msgstr "Hľadať"
@@ -469,7 +469,7 @@ msgstr "Potiahnite od ľavého okraja pre otvorenie spúšťača"
469469
470470#: qml/Tutorial/TutorialRight.qml:55
471471msgid "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í"
473473
474474#: qml/Tutorial/TutorialRight.qml:56
475475msgid "Short or long swipe from the right edge to view your open apps"
@@ -764,6 +764,30 @@ msgstr "Heslo je slabé"
764764msgid "Very weak password"
765765msgstr "Heslo je veľmi slabé"
766766
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+
767791#~ msgctxt "Title: Reboot/Shut down dialog"
768792#~ msgid "Shut down"
769793#~ msgstr "Vypnúť"
@@ -951,3 +975,24 @@ msgstr "Heslo je veľmi slabé"
951975
952976#~ msgid "Hover your mouse on the right edge to view your open apps"
953977#~ 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+8−8
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2016-01-31 18:34+0000\n"
1212"Last-Translator: Bernard Banko <Unknown>\n"
1313"Language-Team: Slovenian <sl@li.org>\n"
@@ -16,7 +16,7 @@ msgstr ""
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || "
1818"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-06 04:55+0000\n"
2020"X-Generator: Launchpad (build 17995)\n"
2121
2222#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -193,15 +193,15 @@ msgstr "Prečistite rezultate"
193193msgid "Reset"
194194msgstr "Ponastavi"
195195
196−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
196+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
197197msgid "Show less"
198−msgstr ""
198+msgstr "Pokaži manj"
199199
200−#: qml/Dash/GenericScopeView.qml:570
200+#: qml/Dash/GenericScopeView.qml:579
201201msgid "Show all"
202−msgstr ""
202+msgstr "Pokaži vse"
203203
204−#: qml/Dash/GenericScopeView.qml:627
204+#: qml/Dash/GenericScopeView.qml:636
205205msgctxt "Label: Hint for dash search line edit"
206206msgid "Search"
207207msgstr "Iskanje"
@@ -469,7 +469,7 @@ msgstr "Potegnite levi rob za prikaz zaganjalnika"
469469
470470#: qml/Tutorial/TutorialRight.qml:55
471471msgid "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."
473473
474474#: qml/Tutorial/TutorialRight.qml:56
475475msgid "Short or long swipe from the right edge to view your open apps"
po/sq.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2016-04-21 06:03+0000\n"
1212"Last-Translator: Indrit Bashkimi <indrit.bashkimi@gmail.com>\n"
1313"Language-Team: sq\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:36+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:54+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020"Language: sq\n"
2121
@@ -187,15 +187,15 @@ msgstr "Përmirëso rezultatet"
187187msgid "Reset"
188188msgstr "Rivendos"
189189
190−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
190+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
191191msgid "Show less"
192192msgstr ""
193193
194−#: qml/Dash/GenericScopeView.qml:570
194+#: qml/Dash/GenericScopeView.qml:579
195195msgid "Show all"
196196msgstr ""
197197
198−#: qml/Dash/GenericScopeView.qml:627
198+#: qml/Dash/GenericScopeView.qml:636
199199msgctxt "Label: Hint for dash search line edit"
200200msgid "Search"
201201msgstr "Kërko"
po/sr.po+9−8
@@ -8,8 +8,8 @@ msgid ""
88msgstr ""
99"Project-Id-Version: unity\n"
1010"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
11−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
12−"PO-Revision-Date: 2016-03-24 12:36+0000\n"
11+"POT-Creation-Date: 2016-05-04 18:09+0000\n"
12+"PO-Revision-Date: 2016-05-04 19:50+0000\n"
1313"Last-Translator: Bojan Bogdanović <Unknown>\n"
1414"Language-Team: српски <xfce4@xfce4.org>\n"
1515"MIME-Version: 1.0\n"
@@ -17,7 +17,7 @@ msgstr ""
1717"Content-Transfer-Encoding: 8bit\n"
1818"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
1919"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-06 04:54+0000\n"
2121"X-Generator: Launchpad (build 17995)\n"
2222"Language: sr\n"
2323
@@ -192,15 +192,15 @@ msgstr "Пречистите Ваше резултате"
192192msgid "Reset"
193193msgstr "Ресетуј"
194194
195−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
195+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
196196msgid "Show less"
197−msgstr ""
197+msgstr "Прикажи мање"
198198
199−#: qml/Dash/GenericScopeView.qml:570
199+#: qml/Dash/GenericScopeView.qml:579
200200msgid "Show all"
201−msgstr ""
201+msgstr "Прикажи све"
202202
203−#: qml/Dash/GenericScopeView.qml:627
203+#: qml/Dash/GenericScopeView.qml:636
204204msgctxt "Label: Hint for dash search line edit"
205205msgid "Search"
206206msgstr "Претрага"
@@ -467,6 +467,7 @@ msgstr "Превуците са леве ивице да отворите пок
467467#: qml/Tutorial/TutorialRight.qml:55
468468msgid "Push your mouse against the right edge to view your open apps"
469469msgstr ""
470+"померите Вашег миша преко десне ивице да видите Ваше отворене програме"
470471
471472#: qml/Tutorial/TutorialRight.qml:56
472473msgid "Short or long swipe from the right edge to view your open apps"
po/sv.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2016-03-25 05:01+0000\n"
1212"Last-Translator: Josef Andersson <Unknown>\n"
1313"Language-Team: Swedish\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:55+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020"Language: sv\n"
2121
@@ -190,15 +190,15 @@ msgstr "Förfina dina resultat"
190190msgid "Reset"
191191msgstr "Återställ"
192192
193−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
193+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
194194msgid "Show less"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:570
197+#: qml/Dash/GenericScopeView.qml:579
198198msgid "Show all"
199199msgstr ""
200200
201−#: qml/Dash/GenericScopeView.qml:627
201+#: qml/Dash/GenericScopeView.qml:636
202202msgctxt "Label: Hint for dash search line edit"
203203msgid "Search"
204204msgstr "Sök"
po/sw.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-07-17 20:02+0000\n"
1212"Last-Translator: Valentine <mwangi_valentino@yahoo.com>\n"
1313"Language-Team: Swahili <sw@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:55+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -188,15 +188,15 @@ msgstr ""
188188msgid "Reset"
189189msgstr ""
190190
191−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
191+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
192192msgid "Show less"
193193msgstr ""
194194
195−#: qml/Dash/GenericScopeView.qml:570
195+#: qml/Dash/GenericScopeView.qml:579
196196msgid "Show all"
197197msgstr ""
198198
199−#: qml/Dash/GenericScopeView.qml:627
199+#: qml/Dash/GenericScopeView.qml:636
200200msgctxt "Label: Hint for dash search line edit"
201201msgid "Search"
202202msgstr "Tafuta"
po/ta.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2013-10-24 11:36+0000\n"
1212"Last-Translator: Arun Kumar - அருண் குமார் <thangam.arunx@gmail.com>\n"
1313"Language-Team: Ubuntu Tamil Team/Free Tamil Computing/Thamizha\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:55+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020"Language: ta\n"
2121
@@ -187,15 +187,15 @@ msgstr ""
187187msgid "Reset"
188188msgstr ""
189189
190−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
190+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
191191msgid "Show less"
192192msgstr ""
193193
194−#: qml/Dash/GenericScopeView.qml:570
194+#: qml/Dash/GenericScopeView.qml:579
195195msgid "Show all"
196196msgstr ""
197197
198−#: qml/Dash/GenericScopeView.qml:627
198+#: qml/Dash/GenericScopeView.qml:636
199199msgctxt "Label: Hint for dash search line edit"
200200msgid "Search"
201201msgstr ""
po/te.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2014-07-19 10:04+0000\n"
1212"Last-Translator: Praveen Illa <mail2ipn@gmail.com>\n"
1313"Language-Team: Telugu <te@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:55+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -186,15 +186,15 @@ msgstr ""
186186msgid "Reset"
187187msgstr ""
188188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190190msgid "Show less"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194194msgid "Show all"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198198msgctxt "Label: Hint for dash search line edit"
199199msgid "Search"
200200msgstr ""
po/th.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2014-10-02 04:55+0000\n"
1212"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1313"Language-Team: Thai <th@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:55+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -186,15 +186,15 @@ msgstr ""
186186msgid "Reset"
187187msgstr ""
188188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190190msgid "Show less"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194194msgid "Show all"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198198msgctxt "Label: Hint for dash search line edit"
199199msgid "Search"
200200msgstr ""
po/tr.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-03-22 15:56+0000\n"
1212"Last-Translator: Arda Ünlü <aarda.uunlu@gmail.com>\n"
1313"Language-Team: Turkish <tr@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:55+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -186,15 +186,15 @@ msgstr ""
186186msgid "Reset"
187187msgstr ""
188188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190190msgid "Show less"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194194msgid "Show all"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198198msgctxt "Label: Hint for dash search line edit"
199199msgid "Search"
200200msgstr "Ara"
po/ug.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-12-01 07:37+0000\n"
1212"Last-Translator: Eltikin <eltikinuyghur@hotmail.com>\n"
1313"Language-Team: Uyghur Computer Science Association <UKIJ@yahoogroups.com>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:55+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -187,15 +187,15 @@ msgstr ""
187187msgid "Reset"
188188msgstr ""
189189
190−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
190+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
191191msgid "Show less"
192192msgstr ""
193193
194−#: qml/Dash/GenericScopeView.qml:570
194+#: qml/Dash/GenericScopeView.qml:579
195195msgid "Show all"
196196msgstr ""
197197
198−#: qml/Dash/GenericScopeView.qml:627
198+#: qml/Dash/GenericScopeView.qml:636
199199msgctxt "Label: Hint for dash search line edit"
200200msgid "Search"
201201msgstr "ئىزدە"
po/uk.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2016-04-01 17:32+0000\n"
1212"Last-Translator: Yuri Chornoivan <yurchor@gmail.com>\n"
1313"Language-Team: Ukrainian <uk@li.org>\n"
@@ -16,7 +16,7 @@ msgstr ""
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
1818"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-06 04:55+0000\n"
2020"X-Generator: Launchpad (build 17995)\n"
2121
2222#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -196,15 +196,15 @@ msgstr "Покращіть результати"
196196msgid "Reset"
197197msgstr "Скинути"
198198
199−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
199+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
200200msgid "Show less"
201201msgstr ""
202202
203−#: qml/Dash/GenericScopeView.qml:570
203+#: qml/Dash/GenericScopeView.qml:579
204204msgid "Show all"
205205msgstr ""
206206
207−#: qml/Dash/GenericScopeView.qml:627
207+#: qml/Dash/GenericScopeView.qml:636
208208msgctxt "Label: Hint for dash search line edit"
209209msgid "Search"
210210msgstr "Пошук"
po/unity8.pot+4−4
@@ -8,7 +8,7 @@ msgid ""
88msgstr ""
99"Project-Id-Version: unity8\n"
1010"Report-Msgid-Bugs-To: \n"
11−"POT-Creation-Date: 2016-04-27 15:01+0000\n"
11+"POT-Creation-Date: 2016-05-04 18:09+0000\n"
1212"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
1313"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1414"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -186,15 +186,15 @@ msgstr ""
186186msgid "Reset"
187187msgstr ""
188188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190190msgid "Show less"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194194msgid "Show all"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198198msgctxt "Label: Hint for dash search line edit"
199199msgid "Search"
200200msgstr ""
po/ur.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-05-05 03:12+0000\n"
1212"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1313"Language-Team: Urdu <ur@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:55+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -186,15 +186,15 @@ msgstr ""
186186msgid "Reset"
187187msgstr ""
188188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190190msgid "Show less"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194194msgid "Show all"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198198msgctxt "Label: Hint for dash search line edit"
199199msgid "Search"
200200msgstr ""
po/uz.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-07-04 16:03+0000\n"
1212"Last-Translator: Learner <muzaffar.habibullayev@yandex.ru>\n"
1313"Language-Team: Uzbek <uz@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:55+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -186,15 +186,15 @@ msgstr ""
186186msgid "Reset"
187187msgstr ""
188188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190190msgid "Show less"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194194msgid "Show all"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198198msgctxt "Label: Hint for dash search line edit"
199199msgid "Search"
200200msgstr ""
po/vi.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2014-01-15 01:19+0000\n"
1212"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1313"Language-Team: Vietnamese <vi@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:55+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -186,15 +186,15 @@ msgstr ""
186186msgid "Reset"
187187msgstr ""
188188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190190msgid "Show less"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194194msgid "Show all"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198198msgctxt "Label: Hint for dash search line edit"
199199msgid "Search"
200200msgstr ""
po/wo.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2015-10-29 11:16+0000\n"
1212"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1313"Language-Team: Wolof <wo@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:55+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -186,15 +186,15 @@ msgstr ""
186186msgid "Reset"
187187msgstr ""
188188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190190msgid "Show less"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194194msgid "Show all"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198198msgctxt "Label: Hint for dash search line edit"
199199msgid "Search"
200200msgstr "Seet"
po/xh.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2013-09-28 13:20+0000\n"
1212"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1313"Language-Team: Xhosa <xh@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:55+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -186,15 +186,15 @@ msgstr ""
186186msgid "Reset"
187187msgstr ""
188188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190190msgid "Show less"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194194msgid "Show all"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198198msgctxt "Label: Hint for dash search line edit"
199199msgid "Search"
200200msgstr ""
po/zh_CN.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2016-04-13 06:27+0000\n"
1212"Last-Translator: YunQiang Su <wzssyqa@gmail.com>\n"
1313"Language-Team: Chinese (Simplified) <zh_CN@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:55+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -187,15 +187,15 @@ msgstr "精进查找结果"
187187msgid "Reset"
188188msgstr "重置"
189189
190−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
190+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
191191msgid "Show less"
192192msgstr ""
193193
194−#: qml/Dash/GenericScopeView.qml:570
194+#: qml/Dash/GenericScopeView.qml:579
195195msgid "Show all"
196196msgstr ""
197197
198−#: qml/Dash/GenericScopeView.qml:627
198+#: qml/Dash/GenericScopeView.qml:636
199199msgctxt "Label: Hint for dash search line edit"
200200msgid "Search"
201201msgstr "搜索"
po/zh_HK.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity8\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2014-08-10 11:45+0000\n"
1212"Last-Translator: Daniel Cheung <daniel.2345@hotmail.com>\n"
1313"Language-Team: Chinese (Hong Kong) <zh_HK@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:55+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020
2121#: plugins/IntegratedLightDM/Greeter.cpp:112
@@ -186,15 +186,15 @@ msgstr ""
186186msgid "Reset"
187187msgstr ""
188188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190190msgid "Show less"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194194msgid "Show all"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198198msgctxt "Label: Hint for dash search line edit"
199199msgid "Search"
200200msgstr ""
po/zh_TW.po+5−5
@@ -7,7 +7,7 @@ msgid ""
77msgstr ""
88"Project-Id-Version: unity\n"
99"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-04 18:09+0000\n"
1111"PO-Revision-Date: 2016-02-24 04:40+0000\n"
1212"Last-Translator: Po-Hsu Lin <po-hsu.lin@canonical.com>\n"
1313"Language-Team: Chinese (Traditional) <zh_TW@li.org>\n"
@@ -15,7 +15,7 @@ msgstr ""
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2016-04-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2016-05-06 04:55+0000\n"
1919"X-Generator: Launchpad (build 17995)\n"
2020"Language: zh_TW\n"
2121
@@ -186,15 +186,15 @@ msgstr "精細篩選結果"
186186msgid "Reset"
187187msgstr "重設"
188188
189−#: qml/Dash/GenericScopeView.qml:570 qml/Dash/GenericScopeView.qml:755
189+#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
190190msgid "Show less"
191191msgstr ""
192192
193−#: qml/Dash/GenericScopeView.qml:570
193+#: qml/Dash/GenericScopeView.qml:579
194194msgid "Show all"
195195msgstr ""
196196
197−#: qml/Dash/GenericScopeView.qml:627
197+#: qml/Dash/GenericScopeView.qml:636
198198msgctxt "Label: Hint for dash search line edit"
199199msgid "Search"
200200msgstr "搜尋"
qml/Components/ScreenGrabber.qml → qml/Components/ItemGrabber.qmlrenamed+27−17
@@ -1,5 +1,5 @@
11/*
2− * Copyright (C) 2014-2015 Canonical, Ltd.
2+ * Copyright (C) 2014-2016 Canonical, Ltd.
33 *
44 * This program is free software; you can redistribute it and/or modify
55 * it under the terms of the GNU General Public License as published by
@@ -15,36 +15,31 @@
1515 */
1616
1717import QtQuick 2.4
18−import ScreenGrabber 0.1
19−import GlobalShortcut 1.0
18+import ScreenshotDirectory 0.1
2019
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+ */
2125Rectangle {
2226 id: root
2327 visible: false
2428 color: "white"
25− anchors.fill: parent
2629 opacity: 0.0
2730
28− // to be set from outside
29− property int rotationAngle: 0
30−
31− ScreenGrabber {
32− id: screenGrabber
31+ ScreenshotDirectory {
32+ id: screenshotDirectory
3333 objectName: "screenGrabber"
3434 }
3535
36− GlobalShortcut {
37− id: screenshotShortcut
38− shortcut: Qt.Key_Print
39− onTriggered: capture()
40− }
41−
4236 NotificationAudio {
4337 id: shutterSound
4438 source: "/system/media/audio/ui/camera_click.ogg"
4539 }
4640
47− function capture() {
41+ function capture(item) {
42+ d.target = item;
4843 visible = true;
4944 shutterSound.stop();
5045 shutterSound.play();
@@ -62,13 +57,28 @@ Rectangle {
6257 }
6358 }
6459
60+ QtObject {
61+ id: d
62+ property Item target
63+ }
64+
6565 NumberAnimation on opacity {
6666 id: fadeOut
6767 from: 1.0
6868 to: 0.0
6969 onStopped: {
7070 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+
7282 visible = false;
7383 }
7484 }
qml/Components/WindowScreenshot.qml → qml/Components/ItemSnapshot.qmlrenamed+13−3
@@ -1,5 +1,5 @@
11/*
2− * Copyright (C) 2015 Canonical, Ltd.
2+ * Copyright (C) 2015-2016 Canonical, Ltd.
33 *
44 * This program is free software; you can redistribute it and/or modify
55 * it under the terms of the GNU General Public License as published by
@@ -19,9 +19,19 @@ import QtQuick 2.4
1919Item {
2020 id: root
2121
22+ property Item target
23+
24+ property bool ready: image.status === Image.Ready
25+
2226 function take() {
23− var timeNow = new Date().getTime();
24− image.source = "image://window/" + timeNow;
27+ if (!target) {
28+ console.warn("ItemSnapshot.take(): no target set");
29+ return;
30+ }
31+
32+ target.grabToImage(function(result) {
33+ image.source = result.url;
34+ });
2535 }
2636
2737 // Unload the image to free up memory
qml/Components/NotificationAudio.qml+7−3
@@ -1,5 +1,5 @@
11/*
2− * Copyright (C) 2015 Canonical, Ltd.
2+ * Copyright (C) 2015-2016 Canonical, Ltd.
33 *
44 * This program is free software; you can redistribute it and/or modify
55 * it under the terms of the GNU General Public License as published by
@@ -23,10 +23,14 @@ Item {
2323 readonly property var playbackState: priv.audio ? priv.audio.playbackState : 0
2424
2525 function play() {
26− priv.audio.play();
26+ if (priv.audio) {
27+ priv.audio.play();
28+ }
2729 }
2830 function stop() {
29− priv.audio.stop();
31+ if (priv.audio) {
32+ priv.audio.stop();
33+ }
3034 }
3135
3236 QtObject {
qml/Components/VirtualTouchPad.qml+1−1
@@ -31,7 +31,7 @@ Item {
3131 anchors.fill: parent
3232
3333 // 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
3535 property bool isClick: false
3636 property bool isDoubleClick: false
3737 property bool isDrag: false
qml/Dash/CardGrid.qml+1
@@ -78,6 +78,7 @@ DashRenderer {
7878 target: loader.item
7979 onClicked: root.clicked(index, result, loader.item, model)
8080 onPressAndHold: root.pressAndHold(index, result, model)
81+ onAction: root.action(index, result, actionId)
8182 }
8283 }
8384 }
qml/Dash/CardHorizontalList.qml+1
@@ -59,6 +59,7 @@ DashRenderer {
5959 target: loader.item
6060 onClicked: root.clicked(index, result, loader.item, model)
6161 onPressAndHold: root.pressAndHold(index, result, model)
62+ onAction: root.action(index, result, actionId)
6263 }
6364 }
6465 }
qml/Dash/CardTool.qml+23−7
@@ -162,7 +162,7 @@ Item {
162162 id: attributesModel
163163 property int numOfAttributes: 0
164164 property var model: []
165− property bool hasAttributes: {
165+ readonly property bool hasAttributes: {
166166 var attributes = components["attributes"];
167167 var hasAttributesFlag = (attributes != undefined) && (attributes["field"] != undefined);
168168
@@ -182,16 +182,31 @@ Item {
182182 }
183183 }
184184
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+
185198 Loader {
186199 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"]
188202 readonly property var maxData: {
189203 "art": Qt.resolvedUrl("graphics/pixel.png"),
190204 "mascot": Qt.resolvedUrl("graphics/pixel.png"),
191205 "title": "—\n—",
192206 "subtitle": "—",
193207 "summary": "—\n—\n—\n—\n—",
194− "attributes": attributesModel.model
208+ "attributes": attributesModel.model,
209+ "socialActions": socialActionsModel.model
195210 }
196211 sourceComponent: CardCreatorCache.getCardComponent(cardTool.template, cardTool.components, true);
197212 onLoaded: {
@@ -206,13 +221,14 @@ Item {
206221 }
207222 function updateCardData() {
208223 var data = {};
209− for (var k in fields) {
210− var component = cardTool.components[fields[k]];
211− var key = fields[k];
224+ for (var k in cfields) {
225+ var ckey = cfields[k];
226+ var component = cardTool.components[ckey];
212227 if ((typeof component === "string" && component.length > 0) ||
213228 (typeof component === "object" && component !== null
214229 && typeof component["field"] === "string" && component["field"].length > 0)) {
215− data[key] = maxData[key];
230+ var dkey = dfields[k];
231+ data[dkey] = maxData[dkey];
216232 }
217233 }
218234 item.cardData = data;
qml/Dash/CardVerticalJournal.qml+1
@@ -78,6 +78,7 @@ DashRenderer {
7878 target: loader.item
7979 onClicked: root.clicked(index, result, loader.item, model)
8080 onPressAndHold: root.pressAndHold(index, result, model)
81+ onAction: root.action(index, result, actionId)
8182 }
8283 }
8384 }
qml/Dash/DashRenderer.qml+6
@@ -57,4 +57,10 @@ Item {
5757 /// @param result result model of the clicked item, used for activation
5858 /// @param itemModel model of the item
5959 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)
6066}
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 {
2525 //! Variable used to contain widget's data
2626 property var widgetData: null
2727
28+ //! Does the widget show the title inside?
29+ property bool showsTitleOnItsOwn: false
30+
2831 objectName: widgetId
2932}
qml/Dash/Filters/FilterWidgetFactory.qml+2−1
@@ -35,7 +35,7 @@ Item {
3535
3636 Label {
3737 id: title
38− text: widgetData ? widgetData.title : ""
38+ text: widgetData && !(loader.item && loader.item.showsTitleOnItsOwn) ? widgetData.title : ""
3939 height: text != "" ? implicitHeight : 0
4040
4141 anchors {
@@ -68,6 +68,7 @@ Item {
6868 case Filters.OptionSelectorFilter: return "FilterOptionSelector.qml";
6969 case Filters.RangeInputFilter: return "FilterRangeInput.qml";
7070 case Filters.ValueSliderFilter: return "FilterValueSlider.qml";
71+ case Filters.ExpandableFilterWidget: return "FilterExpandableWidget.qml";
7172 default: return "";
7273 }
7374 }
qml/Dash/GenericScopeView.qml+9
@@ -360,6 +360,11 @@ FocusScope {
360360 scopeView.enableHeightBehaviorOnNextCreation = item.enableHeightBehaviorOnNextCreation;
361361 }
362362 }
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();
363368
364369 function clickScopeSizingHacks() {
365370 if (scope && scope.id === "clickscope" &&
@@ -390,6 +395,10 @@ FocusScope {
390395 scopeView.itemPressedAndHeld(result, baseItem.category);
391396 }
392397
398+ onAction: { // (int index, var result, var actionId)
399+ scope.activateAction(result, baseItem.category, actionId);
400+ }
401+
393402 function categoryItemCount() {
394403 var categoryItemCount = -1;
395404 if (!rendererLoader.expanded && !seeAllLabel.visible && target.collapsedItemCount > 0) {
qml/Dash/Previews/PreviewActionCombo.qml+1−1
@@ -59,7 +59,7 @@ Item {
5959
6060 delegate: PreviewActionButton {
6161 data: modelData
62− width: implicitWidth < parent.width ? parent.width : implicitWidth
62+ width: implicitWidth < root.width ? root.width : implicitWidth
6363 onClicked: root.triggeredAction(modelData)
6464 strokeColor: moreButton.strokeColor
6565 }
qml/Dash/Previews/PreviewActions.qml+8−7
@@ -26,25 +26,26 @@ PreviewWidget {
2626 id: root
2727
2828 implicitHeight: row.height + units.gu(1)
29+ readonly property var actions: root.widgetData ? root.widgetData["actions"] : null
2930
3031 Row {
3132 id: row
32− readonly property var actions: root.widgetData ? root.widgetData["actions"] : null
3333 anchors.right: parent.right
3434
3535 spacing: units.gu(1)
3636
3737 Loader {
3838 id: loader
39− readonly property bool button: row.actions && row.actions.length == 2
40− readonly property bool combo: row.actions && row.actions.length > 2
39+ objectName: "loader"
40+ readonly property bool button: root.actions && root.actions.length == 2
41+ readonly property bool combo: root.actions && root.actions.length > 2
4142 source: button ? "PreviewActionButton.qml" : (combo ? "PreviewActionCombo.qml" : "")
4243 width: (root.width - units.gu(1)) / 2
4344 onLoaded: {
4445 if (button) {
45− item.data = row.actions[1];
46+ item.data = Qt.binding(function() { return root.actions[1]; });
4647 } else if (combo) {
47− item.model = row.actions.slice(1);
48+ item.model = Qt.binding(function() { return root.actions.slice(1); });
4849 }
4950 }
5051 Binding {
@@ -61,8 +62,8 @@ PreviewWidget {
6162 }
6263
6364 PreviewActionButton {
64− data: visible ? row.actions[0] : null
65− visible: row.actions && row.actions.length > 0
65+ data: visible ? root.actions[0] : null
66+ visible: root.actions && root.actions.length > 0
6667 onTriggeredAction: root.triggered(root.widgetId, actionData.id, actionData)
6768 width: (root.width - units.gu(1)) / 2
6869 color: root.scopeStyle ? root.scopeStyle.previewButtonColor : UbuntuColors.orange
qml/Dash/Previews/PreviewIconActions.qml+15
@@ -32,10 +32,20 @@ PreviewWidget {
3232 id: row
3333 readonly property var actions: root.widgetData ? root.widgetData["actions"] : null
3434 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+ }
3544
3645 spacing: units.gu(2)
3746
3847 Repeater {
48+ id: repeater
3949 model: row.actions
4050
4151 AbstractButton {
@@ -43,6 +53,11 @@ PreviewWidget {
4353 height: label.height
4454 width: childrenRect.width
4555
56+ readonly property var iconUrl: modelData.icon;
57+ function updateIcon() {
58+ icon.source = iconUrl;
59+ }
60+
4661 Image {
4762 id: icon
4863 height: parent.height
qml/Dash/Previews/PreviewZoomableImage.qml+13−8
@@ -34,6 +34,8 @@ PreviewWidget {
3434
3535 property Item rootItem: QuickUtils.rootItem(root)
3636
37+ readonly property var imageUrl: widgetData["source"] || widgetData["fallback"] || ""
38+
3739 LazyImage {
3840 id: lazyImage
3941 objectName: "lazyImage"
@@ -42,7 +44,7 @@ PreviewWidget {
4244 right: parent.right
4345 }
4446 scaleTo: "width"
45− source: widgetData["source"] || widgetData["fallback"] || ""
47+ source: root.imageUrl
4648 asynchronous: true
4749 useUbuntuShape: false
4850 pressed: mouseArea.pressed
@@ -59,11 +61,12 @@ PreviewWidget {
5961
6062 Connections {
6163 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
6564 onStatusChanged: if (lazyImage.sourceImage.status === Image.Error) lazyImage.sourceImage.source = widgetData["fallback"];
6665 }
66+ Connections {
67+ target: root
68+ onImageUrlChanged: lazyImage.sourceImage.source = root.imageUrl;
69+ }
6770
6871 PreviewMediaToolbar {
6972 id: toolbar
@@ -86,12 +89,14 @@ PreviewWidget {
8689
8790 delegate: ZoomableImage {
8891 anchors.fill: parent
89− source: widgetData["source"] || widgetData["fallback"] || ""
92+ source: root.imageUrl
9093 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
9494 onStatusChanged: if (status === Image.Error) source = widgetData["fallback"];
95+
96+ Connections {
97+ target: root
98+ onImageUrlChanged: source = root.imageUrl;
99+ }
95100 }
96101 }
97102}
qml/DisabledScreenNotice.qml+4−4
@@ -96,19 +96,19 @@ Item {
9696
9797 Column {
9898 anchors.centerIn: parent
99− width: parent.width - units.gu(8)
100− spacing: units.gu(4)
99+ width: parent.width - (internalGu * 8)
100+ spacing: internalGu * 4
101101
102102 Label {
103103 id: text
104104 text: i18n.tr("Your device is now connected to an external display. Use this screen as a touch pad to interact with the pointer.")
105105 color: "white"
106106 width: parent.width
107− fontSize: "large"
107+ font.pixelSize: 2.5 * internalGu
108108 wrapMode: Text.Wrap
109109 }
110110 Icon {
111− height: units.gu(8)
111+ height: internalGu * 8
112112 width: height
113113 name: "input-touchpad-symbolic"
114114 color: "white"
qml/OrientedShell.qml+7−7
@@ -26,9 +26,8 @@ import "Rotation"
2626// Workaround https://bugs.launchpad.net/ubuntu/+source/unity8/+bug/1473471
2727import Ubuntu.Components 1.3
2828
29−Rectangle {
29+Item {
3030 id: root
31− color: "black"
3231
3332 implicitWidth: units.gu(40)
3433 implicitHeight: units.gu(71)
@@ -241,7 +240,7 @@ Rectangle {
241240 orientedShell: root
242241 shell: shell
243242 shellCover: shellCover
244− windowScreenshot: windowScreenshot
243+ shellSnapshot: shellSnapshot
245244 }
246245
247246 Shell {
@@ -291,8 +290,9 @@ Rectangle {
291290 visible: false
292291 }
293292
294− WindowScreenshot {
295− id: windowScreenshot
293+ ItemSnapshot {
294+ id: shellSnapshot
295+ target: shell
296296 visible: false
297297 width: root.width
298298 height: root.height
@@ -302,9 +302,9 @@ Rectangle {
302302 property real transformOriginY
303303
304304 transform: Rotation {
305− origin.x: windowScreenshot.transformOriginX; origin.y: windowScreenshot.transformOriginY;
305+ origin.x: shellSnapshot.transformOriginX; origin.y: shellSnapshot.transformOriginY;
306306 axis { x: 0; y: 0; z: 1 }
307− angle: windowScreenshot.transformRotationAngle
307+ angle: shellSnapshot.transformRotationAngle
308308 }
309309 }
310310}
qml/Panel/IndicatorsMenu.qml+20−10
@@ -43,18 +43,28 @@ Showable {
4343
4444 // TODO: Perhaps we need a animation standard for showing/hiding? Each showable seems to
4545 // use its own values. Need to ask design about this.
46− showAnimation: StandardAnimation {
47− property: "height"
48− to: openedHeight
49− duration: UbuntuAnimation.BriskDuration
50− easing.type: Easing.OutCubic
46+ showAnimation: SequentialAnimation {
47+ StandardAnimation {
48+ target: root
49+ property: "height"
50+ to: openedHeight
51+ duration: UbuntuAnimation.BriskDuration
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; } ) }
5156 }
5257
53− hideAnimation: StandardAnimation {
54− property: "height"
55− to: minimizedPanelHeight
56− duration: UbuntuAnimation.BriskDuration
57− easing.type: Easing.OutCubic
58+ hideAnimation: SequentialAnimation {
59+ StandardAnimation {
60+ target: root
61+ property: "height"
62+ to: minimizedPanelHeight
63+ duration: UbuntuAnimation.BriskDuration
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; } ) }
5868 }
5969
6070 height: minimizedPanelHeight
qml/Rotation/HalfLoopRotationAnimation.qml+2−1
@@ -1,5 +1,5 @@
11/*
2− * Copyright (C) 2015 Canonical, Ltd.
2+ * Copyright (C) 2015-2016 Canonical, Ltd.
33 *
44 * This program is free software; you can redistribute it and/or modify
55 * it under the terms of the GNU General Public License as published by
@@ -42,5 +42,6 @@ SequentialAnimation {
4242 from: root.fromAngle; to: root.toAngle
4343 duration: rotationDuration; easing.type: rotationEasing
4444 }
45+ UpdateShellTransformations { info: root.info; shell: root.shell }
4546 ScriptAction { script: { info.transitioning = false; } }
4647}
qml/Rotation/ImmediateRotationAction.qml+11−22
@@ -1,5 +1,5 @@
11/*
2− * Copyright (C) 2015 Canonical, Ltd.
2+ * Copyright (C) 2015-2016 Canonical, Ltd.
33 *
44 * This program is free software; you can redistribute it and/or modify
55 * it under the terms of the GNU General Public License as published by
@@ -16,30 +16,19 @@
1616
1717import QtQuick 2.4
1818
19−ScriptAction {
19+SequentialAnimation {
20+ id: root
2021 property var info
2122 property var shell
2223
23− script: {
24− info.transitioning = true;
25− shell.orientationAngle = info.requestedOrientationAngle;
26− shell.transformRotationAngle = info.requestedOrientationAngle;
24+ ScriptAction { script: {
25+ root.info.transitioning = true;
26+ } }
2727
28− // Making bindings as orientedShell's dimensions might wiggle during startup.
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− }
28+ UpdateShellTransformations { info: root.info; shell: root.shell }
3629
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− shell.updateFocusedAppOrientation();
43− info.transitioning = false;
44− }
30+ ScriptAction { script: {
31+ root.shell.updateFocusedAppOrientation();
32+ root.info.transitioning = false;
33+ } }
4534}
qml/Rotation/NinetyRotationAnimation.qml+14−16
@@ -1,5 +1,5 @@
11/*
2− * Copyright (C) 2015 Canonical, Ltd.
2+ * Copyright (C) 2015-2016 Canonical, Ltd.
33 *
44 * This program is free software; you can redistribute it and/or modify
55 * it under the terms of the GNU General Public License as published by
@@ -30,8 +30,7 @@ SequentialAnimation {
3030
3131 ScriptAction { script: {
3232 info.transitioning = true;
33− windowScreenshot.take();
34− windowScreenshot.visible = true;
33+
3534 shell.orientationAngle = root.toAngle;
3635 shell.x = 0;
3736 shell.width = flipShellDimensions ? orientedShell.height : orientedShell.width;
@@ -41,12 +40,10 @@ SequentialAnimation {
4140 shell.updateFocusedAppOrientation();
4241 shellCover.visible = true;
4342
44− windowScreenshot.transformOriginX = orientedShell.width / 2;
45− if (fromAngle == 180 || fromAngle == 270) {
46− windowScreenshot.transformOriginY = orientedShell.height - (orientedShell.width / 2);
47− } else {
48− windowScreenshot.transformOriginY = orientedShell.width / 2;
49− }
43+ shellSnapshot.transformOriginX = shell.transformOriginX;
44+ shellSnapshot.transformOriginY = shell.transformOriginY;
45+ shellSnapshot.transformRotationAngle = shell.transformRotationAngle;
46+ shellSnapshot.visible = true;
5047 } }
5148 ParallelAnimation {
5249 NumberAnimation {
@@ -66,24 +63,25 @@ SequentialAnimation {
6663 }
6764
6865 NumberAnimation {
69− target: windowScreenshot; property: "opacity"; from: 1; to: 0;
66+ target: shellSnapshot; property: "opacity"; from: 1; to: 0;
7067 duration: rotationDuration; easing.type: rotationEasing
7168 }
7269 RotationAnimation {
73− target: windowScreenshot; property: "transformRotationAngle";
74− from: 0; to: root.toAngle - root.fromAngle
70+ target: shellSnapshot; property: "transformRotationAngle";
71+ from: root.fromAngle; to: root.toAngle
7572 direction: RotationAnimation.Shortest
7673 duration: rotationDuration; easing.type: rotationEasing
7774 }
7875 NumberAnimation {
79− target: windowScreenshot; property: "y"
80− from: 0; to: root.toY - root.fromY
76+ target: shellSnapshot; property: "y"
77+ from: root.fromY; to: root.toY
8178 duration: rotationDuration; easing.type: rotationEasing
8279 }
8380 }
81+ UpdateShellTransformations { info: root.info; shell: root.shell }
8482 ScriptAction { script: {
85− windowScreenshot.visible = false;
86− windowScreenshot.discard();
83+ shellSnapshot.visible = false;
84+ shellSnapshot.discard();
8785 shellCover.visible = false;
8886 info.transitioning = false;
8987 } }
qml/Rotation/RotationStates.qml+25−5
@@ -1,5 +1,5 @@
11/*
2− * Copyright (C) 2015 Canonical, Ltd.
2+ * Copyright (C) 2015,2016 Canonical, Ltd.
33 *
44 * This program is free software; you can redistribute it and/or modify
55 * it under the terms of the GNU General Public License as published by
@@ -30,7 +30,7 @@ StateGroup {
3030 property Item orientedShell
3131 property Item shell
3232 property Item shellCover
33− property Item windowScreenshot
33+ property Item shellSnapshot
3434
3535 property int rotationDuration: 450
3636 property int rotationEasing: Easing.InOutCubic
@@ -88,12 +88,32 @@ StateGroup {
8888 }
8989
9090 var requestedState = d.requestedOrientationAngle.toString();
91− if (requestedState !== root.state) {
92− d.resolveAnimationType();
93− root.state = requestedState;
91+ if (requestedState === root.state) {
92+ return;
93+ }
94+
95+ d.resolveAnimationType();
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();
94109 }
110+
111+ root.state = requestedState;
95112 }
96113
114+ property bool shellSnapshotReady: root.shellSnapshot && root.shellSnapshot.ready
115+ onShellSnapshotReadyChanged: tryUpdateState();
116+
97117 property Connections shellConnections: Connections {
98118 target: root.orientedShell
99119 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
@@ -193,7 +193,7 @@ Item {
193193 onPowerKeyLongPressed: dialogs.showPowerDialog();
194194 onVolumeDownTriggered: volumeControl.volumeDown();
195195 onVolumeUpTriggered: volumeControl.volumeUp();
196− onScreenshotTriggered: screenGrabber.capture();
196+ onScreenshotTriggered: itemGrabber.capture(shell);
197197 }
198198
199199 GlobalShortcut {
@@ -705,16 +705,22 @@ Item {
705705 onShowHome: showHome()
706706 }
707707
708− ScreenGrabber {
709− id: screenGrabber
710− rotationAngle: -shell.orientationAngle
708+ ItemGrabber {
709+ id: itemGrabber
710+ anchors.fill: parent
711711 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+ }
712718 }
713719
714720 Cursor {
715721 id: cursor
716722 visible: shell.hasMouse
717− z: screenGrabber.z + 1
723+ z: itemGrabber.z + 1
718724
719725 onPushedLeftBoundary: {
720726 if (buttons === Qt.NoButton) {
qml/Stages/AbstractStage.qml+8−7
@@ -21,13 +21,6 @@ import GSettings 1.0
2121FocusScope {
2222 id: root
2323
24− property alias color: backRect.color
25− Rectangle {
26− id: backRect
27− color: "#060606"
28− anchors.fill: parent
29− }
30−
3124 // Controls to be set from outside
3225 property QtObject applicationManager
3326 property QtObject topLevelSurfaceList
@@ -49,6 +42,7 @@ FocusScope {
4942 property bool suspended
5043 // A Stage should paint a wallpaper etc over its full size but not use the margins for window placement
5144 property int leftMargin: 0
45+ property alias paintBackground: background.visible
5246
5347 // To be read from outside
5448 property var mainApp: null
@@ -60,6 +54,7 @@ FocusScope {
6054 | Qt.InvertedLandscapeOrientation
6155
6256 signal stageAboutToBeUnloaded
57+ signal itemSnapshotRequested(Item item)
6358
6459 // Shared code for use in stage implementations
6560 GSettings {
@@ -76,4 +71,10 @@ FocusScope {
7671 }
7772 return false;
7873 }
74+
75+ Rectangle {
76+ id: background
77+ color: "#060606"
78+ anchors.fill: parent
79+ }
7980}
qml/Stages/DesktopStage.qml+7
@@ -26,6 +26,7 @@ import GlobalShortcut 1.0
2626AbstractStage {
2727 id: root
2828 anchors.fill: parent
29+ paintBackground: false
2930
3031 // functions to be called from outside
3132 function updateFocusedAppOrientation() { /* TODO */ }
@@ -94,6 +95,12 @@ AbstractStage {
9495 active: priv.focusedAppDelegate !== null
9596 }
9697
98+ GlobalShortcut {
99+ shortcut: Qt.AltModifier|Qt.Key_Print
100+ onTriggered: root.itemSnapshotRequested(priv.focusedAppDelegate)
101+ active: priv.focusedAppDelegate !== null
102+ }
103+
97104 Connections {
98105 target: root.topLevelSurfaceList
99106 onCountChanged: {
qml/Stages/PhoneStage.qml+2
@@ -31,6 +31,8 @@ AbstractStage {
3131 property real startScale: 1.1
3232 property real endScale: 0.7
3333
34+ paintBackground: spreadView.shiftedContentX !== 0
35+
3436 onBeingResizedChanged: {
3537 if (beingResized) {
3638 // Brace yourselves for impact!
qml/Stages/ShimStage.qml−1
@@ -21,7 +21,6 @@ AbstractStage {
2121 id: shimStage
2222
2323 anchors.fill: parent
24− color: UbuntuColors.lightAubergine
2524
2625 Text {
2726 id: greeterModeText
qml/Stages/TabletStage.qml+3
@@ -34,6 +34,8 @@ AbstractStage {
3434 property int stageFocusedSurface: priv.focusedAppDelegate ? priv.focusedAppDelegate.stage : ApplicationInfoInterface.MainStage
3535 // </tutorial-hacks>
3636
37+ paintBackground: spreadView.shiftedContentX !== 0
38+
3739 // Functions to be called from outside
3840 function updateFocusedAppOrientation() {
3941 var mainStageIndex = root.topLevelSurfaceList.indexForId(priv.mainStageItemId);
@@ -746,6 +748,7 @@ AbstractStage {
746748 surface: model.surface
747749 closeable: !isDash
748750 highlightShown: root.altTabPressed && priv.highlightIndex == zIndex
751+ dropShadow: spreadView.active || priv.focusedAppDelegateIsDislocated
749752
750753 readonly property bool wantsMainStage: stage == ApplicationInfoInterface.MainStage
751754
src/SecondaryWindow.cpp+9
@@ -19,9 +19,18 @@
1919// local
2020#include <paths.h>
2121
22+#include <QQmlContext>
23+
2224SecondaryWindow::SecondaryWindow(QQmlEngine *engine)
2325 : QQuickView(engine, nullptr)
2426{
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);
2534 setResizeMode(QQuickView::SizeRootObjectToView);
2635 setColor("black");
2736 setTitle(QStringLiteral("Unity8 Shell - Secondary Screen"));
src/ShellApplication.cpp+6
@@ -168,6 +168,9 @@ void ShellApplication::onScreenAdded(QScreen * /*screen*/)
168168 // Changing the QScreen where a QWindow is drawn makes it also lose focus (besides having
169169 // its backing QPlatformWindow recreated). So lets refocus it.
170170 m_shellView->requestActivate();
171+ // QWindow::destroy() is called when it changes between screens. We have to manually make it visible again
172+ // <dandrader> This bug is supposedly fixed in Qt 5.5.1, although I can still reproduce it there. :-/
173+ m_shellView->setVisible(true);
171174
172175 m_secondaryWindow = new SecondaryWindow(m_qmlEngine);
173176 m_secondaryWindow->setScreen(screens().at(0));
@@ -194,5 +197,8 @@ void ShellApplication::onScreenAboutToBeRemoved(QScreen *screen)
194197 // Changing the QScreen where a QWindow is drawn makes it also lose focus (besides having
195198 // its backing QPlatformWindow recreated). So lets refocus it.
196199 m_shellView->requestActivate();
200+ // QWindow::destroy() is called when it changes between screens. We have to manually make it visible again
201+ // <dandrader> This bug is supposedly fixed in Qt 5.5.1, although I can still reproduce it there. :-/
202+ m_shellView->setVisible(true);
197203 }
198204}
tests/mocks/Unity/CMakeLists.txt+3−1
@@ -8,7 +8,7 @@ add_subdirectory(DashCommunicator)
88add_subdirectory(Screens)
99
1010pkg_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)
1212
1313include_directories(
1414 ${CMAKE_CURRENT_BINARY_DIR}
@@ -34,6 +34,7 @@ set(UnityQML_SOURCES
3434 fake_optionselectoroptions.cpp
3535 fake_rangeinputfilter.cpp
3636 fake_valuesliderfilter.cpp
37+ fake_expandablefilterwidget.cpp
3738 fake_valueslidervalues.cpp
3839 fake_unity_plugin.cpp
3940 ${SCOPES_API_INCLUDEDIR}/unity/shell/scopes/CategoriesInterface.h
@@ -51,6 +52,7 @@ set(UnityQML_SOURCES
5152 ${SCOPES_API_INCLUDEDIR}/unity/shell/scopes/SettingsModelInterface.h
5253 ${SCOPES_API_INCLUDEDIR}/unity/shell/scopes/ValueSliderFilterInterface.h
5354 ${SCOPES_API_INCLUDEDIR}/unity/shell/scopes/ValueSliderValuesInterface.h
55+ ${SCOPES_API_INCLUDEDIR}/unity/shell/scopes/ExpandableFilterWidgetInterface.h
5456)
5557
5658# 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
8888 }
8989 case RoleComponents:
9090 {
91− QVariantMap map, artMap, attributeMap;
91+ QVariantMap map, artMap, attributeMap, socialActionMap;
9292 if (index.row() % 2 != 0) {
9393 artMap["aspect-ratio"] = QString("1.%1").arg(index.row());
9494 } else {
@@ -99,6 +99,9 @@ Categories::data(const QModelIndex& index, int role) const
9999 map["title"] = "HOLA";
100100 map["subtitle"] = "HOLA";
101101 attributeMap["field"] = "attribute";
102+ socialActionMap["icon"] = "icon";
103+ socialActionMap["id"] = "socialHola";
104+ map["socialActions"] = socialActionMap;
102105 map["attributes"] = attributeMap;
103106 return map;
104107 }
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 @@
1919#include "fake_optionselectorfilter.h"
2020#include "fake_rangeinputfilter.h"
2121#include "fake_valuesliderfilter.h"
22−#include "fake_scope.h"
22+#include "fake_expandablefilterwidget.h"
2323
24−Filters::Filters(Scope* parent)
24+Filters::Filters(QObject* parent)
2525 : unity::shell::scopes::FiltersInterface(parent)
26+{
27+}
28+
29+void Filters::addFakeFilters()
2630{
2731 addFilter(new FakeOptionSelectorFilter("OSF1", "Tag1", "Which Cake you like More", false, QStringList() << "cheese" << "carrot" << "chocolate", this));
2832
@@ -41,6 +45,11 @@ Filters::Filters(Scope* parent)
4145 addFilter(vsf);
4246
4347 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);
4453}
4554
4655void Filters::addFilter(unity::shell::scopes::FilterBaseInterface *f)
@@ -58,9 +67,10 @@ void Filters::addFilter(unity::shell::scopes::FilterBaseInterface *f)
5867 }
5968 break;
6069
61− case FiltersInterface::ValueSliderFilter: {
62− // Not counting value slider as active in the mock
63− }
70+ case FiltersInterface::ExpandableFilterWidget:
71+ // Can't be active
72+ case FiltersInterface::ValueSliderFilter:
73+ // Not counting value as active in the mock
6474
6575 case Invalid:
6676 break;
@@ -113,9 +123,10 @@ int Filters::activeFiltersCount() const
113123 }
114124 break;
115125
116− case FiltersInterface::ValueSliderFilter: {
117− // Not counting value slider as active in the mock
118− }
126+ case FiltersInterface::ExpandableFilterWidget:
127+ // Can't be active
128+ case FiltersInterface::ValueSliderFilter:
129+ // Not counting value as active in the mock
119130
120131 case Invalid:
121132 break;
tests/mocks/Unity/fake_filters.h+4−4
@@ -20,25 +20,25 @@
2020#include <unity/shell/scopes/FiltersInterface.h>
2121#include <unity/shell/scopes/FilterBaseInterface.h>
2222
23−class Scope;
24−
2523class Filters : public unity::shell::scopes::FiltersInterface
2624{
2725 Q_OBJECT
2826
2927public:
30− Filters(Scope* parent);
28+ Filters(QObject* parent);
3129
3230 int rowCount(const QModelIndex &parent) const override;
3331 QVariant data(const QModelIndex &index, int role) const override;
3432
33+ // Mock API
3534 int activeFiltersCount() const;
35+ void addFakeFilters();
36+ void addFilter(unity::shell::scopes::FilterBaseInterface* f);
3637
3738Q_SIGNALS:
3839 void activeFiltersCountChanged();
3940
4041private:
41− void addFilter(unity::shell::scopes::FilterBaseInterface* f);
4242
4343 QVector<unity::shell::scopes::FilterBaseInterface*> m_filters;
4444};
tests/mocks/Unity/fake_resultsmodel.cpp+2
@@ -72,6 +72,8 @@ ResultsModel::data(const QModelIndex& index, int role) const
7272 case RoleUri:
7373 case RoleCategoryId:
7474 case RoleDndUri:
75+ case RoleAttributes:
76+ case RoleSocialActions:
7577 return QString();
7678 case RoleResult:
7779 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
4949 , m_filters(new Filters(this))
5050 , m_returnNullPreview(returnNullPreview)
5151{
52+ m_filters->addFakeFilters();
53+
5254 m_primaryNavigationFilter = new FakeOptionSelectorFilter("OSF3", "PFTag", "Which food you like More", false, QStringList() << "meat" << "vegetables", this);
5355 connect(m_filters, &Filters::activeFiltersCountChanged, this, &Scope::activeFiltersCountChanged);
5456}
tests/mocks/Utils/CMakeLists.txt−1
@@ -13,7 +13,6 @@ set(QMLPLUGIN_SRC
1313 ${CMAKE_SOURCE_DIR}/plugins/Utils/unitysortfilterproxymodelqml.cpp
1414 ${CMAKE_SOURCE_DIR}/plugins/Utils/unitymenumodelpaths.cpp
1515 ${CMAKE_SOURCE_DIR}/plugins/Utils/windowinputfilter.cpp
16− ${CMAKE_SOURCE_DIR}/plugins/Utils/windowscreenshotprovider.cpp
1716 ${CMAKE_SOURCE_DIR}/plugins/Utils/easingcurve.cpp
1817 ${CMAKE_SOURCE_DIR}/plugins/Utils/inputwatcher.cpp
1918 ${CMAKE_SOURCE_DIR}/plugins/Utils/timezoneFormatter.cpp
tests/mocks/Utils/plugin.cpp−8
@@ -33,7 +33,6 @@
3333#include <unitysortfilterproxymodelqml.h>
3434#include <unitymenumodelpaths.h>
3535#include <windowinputfilter.h>
36−#include <windowscreenshotprovider.h>
3736#include <easingcurve.h>
3837#include <timezoneFormatter.h>
3938#include <applicationsfiltermodel.h>
@@ -82,10 +81,3 @@ void FakeUtilsPlugin::registerTypes(const char *uri)
8281 qmlRegisterType<DeviceConfigParser>(uri, 0, 1, "DeviceConfigParser");
8382 qmlRegisterSingletonType<GlobalFunctions>(uri, 0, 1, "Functions", createGlobalFunctions);
8483}
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
2727
2828public:
2929 void registerTypes(const char *uri);
30− void initializeEngine(QQmlEngine *engine, const char *uri);
3130};
3231
3332#endif
tests/plugins/CMakeLists.txt−1
@@ -3,7 +3,6 @@ add_subdirectory(GlobalShortcut)
33add_subdirectory(Greeter)
44add_subdirectory(IntegratedLightDM)
55add_subdirectory(Dash)
6−add_subdirectory(ScreenGrabber)
76add_subdirectory(Ubuntu)
87add_subdirectory(Unity)
98add_subdirectory(Utils)
tests/plugins/Dash/cardcreator/1.res+1−1
@@ -11,7 +11,7 @@ AbstractButton {
1111 property bool showHeader: true;
1212 implicitWidth: childrenRect.width;
1313 enabled: true;
14−
14+signal action(var actionId);
1515readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1);
1616Item {
1717 id: artShapeHolder;
tests/plugins/Dash/cardcreator/1.res.cardcreator+1−1
@@ -10,7 +10,7 @@ AbstractButton {
1010 property bool showHeader: true;
1111 implicitWidth: childrenRect.width;
1212 enabled: true;
13−
13+signal action(var actionId);
1414readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1);
1515Item {
1616 id: artShapeHolder;
tests/plugins/Dash/cardcreator/10.res+1−1
@@ -11,7 +11,7 @@ AbstractButton {
1111 property bool showHeader: true;
1212 implicitWidth: childrenRect.width;
1313 enabled: true;
14−
14+signal action(var actionId);
1515Loader {
1616 id: backgroundLoader;
1717 objectName: "backgroundLoader";
tests/plugins/Dash/cardcreator/10.res.cardcreator+1−1
@@ -10,7 +10,7 @@ AbstractButton {
1010 property bool showHeader: true;
1111 implicitWidth: childrenRect.width;
1212 enabled: true;
13−
13+signal action(var actionId);
1414Loader {
1515 id: backgroundLoader;
1616 objectName: "backgroundLoader";
tests/plugins/Dash/cardcreator/11.res+1−1
@@ -11,7 +11,7 @@ AbstractButton {
1111 property bool showHeader: true;
1212 implicitWidth: childrenRect.width;
1313 enabled: true;
14−
14+signal action(var actionId);
1515Loader {
1616 id: backgroundLoader;
1717 objectName: "backgroundLoader";
tests/plugins/Dash/cardcreator/11.res.cardcreator+1−1
@@ -10,7 +10,7 @@ AbstractButton {
1010 property bool showHeader: true;
1111 implicitWidth: childrenRect.width;
1212 enabled: true;
13−
13+signal action(var actionId);
1414Loader {
1515 id: backgroundLoader;
1616 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 {
1111 property bool showHeader: true;
1212 implicitWidth: childrenRect.width;
1313 enabled: true;
14−
14+signal action(var actionId);
1515Loader {
1616 id: backgroundLoader;
1717 objectName: "backgroundLoader";
tests/plugins/Dash/cardcreator/2.res.cardcreator+1−1
@@ -10,7 +10,7 @@ AbstractButton {
1010 property bool showHeader: true;
1111 implicitWidth: childrenRect.width;
1212 enabled: true;
13−
13+signal action(var actionId);
1414Loader {
1515 id: backgroundLoader;
1616 objectName: "backgroundLoader";
tests/plugins/Dash/cardcreator/3.res+1−1
@@ -11,7 +11,7 @@ AbstractButton {
1111 property bool showHeader: true;
1212 implicitWidth: childrenRect.width;
1313 enabled: true;
14−
14+signal action(var actionId);
1515readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1);
1616Item {
1717 id: artShapeHolder;
tests/plugins/Dash/cardcreator/3.res.cardcreator+1−1
@@ -10,7 +10,7 @@ AbstractButton {
1010 property bool showHeader: true;
1111 implicitWidth: childrenRect.width;
1212 enabled: true;
13−
13+signal action(var actionId);
1414readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1);
1515Item {
1616 id: artShapeHolder;
tests/plugins/Dash/cardcreator/4.res+1−1
@@ -11,7 +11,7 @@ AbstractButton {
1111 property bool showHeader: true;
1212 implicitWidth: childrenRect.width;
1313 enabled: true;
14−
14+signal action(var actionId);
1515readonly property size artShapeSize: Qt.size(-1, -1);
1616readonly property int headerHeight: row.height;
1717Row {
tests/plugins/Dash/cardcreator/4.res.cardcreator+1−1
@@ -10,7 +10,7 @@ AbstractButton {
1010 property bool showHeader: true;
1111 implicitWidth: childrenRect.width;
1212 enabled: true;
13−
13+signal action(var actionId);
1414readonly property size artShapeSize: Qt.size(-1, -1);
1515readonly property int headerHeight: row.height;
1616Row {
tests/plugins/Dash/cardcreator/5.res+1−1
@@ -11,7 +11,7 @@ AbstractButton {
1111 property bool showHeader: true;
1212 implicitWidth: childrenRect.width;
1313 enabled: false;
14−
14+signal action(var actionId);
1515readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1);
1616Item {
1717 id: artShapeHolder;
tests/plugins/Dash/cardcreator/5.res.cardcreator+1−1
@@ -10,7 +10,7 @@ AbstractButton {
1010 property bool showHeader: true;
1111 implicitWidth: childrenRect.width;
1212 enabled: false;
13−
13+signal action(var actionId);
1414readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1);
1515Item {
1616 id: artShapeHolder;
tests/plugins/Dash/cardcreator/6.res+1−1
@@ -11,7 +11,7 @@ AbstractButton {
1111 property bool showHeader: true;
1212 implicitWidth: childrenRect.width;
1313 enabled: true;
14−
14+signal action(var actionId);
1515Loader {
1616 id: backgroundLoader;
1717 objectName: "backgroundLoader";
tests/plugins/Dash/cardcreator/6.res.cardcreator+1−1
@@ -10,7 +10,7 @@ AbstractButton {
1010 property bool showHeader: true;
1111 implicitWidth: childrenRect.width;
1212 enabled: true;
13−
13+signal action(var actionId);
1414Loader {
1515 id: backgroundLoader;
1616 objectName: "backgroundLoader";
tests/plugins/Dash/cardcreator/7.res+1−1
@@ -11,7 +11,7 @@ AbstractButton {
1111 property bool showHeader: true;
1212 implicitWidth: childrenRect.width;
1313 enabled: true;
14−
14+signal action(var actionId);
1515Loader {
1616 id: backgroundLoader;
1717 objectName: "backgroundLoader";
tests/plugins/Dash/cardcreator/7.res.cardcreator+1−1
@@ -10,7 +10,7 @@ AbstractButton {
1010 property bool showHeader: true;
1111 implicitWidth: childrenRect.width;
1212 enabled: true;
13−
13+signal action(var actionId);
1414Loader {
1515 id: backgroundLoader;
1616 objectName: "backgroundLoader";
tests/plugins/Dash/cardcreator/8.res+1−1
@@ -11,7 +11,7 @@ AbstractButton {
1111 property bool showHeader: true;
1212 implicitWidth: childrenRect.width;
1313 enabled: true;
14−
14+signal action(var actionId);
1515Loader {
1616 id: backgroundLoader;
1717 objectName: "backgroundLoader";
tests/plugins/Dash/cardcreator/8.res.cardcreator+1−1
@@ -10,7 +10,7 @@ AbstractButton {
1010 property bool showHeader: true;
1111 implicitWidth: childrenRect.width;
1212 enabled: true;
13−
13+signal action(var actionId);
1414Loader {
1515 id: backgroundLoader;
1616 objectName: "backgroundLoader";
tests/plugins/Dash/cardcreator/9.res+1−1
@@ -11,7 +11,7 @@ AbstractButton {
1111 property bool showHeader: true;
1212 implicitWidth: childrenRect.width;
1313 enabled: true;
14−
14+signal action(var actionId);
1515readonly property size artShapeSize: Qt.size(-1, -1);
1616readonly property int headerHeight: titleLabel.height + subtitleLabel.height + subtitleLabel.anchors.topMargin + audioProgressBar.height + audioProgressBar.anchors.topMargin;
1717Label {
tests/plugins/Dash/cardcreator/9.res.cardcreator+1−1
@@ -10,7 +10,7 @@ AbstractButton {
1010 property bool showHeader: true;
1111 implicitWidth: childrenRect.width;
1212 enabled: true;
13−
13+signal action(var actionId);
1414readonly property size artShapeSize: Qt.size(-1, -1);
1515readonly property int headerHeight: titleLabel.height + subtitleLabel.height + subtitleLabel.anchors.topMargin + audioProgressBar.height + audioProgressBar.anchors.topMargin;
1616Label {
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/qmltests/CMakeLists.txt+1
@@ -57,6 +57,7 @@ add_unity8_qmltest(Dash/Filters FilterOptionSelector)
5757add_unity8_qmltest(Dash/Filters FilterRangeInput)
5858add_unity8_qmltest(Dash/Filters FilterValueSlider)
5959add_unity8_qmltest(Dash/Filters FilterWidgetFactory)
60+add_unity8_qmltest(Dash/Filters FilterExpandableWidget)
6061add_unity8_qmltest(Dash/ScopeSettings ScopeSettingBoolean)
6162add_unity8_qmltest(Dash/ScopeSettings ScopeSettingList)
6263add_unity8_qmltest(Dash/ScopeSettings ScopeSettingNumber)
tests/qmltests/Dash/CardHelpers.js+9−7
@@ -16,7 +16,8 @@
1616
1717.pragma library
1818
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"]
2021
2122var defaultLayout = ' \
2223{ \
@@ -38,7 +39,8 @@ var defaultLayout = ' \
3839 "mascot": null, \
3940 "emblem": null, \
4041 "summary": null, \
41− "attributes": { "max-count": 2 } \
42+ "attributes": { "max-count": 2 }, \
43+ "social-actions": null \
4244 }, \
4345 "resources": {} \
4446}'
@@ -52,10 +54,10 @@ var fullMapping = ' \
5254 "emblem": "emblem", \
5355 "overlayColor": "overlayColor", \
5456 "summary": "summary", \
55− "attributes": "attributes" \
57+ "attributes": "attributes", \
58+ "social-actions": "socialActions" \
5659}'
5760
58−
5961function tryParse(json, errorLabel) {
6062 var o = undefined;
6163 if (errorLabel !== undefined) {
@@ -82,12 +84,12 @@ function mapData(json, layout, errorLabel) {
8284 for (var k in components) {
8385 try {
8486 if (typeof layout[components[k]] == "object") {
85− d[components[k]] = o[layout[components[k]]['field']];
87+ d[dataKeys[k]] = o[layout[components[k]]['field']];
8688 } else {
87− d[components[k]] = o[layout[components[k]]];
89+ d[dataKeys[k]] = o[layout[components[k]]];
8890 }
8991 } catch(err) {
90− d[components[k]] = undefined;
92+ d[dataKeys[k]] = undefined;
9193 }
9294 }
9395 }
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 {
4343 return [
4444 { tag: "OptionSelector", type: Filters.OptionSelectorFilter, source: "FilterOptionSelector.qml" },
4545 { 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" }
4748 ];
4849 }
4950
tests/qmltests/Dash/Previews/tst_PreviewActions.qml+100−17
@@ -26,17 +26,17 @@ Rectangle {
2626 width: units.gu(60)
2727 height: units.gu(80)
2828
29− property var actionDataOneAction: {
29+ readonly property var actionDataOneAction: {
3030 "actions": [{"label": "Some Label", "id": "someid"}]
3131 }
3232
33− property var actionDataTwoActions: {
33+ readonly property var actionDataTwoActions: {
3434 "actions": [{"label": "Some Label A", "id": "someid1"},
3535 {"label": "Some Label B", "id": "someid2"}
3636 ]
3737 }
3838
39− property var actionDataFiveActions: {
39+ readonly property var actionDataFiveActions: {
4040 "actions": [{"label": "Some Label C", "id": "someid3"},
4141 {"label": "Some Label D", "id": "someid4"},
4242 {"label": "Some Label E", "id": "someid5"},
@@ -45,6 +45,15 @@ Rectangle {
4545 ]
4646 }
4747
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+
4857 SignalSpy {
4958 id: spy
5059 signalName: "triggered"
@@ -88,26 +97,32 @@ Rectangle {
8897 onTriggered: console.log("triggered", widgetId, actionId);
8998 width: units.gu(60)
9099 }
100+
101+ PreviewActions {
102+ id: changeModelActions
103+ width: units.gu(60)
104+ }
105+
106+ PreviewActions {
107+ id: updateModelActions
108+ width: units.gu(60)
109+ }
91110 }
92111
93112 UT.UnityTestCase {
94113 name: "PreviewActionTest"
95114 when: windowShown
96115
97− function cleanup()
98− {
99− spy.clear();
100− }
101−
102116 function checkButtonPressSignal(target, id)
103117 {
104− var button = findChild(root, "button" + id);
118+ var button = findChild(target, "button" + id);
105119 verify(button != null);
106120 spy.target = target;
107121 mouseClick(button);
108122 compare(spy.count, 1);
109123 compare(spy.signalArguments[0][0], target.widgetId);
110124 compare(spy.signalArguments[0][1], id);
125+ spy.clear();
111126 }
112127
113128 function test_checkButtons_data() {
@@ -120,7 +135,7 @@ Rectangle {
120135 }
121136
122137 function test_checkButtons(data) {
123− checkButtonPressSignal(data.target, data.id, data.buttonNumber)
138+ checkButtonPressSignal(data.target, data.id)
124139 }
125140
126141 function test_comboButton_data() {
@@ -132,17 +147,85 @@ Rectangle {
132147 ]
133148 }
134149
135− function test_comboButton(data) {
136− var button = findChild(root, "moreLessButton");
137− var buttonColumn = findChild(root, "buttonColumn");
150+ function pressMoreButton(buttonGroup)
151+ {
152+ var button = findChild(buttonGroup, "moreLessButton");
153+ var buttonColumn = findChild(buttonGroup, "buttonColumn");
138154 verify(button != null);
139− var twoActionsY = twoActions.y
140155 mouseClick(button);
141− tryCompareFunction(function () { return twoActions.y <= twoActionsY; }, false);
142156 tryCompare(buttonColumn, "height", buttonColumn.implicitHeight);
143− checkButtonPressSignal(buttonAndCombo, data.id, data.buttonNumber);
144− mouseClick(button);
157+ }
158+
159+ function test_comboButton(data) {
160+ var twoActionsY = twoActions.y
161+ pressMoreButton(buttonAndCombo);
162+ tryCompareFunction(function () { return twoActions.y <= twoActionsY; }, false);
163+ checkButtonPressSignal(buttonAndCombo, data.id);
164+ mouseClick(findChild(buttonAndCombo, "moreLessButton"));
145165 tryCompare(twoActions, "y", twoActionsY);
146166 }
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+ }
147230 }
148231}
tests/qmltests/Dash/Previews/tst_PreviewIconActions.qml+14−4
@@ -69,9 +69,12 @@ Rectangle {
6969 Timer {
7070 id: timer
7171 property int index: -1
72+ property bool changeIcon: true
7273 interval: 500
7374 onTriggered: {
74− actionDataActions.actions[index].icon = Qt.resolvedUrl("../../UnityLogo.png");
75+ if (changeIcon) {
76+ actionDataActions.actions[index].icon = Qt.resolvedUrl("../../UnityLogo.png");
77+ }
7578 preview.widgetDataChanged();
7679 index = -1;
7780 }
@@ -89,12 +92,14 @@ Rectangle {
8992
9093 function test_checkButtonWithTemporary_data() {
9194 return [
92− {tag: "with temporary", temporaryIcon: "emblem", index: 0},
93− {tag: "without temporary", temporaryIcon: undefined, index: 2},
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},
97+ {tag: "without temporary", temporaryIcon: undefined, index: 2, changeIcon: true},
9498 ];
9599 }
96100
97101 function test_checkButtonWithTemporary(data) {
102+ waitForRendering(preview);
98103 spy.target = preview;
99104
100105 var buttonId = actionDataActions.actions[data.index].id;
@@ -108,6 +113,7 @@ Rectangle {
108113
109114 compare(image.source, buttonIcon);
110115 compare(label.text, buttonLabel);
116+ timer.changeIcon = data.changeIcon;
111117 mouseClick(button);
112118 compare(spy.count, 1);
113119 compare(spy.signalArguments[0][1], buttonId);
@@ -119,7 +125,11 @@ Rectangle {
119125 tryCompareFunction(function() {
120126 var button = findChild(root, "button" + buttonId);
121127 var image = findChildsByType(button, "QQuickImage")[0];
122− return image.source && image.source.toString().indexOf("UnityLogo") > -1;
128+ if (data.changeIcon) {
129+ return image.source && image.source.toString().indexOf("UnityLogo") > -1;
130+ } else {
131+ return image.source && image.source == buttonIcon;
132+ }
123133 }, true);
124134 }
125135 }
tests/qmltests/Dash/Previews/tst_PreviewZoomableImage.qml+17
@@ -44,6 +44,11 @@ Rectangle {
4444 "fallback": "../../graphics/phone_background.jpg"
4545 }
4646
47+ property var widgetData4: {
48+ "source": "fadsasf",
49+ "fallback": "../../graphics/phone_background.jpg"
50+ }
51+
4752 Loader {
4853 id: loader
4954 width: parent.width
@@ -112,5 +117,17 @@ Rectangle {
112117 waitForRendering(lazyImage);
113118 tryCompare(lazyImage, "state", "ready");
114119 }
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+ }
115132 }
116133}
tests/qmltests/Dash/tst_Card.qml+38−3
@@ -36,6 +36,10 @@ Rectangle {
3636 "subtitle": "bar",
3737 "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.",
3838 "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"}],
3943 "quickPreviewData": {"uri": "/some/file", "duration": "14"}
4044 }'
4145
@@ -211,6 +215,11 @@ Rectangle {
211215 }
212216 }
213217
218+ SignalSpy {
219+ id: signalSpy
220+ signalName: "action"
221+ }
222+
214223 UT.UnityTestCase {
215224 id: testCase
216225 name: "Card"
@@ -274,9 +283,11 @@ Rectangle {
274283 { tag: "Wide", width: units.gu(18), index: 0 },
275284 { tag: "Horizontal", width: units.gu(38), index: 5 },
276285 // Make sure card ends with header when there's no summary
277− { tag: "NoSummary", height: function() { var cardToolRow = findChild(cardTool, "outerRow");
278− return cardToolRow.y + cardToolRow.height + units.gu(1) }, index: 6 },
279− { tag: "HorizontalNoSummary", height: function() { return headerRow.height + units.gu(2) }, card_layout: "horizontal", index: 6 },
286+ { tag: "NoSummary", height: function() { var socialActionsRow = findChild(cardTool, "socialActionsRow");
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) },
290+ card_layout: "horizontal", index: 6 },
280291 ]
281292 }
282293
@@ -641,5 +652,29 @@ Rectangle {
641652 verify((card.width - titleToCard.x - titleToCard.width) === units.gu(1));
642653 }
643654 }
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+ }
644679 }
645680}