on xenial help sign in
merge trunk
d1c453cLukáš Tinkl
debian/changelog+25
@@ -4,6 +4,31 @@ unity8 (8.13+15.04.20150914-0ubuntu1) UNRELEASED; urgency=medium
4
4
5 -- Lukas Tinkl <ltinkl@canonical.com> Mon, 14 Sep 2015 19:19:23 +0200
5 -- Lukas Tinkl <ltinkl@canonical.com> Mon, 14 Sep 2015 19:19:23 +0200
6
6
7+unity8 (8.11+15.10.20150915-0ubuntu1) wily; urgency=medium
8+
9+ [ Albert Astals Cid ]
10+ * Fix testNotifications
11+ * Make the wait longer to make tests pass in CI
12+ * New simplified CroppedImageMinimumSourceSize (LP: #1467740)
13+ * Stop animateTimer when starting the fadeOutAnimation
14+ * Use AlreadyLaunchedUpstart so that tests passes
15+ * Workaround keyboard issues and make test pass again
16+
17+ [ Daniel d'Andrada ]
18+ * DesktopStage: Refactor focus handling
19+ * Stabilize tstShell.test_launchedAppHasActiveFocus
20+
21+ [ Gary.Wzl ]
22+ * Add widgetData["expanded"] property for expandable widget.
23+
24+ [ Michael Terry ]
25+ * Fix typo that caused the tutorial to tease the launcher on top of
26+ the greeter.
27+ * Fix typo that caused the tutorial to tease the launcher on top of
28+ the greeter.
29+
30+ -- Michael Zanetti <michael.zanetti@canonical.com> Tue, 15 Sep 2015 12:06:06 +0000
31+
7unity8 (8.11+15.10.20150907-0ubuntu1) wily; urgency=medium
32unity8 (8.11+15.10.20150907-0ubuntu1) wily; urgency=medium
8
33
9 [ Michal Sawicz ]
34 [ Michal Sawicz ]
plugins/Dash/CMakeLists.txt−2
@@ -24,8 +24,6 @@ set(QMLPLUGIN_SRC
24 verticaljournal.cpp
24 verticaljournal.cpp
25 horizontaljournal.cpp
25 horizontaljournal.cpp
26 organicgrid.cpp
26 organicgrid.cpp
27− croppedimagesizer.cpp
28− croppedimagesizerasyncworker.cpp
29 )
27 )
30
28
31add_library(Dash-qml MODULE
29add_library(Dash-qml MODULE
plugins/Dash/CardCreator.js+4−4
@@ -68,7 +68,7 @@ var kArtShapeHolderCode = 'Item { \n\
68 objectName: "artShape"; \n\
68 objectName: "artShape"; \n\
69 property bool doShapeItem: components["art"]["conciergeMode"] !== true; \n\
69 property bool doShapeItem: components["art"]["conciergeMode"] !== true; \n\
70 visible: image.status == Image.Ready; \n\
70 visible: image.status == Image.Ready; \n\
71− readonly property alias image: artImage.image; \n\
71+ readonly property alias image: artImage; \n\
72 property alias borderSource: artShapeShape.borderSource; \n\
72 property alias borderSource: artShapeShape.borderSource; \n\
73 ShaderEffectSource { \n\
73 ShaderEffectSource { \n\
74 id: artShapeSource; \n\
74 id: artShapeSource; \n\
@@ -195,11 +195,11 @@ var kMascotShapeLoaderCode = 'Loader { \n\
195 id: mascotShapeLoader; \n\
195 id: mascotShapeLoader; \n\
196 objectName: "mascotShapeLoader"; \n\
196 objectName: "mascotShapeLoader"; \n\
197 asynchronous: root.asynchronous; \n\
197 asynchronous: root.asynchronous; \n\
198− active: mascotImage.image.status === Image.Ready; \n\
198+ active: mascotImage.status === Image.Ready; \n\
199 visible: showHeader && active && status == Loader.Ready; \n\
199 visible: showHeader && active && status == Loader.Ready; \n\
200 width: units.gu(6); \n\
200 width: units.gu(6); \n\
201 height: units.gu(5.625); \n\
201 height: units.gu(5.625); \n\
202− sourceComponent: UbuntuShape { image: mascotImage.image } \n\
202+ sourceComponent: UbuntuShape { image: mascotImage } \n\
203 anchors { %1 } \n\
203 anchors { %1 } \n\
204 }\n';
204 }\n';
205
205
@@ -476,7 +476,7 @@ function cardString(template, components) {
476 mascotCode = kMascotImageCode.arg(mascotAnchors).arg(mascotImageVisible);
476 mascotCode = kMascotImageCode.arg(mascotAnchors).arg(mascotImageVisible);
477 var fallback = components["mascot"] && components["mascot"]["fallback"] || "";
477 var fallback = components["mascot"] && components["mascot"]["fallback"] || "";
478 if (fallback !== "") {
478 if (fallback !== "") {
479− code += 'Connections { target: mascotImage.image; onStatusChanged: if (mascotImage.image.status === Image.Error) mascotImage.source = "%1"; } \n'.arg(fallback);
479+ code += 'Connections { target: mascotImage; onStatusChanged: if (mascotImage.status === Image.Error) mascotImage.source = "%1"; } \n'.arg(fallback);
480 }
480 }
481 }
481 }
482
482
plugins/Dash/CroppedImageMinimumSourceSize.qml+5−22
@@ -15,30 +15,13 @@
15 */
15 */
16
16
17import QtQuick 2.3
17import QtQuick 2.3
18−import Dash 0.1
19
18
20−Item {
19+Image {
21 id: root
20 id: root
22
21
23− property string source
22+ fillMode: Image.PreserveAspectCrop
24− property alias image: innerImage
25− property alias asynchronous: innerImage.asynchronous
26− property alias verticalAlignment: innerImage.verticalAlignment
27− property alias horizontalAlignment: innerImage.horizontalAlignment
28− property alias fillMode: innerImage.fillMode
29
23
30− CroppedImageSizer {
24+ readonly property real itemAspectRatio: width / height
31− id: sizer
25+ readonly property real imageAspectRatio: implicitWidth / implicitHeight
32− source: root.source
26+ sourceSize: (imageAspectRatio > itemAspectRatio) ? Qt.size(0, height) : Qt.size(width, 0)
33− width: root.width
34− height: root.height
35− }
36−
37− Image {
38− id: innerImage
39− anchors.fill: parent
40− fillMode: Image.PreserveAspectCrop
41− sourceSize: sizer.sourceSize.width == 0 && sizer.sourceSize.height == 0 ? undefined : sizer.sourceSize
42− source: sizer.sourceSize.width == -1 && sizer.sourceSize.height == -1 ? "" : root.source
43− }
44}
27}
plugins/Dash/Dash.qmltypes−15
@@ -19,21 +19,6 @@ Module {
19 Property { name: "displayMarginBeginning"; type: "double" }
19 Property { name: "displayMarginBeginning"; type: "double" }
20 Property { name: "displayMarginEnd"; type: "double" }
20 Property { name: "displayMarginEnd"; type: "double" }
21 }
21 }
22− Component {
23− name: "CroppedImageSizer"
24− prototype: "QObject"
25− exports: ["Dash/CroppedImageSizer 0.1"]
26− exportMetaObjectRevisions: [0]
27− Property { name: "source"; type: "QUrl" }
28− Property { name: "width"; type: "double" }
29− Property { name: "height"; type: "double" }
30− Property { name: "sourceSize"; type: "QSize"; isReadonly: true }
31− Signal { name: "inputParamsChanged" }
32− Method {
33− name: "setImageSize"
34− Parameter { name: "imageSize"; type: "QSize" }
35− }
36− }
37 Component {
22 Component {
38 name: "HorizontalJournal"
23 name: "HorizontalJournal"
39 defaultProperty: "data"
24 defaultProperty: "data"
plugins/Dash/croppedimagesizer.cppdeleted−136
@@ -1,136 +0,0 @@
1−/*
2− * Copyright (C) 2014 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−#include "croppedimagesizer.h"
18−
19−#include "croppedimagesizerasyncworker.h"
20−
21−#include <QNetworkAccessManager>
22−#include <QNetworkRequest>
23−#include <QQmlEngine>
24−#include <QQuickItem>
25−
26−CroppedImageSizer::CroppedImageSizer()
27− : m_width(0),
28− m_height(0),
29− m_sourceSize(QSize(-1, -1)),
30− m_worker(nullptr)
31−{
32− connect(this, &CroppedImageSizer::inputParamsChanged, this, &CroppedImageSizer::calculateSourceSize);
33− connect(this, &CroppedImageSizer::sourceChanged, this, &CroppedImageSizer::requestImage);
34−}
35−
36−CroppedImageSizer::~CroppedImageSizer()
37−{
38− if (m_worker) {
39− m_worker->abort();
40− }
41−}
42−
43−QUrl CroppedImageSizer::source() const
44−{
45− return m_source;
46−}
47−
48−void CroppedImageSizer::setSource(const QUrl &source)
49−{
50− if (source != m_source) {
51− m_source = source;
52− Q_EMIT sourceChanged();
53− }
54−}
55−
56−qreal CroppedImageSizer::width() const
57−{
58− return m_width;
59−}
60−
61−void CroppedImageSizer::setWidth(qreal width)
62−{
63− if (width != m_width) {
64− m_width = width;
65− Q_EMIT inputParamsChanged();
66− }
67−}
68−
69−qreal CroppedImageSizer::height() const
70−{
71− return m_height;
72−}
73−
74−void CroppedImageSizer::setHeight(qreal height)
75−{
76− if (height != m_height) {
77− m_height = height;
78− Q_EMIT inputParamsChanged();
79− }
80−}
81−
82−QSize CroppedImageSizer::sourceSize() const
83−{
84− return m_sourceSize;
85−}
86−
87−void CroppedImageSizer::setSourceSize(const QSize &sourceSize)
88−{
89− if (sourceSize != m_sourceSize) {
90− m_sourceSize = sourceSize;
91− Q_EMIT sourceSizeChanged();
92− }
93−}
94−
95−void CroppedImageSizer::setImageSize(const QSize &imageSize)
96−{
97− m_imageSize = imageSize;
98− m_worker = nullptr;
99− calculateSourceSize();
100−}
101−
102−void CroppedImageSizer::requestImage()
103−{
104− if (m_worker) {
105− m_worker->abort();
106− m_worker = nullptr;
107− }
108−
109− if (m_source.isValid() && qmlEngine(this) && qmlEngine(this)->networkAccessManager()) {
110− QNetworkRequest request(m_source);
111− QNetworkReply *reply = qmlEngine(this)->networkAccessManager()->get(request);
112− m_worker = new CroppedImageSizerAsyncWorker(this, reply);
113− } else {
114− setSourceSize(QSize(-1, -1));
115− }
116−}
117−
118−void CroppedImageSizer::calculateSourceSize()
119−{
120− if (m_source.isValid() && m_width > 0 && m_height > 0 && !m_worker) {
121− if (!m_imageSize.isEmpty()) {
122− const qreal ar = m_width / m_height;
123− const qreal ssar = m_imageSize.width() / (qreal)m_imageSize.height();
124− if (ar > ssar) {
125− setSourceSize(QSize(m_width, 0));
126− } else {
127− setSourceSize(QSize(0, m_height));
128− }
129− } else {
130− qWarning() << "Invalid size for " << m_source << m_imageSize;
131− setSourceSize(QSize(0, 0));
132− }
133− } else {
134− setSourceSize(QSize(-1, -1));
135− }
136−}
plugins/Dash/croppedimagesizer.hdeleted−72
@@ -1,72 +0,0 @@
1−/*
2− * Copyright (C) 2014 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−#ifndef CROPPEDIMAGESIZER_H
18−#define CROPPEDIMAGESIZER_H
19−
20−#include <QImageReader>
21−#include <QObject>
22−#include <QSize>
23−#include <QUrl>
24−
25−class CroppedImageSizerAsyncWorker;
26−
27−class CroppedImageSizer : public QObject
28−{
29− Q_OBJECT
30−
31− Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
32− Q_PROPERTY(qreal width READ width WRITE setWidth NOTIFY inputParamsChanged)
33− Q_PROPERTY(qreal height READ height WRITE setHeight NOTIFY inputParamsChanged)
34− Q_PROPERTY(QSize sourceSize READ sourceSize NOTIFY sourceSizeChanged)
35−
36−public:
37− CroppedImageSizer();
38− ~CroppedImageSizer();
39−
40− QUrl source() const;
41− void setSource(const QUrl &source);
42−
43− qreal width() const;
44− void setWidth(qreal width);
45−
46− qreal height() const;
47− void setHeight(qreal height);
48−
49− QSize sourceSize() const;
50− void setSourceSize(const QSize &sourceSize);
51−
52− Q_INVOKABLE void setImageSize(const QSize &imageSize);
53−
54−Q_SIGNALS:
55− void inputParamsChanged();
56− void sourceChanged();
57− void sourceSizeChanged();
58−
59−private Q_SLOT:
60− void calculateSourceSize();
61− void requestImage();
62−
63−private:
64− QUrl m_source;
65− qreal m_width;
66− qreal m_height;
67− QSize m_sourceSize;
68− QSize m_imageSize;
69− QPointer<CroppedImageSizerAsyncWorker> m_worker;
70−};
71−
72−#endif
plugins/Dash/croppedimagesizerasyncworker.cppdeleted−74
@@ -1,74 +0,0 @@
1−/*
2− * Copyright (C) 2014 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−#include "croppedimagesizerasyncworker.h"
18−
19−#include "croppedimagesizer.h"
20−
21−#include <QNetworkReply>
22−#include <QtConcurrentRun>
23−
24−CroppedImageSizerAsyncWorker::CroppedImageSizerAsyncWorker(CroppedImageSizer *sizer, QNetworkReply *reply)
25− : m_sizer(sizer),
26− m_reply(reply),
27− m_ignoreAbort(false)
28−{
29− connect(m_reply, &QNetworkReply::finished, this, &CroppedImageSizerAsyncWorker::requestFinished);
30−}
31−
32−void CroppedImageSizerAsyncWorker::abort()
33−{
34− // This runs on main thread
35− QMutexLocker locker(&m_mutex);
36− m_sizer = nullptr;
37− // If we already started the future run we can't abort the reply
38− // since we don't know at which stage the future is, just let it finish
39− if (!m_ignoreAbort) {
40− QMetaObject::invokeMethod(m_reply, "abort", Qt::QueuedConnection);
41− }
42−}
43−
44−void CroppedImageSizerAsyncWorker::requestFinished()
45−{
46− // This runs on main thread
47− QMutexLocker locker(&m_mutex);
48− if (m_sizer) {
49− m_ignoreAbort = true;
50− QtConcurrent::run(processRequestFinished, this);
51− } else {
52− // We were aborted delete ourselves
53− m_reply->deleteLater();
54− deleteLater();
55− }
56−}
57−
58−void CroppedImageSizerAsyncWorker::processRequestFinished(CroppedImageSizerAsyncWorker *worker)
59−{
60− // This runs on non main thread
61− // m_reply has finished at this point and is protected against change by m_ignoreAbort
62− QImageReader reader(worker->m_reply);
63− const QSize imageSize = reader.size();
64−
65− worker->m_mutex.lock();
66− if (worker->m_sizer) {
67− QMetaObject::invokeMethod(worker->m_sizer, "setImageSize", Qt::QueuedConnection, Q_ARG(QSize, imageSize));
68− }
69− worker->m_mutex.unlock();
70−
71− // All work is done, delete ourselves
72− worker->m_reply->deleteLater();
73− worker->deleteLater();
74−}
plugins/Dash/croppedimagesizerasyncworker.hdeleted−47
@@ -1,47 +0,0 @@
1−/*
2− * Copyright (C) 2014 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−#ifndef CROPPEDIMAGESIZERASYNCWORKER_H
18−#define CROPPEDIMAGESIZERASYNCWORKER_H
19−
20−#include <QMutex>
21−#include <QObject>
22−
23−class CroppedImageSizer;
24−
25−class QNetworkReply;
26−
27−class CroppedImageSizerAsyncWorker : public QObject
28−{
29− Q_OBJECT
30−public:
31− CroppedImageSizerAsyncWorker(CroppedImageSizer *sizer, QNetworkReply *reply);
32−
33− void abort();
34−
35−private Q_SLOTS:
36− void requestFinished();
37−
38−private:
39− static void processRequestFinished(CroppedImageSizerAsyncWorker *worker);
40−
41− QMutex m_mutex;
42− CroppedImageSizer *m_sizer;
43− QNetworkReply *m_reply;
44− bool m_ignoreAbort;
45−};
46−
47−#endif
plugins/Dash/plugin.cpp−2
@@ -17,7 +17,6 @@
17
17
18#include "plugin.h"
18#include "plugin.h"
19
19
20−#include "croppedimagesizer.h"
21#include "horizontaljournal.h"
20#include "horizontaljournal.h"
22#include "listviewwithpageheader.h"
21#include "listviewwithpageheader.h"
23#include "organicgrid.h"
22#include "organicgrid.h"
@@ -33,5 +32,4 @@ void DashPlugin::registerTypes(const char *uri)
33 qmlRegisterType<ListViewWithPageHeader>(uri, 0, 1, "ListViewWithPageHeader");
32 qmlRegisterType<ListViewWithPageHeader>(uri, 0, 1, "ListViewWithPageHeader");
34 qmlRegisterType<OrganicGrid>(uri, 0, 1, "OrganicGrid");
33 qmlRegisterType<OrganicGrid>(uri, 0, 1, "OrganicGrid");
35 qmlRegisterType<VerticalJournal>(uri, 0, 1, "VerticalJournal");
34 qmlRegisterType<VerticalJournal>(uri, 0, 1, "VerticalJournal");
36− qmlRegisterType<CroppedImageSizer>(uri, 0, 1, "CroppedImageSizer");
37}
35}
plugins/Utils/CMakeLists.txt+1
@@ -9,6 +9,7 @@ include_directories(
9)
9)
10
10
11set(QMLPLUGIN_SRC
11set(QMLPLUGIN_SRC
12+ activefocuslogger.cpp
12 constants.cpp
13 constants.cpp
13 HomeKeyWatcher.cpp
14 HomeKeyWatcher.cpp
14 inputwatcher.cpp
15 inputwatcher.cpp
tests/uqmlscene/ActiveFocusLogger.cpp → plugins/Utils/activefocuslogger.cpprenamed+21−8
@@ -14,21 +14,34 @@
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
15 */
16
16
17−#include "ActiveFocusLogger.h"
17+#include "activefocuslogger.h"
18
18
19−#include <QDebug>
19+#include <QQuickWindow>
20−#include <QQuickItem>
21
20
22−void ActiveFocusLogger::setWindow(QQuickWindow *window)
21+ActiveFocusLogger::ActiveFocusLogger(QQuickItem *parent)
22+ : QQuickItem(parent)
23{
23{
24+ connect(this, &QQuickItem::windowChanged,
25+ this, &ActiveFocusLogger::setupFilterOnWindow);
26+}
27+
28+void ActiveFocusLogger::setupFilterOnWindow(QQuickWindow *window)
29+{
30+ if (!m_window.isNull()) {
31+ disconnect(m_window.data(), nullptr, this, nullptr);
32+ m_window.clear();
33+ }
34+
35+ if (window) {
24− m_window = window;
36+ m_window = window;
25− QObject::connect(window, &QQuickWindow::activeFocusItemChanged,
37+ QObject::connect(window, &QQuickWindow::activeFocusItemChanged,
26− this, &ActiveFocusLogger::printActiveFocusInfo);
38+ this, &ActiveFocusLogger::printActiveFocusInfo);
39+ }
27}
40}
28
41
29void ActiveFocusLogger::printActiveFocusInfo()
42void ActiveFocusLogger::printActiveFocusInfo()
30{
43{
31− if (!m_window) {
44+ if (!m_window || !isEnabled()) {
32 return;
45 return;
33 }
46 }
34
47
tests/uqmlscene/ActiveFocusLogger.h → plugins/Utils/activefocuslogger.hrenamed+8−8
@@ -14,24 +14,24 @@
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
15 */
16
16
17−#ifndef ACTIVE_FOCUS_LOGGER_H
17+#ifndef UNITY_ACTIVEFOCUSLOGGER_H
18−#define ACTIVE_FOCUS_LOGGER_H
18+#define UNITY_ACTIVEFOCUSLOGGER_H
19
19
20−#include <QObject>
20+#include <QQuickItem>
21−#include <QQuickWindow>
22#include <QPointer>
21#include <QPointer>
23
22
24−class ActiveFocusLogger : public QObject {
23+class ActiveFocusLogger : public QQuickItem
24+{
25 Q_OBJECT
25 Q_OBJECT
26−
27public:
26public:
28− void setWindow(QQuickWindow *window);
27+ ActiveFocusLogger(QQuickItem *parent = 0);
29
28
30private Q_SLOTS:
29private Q_SLOTS:
30+ void setupFilterOnWindow(QQuickWindow *window);
31 void printActiveFocusInfo();
31 void printActiveFocusInfo();
32
32
33private:
33private:
34 QPointer<QQuickWindow> m_window;
34 QPointer<QQuickWindow> m_window;
35};
35};
36
36
37−#endif // ACTIVE_FOCUS_LOGGER_H
37+#endif // UNITY_ACTIVEFOCUSLOGGER_H
plugins/Utils/plugin.cpp+2
@@ -23,6 +23,7 @@
23#include "plugin.h"
23#include "plugin.h"
24
24
25// local
25// local
26+#include "activefocuslogger.h"
26#include "easingcurve.h"
27#include "easingcurve.h"
27#include "HomeKeyWatcher.h"
28#include "HomeKeyWatcher.h"
28#include "inputwatcher.h"
29#include "inputwatcher.h"
@@ -66,6 +67,7 @@ void UtilsPlugin::registerTypes(const char *uri)
66 qmlRegisterSingletonType<WindowStateStorage>(uri, 0, 1, "WindowStateStorage", createWindowStateStorage);
67 qmlRegisterSingletonType<WindowStateStorage>(uri, 0, 1, "WindowStateStorage", createWindowStateStorage);
67 qmlRegisterType<InputWatcher>(uri, 0, 1, "InputWatcher");
68 qmlRegisterType<InputWatcher>(uri, 0, 1, "InputWatcher");
68 qmlRegisterSingletonType<Constants>(uri, 0, 1, "Constants", createConstants);
69 qmlRegisterSingletonType<Constants>(uri, 0, 1, "Constants", createConstants);
70+ qmlRegisterType<ActiveFocusLogger>(uri, 0, 1, "ActiveFocusLogger");
69}
71}
70
72
71void UtilsPlugin::initializeEngine(QQmlEngine *engine, const char *uri)
73void UtilsPlugin::initializeEngine(QQmlEngine *engine, const char *uri)
po/am.po+2−5
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -803,6 +803,3 @@ msgstr "%1 〉"
803
803
804#~ msgid "Please re-enter"
804#~ msgid "Please re-enter"
805#~ msgstr "እባክዎን እንደገና-ያስገቡ"
805#~ msgstr "እባክዎን እንደገና-ያስገቡ"
806−
807−#~ msgid "Click here to finish."
808−#~ msgstr "ለመጨረስ እዚህ ይጫኑ"
po/ar.po+2−5
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= "
17"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= "
18"3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n"
18"3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n"
19−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
19+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
20−"X-Generator: Launchpad (build 17737)\n"
20+"X-Generator: Launchpad (build 17746)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:112
22#: plugins/LightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
@@ -788,6 +788,3 @@ msgstr ""
788
788
789#~ msgid "Please re-enter"
789#~ msgid "Please re-enter"
790#~ msgstr "برجاء إعادة إدخالها"
790#~ msgstr "برجاء إعادة إدخالها"
791−
792−#~ msgid "Click here to finish."
793−#~ msgstr "انقر هنا للإنهاء."
po/ast.po+2−5
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -809,8 +809,5 @@ msgstr "%1 〉"
809#~ msgid "Manage Scopes"
809#~ msgid "Manage Scopes"
810#~ msgstr "Xestionar ámbitos"
810#~ msgstr "Xestionar ámbitos"
811
811
812−#~ msgid "Click here to finish."
813−#~ msgstr "Primi equí pa finar."
814−
815#~ msgid "Please re-enter"
812#~ msgid "Please re-enter"
816#~ msgstr "Por favor, reintroduzla"
813#~ msgstr "Por favor, reintroduzla"
po/az.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/be.po+2−5
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
19−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
19+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
20−"X-Generator: Launchpad (build 17737)\n"
20+"X-Generator: Launchpad (build 17746)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:112
22#: plugins/LightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
@@ -804,6 +804,3 @@ msgstr "%1 〉"
804
804
805#~ msgid "Please re-enter"
805#~ msgid "Please re-enter"
806#~ msgstr "Калі ласка, паўтарыце ўвод"
806#~ msgstr "Калі ласка, паўтарыце ўвод"
807−
808−#~ msgid "Click here to finish."
809−#~ msgstr "Націсніце тут для завяршэння."
po/bg.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/br.po+2−5
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
18"Plural-Forms: nplurals=2; plural=n > 1;\n"
18"Plural-Forms: nplurals=2; plural=n > 1;\n"
19−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
19+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
20−"X-Generator: Launchpad (build 17737)\n"
20+"X-Generator: Launchpad (build 17746)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:112
22#: plugins/LightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
@@ -819,6 +819,3 @@ msgstr "%1 〉"
819
819
820#~ msgid "Please re-enter"
820#~ msgid "Please re-enter"
821#~ msgstr "Adverkañ, mar plij"
821#~ msgstr "Adverkañ, mar plij"
822−
823−#~ msgid "Click here to finish."
824−#~ msgstr "Klikit amañ evit echuiñ."
po/bs.po+2−2
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
19+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
20−"X-Generator: Launchpad (build 17737)\n"
20+"X-Generator: Launchpad (build 17746)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:112
22#: plugins/LightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
po/ca.po+2−5
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -822,6 +822,3 @@ msgstr "%1 〉"
822
822
823#~ msgid "Manage Scopes"
823#~ msgid "Manage Scopes"
824#~ msgstr "Gestioneu les lents"
824#~ msgstr "Gestioneu les lents"
825−
826−#~ msgid "Click here to finish."
827−#~ msgstr "Feu un toc aquí per finalitzar"
po/ca@valencia.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/ce.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/ckb.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/cs.po+2−5
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
17"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20"Language: cs\n"
20"Language: cs\n"
21
21
22#: plugins/LightDM/Greeter.cpp:112
22#: plugins/LightDM/Greeter.cpp:112
@@ -772,6 +772,3 @@ msgstr "%1 〉"
772
772
773#~ msgid "Please re-enter"
773#~ msgid "Please re-enter"
774#~ msgstr "Vložte znovu"
774#~ msgstr "Vložte znovu"
775−
776−#~ msgid "Click here to finish."
777−#~ msgstr "Klikněte zde pro dokončení."
po/cy.po+2−5
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==2 ? 1 : (n != 8 && n != 11) ? "
17"Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==2 ? 1 : (n != 8 && n != 11) ? "
18"2 : 3;\n"
18"2 : 3;\n"
19−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
19+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
20−"X-Generator: Launchpad (build 17737)\n"
20+"X-Generator: Launchpad (build 17746)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:112
22#: plugins/LightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
@@ -725,6 +725,3 @@ msgstr "〈 %1"
725#, qt-format
725#, qt-format
726msgid "%1 〉"
726msgid "%1 〉"
727msgstr "%1 〉"
727msgstr "%1 〉"
728−
729−#~ msgid "Click here to finish."
730−#~ msgstr "Cliciwch yma i orffen."
po/da.po+2−5
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
19−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
19+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
20−"X-Generator: Launchpad (build 17737)\n"
20+"X-Generator: Launchpad (build 17746)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:112
22#: plugins/LightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
@@ -779,6 +779,3 @@ msgstr "%1 〉"
779
779
780#~ msgid "Please re-enter"
780#~ msgid "Please re-enter"
781#~ msgstr "Vær venlig at genindtaste"
781#~ msgstr "Vær venlig at genindtaste"
782−
783−#~ msgid "Click here to finish."
784−#~ msgstr "Tryk her for at afslutte."
po/de.po+2−5
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -817,6 +817,3 @@ msgstr "%1 〉"
817
817
818#~ msgid "Please re-enter"
818#~ msgid "Please re-enter"
819#~ msgstr "Bitte erneut eingeben"
819#~ msgstr "Bitte erneut eingeben"
820−
821−#~ msgid "Click here to finish."
822−#~ msgstr "Zum Abschließen bitte hier klicken."
po/el.po+2−5
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -819,6 +819,3 @@ msgstr "%1 〉"
819
819
820#~ msgid "Power"
820#~ msgid "Power"
821#~ msgstr "Ενέργεια"
821#~ msgstr "Ενέργεια"
822−
823−#~ msgid "Click here to finish."
824−#~ msgstr "Πατήστε εδώ για τέλος."
po/en_AU.po+2−5
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -807,6 +807,3 @@ msgstr "%1 〉"
807
807
808#~ msgid "Please re-enter"
808#~ msgid "Please re-enter"
809#~ msgstr "Please re-enter"
809#~ msgstr "Please re-enter"
810−
811−#~ msgid "Click here to finish."
812−#~ msgstr "Click here to finish."
po/en_GB.po+4−7
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -29,7 +29,7 @@ msgstr "Pin shortcut"
29
29
30#: plugins/Unity/Launcher/launcheritem.cpp:52
30#: plugins/Unity/Launcher/launcheritem.cpp:52
31msgid "Quit"
31msgid "Quit"
32−msgstr ""
32+msgstr "Quit"
33
33
34#: plugins/Unity/Launcher/launcheritem.cpp:106
34#: plugins/Unity/Launcher/launcheritem.cpp:106
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
@@ -459,7 +459,7 @@ msgstr "Reply"
459
459
460#: qml/Panel/Indicators/MessageMenuItemFactory.qml:204
460#: qml/Panel/Indicators/MessageMenuItemFactory.qml:204
461msgid "Call back"
461msgid "Call back"
462−msgstr ""
462+msgstr "Call back"
463
463
464#: qml/Panel/Indicators/ModemInfoItem.qml:105
464#: qml/Panel/Indicators/ModemInfoItem.qml:105
465msgid "Unlock SIM"
465msgid "Unlock SIM"
@@ -807,6 +807,3 @@ msgstr "%1 〉"
807
807
808#~ msgid "Please re-enter"
808#~ msgid "Please re-enter"
809#~ msgstr "Please re-enter"
809#~ msgstr "Please re-enter"
810−
811−#~ msgid "Click here to finish."
812−#~ msgstr "Click here to finish."
po/eo.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/es.po+4−7
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -29,7 +29,7 @@ msgstr "Anclar"
29
29
30#: plugins/Unity/Launcher/launcheritem.cpp:52
30#: plugins/Unity/Launcher/launcheritem.cpp:52
31msgid "Quit"
31msgid "Quit"
32−msgstr ""
32+msgstr "Salir"
33
33
34#: plugins/Unity/Launcher/launcheritem.cpp:106
34#: plugins/Unity/Launcher/launcheritem.cpp:106
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
@@ -463,7 +463,7 @@ msgstr "Responder"
463
463
464#: qml/Panel/Indicators/MessageMenuItemFactory.qml:204
464#: qml/Panel/Indicators/MessageMenuItemFactory.qml:204
465msgid "Call back"
465msgid "Call back"
466−msgstr ""
466+msgstr "Devolver llamada"
467
467
468#: qml/Panel/Indicators/ModemInfoItem.qml:105
468#: qml/Panel/Indicators/ModemInfoItem.qml:105
469msgid "Unlock SIM"
469msgid "Unlock SIM"
@@ -814,6 +814,3 @@ msgstr "%1 〉"
814
814
815#~ msgid "Manage Scopes"
815#~ msgid "Manage Scopes"
816#~ msgstr "Administrar Scopes"
816#~ msgstr "Administrar Scopes"
817−
818−#~ msgid "Click here to finish."
819−#~ msgstr "Pulse aquí para finalizar."
po/eu.po+2−5
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -813,6 +813,3 @@ msgstr "%1 〉"
813
813
814#~ msgid "Please re-enter"
814#~ msgid "Please re-enter"
815#~ msgstr "Errepikatu"
815#~ msgstr "Errepikatu"
816−
817−#~ msgid "Click here to finish."
818−#~ msgstr "Egin klik hemen amaitzeko."
po/fa.po+2−5
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -806,6 +806,3 @@ msgstr "%1 〉"
806
806
807#~ msgid "Manage Scopes"
807#~ msgid "Manage Scopes"
808#~ msgstr "مدیریت حوزه‌ها"
808#~ msgstr "مدیریت حوزه‌ها"
809−
810−#~ msgid "Click here to finish."
811−#~ msgstr "برای پایان اینجا کلیک کنید."
po/fi.po+2−5
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -810,6 +810,3 @@ msgstr "%1 〉"
810
810
811#~ msgid "Please re-enter"
811#~ msgid "Please re-enter"
812#~ msgstr "Anna uudelleen"
812#~ msgstr "Anna uudelleen"
813−
814−#~ msgid "Click here to finish."
815−#~ msgstr "Viimeistele napsauttamalla tästä."
po/fo.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/fr.po+2−5
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -826,6 +826,3 @@ msgstr "%1 〉"
826
826
827#~ msgid "Please re-enter"
827#~ msgid "Please re-enter"
828#~ msgstr "Veuillez ressaisir"
828#~ msgstr "Veuillez ressaisir"
829−
830−#~ msgid "Click here to finish."
831−#~ msgstr "Cliquez ici pour terminer."
po/ga.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2;\n"
17"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/gd.po+2−5
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : "
17"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : "
18"(n > 2 && n < 20) ? 2 : 3;\n"
18"(n > 2 && n < 20) ? 2 : 3;\n"
19−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
19+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
20−"X-Generator: Launchpad (build 17737)\n"
20+"X-Generator: Launchpad (build 17746)\n"
21"Language: gd\n"
21"Language: gd\n"
22
22
23#: plugins/LightDM/Greeter.cpp:112
23#: plugins/LightDM/Greeter.cpp:112
@@ -832,8 +832,5 @@ msgstr "%1 〉"
832#~ msgid "Manage Scopes"
832#~ msgid "Manage Scopes"
833#~ msgstr "Stiùirich na sgòpaichean"
833#~ msgstr "Stiùirich na sgòpaichean"
834
834
835−#~ msgid "Click here to finish."
836−#~ msgstr "Briog an-seo gus crìoch a chur air."
837−
838#~ msgid "Please re-enter"
835#~ msgid "Please re-enter"
839#~ msgstr "Cuir a-steach i a-rithist"
836#~ msgstr "Cuir a-steach i a-rithist"
po/gl.po+2−5
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -808,6 +808,3 @@ msgstr "%1 〉"
808
808
809#~ msgid "Please re-enter"
809#~ msgid "Please re-enter"
810#~ msgstr "Introducir de novo"
810#~ msgstr "Introducir de novo"
811−
812−#~ msgid "Click here to finish."
813−#~ msgstr "Prema aquí para rematar."
po/gv.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : (n == 2 ? 1 : 2);\n"
17"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : (n == 2 ? 1 : 2);\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/he.po+2−5
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -771,6 +771,3 @@ msgstr ""
771
771
772#~ msgid "Favorites"
772#~ msgid "Favorites"
773#~ msgstr "מועדפים"
773#~ msgstr "מועדפים"
774−
775−#~ msgid "Click here to finish."
776−#~ msgstr "יש ללחוץ כאן כדי לסיים."
po/hi.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/hr.po+2−2
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
19+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
20−"X-Generator: Launchpad (build 17737)\n"
20+"X-Generator: Launchpad (build 17746)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:112
22#: plugins/LightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
po/hu.po+5−8
@@ -8,7 +8,7 @@ msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: \n"
9"Report-Msgid-Bugs-To: \n"
10"POT-Creation-Date: 2015-08-25 14:53+0200\n"
10"POT-Creation-Date: 2015-08-25 14:53+0200\n"
11−"PO-Revision-Date: 2015-08-26 07:51+0000\n"
11+"PO-Revision-Date: 2015-09-18 08:40+0000\n"
12"Last-Translator: Richard Somlói <ricsipontaz@gmail.com>\n"
12"Last-Translator: Richard Somlói <ricsipontaz@gmail.com>\n"
13"Language-Team: Hungarian <hu@li.org>\n"
13"Language-Team: Hungarian <hu@li.org>\n"
14"Language: hu\n"
14"Language: hu\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
19−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
19+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
20−"X-Generator: Launchpad (build 17737)\n"
20+"X-Generator: Launchpad (build 17746)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:112
22#: plugins/LightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
@@ -562,11 +562,11 @@ msgstr "A jelmondat legalább 4 karakter hosszú legyen"
562
562
563#: qml/Wizard/Pages/10-welcome.qml:27
563#: qml/Wizard/Pages/10-welcome.qml:27
564msgid "Hi!"
564msgid "Hi!"
565−msgstr "Üdv!"
565+msgstr "Üdvözöljük!"
566
566
567#: qml/Wizard/Pages/10-welcome.qml:44
567#: qml/Wizard/Pages/10-welcome.qml:44
568msgid "Welcome to your Ubuntu phone."
568msgid "Welcome to your Ubuntu phone."
569−msgstr "Üdvözöljük az Ubuntu telefonos változatában."
569+msgstr "Köszöntjük az Ubuntu telefonos változatában."
570
570
571#: qml/Wizard/Pages/10-welcome.qml:52
571#: qml/Wizard/Pages/10-welcome.qml:52
572msgid "Let’s get started."
572msgid "Let’s get started."
@@ -812,6 +812,3 @@ msgstr "%1 〉"
812
812
813#~ msgid "Please re-enter"
813#~ msgid "Please re-enter"
814#~ msgstr "Próbálja újra"
814#~ msgstr "Próbálja újra"
815−
816−#~ msgid "Click here to finish."
817−#~ msgstr "Kattintson ide a befejezéshez."
po/hy.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/ia.po+2−5
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
19−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
19+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
20−"X-Generator: Launchpad (build 17737)\n"
20+"X-Generator: Launchpad (build 17746)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:112
22#: plugins/LightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
@@ -805,6 +805,3 @@ msgstr "%1 〉"
805#~ msgstr ""
805#~ msgstr ""
806#~ "Tu es ora maestrate le gestos del bordo e pote initiar usar le "
806#~ "Tu es ora maestrate le gestos del bordo e pote initiar usar le "
807#~ "telephono<br><br>colpar sur le schermo pro initiar"
807#~ "telephono<br><br>colpar sur le schermo pro initiar"
808−
809−#~ msgid "Click here to finish."
810−#~ msgstr "Clicca ci pro finir"
po/id.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/is.po+2−2
@@ -17,8 +17,8 @@ msgstr ""
17"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Type: text/plain; charset=UTF-8\n"
18"Content-Transfer-Encoding: 8bit\n"
18"Content-Transfer-Encoding: 8bit\n"
19"Plural-Forms: nplurals=2; plural=n != 1;\n"
19"Plural-Forms: nplurals=2; plural=n != 1;\n"
20−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
20+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
21−"X-Generator: Launchpad (build 17737)\n"
21+"X-Generator: Launchpad (build 17746)\n"
22"Language: is\n"
22"Language: is\n"
23
23
24#: plugins/LightDM/Greeter.cpp:112
24#: plugins/LightDM/Greeter.cpp:112
po/it.po+5−8
@@ -8,15 +8,15 @@ msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10"POT-Creation-Date: 2015-08-25 14:53+0200\n"
10"POT-Creation-Date: 2015-08-25 14:53+0200\n"
11−"PO-Revision-Date: 2015-07-04 11:34+0000\n"
11+"PO-Revision-Date: 2015-09-18 08:24+0000\n"
12"Last-Translator: Claudio Arseni <claudio.arseni@gmail.com>\n"
12"Last-Translator: Claudio Arseni <claudio.arseni@gmail.com>\n"
13"Language-Team: Italian <it@li.org>\n"
13"Language-Team: Italian <it@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -29,7 +29,7 @@ msgstr "Blocca scorciatoia"
29
29
30#: plugins/Unity/Launcher/launcheritem.cpp:52
30#: plugins/Unity/Launcher/launcheritem.cpp:52
31msgid "Quit"
31msgid "Quit"
32−msgstr ""
32+msgstr "Esci"
33
33
34#: plugins/Unity/Launcher/launcheritem.cpp:106
34#: plugins/Unity/Launcher/launcheritem.cpp:106
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
@@ -463,7 +463,7 @@ msgstr "Rispondi"
463
463
464#: qml/Panel/Indicators/MessageMenuItemFactory.qml:204
464#: qml/Panel/Indicators/MessageMenuItemFactory.qml:204
465msgid "Call back"
465msgid "Call back"
466−msgstr ""
466+msgstr "Richiama"
467
467
468#: qml/Panel/Indicators/ModemInfoItem.qml:105
468#: qml/Panel/Indicators/ModemInfoItem.qml:105
469msgid "Unlock SIM"
469msgid "Unlock SIM"
@@ -816,9 +816,6 @@ msgstr "%1 〉"
816#~ msgid "Please re-enter"
816#~ msgid "Please re-enter"
817#~ msgstr "Inserire nuovamente"
817#~ msgstr "Inserire nuovamente"
818
818
819−#~ msgid "Click here to finish."
820−#~ msgstr "Fare clic qui per terminare."
821−
822#~ msgid "Swipe up again to close the settings screen"
819#~ msgid "Swipe up again to close the settings screen"
823#~ msgstr ""
820#~ msgstr ""
824#~ "Far scorrere nuovamente verso l'alto per chiudere la schermata delle "
821#~ "Far scorrere nuovamente verso l'alto per chiudere la schermata delle "
po/ja.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/km.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/kn.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/ko.po+2−5
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -790,6 +790,3 @@ msgstr "%1 〉"
790
790
791#~ msgid "Please re-enter"
791#~ msgid "Please re-enter"
792#~ msgstr "다시 입력해주십시오."
792#~ msgstr "다시 입력해주십시오."
793−
794−#~ msgid "Click here to finish."
795−#~ msgstr "끝내려면 눌러주십시오."
po/ku.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/ky.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/lo.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/lt.po+2−2
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"(n%100<10 || n%100>=20) ? 1 : 2;\n"
18"(n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
19+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
20−"X-Generator: Launchpad (build 17737)\n"
20+"X-Generator: Launchpad (build 17746)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:112
22#: plugins/LightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
po/lv.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/ml.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/mr.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/ms.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/my.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/nb.po+2−5
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -809,6 +809,3 @@ msgstr "%1 〉"
809
809
810#~ msgid "Please re-enter"
810#~ msgid "Please re-enter"
811#~ msgstr "Skriv inn på nytt"
811#~ msgstr "Skriv inn på nytt"
812−
813−#~ msgid "Click here to finish."
814−#~ msgstr "Trykk her for å fullføre."
po/nl.po+2−5
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -814,6 +814,3 @@ msgstr "%1 〉"
814
814
815#~ msgid "Please re-enter"
815#~ msgid "Please re-enter"
816#~ msgstr "Herhaal deze a.u.b."
816#~ msgstr "Herhaal deze a.u.b."
817−
818−#~ msgid "Click here to finish."
819−#~ msgstr "Klik hier om te stoppen."
po/nn.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/oc.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/or.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n!=1;\n"
17"Plural-Forms: nplurals=2; plural=n!=1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/pa.po+2−5
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -753,6 +753,3 @@ msgstr "%1 〉"
753
753
754#~ msgid "Please re-enter"
754#~ msgid "Please re-enter"
755#~ msgstr "ਕਿਰਪਾ ਕਰਕੇ ਮੁੜ-ਦਰਜ ਕਰੋ"
755#~ msgstr "ਕਿਰਪਾ ਕਰਕੇ ਮੁੜ-ਦਰਜ ਕਰੋ"
756−
757−#~ msgid "Click here to finish."
758−#~ msgstr "ਸਮਾਪਤੀ ਲਈ ਇੱਥੇ ਕਲਿੱਕ ਕਰੋ।"
po/pl.po+2−5
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
17"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
18"|| n%100>=20) ? 1 : 2;\n"
18"|| n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
19+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
20−"X-Generator: Launchpad (build 17737)\n"
20+"X-Generator: Launchpad (build 17746)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:112
22#: plugins/LightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
@@ -801,6 +801,3 @@ msgstr "%1 〉"
801
801
802#~ msgid "Please re-enter"
802#~ msgid "Please re-enter"
803#~ msgstr "Proszę wprowadź ponownie"
803#~ msgstr "Proszę wprowadź ponownie"
804−
805−#~ msgid "Click here to finish."
806−#~ msgstr "Kliknij tutaj, by zakończyć."
po/pt.po+2−5
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -811,8 +811,5 @@ msgstr "%1 〉"
811#~ msgstr ""
811#~ msgstr ""
812#~ "Deslize da margem esquerda para mostrar o lançador para acesso rápido às apps"
812#~ "Deslize da margem esquerda para mostrar o lançador para acesso rápido às apps"
813
813
814−#~ msgid "Click here to finish."
815−#~ msgstr "Clique aqui para finalizar."
816−
817#~ msgid "Shut down"
814#~ msgid "Shut down"
818#~ msgstr "Desligar"
815#~ msgstr "Desligar"
po/pt_BR.po+2−5
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -814,6 +814,3 @@ msgstr "%1 〉"
814
814
815#~ msgid "Please re-enter"
815#~ msgid "Please re-enter"
816#~ msgstr "Por favor, digite novamente"
816#~ msgstr "Por favor, digite novamente"
817−
818−#~ msgid "Click here to finish."
819−#~ msgstr "Clique aqui para finalizar."
po/ro.po+2−5
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=(n == 1 ? 0: (((n % 100 > 19) || ((n % 100 "
17"Plural-Forms: nplurals=3; plural=(n == 1 ? 0: (((n % 100 > 19) || ((n % 100 "
18"== 0) && (n != 0))) ? 2: 1));\n"
18"== 0) && (n != 0))) ? 2: 1));\n"
19−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
19+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
20−"X-Generator: Launchpad (build 17737)\n"
20+"X-Generator: Launchpad (build 17746)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:112
22#: plugins/LightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
@@ -825,6 +825,3 @@ msgstr "%1 〉"
825
825
826#~ msgid "Please re-enter"
826#~ msgid "Please re-enter"
827#~ msgstr "Introduceți din nou"
827#~ msgstr "Introduceți din nou"
828−
829−#~ msgid "Click here to finish."
830−#~ msgstr "Apăsați aici pentru a termina."
po/ru.po+2−5
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
19+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
20−"X-Generator: Launchpad (build 17737)\n"
20+"X-Generator: Launchpad (build 17746)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:112
22#: plugins/LightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
@@ -822,6 +822,3 @@ msgstr "%1 〉"
822
822
823#~ msgid "Manage Scopes"
823#~ msgid "Manage Scopes"
824#~ msgstr "Настройки поиска"
824#~ msgstr "Настройки поиска"
825−
826−#~ msgid "Click here to finish."
827−#~ msgstr "Нажмите для завершения."
po/shn.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=(n == 1) ? 0 : 1;\n"
17"Plural-Forms: nplurals=2; plural=(n == 1) ? 0 : 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/si.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/sk.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n"
17"Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/sl.po+2−5
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || "
17"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || "
18"n%100==4 ? 3 : 0);\n"
18"n%100==4 ? 3 : 0);\n"
19−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
19+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
20−"X-Generator: Launchpad (build 17737)\n"
20+"X-Generator: Launchpad (build 17746)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:112
22#: plugins/LightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
@@ -817,6 +817,3 @@ msgstr "%1 〉"
817
817
818#~ msgid "Please re-enter"
818#~ msgid "Please re-enter"
819#~ msgstr "Ponovno vnesite"
819#~ msgstr "Ponovno vnesite"
820−
821−#~ msgid "Click here to finish."
822−#~ msgstr "Kliknite tu za zaključek."
po/sq.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:49+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/sr.po+2−2
@@ -17,8 +17,8 @@ msgstr ""
17"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
18"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
19"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
20−"X-Launchpad-Export-Date: 2015-09-17 05:46+0000\n"
20+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
21−"X-Generator: Launchpad (build 17737)\n"
21+"X-Generator: Launchpad (build 17746)\n"
22"Language: sr\n"
22"Language: sr\n"
23
23
24#: plugins/LightDM/Greeter.cpp:112
24#: plugins/LightDM/Greeter.cpp:112
po/sv.po+2−5
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20"Language: sv\n"
20"Language: sv\n"
21
21
22#: plugins/LightDM/Greeter.cpp:112
22#: plugins/LightDM/Greeter.cpp:112
@@ -810,6 +810,3 @@ msgstr "%1 〉"
810
810
811#~ msgid "Please re-enter"
811#~ msgid "Please re-enter"
812#~ msgstr "Ange igen"
812#~ msgstr "Ange igen"
813−
814−#~ msgid "Click here to finish."
815−#~ msgstr "Klicka här för att slutföra."
po/sw.po+2−5
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -719,6 +719,3 @@ msgstr ""
719
719
720#~ msgid "Please re-enter"
720#~ msgid "Please re-enter"
721#~ msgstr "Tafadhali bonyeza tena"
721#~ msgstr "Tafadhali bonyeza tena"
722−
723−#~ msgid "Click here to finish."
724−#~ msgstr "Click hapa umalize."
po/ta.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20"Language: ta\n"
20"Language: ta\n"
21
21
22#: plugins/LightDM/Greeter.cpp:112
22#: plugins/LightDM/Greeter.cpp:112
po/te.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/th.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/tr.po+2−5
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -801,6 +801,3 @@ msgstr "%1 〉"
801
801
802#~ msgid "Please re-enter"
802#~ msgid "Please re-enter"
803#~ msgstr "Lütfen yeniden girin"
803#~ msgstr "Lütfen yeniden girin"
804−
805−#~ msgid "Click here to finish."
806−#~ msgstr "Bitirmek için buraya tıklayın."
po/ug.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/uk.po+2−5
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
19+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
20−"X-Generator: Launchpad (build 17737)\n"
20+"X-Generator: Launchpad (build 17746)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:112
22#: plugins/LightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
@@ -822,6 +822,3 @@ msgstr "%1 〉"
822
822
823#~ msgid "Please re-enter"
823#~ msgid "Please re-enter"
824#~ msgstr "Ввведіть ще раз"
824#~ msgstr "Ввведіть ще раз"
825−
826−#~ msgid "Click here to finish."
827−#~ msgstr "Натисніть тут, щоб завершити."
po/ur.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/uz.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/vi.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/xh.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/zh_CN.po+2−5
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
@@ -770,6 +770,3 @@ msgstr "%1 〉"
770
770
771#~ msgid "Please re-enter"
771#~ msgid "Please re-enter"
772#~ msgstr "请重新输入"
772#~ msgstr "请重新输入"
773−
774−#~ msgid "Click here to finish."
775−#~ msgstr "点击这里完成。"
po/zh_HK.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:112
21#: plugins/LightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
po/zh_TW.po+2−2
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2015-09-16 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2015-09-19 05:37+0000\n"
19−"X-Generator: Launchpad (build 17737)\n"
19+"X-Generator: Launchpad (build 17746)\n"
20"Language: zh_TW\n"
20"Language: zh_TW\n"
21
21
22#: plugins/LightDM/Greeter.cpp:112
22#: plugins/LightDM/Greeter.cpp:112
qml/Dash/Previews/PreviewExpandable.qml+3−3
@@ -24,15 +24,15 @@ import "../../Components"
24 Those widgets can be collapsed or uncollapsed. When uncollapsed
24 Those widgets can be collapsed or uncollapsed. When uncollapsed
25 all the widgets are shown, when collapsed only the first
25 all the widgets are shown, when collapsed only the first
26 widgetData["collapsed-widgets"] are shown. It has a title that comes
26 widgetData["collapsed-widgets"] are shown. It has a title that comes
27− in via widgetData["title"]
27+ in via widgetData["title"]. This widget expands all child widgets
28+ when initialized by specifying widgetData["expanded"] == true.
29+ It's in unexpanded mode by default.
28 */
30 */
29
31
30PreviewWidget {
32PreviewWidget {
31 id: root
33 id: root
32 implicitHeight: childrenRect.height
34 implicitHeight: childrenRect.height
33
35
34− expanded: false
35−
36 Label {
36 Label {
37 id: titleLabel
37 id: titleLabel
38 objectName: "titleLabel"
38 objectName: "titleLabel"
qml/Dash/Previews/PreviewWidgetFactory.qml+1−1
@@ -35,7 +35,7 @@ Loader {
35 property var scopeStyle: null
35 property var scopeStyle: null
36
36
37 //! Should the widget show in expanded mode (For those that support it)
37 //! Should the widget show in expanded mode (For those that support it)
38− property bool expanded: widgetType !== "expandable"
38+ property bool expanded: widgetType !== "expandable" || widgetData["expanded"] === true
39
39
40 //! Set to true if the parent preview is displayed.
40 //! Set to true if the parent preview is displayed.
41 property bool isCurrentPreview: false
41 property bool isCurrentPreview: false
qml/Launcher/Launcher.qml+1
@@ -136,6 +136,7 @@ Item {
136 id: fadeOutAnimation
136 id: fadeOutAnimation
137 ScriptAction {
137 ScriptAction {
138 script: {
138 script: {
139+ animateTimer.stop(); // Don't change the state behind our back
139 panel.layer.enabled = true
140 panel.layer.enabled = true
140 }
141 }
141 }
142 }
qml/Stages/ApplicationWindow.qml−3
@@ -137,9 +137,6 @@ FocusScope {
137 onSurfaceChanged: {
137 onSurfaceChanged: {
138 if (sessionContainer.surface) {
138 if (sessionContainer.surface) {
139 surfaceInitTimer.start();
139 surfaceInitTimer.start();
140− if (ApplicationManager.focusedApplicationId == application.appId) {
141− root.forceActiveFocus();
142− }
143 } else {
140 } else {
144 d.surfaceInitialized = false;
141 d.surfaceInitialized = false;
145 }
142 }
qml/Stages/DesktopStage.qml+14−15
@@ -78,7 +78,6 @@ Rectangle {
78 var appDelegate = appRepeater.itemAt(appIndex);
78 var appDelegate = appRepeater.itemAt(appIndex);
79 appDelegate.minimized = false;
79 appDelegate.minimized = false;
80 appDelegate.focus = true;
80 appDelegate.focus = true;
81− ApplicationManager.focusApplication(appId);
82 }
81 }
83 }
82 }
84
83
@@ -91,12 +90,6 @@ Rectangle {
91 return index >= 0 && index < appRepeater.count ? appRepeater.itemAt(index) : null
90 return index >= 0 && index < appRepeater.count ? appRepeater.itemAt(index) : null
92 }
91 }
93
92
94− onFocusedAppDelegateChanged: {
95− if (focusedAppDelegate) {
96− focusedAppDelegate.focus = true;
97− }
98− }
99−
100 function indexOf(appId) {
93 function indexOf(appId) {
101 for (var i = 0; i < ApplicationManager.count; i++) {
94 for (var i = 0; i < ApplicationManager.count; i++) {
102 if (ApplicationManager.get(i).appId == appId) {
95 if (ApplicationManager.get(i).appId == appId) {
@@ -133,23 +126,28 @@ Rectangle {
133 id: appContainer
126 id: appContainer
134 objectName: "appContainer"
127 objectName: "appContainer"
135 anchors.fill: parent
128 anchors.fill: parent
129+ focus: true
136
130
137 Keys.onPressed: {
131 Keys.onPressed: {
138 switch (event.key) {
132 switch (event.key) {
139 case Qt.Key_Left:
133 case Qt.Key_Left:
140 case Qt.Key_Backtab:
134 case Qt.Key_Backtab:
141 selectPrevious(event.isAutoRepeat)
135 selectPrevious(event.isAutoRepeat)
136+ event.accepted = true;
142 break;
137 break;
143 case Qt.Key_Right:
138 case Qt.Key_Right:
144 case Qt.Key_Tab:
139 case Qt.Key_Tab:
145 selectNext(event.isAutoRepeat)
140 selectNext(event.isAutoRepeat)
141+ event.accepted = true;
146 break;
142 break;
147 case Qt.Key_Escape:
143 case Qt.Key_Escape:
148 appRepeater.highlightedIndex = -1
144 appRepeater.highlightedIndex = -1
145+ event.accepted = true;
149 case Qt.Key_Enter:
146 case Qt.Key_Enter:
150 case Qt.Key_Return:
147 case Qt.Key_Return:
151 case Qt.Key_Space:
148 case Qt.Key_Space:
152 root.state = ""
149 root.state = ""
150+ event.accepted = true;
153 }
151 }
154 }
152 }
155
153
@@ -180,7 +178,8 @@ Rectangle {
180
178
181 function focusSelected() {
179 function focusSelected() {
182 if (appRepeater.highlightedIndex != -1) {
180 if (appRepeater.highlightedIndex != -1) {
183− appRepeater.itemAt(appRepeater.highlightedIndex).focus = true;
181+ var application = ApplicationManager.get(appRepeater.highlightedIndex);
182+ ApplicationManager.requestFocusApplication(application.appId)
184 }
183 }
185 }
184 }
186
185
@@ -222,13 +221,14 @@ Rectangle {
222
221
223 onFocusChanged: {
222 onFocusChanged: {
224 if (focus && ApplicationManager.focusedApplicationId !== model.appId) {
223 if (focus && ApplicationManager.focusedApplicationId !== model.appId) {
225− ApplicationManager.requestFocusApplication(model.appId);
224+ ApplicationManager.focusApplication(model.appId);
226− decoratedWindow.forceActiveFocus();
227 }
225 }
228 }
226 }
227+
229 Component.onCompleted: {
228 Component.onCompleted: {
229+ // Focus the top-most or AppMan-focused application on start up.
230− if (ApplicationManager.focusedApplicationId == model.appId) {
230+ if (ApplicationManager.focusedApplicationId === model.appId && !focus) {
231− decoratedWindow.forceActiveFocus();
231+ focus = true;
232 }
232 }
233 }
233 }
234
234
@@ -356,7 +356,7 @@ Rectangle {
356 resizeHandleWidth: units.gu(2)
356 resizeHandleWidth: units.gu(2)
357 windowId: model.appId // FIXME: Change this to point to windowId once we have such a thing
357 windowId: model.appId // FIXME: Change this to point to windowId once we have such a thing
358
358
359− onPressed: appDelegate.focus = true;
359+ onPressed: { appDelegate.focus = true; }
360 }
360 }
361
361
362 DecoratedWindow {
362 DecoratedWindow {
@@ -368,7 +368,7 @@ Rectangle {
368 windowHeight: appDelegate.windowHeight
368 windowHeight: appDelegate.windowHeight
369 application: ApplicationManager.get(index)
369 application: ApplicationManager.get(index)
370 active: ApplicationManager.focusedApplicationId === model.appId
370 active: ApplicationManager.focusedApplicationId === model.appId
371− focus: false
371+ focus: true
372
372
373 onClose: ApplicationManager.stopApplication(model.appId)
373 onClose: ApplicationManager.stopApplication(model.appId)
374 onMaximize: appDelegate.maximize()
374 onMaximize: appDelegate.maximize()
@@ -642,7 +642,6 @@ Rectangle {
642 PropertyChanges { target: spreadFlickable; enabled: spreadFlickable.contentWidth > spreadFlickable.minContentWidth }
642 PropertyChanges { target: spreadFlickable; enabled: spreadFlickable.contentWidth > spreadFlickable.minContentWidth }
643 PropertyChanges { target: currentSelectedLabel; visible: true }
643 PropertyChanges { target: currentSelectedLabel; visible: true }
644 PropertyChanges { target: spreadBackground; visible: true }
644 PropertyChanges { target: spreadBackground; visible: true }
645− PropertyChanges { target: appContainer; focus: true }
646 PropertyChanges { target: hoverMouseArea; enabled: true }
645 PropertyChanges { target: hoverMouseArea; enabled: true }
647 }
646 }
648 ]
647 ]
tests/autopilot/unity8/application_lifecycle/tests/test_application_lifecycle.py+2−1
@@ -24,6 +24,7 @@ import os
24import threading
24import threading
25
25
26from autopilot.platform import model
26from autopilot.platform import model
27+from autopilot.application import _launcher
27
28
28from unity8 import process_helpers
29from unity8 import process_helpers
29from unity8.application_lifecycle import tests
30from unity8.application_lifecycle import tests
@@ -118,7 +119,7 @@ class ApplicationLifecycleTests(tests.ApplicationLifeCycleTestCase):
118
119
119 process_helpers.lock_unity()
120 process_helpers.lock_unity()
120
121
121− self.launch_upstart_application(application_name)
122+ self.launch_upstart_application(application_name, [], _launcher.AlreadyLaunchedUpstartLauncher)
122 greeter = self.main_window.get_greeter()
123 greeter = self.main_window.get_greeter()
123 greeter.wait_swiped_away()
124 greeter.wait_swiped_away()
124 process_helpers.unlock_unity()
125 process_helpers.unlock_unity()
tests/autopilot/unity8/dash.py+3−4
@@ -155,7 +155,7 @@ class Dash(ubuntuuitoolkit.UbuntuUIToolkitCustomProxyObjectBase):
155 self.pointing_device.drag(start_x, start_y, stop_x, stop_y, rate)
155 self.pointing_device.drag(start_x, start_y, stop_x, stop_y, rate)
156 self.dash_content_list.currentIndex.wait_for(original_index + 1)
156 self.dash_content_list.currentIndex.wait_for(original_index + 1)
157
157
158− def enter_search_query(self, query):
158+ def enter_search_query(self, query, keyboard):
159 current_header = self._get_current_page_header()
159 current_header = self._get_current_page_header()
160 search_button = \
160 search_button = \
161 current_header.select_single(objectName="search_header_button")
161 current_header.select_single(objectName="search_header_button")
@@ -166,12 +166,11 @@ class Dash(ubuntuuitoolkit.UbuntuUIToolkitCustomProxyObjectBase):
166 headerContainer = current_header.select_single(
166 headerContainer = current_header.select_single(
167 objectName="headerContainer")
167 objectName="headerContainer")
168 headerContainer.contentY.wait_for(0)
168 headerContainer.contentY.wait_for(0)
169− search_text_field = self._get_search_text_field()
169+ keyboard.type(query)
170− search_text_field.write(query)
171 self.select_single(
170 self.select_single(
172 objectName="processingIndicator").visible.wait_for(False)
171 objectName="processingIndicator").visible.wait_for(False)
173
172
174− def _get_search_text_field(self):
173+ def get_search_text_field(self):
175 page_header = self._get_current_page_header()
174 page_header = self._get_current_page_header()
176 return page_header.select_single(objectName='searchTextField')
175 return page_header.select_single(objectName='searchTextField')
177
176
tests/autopilot/unity8/shell/tests/test_helpers.py+2−2
@@ -47,8 +47,8 @@ class MainWindowTestCase(tests.UnityTestCase):
47class DashHelperTestCase(tests.DashBaseTestCase):
47class DashHelperTestCase(tests.DashBaseTestCase):
48
48
49 def test_search(self):
49 def test_search(self):
50− self.dash.enter_search_query('Test')
50+ self.dash.enter_search_query('Test', self.keyboard)
51− text_field = self.dash._get_search_text_field()
51+ text_field = self.dash.get_search_text_field()
52 self.assertEqual(text_field.text, 'Test')
52 self.assertEqual(text_field.text, 'Test')
53
53
54 def test_open_scope_to_the_right(self):
54 def test_open_scope_to_the_right(self):
tests/mocks/Powerd/Powerd.cpp+2−2
@@ -24,11 +24,11 @@ Powerd::Powerd(QObject* parent)
24{
24{
25}
25}
26
26
27−void Powerd::setStatus(Powerd::Status status)
27+void Powerd::setStatus(Powerd::Status status, DisplayStateChangeReason reason)
28{
28{
29 if (m_status != status) {
29 if (m_status != status) {
30 m_status = status;
30 m_status = status;
31− Q_EMIT statusChanged(DisplayStateChangeReason::Unknown);
31+ Q_EMIT statusChanged(reason);
32 }
32 }
33}
33}
34
34
tests/mocks/Powerd/Powerd.h+4−2
@@ -26,7 +26,7 @@ class Powerd: public QObject
26 Q_OBJECT
26 Q_OBJECT
27 Q_ENUMS(Status)
27 Q_ENUMS(Status)
28 Q_ENUMS(DisplayStateChangeReason)
28 Q_ENUMS(DisplayStateChangeReason)
29− Q_PROPERTY(Status status READ status WRITE setStatus NOTIFY statusChanged) // write only exists for tests
29+ Q_PROPERTY(Status status READ status NOTIFY statusChanged)
30
30
31public:
31public:
32 enum DisplayStateChangeReason {
32 enum DisplayStateChangeReason {
@@ -44,7 +44,9 @@ public:
44 explicit Powerd(QObject *parent = 0);
44 explicit Powerd(QObject *parent = 0);
45
45
46 Status status() const;
46 Status status() const;
47+
48+ // Not exposed via Q_PROPERTY because we need the 'reason' argument too
47− void setStatus(Status status);
49+ Q_INVOKABLE void setStatus(Status status, DisplayStateChangeReason reason);
48
50
49Q_SIGNALS:
51Q_SIGNALS:
50 void statusChanged(DisplayStateChangeReason reason);
52 void statusChanged(DisplayStateChangeReason reason);
tests/mocks/Unity/Application/MirSurfaceItem.cpp+15
@@ -161,6 +161,21 @@ void MirSurfaceItem::touchEvent(QTouchEvent * event)
161 }
161 }
162}
162}
163
163
164+void MirSurfaceItem::mousePressEvent(QMouseEvent * event)
165+{
166+ event->accept();
167+}
168+
169+void MirSurfaceItem::mouseMoveEvent(QMouseEvent * event)
170+{
171+ event->accept();
172+}
173+
174+void MirSurfaceItem::mouseReleaseEvent(QMouseEvent * event)
175+{
176+ event->accept();
177+}
178+
164void MirSurfaceItem::setSurface(MirSurfaceInterface* surface)
179void MirSurfaceItem::setSurface(MirSurfaceInterface* surface)
165{
180{
166 qDebug().nospace() << "MirSurfaceItem::setSurface() this=" << (void*)(this)
181 qDebug().nospace() << "MirSurfaceItem::setSurface() this=" << (void*)(this)
tests/mocks/Unity/Application/MirSurfaceItem.h+3
@@ -79,6 +79,9 @@ Q_SIGNALS:
79
79
80protected:
80protected:
81 void touchEvent(QTouchEvent * event) override;
81 void touchEvent(QTouchEvent * event) override;
82+ void mousePressEvent(QMouseEvent * event) override;
83+ void mouseMoveEvent(QMouseEvent * event) override;
84+ void mouseReleaseEvent(QMouseEvent * event) override;
82 void itemChange(ItemChange change, const ItemChangeData & value) override;
85 void itemChange(ItemChange change, const ItemChangeData & value) override;
83
86
84private Q_SLOTS:
87private Q_SLOTS:
tests/mocks/Utils/CMakeLists.txt+1
@@ -10,6 +10,7 @@ include_directories(
10)
10)
11
11
12set(QMLPLUGIN_SRC
12set(QMLPLUGIN_SRC
13+ ${CMAKE_SOURCE_DIR}/plugins/Utils/activefocuslogger.cpp
13 ${CMAKE_SOURCE_DIR}/plugins/Utils/qlimitproxymodelqml.cpp
14 ${CMAKE_SOURCE_DIR}/plugins/Utils/qlimitproxymodelqml.cpp
14 ${CMAKE_SOURCE_DIR}/plugins/Utils/unitysortfilterproxymodelqml.cpp
15 ${CMAKE_SOURCE_DIR}/plugins/Utils/unitysortfilterproxymodelqml.cpp
15 ${CMAKE_SOURCE_DIR}/plugins/Utils/relativetimeformatter.cpp
16 ${CMAKE_SOURCE_DIR}/plugins/Utils/relativetimeformatter.cpp
tests/mocks/Utils/plugin.cpp+2
@@ -35,6 +35,7 @@
35#include "constants.h"
35#include "constants.h"
36
36
37// plugin
37// plugin
38+#include <activefocuslogger.h>
38#include <inputwatcher.h>
39#include <inputwatcher.h>
39#include <qlimitproxymodelqml.h>
40#include <qlimitproxymodelqml.h>
40#include <unitysortfilterproxymodelqml.h>
41#include <unitysortfilterproxymodelqml.h>
@@ -74,6 +75,7 @@ void FakeUtilsPlugin::registerTypes(const char *uri)
74 qmlRegisterSingletonType<WindowStateStorage>(uri, 0, 1, "WindowStateStorage", createWindowStateStorage);
75 qmlRegisterSingletonType<WindowStateStorage>(uri, 0, 1, "WindowStateStorage", createWindowStateStorage);
75 qmlRegisterType<InputWatcher>(uri, 0, 1, "InputWatcher");
76 qmlRegisterType<InputWatcher>(uri, 0, 1, "InputWatcher");
76 qmlRegisterSingletonType<Constants>(uri, 0, 1, "Constants", createConstants);
77 qmlRegisterSingletonType<Constants>(uri, 0, 1, "Constants", createConstants);
78+ qmlRegisterType<ActiveFocusLogger>(uri, 0, 1, "ActiveFocusLogger");
77}
79}
78
80
79void FakeUtilsPlugin::initializeEngine(QQmlEngine *engine, const char *uri)
81void FakeUtilsPlugin::initializeEngine(QQmlEngine *engine, const char *uri)
tests/plugins/Dash/cardcreator/1.res+1−1
@@ -32,7 +32,7 @@ Item {
32 objectName: "artShape";
32 objectName: "artShape";
33 property bool doShapeItem: components["art"]["conciergeMode"] !== true;
33 property bool doShapeItem: components["art"]["conciergeMode"] !== true;
34 visible: image.status == Image.Ready;
34 visible: image.status == Image.Ready;
35− readonly property alias image: artImage.image;
35+ readonly property alias image: artImage;
36 property alias borderSource: artShapeShape.borderSource;
36 property alias borderSource: artShapeShape.borderSource;
37 ShaderEffectSource {
37 ShaderEffectSource {
38 id: artShapeSource;
38 id: artShapeSource;
tests/plugins/Dash/cardcreator/3.res+1−1
@@ -32,7 +32,7 @@ Item {
32 objectName: "artShape";
32 objectName: "artShape";
33 property bool doShapeItem: components["art"]["conciergeMode"] !== true;
33 property bool doShapeItem: components["art"]["conciergeMode"] !== true;
34 visible: image.status == Image.Ready;
34 visible: image.status == Image.Ready;
35− readonly property alias image: artImage.image;
35+ readonly property alias image: artImage;
36 property alias borderSource: artShapeShape.borderSource;
36 property alias borderSource: artShapeShape.borderSource;
37 ShaderEffectSource {
37 ShaderEffectSource {
38 id: artShapeSource;
38 id: artShapeSource;
tests/plugins/Dash/cardcreator/4.res+2−2
@@ -34,11 +34,11 @@ Loader {
34 id: mascotShapeLoader;
34 id: mascotShapeLoader;
35 objectName: "mascotShapeLoader";
35 objectName: "mascotShapeLoader";
36 asynchronous: root.asynchronous;
36 asynchronous: root.asynchronous;
37− active: mascotImage.image.status === Image.Ready;
37+ active: mascotImage.status === Image.Ready;
38 visible: showHeader && active && status == Loader.Ready;
38 visible: showHeader && active && status == Loader.Ready;
39 width: units.gu(6);
39 width: units.gu(6);
40 height: units.gu(5.625);
40 height: units.gu(5.625);
41− sourceComponent: UbuntuShape { image: mascotImage.image }
41+ sourceComponent: UbuntuShape { image: mascotImage }
42 anchors { verticalCenter: parent.verticalCenter; }
42 anchors { verticalCenter: parent.verticalCenter; }
43 }
43 }
44
44
tests/plugins/Dash/cardcreator/5.res+1−1
@@ -32,7 +32,7 @@ Item {
32 objectName: "artShape";
32 objectName: "artShape";
33 property bool doShapeItem: components["art"]["conciergeMode"] !== true;
33 property bool doShapeItem: components["art"]["conciergeMode"] !== true;
34 visible: image.status == Image.Ready;
34 visible: image.status == Image.Ready;
35− readonly property alias image: artImage.image;
35+ readonly property alias image: artImage;
36 property alias borderSource: artShapeShape.borderSource;
36 property alias borderSource: artShapeShape.borderSource;
37 ShaderEffectSource {
37 ShaderEffectSource {
38 id: artShapeSource;
38 id: artShapeSource;
tests/plugins/Dash/tst_CroppedImageMinimumSourceSize.qml+6−6
@@ -41,16 +41,16 @@ Rectangle {
41 when: windowShown
41 when: windowShown
42
42
43 function test_croppedSource() {
43 function test_croppedSource() {
44− tryCompare(cimss.image.sourceSize, "width", 100);
44+ tryCompare(cimss.sourceSize, "width", 100);
45− tryCompare(cimss.image.sourceSize, "height", 0);
45+ tryCompare(cimss.sourceSize, "height", 0);
46
46
47 cimss.width = 40;
47 cimss.width = 40;
48− tryCompare(cimss.image.sourceSize, "width", 0);
48+ tryCompare(cimss.sourceSize, "width", 0);
49− tryCompare(cimss.image.sourceSize, "height", 100);
49+ tryCompare(cimss.sourceSize, "height", 100);
50
50
51 cimss.width = 100;
51 cimss.width = 100;
52− tryCompare(cimss.image.sourceSize, "width", 100);
52+ tryCompare(cimss.sourceSize, "width", 100);
53− tryCompare(cimss.image.sourceSize, "height", 0);
53+ tryCompare(cimss.sourceSize, "height", 0);
54 }
54 }
55 }
55 }
56}
56}
tests/qmltests/Components/tst_PhysicalKeysMapper.qml+3−3
@@ -45,7 +45,7 @@ TestCase {
45 }
45 }
46
46
47 function init() {
47 function init() {
48− Powerd.status = Powerd.On;
48+ Powerd.setStatus(Powerd.On, Powerd.Unknown);
49 loader.active = true;
49 loader.active = true;
50 tryCompare(loader.status == Loader.Ready);
50 tryCompare(loader.status == Loader.Ready);
51 }
51 }
@@ -64,14 +64,14 @@ TestCase {
64 }
64 }
65
65
66 function test_powerKeyLongPressed(data) {
66 function test_powerKeyLongPressed(data) {
67− Powerd.status = data.status;
67+ Powerd.setStatus(data.status, Powerd.Unknown);
68 physicalKeysMapper.powerKeyLongPressTime = 500;
68 physicalKeysMapper.powerKeyLongPressTime = 500;
69
69
70 physicalKeysMapper.onKeyPressed({ key: Qt.Key_PowerDown, isAutoRepeat: false });
70 physicalKeysMapper.onKeyPressed({ key: Qt.Key_PowerDown, isAutoRepeat: false });
71
71
72 // After the first key press the screen is always on
72 // After the first key press the screen is always on
73 // and the rest of keypresses are auto repeat
73 // and the rest of keypresses are auto repeat
74− Powerd.status = Powerd.On;
74+ Powerd.setStatus(Powerd.On, Powerd.Unknown);
75
75
76 for (var i = 0; i < 3; ++i) {
76 for (var i = 0; i < 3; ++i) {
77 wait(10);
77 wait(10);
tests/qmltests/Dash/Previews/tst_PreviewExpandable.qml+91−2
@@ -120,13 +120,26 @@ Rectangle {
120 "widgets": widgetsModel
120 "widgets": widgetsModel
121 }
121 }
122
122
123+ property var widgetData1: {
124+ "title": "Title here1",
125+ "collapsed-widgets": 2,
126+ "widgets": widgetsModel,
127+ "expanded": true
128+ }
129+
130+ property var widgetData2: {
131+ "title": "Title here2",
132+ "collapsed-widgets": 2,
133+ "widgets": widgetsModel,
134+ "expanded": false
135+ }
136+
123 property var allWidgetsData: {
137 property var allWidgetsData: {
124 "title": "Title here",
138 "title": "Title here",
125 "collapsed-widgets": 0,
139 "collapsed-widgets": 0,
126 "widgets": allWidgetsModel
140 "widgets": allWidgetsModel
127 }
141 }
128
142
129−
130 Component.onCompleted: {
143 Component.onCompleted: {
131 widgetsModel.append({"type": "text", "widgetId": "text1", "properties": { "text": longText }});
144 widgetsModel.append({"type": "text", "widgetId": "text1", "properties": { "text": longText }});
132 widgetsModel.append({"type": "table", "widgetId": "table1", "properties": tableData });
145 widgetsModel.append({"type": "table", "widgetId": "table1", "properties": tableData });
@@ -160,8 +173,22 @@ Rectangle {
160 }
173 }
161
174
162 PreviewWidgetFactory {
175 PreviewWidgetFactory {
163− id: previewWidgetFactory
176+ id: previewExpandable1
164 anchors { left: parent.left; right: parent.right; top: previewExpandable.bottom }
177 anchors { left: parent.left; right: parent.right; top: previewExpandable.bottom }
178+ widgetType: "expandable"
179+ widgetData: root.widgetData1
180+ }
181+
182+ PreviewWidgetFactory {
183+ id: previewExpandable2
184+ anchors { left: parent.left; right: parent.right; top: previewExpandable1.bottom }
185+ widgetType: "expandable"
186+ widgetData: root.widgetData2
187+ }
188+
189+ PreviewWidgetFactory {
190+ id: previewWidgetFactory
191+ anchors { left: parent.left; right: parent.right; top: previewExpandable2.bottom }
165 opacity: 0
192 opacity: 0
166 }
193 }
167
194
@@ -185,6 +212,8 @@ Rectangle {
185 }
212 }
186
213
187 function init() {
214 function init() {
215+ previewExpandable.widgetType = "";
216+ previewExpandable.widgetType = "expandable";
188 previewExpandable.widgetData = widgetData;
217 previewExpandable.widgetData = widgetData;
189 checkInitialState();
218 checkInitialState();
190 }
219 }
@@ -210,6 +239,66 @@ Rectangle {
210 checkInitialState();
239 checkInitialState();
211 }
240 }
212
241
242+ function test_expand_collapse_when_assigned() {
243+ previewExpandable.widgetData = widgetData1;
244+
245+ var repeater = findChild(previewExpandable, "repeater")
246+ compare(repeater.count, 4)
247+
248+ compare (repeater.itemAt(0).visible, true);
249+ compare (repeater.itemAt(1).visible, true);
250+ compare (repeater.itemAt(2).visible, true);
251+ compare (repeater.itemAt(3).visible, true);
252+ compare (repeater.itemAt(0).expanded, true);
253+ compare (repeater.itemAt(1).expanded, true);
254+ compare (repeater.itemAt(2).expanded, true);
255+ compare (repeater.itemAt(3).expanded, true);
256+ }
257+
258+ function test_collapsed_when_assigned() {
259+ previewExpandable.widgetData = widgetData2;
260+
261+ var repeater = findChild(previewExpandable, "repeater")
262+ compare(repeater.count, 4)
263+
264+ compare (repeater.itemAt(0).visible, true);
265+ compare (repeater.itemAt(1).visible, true);
266+ compare (repeater.itemAt(2).visible, false);
267+ compare (repeater.itemAt(3).visible, false);
268+ compare (repeater.itemAt(0).expanded, false);
269+ compare (repeater.itemAt(1).expanded, false);
270+ compare (repeater.itemAt(2).expanded, false);
271+ compare (repeater.itemAt(3).expanded, false);
272+ }
273+
274+ function test_expand_when_initialized() {
275+ var repeater = findChild(previewExpandable1, "repeater")
276+ compare(repeater.count, 4)
277+
278+ compare (repeater.itemAt(0).visible, true);
279+ compare (repeater.itemAt(1).visible, true);
280+ compare (repeater.itemAt(2).visible, true);
281+ compare (repeater.itemAt(3).visible, true);
282+ compare (repeater.itemAt(0).expanded, true);
283+ compare (repeater.itemAt(1).expanded, true);
284+ compare (repeater.itemAt(2).expanded, true);
285+ compare (repeater.itemAt(3).expanded, true);
286+ }
287+
288+ function test_collapse_when_initialized() {
289+ var repeater = findChild(previewExpandable2, "repeater")
290+ compare(repeater.count, 4)
291+
292+ compare (repeater.itemAt(0).visible, true);
293+ compare (repeater.itemAt(1).visible, true);
294+ compare (repeater.itemAt(2).visible, false);
295+ compare (repeater.itemAt(3).visible, false);
296+ compare (repeater.itemAt(0).expanded, false);
297+ compare (repeater.itemAt(1).expanded, false);
298+ compare (repeater.itemAt(2).expanded, false);
299+ compare (repeater.itemAt(3).expanded, false);
300+ }
301+
213 function test_all_widgets_height() {
302 function test_all_widgets_height() {
214 previewExpandable.widgetData = allWidgetsData;
303 previewExpandable.widgetData = allWidgetsData;
215
304
tests/qmltests/Panel/Indicators/tst_IndicatorsLight.qml+8−5
@@ -58,7 +58,7 @@ Item {
58
58
59 Component.onCompleted: {
59 Component.onCompleted: {
60 ActionData.data = newMessage;
60 ActionData.data = newMessage;
61− Powerd.status = Powerd.On
61+ Powerd.setStatus(Powerd.On, Powerd.Unknown);
62 }
62 }
63
63
64 RowLayout {
64 RowLayout {
@@ -91,8 +91,11 @@ Item {
91 Layout.fillWidth: true
91 Layout.fillWidth: true
92 text: Powerd.status === Powerd.On ? "Power Off" : "Power On"
92 text: Powerd.status === Powerd.On ? "Power Off" : "Power On"
93 onClicked: {
93 onClicked: {
94− if (Powerd.status === Powerd.On) Powerd.status = Powerd.Off;
94+ if (Powerd.status === Powerd.On) {
95+ Powerd.setStatus(Powerd.Off, Powerd.Unknown);
96+ } else {
95− else Powerd.status = Powerd.On;
97+ Powerd.setStatus(Powerd.On, Powerd.Unknown);
98+ }
96 }
99 }
97 }
100 }
98 }
101 }
@@ -107,7 +110,7 @@ Item {
107 ActionData.data = noNewMessage;
110 ActionData.data = noNewMessage;
108 loader.sourceComponent = undefined;
111 loader.sourceComponent = undefined;
109 loader.sourceComponent = light;
112 loader.sourceComponent = light;
110− Powerd.status = Powerd.On
113+ Powerd.setStatus(Powerd.On, Powerd.Unknown);
111 }
114 }
112
115
113 function test_LightsStatus_data() {
116 function test_LightsStatus_data() {
@@ -120,7 +123,7 @@ Item {
120 }
123 }
121
124
122 function test_LightsStatus(data) {
125 function test_LightsStatus(data) {
123− Powerd.status = data.powerd;
126+ Powerd.setStatus(data.powerd, Powerd.Unknown);
124 ActionData.data = data.actionData;
127 ActionData.data = data.actionData;
125
128
126 compare(Lights.state, data.expected, "Light does not match expected value");
129 compare(Lights.state, data.expected, "Light does not match expected value");
tests/qmltests/Stages/tst_DesktopStage.qml+10−7
@@ -61,7 +61,6 @@ Item {
61 Component.onDestruction: {
61 Component.onDestruction: {
62 desktopStageLoader.itemDestroyed = true;
62 desktopStageLoader.itemDestroyed = true;
63 }
63 }
64− focus: true
65 }
64 }
66 }
65 }
67 }
66 }
@@ -142,8 +141,8 @@ Item {
142
141
143 function test_appFocusSwitch_data() {
142 function test_appFocusSwitch_data() {
144 return [
143 return [
145− {tag: "dash", apps: [ "unity8-dash", "dialer-app", "camera-app" ], focusfrom: 0, focusTo: 1 },
144+ {tag: "dash to dialer", apps: [ "unity8-dash", "dialer-app", "camera-app" ], focusfrom: 0, focusTo: 1 },
146− {tag: "dash", apps: [ "unity8-dash", "dialer-app", "camera-app" ], focusfrom: 1, focusTo: 0 },
145+ {tag: "dialer to dash", apps: [ "unity8-dash", "dialer-app", "camera-app" ], focusfrom: 1, focusTo: 0 },
147 ]
146 ]
148 }
147 }
149
148
@@ -162,8 +161,8 @@ Item {
162
161
163 function test_tappingOnWindowChangesFocusedApp_data() {
162 function test_tappingOnWindowChangesFocusedApp_data() {
164 return [
163 return [
165− {tag: "dash", apps: [ "unity8-dash", "dialer-app", "camera-app" ], focusfrom: 0, focusTo: 1 },
164+ {tag: "dash to dialer", apps: [ "unity8-dash", "dialer-app", "camera-app" ], focusfrom: 0, focusTo: 1 },
166− {tag: "dash", apps: [ "unity8-dash", "dialer-app", "camera-app" ], focusfrom: 1, focusTo: 0 },
165+ {tag: "dialer to dash", apps: [ "unity8-dash", "dialer-app", "camera-app" ], focusfrom: 1, focusTo: 0 },
167 ]
166 ]
168 }
167 }
169
168
@@ -172,16 +171,20 @@ Item {
172 for (i = 0; i < data.apps.length; i++) {
171 for (i = 0; i < data.apps.length; i++) {
173 startApplication(data.apps[i]);
172 startApplication(data.apps[i]);
174 }
173 }
174+ var fromAppId = data.apps[data.focusfrom];
175+ var toAppId = data.apps[data.focusTo]
175
176
176− var fromAppWindow = findChild(desktopStage, "appWindow_" + data.apps[data.focusfrom]);
177+ var fromAppWindow = findChild(desktopStage, "appWindow_" + fromAppId);
177 verify(fromAppWindow);
178 verify(fromAppWindow);
178 tap(fromAppWindow);
179 tap(fromAppWindow);
179 compare(fromAppWindow.application.session.surface.activeFocus, true);
180 compare(fromAppWindow.application.session.surface.activeFocus, true);
181+ compare(ApplicationManager.focusedApplicationId, fromAppId);
180
182
181− var toAppWindow = findChild(desktopStage, "appWindow_" + data.apps[data.focusTo]);
183+ var toAppWindow = findChild(desktopStage, "appWindow_" + toAppId);
182 verify(toAppWindow);
184 verify(toAppWindow);
183 tap(toAppWindow);
185 tap(toAppWindow);
184 compare(toAppWindow.application.session.surface.activeFocus, true);
186 compare(toAppWindow.application.session.surface.activeFocus, true);
187+ compare(ApplicationManager.focusedApplicationId, toAppId);
185 }
188 }
186
189
187 function test_tappingOnDecorationFocusesApplication_data() {
190 function test_tappingOnDecorationFocusesApplication_data() {
tests/qmltests/Stages/tst_TabletStage.qml+1−1
@@ -167,7 +167,7 @@ Rectangle {
167 var lastValue = undefined;
167 var lastValue = undefined;
168 do {
168 do {
169 lastValue = targetAppDelegate.animatedProgress;
169 lastValue = targetAppDelegate.animatedProgress;
170− wait(30);
170+ wait(300);
171 } while (lastValue != targetAppDelegate.animatedProgress);
171 } while (lastValue != targetAppDelegate.animatedProgress);
172 }
172 }
173
173
tests/qmltests/tst_OrientedShell.qml+2−2
@@ -296,9 +296,9 @@ Rectangle {
296 activeFocusOnPress: false
296 activeFocusOnPress: false
297 onClicked: {
297 onClicked: {
298 if (Powerd.status === Powerd.On) {
298 if (Powerd.status === Powerd.On) {
299− Powerd.status = Powerd.Off;
299+ Powerd.setStatus(Powerd.Off, Powerd.Unknown);
300 } else {
300 } else {
301− Powerd.status = Powerd.On;
301+ Powerd.setStatus(Powerd.On, Powerd.Unknown);
302 }
302 }
303 }
303 }
304 }
304 }
tests/qmltests/tst_Shell.qml+18−4
@@ -590,19 +590,19 @@ Rectangle {
590
590
591 // Display off while call is active...
591 // Display off while call is active...
592 callManager.foregroundCall = phoneCall;
592 callManager.foregroundCall = phoneCall;
593− Powerd.status = Powerd.Off;
593+ Powerd.setStatus(Powerd.Off, Powerd.Unknown);
594 tryCompare(greeter, "shown", false);
594 tryCompare(greeter, "shown", false);
595
595
596 // Now try again after ending call
596 // Now try again after ending call
597 callManager.foregroundCall = null;
597 callManager.foregroundCall = null;
598− Powerd.status = Powerd.On;
598+ Powerd.setStatus(Powerd.On, Powerd.Unknown);
599− Powerd.status = Powerd.Off;
599+ Powerd.setStatus(Powerd.Off, Powerd.Unknown);
600 tryCompare(greeter, "fullyShown", true);
600 tryCompare(greeter, "fullyShown", true);
601
601
602 compare(mainApp.requestedState, ApplicationInfoInterface.RequestedSuspended);
602 compare(mainApp.requestedState, ApplicationInfoInterface.RequestedSuspended);
603
603
604 // And wake up
604 // And wake up
605− Powerd.status = Powerd.On;
605+ Powerd.setStatus(Powerd.On, Powerd.Unknown);
606 tryCompare(greeter, "fullyShown", true);
606 tryCompare(greeter, "fullyShown", true);
607
607
608 // Swipe away greeter to focus app
608 // Swipe away greeter to focus app
@@ -795,6 +795,7 @@ Rectangle {
795 function test_launchedAppHasActiveFocus(data) {
795 function test_launchedAppHasActiveFocus(data) {
796 loadShell(data.formFactor);
796 loadShell(data.formFactor);
797 shell.usageScenario = data.usageScenario;
797 shell.usageScenario = data.usageScenario;
798+ waitForGreeterToStabilize();
798 swipeAwayGreeter();
799 swipeAwayGreeter();
799
800
800 var webApp = ApplicationManager.startApplication("webbrowser-app");
801 var webApp = ApplicationManager.startApplication("webbrowser-app");
@@ -1104,6 +1105,19 @@ Rectangle {
1104 compare(tutorialLeft, null); // should be destroyed with tutorial
1105 compare(tutorialLeft, null); // should be destroyed with tutorial
1105 }
1106 }
1106
1107
1108+ function test_tutorialPausedDuringGreeter() {
1109+ loadShell("phone");
1110+
1111+ var tutorial = findChild(shell, "tutorial");
1112+
1113+ AccountsService.demoEdges = true;
1114+ tryCompare(tutorial, "running", true);
1115+ tryCompare(tutorial, "paused", true);
1116+
1117+ swipeAwayGreeter();
1118+ tryCompare(tutorial, "paused", false);
1119+ }
1120+
1107 function test_tapOnRightEdgeReachesApplicationSurface() {
1121 function test_tapOnRightEdgeReachesApplicationSurface() {
1108 loadShell("phone");
1122 loadShell("phone");
1109 swipeAwayGreeter();
1123 swipeAwayGreeter();
tests/qmltests/tst_ShellWithPin.qml+2−2
@@ -501,13 +501,13 @@ Item {
501 var applicationsDisplayLoader = findChild(shell, "applicationsDisplayLoader")
501 var applicationsDisplayLoader = findChild(shell, "applicationsDisplayLoader")
502
502
503 // Put it to sleep
503 // Put it to sleep
504− Powerd.status = Powerd.Off;
504+ Powerd.setStatus(Powerd.Off, Powerd.Unknown);
505
505
506 // If locked, applicationsDisplayLoader.item.suspended should be true
506 // If locked, applicationsDisplayLoader.item.suspended should be true
507 tryCompare(applicationsDisplayLoader.item, "suspended", true);
507 tryCompare(applicationsDisplayLoader.item, "suspended", true);
508
508
509 // And wake up
509 // And wake up
510− Powerd.status = Powerd.On;
510+ Powerd.setStatus(Powerd.On, Powerd.Unknown);
511 tryCompare(greeter, "fullyShown", true);
511 tryCompare(greeter, "fullyShown", true);
512
512
513 // Swipe away greeter to focus app
513 // Swipe away greeter to focus app
tests/uqmlscene/CMakeLists.txt−1
@@ -1,6 +1,5 @@
1add_executable(uqmlscene
1add_executable(uqmlscene
2 ${shellapplication_MOC_SRCS}
2 ${shellapplication_MOC_SRCS}
3− ActiveFocusLogger.cpp
4 main.cpp
3 main.cpp
5 )
4 )
6
5
tests/uqmlscene/main.cpp−13
@@ -63,12 +63,6 @@
63#include <QtCore/QTranslator>
63#include <QtCore/QTranslator>
64#include <QtCore/QLibraryInfo>
64#include <QtCore/QLibraryInfo>
65
65
66−#define UQMLSCENE_DEBUG_ACTIVE_FOCUS 0
67−
68−#if UQMLSCENE_DEBUG_ACTIVE_FOCUS
69− #include "ActiveFocusLogger.h"
70−#endif
71−
72#ifdef QML_RUNTIME_TESTING
66#ifdef QML_RUNTIME_TESTING
73class RenderStatistics
67class RenderStatistics
74{
68{
@@ -393,10 +387,6 @@ int main(int argc, char ** argv)
393{
387{
394 Options options;
388 Options options;
395
389
396− #if UQMLSCENE_DEBUG_ACTIVE_FOCUS
397− ActiveFocusLogger activeFocusLogger;
398− #endif
399−
400 QStringList imports;
390 QStringList imports;
401 QList<QPair<QString, QString> > bundles;
391 QList<QPair<QString, QString> > bundles;
402 for (int i = 1; i < argc; ++i) {
392 for (int i = 1; i < argc; ++i) {
@@ -515,9 +505,6 @@ int main(int argc, char ** argv)
515 QQuickItem *contentItem = qobject_cast<QQuickItem *>(topLevel);
505 QQuickItem *contentItem = qobject_cast<QQuickItem *>(topLevel);
516 if (contentItem) {
506 if (contentItem) {
517 qxView = new QQuickView(&engine, nullptr);
507 qxView = new QQuickView(&engine, nullptr);
518− #if UQMLSCENE_DEBUG_ACTIVE_FOCUS
519− activeFocusLogger.setWindow(qxView);
520− #endif
521 window = qxView;
508 window = qxView;
522 // Set window default properties; the qml can still override them
509 // Set window default properties; the qml can still override them
523 QString oname = contentItem->objectName();
510 QString oname = contentItem->objectName();