on xenial help sign in
merged parent
bfeaf9dNick Dedekind
CMakeLists.txt+1−1
@@ -75,7 +75,7 @@ pkg_check_modules(QTMIRSERVER REQUIRED qtmirserver>=0.6.0)
75pkg_check_modules(GEONAMES REQUIRED geonames>=0.2)
75pkg_check_modules(GEONAMES REQUIRED geonames>=0.2)
76pkg_check_modules(GIO REQUIRED gio-2.0>=2.32)
76pkg_check_modules(GIO REQUIRED gio-2.0>=2.32)
77pkg_check_modules(GLIB REQUIRED glib-2.0>=2.32)
77pkg_check_modules(GLIB REQUIRED glib-2.0>=2.32)
78−pkg_check_modules(LAUNCHER_API REQUIRED unity-shell-launcher=11)
78+pkg_check_modules(LAUNCHER_API REQUIRED unity-shell-launcher=12)
79pkg_check_modules(QMENUMODEL REQUIRED qmenumodel)
79pkg_check_modules(QMENUMODEL REQUIRED qmenumodel)
80pkg_check_modules(GD3 REQUIRED gnome-desktop-3.0)
80pkg_check_modules(GD3 REQUIRED gnome-desktop-3.0)
81pkg_check_modules(UAL REQUIRED ubuntu-app-launch-3)
81pkg_check_modules(UAL REQUIRED ubuntu-app-launch-3)
cmake/modules/QmlTest.cmake+1−1
@@ -201,7 +201,7 @@ function(add_executable_test COMPONENT_NAME TARGET)
201 add_qmltest_target(xvfbtest${COMPONENT_NAME} ${TARGET}
201 add_qmltest_target(xvfbtest${COMPONENT_NAME} ${TARGET}
202 COMMAND $<TARGET_FILE:xvfb-run> --server-args "-screen 0 1024x768x24" --auto-servernum ${qmltest_command}
202 COMMAND $<TARGET_FILE:xvfb-run> --server-args "-screen 0 1024x768x24" --auto-servernum ${qmltest_command}
203 ${depends}
203 ${depends}
204− ENVIRONMENT QML2_IMPORT_PATH=${imports} ${QMLTEST_ENVIRONMENT} LD_PRELOAD=/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}/mesa/libGL.so.1
204+ ENVIRONMENT QML2_IMPORT_PATH=${imports} LD_PRELOAD=/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}/mesa/libGL.so.1 ${QMLTEST_ENVIRONMENT}
205 TARGETS ${xvfb_targets}
205 TARGETS ${xvfb_targets}
206 )
206 )
207 endif()
207 endif()
debian/changelog+49
@@ -1,3 +1,52 @@
1+unity8 (8.15+17.04.20170321-0ubuntu1) zesty; urgency=medium
2+
3+ [ Albert Astals Cid ]
4+ * Signal aboutToShow (LP: #1664578)
5+ * Support Panel top level items to be disabled (LP: #1670694)
6+ * Improve Launcher ←→ touch menu interaction (LP: #1667620, #1671069)
7+ * Fix real world submenus (e.g. kate) not getting their first item
8+ selected on open (LP: #1666859)
9+
10+ [ Daniel d'Andrada ]
11+ * Really disable the window decoration when in staged mode (LP:
12+ #1670361)
13+ * Don't let clients resize their surfaces while in staged
14+ (phone/tablet) mode (LP: #1670390)
15+ * TopLevelWindowModel: don't put hidden windows in the model (LP:
16+ #1665286)
17+
18+ [ Lukáš Tinkl ]
19+ * Reset always-show-osk gsetting on startup to default value (false
20+ atm)
21+ * Fix the restored-to position with Miral due to the state changes
22+ being async (LP: #1669819)
23+ * Add a cursor name fallback mapping "grabbing" -> "closedhand" for
24+ Breeze
25+ * Fix unsnapping a maximized window from the panel (LP: #1671721)
26+ * Disable altDrag feature outside windowed mode
27+
28+ [ Michael Terry ]
29+ * Don't lock the screen for guest users or users in the nopasswdlogin
30+ group. (LP: #1644237)
31+ * Support GNOME-style logout DBus API (making the Logout, Reboot, and
32+ Shutdown launcher commands work) (LP: #1673229)
33+
34+ [ Michael Zanetti ]
35+ * Add support for closing apps from the spread with "Q" (LP: #1670327)
36+ * hide "private" launcher quicklist entries when the greeter is locked
37+ (LP: #1667649)
38+ * add surface titles to launcher's quicklist (LP: #1661668)
39+ * properly reset the drawer state when cancelling a horizontal drag
40+ (LP: #1669536)
41+ * fix the focus moving correctly between launcher and drawer (LP:
42+ #1669880)
43+ * unfocus the drawer's textfield when it is moved (LP: #1669839)
44+
45+ [ Pete Woods ]
46+ * Fix up indicators-client after refactoring (LP: #1672797)
47+
48+ -- Michał Sawicz <michal.sawicz@canonical.com> Tue, 21 Mar 2017 10:58:13 +0000
49+
1unity8 (8.15+17.04.20170308-0ubuntu1) zesty; urgency=medium
50unity8 (8.15+17.04.20170308-0ubuntu1) zesty; urgency=medium
2
51
3 [ Albert Astals Cid ]
52 [ Albert Astals Cid ]
debian/control+4−4
@@ -28,7 +28,7 @@ Build-Depends: cmake,
28 liblightdm-qt5-3-dev,
28 liblightdm-qt5-3-dev,
29 libpam0g-dev,
29 libpam0g-dev,
30 libpulse-dev,
30 libpulse-dev,
31− libqmenumodel-dev (>= 0.2.11),
31+ libqmenumodel-dev (>= 0.2.12),
32 libqt5svg5-dev,
32 libqt5svg5-dev,
33 libqt5xmlpatterns5-dev,
33 libqt5xmlpatterns5-dev,
34 libqtmirserver-dev (>= 0.6.0),
34 libqtmirserver-dev (>= 0.6.0),
@@ -39,7 +39,7 @@ Build-Depends: cmake,
39 libubuntugestures5-private-dev (>= 1.3.2030),
39 libubuntugestures5-private-dev (>= 1.3.2030),
40 libudev-dev,
40 libudev-dev,
41 libudm-common-dev,
41 libudm-common-dev,
42− libunity-api-dev (>= 8.3),
42+ libunity-api-dev (>= 8.7),
43 libusermetricsoutput1-dev,
43 libusermetricsoutput1-dev,
44# Need those X11 libs touch emulation from mouse events in manual QML tests on a X11 desktop
44# Need those X11 libs touch emulation from mouse events in manual QML tests on a X11 desktop
45 libx11-dev[!arm64 !armhf],
45 libx11-dev[!arm64 !armhf],
@@ -138,7 +138,7 @@ Depends: dmz-cursor-theme,
138 qtdeclarative5-ubuntu-telephony0.1,
138 qtdeclarative5-ubuntu-telephony0.1,
139 qtmir-desktop (>= 0.6.0) | qtmir-android (>= 0.6.0),
139 qtmir-desktop (>= 0.6.0) | qtmir-android (>= 0.6.0),
140 ubuntu-system-settings (>= 0.4),
140 ubuntu-system-settings (>= 0.4),
141− unity-launcher-impl-10,
141+ unity-launcher-impl-12,
142 unity8-common (= ${source:Version}),
142 unity8-common (= ${source:Version}),
143 unity8-private (= ${binary:Version}),
143 unity8-private (= ${binary:Version}),
144 unity8-private | unity-launcher-impl,
144 unity8-private | unity-launcher-impl,
@@ -241,7 +241,7 @@ Depends: accountsservice-ubuntu-schemas (>= 0.0.7),
241 ${misc:Depends},
241 ${misc:Depends},
242 ${shlibs:Depends},
242 ${shlibs:Depends},
243Provides: unity-launcher-impl,
243Provides: unity-launcher-impl,
244− unity-launcher-impl-10,
244+ unity-launcher-impl-12,
245Description: Unity 8 private libs
245Description: Unity 8 private libs
246 The Unity 8 shell is the primary user interface for Ubuntu devices.
246 The Unity 8 shell is the primary user interface for Ubuntu devices.
247 .
247 .
plugins/Cursor/CursorImageProvider.cpp+2
@@ -174,6 +174,8 @@ CursorImageProvider::CursorImageProvider()
174 m_fallbackNames[QStringLiteral("forbidden")].append(QStringLiteral("not-allowed"));
174 m_fallbackNames[QStringLiteral("forbidden")].append(QStringLiteral("not-allowed"));
175 m_fallbackNames[QStringLiteral("forbidden")].append(QStringLiteral("circle"));
175 m_fallbackNames[QStringLiteral("forbidden")].append(QStringLiteral("circle"));
176
176
177+ m_fallbackNames[QStringLiteral("grabbing")].append(QStringLiteral("closedhand")); // Breeze
178+
177 m_fallbackNames[QStringLiteral("hand")].append(QStringLiteral("pointing_hand"));
179 m_fallbackNames[QStringLiteral("hand")].append(QStringLiteral("pointing_hand"));
178 m_fallbackNames[QStringLiteral("hand")].append(QStringLiteral("pointer"));
180 m_fallbackNames[QStringLiteral("hand")].append(QStringLiteral("pointer"));
179
181
plugins/Greeter/Unity/Launcher/quicklistmodel.cpp+2
@@ -65,6 +65,8 @@ QVariant QuickListModel::data(const QModelIndex &index, int role) const
65 return m_list.at(index.row()).icon();
65 return m_list.at(index.row()).icon();
66 case RoleClickable:
66 case RoleClickable:
67 return m_list.at(index.row()).clickable();
67 return m_list.at(index.row()).clickable();
68+ case RoleIsPrivate:
69+ return false; // The greeter plugin would just not add any private entries
68 }
70 }
69 return QVariant();
71 return QVariant();
70}
72}
plugins/Unity/Launcher/CMakeLists.txt+2
@@ -30,6 +30,8 @@ set(QMLLAUNCHERPLUGIN_SRC
30 ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/ApplicationManagerInterface.h
30 ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/ApplicationManagerInterface.h
31 ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/ApplicationInfoInterface.h
31 ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/ApplicationInfoInterface.h
32 ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/MirSurfaceListInterface.h
32 ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/MirSurfaceListInterface.h
33+ ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/MirSurfaceInterface.h
34+ ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/Mir.h
33 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/launcher/LauncherItemInterface.h
35 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/launcher/LauncherItemInterface.h
34 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/launcher/LauncherModelInterface.h
36 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/launcher/LauncherModelInterface.h
35 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/launcher/QuickListModelInterface.h
37 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/launcher/QuickListModelInterface.h
plugins/Unity/Launcher/launcheritem.cpp+30−6
@@ -35,7 +35,6 @@ LauncherItem::LauncherItem(const QString &appId, const QString &name, const QStr
35 m_countVisible(false),
35 m_countVisible(false),
36 m_focused(false),
36 m_focused(false),
37 m_alerting(false),
37 m_alerting(false),
38− m_surfaceCount(0),
39 m_quickList(new QuickListModel(this))
38 m_quickList(new QuickListModel(this))
40{
39{
41 Q_ASSERT(parent != nullptr);
40 Q_ASSERT(parent != nullptr);
@@ -48,11 +47,13 @@ LauncherItem::LauncherItem(const QString &appId, const QString &name, const QStr
48 QuickListEntry pinningAction;
47 QuickListEntry pinningAction;
49 pinningAction.setActionId(QStringLiteral("pin_item"));
48 pinningAction.setActionId(QStringLiteral("pin_item"));
50 pinningAction.setText(gettext("Pin shortcut"));
49 pinningAction.setText(gettext("Pin shortcut"));
50+ pinningAction.setIsPrivate(true);
51 m_quickList->appendAction(pinningAction);
51 m_quickList->appendAction(pinningAction);
52
52
53 m_quitAction.setActionId(QStringLiteral("stop_item"));
53 m_quitAction.setActionId(QStringLiteral("stop_item"));
54 m_quitAction.setIcon(QStringLiteral("application-exit"));
54 m_quitAction.setIcon(QStringLiteral("application-exit"));
55 m_quitAction.setText(gettext("Quit"));
55 m_quitAction.setText(gettext("Quit"));
56+ m_quitAction.setIsPrivate(true);
56}
57}
57
58
58QString LauncherItem::appId() const
59QString LauncherItem::appId() const
@@ -120,6 +121,7 @@ void LauncherItem::setPinned(bool pinned)
120 QuickListEntry entry;
121 QuickListEntry entry;
121 entry.setActionId(QStringLiteral("pin_item"));
122 entry.setActionId(QStringLiteral("pin_item"));
122 entry.setText(pinned ? gettext("Unpin shortcut") : gettext("Pin shortcut"));
123 entry.setText(pinned ? gettext("Unpin shortcut") : gettext("Pin shortcut"));
124+ entry.setIsPrivate(true);
123 m_quickList->updateAction(entry);
125 m_quickList->updateAction(entry);
124}
126}
125
127
@@ -221,14 +223,36 @@ void LauncherItem::setAlerting(bool alerting)
221
223
222int LauncherItem::surfaceCount() const
224int LauncherItem::surfaceCount() const
223{
225{
224− return m_surfaceCount;
226+ return m_surfaces.count();
225}
227}
226
228
227−void LauncherItem::setSurfaceCount(int surfaceCount)
229+void LauncherItem::setSurfaces(const QList<QPair<QString, QString> > &surfaces)
228{
230{
229− if (m_surfaceCount != surfaceCount) {
231+ if (m_surfaces != surfaces) {
230− m_surfaceCount = surfaceCount;
232+ m_surfaces = surfaces;
233+
234+ QList<QuickListEntry> removedEntries;
235+ for (int i = 0; i < m_quickList->rowCount(); ++i) {
236+ QuickListEntry entry = m_quickList->get(i);
237+ if (entry.actionId().startsWith(QStringLiteral("surface_"))) {
238+ removedEntries.append(entry);
239+ }
240+ }
241+ Q_FOREACH (const QuickListEntry &entry, removedEntries) {
242+ m_quickList->removeAction(entry);
243+ }
244+ for (int i = 0; i < surfaces.count(); ++i) {
245+ QuickListEntry entry;
246+ entry.setActionId(QStringLiteral("surface_") + surfaces.at(i).first);
247+ entry.setText(surfaces.at(i).second);
248+ entry.setIsPrivate(true);
249+ if (i == surfaces.count() - 1) {
250+ entry.setHasSeparator(true);
251+ }
252+ m_quickList->insertAction(entry, i + 1);
253+ }
254+
231− Q_EMIT surfaceCountChanged(surfaceCount);
255+ Q_EMIT surfaceCountChanged(m_surfaces.count());
232 }
256 }
233}
257}
234
258
plugins/Unity/Launcher/launcheritem.h+3−2
@@ -23,6 +23,7 @@
23#include "quicklistmodel.h"
23#include "quicklistmodel.h"
24
24
25#include <unity/shell/launcher/LauncherItemInterface.h>
25#include <unity/shell/launcher/LauncherItemInterface.h>
26+#include <unity/shell/application/MirSurfaceInterface.h>
26
27
27class QuickListModel;
28class QuickListModel;
28
29
@@ -62,7 +63,7 @@ private:
62 void setCountVisible(bool countVisible);
63 void setCountVisible(bool countVisible);
63 void setFocused(bool focused);
64 void setFocused(bool focused);
64 void setAlerting(bool alerting);
65 void setAlerting(bool alerting);
65− void setSurfaceCount(int surfaceCount);
66+ void setSurfaces(const QList<QPair<QString, QString >> &surfaces);
66
67
67private:
68private:
68 QString m_appId;
69 QString m_appId;
@@ -77,7 +78,7 @@ private:
77 bool m_countVisible;
78 bool m_countVisible;
78 bool m_focused;
79 bool m_focused;
79 bool m_alerting;
80 bool m_alerting;
80− int m_surfaceCount;
81+ QList<QPair<QString, QString> > m_surfaces;
81 QuickListModel *m_quickList;
82 QuickListModel *m_quickList;
82 QuickListEntry m_quitAction;
83 QuickListEntry m_quitAction;
83
84
plugins/Unity/Launcher/launchermodel.cpp+47−14
@@ -23,6 +23,7 @@
23
23
24#include <unity/shell/application/ApplicationInfoInterface.h>
24#include <unity/shell/application/ApplicationInfoInterface.h>
25#include <unity/shell/application/MirSurfaceListInterface.h>
25#include <unity/shell/application/MirSurfaceListInterface.h>
26+#include <unity/shell/application/MirSurfaceInterface.h>
26
27
27#include <QDesktopServices>
28#include <QDesktopServices>
28#include <QDebug>
29#include <QDebug>
@@ -198,12 +199,25 @@ void LauncherModel::quickListActionInvoked(const QString &appId, int actionIndex
198 } else {
199 } else {
199 pin(appId);
200 pin(appId);
200 }
201 }
201− } else if (actionId == QLatin1String("launch_item")) {
202+ } else if (actionId == QStringLiteral("launch_item")) {
202 QDesktopServices::openUrl(getUrlForAppId(appId));
203 QDesktopServices::openUrl(getUrlForAppId(appId));
203− } else if (actionId == QLatin1String("stop_item")) { // Quit
204+ } else if (actionId == QStringLiteral("stop_item")) { // Quit
204 if (m_appManager) {
205 if (m_appManager) {
205 m_appManager->stopApplication(appId);
206 m_appManager->stopApplication(appId);
206 }
207 }
208+ } else if (actionId.startsWith(QStringLiteral("surface_"))){
209+ ApplicationInfoInterface *appInfo = m_appManager->findApplication(appId);
210+ if (!appInfo) {
211+ qWarning() << "App for" << appId << "not found in launcher. Cannot invoke quicklist action";
212+ }
213+ for (int i = 0; i < appInfo->surfaceList()->count(); ++i) {
214+ MirSurfaceInterface *iface = appInfo->surfaceList()->get(i);
215+ QString id = actionId;
216+ id.remove(QRegExp("^surface_"));
217+ if (id == iface->persistentId()) {
218+ iface->activate();
219+ }
220+ }
207 // Nope, we don't know this action, let the backend forward it to the application
221 // Nope, we don't know this action, let the backend forward it to the application
208 } else {
222 } else {
209 // TODO: forward quicklist action to app, possibly via m_dbusIface
223 // TODO: forward quicklist action to app, possibly via m_dbusIface
@@ -517,40 +531,59 @@ void LauncherModel::applicationAdded(const QModelIndex &parent, int row)
517 item->setRecent(true);
531 item->setRecent(true);
518 Q_EMIT dataChanged(index(itemIndex), index(itemIndex), {RoleRecent});
532 Q_EMIT dataChanged(index(itemIndex), index(itemIndex), {RoleRecent});
519 }
533 }
520− if (item->surfaceCount() != app->surfaceCount()) {
521− item->setSurfaceCount(app->surfaceCount());
522− Q_EMIT dataChanged(index(itemIndex), index(itemIndex), {RoleSurfaceCount});
523− }
524−
525 item->setRunning(true);
534 item->setRunning(true);
526 } else {
535 } else {
527 LauncherItem *item = new LauncherItem(app->appId(), app->name(), app->icon().toString(), this);
536 LauncherItem *item = new LauncherItem(app->appId(), app->name(), app->icon().toString(), this);
528 item->setRecent(true);
537 item->setRecent(true);
529 item->setRunning(true);
538 item->setRunning(true);
530 item->setFocused(app->focused());
539 item->setFocused(app->focused());
531− item->setSurfaceCount(app->surfaceCount());
532 beginInsertRows(QModelIndex(), m_list.count(), m_list.count());
540 beginInsertRows(QModelIndex(), m_list.count(), m_list.count());
533 m_list.append(item);
541 m_list.append(item);
534 endInsertRows();
542 endInsertRows();
535 }
543 }
536− connect(app, &ApplicationInfoInterface::surfaceCountChanged, this, &LauncherModel::applicationSurfaceCountChanged);
544+ connect(app, &ApplicationInfoInterface::surfaceCountChanged, this, &LauncherModel::updateSurfaceList);
537 m_asAdapter->syncItems(m_list);
545 m_asAdapter->syncItems(m_list);
538 Q_EMIT dataChanged(index(itemIndex), index(itemIndex), {RoleRunning});
546 Q_EMIT dataChanged(index(itemIndex), index(itemIndex), {RoleRunning});
539}
547}
540
548
541−void LauncherModel::applicationSurfaceCountChanged(int count)
549+void LauncherModel::updateSurfaceList()
542{
550{
543 ApplicationInfoInterface *app = static_cast<ApplicationInfoInterface*>(sender());
551 ApplicationInfoInterface *app = static_cast<ApplicationInfoInterface*>(sender());
552+ updateSurfaceListForApp(app);
553+}
554+
555+void LauncherModel::updateSurfaceListForSurface()
556+{
557+ MirSurfaceInterface *iface = static_cast<MirSurfaceInterface*>(sender());
558+ ApplicationInfoInterface* app = m_appManager->findApplication(iface->appId());
559+ if (!app) {
560+ return;
561+ }
562+ updateSurfaceListForApp(app);
563+}
564+
565+void LauncherModel::updateSurfaceListForApp(ApplicationInfoInterface* app)
566+{
544 int idx = findApplication(app->appId());
567 int idx = findApplication(app->appId());
545 if (idx < 0) {
568 if (idx < 0) {
546 qWarning() << "Received a surface count changed event from an app that's not in the Launcher model";
569 qWarning() << "Received a surface count changed event from an app that's not in the Launcher model";
547 return;
570 return;
548 }
571 }
549 LauncherItem *item = m_list.at(idx);
572 LauncherItem *item = m_list.at(idx);
550− if (item->surfaceCount() != count) {
573+ QList<QPair<QString, QString> > surfaces;
551− item->setSurfaceCount(count);
574+ for (int i = 0; i < app->surfaceList()->count(); ++i) {
552− Q_EMIT dataChanged(index(idx), index(idx), {RoleSurfaceCount});
575+ MirSurfaceInterface* iface = app->surfaceList()->get(i);
576+ // Avoid duplicate connections, so let's just disconnect first to be sure
577+ disconnect(iface, &MirSurfaceInterface::nameChanged, this, &LauncherModel::updateSurfaceListForSurface);
578+ connect(iface, &MirSurfaceInterface::nameChanged, this, &LauncherModel::updateSurfaceListForSurface);
579+ QString name = iface->name();
580+ if (name.isEmpty()) {
581+ name = app->name();
582+ }
583+ surfaces.append({iface->persistentId(), name});
553 }
584 }
585+ item->setSurfaces(surfaces);
586+ Q_EMIT dataChanged(index(idx), index(idx), {RoleSurfaceCount});
554}
587}
555
588
556void LauncherModel::applicationRemoved(const QModelIndex &parent, int row)
589void LauncherModel::applicationRemoved(const QModelIndex &parent, int row)
@@ -571,7 +604,7 @@ void LauncherModel::applicationRemoved(const QModelIndex &parent, int row)
571 return;
604 return;
572 }
605 }
573
606
574− disconnect(app, &ApplicationInfoInterface::surfaceCountChanged, this, &LauncherModel::applicationSurfaceCountChanged);
607+ disconnect(app, &ApplicationInfoInterface::surfaceCountChanged, this, &LauncherModel::updateSurfaceList);
575
608
576 LauncherItem * item = m_list.at(appIndex);
609 LauncherItem * item = m_list.at(appIndex);
577
610
plugins/Unity/Launcher/launchermodel.h+3−1
@@ -75,7 +75,9 @@ private Q_SLOTS:
75 void applicationAdded(const QModelIndex &parent, int row);
75 void applicationAdded(const QModelIndex &parent, int row);
76 void applicationRemoved(const QModelIndex &parent, int row);
76 void applicationRemoved(const QModelIndex &parent, int row);
77 void focusedAppIdChanged();
77 void focusedAppIdChanged();
78− void applicationSurfaceCountChanged(int);
78+ void updateSurfaceList();
79+ void updateSurfaceListForApp(ApplicationInfoInterface *app);
80+ void updateSurfaceListForSurface();
79
81
80private:
82private:
81 QList<LauncherItem*> m_list;
83 QList<LauncherItem*> m_list;
plugins/Unity/Launcher/quicklistentry.cpp+11
@@ -20,6 +20,7 @@
20
20
21QuickListEntry::QuickListEntry()
21QuickListEntry::QuickListEntry()
22 : m_hasSeparator(false)
22 : m_hasSeparator(false)
23+ , m_isPrivate(false)
23{
24{
24}
25}
25
26
@@ -72,3 +73,13 @@ bool QuickListEntry::operator==(const QuickListEntry &other)
72{
73{
73 return !other.actionId().isEmpty() && other.actionId() == m_actionId;
74 return !other.actionId().isEmpty() && other.actionId() == m_actionId;
74}
75}
76+
77+bool QuickListEntry::isPrivate() const
78+{
79+ return m_isPrivate;
80+}
81+
82+void QuickListEntry::setIsPrivate(bool isPrivate)
83+{
84+ m_isPrivate = isPrivate;
85+}
plugins/Unity/Launcher/quicklistentry.h+4
@@ -42,11 +42,15 @@ public:
42
42
43 bool operator==(const QuickListEntry & other);
43 bool operator==(const QuickListEntry & other);
44
44
45+ bool isPrivate() const;
46+ void setIsPrivate(bool isPrivate);
47+
45private:
48private:
46 QString m_actionId;
49 QString m_actionId;
47 QString m_text;
50 QString m_text;
48 QString m_icon;
51 QString m_icon;
49 bool m_hasSeparator;
52 bool m_hasSeparator;
53+ bool m_isPrivate;
50};
54};
51
55
52#endif // QUICKLISTENTRY
56#endif // QUICKLISTENTRY
plugins/Unity/Launcher/quicklistmodel.cpp+9
@@ -37,6 +37,13 @@ void QuickListModel::appendAction(const QuickListEntry &entry)
37 endInsertRows();
37 endInsertRows();
38}
38}
39
39
40+void QuickListModel::insertAction(const QuickListEntry &entry, int index)
41+{
42+ beginInsertRows(QModelIndex(), index, index);
43+ m_list.insert(index, entry);
44+ endInsertRows();
45+}
46+
40void QuickListModel::updateAction(const QuickListEntry &entry)
47void QuickListModel::updateAction(const QuickListEntry &entry)
41{
48{
42 for (int i = 0; i < m_list.count(); ++i) {
49 for (int i = 0; i < m_list.count(); ++i) {
@@ -81,6 +88,8 @@ QVariant QuickListModel::data(const QModelIndex &index, int role) const
81 return m_list.at(index.row()).clickable();
88 return m_list.at(index.row()).clickable();
82 case RoleHasSeparator:
89 case RoleHasSeparator:
83 return m_list.at(index.row()).hasSeparator();
90 return m_list.at(index.row()).hasSeparator();
91+ case RoleIsPrivate:
92+ return m_list.at(index.row()).isPrivate();
84 }
93 }
85 return QVariant();
94 return QVariant();
86}
95}
plugins/Unity/Launcher/quicklistmodel.h+1
@@ -36,6 +36,7 @@ public:
36 ~QuickListModel();
36 ~QuickListModel();
37
37
38 void appendAction(const QuickListEntry &entry);
38 void appendAction(const QuickListEntry &entry);
39+ void insertAction(const QuickListEntry &entry, int index);
39
40
40 /**
41 /**
41 * @brief Update an existing action
42 * @brief Update an existing action
plugins/Unity/Session/dbusunitysessionservice.cpp+75−4
@@ -18,6 +18,7 @@
18#include "dbusunitysessionservice.h"
18#include "dbusunitysessionservice.h"
19
19
20// system
20// system
21+#include <grp.h>
21#include <sys/types.h>
22#include <sys/types.h>
22#include <unistd.h>
23#include <unistd.h>
23#include <pwd.h>
24#include <pwd.h>
@@ -211,6 +212,23 @@ public:
211 QDBusConnection::SM_BUSNAME().asyncCall(msg);
212 QDBusConnection::SM_BUSNAME().asyncCall(msg);
212 }
213 }
213
214
215+ bool isUserInGroup(const QString &user, const QString &groupName) const
216+ {
217+ auto group = getgrnam(groupName.toUtf8().data());
218+
219+ if (group && group->gr_mem)
220+ {
221+ for (int i = 0; group->gr_mem[i]; ++i)
222+ {
223+ if (g_strcmp0(group->gr_mem[i], user.toUtf8().data()) == 0) {
224+ return true;
225+ }
226+ }
227+ }
228+
229+ return false;
230+ }
231+
214private Q_SLOTS:
232private Q_SLOTS:
215 void onPropertiesChanged(const QString &iface, const QVariantMap &changedProps, const QStringList &invalidatedProps)
233 void onPropertiesChanged(const QString &iface, const QVariantMap &changedProps, const QStringList &invalidatedProps)
216 {
234 {
@@ -297,7 +315,13 @@ bool DBusUnitySessionService::CanShutdown() const
297
315
298bool DBusUnitySessionService::CanLock() const
316bool DBusUnitySessionService::CanLock() const
299{
317{
318+ auto user = UserName();
319+ if (user.startsWith(QStringLiteral("guest-")) ||
320+ d->isUserInGroup(user, QStringLiteral("nopasswdlogin"))) {
321+ return false;
322+ } else {
300− return true; // FIXME
323+ return true;
324+ }
301}
325}
302
326
303QString DBusUnitySessionService::UserName() const
327QString DBusUnitySessionService::UserName() const
@@ -335,8 +359,10 @@ void DBusUnitySessionService::PromptLock()
335 // Prompt as in quick. No locking animation needed. Usually used by
359 // Prompt as in quick. No locking animation needed. Usually used by
336 // indicator-session in combination with a switch to greeter or other
360 // indicator-session in combination with a switch to greeter or other
337 // user session.
361 // user session.
362+ if (CanLock()) {
338− Q_EMIT LockRequested();
363+ Q_EMIT LockRequested();
339− Q_EMIT lockRequested();
364+ Q_EMIT lockRequested();
365+ }
340}
366}
341
367
342void DBusUnitySessionService::Lock()
368void DBusUnitySessionService::Lock()
@@ -468,11 +494,56 @@ void performAsyncUnityCall(const QString &method)
468
494
469
495
470DBusGnomeSessionManagerWrapper::DBusGnomeSessionManagerWrapper()
496DBusGnomeSessionManagerWrapper::DBusGnomeSessionManagerWrapper()
497+ : UnityDBusObject(QStringLiteral("/org/gnome/SessionManager"), QStringLiteral("org.gnome.SessionManager"))
498+{
499+}
500+
501+void DBusGnomeSessionManagerWrapper::Logout(quint32 mode)
502+{
503+ auto call = QStringLiteral("RequestLogout");
504+
505+ // These modes are documented as bitwise flags, not an enum, even though
506+ // they only ever seem to be used as enums.
507+
508+ if (mode & 1) // without dialog
509+ call = QStringLiteral("Logout");
510+ if (mode & 2) // without dialog, ignoring inhibitors (which we don't have)
511+ call = QStringLiteral("Logout");
512+
513+ performAsyncUnityCall(call);
514+}
515+
516+void DBusGnomeSessionManagerWrapper::Reboot()
517+{
518+ // GNOME's Reboot means with dialog (they use Request differently than us).
519+ performAsyncUnityCall(QStringLiteral("RequestReboot"));
520+}
521+
522+void DBusGnomeSessionManagerWrapper::RequestReboot()
523+{
524+ // GNOME's RequestReboot means no dialog (they use Request differently than us).
525+ performAsyncUnityCall(QStringLiteral("Reboot"));
526+}
527+
528+void DBusGnomeSessionManagerWrapper::RequestShutdown()
529+{
530+ // GNOME's RequestShutdown means no dialog (they use Request differently than us).
531+ performAsyncUnityCall(QStringLiteral("Shutdown"));
532+}
533+
534+void DBusGnomeSessionManagerWrapper::Shutdown()
535+{
536+ // GNOME's Shutdown means with dialog (they use Request differently than us).
537+ performAsyncUnityCall(QStringLiteral("RequestShutdown"));
538+}
539+
540+
541+DBusGnomeSessionManagerDialogWrapper::DBusGnomeSessionManagerDialogWrapper()
471 : UnityDBusObject(QStringLiteral("/org/gnome/SessionManager/EndSessionDialog"), QStringLiteral("com.canonical.Unity"))
542 : UnityDBusObject(QStringLiteral("/org/gnome/SessionManager/EndSessionDialog"), QStringLiteral("com.canonical.Unity"))
472{
543{
473}
544}
474
545
475−void DBusGnomeSessionManagerWrapper::Open(const unsigned type, const unsigned arg_1, const unsigned max_wait, const QList<QDBusObjectPath> &inhibitors)
546+void DBusGnomeSessionManagerDialogWrapper::Open(const unsigned type, const unsigned arg_1, const unsigned max_wait, const QList<QDBusObjectPath> &inhibitors)
476{
547{
477 Q_UNUSED(arg_1);
548 Q_UNUSED(arg_1);
478 Q_UNUSED(max_wait);
549 Q_UNUSED(max_wait);
plugins/Unity/Session/dbusunitysessionservice.h+18−4
@@ -270,17 +270,31 @@ private:
270class DBusGnomeSessionManagerWrapper : public UnityDBusObject
270class DBusGnomeSessionManagerWrapper : public UnityDBusObject
271{
271{
272 Q_OBJECT
272 Q_OBJECT
273− Q_CLASSINFO("D-Bus Interface", "org.gnome.SessionManager.EndSessionDialog")
273+ Q_CLASSINFO("D-Bus Interface", "org.gnome.SessionManager")
274
274
275public:
275public:
276 DBusGnomeSessionManagerWrapper();
276 DBusGnomeSessionManagerWrapper();
277 ~DBusGnomeSessionManagerWrapper() = default;
277 ~DBusGnomeSessionManagerWrapper() = default;
278
278
279public Q_SLOTS:
279public Q_SLOTS:
280− Q_SCRIPTABLE void Open(const unsigned int type, const unsigned int arg_1, const unsigned int max_wait, const QList<QDBusObjectPath> &inhibitors);
280+ Q_SCRIPTABLE void Logout(quint32 mode);
281+ Q_SCRIPTABLE void Reboot();
282+ Q_SCRIPTABLE void RequestReboot();
283+ Q_SCRIPTABLE void RequestShutdown();
284+ Q_SCRIPTABLE void Shutdown();
285+};
281
286
282−private:
287+class DBusGnomeSessionManagerDialogWrapper : public UnityDBusObject
283− void performAsyncCall(const QString &method);
288+{
289+ Q_OBJECT
290+ Q_CLASSINFO("D-Bus Interface", "org.gnome.SessionManager.EndSessionDialog")
291+
292+public:
293+ DBusGnomeSessionManagerDialogWrapper();
294+ ~DBusGnomeSessionManagerDialogWrapper() = default;
295+
296+public Q_SLOTS:
297+ Q_SCRIPTABLE void Open(const unsigned int type, const unsigned int arg_1, const unsigned int max_wait, const QList<QDBusObjectPath> &inhibitors);
284};
298};
285
299
286class DBusGnomeScreensaverWrapper: public UnityDBusObject
300class DBusGnomeScreensaverWrapper: public UnityDBusObject
plugins/Utils/CMakeLists.txt+1
@@ -36,6 +36,7 @@ set(QMLPLUGIN_SRC
36 URLDispatcher.cpp
36 URLDispatcher.cpp
37 tabfocusfence.cpp
37 tabfocusfence.cpp
38 expressionfiltermodel.cpp
38 expressionfiltermodel.cpp
39+ quicklistproxymodel.cpp
39 plugin.cpp
40 plugin.cpp
40 )
41 )
41
42
plugins/Utils/plugin.cpp+2
@@ -42,6 +42,7 @@
42#include "appdrawerproxymodel.h"
42#include "appdrawerproxymodel.h"
43#include "tabfocusfence.h"
43#include "tabfocusfence.h"
44#include "expressionfiltermodel.h"
44#include "expressionfiltermodel.h"
45+#include "quicklistproxymodel.h"
45
46
46static QObject *createWindowStateStorage(QQmlEngine *engine, QJSEngine *scriptEngine)
47static QObject *createWindowStateStorage(QQmlEngine *engine, QJSEngine *scriptEngine)
47{
48{
@@ -88,4 +89,5 @@ void UtilsPlugin::registerTypes(const char *uri)
88 qmlRegisterType<AppDrawerProxyModel>(uri, 0, 1, "AppDrawerProxyModel");
89 qmlRegisterType<AppDrawerProxyModel>(uri, 0, 1, "AppDrawerProxyModel");
89 qmlRegisterType<TabFocusFenceItem>(uri, 0, 1, "TabFocusFence");
90 qmlRegisterType<TabFocusFenceItem>(uri, 0, 1, "TabFocusFence");
90 qmlRegisterType<ExpressionFilterModel>(uri, 0, 1, "ExpressionFilterModel");
91 qmlRegisterType<ExpressionFilterModel>(uri, 0, 1, "ExpressionFilterModel");
92+ qmlRegisterType<QuickListProxyModel>(uri, 0, 1, "QuickListProxyModel");
91}
93}
plugins/Utils/quicklistproxymodel.cppnew file+72
@@ -0,0 +1,72 @@
1+/*
2+ * Copyright (C) 2017 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 "quicklistproxymodel.h"
18+
19+#include <QDebug>
20+
21+QuickListProxyModel::QuickListProxyModel(QObject *parent):
22+ QSortFilterProxyModel(parent)
23+{
24+ connect(this, &QAbstractListModel::rowsInserted, this, &QuickListProxyModel::countChanged);
25+ connect(this, &QAbstractListModel::rowsRemoved, this, &QuickListProxyModel::countChanged);
26+ connect(this, &QAbstractListModel::layoutChanged, this, &QuickListProxyModel::countChanged);
27+}
28+
29+QAbstractItemModel *QuickListProxyModel::source() const
30+{
31+ return m_source;
32+}
33+
34+bool QuickListProxyModel::privateMode() const
35+{
36+ return m_privateMode;
37+}
38+
39+void QuickListProxyModel::setPrivateMode(bool privateMode)
40+{
41+ if (m_privateMode != privateMode) {
42+ m_privateMode = privateMode;
43+ invalidateFilter();
44+ Q_EMIT privateModeChanged();
45+ }
46+}
47+
48+void QuickListProxyModel::setSource(QAbstractItemModel *source)
49+{
50+ if (m_source != source) {
51+ m_source = source;
52+ setSourceModel(m_source);
53+ connect(m_source, &QAbstractItemModel::rowsRemoved, this, &QuickListProxyModel::invalidate);
54+ connect(m_source, &QAbstractItemModel::rowsInserted, this, &QuickListProxyModel::invalidate);
55+ Q_EMIT sourceChanged();
56+ }
57+}
58+
59+int QuickListProxyModel::count() const
60+{
61+ return rowCount();
62+}
63+
64+bool QuickListProxyModel::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const
65+{
66+ Q_UNUSED(source_parent)
67+
68+ if (m_privateMode) {
69+ return !m_source->data(m_source->index(source_row, 0), QuickListModelInterface::RoleIsPrivate).toBool();
70+ }
71+ return true;
72+}
plugins/Utils/quicklistproxymodel.hnew file+52
@@ -0,0 +1,52 @@
1+/*
2+ * Copyright (C) 2017 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 <QSortFilterProxyModel>
18+
19+#include <unity/shell/launcher/QuickListModelInterface.h>
20+
21+using namespace unity::shell::launcher;
22+
23+class QuickListProxyModel: public QSortFilterProxyModel
24+{
25+ Q_OBJECT
26+ Q_PROPERTY(QAbstractItemModel* source READ source WRITE setSource NOTIFY sourceChanged)
27+ Q_PROPERTY(bool privateMode READ privateMode WRITE setPrivateMode NOTIFY privateModeChanged)
28+ Q_PROPERTY(int count READ count NOTIFY countChanged)
29+
30+public:
31+ QuickListProxyModel(QObject* parent = nullptr);
32+
33+ QAbstractItemModel* source() const;
34+ void setSource(QAbstractItemModel* source);
35+
36+ bool privateMode() const;
37+ void setPrivateMode(bool privateMode);
38+
39+ int count() const;
40+
41+protected:
42+ bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const override;
43+
44+Q_SIGNALS:
45+ void sourceChanged();
46+ void privateModeChanged();
47+ void countChanged();
48+
49+private:
50+ QAbstractItemModel* m_source = nullptr;
51+ bool m_privateMode;
52+};
plugins/WindowManager/CMakeLists.txt+2
@@ -29,6 +29,8 @@ set(WINDOWMANAGER_SRC
29 ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/SurfaceManagerInterface.h
29 ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/SurfaceManagerInterface.h
30)
30)
31
31
32+add_definitions(-DWINDOWMANAGERQML_LIBRARY)
33+
32add_library(windowmanager-qml SHARED ${WINDOWMANAGER_SRC})
34add_library(windowmanager-qml SHARED ${WINDOWMANAGER_SRC})
33
35
34target_link_libraries(windowmanager-qml
36target_link_libraries(windowmanager-qml
plugins/WindowManager/TopLevelWindowModel.cpp+65−28
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2016 Canonical, Ltd.
2+ * Copyright (C) 2016-2017 Canonical, Ltd.
3 *
3 *
4 * This program is free software: you can redistribute it and/or modify it under
4 * This program is free software: you can redistribute it and/or modify it under
5 * the terms of the GNU Lesser General Public License version 3, as published by
5 * the terms of the GNU Lesser General Public License version 3, as published by
@@ -120,7 +120,6 @@ void TopLevelWindowModel::setSurfaceManager(unityapi::SurfaceManagerInterface *s
120 m_surfaceManager = surfaceManager;
120 m_surfaceManager = surfaceManager;
121
121
122 if (m_surfaceManager) {
122 if (m_surfaceManager) {
123− connect(m_surfaceManager, &unityapi::SurfaceManagerInterface::surfaceCreated, this, &TopLevelWindowModel::onSurfaceCreated);
124 connect(m_surfaceManager, &unityapi::SurfaceManagerInterface::surfacesRaised, this, &TopLevelWindowModel::onSurfacesRaised);
123 connect(m_surfaceManager, &unityapi::SurfaceManagerInterface::surfacesRaised, this, &TopLevelWindowModel::onSurfacesRaised);
125 connect(m_surfaceManager, &unityapi::SurfaceManagerInterface::modificationsStarted, this, &TopLevelWindowModel::onModificationsStarted);
124 connect(m_surfaceManager, &unityapi::SurfaceManagerInterface::modificationsStarted, this, &TopLevelWindowModel::onModificationsStarted);
126 connect(m_surfaceManager, &unityapi::SurfaceManagerInterface::modificationsEnded, this, &TopLevelWindowModel::onModificationsEnded);
125 connect(m_surfaceManager, &unityapi::SurfaceManagerInterface::modificationsEnded, this, &TopLevelWindowModel::onModificationsEnded);
@@ -155,7 +154,7 @@ void TopLevelWindowModel::removeApplication(unityapi::ApplicationInfoInterface *
155 int i = 0;
154 int i = 0;
156 while (i < m_windowModel.count()) {
155 while (i < m_windowModel.count()) {
157 if (m_windowModel.at(i).application == application) {
156 if (m_windowModel.at(i).application == application) {
158− removeAt(i);
157+ deleteAt(i);
159 } else {
158 } else {
160 ++i;
159 ++i;
161 }
160 }
@@ -173,13 +172,14 @@ void TopLevelWindowModel::prependSurface(unityapi::MirSurfaceInterface *surface,
173{
172{
174 Q_ASSERT(surface != nullptr);
173 Q_ASSERT(surface != nullptr);
175
174
175+ connectSurface(surface);
176+ m_allSurfaces.insert(surface);
177+
176 bool filledPlaceholder = false;
178 bool filledPlaceholder = false;
177 for (int i = 0; i < m_windowModel.count() && !filledPlaceholder; ++i) {
179 for (int i = 0; i < m_windowModel.count() && !filledPlaceholder; ++i) {
178 ModelEntry &entry = m_windowModel[i];
180 ModelEntry &entry = m_windowModel[i];
179 if (entry.application == application && entry.window->surface() == nullptr) {
181 if (entry.application == application && entry.window->surface() == nullptr) {
180 entry.window->setSurface(surface);
182 entry.window->setSurface(surface);
181− m_allSurfaces.insert(surface);
182− connectSurface(surface);
183 INFO_MSG << " appId=" << application->appId() << " surface=" << surface
183 INFO_MSG << " appId=" << application->appId() << " surface=" << surface
184 << ", filling out placeholder. after: " << toString();
184 << ", filling out placeholder. after: " << toString();
185 filledPlaceholder = true;
185 filledPlaceholder = true;
@@ -193,6 +193,34 @@ void TopLevelWindowModel::prependSurface(unityapi::MirSurfaceInterface *surface,
193}
193}
194
194
195void TopLevelWindowModel::prependSurfaceHelper(unityapi::MirSurfaceInterface *surface, unityapi::ApplicationInfoInterface *application)
195void TopLevelWindowModel::prependSurfaceHelper(unityapi::MirSurfaceInterface *surface, unityapi::ApplicationInfoInterface *application)
196+{
197+
198+ Window *window = createWindow(surface);
199+
200+ connect(window, &Window::stateChanged, this, [=](Mir::State newState) {
201+ if (newState == Mir::HiddenState) {
202+ // Comply, removing it from our model. Just as if it didn't exist anymore.
203+ removeAt(indexForId(window->id()));
204+ } else {
205+ if (indexForId(window->id()) == -1) {
206+ // was probably hidden before. put it back on the list
207+ auto *application = m_applicationManager->findApplicationWithSurface(window->surface());
208+ Q_ASSERT(application);
209+ prependWindow(window, application);
210+ }
211+ }
212+ });
213+
214+ prependWindow(window, application);
215+
216+ if (!surface) {
217+ activateEmptyWindow(window);
218+ }
219+
220+ INFO_MSG << " after " << toString();
221+}
222+
223+void TopLevelWindowModel::prependWindow(Window *window, unityapi::ApplicationInfoInterface *application)
196{
224{
197 if (m_modelState == IdleState) {
225 if (m_modelState == IdleState) {
198 m_modelState = InsertingState;
226 m_modelState = InsertingState;
@@ -202,13 +230,7 @@ void TopLevelWindowModel::prependSurfaceHelper(unityapi::MirSurfaceInterface *su
202 // No point in signaling anything if we're resetting the whole model
230 // No point in signaling anything if we're resetting the whole model
203 }
231 }
204
232
205− Window *window = createWindow(surface);
206−
207 m_windowModel.prepend(ModelEntry(window, application));
233 m_windowModel.prepend(ModelEntry(window, application));
208− if (surface) {
209− m_allSurfaces.insert(surface);
210− connectSurface(surface);
211− }
212
234
213 if (m_modelState == InsertingState) {
235 if (m_modelState == InsertingState) {
214 endInsertRows();
236 endInsertRows();
@@ -216,12 +238,6 @@ void TopLevelWindowModel::prependSurfaceHelper(unityapi::MirSurfaceInterface *su
216 Q_EMIT listChanged();
238 Q_EMIT listChanged();
217 m_modelState = IdleState;
239 m_modelState = IdleState;
218 }
240 }
219−
220− if (!surface) {
221− activateEmptyWindow(window);
222− }
223−
224− INFO_MSG << " after " << toString();
225}
241}
226
242
227void TopLevelWindowModel::connectWindow(Window *window)
243void TopLevelWindowModel::connectWindow(Window *window)
@@ -269,6 +285,13 @@ void TopLevelWindowModel::connectWindow(Window *window)
269 connect(window, &Window::emptyWindowActivated, this, [this, window]() {
285 connect(window, &Window::emptyWindowActivated, this, [this, window]() {
270 activateEmptyWindow(window);
286 activateEmptyWindow(window);
271 });
287 });
288+
289+ connect(window, &Window::liveChanged, this, [this, window](bool isAlive) {
290+ if (!isAlive && window->state() == Mir::HiddenState) {
291+ // Hidden windows are not in the model. So just delete it right away.
292+ delete window;
293+ }
294+ });
272}
295}
273
296
274void TopLevelWindowModel::activateEmptyWindow(Window *window)
297void TopLevelWindowModel::activateEmptyWindow(Window *window)
@@ -334,7 +357,7 @@ void TopLevelWindowModel::onSurfaceDestroyed(unityapi::MirSurfaceInterface *surf
334 }
357 }
335
358
336 if (m_windowModel[i].removeOnceSurfaceDestroyed) {
359 if (m_windowModel[i].removeOnceSurfaceDestroyed) {
337− removeAt(i);
360+ deleteAt(i);
338 } else {
361 } else {
339 auto window = m_windowModel[i].window;
362 auto window = m_windowModel[i].window;
340 window->setSurface(nullptr);
363 window->setSurface(nullptr);
@@ -355,11 +378,6 @@ Window *TopLevelWindowModel::createWindow(unityapi::MirSurfaceInterface *surface
355 return qmlWindow;
378 return qmlWindow;
356}
379}
357
380
358−
359−void TopLevelWindowModel::onSurfaceCreated(unityapi::MirSurfaceInterface */*surface*/)
360−{
361−}
362−
363void TopLevelWindowModel::onSurfacesAddedToWorkspace(const std::shared_ptr<miral::Workspace>& workspace,
381void TopLevelWindowModel::onSurfacesAddedToWorkspace(const std::shared_ptr<miral::Workspace>& workspace,
364 const QVector<unity::shell::application::MirSurfaceInterface*> surfaces)
382 const QVector<unity::shell::application::MirSurfaceInterface*> surfaces)
365{
383{
@@ -383,7 +401,16 @@ void TopLevelWindowModel::onSurfacesAddedToWorkspace(const std::shared_ptr<miral
383 } else {
401 } else {
384 auto *application = m_applicationManager->findApplicationWithSurface(surface);
402 auto *application = m_applicationManager->findApplicationWithSurface(surface);
385 if (application) {
403 if (application) {
404+ if (surface->state() == Mir::HiddenState) {
405+ // Ignore it until it's finally shown
406+ connect(surface, &unityapi::MirSurfaceInterface::stateChanged, this, [=](Mir::State newState) {
407+ Q_ASSERT(newState != Mir::HiddenState);
408+ disconnect(surface, &unityapi::MirSurfaceInterface::stateChanged, this, 0);
386− prependSurface(surface, application);
409+ prependSurface(surface, application);
410+ });
411+ } else {
412+ prependSurface(surface, application);
413+ }
387 } else {
414 } else {
388 // Must be a prompt session. No need to do add it as a prompt surface is not top-level.
415 // Must be a prompt session. No need to do add it as a prompt surface is not top-level.
389 // It will show up in the ApplicationInfoInterface::promptSurfaceList of some application.
416 // It will show up in the ApplicationInfoInterface::promptSurfaceList of some application.
@@ -452,6 +479,17 @@ void TopLevelWindowModel::onSurfacesAboutToBeRemovedFromWorkspace(const std::sha
452 }
479 }
453}
480}
454
481
482+void TopLevelWindowModel::deleteAt(int index)
483+{
484+ auto window = m_windowModel[index].window;
485+
486+ removeAt(index);
487+
488+ window->setSurface(nullptr);
489+
490+ delete window;
491+}
492+
455void TopLevelWindowModel::removeAt(int index)
493void TopLevelWindowModel::removeAt(int index)
456{
494{
457 if (m_modelState == IdleState) {
495 if (m_modelState == IdleState) {
@@ -465,8 +503,9 @@ void TopLevelWindowModel::removeAt(int index)
465 auto window = m_windowModel[index].window;
503 auto window = m_windowModel[index].window;
466 auto surface = window->surface();
504 auto surface = window->surface();
467
505
468− window->setSurface(nullptr);
506+ if (!window->surface()) {
469− window->setFocused(false);
507+ window->setFocused(false);
508+ }
470
509
471 m_windowModel.removeAt(index);
510 m_windowModel.removeAt(index);
472 m_allSurfaces.remove(surface);
511 m_allSurfaces.remove(surface);
@@ -478,12 +517,10 @@ void TopLevelWindowModel::removeAt(int index)
478 m_modelState = IdleState;
517 m_modelState = IdleState;
479 }
518 }
480
519
481− disconnect(window, 0, this, 0);
482 if (m_focusedWindow == window) {
520 if (m_focusedWindow == window) {
483 setFocusedWindow(nullptr);
521 setFocusedWindow(nullptr);
484 m_focusedWindowCleared = false;
522 m_focusedWindowCleared = false;
485 }
523 }
486− delete window;
487
524
488 INFO_MSG << " after " << toString();
525 INFO_MSG << " after " << toString();
489}
526}
plugins/WindowManager/TopLevelWindowModel.h+9−6
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2016 Canonical, Ltd.
2+ * Copyright (C) 2016-2017 Canonical, Ltd.
3 *
3 *
4 * This program is free software: you can redistribute it and/or modify it under
4 * This program is free software: you can redistribute it and/or modify it under
5 * the terms of the GNU Lesser General Public License version 3, as published by
5 * the terms of the GNU Lesser General Public License version 3, as published by
@@ -22,6 +22,8 @@
22
22
23#include <memory>
23#include <memory>
24
24
25+#include "WindowManagerGlobal.h"
26+
25Q_DECLARE_LOGGING_CATEGORY(TOPLEVELWINDOWMODEL)
27Q_DECLARE_LOGGING_CATEGORY(TOPLEVELWINDOWMODEL)
26
28
27class Window;
29class Window;
@@ -52,7 +54,7 @@ namespace unity {
52 * As applications can have multiple surfaces and you can also have entries without surfaces at all,
54 * As applications can have multiple surfaces and you can also have entries without surfaces at all,
53 * the only way to unambiguously refer to an entry in this model is through its id.
55 * the only way to unambiguously refer to an entry in this model is through its id.
54 */
56 */
55−class TopLevelWindowModel : public QAbstractListModel
57+class WINDOWMANAGERQML_EXPORT TopLevelWindowModel : public QAbstractListModel
56{
58{
57 Q_OBJECT
59 Q_OBJECT
58
60
@@ -152,6 +154,9 @@ public:
152 */
154 */
153 Q_INVOKABLE void raiseId(int id);
155 Q_INVOKABLE void raiseId(int id);
154
156
157+ void setApplicationManager(unity::shell::application::ApplicationManagerInterface*);
158+ void setSurfaceManager(unity::shell::application::SurfaceManagerInterface*);
159+
155Q_SIGNALS:
160Q_SIGNALS:
156 void countChanged();
161 void countChanged();
157 void inputMethodSurfaceChanged(unity::shell::application::MirSurfaceInterface* inputMethodSurface);
162 void inputMethodSurfaceChanged(unity::shell::application::MirSurfaceInterface* inputMethodSurface);
@@ -167,10 +172,6 @@ Q_SIGNALS:
167 void nextIdChanged();
172 void nextIdChanged();
168
173
169private Q_SLOTS:
174private Q_SLOTS:
170− void setApplicationManager(unity::shell::application::ApplicationManagerInterface*);
171− void setSurfaceManager(unity::shell::application::SurfaceManagerInterface*);
172−
173− void onSurfaceCreated(unity::shell::application::MirSurfaceInterface *surface);
174 void onSurfacesAddedToWorkspace(const std::shared_ptr<miral::Workspace>& workspace,
175 void onSurfacesAddedToWorkspace(const std::shared_ptr<miral::Workspace>& workspace,
175 const QVector<unity::shell::application::MirSurfaceInterface*> surfaces);
176 const QVector<unity::shell::application::MirSurfaceInterface*> surfaces);
176 void onSurfacesAboutToBeRemovedFromWorkspace(const std::shared_ptr<miral::Workspace>& workspace,
177 void onSurfacesAboutToBeRemovedFromWorkspace(const std::shared_ptr<miral::Workspace>& workspace,
@@ -192,6 +193,7 @@ private:
192 void setFocusedWindow(Window *window);
193 void setFocusedWindow(Window *window);
193 void removeInputMethodWindow();
194 void removeInputMethodWindow();
194 int findIndexOf(const unity::shell::application::MirSurfaceInterface *surface) const;
195 int findIndexOf(const unity::shell::application::MirSurfaceInterface *surface) const;
196+ void deleteAt(int index);
195 void removeAt(int index);
197 void removeAt(int index);
196
198
197 void addApplication(unity::shell::application::ApplicationInfoInterface *application);
199 void addApplication(unity::shell::application::ApplicationInfoInterface *application);
@@ -202,6 +204,7 @@ private:
202 unity::shell::application::ApplicationInfoInterface *application);
204 unity::shell::application::ApplicationInfoInterface *application);
203 void prependSurfaceHelper(unity::shell::application::MirSurfaceInterface *surface,
205 void prependSurfaceHelper(unity::shell::application::MirSurfaceInterface *surface,
204 unity::shell::application::ApplicationInfoInterface *application);
206 unity::shell::application::ApplicationInfoInterface *application);
207+ void prependWindow(Window *window, unity::shell::application::ApplicationInfoInterface *application);
205
208
206 void connectWindow(Window *window);
209 void connectWindow(Window *window);
207 void connectSurface(unity::shell::application::MirSurfaceInterface *surface);
210 void connectSurface(unity::shell::application::MirSurfaceInterface *surface);
plugins/WindowManager/Window.cpp+32−1
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2016 Canonical, Ltd.
2+ * Copyright (C) 2016-2017 Canonical, Ltd.
3 *
3 *
4 * This program is free software; you can redistribute it and/or modify
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
5 * it under the terms of the GNU General Public License as published by
@@ -67,6 +67,23 @@ void Window::setRequestedPosition(const QPoint &value)
67 }
67 }
68}
68}
69
69
70+bool Window::allowClientResize() const
71+{
72+ return m_allowClientResize;
73+}
74+
75+void Window::setAllowClientResize(bool value)
76+{
77+ if (value != m_allowClientResize) {
78+ DEBUG_MSG << "("<<value<<")";
79+ m_allowClientResize = value;
80+ if (m_surface) {
81+ m_surface->setAllowClientResize(value);
82+ }
83+ Q_EMIT allowClientResizeChanged(m_allowClientResize);
84+ }
85+}
86+
70Mir::State Window::state() const
87Mir::State Window::state() const
71{
88{
72 return m_state;
89 return m_state;
@@ -154,6 +171,19 @@ void Window::setSurface(unityapi::MirSurfaceInterface *surface)
154 updateFocused();
171 updateFocused();
155 });
172 });
156
173
174+ connect(surface, &unityapi::MirSurfaceInterface::allowClientResizeChanged, this, [this]() {
175+ if (m_surface->allowClientResize() != m_allowClientResize) {
176+ m_allowClientResize = m_surface->allowClientResize();
177+ Q_EMIT allowClientResizeChanged(m_allowClientResize);
178+ }
179+ });
180+
181+ connect(surface, &unityapi::MirSurfaceInterface::liveChanged, this, &Window::liveChanged);
182+
183+ connect(surface, &QObject::destroyed, this, [this]() {
184+ setSurface(nullptr);
185+ });
186+
157 // bring it up to speed
187 // bring it up to speed
158 if (m_positionRequested) {
188 if (m_positionRequested) {
159 m_surface->setRequestedPosition(m_requestedPosition);
189 m_surface->setRequestedPosition(m_requestedPosition);
@@ -161,6 +191,7 @@ void Window::setSurface(unityapi::MirSurfaceInterface *surface)
161 if (m_stateRequested && m_surface->state() == Mir::RestoredState) {
191 if (m_stateRequested && m_surface->state() == Mir::RestoredState) {
162 m_surface->requestState(m_state);
192 m_surface->requestState(m_state);
163 }
193 }
194+ m_surface->setAllowClientResize(m_allowClientResize);
164
195
165 // and sync with surface
196 // and sync with surface
166 updatePosition();
197 updatePosition();
plugins/WindowManager/Window.h+18−2
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2016 Canonical, Ltd.
2+ * Copyright (C) 2016-2017 Canonical, Ltd.
3 *
3 *
4 * This program is free software; you can redistribute it and/or modify
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
5 * it under the terms of the GNU General Public License as published by
@@ -24,6 +24,8 @@
24// Unity API
24// Unity API
25#include <unity/shell/application/Mir.h>
25#include <unity/shell/application/Mir.h>
26
26
27+#include "WindowManagerGlobal.h"
28+
27namespace unity {
29namespace unity {
28 namespace shell {
30 namespace shell {
29 namespace application {
31 namespace application {
@@ -42,7 +44,7 @@ Q_DECLARE_LOGGING_CATEGORY(UNITY_WINDOW)
42 was killed to free up memory, as it should still remain in the window list since the user
44 was killed to free up memory, as it should still remain in the window list since the user
43 did not explicitly close it).
45 did not explicitly close it).
44 */
46 */
45−class Window : public QObject
47+class WINDOWMANAGERQML_EXPORT Window : public QObject
46{
48{
47 Q_OBJECT
49 Q_OBJECT
48
50
@@ -89,6 +91,13 @@ class Window : public QObject
89 */
91 */
90 Q_PROPERTY(unity::shell::application::MirSurfaceInterface* surface READ surface NOTIFY surfaceChanged)
92 Q_PROPERTY(unity::shell::application::MirSurfaceInterface* surface READ surface NOTIFY surfaceChanged)
91
93
94+ /**
95+ * @brief Whether to comply to resize requests coming from the client side
96+ *
97+ * It's true by default
98+ */
99+ Q_PROPERTY(bool allowClientResize READ allowClientResize WRITE setAllowClientResize NOTIFY allowClientResizeChanged)
100+
92public:
101public:
93 Window(int id, QObject *parent = nullptr);
102 Window(int id, QObject *parent = nullptr);
94 virtual ~Window();
103 virtual ~Window();
@@ -104,6 +113,9 @@ public:
104 void setSurface(unity::shell::application::MirSurfaceInterface *surface);
113 void setSurface(unity::shell::application::MirSurfaceInterface *surface);
105 void setFocused(bool value);
114 void setFocused(bool value);
106
115
116+ bool allowClientResize() const;
117+ void setAllowClientResize(bool);
118+
107 QString toString() const;
119 QString toString() const;
108
120
109public Q_SLOTS:
121public Q_SLOTS:
@@ -133,6 +145,8 @@ Q_SIGNALS:
133 void focusedChanged(bool value);
145 void focusedChanged(bool value);
134 void confinesMousePointerChanged(bool value);
146 void confinesMousePointerChanged(bool value);
135 void surfaceChanged(unity::shell::application::MirSurfaceInterface *surface);
147 void surfaceChanged(unity::shell::application::MirSurfaceInterface *surface);
148+ void allowClientResizeChanged(bool value);
149+ void liveChanged(bool value);
136
150
137 /**
151 /**
138 * @brief Emitted when focus for this window is requested by an external party
152 * @brief Emitted when focus for this window is requested by an external party
@@ -152,6 +166,8 @@ private:
152 Mir::State m_state{Mir::RestoredState};
166 Mir::State m_state{Mir::RestoredState};
153 bool m_stateRequested{false};
167 bool m_stateRequested{false};
154 unity::shell::application::MirSurfaceInterface *m_surface{nullptr};
168 unity::shell::application::MirSurfaceInterface *m_surface{nullptr};
169+
170+ bool m_allowClientResize{true};
155};
171};
156
172
157QDebug operator<<(QDebug dbg, const Window *window);
173QDebug operator<<(QDebug dbg, const Window *window);
plugins/WindowManager/WindowManagerGlobal.hnew file+23
@@ -0,0 +1,23 @@
1+/*
2+ * Copyright (C) 2017 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 <QtCore/QtGlobal>
18+
19+#if defined(WINDOWMANAGERQML_LIBRARY)
20+# define WINDOWMANAGERQML_EXPORT Q_DECL_EXPORT
21+#else
22+# define WINDOWMANAGERQML_EXPORT Q_DECL_IMPORT
23+#endif
plugins/WindowManager/WindowManagerObjects.h+3−1
@@ -19,6 +19,8 @@
19
19
20#include <QObject>
20#include <QObject>
21
21
22+#include "WindowManagerGlobal.h"
23+
22namespace unity {
24namespace unity {
23 namespace shell {
25 namespace shell {
24 namespace application {
26 namespace application {
@@ -28,7 +30,7 @@ namespace unity {
28 }
30 }
29}
31}
30
32
31−class WindowManagerObjects : public QObject
33+class WINDOWMANAGERQML_EXPORT WindowManagerObjects : public QObject
32{
34{
33 Q_OBJECT
35 Q_OBJECT
34
36
plugins/WindowManager/Workspace.h+8−3
@@ -25,6 +25,8 @@
25#include <memory>
25#include <memory>
26#include <functional>
26#include <functional>
27
27
28+#include "WindowManagerGlobal.h"
29+
28class WorkspaceModel;
30class WorkspaceModel;
29class TopLevelWindowModel;
31class TopLevelWindowModel;
30
32
@@ -38,7 +40,7 @@ namespace unity {
38 }
40 }
39}
41}
40
42
41−class Workspace : public QObject
43+class WINDOWMANAGERQML_EXPORT Workspace : public QObject
42{
44{
43 Q_OBJECT
45 Q_OBJECT
44 Q_PROPERTY(bool active READ isActive NOTIFY activeChanged)
46 Q_PROPERTY(bool active READ isActive NOTIFY activeChanged)
@@ -72,10 +74,9 @@ protected:
72 WorkspaceModel* m_model;
74 WorkspaceModel* m_model;
73};
75};
74
76
75−class ConcreteWorkspace : public Workspace
77+class WINDOWMANAGERQML_EXPORT ConcreteWorkspace : public Workspace
76{
78{
77public:
79public:
78− explicit ConcreteWorkspace(QObject *parent = nullptr);
79 ~ConcreteWorkspace();
80 ~ConcreteWorkspace();
80
81
81 bool isActive() const override { return m_active; }
82 bool isActive() const override { return m_active; }
@@ -83,8 +84,12 @@ public:
83 void activate() override;
84 void activate() override;
84
85
85private:
86private:
87+ explicit ConcreteWorkspace(QObject *parent = nullptr);
88+
86 bool m_active;
89 bool m_active;
87 const QScopedPointer<TopLevelWindowModel> m_windowModel;
90 const QScopedPointer<TopLevelWindowModel> m_windowModel;
91+
92+ friend class WorkspaceManager;
88};
93};
89
94
90class ProxyWorkspace : public Workspace
95class ProxyWorkspace : public Workspace
plugins/WindowManager/WorkspaceManager.h+5−4
@@ -17,9 +17,11 @@
17#ifndef WORKSPACEMANAGER_H
17#ifndef WORKSPACEMANAGER_H
18#define WORKSPACEMANAGER_H
18#define WORKSPACEMANAGER_H
19
19
20−#include "WorkspaceModel.h"
21#include <QQmlListProperty>
20#include <QQmlListProperty>
22
21
22+#include "WindowManagerGlobal.h"
23+#include "WorkspaceModel.h"
24+
23class Workspace;
25class Workspace;
24
26
25namespace unity {
27namespace unity {
@@ -31,12 +33,13 @@ namespace unity {
31 }
33 }
32}
34}
33
35
34−class WorkspaceManager : public QObject
36+class WINDOWMANAGERQML_EXPORT WorkspaceManager : public QObject
35{
37{
36 Q_OBJECT
38 Q_OBJECT
37 Q_PROPERTY(Workspace* activeWorkspace READ activeWorkspace WRITE setActiveWorkspace2 NOTIFY activeWorkspaceChanged)
39 Q_PROPERTY(Workspace* activeWorkspace READ activeWorkspace WRITE setActiveWorkspace2 NOTIFY activeWorkspaceChanged)
38
40
39public:
41public:
42+ WorkspaceManager();
40 static WorkspaceManager* instance();
43 static WorkspaceManager* instance();
41
44
42 Workspace* activeWorkspace() const;
45 Workspace* activeWorkspace() const;
@@ -56,8 +59,6 @@ Q_SIGNALS:
56 void activeWorkspaceChanged(Workspace*);
59 void activeWorkspaceChanged(Workspace*);
57
60
58private:
61private:
59− WorkspaceManager();
60−
61 void setActiveWorkspace2(Workspace* workspace);
62 void setActiveWorkspace2(Workspace* workspace);
62
63
63 QSet<Workspace*> m_allWorkspaces;
64 QSet<Workspace*> m_allWorkspaces;
po/aa.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2016-02-12 10:18+0000\n"
11"PO-Revision-Date: 2016-02-12 10:18+0000\n"
12"Last-Translator: Charif AYFARAH <ayfarah@ymail.com>\n"
12"Last-Translator: Charif AYFARAH <ayfarah@ymail.com>\n"
13"Language-Team: Afar <aa@li.org>\n"
13"Language-Team: Afar <aa@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:12+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:12+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr ""
56msgstr ""
57
57
@@ -59,20 +59,20 @@ msgstr ""
59msgid "Quit"
59msgid "Quit"
60msgstr "Kat"
60msgstr "Kat"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Eweq"
69msgstr "Eweq"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr ""
73msgstr ""
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Koflis"
78msgstr "Koflis"
@@ -517,11 +517,11 @@ msgstr ""
517msgid "Select desktop environment"
517msgid "Select desktop environment"
518msgstr ""
518msgstr ""
519
519
520−#: qml/Launcher/Drawer.qml:92
520+#: qml/Launcher/Drawer.qml:93
521msgid "Search…"
521msgid "Search…"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:127
524+#: qml/Launcher/Drawer.qml:128
525msgctxt "Apps sorted alphabetically"
525msgctxt "Apps sorted alphabetically"
526msgid "A-Z"
526msgid "A-Z"
527msgstr ""
527msgstr ""
po/am.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2017-01-26 15:04+0000\n"
11"PO-Revision-Date: 2017-01-26 15:04+0000\n"
12"Last-Translator: samson <Unknown>\n"
12"Last-Translator: samson <Unknown>\n"
13"Language-Team: Amharic <am@li.org>\n"
13"Language-Team: Amharic <am@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:12+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:12+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr "መግቢያ"
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr "የ እንግዳ ክፍለ ጊዜ"
51msgstr "የ እንግዳ ክፍለ ጊዜ"
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "አቋራጭ ማጣበቂያ"
56msgstr "አቋራጭ ማጣበቂያ"
57
57
@@ -59,20 +59,20 @@ msgstr "አቋራጭ ማጣበቂያ"
59msgid "Quit"
59msgid "Quit"
60msgstr "ማጥፊያ"
60msgstr "ማጥፊያ"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "አቋራጭ መለያያ"
64msgstr "አቋራጭ መለያያ"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "መውጫ"
69msgstr "መውጫ"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "በእርግጥ መውጣት ይፈልጋሉ?"
73msgstr "በእርግጥ መውጣት ይፈልጋሉ?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "መቆለፊያ"
78msgstr "መቆለፊያ"
@@ -519,11 +519,11 @@ msgstr "ማለፊያ ኮድ"
519msgid "Select desktop environment"
519msgid "Select desktop environment"
520msgstr "የ ዴስክቶፕ አይነት ይምረጡ"
520msgstr "የ ዴስክቶፕ አይነት ይምረጡ"
521
521
522−#: qml/Launcher/Drawer.qml:92
522+#: qml/Launcher/Drawer.qml:93
523msgid "Search…"
523msgid "Search…"
524msgstr "መፈለጊያ..."
524msgstr "መፈለጊያ..."
525
525
526−#: qml/Launcher/Drawer.qml:127
526+#: qml/Launcher/Drawer.qml:128
527msgctxt "Apps sorted alphabetically"
527msgctxt "Apps sorted alphabetically"
528msgid "A-Z"
528msgid "A-Z"
529msgstr "A-Z"
529msgstr "A-Z"
po/ar.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2017-01-14 05:20+0000\n"
11"PO-Revision-Date: 2017-01-14 05:20+0000\n"
12"Last-Translator: Ibrahim Saed <ibraheem5000@gmail.com>\n"
12"Last-Translator: Ibrahim Saed <ibraheem5000@gmail.com>\n"
13"Language-Team: Arabic <ar@li.org>\n"
13"Language-Team: Arabic <ar@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= "
17"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= "
18"3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n"
18"3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n"
19−"X-Launchpad-Export-Date: 2017-03-14 07:12+0000\n"
19+"X-Launchpad-Export-Date: 2017-03-24 06:12+0000\n"
20−"X-Generator: Launchpad (build 18331)\n"
20+"X-Generator: Launchpad (build 18334)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:188
22#: plugins/LightDM/Greeter.cpp:188
23msgid "Password: "
23msgid "Password: "
@@ -51,8 +51,8 @@ msgstr ""
51msgid "Guest Session"
51msgid "Guest Session"
52msgstr ""
52msgstr ""
53
53
54−#: plugins/Unity/Launcher/launcheritem.cpp:50
54+#: plugins/Unity/Launcher/launcheritem.cpp:49
55−#: plugins/Unity/Launcher/launcheritem.cpp:122
55+#: plugins/Unity/Launcher/launcheritem.cpp:123
56msgid "Pin shortcut"
56msgid "Pin shortcut"
57msgstr "تثبيت الاختصار"
57msgstr "تثبيت الاختصار"
58
58
@@ -60,20 +60,20 @@ msgstr "تثبيت الاختصار"
60msgid "Quit"
60msgid "Quit"
61msgstr "خروج"
61msgstr "خروج"
62
62
63−#: plugins/Unity/Launcher/launcheritem.cpp:122
63+#: plugins/Unity/Launcher/launcheritem.cpp:123
64msgid "Unpin shortcut"
64msgid "Unpin shortcut"
65msgstr "إزالة تثبيت الاختصار"
65msgstr "إزالة تثبيت الاختصار"
66
66
67−#: qml/Components/Dialogs.qml:177
67+#: qml/Components/Dialogs.qml:176
68msgctxt "Title: Lock/Log out dialog"
68msgctxt "Title: Lock/Log out dialog"
69msgid "Log out"
69msgid "Log out"
70msgstr "خروج"
70msgstr "خروج"
71
71
72−#: qml/Components/Dialogs.qml:178
72+#: qml/Components/Dialogs.qml:177
73msgid "Are you sure you want to log out?"
73msgid "Are you sure you want to log out?"
74msgstr "هل أنت متأكد من رغبتك في تسجيل الخروج؟"
74msgstr "هل أنت متأكد من رغبتك في تسجيل الخروج؟"
75
75
76−#: qml/Components/Dialogs.qml:181
76+#: qml/Components/Dialogs.qml:180
77msgctxt "Button: Lock the system"
77msgctxt "Button: Lock the system"
78msgid "Lock"
78msgid "Lock"
79msgstr "أوصِد"
79msgstr "أوصِد"
@@ -526,11 +526,11 @@ msgstr ""
526msgid "Select desktop environment"
526msgid "Select desktop environment"
527msgstr ""
527msgstr ""
528
528
529−#: qml/Launcher/Drawer.qml:92
529+#: qml/Launcher/Drawer.qml:93
530msgid "Search…"
530msgid "Search…"
531msgstr ""
531msgstr ""
532
532
533−#: qml/Launcher/Drawer.qml:127
533+#: qml/Launcher/Drawer.qml:128
534msgctxt "Apps sorted alphabetically"
534msgctxt "Apps sorted alphabetically"
535msgid "A-Z"
535msgid "A-Z"
536msgstr ""
536msgstr ""
po/ast.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2016-12-16 02:13+0000\n"
11"PO-Revision-Date: 2016-12-16 02:13+0000\n"
12"Last-Translator: enolp <enolp@softastur.org>\n"
12"Last-Translator: enolp <enolp@softastur.org>\n"
13"Language-Team: Asturian <ast@li.org>\n"
13"Language-Team: Asturian <ast@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:12+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:12+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Anclar atayu"
56msgstr "Anclar atayu"
57
57
@@ -59,20 +59,20 @@ msgstr "Anclar atayu"
59msgid "Quit"
59msgid "Quit"
60msgstr "Colar"
60msgstr "Colar"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Desanclar atayu"
64msgstr "Desanclar atayu"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Zarrar sesión"
69msgstr "Zarrar sesión"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "¿De xuru que quies zarrar la sesión?"
73msgstr "¿De xuru que quies zarrar la sesión?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Bloquiar"
78msgstr "Bloquiar"
@@ -522,11 +522,11 @@ msgstr "Códigu de pasu"
522msgid "Select desktop environment"
522msgid "Select desktop environment"
523msgstr "Esbillar entornu d'escritoriu"
523msgstr "Esbillar entornu d'escritoriu"
524
524
525−#: qml/Launcher/Drawer.qml:92
525+#: qml/Launcher/Drawer.qml:93
526msgid "Search…"
526msgid "Search…"
527msgstr "Guetar..."
527msgstr "Guetar..."
528
528
529−#: qml/Launcher/Drawer.qml:127
529+#: qml/Launcher/Drawer.qml:128
530msgctxt "Apps sorted alphabetically"
530msgctxt "Apps sorted alphabetically"
531msgid "A-Z"
531msgid "A-Z"
532msgstr "A-Z"
532msgstr "A-Z"
po/az.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2014-09-03 16:39+0000\n"
11"PO-Revision-Date: 2014-09-03 16:39+0000\n"
12"Last-Translator: Nicat Məmmədov <n1c4t97@gmail.com>\n"
12"Last-Translator: Nicat Məmmədov <n1c4t97@gmail.com>\n"
13"Language-Team: Azerbaijani <az@li.org>\n"
13"Language-Team: Azerbaijani <az@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:12+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:12+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Pin qısayolu"
56msgstr "Pin qısayolu"
57
57
@@ -59,20 +59,20 @@ msgstr "Pin qısayolu"
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Açma qısayolu"
64msgstr "Açma qısayolu"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Çıxmaq istәdiyinizdәn әminsiniz?"
73msgstr "Çıxmaq istәdiyinizdәn әminsiniz?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr ""
78msgstr ""
@@ -517,11 +517,11 @@ msgstr ""
517msgid "Select desktop environment"
517msgid "Select desktop environment"
518msgstr ""
518msgstr ""
519
519
520−#: qml/Launcher/Drawer.qml:92
520+#: qml/Launcher/Drawer.qml:93
521msgid "Search…"
521msgid "Search…"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:127
524+#: qml/Launcher/Drawer.qml:128
525msgctxt "Apps sorted alphabetically"
525msgctxt "Apps sorted alphabetically"
526msgid "A-Z"
526msgid "A-Z"
527msgstr ""
527msgstr ""
po/be.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2015-12-13 13:12+0000\n"
11"PO-Revision-Date: 2015-12-13 13:12+0000\n"
12"Last-Translator: Mikhail_SaTuRn <mikhail_saturn@tut.by>\n"
12"Last-Translator: Mikhail_SaTuRn <mikhail_saturn@tut.by>\n"
13"Language-Team: Belarusian <be@li.org>\n"
13"Language-Team: Belarusian <be@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
19−"X-Launchpad-Export-Date: 2017-03-14 07:12+0000\n"
19+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
20−"X-Generator: Launchpad (build 18331)\n"
20+"X-Generator: Launchpad (build 18334)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:188
22#: plugins/LightDM/Greeter.cpp:188
23msgid "Password: "
23msgid "Password: "
@@ -51,8 +51,8 @@ msgstr ""
51msgid "Guest Session"
51msgid "Guest Session"
52msgstr ""
52msgstr ""
53
53
54−#: plugins/Unity/Launcher/launcheritem.cpp:50
54+#: plugins/Unity/Launcher/launcheritem.cpp:49
55−#: plugins/Unity/Launcher/launcheritem.cpp:122
55+#: plugins/Unity/Launcher/launcheritem.cpp:123
56msgid "Pin shortcut"
56msgid "Pin shortcut"
57msgstr "Замацаваць кнопку"
57msgstr "Замацаваць кнопку"
58
58
@@ -60,20 +60,20 @@ msgstr "Замацаваць кнопку"
60msgid "Quit"
60msgid "Quit"
61msgstr "Выйсці"
61msgstr "Выйсці"
62
62
63−#: plugins/Unity/Launcher/launcheritem.cpp:122
63+#: plugins/Unity/Launcher/launcheritem.cpp:123
64msgid "Unpin shortcut"
64msgid "Unpin shortcut"
65msgstr "Адмацаваць кнопку"
65msgstr "Адмацаваць кнопку"
66
66
67−#: qml/Components/Dialogs.qml:177
67+#: qml/Components/Dialogs.qml:176
68msgctxt "Title: Lock/Log out dialog"
68msgctxt "Title: Lock/Log out dialog"
69msgid "Log out"
69msgid "Log out"
70msgstr "Выйсці"
70msgstr "Выйсці"
71
71
72−#: qml/Components/Dialogs.qml:178
72+#: qml/Components/Dialogs.qml:177
73msgid "Are you sure you want to log out?"
73msgid "Are you sure you want to log out?"
74msgstr "Вы ўпэўненыя, што хочаце выйсці?"
74msgstr "Вы ўпэўненыя, што хочаце выйсці?"
75
75
76−#: qml/Components/Dialogs.qml:181
76+#: qml/Components/Dialogs.qml:180
77msgctxt "Button: Lock the system"
77msgctxt "Button: Lock the system"
78msgid "Lock"
78msgid "Lock"
79msgstr "Заблакаваць"
79msgstr "Заблакаваць"
@@ -524,11 +524,11 @@ msgstr ""
524msgid "Select desktop environment"
524msgid "Select desktop environment"
525msgstr ""
525msgstr ""
526
526
527−#: qml/Launcher/Drawer.qml:92
527+#: qml/Launcher/Drawer.qml:93
528msgid "Search…"
528msgid "Search…"
529msgstr ""
529msgstr ""
530
530
531−#: qml/Launcher/Drawer.qml:127
531+#: qml/Launcher/Drawer.qml:128
532msgctxt "Apps sorted alphabetically"
532msgctxt "Apps sorted alphabetically"
533msgid "A-Z"
533msgid "A-Z"
534msgstr ""
534msgstr ""
po/bg.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2015-04-12 14:43+0000\n"
11"PO-Revision-Date: 2015-04-12 14:43+0000\n"
12"Last-Translator: George Karavasilev <kokoto-java@ubuntu.com>\n"
12"Last-Translator: George Karavasilev <kokoto-java@ubuntu.com>\n"
13"Language-Team: Bulgarian <bg@li.org>\n"
13"Language-Team: Bulgarian <bg@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:12+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr ""
56msgstr ""
57
57
@@ -59,20 +59,20 @@ msgstr ""
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr ""
73msgstr ""
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr ""
78msgstr ""
@@ -519,11 +519,11 @@ msgstr ""
519msgid "Select desktop environment"
519msgid "Select desktop environment"
520msgstr ""
520msgstr ""
521
521
522−#: qml/Launcher/Drawer.qml:92
522+#: qml/Launcher/Drawer.qml:93
523msgid "Search…"
523msgid "Search…"
524msgstr ""
524msgstr ""
525
525
526−#: qml/Launcher/Drawer.qml:127
526+#: qml/Launcher/Drawer.qml:128
527msgctxt "Apps sorted alphabetically"
527msgctxt "Apps sorted alphabetically"
528msgid "A-Z"
528msgid "A-Z"
529msgstr ""
529msgstr ""
po/bn.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2015-11-27 19:38+0000\n"
11"PO-Revision-Date: 2015-11-27 19:38+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Bengali <bn@li.org>\n"
13"Language-Team: Bengali <bn@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:12+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "পিন"
56msgstr "পিন"
57
57
@@ -59,20 +59,20 @@ msgstr "পিন"
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "আনপিন"
64msgstr "আনপিন"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "আপনি কি লগ আউট করতে চান?"
73msgstr "আপনি কি লগ আউট করতে চান?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "লক করুন"
78msgstr "লক করুন"
@@ -519,11 +519,11 @@ msgstr ""
519msgid "Select desktop environment"
519msgid "Select desktop environment"
520msgstr ""
520msgstr ""
521
521
522−#: qml/Launcher/Drawer.qml:92
522+#: qml/Launcher/Drawer.qml:93
523msgid "Search…"
523msgid "Search…"
524msgstr ""
524msgstr ""
525
525
526−#: qml/Launcher/Drawer.qml:127
526+#: qml/Launcher/Drawer.qml:128
527msgctxt "Apps sorted alphabetically"
527msgctxt "Apps sorted alphabetically"
528msgid "A-Z"
528msgid "A-Z"
529msgstr ""
529msgstr ""
po/br.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2016-08-29 11:37+0000\n"
11"PO-Revision-Date: 2016-08-29 11:37+0000\n"
12"Last-Translator: Fohanno Thierry <thierry.fohanno@ofis-bzh.org>\n"
12"Last-Translator: Fohanno Thierry <thierry.fohanno@ofis-bzh.org>\n"
13"Language-Team: Breton <br@li.org>\n"
13"Language-Team: Breton <br@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:12+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Spilhennañ ar verradenn"
56msgstr "Spilhennañ ar verradenn"
57
57
@@ -59,20 +59,20 @@ msgstr "Spilhennañ ar verradenn"
59msgid "Quit"
59msgid "Quit"
60msgstr "Mont kuit"
60msgstr "Mont kuit"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Dispilhennañ ar verradenn"
64msgstr "Dispilhennañ ar verradenn"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Digevreañ"
69msgstr "Digevreañ"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Ha sur oc'h e fell deoc'h digevreañ ?"
73msgstr "Ha sur oc'h e fell deoc'h digevreañ ?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Prennañ"
78msgstr "Prennañ"
@@ -528,11 +528,11 @@ msgstr "Kod-tremen"
528msgid "Select desktop environment"
528msgid "Select desktop environment"
529msgstr "Diuzañ endro ar burev"
529msgstr "Diuzañ endro ar burev"
530
530
531−#: qml/Launcher/Drawer.qml:92
531+#: qml/Launcher/Drawer.qml:93
532msgid "Search…"
532msgid "Search…"
533msgstr ""
533msgstr ""
534
534
535−#: qml/Launcher/Drawer.qml:127
535+#: qml/Launcher/Drawer.qml:128
536msgctxt "Apps sorted alphabetically"
536msgctxt "Apps sorted alphabetically"
537msgid "A-Z"
537msgid "A-Z"
538msgstr ""
538msgstr ""
po/bs.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2015-12-01 20:06+0000\n"
11"PO-Revision-Date: 2015-12-01 20:06+0000\n"
12"Last-Translator: Kenan Gutić <Unknown>\n"
12"Last-Translator: Kenan Gutić <Unknown>\n"
13"Language-Team: Bosnian <bs@li.org>\n"
13"Language-Team: Bosnian <bs@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2017-03-14 07:12+0000\n"
19+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
20−"X-Generator: Launchpad (build 18331)\n"
20+"X-Generator: Launchpad (build 18334)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:188
22#: plugins/LightDM/Greeter.cpp:188
23msgid "Password: "
23msgid "Password: "
@@ -51,8 +51,8 @@ msgstr ""
51msgid "Guest Session"
51msgid "Guest Session"
52msgstr ""
52msgstr ""
53
53
54−#: plugins/Unity/Launcher/launcheritem.cpp:50
54+#: plugins/Unity/Launcher/launcheritem.cpp:49
55−#: plugins/Unity/Launcher/launcheritem.cpp:122
55+#: plugins/Unity/Launcher/launcheritem.cpp:123
56msgid "Pin shortcut"
56msgid "Pin shortcut"
57msgstr "Prikačite prečicu"
57msgstr "Prikačite prečicu"
58
58
@@ -60,20 +60,20 @@ msgstr "Prikačite prečicu"
60msgid "Quit"
60msgid "Quit"
61msgstr "Napusti"
61msgstr "Napusti"
62
62
63−#: plugins/Unity/Launcher/launcheritem.cpp:122
63+#: plugins/Unity/Launcher/launcheritem.cpp:123
64msgid "Unpin shortcut"
64msgid "Unpin shortcut"
65msgstr "Otkačite prečicu"
65msgstr "Otkačite prečicu"
66
66
67−#: qml/Components/Dialogs.qml:177
67+#: qml/Components/Dialogs.qml:176
68msgctxt "Title: Lock/Log out dialog"
68msgctxt "Title: Lock/Log out dialog"
69msgid "Log out"
69msgid "Log out"
70msgstr "Odjavite se"
70msgstr "Odjavite se"
71
71
72−#: qml/Components/Dialogs.qml:178
72+#: qml/Components/Dialogs.qml:177
73msgid "Are you sure you want to log out?"
73msgid "Are you sure you want to log out?"
74msgstr "Da li ste sigurni da se želite odjaviti?"
74msgstr "Da li ste sigurni da se želite odjaviti?"
75
75
76−#: qml/Components/Dialogs.qml:181
76+#: qml/Components/Dialogs.qml:180
77msgctxt "Button: Lock the system"
77msgctxt "Button: Lock the system"
78msgid "Lock"
78msgid "Lock"
79msgstr "Zaključaj"
79msgstr "Zaključaj"
@@ -523,11 +523,11 @@ msgstr ""
523msgid "Select desktop environment"
523msgid "Select desktop environment"
524msgstr ""
524msgstr ""
525
525
526−#: qml/Launcher/Drawer.qml:92
526+#: qml/Launcher/Drawer.qml:93
527msgid "Search…"
527msgid "Search…"
528msgstr ""
528msgstr ""
529
529
530−#: qml/Launcher/Drawer.qml:127
530+#: qml/Launcher/Drawer.qml:128
531msgctxt "Apps sorted alphabetically"
531msgctxt "Apps sorted alphabetically"
532msgid "A-Z"
532msgid "A-Z"
533msgstr ""
533msgstr ""
po/ca.po+31−30
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2016-11-11 06:30+0000\n"
11"PO-Revision-Date: 2016-11-11 06:30+0000\n"
12"Last-Translator: Walter Garcia-Fontes <walter.garcia@upf.edu>\n"
12"Last-Translator: Walter Garcia-Fontes <walter.garcia@upf.edu>\n"
13"Language-Team: Catalan <ca@li.org>\n"
13"Language-Team: Catalan <ca@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:12+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -24,15 +24,15 @@ msgstr "Contrasenya: "
24
24
25#: plugins/LightDM/Greeter.cpp:203
25#: plugins/LightDM/Greeter.cpp:203
26msgid "Username"
26msgid "Username"
27−msgstr ""
27+msgstr "Nom d'usuari"
28
28
29#: plugins/LightDM/Greeter.cpp:242
29#: plugins/LightDM/Greeter.cpp:242
30msgid "Failed to authenticate"
30msgid "Failed to authenticate"
31−msgstr ""
31+msgstr "Ha fallat l'autenticació"
32
32
33#: plugins/LightDM/Greeter.cpp:244
33#: plugins/LightDM/Greeter.cpp:244
34msgid "Invalid password, please try again"
34msgid "Invalid password, please try again"
35−msgstr ""
35+msgstr "La contrasenya no és vàlida, torneu-ho a provar"
36
36
37#: plugins/LightDM/Greeter.cpp:254
37#: plugins/LightDM/Greeter.cpp:254
38msgid "Log In"
38msgid "Log In"
@@ -44,14 +44,14 @@ msgstr "Torna-ho a provar"
44
44
45#: plugins/LightDM/UsersModel.cpp:152
45#: plugins/LightDM/UsersModel.cpp:152
46msgid "Login"
46msgid "Login"
47−msgstr ""
47+msgstr "Inicia la sessió"
48
48
49#: plugins/LightDM/UsersModel.cpp:160
49#: plugins/LightDM/UsersModel.cpp:160
50msgid "Guest Session"
50msgid "Guest Session"
51−msgstr ""
51+msgstr "Sessió de convidat"
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Enganxa la drecera"
56msgstr "Enganxa la drecera"
57
57
@@ -59,20 +59,20 @@ msgstr "Enganxa la drecera"
59msgid "Quit"
59msgid "Quit"
60msgstr "Surt"
60msgstr "Surt"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Desenganxa la drecera"
64msgstr "Desenganxa la drecera"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Surt"
69msgstr "Surt"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Segur que voleu sortir?"
73msgstr "Segur que voleu sortir?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Bloca"
78msgstr "Bloca"
@@ -151,7 +151,7 @@ msgstr "Alt + ImprPant"
151
151
152#: qml/Components/KeyboardShortcutsOverlay.qml:80
152#: qml/Components/KeyboardShortcutsOverlay.qml:80
153msgid "Takes a screenshot of the current window."
153msgid "Takes a screenshot of the current window."
154−msgstr ""
154+msgstr "Feu una captura de pantalla de la finestra actual."
155
155
156#: qml/Components/KeyboardShortcutsOverlay.qml:88
156#: qml/Components/KeyboardShortcutsOverlay.qml:88
157msgid "Super + Space"
157msgid "Super + Space"
@@ -199,7 +199,7 @@ msgstr "Commuta les aplicacions mitjançant el llançador."
199
199
200#: qml/Components/KeyboardShortcutsOverlay.qml:164
200#: qml/Components/KeyboardShortcutsOverlay.qml:164
201msgid "Super + 1 to 0"
201msgid "Super + 1 to 0"
202−msgstr ""
202+msgstr "Súper +1 a 0"
203
203
204#: qml/Components/KeyboardShortcutsOverlay.qml:169
204#: qml/Components/KeyboardShortcutsOverlay.qml:169
205msgid "Same as clicking on a launcher icon."
205msgid "Same as clicking on a launcher icon."
@@ -207,11 +207,11 @@ msgstr "El mateix que clicar sobre una icona del llançador."
207
207
208#: qml/Components/KeyboardShortcutsOverlay.qml:177
208#: qml/Components/KeyboardShortcutsOverlay.qml:177
209msgid "Super + A"
209msgid "Super + A"
210−msgstr ""
210+msgstr "Súper + A"
211
211
212#: qml/Components/KeyboardShortcutsOverlay.qml:182
212#: qml/Components/KeyboardShortcutsOverlay.qml:182
213msgid "Opens the Application Drawer."
213msgid "Opens the Application Drawer."
214−msgstr ""
214+msgstr "Obre el calaix d'aplicacions."
215
215
216#: qml/Components/KeyboardShortcutsOverlay.qml:194
216#: qml/Components/KeyboardShortcutsOverlay.qml:194
217msgid "Scopes"
217msgid "Scopes"
@@ -361,19 +361,19 @@ msgstr ""
361
361
362#: qml/Components/VirtualTouchPad.qml:327
362#: qml/Components/VirtualTouchPad.qml:327
363msgid "Tap left button to click."
363msgid "Tap left button to click."
364−msgstr ""
364+msgstr "Feu un toc al botó esquerre per clicar."
365
365
366#: qml/Components/VirtualTouchPad.qml:339
366#: qml/Components/VirtualTouchPad.qml:339
367msgid "Tap right button to right click."
367msgid "Tap right button to right click."
368−msgstr ""
368+msgstr "Feu un toc al botó dret per clicar amb el botó dret."
369
369
370#: qml/Components/VirtualTouchPad.qml:351
370#: qml/Components/VirtualTouchPad.qml:351
371msgid "Swipe with two fingers to scroll."
371msgid "Swipe with two fingers to scroll."
372−msgstr ""
372+msgstr "Llisqueu amb dos dites per fer un desplaçament."
373
373
374#: qml/Components/VirtualTouchPad.qml:396
374#: qml/Components/VirtualTouchPad.qml:396
375msgid "Find more settings in the system settings."
375msgid "Find more settings in the system settings."
376−msgstr ""
376+msgstr "Trobeu més configuracions als paràmetres del sistema."
377
377
378#: qml/Dash/DashPageHeader.qml:361
378#: qml/Dash/DashPageHeader.qml:361
379msgctxt "Button: Open the Ubuntu Store"
379msgctxt "Button: Open the Ubuntu Store"
@@ -505,11 +505,11 @@ msgstr "Torna-ho a provar"
505
505
506#: qml/Greeter/Greeter.qml:562
506#: qml/Greeter/Greeter.qml:562
507msgid "Enter passphrase to unlock"
507msgid "Enter passphrase to unlock"
508−msgstr ""
508+msgstr "Introduïu la contrasenya per desbloquejar"
509
509
510#: qml/Greeter/Greeter.qml:563
510#: qml/Greeter/Greeter.qml:563
511msgid "Enter passcode to unlock"
511msgid "Enter passcode to unlock"
512−msgstr ""
512+msgstr "Entreu el codi per desbloquejar"
513
513
514#: qml/Greeter/NarrowView.qml:242
514#: qml/Greeter/NarrowView.qml:242
515msgid "Emergency"
515msgid "Emergency"
@@ -527,18 +527,18 @@ msgstr "Codi d'accés"
527msgid "Select desktop environment"
527msgid "Select desktop environment"
528msgstr "Seleccioneu l'entorn d'escriptori"
528msgstr "Seleccioneu l'entorn d'escriptori"
529
529
530−#: qml/Launcher/Drawer.qml:92
530+#: qml/Launcher/Drawer.qml:93
531msgid "Search…"
531msgid "Search…"
532−msgstr ""
532+msgstr "Cerca…"
533
533
534−#: qml/Launcher/Drawer.qml:127
534+#: qml/Launcher/Drawer.qml:128
535msgctxt "Apps sorted alphabetically"
535msgctxt "Apps sorted alphabetically"
536msgid "A-Z"
536msgid "A-Z"
537−msgstr ""
537+msgstr "A-Z"
538
538
539#: qml/Launcher/MoreAppsHeader.qml:55
539#: qml/Launcher/MoreAppsHeader.qml:55
540msgid "More apps in the store"
540msgid "More apps in the store"
541−msgstr ""
541+msgstr "Més aplicacions a la botiga"
542
542
543#: qml/Notifications/NotificationMenuItemFactory.qml:124
543#: qml/Notifications/NotificationMenuItemFactory.qml:124
544msgid "Show password"
544msgid "Show password"
@@ -629,7 +629,7 @@ msgstr "Retorna la trucada"
629
629
630#: qml/Panel/PanelMenuPage.qml:92
630#: qml/Panel/PanelMenuPage.qml:92
631msgid "Back"
631msgid "Back"
632−msgstr ""
632+msgstr "Enrere"
633
633
634#: qml/Stage/SideStage.qml:76
634#: qml/Stage/SideStage.qml:76
635msgid "Drag using 3 fingers any application from one window to the other"
635msgid "Drag using 3 fingers any application from one window to the other"
@@ -639,6 +639,7 @@ msgstr ""
639#: qml/Tutorial/TutorialLeftLong.qml:49
639#: qml/Tutorial/TutorialLeftLong.qml:49
640msgid "Long swipe from the left edge to open the Application Drawer"
640msgid "Long swipe from the left edge to open the Application Drawer"
641msgstr ""
641msgstr ""
642+"Llisqueu llarg des de la vora esquerra per obrir al Calaix d'aplicacions"
642
643
643#: qml/Tutorial/TutorialLeft.qml:47
644#: qml/Tutorial/TutorialLeft.qml:47
644msgid "Short swipe from the left edge to open the launcher"
645msgid "Short swipe from the left edge to open the launcher"
po/ca@valencia.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2015-02-22 15:22+0000\n"
11"PO-Revision-Date: 2015-02-22 15:22+0000\n"
12"Last-Translator: David Planella <david.planella@gmail.com>\n"
12"Last-Translator: David Planella <david.planella@gmail.com>\n"
13"Language-Team: Catalan <ca@li.org>\n"
13"Language-Team: Catalan <ca@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:14+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Apega la drecera"
56msgstr "Apega la drecera"
57
57
@@ -59,20 +59,20 @@ msgstr "Apega la drecera"
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Desenganxa la drecera"
64msgstr "Desenganxa la drecera"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Segur que voleu eixir?"
73msgstr "Segur que voleu eixir?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr ""
78msgstr ""
@@ -523,11 +523,11 @@ msgstr ""
523msgid "Select desktop environment"
523msgid "Select desktop environment"
524msgstr ""
524msgstr ""
525
525
526−#: qml/Launcher/Drawer.qml:92
526+#: qml/Launcher/Drawer.qml:93
527msgid "Search…"
527msgid "Search…"
528msgstr ""
528msgstr ""
529
529
530−#: qml/Launcher/Drawer.qml:127
530+#: qml/Launcher/Drawer.qml:128
531msgctxt "Apps sorted alphabetically"
531msgctxt "Apps sorted alphabetically"
532msgid "A-Z"
532msgid "A-Z"
533msgstr ""
533msgstr ""
po/ce.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2015-02-15 04:01+0000\n"
11"PO-Revision-Date: 2015-02-15 04:01+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Chechen <ce@li.org>\n"
13"Language-Team: Chechen <ce@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:12+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr ""
56msgstr ""
57
57
@@ -59,20 +59,20 @@ msgstr ""
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr ""
73msgstr ""
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr ""
78msgstr ""
@@ -517,11 +517,11 @@ msgstr ""
517msgid "Select desktop environment"
517msgid "Select desktop environment"
518msgstr ""
518msgstr ""
519
519
520−#: qml/Launcher/Drawer.qml:92
520+#: qml/Launcher/Drawer.qml:93
521msgid "Search…"
521msgid "Search…"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:127
524+#: qml/Launcher/Drawer.qml:128
525msgctxt "Apps sorted alphabetically"
525msgctxt "Apps sorted alphabetically"
526msgid "A-Z"
526msgid "A-Z"
527msgstr ""
527msgstr ""
po/ckb.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2014-01-21 11:05+0000\n"
11"PO-Revision-Date: 2014-01-21 11:05+0000\n"
12"Last-Translator: Aras <aras.noori@gmail.com>\n"
12"Last-Translator: Aras <aras.noori@gmail.com>\n"
13"Language-Team: Kurdish (Sorani) <ckb@li.org>\n"
13"Language-Team: Kurdish (Sorani) <ckb@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:14+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr ""
56msgstr ""
57
57
@@ -59,20 +59,20 @@ msgstr ""
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr ""
73msgstr ""
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr ""
78msgstr ""
@@ -517,11 +517,11 @@ msgstr ""
517msgid "Select desktop environment"
517msgid "Select desktop environment"
518msgstr ""
518msgstr ""
519
519
520−#: qml/Launcher/Drawer.qml:92
520+#: qml/Launcher/Drawer.qml:93
521msgid "Search…"
521msgid "Search…"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:127
524+#: qml/Launcher/Drawer.qml:128
525msgctxt "Apps sorted alphabetically"
525msgctxt "Apps sorted alphabetically"
526msgid "A-Z"
526msgid "A-Z"
527msgstr ""
527msgstr ""
po/co.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2016-05-24 10:40+0000\n"
11"PO-Revision-Date: 2016-05-24 10:40+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Corsican <co@li.org>\n"
13"Language-Team: Corsican <co@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:12+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Fissà l'accurtatoghju"
56msgstr "Fissà l'accurtatoghju"
57
57
@@ -59,20 +59,20 @@ msgstr "Fissà l'accurtatoghju"
59msgid "Quit"
59msgid "Quit"
60msgstr "Abbandunà"
60msgstr "Abbandunà"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Toglie l'accurtatoghju"
64msgstr "Toglie l'accurtatoghju"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Escì"
69msgstr "Escì"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Site sicuri di vulè escì?"
73msgstr "Site sicuri di vulè escì?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Bluccà"
78msgstr "Bluccà"
@@ -527,11 +527,11 @@ msgstr ""
527msgid "Select desktop environment"
527msgid "Select desktop environment"
528msgstr ""
528msgstr ""
529
529
530−#: qml/Launcher/Drawer.qml:92
530+#: qml/Launcher/Drawer.qml:93
531msgid "Search…"
531msgid "Search…"
532msgstr ""
532msgstr ""
533
533
534−#: qml/Launcher/Drawer.qml:127
534+#: qml/Launcher/Drawer.qml:128
535msgctxt "Apps sorted alphabetically"
535msgctxt "Apps sorted alphabetically"
536msgid "A-Z"
536msgid "A-Z"
537msgstr ""
537msgstr ""
po/cs.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2015-07-07 10:44+0000\n"
11"PO-Revision-Date: 2015-07-07 10:44+0000\n"
12"Last-Translator: Vojtěch Daněk <vdanek@outlook.com>\n"
12"Last-Translator: Vojtěch Daněk <vdanek@outlook.com>\n"
13"Language-Team: Czech <cs@li.org>\n"
13"Language-Team: Czech <cs@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
17"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:12+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20"Language: cs\n"
20"Language: cs\n"
21
21
22#: plugins/LightDM/Greeter.cpp:188
22#: plugins/LightDM/Greeter.cpp:188
@@ -51,8 +51,8 @@ msgstr ""
51msgid "Guest Session"
51msgid "Guest Session"
52msgstr ""
52msgstr ""
53
53
54−#: plugins/Unity/Launcher/launcheritem.cpp:50
54+#: plugins/Unity/Launcher/launcheritem.cpp:49
55−#: plugins/Unity/Launcher/launcheritem.cpp:122
55+#: plugins/Unity/Launcher/launcheritem.cpp:123
56msgid "Pin shortcut"
56msgid "Pin shortcut"
57msgstr "Připíchnout zkratku"
57msgstr "Připíchnout zkratku"
58
58
@@ -60,20 +60,20 @@ msgstr "Připíchnout zkratku"
60msgid "Quit"
60msgid "Quit"
61msgstr ""
61msgstr ""
62
62
63−#: plugins/Unity/Launcher/launcheritem.cpp:122
63+#: plugins/Unity/Launcher/launcheritem.cpp:123
64msgid "Unpin shortcut"
64msgid "Unpin shortcut"
65msgstr "Odpíchnout zkratku"
65msgstr "Odpíchnout zkratku"
66
66
67−#: qml/Components/Dialogs.qml:177
67+#: qml/Components/Dialogs.qml:176
68msgctxt "Title: Lock/Log out dialog"
68msgctxt "Title: Lock/Log out dialog"
69msgid "Log out"
69msgid "Log out"
70msgstr "Odhlásit se"
70msgstr "Odhlásit se"
71
71
72−#: qml/Components/Dialogs.qml:178
72+#: qml/Components/Dialogs.qml:177
73msgid "Are you sure you want to log out?"
73msgid "Are you sure you want to log out?"
74msgstr "Jste si jistí, že se chcete odhlásit?"
74msgstr "Jste si jistí, že se chcete odhlásit?"
75
75
76−#: qml/Components/Dialogs.qml:181
76+#: qml/Components/Dialogs.qml:180
77msgctxt "Button: Lock the system"
77msgctxt "Button: Lock the system"
78msgid "Lock"
78msgid "Lock"
79msgstr "Uzamknout"
79msgstr "Uzamknout"
@@ -523,11 +523,11 @@ msgstr ""
523msgid "Select desktop environment"
523msgid "Select desktop environment"
524msgstr ""
524msgstr ""
525
525
526−#: qml/Launcher/Drawer.qml:92
526+#: qml/Launcher/Drawer.qml:93
527msgid "Search…"
527msgid "Search…"
528msgstr ""
528msgstr ""
529
529
530−#: qml/Launcher/Drawer.qml:127
530+#: qml/Launcher/Drawer.qml:128
531msgctxt "Apps sorted alphabetically"
531msgctxt "Apps sorted alphabetically"
532msgid "A-Z"
532msgid "A-Z"
533msgstr ""
533msgstr ""
po/cy.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2015-07-31 13:21+0000\n"
11"PO-Revision-Date: 2015-07-31 13:21+0000\n"
12"Last-Translator: Owen Llywelyn <owen.llywelyn@gmail.com>\n"
12"Last-Translator: Owen Llywelyn <owen.llywelyn@gmail.com>\n"
13"Language-Team: Welsh <cy@li.org>\n"
13"Language-Team: Welsh <cy@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==2 ? 1 : (n != 8 && n != 11) ? "
17"Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==2 ? 1 : (n != 8 && n != 11) ? "
18"2 : 3;\n"
18"2 : 3;\n"
19−"X-Launchpad-Export-Date: 2017-03-14 07:14+0000\n"
19+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
20−"X-Generator: Launchpad (build 18331)\n"
20+"X-Generator: Launchpad (build 18334)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:188
22#: plugins/LightDM/Greeter.cpp:188
23msgid "Password: "
23msgid "Password: "
@@ -51,8 +51,8 @@ msgstr ""
51msgid "Guest Session"
51msgid "Guest Session"
52msgstr ""
52msgstr ""
53
53
54−#: plugins/Unity/Launcher/launcheritem.cpp:50
54+#: plugins/Unity/Launcher/launcheritem.cpp:49
55−#: plugins/Unity/Launcher/launcheritem.cpp:122
55+#: plugins/Unity/Launcher/launcheritem.cpp:123
56msgid "Pin shortcut"
56msgid "Pin shortcut"
57msgstr "Pinio llwybr byr"
57msgstr "Pinio llwybr byr"
58
58
@@ -60,20 +60,20 @@ msgstr "Pinio llwybr byr"
60msgid "Quit"
60msgid "Quit"
61msgstr ""
61msgstr ""
62
62
63−#: plugins/Unity/Launcher/launcheritem.cpp:122
63+#: plugins/Unity/Launcher/launcheritem.cpp:123
64msgid "Unpin shortcut"
64msgid "Unpin shortcut"
65msgstr "Dadbinio llwybr byr"
65msgstr "Dadbinio llwybr byr"
66
66
67−#: qml/Components/Dialogs.qml:177
67+#: qml/Components/Dialogs.qml:176
68msgctxt "Title: Lock/Log out dialog"
68msgctxt "Title: Lock/Log out dialog"
69msgid "Log out"
69msgid "Log out"
70msgstr "Allgofnodi"
70msgstr "Allgofnodi"
71
71
72−#: qml/Components/Dialogs.qml:178
72+#: qml/Components/Dialogs.qml:177
73msgid "Are you sure you want to log out?"
73msgid "Are you sure you want to log out?"
74msgstr "Ydych chi'n sicr eich bod am allgofnodi?"
74msgstr "Ydych chi'n sicr eich bod am allgofnodi?"
75
75
76−#: qml/Components/Dialogs.qml:181
76+#: qml/Components/Dialogs.qml:180
77msgctxt "Button: Lock the system"
77msgctxt "Button: Lock the system"
78msgid "Lock"
78msgid "Lock"
79msgstr "Cloi"
79msgstr "Cloi"
@@ -524,11 +524,11 @@ msgstr ""
524msgid "Select desktop environment"
524msgid "Select desktop environment"
525msgstr ""
525msgstr ""
526
526
527−#: qml/Launcher/Drawer.qml:92
527+#: qml/Launcher/Drawer.qml:93
528msgid "Search…"
528msgid "Search…"
529msgstr ""
529msgstr ""
530
530
531−#: qml/Launcher/Drawer.qml:127
531+#: qml/Launcher/Drawer.qml:128
532msgctxt "Apps sorted alphabetically"
532msgctxt "Apps sorted alphabetically"
533msgid "A-Z"
533msgid "A-Z"
534msgstr ""
534msgstr ""
po/da.po+11−11
@@ -8,7 +8,7 @@ msgid ""
8msgstr ""
8msgstr ""
9"Project-Id-Version: unity8\n"
9"Project-Id-Version: unity8\n"
10"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
11−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
11+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
12"PO-Revision-Date: 2015-07-06 12:05+0000\n"
12"PO-Revision-Date: 2015-07-06 12:05+0000\n"
13"Last-Translator: Folmer Fredslund <Unknown>\n"
13"Last-Translator: Folmer Fredslund <Unknown>\n"
14"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
14"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
19−"X-Launchpad-Export-Date: 2017-03-14 07:12+0000\n"
19+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
20−"X-Generator: Launchpad (build 18331)\n"
20+"X-Generator: Launchpad (build 18334)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:188
22#: plugins/LightDM/Greeter.cpp:188
23msgid "Password: "
23msgid "Password: "
@@ -51,8 +51,8 @@ msgstr ""
51msgid "Guest Session"
51msgid "Guest Session"
52msgstr ""
52msgstr ""
53
53
54−#: plugins/Unity/Launcher/launcheritem.cpp:50
54+#: plugins/Unity/Launcher/launcheritem.cpp:49
55−#: plugins/Unity/Launcher/launcheritem.cpp:122
55+#: plugins/Unity/Launcher/launcheritem.cpp:123
56msgid "Pin shortcut"
56msgid "Pin shortcut"
57msgstr "Fastgør genvej"
57msgstr "Fastgør genvej"
58
58
@@ -60,20 +60,20 @@ msgstr "Fastgør genvej"
60msgid "Quit"
60msgid "Quit"
61msgstr ""
61msgstr ""
62
62
63−#: plugins/Unity/Launcher/launcheritem.cpp:122
63+#: plugins/Unity/Launcher/launcheritem.cpp:123
64msgid "Unpin shortcut"
64msgid "Unpin shortcut"
65msgstr "Gør genvej flytbar"
65msgstr "Gør genvej flytbar"
66
66
67−#: qml/Components/Dialogs.qml:177
67+#: qml/Components/Dialogs.qml:176
68msgctxt "Title: Lock/Log out dialog"
68msgctxt "Title: Lock/Log out dialog"
69msgid "Log out"
69msgid "Log out"
70msgstr "Log af"
70msgstr "Log af"
71
71
72−#: qml/Components/Dialogs.qml:178
72+#: qml/Components/Dialogs.qml:177
73msgid "Are you sure you want to log out?"
73msgid "Are you sure you want to log out?"
74msgstr "Vil du logge ud?"
74msgstr "Vil du logge ud?"
75
75
76−#: qml/Components/Dialogs.qml:181
76+#: qml/Components/Dialogs.qml:180
77msgctxt "Button: Lock the system"
77msgctxt "Button: Lock the system"
78msgid "Lock"
78msgid "Lock"
79msgstr "Lås"
79msgstr "Lås"
@@ -524,11 +524,11 @@ msgstr ""
524msgid "Select desktop environment"
524msgid "Select desktop environment"
525msgstr ""
525msgstr ""
526
526
527−#: qml/Launcher/Drawer.qml:92
527+#: qml/Launcher/Drawer.qml:93
528msgid "Search…"
528msgid "Search…"
529msgstr ""
529msgstr ""
530
530
531−#: qml/Launcher/Drawer.qml:127
531+#: qml/Launcher/Drawer.qml:128
532msgctxt "Apps sorted alphabetically"
532msgctxt "Apps sorted alphabetically"
533msgid "A-Z"
533msgid "A-Z"
534msgstr ""
534msgstr ""
po/de.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2017-01-18 22:45+0000\n"
11"PO-Revision-Date: 2017-01-18 22:45+0000\n"
12"Last-Translator: Torsten Franz <Unknown>\n"
12"Last-Translator: Torsten Franz <Unknown>\n"
13"Language-Team: German <de@li.org>\n"
13"Language-Team: German <de@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Verknüpfung anheften"
56msgstr "Verknüpfung anheften"
57
57
@@ -59,20 +59,20 @@ msgstr "Verknüpfung anheften"
59msgid "Quit"
59msgid "Quit"
60msgstr "Beenden"
60msgstr "Beenden"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Verknüpfung entfernen"
64msgstr "Verknüpfung entfernen"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Abmelden"
69msgstr "Abmelden"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Sind Sie sicher, dass Sie sich abmelden wollen?"
73msgstr "Sind Sie sicher, dass Sie sich abmelden wollen?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Sperren"
78msgstr "Sperren"
@@ -527,11 +527,11 @@ msgstr "PIN"
527msgid "Select desktop environment"
527msgid "Select desktop environment"
528msgstr "Arbeitsumgebung auswählen"
528msgstr "Arbeitsumgebung auswählen"
529
529
530−#: qml/Launcher/Drawer.qml:92
530+#: qml/Launcher/Drawer.qml:93
531msgid "Search…"
531msgid "Search…"
532msgstr "Suchen …"
532msgstr "Suchen …"
533
533
534−#: qml/Launcher/Drawer.qml:127
534+#: qml/Launcher/Drawer.qml:128
535msgctxt "Apps sorted alphabetically"
535msgctxt "Apps sorted alphabetically"
536msgid "A-Z"
536msgid "A-Z"
537msgstr "A-Z"
537msgstr "A-Z"
po/el.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2016-04-25 16:24+0000\n"
11"PO-Revision-Date: 2016-04-25 16:24+0000\n"
12"Last-Translator: Aggelos Arnaoutis <angelosarn@hotmail.com>\n"
12"Last-Translator: Aggelos Arnaoutis <angelosarn@hotmail.com>\n"
13"Language-Team: Greek <el@li.org>\n"
13"Language-Team: Greek <el@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Καρφίτσωμα συντόμευσης"
56msgstr "Καρφίτσωμα συντόμευσης"
57
57
@@ -59,20 +59,20 @@ msgstr "Καρφίτσωμα συντόμευσης"
59msgid "Quit"
59msgid "Quit"
60msgstr "Έξοδος"
60msgstr "Έξοδος"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Ξεκαρφίτσωμα συντόμευσης"
64msgstr "Ξεκαρφίτσωμα συντόμευσης"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Αποσύνδεση"
69msgstr "Αποσύνδεση"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Επιθυμείτε σίγουρα να αποσυνδεθείτε;"
73msgstr "Επιθυμείτε σίγουρα να αποσυνδεθείτε;"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Κλείδωμα"
78msgstr "Κλείδωμα"
@@ -527,11 +527,11 @@ msgstr "Κωδικός"
527msgid "Select desktop environment"
527msgid "Select desktop environment"
528msgstr "Επιλέξτε περιβάλλον εργασίας"
528msgstr "Επιλέξτε περιβάλλον εργασίας"
529
529
530−#: qml/Launcher/Drawer.qml:92
530+#: qml/Launcher/Drawer.qml:93
531msgid "Search…"
531msgid "Search…"
532msgstr ""
532msgstr ""
533
533
534−#: qml/Launcher/Drawer.qml:127
534+#: qml/Launcher/Drawer.qml:128
535msgctxt "Apps sorted alphabetically"
535msgctxt "Apps sorted alphabetically"
536msgid "A-Z"
536msgid "A-Z"
537msgstr ""
537msgstr ""
po/en_AU.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2016-03-27 10:09+0000\n"
11"PO-Revision-Date: 2016-03-27 10:09+0000\n"
12"Last-Translator: Jared Norris <jarednorris@ubuntu.com>\n"
12"Last-Translator: Jared Norris <jarednorris@ubuntu.com>\n"
13"Language-Team: English (Australia) <en_AU@li.org>\n"
13"Language-Team: English (Australia) <en_AU@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:14+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Pin shortcut"
56msgstr "Pin shortcut"
57
57
@@ -59,20 +59,20 @@ msgstr "Pin shortcut"
59msgid "Quit"
59msgid "Quit"
60msgstr "Quit"
60msgstr "Quit"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Unpin shortcut"
64msgstr "Unpin shortcut"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Log out"
69msgstr "Log out"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Are you sure you want to log out?"
73msgstr "Are you sure you want to log out?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Lock"
78msgstr "Lock"
@@ -521,11 +521,11 @@ msgstr ""
521msgid "Select desktop environment"
521msgid "Select desktop environment"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:92
524+#: qml/Launcher/Drawer.qml:93
525msgid "Search…"
525msgid "Search…"
526msgstr ""
526msgstr ""
527
527
528−#: qml/Launcher/Drawer.qml:127
528+#: qml/Launcher/Drawer.qml:128
529msgctxt "Apps sorted alphabetically"
529msgctxt "Apps sorted alphabetically"
530msgid "A-Z"
530msgid "A-Z"
531msgstr ""
531msgstr ""
po/en_GB.po+13−13
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2016-07-05 00:37+0000\n"
11"PO-Revision-Date: 2016-07-05 00:37+0000\n"
12"Last-Translator: Andi Chandler <Unknown>\n"
12"Last-Translator: Andi Chandler <Unknown>\n"
13"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
13"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
@@ -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: 2017-03-14 07:14+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr "Login"
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr "Guest Session"
51msgstr "Guest Session"
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Pin shortcut"
56msgstr "Pin shortcut"
57
57
@@ -59,20 +59,20 @@ msgstr "Pin shortcut"
59msgid "Quit"
59msgid "Quit"
60msgstr "Quit"
60msgstr "Quit"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Unpin shortcut"
64msgstr "Unpin shortcut"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Log out"
69msgstr "Log out"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Are you sure you want to log out?"
73msgstr "Are you sure you want to log out?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Lock"
78msgstr "Lock"
@@ -199,7 +199,7 @@ msgstr "Switches applications via the launcher."
199
199
200#: qml/Components/KeyboardShortcutsOverlay.qml:164
200#: qml/Components/KeyboardShortcutsOverlay.qml:164
201msgid "Super + 1 to 0"
201msgid "Super + 1 to 0"
202−msgstr ""
202+msgstr "Super + 1 to 0"
203
203
204#: qml/Components/KeyboardShortcutsOverlay.qml:169
204#: qml/Components/KeyboardShortcutsOverlay.qml:169
205msgid "Same as clicking on a launcher icon."
205msgid "Same as clicking on a launcher icon."
@@ -521,11 +521,11 @@ msgstr "Passcode"
521msgid "Select desktop environment"
521msgid "Select desktop environment"
522msgstr "Select desktop environment"
522msgstr "Select desktop environment"
523
523
524−#: qml/Launcher/Drawer.qml:92
524+#: qml/Launcher/Drawer.qml:93
525msgid "Search…"
525msgid "Search…"
526msgstr "Search…"
526msgstr "Search…"
527
527
528−#: qml/Launcher/Drawer.qml:127
528+#: qml/Launcher/Drawer.qml:128
529msgctxt "Apps sorted alphabetically"
529msgctxt "Apps sorted alphabetically"
530msgid "A-Z"
530msgid "A-Z"
531msgstr "A-Z"
531msgstr "A-Z"
@@ -623,7 +623,7 @@ msgstr "Call back"
623
623
624#: qml/Panel/PanelMenuPage.qml:92
624#: qml/Panel/PanelMenuPage.qml:92
625msgid "Back"
625msgid "Back"
626−msgstr ""
626+msgstr "Back"
627
627
628#: qml/Stage/SideStage.qml:76
628#: qml/Stage/SideStage.qml:76
629msgid "Drag using 3 fingers any application from one window to the other"
629msgid "Drag using 3 fingers any application from one window to the other"
po/eo.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2015-06-06 23:37+0000\n"
11"PO-Revision-Date: 2015-06-06 23:37+0000\n"
12"Last-Translator: Eliovir <Unknown>\n"
12"Last-Translator: Eliovir <Unknown>\n"
13"Language-Team: Esperanto <eo@li.org>\n"
13"Language-Team: Esperanto <eo@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:12+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr ""
56msgstr ""
57
57
@@ -59,20 +59,20 @@ msgstr ""
59msgid "Quit"
59msgid "Quit"
60msgstr "Ĉesi"
60msgstr "Ĉesi"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Elsaluti"
69msgstr "Elsaluti"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Ĉu vi certas, ke vi volas elsaluti?"
73msgstr "Ĉu vi certas, ke vi volas elsaluti?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Ŝlosi"
78msgstr "Ŝlosi"
@@ -517,11 +517,11 @@ msgstr ""
517msgid "Select desktop environment"
517msgid "Select desktop environment"
518msgstr ""
518msgstr ""
519
519
520−#: qml/Launcher/Drawer.qml:92
520+#: qml/Launcher/Drawer.qml:93
521msgid "Search…"
521msgid "Search…"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:127
524+#: qml/Launcher/Drawer.qml:128
525msgctxt "Apps sorted alphabetically"
525msgctxt "Apps sorted alphabetically"
526msgid "A-Z"
526msgid "A-Z"
527msgstr ""
527msgstr ""
po/es.po+15−15
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2017-03-05 14:59+0000\n"
11"PO-Revision-Date: 2017-03-05 14:59+0000\n"
12"Last-Translator: Adolfo Jayme <fitoschido@gmail.com>\n"
12"Last-Translator: Adolfo Jayme <fitoschido@gmail.com>\n"
13"Language-Team: Spanish <es@li.org>\n"
13"Language-Team: Spanish <es@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr "Acceder"
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr "Sesión de invitado"
51msgstr "Sesión de invitado"
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Anclar"
56msgstr "Anclar"
57
57
@@ -59,20 +59,20 @@ msgstr "Anclar"
59msgid "Quit"
59msgid "Quit"
60msgstr "Salir"
60msgstr "Salir"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Desanclar"
64msgstr "Desanclar"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Cerrar la sesión"
69msgstr "Cerrar la sesión"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "¿Confirma que quiere cerrar la sesión?"
73msgstr "¿Confirma que quiere cerrar la sesión?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Bloquear"
78msgstr "Bloquear"
@@ -199,7 +199,7 @@ msgstr "Recorre las aplicaciones del Lanzador."
199
199
200#: qml/Components/KeyboardShortcutsOverlay.qml:164
200#: qml/Components/KeyboardShortcutsOverlay.qml:164
201msgid "Super + 1 to 0"
201msgid "Super + 1 to 0"
202−msgstr ""
202+msgstr "Super + 1 a 0"
203
203
204#: qml/Components/KeyboardShortcutsOverlay.qml:169
204#: qml/Components/KeyboardShortcutsOverlay.qml:169
205msgid "Same as clicking on a launcher icon."
205msgid "Same as clicking on a launcher icon."
@@ -504,11 +504,11 @@ msgstr "Pruebe de nuevo"
504
504
505#: qml/Greeter/Greeter.qml:562
505#: qml/Greeter/Greeter.qml:562
506msgid "Enter passphrase to unlock"
506msgid "Enter passphrase to unlock"
507−msgstr ""
507+msgstr "Introduzca la contraseña para desbloquear"
508
508
509#: qml/Greeter/Greeter.qml:563
509#: qml/Greeter/Greeter.qml:563
510msgid "Enter passcode to unlock"
510msgid "Enter passcode to unlock"
511−msgstr ""
511+msgstr "Introduzca el código para desbloquear"
512
512
513#: qml/Greeter/NarrowView.qml:242
513#: qml/Greeter/NarrowView.qml:242
514msgid "Emergency"
514msgid "Emergency"
@@ -526,11 +526,11 @@ msgstr "Código"
526msgid "Select desktop environment"
526msgid "Select desktop environment"
527msgstr "Seleccionar entorno de escritorio"
527msgstr "Seleccionar entorno de escritorio"
528
528
529−#: qml/Launcher/Drawer.qml:92
529+#: qml/Launcher/Drawer.qml:93
530msgid "Search…"
530msgid "Search…"
531msgstr "Buscar…"
531msgstr "Buscar…"
532
532
533−#: qml/Launcher/Drawer.qml:127
533+#: qml/Launcher/Drawer.qml:128
534msgctxt "Apps sorted alphabetically"
534msgctxt "Apps sorted alphabetically"
535msgid "A-Z"
535msgid "A-Z"
536msgstr "A-Z"
536msgstr "A-Z"
@@ -628,7 +628,7 @@ msgstr "Devolver llamada"
628
628
629#: qml/Panel/PanelMenuPage.qml:92
629#: qml/Panel/PanelMenuPage.qml:92
630msgid "Back"
630msgid "Back"
631−msgstr ""
631+msgstr "Atrás"
632
632
633#: qml/Stage/SideStage.qml:76
633#: qml/Stage/SideStage.qml:76
634msgid "Drag using 3 fingers any application from one window to the other"
634msgid "Drag using 3 fingers any application from one window to the other"
po/et.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2016-12-28 06:29+0000\n"
11"PO-Revision-Date: 2016-12-28 06:29+0000\n"
12"Last-Translator: Karlis <Unknown>\n"
12"Last-Translator: Karlis <Unknown>\n"
13"Language-Team: Estonian <et@li.org>\n"
13"Language-Team: Estonian <et@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:12+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr ""
56msgstr ""
57
57
@@ -59,20 +59,20 @@ msgstr ""
59msgid "Quit"
59msgid "Quit"
60msgstr "Välju"
60msgstr "Välju"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Logi välja"
69msgstr "Logi välja"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr ""
73msgstr ""
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr ""
78msgstr ""
@@ -517,11 +517,11 @@ msgstr ""
517msgid "Select desktop environment"
517msgid "Select desktop environment"
518msgstr ""
518msgstr ""
519
519
520−#: qml/Launcher/Drawer.qml:92
520+#: qml/Launcher/Drawer.qml:93
521msgid "Search…"
521msgid "Search…"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:127
524+#: qml/Launcher/Drawer.qml:128
525msgctxt "Apps sorted alphabetically"
525msgctxt "Apps sorted alphabetically"
526msgid "A-Z"
526msgid "A-Z"
527msgstr ""
527msgstr ""
po/eu.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2015-07-13 23:29+0000\n"
11"PO-Revision-Date: 2015-07-13 23:29+0000\n"
12"Last-Translator: Ibai Oihanguren Sala <Unknown>\n"
12"Last-Translator: Ibai Oihanguren Sala <Unknown>\n"
13"Language-Team: Basque <eu@li.org>\n"
13"Language-Team: Basque <eu@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:12+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:12+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Ainguratu lasterbidea"
56msgstr "Ainguratu lasterbidea"
57
57
@@ -59,20 +59,20 @@ msgstr "Ainguratu lasterbidea"
59msgid "Quit"
59msgid "Quit"
60msgstr "Irten"
60msgstr "Irten"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Askatu lasterbidea"
64msgstr "Askatu lasterbidea"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Amaitu saioa"
69msgstr "Amaitu saioa"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Ziur saioa amaitu nahi duzula?"
73msgstr "Ziur saioa amaitu nahi duzula?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Blokeatu"
78msgstr "Blokeatu"
@@ -520,11 +520,11 @@ msgstr ""
520msgid "Select desktop environment"
520msgid "Select desktop environment"
521msgstr ""
521msgstr ""
522
522
523−#: qml/Launcher/Drawer.qml:92
523+#: qml/Launcher/Drawer.qml:93
524msgid "Search…"
524msgid "Search…"
525msgstr ""
525msgstr ""
526
526
527−#: qml/Launcher/Drawer.qml:127
527+#: qml/Launcher/Drawer.qml:128
528msgctxt "Apps sorted alphabetically"
528msgctxt "Apps sorted alphabetically"
529msgid "A-Z"
529msgid "A-Z"
530msgstr ""
530msgstr ""
po/fa.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2016-10-18 07:03+0000\n"
11"PO-Revision-Date: 2016-10-18 07:03+0000\n"
12"Last-Translator: Danial Behzadi <dani.behzi@gmail.com>\n"
12"Last-Translator: Danial Behzadi <dani.behzi@gmail.com>\n"
13"Language-Team: Persian <fa@li.org>\n"
13"Language-Team: Persian <fa@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "سنجاق کردن میانبر"
56msgstr "سنجاق کردن میانبر"
57
57
@@ -59,20 +59,20 @@ msgstr "سنجاق کردن میانبر"
59msgid "Quit"
59msgid "Quit"
60msgstr "خروج"
60msgstr "خروج"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "برداشتن سنجاق میانبر"
64msgstr "برداشتن سنجاق میانبر"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "خروج از حساب"
69msgstr "خروج از حساب"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "مطمئنید که می‌خواهید از حساب خارج شوید"
73msgstr "مطمئنید که می‌خواهید از حساب خارج شوید"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "قفل"
78msgstr "قفل"
@@ -522,11 +522,11 @@ msgstr "رمزعبور"
522msgid "Select desktop environment"
522msgid "Select desktop environment"
523msgstr "گزینش محیط میزکار"
523msgstr "گزینش محیط میزکار"
524
524
525−#: qml/Launcher/Drawer.qml:92
525+#: qml/Launcher/Drawer.qml:93
526msgid "Search…"
526msgid "Search…"
527msgstr ""
527msgstr ""
528
528
529−#: qml/Launcher/Drawer.qml:127
529+#: qml/Launcher/Drawer.qml:128
530msgctxt "Apps sorted alphabetically"
530msgctxt "Apps sorted alphabetically"
531msgid "A-Z"
531msgid "A-Z"
532msgstr ""
532msgstr ""
po/fi.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2015-07-04 18:32+0000\n"
11"PO-Revision-Date: 2015-07-04 18:32+0000\n"
12"Last-Translator: Jiri Grönroos <Unknown>\n"
12"Last-Translator: Jiri Grönroos <Unknown>\n"
13"Language-Team: Finnish <fi@li.org>\n"
13"Language-Team: Finnish <fi@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:12+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr "Kirjaudu"
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr "Vierasistunto"
51msgstr "Vierasistunto"
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Kiinnitä pikakuvake"
56msgstr "Kiinnitä pikakuvake"
57
57
@@ -59,20 +59,20 @@ msgstr "Kiinnitä pikakuvake"
59msgid "Quit"
59msgid "Quit"
60msgstr "Lopeta"
60msgstr "Lopeta"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Poista pikakuvakkeen kiinnitys"
64msgstr "Poista pikakuvakkeen kiinnitys"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Kirjaudu ulos"
69msgstr "Kirjaudu ulos"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Haluatko varmasti kirjautua ulos?"
73msgstr "Haluatko varmasti kirjautua ulos?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Lukitse"
78msgstr "Lukitse"
@@ -525,11 +525,11 @@ msgstr "Suojakoodi"
525msgid "Select desktop environment"
525msgid "Select desktop environment"
526msgstr "Valitse työpöytäympäristö"
526msgstr "Valitse työpöytäympäristö"
527
527
528−#: qml/Launcher/Drawer.qml:92
528+#: qml/Launcher/Drawer.qml:93
529msgid "Search…"
529msgid "Search…"
530msgstr "Etsi…"
530msgstr "Etsi…"
531
531
532−#: qml/Launcher/Drawer.qml:127
532+#: qml/Launcher/Drawer.qml:128
533msgctxt "Apps sorted alphabetically"
533msgctxt "Apps sorted alphabetically"
534msgid "A-Z"
534msgid "A-Z"
535msgstr "A-Ö"
535msgstr "A-Ö"
po/fo.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2014-01-14 20:08+0000\n"
11"PO-Revision-Date: 2014-01-14 20:08+0000\n"
12"Last-Translator: Jógvan Olsen <jo@jebster.net>\n"
12"Last-Translator: Jógvan Olsen <jo@jebster.net>\n"
13"Language-Team: Faroese <fo@li.org>\n"
13"Language-Team: Faroese <fo@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:12+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Heft snarveg"
56msgstr "Heft snarveg"
57
57
@@ -59,20 +59,20 @@ msgstr "Heft snarveg"
59msgid "Quit"
59msgid "Quit"
60msgstr "Gevst"
60msgstr "Gevst"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Óheft snarveg"
64msgstr "Óheft snarveg"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Útrita"
69msgstr "Útrita"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Ert tú vísur ið tú vilt rita út?"
73msgstr "Ert tú vísur ið tú vilt rita út?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Læs"
78msgstr "Læs"
@@ -521,11 +521,11 @@ msgstr ""
521msgid "Select desktop environment"
521msgid "Select desktop environment"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:92
524+#: qml/Launcher/Drawer.qml:93
525msgid "Search…"
525msgid "Search…"
526msgstr ""
526msgstr ""
527
527
528−#: qml/Launcher/Drawer.qml:127
528+#: qml/Launcher/Drawer.qml:128
529msgctxt "Apps sorted alphabetically"
529msgctxt "Apps sorted alphabetically"
530msgid "A-Z"
530msgid "A-Z"
531msgstr ""
531msgstr ""
po/fr.po+13−13
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2017-02-07 18:31+0000\n"
11"PO-Revision-Date: 2017-02-07 18:31+0000\n"
12"Last-Translator: Anne017 <anneonyme017@openmailbox.org>\n"
12"Last-Translator: Anne017 <anneonyme017@openmailbox.org>\n"
13"Language-Team: French <fr@li.org>\n"
13"Language-Team: French <fr@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr "Se connecter"
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr "Session d'invité"
51msgstr "Session d'invité"
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Épingler le raccourci"
56msgstr "Épingler le raccourci"
57
57
@@ -59,20 +59,20 @@ msgstr "Épingler le raccourci"
59msgid "Quit"
59msgid "Quit"
60msgstr "Quitter"
60msgstr "Quitter"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Détacher le raccourci"
64msgstr "Détacher le raccourci"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Fermer la session"
69msgstr "Fermer la session"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Êtes-vous sûr de vouloir vous déconnecter ?"
73msgstr "Êtes-vous sûr de vouloir vous déconnecter ?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Verrouiller"
78msgstr "Verrouiller"
@@ -199,7 +199,7 @@ msgstr "Bascule les applications via le lanceur."
199
199
200#: qml/Components/KeyboardShortcutsOverlay.qml:164
200#: qml/Components/KeyboardShortcutsOverlay.qml:164
201msgid "Super + 1 to 0"
201msgid "Super + 1 to 0"
202−msgstr ""
202+msgstr "Super + 1 à 0"
203
203
204#: qml/Components/KeyboardShortcutsOverlay.qml:169
204#: qml/Components/KeyboardShortcutsOverlay.qml:169
205msgid "Same as clicking on a launcher icon."
205msgid "Same as clicking on a launcher icon."
@@ -529,11 +529,11 @@ msgstr "Code"
529msgid "Select desktop environment"
529msgid "Select desktop environment"
530msgstr "Sélectionner l'environnement de bureau"
530msgstr "Sélectionner l'environnement de bureau"
531
531
532−#: qml/Launcher/Drawer.qml:92
532+#: qml/Launcher/Drawer.qml:93
533msgid "Search…"
533msgid "Search…"
534msgstr "Rechercher..."
534msgstr "Rechercher..."
535
535
536−#: qml/Launcher/Drawer.qml:127
536+#: qml/Launcher/Drawer.qml:128
537msgctxt "Apps sorted alphabetically"
537msgctxt "Apps sorted alphabetically"
538msgid "A-Z"
538msgid "A-Z"
539msgstr "A-Z"
539msgstr "A-Z"
@@ -631,7 +631,7 @@ msgstr "Rappeler"
631
631
632#: qml/Panel/PanelMenuPage.qml:92
632#: qml/Panel/PanelMenuPage.qml:92
633msgid "Back"
633msgid "Back"
634−msgstr ""
634+msgstr "Retour"
635
635
636#: qml/Stage/SideStage.qml:76
636#: qml/Stage/SideStage.qml:76
637msgid "Drag using 3 fingers any application from one window to the other"
637msgid "Drag using 3 fingers any application from one window to the other"
po/ga.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2016-01-25 11:33+0000\n"
11"PO-Revision-Date: 2016-01-25 11:33+0000\n"
12"Last-Translator: Joshua Kiley <Unknown>\n"
12"Last-Translator: Joshua Kiley <Unknown>\n"
13"Language-Team: Irish <ga@li.org>\n"
13"Language-Team: Irish <ga@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2;\n"
17"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Cruthaigh Aicearra Leis An Bharra"
56msgstr "Cruthaigh Aicearra Leis An Bharra"
57
57
@@ -59,20 +59,20 @@ msgstr "Cruthaigh Aicearra Leis An Bharra"
59msgid "Quit"
59msgid "Quit"
60msgstr "Éirigh as"
60msgstr "Éirigh as"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Bain Aicearra Den Bharra"
64msgstr "Bain Aicearra Den Bharra"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Logáil Amach"
69msgstr "Logáil Amach"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "An bhfuil tú cinnte gur mhaith leat lógáil amach?"
73msgstr "An bhfuil tú cinnte gur mhaith leat lógáil amach?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Cuir Faoi Ghlas"
78msgstr "Cuir Faoi Ghlas"
@@ -518,11 +518,11 @@ msgstr ""
518msgid "Select desktop environment"
518msgid "Select desktop environment"
519msgstr ""
519msgstr ""
520
520
521−#: qml/Launcher/Drawer.qml:92
521+#: qml/Launcher/Drawer.qml:93
522msgid "Search…"
522msgid "Search…"
523msgstr ""
523msgstr ""
524
524
525−#: qml/Launcher/Drawer.qml:127
525+#: qml/Launcher/Drawer.qml:128
526msgctxt "Apps sorted alphabetically"
526msgctxt "Apps sorted alphabetically"
527msgid "A-Z"
527msgid "A-Z"
528msgstr ""
528msgstr ""
po/gd.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2016-04-08 18:34+0000\n"
11"PO-Revision-Date: 2016-04-08 18:34+0000\n"
12"Last-Translator: Akerbeltz <fios@akerbeltz.org>\n"
12"Last-Translator: Akerbeltz <fios@akerbeltz.org>\n"
13"Language-Team: Fòram na Gàidhlig\n"
13"Language-Team: Fòram na Gàidhlig\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : "
17"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : "
18"(n > 2 && n < 20) ? 2 : 3;\n"
18"(n > 2 && n < 20) ? 2 : 3;\n"
19−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
19+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
20−"X-Generator: Launchpad (build 18331)\n"
20+"X-Generator: Launchpad (build 18334)\n"
21"Language: gd\n"
21"Language: gd\n"
22
22
23#: plugins/LightDM/Greeter.cpp:188
23#: plugins/LightDM/Greeter.cpp:188
@@ -52,8 +52,8 @@ msgstr ""
52msgid "Guest Session"
52msgid "Guest Session"
53msgstr ""
53msgstr ""
54
54
55−#: plugins/Unity/Launcher/launcheritem.cpp:50
55+#: plugins/Unity/Launcher/launcheritem.cpp:49
56−#: plugins/Unity/Launcher/launcheritem.cpp:122
56+#: plugins/Unity/Launcher/launcheritem.cpp:123
57msgid "Pin shortcut"
57msgid "Pin shortcut"
58msgstr "Prìnich ath-ghoirid"
58msgstr "Prìnich ath-ghoirid"
59
59
@@ -61,20 +61,20 @@ msgstr "Prìnich ath-ghoirid"
61msgid "Quit"
61msgid "Quit"
62msgstr "Fàg an-seo"
62msgstr "Fàg an-seo"
63
63
64−#: plugins/Unity/Launcher/launcheritem.cpp:122
64+#: plugins/Unity/Launcher/launcheritem.cpp:123
65msgid "Unpin shortcut"
65msgid "Unpin shortcut"
66msgstr "Neo-phrìnich an ath-ghoirid"
66msgstr "Neo-phrìnich an ath-ghoirid"
67
67
68−#: qml/Components/Dialogs.qml:177
68+#: qml/Components/Dialogs.qml:176
69msgctxt "Title: Lock/Log out dialog"
69msgctxt "Title: Lock/Log out dialog"
70msgid "Log out"
70msgid "Log out"
71msgstr "Clàraich a-mach"
71msgstr "Clàraich a-mach"
72
72
73−#: qml/Components/Dialogs.qml:178
73+#: qml/Components/Dialogs.qml:177
74msgid "Are you sure you want to log out?"
74msgid "Are you sure you want to log out?"
75msgstr "A bheil thu cinnteach gu bheil thu airson clàradh a-mach?"
75msgstr "A bheil thu cinnteach gu bheil thu airson clàradh a-mach?"
76
76
77−#: qml/Components/Dialogs.qml:181
77+#: qml/Components/Dialogs.qml:180
78msgctxt "Button: Lock the system"
78msgctxt "Button: Lock the system"
79msgid "Lock"
79msgid "Lock"
80msgstr "Glais"
80msgstr "Glais"
@@ -532,11 +532,11 @@ msgstr "Còd-faire"
532msgid "Select desktop environment"
532msgid "Select desktop environment"
533msgstr "Tagh àrainneachd an deasga"
533msgstr "Tagh àrainneachd an deasga"
534
534
535−#: qml/Launcher/Drawer.qml:92
535+#: qml/Launcher/Drawer.qml:93
536msgid "Search…"
536msgid "Search…"
537msgstr ""
537msgstr ""
538
538
539−#: qml/Launcher/Drawer.qml:127
539+#: qml/Launcher/Drawer.qml:128
540msgctxt "Apps sorted alphabetically"
540msgctxt "Apps sorted alphabetically"
541msgid "A-Z"
541msgid "A-Z"
542msgstr ""
542msgstr ""
po/gl.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2017-02-02 07:25+0000\n"
11"PO-Revision-Date: 2017-02-02 07:25+0000\n"
12"Last-Translator: Marcos Lans <Unknown>\n"
12"Last-Translator: Marcos Lans <Unknown>\n"
13"Language-Team: Galician <gl@li.org>\n"
13"Language-Team: Galician <gl@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr "Iniciar sesión"
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr "Sesión de convidado"
51msgstr "Sesión de convidado"
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Fixar o atallo"
56msgstr "Fixar o atallo"
57
57
@@ -59,20 +59,20 @@ msgstr "Fixar o atallo"
59msgid "Quit"
59msgid "Quit"
60msgstr "Saír"
60msgstr "Saír"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Eliminar o atallo"
64msgstr "Eliminar o atallo"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Saír"
69msgstr "Saír"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Desexa pechar a sesión?"
73msgstr "Desexa pechar a sesión?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Bloquear"
78msgstr "Bloquear"
@@ -521,11 +521,11 @@ msgstr "Clave"
521msgid "Select desktop environment"
521msgid "Select desktop environment"
522msgstr "Seleccione o ambiente de escritorio"
522msgstr "Seleccione o ambiente de escritorio"
523
523
524−#: qml/Launcher/Drawer.qml:92
524+#: qml/Launcher/Drawer.qml:93
525msgid "Search…"
525msgid "Search…"
526msgstr "Buscar..."
526msgstr "Buscar..."
527
527
528−#: qml/Launcher/Drawer.qml:127
528+#: qml/Launcher/Drawer.qml:128
529msgctxt "Apps sorted alphabetically"
529msgctxt "Apps sorted alphabetically"
530msgid "A-Z"
530msgid "A-Z"
531msgstr "A-Z"
531msgstr "A-Z"
po/gv.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2015-04-02 14:24+0000\n"
11"PO-Revision-Date: 2015-04-02 14:24+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Manx <gv@li.org>\n"
13"Language-Team: Manx <gv@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : (n == 2 ? 1 : 2);\n"
17"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : (n == 2 ? 1 : 2);\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Jean freenaghey yn cassan er lheh"
56msgstr "Jean freenaghey yn cassan er lheh"
57
57
@@ -59,20 +59,20 @@ msgstr "Jean freenaghey yn cassan er lheh"
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Jean neu-freenaghey yn cassan er lheh"
64msgstr "Jean neu-freenaghey yn cassan er lheh"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Vel oo shickyr dy vel oo laccal loggal magh?"
73msgstr "Vel oo shickyr dy vel oo laccal loggal magh?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr ""
78msgstr ""
@@ -524,11 +524,11 @@ msgstr ""
524msgid "Select desktop environment"
524msgid "Select desktop environment"
525msgstr ""
525msgstr ""
526
526
527−#: qml/Launcher/Drawer.qml:92
527+#: qml/Launcher/Drawer.qml:93
528msgid "Search…"
528msgid "Search…"
529msgstr ""
529msgstr ""
530
530
531−#: qml/Launcher/Drawer.qml:127
531+#: qml/Launcher/Drawer.qml:128
532msgctxt "Apps sorted alphabetically"
532msgctxt "Apps sorted alphabetically"
533msgid "A-Z"
533msgid "A-Z"
534msgstr ""
534msgstr ""
po/he.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2015-07-12 08:47+0000\n"
11"PO-Revision-Date: 2015-07-12 08:47+0000\n"
12"Last-Translator: Yaron <sh.yaron@gmail.com>\n"
12"Last-Translator: Yaron <sh.yaron@gmail.com>\n"
13"Language-Team: Hebrew <he@li.org>\n"
13"Language-Team: Hebrew <he@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "הצמדת קיצור דרך"
56msgstr "הצמדת קיצור דרך"
57
57
@@ -59,20 +59,20 @@ msgstr "הצמדת קיצור דרך"
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "הפרדת קיצור הדרך"
64msgstr "הפרדת קיצור הדרך"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "יציאה"
69msgstr "יציאה"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "האם אכן לצאת מהמערכת?"
73msgstr "האם אכן לצאת מהמערכת?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "נעילה"
78msgstr "נעילה"
@@ -517,11 +517,11 @@ msgstr ""
517msgid "Select desktop environment"
517msgid "Select desktop environment"
518msgstr ""
518msgstr ""
519
519
520−#: qml/Launcher/Drawer.qml:92
520+#: qml/Launcher/Drawer.qml:93
521msgid "Search…"
521msgid "Search…"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:127
524+#: qml/Launcher/Drawer.qml:128
525msgctxt "Apps sorted alphabetically"
525msgctxt "Apps sorted alphabetically"
526msgid "A-Z"
526msgid "A-Z"
527msgstr ""
527msgstr ""
po/hi.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2014-01-15 01:49+0000\n"
11"PO-Revision-Date: 2014-01-15 01:49+0000\n"
12"Last-Translator: Siddhanathan Shanmugam <Unknown>\n"
12"Last-Translator: Siddhanathan Shanmugam <Unknown>\n"
13"Language-Team: Hindi <hi@li.org>\n"
13"Language-Team: Hindi <hi@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr ""
56msgstr ""
57
57
@@ -59,20 +59,20 @@ msgstr ""
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr ""
73msgstr ""
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr ""
78msgstr ""
@@ -517,11 +517,11 @@ msgstr ""
517msgid "Select desktop environment"
517msgid "Select desktop environment"
518msgstr ""
518msgstr ""
519
519
520−#: qml/Launcher/Drawer.qml:92
520+#: qml/Launcher/Drawer.qml:93
521msgid "Search…"
521msgid "Search…"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:127
524+#: qml/Launcher/Drawer.qml:128
525msgctxt "Apps sorted alphabetically"
525msgctxt "Apps sorted alphabetically"
526msgid "A-Z"
526msgid "A-Z"
527msgstr ""
527msgstr ""
po/hr.po+25−25
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2016-05-04 17:52+0000\n"
11"PO-Revision-Date: 2016-05-04 17:52+0000\n"
12"Last-Translator: gogo <trebelnik2@gmail.com>\n"
12"Last-Translator: gogo <trebelnik2@gmail.com>\n"
13"Language-Team: Croatian <hr@li.org>\n"
13"Language-Team: Croatian <hr@li.org>\n"
@@ -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: 2017-03-14 07:13+0000\n"
19+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
20−"X-Generator: Launchpad (build 18331)\n"
20+"X-Generator: Launchpad (build 18334)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:188
22#: plugins/LightDM/Greeter.cpp:188
23msgid "Password: "
23msgid "Password: "
@@ -51,8 +51,8 @@ msgstr "Prijava"
51msgid "Guest Session"
51msgid "Guest Session"
52msgstr "Prijava gosta"
52msgstr "Prijava gosta"
53
53
54−#: plugins/Unity/Launcher/launcheritem.cpp:50
54+#: plugins/Unity/Launcher/launcheritem.cpp:49
55−#: plugins/Unity/Launcher/launcheritem.cpp:122
55+#: plugins/Unity/Launcher/launcheritem.cpp:123
56msgid "Pin shortcut"
56msgid "Pin shortcut"
57msgstr "Pričvrsti kraticu"
57msgstr "Pričvrsti kraticu"
58
58
@@ -60,20 +60,20 @@ msgstr "Pričvrsti kraticu"
60msgid "Quit"
60msgid "Quit"
61msgstr "Zatvori"
61msgstr "Zatvori"
62
62
63−#: plugins/Unity/Launcher/launcheritem.cpp:122
63+#: plugins/Unity/Launcher/launcheritem.cpp:123
64msgid "Unpin shortcut"
64msgid "Unpin shortcut"
65msgstr "Ukloni kraticu"
65msgstr "Ukloni kraticu"
66
66
67−#: qml/Components/Dialogs.qml:177
67+#: qml/Components/Dialogs.qml:176
68msgctxt "Title: Lock/Log out dialog"
68msgctxt "Title: Lock/Log out dialog"
69msgid "Log out"
69msgid "Log out"
70msgstr "Odjava"
70msgstr "Odjava"
71
71
72−#: qml/Components/Dialogs.qml:178
72+#: qml/Components/Dialogs.qml:177
73msgid "Are you sure you want to log out?"
73msgid "Are you sure you want to log out?"
74msgstr "Sigurno se želite odjaviti?"
74msgstr "Sigurno se želite odjaviti?"
75
75
76−#: qml/Components/Dialogs.qml:181
76+#: qml/Components/Dialogs.qml:180
77msgctxt "Button: Lock the system"
77msgctxt "Button: Lock the system"
78msgid "Lock"
78msgid "Lock"
79msgstr "Zaključaj"
79msgstr "Zaključaj"
@@ -200,7 +200,7 @@ msgstr "Prebacuje aplikacije putem pokretača."
200
200
201#: qml/Components/KeyboardShortcutsOverlay.qml:164
201#: qml/Components/KeyboardShortcutsOverlay.qml:164
202msgid "Super + 1 to 0"
202msgid "Super + 1 to 0"
203−msgstr ""
203+msgstr "Super + 1 do 0"
204
204
205#: qml/Components/KeyboardShortcutsOverlay.qml:169
205#: qml/Components/KeyboardShortcutsOverlay.qml:169
206msgid "Same as clicking on a launcher icon."
206msgid "Same as clicking on a launcher icon."
@@ -208,11 +208,11 @@ msgstr "Isto kao i klikanje na ikonu pokretača."
208
208
209#: qml/Components/KeyboardShortcutsOverlay.qml:177
209#: qml/Components/KeyboardShortcutsOverlay.qml:177
210msgid "Super + A"
210msgid "Super + A"
211−msgstr ""
211+msgstr "Super + A"
212
212
213#: qml/Components/KeyboardShortcutsOverlay.qml:182
213#: qml/Components/KeyboardShortcutsOverlay.qml:182
214msgid "Opens the Application Drawer."
214msgid "Opens the Application Drawer."
215−msgstr ""
215+msgstr "Otvara pretinac aplikacija."
216
216
217#: qml/Components/KeyboardShortcutsOverlay.qml:194
217#: qml/Components/KeyboardShortcutsOverlay.qml:194
218msgid "Scopes"
218msgid "Scopes"
@@ -362,19 +362,19 @@ msgstr ""
362
362
363#: qml/Components/VirtualTouchPad.qml:327
363#: qml/Components/VirtualTouchPad.qml:327
364msgid "Tap left button to click."
364msgid "Tap left button to click."
365−msgstr ""
365+msgstr "Dotaknite lijevu tipku za klik."
366
366
367#: qml/Components/VirtualTouchPad.qml:339
367#: qml/Components/VirtualTouchPad.qml:339
368msgid "Tap right button to right click."
368msgid "Tap right button to right click."
369−msgstr ""
369+msgstr "Dotaknite desnu tipku za klik."
370
370
371#: qml/Components/VirtualTouchPad.qml:351
371#: qml/Components/VirtualTouchPad.qml:351
372msgid "Swipe with two fingers to scroll."
372msgid "Swipe with two fingers to scroll."
373−msgstr ""
373+msgstr "Povucite s dva prsta za pomicanje."
374
374
375#: qml/Components/VirtualTouchPad.qml:396
375#: qml/Components/VirtualTouchPad.qml:396
376msgid "Find more settings in the system settings."
376msgid "Find more settings in the system settings."
377−msgstr ""
377+msgstr "Potražite više postavki u postavkama sustava."
378
378
379#: qml/Dash/DashPageHeader.qml:361
379#: qml/Dash/DashPageHeader.qml:361
380msgctxt "Button: Open the Ubuntu Store"
380msgctxt "Button: Open the Ubuntu Store"
@@ -503,11 +503,11 @@ msgstr "Pokušaj ponovno"
503
503
504#: qml/Greeter/Greeter.qml:562
504#: qml/Greeter/Greeter.qml:562
505msgid "Enter passphrase to unlock"
505msgid "Enter passphrase to unlock"
506−msgstr ""
506+msgstr "Upišite lozinku za otključavanje"
507
507
508#: qml/Greeter/Greeter.qml:563
508#: qml/Greeter/Greeter.qml:563
509msgid "Enter passcode to unlock"
509msgid "Enter passcode to unlock"
510−msgstr ""
510+msgstr "Upišite kôd za otključavanje"
511
511
512#: qml/Greeter/NarrowView.qml:242
512#: qml/Greeter/NarrowView.qml:242
513msgid "Emergency"
513msgid "Emergency"
@@ -525,18 +525,18 @@ msgstr "Kôd"
525msgid "Select desktop environment"
525msgid "Select desktop environment"
526msgstr "Odaberi okruženje radne površine"
526msgstr "Odaberi okruženje radne površine"
527
527
528−#: qml/Launcher/Drawer.qml:92
528+#: qml/Launcher/Drawer.qml:93
529msgid "Search…"
529msgid "Search…"
530−msgstr ""
530+msgstr "Pretraži…"
531
531
532−#: qml/Launcher/Drawer.qml:127
532+#: qml/Launcher/Drawer.qml:128
533msgctxt "Apps sorted alphabetically"
533msgctxt "Apps sorted alphabetically"
534msgid "A-Z"
534msgid "A-Z"
535−msgstr ""
535+msgstr "A-Ž"
536
536
537#: qml/Launcher/MoreAppsHeader.qml:55
537#: qml/Launcher/MoreAppsHeader.qml:55
538msgid "More apps in the store"
538msgid "More apps in the store"
539−msgstr ""
539+msgstr "Više aplikacija u trgovini"
540
540
541#: qml/Notifications/NotificationMenuItemFactory.qml:124
541#: qml/Notifications/NotificationMenuItemFactory.qml:124
542msgid "Show password"
542msgid "Show password"
@@ -630,7 +630,7 @@ msgstr "Uzvrati poziv"
630
630
631#: qml/Panel/PanelMenuPage.qml:92
631#: qml/Panel/PanelMenuPage.qml:92
632msgid "Back"
632msgid "Back"
633−msgstr ""
633+msgstr "Natrag"
634
634
635#: qml/Stage/SideStage.qml:76
635#: qml/Stage/SideStage.qml:76
636msgid "Drag using 3 fingers any application from one window to the other"
636msgid "Drag using 3 fingers any application from one window to the other"
@@ -639,7 +639,7 @@ msgstr ""
639
639
640#: qml/Tutorial/TutorialLeftLong.qml:49
640#: qml/Tutorial/TutorialLeftLong.qml:49
641msgid "Long swipe from the left edge to open the Application Drawer"
641msgid "Long swipe from the left edge to open the Application Drawer"
642−msgstr ""
642+msgstr "Duže povucite s lijevog ruba za otvaranje pretinca aplikacija"
643
643
644#: qml/Tutorial/TutorialLeft.qml:47
644#: qml/Tutorial/TutorialLeft.qml:47
645msgid "Short swipe from the left edge to open the launcher"
645msgid "Short swipe from the left edge to open the launcher"
po/hu.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2016-08-17 10:53+0000\n"
11"PO-Revision-Date: 2016-08-17 10:53+0000\n"
12"Last-Translator: Richard Somlói <ricsipontaz@gmail.com>\n"
12"Last-Translator: Richard Somlói <ricsipontaz@gmail.com>\n"
13"Language-Team: Hungarian <hu@li.org>\n"
13"Language-Team: Hungarian <hu@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Indító rögzítése"
56msgstr "Indító rögzítése"
57
57
@@ -59,20 +59,20 @@ msgstr "Indító rögzítése"
59msgid "Quit"
59msgid "Quit"
60msgstr "Kilépés"
60msgstr "Kilépés"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Indító feloldása"
64msgstr "Indító feloldása"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Kijelentkezés"
69msgstr "Kijelentkezés"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Biztos benne, hogy kijelentkezik?"
73msgstr "Biztos benne, hogy kijelentkezik?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Zárolás"
78msgstr "Zárolás"
@@ -523,11 +523,11 @@ msgstr "Jelkód"
523msgid "Select desktop environment"
523msgid "Select desktop environment"
524msgstr "Asztali-környezet kiválasztása"
524msgstr "Asztali-környezet kiválasztása"
525
525
526−#: qml/Launcher/Drawer.qml:92
526+#: qml/Launcher/Drawer.qml:93
527msgid "Search…"
527msgid "Search…"
528msgstr ""
528msgstr ""
529
529
530−#: qml/Launcher/Drawer.qml:127
530+#: qml/Launcher/Drawer.qml:128
531msgctxt "Apps sorted alphabetically"
531msgctxt "Apps sorted alphabetically"
532msgid "A-Z"
532msgid "A-Z"
533msgstr ""
533msgstr ""
po/hy.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2014-10-28 06:34+0000\n"
11"PO-Revision-Date: 2014-10-28 06:34+0000\n"
12"Last-Translator: Vahan Harutyunyan <Unknown>\n"
12"Last-Translator: Vahan Harutyunyan <Unknown>\n"
13"Language-Team: Armenian <hy@li.org>\n"
13"Language-Team: Armenian <hy@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:12+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:12+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Փակցնել պիտակը"
56msgstr "Փակցնել պիտակը"
57
57
@@ -59,20 +59,20 @@ msgstr "Փակցնել պիտակը"
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Հեռացնել պիտակը"
64msgstr "Հեռացնել պիտակը"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Դուք համոզվա՞ծ եք, որ ցանկանում եք դուրս գալ համակարգից"
73msgstr "Դուք համոզվա՞ծ եք, որ ցանկանում եք դուրս գալ համակարգից"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr ""
78msgstr ""
@@ -521,11 +521,11 @@ msgstr ""
521msgid "Select desktop environment"
521msgid "Select desktop environment"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:92
524+#: qml/Launcher/Drawer.qml:93
525msgid "Search…"
525msgid "Search…"
526msgstr ""
526msgstr ""
527
527
528−#: qml/Launcher/Drawer.qml:127
528+#: qml/Launcher/Drawer.qml:128
529msgctxt "Apps sorted alphabetically"
529msgctxt "Apps sorted alphabetically"
530msgid "A-Z"
530msgid "A-Z"
531msgstr ""
531msgstr ""
po/ia.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2015-08-25 19:31+0000\n"
11"PO-Revision-Date: 2015-08-25 19:31+0000\n"
12"Last-Translator: karm <melo@carmu.com>\n"
12"Last-Translator: karm <melo@carmu.com>\n"
13"Language-Team: Interlingua <ia@li.org>\n"
13"Language-Team: Interlingua <ia@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Via-breve a pin"
56msgstr "Via-breve a pin"
57
57
@@ -59,20 +59,20 @@ msgstr "Via-breve a pin"
59msgid "Quit"
59msgid "Quit"
60msgstr "Quitar"
60msgstr "Quitar"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Via-breve a levar pin"
64msgstr "Via-breve a levar pin"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Clauder de session"
69msgstr "Clauder de session"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Desira tu vermente Clauder le Session"
73msgstr "Desira tu vermente Clauder le Session"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Blocar"
78msgstr "Blocar"
@@ -523,11 +523,11 @@ msgstr "Codice-contrasigno"
523msgid "Select desktop environment"
523msgid "Select desktop environment"
524msgstr "Seliger le ambiente del scriptorio"
524msgstr "Seliger le ambiente del scriptorio"
525
525
526−#: qml/Launcher/Drawer.qml:92
526+#: qml/Launcher/Drawer.qml:93
527msgid "Search…"
527msgid "Search…"
528msgstr ""
528msgstr ""
529
529
530−#: qml/Launcher/Drawer.qml:127
530+#: qml/Launcher/Drawer.qml:128
531msgctxt "Apps sorted alphabetically"
531msgctxt "Apps sorted alphabetically"
532msgid "A-Z"
532msgid "A-Z"
533msgstr ""
533msgstr ""
po/id.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2013-06-26 22:35+0000\n"
11"PO-Revision-Date: 2013-06-26 22:35+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Indonesian <id@li.org>\n"
13"Language-Team: Indonesian <id@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Paku pintasan"
56msgstr "Paku pintasan"
57
57
@@ -59,20 +59,20 @@ msgstr "Paku pintasan"
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Lepas pintasan"
64msgstr "Lepas pintasan"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Anda yakin ingin log keluar?"
73msgstr "Anda yakin ingin log keluar?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr ""
78msgstr ""
@@ -520,11 +520,11 @@ msgstr ""
520msgid "Select desktop environment"
520msgid "Select desktop environment"
521msgstr ""
521msgstr ""
522
522
523−#: qml/Launcher/Drawer.qml:92
523+#: qml/Launcher/Drawer.qml:93
524msgid "Search…"
524msgid "Search…"
525msgstr ""
525msgstr ""
526
526
527−#: qml/Launcher/Drawer.qml:127
527+#: qml/Launcher/Drawer.qml:128
528msgctxt "Apps sorted alphabetically"
528msgctxt "Apps sorted alphabetically"
529msgid "A-Z"
529msgid "A-Z"
530msgstr ""
530msgstr ""
po/is.po+11−11
@@ -9,7 +9,7 @@ msgid ""
9msgstr ""
9msgstr ""
10"Project-Id-Version: po_unity8-is\n"
10"Project-Id-Version: po_unity8-is\n"
11"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
11"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
12−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
12+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
13"PO-Revision-Date: 2014-11-13 09:32+0000\n"
13"PO-Revision-Date: 2014-11-13 09:32+0000\n"
14"Last-Translator: Sveinn í Felli <sv1@fellsnet.is>\n"
14"Last-Translator: Sveinn í Felli <sv1@fellsnet.is>\n"
15"Language-Team: Icelandic <translation-team-is@lists.sourceforge.net>\n"
15"Language-Team: Icelandic <translation-team-is@lists.sourceforge.net>\n"
@@ -17,8 +17,8 @@ msgstr ""
17"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Type: text/plain; charset=UTF-8\n"
18"Content-Transfer-Encoding: 8bit\n"
18"Content-Transfer-Encoding: 8bit\n"
19"Plural-Forms: nplurals=2; plural=n != 1;\n"
19"Plural-Forms: nplurals=2; plural=n != 1;\n"
20−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
20+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
21−"X-Generator: Launchpad (build 18331)\n"
21+"X-Generator: Launchpad (build 18334)\n"
22"Language: is\n"
22"Language: is\n"
23
23
24#: plugins/LightDM/Greeter.cpp:188
24#: plugins/LightDM/Greeter.cpp:188
@@ -53,8 +53,8 @@ msgstr ""
53msgid "Guest Session"
53msgid "Guest Session"
54msgstr ""
54msgstr ""
55
55
56−#: plugins/Unity/Launcher/launcheritem.cpp:50
56+#: plugins/Unity/Launcher/launcheritem.cpp:49
57−#: plugins/Unity/Launcher/launcheritem.cpp:122
57+#: plugins/Unity/Launcher/launcheritem.cpp:123
58msgid "Pin shortcut"
58msgid "Pin shortcut"
59msgstr "Pinna flýtilykil"
59msgstr "Pinna flýtilykil"
60
60
@@ -62,20 +62,20 @@ msgstr "Pinna flýtilykil"
62msgid "Quit"
62msgid "Quit"
63msgstr ""
63msgstr ""
64
64
65−#: plugins/Unity/Launcher/launcheritem.cpp:122
65+#: plugins/Unity/Launcher/launcheritem.cpp:123
66msgid "Unpin shortcut"
66msgid "Unpin shortcut"
67msgstr "Losa flýtilykil"
67msgstr "Losa flýtilykil"
68
68
69−#: qml/Components/Dialogs.qml:177
69+#: qml/Components/Dialogs.qml:176
70msgctxt "Title: Lock/Log out dialog"
70msgctxt "Title: Lock/Log out dialog"
71msgid "Log out"
71msgid "Log out"
72msgstr ""
72msgstr ""
73
73
74−#: qml/Components/Dialogs.qml:178
74+#: qml/Components/Dialogs.qml:177
75msgid "Are you sure you want to log out?"
75msgid "Are you sure you want to log out?"
76msgstr "Ertu viss um að þú viljir skrá þig út?"
76msgstr "Ertu viss um að þú viljir skrá þig út?"
77
77
78−#: qml/Components/Dialogs.qml:181
78+#: qml/Components/Dialogs.qml:180
79msgctxt "Button: Lock the system"
79msgctxt "Button: Lock the system"
80msgid "Lock"
80msgid "Lock"
81msgstr ""
81msgstr ""
@@ -526,11 +526,11 @@ msgstr ""
526msgid "Select desktop environment"
526msgid "Select desktop environment"
527msgstr ""
527msgstr ""
528
528
529−#: qml/Launcher/Drawer.qml:92
529+#: qml/Launcher/Drawer.qml:93
530msgid "Search…"
530msgid "Search…"
531msgstr ""
531msgstr ""
532
532
533−#: qml/Launcher/Drawer.qml:127
533+#: qml/Launcher/Drawer.qml:128
534msgctxt "Apps sorted alphabetically"
534msgctxt "Apps sorted alphabetically"
535msgid "A-Z"
535msgid "A-Z"
536msgstr ""
536msgstr ""
po/it.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2017-02-14 10:03+0000\n"
11"PO-Revision-Date: 2017-02-14 10:03+0000\n"
12"Last-Translator: Milo Casagrande <milo.casagrande@gmail.com>\n"
12"Last-Translator: Milo Casagrande <milo.casagrande@gmail.com>\n"
13"Language-Team: Italian <it@li.org>\n"
13"Language-Team: Italian <it@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr "Accesso"
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr "Sessione ospite"
51msgstr "Sessione ospite"
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Blocca scorciatoia"
56msgstr "Blocca scorciatoia"
57
57
@@ -59,20 +59,20 @@ msgstr "Blocca scorciatoia"
59msgid "Quit"
59msgid "Quit"
60msgstr "Esci"
60msgstr "Esci"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Sblocca scorciatoia"
64msgstr "Sblocca scorciatoia"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Termina sessione"
69msgstr "Termina sessione"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Terminare veramente la sessione?"
73msgstr "Terminare veramente la sessione?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Blocca"
78msgstr "Blocca"
@@ -527,11 +527,11 @@ msgstr "Codice"
527msgid "Select desktop environment"
527msgid "Select desktop environment"
528msgstr "Seleziona l'ambiente grafico"
528msgstr "Seleziona l'ambiente grafico"
529
529
530−#: qml/Launcher/Drawer.qml:92
530+#: qml/Launcher/Drawer.qml:93
531msgid "Search…"
531msgid "Search…"
532msgstr "Cerca…"
532msgstr "Cerca…"
533
533
534−#: qml/Launcher/Drawer.qml:127
534+#: qml/Launcher/Drawer.qml:128
535msgctxt "Apps sorted alphabetically"
535msgctxt "Apps sorted alphabetically"
536msgid "A-Z"
536msgid "A-Z"
537msgstr "A-Z"
537msgstr "A-Z"
po/ja.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2015-10-05 10:05+0000\n"
11"PO-Revision-Date: 2015-10-05 10:05+0000\n"
12"Last-Translator: Kentaro Kazuhama <Unknown>\n"
12"Last-Translator: Kentaro Kazuhama <Unknown>\n"
13"Language-Team: Japanese <ja@li.org>\n"
13"Language-Team: Japanese <ja@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "ショートカットを追加する"
56msgstr "ショートカットを追加する"
57
57
@@ -59,20 +59,20 @@ msgstr "ショートカットを追加する"
59msgid "Quit"
59msgid "Quit"
60msgstr "終了"
60msgstr "終了"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "ショートカットを削除する"
64msgstr "ショートカットを削除する"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "ログアウト"
69msgstr "ログアウト"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "本当にログアウトしますか?"
73msgstr "本当にログアウトしますか?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "ロック"
78msgstr "ロック"
@@ -516,11 +516,11 @@ msgstr ""
516msgid "Select desktop environment"
516msgid "Select desktop environment"
517msgstr ""
517msgstr ""
518
518
519−#: qml/Launcher/Drawer.qml:92
519+#: qml/Launcher/Drawer.qml:93
520msgid "Search…"
520msgid "Search…"
521msgstr ""
521msgstr ""
522
522
523−#: qml/Launcher/Drawer.qml:127
523+#: qml/Launcher/Drawer.qml:128
524msgctxt "Apps sorted alphabetically"
524msgctxt "Apps sorted alphabetically"
525msgid "A-Z"
525msgid "A-Z"
526msgstr ""
526msgstr ""
po/km.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2014-08-20 02:48+0000\n"
11"PO-Revision-Date: 2014-08-20 02:48+0000\n"
12"Last-Translator: Sophea Sok <sksophea@gmail.com>\n"
12"Last-Translator: Sophea Sok <sksophea@gmail.com>\n"
13"Language-Team: Khmer <km@li.org>\n"
13"Language-Team: Khmer <km@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "ភ្ជាប់​ផ្លូវកាត់"
56msgstr "ភ្ជាប់​ផ្លូវកាត់"
57
57
@@ -59,20 +59,20 @@ msgstr "ភ្ជាប់​ផ្លូវកាត់"
59msgid "Quit"
59msgid "Quit"
60msgstr "ចាកចេញ"
60msgstr "ចាកចេញ"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "មិន​ភ្ជាប់ផ្លូវកាត់"
64msgstr "មិន​ភ្ជាប់ផ្លូវកាត់"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "ចេញ"
69msgstr "ចេញ"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "តើ​អ្នក​ពិតជា​ចង់​ចេញ​មែន​ឬ?"
73msgstr "តើ​អ្នក​ពិតជា​ចង់​ចេញ​មែន​ឬ?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "ចាក់សោ"
78msgstr "ចាក់សោ"
@@ -519,11 +519,11 @@ msgstr ""
519msgid "Select desktop environment"
519msgid "Select desktop environment"
520msgstr ""
520msgstr ""
521
521
522−#: qml/Launcher/Drawer.qml:92
522+#: qml/Launcher/Drawer.qml:93
523msgid "Search…"
523msgid "Search…"
524msgstr ""
524msgstr ""
525
525
526−#: qml/Launcher/Drawer.qml:127
526+#: qml/Launcher/Drawer.qml:128
527msgctxt "Apps sorted alphabetically"
527msgctxt "Apps sorted alphabetically"
528msgid "A-Z"
528msgid "A-Z"
529msgstr ""
529msgstr ""
po/kn.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2013-06-27 05:43+0000\n"
11"PO-Revision-Date: 2013-06-27 05:43+0000\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
13"Language-Team: Kannada <kn@li.org>\n"
13"Language-Team: Kannada <kn@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr ""
56msgstr ""
57
57
@@ -59,20 +59,20 @@ msgstr ""
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr ""
73msgstr ""
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr ""
78msgstr ""
@@ -517,11 +517,11 @@ msgstr ""
517msgid "Select desktop environment"
517msgid "Select desktop environment"
518msgstr ""
518msgstr ""
519
519
520−#: qml/Launcher/Drawer.qml:92
520+#: qml/Launcher/Drawer.qml:93
521msgid "Search…"
521msgid "Search…"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:127
524+#: qml/Launcher/Drawer.qml:128
525msgctxt "Apps sorted alphabetically"
525msgctxt "Apps sorted alphabetically"
526msgid "A-Z"
526msgid "A-Z"
527msgstr ""
527msgstr ""
po/ko.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2014-08-19 13:02+0000\n"
11"PO-Revision-Date: 2014-08-19 13:02+0000\n"
12"Last-Translator: MinSik CHO <Unknown>\n"
12"Last-Translator: MinSik CHO <Unknown>\n"
13"Language-Team: Korean <ko@li.org>\n"
13"Language-Team: Korean <ko@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "바로 가기를 고정"
56msgstr "바로 가기를 고정"
57
57
@@ -59,20 +59,20 @@ msgstr "바로 가기를 고정"
59msgid "Quit"
59msgid "Quit"
60msgstr "끝내기"
60msgstr "끝내기"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "바로 가기를 고정 해제"
64msgstr "바로 가기를 고정 해제"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "로그아웃"
69msgstr "로그아웃"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "정말 로그아웃하시겠습니까?"
73msgstr "정말 로그아웃하시겠습니까?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "잠그기"
78msgstr "잠그기"
@@ -516,11 +516,11 @@ msgstr ""
516msgid "Select desktop environment"
516msgid "Select desktop environment"
517msgstr ""
517msgstr ""
518
518
519−#: qml/Launcher/Drawer.qml:92
519+#: qml/Launcher/Drawer.qml:93
520msgid "Search…"
520msgid "Search…"
521msgstr ""
521msgstr ""
522
522
523−#: qml/Launcher/Drawer.qml:127
523+#: qml/Launcher/Drawer.qml:128
524msgctxt "Apps sorted alphabetically"
524msgctxt "Apps sorted alphabetically"
525msgid "A-Z"
525msgid "A-Z"
526msgstr ""
526msgstr ""
po/ku.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2014-09-10 13:14+0000\n"
11"PO-Revision-Date: 2014-09-10 13:14+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Kurdish <ku@li.org>\n"
13"Language-Team: Kurdish <ku@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr "Têkevê"
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr "Danişîna Mêvanî"
51msgstr "Danişîna Mêvanî"
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Kurteriyê pêveke"
56msgstr "Kurteriyê pêveke"
57
57
@@ -59,20 +59,20 @@ msgstr "Kurteriyê pêveke"
59msgid "Quit"
59msgid "Quit"
60msgstr "Derkeve"
60msgstr "Derkeve"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Derzîdanka kurteriyê rake"
64msgstr "Derzîdanka kurteriyê rake"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Derkeve"
69msgstr "Derkeve"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Ji dil dixwazî derkevî?"
73msgstr "Ji dil dixwazî derkevî?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Qufl Bike"
78msgstr "Qufl Bike"
@@ -519,11 +519,11 @@ msgstr ""
519msgid "Select desktop environment"
519msgid "Select desktop environment"
520msgstr "Derdora sermaseyê hilbijêre"
520msgstr "Derdora sermaseyê hilbijêre"
521
521
522−#: qml/Launcher/Drawer.qml:92
522+#: qml/Launcher/Drawer.qml:93
523msgid "Search…"
523msgid "Search…"
524msgstr ""
524msgstr ""
525
525
526−#: qml/Launcher/Drawer.qml:127
526+#: qml/Launcher/Drawer.qml:128
527msgctxt "Apps sorted alphabetically"
527msgctxt "Apps sorted alphabetically"
528msgid "A-Z"
528msgid "A-Z"
529msgstr ""
529msgstr ""
po/ky.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2013-06-27 06:17+0000\n"
11"PO-Revision-Date: 2013-06-27 06:17+0000\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
13"Language-Team: Kirghiz <ky@li.org>\n"
13"Language-Team: Kirghiz <ky@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr ""
56msgstr ""
57
57
@@ -59,20 +59,20 @@ msgstr ""
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr ""
73msgstr ""
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr ""
78msgstr ""
@@ -517,11 +517,11 @@ msgstr ""
517msgid "Select desktop environment"
517msgid "Select desktop environment"
518msgstr ""
518msgstr ""
519
519
520−#: qml/Launcher/Drawer.qml:92
520+#: qml/Launcher/Drawer.qml:93
521msgid "Search…"
521msgid "Search…"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:127
524+#: qml/Launcher/Drawer.qml:128
525msgctxt "Apps sorted alphabetically"
525msgctxt "Apps sorted alphabetically"
526msgid "A-Z"
526msgid "A-Z"
527msgstr ""
527msgstr ""
po/lo.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2013-10-02 10:00+0000\n"
11"PO-Revision-Date: 2013-10-02 10:00+0000\n"
12"Last-Translator: Anousak <anousak@gmail.com>\n"
12"Last-Translator: Anousak <anousak@gmail.com>\n"
13"Language-Team: Lao <lo@li.org>\n"
13"Language-Team: Lao <lo@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr ""
56msgstr ""
57
57
@@ -59,20 +59,20 @@ msgstr ""
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr ""
73msgstr ""
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr ""
78msgstr ""
@@ -517,11 +517,11 @@ msgstr ""
517msgid "Select desktop environment"
517msgid "Select desktop environment"
518msgstr ""
518msgstr ""
519
519
520−#: qml/Launcher/Drawer.qml:92
520+#: qml/Launcher/Drawer.qml:93
521msgid "Search…"
521msgid "Search…"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:127
524+#: qml/Launcher/Drawer.qml:128
525msgctxt "Apps sorted alphabetically"
525msgctxt "Apps sorted alphabetically"
526msgid "A-Z"
526msgid "A-Z"
527msgstr ""
527msgstr ""
po/lt.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2014-05-19 17:15+0000\n"
11"PO-Revision-Date: 2014-05-19 17:15+0000\n"
12"Last-Translator: Mantas Kriaučiūnas <mantas@akl.lt>\n"
12"Last-Translator: Mantas Kriaučiūnas <mantas@akl.lt>\n"
13"Language-Team: Lithuanian <lt@li.org>\n"
13"Language-Team: Lithuanian <lt@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"(n%100<10 || n%100>=20) ? 1 : 2;\n"
18"(n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
19+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
20−"X-Generator: Launchpad (build 18331)\n"
20+"X-Generator: Launchpad (build 18334)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:188
22#: plugins/LightDM/Greeter.cpp:188
23msgid "Password: "
23msgid "Password: "
@@ -51,8 +51,8 @@ msgstr ""
51msgid "Guest Session"
51msgid "Guest Session"
52msgstr ""
52msgstr ""
53
53
54−#: plugins/Unity/Launcher/launcheritem.cpp:50
54+#: plugins/Unity/Launcher/launcheritem.cpp:49
55−#: plugins/Unity/Launcher/launcheritem.cpp:122
55+#: plugins/Unity/Launcher/launcheritem.cpp:123
56msgid "Pin shortcut"
56msgid "Pin shortcut"
57msgstr ""
57msgstr ""
58
58
@@ -60,20 +60,20 @@ msgstr ""
60msgid "Quit"
60msgid "Quit"
61msgstr ""
61msgstr ""
62
62
63−#: plugins/Unity/Launcher/launcheritem.cpp:122
63+#: plugins/Unity/Launcher/launcheritem.cpp:123
64msgid "Unpin shortcut"
64msgid "Unpin shortcut"
65msgstr ""
65msgstr ""
66
66
67−#: qml/Components/Dialogs.qml:177
67+#: qml/Components/Dialogs.qml:176
68msgctxt "Title: Lock/Log out dialog"
68msgctxt "Title: Lock/Log out dialog"
69msgid "Log out"
69msgid "Log out"
70msgstr ""
70msgstr ""
71
71
72−#: qml/Components/Dialogs.qml:178
72+#: qml/Components/Dialogs.qml:177
73msgid "Are you sure you want to log out?"
73msgid "Are you sure you want to log out?"
74msgstr ""
74msgstr ""
75
75
76−#: qml/Components/Dialogs.qml:181
76+#: qml/Components/Dialogs.qml:180
77msgctxt "Button: Lock the system"
77msgctxt "Button: Lock the system"
78msgid "Lock"
78msgid "Lock"
79msgstr ""
79msgstr ""
@@ -518,11 +518,11 @@ msgstr ""
518msgid "Select desktop environment"
518msgid "Select desktop environment"
519msgstr ""
519msgstr ""
520
520
521−#: qml/Launcher/Drawer.qml:92
521+#: qml/Launcher/Drawer.qml:93
522msgid "Search…"
522msgid "Search…"
523msgstr ""
523msgstr ""
524
524
525−#: qml/Launcher/Drawer.qml:127
525+#: qml/Launcher/Drawer.qml:128
526msgctxt "Apps sorted alphabetically"
526msgctxt "Apps sorted alphabetically"
527msgid "A-Z"
527msgid "A-Z"
528msgstr ""
528msgstr ""
po/lv.po+11−11
@@ -8,7 +8,7 @@ msgid ""
8msgstr ""
8msgstr ""
9"Project-Id-Version: unity\n"
9"Project-Id-Version: unity\n"
10"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
11−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
11+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
12"PO-Revision-Date: 2015-11-22 19:13+0000\n"
12"PO-Revision-Date: 2015-11-22 19:13+0000\n"
13"Last-Translator: Klavs Anson <anson.klavs@gmail.com>\n"
13"Last-Translator: Klavs Anson <anson.klavs@gmail.com>\n"
14"Language-Team: Latvian <lata-l10n@googlegroups.com>\n"
14"Language-Team: Latvian <lata-l10n@googlegroups.com>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
18"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n"
18"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
19+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
20−"X-Generator: Launchpad (build 18331)\n"
20+"X-Generator: Launchpad (build 18334)\n"
21"Language: lv\n"
21"Language: lv\n"
22
22
23#: plugins/LightDM/Greeter.cpp:188
23#: plugins/LightDM/Greeter.cpp:188
@@ -52,8 +52,8 @@ msgstr ""
52msgid "Guest Session"
52msgid "Guest Session"
53msgstr ""
53msgstr ""
54
54
55−#: plugins/Unity/Launcher/launcheritem.cpp:50
55+#: plugins/Unity/Launcher/launcheritem.cpp:49
56−#: plugins/Unity/Launcher/launcheritem.cpp:122
56+#: plugins/Unity/Launcher/launcheritem.cpp:123
57msgid "Pin shortcut"
57msgid "Pin shortcut"
58msgstr "Piespraust īsceļu"
58msgstr "Piespraust īsceļu"
59
59
@@ -61,20 +61,20 @@ msgstr "Piespraust īsceļu"
61msgid "Quit"
61msgid "Quit"
62msgstr "Iziet"
62msgstr "Iziet"
63
63
64−#: plugins/Unity/Launcher/launcheritem.cpp:122
64+#: plugins/Unity/Launcher/launcheritem.cpp:123
65msgid "Unpin shortcut"
65msgid "Unpin shortcut"
66msgstr "Noņemt īsceļu"
66msgstr "Noņemt īsceļu"
67
67
68−#: qml/Components/Dialogs.qml:177
68+#: qml/Components/Dialogs.qml:176
69msgctxt "Title: Lock/Log out dialog"
69msgctxt "Title: Lock/Log out dialog"
70msgid "Log out"
70msgid "Log out"
71msgstr "Izrakstīties"
71msgstr "Izrakstīties"
72
72
73−#: qml/Components/Dialogs.qml:178
73+#: qml/Components/Dialogs.qml:177
74msgid "Are you sure you want to log out?"
74msgid "Are you sure you want to log out?"
75msgstr "Vai tiešām vēlaties izrakstīties?"
75msgstr "Vai tiešām vēlaties izrakstīties?"
76
76
77−#: qml/Components/Dialogs.qml:181
77+#: qml/Components/Dialogs.qml:180
78msgctxt "Button: Lock the system"
78msgctxt "Button: Lock the system"
79msgid "Lock"
79msgid "Lock"
80msgstr "Bloķēt"
80msgstr "Bloķēt"
@@ -522,11 +522,11 @@ msgstr ""
522msgid "Select desktop environment"
522msgid "Select desktop environment"
523msgstr ""
523msgstr ""
524
524
525−#: qml/Launcher/Drawer.qml:92
525+#: qml/Launcher/Drawer.qml:93
526msgid "Search…"
526msgid "Search…"
527msgstr ""
527msgstr ""
528
528
529−#: qml/Launcher/Drawer.qml:127
529+#: qml/Launcher/Drawer.qml:128
530msgctxt "Apps sorted alphabetically"
530msgctxt "Apps sorted alphabetically"
531msgid "A-Z"
531msgid "A-Z"
532msgstr ""
532msgstr ""
po/ml.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2013-11-23 11:44+0000\n"
11"PO-Revision-Date: 2013-11-23 11:44+0000\n"
12"Last-Translator: ST Alfas <Unknown>\n"
12"Last-Translator: ST Alfas <Unknown>\n"
13"Language-Team: Malayalam <ml@li.org>\n"
13"Language-Team: Malayalam <ml@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr ""
56msgstr ""
57
57
@@ -59,20 +59,20 @@ msgstr ""
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr ""
73msgstr ""
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr ""
78msgstr ""
@@ -517,11 +517,11 @@ msgstr ""
517msgid "Select desktop environment"
517msgid "Select desktop environment"
518msgstr ""
518msgstr ""
519
519
520−#: qml/Launcher/Drawer.qml:92
520+#: qml/Launcher/Drawer.qml:93
521msgid "Search…"
521msgid "Search…"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:127
524+#: qml/Launcher/Drawer.qml:128
525msgctxt "Apps sorted alphabetically"
525msgctxt "Apps sorted alphabetically"
526msgid "A-Z"
526msgid "A-Z"
527msgstr ""
527msgstr ""
po/mr.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2014-01-14 19:54+0000\n"
11"PO-Revision-Date: 2014-01-14 19:54+0000\n"
12"Last-Translator: Rohan Deshmukh <Unknown>\n"
12"Last-Translator: Rohan Deshmukh <Unknown>\n"
13"Language-Team: Marathi <mr@li.org>\n"
13"Language-Team: Marathi <mr@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr ""
56msgstr ""
57
57
@@ -59,20 +59,20 @@ msgstr ""
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr ""
73msgstr ""
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "लॉक करा"
78msgstr "लॉक करा"
@@ -517,11 +517,11 @@ msgstr ""
517msgid "Select desktop environment"
517msgid "Select desktop environment"
518msgstr ""
518msgstr ""
519
519
520−#: qml/Launcher/Drawer.qml:92
520+#: qml/Launcher/Drawer.qml:93
521msgid "Search…"
521msgid "Search…"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:127
524+#: qml/Launcher/Drawer.qml:128
525msgctxt "Apps sorted alphabetically"
525msgctxt "Apps sorted alphabetically"
526msgid "A-Z"
526msgid "A-Z"
527msgstr ""
527msgstr ""
po/ms.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2016-12-20 14:02+0000\n"
11"PO-Revision-Date: 2016-12-20 14:02+0000\n"
12"Last-Translator: abuyop <Unknown>\n"
12"Last-Translator: abuyop <Unknown>\n"
13"Language-Team: Malay <ms@li.org>\n"
13"Language-Team: Malay <ms@li.org>\n"
@@ -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: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Cemat pintasan"
56msgstr "Cemat pintasan"
57
57
@@ -59,20 +59,20 @@ msgstr "Cemat pintasan"
59msgid "Quit"
59msgid "Quit"
60msgstr "Keluar"
60msgstr "Keluar"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Nyahcemat pintasan"
64msgstr "Nyahcemat pintasan"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Daftar keluar"
69msgstr "Daftar keluar"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Anda pasti mahu mendaftar keluar?"
73msgstr "Anda pasti mahu mendaftar keluar?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Kunci"
78msgstr "Kunci"
@@ -521,11 +521,11 @@ msgstr "Kod laluan"
521msgid "Select desktop environment"
521msgid "Select desktop environment"
522msgstr "Pilih persekitaran desktop"
522msgstr "Pilih persekitaran desktop"
523
523
524−#: qml/Launcher/Drawer.qml:92
524+#: qml/Launcher/Drawer.qml:93
525msgid "Search…"
525msgid "Search…"
526msgstr "Gelintar..."
526msgstr "Gelintar..."
527
527
528−#: qml/Launcher/Drawer.qml:127
528+#: qml/Launcher/Drawer.qml:128
529msgctxt "Apps sorted alphabetically"
529msgctxt "Apps sorted alphabetically"
530msgid "A-Z"
530msgid "A-Z"
531msgstr "A-Z"
531msgstr "A-Z"
po/my.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2013-12-12 11:12+0000\n"
11"PO-Revision-Date: 2013-12-12 11:12+0000\n"
12"Last-Translator: Pyae Sone <Unknown>\n"
12"Last-Translator: Pyae Sone <Unknown>\n"
13"Language-Team: Burmese <my@li.org>\n"
13"Language-Team: Burmese <my@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:12+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr ""
56msgstr ""
57
57
@@ -59,20 +59,20 @@ msgstr ""
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "ထွက်"
69msgstr "ထွက်"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr ""
73msgstr ""
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "သော့ခတ်"
78msgstr "သော့ခတ်"
@@ -517,11 +517,11 @@ msgstr ""
517msgid "Select desktop environment"
517msgid "Select desktop environment"
518msgstr ""
518msgstr ""
519
519
520−#: qml/Launcher/Drawer.qml:92
520+#: qml/Launcher/Drawer.qml:93
521msgid "Search…"
521msgid "Search…"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:127
524+#: qml/Launcher/Drawer.qml:128
525msgctxt "Apps sorted alphabetically"
525msgctxt "Apps sorted alphabetically"
526msgid "A-Z"
526msgid "A-Z"
527msgstr ""
527msgstr ""
po/nb.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2017-01-27 07:01+0000\n"
11"PO-Revision-Date: 2017-01-27 07:01+0000\n"
12"Last-Translator: Åka Sikrom <Unknown>\n"
12"Last-Translator: Åka Sikrom <Unknown>\n"
13"Language-Team: Norwegian Bokmal <nb@li.org>\n"
13"Language-Team: Norwegian Bokmal <nb@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Fest snarvei"
56msgstr "Fest snarvei"
57
57
@@ -59,20 +59,20 @@ msgstr "Fest snarvei"
59msgid "Quit"
59msgid "Quit"
60msgstr "Avslutt"
60msgstr "Avslutt"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Fjern snarvei"
64msgstr "Fjern snarvei"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Logg ut"
69msgstr "Logg ut"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Er du sikker på at du vil logge ut?"
73msgstr "Er du sikker på at du vil logge ut?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Lås"
78msgstr "Lås"
@@ -525,11 +525,11 @@ msgstr "Kode"
525msgid "Select desktop environment"
525msgid "Select desktop environment"
526msgstr "Velg skrivebordsmiljø"
526msgstr "Velg skrivebordsmiljø"
527
527
528−#: qml/Launcher/Drawer.qml:92
528+#: qml/Launcher/Drawer.qml:93
529msgid "Search…"
529msgid "Search…"
530msgstr "Søk …"
530msgstr "Søk …"
531
531
532−#: qml/Launcher/Drawer.qml:127
532+#: qml/Launcher/Drawer.qml:128
533msgctxt "Apps sorted alphabetically"
533msgctxt "Apps sorted alphabetically"
534msgid "A-Z"
534msgid "A-Z"
535msgstr "A-Å"
535msgstr "A-Å"
po/ne.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2015-12-06 15:11+0000\n"
11"PO-Revision-Date: 2015-12-06 15:11+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Nepali <ne@li.org>\n"
13"Language-Team: Nepali <ne@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr ""
56msgstr ""
57
57
@@ -59,20 +59,20 @@ msgstr ""
59msgid "Quit"
59msgid "Quit"
60msgstr "बन्द गर्नुहोस्"
60msgstr "बन्द गर्नुहोस्"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "लग आउट"
69msgstr "लग आउट"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr ""
73msgstr ""
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "ताला लगाउने"
78msgstr "ताला लगाउने"
@@ -517,11 +517,11 @@ msgstr ""
517msgid "Select desktop environment"
517msgid "Select desktop environment"
518msgstr ""
518msgstr ""
519
519
520−#: qml/Launcher/Drawer.qml:92
520+#: qml/Launcher/Drawer.qml:93
521msgid "Search…"
521msgid "Search…"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:127
524+#: qml/Launcher/Drawer.qml:128
525msgctxt "Apps sorted alphabetically"
525msgctxt "Apps sorted alphabetically"
526msgid "A-Z"
526msgid "A-Z"
527msgstr ""
527msgstr ""
po/nl.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2016-11-01 08:29+0000\n"
11"PO-Revision-Date: 2016-11-01 08:29+0000\n"
12"Last-Translator: Hannie Dumoleyn <Unknown>\n"
12"Last-Translator: Hannie Dumoleyn <Unknown>\n"
13"Language-Team: Dutch <nl@li.org>\n"
13"Language-Team: Dutch <nl@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:12+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Snelkoppeling vastzetten"
56msgstr "Snelkoppeling vastzetten"
57
57
@@ -59,20 +59,20 @@ msgstr "Snelkoppeling vastzetten"
59msgid "Quit"
59msgid "Quit"
60msgstr "Afsluiten"
60msgstr "Afsluiten"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Snelkoppeling losmaken"
64msgstr "Snelkoppeling losmaken"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Afmelden"
69msgstr "Afmelden"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Weet u zeker dat u zich wilt afmelden?"
73msgstr "Weet u zeker dat u zich wilt afmelden?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Vergrendelen"
78msgstr "Vergrendelen"
@@ -528,11 +528,11 @@ msgstr "Toegangscode"
528msgid "Select desktop environment"
528msgid "Select desktop environment"
529msgstr "Bureaubladomgeving selecteren"
529msgstr "Bureaubladomgeving selecteren"
530
530
531−#: qml/Launcher/Drawer.qml:92
531+#: qml/Launcher/Drawer.qml:93
532msgid "Search…"
532msgid "Search…"
533msgstr ""
533msgstr ""
534
534
535−#: qml/Launcher/Drawer.qml:127
535+#: qml/Launcher/Drawer.qml:128
536msgctxt "Apps sorted alphabetically"
536msgctxt "Apps sorted alphabetically"
537msgid "A-Z"
537msgid "A-Z"
538msgstr ""
538msgstr ""
po/nn.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2015-05-12 11:32+0000\n"
11"PO-Revision-Date: 2015-05-12 11:32+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Norwegian Nynorsk <nn@li.org>\n"
13"Language-Team: Norwegian Nynorsk <nn@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr ""
56msgstr ""
57
57
@@ -59,20 +59,20 @@ msgstr ""
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr ""
73msgstr ""
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr ""
78msgstr ""
@@ -517,11 +517,11 @@ msgstr ""
517msgid "Select desktop environment"
517msgid "Select desktop environment"
518msgstr ""
518msgstr ""
519
519
520−#: qml/Launcher/Drawer.qml:92
520+#: qml/Launcher/Drawer.qml:93
521msgid "Search…"
521msgid "Search…"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:127
524+#: qml/Launcher/Drawer.qml:128
525msgctxt "Apps sorted alphabetically"
525msgctxt "Apps sorted alphabetically"
526msgid "A-Z"
526msgid "A-Z"
527msgstr ""
527msgstr ""
po/oc.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2016-10-27 13:43+0000\n"
11"PO-Revision-Date: 2016-10-27 13:43+0000\n"
12"Last-Translator: Cédric VALMARY (Tot en òc) <cvalmary@yahoo.fr>\n"
12"Last-Translator: Cédric VALMARY (Tot en òc) <cvalmary@yahoo.fr>\n"
13"Language-Team: Occitan (post 1500) <oc@li.org>\n"
13"Language-Team: Occitan (post 1500) <oc@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Espingolar l'acorchi"
56msgstr "Espingolar l'acorchi"
57
57
@@ -59,20 +59,20 @@ msgstr "Espingolar l'acorchi"
59msgid "Quit"
59msgid "Quit"
60msgstr "Quitar"
60msgstr "Quitar"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Destacar l'acorchi"
64msgstr "Destacar l'acorchi"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Tampar la session"
69msgstr "Tampar la session"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Sètz segur que vos volètz desconnectar ?"
73msgstr "Sètz segur que vos volètz desconnectar ?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Verrolhar"
78msgstr "Verrolhar"
@@ -528,11 +528,11 @@ msgstr "Còdi"
528msgid "Select desktop environment"
528msgid "Select desktop environment"
529msgstr "Seleccionar l'environament de burèu"
529msgstr "Seleccionar l'environament de burèu"
530
530
531−#: qml/Launcher/Drawer.qml:92
531+#: qml/Launcher/Drawer.qml:93
532msgid "Search…"
532msgid "Search…"
533msgstr ""
533msgstr ""
534
534
535−#: qml/Launcher/Drawer.qml:127
535+#: qml/Launcher/Drawer.qml:128
536msgctxt "Apps sorted alphabetically"
536msgctxt "Apps sorted alphabetically"
537msgid "A-Z"
537msgid "A-Z"
538msgstr ""
538msgstr ""
po/or.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2015-03-21 05:28+0000\n"
11"PO-Revision-Date: 2015-03-21 05:28+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Oriya <or@li.org>\n"
13"Language-Team: Oriya <or@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n!=1;\n"
17"Plural-Forms: nplurals=2; plural=n!=1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr ""
56msgstr ""
57
57
@@ -59,20 +59,20 @@ msgstr ""
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr ""
73msgstr ""
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr ""
78msgstr ""
@@ -517,11 +517,11 @@ msgstr ""
517msgid "Select desktop environment"
517msgid "Select desktop environment"
518msgstr ""
518msgstr ""
519
519
520−#: qml/Launcher/Drawer.qml:92
520+#: qml/Launcher/Drawer.qml:93
521msgid "Search…"
521msgid "Search…"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:127
524+#: qml/Launcher/Drawer.qml:128
525msgctxt "Apps sorted alphabetically"
525msgctxt "Apps sorted alphabetically"
526msgid "A-Z"
526msgid "A-Z"
527msgstr ""
527msgstr ""
po/pa.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2015-04-24 04:29+0000\n"
11"PO-Revision-Date: 2015-04-24 04:29+0000\n"
12"Last-Translator: Gursharnjit_Singh <ubuntuser13@gmail.com>\n"
12"Last-Translator: Gursharnjit_Singh <ubuntuser13@gmail.com>\n"
13"Language-Team: Punjabi <pa@li.org>\n"
13"Language-Team: Punjabi <pa@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "ਸ਼ਾਰਟਕੱਟ ਪਿੰਨ ਲਗਾਓ"
56msgstr "ਸ਼ਾਰਟਕੱਟ ਪਿੰਨ ਲਗਾਓ"
57
57
@@ -59,20 +59,20 @@ msgstr "ਸ਼ਾਰਟਕੱਟ ਪਿੰਨ ਲਗਾਓ"
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "ਸ਼ਾਰਟਕੱਟ ਪਿੰਨ ਹਟਾਓ"
64msgstr "ਸ਼ਾਰਟਕੱਟ ਪਿੰਨ ਹਟਾਓ"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "ਲਾਗ ਆਉਟ"
69msgstr "ਲਾਗ ਆਉਟ"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "ਕੀ ਤੁਸੀਂ ਲਾਗ ਆਉਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"
73msgstr "ਕੀ ਤੁਸੀਂ ਲਾਗ ਆਉਟ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "ਲਾਕ"
78msgstr "ਲਾਕ"
@@ -519,11 +519,11 @@ msgstr ""
519msgid "Select desktop environment"
519msgid "Select desktop environment"
520msgstr ""
520msgstr ""
521
521
522−#: qml/Launcher/Drawer.qml:92
522+#: qml/Launcher/Drawer.qml:93
523msgid "Search…"
523msgid "Search…"
524msgstr ""
524msgstr ""
525
525
526−#: qml/Launcher/Drawer.qml:127
526+#: qml/Launcher/Drawer.qml:128
527msgctxt "Apps sorted alphabetically"
527msgctxt "Apps sorted alphabetically"
528msgid "A-Z"
528msgid "A-Z"
529msgstr ""
529msgstr ""
po/pl.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2016-11-01 15:06+0000\n"
11"PO-Revision-Date: 2016-11-01 15:06+0000\n"
12"Last-Translator: Krzysztof Tataradziński <Unknown>\n"
12"Last-Translator: Krzysztof Tataradziński <Unknown>\n"
13"Language-Team: Polish <pl@li.org>\n"
13"Language-Team: Polish <pl@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%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: 2017-03-14 07:13+0000\n"
19+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
20−"X-Generator: Launchpad (build 18331)\n"
20+"X-Generator: Launchpad (build 18334)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:188
22#: plugins/LightDM/Greeter.cpp:188
23msgid "Password: "
23msgid "Password: "
@@ -51,8 +51,8 @@ msgstr ""
51msgid "Guest Session"
51msgid "Guest Session"
52msgstr ""
52msgstr ""
53
53
54−#: plugins/Unity/Launcher/launcheritem.cpp:50
54+#: plugins/Unity/Launcher/launcheritem.cpp:49
55−#: plugins/Unity/Launcher/launcheritem.cpp:122
55+#: plugins/Unity/Launcher/launcheritem.cpp:123
56msgid "Pin shortcut"
56msgid "Pin shortcut"
57msgstr "Przypnij skrót"
57msgstr "Przypnij skrót"
58
58
@@ -60,20 +60,20 @@ msgstr "Przypnij skrót"
60msgid "Quit"
60msgid "Quit"
61msgstr "Zakończ"
61msgstr "Zakończ"
62
62
63−#: plugins/Unity/Launcher/launcheritem.cpp:122
63+#: plugins/Unity/Launcher/launcheritem.cpp:123
64msgid "Unpin shortcut"
64msgid "Unpin shortcut"
65msgstr "Odepnij skrót"
65msgstr "Odepnij skrót"
66
66
67−#: qml/Components/Dialogs.qml:177
67+#: qml/Components/Dialogs.qml:176
68msgctxt "Title: Lock/Log out dialog"
68msgctxt "Title: Lock/Log out dialog"
69msgid "Log out"
69msgid "Log out"
70msgstr "Wylogowanie"
70msgstr "Wylogowanie"
71
71
72−#: qml/Components/Dialogs.qml:178
72+#: qml/Components/Dialogs.qml:177
73msgid "Are you sure you want to log out?"
73msgid "Are you sure you want to log out?"
74msgstr "Wylogować?"
74msgstr "Wylogować?"
75
75
76−#: qml/Components/Dialogs.qml:181
76+#: qml/Components/Dialogs.qml:180
77msgctxt "Button: Lock the system"
77msgctxt "Button: Lock the system"
78msgid "Lock"
78msgid "Lock"
79msgstr "Blokada"
79msgstr "Blokada"
@@ -522,11 +522,11 @@ msgstr "Kod"
522msgid "Select desktop environment"
522msgid "Select desktop environment"
523msgstr "Wybierz środowisko graficzne"
523msgstr "Wybierz środowisko graficzne"
524
524
525−#: qml/Launcher/Drawer.qml:92
525+#: qml/Launcher/Drawer.qml:93
526msgid "Search…"
526msgid "Search…"
527msgstr ""
527msgstr ""
528
528
529−#: qml/Launcher/Drawer.qml:127
529+#: qml/Launcher/Drawer.qml:128
530msgctxt "Apps sorted alphabetically"
530msgctxt "Apps sorted alphabetically"
531msgid "A-Z"
531msgid "A-Z"
532msgstr ""
532msgstr ""
po/pt.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2016-06-20 11:37+0000\n"
11"PO-Revision-Date: 2016-06-20 11:37+0000\n"
12"Last-Translator: Ivo Xavier <ivoxavier.8@gmail.com>\n"
12"Last-Translator: Ivo Xavier <ivoxavier.8@gmail.com>\n"
13"Language-Team: Portuguese <pt@li.org>\n"
13"Language-Team: Portuguese <pt@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:13+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Fixar atalho"
56msgstr "Fixar atalho"
57
57
@@ -59,20 +59,20 @@ msgstr "Fixar atalho"
59msgid "Quit"
59msgid "Quit"
60msgstr "Sair"
60msgstr "Sair"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Remover atalho"
64msgstr "Remover atalho"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Terminar a sessão"
69msgstr "Terminar a sessão"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Quer mesmo sair?"
73msgstr "Quer mesmo sair?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Bloquear"
78msgstr "Bloquear"
@@ -526,11 +526,11 @@ msgstr "Código"
526msgid "Select desktop environment"
526msgid "Select desktop environment"
527msgstr "Selecione o ambiente de trabalho"
527msgstr "Selecione o ambiente de trabalho"
528
528
529−#: qml/Launcher/Drawer.qml:92
529+#: qml/Launcher/Drawer.qml:93
530msgid "Search…"
530msgid "Search…"
531msgstr ""
531msgstr ""
532
532
533−#: qml/Launcher/Drawer.qml:127
533+#: qml/Launcher/Drawer.qml:128
534msgctxt "Apps sorted alphabetically"
534msgctxt "Apps sorted alphabetically"
535msgid "A-Z"
535msgid "A-Z"
536msgstr ""
536msgstr ""
po/pt_BR.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2015-08-05 04:40+0000\n"
11"PO-Revision-Date: 2015-08-05 04:40+0000\n"
12"Last-Translator: Julio Alexander Sieg <julio.sieg@gmail.com>\n"
12"Last-Translator: Julio Alexander Sieg <julio.sieg@gmail.com>\n"
13"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
13"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:14+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Fixar atalho"
56msgstr "Fixar atalho"
57
57
@@ -59,20 +59,20 @@ msgstr "Fixar atalho"
59msgid "Quit"
59msgid "Quit"
60msgstr "Sair"
60msgstr "Sair"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Desafixar atalho"
64msgstr "Desafixar atalho"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Sair"
69msgstr "Sair"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Você tem certeza que deseja sair?"
73msgstr "Você tem certeza que deseja sair?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Travar"
78msgstr "Travar"
@@ -521,11 +521,11 @@ msgstr ""
521msgid "Select desktop environment"
521msgid "Select desktop environment"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:92
524+#: qml/Launcher/Drawer.qml:93
525msgid "Search…"
525msgid "Search…"
526msgstr ""
526msgstr ""
527
527
528−#: qml/Launcher/Drawer.qml:127
528+#: qml/Launcher/Drawer.qml:128
529msgctxt "Apps sorted alphabetically"
529msgctxt "Apps sorted alphabetically"
530msgid "A-Z"
530msgid "A-Z"
531msgstr ""
531msgstr ""
po/ro.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2015-07-06 17:47+0000\n"
11"PO-Revision-Date: 2015-07-06 17:47+0000\n"
12"Last-Translator: Meriuță Cornel <meriutacornel@neacornel.eu>\n"
12"Last-Translator: Meriuță Cornel <meriutacornel@neacornel.eu>\n"
13"Language-Team: Romanian <ro@li.org>\n"
13"Language-Team: Romanian <ro@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=(n == 1 ? 0: (((n % 100 > 19) || ((n % 100 "
17"Plural-Forms: nplurals=3; plural=(n == 1 ? 0: (((n % 100 > 19) || ((n % 100 "
18"== 0) && (n != 0))) ? 2: 1));\n"
18"== 0) && (n != 0))) ? 2: 1));\n"
19−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
19+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
20−"X-Generator: Launchpad (build 18331)\n"
20+"X-Generator: Launchpad (build 18334)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:188
22#: plugins/LightDM/Greeter.cpp:188
23msgid "Password: "
23msgid "Password: "
@@ -51,8 +51,8 @@ msgstr ""
51msgid "Guest Session"
51msgid "Guest Session"
52msgstr ""
52msgstr ""
53
53
54−#: plugins/Unity/Launcher/launcheritem.cpp:50
54+#: plugins/Unity/Launcher/launcheritem.cpp:49
55−#: plugins/Unity/Launcher/launcheritem.cpp:122
55+#: plugins/Unity/Launcher/launcheritem.cpp:123
56msgid "Pin shortcut"
56msgid "Pin shortcut"
57msgstr "Fixează scurtătura"
57msgstr "Fixează scurtătura"
58
58
@@ -60,20 +60,20 @@ msgstr "Fixează scurtătura"
60msgid "Quit"
60msgid "Quit"
61msgstr ""
61msgstr ""
62
62
63−#: plugins/Unity/Launcher/launcheritem.cpp:122
63+#: plugins/Unity/Launcher/launcheritem.cpp:123
64msgid "Unpin shortcut"
64msgid "Unpin shortcut"
65msgstr "Eliberează scurtătura"
65msgstr "Eliberează scurtătura"
66
66
67−#: qml/Components/Dialogs.qml:177
67+#: qml/Components/Dialogs.qml:176
68msgctxt "Title: Lock/Log out dialog"
68msgctxt "Title: Lock/Log out dialog"
69msgid "Log out"
69msgid "Log out"
70msgstr "Închide sesiunea"
70msgstr "Închide sesiunea"
71
71
72−#: qml/Components/Dialogs.qml:178
72+#: qml/Components/Dialogs.qml:177
73msgid "Are you sure you want to log out?"
73msgid "Are you sure you want to log out?"
74msgstr "Sunteți sigur că doriți să închideți sesiunea?"
74msgstr "Sunteți sigur că doriți să închideți sesiunea?"
75
75
76−#: qml/Components/Dialogs.qml:181
76+#: qml/Components/Dialogs.qml:180
77msgctxt "Button: Lock the system"
77msgctxt "Button: Lock the system"
78msgid "Lock"
78msgid "Lock"
79msgstr "Blocare"
79msgstr "Blocare"
@@ -524,11 +524,11 @@ msgstr ""
524msgid "Select desktop environment"
524msgid "Select desktop environment"
525msgstr ""
525msgstr ""
526
526
527−#: qml/Launcher/Drawer.qml:92
527+#: qml/Launcher/Drawer.qml:93
528msgid "Search…"
528msgid "Search…"
529msgstr ""
529msgstr ""
530
530
531−#: qml/Launcher/Drawer.qml:127
531+#: qml/Launcher/Drawer.qml:128
532msgctxt "Apps sorted alphabetically"
532msgctxt "Apps sorted alphabetically"
533msgid "A-Z"
533msgid "A-Z"
534msgstr ""
534msgstr ""
po/ru.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2015-07-06 05:33+0000\n"
11"PO-Revision-Date: 2015-07-06 05:33+0000\n"
12"Last-Translator: ☠Jay ZDLin☠ <Unknown>\n"
12"Last-Translator: ☠Jay ZDLin☠ <Unknown>\n"
13"Language-Team: Russian <ru@li.org>\n"
13"Language-Team: Russian <ru@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
19+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
20−"X-Generator: Launchpad (build 18331)\n"
20+"X-Generator: Launchpad (build 18334)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:188
22#: plugins/LightDM/Greeter.cpp:188
23msgid "Password: "
23msgid "Password: "
@@ -51,8 +51,8 @@ msgstr ""
51msgid "Guest Session"
51msgid "Guest Session"
52msgstr "Гостевой сеанс"
52msgstr "Гостевой сеанс"
53
53
54−#: plugins/Unity/Launcher/launcheritem.cpp:50
54+#: plugins/Unity/Launcher/launcheritem.cpp:49
55−#: plugins/Unity/Launcher/launcheritem.cpp:122
55+#: plugins/Unity/Launcher/launcheritem.cpp:123
56msgid "Pin shortcut"
56msgid "Pin shortcut"
57msgstr "Закрепить ярлык"
57msgstr "Закрепить ярлык"
58
58
@@ -60,20 +60,20 @@ msgstr "Закрепить ярлык"
60msgid "Quit"
60msgid "Quit"
61msgstr "Завершить"
61msgstr "Завершить"
62
62
63−#: plugins/Unity/Launcher/launcheritem.cpp:122
63+#: plugins/Unity/Launcher/launcheritem.cpp:123
64msgid "Unpin shortcut"
64msgid "Unpin shortcut"
65msgstr "Открепить ярлык"
65msgstr "Открепить ярлык"
66
66
67−#: qml/Components/Dialogs.qml:177
67+#: qml/Components/Dialogs.qml:176
68msgctxt "Title: Lock/Log out dialog"
68msgctxt "Title: Lock/Log out dialog"
69msgid "Log out"
69msgid "Log out"
70msgstr "Завершение сеанса"
70msgstr "Завершение сеанса"
71
71
72−#: qml/Components/Dialogs.qml:178
72+#: qml/Components/Dialogs.qml:177
73msgid "Are you sure you want to log out?"
73msgid "Are you sure you want to log out?"
74msgstr "Завершить сеанс?"
74msgstr "Завершить сеанс?"
75
75
76−#: qml/Components/Dialogs.qml:181
76+#: qml/Components/Dialogs.qml:180
77msgctxt "Button: Lock the system"
77msgctxt "Button: Lock the system"
78msgid "Lock"
78msgid "Lock"
79msgstr "Заблокировать"
79msgstr "Заблокировать"
@@ -525,11 +525,11 @@ msgstr "Секретный код"
525msgid "Select desktop environment"
525msgid "Select desktop environment"
526msgstr "Выберите окружение рабочего стола"
526msgstr "Выберите окружение рабочего стола"
527
527
528−#: qml/Launcher/Drawer.qml:92
528+#: qml/Launcher/Drawer.qml:93
529msgid "Search…"
529msgid "Search…"
530msgstr "Найти..."
530msgstr "Найти..."
531
531
532−#: qml/Launcher/Drawer.qml:127
532+#: qml/Launcher/Drawer.qml:128
533msgctxt "Apps sorted alphabetically"
533msgctxt "Apps sorted alphabetically"
534msgid "A-Z"
534msgid "A-Z"
535msgstr ""
535msgstr ""
po/shn.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2015-11-10 12:09+0000\n"
11"PO-Revision-Date: 2015-11-10 12:09+0000\n"
12"Last-Translator: Rockworld <sumoisrock@gmail.com>\n"
12"Last-Translator: Rockworld <sumoisrock@gmail.com>\n"
13"Language-Team: Shan <shn@li.org>\n"
13"Language-Team: Shan <shn@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=(n == 1) ? 0 : 1;\n"
17"Plural-Forms: nplurals=2; plural=(n == 1) ? 0 : 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr ""
56msgstr ""
57
57
@@ -59,20 +59,20 @@ msgstr ""
59msgid "Quit"
59msgid "Quit"
60msgstr "ဢိုတ်း"
60msgstr "ဢိုတ်း"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr ""
73msgstr ""
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr ""
78msgstr ""
@@ -517,11 +517,11 @@ msgstr ""
517msgid "Select desktop environment"
517msgid "Select desktop environment"
518msgstr ""
518msgstr ""
519
519
520−#: qml/Launcher/Drawer.qml:92
520+#: qml/Launcher/Drawer.qml:93
521msgid "Search…"
521msgid "Search…"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:127
524+#: qml/Launcher/Drawer.qml:128
525msgctxt "Apps sorted alphabetically"
525msgctxt "Apps sorted alphabetically"
526msgid "A-Z"
526msgid "A-Z"
527msgstr ""
527msgstr ""
po/si.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2013-06-26 22:36+0000\n"
11"PO-Revision-Date: 2013-06-26 22:36+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Sinhalese <si@li.org>\n"
13"Language-Team: Sinhalese <si@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr ""
56msgstr ""
57
57
@@ -59,20 +59,20 @@ msgstr ""
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr ""
73msgstr ""
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr ""
78msgstr ""
@@ -519,11 +519,11 @@ msgstr ""
519msgid "Select desktop environment"
519msgid "Select desktop environment"
520msgstr ""
520msgstr ""
521
521
522−#: qml/Launcher/Drawer.qml:92
522+#: qml/Launcher/Drawer.qml:93
523msgid "Search…"
523msgid "Search…"
524msgstr ""
524msgstr ""
525
525
526−#: qml/Launcher/Drawer.qml:127
526+#: qml/Launcher/Drawer.qml:128
527msgctxt "Apps sorted alphabetically"
527msgctxt "Apps sorted alphabetically"
528msgid "A-Z"
528msgid "A-Z"
529msgstr ""
529msgstr ""
po/sk.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2016-09-28 04:43+0000\n"
11"PO-Revision-Date: 2016-09-28 04:43+0000\n"
12"Last-Translator: P_E_T_O <Unknown>\n"
12"Last-Translator: P_E_T_O <Unknown>\n"
13"Language-Team: Slovak <sk@li.org>\n"
13"Language-Team: Slovak <sk@li.org>\n"
@@ -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: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20"Language: sk\n"
20"Language: sk\n"
21
21
22#: plugins/LightDM/Greeter.cpp:188
22#: plugins/LightDM/Greeter.cpp:188
@@ -51,8 +51,8 @@ msgstr ""
51msgid "Guest Session"
51msgid "Guest Session"
52msgstr ""
52msgstr ""
53
53
54−#: plugins/Unity/Launcher/launcheritem.cpp:50
54+#: plugins/Unity/Launcher/launcheritem.cpp:49
55−#: plugins/Unity/Launcher/launcheritem.cpp:122
55+#: plugins/Unity/Launcher/launcheritem.cpp:123
56msgid "Pin shortcut"
56msgid "Pin shortcut"
57msgstr "Pripnúť odkaz"
57msgstr "Pripnúť odkaz"
58
58
@@ -60,20 +60,20 @@ msgstr "Pripnúť odkaz"
60msgid "Quit"
60msgid "Quit"
61msgstr "Ukončiť"
61msgstr "Ukončiť"
62
62
63−#: plugins/Unity/Launcher/launcheritem.cpp:122
63+#: plugins/Unity/Launcher/launcheritem.cpp:123
64msgid "Unpin shortcut"
64msgid "Unpin shortcut"
65msgstr "Odopnúť odkaz"
65msgstr "Odopnúť odkaz"
66
66
67−#: qml/Components/Dialogs.qml:177
67+#: qml/Components/Dialogs.qml:176
68msgctxt "Title: Lock/Log out dialog"
68msgctxt "Title: Lock/Log out dialog"
69msgid "Log out"
69msgid "Log out"
70msgstr "Odhlásiť sa"
70msgstr "Odhlásiť sa"
71
71
72−#: qml/Components/Dialogs.qml:178
72+#: qml/Components/Dialogs.qml:177
73msgid "Are you sure you want to log out?"
73msgid "Are you sure you want to log out?"
74msgstr "Ste si istý, že sa chcete odhlásiť?"
74msgstr "Ste si istý, že sa chcete odhlásiť?"
75
75
76−#: qml/Components/Dialogs.qml:181
76+#: qml/Components/Dialogs.qml:180
77msgctxt "Button: Lock the system"
77msgctxt "Button: Lock the system"
78msgid "Lock"
78msgid "Lock"
79msgstr "Zamknúť"
79msgstr "Zamknúť"
@@ -528,11 +528,11 @@ msgstr "Heslo"
528msgid "Select desktop environment"
528msgid "Select desktop environment"
529msgstr "Vybrať pracovné prostredie"
529msgstr "Vybrať pracovné prostredie"
530
530
531−#: qml/Launcher/Drawer.qml:92
531+#: qml/Launcher/Drawer.qml:93
532msgid "Search…"
532msgid "Search…"
533msgstr ""
533msgstr ""
534
534
535−#: qml/Launcher/Drawer.qml:127
535+#: qml/Launcher/Drawer.qml:128
536msgctxt "Apps sorted alphabetically"
536msgctxt "Apps sorted alphabetically"
537msgid "A-Z"
537msgid "A-Z"
538msgstr ""
538msgstr ""
po/sl.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2016-01-31 18:34+0000\n"
11"PO-Revision-Date: 2016-01-31 18:34+0000\n"
12"Last-Translator: Bernard Banko <Unknown>\n"
12"Last-Translator: Bernard Banko <Unknown>\n"
13"Language-Team: Slovenian <sl@li.org>\n"
13"Language-Team: Slovenian <sl@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || "
17"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || "
18"n%100==4 ? 3 : 0);\n"
18"n%100==4 ? 3 : 0);\n"
19−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
19+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
20−"X-Generator: Launchpad (build 18331)\n"
20+"X-Generator: Launchpad (build 18334)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:188
22#: plugins/LightDM/Greeter.cpp:188
23msgid "Password: "
23msgid "Password: "
@@ -51,8 +51,8 @@ msgstr ""
51msgid "Guest Session"
51msgid "Guest Session"
52msgstr ""
52msgstr ""
53
53
54−#: plugins/Unity/Launcher/launcheritem.cpp:50
54+#: plugins/Unity/Launcher/launcheritem.cpp:49
55−#: plugins/Unity/Launcher/launcheritem.cpp:122
55+#: plugins/Unity/Launcher/launcheritem.cpp:123
56msgid "Pin shortcut"
56msgid "Pin shortcut"
57msgstr "Pripni bližnjico"
57msgstr "Pripni bližnjico"
58
58
@@ -60,20 +60,20 @@ msgstr "Pripni bližnjico"
60msgid "Quit"
60msgid "Quit"
61msgstr "Končaj"
61msgstr "Končaj"
62
62
63−#: plugins/Unity/Launcher/launcheritem.cpp:122
63+#: plugins/Unity/Launcher/launcheritem.cpp:123
64msgid "Unpin shortcut"
64msgid "Unpin shortcut"
65msgstr "Odpni bližnjico"
65msgstr "Odpni bližnjico"
66
66
67−#: qml/Components/Dialogs.qml:177
67+#: qml/Components/Dialogs.qml:176
68msgctxt "Title: Lock/Log out dialog"
68msgctxt "Title: Lock/Log out dialog"
69msgid "Log out"
69msgid "Log out"
70msgstr "Odjava"
70msgstr "Odjava"
71
71
72−#: qml/Components/Dialogs.qml:178
72+#: qml/Components/Dialogs.qml:177
73msgid "Are you sure you want to log out?"
73msgid "Are you sure you want to log out?"
74msgstr "Ali ste prepričani, da se želite odjaviti?"
74msgstr "Ali ste prepričani, da se želite odjaviti?"
75
75
76−#: qml/Components/Dialogs.qml:181
76+#: qml/Components/Dialogs.qml:180
77msgctxt "Button: Lock the system"
77msgctxt "Button: Lock the system"
78msgid "Lock"
78msgid "Lock"
79msgstr "Zakleni"
79msgstr "Zakleni"
@@ -526,11 +526,11 @@ msgstr ""
526msgid "Select desktop environment"
526msgid "Select desktop environment"
527msgstr "Izberite namizno okolje"
527msgstr "Izberite namizno okolje"
528
528
529−#: qml/Launcher/Drawer.qml:92
529+#: qml/Launcher/Drawer.qml:93
530msgid "Search…"
530msgid "Search…"
531msgstr ""
531msgstr ""
532
532
533−#: qml/Launcher/Drawer.qml:127
533+#: qml/Launcher/Drawer.qml:128
534msgctxt "Apps sorted alphabetically"
534msgctxt "Apps sorted alphabetically"
535msgid "A-Z"
535msgid "A-Z"
536msgstr ""
536msgstr ""
po/sq.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2016-04-21 06:03+0000\n"
11"PO-Revision-Date: 2016-04-21 06:03+0000\n"
12"Last-Translator: Indrit Bashkimi <indrit.bashkimi@gmail.com>\n"
12"Last-Translator: Indrit Bashkimi <indrit.bashkimi@gmail.com>\n"
13"Language-Team: sq\n"
13"Language-Team: sq\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:12+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:12+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20"Language: sq\n"
20"Language: sq\n"
21
21
22#: plugins/LightDM/Greeter.cpp:188
22#: plugins/LightDM/Greeter.cpp:188
@@ -51,8 +51,8 @@ msgstr ""
51msgid "Guest Session"
51msgid "Guest Session"
52msgstr ""
52msgstr ""
53
53
54−#: plugins/Unity/Launcher/launcheritem.cpp:50
54+#: plugins/Unity/Launcher/launcheritem.cpp:49
55−#: plugins/Unity/Launcher/launcheritem.cpp:122
55+#: plugins/Unity/Launcher/launcheritem.cpp:123
56msgid "Pin shortcut"
56msgid "Pin shortcut"
57msgstr ""
57msgstr ""
58
58
@@ -60,20 +60,20 @@ msgstr ""
60msgid "Quit"
60msgid "Quit"
61msgstr "Dil"
61msgstr "Dil"
62
62
63−#: plugins/Unity/Launcher/launcheritem.cpp:122
63+#: plugins/Unity/Launcher/launcheritem.cpp:123
64msgid "Unpin shortcut"
64msgid "Unpin shortcut"
65msgstr ""
65msgstr ""
66
66
67−#: qml/Components/Dialogs.qml:177
67+#: qml/Components/Dialogs.qml:176
68msgctxt "Title: Lock/Log out dialog"
68msgctxt "Title: Lock/Log out dialog"
69msgid "Log out"
69msgid "Log out"
70msgstr "Dalja"
70msgstr "Dalja"
71
71
72−#: qml/Components/Dialogs.qml:178
72+#: qml/Components/Dialogs.qml:177
73msgid "Are you sure you want to log out?"
73msgid "Are you sure you want to log out?"
74msgstr ""
74msgstr ""
75
75
76−#: qml/Components/Dialogs.qml:181
76+#: qml/Components/Dialogs.qml:180
77msgctxt "Button: Lock the system"
77msgctxt "Button: Lock the system"
78msgid "Lock"
78msgid "Lock"
79msgstr "Kyç"
79msgstr "Kyç"
@@ -518,11 +518,11 @@ msgstr ""
518msgid "Select desktop environment"
518msgid "Select desktop environment"
519msgstr ""
519msgstr ""
520
520
521−#: qml/Launcher/Drawer.qml:92
521+#: qml/Launcher/Drawer.qml:93
522msgid "Search…"
522msgid "Search…"
523msgstr ""
523msgstr ""
524
524
525−#: qml/Launcher/Drawer.qml:127
525+#: qml/Launcher/Drawer.qml:128
526msgctxt "Apps sorted alphabetically"
526msgctxt "Apps sorted alphabetically"
527msgid "A-Z"
527msgid "A-Z"
528msgstr ""
528msgstr ""
po/sr.po+11−11
@@ -8,7 +8,7 @@ msgid ""
8msgstr ""
8msgstr ""
9"Project-Id-Version: unity\n"
9"Project-Id-Version: unity\n"
10"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
11−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
11+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
12"PO-Revision-Date: 2016-08-22 20:43+0000\n"
12"PO-Revision-Date: 2016-08-22 20:43+0000\n"
13"Last-Translator: Bojan Bogdanović <Unknown>\n"
13"Last-Translator: Bojan Bogdanović <Unknown>\n"
14"Language-Team: српски <xfce4@xfce4.org>\n"
14"Language-Team: српски <xfce4@xfce4.org>\n"
@@ -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: 2017-03-14 07:13+0000\n"
20+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
21−"X-Generator: Launchpad (build 18331)\n"
21+"X-Generator: Launchpad (build 18334)\n"
22"Language: sr\n"
22"Language: sr\n"
23
23
24#: plugins/LightDM/Greeter.cpp:188
24#: plugins/LightDM/Greeter.cpp:188
@@ -53,8 +53,8 @@ msgstr ""
53msgid "Guest Session"
53msgid "Guest Session"
54msgstr ""
54msgstr ""
55
55
56−#: plugins/Unity/Launcher/launcheritem.cpp:50
56+#: plugins/Unity/Launcher/launcheritem.cpp:49
57−#: plugins/Unity/Launcher/launcheritem.cpp:122
57+#: plugins/Unity/Launcher/launcheritem.cpp:123
58msgid "Pin shortcut"
58msgid "Pin shortcut"
59msgstr "Прикачи пречицу"
59msgstr "Прикачи пречицу"
60
60
@@ -62,20 +62,20 @@ msgstr "Прикачи пречицу"
62msgid "Quit"
62msgid "Quit"
63msgstr "Напусти"
63msgstr "Напусти"
64
64
65−#: plugins/Unity/Launcher/launcheritem.cpp:122
65+#: plugins/Unity/Launcher/launcheritem.cpp:123
66msgid "Unpin shortcut"
66msgid "Unpin shortcut"
67msgstr "Откачи пречицу"
67msgstr "Откачи пречицу"
68
68
69−#: qml/Components/Dialogs.qml:177
69+#: qml/Components/Dialogs.qml:176
70msgctxt "Title: Lock/Log out dialog"
70msgctxt "Title: Lock/Log out dialog"
71msgid "Log out"
71msgid "Log out"
72msgstr "Одјава"
72msgstr "Одјава"
73
73
74−#: qml/Components/Dialogs.qml:178
74+#: qml/Components/Dialogs.qml:177
75msgid "Are you sure you want to log out?"
75msgid "Are you sure you want to log out?"
76msgstr "Сигурно желите да се одјавите?"
76msgstr "Сигурно желите да се одјавите?"
77
77
78−#: qml/Components/Dialogs.qml:181
78+#: qml/Components/Dialogs.qml:180
79msgctxt "Button: Lock the system"
79msgctxt "Button: Lock the system"
80msgid "Lock"
80msgid "Lock"
81msgstr "Закључај"
81msgstr "Закључај"
@@ -525,11 +525,11 @@ msgstr "Приступни код"
525msgid "Select desktop environment"
525msgid "Select desktop environment"
526msgstr ""
526msgstr ""
527
527
528−#: qml/Launcher/Drawer.qml:92
528+#: qml/Launcher/Drawer.qml:93
529msgid "Search…"
529msgid "Search…"
530msgstr ""
530msgstr ""
531
531
532−#: qml/Launcher/Drawer.qml:127
532+#: qml/Launcher/Drawer.qml:128
533msgctxt "Apps sorted alphabetically"
533msgctxt "Apps sorted alphabetically"
534msgid "A-Z"
534msgid "A-Z"
535msgstr ""
535msgstr ""
po/sv.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2016-06-19 19:31+0000\n"
11"PO-Revision-Date: 2016-06-19 19:31+0000\n"
12"Last-Translator: Josef Andersson <Unknown>\n"
12"Last-Translator: Josef Andersson <Unknown>\n"
13"Language-Team: Swedish\n"
13"Language-Team: Swedish\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20"Language: sv\n"
20"Language: sv\n"
21
21
22#: plugins/LightDM/Greeter.cpp:188
22#: plugins/LightDM/Greeter.cpp:188
@@ -51,8 +51,8 @@ msgstr ""
51msgid "Guest Session"
51msgid "Guest Session"
52msgstr ""
52msgstr ""
53
53
54−#: plugins/Unity/Launcher/launcheritem.cpp:50
54+#: plugins/Unity/Launcher/launcheritem.cpp:49
55−#: plugins/Unity/Launcher/launcheritem.cpp:122
55+#: plugins/Unity/Launcher/launcheritem.cpp:123
56msgid "Pin shortcut"
56msgid "Pin shortcut"
57msgstr "Fäst genväg"
57msgstr "Fäst genväg"
58
58
@@ -60,20 +60,20 @@ msgstr "Fäst genväg"
60msgid "Quit"
60msgid "Quit"
61msgstr "Avsluta"
61msgstr "Avsluta"
62
62
63−#: plugins/Unity/Launcher/launcheritem.cpp:122
63+#: plugins/Unity/Launcher/launcheritem.cpp:123
64msgid "Unpin shortcut"
64msgid "Unpin shortcut"
65msgstr "Släpp genväg"
65msgstr "Släpp genväg"
66
66
67−#: qml/Components/Dialogs.qml:177
67+#: qml/Components/Dialogs.qml:176
68msgctxt "Title: Lock/Log out dialog"
68msgctxt "Title: Lock/Log out dialog"
69msgid "Log out"
69msgid "Log out"
70msgstr "Logga ut"
70msgstr "Logga ut"
71
71
72−#: qml/Components/Dialogs.qml:178
72+#: qml/Components/Dialogs.qml:177
73msgid "Are you sure you want to log out?"
73msgid "Are you sure you want to log out?"
74msgstr "Är du säker på att du vill logga ut?"
74msgstr "Är du säker på att du vill logga ut?"
75
75
76−#: qml/Components/Dialogs.qml:181
76+#: qml/Components/Dialogs.qml:180
77msgctxt "Button: Lock the system"
77msgctxt "Button: Lock the system"
78msgid "Lock"
78msgid "Lock"
79msgstr "Lås"
79msgstr "Lås"
@@ -523,11 +523,11 @@ msgstr "Lösenkod"
523msgid "Select desktop environment"
523msgid "Select desktop environment"
524msgstr "Välj skrivbordsmiljö"
524msgstr "Välj skrivbordsmiljö"
525
525
526−#: qml/Launcher/Drawer.qml:92
526+#: qml/Launcher/Drawer.qml:93
527msgid "Search…"
527msgid "Search…"
528msgstr ""
528msgstr ""
529
529
530−#: qml/Launcher/Drawer.qml:127
530+#: qml/Launcher/Drawer.qml:128
531msgctxt "Apps sorted alphabetically"
531msgctxt "Apps sorted alphabetically"
532msgid "A-Z"
532msgid "A-Z"
533msgstr ""
533msgstr ""
po/sw.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2015-07-17 20:02+0000\n"
11"PO-Revision-Date: 2015-07-17 20:02+0000\n"
12"Last-Translator: Valentine <mwangi_valentino@yahoo.com>\n"
12"Last-Translator: Valentine <mwangi_valentino@yahoo.com>\n"
13"Language-Team: Swahili <sw@li.org>\n"
13"Language-Team: Swahili <sw@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:13+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Njia ya mkato ya nambari ya siri"
56msgstr "Njia ya mkato ya nambari ya siri"
57
57
@@ -59,20 +59,20 @@ msgstr "Njia ya mkato ya nambari ya siri"
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Toa njia ya mkato ya nambari ya siri"
64msgstr "Toa njia ya mkato ya nambari ya siri"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Logi nje"
69msgstr "Logi nje"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Una uhakika unataka kulogi nje?"
73msgstr "Una uhakika unataka kulogi nje?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Funga"
78msgstr "Funga"
@@ -519,11 +519,11 @@ msgstr ""
519msgid "Select desktop environment"
519msgid "Select desktop environment"
520msgstr ""
520msgstr ""
521
521
522−#: qml/Launcher/Drawer.qml:92
522+#: qml/Launcher/Drawer.qml:93
523msgid "Search…"
523msgid "Search…"
524msgstr ""
524msgstr ""
525
525
526−#: qml/Launcher/Drawer.qml:127
526+#: qml/Launcher/Drawer.qml:128
527msgctxt "Apps sorted alphabetically"
527msgctxt "Apps sorted alphabetically"
528msgid "A-Z"
528msgid "A-Z"
529msgstr ""
529msgstr ""
po/ta.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2017-03-02 04:54+0000\n"
11"PO-Revision-Date: 2017-03-02 04:54+0000\n"
12"Last-Translator: Arun Kumar - அருண் குமார் <thangam.arunx@gmail.com>\n"
12"Last-Translator: Arun Kumar - அருண் குமார் <thangam.arunx@gmail.com>\n"
13"Language-Team: Ubuntu Tamil Team/Free Tamil Computing/Thamizha\n"
13"Language-Team: Ubuntu Tamil Team/Free Tamil Computing/Thamizha\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:14+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20"Language: ta\n"
20"Language: ta\n"
21
21
22#: plugins/LightDM/Greeter.cpp:188
22#: plugins/LightDM/Greeter.cpp:188
@@ -51,8 +51,8 @@ msgstr ""
51msgid "Guest Session"
51msgid "Guest Session"
52msgstr ""
52msgstr ""
53
53
54−#: plugins/Unity/Launcher/launcheritem.cpp:50
54+#: plugins/Unity/Launcher/launcheritem.cpp:49
55−#: plugins/Unity/Launcher/launcheritem.cpp:122
55+#: plugins/Unity/Launcher/launcheritem.cpp:123
56msgid "Pin shortcut"
56msgid "Pin shortcut"
57msgstr ""
57msgstr ""
58
58
@@ -60,20 +60,20 @@ msgstr ""
60msgid "Quit"
60msgid "Quit"
61msgstr ""
61msgstr ""
62
62
63−#: plugins/Unity/Launcher/launcheritem.cpp:122
63+#: plugins/Unity/Launcher/launcheritem.cpp:123
64msgid "Unpin shortcut"
64msgid "Unpin shortcut"
65msgstr ""
65msgstr ""
66
66
67−#: qml/Components/Dialogs.qml:177
67+#: qml/Components/Dialogs.qml:176
68msgctxt "Title: Lock/Log out dialog"
68msgctxt "Title: Lock/Log out dialog"
69msgid "Log out"
69msgid "Log out"
70msgstr ""
70msgstr ""
71
71
72−#: qml/Components/Dialogs.qml:178
72+#: qml/Components/Dialogs.qml:177
73msgid "Are you sure you want to log out?"
73msgid "Are you sure you want to log out?"
74msgstr "நீங்கள் வெளியேற விரும்புகிறேர்களா ?"
74msgstr "நீங்கள் வெளியேற விரும்புகிறேர்களா ?"
75
75
76−#: qml/Components/Dialogs.qml:181
76+#: qml/Components/Dialogs.qml:180
77msgctxt "Button: Lock the system"
77msgctxt "Button: Lock the system"
78msgid "Lock"
78msgid "Lock"
79msgstr "பூட்டுக"
79msgstr "பூட்டுக"
@@ -520,11 +520,11 @@ msgstr ""
520msgid "Select desktop environment"
520msgid "Select desktop environment"
521msgstr ""
521msgstr ""
522
522
523−#: qml/Launcher/Drawer.qml:92
523+#: qml/Launcher/Drawer.qml:93
524msgid "Search…"
524msgid "Search…"
525msgstr ""
525msgstr ""
526
526
527−#: qml/Launcher/Drawer.qml:127
527+#: qml/Launcher/Drawer.qml:128
528msgctxt "Apps sorted alphabetically"
528msgctxt "Apps sorted alphabetically"
529msgid "A-Z"
529msgid "A-Z"
530msgstr ""
530msgstr ""
po/te.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2014-07-19 10:04+0000\n"
11"PO-Revision-Date: 2014-07-19 10:04+0000\n"
12"Last-Translator: Praveen Illa <mail2ipn@gmail.com>\n"
12"Last-Translator: Praveen Illa <mail2ipn@gmail.com>\n"
13"Language-Team: Telugu <te@li.org>\n"
13"Language-Team: Telugu <te@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:14+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr ""
56msgstr ""
57
57
@@ -59,20 +59,20 @@ msgstr ""
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr ""
73msgstr ""
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr ""
78msgstr ""
@@ -517,11 +517,11 @@ msgstr ""
517msgid "Select desktop environment"
517msgid "Select desktop environment"
518msgstr ""
518msgstr ""
519
519
520−#: qml/Launcher/Drawer.qml:92
520+#: qml/Launcher/Drawer.qml:93
521msgid "Search…"
521msgid "Search…"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:127
524+#: qml/Launcher/Drawer.qml:128
525msgctxt "Apps sorted alphabetically"
525msgctxt "Apps sorted alphabetically"
526msgid "A-Z"
526msgid "A-Z"
527msgstr ""
527msgstr ""
po/th.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2014-10-02 04:55+0000\n"
11"PO-Revision-Date: 2014-10-02 04:55+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Thai <th@li.org>\n"
13"Language-Team: Thai <th@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:14+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr ""
56msgstr ""
57
57
@@ -59,20 +59,20 @@ msgstr ""
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr ""
73msgstr ""
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr ""
78msgstr ""
@@ -517,11 +517,11 @@ msgstr ""
517msgid "Select desktop environment"
517msgid "Select desktop environment"
518msgstr ""
518msgstr ""
519
519
520−#: qml/Launcher/Drawer.qml:92
520+#: qml/Launcher/Drawer.qml:93
521msgid "Search…"
521msgid "Search…"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:127
524+#: qml/Launcher/Drawer.qml:128
525msgctxt "Apps sorted alphabetically"
525msgctxt "Apps sorted alphabetically"
526msgid "A-Z"
526msgid "A-Z"
527msgstr ""
527msgstr ""
po/tr.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2015-03-22 15:56+0000\n"
11"PO-Revision-Date: 2015-03-22 15:56+0000\n"
12"Last-Translator: Arda Ünlü <aarda.uunlu@gmail.com>\n"
12"Last-Translator: Arda Ünlü <aarda.uunlu@gmail.com>\n"
13"Language-Team: Turkish <tr@li.org>\n"
13"Language-Team: Turkish <tr@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:14+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Kısayolu iğnele"
56msgstr "Kısayolu iğnele"
57
57
@@ -59,20 +59,20 @@ msgstr "Kısayolu iğnele"
59msgid "Quit"
59msgid "Quit"
60msgstr "Çıkış"
60msgstr "Çıkış"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Kısayol iğnesini kaldır"
64msgstr "Kısayol iğnesini kaldır"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Oturumu kapat"
69msgstr "Oturumu kapat"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Oturumu kapatmak istediğinize emin misiniz?"
73msgstr "Oturumu kapatmak istediğinize emin misiniz?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Kilitle"
78msgstr "Kilitle"
@@ -521,11 +521,11 @@ msgstr "Parola"
521msgid "Select desktop environment"
521msgid "Select desktop environment"
522msgstr "Masaüstü ortamını seçin"
522msgstr "Masaüstü ortamını seçin"
523
523
524−#: qml/Launcher/Drawer.qml:92
524+#: qml/Launcher/Drawer.qml:93
525msgid "Search…"
525msgid "Search…"
526msgstr ""
526msgstr ""
527
527
528−#: qml/Launcher/Drawer.qml:127
528+#: qml/Launcher/Drawer.qml:128
529msgctxt "Apps sorted alphabetically"
529msgctxt "Apps sorted alphabetically"
530msgid "A-Z"
530msgid "A-Z"
531msgstr ""
531msgstr ""
po/ug.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2016-07-03 13:56+0000\n"
11"PO-Revision-Date: 2016-07-03 13:56+0000\n"
12"Last-Translator: Eltikin <eltikinuyghur@hotmail.com>\n"
12"Last-Translator: Eltikin <eltikinuyghur@hotmail.com>\n"
13"Language-Team: Uyghur Computer Science Association <UKIJ@yahoogroups.com>\n"
13"Language-Team: Uyghur Computer Science Association <UKIJ@yahoogroups.com>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:14+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "تېزلەتمىنى قوي"
56msgstr "تېزلەتمىنى قوي"
57
57
@@ -59,20 +59,20 @@ msgstr "تېزلەتمىنى قوي"
59msgid "Quit"
59msgid "Quit"
60msgstr "چېكىن"
60msgstr "چېكىن"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "تېزلەتمىنى ئېلىۋەت"
64msgstr "تېزلەتمىنى ئېلىۋەت"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "تىزىمدىن چىق"
69msgstr "تىزىمدىن چىق"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "راستلا چىقىپ كېتەمسىز؟"
73msgstr "راستلا چىقىپ كېتەمسىز؟"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "قۇلۇپلا"
78msgstr "قۇلۇپلا"
@@ -518,11 +518,11 @@ msgstr ""
518msgid "Select desktop environment"
518msgid "Select desktop environment"
519msgstr ""
519msgstr ""
520
520
521−#: qml/Launcher/Drawer.qml:92
521+#: qml/Launcher/Drawer.qml:93
522msgid "Search…"
522msgid "Search…"
523msgstr ""
523msgstr ""
524
524
525−#: qml/Launcher/Drawer.qml:127
525+#: qml/Launcher/Drawer.qml:128
526msgctxt "Apps sorted alphabetically"
526msgctxt "Apps sorted alphabetically"
527msgid "A-Z"
527msgid "A-Z"
528msgstr ""
528msgstr ""
po/uk.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2017-01-17 10:58+0000\n"
11"PO-Revision-Date: 2017-01-17 10:58+0000\n"
12"Last-Translator: Yuri Chornoivan <yurchor@gmail.com>\n"
12"Last-Translator: Yuri Chornoivan <yurchor@gmail.com>\n"
13"Language-Team: Ukrainian <uk@li.org>\n"
13"Language-Team: Ukrainian <uk@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2017-03-14 07:14+0000\n"
19+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
20−"X-Generator: Launchpad (build 18331)\n"
20+"X-Generator: Launchpad (build 18334)\n"
21
21
22#: plugins/LightDM/Greeter.cpp:188
22#: plugins/LightDM/Greeter.cpp:188
23msgid "Password: "
23msgid "Password: "
@@ -51,8 +51,8 @@ msgstr ""
51msgid "Guest Session"
51msgid "Guest Session"
52msgstr ""
52msgstr ""
53
53
54−#: plugins/Unity/Launcher/launcheritem.cpp:50
54+#: plugins/Unity/Launcher/launcheritem.cpp:49
55−#: plugins/Unity/Launcher/launcheritem.cpp:122
55+#: plugins/Unity/Launcher/launcheritem.cpp:123
56msgid "Pin shortcut"
56msgid "Pin shortcut"
57msgstr "Заблокувати кнопку"
57msgstr "Заблокувати кнопку"
58
58
@@ -60,20 +60,20 @@ msgstr "Заблокувати кнопку"
60msgid "Quit"
60msgid "Quit"
61msgstr "Вийти"
61msgstr "Вийти"
62
62
63−#: plugins/Unity/Launcher/launcheritem.cpp:122
63+#: plugins/Unity/Launcher/launcheritem.cpp:123
64msgid "Unpin shortcut"
64msgid "Unpin shortcut"
65msgstr "Розблокувати кнопку"
65msgstr "Розблокувати кнопку"
66
66
67−#: qml/Components/Dialogs.qml:177
67+#: qml/Components/Dialogs.qml:176
68msgctxt "Title: Lock/Log out dialog"
68msgctxt "Title: Lock/Log out dialog"
69msgid "Log out"
69msgid "Log out"
70msgstr "Вийти"
70msgstr "Вийти"
71
71
72−#: qml/Components/Dialogs.qml:178
72+#: qml/Components/Dialogs.qml:177
73msgid "Are you sure you want to log out?"
73msgid "Are you sure you want to log out?"
74msgstr "Ви справді хочете вийти?"
74msgstr "Ви справді хочете вийти?"
75
75
76−#: qml/Components/Dialogs.qml:181
76+#: qml/Components/Dialogs.qml:180
77msgctxt "Button: Lock the system"
77msgctxt "Button: Lock the system"
78msgid "Lock"
78msgid "Lock"
79msgstr "Заблокувати"
79msgstr "Заблокувати"
@@ -529,11 +529,11 @@ msgstr "Код-пароль"
529msgid "Select desktop environment"
529msgid "Select desktop environment"
530msgstr "Виберіть стільничне середовище"
530msgstr "Виберіть стільничне середовище"
531
531
532−#: qml/Launcher/Drawer.qml:92
532+#: qml/Launcher/Drawer.qml:93
533msgid "Search…"
533msgid "Search…"
534msgstr "Пошук…"
534msgstr "Пошук…"
535
535
536−#: qml/Launcher/Drawer.qml:127
536+#: qml/Launcher/Drawer.qml:128
537msgctxt "Apps sorted alphabetically"
537msgctxt "Apps sorted alphabetically"
538msgid "A-Z"
538msgid "A-Z"
539msgstr "А-Я"
539msgstr "А-Я"
po/unity8.pot+9−9
@@ -8,7 +8,7 @@ msgid ""
8msgstr ""
8msgstr ""
9"Project-Id-Version: unity8\n"
9"Project-Id-Version: unity8\n"
10"Report-Msgid-Bugs-To: \n"
10"Report-Msgid-Bugs-To: \n"
11−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
11+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14"Language-Team: LANGUAGE <LL@li.org>\n"
14"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr ""
56msgstr ""
57
57
@@ -59,20 +59,20 @@ msgstr ""
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr ""
73msgstr ""
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr ""
78msgstr ""
@@ -517,11 +517,11 @@ msgstr ""
517msgid "Select desktop environment"
517msgid "Select desktop environment"
518msgstr ""
518msgstr ""
519
519
520−#: qml/Launcher/Drawer.qml:92
520+#: qml/Launcher/Drawer.qml:93
521msgid "Search…"
521msgid "Search…"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:127
524+#: qml/Launcher/Drawer.qml:128
525msgctxt "Apps sorted alphabetically"
525msgctxt "Apps sorted alphabetically"
526msgid "A-Z"
526msgid "A-Z"
527msgstr ""
527msgstr ""
po/ur.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2015-05-05 03:12+0000\n"
11"PO-Revision-Date: 2015-05-05 03:12+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Urdu <ur@li.org>\n"
13"Language-Team: Urdu <ur@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:14+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr ""
56msgstr ""
57
57
@@ -59,20 +59,20 @@ msgstr ""
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr ""
73msgstr ""
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr ""
78msgstr ""
@@ -517,11 +517,11 @@ msgstr ""
517msgid "Select desktop environment"
517msgid "Select desktop environment"
518msgstr ""
518msgstr ""
519
519
520−#: qml/Launcher/Drawer.qml:92
520+#: qml/Launcher/Drawer.qml:93
521msgid "Search…"
521msgid "Search…"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:127
524+#: qml/Launcher/Drawer.qml:128
525msgctxt "Apps sorted alphabetically"
525msgctxt "Apps sorted alphabetically"
526msgid "A-Z"
526msgid "A-Z"
527msgstr ""
527msgstr ""
po/uz.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2015-07-04 16:03+0000\n"
11"PO-Revision-Date: 2015-07-04 16:03+0000\n"
12"Last-Translator: Learner <muzaffar.habibullayev@yandex.ru>\n"
12"Last-Translator: Learner <muzaffar.habibullayev@yandex.ru>\n"
13"Language-Team: Uzbek <uz@li.org>\n"
13"Language-Team: Uzbek <uz@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:14+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr ""
56msgstr ""
57
57
@@ -59,20 +59,20 @@ msgstr ""
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr ""
73msgstr ""
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr ""
78msgstr ""
@@ -517,11 +517,11 @@ msgstr ""
517msgid "Select desktop environment"
517msgid "Select desktop environment"
518msgstr ""
518msgstr ""
519
519
520−#: qml/Launcher/Drawer.qml:92
520+#: qml/Launcher/Drawer.qml:93
521msgid "Search…"
521msgid "Search…"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:127
524+#: qml/Launcher/Drawer.qml:128
525msgctxt "Apps sorted alphabetically"
525msgctxt "Apps sorted alphabetically"
526msgid "A-Z"
526msgid "A-Z"
527msgstr ""
527msgstr ""
po/vi.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2014-01-15 01:19+0000\n"
11"PO-Revision-Date: 2014-01-15 01:19+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Vietnamese <vi@li.org>\n"
13"Language-Team: Vietnamese <vi@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:14+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr ""
56msgstr ""
57
57
@@ -59,20 +59,20 @@ msgstr ""
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr ""
73msgstr ""
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr ""
78msgstr ""
@@ -517,11 +517,11 @@ msgstr ""
517msgid "Select desktop environment"
517msgid "Select desktop environment"
518msgstr ""
518msgstr ""
519
519
520−#: qml/Launcher/Drawer.qml:92
520+#: qml/Launcher/Drawer.qml:93
521msgid "Search…"
521msgid "Search…"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:127
524+#: qml/Launcher/Drawer.qml:128
525msgctxt "Apps sorted alphabetically"
525msgctxt "Apps sorted alphabetically"
526msgid "A-Z"
526msgid "A-Z"
527msgstr ""
527msgstr ""
po/wo.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2015-10-29 11:16+0000\n"
11"PO-Revision-Date: 2015-10-29 11:16+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Wolof <wo@li.org>\n"
13"Language-Team: Wolof <wo@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:14+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "Kepp"
56msgstr "Kepp"
57
57
@@ -59,20 +59,20 @@ msgstr "Kepp"
59msgid "Quit"
59msgid "Quit"
60msgstr "Génn"
60msgstr "Génn"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "Dindi"
64msgstr "Dindi"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "Génn"
69msgstr "Génn"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "Wóor na ne danga bëgg a génn?"
73msgstr "Wóor na ne danga bëgg a génn?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "Tëj"
78msgstr "Tëj"
@@ -517,11 +517,11 @@ msgstr ""
517msgid "Select desktop environment"
517msgid "Select desktop environment"
518msgstr ""
518msgstr ""
519
519
520−#: qml/Launcher/Drawer.qml:92
520+#: qml/Launcher/Drawer.qml:93
521msgid "Search…"
521msgid "Search…"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:127
524+#: qml/Launcher/Drawer.qml:128
525msgctxt "Apps sorted alphabetically"
525msgctxt "Apps sorted alphabetically"
526msgid "A-Z"
526msgid "A-Z"
527msgstr ""
527msgstr ""
po/xh.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2013-09-28 13:20+0000\n"
11"PO-Revision-Date: 2013-09-28 13:20+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Xhosa <xh@li.org>\n"
13"Language-Team: Xhosa <xh@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:14+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr ""
56msgstr ""
57
57
@@ -59,20 +59,20 @@ msgstr ""
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr ""
73msgstr ""
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr ""
78msgstr ""
@@ -517,11 +517,11 @@ msgstr ""
517msgid "Select desktop environment"
517msgid "Select desktop environment"
518msgstr ""
518msgstr ""
519
519
520−#: qml/Launcher/Drawer.qml:92
520+#: qml/Launcher/Drawer.qml:93
521msgid "Search…"
521msgid "Search…"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:127
524+#: qml/Launcher/Drawer.qml:128
525msgctxt "Apps sorted alphabetically"
525msgctxt "Apps sorted alphabetically"
526msgid "A-Z"
526msgid "A-Z"
527msgstr ""
527msgstr ""
po/zh_CN.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2016-04-13 06:27+0000\n"
11"PO-Revision-Date: 2016-04-13 06:27+0000\n"
12"Last-Translator: YunQiang Su <wzssyqa@gmail.com>\n"
12"Last-Translator: YunQiang Su <wzssyqa@gmail.com>\n"
13"Language-Team: Chinese (Simplified) <zh_CN@li.org>\n"
13"Language-Team: Chinese (Simplified) <zh_CN@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:14+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "固定快捷方式"
56msgstr "固定快捷方式"
57
57
@@ -59,20 +59,20 @@ msgstr "固定快捷方式"
59msgid "Quit"
59msgid "Quit"
60msgstr "退出"
60msgstr "退出"
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "取消固定快捷方式"
64msgstr "取消固定快捷方式"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr "退出"
69msgstr "退出"
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr "您确定要注销?"
73msgstr "您确定要注销?"
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr "锁定"
78msgstr "锁定"
@@ -518,11 +518,11 @@ msgstr ""
518msgid "Select desktop environment"
518msgid "Select desktop environment"
519msgstr ""
519msgstr ""
520
520
521−#: qml/Launcher/Drawer.qml:92
521+#: qml/Launcher/Drawer.qml:93
522msgid "Search…"
522msgid "Search…"
523msgstr ""
523msgstr ""
524
524
525−#: qml/Launcher/Drawer.qml:127
525+#: qml/Launcher/Drawer.qml:128
526msgctxt "Apps sorted alphabetically"
526msgctxt "Apps sorted alphabetically"
527msgid "A-Z"
527msgid "A-Z"
528msgstr ""
528msgstr ""
po/zh_HK.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2014-08-10 11:45+0000\n"
11"PO-Revision-Date: 2014-08-10 11:45+0000\n"
12"Last-Translator: Daniel Cheung <daniel.2345@hotmail.com>\n"
12"Last-Translator: Daniel Cheung <daniel.2345@hotmail.com>\n"
13"Language-Team: Chinese (Hong Kong) <zh_HK@li.org>\n"
13"Language-Team: Chinese (Hong Kong) <zh_HK@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:14+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:188
21#: plugins/LightDM/Greeter.cpp:188
22msgid "Password: "
22msgid "Password: "
@@ -50,8 +50,8 @@ msgstr ""
50msgid "Guest Session"
50msgid "Guest Session"
51msgstr ""
51msgstr ""
52
52
53−#: plugins/Unity/Launcher/launcheritem.cpp:50
53+#: plugins/Unity/Launcher/launcheritem.cpp:49
54−#: plugins/Unity/Launcher/launcheritem.cpp:122
54+#: plugins/Unity/Launcher/launcheritem.cpp:123
55msgid "Pin shortcut"
55msgid "Pin shortcut"
56msgstr "釘住捷徑"
56msgstr "釘住捷徑"
57
57
@@ -59,20 +59,20 @@ msgstr "釘住捷徑"
59msgid "Quit"
59msgid "Quit"
60msgstr ""
60msgstr ""
61
61
62−#: plugins/Unity/Launcher/launcheritem.cpp:122
62+#: plugins/Unity/Launcher/launcheritem.cpp:123
63msgid "Unpin shortcut"
63msgid "Unpin shortcut"
64msgstr "取消捷徑釘選"
64msgstr "取消捷徑釘選"
65
65
66−#: qml/Components/Dialogs.qml:177
66+#: qml/Components/Dialogs.qml:176
67msgctxt "Title: Lock/Log out dialog"
67msgctxt "Title: Lock/Log out dialog"
68msgid "Log out"
68msgid "Log out"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:178
71+#: qml/Components/Dialogs.qml:177
72msgid "Are you sure you want to log out?"
72msgid "Are you sure you want to log out?"
73msgstr ""
73msgstr ""
74
74
75−#: qml/Components/Dialogs.qml:181
75+#: qml/Components/Dialogs.qml:180
76msgctxt "Button: Lock the system"
76msgctxt "Button: Lock the system"
77msgid "Lock"
77msgid "Lock"
78msgstr ""
78msgstr ""
@@ -517,11 +517,11 @@ msgstr ""
517msgid "Select desktop environment"
517msgid "Select desktop environment"
518msgstr ""
518msgstr ""
519
519
520−#: qml/Launcher/Drawer.qml:92
520+#: qml/Launcher/Drawer.qml:93
521msgid "Search…"
521msgid "Search…"
522msgstr ""
522msgstr ""
523
523
524−#: qml/Launcher/Drawer.qml:127
524+#: qml/Launcher/Drawer.qml:128
525msgctxt "Apps sorted alphabetically"
525msgctxt "Apps sorted alphabetically"
526msgid "A-Z"
526msgid "A-Z"
527msgstr ""
527msgstr ""
po/zh_TW.po+11−11
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2017-03-08 09:56+0000\n"
10+"POT-Creation-Date: 2017-03-21 10:58+0000\n"
11"PO-Revision-Date: 2016-02-24 04:40+0000\n"
11"PO-Revision-Date: 2016-02-24 04:40+0000\n"
12"Last-Translator: Po-Hsu Lin <po-hsu.lin@canonical.com>\n"
12"Last-Translator: Po-Hsu Lin <po-hsu.lin@canonical.com>\n"
13"Language-Team: Chinese (Traditional) <zh_TW@li.org>\n"
13"Language-Team: Chinese (Traditional) <zh_TW@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2017-03-14 07:14+0000\n"
18+"X-Launchpad-Export-Date: 2017-03-24 06:14+0000\n"
19−"X-Generator: Launchpad (build 18331)\n"
19+"X-Generator: Launchpad (build 18334)\n"
20"Language: zh_TW\n"
20"Language: zh_TW\n"
21
21
22#: plugins/LightDM/Greeter.cpp:188
22#: plugins/LightDM/Greeter.cpp:188
@@ -51,8 +51,8 @@ msgstr "登入"
51msgid "Guest Session"
51msgid "Guest Session"
52msgstr "訪客作業階段"
52msgstr "訪客作業階段"
53
53
54−#: plugins/Unity/Launcher/launcheritem.cpp:50
54+#: plugins/Unity/Launcher/launcheritem.cpp:49
55−#: plugins/Unity/Launcher/launcheritem.cpp:122
55+#: plugins/Unity/Launcher/launcheritem.cpp:123
56msgid "Pin shortcut"
56msgid "Pin shortcut"
57msgstr "釘住捷徑"
57msgstr "釘住捷徑"
58
58
@@ -60,20 +60,20 @@ msgstr "釘住捷徑"
60msgid "Quit"
60msgid "Quit"
61msgstr "結束"
61msgstr "結束"
62
62
63−#: plugins/Unity/Launcher/launcheritem.cpp:122
63+#: plugins/Unity/Launcher/launcheritem.cpp:123
64msgid "Unpin shortcut"
64msgid "Unpin shortcut"
65msgstr "取消捷徑釘選"
65msgstr "取消捷徑釘選"
66
66
67−#: qml/Components/Dialogs.qml:177
67+#: qml/Components/Dialogs.qml:176
68msgctxt "Title: Lock/Log out dialog"
68msgctxt "Title: Lock/Log out dialog"
69msgid "Log out"
69msgid "Log out"
70msgstr "登出"
70msgstr "登出"
71
71
72−#: qml/Components/Dialogs.qml:178
72+#: qml/Components/Dialogs.qml:177
73msgid "Are you sure you want to log out?"
73msgid "Are you sure you want to log out?"
74msgstr "確定要登出?"
74msgstr "確定要登出?"
75
75
76−#: qml/Components/Dialogs.qml:181
76+#: qml/Components/Dialogs.qml:180
77msgctxt "Button: Lock the system"
77msgctxt "Button: Lock the system"
78msgid "Lock"
78msgid "Lock"
79msgstr "上鎖"
79msgstr "上鎖"
@@ -517,11 +517,11 @@ msgstr ""
517msgid "Select desktop environment"
517msgid "Select desktop environment"
518msgstr ""
518msgstr ""
519
519
520−#: qml/Launcher/Drawer.qml:92
520+#: qml/Launcher/Drawer.qml:93
521msgid "Search…"
521msgid "Search…"
522msgstr "搜尋..."
522msgstr "搜尋..."
523
523
524−#: qml/Launcher/Drawer.qml:127
524+#: qml/Launcher/Drawer.qml:128
525msgctxt "Apps sorted alphabetically"
525msgctxt "Apps sorted alphabetically"
526msgid "A-Z"
526msgid "A-Z"
527msgstr "A-Z"
527msgstr "A-Z"
qml/ApplicationMenus/MenuBar.qml+10−6
@@ -45,14 +45,14 @@ Item {
45 implicitWidth: row.width
45 implicitWidth: row.width
46 height: parent.height
46 height: parent.height
47
47
48− function select(index) {
49− d.select(index);
50− }
51−
52 function dismiss() {
48 function dismiss() {
53 d.dismissAll();
49 d.dismissAll();
54 }
50 }
55
51
52+ function invokeMenu(mouseEvent) {
53+ mouseArea.onClicked(mouseEvent);
54+ }
55+
56 GlobalShortcut {
56 GlobalShortcut {
57 shortcut: Qt.Key_Alt|Qt.AltModifier
57 shortcut: Qt.Key_Alt|Qt.AltModifier
58 active: enableKeyFilter
58 active: enableKeyFilter
@@ -133,17 +133,20 @@ Item {
133
133
134 function show() {
134 function show() {
135 if (!__popup) {
135 if (!__popup) {
136+ root.unityMenuModel.aboutToShow(visualItem.__ownIndex);
136 __popup = menuComponent.createObject(root,
137 __popup = menuComponent.createObject(root,
137 {
138 {
138 objectName: visualItem.objectName + "-menu",
139 objectName: visualItem.objectName + "-menu",
139 desiredX: Qt.binding(function() { return visualItem.x - units.gu(1); }),
140 desiredX: Qt.binding(function() { return visualItem.x - units.gu(1); }),
140 desiredY: Qt.binding(function() { return root.height; }),
141 desiredY: Qt.binding(function() { return root.height; }),
141− unityMenuModel: Qt.binding(function() { return root.unityMenuModel.submenu(visualItem.__ownIndex); })
142+ unityMenuModel: Qt.binding(function() { return root.unityMenuModel.submenu(visualItem.__ownIndex); }),
143+ selectFirstOnCountChange: false
142 });
144 });
143 __popup.reset();
145 __popup.reset();
144 __popup.childActivated.connect(dismiss);
146 __popup.childActivated.connect(dismiss);
145 // force the current item to be the newly popped up menu
147 // force the current item to be the newly popped up menu
146− } else {
148+ } else if (!__popup.visible) {
149+ root.unityMenuModel.aboutToShow(visualItem.__ownIndex);
147 __popup.show();
150 __popup.show();
148 }
151 }
149 d.currentItem = visualItem;
152 d.currentItem = visualItem;
@@ -227,6 +230,7 @@ Item {
227 } // Row
230 } // Row
228
231
229 MouseArea {
232 MouseArea {
233+ id: mouseArea
230 anchors.fill: parent
234 anchors.fill: parent
231 hoverEnabled: d.currentItem
235 hoverEnabled: d.currentItem
232
236
qml/ApplicationMenus/MenuPopup.qml+14−6
@@ -34,6 +34,8 @@ UbuntuShape {
34 // if they don't fit when growing right
34 // if they don't fit when growing right
35 property bool substractWidth: false
35 property bool substractWidth: false
36
36
37+ property bool selectFirstOnCountChange: true
38+
37 property real desiredX
39 property real desiredX
38 x: {
40 x: {
39 var dummy = visible; // force recalc when shown/hidden
41 var dummy = visible; // force recalc when shown/hidden
@@ -74,8 +76,8 @@ UbuntuShape {
74 d.currentItem = null;
76 d.currentItem = null;
75 }
77 }
76
78
77− function select(index) {
79+ function selectFirstIndex() {
78− d.select(index)
80+ d.selectNext(-1);
79 }
81 }
80
82
81 function reset() {
83 function reset() {
@@ -303,6 +305,7 @@ UbuntuShape {
303
305
304 if (hasSubmenu) {
306 if (hasSubmenu) {
305 if (!popup) {
307 if (!popup) {
308+ root.unityMenuModel.aboutToShow(__ownIndex);
306 var model = root.unityMenuModel.submenu(__ownIndex);
309 var model = root.unityMenuModel.submenu(__ownIndex);
307 popup = submenuComponent.createObject(focusScope, {
310 popup = submenuComponent.createObject(focusScope, {
308 objectName: parent.objectName + "-",
311 objectName: parent.objectName + "-",
@@ -324,8 +327,10 @@ UbuntuShape {
324 popup = null;
327 popup = null;
325 root.childActivated();
328 root.childActivated();
326 });
329 });
327− } else if (popup) {
330+ } else if (!popup.visible) {
331+ root.unityMenuModel.aboutToShow(__ownIndex);
328 popup.visible = true;
332 popup.visible = true;
333+ popup.item.selectFirstIndex();
329 }
334 }
330 } else {
335 } else {
331 root.unityMenuModel.activate(__ownIndex);
336 root.unityMenuModel.activate(__ownIndex);
@@ -359,6 +364,12 @@ UbuntuShape {
359 Repeater {
364 Repeater {
360 id: repeater
365 id: repeater
361
366
367+ onCountChanged: {
368+ if (root.selectFirstOnCountChange && !d.currentItem && count > 0) {
369+ root.selectFirstIndex();
370+ }
371+ }
372+
362 Loader {
373 Loader {
363 id: loader
374 id: loader
364 objectName: root.objectName + "-item" + __ownIndex
375 objectName: root.objectName + "-item" + __ownIndex
@@ -486,9 +497,6 @@ UbuntuShape {
486 target: item
497 target: item
487 onChildActivated: childActivated();
498 onChildActivated: childActivated();
488 }
499 }
489−
490− Component.onCompleted: item.select(0);
491− onVisibleChanged: if (visible) { item.select(0); }
492 }
500 }
493 }
501 }
494 }
502 }
qml/Components/Dialogs.qml+5−5
@@ -22,7 +22,6 @@ import GlobalShortcut 1.0
22import Ubuntu.Components 1.3
22import Ubuntu.Components 1.3
23import Unity.Platform 1.0
23import Unity.Platform 1.0
24import Utils 0.1
24import Utils 0.1
25−import "../Greeter"
26
25
27MouseArea {
26MouseArea {
28 id: root
27 id: root
@@ -116,17 +115,17 @@ MouseArea {
116
115
117 GlobalShortcut { // lock screen
116 GlobalShortcut { // lock screen
118 shortcut: Qt.Key_ScreenSaver
117 shortcut: Qt.Key_ScreenSaver
119− onTriggered: LightDMService.greeter.showGreeter()
118+ onTriggered: root.unitySessionService.PromptLock()
120 }
119 }
121
120
122 GlobalShortcut { // lock screen
121 GlobalShortcut { // lock screen
123 shortcut: Qt.ControlModifier|Qt.AltModifier|Qt.Key_L
122 shortcut: Qt.ControlModifier|Qt.AltModifier|Qt.Key_L
124− onTriggered: LightDMService.greeter.showGreeter()
123+ onTriggered: root.unitySessionService.PromptLock()
125 }
124 }
126
125
127 GlobalShortcut { // lock screen
126 GlobalShortcut { // lock screen
128 shortcut: Qt.MetaModifier|Qt.Key_L
127 shortcut: Qt.MetaModifier|Qt.Key_L
129− onTriggered: LightDMService.greeter.showGreeter()
128+ onTriggered: root.unitySessionService.PromptLock()
130 }
129 }
131
130
132 QtObject {
131 QtObject {
@@ -179,8 +178,9 @@ MouseArea {
179 Button {
178 Button {
180 width: parent.width
179 width: parent.width
181 text: i18n.ctr("Button: Lock the system", "Lock")
180 text: i18n.ctr("Button: Lock the system", "Lock")
181+ visible: root.unitySessionService.CanLock()
182 onClicked: {
182 onClicked: {
183− LightDMService.greeter.showGreeter()
183+ root.unitySessionService.PromptLock();
184 logoutDialog.hide();
184 logoutDialog.hide();
185 }
185 }
186 Component.onCompleted: if (root.hasKeyboard) forceActiveFocus(Qt.TabFocusReason)
186 Component.onCompleted: if (root.hasKeyboard) forceActiveFocus(Qt.TabFocusReason)
qml/Launcher/Drawer.qml+5−1
@@ -27,6 +27,7 @@ FocusScope {
27
27
28 property int panelWidth: 0
28 property int panelWidth: 0
29 readonly property bool moving: listLoader.item && listLoader.item.moving
29 readonly property bool moving: listLoader.item && listLoader.item.moving
30+ readonly property Item searchTextField: searchField
30
31
31 signal applicationSelected(string appId)
32 signal applicationSelected(string appId)
32
33
@@ -212,13 +213,16 @@ FocusScope {
212 root.dragDistance += diff;
213 root.dragDistance += diff;
213 oldX = mouseX
214 oldX = mouseX
214 }
215 }
215− onReleased: {
216+ onReleased: reset();
217+ onCanceled: reset();
218+ function reset() {
216 if (root.draggingHorizontally) {
219 if (root.draggingHorizontally) {
217 root.draggingHorizontally = false;
220 root.draggingHorizontally = false;
218 parent.interactive = true;
221 parent.interactive = true;
219 }
222 }
220 reactivateTimer.start();
223 reactivateTimer.start();
221 }
224 }
225+
222 Timer {
226 Timer {
223 id: reactivateTimer
227 id: reactivateTimer
224 interval: 0
228 interval: 0
qml/Launcher/Launcher.qml+18−10
@@ -33,6 +33,7 @@ FocusScope {
33 property Item blurSource: null
33 property Item blurSource: null
34 property int topPanelHeight: 0
34 property int topPanelHeight: 0
35 property bool drawerEnabled: true
35 property bool drawerEnabled: true
36+ property alias privateMode: panel.privateMode
36
37
37 property int panelWidth: units.gu(10)
38 property int panelWidth: units.gu(10)
38 property int dragAreaWidth: units.gu(1)
39 property int dragAreaWidth: units.gu(1)
@@ -119,7 +120,14 @@ FocusScope {
119 }
120 }
120 return;
121 return;
121 }
122 }
123+ if (root.lockedVisible) {
124+ // Due to binding updates when switching between modes
125+ // it could happen that our request to show will be overwritten
126+ // with a hide request. Rewrite it when we know hiding is not allowed.
127+ switchToNextState("visible")
128+ } else {
122− switchToNextState("")
129+ switchToNextState("")
130+ }
123 }
131 }
124
132
125 function fadeOut() {
133 function fadeOut() {
@@ -155,6 +163,7 @@ FocusScope {
155
163
156 function openForKeyboardNavigation() {
164 function openForKeyboardNavigation() {
157 panel.highlightIndex = -1; // The BFB
165 panel.highlightIndex = -1; // The BFB
166+ drawer.focus = false;
158 root.focus = true;
167 root.focus = true;
159 switchToNextState("visible")
168 switchToNextState("visible")
160 }
169 }
@@ -257,13 +266,6 @@ FocusScope {
257 interval: 1
266 interval: 1
258 property string nextState: ""
267 property string nextState: ""
259 onTriggered: {
268 onTriggered: {
260− if (root.lockedVisible && nextState == "") {
261− // Due to binding updates when switching between modes
262− // it could happen that our request to show will be overwritten
263− // with a hide request. Rewrite it when we know hiding is not allowed.
264− nextState = "visible"
265− }
266−
267 // switching to an intermediate state here to make sure all the
269 // switching to an intermediate state here to make sure all the
268 // values are restored, even if we were already in the target state
270 // values are restored, even if we were already in the target state
269 root.state = "tmp"
271 root.state = "tmp"
@@ -362,6 +364,13 @@ FocusScope {
362 topMargin: root.inverted ? root.topPanelHeight : 0
364 topMargin: root.inverted ? root.topPanelHeight : 0
363 bottom: parent.bottom
365 bottom: parent.bottom
364 right: parent.left
366 right: parent.left
367+ onRightMarginChanged: {
368+ // Remove (and put back) the focus for the searchfield in
369+ // order to hide the copy/paste popover when we move the drawer
370+ var hadFocus = drawer.searchTextField.focus;
371+ drawer.searchTextField.focus = false;
372+ drawer.searchTextField.focus = hadFocus;
373+ }
365 }
374 }
366 width: Math.min(root.width, units.gu(90)) * .9
375 width: Math.min(root.width, units.gu(90)) * .9
367 panelWidth: panel.width
376 panelWidth: panel.width
@@ -382,8 +391,7 @@ FocusScope {
382 }
391 }
383
392
384 Keys.onEscapePressed: {
393 Keys.onEscapePressed: {
385− switchToNextState("");
394+ root.hide()
386− root.focus = false;
387 }
395 }
388
396
389 onDragDistanceChanged: {
397 onDragDistanceChanged: {
qml/Launcher/LauncherPanel.qml+8−1
@@ -19,6 +19,7 @@ import QtQml.StateMachine 1.0 as DSM
19import Ubuntu.Components 1.3
19import Ubuntu.Components 1.3
20import Unity.Launcher 0.1
20import Unity.Launcher 0.1
21import Ubuntu.Components.Popups 1.3
21import Ubuntu.Components.Popups 1.3
22+import Utils 0.1
22import "../Components"
23import "../Components"
23
24
24Rectangle {
25Rectangle {
@@ -29,6 +30,7 @@ Rectangle {
29
30
30 property var model
31 property var model
31 property bool inverted: false
32 property bool inverted: false
33+ property bool privateMode: false
32 property bool dragging: false
34 property bool dragging: false
33 property bool moving: launcherListView.moving || launcherListView.flicking
35 property bool moving: launcherListView.moving || launcherListView.flicking
34 property bool preventHiding: moving || dndArea.draggedIndex >= 0 || quickList.state === "open" || dndArea.pressed
36 property bool preventHiding: moving || dndArea.draggedIndex >= 0 || quickList.state === "open" || dndArea.pressed
@@ -811,7 +813,11 @@ Rectangle {
811
813
812 Repeater {
814 Repeater {
813 id: popoverRepeater
815 id: popoverRepeater
816+ objectName: "popoverRepeater"
817+ model: QuickListProxyModel {
814− model: quickList.model
818+ source: quickList.model
819+ privateMode: root.privateMode
820+ }
815
821
816 ListItem {
822 ListItem {
817 objectName: "quickListEntry" + index
823 objectName: "quickListEntry" + index
@@ -835,6 +841,7 @@ Rectangle {
835 fontSize: index == 0 ? "medium" : "small"
841 fontSize: index == 0 ? "medium" : "small"
836 font.weight: index == 0 ? Font.Medium : Font.Light
842 font.weight: index == 0 ? Font.Medium : Font.Light
837 color: model.clickable ? theme.palette.normal.backgroundText : theme.palette.disabled.backgroundText
843 color: model.clickable ? theme.palette.normal.backgroundText : theme.palette.disabled.backgroundText
844+ elide: Text.ElideRight
838 }
845 }
839
846
840 onClicked: {
847 onClicked: {
qml/Panel/Indicators/client/IndicatorRepresentation.qml+18−5
@@ -20,6 +20,7 @@
20
20
21import QtQuick 2.4
21import QtQuick 2.4
22import Ubuntu.Components 1.3
22import Ubuntu.Components 1.3
23+import ".."
23import "../.."
24import "../.."
24
25
25Page {
26Page {
@@ -77,11 +78,23 @@ Page {
77
78
78 Component {
79 Component {
79 id: page
80 id: page
80− IndicatorPage {
81+ PanelMenuPage {
82+ objectName: model.identifier + "-page"
83+ submenuIndex: 0
84+
85+ menuModel: delegate.menuModel
86+
87+ factory: IndicatorMenuItemFactory {
81− identifier: model.identifier
88+ indicator: model.identifier
89+ rootModel: delegate.menuModel
90+ }
91+
92+ IndicatorDelegate {
93+ id: delegate
82− busName: indicatorProperties.busName
94+ busName: indicatorProperties.busName
83− actionsObjectPath: indicatorProperties.actionsObjectPath
95+ actionsObjectPath: indicatorProperties.actionsObjectPath
84− menuObjectPath: indicatorProperties.menuObjectPath
96+ menuObjectPath: indicatorProperties.menuObjectPath
97+ }
85 }
98 }
86 }
99 }
87 Component {
100 Component {
qml/Panel/MenuContent.qml+2−2
@@ -44,9 +44,9 @@ Rectangle {
44 anchors.fill: parent
44 anchors.fill: parent
45 model: content.model
45 model: content.model
46
46
47− highlightFollowsCurrentItem: true
47+ highlightFollowsCurrentItem: false
48+ contentX: currentIndex * width
48 interactive: false
49 interactive: false
49− highlightMoveDuration: 0
50 orientation: ListView.Horizontal
50 orientation: ListView.Horizontal
51 // Load all the indicator menus (a big number)
51 // Load all the indicator menus (a big number)
52 cacheBuffer: 1073741823
52 cacheBuffer: 1073741823
qml/Panel/Panel.qml+42−4
@@ -38,6 +38,7 @@ Item {
38 property real expandedPanelHeight: units.gu(7)
38 property real expandedPanelHeight: units.gu(7)
39 property real indicatorMenuWidth: width
39 property real indicatorMenuWidth: width
40 property real applicationMenuWidth: width
40 property real applicationMenuWidth: width
41+ property alias applicationMenuContentX: __applicationMenus.menuContentX
41
42
42 property alias applicationMenus: __applicationMenus
43 property alias applicationMenus: __applicationMenus
43 property alias indicators: __indicators
44 property alias indicators: __indicators
@@ -175,6 +176,10 @@ Item {
175 // let it fall through to the window decoration of the maximized window behind, if any
176 // let it fall through to the window decoration of the maximized window behind, if any
176 mouse.accepted = false;
177 mouse.accepted = false;
177 }
178 }
179+ var menubar = menuBarLoader.item;
180+ if (menubar) {
181+ menubar.invokeMenu(mouse);
182+ }
178 }
183 }
179
184
180 Row {
185 Row {
@@ -201,16 +206,17 @@ Item {
201
206
202 Loader {
207 Loader {
203 id: menuBarLoader
208 id: menuBarLoader
209+ objectName: "menuBarLoader"
204 height: parent.height
210 height: parent.height
205 enabled: d.enablePointerMenu
211 enabled: d.enablePointerMenu
206 opacity: d.showPointerMenu ? 1 : 0
212 opacity: d.showPointerMenu ? 1 : 0
207 visible: opacity != 0
213 visible: opacity != 0
208 Behavior on opacity { UbuntuNumberAnimation { duration: UbuntuAnimation.SnapDuration } }
214 Behavior on opacity { UbuntuNumberAnimation { duration: UbuntuAnimation.SnapDuration } }
209− active: __applicationMenus.model
215+ active: __applicationMenus.model && !callHint.visible
210
216
211 width: parent.width - windowControlButtons.width - units.gu(2) - __indicators.barWidth
217 width: parent.width - windowControlButtons.width - units.gu(2) - __indicators.barWidth
212
218
213− property bool menusRequested: menuBarLoader.item ? menuBarLoader.item.showRequested : false
219+ readonly property bool menusRequested: menuBarLoader.item ? menuBarLoader.item.showRequested : false
214
220
215 sourceComponent: MenuBar {
221 sourceComponent: MenuBar {
216 id: bar
222 id: bar
@@ -233,6 +239,7 @@ Item {
233 }
239 }
234
240
235 onDoubleClicked: panelState.restoreClicked()
241 onDoubleClicked: panelState.restoreClicked()
242+ onPressed: mouse.accepted = false // let the parent mouse area handle this, so it can both unsnap window and show menu
236 }
243 }
237 }
244 }
238 }
245 }
@@ -252,6 +259,7 @@ Item {
252 PanelMenu {
259 PanelMenu {
253 id: __applicationMenus
260 id: __applicationMenus
254
261
262+ x: menuContentX
255 model: registeredMenuModel.model
263 model: registeredMenuModel.model
256 width: root.applicationMenuWidth
264 width: root.applicationMenuWidth
257 minimizedPanelHeight: root.minimizedPanelHeight
265 minimizedPanelHeight: root.minimizedPanelHeight
@@ -260,6 +268,7 @@ Item {
260 alignment: Qt.AlignLeft
268 alignment: Qt.AlignLeft
261 enableHint: !callHint.active && !fullscreenMode
269 enableHint: !callHint.active && !fullscreenMode
262 showOnClick: false
270 showOnClick: false
271+ adjustDragHandleSizeToContents: false
263 panelColor: panelAreaBackground.color
272 panelColor: panelAreaBackground.color
264
273
265 onShowTapped: {
274 onShowTapped: {
@@ -268,12 +277,12 @@ Item {
268 }
277 }
269 }
278 }
270
279
271− showRowTitle: !expanded
280+ hideRow: !expanded
272− rowTitle: panelState.title
273 rowItemDelegate: ActionItem {
281 rowItemDelegate: ActionItem {
274 id: actionItem
282 id: actionItem
275 property int ownIndex: index
283 property int ownIndex: index
276 objectName: "appMenuItem"+index
284 objectName: "appMenuItem"+index
285+ enabled: model.sensitive
277
286
278 width: _title.width + units.gu(2)
287 width: _title.width + units.gu(2)
279 height: parent.height
288 height: parent.height
@@ -292,6 +301,13 @@ Item {
292 }
301 }
293
302
294 pageDelegate: PanelMenuPage {
303 pageDelegate: PanelMenuPage {
304+ readonly property bool isCurrent: modelIndex == __applicationMenus.currentMenuIndex
305+ onIsCurrentChanged: {
306+ if (isCurrent && menuModel) {
307+ menuModel.aboutToShow(modelIndex);
308+ }
309+ }
310+
295 menuModel: __applicationMenus.model
311 menuModel: __applicationMenus.model
296 submenuIndex: modelIndex
312 submenuIndex: modelIndex
297
313
@@ -310,6 +326,28 @@ Item {
310 }
326 }
311 }
327 }
312
328
329+ Label {
330+ id: rowLabel
331+ objectName: "panelTitle"
332+ anchors {
333+ left: parent.left
334+ leftMargin: units.gu(1)
335+ right: __indicators.left
336+ rightMargin: units.gu(1)
337+ }
338+ height: root.minimizedPanelHeight
339+ verticalAlignment: Text.AlignVCenter
340+ elide: Text.ElideRight
341+ maximumLineCount: 1
342+ fontSize: "medium"
343+ font.weight: Font.Medium
344+ color: Theme.palette.selected.backgroundText
345+ opacity: __applicationMenus.visible && !__applicationMenus.expanded ? 1 : 0
346+ visible: opacity != 0
347+ Behavior on opacity { NumberAnimation { duration: UbuntuAnimation.SnapDuration } }
348+ text: PanelState.title
349+ }
350+
313 PanelMenu {
351 PanelMenu {
314 id: __indicators
352 id: __indicators
315 objectName: "indicators"
353 objectName: "indicators"
qml/Panel/PanelBar.qml+17−2
@@ -30,8 +30,7 @@ Item {
30 property real lateralPosition: -1
30 property real lateralPosition: -1
31 property int alignment: Qt.AlignRight
31 property int alignment: Qt.AlignRight
32
32
33− property alias showRowTitle: row.showRowTitle
33+ property alias hideRow: row.hideRow
34− property alias rowTitle: row.rowTitle
35 property alias rowItemDelegate: row.delegate
34 property alias rowItemDelegate: row.delegate
36
35
37 implicitWidth: flickable.contentWidth
36 implicitWidth: flickable.contentWidth
@@ -44,6 +43,22 @@ Item {
44 row.selectItemAt(mapped.x);
43 row.selectItemAt(mapped.x);
45 }
44 }
46
45
46+ function selectPreviousItem() {
47+ if (!expanded) {
48+ row.resetCurrentItem();
49+ }
50+ row.selectPreviousItem();
51+ d.alignIndicators();
52+ }
53+
54+ function selectNextItem() {
55+ if (!expanded) {
56+ row.resetCurrentItem();
57+ }
58+ row.selectNextItem();
59+ d.alignIndicators();
60+ }
61+
47 function setCurrentItemIndex(index) {
62 function setCurrentItemIndex(index) {
48 if (!expanded) {
63 if (!expanded) {
49 row.resetCurrentItem();
64 row.resetCurrentItem();
qml/Panel/PanelItemRow.qml+35−29
@@ -20,11 +20,10 @@ import "../Components"
20
20
21Item {
21Item {
22 id: root
22 id: root
23− implicitWidth: showRowTitle && !expanded ? rowTitle != "" ? rowLabel.width : 0 : row.width
23+ implicitWidth: row.width
24 implicitHeight: units.gu(3)
24 implicitHeight: units.gu(3)
25
25
26− property bool showRowTitle: false
26+ property bool hideRow: false
27− property alias rowTitle: rowLabel.text
28 property QtObject model: null
27 property QtObject model: null
29 property real overFlowWidth: width
28 property real overFlowWidth: width
30 property bool expanded: false
29 property bool expanded: false
@@ -96,31 +95,57 @@ Item {
96 row.currentIndex = -1;
95 row.currentIndex = -1;
97 }
96 }
98
97
98+ function selectPreviousItem() {
99+ var indexToSelect = currentItemIndex - 1;
100+ while (indexToSelect >= 0) {
101+ if (setCurrentItemIndex(indexToSelect))
102+ return;
103+ indexToSelect = indexToSelect - 1;
104+ }
105+ }
106+
107+ function selectNextItem() {
108+ var indexToSelect = currentItemIndex + 1;
109+ while (indexToSelect < row.contentItem.children.length) {
110+ if (setCurrentItemIndex(indexToSelect))
111+ return;
112+ indexToSelect = indexToSelect + 1;
113+ }
114+ }
115+
99 function setCurrentItemIndex(index) {
116 function setCurrentItemIndex(index) {
100 for (var i = 0; i < row.contentItem.children.length; i++) {
117 for (var i = 0; i < row.contentItem.children.length; i++) {
101 var item = row.contentItem.children[i];
118 var item = row.contentItem.children[i];
102− if (item.hasOwnProperty("ownIndex") && item.ownIndex === index) {
119+ if (item.hasOwnProperty("ownIndex") && item.ownIndex === index && item.enabled) {
120+ if (currentItem !== item) {
103− if (currentItem !== item) row.currentIndex = index;
121+ row.currentIndex = index;
104− break;
122+ }
123+ return true;
105 }
124 }
106 }
125 }
126+ return false;
107 }
127 }
108
128
109 function selectItemAt(lateralPosition) {
129 function selectItemAt(lateralPosition) {
110 var item = indicatorAt(lateralPosition, 0);
130 var item = indicatorAt(lateralPosition, 0);
111− if (item && item.opacity > 0) {
131+ if (item && item.opacity > 0 && item.enabled) {
112 row.currentIndex = item.ownIndex;
132 row.currentIndex = item.ownIndex;
113 } else {
133 } else {
114 // Select default item.
134 // Select default item.
115 var searchIndex = lateralPosition >= width ? row.count - 1 : 0;
135 var searchIndex = lateralPosition >= width ? row.count - 1 : 0;
116
136
117 for (var i = 0; i < row.contentItem.children.length; i++) {
137 for (var i = 0; i < row.contentItem.children.length; i++) {
118− if (row.contentItem.children[i].hasOwnProperty("ownIndex") && row.contentItem.children[i].ownIndex === searchIndex) {
138+ if (row.contentItem.children[i].hasOwnProperty("ownIndex") &&
139+ row.contentItem.children[i].ownIndex === searchIndex &&
140+ row.contentItem.children[i].enabled)
141+ {
119 item = row.contentItem.children[i];
142 item = row.contentItem.children[i];
120 break;
143 break;
121 }
144 }
122 }
145 }
146+ if (item && currentItem !== item) {
123− if (currentItem !== item) row.currentIndex = item ? item.ownIndex : -1;
147+ row.currentIndex = item.ownIndex;
148+ }
124 }
149 }
125 }
150 }
126
151
@@ -138,31 +163,12 @@ Item {
138 d.previousItem = currentItem;
163 d.previousItem = currentItem;
139 }
164 }
140
165
141− Label {
142− id: rowLabel
143− objectName: "panelTitle"
144− anchors {
145− left: parent.left
146− leftMargin: units.gu(1)
147− verticalCenter: parent.verticalCenter
148− }
149− width: implicitWidth + units.gu(2)
150− elide: Text.ElideRight
151− maximumLineCount: 1
152− fontSize: "medium"
153− font.weight: Font.Medium
154− color: Theme.palette.selected.backgroundText
155− opacity: showRowTitle ? 1 : 0
156− visible: opacity != 0
157− Behavior on opacity { NumberAnimation { duration: UbuntuAnimation.SnapDuration } }
158− }
159−
160 ListView {
166 ListView {
161 id: row
167 id: row
162 objectName: "panelRow"
168 objectName: "panelRow"
163 orientation: ListView.Horizontal
169 orientation: ListView.Horizontal
164 model: root.model
170 model: root.model
165− opacity: showRowTitle ? 0 : 1
171+ opacity: hideRow ? 0 : 1
166 // dont set visible on basis of opacity; otherwise width will not be calculated correctly
172 // dont set visible on basis of opacity; otherwise width will not be calculated correctly
167 anchors {
173 anchors {
168 top: parent.top
174 top: parent.top
qml/Panel/PanelMenu.qml+37−25
@@ -32,11 +32,12 @@ Showable {
32 property real openedHeight: units.gu(71)
32 property real openedHeight: units.gu(71)
33 property bool enableHint: true
33 property bool enableHint: true
34 property bool showOnClick: true
34 property bool showOnClick: true
35+ property bool adjustDragHandleSizeToContents: true
35 property color panelColor: theme.palette.normal.background
36 property color panelColor: theme.palette.normal.background
37+ property real menuContentX: 0
36
38
37 property alias alignment: bar.alignment
39 property alias alignment: bar.alignment
38− property alias rowTitle: bar.rowTitle
40+ property alias hideRow: bar.hideRow
39− property alias showRowTitle: bar.showRowTitle
40 property alias rowItemDelegate: bar.rowItemDelegate
41 property alias rowItemDelegate: bar.rowItemDelegate
41 property alias pageDelegate: content.pageDelegate
42 property alias pageDelegate: content.pageDelegate
42
43
@@ -45,7 +46,8 @@ Showable {
45 readonly property bool partiallyOpened: unitProgress > 0 && unitProgress < 1.0
46 readonly property bool partiallyOpened: unitProgress > 0 && unitProgress < 1.0
46 readonly property bool fullyClosed: unitProgress == 0
47 readonly property bool fullyClosed: unitProgress == 0
47 readonly property alias expanded: bar.expanded
48 readonly property alias expanded: bar.expanded
48− readonly property int barWidth: Math.min(bar.width, bar.implicitWidth)
49+ readonly property int barWidth: adjustDragHandleSizeToContents ? Math.min(bar.width, bar.implicitWidth) : bar.width
50+ readonly property alias currentMenuIndex: bar.currentItemIndex
49
51
50 signal showTapped()
52 signal showTapped()
51
53
@@ -77,33 +79,42 @@ Showable {
77
79
78 shown: false
80 shown: false
79 height: minimizedPanelHeight
81 height: minimizedPanelHeight
80− clip: root.partiallyOpened
81
82
82 onUnitProgressChanged: d.updateState()
83 onUnitProgressChanged: d.updateState()
83
84
84− // eater
85+ Item {
85− MouseArea {
86− anchors.fill: content
87− hoverEnabled: true
88− acceptedButtons: Qt.AllButtons
89− onWheel: wheel.accepted = true;
90− enabled: root.state != "initial"
91− visible: content.visible
92− }
93−
94− MenuContent {
95− id: content
96− objectName: "menuContent"
97−
98 anchors {
86 anchors {
99 left: parent.left
87 left: parent.left
100 right: parent.right
88 right: parent.right
101 top: bar.bottom
89 top: bar.bottom
90+ bottom: parent.bottom
91+ }
92+ clip: root.partiallyOpened
93+
94+ // eater
95+ MouseArea {
96+ anchors.fill: content
97+ hoverEnabled: true
98+ acceptedButtons: Qt.AllButtons
99+ onWheel: wheel.accepted = true;
100+ enabled: root.state != "initial"
101+ visible: content.visible
102+ }
103+
104+ MenuContent {
105+ id: content
106+ objectName: "menuContent"
107+
108+ anchors {
109+ left: parent.left
110+ right: parent.right
111+ top: parent.top
112+ }
113+ height: openedHeight - bar.height - handle.height
114+ model: root.model
115+ visible: root.unitProgress > 0
116+ currentMenuIndex: bar.currentItemIndex
102 }
117 }
103− height: openedHeight - bar.height - handle.height
104− model: root.model
105− visible: root.unitProgress > 0
106− currentMenuIndex: bar.currentItemIndex
107 }
118 }
108
119
109 Handle {
120 Handle {
@@ -142,10 +153,10 @@ Showable {
142
153
143 Keys.onPressed: {
154 Keys.onPressed: {
144 if (event.key === Qt.Key_Left) {
155 if (event.key === Qt.Key_Left) {
145− bar.setCurrentItemIndex(bar.currentItemIndex - 1);
156+ bar.selectPreviousItem();
146 event.accepted = true;
157 event.accepted = true;
147 } else if (event.key === Qt.Key_Right) {
158 } else if (event.key === Qt.Key_Right) {
148− bar.setCurrentItemIndex(bar.currentItemIndex + 1);
159+ bar.selectNextItem();
149 event.accepted = true;
160 event.accepted = true;
150 } else if (event.key === Qt.Key_Escape) {
161 } else if (event.key === Qt.Key_Escape) {
151 root.hide();
162 root.hide();
@@ -217,8 +228,9 @@ Showable {
217 objectName: "showDragHandle"
228 objectName: "showDragHandle"
218 anchors.bottom: parent.bottom
229 anchors.bottom: parent.bottom
219 anchors.left: alignment == Qt.AlignLeft ? parent.left : undefined
230 anchors.left: alignment == Qt.AlignLeft ? parent.left : undefined
231+ anchors.leftMargin: -root.menuContentX
220 anchors.right: alignment == Qt.AlignRight ? parent.right : undefined
232 anchors.right: alignment == Qt.AlignRight ? parent.right : undefined
221− width: root.barWidth // show handle should only cover panel items.
233+ width: root.barWidth + root.menuContentX // show handle should only cover panel items.
222 height: minimizedPanelHeight
234 height: minimizedPanelHeight
223 direction: Direction.Downwards
235 direction: Direction.Downwards
224 enabled: !root.shown && root.available
236 enabled: !root.shown && root.available
qml/Panel/PanelMenuPage.qml+2−1
@@ -63,7 +63,7 @@ PageStack {
63 if (model) {
63 if (model) {
64 push(pageComponent, { "menuModel": model });
64 push(pageComponent, { "menuModel": model });
65 }
65 }
66− } else {
66+ } else if (root.currentPage) {
67 root.currentPage.reset();
67 root.currentPage.reset();
68 }
68 }
69 }
69 }
@@ -192,6 +192,7 @@ PageStack {
192 if (item.hasOwnProperty("clicked")) {
192 if (item.hasOwnProperty("clicked")) {
193 item.clicked.connect(function() {
193 item.clicked.connect(function() {
194 if (model.hasSubmenu) {
194 if (model.hasSubmenu) {
195+ page.menuModel.aboutToShow(modelIndex);
195 root.push(pageComponent, {
196 root.push(pageComponent, {
196 "isSubmenu": true,
197 "isSubmenu": true,
197 "title": model.label.replace(/_|&/, ""),
198 "title": model.label.replace(/_|&/, ""),
qml/Shell.qml+13−2
@@ -440,7 +440,9 @@ StyledItem {
440 id: showGreeterDelayed
440 id: showGreeterDelayed
441 interval: 1
441 interval: 1
442 onTriggered: {
442 onTriggered: {
443− greeter.forceShow();
443+ // Go through the dbus service, because it has checks for whether
444+ // we are even allowed to lock or not.
445+ DBusUnitySessionService.PromptLock();
444 }
446 }
445 }
447 }
446
448
@@ -514,6 +516,7 @@ StyledItem {
514 expandedPanelHeight: units.gu(7)
516 expandedPanelHeight: units.gu(7)
515 indicatorMenuWidth: parent.width > units.gu(60) ? units.gu(40) : parent.width
517 indicatorMenuWidth: parent.width > units.gu(60) ? units.gu(40) : parent.width
516 applicationMenuWidth: parent.width > units.gu(60) ? units.gu(40) : parent.width
518 applicationMenuWidth: parent.width > units.gu(60) ? units.gu(40) : parent.width
519+ applicationMenuContentX: launcher.lockedVisible ? launcher.panelWidth : 0
517
520
518 indicators {
521 indicators {
519 hides: [launcher]
522 hides: [launcher]
@@ -574,6 +577,7 @@ StyledItem {
574 blurSource: greeter.shown ? greeter : stages
577 blurSource: greeter.shown ? greeter : stages
575 topPanelHeight: panel.panelHeight
578 topPanelHeight: panel.panelHeight
576 drawerEnabled: !greeter.active
579 drawerEnabled: !greeter.active
580+ privateMode: greeter.active
577
581
578 onShowDashHome: showHome()
582 onShowDashHome: showHome()
579 onLauncherApplicationSelected: {
583 onLauncherApplicationSelected: {
@@ -582,7 +586,14 @@ StyledItem {
582 }
586 }
583 onShownChanged: {
587 onShownChanged: {
584 if (shown) {
588 if (shown) {
585− panel.indicators.hide()
589+ panel.indicators.hide();
590+ panel.applicationMenus.hide();
591+ }
592+ }
593+ onDrawerShownChanged: {
594+ if (drawerShown) {
595+ panel.indicators.hide();
596+ panel.applicationMenus.hide();
586 }
597 }
587 }
598 }
588 onFocusChanged: {
599 onFocusChanged: {
qml/Stage/ChildWindowTree.qml−4
@@ -60,10 +60,6 @@ Item {
60 property real windowedX: x
60 property real windowedX: x
61 property real windowedY: y
61 property real windowedY: y
62
62
63−
64− property real restoredX
65− property real restoredY
66−
67 state: "restored"
63 state: "restored"
68 // end of API expected by MoveHandler
64 // end of API expected by MoveHandler
69 ////
65 ////
qml/Stage/DecoratedWindow.qml+5−2
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2014-2016 Canonical, Ltd.
2+ * Copyright (C) 2014-2017 Canonical, Ltd.
3 *
3 *
4 * This program is free software; you can redistribute it and/or modify
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
5 * it under the terms of the GNU General Public License as published by
@@ -38,6 +38,7 @@ FocusScope {
38 property alias maximizeButtonShown: decoration.maximizeButtonShown
38 property alias maximizeButtonShown: decoration.maximizeButtonShown
39 property alias interactive: applicationWindow.interactive
39 property alias interactive: applicationWindow.interactive
40 readonly property alias orientationChangesEnabled: applicationWindow.orientationChangesEnabled
40 readonly property alias orientationChangesEnabled: applicationWindow.orientationChangesEnabled
41+ property PanelState panelState
41
42
42 // Changing this will actually add/remove a decoration, meaning, requestedHeight will take the decoration into account.
43 // Changing this will actually add/remove a decoration, meaning, requestedHeight will take the decoration into account.
43 property bool hasDecoration: true
44 property bool hasDecoration: true
@@ -72,7 +73,7 @@ FocusScope {
72
73
73 readonly property Item clientAreaItem: applicationWindow
74 readonly property Item clientAreaItem: applicationWindow
74
75
75− property PanelState panelState
76+ property alias altDragEnabled: altDragHandler.enabled
76
77
77 signal closeClicked()
78 signal closeClicked()
78 signal maximizeClicked()
79 signal maximizeClicked()
@@ -215,6 +216,7 @@ FocusScope {
215
216
216 opacity: root.hasDecoration ? Math.min(1, root.showDecoration) : 0
217 opacity: root.hasDecoration ? Math.min(1, root.showDecoration) : 0
217 Behavior on opacity { UbuntuNumberAnimation { } }
218 Behavior on opacity { UbuntuNumberAnimation { } }
219+ visible: opacity > 0 // don't eat input when decoration is fully translucent
218
220
219 onPressed: root.decorationPressed();
221 onPressed: root.decorationPressed();
220 onPressedChanged: moveHandler.handlePressedChanged(pressed, pressedButtons, mouseX, mouseY)
222 onPressedChanged: moveHandler.handlePressedChanged(pressed, pressedButtons, mouseX, mouseY)
@@ -269,6 +271,7 @@ FocusScope {
269 acceptedButtons: Qt.LeftButton
271 acceptedButtons: Qt.LeftButton
270 property bool dragging: false
272 property bool dragging: false
271 cursorShape: undefined // don't interfere with the cursor shape set by the underlying MirSurfaceItem
273 cursorShape: undefined // don't interfere with the cursor shape set by the underlying MirSurfaceItem
274+ visible: enabled
272 onPressed: {
275 onPressed: {
273 if (mouse.button == Qt.LeftButton && mouse.modifiers == Qt.AltModifier) {
276 if (mouse.button == Qt.LeftButton && mouse.modifiers == Qt.AltModifier) {
274 root.decorationPressed(); // to raise it
277 root.decorationPressed(); // to raise it
qml/Stage/MoveHandler.qml−5
@@ -188,11 +188,6 @@ QtObject {
188 priv.progress = 0;
188 priv.progress = 0;
189 priv.resetEdges();
189 priv.resetEdges();
190 }
190 }
191− if ((target.state == "normal" || target.state == "restored") && priv.progress == 0) {
192− // save the x/y to restore to
193− target.restoredX = target.x;
194− target.restoredY = target.y;
195− }
196 }
191 }
197
192
198 function cancelDrag() {
193 function cancelDrag() {
qml/Stage/Spread/Spread.qml+11
@@ -40,6 +40,7 @@ Item {
40 property real rightEdgeBreakPoint: Math.min(units.gu(40) / root.width, .35)
40 property real rightEdgeBreakPoint: Math.min(units.gu(40) / root.width, .35)
41
41
42 signal leaveSpread()
42 signal leaveSpread()
43+ signal closeCurrentApp();
43
44
44 // Calculated stuff
45 // Calculated stuff
45 readonly property int totalItemCount: model.count
46 readonly property int totalItemCount: model.count
@@ -118,6 +119,13 @@ Item {
118 Behavior on opacity { UbuntuNumberAnimation { } }
119 Behavior on opacity { UbuntuNumberAnimation { } }
119 }
120 }
120
121
122+ readonly property int itemCount: root.model.count
123+ onItemCountChanged: {
124+ if (highlightedIndex >= itemCount) {
125+ highlightedIndex = itemCount - 1
126+ }
127+ }
128+
121 Keys.onPressed: {
129 Keys.onPressed: {
122 switch (event.key) {
130 switch (event.key) {
123 case Qt.Key_Left:
131 case Qt.Key_Left:
@@ -130,6 +138,9 @@ Item {
130 selectNext(event.isAutoRepeat)
138 selectNext(event.isAutoRepeat)
131 event.accepted = true;
139 event.accepted = true;
132 break;
140 break;
141+ case Qt.Key_Q:
142+ closeCurrentApp();
143+ break;
133 case Qt.Key_Escape:
144 case Qt.Key_Escape:
134 highlightedIndex = -1
145 highlightedIndex = -1
135 // Falling through intentionally
146 // Falling through intentionally
qml/Stage/Stage.qml+25−2
@@ -576,6 +576,12 @@ FocusScope {
576 onLeaveSpread: {
576 onLeaveSpread: {
577 priv.goneToSpread = false;
577 priv.goneToSpread = false;
578 }
578 }
579+
580+ onCloseCurrentApp: {
581+ if (!appRepeater.itemAt(highlightedIndex).isDash) {
582+ appRepeater.itemAt(highlightedIndex).close();
583+ }
584+ }
579 }
585 }
580
586
581 Connections {
587 Connections {
@@ -754,6 +760,14 @@ FocusScope {
754 normalHeight = appDelegate.height;
760 normalHeight = appDelegate.height;
755 }
761 }
756 }
762 }
763+ function updateRestoredGeometry() {
764+ if (appDelegate.state == "normal" || appDelegate.state == "restored") {
765+ // save the x/y to restore to
766+ restoredX = appDelegate.x;
767+ restoredY = appDelegate.y;
768+ }
769+ }
770+
757 Connections {
771 Connections {
758 target: appDelegate
772 target: appDelegate
759 onXChanged: appDelegate.updateNormalGeometry();
773 onXChanged: appDelegate.updateNormalGeometry();
@@ -1303,6 +1317,10 @@ FocusScope {
1303 target: stageMaths
1317 target: stageMaths
1304 animateX: !focusAnimation.running && itemIndex !== spreadItem.highlightedIndex
1318 animateX: !focusAnimation.running && itemIndex !== spreadItem.highlightedIndex
1305 }
1319 }
1320+ PropertyChanges {
1321+ target: appDelegate.window
1322+ allowClientResize: false
1323+ }
1306 },
1324 },
1307 State {
1325 State {
1308 name: "stagedWithSideStage"; when: root.state == "stagedWithSideStage"
1326 name: "stagedWithSideStage"; when: root.state == "stagedWithSideStage"
@@ -1328,6 +1346,10 @@ FocusScope {
1328 target: resizeArea
1346 target: resizeArea
1329 enabled: false
1347 enabled: false
1330 }
1348 }
1349+ PropertyChanges {
1350+ target: appDelegate.window
1351+ allowClientResize: false
1352+ }
1331 },
1353 },
1332 State {
1354 State {
1333 name: "maximized"; when: appDelegate.maximized && !appDelegate.minimized
1355 name: "maximized"; when: appDelegate.maximized && !appDelegate.minimized
@@ -1600,6 +1622,7 @@ FocusScope {
1600 highlightSize: windowInfoItem.iconMargin / 2
1622 highlightSize: windowInfoItem.iconMargin / 2
1601 boundsItem: boundariesForWindowPlacement
1623 boundsItem: boundariesForWindowPlacement
1602 panelState: root.panelState
1624 panelState: root.panelState
1625+ altDragEnabled: root.mode == "windowed"
1603
1626
1604 requestedWidth: appDelegate.requestedWidth
1627 requestedWidth: appDelegate.requestedWidth
1605 requestedHeight: appDelegate.requestedHeight
1628 requestedHeight: appDelegate.requestedHeight
@@ -1628,7 +1651,7 @@ FocusScope {
1628 }
1651 }
1629 onMinimizeClicked: { appDelegate.requestMinimize(); }
1652 onMinimizeClicked: { appDelegate.requestMinimize(); }
1630 onDecorationPressed: { appDelegate.activate(); }
1653 onDecorationPressed: { appDelegate.activate(); }
1631− onDecorationReleased: fakeRectangle.commit();
1654+ onDecorationReleased: fakeRectangle.visible ? fakeRectangle.commit() : appDelegate.updateRestoredGeometry()
1632
1655
1633 property real angle: 0
1656 property real angle: 0
1634 Behavior on angle { enabled: priv.closingIndex >= 0; UbuntuNumberAnimation {} }
1657 Behavior on angle { enabled: priv.closingIndex >= 0; UbuntuNumberAnimation {} }
@@ -1672,7 +1695,7 @@ FocusScope {
1672 onFakeMaximizeBottomLeftAnimationRequested: if (!appDelegate.maximizedBottomLeft) fakeRectangle.maximizeBottomLeft(amount, true);
1695 onFakeMaximizeBottomLeftAnimationRequested: if (!appDelegate.maximizedBottomLeft) fakeRectangle.maximizeBottomLeft(amount, true);
1673 onFakeMaximizeBottomRightAnimationRequested: if (!appDelegate.maximizedBottomRight) fakeRectangle.maximizeBottomRight(amount, true);
1696 onFakeMaximizeBottomRightAnimationRequested: if (!appDelegate.maximizedBottomRight) fakeRectangle.maximizeBottomRight(amount, true);
1674 onStopFakeAnimation: fakeRectangle.stop();
1697 onStopFakeAnimation: fakeRectangle.stop();
1675− onDragReleased: fakeRectangle.commit();
1698+ onDragReleased: fakeRectangle.visible ? fakeRectangle.commit() : appDelegate.updateRestoredGeometry()
1676 }
1699 }
1677
1700
1678 WindowedFullscreenPolicy {
1701 WindowedFullscreenPolicy {
src/CMakeLists.txt+3
@@ -1,11 +1,13 @@
1add_subdirectory(libunity8-private)
1add_subdirectory(libunity8-private)
2
2
3pkg_check_modules(CONNECTIVITY REQUIRED connectivity-qt1)
3pkg_check_modules(CONNECTIVITY REQUIRED connectivity-qt1)
4+pkg_check_modules(GSETTINGS_QT REQUIRED gsettings-qt)
4
5
5include_directories(
6include_directories(
6 SYSTEM
7 SYSTEM
7 ${Qt5Gui_PRIVATE_INCLUDE_DIRS}
8 ${Qt5Gui_PRIVATE_INCLUDE_DIRS}
8 ${Qt5Quick_PRIVATE_INCLUDE_DIRS}
9 ${Qt5Quick_PRIVATE_INCLUDE_DIRS}
10+ ${GSETTINGS_QT_INCLUDE_DIRS}
9 ${CONNECTIVITY_INCLUDE_DIRS}
11 ${CONNECTIVITY_INCLUDE_DIRS}
10 ${QTMIRSERVER_INCLUDE_DIRS}
12 ${QTMIRSERVER_INCLUDE_DIRS}
11)
13)
@@ -49,6 +51,7 @@ if (NOT "${ANDROID_PROPERTIES_INCLUDE_DIRS}" STREQUAL "")
49endif()
51endif()
50target_link_libraries(${SHELL_APP}
52target_link_libraries(${SHELL_APP}
51 ${ANDROID_PROPERTIES_LDFLAGS}
53 ${ANDROID_PROPERTIES_LDFLAGS}
54+ ${GSETTINGS_QT_LDFLAGS}
52 ${QTMIRSERVER_LDFLAGS}
55 ${QTMIRSERVER_LDFLAGS}
53 UbuntuGestures
56 UbuntuGestures
54 connectivity-qt1
57 connectivity-qt1
src/UnityApplication.cpp+7−2
@@ -23,6 +23,8 @@
23#include <QQmlContext>
23#include <QQmlContext>
24#include <QQmlComponent>
24#include <QQmlComponent>
25
25
26+#include <QGSettings>
27+
26#include <libintl.h>
28#include <libintl.h>
27
29
28// libandroid-properties
30// libandroid-properties
@@ -74,8 +76,9 @@ UnityApplication::UnityApplication(int & argc, char ** argv)
74 bindtextdomain("unity8", translationDirectory().toUtf8().data());
76 bindtextdomain("unity8", translationDirectory().toUtf8().data());
75 textdomain("unity8");
77 textdomain("unity8");
76
78
77− m_qmlEngine->rootContext()->setContextProperty(QStringLiteral("applicationArguments"), &m_qmlArgs);
79+ QScopedPointer<QGSettings> gSettings(new QGSettings("com.canonical.Unity8"));
78− m_qmlEngine->rootContext()->setContextProperty("DebuggingController", new DebuggingController(this));
80+ gSettings->reset(QStringLiteral("alwaysShowOsk"));
81+
79
82
80 QByteArray pxpguEnv = qgetenv("GRID_UNIT_PX");
83 QByteArray pxpguEnv = qgetenv("GRID_UNIT_PX");
81 bool ok;
84 bool ok;
@@ -84,6 +87,8 @@ UnityApplication::UnityApplication(int & argc, char ** argv)
84 pxpgu = 8;
87 pxpgu = 8;
85 }
88 }
86 m_qmlEngine->rootContext()->setContextProperty("internalGu", pxpgu);
89 m_qmlEngine->rootContext()->setContextProperty("internalGu", pxpgu);
90+ m_qmlEngine->rootContext()->setContextProperty(QStringLiteral("applicationArguments"), &m_qmlArgs);
91+ m_qmlEngine->rootContext()->setContextProperty("DebuggingController", new DebuggingController(this));
87
92
88 auto component(new QQmlComponent(m_qmlEngine, m_qmlArgs.qmlfie()));
93 auto component(new QQmlComponent(m_qmlEngine, m_qmlArgs.qmlfie()));
89 component->create();
94 component->create();
src/WindowManagementPolicy.h+1−1
@@ -35,7 +35,7 @@ public:
35
35
36 void releaseWorkspace(const std::shared_ptr<miral::Workspace> &workspace) override;
36 void releaseWorkspace(const std::shared_ptr<miral::Workspace> &workspace) override;
37
37
38− void setActiveWorkspace(const std::shared_ptr<miral::Workspace>& workspace) override;
38+ void setActiveWorkspace(const std::shared_ptr<miral::Workspace> &workspace) override;
39
39
40private:
40private:
41 std::weak_ptr<miral::Workspace> m_activeWorkspace;
41 std::weak_ptr<miral::Workspace> m_activeWorkspace;
src/libunity8-private/wmpolicyinterface.h+3−1
@@ -30,13 +30,15 @@ class Window;
30class Q_DECL_EXPORT WMPolicyInterface
30class Q_DECL_EXPORT WMPolicyInterface
31{
31{
32public:
32public:
33+ virtual ~WMPolicyInterface() {}
34+
33 static WMPolicyInterface *instance();
35 static WMPolicyInterface *instance();
34
36
35 virtual std::shared_ptr<miral::Workspace> createWorkspace() = 0;
37 virtual std::shared_ptr<miral::Workspace> createWorkspace() = 0;
36
38
37 virtual void releaseWorkspace(const std::shared_ptr<miral::Workspace> &workspace) = 0;
39 virtual void releaseWorkspace(const std::shared_ptr<miral::Workspace> &workspace) = 0;
38
40
39− virtual void setActiveWorkspace(const std::shared_ptr<miral::Workspace>& workspace) = 0;
41+ virtual void setActiveWorkspace(const std::shared_ptr<miral::Workspace> &workspace) = 0;
40};
42};
41
43
42extern Q_DECL_EXPORT WMPolicyInterface* wmPolicyInterface;
44extern Q_DECL_EXPORT WMPolicyInterface* wmPolicyInterface;
tests/mocks/QMenuModel/unitymenumodel.cpp+28−4
@@ -18,6 +18,8 @@
18
18
19#include "unitymenumodel.h"
19#include "unitymenumodel.h"
20
20
21+#include <QTimer>
22+
21enum MenuRoles {
23enum MenuRoles {
22 LabelRole = Qt::DisplayRole + 1,
24 LabelRole = Qt::DisplayRole + 1,
23 SensitiveRole,
25 SensitiveRole,
@@ -35,7 +37,8 @@ enum MenuRoles {
35};
37};
36
38
37UnityMenuModel::UnityMenuModel(QObject *parent)
39UnityMenuModel::UnityMenuModel(QObject *parent)
38−: QAbstractListModel(parent)
40+ : QAbstractListModel(parent)
41+ , m_rowCountStatus(NoRequestMade)
39{
42{
40}
43}
41
44
@@ -60,7 +63,7 @@ void UnityMenuModel::setModelData(const QVariant& data)
60
63
61void UnityMenuModel::insertRow(int row, const QVariant& data)
64void UnityMenuModel::insertRow(int row, const QVariant& data)
62{
65{
63− row = qMin(row, rowCount());
66+ row = qMin(row, m_modelData.count());
64
67
65 beginInsertRows(QModelIndex(), row, row);
68 beginInsertRows(QModelIndex(), row, row);
66
69
@@ -71,12 +74,12 @@ void UnityMenuModel::insertRow(int row, const QVariant& data)
71
74
72void UnityMenuModel::appendRow(const QVariant& data)
75void UnityMenuModel::appendRow(const QVariant& data)
73{
76{
74− insertRow(rowCount(), data);
77+ insertRow(m_modelData.count(), data);
75}
78}
76
79
77void UnityMenuModel::removeRow(int row)
80void UnityMenuModel::removeRow(int row)
78{
81{
79− if (row < 0 || rowCount() <= row) {
82+ if (row < 0 || m_modelData.count() <= row) {
80 return;
83 return;
81 }
84 }
82
85
@@ -133,6 +136,22 @@ QString UnityMenuModel::nameOwner() const
133
136
134int UnityMenuModel::rowCount(const QModelIndex&) const
137int UnityMenuModel::rowCount(const QModelIndex&) const
135{
138{
139+ // Fake the rowCount to be 0 for a while (100ms)
140+ // This emulates menus in real world that don't load immediately
141+ if (m_rowCountStatus == TimerRunning)
142+ return 0;
143+
144+ if (m_rowCountStatus == NoRequestMade) {
145+ UnityMenuModel *that = const_cast<UnityMenuModel*>(this);
146+ that->m_rowCountStatus = TimerRunning;
147+ QTimer::singleShot(100, that, [that] {
148+ that->beginInsertRows(QModelIndex(), 0, that->m_modelData.count() - 1);
149+ that->m_rowCountStatus = TimerFinished;
150+ that->endInsertRows();
151+ });
152+ return 0;
153+ }
154+
136 return m_modelData.count();
155 return m_modelData.count();
137}
156}
138
157
@@ -273,6 +292,11 @@ void UnityMenuModel::activate(int row, const QVariant&)
273 Q_EMIT activated(rd[roleNames()[ActionRole]].toString());
292 Q_EMIT activated(rd[roleNames()[ActionRole]].toString());
274}
293}
275
294
295+void UnityMenuModel::aboutToShow(int index)
296+{
297+ Q_EMIT aboutToShowCalled(index);
298+}
299+
276void UnityMenuModel::changeState(int, const QVariant&)
300void UnityMenuModel::changeState(int, const QVariant&)
277{
301{
278}
302}
tests/mocks/QMenuModel/unitymenumodel.h+9
@@ -73,6 +73,7 @@ public:
73 Q_INVOKABLE QVariant get(int row, const QByteArray &role);
73 Q_INVOKABLE QVariant get(int row, const QByteArray &role);
74
74
75 Q_INVOKABLE void activate(int index, const QVariant& parameter = QVariant());
75 Q_INVOKABLE void activate(int index, const QVariant& parameter = QVariant());
76+ Q_INVOKABLE void aboutToShow(int index);
76 Q_INVOKABLE void changeState(int index, const QVariant& parameter);
77 Q_INVOKABLE void changeState(int index, const QVariant& parameter);
77
78
78 void registerAction(UnityMenuAction* action);
79 void registerAction(UnityMenuAction* action);
@@ -87,6 +88,7 @@ Q_SIGNALS:
87
88
88 // Internal mock usage
89 // Internal mock usage
89 void modelDataChanged();
90 void modelDataChanged();
91+ void aboutToShowCalled(int index);
90
92
91 void activated(const QString& action);
93 void activated(const QString& action);
92
94
@@ -101,6 +103,13 @@ private:
101 QByteArray m_busName;
103 QByteArray m_busName;
102 QVariantMap m_actions;
104 QVariantMap m_actions;
103 QByteArray m_menuObjectPath;
105 QByteArray m_menuObjectPath;
106+
107+ enum RowCountStatus {
108+ NoRequestMade,
109+ TimerRunning,
110+ TimerFinished
111+ };
112+ RowCountStatus m_rowCountStatus;
104};
113};
105
114
106#endif // MOCK_UNITYMENUMODEL_H
115#endif // MOCK_UNITYMENUMODEL_H
tests/mocks/Unity/Application/MirSurface.cpp+4
@@ -127,6 +127,10 @@ QString MirSurface::persistentId() const
127 return m_name+"Id";
127 return m_name+"Id";
128}
128}
129
129
130+QString MirSurface::appId() const
131+{
132+ return m_name+"appId";
133+}
130Mir::Type MirSurface::type() const
134Mir::Type MirSurface::type() const
131{
135{
132 return m_type;
136 return m_type;
tests/mocks/Unity/Application/MirSurface.h+4
@@ -58,6 +58,7 @@ public:
58 QString name() const override;
58 QString name() const override;
59
59
60 QString persistentId() const override;
60 QString persistentId() const override;
61+ QString appId() const override;
61
62
62 QPoint position() const override { return m_position; }
63 QPoint position() const override { return m_position; }
63
64
@@ -92,6 +93,9 @@ public:
92
93
93 bool confinesMousePointer() const override { return false; }
94 bool confinesMousePointer() const override { return false; }
94
95
96+ bool allowClientResize() const override { return true; }
97+ void setAllowClientResize(bool) override {}
98+
95 QPoint requestedPosition() const override { return m_requestedPosition; }
99 QPoint requestedPosition() const override { return m_requestedPosition; }
96 void setRequestedPosition(const QPoint &) override;
100 void setRequestedPosition(const QPoint &) override;
97
101
tests/mocks/Unity/Application/MirSurfaceListModel.cpp+7−7
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2016 Canonical, Ltd.
2+ * Copyright (C) 2016-2017 Canonical, Ltd.
3 *
3 *
4 * This program is free software; you can redistribute it and/or modify
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
5 * it under the terms of the GNU General Public License as published by
@@ -17,7 +17,7 @@
17#include "MirSurfaceListModel.h"
17#include "MirSurfaceListModel.h"
18#include "ApplicationInfo.h"
18#include "ApplicationInfo.h"
19
19
20−#include "MirSurface.h"
20+#include <unity/shell/application/MirSurfaceInterface.h>
21
21
22#define MIRSURFACELISTMODEL_DEBUG 0
22#define MIRSURFACELISTMODEL_DEBUG 0
23
23
@@ -46,14 +46,14 @@ QVariant MirSurfaceListModel::data(const QModelIndex& index, int role) const
46 return QVariant();
46 return QVariant();
47
47
48 if (role == SurfaceRole) {
48 if (role == SurfaceRole) {
49− MirSurface *surface = m_surfaceList.at(index.row());
49+ MirSurfaceInterface *surface = m_surfaceList.at(index.row());
50 return QVariant::fromValue(static_cast<unity::shell::application::MirSurfaceInterface*>(surface));
50 return QVariant::fromValue(static_cast<unity::shell::application::MirSurfaceInterface*>(surface));
51 } else {
51 } else {
52 return QVariant();
52 return QVariant();
53 }
53 }
54}
54}
55
55
56−void MirSurfaceListModel::raise(MirSurface *surface)
56+void MirSurfaceListModel::raise(MirSurfaceInterface *surface)
57{
57{
58 DEBUG_MSG("(" << surface << ")");
58 DEBUG_MSG("(" << surface << ")");
59 int i = m_surfaceList.indexOf(surface);
59 int i = m_surfaceList.indexOf(surface);
@@ -62,7 +62,7 @@ void MirSurfaceListModel::raise(MirSurface *surface)
62 }
62 }
63}
63}
64
64
65−void MirSurfaceListModel::addSurface(MirSurface *surface)
65+void MirSurfaceListModel::addSurface(MirSurfaceInterface *surface)
66{
66{
67 DEBUG_MSG("(" << surface << ")");
67 DEBUG_MSG("(" << surface << ")");
68 beginInsertRows(QModelIndex(), 0, 0);
68 beginInsertRows(QModelIndex(), 0, 0);
@@ -73,7 +73,7 @@ void MirSurfaceListModel::addSurface(MirSurface *surface)
73 Q_EMIT firstChanged();
73 Q_EMIT firstChanged();
74}
74}
75
75
76−void MirSurfaceListModel::connectSurface(MirSurface *surface)
76+void MirSurfaceListModel::connectSurface(MirSurfaceInterface *surface)
77{
77{
78 connect(surface, &QObject::destroyed, this, [this, surface](){ this->removeSurface(surface); });
78 connect(surface, &QObject::destroyed, this, [this, surface](){ this->removeSurface(surface); });
79 connect(surface, &MirSurfaceInterface::focusedChanged, this, [this, surface](bool surfaceFocused){
79 connect(surface, &MirSurfaceInterface::focusedChanged, this, [this, surface](bool surfaceFocused){
@@ -83,7 +83,7 @@ void MirSurfaceListModel::connectSurface(MirSurface *surface)
83 });
83 });
84}
84}
85
85
86−void MirSurfaceListModel::removeSurface(MirSurface *surface)
86+void MirSurfaceListModel::removeSurface(MirSurfaceInterface *surface)
87{
87{
88 int i = m_surfaceList.indexOf(surface);
88 int i = m_surfaceList.indexOf(surface);
89 if (i != -1) {
89 if (i != -1) {
tests/mocks/Unity/Application/MirSurfaceListModel.h+7−9
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2016 Canonical, Ltd.
2+ * Copyright (C) 2016-2017 Canonical, Ltd.
3 *
3 *
4 * This program is free software; you can redistribute it and/or modify
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
5 * it under the terms of the GNU General Public License as published by
@@ -23,8 +23,6 @@
23#include <QAbstractListModel>
23#include <QAbstractListModel>
24#include <QList>
24#include <QList>
25
25
26−class MirSurface;
27−
28class MirSurfaceListModel : public unity::shell::application::MirSurfaceListInterface
26class MirSurfaceListModel : public unity::shell::application::MirSurfaceListInterface
29{
27{
30 Q_OBJECT
28 Q_OBJECT
@@ -38,17 +36,17 @@ public:
38 int rowCount(const QModelIndex &parent = QModelIndex()) const override;
36 int rowCount(const QModelIndex &parent = QModelIndex()) const override;
39 QVariant data(const QModelIndex& index, int role) const override;
37 QVariant data(const QModelIndex& index, int role) const override;
40
38
41− void addSurface(MirSurface *surface);
39+ void addSurface(unity::shell::application::MirSurfaceInterface *surface);
42− void removeSurface(MirSurface *surface);
40+ void removeSurface(unity::shell::application::MirSurfaceInterface *surface);
43
41
44− bool contains(MirSurface *surface) const { return m_surfaceList.contains(surface); }
42+ bool contains(unity::shell::application::MirSurfaceInterface *surface) const { return m_surfaceList.contains(surface); }
45
43
46private:
44private:
47− void raise(MirSurface *surface);
45+ void raise(unity::shell::application::MirSurfaceInterface *surface);
48 void moveSurface(int from, int to);
46 void moveSurface(int from, int to);
49− void connectSurface(MirSurface *surface);
47+ void connectSurface(unity::shell::application::MirSurfaceInterface *surface);
50
48
51− QList<MirSurface*> m_surfaceList;
49+ QList<unity::shell::application::MirSurfaceInterface*> m_surfaceList;
52};
50};
53
51
54Q_DECLARE_METATYPE(MirSurfaceListModel*)
52Q_DECLARE_METATYPE(MirSurfaceListModel*)
tests/mocks/Unity/Launcher/MockLauncherModel.h+1−1
@@ -28,7 +28,7 @@ using namespace unity::shell::launcher;
28
28
29class MockLauncherModel: public LauncherModelInterface
29class MockLauncherModel: public LauncherModelInterface
30{
30{
31− Q_OBJECT
31+ Q_OBJECT
32
32
33public:
33public:
34 MockLauncherModel(QObject* parent = 0);
34 MockLauncherModel(QObject* parent = 0);
tests/mocks/Unity/Launcher/MockQuickListModel.cpp+3−1
@@ -39,6 +39,8 @@ QVariant MockQuickListModel::data(const QModelIndex &index, int role) const
39 return index.row() == 1 ? false : true;
39 return index.row() == 1 ? false : true;
40 case RoleHasSeparator:
40 case RoleHasSeparator:
41 return index.row() <= 1 ? true : false;
41 return index.row() <= 1 ? true : false;
42+ case RoleIsPrivate:
43+ return index.row() == 4 ? true : false;
42 }
44 }
43 return QVariant();
45 return QVariant();
44}
46}
@@ -46,5 +48,5 @@ QVariant MockQuickListModel::data(const QModelIndex &index, int role) const
46int MockQuickListModel::rowCount(const QModelIndex &parent) const
48int MockQuickListModel::rowCount(const QModelIndex &parent) const
47{
49{
48 Q_UNUSED(parent)
50 Q_UNUSED(parent)
49− return 4;
51+ return 5;
50}
52}
tests/mocks/Unity/Launcher/MockQuickListModel.h+2
@@ -27,6 +27,8 @@ using namespace unity::shell::launcher;
27class MockQuickListModel: public QuickListModelInterface
27class MockQuickListModel: public QuickListModelInterface
28{
28{
29 Q_OBJECT
29 Q_OBJECT
30+ Q_PROPERTY(int count READ rowCount)
31+
30public:
32public:
31 MockQuickListModel(QObject *parent = 0);
33 MockQuickListModel(QObject *parent = 0);
32
34
tests/mocks/Utils/CMakeLists.txt+2
@@ -27,6 +27,7 @@ set(QMLPLUGIN_SRC
27 ${CMAKE_SOURCE_DIR}/plugins/Utils/appdrawerproxymodel.cpp
27 ${CMAKE_SOURCE_DIR}/plugins/Utils/appdrawerproxymodel.cpp
28 ${CMAKE_SOURCE_DIR}/plugins/Utils/tabfocusfence.cpp
28 ${CMAKE_SOURCE_DIR}/plugins/Utils/tabfocusfence.cpp
29 ${CMAKE_SOURCE_DIR}/plugins/Utils/expressionfiltermodel.cpp
29 ${CMAKE_SOURCE_DIR}/plugins/Utils/expressionfiltermodel.cpp
30+ ${CMAKE_SOURCE_DIR}/plugins/Utils/quicklistproxymodel.cpp
30 ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/ApplicationManagerInterface.h
31 ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/ApplicationManagerInterface.h
31 ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/ApplicationInfoInterface.h
32 ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/ApplicationInfoInterface.h
32 ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/MirSurfaceInterface.h
33 ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/MirSurfaceInterface.h
@@ -35,6 +36,7 @@ set(QMLPLUGIN_SRC
35 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/launcher/AppDrawerModelInterface.h
36 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/launcher/AppDrawerModelInterface.h
36 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/launcher/LauncherModelInterface.h
37 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/launcher/LauncherModelInterface.h
37 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/launcher/LauncherItemInterface.h
38 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/launcher/LauncherItemInterface.h
39+ ${LAUNCHER_API_INCLUDEDIR}/unity/shell/launcher/QuickListModelInterface.h
38 constants.cpp
40 constants.cpp
39 plugin.cpp
41 plugin.cpp
40 windowstatestorage.cpp
42 windowstatestorage.cpp
tests/mocks/Utils/plugin.cpp+2
@@ -43,6 +43,7 @@
43#include <appdrawerproxymodel.h>
43#include <appdrawerproxymodel.h>
44#include <tabfocusfence.h>
44#include <tabfocusfence.h>
45#include <expressionfiltermodel.h>
45#include <expressionfiltermodel.h>
46+#include <quicklistproxymodel.h>
46
47
47static QObject *createWindowStateStorage(QQmlEngine *engine, QJSEngine *scriptEngine)
48static QObject *createWindowStateStorage(QQmlEngine *engine, QJSEngine *scriptEngine)
48{
49{
@@ -88,4 +89,5 @@ void FakeUtilsPlugin::registerTypes(const char *uri)
88 qmlRegisterType<AppDrawerProxyModel>(uri, 0, 1, "AppDrawerProxyModel");
89 qmlRegisterType<AppDrawerProxyModel>(uri, 0, 1, "AppDrawerProxyModel");
89 qmlRegisterType<TabFocusFenceItem>(uri, 0, 1, "TabFocusFence");
90 qmlRegisterType<TabFocusFenceItem>(uri, 0, 1, "TabFocusFence");
90 qmlRegisterType<ExpressionFilterModel>(uri, 0, 1, "ExpressionFilterModel");
91 qmlRegisterType<ExpressionFilterModel>(uri, 0, 1, "ExpressionFilterModel");
92+ qmlRegisterType<QuickListProxyModel>(uri, 0, 1, "QuickListProxyModel");
91}
93}
tests/mocks/WindowManager/WindowManagementPolicy.h+6−6
@@ -44,18 +44,18 @@ public:
44
44
45 // From WMPolicyInterface
45 // From WMPolicyInterface
46 std::shared_ptr<miral::Workspace> createWorkspace() override;
46 std::shared_ptr<miral::Workspace> createWorkspace() override;
47− void releaseWorkspace(const std::shared_ptr<miral::Workspace>& workspace) override;
47+ void releaseWorkspace(const std::shared_ptr<miral::Workspace> &workspace) override;
48− void setActiveWorkspace(const std::shared_ptr<miral::Workspace>& workspace) override;
48+ void setActiveWorkspace(const std::shared_ptr<miral::Workspace> &workspace) override;
49
49
50 void addWindow(const miral::Window& window);
50 void addWindow(const miral::Window& window);
51
51
52− void forEachWindowInWorkspace(std::shared_ptr<miral::Workspace> const& workspace,
52+ void forEachWindowInWorkspace(std::shared_ptr<miral::Workspace> const &workspace,
53− std::function<void(miral::Window const&)> const& callback);
53+ std::function<void(miral::Window const&)> const &callback);
54
54
55 void moveWindowToWorkspace(const miral::Window &window, const std::shared_ptr<miral::Workspace> &workspace);
55 void moveWindowToWorkspace(const miral::Window &window, const std::shared_ptr<miral::Workspace> &workspace);
56
56
57− void moveWorkspaceContentToWorkspace(const std::shared_ptr<miral::Workspace>& to,
57+ void moveWorkspaceContentToWorkspace(const std::shared_ptr<miral::Workspace> &to,
58− const std::shared_ptr<miral::Workspace>& from);
58+ const std::shared_ptr<miral::Workspace> &from);
59
59
60Q_SIGNALS:
60Q_SIGNALS:
61 void windowAdded(const miral::Window& window);
61 void windowAdded(const miral::Window& window);
tests/plugins/CMakeLists.txt+1
@@ -9,4 +9,5 @@ add_subdirectory(SessionBroadcast)
9add_subdirectory(Ubuntu)
9add_subdirectory(Ubuntu)
10add_subdirectory(Unity)
10add_subdirectory(Unity)
11add_subdirectory(Utils)
11add_subdirectory(Utils)
12+add_subdirectory(WindowManager)
12add_subdirectory(Wizard)
13add_subdirectory(Wizard)
tests/plugins/Unity/Launcher/CMakeLists.txt+3
@@ -34,6 +34,9 @@ add_executable(launchermodeltestExec
34 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/launcher/LauncherModelInterface.h
34 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/launcher/LauncherModelInterface.h
35 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/launcher/QuickListModelInterface.h
35 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/launcher/QuickListModelInterface.h
36 ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/ApplicationManagerInterface.h
36 ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/ApplicationManagerInterface.h
37+ ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/MirSurfaceListInterface.h
38+ ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/MirSurfaceInterface.h
39+ ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/Mir.h
37 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/application/ApplicationInfoInterface.h
40 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/application/ApplicationInfoInterface.h
38 )
41 )
39target_link_libraries(launchermodeltestExec
42target_link_libraries(launchermodeltestExec
tests/plugins/Unity/Launcher/launchermodeltest.cpp+85−7
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright 2013-2016 Canonical Ltd.
2+ * Copyright 2013-2017 Canonical Ltd.
3 *
3 *
4 * This program is free software; you can redistribute it and/or modify
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License as published by
5 * it under the terms of the GNU Lesser General Public License as published by
@@ -17,6 +17,7 @@
17// unity-api
17// unity-api
18#include <unity/shell/launcher/LauncherModelInterface.h>
18#include <unity/shell/launcher/LauncherModelInterface.h>
19#include <unity/shell/application/ApplicationInfoInterface.h>
19#include <unity/shell/application/ApplicationInfoInterface.h>
20+#include <unity/shell/application/MirSurfaceListInterface.h>
20
21
21#include "launcheritem.h"
22#include "launcheritem.h"
22#include "launchermodel.h"
23#include "launchermodel.h"
@@ -37,11 +38,76 @@
37namespace unityapi = unity::shell::application;
38namespace unityapi = unity::shell::application;
38
39
39// This is a mock, specifically to test the LauncherModel
40// This is a mock, specifically to test the LauncherModel
41+class MockSurface: public unity::shell::application::MirSurfaceInterface
42+{
43+ Q_OBJECT
44+public:
45+ MockSurface(const QString &id, const QString &appId, QObject* parent): unityapi::MirSurfaceInterface(parent), m_id(id), m_appId(appId) {}
46+ Mir::Type type() const override { return Mir::NormalType;}
47+ QString name() const override { return QStringLiteral("mock surface"); }
48+ QString persistentId() const override { return m_id; }
49+ QString appId() const override { return m_appId; }
50+ QPoint position() const override { return QPoint(); }
51+ QSize size() const override { return QSize(); }
52+ void resize(const QSize &size) override { Q_UNUSED(size) }
53+ void resize(int width, int height) override { Q_UNUSED(width); Q_UNUSED(height) }
54+ Mir::State state() const override { return Mir::RestoredState; }
55+ bool live() const override { return true; }
56+ bool visible() const override { return true; }
57+ Mir::OrientationAngle orientationAngle() const override { return Mir::Angle0; }
58+ void setOrientationAngle(Mir::OrientationAngle angle) override { Q_UNUSED(angle); }
59+ int minimumWidth() const override { return 0; }
60+ int minimumHeight() const override { return 0; }
61+ int maximumWidth() const override { return 0; }
62+ int maximumHeight() const override { return 0; }
63+ int widthIncrement() const override { return 0; }
64+ int heightIncrement() const override { return 0; }
65+ void setKeymap(const QString &) override {}
66+ Mir::ShellChrome shellChrome() const override { return Mir::NormalChrome; }
67+ QString keymap() const override { return QStringLiteral("de_DE"); }
68+ bool focused() const override { return true; }
69+ QRect inputBounds() const override { return QRect(); }
70+ bool confinesMousePointer() const override { return false; }
71+ bool allowClientResize() const override { return true; }
72+ void setAllowClientResize(bool) override {}
73+ QPoint requestedPosition() const override { return QPoint(); }
74+ void setRequestedPosition(const QPoint &) override {}
75+ MirSurfaceInterface* parentSurface() const override { return nullptr; }
76+ MirSurfaceListInterface* childSurfaceList() const override { return nullptr; }
77+ void close() override {}
78+ void activate() override {}
79+ void requestState(Mir::State) override {}
80+
81+private:
82+ QString m_id;
83+ QString m_appId;
84+};
85+
86+class MockSurfaceList: public unity::shell::application::MirSurfaceListInterface
87+{
88+ Q_OBJECT
89+public:
90+ MockSurfaceList(QObject *parent): unityapi::MirSurfaceListInterface(parent) {}
91+ int rowCount(const QModelIndex & = QModelIndex()) const override { return m_list.count(); }
92+ QVariant data(const QModelIndex &, int) const override { return QVariant(); }
93+ Q_INVOKABLE MirSurfaceInterface* get(int index) override { return m_list.at(index); }
94+ void append(MirSurfaceInterface* surface) {
95+ beginInsertRows(QModelIndex(), m_list.count(), m_list.count());
96+ m_list.append(surface);
97+ endInsertRows();
98+ }
99+private:
100+ QList<MirSurfaceInterface*> m_list;
101+
102+};
103+
40class MockApp: public unity::shell::application::ApplicationInfoInterface
104class MockApp: public unity::shell::application::ApplicationInfoInterface
41{
105{
42 Q_OBJECT
106 Q_OBJECT
43public:
107public:
44− MockApp(const QString &appId, QObject *parent = 0): ApplicationInfoInterface(appId, parent), m_appId(appId), m_focused(false) { }
108+ MockApp(const QString &appId, QObject *parent = 0): ApplicationInfoInterface(appId, parent), m_appId(appId), m_focused(false) {
109+ m_surfaces = new MockSurfaceList(this);
110+ }
45
111
46 RequestedState requestedState() const override { return RequestedRunning; }
112 RequestedState requestedState() const override { return RequestedRunning; }
47 void setRequestedState(RequestedState) override {}
113 void setRequestedState(RequestedState) override {}
@@ -64,10 +130,10 @@ public:
64 void setExemptFromLifecycle(bool) override {}
130 void setExemptFromLifecycle(bool) override {}
65 QSize initialSurfaceSize() const override { return QSize(); }
131 QSize initialSurfaceSize() const override { return QSize(); }
66 void setInitialSurfaceSize(const QSize &) override {}
132 void setInitialSurfaceSize(const QSize &) override {}
67− MirSurfaceListInterface* surfaceList() const override { return nullptr; }
133+ MirSurfaceListInterface* surfaceList() const override { return m_surfaces; }
68 MirSurfaceListInterface* promptSurfaceList() const override { return nullptr; }
134 MirSurfaceListInterface* promptSurfaceList() const override { return nullptr; }
69− int surfaceCount() const override { return m_surfaceCount; }
135+ int surfaceCount() const override { return m_surfaces->count(); }
70− void setSurfaceCount(int count) { m_surfaceCount = count; Q_EMIT surfaceCountChanged(count); }
136+ void setSurfaces(MockSurfaceList* surfaces) { m_surfaces = surfaces; Q_EMIT surfaceCountChanged(m_surfaces->count()); }
71 void close() override {}
137 void close() override {}
72
138
73 // Methods used for mocking (not in the interface)
139 // Methods used for mocking (not in the interface)
@@ -75,7 +141,7 @@ public:
75private:
141private:
76 QString m_appId;
142 QString m_appId;
77 bool m_focused;
143 bool m_focused;
78− int m_surfaceCount = 0;
144+ MockSurfaceList *m_surfaces;
79};
145};
80
146
81// This is a mock, specifically to test the LauncherModel
147// This is a mock, specifically to test the LauncherModel
@@ -748,8 +814,20 @@ private Q_SLOTS:
748
814
749 QCOMPARE(launcherModel->get(0)->surfaceCount(), 0);
815 QCOMPARE(launcherModel->get(0)->surfaceCount(), 0);
750 MockApp *app = qobject_cast<MockApp*>(appManager->findApplication(appId));
816 MockApp *app = qobject_cast<MockApp*>(appManager->findApplication(appId));
751− app->setSurfaceCount(1);
817+ MockSurfaceList* surfaces = new MockSurfaceList(appManager);
818+ surfaces->append(new MockSurface("foobar", "foobar", surfaces));
819+ app->setSurfaces(surfaces);
752 QCOMPARE(launcherModel->get(0)->surfaceCount(), 1);
820 QCOMPARE(launcherModel->get(0)->surfaceCount(), 1);
821+
822+ // Make sure the new surface appears in the quicklist
823+ QuickListModel *quickList = qobject_cast<QuickListModel*>(launcherModel->get(0)->quickList());
824+ bool found = false;
825+ for (int i = 0; i < quickList->rowCount(); ++i) {
826+ if (quickList->get(i).actionId() == "surface_foobar") {
827+ found = true;
828+ }
829+ }
830+ QCOMPARE(found, true);
753 }
831 }
754};
832};
755
833
tests/plugins/Unity/Session/CMakeLists.txt+13−1
@@ -33,6 +33,17 @@ install(TARGETS LightDMServer
33 DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/Unity/Session"
33 DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/Unity/Session"
34 )
34 )
35
35
36+### Preload
37+add_library(SessionBackendTestPreload SHARED
38+ preload.c
39+)
40+target_link_libraries(SessionBackendTestPreload
41+ ${GLIB_LIBRARIES}
42+ )
43+install(TARGETS SessionBackendTestPreload
44+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/Unity/Session"
45+ )
46+
36### SessionBackendTest
47### SessionBackendTest
37add_executable(sessionbackendtestExec
48add_executable(sessionbackendtestExec
38 sessionbackendtest.cpp
49 sessionbackendtest.cpp
@@ -48,7 +59,8 @@ install(TARGETS sessionbackendtestExec
48)
59)
49
60
50add_unity8_unittest(SessionBackend dbus-test-runner
61add_unity8_unittest(SessionBackend dbus-test-runner
62+ ENVIRONMENT LD_PRELOAD=$<TARGET_FILE:SessionBackendTestPreload>
51− ENVIRONMENT XDG_SESSION_PATH=/session
63+ XDG_SESSION_PATH=/session
52 ARG_PREFIX "--parameter"
64 ARG_PREFIX "--parameter"
53 ARGS
65 ARGS
54 --task $<TARGET_FILE:LightDMServer>
66 --task $<TARGET_FILE:LightDMServer>
tests/plugins/Unity/Session/LogindServer.cpp+10
@@ -27,6 +27,16 @@ QDBusObjectPath LogindServer::GetSessionByPID(quint32)
27 return QDBusObjectPath("/logindsession");
27 return QDBusObjectPath("/logindsession");
28}
28}
29
29
30+void LogindServer::Reboot(bool interactive)
31+{
32+ Q_EMIT RebootCalled(interactive);
33+}
34+
35+void LogindServer::PowerOff(bool interactive)
36+{
37+ Q_EMIT PowerOffCalled(interactive);
38+}
39+
30void LogindServer::MockEmitUnlock()
40void LogindServer::MockEmitUnlock()
31{
41{
32 Q_EMIT Unlock();
42 Q_EMIT Unlock();
tests/plugins/Unity/Session/LogindServer.h+5
@@ -31,6 +31,8 @@ public:
31
31
32public Q_SLOTS:
32public Q_SLOTS:
33 QDBusObjectPath GetSessionByPID(quint32 pid);
33 QDBusObjectPath GetSessionByPID(quint32 pid);
34+ void Reboot(bool interactive);
35+ void PowerOff(bool interactive);
34
36
35 void MockEmitUnlock(); // only in mock
37 void MockEmitUnlock(); // only in mock
36
38
@@ -38,6 +40,9 @@ Q_SIGNALS:
38 void Lock();
40 void Lock();
39 void Unlock();
41 void Unlock();
40 void PrepareForSleep();
42 void PrepareForSleep();
43+
44+ void RebootCalled(bool interactive); // only in mock
45+ void PowerOffCalled(bool interactive); // only in mock
41};
46};
42
47
43#endif
48#endif
tests/plugins/Unity/Session/interfaces.xml+12
@@ -7,6 +7,18 @@
7 <arg name="pid" type="u" direction="in" />
7 <arg name="pid" type="u" direction="in" />
8 <arg name="session" type="o" direction="out" />
8 <arg name="session" type="o" direction="out" />
9 </method>
9 </method>
10+ <method name="Reboot">
11+ <arg name="interactive" type="b" direction="in" />
12+ </method>
13+ <method name="PowerOff">
14+ <arg name="interactive" type="b" direction="in" />
15+ </method>
16+ <signal name="RebootCalled">
17+ <arg name="interactive" type="b" direction="out" />
18+ </signal>
19+ <signal name="PowerOffCalled">
20+ <arg name="interactive" type="b" direction="out" />
21+ </signal>
10 <signal name="PrepareForSleep" />
22 <signal name="PrepareForSleep" />
11 </interface>
23 </interface>
12 <interface name="org.freedesktop.login1.Session">
24 <interface name="org.freedesktop.login1.Session">
tests/plugins/Unity/Session/preload.cnew file+43
@@ -0,0 +1,43 @@
1+/*
2+ * Copyright © 2017 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 version 3 as
6+ * published by the Free Software Foundation.
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+
18+#include <glib.h>
19+#include <grp.h>
20+#include <stdlib.h>
21+
22+const gchar *g_get_user_name(void)
23+{
24+ // The normal glib version parses pwent entries
25+ return g_getenv("TEST_USER");
26+}
27+
28+struct group *getgrnam(const char *group_name)
29+{
30+ static struct group rv = {NULL, NULL, 0, NULL};
31+
32+ g_free(rv.gr_name);
33+ g_strfreev(rv.gr_mem);
34+
35+ rv.gr_name = g_strdup(group_name);
36+ rv.gr_passwd = NULL;
37+ rv.gr_gid = 9999;
38+ rv.gr_mem = NULL;
39+ if (g_strcmp0(group_name, "nopasswdlogin") == 0) {
40+ rv.gr_mem = g_strsplit(g_getenv("TEST_NOPASSWD_USERS"), ",", 0);
41+ }
42+ return &rv;
43+}
tests/plugins/Unity/Session/sessionbackendtest.cpp+130−11
@@ -53,6 +53,11 @@ private Q_SLOTS:
53 QDBusConnection::sessionBus());
53 QDBusConnection::sessionBus());
54 }
54 }
55
55
56+ void init() {
57+ qputenv("TEST_USER", "testuser");
58+ qputenv("TEST_NOPASSWD_USERS", "");
59+ }
60+
56 void testUnitySessionLogoutRequested_data() {
61 void testUnitySessionLogoutRequested_data() {
57 QTest::addColumn<QString>("method");
62 QTest::addColumn<QString>("method");
58 QTest::addColumn<QString>("signal");
63 QTest::addColumn<QString>("signal");
@@ -81,7 +86,99 @@ private Q_SLOTS:
81 QTRY_COMPARE(spy.count(), 1);
86 QTRY_COMPARE(spy.count(), 1);
82 }
87 }
83
88
84− void testGnomeSessionWrapper_data() {
89+ void testGnomeSessionWrapperWithoutConfirmation_data() {
90+ QTest::addColumn<QString>("method");
91+ QTest::addColumn<QString>("signal");
92+
93+ QTest::newRow("Reboot") << "RequestReboot" << SIGNAL(RebootCalled(bool));
94+ QTest::newRow("Shutdown") << "RequestShutdown" << SIGNAL(PowerOffCalled(bool));
95+ }
96+
97+ void testGnomeSessionWrapperWithoutConfirmation() {
98+ QFETCH(QString, method);
99+ QFETCH(QString, signal);
100+
101+ DBusUnitySessionService dbusUnitySessionService;
102+ DBusGnomeSessionManagerWrapper dbusGnomeSessionManagerWrapper;
103+ QCoreApplication::processEvents(); // to let the services register on DBus
104+
105+ QDBusInterface login1Interface("org.freedesktop.login1",
106+ "/logindsession",
107+ "org.freedesktop.login1.Manager");
108+ QSignalSpy spy(&login1Interface, signal.toUtf8().data());
109+
110+ QDBusInterface dbusGnomeSessionWrapper("org.gnome.SessionManager",
111+ "/org/gnome/SessionManager",
112+ "org.gnome.SessionManager",
113+ QDBusConnection::sessionBus());
114+ QVERIFY(dbusGnomeSessionWrapper.isValid());
115+
116+ QDBusReply<void> reply = dbusGnomeSessionWrapper.call(method);
117+ QVERIFY(reply.isValid());
118+ QTRY_COMPARE(spy.count(), 1);
119+ }
120+
121+ void testGnomeSessionWrapperWithConfirmation_data() {
122+ QTest::addColumn<QString>("method");
123+ QTest::addColumn<QString>("signal");
124+
125+ QTest::newRow("Reboot") << "Reboot" << SIGNAL(RebootRequested(bool));
126+ QTest::newRow("Shutdown") << "Shutdown" << SIGNAL(ShutdownRequested(bool));
127+ }
128+
129+ void testGnomeSessionWrapperWithConfirmation() {
130+ QFETCH(QString, method);
131+ QFETCH(QString, signal);
132+
133+ DBusUnitySessionService dbusUnitySessionService;
134+ DBusGnomeSessionManagerWrapper dbusGnomeSessionManagerWrapper;
135+ QCoreApplication::processEvents(); // to let the services register on DBus
136+
137+ QSignalSpy spy(&dbusUnitySessionService, signal.toUtf8().data());
138+
139+ QDBusInterface dbusGnomeSessionWrapper("org.gnome.SessionManager",
140+ "/org/gnome/SessionManager",
141+ "org.gnome.SessionManager",
142+ QDBusConnection::sessionBus());
143+ QVERIFY(dbusGnomeSessionWrapper.isValid());
144+
145+ QDBusReply<void> reply = dbusGnomeSessionWrapper.call(method);
146+ QVERIFY(reply.isValid());
147+ QCOMPARE(spy.count(), 1);
148+ }
149+
150+ void testGnomeSessionWrapperLogout_data() {
151+ QTest::addColumn<int>("mode");
152+ QTest::addColumn<QString>("signal");
153+
154+ QTest::newRow("Logout") << 0 << SIGNAL(LogoutRequested(bool));
155+ QTest::newRow("LogoutNoDialog") << 1 << SIGNAL(LogoutReady());
156+ QTest::newRow("LogoutNoInhibits") << 2 << SIGNAL(LogoutReady());
157+ QTest::newRow("LogoutNoDialogNoInhibits") << 3 << SIGNAL(LogoutReady());
158+ }
159+
160+ void testGnomeSessionWrapperLogout() {
161+ QFETCH(int, mode);
162+ QFETCH(QString, signal);
163+
164+ DBusUnitySessionService dbusUnitySessionService;
165+ DBusGnomeSessionManagerWrapper dbusGnomeSessionManagerWrapper;
166+ QCoreApplication::processEvents(); // to let the services register on DBus
167+
168+ QSignalSpy spy(&dbusUnitySessionService, signal.toUtf8().data());
169+
170+ QDBusInterface dbusGnomeSessionWrapper("org.gnome.SessionManager",
171+ "/org/gnome/SessionManager",
172+ "org.gnome.SessionManager",
173+ QDBusConnection::sessionBus());
174+ QVERIFY(dbusGnomeSessionWrapper.isValid());
175+
176+ QDBusReply<void> reply = dbusGnomeSessionWrapper.call("Logout", (quint32)mode);
177+ QVERIFY(reply.isValid());
178+ QCOMPARE(spy.count(), 1);
179+ }
180+
181+ void testGnomeSessionDialogWrapper_data() {
85 QTest::addColumn<uint>("method");
182 QTest::addColumn<uint>("method");
86 QTest::addColumn<QString>("signal");
183 QTest::addColumn<QString>("signal");
87
184
@@ -90,7 +187,7 @@ private Q_SLOTS:
90 QTest::newRow("Reboot") << (uint)Action::REBOOT << "RebootRequested(bool)";
187 QTest::newRow("Reboot") << (uint)Action::REBOOT << "RebootRequested(bool)";
91 }
188 }
92
189
93− void testGnomeSessionWrapper() {
190+ void testGnomeSessionDialogWrapper() {
94 QFETCH(uint, method);
191 QFETCH(uint, method);
95 QFETCH(QString, signal);
192 QFETCH(QString, signal);
96
193
@@ -102,7 +199,7 @@ private Q_SLOTS:
102 // .. because QSignalSpy checks the signal signature like this: "if (((aSignal[0] - '0') & 0x03) != QSIGNAL_CODE)"
199 // .. because QSignalSpy checks the signal signature like this: "if (((aSignal[0] - '0') & 0x03) != QSIGNAL_CODE)"
103 QSignalSpy spy(&dbusUnitySessionService, qPrintable(signal.prepend(QSIGNAL_CODE)));
200 QSignalSpy spy(&dbusUnitySessionService, qPrintable(signal.prepend(QSIGNAL_CODE)));
104
201
105− DBusGnomeSessionManagerWrapper dbusGnomeSessionManagerWrapper;
202+ DBusGnomeSessionManagerDialogWrapper dbusGnomeSessionManagerDialogWrapper;
106 QCoreApplication::processEvents(); // to let the service register on DBus
203 QCoreApplication::processEvents(); // to let the service register on DBus
107
204
108 QDBusInterface dbusGnomeSessionWrapper("com.canonical.Unity",
205 QDBusInterface dbusGnomeSessionWrapper("com.canonical.Unity",
@@ -138,14 +235,7 @@ private Q_SLOTS:
138
235
139 void testUserName() {
236 void testUserName() {
140 DBusUnitySessionService dbusUnitySessionService;
237 DBusUnitySessionService dbusUnitySessionService;
141− QCoreApplication::processEvents(); // to let the service register on DBus
142−
143− QProcess * proc = new QProcess(this);
144− proc->start("id -un", QProcess::ReadOnly);
145− proc->waitForFinished();
146− const QByteArray out = proc->readAll().trimmed();
147−
148− QCOMPARE(dbusUnitySessionService.UserName(), QString::fromUtf8(out));
238+ QCOMPARE(dbusUnitySessionService.UserName(), QString("testuser"));
149 }
239 }
150
240
151 void testRealName() {
241 void testRealName() {
@@ -162,6 +252,35 @@ private Q_SLOTS:
162 }
252 }
163 }
253 }
164
254
255+ void testCanLock() {
256+ DBusUnitySessionService dbusUnitySessionService;
257+
258+ qputenv("TEST_USER", "testuser");
259+ QVERIFY(dbusUnitySessionService.CanLock());
260+
261+ qputenv("TEST_USER", "guest-abcdef"); // guest-* can't lock
262+ QVERIFY(!dbusUnitySessionService.CanLock());
263+
264+ qputenv("TEST_USER", "testuser");
265+ qputenv("TEST_NOPASSWD_USERS", "testuser"); // nopasswdlogin can't lock
266+ QVERIFY(!dbusUnitySessionService.CanLock());
267+ }
268+
269+ void testPromptLockRespectsCanLock() {
270+ DBusUnitySessionService dbusUnitySessionService;
271+
272+ QSignalSpy spy(&dbusUnitySessionService, SIGNAL(lockRequested()));
273+ QVERIFY(dbusUnitySessionService.CanLock());
274+ dbusUnitySessionService.PromptLock();
275+ QCOMPARE(spy.count(), 1);
276+
277+ spy.clear();
278+ qputenv("TEST_USER", "guest-abcdef");
279+ QVERIFY(!dbusUnitySessionService.CanLock());
280+ dbusUnitySessionService.PromptLock();
281+ QCOMPARE(spy.count(), 0);
282+ }
283+
165private:
284private:
166 QDBusInterface *dbusUnitySession;
285 QDBusInterface *dbusUnitySession;
167};
286};
tests/plugins/WindowManager/CMakeLists.txtnew file+38
@@ -0,0 +1,38 @@
1+include_directories(
2+ ${CMAKE_SOURCE_DIR}/plugins/WindowManager
3+ ${CMAKE_CURRENT_BINARY_DIR}
4+ ${CMAKE_SOURCE_DIR}/tests/mocks
5+ ${libunity8-private_SOURCE_DIR}
6+ )
7+
8+add_executable(TopLevelWindowModelTestExec
9+ tst_TopLevelWindowModel.cpp
10+ UnityApplicationMocks.h
11+
12+ ${CMAKE_SOURCE_DIR}/tests/mocks/Unity/Application/MirSurfaceListModel.cpp
13+
14+ ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/ApplicationInfoInterface.h
15+ ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/ApplicationManagerInterface.h
16+ ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/Mir.h
17+ ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/MirSurfaceInterface.h
18+ ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/MirSurfaceListInterface.h
19+ ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/SurfaceManagerInterface.h
20+ )
21+qt5_use_modules(TopLevelWindowModelTestExec Test Core Gui Qml Quick)
22+
23+target_link_libraries(TopLevelWindowModelTestExec
24+ windowmanager-qml
25+ unity8-private
26+ )
27+
28+install(TARGETS TopLevelWindowModelTestExec
29+ DESTINATION "${SHELL_PRIVATE_LIBDIR}/tests/plugins/WindowManager"
30+)
31+
32+# To find libwindowmanager-qml.so
33+set_target_properties(TopLevelWindowModelTestExec PROPERTIES
34+ INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${SHELL_PRIVATE_LIBDIR}")
35+
36+add_unity8_unittest(TopLevelWindowModel TopLevelWindowModelTestExec
37+ ENVIRONMENT LD_LIBRARY_PATH=${UNITY_PLUGINPATH}/WindowManager
38+)
tests/plugins/WindowManager/UnityApplicationMocks.hnew file+228
@@ -0,0 +1,228 @@
1+/*
2+ * Copyright (C) 2017 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 UNITYAPPLICATIONMOCKS_H
18+#define UNITYAPPLICATIONMOCKS_H
19+
20+#include <unity/shell/application/ApplicationInfoInterface.h>
21+#include <unity/shell/application/ApplicationManagerInterface.h>
22+#include <unity/shell/application/MirSurfaceInterface.h>
23+#include <unity/shell/application/SurfaceManagerInterface.h>
24+
25+// from tests/mocks
26+#include <Unity/Application/MirSurfaceListModel.h>
27+
28+#include "wmpolicyinterface.h"
29+
30+using namespace unity::shell::application;
31+
32+class MirSurface : public MirSurfaceInterface
33+{
34+ Q_OBJECT
35+public:
36+ Mir::Type type() const override { return m_type; }
37+ QString name() const override { return QString("foo"); }
38+ QString persistentId() const override { return QString("a-b-c-my-id"); }
39+ QString appId() const override { return QString(); }
40+ QPoint position() const override { return QPoint(); }
41+ QSize size() const override { return QSize(); }
42+ void resize(int, int) override {}
43+ void resize(const QSize &) override {}
44+ Mir::State state() const override { return m_state; }
45+ bool live() const override { return m_live; }
46+ bool visible() const override { return true; }
47+ Mir::OrientationAngle orientationAngle() const override { return Mir::Angle0; }
48+ void setOrientationAngle(Mir::OrientationAngle) override {}
49+
50+ int minimumWidth() const override { return 0; }
51+ int minimumHeight() const override { return 0; }
52+ int maximumWidth() const override { return 0; }
53+ int maximumHeight() const override { return 0; }
54+ int widthIncrement() const override { return 0; }
55+ int heightIncrement() const override { return 0; }
56+
57+ void setKeymap(const QString &) override {}
58+ QString keymap() const override { return QString(); }
59+ Mir::ShellChrome shellChrome() const override { return Mir::NormalChrome; }
60+ bool focused() const override { return true; }
61+ QRect inputBounds() const override { return QRect(); }
62+ bool confinesMousePointer() const override { return false; }
63+ bool allowClientResize() const override { return true; }
64+ void setAllowClientResize(bool) override {}
65+ QPoint requestedPosition() const override { return QPoint(); }
66+ void setRequestedPosition(const QPoint &) override {}
67+ MirSurfaceInterface* parentSurface() const override { return nullptr; }
68+ unity::shell::application::MirSurfaceListInterface* childSurfaceList() const override { return nullptr; }
69+ void close() override {}
70+ void activate() override {}
71+
72+public Q_SLOTS:
73+ void requestState(Mir::State value) override
74+ {
75+ if (m_state != value) {
76+ m_state = value;
77+ Q_EMIT stateChanged(m_state);
78+ }
79+ }
80+
81+public:
82+ Mir::Type m_type { Mir::NormalType };
83+ Mir::State m_state { Mir::RestoredState };
84+ bool m_live { true };
85+};
86+
87+class SurfaceManager : public SurfaceManagerInterface
88+{
89+ Q_OBJECT
90+
91+public:
92+ void forEachSurfaceInWorkspace(const std::shared_ptr<miral::Workspace>&,
93+ const std::function<void(unity::shell::application::MirSurfaceInterface*)>&) override {}
94+ void moveSurfaceToWorkspace(unity::shell::application::MirSurfaceInterface*,
95+ const std::shared_ptr<miral::Workspace>&) override {}
96+ void moveWorkspaceContentToWorkspace(const std::shared_ptr<miral::Workspace>&,
97+ const std::shared_ptr<miral::Workspace>&) override {}
98+
99+ void raise(MirSurfaceInterface *) override {}
100+ void activate(MirSurfaceInterface *) override {}
101+};
102+
103+class Application : public ApplicationInfoInterface
104+{
105+ Q_OBJECT
106+public:
107+ Application(QString appId) : ApplicationInfoInterface(appId, nullptr), m_appId(std::move(appId)) {}
108+
109+ void close() override {}
110+ QString appId() const override { return m_appId;}
111+ QString name() const override { return "foo"; }
112+ QString comment() const override { return "bar"; }
113+ QUrl icon() const override { return QUrl(); }
114+ State state() const override { return m_state; }
115+ RequestedState requestedState() const override { return m_requestedState; }
116+ void setRequestedState(RequestedState value) override
117+ {
118+ if (value != m_requestedState) {
119+ m_requestedState = value;
120+ Q_EMIT requestedStateChanged(value);
121+ }
122+ }
123+ bool focused() const override { return false; }
124+ QString splashTitle() const override { return QString(); }
125+ QUrl splashImage() const override { return QUrl(); }
126+ bool splashShowHeader() const override { return false; }
127+ QColor splashColor() const override { return QColor(); }
128+ QColor splashColorHeader() const override { return QColor(); }
129+ QColor splashColorFooter() const override { return QColor(); }
130+ Qt::ScreenOrientations supportedOrientations() const override { return Qt::LandscapeOrientation; }
131+ bool rotatesWindowContents() const override { return false; }
132+ bool isTouchApp() const override { return false; }
133+ bool exemptFromLifecycle() const override { return false; }
134+ void setExemptFromLifecycle(bool) override {}
135+ QSize initialSurfaceSize() const override { return QSize(); }
136+ void setInitialSurfaceSize(const QSize &) override {}
137+ MirSurfaceListInterface* surfaceList() const override { return &m_surfaceList; }
138+ MirSurfaceListInterface* promptSurfaceList() const override { return nullptr; }
139+ int surfaceCount() const override { return 0; }
140+
141+ QString m_appId;
142+ State m_state;
143+ RequestedState m_requestedState;
144+ mutable MirSurfaceListModel m_surfaceList;
145+};
146+
147+class ApplicationManager : public ApplicationManagerInterface
148+{
149+ Q_OBJECT
150+
151+public:
152+
153+ int rowCount(const QModelIndex &) const override
154+ {
155+ return m_applications.count();
156+ }
157+
158+ QVariant data(const QModelIndex &/*index*/, int /*role*/) const override
159+ {
160+ return QVariant();
161+ }
162+
163+ QString focusedApplicationId() const override {return QString();}
164+
165+ ApplicationInfoInterface *get(int index) const override
166+ {
167+ return m_applications[index];
168+ }
169+
170+ ApplicationInfoInterface *findApplication(const QString &appId) const override
171+ {
172+ Q_UNUSED(appId);
173+ return nullptr;
174+ }
175+
176+ ApplicationInfoInterface *findApplicationWithSurface(MirSurfaceInterface* surface) const override
177+ {
178+ for (int i = 0; i < m_applications.count(); ++i) {
179+ if (m_applications[i]->m_surfaceList.contains(surface)) {
180+ return m_applications[i];
181+ }
182+ }
183+ return nullptr;
184+ }
185+
186+ bool requestFocusApplication(const QString &appId) override
187+ {
188+ Q_UNUSED(appId);
189+ return false;
190+ }
191+
192+ ApplicationInfoInterface *startApplication(const QString &appId, const QStringList &/*arguments*/) override
193+ {
194+ Application *application = new Application(appId);
195+ prepend(application);
196+ return application;
197+ }
198+
199+ bool stopApplication(const QString &) override { return true; }
200+
201+private:
202+ void prepend(Application *application)
203+ {
204+ beginInsertRows(QModelIndex(), 0 /*first*/, 0 /*last*/);
205+ m_applications.append(application);
206+ endInsertRows();
207+ }
208+
209+ QList<Application*> m_applications;
210+};
211+
212+namespace miral {
213+class Workspace {};
214+}
215+
216+class WindowManagementPolicy : public WMPolicyInterface
217+{
218+public:
219+ WindowManagementPolicy() {}
220+
221+ std::shared_ptr<miral::Workspace> createWorkspace() override { return std::make_shared<miral::Workspace>(); }
222+
223+ void releaseWorkspace(const std::shared_ptr<miral::Workspace>&) override {}
224+
225+ void setActiveWorkspace(const std::shared_ptr<miral::Workspace>&) override {}
226+};
227+
228+#endif // UNITYAPPLICATIONMOCKS_H
tests/plugins/WindowManager/tst_TopLevelWindowModel.cppnew file+142
@@ -0,0 +1,142 @@
1+/*
2+ * Copyright (C) 2017 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 <QtTest/QtTest>
18+
19+// WindowManager plugin
20+#include <TopLevelWindowModel.h>
21+#include <Window.h>
22+#include <WindowManagerObjects.h>
23+#include <Workspace.h>
24+#include <WorkspaceManager.h>
25+
26+#include "UnityApplicationMocks.h"
27+#include "wmpolicyinterface.h"
28+
29+
30+class tst_TopLevelWindowModel : public QObject
31+{
32+ Q_OBJECT
33+
34+private Q_SLOTS:
35+ void init(); // called right before each and every test function is executed
36+ void cleanup(); // called right after each and every test function is executed
37+
38+ void singleSurfaceStartsHidden();
39+ void secondSurfaceIsHidden();
40+
41+private:
42+ Workspace* workspace{nullptr};
43+ ApplicationManager *applicationManager{nullptr};
44+ SurfaceManager *surfaceManager{nullptr};
45+ TopLevelWindowModel *topLevelWindowModel{nullptr};
46+};
47+
48+void tst_TopLevelWindowModel::init()
49+{
50+ wmPolicyInterface = new WindowManagementPolicy();
51+
52+ applicationManager = new ApplicationManager;
53+ surfaceManager = new SurfaceManager;
54+ WindowManagerObjects::instance()->setApplicationManager(applicationManager);
55+ WindowManagerObjects::instance()->setSurfaceManager(surfaceManager);
56+
57+ workspace = WorkspaceManager::instance()->createWorkspace();
58+ topLevelWindowModel = workspace->windowModel();
59+}
60+
61+void tst_TopLevelWindowModel::cleanup()
62+{
63+ delete workspace;
64+ workspace = nullptr;
65+
66+ delete surfaceManager;
67+ surfaceManager = nullptr;
68+
69+ delete applicationManager;
70+ applicationManager = nullptr;
71+
72+ delete wmPolicyInterface;
73+ wmPolicyInterface = nullptr;
74+}
75+
76+void tst_TopLevelWindowModel::singleSurfaceStartsHidden()
77+{
78+ QCOMPARE(topLevelWindowModel->rowCount(), 0);
79+
80+ auto application = static_cast<Application*>(applicationManager->startApplication(QString("hello-world"), QStringList()));
81+
82+ QCOMPARE(topLevelWindowModel->rowCount(), 1);
83+ QCOMPARE((void*)topLevelWindowModel->windowAt(0)->surface(), (void*)nullptr);
84+
85+ auto surface = new MirSurface;
86+ surface->m_state = Mir::HiddenState;
87+ application->m_surfaceList.addSurface(surface);
88+ Q_EMIT surfaceManager->surfacesAddedToWorkspace(workspace->workspace(), {surface});
89+
90+ QCOMPARE(topLevelWindowModel->rowCount(), 1);
91+ // not showing the surface as it's still hidden
92+ QCOMPARE((void*)topLevelWindowModel->windowAt(0)->surface(), (void*)nullptr);
93+
94+ surface->requestState(Mir::RestoredState);
95+
96+ QCOMPARE(topLevelWindowModel->rowCount(), 1);
97+ // Now that the surface is no longer hidden, TopLevelWindowModel should expose it.
98+ QCOMPARE((void*)topLevelWindowModel->windowAt(0)->surface(), (void*)surface);
99+}
100+
101+void tst_TopLevelWindowModel::secondSurfaceIsHidden()
102+{
103+ QCOMPARE(topLevelWindowModel->rowCount(), 0);
104+
105+ auto application = static_cast<Application*>(applicationManager->startApplication(QString("hello-world"), QStringList()));
106+
107+ QCOMPARE(topLevelWindowModel->rowCount(), 1);
108+ QCOMPARE((void*)topLevelWindowModel->windowAt(0)->surface(), (void*)nullptr);
109+
110+ auto firstSurface = new MirSurface;
111+ application->m_surfaceList.addSurface(firstSurface);
112+ Q_EMIT surfaceManager->surfacesAddedToWorkspace(workspace->workspace(), {firstSurface});
113+
114+ QCOMPARE(topLevelWindowModel->rowCount(), 1);
115+ QCOMPARE((void*)topLevelWindowModel->windowAt(0)->surface(), (void*)firstSurface);
116+
117+ auto secondSurface = new MirSurface;
118+ secondSurface->m_state = Mir::HiddenState;
119+ application->m_surfaceList.addSurface(secondSurface);
120+ Q_EMIT surfaceManager->surfacesAddedToWorkspace(workspace->workspace(), {secondSurface});
121+
122+ // still only the first surface is exposed by TopLevelWindowModel
123+ QCOMPARE(topLevelWindowModel->rowCount(), 1);
124+ QCOMPARE((void*)topLevelWindowModel->windowAt(0)->surface(), (void*)firstSurface);
125+
126+ secondSurface->requestState(Mir::RestoredState);
127+
128+ // now the second surface finally shows up
129+ QCOMPARE(topLevelWindowModel->rowCount(), 2);
130+ QCOMPARE((void*)topLevelWindowModel->windowAt(0)->surface(), (void*)secondSurface);
131+ QCOMPARE((void*)topLevelWindowModel->windowAt(1)->surface(), (void*)firstSurface);
132+
133+ secondSurface->requestState(Mir::HiddenState);
134+
135+ // and it's gone again
136+ QCOMPARE(topLevelWindowModel->rowCount(), 1);
137+ QCOMPARE((void*)topLevelWindowModel->windowAt(0)->surface(), (void*)firstSurface);
138+}
139+
140+QTEST_MAIN(tst_TopLevelWindowModel)
141+
142+#include "tst_TopLevelWindowModel.moc"
tests/qmltests/ApplicationMenus/tst_MenuBar.qml+101
@@ -74,6 +74,12 @@ Item {
74 signalName: "activated"
74 signalName: "activated"
75 }
75 }
76
76
77+ SignalSpy {
78+ id: aboutToShowCalledSpy
79+ target: menuBackend
80+ signalName: "aboutToShowCalled"
81+ }
82+
77 UnityTestCase {
83 UnityTestCase {
78 id: testCase
84 id: testCase
79 name: "MenuBar"
85 name: "MenuBar"
@@ -113,6 +119,43 @@ Item {
113 compare(menuItem0.popupVisible, true, "Popup should be visible");
119 compare(menuItem0.popupVisible, true, "Popup should be visible");
114 }
120 }
115
121
122+ function test_aboutToShow() {
123+ menuBackend.modelData = appMenuData.generateTestData(3,3,0,0, "menu");
124+ wait(50) // wait for row to build
125+ var priv = findInvisibleChild(menuBar, "d");
126+
127+ var menuItem0 = findChild(menuBar, "menuBar-item0");
128+ var menuItem1 = findChild(menuBar, "menuBar-item1");
129+
130+ aboutToShowCalledSpy.clear();
131+ menuItem0.show();
132+ compare(aboutToShowCalledSpy.count, 1);
133+
134+ menuItem0.show();
135+ // It's already shown so nothing happens
136+ compare(aboutToShowCalledSpy.count, 1);
137+
138+ menuItem0.hide();
139+ menuItem0.show();
140+ compare(aboutToShowCalledSpy.count, 2);
141+
142+ menuItem0.dismiss();
143+ menuItem0.show();
144+ compare(aboutToShowCalledSpy.count, 3);
145+
146+ menuItem1.show();
147+ compare(aboutToShowCalledSpy.count, 4);
148+
149+ menuItem0.show();
150+ compare(aboutToShowCalledSpy.count, 5);
151+
152+ compare(aboutToShowCalledSpy.signalArguments[0][0], 0);
153+ compare(aboutToShowCalledSpy.signalArguments[1][0], 0);
154+ compare(aboutToShowCalledSpy.signalArguments[2][0], 0);
155+ compare(aboutToShowCalledSpy.signalArguments[3][0], 1);
156+ compare(aboutToShowCalledSpy.signalArguments[4][0], 0);
157+ }
158+
116 function test_keyboardNavigation_RightKeySelectsNextMenuItem(data) {
159 function test_keyboardNavigation_RightKeySelectsNextMenuItem(data) {
117 menuBackend.modelData = appMenuData.generateTestData(3,3,0,0, "menu");
160 menuBackend.modelData = appMenuData.generateTestData(3,3,0,0, "menu");
118 var priv = findInvisibleChild(menuBar, "d");
161 var priv = findInvisibleChild(menuBar, "d");
@@ -181,6 +224,30 @@ Item {
181 keyRelease(data.tag, Qt.AltModifier, 100);
224 keyRelease(data.tag, Qt.AltModifier, 100);
182 }
225 }
183
226
227+ function test_disabledTopLevel() {
228+ var modelData = appMenuData.generateTestData(3,3,0,0,"menu");
229+ modelData[1].rowData.sensitive = false;
230+ menuBackend.modelData = modelData;
231+
232+ var priv = findInvisibleChild(menuBar, "d");
233+
234+ var menuItem0 = findChild(menuBar, "menuBar-item0"); verify(menuItem0);
235+ var menuItem2 = findChild(menuBar, "menuBar-item2"); verify(menuItem2);
236+
237+ menuItem0.show();
238+ compare(menuItem0.popupVisible, true, "Popup should be visible");
239+
240+ keyClick(Qt.Key_Right);
241+ compare(priv.currentItem, menuItem2);
242+ compare(menuItem2.popupVisible, true);
243+ compare(menuItem0.popupVisible, false);
244+
245+ keyClick(Qt.Key_Left);
246+ compare(priv.currentItem, menuItem0);
247+ compare(menuItem2.popupVisible, false);
248+ compare(menuItem0.popupVisible, true);
249+ }
250+
184 function test_menuActivateClosesMenu() {
251 function test_menuActivateClosesMenu() {
185 menuBackend.modelData = appMenuData.generateTestData(3,3,0,0,"menu");
252 menuBackend.modelData = appMenuData.generateTestData(3,3,0,0,"menu");
186 var priv = findInvisibleChild(menuBar, "d");
253 var priv = findInvisibleChild(menuBar, "d");
@@ -269,5 +336,39 @@ Item {
269 return false;
336 return false;
270 }, true);
337 }, true);
271 }
338 }
339+
340+ function test_firstDisabled() {
341+ var data = appMenuData.generateTestData(10,5,2,3);
342+ data[0].submenu[1].submenu[0].rowData.sensitive = false;
343+ menuBackend.modelData = data;
344+
345+ var menuItem = findChild(menuBar, "menuBar-item0");
346+ menuItem.show();
347+
348+ // waits for item to be created so the keyclick actually works
349+ findChild(menuBar, "menuBar-item0-menu-item1-actionItem");
350+
351+ keyClick(Qt.Key_Down);
352+ keyClick(Qt.Key_Down);
353+ keyClick(Qt.Key_Right);
354+
355+ var submenu = findChild(menuBar, "menuBar-item0-menu-item1-menu");
356+ var priv = findInvisibleChild(submenu, "d");
357+ var subActionItem1 = findChild(submenu, "menuBar-item0-menu-item1-menu-item1-actionItem");
358+ compare(priv.currentItem.item, subActionItem1);
359+
360+ keyClick(Qt.Key_Down);
361+ var subActionItem3 = findChild(submenu, "menuBar-item0-menu-item1-menu-item3-actionItem");
362+ compare(priv.currentItem.item, subActionItem3);
363+
364+ // now move mouse over to a different item and back to exercise a different codepath
365+ var actionItem0 = findChild(menuBar, "menuBar-item0-menu-item0-actionItem");
366+ mouseMove(actionItem0, actionItem0.width/2, actionItem0.height/2);
367+
368+ var actionItem1 = findChild(menuBar, "menuBar-item0-menu-item1-actionItem");
369+ mouseMove(actionItem1, actionItem1.width/2, actionItem1.height/2);
370+
371+ tryCompareFunction(function() { return priv.currentItem.item == subActionItem1; }, true);
372+ }
272 }
373 }
273}
374}
tests/qmltests/ApplicationMenus/tst_MenuPopup.qml+51−23
@@ -59,18 +59,13 @@ Item {
59 }}
59 }}
60 ]
60 ]
61 }
61 }
62−
63− Binding {
64− target: activatedSpy
65− property: "target"
66− value: unityMenuModel
67− }
68 }
62 }
69 }
63 }
70
64
71 SignalSpy {
65 SignalSpy {
72− id: activatedSpy
66+ id: aboutToShowCalledSpy
67+ target: loader.item ? loader.item.unityMenuModel : undefined
73− signalName: "activated"
68+ signalName: "aboutToShowCalled"
74 }
69 }
75
70
76 UnityTestCase {
71 UnityTestCase {
@@ -88,7 +83,6 @@ Item {
88 function cleanup() {
83 function cleanup() {
89 menu.reset();
84 menu.reset();
90 wait(100); // let the page dismiss
85 wait(100); // let the page dismiss
91− activatedSpy.clear();
92
86
93 loader.active = false;
87 loader.active = false;
94 tryCompare(loader, "item", null);
88 tryCompare(loader, "item", null);
@@ -159,9 +153,6 @@ Item {
159
153
160 var priv = findInvisibleChild(menu, "d");
154 var priv = findInvisibleChild(menu, "d");
161
155
162− keyClick(Qt.Key_Down, Qt.NoModifier);
163− compare(priv.currentItem, item0, "CurrentItem should have moved to item 0");
164−
165 keyClick(Qt.Key_Down, Qt.NoModifier);
156 keyClick(Qt.Key_Down, Qt.NoModifier);
166 compare(priv.currentItem, item1, "CurrentItem should have moved to item 1");
157 compare(priv.currentItem, item1, "CurrentItem should have moved to item 1");
167
158
@@ -170,6 +161,9 @@ Item {
170
161
171 keyClick(Qt.Key_Down, Qt.NoModifier);
162 keyClick(Qt.Key_Down, Qt.NoModifier);
172 compare(priv.currentItem, item0, "CurrentItem should have moved to item 0");
163 compare(priv.currentItem, item0, "CurrentItem should have moved to item 0");
164+
165+ keyClick(Qt.Key_Down, Qt.NoModifier);
166+ compare(priv.currentItem, item1, "CurrentItem should have moved to item 1");
173 }
167 }
174
168
175 function test_keyboardNavigation_UpKeySelectsAndOpensPreviousMenuItemAndRotates() {
169 function test_keyboardNavigation_UpKeySelectsAndOpensPreviousMenuItemAndRotates() {
@@ -181,17 +175,48 @@ Item {
181
175
182 var priv = findInvisibleChild(menu, "d");
176 var priv = findInvisibleChild(menu, "d");
183
177
184− keyClick(Qt.Key_Down, Qt.NoModifier);
178+ keyClick(Qt.Key_Up, Qt.NoModifier);
185− compare(priv.currentItem, item0, "CurrentItem should have moved to item 2");
179+ compare(priv.currentItem, item2, "CurrentItem should have moved to item 2");
186
180
187− keyClick(Qt.Key_Down, Qt.NoModifier);
181+ keyClick(Qt.Key_Up, Qt.NoModifier);
188 compare(priv.currentItem, item1, "CurrentItem should have moved to item 1");
182 compare(priv.currentItem, item1, "CurrentItem should have moved to item 1");
189
183
190− keyClick(Qt.Key_Down, Qt.NoModifier);
184+ keyClick(Qt.Key_Up, Qt.NoModifier);
191− compare(priv.currentItem, item2, "CurrentItem should have moved to item 0");
185+ compare(priv.currentItem, item0, "CurrentItem should have moved to item 0");
192
186
193− keyClick(Qt.Key_Down, Qt.NoModifier);
187+ keyClick(Qt.Key_Up, Qt.NoModifier);
194− compare(priv.currentItem, item0, "CurrentItem should have moved to item 2");
188+ compare(priv.currentItem, item2, "CurrentItem should have moved to item 2");
189+ }
190+
191+ function test_aboutToShow() {
192+ menu.unityMenuModel.modelData = appMenuData.generateTestData(3,3,1,0,"menu",false);
193+
194+ var item0 = findChild(menu, "menu-item0");
195+ var item1 = findChild(menu, "menu-item1");
196+ var item2 = findChild(menu, "menu-item2");
197+
198+ aboutToShowCalledSpy.clear();
199+
200+ mouseMove(item0, item0.width/2, item0.height/2);
201+ tryCompare(aboutToShowCalledSpy, "count", 1);
202+
203+ mouseMove(item1, item0.width/2, item0.height/2);
204+ tryCompare(aboutToShowCalledSpy, "count", 2);
205+
206+ mouseMove(item2, item0.width/2, item0.height/2);
207+ tryCompare(aboutToShowCalledSpy, "count", 3);
208+
209+ mouseMove(item0, item0.width/2, item0.height/2);
210+ tryCompare(aboutToShowCalledSpy, "count", 4);
211+
212+ item0.item.trigger();
213+ // it's already visible
214+ tryCompare(aboutToShowCalledSpy, "count", 4);
215+
216+ compare(aboutToShowCalledSpy.signalArguments[0][0], 0);
217+ compare(aboutToShowCalledSpy.signalArguments[1][0], 1);
218+ compare(aboutToShowCalledSpy.signalArguments[2][0], 2);
219+ compare(aboutToShowCalledSpy.signalArguments[3][0], 0);
195 }
220 }
196
221
197 function test_keyboardNavigation_RightKeyEntersSubMenu() {
222 function test_keyboardNavigation_RightKeyEntersSubMenu() {
@@ -217,7 +242,7 @@ Item {
217
242
218 var menuItem = findChild(menu, "menu-item0"); verify(menuItem);
243 var menuItem = findChild(menu, "menu-item0"); verify(menuItem);
219 mouseClick(menuItem, menuItem.width/2, menuItem.height/2);
244 mouseClick(menuItem, menuItem.width/2, menuItem.height/2);
220− tryCompareFunction(function() { return menuItem.popup !== null && menuItem.popup.visible }, true);
245+ tryCompareFunction(function() { return menuItem.popup !== null && findInvisibleChild(menuItem.popup, "d").currentItem !== null }, true);
221
246
222 keyClick(Qt.Key_Left, Qt.NoModifier);
247 keyClick(Qt.Key_Left, Qt.NoModifier);
223 tryCompareFunction(function() { return menuItem.popup !== null && menuItem.popup.visible }, false);
248 tryCompareFunction(function() { return menuItem.popup !== null && menuItem.popup.visible }, false);
@@ -245,13 +270,16 @@ Item {
245
270
246 menu.unityMenuModel.modelData = differentSizesMenu;
271 menu.unityMenuModel.modelData = differentSizesMenu;
247
272
248− waitForRendering(menu);
273+ // Wait for the two items to be there
274+ tryCompareFunction(function() { return findChild(menu, "menu-item1") !== null; }, true);
249 var longWidth = menu.width;
275 var longWidth = menu.width;
276+
277+ // Now pop one item and make sure it's smaller
250 differentSizesMenu.pop();
278 differentSizesMenu.pop();
251 menu.unityMenuModel.modelData = differentSizesMenu;
279 menu.unityMenuModel.modelData = differentSizesMenu;
252
280
253− waitForRendering(menu);
281+ tryCompareFunction(function() { return findChild(menu, "menu-item0") !== null; }, true);
254− verify(menu.width < longWidth);
282+ tryCompareFunction(function() { return menu.width < longWidth; }, true);
255 }
283 }
256
284
257 function test_minimumWidth() {
285 function test_minimumWidth() {
tests/qmltests/Launcher/tst_Drawer.qml+39
@@ -328,5 +328,44 @@ StyledItem {
328
328
329 tryCompare(launcher, "state", "visibleTemporary");
329 tryCompare(launcher, "state", "visibleTemporary");
330 }
330 }
331+
332+ function test_focusMovesCorrectlyBetweenLauncherAndDrawer() {
333+ var panel = findChild(launcher, "launcherPanel");
334+ var drawer = findChild(launcher, "drawer");
335+ var searchField = findChild(drawer, "searchField");
336+
337+ launcher.openForKeyboardNavigation();
338+ tryCompare(panel, "highlightIndex", -1);
339+ keyClick(Qt.Key_Down);
340+ tryCompare(panel, "highlightIndex", 0);
341+
342+ launcher.openDrawer(true);
343+ tryCompare(searchField, "focus", true);
344+
345+ keyClick(Qt.Key_Escape);
346+
347+ launcher.openForKeyboardNavigation();
348+ tryCompare(panel, "highlightIndex", -1);
349+ keyClick(Qt.Key_Down);
350+ tryCompare(panel, "highlightIndex", 0);
351+ }
352+
353+ function test_closeWhileDragging() {
354+ launcher.openDrawer(true);
355+ waitForRendering(launcher);
356+ waitUntilTransitionsEnd(launcher);
357+
358+ var drawer = findChild(launcher, "drawer");
359+ tryCompare(drawer.anchors, "rightMargin", -drawer.width);
360+
361+ mousePress(drawer, drawer.width / 2, drawer.height / 2);
362+ mouseMove(drawer, drawer.width / 4, drawer.height / 2);
363+ tryCompare(drawer, "draggingHorizontally", true);
364+
365+ keyPress(Qt.Key_Escape);
366+
367+ tryCompare(launcher, "state", "");
368+ tryCompare(drawer, "draggingHorizontally", false);
369+ }
331 }
370 }
332}
371}
tests/qmltests/Launcher/tst_Launcher.qml+42
@@ -95,6 +95,11 @@ Rectangle {
95 property: "lockedVisible"
95 property: "lockedVisible"
96 value: lockedVisibleCheckBox.checked
96 value: lockedVisibleCheckBox.checked
97 }
97 }
98+ Binding {
99+ target: launcherLoader.item
100+ property: "privateMode"
101+ value: privateModeCheckBox.checked
102+ }
98 Binding {
103 Binding {
99 target: launcherLoader.item
104 target: launcherLoader.item
100 property: "panelWidth"
105 property: "panelWidth"
@@ -120,6 +125,20 @@ Rectangle {
120 }
125 }
121 }
126 }
122
127
128+ RowLayout {
129+ CheckBox {
130+ id: privateModeCheckBox
131+ checked: false
132+ }
133+ Label {
134+ text: "Private mode (lockscreen locked)"
135+ AbstractButton {
136+ anchors.fill: parent
137+ onClicked: privateModeCheckBox.checked = !privateModeCheckBox.checked
138+ }
139+ }
140+ }
141+
123 Slider {
142 Slider {
124 id: widthSlider
143 id: widthSlider
125 Layout.fillWidth: true
144 Layout.fillWidth: true
@@ -1242,6 +1261,7 @@ Rectangle {
1242 keyClick(Qt.Key_Down);
1261 keyClick(Qt.Key_Down);
1243 keyClick(Qt.Key_Down);
1262 keyClick(Qt.Key_Down);
1244 keyClick(Qt.Key_Down);
1263 keyClick(Qt.Key_Down);
1264+ keyClick(Qt.Key_Down);
1245 tryCompare(quickList, "selectedIndex", 0)
1265 tryCompare(quickList, "selectedIndex", 0)
1246
1266
1247 // Left gets us back to the launcher
1267 // Left gets us back to the launcher
@@ -1493,6 +1513,28 @@ Rectangle {
1493 compare(launcher.state, "visibleTemporary");
1513 compare(launcher.state, "visibleTemporary");
1494 }
1514 }
1495
1515
1516+ function test_hideQuicklistItemsInPrivateModel_data() {
1517+ return [
1518+ { tag: "private mode", private: true },
1519+ { tag: "normal mode", private: false }
1520+ ];
1521+ }
1522+
1523+ function test_hideQuicklistItemsInPrivateModel(data) {
1524+ privateModeCheckBox.checked = data.private;
1525+
1526+ revealByEdgePush();
1527+
1528+ var item = findChild(launcher, "launcherDelegate4");
1529+ var quickListShape = findChild(launcher, "quickListShape")
1530+
1531+ mousePress(item)
1532+ tryCompare(quickListShape, "visible", true)
1533+
1534+ var repeater = findChild(launcher, "popoverRepeater");
1535+ tryCompare(repeater, "count", LauncherModel.get(4).quickList.count - (data.private ? 1 : 0))
1536+ }
1537+
1496 function test_hintOnSizeChange() {
1538 function test_hintOnSizeChange() {
1497 var oldSize = launcher.panelWidth;
1539 var oldSize = launcher.panelWidth;
1498 launcher.maxPanelX = -launcher.panelWidth;
1540 launcher.maxPanelX = -launcher.panelWidth;
tests/qmltests/Panel/tst_Panel.qml+66−5
@@ -57,6 +57,11 @@ PanelTest {
57 color: "darkgrey"
57 color: "darkgrey"
58 }
58 }
59
59
60+ SignalSpy {
61+ id: aboutToShowCalledSpy
62+ signalName: "aboutToShowCalled"
63+ }
64+
60 RowLayout {
65 RowLayout {
61 anchors.fill: parent
66 anchors.fill: parent
62 anchors.margins: units.gu(1)
67 anchors.margins: units.gu(1)
@@ -315,12 +320,15 @@ PanelTest {
315 tryCompare(panel.indicators, "fullyOpened", true);
320 tryCompare(panel.indicators, "fullyOpened", true);
316 }
321 }
317
322
318− function pullDownApplicationsMenu() {
323+ function pullDownApplicationsMenu(xPos) {
319 var showDragHandle = findChild(panel.applicationMenus, "showDragHandle");
324 var showDragHandle = findChild(panel.applicationMenus, "showDragHandle");
325+ if (xPos === undefined) {
326+ xPos = showDragHandle.width / 2;
327+ }
320 touchFlick(showDragHandle,
328 touchFlick(showDragHandle,
321− showDragHandle.width / 2,
329+ xPos,
322 showDragHandle.height / 2,
330 showDragHandle.height / 2,
323− showDragHandle.width / 2,
331+ xPos,
324 showDragHandle.height / 2 + (showDragHandle.autoCompleteDragThreshold * 1.1));
332 showDragHandle.height / 2 + (showDragHandle.autoCompleteDragThreshold * 1.1));
325 tryCompare(panel.applicationMenus, "fullyOpened", true);
333 tryCompare(panel.applicationMenus, "fullyOpened", true);
326 }
334 }
@@ -769,7 +777,7 @@ PanelTest {
769 panel.mode = "staged";
777 panel.mode = "staged";
770 mouseEmulation.checked = false;
778 mouseEmulation.checked = false;
771
779
772− var appTitle = findChild(panel.applicationMenus, "panelTitle"); verify(appTitle);
780+ var appTitle = findChild(panel, "panelTitle"); verify(appTitle);
773 var appMenuRow = findChild(panel.applicationMenus, "panelRow"); verify(appMenuRow);
781 var appMenuRow = findChild(panel.applicationMenus, "panelRow"); verify(appMenuRow);
774 var appMenuBar = findChild(panel, "menuBar"); verify(appMenuBar);
782 var appMenuBar = findChild(panel, "menuBar"); verify(appMenuBar);
775
783
@@ -787,7 +795,7 @@ PanelTest {
787 panel.mode = "windowed";
795 panel.mode = "windowed";
788 mouseEmulation.checked = false;
796 mouseEmulation.checked = false;
789
797
790− var appTitle = findChild(panel.applicationMenus, "panelTitle"); verify(appTitle);
798+ var appTitle = findChild(panel, "panelTitle"); verify(appTitle);
791 var appMenuRow = findChild(panel.applicationMenus, "panelRow"); verify(appMenuRow);
799 var appMenuRow = findChild(panel.applicationMenus, "panelRow"); verify(appMenuRow);
792 var appMenuBar = findChild(panel, "menuBar"); verify(appMenuBar);
800 var appMenuBar = findChild(panel, "menuBar"); verify(appMenuBar);
793
801
@@ -838,5 +846,58 @@ PanelTest {
838 keyClick(Qt.Key_Escape);
846 keyClick(Qt.Key_Escape);
839 tryCompare(panel.indicators, "fullyClosed", true);
847 tryCompare(panel.indicators, "fullyClosed", true);
840 }
848 }
849+
850+ function test_aboutToShowMenu() {
851+ waitForRendering(panel);
852+
853+ aboutToShowCalledSpy.target = panel.applicationMenus.model
854+ aboutToShowCalledSpy.clear();
855+
856+ var indicatorsBar = findChild(panel.applicationMenus, "indicatorsBar");
857+
858+ PanelState.title = "Fake Title"
859+ pullDownApplicationsMenu(0 /*xPos*/);
860+ compare(aboutToShowCalledSpy.count, 1);
861+
862+ keyClick(Qt.Key_Right);
863+ tryCompare(indicatorsBar, "currentItemIndex", 1);
864+ compare(aboutToShowCalledSpy.count, 2);
865+
866+ compare(aboutToShowCalledSpy.signalArguments[0][0], 0);
867+ compare(aboutToShowCalledSpy.signalArguments[1][0], 1);
868+
869+ keyClick(Qt.Key_Tab);
870+ keyClick(Qt.Key_Tab);
871+
872+ aboutToShowCalledSpy.target = panel.applicationMenus.model.submenu(1);
873+ aboutToShowCalledSpy.clear();
874+
875+ keyClick(Qt.Key_Enter);
876+ compare(aboutToShowCalledSpy.count, 1);
877+ }
878+
879+ function test_disabledTopLevel() {
880+ var modelData = appMenuData.generateTestData(3,3,0,0,"menu");
881+ modelData[1].rowData.sensitive = false;
882+ panel.applicationMenus.model.modelData = modelData;
883+
884+ waitForRendering(panel);
885+
886+ aboutToShowCalledSpy.target = panel.applicationMenus.model
887+ aboutToShowCalledSpy.clear();
888+
889+ var indicatorsBar = findChild(panel.applicationMenus, "indicatorsBar");
890+
891+ PanelState.title = "Fake Title"
892+ pullDownApplicationsMenu(0 /*xPos*/);
893+
894+ tryCompare(indicatorsBar, "currentItemIndex", 0);
895+
896+ keyClick(Qt.Key_Right);
897+ tryCompare(indicatorsBar, "currentItemIndex", 2);
898+
899+ keyClick(Qt.Key_Left);
900+ tryCompare(indicatorsBar, "currentItemIndex", 0);
901+ }
841 }
902 }
842}
903}
tests/qmltests/Stage/tst_TabletStage.qml+33−1
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2015-2016 Canonical, Ltd.
2+ * Copyright (C) 2015-2017 Canonical, Ltd.
3 *
3 *
4 * This program is free software; you can redistribute it and/or modify
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
5 * it under the terms of the GNU General Public License as published by
@@ -759,6 +759,38 @@ Rectangle {
759 tryCompare(appDelegate, "stage", ApplicationInfoInterface.SideStage);
759 tryCompare(appDelegate, "stage", ApplicationInfoInterface.SideStage);
760 }
760 }
761
761
762+ /*
763+ Regression test for https://bugs.launchpad.net/ubuntu/+source/unity8/+bug/1670361
764+
765+ Clicks near the top window edge (but still inside the window boundaries) should go to
766+ the window (and not get eaten by some translucent decoration like in that bug).
767+ */
768+ function test_clickNearTopEdgeGoesToWindow() {
769+ compare(topLevelSurfaceList.count, 1); // assume unity8-dash is already there
770+
771+ var appDelegate = findChild(stage, "appDelegate_" + topLevelSurfaceList.idAt(0));
772+ verify(appDelegate);
773+
774+ var surfaceItem = findChild(appDelegate, "surfaceItem");
775+ verify(surfaceItem);
776+
777+ compare(surfaceItem.mousePressCount, 0);
778+ compare(surfaceItem.mouseReleaseCount, 0);
762
779
780+ mouseClick(appDelegate, 1, 1); // near top left
781+
782+ compare(surfaceItem.mousePressCount, 1);
783+ compare(surfaceItem.mouseReleaseCount, 1);
784+
785+ mouseClick(appDelegate, appDelegate.width / 2, 1); // near top
786+
787+ compare(surfaceItem.mousePressCount, 2);
788+ compare(surfaceItem.mouseReleaseCount, 2);
789+
790+ mouseClick(appDelegate, appDelegate.width - 1, 1); // near top right
791+
792+ compare(surfaceItem.mousePressCount, 3);
793+ compare(surfaceItem.mouseReleaseCount, 3);
794+ }
763 }
795 }
764}
796}
tests/qmltests/tst_Shell.qml+227−10
@@ -2518,27 +2518,44 @@ Rectangle {
2518 tryCompare(app2Surface, "keymap", "fr");
2518 tryCompare(app2Surface, "keymap", "fr");
2519 }
2519 }
2520
2520
2521+ function test_dragPanelToRestoreMaximizedWindow_data() {
2522+ return [
2523+ { tag: "with mouse", mouse: true },
2524+ { tag: "with touch", mouse: false }
2525+ ]
2526+ }
2527+
2521− function test_dragPanelToRestoreMaximizedWindow() {
2528+ function test_dragPanelToRestoreMaximizedWindow(data) {
2522 loadShell("desktop");
2529 loadShell("desktop");
2523 shell.usageScenario = "desktop";
2530 shell.usageScenario = "desktop";
2524 waitForRendering(shell);
2531 waitForRendering(shell);
2525 var panel = findChild(shell, "windowControlArea");
2532 var panel = findChild(shell, "windowControlArea");
2526 verify(panel);
2533 verify(panel);
2527
2534
2528− var appSurfaceId = topLevelSurfaceList.nextId;
2529− var app = ApplicationManager.startApplication("dialer-app")
2530− waitUntilAppWindowIsFullyLoaded(appSurfaceId);
2531−
2532 // start dialer, maximize it
2535 // start dialer, maximize it
2533− var appContainer = findChild(shell, "appContainer");
2536+ var appDelegate = startApplication("dialer-app");
2534− var appDelegate = findChild(appContainer, "appDelegate_" + appSurfaceId);
2535 verify(appDelegate);
2537 verify(appDelegate);
2538+
2536 var maximizeButton = findChild(appDelegate, "maximizeWindowButton");
2539 var maximizeButton = findChild(appDelegate, "maximizeWindowButton");
2540+ if (data.mouse) {
2537− mouseClick(maximizeButton);
2541+ mouseClick(maximizeButton);
2542+ } else {
2543+ tap(maximizeButton);
2544+ }
2538
2545
2546+ waitUntilTransitionsEnd(appDelegate);
2539 tryCompare(appDelegate, "state", "maximized");
2547 tryCompare(appDelegate, "state", "maximized");
2540
2548
2549+ if (data.mouse) {
2550+ mouseMove(panel, panel.width/2, panel.panelHeight/2); // to reveal the menus
2551+ var menuBarLoader = findInvisibleChild(panel, "menuBarLoader");
2552+ verify(menuBarLoader);
2553+ tryCompare(menuBarLoader.item, "visible", true);
2541− mouseDrag(panel, panel.width/2, panel.height/2, 0, shell.height/3, Qt.LeftButton, Qt.NoModifier, 500);
2554+ mouseDrag(panel, panel.width/2, panel.height/2, 0, shell.height/3, Qt.LeftButton, Qt.NoModifier, 500);
2555+ } else {
2556+ touchFlick(panel, panel.width/2, panel.panelHeight/2, panel.width/2, shell.height/3);
2557+ }
2558+
2542 tryCompare(appDelegate, "state", "restored");
2559 tryCompare(appDelegate, "state", "restored");
2543 }
2560 }
2544
2561
@@ -2853,7 +2870,7 @@ Rectangle {
2853 loadShell(data.tag);
2870 loadShell(data.tag);
2854
2871
2855 var panel = findChild(shell, "panel"); verify(panel);
2872 var panel = findChild(shell, "panel"); verify(panel);
2856− var panelTitle = findChild(panel.applicationMenus, "panelTitle"); verify(panelTitle);
2873+ var panelTitle = findChild(panel, "panelTitle"); verify(panelTitle);
2857 compare(panelTitle.visible, false, "Panel title should not be visible when greeter is shown");
2874 compare(panelTitle.visible, false, "Panel title should not be visible when greeter is shown");
2858
2875
2859 swipeAwayGreeter();
2876 swipeAwayGreeter();
@@ -2918,6 +2935,86 @@ Rectangle {
2918 tryCompare(appDelegate, "state", "maximizedRight");
2935 tryCompare(appDelegate, "state", "maximizedRight");
2919 }
2936 }
2920
2937
2938+
2939+ function test_closeAppsInSpreadWithQ() {
2940+ loadShell("desktop");
2941+ shell.usageScenario = "desktop";
2942+ waitForRendering(shell);
2943+ swipeAwayGreeter();
2944+
2945+ var appSurfaceId = topLevelSurfaceList.nextId;
2946+ var app = ApplicationManager.startApplication("dialer-app")
2947+ waitUntilAppWindowIsFullyLoaded(appSurfaceId);
2948+
2949+ appSurfaceId = topLevelSurfaceList.nextId;
2950+ app = ApplicationManager.startApplication("calendar-app")
2951+ waitUntilAppWindowIsFullyLoaded(appSurfaceId);
2952+
2953+ keyPress(Qt.Key_Alt);
2954+ keyClick(Qt.Key_Tab);
2955+
2956+ var stage = findChild(shell, "stage");
2957+ var spread = findChild(stage, "spreadItem");
2958+ var appRepeater = findChild(stage, "appRepeater");
2959+
2960+ tryCompare(stage, "state", "spread");
2961+
2962+ tryCompare(ApplicationManager, "count", 3);
2963+ tryCompareFunction(function() {return appRepeater.itemAt(spread.highlightedIndex).appId == "dialer-app"}, true);
2964+
2965+ // Close one app with Q while in spread
2966+ keyClick(Qt.Key_Q);
2967+
2968+ tryCompare(ApplicationManager, "count", 2);
2969+
2970+ // Now the dash should be highlighted
2971+ tryCompareFunction(function() {return appRepeater.itemAt(spread.highlightedIndex).appId == "unity8-dash"}, true);
2972+
2973+ keyClick(Qt.Key_Q);
2974+
2975+ // Dash is not closeable, should still be 2
2976+ tryCompare(ApplicationManager, "count", 2);
2977+
2978+ // Move to the next one, should be closable again
2979+ keyClick(Qt.Key_Tab);
2980+ tryCompareFunction(function() {return appRepeater.itemAt(spread.highlightedIndex).appId == "calendar-app"}, true);
2981+
2982+ // close it
2983+ keyClick(Qt.Key_Q);
2984+ tryCompare(ApplicationManager, "count", 1);
2985+
2986+ keyRelease(Qt.Key_Alt);
2987+
2988+ // Now start the apps again
2989+ appSurfaceId = topLevelSurfaceList.nextId;
2990+ app = ApplicationManager.startApplication("dialer-app");
2991+ waitUntilAppWindowIsFullyLoaded(appSurfaceId);
2992+
2993+ appSurfaceId = topLevelSurfaceList.nextId;
2994+ app = ApplicationManager.startApplication("calendar-app");
2995+ waitUntilAppWindowIsFullyLoaded(appSurfaceId);
2996+
2997+ // First focus the dash so it'll be the leftmost in the spread
2998+ ApplicationManager.requestFocusApplication("unity8-dash");
2999+
3000+ keyPress(Qt.Key_Alt);
3001+ keyClick(Qt.Key_Tab);
3002+ tryCompare(stage, "state", "spread");
3003+
3004+ // Move to the last one
3005+ keyClick(Qt.Key_Tab);
3006+
3007+ // Close the last one, make sure the highlight fixes itself to stick within the list
3008+ tryCompare(spread, "highlightedIndex", ApplicationManager.count - 1);
3009+ var oldHighlighted = spread.highlightedIndex;
3010+
3011+ keyClick(Qt.Key_Q);
3012+ tryCompare(spread, "highlightedIndex", oldHighlighted - 1);
3013+
3014+ keyRelease(Qt.Key_Alt);
3015+
3016+ }
3017+
2921 function test_altTabToMinimizedApp() {
3018 function test_altTabToMinimizedApp() {
2922 loadShell("desktop");
3019 loadShell("desktop");
2923 shell.usageScenario = "desktop";
3020 shell.usageScenario = "desktop";
@@ -2946,6 +3043,61 @@ Rectangle {
2946 tryCompare(topLevelSurfaceList.applicationAt(0), "appId", "dialer-app");
3043 tryCompare(topLevelSurfaceList.applicationAt(0), "appId", "dialer-app");
2947 }
3044 }
2948
3045
3046+ function test_touchMenuPosition_data() {
3047+ return [
3048+ { tag: "launcher locked", lockLauncher: true },
3049+ { tag: "launcher not locked", lockLauncher: false }
3050+ ];
3051+ }
3052+
3053+ function test_touchMenuPosition(data) {
3054+ loadShell("desktop");
3055+ shell.usageScenario = "desktop";
3056+ waitForRendering(shell);
3057+ swipeAwayGreeter();
3058+
3059+ var panel = findChild(shell, "panel");
3060+ var launcher = testCase.findChild(shell, "launcher");
3061+ launcher.lockedVisible = data.lockLauncher;
3062+ if (data.lockLauncher) {
3063+ compare(panel.applicationMenus.x, launcher.panelWidth);
3064+ } else {
3065+ compare(panel.applicationMenus.x, 0);
3066+ }
3067+ }
3068+
3069+ function test_touchMenuHidesOnLauncherAppDrawer_data() {
3070+ return [
3071+ { tag: "launcher locked", lockLauncher: true },
3072+ { tag: "launcher not locked", lockLauncher: false }
3073+ ];
3074+ }
3075+
3076+ function test_touchMenuHidesOnLauncherAppDrawer(data) {
3077+ loadShell("desktop");
3078+ shell.usageScenario = "desktop";
3079+ waitForRendering(shell);
3080+ swipeAwayGreeter();
3081+
3082+ var panel = findChild(shell, "panel");
3083+ var launcher = testCase.findChild(shell, "launcher");
3084+ launcher.lockedVisible = data.lockLauncher;
3085+
3086+ waitForRendering(panel.applicationMenus);
3087+
3088+ if (data.lockLauncher) {
3089+ panel.applicationMenus.show();
3090+ tryCompare(panel.applicationMenus, "fullyOpened", true);
3091+ launcher.openDrawer();
3092+ } else {
3093+ tryCompare(launcher, "shown", false);
3094+ panel.applicationMenus.show();
3095+ tryCompare(panel.applicationMenus, "fullyOpened", true);
3096+ launcher.switchToNextState("visible");
3097+ }
3098+ tryCompare(panel.applicationMenus, "fullyClosed", true);
3099+ }
3100+
2949 function test_doubleClickPanelRestoresWindow() {
3101 function test_doubleClickPanelRestoresWindow() {
2950 loadShell("desktop");
3102 loadShell("desktop");
2951 shell.usageScenario = "desktop";
3103 shell.usageScenario = "desktop";
@@ -2969,5 +3121,70 @@ Rectangle {
2969 mouseDoubleClickSequence(panel, panel.width/2, PanelState.panelHeight/2, Qt.LeftButton, Qt.NoModifier, 300);
3121 mouseDoubleClickSequence(panel, panel.width/2, PanelState.panelHeight/2, Qt.LeftButton, Qt.NoModifier, 300);
2970 tryCompare(appDelegate, "state", "restored");
3122 tryCompare(appDelegate, "state", "restored");
2971 }
3123 }
3124+
3125+ function test_noMenusWithActiveCall() {
3126+ loadShell("desktop");
3127+ shell.usageScenario = "desktop";
3128+ waitForRendering(shell);
3129+ swipeAwayGreeter();
3130+
3131+ // start music-app, maximize it
3132+ var appDelegate = startApplication("music-app")
3133+ verify(appDelegate);
3134+ appDelegate.requestMaximize();
3135+
3136+ // move the mouse over panel to reveal the menus
3137+ var panel = findChild(shell, "panel");
3138+ verify(panel);
3139+ mouseMove(panel, panel.width/2, panel.panelHeight/2); // to reveal the menus
3140+ var menuBarLoader = findInvisibleChild(panel, "menuBarLoader");
3141+ verify(menuBarLoader);
3142+ tryCompare(menuBarLoader.item, "visible", true);
3143+
3144+ // place a phone call
3145+ callManager.foregroundCall = phoneCall;
3146+
3147+ // menu bar should be hidden
3148+ tryCompare(menuBarLoader, "active", false);
3149+ tryCompare(menuBarLoader, "item", null);
3150+
3151+ // remove call
3152+ callManager.foregroundCall = null;
3153+
3154+ // menu bar should be revealed
3155+ tryCompare(menuBarLoader, "active", true);
3156+ tryCompare(menuBarLoader.item, "visible", true);
3157+ }
3158+
3159+ function test_maximizedWindowAndMenuInPanel() {
3160+ loadShell("desktop");
3161+ shell.usageScenario = "desktop";
3162+ waitForRendering(shell);
3163+ swipeAwayGreeter();
3164+
3165+ // start music-app, maximize it
3166+ var appDelegate = startApplication("music-app")
3167+ verify(appDelegate);
3168+ appDelegate.requestMaximize();
3169+ tryCompare(appDelegate, "state", "maximized");
3170+
3171+ // move the mouse over panel to reveal the menus
3172+ var panel = findChild(shell, "panel");
3173+ verify(panel);
3174+ mouseMove(panel, panel.width/2, panel.panelHeight/2); // to reveal the menus
3175+ var menuBar = findChild(panel, "menuBar");
3176+ verify(menuBar);
3177+ tryCompare(menuBar, "visible", true);
3178+
3179+ // check that the menu popup appears
3180+ var priv = findInvisibleChild(menuBar, "d");
3181+ var menuItem0 = findChild(menuBar, "menuBar-item0");
3182+ verify(menuItem0);
3183+ mouseMove(menuItem0, menuItem0.width/2, menuItem0.height/2, 200);
3184+ tryCompare(menuItem0, "visible", true);
3185+ mouseClick(menuItem0);
3186+ tryCompare(priv, "currentItem", menuItem0);
3187+ tryCompare(priv.currentItem, "popupVisible", true);
3188+ }
2972 }
3189 }
2973}
3190}