on xenial help sign in
Merge unity8
6b3c03eAlbert Astals Cid
CMakeLists.txt+13−2
@@ -57,12 +57,24 @@ find_package(Qt5DBus 5.4 REQUIRED)
57find_package(Qt5Concurrent 5.4 REQUIRED)
57find_package(Qt5Concurrent 5.4 REQUIRED)
58find_package(Qt5Sql 5.4 REQUIRED)
58find_package(Qt5Sql 5.4 REQUIRED)
59
59
60−pkg_check_modules(APPLICATION_API REQUIRED unity-shell-application=16)
60+pkg_check_modules(APPLICATION_API REQUIRED unity-shell-application=18)
61pkg_check_modules(GEONAMES REQUIRED geonames>=0.2)
61pkg_check_modules(GEONAMES REQUIRED geonames>=0.2)
62pkg_check_modules(GIO REQUIRED gio-2.0>=2.32)
62pkg_check_modules(GIO REQUIRED gio-2.0>=2.32)
63pkg_check_modules(GLIB REQUIRED glib-2.0>=2.32)
63pkg_check_modules(GLIB REQUIRED glib-2.0>=2.32)
64pkg_check_modules(QMENUMODEL REQUIRED qmenumodel)
64pkg_check_modules(QMENUMODEL REQUIRED qmenumodel)
65
65
66+pkg_check_modules(UBUNTUGESTURES REQUIRED UbuntuGestures)
67+
68+### Check UbuntuGestures private headers. No pkg-config (.pc) file is provided for them
69+find_path(UBUNTUGESTUREPRIV
70+ NAMES UbuntuGestures/private/damper_p.h UbuntuGestures/private/ucswipearea_p.h UbuntuGestures/private/ucswipearea_p_p.h
71+ PATHS ${UBUNTUGESTURES_INCLUDEDIR}/UbuntuGestures/${UBUNTUGESTURES_VERSION}
72+ NO_DEFAULT_PATH)
73+if (${UBUNTUGESTUREPRIV} STREQUAL UBUNTUGESTUREPRIV-NOTFOUND)
74+ message(FATAL_ERROR "UbuntuGestures private headers not found.")
75+endif()
76+# end of UbuntuGesture private headers check
77+
66# Standard install paths
78# Standard install paths
67include(GNUInstallDirs)
79include(GNUInstallDirs)
68
80
@@ -144,7 +156,6 @@ endif()
144
156
145# add subdirectories to build
157# add subdirectories to build
146add_subdirectory(include)
158add_subdirectory(include)
147−add_subdirectory(libs)
148add_subdirectory(src)
159add_subdirectory(src)
149add_subdirectory(tools)
160add_subdirectory(tools)
150add_subdirectory(qml)
161add_subdirectory(qml)
data/unity8.conf+12−2
@@ -3,7 +3,7 @@ author "Ricardo Mendoza <ricmm@ubuntu.com>"
3
3
4emits indicator-services-start
4emits indicator-services-start
5
5
6−start on ((xsession SESSION=ubuntu-touch) or (xsession SESSION=unity8-mir)) and started dbus
6+start on ((xsession SESSION=ubuntu-touch) or (xsession SESSION=unity8-mir) or (xsession SESSION=unity8)) and started dbus
7stop on desktop-end
7stop on desktop-end
8
8
9kill timeout 120
9kill timeout 120
@@ -50,9 +50,19 @@ pre-start script
50 # the lag seen in the indicator panel pull-down (LP: #1488327) and also
50 # the lag seen in the indicator panel pull-down (LP: #1488327) and also
51 # reduces lag seen in apps:
51 # reduces lag seen in apps:
52 initctl set-env --global QML_NO_TOUCH_COMPRESSION=1
52 initctl set-env --global QML_NO_TOUCH_COMPRESSION=1
53+
54+ if [ "$XDG_SESSION_DESKTOP" = "ubuntu-touch" ]; then
55+ # On Ubuntu Touch, we currently use a trick where we auto-login the
56+ # user without a LightDM greeter at all. In this case, we want to
57+ # start with the lockscreen visible. Once we switch to using a
58+ # proper greeter for the first login, we can remove this code path.
59+ initctl set-env MODE=full-greeter
60+ else
61+ initctl set-env MODE=full-shell
62+ fi
53end script
63end script
54
64
55−exec ${BINARY:-unity8} $ARGS
65+exec ${BINARY:-unity8} --mode=$MODE $ARGS
56
66
57post-start script
67post-start script
58 initctl emit --no-wait indicator-services-start
68 initctl emit --no-wait indicator-services-start
debian/changelog+151
@@ -1,3 +1,154 @@
1+unity8 (8.12+16.10.20160617-0ubuntu1) yakkety; urgency=medium
2+
3+ [ Michael Terry ]
4+ * Do not create Label/Icon if we don't need it
5+ * Fix Z-ordering of prompt surfaces (LP: #1586219)
6+ * Drop bottom edge tutorials completely and small fixes for other
7+ edges. (LP: #1565103)
8+ * Redo visuals for greeter prompt box. (LP: #1435923)
9+ * Make tutorial qmltests more robust. (LP: #1590810)
10+ * Stop showing an extra lockscreen in desktop unity8 sessions. (LP:
11+ #1582987)
12+
13+ [ Albert Astals Cid ]
14+ * Improve dash plugin mock
15+ * Stabilize PreviewExpandableTest::test_all_widgets_height
16+ * Workaround QTBUG-53460
17+ * Split artShape code for cardTool card and regular card
18+ * Simplify the code since fixedArtSize code is mandatory for regular
19+ cards
20+ * Desktop stage: Support rotatesWindowContents (LP: #1547481)
21+ * Turn if if else into if elseif else
22+ * Fix leaks in QInputDeviceManagerPrivate::addDevice
23+ * Do not call |= on uninitialized sigterm.sa_flags
24+ * initialize udevMonitor
25+ * Make notifier and notifierFd function local variables
26+ * Fix crash if a component that is not an Item is given to
27+ sectionDelegate
28+ * Tests: Do not use dynamic_cast if we're not going to test it anyway
29+ * Minor coverity fixes
30+ * Fix warning about anchors.fill in ProportionalShape (LP: #1590963)
31+ * Make wait in cleanup() wait for snapTo animation to have finished
32+
33+ [ Alexandros Frantzis ]
34+ * Improve the way notifications interact with power management (LP:
35+ #1570922)
36+
37+ [ Andrea Cimitan ]
38+ * Correctly refresh cardcreator cache on artshapestyle changes (LP:
39+ #1588335)
40+ * Same tweaks we have for click scope now for libertine
41+ * add a timer to pull to refresh to work on small windows (LP:
42+ #1589060)
43+
44+ [ Daniel d'Andrada ]
45+ * Clean up debug leftovers
46+ * Ensure mouse and window movement are pixel-aligned (LP: #1510382)
47+ * Fix SpreadDelegate rotation animations
48+ * No point in version-controlling files that are automatically
49+ generated
50+ * Center cursor on screen when it's first shown
51+ * Custom cursor name just have to start with "custom"
52+ * Work around AnimatedSprite infinite loop bug (LP: #1588929)
53+
54+ [ Josh Arenson ]
55+ * Disable showDash when it is already shown. (LP: #1506708)
56+ * Add a timestamp to the dash log (LP: #1580074)
57+ * Add timestamp to unity8 log (LP: #1498169)
58+
59+ [ Lukáš Tinkl ]
60+ * Implement keyboard shortcuts info panel
61+ * Implement window controls overlay activatable with 3 fingers tap
62+ (LP: #1489020)
63+ * Select correct Chinese input method for OSK in the wizard (LP:
64+ #1588633)
65+
66+ [ Michael Zanetti ]
67+ * Add support for the launcher surface pips displaying the correct
68+ number of surfaces
69+ * Add support for the persistent alert state. (LP: #1575147, #1584348,
70+ #1586621)
71+ * send a Alt-release event on alt+tab instead of delaying it
72+ completely and invoking it later (LP: #1565236)
73+
74+ [ Stephen M. Webb ]
75+ * added a new upstart $SESSION for unity8-desktop-session (LP:
76+ #1376715)
77+
78+ -- Michael Terry <michael.terry@canonical.com> Fri, 17 Jun 2016 01:22:57 +0000
79+
80+unity8 (8.12+16.10.20160601.1-0ubuntu1) yakkety; urgency=medium
81+
82+ [ Pawel Stolowski ]
83+ * Added apparmor profile for unity8-dash.
84+
85+ -- Michał Sawicz <michal.sawicz@canonical.com> Wed, 01 Jun 2016 20:59:03 +0000
86+
87+unity8 (8.12+16.10.20160527-0ubuntu1) yakkety; urgency=medium
88+
89+ [ Albert Astals Cid ]
90+ * Activate on click for SimpleMessages (LP: #1421696)
91+ * Add override
92+ * Change the art back to the cardData value if it changes from broken
93+ to valid image (LP: #1533577)
94+ * Concierge mode generated code optimization
95+ * Don't use context properties but properties of the delegates
96+ * Listen to contentItem::widthChanged instead of
97+ Flickable::contentWidthChanged (LP: #1565763)
98+ * Make some AP code faster
99+ * Make tests a bit more stable
100+ * Make unity8 and unity8-dash handle termination signals
101+ * Remove workaround not needed anymore (LP: #1475643)
102+ * Resolve cardArtStyle on compile time
103+ * Set the theme earlier (LP: #1574048)
104+
105+ [ Albert Astals Cid, Daniel d'Andrada ]
106+ * Remove DirectionalDragArea and libs/UbuntuGestures and port to SDK
107+ equivalents
108+
109+ [ Andrea Cimitan ]
110+ * Hide the preview review input field when a rating is required (LP:
111+ #1541971)
112+
113+ [ CI Train Bot ]
114+ * Resync trunk.
115+
116+ [ Daniel d'Andrada ]
117+ * Fix DragHandle so it works in all directions
118+ * Support animated cursors
119+ * WindowInputMonitor - also map Qt::Key_HomePage to our home key
120+ * plugins/Cursor: properly register to the screen's QPlatformCursor
121+ when screen changes (LP: #1579742)
122+
123+ [ Josh Arenson ]
124+ * Close the PageHeaderExtraPanel when a filter option is selected (LP:
125+ #1569498)
126+ * Wrap primaryFilter in a flickable to make it behave nicely. (LP:
127+ #1569492)
128+
129+ [ Lukáš Tinkl ]
130+ * First snap decision should always be expanded, unless user decides
131+ otherwise (LP: #1580090, #1575045)
132+ * Fullscreen notification bug fixes (LP: #1583944, #1581498, #1422711)
133+ * Implement maximizing windows horizontally/vertically
134+ * Lock the session when putting the laptop into sleep (LP: #1581063)
135+
136+ [ Lukáš Tinkl, Michael Terry ]
137+ * With a maximized window, "dragging" the panel down should restore it
138+
139+ [ Michael Terry ]
140+ * Change some dash button colors from orange to green. (LP: #1581047)
141+ * Use PageHeader instead Ambiance's PageHeadStyle
142+ * Use new setTimeZone method to set user-friendly timezone name in the
143+ wizard. (LP: #1566295)
144+
145+ [ Michael Zanetti ]
146+ * Remove the background dimming when the launcher is revealed by a
147+ drag (LP: #1575137)
148+ * reenable or drop disabled tests
149+
150+ -- Michael Terry <michael.terry@canonical.com> Fri, 27 May 2016 13:54:44 +0000
151+
1unity8 (8.12+16.10.20160520.1-0ubuntu1) yakkety; urgency=medium
152unity8 (8.12+16.10.20160520.1-0ubuntu1) yakkety; urgency=medium
2
153
3 [ Lukáš Tinkl ]
154 [ Lukáš Tinkl ]
debian/control+6−3
@@ -5,6 +5,7 @@ Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
5Build-Depends: cmake,
5Build-Depends: cmake,
6 dbus-test-runner,
6 dbus-test-runner,
7 debhelper (>= 9),
7 debhelper (>= 9),
8+ dh-apparmor,
8 doxyqml,
9 doxyqml,
9# To allow cross-compiling to work, we also must append :native
10# To allow cross-compiling to work, we also must append :native
10# to g++ so we don't try to run armhf g++
11# to g++ so we don't try to run armhf g++
@@ -29,8 +30,10 @@ Build-Depends: cmake,
29 libqt5svg5-dev,
30 libqt5svg5-dev,
30 libqt5xmlpatterns5-dev,
31 libqt5xmlpatterns5-dev,
31 libsystemsettings-dev,
32 libsystemsettings-dev,
33+ libubuntugestures5-dev,
34+ libubuntugestures5-private-dev,
32 libudev-dev,
35 libudev-dev,
33− libunity-api-dev (>= 7.112),
36+ libunity-api-dev (>= 7.115),
34 libusermetricsoutput1-dev,
37 libusermetricsoutput1-dev,
35# Need those X11 libs touch emulation from mouse events in manual QML tests on a X11 desktop
38# Need those X11 libs touch emulation from mouse events in manual QML tests on a X11 desktop
36 libx11-dev[!armhf],
39 libx11-dev[!armhf],
@@ -106,7 +109,7 @@ Depends: dmz-cursor-theme,
106 qtdeclarative5-qtmir-plugin (>= 0.4.8),
109 qtdeclarative5-qtmir-plugin (>= 0.4.8),
107 qtdeclarative5-ubuntu-telephony0.1,
110 qtdeclarative5-ubuntu-telephony0.1,
108 qtdeclarative5-ubuntu-web-plugin,
111 qtdeclarative5-ubuntu-web-plugin,
109− ubuntu-system-settings,
112+ ubuntu-system-settings (>= 0.4),
110 unity-launcher-impl-7,
113 unity-launcher-impl-7,
111 unity8-common (= ${source:Version}),
114 unity8-common (= ${source:Version}),
112 unity8-private (= ${binary:Version}),
115 unity8-private (= ${binary:Version}),
@@ -133,7 +136,7 @@ Depends: qml-module-qtquick-layouts,
133 qtdeclarative5-ubuntu-ui-toolkit-plugin (>= 1.3.1845) | qtdeclarative5-ubuntu-ui-toolkit-plugin-gles (>= 1.3.1845),
136 qtdeclarative5-ubuntu-ui-toolkit-plugin (>= 1.3.1845) | qtdeclarative5-ubuntu-ui-toolkit-plugin-gles (>= 1.3.1845),
134 qtdeclarative5-unity-notifications-plugin (>= 0.1.2) | unity-notifications-impl,
137 qtdeclarative5-unity-notifications-plugin (>= 0.1.2) | unity-notifications-impl,
135 ubuntu-thumbnailer-impl-0,
138 ubuntu-thumbnailer-impl-0,
136− unity-application-impl-16,
139+ unity-application-impl-17,
137 unity-notifications-impl-3,
140 unity-notifications-impl-3,
138 unity-plugin-scopes | unity-scopes-impl,
141 unity-plugin-scopes | unity-scopes-impl,
139 unity-scopes-impl-12,
142 unity-scopes-impl-12,
debian/rules+4
@@ -29,6 +29,10 @@ override_dh_install:
29 cd $(CURDIR)
29 cd $(CURDIR)
30 dh_install -X'*.pyc' --fail-missing
30 dh_install -X'*.pyc' --fail-missing
31
31
32+override_dh_installdeb:
33+ dh_apparmor --profile-name=usr.bin.unity8-dash -punity8-dash
34+ dh_installdeb
35+
32# use private lib directories
36# use private lib directories
33override_dh_makeshlibs:
37override_dh_makeshlibs:
34 dh_makeshlibs -Nunity8-private -Nunity8-fake-env
38 dh_makeshlibs -Nunity8-private -Nunity8-fake-env
debian/unity8-private.install−1
@@ -1,5 +1,4 @@
1usr/lib/*/libunity8-private.*
1usr/lib/*/libunity8-private.*
2−usr/lib/*/unity8/libUbuntuGestures*
3usr/lib/*/unity8/qml/AccountsService
2usr/lib/*/unity8/qml/AccountsService
4usr/lib/*/unity8/qml/Cursor
3usr/lib/*/unity8/qml/Cursor
5usr/lib/*/unity8/qml/Dash
4usr/lib/*/unity8/qml/Dash
debian/unity8.install+1
@@ -1,3 +1,4 @@
1+debian/usr.bin.unity8-dash etc/apparmor.d
1var/lib/unity8/version
2var/lib/unity8/version
2data/unity8-dash.conf usr/share/upstart/sessions/
3data/unity8-dash.conf usr/share/upstart/sessions/
3data/unity8-filewatcher.conf usr/share/upstart/sessions/
4data/unity8-filewatcher.conf usr/share/upstart/sessions/
debian/usr.bin.unity8-dashnew file+21
@@ -0,0 +1,21 @@
1+# vim:syntax=apparmor
2+
3+#include <tunables/global>
4+
5+# v2 compatible wildly permissive profile
6+profile unity8-dash /usr/bin/unity8-dash (attach_disconnected) {
7+ capability,
8+ network,
9+ / rwkl,
10+ /** rwlkm,
11+ /** pix,
12+
13+ mount,
14+ remount,
15+ umount,
16+ pivot_root,
17+ dbus,
18+ signal,
19+ ptrace,
20+ unix,
21+}
libs/CMakeLists.txtdeleted−1
@@ -1 +0,0 @@
1−add_subdirectory(UbuntuGestures)
libs/UbuntuGestures/CMakeLists.txtdeleted−41
@@ -1,41 +0,0 @@
1−# in order to include Qt's private headers
2−remove_definitions(-DQT_NO_KEYWORDS)
3−
4−set(UbuntuGestures_SOURCES
5− CandidateInactivityTimer.cpp
6− DebugHelpers.cpp
7− Timer.cpp
8− TimeSource.cpp
9− TouchOwnershipEvent.cpp
10− TouchRegistry.cpp
11− UnownedTouchEvent.cpp
12−)
13−
14−add_definitions(-DUBUNTUGESTURES_LIBRARY)
15−
16−add_library(UbuntuGestures SHARED ${UbuntuGestures_SOURCES})
17−
18−qt5_use_modules(UbuntuGestures Core Quick)
19−
20−# So that Foo.cpp can #include "Foo.moc"
21−include_directories(${CMAKE_CURRENT_BINARY_DIR})
22−
23−install(TARGETS UbuntuGestures
24− DESTINATION ${SHELL_PRIVATE_LIBDIR})
25−
26−
27−# There's no cmake var for v8 include path :-/ so create one
28−LIST(GET Qt5Core_INCLUDE_DIRS 0 QtCoreDir0)
29−if(${Qt5Core_VERSION_STRING} VERSION_LESS "5.1.0")
30− SET(Qt5V8_PRIVATE_INCLUDE_DIR ${QtCoreDir0}/../QtV8/${Qt5Core_VERSION_STRING}/QtV8)
31−else()
32− SET(Qt5V8_PRIVATE_INCLUDE_DIR ${QtCoreDir0}/QtV8/${Qt5Core_VERSION_STRING}/QtV8)
33−endif()
34−
35−# DANGER! DANGER! Using Qt's private API!
36−include_directories(
37− ${Qt5Qml_PRIVATE_INCLUDE_DIRS}
38− ${Qt5Quick_INCLUDE_DIRS}
39− ${Qt5Quick_PRIVATE_INCLUDE_DIRS}
40− ${Qt5V8_PRIVATE_INCLUDE_DIR}
41−)
libs/UbuntuGestures/CandidateInactivityTimer.cppdeleted−46
@@ -1,46 +0,0 @@
1−/*
2− * Copyright (C) 2014 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−#include "CandidateInactivityTimer.h"
18−
19−namespace UbuntuGestures {
20−
21−CandidateInactivityTimer::CandidateInactivityTimer(int touchId, QQuickItem *candidate,
22− AbstractTimer *timer, QObject *parent)
23− : QObject(parent)
24− , m_timer(timer)
25− , m_touchId(touchId)
26− , m_candidate(candidate)
27−{
28− connect(m_timer, &AbstractTimer::timeout,
29− this, &CandidateInactivityTimer::onTimeout);
30− m_timer->setInterval(durationMs);
31− m_timer->setSingleShot(true);
32− m_timer->start();
33−}
34−
35−CandidateInactivityTimer::~CandidateInactivityTimer()
36−{
37− delete m_timer;
38−}
39−
40−void CandidateInactivityTimer::onTimeout()
41−{
42− qWarning("[TouchRegistry] Candidate for touch %d defaulted!", m_touchId);
43− Q_EMIT candidateDefaulted(m_touchId, m_candidate);
44−}
45−
46−} // namespace UbuntuGestures
libs/UbuntuGestures/CandidateInactivityTimer.hdeleted−51
@@ -1,51 +0,0 @@
1−/*
2− * Copyright (C) 2014 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−#ifndef UBUNTUGESTURES_CANDIDATE_INACTIVITY_TIMER_H
18−#define UBUNTUGESTURES_CANDIDATE_INACTIVITY_TIMER_H
19−
20−#include <QObject>
21−
22−class QQuickItem;
23−
24−#include "Timer.h"
25−
26−namespace UbuntuGestures {
27−
28−class UBUNTUGESTURES_EXPORT CandidateInactivityTimer : public QObject {
29− Q_OBJECT
30−public:
31− CandidateInactivityTimer(int touchId, QQuickItem *candidate,
32− AbstractTimer *timer,
33− QObject *parent = nullptr);
34−
35− virtual ~CandidateInactivityTimer();
36−
37− const int durationMs = 1000;
38−
39−Q_SIGNALS:
40− void candidateDefaulted(int touchId, QQuickItem *candidate);
41−private Q_SLOTS:
42− void onTimeout();
43−private:
44− AbstractTimer *m_timer;
45− int m_touchId;
46− QQuickItem *m_candidate;
47−};
48−
49−} // namespace UbuntuGestures
50−
51−#endif // UBUNTUGESTURES_CANDIDATE_INACTIVITY_TIMER_H
libs/UbuntuGestures/DebugHelpers.cppdeleted−95
@@ -1,95 +0,0 @@
1−/*
2− * Copyright (C) 2014 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−#include "DebugHelpers.h"
18−#include <QTouchEvent>
19−#include <QMouseEvent>
20−
21−QString touchPointStateToString(Qt::TouchPointState state)
22−{
23− switch (state) {
24− case Qt::TouchPointPressed:
25− return QStringLiteral("pressed");
26− case Qt::TouchPointMoved:
27− return QStringLiteral("moved");
28− case Qt::TouchPointStationary:
29− return QStringLiteral("stationary");
30− case Qt::TouchPointReleased:
31− return QStringLiteral("released");
32− default:
33− return QStringLiteral("INVALID_STATE");
34− }
35−}
36−
37−QString touchEventToString(const QTouchEvent *ev)
38−{
39− QString message;
40−
41− switch (ev->type()) {
42− case QEvent::TouchBegin:
43− message.append("TouchBegin ");
44− break;
45− case QEvent::TouchUpdate:
46− message.append("TouchUpdate ");
47− break;
48− case QEvent::TouchEnd:
49− message.append("TouchEnd ");
50− break;
51− case QEvent::TouchCancel:
52− message.append("TouchCancel ");
53− break;
54− default:
55− message.append("INVALID_TOUCH_EVENT_TYPE ");
56− }
57−
58− foreach(const QTouchEvent::TouchPoint& touchPoint, ev->touchPoints()) {
59− message.append(
60− QStringLiteral("(id:%1, state:%2, scenePos:(%3,%4)) ")
61− .arg(touchPoint.id())
62− .arg(touchPointStateToString(touchPoint.state()))
63− .arg(touchPoint.scenePos().x())
64− .arg(touchPoint.scenePos().y())
65− );
66− }
67−
68− return message;
69−}
70−
71−QString mouseEventToString(const QMouseEvent *ev)
72−{
73− QString message;
74−
75− switch (ev->type()) {
76− case QEvent::MouseButtonPress:
77− message.append("MouseButtonPress ");
78− break;
79− case QEvent::MouseButtonRelease:
80− message.append("MouseButtonRelease ");
81− break;
82− case QEvent::MouseButtonDblClick:
83− message.append("MouseButtonDblClick ");
84− break;
85− case QEvent::MouseMove:
86− message.append("MouseMove ");
87− break;
88− default:
89− message.append("INVALID_MOUSE_EVENT_TYPE ");
90− }
91−
92− message.append(QStringLiteral("pos(%1, %2)").arg(ev->x()).arg(ev->y()));
93−
94− return message;
95−}
libs/UbuntuGestures/DebugHelpers.hdeleted−31
@@ -1,31 +0,0 @@
1−/*
2− * Copyright (C) 2014 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−#ifndef UBUNTUGESTURES_DEBUG_HELPER_H
18−#define UBUNTUGESTURES_DEBUG_HELPER_H
19−
20−#include <QString>
21−
22−#include "UbuntuGesturesGlobal.h"
23−
24−class QMouseEvent;
25−class QTouchEvent;
26−
27−UBUNTUGESTURES_EXPORT QString touchPointStateToString(Qt::TouchPointState state);
28−UBUNTUGESTURES_EXPORT QString touchEventToString(const QTouchEvent *ev);
29−UBUNTUGESTURES_EXPORT QString mouseEventToString(const QMouseEvent *ev);
30−
31−#endif // UBUNTUGESTURES_DEBUG_HELPER_H
libs/UbuntuGestures/Pool.hdeleted−124
@@ -1,124 +0,0 @@
1−/*
2− * Copyright (C) 2014 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−#ifndef UBUNTUGESTURES_POOL_H
18−#define UBUNTUGESTURES_POOL_H
19−
20−#include <QVector>
21−
22−#include "UbuntuGesturesGlobal.h"
23−
24−/*
25− An object pool.
26− Avoids unnecessary creations/initializations and deletions/destructions of items. Useful
27− in a scenario where items are created and destroyed very frequently but the total number
28− of items at any given time remains small. They're stored in a unordered fashion.
29−
30− To be used in Pool, ItemType needs to have the following methods:
31−
32− - ItemType();
33−
34− A constructor that takes no parameters. An object contructed with it must return false if
35− isValid() is called.
36−
37− - bool isValid() const;
38−
39− Returns wheter the object holds a valid , "filled" state or is empty.
40− Used by Pool to check if the slot occupied by this object is actually available.
41−
42− - void reset();
43−
44− Resets the object to its initial, empty, state. After calling this method, isValid() must
45− return false.
46− */
47−template <class ItemType> class Pool
48−{
49−public:
50− Pool() : m_lastUsedIndex(-1) {
51− }
52−
53− class Iterator {
54− public:
55− Iterator() : index(-1), item(nullptr) {}
56− Iterator(int index, ItemType *item)
57− : index(index), item(item) {}
58−
59− ItemType *operator->() const { return item; }
60− ItemType &operator*() const { return *item; }
61− ItemType &value() const { return *item; }
62−
63− operator bool() const { return item != nullptr; }
64−
65− int index;
66− ItemType *item;
67− };
68−
69− ItemType &getEmptySlot() {
70− Q_ASSERT(m_lastUsedIndex < m_slots.size());
71−
72− // Look for an in-between vacancy first
73− for (int i = 0; i < m_lastUsedIndex; ++i) {
74− ItemType &item = m_slots[i];
75− if (!item.isValid()) {
76− return item;
77− }
78− }
79−
80− ++m_lastUsedIndex;
81− if (m_lastUsedIndex >= m_slots.size()) {
82− m_slots.resize(m_lastUsedIndex + 1);
83− }
84−
85− return m_slots[m_lastUsedIndex];
86− }
87−
88− void freeSlot(Iterator &iterator) {
89− m_slots[iterator.index].reset();
90− if (iterator.index == m_lastUsedIndex) {
91− do {
92− --m_lastUsedIndex;
93− } while (m_lastUsedIndex >= 0 && !m_slots.at(m_lastUsedIndex).isValid());
94− }
95− }
96−
97− // Iterates through all valid items (i.e. the occupied slots)
98− // calling the given function, with the option of ending the loop early.
99− //
100− // bool Func(Iterator& item)
101− //
102− // Returning true means it wants to continue the "for" loop, false
103− // terminates the loop.
104− template<typename Func> void forEach(Func func) {
105− Iterator it;
106− for (it.index = 0; it.index <= m_lastUsedIndex; ++it.index) {
107− it.item = &m_slots[it.index];
108− if (!it.item->isValid())
109− continue;
110−
111− if (!func(it))
112− break;
113− }
114− }
115−
116− bool isEmpty() const { return m_lastUsedIndex == -1; }
117−
118−
119−private:
120− QVector<ItemType> m_slots;
121− int m_lastUsedIndex;
122−};
123−
124−#endif // UBUNTUGESTURES_POOL_H
libs/UbuntuGestures/TimeSource.cppdeleted−49
@@ -1,49 +0,0 @@
1−/*
2− * Copyright (C) 2013 - Canonical Ltd.
3− *
4− * This program is free software: you can redistribute it and/or modify it
5− * under the terms of the GNU Lesser General Public License, as
6− * published by the Free Software Foundation; either version 2.1 or 3.0
7− * of the License.
8− *
9− * This program is distributed in the hope that it will be useful, but
10− * WITHOUT ANY WARRANTY; without even the implied warranties of
11− * MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR
12− * PURPOSE. See the applicable version of the GNU Lesser General Public
13− * License for more details.
14− *
15− * You should have received a copy of both the GNU Lesser General Public
16− * License along with this program. If not, see <http://www.gnu.org/licenses/>
17− *
18− * Authored by: Daniel d'Andrada <daniel.dandrada@canonical.com>
19− */
20−
21−#include "TimeSource.h"
22−
23−#include <QElapsedTimer>
24−
25−namespace UbuntuGestures {
26−class RealTimeSourcePrivate {
27−public:
28− QElapsedTimer timer;
29−};
30−}
31−
32−using namespace UbuntuGestures;
33−
34−RealTimeSource::RealTimeSource()
35− : UbuntuGestures::TimeSource()
36− , d(new RealTimeSourcePrivate)
37−{
38− d->timer.start();
39−}
40−
41−RealTimeSource::~RealTimeSource()
42−{
43− delete d;
44−}
45−
46−qint64 RealTimeSource::msecsSinceReference()
47−{
48− return d->timer.elapsed();
49−}
libs/UbuntuGestures/TimeSource.hdeleted−64
@@ -1,64 +0,0 @@
1−/*
2− * Copyright (C) 2013,2015 Canonical Ltd.
3− *
4− * This program is free software: you can redistribute it and/or modify it
5− * under the terms of the GNU Lesser General Public License, as
6− * published by the Free Software Foundation; either version 2.1 or 3.0
7− * of the License.
8− *
9− * This program is distributed in the hope that it will be useful, but
10− * WITHOUT ANY WARRANTY; without even the implied warranties of
11− * MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR
12− * PURPOSE. See the applicable version of the GNU Lesser General Public
13− * License for more details.
14− *
15− * You should have received a copy of both the GNU Lesser General Public
16− * License along with this program. If not, see <http://www.gnu.org/licenses/>
17− *
18− * Authored by: Daniel d'Andrada <daniel.dandrada@canonical.com>
19− */
20−
21−#ifndef UBUNTUGESTURES_TIMESOURCE_H
22−#define UBUNTUGESTURES_TIMESOURCE_H
23−
24−#include "UbuntuGesturesGlobal.h"
25−#include <QSharedPointer>
26−
27−namespace UbuntuGestures {
28−/*
29− Interface for a time source.
30− */
31−class UBUNTUGESTURES_EXPORT TimeSource {
32−public:
33− virtual ~TimeSource() {}
34− /* Returns the current time in milliseconds since some reference time in the past. */
35− virtual qint64 msecsSinceReference() = 0;
36−};
37−typedef QSharedPointer<TimeSource> SharedTimeSource;
38−
39−/*
40− Implementation of a time source
41− */
42−class RealTimeSourcePrivate;
43−class UBUNTUGESTURES_EXPORT RealTimeSource : public TimeSource {
44−public:
45− RealTimeSource();
46− virtual ~RealTimeSource();
47− qint64 msecsSinceReference() override;
48−private:
49− RealTimeSourcePrivate *d;
50−};
51−
52−/*
53− A fake time source, useful for tests
54− */
55−class FakeTimeSource : public TimeSource {
56−public:
57− FakeTimeSource() { m_msecsSinceReference = 0; }
58− qint64 msecsSinceReference() override { return m_msecsSinceReference; }
59− qint64 m_msecsSinceReference;
60−};
61−
62−} // namespace UbuntuGestures
63−
64−#endif // UBUNTUGESTURES_TIMESOURCE_H
libs/UbuntuGestures/Timer.cppdeleted−152
@@ -1,152 +0,0 @@
1−/*
2− * Copyright (C) 2014-2015 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−#include "Timer.h"
18−
19−namespace UbuntuGestures {
20−
21−Timer::Timer(QObject *parent) : AbstractTimer(parent)
22−{
23− m_timer.setSingleShot(false);
24− connect(&m_timer, &QTimer::timeout, this, &AbstractTimer::timeout);
25−}
26−
27−int Timer::interval() const
28−{
29− return m_timer.interval();
30−}
31−
32−void Timer::setInterval(int msecs)
33−{
34− m_timer.setInterval(msecs);
35−}
36−
37−void Timer::start()
38−{
39− m_timer.start();
40− AbstractTimer::start();
41−}
42−
43−void Timer::stop()
44−{
45− m_timer.stop();
46− AbstractTimer::stop();
47−}
48−
49−bool Timer::isSingleShot() const
50−{
51− return m_timer.isSingleShot();
52−}
53−
54−void Timer::setSingleShot(bool value)
55−{
56− m_timer.setSingleShot(value);
57−}
58−
59−/////////////////////////////////// FakeTimer //////////////////////////////////
60−
61−FakeTimer::FakeTimer(const SharedTimeSource &timeSource, QObject *parent)
62− : UbuntuGestures::AbstractTimer(parent)
63− , m_interval(0)
64− , m_singleShot(false)
65− , m_timeSource(timeSource)
66−{
67−}
68−
69−void FakeTimer::update()
70−{
71− if (!isRunning()) {
72− return;
73− }
74−
75− if (m_nextTimeoutTime <= m_timeSource->msecsSinceReference()) {
76− if (isSingleShot()) {
77− stop();
78− } else {
79− m_nextTimeoutTime += interval();
80− }
81− Q_EMIT timeout();
82− }
83−}
84−
85−void FakeTimer::start()
86−{
87− AbstractTimer::start();
88− m_nextTimeoutTime = m_timeSource->msecsSinceReference() + (qint64)interval();
89−}
90−
91−int FakeTimer::interval() const
92−{
93− return m_interval;
94−}
95−
96−void FakeTimer::setInterval(int msecs)
97−{
98− m_interval = msecs;
99−}
100−
101−bool FakeTimer::isSingleShot() const
102−{
103− return m_singleShot;
104−}
105−
106−void FakeTimer::setSingleShot(bool value)
107−{
108− m_singleShot = value;
109−}
110−
111−/////////////////////////////////// FakeTimerFactory //////////////////////////////////
112−
113−FakeTimerFactory::FakeTimerFactory()
114−{
115− m_timeSource.reset(new FakeTimeSource);
116−}
117−
118−void FakeTimerFactory::updateTime(qint64 targetTime)
119−{
120− qint64 minTimeoutTime = targetTime;
121−
122− for (int i = 0; i < timers.count(); ++i) {
123− FakeTimer *timer = timers[i].data();
124− if (timer && timer->isRunning() && timer->nextTimeoutTime() < minTimeoutTime) {
125− minTimeoutTime = timer->nextTimeoutTime();
126− }
127− }
128−
129− m_timeSource->m_msecsSinceReference = minTimeoutTime;
130−
131− for (int i = 0; i < timers.count(); ++i) {
132− FakeTimer *timer = timers[i].data();
133− if (timer) {
134− timer->update();
135− }
136− }
137−
138− if (m_timeSource->msecsSinceReference() < targetTime) {
139− updateTime(targetTime);
140− }
141−}
142−
143−AbstractTimer *FakeTimerFactory::createTimer(QObject *parent)
144−{
145− FakeTimer *fakeTimer = new FakeTimer(m_timeSource, parent);
146−
147− timers.append(fakeTimer);
148−
149− return fakeTimer;
150−}
151−
152−} // namespace UbuntuGestures
libs/UbuntuGestures/Timer.hdeleted−122
@@ -1,122 +0,0 @@
1−/*
2− * Copyright (C) 2014 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−#ifndef UBUNTUGESTURES_TIMER_H
18−#define UBUNTUGESTURES_TIMER_H
19−
20−#include "UbuntuGesturesGlobal.h"
21−#include "TimeSource.h"
22−
23−#include <QObject>
24−#include <QPointer>
25−#include <QTimer>
26−
27−namespace UbuntuGestures {
28−
29−/* Defines an interface for a Timer. Useful for tests. */
30−class UBUNTUGESTURES_EXPORT AbstractTimer : public QObject
31−{
32− Q_OBJECT
33−public:
34− AbstractTimer(QObject *parent) : QObject(parent), m_isRunning(false) {}
35− virtual int interval() const = 0;
36− virtual void setInterval(int msecs) = 0;
37− virtual void start() { m_isRunning = true; }
38− virtual void start(int msecs)
39− {
40− setInterval(msecs);
41− start();
42− }
43− virtual void stop() { m_isRunning = false; }
44− bool isRunning() const { return m_isRunning; }
45− virtual bool isSingleShot() const = 0;
46− virtual void setSingleShot(bool value) = 0;
47−Q_SIGNALS:
48− void timeout();
49−private:
50− bool m_isRunning;
51−};
52−
53−/* Essentially a QTimer wrapper */
54−class UBUNTUGESTURES_EXPORT Timer : public AbstractTimer
55−{
56− Q_OBJECT
57−public:
58− Timer(QObject *parent = nullptr);
59−
60− int interval() const override;
61− void setInterval(int msecs) override;
62− void start() override;
63− void stop() override;
64− bool isSingleShot() const override;
65− void setSingleShot(bool value) override;
66−private:
67− QTimer m_timer;
68−};
69−
70−/* For tests */
71−class UBUNTUGESTURES_EXPORT FakeTimer : public AbstractTimer
72−{
73− Q_OBJECT
74−public:
75− FakeTimer(const SharedTimeSource &timeSource, QObject *parent = nullptr);
76−
77− void update();
78− qint64 nextTimeoutTime() const { return m_nextTimeoutTime; }
79−
80− int interval() const override;
81− void setInterval(int msecs) override;
82− void start() override;
83− bool isSingleShot() const override;
84− void setSingleShot(bool value) override;
85−private:
86− int m_interval;
87− bool m_singleShot;
88− SharedTimeSource m_timeSource;
89− qint64 m_nextTimeoutTime;
90−};
91−
92−class UBUNTUGESTURES_EXPORT AbstractTimerFactory
93−{
94−public:
95− virtual ~AbstractTimerFactory() {}
96− virtual AbstractTimer *createTimer(QObject *parent = nullptr) = 0;
97−};
98−
99−class UBUNTUGESTURES_EXPORT TimerFactory : public AbstractTimerFactory
100−{
101−public:
102− AbstractTimer *createTimer(QObject *parent = nullptr) override { return new Timer(parent); }
103−};
104−
105−class UBUNTUGESTURES_EXPORT FakeTimerFactory : public AbstractTimerFactory
106−{
107−public:
108− FakeTimerFactory();
109− virtual ~FakeTimerFactory() {}
110−
111− void updateTime(qint64 msecsSinceReference);
112− QSharedPointer<TimeSource> timeSource() { return m_timeSource; }
113−
114− AbstractTimer *createTimer(QObject *parent = nullptr) override;
115− QList<QPointer<FakeTimer>> timers;
116−private:
117− QSharedPointer<FakeTimeSource> m_timeSource;
118−};
119−
120−} // namespace UbuntuGestures
121−
122−#endif // UBUNTUGESTURES_TIMER_H
libs/UbuntuGestures/TouchOwnershipEvent.cppdeleted−35
@@ -1,35 +0,0 @@
1−/*
2− * Copyright (C) 2014 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−#include "TouchOwnershipEvent.h"
18−
19−QEvent::Type TouchOwnershipEvent::m_touchOwnershipType = (QEvent::Type)-1;
20−
21−TouchOwnershipEvent::TouchOwnershipEvent(int touchId, bool gained)
22− : QEvent(touchOwnershipEventType())
23− , m_touchId(touchId)
24− , m_gained(gained)
25−{
26−}
27−
28−QEvent::Type TouchOwnershipEvent::touchOwnershipEventType()
29−{
30− if (m_touchOwnershipType == (QEvent::Type)-1) {
31− m_touchOwnershipType = (QEvent::Type)registerEventType();
32− }
33−
34− return m_touchOwnershipType;
35−}
libs/UbuntuGestures/TouchOwnershipEvent.hdeleted−50
@@ -1,50 +0,0 @@
1−/*
2− * Copyright (C) 2014 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−#ifndef UBUNTU_TOUCHOWNERSHIPEVENT_H
18−#define UBUNTU_TOUCHOWNERSHIPEVENT_H
19−
20−#include <QEvent>
21−#include "UbuntuGesturesGlobal.h"
22−
23−/*
24− When an item get an ownership event for a touch it can grab/steal that touch
25− with a clean conscience.
26− */
27−class UBUNTUGESTURES_EXPORT TouchOwnershipEvent : public QEvent
28−{
29−public:
30− TouchOwnershipEvent(int touchId, bool gained);
31−
32− static Type touchOwnershipEventType();
33−
34− /*
35− Whether ownership was gained (true) or lost (false)
36− */
37− bool gained() const { return m_gained; }
38−
39− /*
40− Id of the touch whose ownership was granted.
41− */
42− int touchId() const { return m_touchId; }
43−
44−private:
45− static Type m_touchOwnershipType;
46− int m_touchId;
47− bool m_gained;
48−};
49−
50−#endif // UBUNTU_TOUCHOWNERSHIPEVENT_H
libs/UbuntuGestures/TouchRegistry.cppdeleted−553
@@ -1,553 +0,0 @@
1−/*
2− * Copyright (C) 2014-2015 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−#include "TouchRegistry.h"
18−
19−#include <QCoreApplication>
20−#include <QDebug>
21−
22−#pragma GCC diagnostic push
23−#pragma GCC diagnostic ignored "-pedantic"
24−#include <private/qquickitem_p.h>
25−#pragma GCC diagnostic pop
26−
27−#include "CandidateInactivityTimer.h"
28−#include "Timer.h"
29−#include "TouchOwnershipEvent.h"
30−#include "UnownedTouchEvent.h"
31−
32−#define TOUCHREGISTRY_DEBUG 0
33−
34−#if TOUCHREGISTRY_DEBUG
35− #include "DebugHelpers.h"
36− #define UG_DEBUG qDebug() << "[TouchRegistry]"
37−#endif // TOUCHREGISTRY_DEBUG
38−
39−using namespace UbuntuGestures;
40−
41−TouchRegistry *TouchRegistry::m_instance = nullptr;
42−
43−TouchRegistry::TouchRegistry(QObject *parent)
44− : QObject(parent)
45− , m_inDispatchLoop(false)
46− , m_timerFactory(new TimerFactory)
47−{
48−}
49−
50−TouchRegistry::~TouchRegistry()
51−{
52− Q_ASSERT(m_instance != nullptr);
53− m_instance = nullptr;
54− delete m_timerFactory;
55−}
56−
57−TouchRegistry *TouchRegistry::instance()
58−{
59− if (m_instance == nullptr) {
60− m_instance = new TouchRegistry;
61− }
62− return m_instance;
63−}
64−
65−void TouchRegistry::setTimerFactory(AbstractTimerFactory *timerFactory)
66−{
67− delete m_timerFactory;
68− m_timerFactory = timerFactory;
69−}
70−
71−void TouchRegistry::update(const QTouchEvent *event)
72−{
73− #if TOUCHREGISTRY_DEBUG
74− UG_DEBUG << "got" << qPrintable(touchEventToString(event));
75− #endif
76−
77− const QList<QTouchEvent::TouchPoint> &touchPoints = event->touchPoints();
78− for (int i = 0; i < touchPoints.count(); ++i) {
79− const QTouchEvent::TouchPoint &touchPoint = touchPoints.at(i);
80− if (touchPoint.state() == Qt::TouchPointPressed) {
81− TouchInfo &touchInfo = m_touchInfoPool.getEmptySlot();
82− touchInfo.init(touchPoint.id());
83− } else if (touchPoint.state() == Qt::TouchPointReleased) {
84− Pool<TouchInfo>::Iterator touchInfo = findTouchInfo(touchPoint.id());
85−
86− touchInfo->physicallyEnded = true;
87− }
88− }
89−
90− deliverTouchUpdatesToUndecidedCandidatesAndWatchers(event);
91−
92− freeEndedTouchInfos();
93−}
94−
95−void TouchRegistry::deliverTouchUpdatesToUndecidedCandidatesAndWatchers(const QTouchEvent *event)
96−{
97− // TODO: Look into how we could optimize this whole thing.
98− // Although it's not really a problem as we should have at most two candidates
99− // for each point and there should not be many active points at any given moment.
100− // But having three nested for-loops does scare.
101−
102− const QList<QTouchEvent::TouchPoint> &updatedTouchPoints = event->touchPoints();
103−
104− // Maps an item to the touches in this event he should be informed about.
105− // E.g.: a QTouchEvent might have three touches but a given item might be interested in only
106− // one of them. So he will get a UnownedTouchEvent from this QTouchEvent containing only that
107− // touch point.
108− QHash<QQuickItem*, QList<int>> touchIdsForItems;
109−
110− // Build touchIdsForItems
111− m_touchInfoPool.forEach([&](Pool<TouchInfo>::Iterator &touchInfo) {
112− if (touchInfo->isOwned() && touchInfo->watchers.isEmpty())
113− return true;
114−
115− for (int j = 0; j < updatedTouchPoints.count(); ++j) {
116− if (updatedTouchPoints[j].id() == touchInfo->id) {
117− if (!touchInfo->isOwned()) {
118− for (int i = 0; i < touchInfo->candidates.count(); ++i) {
119− CandidateInfo &candidate = touchInfo->candidates[i];
120− Q_ASSERT(!candidate.item.isNull());
121− if (candidate.state != CandidateInfo::InterimOwner) {
122− touchIdsForItems[candidate.item.data()].append(touchInfo->id);
123− }
124− }
125− }
126−
127− const QList<QPointer<QQuickItem>> &watchers = touchInfo->watchers;
128− for (int i = 0; i < watchers.count(); ++i) {
129− if (!watchers[i].isNull()) {
130− touchIdsForItems[watchers[i].data()].append(touchInfo->id);
131− }
132− }
133−
134− return true;
135− }
136− }
137−
138− return true;
139− });
140−
141− // TODO: Consider what happens if an item calls any of TouchRegistry's public methods
142− // from the event handler callback.
143− m_inDispatchLoop = true;
144− auto it = touchIdsForItems.constBegin();
145− while (it != touchIdsForItems.constEnd()) {
146− QQuickItem *item = it.key();
147− const QList<int> &touchIds = it.value();
148− dispatchPointsToItem(event, touchIds, item);
149− ++it;
150− };
151− m_inDispatchLoop = false;
152−}
153−
154−void TouchRegistry::freeEndedTouchInfos()
155−{
156− m_touchInfoPool.forEach([&](Pool<TouchInfo>::Iterator &touchInfo) {
157− if (touchInfo->ended()) {
158− m_touchInfoPool.freeSlot(touchInfo);
159− }
160− return true;
161− });
162−}
163−
164−/*
165− Extracts the touches with the given touchIds from event and send them in a
166− UnownedTouchEvent to the given item
167− */
168−void TouchRegistry::dispatchPointsToItem(const QTouchEvent *event, const QList<int> &touchIds,
169− QQuickItem *item)
170−{
171− Qt::TouchPointStates touchPointStates = 0;
172− QList<QTouchEvent::TouchPoint> touchPoints;
173−
174− const QList<QTouchEvent::TouchPoint> &allTouchPoints = event->touchPoints();
175−
176− QTransform windowToCandidateTransform = QQuickItemPrivate::get(item)->windowToItemTransform();
177− QMatrix4x4 windowToCandidateMatrix(windowToCandidateTransform);
178−
179− for (int i = 0; i < allTouchPoints.count(); ++i) {
180− const QTouchEvent::TouchPoint &originalTouchPoint = allTouchPoints[i];
181− if (touchIds.contains(originalTouchPoint.id())) {
182− QTouchEvent::TouchPoint touchPoint = originalTouchPoint;
183−
184− translateTouchPointFromScreenToWindowCoords(touchPoint);
185−
186− // Set the point's local coordinates to that of the item
187− touchPoint.setRect(windowToCandidateTransform.mapRect(touchPoint.sceneRect()));
188− touchPoint.setStartPos(windowToCandidateTransform.map(touchPoint.startScenePos()));
189− touchPoint.setLastPos(windowToCandidateTransform.map(touchPoint.lastScenePos()));
190− touchPoint.setVelocity(windowToCandidateMatrix.mapVector(touchPoint.velocity()).toVector2D());
191−
192− touchPoints.append(touchPoint);
193− touchPointStates |= touchPoint.state();
194− }
195− }
196−
197− QTouchEvent *eventForItem = new QTouchEvent(event->type(),
198− event->device(),
199− event->modifiers(),
200− touchPointStates,
201− touchPoints);
202− eventForItem->setWindow(event->window());
203− eventForItem->setTimestamp(event->timestamp());
204− eventForItem->setTarget(event->target());
205−
206− UnownedTouchEvent unownedTouchEvent(eventForItem);
207−
208− #if TOUCHREGISTRY_DEBUG
209− UG_DEBUG << "Sending unowned" << qPrintable(touchEventToString(eventForItem))
210− << "to" << item;
211− #endif
212−
213− QCoreApplication::sendEvent(item, &unownedTouchEvent);
214−}
215−
216−void TouchRegistry::translateTouchPointFromScreenToWindowCoords(QTouchEvent::TouchPoint &touchPoint)
217−{
218− touchPoint.setScreenRect(touchPoint.sceneRect());
219− touchPoint.setStartScreenPos(touchPoint.startScenePos());
220− touchPoint.setLastScreenPos(touchPoint.lastScenePos());
221−
222− touchPoint.setSceneRect(touchPoint.rect());
223− touchPoint.setStartScenePos(touchPoint.startPos());
224− touchPoint.setLastScenePos(touchPoint.lastPos());
225−}
226−
227−bool TouchRegistry::eventFilter(QObject *watched, QEvent *event)
228−{
229− Q_UNUSED(watched);
230−
231− switch (event->type()) {
232− case QEvent::TouchBegin:
233− case QEvent::TouchUpdate:
234− case QEvent::TouchEnd:
235− case QEvent::TouchCancel:
236− update(static_cast<QTouchEvent*>(event));
237− break;
238− default:
239− // do nothing
240− break;
241− }
242−
243− // Do not filter out the event. i.e., let it be handled further as
244− // we're just monitoring events
245− return false;
246−}
247−
248−void TouchRegistry::addCandidateOwnerForTouch(int id, QQuickItem *candidate)
249−{
250− #if TOUCHREGISTRY_DEBUG
251− UG_DEBUG << "addCandidateOwnerForTouch id" << id << "candidate" << candidate;
252− #endif
253−
254− Pool<TouchInfo>::Iterator touchInfo = findTouchInfo(id);
255− if (!touchInfo) { qFatal("TouchRegistry: Failed to find TouchInfo"); }
256−
257− if (touchInfo->isOwned()) {
258− qWarning("TouchRegistry: trying to add candidate owner for a touch that's already owned");
259− return;
260− }
261−
262− // TODO: Check if candidate already exists
263−
264− CandidateInfo candidateInfo;
265− candidateInfo.state = CandidateInfo::Undecided;
266− candidateInfo.item = candidate;
267− candidateInfo.inactivityTimer = new CandidateInactivityTimer(id, candidate,
268− m_timerFactory->createTimer(),
269− this);
270− connect(candidateInfo.inactivityTimer, &CandidateInactivityTimer::candidateDefaulted,
271− this, &TouchRegistry::rejectCandidateOwnerForTouch);
272−
273− touchInfo->candidates.append(candidateInfo);
274−
275− connect(candidate, &QObject::destroyed, this, [=](){ pruneNullCandidatesForTouch(id); });
276−}
277−
278−void TouchRegistry::addTouchWatcher(int touchId, QQuickItem *watcher)
279−{
280− #if TOUCHREGISTRY_DEBUG
281− UG_DEBUG << "addTouchWatcher id" << touchId << "watcher" << watcher;
282− #endif
283−
284− Pool<TouchInfo>::Iterator touchInfo = findTouchInfo(touchId);
285− if (!touchInfo) { qFatal("TouchRegistry: Failed to find TouchInfo"); }
286−
287− // TODO: Check if watcher already exists
288−
289− touchInfo->watchers.append(watcher);
290−}
291−
292−void TouchRegistry::removeCandidateOwnerForTouch(int id, QQuickItem *candidate)
293−{
294− #if TOUCHREGISTRY_DEBUG
295− UG_DEBUG << "removeCandidateOwnerForTouch id" << id << "candidate" << candidate;
296− #endif
297−
298− Pool<TouchInfo>::Iterator touchInfo = findTouchInfo(id);
299− if (!touchInfo) { qFatal("TouchRegistry: Failed to find TouchInfo"); }
300−
301−
302− // TODO: check if the candidate is in fact the owner of the touch
303−
304− bool removed = false;
305− for (int i = 0; i < touchInfo->candidates.count() && !removed; ++i) {
306− if (touchInfo->candidates[i].item == candidate) {
307− removeCandidateOwnerForTouchByIndex(touchInfo, i);
308− removed = true;
309− }
310− }
311−}
312−
313−void TouchRegistry::pruneNullCandidatesForTouch(int touchId)
314−{
315− #if TOUCHREGISTRY_DEBUG
316− UG_DEBUG << "pruneNullCandidatesForTouch touchId" << touchId;
317− #endif
318−
319− Pool<TouchInfo>::Iterator touchInfo = findTouchInfo(touchId);
320− if (!touchInfo) {
321− // doesn't matter as touch is already gone.
322− return;
323− }
324−
325− int i = 0;
326− while (i < touchInfo->candidates.count()) {
327− if (touchInfo->candidates[i].item.isNull()) {
328− removeCandidateOwnerForTouchByIndex(touchInfo, i);
329− } else {
330− ++i;
331− }
332− }
333−}
334−
335−void TouchRegistry::removeCandidateOwnerForTouchByIndex(Pool<TouchRegistry::TouchInfo>::Iterator &touchInfo,
336− int candidateIndex)
337−{
338− // TODO: check if the candidate is in fact the owner of the touch
339−
340− Q_ASSERT(candidateIndex < touchInfo->candidates.count());
341−
342− if (candidateIndex == 0 && touchInfo->candidates[candidateIndex].state != CandidateInfo::Undecided) {
343− qCritical("TouchRegistry: touch owner is being removed.");
344− }
345− removeCandidateHelper(touchInfo, candidateIndex);
346−
347− if (candidateIndex == 0) {
348− // the top candidate has been removed. if the new top candidate
349− // wants the touch let him know he's now the owner.
350− if (touchInfo->isOwned()) {
351− touchInfo->notifyCandidatesOfOwnershipResolution();
352− }
353− }
354−
355− if (!m_inDispatchLoop && touchInfo->ended()) {
356− m_touchInfoPool.freeSlot(touchInfo);
357− }
358−}
359−
360−void TouchRegistry::requestTouchOwnership(int id, QQuickItem *candidate)
361−{
362− Pool<TouchInfo>::Iterator touchInfo = findTouchInfo(id);
363− if (!touchInfo) { qFatal("TouchRegistry: Failed to find TouchInfo"); }
364−
365− Q_ASSERT(!touchInfo->isOwned());
366−
367− int candidateIndex = -1;
368− for (int i = 0; i < touchInfo->candidates.count(); ++i) {
369− CandidateInfo &candidateInfo = touchInfo->candidates[i];
370− if (candidateInfo.item == candidate) {
371− candidateInfo.state = CandidateInfo::Requested;
372− delete candidateInfo.inactivityTimer;
373− candidateInfo.inactivityTimer = nullptr;
374− candidateIndex = i;
375− break;
376− }
377− }
378− #if TOUCHREGISTRY_DEBUG
379− UG_DEBUG << "requestTouchOwnership id " << id << "candidate" << candidate << "index: " << candidateIndex;
380− #endif
381−
382− // add it as a candidate if not present yet
383− if (candidateIndex < 0) {
384− CandidateInfo candidateInfo;
385− candidateInfo.state = CandidateInfo::InterimOwner;
386− candidateInfo.item = candidate;
387− candidateInfo.inactivityTimer = nullptr;
388− touchInfo->candidates.append(candidateInfo);
389− // it's the last one
390− candidateIndex = touchInfo->candidates.count() - 1;
391− connect(candidate, &QObject::destroyed, this, [=](){ pruneNullCandidatesForTouch(id); });
392− }
393−
394− // If it's the top candidate it means it's now the owner. Let
395− // it know about it.
396− if (candidateIndex == 0) {
397− touchInfo->notifyCandidatesOfOwnershipResolution();
398− }
399−}
400−
401−Pool<TouchRegistry::TouchInfo>::Iterator TouchRegistry::findTouchInfo(int id)
402−{
403− Pool<TouchInfo>::Iterator touchInfo;
404−
405− m_touchInfoPool.forEach([&](Pool<TouchInfo>::Iterator &someTouchInfo) -> bool {
406− if (someTouchInfo->id == id) {
407− touchInfo = someTouchInfo;
408− return false;
409− } else {
410− return true;
411− }
412− });
413−
414− return touchInfo;
415−}
416−
417−
418−void TouchRegistry::rejectCandidateOwnerForTouch(int id, QQuickItem *candidate)
419−{
420− // NB: It's technically possible that candidate is a dangling pointer at this point.
421− // Although that would most likely be due to a bug in our code.
422− // In any case, only dereference it after it's confirmed that it indeed exists.
423−
424− #if TOUCHREGISTRY_DEBUG
425− UG_DEBUG << "rejectCandidateOwnerForTouch id" << id << "candidate" << (void*)candidate;
426− #endif
427−
428− Pool<TouchInfo>::Iterator touchInfo = findTouchInfo(id);
429− if (!touchInfo) {
430− #if TOUCHREGISTRY_DEBUG
431− UG_DEBUG << "Failed to find TouchInfo for id" << id;
432− #endif
433− return;
434− }
435−
436− int rejectedCandidateIndex = -1;
437−
438− // Check if the given candidate is valid and still undecided
439− for (int i = 0; i < touchInfo->candidates.count() && rejectedCandidateIndex == -1; ++i) {
440− CandidateInfo &candidateInfo = touchInfo->candidates[i];
441− if (candidateInfo.item == candidate) {
442− Q_ASSERT(i > 0 || candidateInfo.state == CandidateInfo::Undecided);
443− if (i == 0 && candidateInfo.state != CandidateInfo::Undecided) {
444− qCritical() << "TouchRegistry: Can't reject item (" << (void*)candidate
445− << ") as it already owns touch" << id;
446− return;
447− } else {
448− // we found the guy and it's all fine.
449− rejectedCandidateIndex = i;
450− }
451− }
452− }
453−
454− // If we reached this point it's because the given candidate exists and is indeed undecided.
455−
456− Q_ASSERT(rejectedCandidateIndex >= 0 && rejectedCandidateIndex < touchInfo->candidates.size());
457−
458− {
459− TouchOwnershipEvent lostOwnershipEvent(id, false /*gained*/);
460− QCoreApplication::sendEvent(candidate, &lostOwnershipEvent);
461− }
462−
463− removeCandidateHelper(touchInfo, rejectedCandidateIndex);
464−
465− if (rejectedCandidateIndex == 0) {
466− // the top candidate has been removed. if the new top candidate
467− // wants the touch let him know he's now the owner.
468− if (touchInfo->isOwned()) {
469− touchInfo->notifyCandidatesOfOwnershipResolution();
470− }
471− }
472−}
473−
474−void TouchRegistry::removeCandidateHelper(Pool<TouchInfo>::Iterator &touchInfo, int candidateIndex)
475−{
476− {
477− CandidateInfo &candidateInfo = touchInfo->candidates[candidateIndex];
478−
479− delete candidateInfo.inactivityTimer;
480− candidateInfo.inactivityTimer = nullptr;
481−
482− if (candidateInfo.item) {
483− disconnect(candidateInfo.item.data(), nullptr, this, nullptr);
484− }
485− }
486− touchInfo->candidates.removeAt(candidateIndex);
487−}
488−
489−////////////////////////////////////// TouchRegistry::TouchInfo ////////////////////////////////////
490−
491−TouchRegistry::TouchInfo::TouchInfo(int id)
492−{
493− init(id);
494−}
495−
496−void TouchRegistry::TouchInfo::reset()
497−{
498− id = -1;
499−
500− for (int i = 0; i < candidates.count(); ++i) {
501− CandidateInfo &candidate = candidates[i];
502− delete candidate.inactivityTimer;
503− candidate.inactivityTimer.clear(); // shoundn't be needed but anyway...
504− }
505−}
506−
507−void TouchRegistry::TouchInfo::init(int id)
508−{
509− this->id = id;
510− physicallyEnded = false;
511− candidates.clear();
512− watchers.clear();
513−}
514−
515−bool TouchRegistry::TouchInfo::isOwned() const
516−{
517− return !candidates.isEmpty() && candidates.first().state != CandidateInfo::Undecided;
518−}
519−
520−bool TouchRegistry::TouchInfo::ended() const
521−{
522− Q_ASSERT(isValid());
523− return physicallyEnded && (isOwned() || candidates.isEmpty());
524−}
525−
526−void TouchRegistry::TouchInfo::notifyCandidatesOfOwnershipResolution()
527−{
528− Q_ASSERT(isOwned());
529−
530− #if TOUCHREGISTRY_DEBUG
531− UG_DEBUG << "sending TouchOwnershipEvent(id =" << id
532− << " gained) to candidate" << candidates[0].item;
533− #endif
534−
535− // need to take a copy of the item list in case
536− // we call back in to remove candidate during the lost ownership event.
537− QList<QPointer<QQuickItem>> items;
538− Q_FOREACH(const CandidateInfo& info, candidates) {
539− items << info.item;
540− }
541−
542− TouchOwnershipEvent gainedOwnershipEvent(id, true /*gained*/);
543− QCoreApplication::sendEvent(items[0], &gainedOwnershipEvent);
544−
545− TouchOwnershipEvent lostOwnershipEvent(id, false /*gained*/);
546− for (int i = 1; i < items.count(); ++i) {
547− #if TOUCHREGISTRY_DEBUG
548− UG_DEBUG << "sending TouchOwnershipEvent(id =" << id << " lost) to candidate"
549− << items[i];
550− #endif
551− QCoreApplication::sendEvent(items[i], &lostOwnershipEvent);
552− }
553−}
libs/UbuntuGestures/TouchRegistry.hdeleted−201
@@ -1,201 +0,0 @@
1−/*
2− * Copyright (C) 2014 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−#ifndef UNITY_TOUCHREGISTRY_H
18−#define UNITY_TOUCHREGISTRY_H
19−
20−#include <QQuickItem>
21−#include <QObject>
22−#include <QPointer>
23−#include <QTouchEvent>
24−#include <QVector>
25−
26−#include "UbuntuGesturesGlobal.h"
27−#include "CandidateInactivityTimer.h"
28−#include "Timer.h"
29−#include "Pool.h"
30−
31−namespace UbuntuGestures {
32− class AbstractTimerFactory;
33−}
34−
35−/*
36− Where the ownership of touches is registered.
37−
38− Singleton used for adding a touch point ownership model analogous to the one
39− described in the XInput 2.2 protocol[1] on top of the existing input dispatch logic in QQuickWindow.
40−
41− It provides a much more flexible and powerful way of dealing with pointer ownership than the existing
42− mechanisms in Qt. Namely QQuickItem::grabTouchPoints, QuickItem::keepTouchGrab,
43− QQuickItem::setFiltersChildMouseEvents, QQuickItem::ungrabTouchPoints and QQuickItem::touchUngrabEvent.
44−
45− Usage:
46−
47− 1- An item receives a a new touch point. If he's not sure whether he wants it yet, he calls:
48− TouchRegistry::instance()->addCandidateOwnerForTouch(touchId, this);
49− touchEvent->ignore();
50− Ignoring the event is crucial so that it can be seen by other interested parties, which will
51− behave similarly.
52−
53− 2- That item will then start receiving UnownedTouchEvents for that touch from step 1. Once he's
54− made a decision he calls either:
55− TouchRegistry::instance()->requestTouchOwnership(touchId, this);
56− If he wants the touch point or:
57− TouchRegistry::instance()->removeCandidateOwnerForTouch(touchId, this);
58−  if he does not want it.
59−
60− Candidates are put in a priority queue. The first one to call addCandidateOwnerForTouch() will
61− take precedence over the others for receiving ownership over the touch point (from now on called
62− simply top-candidate).
63−
64− If the top-candidate calls requestTouchOwnership() he will immediately receive a
65− TouchOwnershipEvent(gained=true) for that touch point. He can then safely call
66− QQuickItem::grabTouchPoints to actually get the owned touch points. The other candidates
67− will receive TouchOwnershipEvent(gained=false) and will no longer receive UnownedTouchEvents
68− for that touch point. They will have to undo whatever action they were performing with that
69− touch point.
70−
71− But if the top-candidate calls removeCandidateOwnerForTouch() instead, he's popped from the
72− candidacy queue and ownership is given to the new top-most candidate if he has already
73− made his decision, that is.
74−
75− The TouchRegistry cannot enforce the results of this pointer ownership negotiation (i.e.,
76− who gets to grab the touch points) as that would clash with QQuickWindow's input event
77− dispatching logic. The candidates have to respect the decision and grab the touch points
78− themselves.
79−
80− If an item wants ownership over touches as soon as he receives the TouchBegin for them, his step 1
81− would be instead:
82− TouchRegistry::instance()->requestTouchOwnership(touchId, this);
83− touchEvent->accept();
84− He won't get any UnownedTouchEvent for that touch as he is already the interim owner (ie, QQuickWindow
85− will keep sending touch updates to him already). Eventually he will be notified once ownership has
86− been granted to him (from TouchRegistry perspective), from which point onwards he could safely assume
87− other TouchRegistry users wouldn't snatch this touch away from him.
88−
89− Items oblivious to TouchRegistry will lose their touch points without warning, just like in plain Qt.
90−
91− [1] - http://www.x.org/releases/X11R7.7/doc/inputproto/XI2proto.txt (see multitouch-ownership)
92− */
93−class UBUNTUGESTURES_EXPORT TouchRegistry : public QObject
94−{
95− Q_OBJECT
96−public:
97− virtual ~TouchRegistry();
98−
99− // Returns a pointer to the application's TouchRegistry instance.
100− static TouchRegistry *instance();
101−
102− void update(const QTouchEvent *event);
103−
104− // Calls update() if the given event is a QTouchEvent
105− bool eventFilter(QObject *watched, QEvent *event) override;
106−
107− // An item that might later request ownership over the given touch point.
108− // He will be kept informed about that touch point through UnownedTouchEvents
109− // All candidates must eventually decide whether they want to own the touch point
110− // or not. That decision is informed through requestTouchOwnership() or
111− // removeCandidateOwnerForTouch()
112− void addCandidateOwnerForTouch(int id, QQuickItem *candidate);
113−
114− // The same as rejecting ownership of a touch
115− void removeCandidateOwnerForTouch(int id, QQuickItem *candidate);
116−
117− // The candidate object wants to be the owner of the touch with the given id.
118− // If he's currently the oldest/top-most candidate, he will get an ownership
119− // event immediately. If not, he will get ownership if (or once) he becomes the
120− // top-most candidate.
121− void requestTouchOwnership(int id, QQuickItem *candidate);
122−
123− // An item that has no interest (effective or potential) in owning a touch point
124− // but would nonetheless like to be kept up-to-date on its state.
125− void addTouchWatcher(int touchId, QQuickItem *watcherItem);
126−
127− // Useful for tests, where you should use fake timers
128− void setTimerFactory(UbuntuGestures::AbstractTimerFactory *timerFactory);
129−
130−private Q_SLOTS:
131− void rejectCandidateOwnerForTouch(int id, QQuickItem *candidate);
132−
133−private:
134− // Only instance() can cronstruct one
135− TouchRegistry(QObject *parent = nullptr);
136−
137− class CandidateInfo {
138− public:
139− enum {
140− // A candidate owner that doesn't yet know for sure whether he wants the touch point
141− // (gesture recognition is stilll going on)
142− Undecided = 0,
143− // A candidate owner that wants the touch but hasn't been granted it yet,
144− // most likely because there's an undecided candidate with higher priority
145− Requested = 1,
146− // An item that is the interim owner of the touch, receiving QTouchEvents of it
147− // from QQuickWindow. Ie, it's the actual touch owner from Qt's point of view.
148− // It wants to keep its touch ownership but hasn't been granted it by TouchRegistry
149− // yet because of undecided candidates higher up.
150− InterimOwner = 2
151− } state;
152− QPointer<QQuickItem> item;
153− QPointer<UbuntuGestures::CandidateInactivityTimer> inactivityTimer;
154− };
155−
156− class TouchInfo {
157− public:
158− TouchInfo() : id(-1) {}
159− TouchInfo(int id);
160− bool isValid() const { return id >= 0; }
161− void reset();
162− void init(int id);
163− int id;
164− bool physicallyEnded;
165− bool isOwned() const;
166− bool ended() const;
167− void notifyCandidatesOfOwnershipResolution();
168−
169− // TODO optimize storage (s/QList/Pool)
170− QList<CandidateInfo> candidates;
171− QList<QPointer<QQuickItem>> watchers;
172− };
173−
174− void pruneNullCandidatesForTouch(int touchId);
175− void removeCandidateOwnerForTouchByIndex(Pool<TouchInfo>::Iterator &touchInfo, int candidateIndex);
176− void removeCandidateHelper(Pool<TouchInfo>::Iterator &touchInfo, int candidateIndex);
177−
178− Pool<TouchInfo>::Iterator findTouchInfo(int id);
179−
180− void deliverTouchUpdatesToUndecidedCandidatesAndWatchers(const QTouchEvent *event);
181−
182− static void translateTouchPointFromScreenToWindowCoords(QTouchEvent::TouchPoint &touchPoint);
183−
184− static void dispatchPointsToItem(const QTouchEvent *event, const QList<int> &touchIds,
185− QQuickItem *item);
186− void freeEndedTouchInfos();
187−
188− Pool<TouchInfo> m_touchInfoPool;
189−
190− // the singleton instance
191− static TouchRegistry *m_instance;
192−
193− bool m_inDispatchLoop;
194−
195− UbuntuGestures::AbstractTimerFactory *m_timerFactory;
196−
197− friend class tst_TouchRegistry;
198− friend class tst_DirectionalDragArea;
199−};
200−
201−#endif // UNITY_TOUCHREGISTRY_H
libs/UbuntuGestures/UbuntuGesturesGlobal.hdeleted−23
@@ -1,23 +0,0 @@
1−/*
2− * Copyright (C) 2014 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−#include <QtCore/QtGlobal>
18−
19−#if defined(UBUNTUGESTURES_LIBRARY)
20−# define UBUNTUGESTURES_EXPORT Q_DECL_EXPORT
21−#else
22−# define UBUNTUGESTURES_EXPORT Q_DECL_IMPORT
23−#endif
libs/UbuntuGestures/UnownedTouchEvent.cppdeleted−39
@@ -1,39 +0,0 @@
1−/*
2− * Copyright (C) 2014 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−#include "UnownedTouchEvent.h"
18−
19−QEvent::Type UnownedTouchEvent::m_unownedTouchEventType = (QEvent::Type)-1;
20−
21−UnownedTouchEvent::UnownedTouchEvent(QTouchEvent *touchEvent)
22− : QEvent(unownedTouchEventType())
23− , m_touchEvent(touchEvent)
24−{
25−}
26−
27−QEvent::Type UnownedTouchEvent::unownedTouchEventType()
28−{
29− if (m_unownedTouchEventType == (QEvent::Type)-1) {
30− m_unownedTouchEventType = (QEvent::Type)registerEventType();
31− }
32−
33− return m_unownedTouchEventType;
34−}
35−
36−QTouchEvent *UnownedTouchEvent::touchEvent()
37−{
38− return m_touchEvent.data();
39−}
libs/UbuntuGestures/UnownedTouchEvent.hdeleted−45
@@ -1,45 +0,0 @@
1−/*
2− * Copyright (C) 2014 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−#ifndef UBUNTU_UNOWNEDTOUCHEVENT_H
18−#define UBUNTU_UNOWNEDTOUCHEVENT_H
19−
20−#include <QTouchEvent>
21−#include <QScopedPointer>
22−#include "UbuntuGesturesGlobal.h"
23−
24−/*
25− A touch event with touch points that do not belong the item receiving it.
26−
27− See TouchRegistry::addCandidateOwnerForTouch and TouchRegistry::addTouchWatcher
28− */
29−class UBUNTUGESTURES_EXPORT UnownedTouchEvent : public QEvent
30−{
31−public:
32− UnownedTouchEvent(QTouchEvent *touchEvent);
33− static Type unownedTouchEventType();
34−
35− // TODO: It might be cleaner to store the information directly in UnownedTouchEvent
36− // instead of carrying around a synthesized QTouchEvent. But the latter option
37− // is very convenient.
38− QTouchEvent *touchEvent();
39−
40−private:
41− static Type m_unownedTouchEventType;
42− QScopedPointer<QTouchEvent> m_touchEvent;
43−};
44−
45−#endif // UBUNTU_UNOWNEDTOUCHEVENT_H
plugins/AccountsService/AccountsService.qmltypesdeleted−41
@@ -1,41 +0,0 @@
1−import QtQuick.tooling 1.1
2−
3−// This file describes the plugin-supplied types contained in the library.
4−// It is used for QML tooling purposes only.
5−//
6−// This file was auto-generated by:
7−// 'qmlplugindump -notrelocatable AccountsService 0.1 plugins'
8−
9−Module {
10− Component {
11− name: "AccountsService"
12− prototype: "QObject"
13− exports: ["AccountsService/AccountsService 0.1"]
14− isCreatable: false
15− isSingleton: true
16− exportMetaObjectRevisions: [0]
17− Enum {
18− name: "PasswordDisplayHint"
19− values: {
20− "Keyboard": 0,
21− "Numeric": 1
22− }
23− }
24− Property { name: "user"; type: "string" }
25− Property { name: "demoEdges"; type: "bool" }
26− Property { name: "demoEdgesCompleted"; type: "QStringList"; isReadonly: true }
27− Property { name: "enableLauncherWhileLocked"; type: "bool"; isReadonly: true }
28− Property { name: "enableIndicatorsWhileLocked"; type: "bool"; isReadonly: true }
29− Property { name: "backgroundFile"; type: "string"; isReadonly: true }
30− Property { name: "statsWelcomeScreen"; type: "bool"; isReadonly: true }
31− Property { name: "passwordDisplayHint"; type: "PasswordDisplayHint"; isReadonly: true }
32− Property { name: "failedLogins"; type: "uint" }
33− Property { name: "hereEnabled"; type: "bool" }
34− Property { name: "hereLicensePath"; type: "string"; isReadonly: true }
35− Property { name: "hereLicensePathValid"; type: "bool"; isReadonly: true }
36− Method {
37− name: "markDemoEdgeCompleted"
38− Parameter { name: "edge"; type: "string" }
39− }
40− }
41−}
plugins/Cursor/CMakeLists.txt+2−1
@@ -8,8 +8,9 @@ include_directories(
8
8
9set(QMLPLUGIN_SRC
9set(QMLPLUGIN_SRC
10 plugin.cpp
10 plugin.cpp
11− MousePointer.cpp
11+ CursorImageInfo.cpp
12 CursorImageProvider.cpp
12 CursorImageProvider.cpp
13+ MousePointer.cpp
13 # We need to run moc on this header
14 # We need to run moc on this header
14 ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/MirMousePointerInterface.h
15 ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/MirMousePointerInterface.h
15 )
16 )
plugins/Cursor/Cursor.qml+21−5
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2015 Canonical, Ltd.
2+ * Copyright (C) 2015-2016 Canonical, Ltd.
3 *
3 *
4 * This program is free software; you can redistribute it and/or modify
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
5 * it under the terms of the GNU General Public License as published by
@@ -15,14 +15,30 @@
15 */
15 */
16
16
17import QtQuick 2.4
17import QtQuick 2.4
18−import Cursor 1.0 // For MousePointer
18+import Cursor 1.1
19
19
20MousePointer {
20MousePointer {
21 id: mousePointer
21 id: mousePointer
22
22
23− Image {
23+ CursorImageInfo {
24− x: -mousePointer.hotspotX
24+ id: imageInfo
25− y: -mousePointer.hotspotY
25+ themeName: mousePointer.themeName
26+ cursorName: mousePointer.cursorName
27+ }
28+
29+ AnimatedSprite {
30+ x: -imageInfo.hotspot.x
31+ y: -imageInfo.hotspot.y
26 source: "image://cursor/" + mousePointer.themeName + "/" + mousePointer.cursorName
32 source: "image://cursor/" + mousePointer.themeName + "/" + mousePointer.cursorName
33+
34+ interpolate: false
35+
36+ width: imageInfo.frameWidth
37+ height: imageInfo.frameHeight
38+
39+ frameCount: imageInfo.frameCount
40+ frameDuration: imageInfo.frameDuration
41+ frameWidth: imageInfo.frameWidth
42+ frameHeight: imageInfo.frameHeight
27 }
43 }
28}
44}
plugins/Cursor/Cursor.qmltypesdeleted−78
@@ -1,78 +0,0 @@
1−import QtQuick.tooling 1.1
2−
3−// This file describes the plugin-supplied types contained in the library.
4−// It is used for QML tooling purposes only.
5−//
6−// This file was auto-generated by:
7−// 'qmlplugindump -notrelocatable Cursor 1.0 plugins'
8−
9−Module {
10− Component {
11− name: "MirMousePointerInterface"
12− defaultProperty: "data"
13− prototype: "QQuickItem"
14− Property { name: "cursorName"; type: "string"; isReadonly: true }
15− Property { name: "themeName"; type: "string"; isReadonly: true }
16− Property { name: "hotspotX"; type: "double"; isReadonly: true }
17− Property { name: "hotspotY"; type: "double"; isReadonly: true }
18− Signal {
19− name: "cursorNameChanged"
20− Parameter { name: "name"; type: "string" }
21− }
22− Signal {
23− name: "themeNameChanged"
24− Parameter { name: "name"; type: "string" }
25− }
26− Signal {
27− name: "hotspotXChanged"
28− Parameter { name: "value"; type: "double" }
29− }
30− Signal {
31− name: "hotspotYChanged"
32− Parameter { name: "value"; type: "double" }
33− }
34− Method {
35− name: "handleMouseEvent"
36− Parameter { name: "timestamp"; type: "ulong" }
37− Parameter { name: "movement"; type: "QPointF" }
38− Parameter { name: "buttons"; type: "Qt::MouseButtons" }
39− Parameter { name: "modifiers"; type: "Qt::KeyboardModifiers" }
40− }
41− Method {
42− name: "handleWheelEvent"
43− Parameter { name: "timestamp"; type: "ulong" }
44− Parameter { name: "angleDelta"; type: "QPoint" }
45− Parameter { name: "modifiers"; type: "Qt::KeyboardModifiers" }
46− }
47− }
48− Component {
49− name: "MousePointer"
50− defaultProperty: "data"
51− prototype: "MirMousePointerInterface"
52− exports: ["Cursor/MousePointer 1.0"]
53− exportMetaObjectRevisions: [0]
54− Signal {
55− name: "pushedLeftBoundary"
56− Parameter { name: "amount"; type: "double" }
57− Parameter { name: "buttons"; type: "Qt::MouseButtons" }
58− }
59− Signal {
60− name: "pushedRightBoundary"
61− Parameter { name: "amount"; type: "double" }
62− Parameter { name: "buttons"; type: "Qt::MouseButtons" }
63− }
64− Method {
65− name: "handleMouseEvent"
66− Parameter { name: "timestamp"; type: "ulong" }
67− Parameter { name: "movement"; type: "QPointF" }
68− Parameter { name: "buttons"; type: "Qt::MouseButtons" }
69− Parameter { name: "modifiers"; type: "Qt::KeyboardModifiers" }
70− }
71− Method {
72− name: "handleWheelEvent"
73− Parameter { name: "timestamp"; type: "ulong" }
74− Parameter { name: "angleDelta"; type: "QPoint" }
75− Parameter { name: "modifiers"; type: "Qt::KeyboardModifiers" }
76− }
77− }
78−}
plugins/Cursor/CursorImageInfo.cppnew file+96
@@ -0,0 +1,96 @@
1+/*
2+ * Copyright (C) 2016 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#include "CursorImageInfo.h"
18+
19+CursorImageInfo::CursorImageInfo(QObject *parent)
20+ : QObject(parent)
21+{
22+}
23+
24+void CursorImageInfo::setCursorName(const QString &cursorName)
25+{
26+ if (cursorName != m_cursorName) {
27+ m_cursorName = cursorName;
28+ update();
29+ Q_EMIT cursorNameChanged();
30+ }
31+}
32+
33+void CursorImageInfo::setThemeName(const QString &themeName)
34+{
35+ if (m_themeName != themeName) {
36+ m_themeName = themeName;
37+ update();
38+ Q_EMIT themeNameChanged();
39+ }
40+}
41+
42+void CursorImageInfo::update()
43+{
44+ m_cursorImage = CursorImageProvider::instance()->fetchCursor(m_themeName, m_cursorName);
45+
46+ Q_EMIT hotspotChanged();
47+ Q_EMIT frameWidthChanged();
48+ Q_EMIT frameHeightChanged();
49+ Q_EMIT frameCountChanged();
50+ Q_EMIT frameDurationChanged();
51+}
52+
53+QPoint CursorImageInfo::hotspot() const
54+{
55+ if (m_cursorImage) {
56+ return m_cursorImage->hotspot;
57+ } else {
58+ return QPoint();
59+ }
60+}
61+
62+qreal CursorImageInfo::frameWidth() const
63+{
64+ if (m_cursorImage) {
65+ return m_cursorImage->frameWidth;
66+ } else {
67+ return 0;
68+ }
69+}
70+
71+qreal CursorImageInfo::frameHeight() const
72+{
73+ if (m_cursorImage) {
74+ return m_cursorImage->frameHeight;
75+ } else {
76+ return 0;
77+ }
78+}
79+
80+int CursorImageInfo::frameCount() const
81+{
82+ if (m_cursorImage) {
83+ return m_cursorImage->frameCount;
84+ } else {
85+ return 0;
86+ }
87+}
88+
89+int CursorImageInfo::frameDuration() const
90+{
91+ if (m_cursorImage) {
92+ return m_cursorImage->frameDuration;
93+ } else {
94+ return 0;
95+ }
96+}
plugins/Cursor/CursorImageInfo.hnew file+72
@@ -0,0 +1,72 @@
1+/*
2+ * Copyright (C) 2016 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#ifndef CURSOR_IMAGE_INFO_H
18+#define CURSOR_IMAGE_INFO_H
19+
20+#include "CursorImageProvider.h"
21+
22+#include <QObject>
23+#include <QString>
24+
25+class CursorImageInfo : public QObject
26+{
27+ Q_OBJECT
28+
29+ Q_PROPERTY(QString themeName READ themeName WRITE setThemeName NOTIFY themeNameChanged)
30+ Q_PROPERTY(QString cursorName READ cursorName WRITE setCursorName NOTIFY cursorNameChanged)
31+
32+ Q_PROPERTY(QPoint hotspot READ hotspot NOTIFY hotspotChanged)
33+ Q_PROPERTY(qreal frameWidth READ frameWidth NOTIFY frameWidthChanged)
34+ Q_PROPERTY(qreal frameHeight READ frameHeight NOTIFY frameHeightChanged)
35+ Q_PROPERTY(int frameCount READ frameCount NOTIFY frameCountChanged)
36+ Q_PROPERTY(int frameDuration READ frameDuration NOTIFY frameDurationChanged)
37+
38+public:
39+ CursorImageInfo(QObject *parent = nullptr);
40+
41+ QString themeName() const { return m_themeName; }
42+ void setThemeName(const QString &);
43+
44+ QString cursorName() const { return m_cursorName; }
45+ void setCursorName(const QString &);
46+
47+ QPoint hotspot() const;
48+ qreal frameWidth() const;
49+ qreal frameHeight() const;
50+ int frameCount() const;
51+ int frameDuration() const;
52+
53+Q_SIGNALS:
54+ void themeNameChanged();
55+ void cursorNameChanged();
56+ void hotspotChanged();
57+ void frameWidthChanged();
58+ void frameHeightChanged();
59+ void frameCountChanged();
60+ void frameDurationChanged();
61+
62+private Q_SLOTS:
63+ void update();
64+
65+private:
66+ QString m_themeName;
67+ QString m_cursorName;
68+
69+ CursorImage *m_cursorImage{nullptr};
70+};
71+
72+#endif // CURSOR_IMAGE_INFO_H
plugins/Cursor/CursorImageProvider.cpp+51−22
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2015 Canonical, Ltd.
2+ * Copyright (C) 2015-2016 Canonical, Ltd.
3 *
3 *
4 * This program is free software: you can redistribute it and/or modify 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
@@ -46,6 +46,9 @@ BuiltInCursorImage::BuiltInCursorImage()
46 qimage.fill(Qt::transparent);
46 qimage.fill(Qt::transparent);
47 QPainter imagePainter(&qimage);
47 QPainter imagePainter(&qimage);
48
48
49+ frameWidth = qimage.width();
50+ frameHeight = qimage.height();
51+
49 QSvgRenderer *svgRenderer = new QSvgRenderer(QByteArray(svgString));
52 QSvgRenderer *svgRenderer = new QSvgRenderer(QByteArray(svgString));
50 svgRenderer->render(&imagePainter);
53 svgRenderer->render(&imagePainter);
51 delete svgRenderer;
54 delete svgRenderer;
@@ -59,6 +62,8 @@ BlankCursorImage::BlankCursorImage()
59{
62{
60 qimage = QImage(1, 1, QImage::Format_ARGB32);
63 qimage = QImage(1, 1, QImage::Format_ARGB32);
61 qimage.fill(Qt::transparent);
64 qimage.fill(Qt::transparent);
65+ frameWidth = qimage.width();
66+ frameHeight = qimage.height();
62}
67}
63
68
64/////
69/////
@@ -69,40 +74,74 @@ CustomCursorImage::CustomCursorImage(const QCursor &cursor)
69{
74{
70 qimage = cursor.pixmap().toImage();
75 qimage = cursor.pixmap().toImage();
71 hotspot = cursor.hotSpot();
76 hotspot = cursor.hotSpot();
77+ frameWidth = qimage.width();
78+ frameHeight = qimage.height();
72}
79}
73
80
74/////
81/////
75// XCursorImage
82// XCursorImage
76
83
77XCursorImage::XCursorImage(const QString &theme, const QString &file)
84XCursorImage::XCursorImage(const QString &theme, const QString &file)
78− : xcursorImages(nullptr)
79{
85{
80 // TODO: Consider grid unit value
86 // TODO: Consider grid unit value
81 // Hardcoding to a medium size for now
87 // Hardcoding to a medium size for now
82 int preferredCursorHeightPx = 32;
88 int preferredCursorHeightPx = 32;
83
89
84− xcursorImages = XcursorLibraryLoadImages(QFile::encodeName(file), QFile::encodeName(theme),
90+ XcursorImages *xcursorImages = XcursorLibraryLoadImages(QFile::encodeName(file), QFile::encodeName(theme),
85 preferredCursorHeightPx);
91 preferredCursorHeightPx);
86− if (!xcursorImages) {
92+ if (!xcursorImages || xcursorImages->nimage == 0) {
87 return;
93 return;
88 }
94 }
89
95
90− // Just take the first one. It will have multiple images in case of an animated cursor.
96+ frameCount = xcursorImages->nimage;
91− // TODO: Support animated cursors
92− if ( xcursorImages->nimage > 0) {
93− XcursorImage *xcursorImage = xcursorImages->images[0];
94
97
95− qimage = QImage((uchar*)xcursorImage->pixels,
98+ for (int i = 0; i < xcursorImages->nimage; ++i) {
96− xcursorImage->width, xcursorImage->height, QImage::Format_ARGB32);
99+ XcursorImage *xcursorImage = xcursorImages->images[0];
100+ if (frameWidth < (int)xcursorImage->width) {
101+ frameWidth = xcursorImage->width;
102+ }
103+ if (frameHeight < (int)xcursorImage->height) {
104+ frameHeight = xcursorImage->height;
105+ }
106+ if (i == 0) {
107+ frameDuration = (int)xcursorImage->delay;
108+ } else {
109+ if (frameDuration != (int)xcursorImage->delay) {
110+ qWarning().nospace() << "CursorImageProvider: XCursorImage("<<theme<<","<<file<<") has"
111+ " varying delays in its animation. Animation won't look right.";
112+ }
113+ }
114+ }
97
115
116+ {
117+ // Assume that the hotspot position does not animate
118+ XcursorImage *xcursorImage = xcursorImages->images[0];
98 hotspot.setX(xcursorImage->xhot);
119 hotspot.setX(xcursorImage->xhot);
99 hotspot.setY(xcursorImage->yhot);
120 hotspot.setY(xcursorImage->yhot);
100 }
121 }
122+
123+ // Build the sprite as a single row of frames
124+ qimage = QImage(frameWidth*frameCount, frameHeight, QImage::Format_ARGB32);
125+ qimage.fill(Qt::transparent);
126+
127+ {
128+ QPainter painter(&qimage);
129+
130+ for (int i = 0; i < xcursorImages->nimage; ++i) {
131+ XcursorImage *xcursorImage = xcursorImages->images[i];
132+
133+ auto frameImage = QImage((uchar*)xcursorImage->pixels,
134+ xcursorImage->width, xcursorImage->height, QImage::Format_ARGB32);
135+
136+ painter.drawImage(QPoint(i*frameWidth, 0), frameImage);
137+ }
138+ }
139+
140+ XcursorImagesDestroy(xcursorImages);
101}
141}
102
142
103XCursorImage::~XCursorImage()
143XCursorImage::~XCursorImage()
104{
144{
105− XcursorImagesDestroy(xcursorImages);
106}
145}
107
146
108/////
147/////
@@ -205,16 +244,6 @@ QImage CursorImageProvider::requestImage(const QString &cursorThemeAndName, QSiz
205 return cursorImage->qimage;
244 return cursorImage->qimage;
206}
245}
207
246
208−QPoint CursorImageProvider::hotspot(const QString &themeName, const QString &cursorName)
209−{
210− CursorImage *cursorImage = fetchCursor(themeName, cursorName);
211− if (cursorImage) {
212− return cursorImage->hotspot;
213− } else {
214− return QPoint(0,0);
215− }
216−}
217−
218CursorImage *CursorImageProvider::fetchCursor(const QString &cursorThemeAndName)
247CursorImage *CursorImageProvider::fetchCursor(const QString &cursorThemeAndName)
219{
248{
220 QString themeName;
249 QString themeName;
@@ -271,7 +300,7 @@ CursorImage *CursorImageProvider::fetchCursorHelper(const QString &themeName, co
271{
300{
272 if (cursorName == QLatin1String("blank")) {
301 if (cursorName == QLatin1String("blank")) {
273 return &m_blankCursorImage;
302 return &m_blankCursorImage;
274− } else if (cursorName == QLatin1String("custom")) {
303+ } else if (cursorName.startsWith(QLatin1String("custom"))) {
275 return m_customCursorImage.data();
304 return m_customCursorImage.data();
276 } else {
305 } else {
277 QMap<QString, CursorImage*> &themeCursors = m_cursors[themeName];
306 QMap<QString, CursorImage*> &themeCursors = m_cursors[themeName];
plugins/Cursor/CursorImageProvider.h+12−4
@@ -31,15 +31,23 @@ public:
31 virtual ~CursorImage() {}
31 virtual ~CursorImage() {}
32
32
33 QImage qimage;
33 QImage qimage;
34+
35+ // TODO: consider if there's a need to animate the hotspot
36+ // ie, if there's a need to make it an array of points, one for each frame.
37+ // Maybe no single xcursor (or at least the ones we know of or use)
38+ // vary its hotspot position through its animation.
34 QPoint hotspot;
39 QPoint hotspot;
40+
41+ int frameWidth{0};
42+ int frameHeight{0};
43+ int frameCount{1};
44+ int frameDuration{40};
35};
45};
36
46
37class XCursorImage : public CursorImage {
47class XCursorImage : public CursorImage {
38public:
48public:
39 XCursorImage(const QString &theme, const QString &file);
49 XCursorImage(const QString &theme, const QString &file);
40 virtual ~XCursorImage();
50 virtual ~XCursorImage();
41−
42− XcursorImages *xcursorImages;
43};
51};
44
52
45class BuiltInCursorImage : public CursorImage {
53class BuiltInCursorImage : public CursorImage {
@@ -68,16 +76,16 @@ public:
68
76
69 QImage requestImage(const QString &cursorName, QSize *size, const QSize &requestedSize) override;
77 QImage requestImage(const QString &cursorName, QSize *size, const QSize &requestedSize) override;
70
78
71− QPoint hotspot(const QString &themeName, const QString &cursorName);
79+ CursorImage *fetchCursor(const QString &themeName, const QString &cursorName);
72
80
73 void setCustomCursor(const QCursor &customCursor);
81 void setCustomCursor(const QCursor &customCursor);
74
82
75private:
83private:
76 CursorImage *fetchCursor(const QString &cursorThemeAndName);
84 CursorImage *fetchCursor(const QString &cursorThemeAndName);
77− CursorImage *fetchCursor(const QString &themeName, const QString &cursorName);
78 CursorImage *fetchCursorHelper(const QString &themeName, const QString &cursorName);
85 CursorImage *fetchCursorHelper(const QString &themeName, const QString &cursorName);
79
86
80 // themeName -> (cursorName -> cursorImage)
87 // themeName -> (cursorName -> cursorImage)
88+ // TODO: discard old, unused, cursors
81 QMap<QString, QMap<QString, CursorImage*> > m_cursors;
89 QMap<QString, QMap<QString, CursorImage*> > m_cursors;
82
90
83 QScopedPointer<CursorImage> m_builtInCursorImage;
91 QScopedPointer<CursorImage> m_builtInCursorImage;
plugins/Cursor/MousePointer.cpp+37−27
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2015 Canonical, Ltd.
2+ * Copyright (C) 2015-2016 Canonical, Ltd.
3 *
3 *
4 * This program is free software: you can redistribute it and/or modify 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
@@ -29,10 +29,7 @@ MousePointer::MousePointer(QQuickItem *parent)
29 : MirMousePointerInterface(parent)
29 : MirMousePointerInterface(parent)
30 , m_cursorName(QStringLiteral("left_ptr"))
30 , m_cursorName(QStringLiteral("left_ptr"))
31 , m_themeName(QStringLiteral("default"))
31 , m_themeName(QStringLiteral("default"))
32− , m_hotspotX(0)
33− , m_hotspotY(0)
34{
32{
35− updateHotspot();
36}
33}
37
34
38void MousePointer::handleMouseEvent(ulong timestamp, QPointF movement, Qt::MouseButtons buttons,
35void MousePointer::handleMouseEvent(ulong timestamp, QPointF movement, Qt::MouseButtons buttons,
@@ -46,7 +43,12 @@ void MousePointer::handleMouseEvent(ulong timestamp, QPointF movement, Qt::Mouse
46 Q_EMIT mouseMoved();
43 Q_EMIT mouseMoved();
47 }
44 }
48
45
46+ m_accumulatedMovement += movement;
47+ // don't apply the fractional part
48+ QPointF appliedMovement(int(m_accumulatedMovement.x()), int(m_accumulatedMovement.y()));
49+ m_accumulatedMovement -= appliedMovement;
50+
49− qreal newX = x() + movement.x();
51+ qreal newX = x() + appliedMovement.x();
50 if (newX < 0) {
52 if (newX < 0) {
51 Q_EMIT pushedLeftBoundary(qAbs(newX), buttons);
53 Q_EMIT pushedLeftBoundary(qAbs(newX), buttons);
52 newX = 0;
54 newX = 0;
@@ -56,7 +58,7 @@ void MousePointer::handleMouseEvent(ulong timestamp, QPointF movement, Qt::Mouse
56 }
58 }
57 setX(newX);
59 setX(newX);
58
60
59− qreal newY = y() + movement.y();
61+ qreal newY = y() + appliedMovement.y();
60 if (newY < 0) {
62 if (newY < 0) {
61 newY = 0;
63 newY = 0;
62 } else if (newY > parentItem()->height()) {
64 } else if (newY > parentItem()->height()) {
@@ -89,8 +91,32 @@ void MousePointer::itemChange(ItemChange change, const ItemChangeData &value)
89
91
90void MousePointer::registerWindow(QWindow *window)
92void MousePointer::registerWindow(QWindow *window)
91{
93{
94+ if (window == m_registeredWindow) {
95+ return;
96+ }
97+
98+ if (m_registeredWindow) {
99+ m_registeredWindow->disconnect(this);
100+ }
101+
92− if (m_registeredWindow && window != m_registeredWindow) {
102+ m_registeredWindow = window;
103+
104+ if (m_registeredWindow) {
105+ connect(window, &QWindow::screenChanged, this, &MousePointer::registerScreen);
106+ registerScreen(window->screen());
107+ } else {
108+ registerScreen(nullptr);
109+ }
110+}
111+
112+void MousePointer::registerScreen(QScreen *screen)
113+{
114+ if (m_registeredScreen == screen) {
115+ return;
116+ }
117+
118+ if (m_registeredScreen) {
93− auto previousCursor = dynamic_cast<MirPlatformCursor*>(m_registeredWindow->screen()->handle()->cursor());
119+ auto previousCursor = dynamic_cast<MirPlatformCursor*>(m_registeredScreen->handle()->cursor());
94 if (previousCursor) {
120 if (previousCursor) {
95 previousCursor->setMousePointer(nullptr);
121 previousCursor->setMousePointer(nullptr);
96 } else {
122 } else {
@@ -98,10 +124,10 @@ void MousePointer::registerWindow(QWindow *window)
98 }
124 }
99 }
125 }
100
126
101− m_registeredWindow = window;
127+ m_registeredScreen = screen;
102
128
103− if (m_registeredWindow) {
129+ if (m_registeredScreen) {
104− auto cursor = dynamic_cast<MirPlatformCursor*>(window->screen()->handle()->cursor());
130+ auto cursor = dynamic_cast<MirPlatformCursor*>(m_registeredScreen->handle()->cursor());
105 if (cursor) {
131 if (cursor) {
106 cursor->setMousePointer(this);
132 cursor->setMousePointer(this);
107 } else {
133 } else {
@@ -115,22 +141,6 @@ void MousePointer::setCursorName(const QString &cursorName)
115 if (cursorName != m_cursorName) {
141 if (cursorName != m_cursorName) {
116 m_cursorName = cursorName;
142 m_cursorName = cursorName;
117 Q_EMIT cursorNameChanged(m_cursorName);
143 Q_EMIT cursorNameChanged(m_cursorName);
118− updateHotspot();
119− }
120−}
121−
122−void MousePointer::updateHotspot()
123−{
124− QPoint newHotspot = CursorImageProvider::instance()->hotspot(m_themeName, m_cursorName);
125−
126− if (m_hotspotX != newHotspot.x()) {
127− m_hotspotX = newHotspot.x();
128− Q_EMIT hotspotXChanged(m_hotspotX);
129− }
130−
131− if (m_hotspotY != newHotspot.y()) {
132− m_hotspotY = newHotspot.y();
133− Q_EMIT hotspotYChanged(m_hotspotY);
134 }
144 }
135}
145}
136
146
plugins/Cursor/MousePointer.h+9−7
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2015 Canonical, Ltd.
2+ * Copyright (C) 2015-2016 Canonical, Ltd.
3 *
3 *
4 * This program is free software: you can redistribute it and/or modify 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
@@ -20,6 +20,7 @@
20// Qt
20// Qt
21#include <QPointer>
21#include <QPointer>
22#include <QWindow>
22#include <QWindow>
23+#include <QScreen>
23
24
24// Unity API
25// Unity API
25#include <unity/shell/application/MirMousePointerInterface.h>
26#include <unity/shell/application/MirMousePointerInterface.h>
@@ -35,9 +36,6 @@ public:
35 void setThemeName(const QString &themeName) override;
36 void setThemeName(const QString &themeName) override;
36 QString themeName() const override { return m_themeName; }
37 QString themeName() const override { return m_themeName; }
37
38
38− qreal hotspotX() const override { return m_hotspotX; }
39− qreal hotspotY() const override { return m_hotspotY; }
40−
41 void setCustomCursor(const QCursor &) override;
39 void setCustomCursor(const QCursor &) override;
42
40
43public Q_SLOTS:
41public Q_SLOTS:
@@ -53,15 +51,19 @@ Q_SIGNALS:
53protected:
51protected:
54 void itemChange(ItemChange change, const ItemChangeData &value) override;
52 void itemChange(ItemChange change, const ItemChangeData &value) override;
55
53
54+private Q_SLOTS:
55+ void registerScreen(QScreen *screen);
56+
56private:
57private:
57 void registerWindow(QWindow *window);
58 void registerWindow(QWindow *window);
58− void updateHotspot();
59
59
60 QPointer<QWindow> m_registeredWindow;
60 QPointer<QWindow> m_registeredWindow;
61+ QPointer<QScreen> m_registeredScreen;
61 QString m_cursorName;
62 QString m_cursorName;
62 QString m_themeName;
63 QString m_themeName;
63− int m_hotspotX;
64+
64− int m_hotspotY;
65+ // Accumulated, unapplied, mouse movement.
66+ QPointF m_accumulatedMovement;
65};
67};
66
68
67#endif // MOUSEPOINTER_H
69#endif // MOUSEPOINTER_H
plugins/Cursor/plugin.cpp+4−2
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2015 Canonical, Ltd.
2+ * Copyright (C) 2015-2016 Canonical, Ltd.
3 *
3 *
4 * This program is free software; you can redistribute it and/or modify
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
5 * it under the terms of the GNU General Public License as published by
@@ -22,13 +22,15 @@
22#include "plugin.h"
22#include "plugin.h"
23
23
24// local
24// local
25+#include "CursorImageInfo.h"
25#include "CursorImageProvider.h"
26#include "CursorImageProvider.h"
26#include "MousePointer.h"
27#include "MousePointer.h"
27
28
28void CursorPlugin::registerTypes(const char *uri)
29void CursorPlugin::registerTypes(const char *uri)
29{
30{
30 Q_ASSERT(uri == QLatin1String("Cursor"));
31 Q_ASSERT(uri == QLatin1String("Cursor"));
32+ qmlRegisterType<CursorImageInfo>(uri, 1, 1, "CursorImageInfo");
31− qmlRegisterType<MousePointer>(uri, 1, 0, "MousePointer");
33+ qmlRegisterType<MousePointer>(uri, 1, 1, "MousePointer");
32}
34}
33
35
34void CursorPlugin::initializeEngine(QQmlEngine *engine, const char *uri)
36void CursorPlugin::initializeEngine(QQmlEngine *engine, const char *uri)
plugins/Cursor/qmldir+1−1
@@ -1,3 +1,3 @@
1module Cursor
1module Cursor
2plugin Cursor-qml
2plugin Cursor-qml
3−Cursor 1.0 Cursor.qml
3+Cursor 1.1 Cursor.qml
plugins/Dash/AudioProgressBar.qml+1−1
@@ -49,6 +49,6 @@ Item {
49 rightMargin: maxWidth - (maxWidth * root.progress)
49 rightMargin: maxWidth - (maxWidth * root.progress)
50 }
50 }
51 height: units.dp(2)
51 height: units.dp(2)
52− backgroundColor: UbuntuColors.orange
52+ backgroundColor: theme.palette.normal.activity
53 }
53 }
54}
54}
plugins/Dash/CardCreator.js+127−76
@@ -59,75 +59,100 @@ var kBackgroundLoaderCode = 'Loader {\n\
59 } \n\
59 } \n\
60 }\n';
60 }\n';
61
61
62+// %1 is the aspect of the UbuntuShape
63+var kArtUbuntuShapeCode = 'UbuntuShape { \n\
64+ anchors.fill: parent; \n\
65+ source: artImage; \n\
66+ sourceFillMode: UbuntuShape.PreserveAspectCrop; \n\
67+ radius: "medium"; \n\
68+ aspect: %1; \n\
69+ }';
70+
71+var kArtProportionalShapeCode = 'ProportionalShape { \n\
72+ anchors.left: parent.left; \n\
73+ anchors.right: parent.right; \n\
74+ source: artImage; \n\
75+ aspect: UbuntuShape.DropShadow; \n\
76+ }';
77+
62// %1 is used as anchors of artShapeHolder
78// %1 is used as anchors of artShapeHolder
63// %2 is used as image width
79// %2 is used as image width
64// %3 is used as image height
80// %3 is used as image height
65−// %4 is whether the image or the Loader with the UbuntuShape/ProportionalShape should be visible
81+// %4 is whether the image should be visible
66−// %5 is used as aspect ratio fallback
67−// %6 is whether the loader should be asynchronous or not
82+// %5 is whether the loader should be asynchronous or not
83+// %6 is the shape code we want to use
68// %7 is injected as code to artImage
84// %7 is injected as code to artImage
69// %8 is used as image fallback
85// %8 is used as image fallback
70var kArtShapeHolderCode = 'Item { \n\
86var kArtShapeHolderCode = 'Item { \n\
71 id: artShapeHolder; \n\
87 id: artShapeHolder; \n\
72− height: root.fixedArtShapeSize.height > 0 ? root.fixedArtShapeSize.height : artShapeLoader.height; \n\
88+ height: root.fixedArtShapeSize.height; \n\
73− width: root.fixedArtShapeSize.width > 0 ? root.fixedArtShapeSize.width : artShapeLoader.width; \n\
89+ width: root.fixedArtShapeSize.width; \n\
74 anchors { %1 } \n\
90 anchors { %1 } \n\
75 Loader { \n\
91 Loader { \n\
76 id: artShapeLoader; \n\
92 id: artShapeLoader; \n\
77 objectName: "artShapeLoader"; \n\
93 objectName: "artShapeLoader"; \n\
78 readonly property string cardArt: cardData && cardData["art"] || %8; \n\
94 readonly property string cardArt: cardData && cardData["art"] || %8; \n\
95+ onCardArtChanged: { if (item) { item.image.source = cardArt; } } \n\
79 active: cardArt != ""; \n\
96 active: cardArt != ""; \n\
80− asynchronous: %6; \n\
97+ asynchronous: %5; \n\
81 visible: status == Loader.Ready; \n\
98 visible: status == Loader.Ready; \n\
82 sourceComponent: Item { \n\
99 sourceComponent: Item { \n\
83 id: artShape; \n\
100 id: artShape; \n\
84 objectName: "artShape"; \n\
101 objectName: "artShape"; \n\
85 visible: image.status == Image.Ready; \n\
102 visible: image.status == Image.Ready; \n\
86 readonly property alias image: artImage; \n\
103 readonly property alias image: artImage; \n\
87− Loader { \n\
104+ %6 \n\
88− anchors.fill: parent; \n\
105+ width: root.fixedArtShapeSize.width; \n\
106+ height: root.fixedArtShapeSize.height; \n\
107+ CroppedImageMinimumSourceSize { \n\
108+ id: artImage; \n\
109+ objectName: "artImage"; \n\
110+ source: artShapeLoader.cardArt; \n\
111+ asynchronous: %5; \n\
89 visible: %4; \n\
112 visible: %4; \n\
90− sourceComponent: root.artShapeStyle === "icon" ? artShapeIconComponent : artShapeShapeComponent; \n\
113+ width: %2; \n\
91− Component { \n\
114+ height: %3; \n\
92− id: artShapeShapeComponent; \n\
93− UbuntuShape { \n\
94− source: artImage; \n\
95− sourceFillMode: UbuntuShape.PreserveAspectCrop; \n\
96− radius: "medium"; \n\
97− aspect: { \n\
98− switch (root.artShapeStyle) { \n\
99− case "inset": return UbuntuShape.Inset; \n\
100− case "shadow": return UbuntuShape.DropShadow; \n\
101− default: \n\
102− case "flat": return UbuntuShape.Flat; \n\
103− } \n\
104− } \n\
105− } \n\
106− } \n\
107− Component { \n\
108− id: artShapeIconComponent; \n\
109− ProportionalShape { source: artImage; aspect: UbuntuShape.DropShadow; } \n\
110− } \n\
111− } \n\
112− readonly property real fixedArtShapeSizeAspect: (root.fixedArtShapeSize.height > 0 && root.fixedArtShapeSize.width > 0) ? root.fixedArtShapeSize.width / root.fixedArtShapeSize.height : -1; \n\
113− readonly property real aspect: fixedArtShapeSizeAspect > 0 ? fixedArtShapeSizeAspect : %5; \n\
114− Component.onCompleted: { updateWidthHeightBindings(); } \n\
115− Connections { target: root; onFixedArtShapeSizeChanged: updateWidthHeightBindings(); } \n\
116− function updateWidthHeightBindings() { \n\
117− if (root.fixedArtShapeSize.height > 0 && root.fixedArtShapeSize.width > 0) { \n\
118− width = root.fixedArtShapeSize.width; \n\
119− height = root.fixedArtShapeSize.height; \n\
120− } else { \n\
121− width = Qt.binding(function() { return image.status !== Image.Ready ? 0 : image.width }); \n\
122− height = Qt.binding(function() { return image.status !== Image.Ready ? 0 : image.height }); \n\
123− } \n\
115+ %7 \n\
124 } \n\
116 } \n\
117+ } \n\
118+ } \n\
119+ }\n';
120+
121+// %1 is used as anchors of artShapeHolder
122+// %2 is used as image width
123+// %3 is used as image height
124+// %4 is whether the image should be visible
125+// %5 is whether the loader should be asynchronous or not
126+// %6 is the shape code we want to use
127+// %7 is injected as code to artImage
128+// %8 is used as image fallback
129+var kArtShapeHolderCodeCardToolCard = 'Item { \n\
130+ id: artShapeHolder; \n\
131+ height: artShapeLoader.height; \n\
132+ width: artShapeLoader.width; \n\
133+ anchors { %1 } \n\
134+ Loader { \n\
135+ id: artShapeLoader; \n\
136+ objectName: "artShapeLoader"; \n\
137+ readonly property string cardArt: cardData && cardData["art"] || %8; \n\
138+ onCardArtChanged: { if (item) { item.image.source = cardArt; } } \n\
139+ active: cardArt != ""; \n\
140+ asynchronous: %5; \n\
141+ visible: status == Loader.Ready; \n\
142+ sourceComponent: Item { \n\
143+ id: artShape; \n\
144+ objectName: "artShape"; \n\
145+ visible: image.status == Image.Ready; \n\
146+ readonly property alias image: artImage; \n\
147+ %6 \n\
148+ width: image.status !== Image.Ready ? 0 : image.width; \n\
149+ height: image.status !== Image.Ready ? 0 : image.height; \n\
125 CroppedImageMinimumSourceSize { \n\
150 CroppedImageMinimumSourceSize { \n\
126 id: artImage; \n\
151 id: artImage; \n\
127 objectName: "artImage"; \n\
152 objectName: "artImage"; \n\
128 source: artShapeLoader.cardArt; \n\
153 source: artShapeLoader.cardArt; \n\
129− asynchronous: %6; \n\
154+ asynchronous: %5; \n\
130− visible: !%4; \n\
155+ visible: %4; \n\
131 width: %2; \n\
156 width: %2; \n\
132 height: %3; \n\
157 height: %3; \n\
133 %7 \n\
158 %7 \n\
@@ -318,7 +343,7 @@ var kTouchdownCode = 'UbuntuShape { \n\
318 id: touchdown; \n\
343 id: touchdown; \n\
319 objectName: "touchdown"; \n\
344 objectName: "touchdown"; \n\
320 anchors { %1 } \n\
345 anchors { %1 } \n\
321− visible: root.artShapeStyle != "shadow" && root.artShapeStyle != "icon" && root.pressed; \n\
346+ visible: root.pressed; \n\
322 radius: "medium"; \n\
347 radius: "medium"; \n\
323 borderSource: "radius_pressed.sci" \n\
348 borderSource: "radius_pressed.sci" \n\
324 }\n';
349 }\n';
@@ -412,7 +437,7 @@ function sanitizeColor(colorString) {
412 return colorString;
437 return colorString;
413}
438}
414
439
415−function cardString(template, components, isCardTool) {
440+function cardString(template, components, isCardTool, artShapeStyle) {
416 var code;
441 var code;
417
442
418 var templateInteractive = (template == null ? true : (template["non-interactive"] !== undefined ? !template["non-interactive"] : true)) ? "true" : "false";
443 var templateInteractive = (template == null ? true : (template["non-interactive"] !== undefined ? !template["non-interactive"] : true)) ? "true" : "false";
@@ -420,19 +445,19 @@ function cardString(template, components, isCardTool) {
420 code = 'AbstractButton { \n\
445 code = 'AbstractButton { \n\
421 id: root; \n\
446 id: root; \n\
422 property var cardData; \n\
447 property var cardData; \n\
423− property string artShapeStyle: "inset"; \n\
424 property string backgroundShapeStyle: "inset"; \n\
448 property string backgroundShapeStyle: "inset"; \n\
425 property real fontScale: 1.0; \n\
449 property real fontScale: 1.0; \n\
426 property var scopeStyle: null; \n\
450 property var scopeStyle: null; \n\
427− %2\
428− property size fixedArtShapeSize: Qt.size(-1, -1); \n\
429 readonly property string title: cardData && cardData["title"] || ""; \n\
451 readonly property string title: cardData && cardData["title"] || ""; \n\
430 property bool showHeader: true; \n\
452 property bool showHeader: true; \n\
431 implicitWidth: childrenRect.width; \n\
453 implicitWidth: childrenRect.width; \n\
432 enabled: %1; \n\
454 enabled: %1; \n\
433 \n'.arg(templateInteractive);
455 \n'.arg(templateInteractive);
434
456
457+ if (!isCardTool) {
435− code = code.arg(isCardTool ? "" : "property int fixedHeaderHeight: -1; \n");
458+ code += "property int fixedHeaderHeight: -1; \n\
459+ property size fixedArtShapeSize: Qt.size(-1, -1); \n";
460+ }
436
461
437 var hasArt = components["art"] && components["art"]["field"] || false;
462 var hasArt = components["art"] && components["art"]["field"] || false;
438 var hasSummary = components["summary"] || false;
463 var hasSummary = components["summary"] || false;
@@ -491,47 +516,71 @@ function cardString(template, components, isCardTool) {
491 if (hasArt) {
516 if (hasArt) {
492 code += 'readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1);\n';
517 code += 'readonly property size artShapeSize: artShapeLoader.item ? Qt.size(artShapeLoader.item.width, artShapeLoader.item.height) : Qt.size(-1, -1);\n';
493
518
519+ var artShapeAspect;
520+ if (isCardTool) {
521+ var artShapeAspect = components["art"] && components["art"]["aspect-ratio"] || 1;
522+ if (isNaN(artShapeAspect)) {
523+ artShapeAspect = 1;
524+ }
525+ } else {
526+ artShapeAspect = "(root.fixedArtShapeSize.width / root.fixedArtShapeSize.height)";
527+ }
528+
494 var widthCode, heightCode;
529 var widthCode, heightCode;
495 var artAnchors;
530 var artAnchors;
496 if (isHorizontal) {
531 if (isHorizontal) {
497 artAnchors = 'left: parent.left';
532 artAnchors = 'left: parent.left';
498 if (hasMascot || hasTitle) {
533 if (hasMascot || hasTitle) {
499− widthCode = 'height * artShape.aspect'
534+ widthCode = 'height * ' + artShapeAspect;
500 heightCode = 'headerHeight + 2 * units.gu(1)';
535 heightCode = 'headerHeight + 2 * units.gu(1)';
501 } else {
536 } else {
502 // This side of the else is a bit silly, who wants an horizontal layout without mascot and title?
537 // This side of the else is a bit silly, who wants an horizontal layout without mascot and title?
503 // So we define a "random" height of the image height + 2 gu for the margins
538 // So we define a "random" height of the image height + 2 gu for the margins
504− widthCode = 'height * artShape.aspect'
539+ widthCode = 'height * ' + artShapeAspect
505 heightCode = 'units.gu(7.625)';
540 heightCode = 'units.gu(7.625)';
506 }
541 }
507 } else {
542 } else {
508 artAnchors = 'horizontalCenter: parent.horizontalCenter;';
543 artAnchors = 'horizontalCenter: parent.horizontalCenter;';
509 widthCode = 'root.width'
544 widthCode = 'root.width'
510− heightCode = 'width / artShape.aspect';
545+ heightCode = 'width / ' + artShapeAspect;
511 }
546 }
512
547
513− var aspectRatio = components["art"] && components["art"]["aspect-ratio"] || 1;
514− if (isNaN(aspectRatio)) {
515− aspectRatio = 1;
516− }
517 var fallback = !isCardTool && components["art"] && components["art"]["fallback"] || "";
548 var fallback = !isCardTool && components["art"] && components["art"]["fallback"] || "";
518 fallback = encodeURI(fallback);
549 fallback = encodeURI(fallback);
519 var fallbackStatusCode = "";
550 var fallbackStatusCode = "";
520 var fallbackURICode = '""';
551 var fallbackURICode = '""';
521 if (fallback !== "") {
552 if (fallback !== "") {
522− // fallbackStatusCode has %6 in it because we want to substitute it for fallbackURICode
553+ // fallbackStatusCode has %8 in it because we want to substitute it for fallbackURICode
523 // which in kArtShapeHolderCode is %8
554 // which in kArtShapeHolderCode is %8
524 fallbackStatusCode += 'onStatusChanged: if (status === Image.Error) source = %8;';
555 fallbackStatusCode += 'onStatusChanged: if (status === Image.Error) source = %8;';
525 fallbackURICode = 'decodeURI("%1")'.arg(fallback);
556 fallbackURICode = 'decodeURI("%1")'.arg(fallback);
526 }
557 }
558+ var artShapeHolderShapeCode;
559+ if (!isConciergeMode) {
560+ if (artShapeStyle === "icon") {
561+ artShapeHolderShapeCode = kArtProportionalShapeCode;
562+ } else {
563+ var artShapeHolderShapeAspect;
564+ switch (artShapeStyle) {
565+ case "inset": artShapeHolderShapeAspect = "UbuntuShape.Inset"; break;
566+ case "shadow": artShapeHolderShapeAspect = "UbuntuShape.DropShadow"; break;
567+ default:
568+ case "flat": artShapeHolderShapeAspect = "UbuntuShape.Flat"; break;
569+ }
570+ artShapeHolderShapeCode = kArtUbuntuShapeCode.arg(artShapeHolderShapeAspect);
571+ }
572+ } else {
573+ artShapeHolderShapeCode = "";
574+ }
575+ var artShapeHolderCode = isCardTool ? kArtShapeHolderCodeCardToolCard : kArtShapeHolderCode;
527− code += kArtShapeHolderCode.arg(artAnchors)
576+ code += artShapeHolderCode.arg(artAnchors)
528− .arg(widthCode)
577+ .arg(widthCode)
529− .arg(heightCode)
578+ .arg(heightCode)
530− .arg(isConciergeMode ? "false" : "true")
579+ .arg(isConciergeMode ? "true" : "false")
531− .arg(aspectRatio)
532− .arg(asynchronous)
580+ .arg(asynchronous)
581+ .arg(artShapeHolderShapeCode)
533− .arg(fallbackStatusCode)
582+ .arg(fallbackStatusCode)
534− .arg(fallbackURICode);
583+ .arg(fallbackURICode);
535 } else {
584 } else {
536 code += 'readonly property size artShapeSize: Qt.size(-1, -1);\n'
585 code += 'readonly property size artShapeSize: Qt.size(-1, -1);\n'
537 }
586 }
@@ -882,15 +931,17 @@ function cardString(template, components, isCardTool) {
882 code += kSocialActionsRowCode.arg(socialAnchors).arg(socialColor);
931 code += kSocialActionsRowCode.arg(socialAnchors).arg(socialColor);
883 }
932 }
884
933
934+ if (artShapeStyle != "shadow" && artShapeStyle != "icon") {
885− var touchdownAnchors;
935+ var touchdownAnchors;
886− if (hasBackground) {
936+ if (hasBackground) {
887− touchdownAnchors = 'fill: backgroundLoader';
937+ touchdownAnchors = 'fill: backgroundLoader';
888− } else if (touchdownOnArtShape) {
938+ } else if (touchdownOnArtShape) {
889− touchdownAnchors = 'fill: artShapeHolder';
939+ touchdownAnchors = 'fill: artShapeHolder';
890− } else {
940+ } else {
891− touchdownAnchors = 'fill: root'
941+ touchdownAnchors = 'fill: root'
942+ }
943+ code += kTouchdownCode.arg(touchdownAnchors);
892 }
944 }
893− code += kTouchdownCode.arg(touchdownAnchors);
894
945
895 var implicitHeight = 'implicitHeight: ';
946 var implicitHeight = 'implicitHeight: ';
896 if (hasSocialActions) {
947 if (hasSocialActions) {
@@ -925,13 +976,13 @@ function cardString(template, components, isCardTool) {
925 return code;
976 return code;
926}
977}
927
978
928−function createCardComponent(parent, template, components, isCardTool, identifier) {
979+function createCardComponent(parent, template, components, isCardTool, artShapeStyle, identifier) {
929 var imports = 'import QtQuick 2.4; \n\
980 var imports = 'import QtQuick 2.4; \n\
930 import Ubuntu.Components 1.3; \n\
981 import Ubuntu.Components 1.3; \n\
931 import Ubuntu.Settings.Components 0.1; \n\
982 import Ubuntu.Settings.Components 0.1; \n\
932 import Dash 0.1;\n\
983 import Dash 0.1;\n\
933 import Utils 0.1;\n';
984 import Utils 0.1;\n';
934− var card = cardString(template, components, isCardTool);
985+ var card = cardString(template, components, isCardTool, artShapeStyle);
935 var code = imports + 'Component {\n' + card + '}\n';
986 var code = imports + 'Component {\n' + card + '}\n';
936
987
937 try {
988 try {
plugins/Dash/CardCreatorCache.qml+3−3
@@ -23,16 +23,16 @@ QtObject {
23
23
24 property var cache: new Object();
24 property var cache: new Object();
25
25
26− function getCardComponent(template, components, isCardTool) {
26+ function getCardComponent(template, components, isCardTool, artShapeStyle) {
27 if (template === undefined || components === undefined)
27 if (template === undefined || components === undefined)
28 return undefined;
28 return undefined;
29
29
30 var tString = JSON.stringify(template);
30 var tString = JSON.stringify(template);
31 var cString = JSON.stringify(components);
31 var cString = JSON.stringify(components);
32− var allString = tString + cString + isCardTool;
32+ var allString = tString + cString + isCardTool + artShapeStyle;
33 var component = cache[allString];
33 var component = cache[allString];
34 if (component === undefined) {
34 if (component === undefined) {
35− component = CardCreator.createCardComponent(root, template, components, isCardTool, allString);
35+ component = CardCreator.createCardComponent(root, template, components, isCardTool, artShapeStyle, allString);
36 cache[allString] = component;
36 cache[allString] = component;
37 }
37 }
38 return component;
38 return component;
plugins/Dash/Dash.qmltypesdeleted−100
@@ -1,100 +0,0 @@
1−import QtQuick.tooling 1.1
2−
3−// This file describes the plugin-supplied types contained in the library.
4−// It is used for QML tooling purposes only.
5−//
6−// This file was auto-generated by:
7−// 'qmlplugindump -notrelocatable Dash 0.1 plugins'
8−
9−Module {
10− Component {
11− name: "AbstractDashView"
12− defaultProperty: "data"
13− prototype: "QQuickItem"
14− Property { name: "model"; type: "QAbstractItemModel"; isPointer: true }
15− Property { name: "delegate"; type: "QQmlComponent"; isPointer: true }
16− Property { name: "columnSpacing"; type: "double" }
17− Property { name: "rowSpacing"; type: "double" }
18− Property { name: "cacheBuffer"; type: "int" }
19− Property { name: "displayMarginBeginning"; type: "double" }
20− Property { name: "displayMarginEnd"; type: "double" }
21− }
22− Component {
23− name: "HorizontalJournal"
24− defaultProperty: "data"
25− prototype: "AbstractDashView"
26− exports: ["Dash/HorizontalJournal 0.1"]
27− exportMetaObjectRevisions: [0]
28− Property { name: "rowHeight"; type: "double" }
29− }
30− Component {
31− name: "ListViewWithPageHeader"
32− defaultProperty: "flickableData"
33− prototype: "QQuickFlickable"
34− exports: ["Dash/ListViewWithPageHeader 0.1"]
35− exportMetaObjectRevisions: [0]
36− Property { name: "model"; type: "QAbstractItemModel"; isPointer: true }
37− Property { name: "delegate"; type: "QQmlComponent"; isPointer: true }
38− Property { name: "pageHeader"; type: "QQuickItem"; isPointer: true }
39− Property { name: "sectionDelegate"; type: "QQmlComponent"; isPointer: true }
40− Property { name: "sectionProperty"; type: "string" }
41− Property { name: "forceNoClip"; type: "bool" }
42− Property { name: "stickyHeaderHeight"; type: "int"; isReadonly: true }
43− Property { name: "headerItemShownHeight"; type: "double"; isReadonly: true }
44− Property { name: "cacheBuffer"; type: "int" }
45− Signal { name: "headerChanged" }
46− Method { name: "positionAtBeginning" }
47− Method { name: "showHeader" }
48− Method { name: "firstCreatedIndex"; type: "int" }
49− Method { name: "createdItemCount"; type: "int" }
50− Method {
51− name: "item"
52− type: "QQuickItem*"
53− Parameter { name: "modelIndex"; type: "int" }
54− }
55− Method {
56− name: "maximizeVisibleArea"
57− type: "bool"
58− Parameter { name: "modelIndex"; type: "int" }
59− }
60− Method {
61− name: "maximizeVisibleArea"
62− type: "bool"
63− Parameter { name: "modelIndex"; type: "int" }
64− Parameter { name: "itemHeight"; type: "int" }
65− }
66− }
67− Component {
68− name: "OrganicGrid"
69− defaultProperty: "data"
70− prototype: "AbstractDashView"
71− exports: ["Dash/OrganicGrid 0.1"]
72− exportMetaObjectRevisions: [0]
73− Property { name: "smallDelegateSize"; type: "QSizeF" }
74− Property { name: "bigDelegateSize"; type: "QSizeF" }
75− }
76− Component {
77− name: "VerticalJournal"
78− defaultProperty: "data"
79− prototype: "AbstractDashView"
80− exports: ["Dash/VerticalJournal 0.1"]
81− exportMetaObjectRevisions: [0]
82− Property { name: "columnWidth"; type: "double" }
83− }
84− Component {
85− prototype: "QObject"
86− name: "CardCreatorCache"
87− exports: ["CardCreatorCache -1.-1"]
88− exportMetaObjectRevisions: [-1]
89− isComposite: true
90− isCreatable: false
91− isSingleton: true
92− Property { name: "cache"; type: "QVariant" }
93− Method {
94− name: "getCardComponent"
95− type: "QVariant"
96− Parameter { name: "template"; type: "QVariant" }
97− Parameter { name: "components"; type: "QVariant" }
98− }
99− }
100−}
plugins/Dash/ScopeStyle.qml+1−1
@@ -70,7 +70,7 @@ QtObject {
70 readonly property url navigationBackground: "navigation-background" in d.headerStyle ? d.headerStyle["navigation-background"] : "color:///#f5f5f5"
70 readonly property url navigationBackground: "navigation-background" in d.headerStyle ? d.headerStyle["navigation-background"] : "color:///#f5f5f5"
71
71
72 /// Color of the primary preview button
72 /// Color of the primary preview button
73− readonly property color previewButtonColor: "preview-button-color" in style ? style["preview-button-color"] : UbuntuColors.orange
73+ readonly property color previewButtonColor: "preview-button-color" in style ? style["preview-button-color"] : theme.palette.normal.positive
74
74
75 //! @cond
75 //! @cond
76 property var d: QtObject {
76 property var d: QtObject {
plugins/Dash/listviewwithpageheader.cpp+20−21
@@ -97,6 +97,7 @@
97#include <qqmlengine.h>
97#include <qqmlengine.h>
98#pragma GCC diagnostic push
98#pragma GCC diagnostic push
99#pragma GCC diagnostic ignored "-pedantic"
99#pragma GCC diagnostic ignored "-pedantic"
100+#include <private/qqmlcontext_p.h>
100#include <private/qqmldelegatemodel_p.h>
101#include <private/qqmldelegatemodel_p.h>
101#include <private/qqmlglobal_p.h>
102#include <private/qqmlglobal_p.h>
102#include <private/qquickitem_p.h>
103#include <private/qquickitem_p.h>
@@ -168,7 +169,7 @@ ListViewWithPageHeader::ListViewWithPageHeader()
168 m_contentYAnimation->setDuration(200);
169 m_contentYAnimation->setDuration(200);
169 m_contentYAnimation->setTargetObject(this);
170 m_contentYAnimation->setTargetObject(this);
170
171
171− connect(this, &ListViewWithPageHeader::contentWidthChanged, this, &ListViewWithPageHeader::onContentWidthChanged);
172+ connect(contentItem(), &QQuickItem::widthChanged, this, &ListViewWithPageHeader::onContentWidthChanged);
172 connect(this, &ListViewWithPageHeader::contentHeightChanged, this, &ListViewWithPageHeader::onContentHeightChanged);
173 connect(this, &ListViewWithPageHeader::contentHeightChanged, this, &ListViewWithPageHeader::onContentHeightChanged);
173 connect(this, &ListViewWithPageHeader::heightChanged, this, &ListViewWithPageHeader::onHeightChanged);
174 connect(this, &ListViewWithPageHeader::heightChanged, this, &ListViewWithPageHeader::onHeightChanged);
174 connect(m_contentYAnimation, &QQuickNumberAnimation::runningChanged, this, &ListViewWithPageHeader::contentYAnimationRunningChanged);
175 connect(m_contentYAnimation, &QQuickNumberAnimation::runningChanged, this, &ListViewWithPageHeader::contentYAnimationRunningChanged);
@@ -286,9 +287,11 @@ void ListViewWithPageHeader::setSectionDelegate(QQmlComponent *delegate)
286 m_sectionDelegate = delegate;
287 m_sectionDelegate = delegate;
287
288
288 m_topSectionItem = getSectionItem(QString(), false /*watchGeometry*/);
289 m_topSectionItem = getSectionItem(QString(), false /*watchGeometry*/);
290+ if (m_topSectionItem) {
289− m_topSectionItem->setZ(3);
291+ m_topSectionItem->setZ(3);
290− QQuickItemPrivate::get(m_topSectionItem)->setCulled(true);
292+ QQuickItemPrivate::get(m_topSectionItem)->setCulled(true);
291− connect(m_topSectionItem, &QQuickItem::heightChanged, this, &ListViewWithPageHeader::stickyHeaderHeightChanged);
293+ connect(m_topSectionItem, &QQuickItem::heightChanged, this, &ListViewWithPageHeader::stickyHeaderHeightChanged);
294+ }
292
295
293 // TODO create sections for existing items
296 // TODO create sections for existing items
294
297
@@ -757,8 +760,6 @@ QQuickItem *ListViewWithPageHeader::getSectionItem(const QString &sectionText, b
757
760
758 QQmlContext *creationContext = m_sectionDelegate->creationContext();
761 QQmlContext *creationContext = m_sectionDelegate->creationContext();
759 QQmlContext *context = new QQmlContext(creationContext ? creationContext : qmlContext(this));
762 QQmlContext *context = new QQmlContext(creationContext ? creationContext : qmlContext(this));
760− context->setContextProperty(QStringLiteral("section"), sectionText);
761− context->setContextProperty(QStringLiteral("delegateIndex"), -1);
762 QObject *nobj = m_sectionDelegate->beginCreate(context);
763 QObject *nobj = m_sectionDelegate->beginCreate(context);
763 if (nobj) {
764 if (nobj) {
764 QQml_setParent_noEvent(context, nobj);
765 QQml_setParent_noEvent(context, nobj);
@@ -766,6 +767,8 @@ QQuickItem *ListViewWithPageHeader::getSectionItem(const QString &sectionText, b
766 if (!sectionItem) {
767 if (!sectionItem) {
767 delete nobj;
768 delete nobj;
768 } else {
769 } else {
770+ sectionItem->setProperty("text", sectionText);
771+ sectionItem->setProperty("delegateIndex", -1);
769 sectionItem->setZ(2);
772 sectionItem->setZ(2);
770 QQml_setParent_noEvent(sectionItem, m_clipItem);
773 QQml_setParent_noEvent(sectionItem, m_clipItem);
771 sectionItem->setParentItem(m_clipItem);
774 sectionItem->setParentItem(m_clipItem);
@@ -775,7 +778,7 @@ QQuickItem *ListViewWithPageHeader::getSectionItem(const QString &sectionText, b
775 }
778 }
776 m_sectionDelegate->completeCreate();
779 m_sectionDelegate->completeCreate();
777
780
778− if (watchGeometry) {
781+ if (watchGeometry && sectionItem) {
779 QQuickItemPrivate::get(sectionItem)->addItemChangeListener(this, QQuickItemPrivate::Geometry);
782 QQuickItemPrivate::get(sectionItem)->addItemChangeListener(this, QQuickItemPrivate::Geometry);
780 }
783 }
781
784
@@ -801,8 +804,7 @@ void ListViewWithPageHeader::updateSectionItem(int modelIndex)
801 if (!item->sectionItem()) {
804 if (!item->sectionItem()) {
802 item->setSectionItem(getSectionItem(sectionText));
805 item->setSectionItem(getSectionItem(sectionText));
803 } else {
806 } else {
804− QQmlContext *context = QQmlEngine::contextForObject(item->sectionItem())->parentContext();
807+ item->sectionItem()->setProperty("text", sectionText);
805− context->setContextProperty(QStringLiteral("section"), sectionText);
806 }
808 }
807 } else {
809 } else {
808 if (item->sectionItem()) {
810 if (item->sectionItem()) {
@@ -923,8 +925,7 @@ ListViewWithPageHeader::ListItem *ListViewWithPageHeader::createItem(int modelIn
923 polish();
925 polish();
924 }
926 }
925 if (listItem->sectionItem()) {
927 if (listItem->sectionItem()) {
926− QQmlContext *context = QQmlEngine::contextForObject(listItem->sectionItem())->parentContext();
927− context->setContextProperty(QStringLiteral("delegateIndex"), modelIndex);
928+ listItem->sectionItem()->setProperty("delegateIndex", modelIndex);
928 }
929 }
929 adjustMinYExtent();
930 adjustMinYExtent();
930 m_contentHeightDirty = true;
931 m_contentHeightDirty = true;
@@ -948,9 +949,10 @@ void ListViewWithPageHeader::itemCreated(int modelIndex, QObject *object)
948 return;
949 return;
949
950
950 item->setParentItem(m_clipItem);
951 item->setParentItem(m_clipItem);
952+ // FIXME Why do we need the refreshExpressions call?
951 QQmlContext *context = QQmlEngine::contextForObject(item)->parentContext();
953 QQmlContext *context = QQmlEngine::contextForObject(item)->parentContext();
952− context->setContextProperty(QStringLiteral("ListViewWithPageHeader"), this);
954+ QQmlContextPrivate::get(context)->data->refreshExpressions();
953− context->setContextProperty(QStringLiteral("heightToClip"), QVariant::fromValue<int>(0));
955+ item->setProperty("heightToClip", QVariant::fromValue<int>(0));
954 if (modelIndex == m_asyncRequestedIndex) {
956 if (modelIndex == m_asyncRequestedIndex) {
955 createItem(modelIndex, false);
957 createItem(modelIndex, false);
956 refill();
958 refill();
@@ -1116,8 +1118,7 @@ void ListViewWithPageHeader::onModelUpdated(const QQmlChangeSet &changeSet, bool
1116 for (int i = 0; i < m_visibleItems.count(); ++i) {
1118 for (int i = 0; i < m_visibleItems.count(); ++i) {
1117 ListItem *item = m_visibleItems[i];
1119 ListItem *item = m_visibleItems[i];
1118 if (item->sectionItem()) {
1120 if (item->sectionItem()) {
1119− QQmlContext *context = QQmlEngine::contextForObject(item->sectionItem())->parentContext();
1120− context->setContextProperty(QStringLiteral("delegateIndex"), m_firstVisibleIndex + i);
1121+ item->sectionItem()->setProperty("delegateIndex", m_firstVisibleIndex + i);
1121 }
1122 }
1122 }
1123 }
1123
1124
@@ -1287,8 +1288,7 @@ void ListViewWithPageHeader::layout()
1287 } else {
1288 } else {
1288 // Update the top sticky section header
1289 // Update the top sticky section header
1289 const QString section = m_delegateModel->stringValue(modelIndex, m_sectionProperty);
1290 const QString section = m_delegateModel->stringValue(modelIndex, m_sectionProperty);
1290− QQmlContext *context = QQmlEngine::contextForObject(m_topSectionItem)->parentContext();
1291+ m_topSectionItem->setProperty("text", section);
1291− context->setContextProperty(QStringLiteral("section"), section);
1292
1292
1293 QQuickItemPrivate::get(m_topSectionItem)->setCulled(false);
1293 QQuickItemPrivate::get(m_topSectionItem)->setCulled(false);
1294 m_topSectionItem->setY(topSectionStickPos);
1294 m_topSectionItem->setY(topSectionStickPos);
@@ -1300,19 +1300,18 @@ void ListViewWithPageHeader::layout()
1300 break;
1300 break;
1301 delegateIndex--;
1301 delegateIndex--;
1302 }
1302 }
1303− context->setContextProperty(QStringLiteral("delegateIndex"), delegateIndex);
1303+ m_topSectionItem->setProperty("delegateIndex", delegateIndex);
1304 if (item->sectionItem()) {
1304 if (item->sectionItem()) {
1305 QQuickItemPrivate::get(item->sectionItem())->setCulled(true);
1305 QQuickItemPrivate::get(item->sectionItem())->setCulled(true);
1306 }
1306 }
1307 }
1307 }
1308 }
1308 }
1309 }
1309 }
1310− QQmlContext *context = QQmlEngine::contextForObject(item->m_item)->parentContext();
1311 const qreal clipFrom = visibleFrom + (!item->sectionItem() && m_topSectionItem && !QQuickItemPrivate::get(m_topSectionItem)->culled ? m_topSectionItem->height() : 0);
1310 const qreal clipFrom = visibleFrom + (!item->sectionItem() && m_topSectionItem && !QQuickItemPrivate::get(m_topSectionItem)->culled ? m_topSectionItem->height() : 0);
1312 if (!cull && pos < clipFrom) {
1311 if (!cull && pos < clipFrom) {
1313− context->setContextProperty(QStringLiteral("heightToClip"), clipFrom - pos);
1312+ item->m_item->setProperty("heightToClip", clipFrom - pos);
1314 } else {
1313 } else {
1315− context->setContextProperty(QStringLiteral("heightToClip"), QVariant::fromValue<int>(0));
1314+ item->m_item->setProperty("heightToClip", QVariant::fromValue<int>(0));
1316 }
1315 }
1317// qDebug() << "ListViewWithPageHeader::layout" << item->m_item;
1316// qDebug() << "ListViewWithPageHeader::layout" << item->m_item;
1318 pos += item->height();
1317 pos += item->height();
plugins/GlobalShortcut/GlobalShortcut.qmltypesdeleted−31
@@ -1,31 +0,0 @@
1−import QtQuick.tooling 1.1
2−
3−// This file describes the plugin-supplied types contained in the library.
4−// It is used for QML tooling purposes only.
5−//
6−// This file was auto-generated by:
7−// 'qmlplugindump -notrelocatable GlobalShortcut 1.0 plugins'
8−
9−Module {
10− Component {
11− name: "GlobalShortcut"
12− defaultProperty: "data"
13− prototype: "QQuickItem"
14− exports: ["GlobalShortcut/GlobalShortcut 1.0"]
15− exportMetaObjectRevisions: [0]
16− Property { name: "shortcut"; type: "QVariant" }
17− Property { name: "active"; type: "bool" }
18− Signal {
19− name: "shortcutChanged"
20− Parameter { name: "shortcut"; type: "QVariant" }
21− }
22− Signal {
23− name: "triggered"
24− Parameter { name: "shortcut"; type: "string" }
25− }
26− Signal {
27− name: "activeChanged"
28− Parameter { name: "active"; type: "bool" }
29− }
30− }
31−}
plugins/Greeter/Unity/Launcher/CMakeLists.txt+1−1
@@ -1,4 +1,4 @@
1−pkg_check_modules(LAUNCHER_API REQUIRED unity-shell-launcher=7)
1+pkg_check_modules(LAUNCHER_API REQUIRED unity-shell-launcher=9)
2pkg_check_modules(GSETTINGS_QT REQUIRED gsettings-qt)
2pkg_check_modules(GSETTINGS_QT REQUIRED gsettings-qt)
3
3
4add_definitions(-DSM_BUSNAME=systemBus)
4add_definitions(-DSM_BUSNAME=systemBus)
plugins/Greeter/Unity/Launcher/Launcher.qmltypesdeleted−182
@@ -1,182 +0,0 @@
1−import QtQuick.tooling 1.1
2−
3−// This file describes the plugin-supplied types contained in the library.
4−// It is used for QML tooling purposes only.
5−//
6−// This file was auto-generated by:
7−// 'qmlplugindump -notrelocatable Unity.Launcher 0.1 plugins/Greeter'
8−
9−Module {
10− Component {
11− name: "LauncherItem"
12− prototype: "unity::shell::launcher::LauncherItemInterface"
13− exports: ["Unity.Launcher/LauncherItem 0.1"]
14− isCreatable: false
15− exportMetaObjectRevisions: [0]
16− }
17− Component {
18− name: "LauncherModel"
19− prototype: "unity::shell::launcher::LauncherModelInterface"
20− exports: ["Unity.Launcher/LauncherModel 0.1"]
21− isCreatable: false
22− isSingleton: true
23− exportMetaObjectRevisions: [0]
24− Method {
25− name: "requestRemove"
26− Parameter { name: "appId"; type: "string" }
27− }
28− Method { name: "refresh" }
29− Method {
30− name: "get"
31− type: "unity::shell::launcher::LauncherItemInterface*"
32− Parameter { name: "index"; type: "int" }
33− }
34− Method {
35− name: "move"
36− Parameter { name: "oldIndex"; type: "int" }
37− Parameter { name: "newIndex"; type: "int" }
38− }
39− Method {
40− name: "pin"
41− Parameter { name: "appId"; type: "string" }
42− Parameter { name: "index"; type: "int" }
43− }
44− Method {
45− name: "pin"
46− Parameter { name: "appId"; type: "string" }
47− }
48− Method {
49− name: "quickListActionInvoked"
50− Parameter { name: "appId"; type: "string" }
51− Parameter { name: "actionIndex"; type: "int" }
52− }
53− Method {
54− name: "setUser"
55− Parameter { name: "username"; type: "string" }
56− }
57− Method {
58− name: "getUrlForAppId"
59− type: "string"
60− Parameter { name: "appId"; type: "string" }
61− }
62− }
63− Component {
64− name: "QuickListModel"
65− prototype: "unity::shell::launcher::QuickListModelInterface"
66− exports: ["Unity.Launcher/QuickListModel 0.1"]
67− isCreatable: false
68− exportMetaObjectRevisions: [0]
69− }
70− Component {
71− name: "unity::shell::launcher::LauncherItemInterface"
72− prototype: "QObject"
73− exports: ["Unity.Launcher/LauncherItemInterface 0.1"]
74− isCreatable: false
75− exportMetaObjectRevisions: [0]
76− Property { name: "appId"; type: "string"; isReadonly: true }
77− Property { name: "name"; type: "string"; isReadonly: true }
78− Property { name: "icon"; type: "string"; isReadonly: true }
79− Property { name: "pinned"; type: "bool"; isReadonly: true }
80− Property { name: "running"; type: "bool"; isReadonly: true }
81− Property { name: "recent"; type: "bool"; isReadonly: true }
82− Property { name: "progress"; type: "int"; isReadonly: true }
83− Property { name: "count"; type: "int"; isReadonly: true }
84− Property { name: "countVisible"; type: "bool"; isReadonly: true }
85− Property { name: "focused"; type: "bool"; isReadonly: true }
86− Property {
87− name: "quickList"
88− type: "unity::shell::launcher::QuickListModelInterface"
89− isReadonly: true
90− isPointer: true
91− }
92− Signal {
93− name: "nameChanged"
94− Parameter { name: "name"; type: "string" }
95− }
96− Signal {
97− name: "iconChanged"
98− Parameter { name: "icon"; type: "string" }
99− }
100− Signal {
101− name: "pinnedChanged"
102− Parameter { name: "pinned"; type: "bool" }
103− }
104− Signal {
105− name: "runningChanged"
106− Parameter { name: "running"; type: "bool" }
107− }
108− Signal {
109− name: "recentChanged"
110− Parameter { name: "running"; type: "bool" }
111− }
112− Signal {
113− name: "progressChanged"
114− Parameter { name: "progress"; type: "int" }
115− }
116− Signal {
117− name: "countChanged"
118− Parameter { name: "count"; type: "int" }
119− }
120− Signal {
121− name: "countVisibleChanged"
122− Parameter { name: "countVisible"; type: "bool" }
123− }
124− Signal {
125− name: "focusedChanged"
126− Parameter { name: "focused"; type: "bool" }
127− }
128− }
129− Component {
130− name: "unity::shell::launcher::LauncherModelInterface"
131− prototype: "QAbstractListModel"
132− exports: ["Unity.Launcher/LauncherModelInterface 0.1"]
133− isCreatable: false
134− exportMetaObjectRevisions: [0]
135− Property {
136− name: "applicationManager"
137− type: "unity::shell::application::ApplicationManagerInterface"
138− isPointer: true
139− }
140− Property { name: "onlyPinned"; type: "bool" }
141− Signal { name: "hint" }
142− Method {
143− name: "move"
144− Parameter { name: "oldIndex"; type: "int" }
145− Parameter { name: "newIndex"; type: "int" }
146− }
147− Method {
148− name: "get"
149− type: "unity::shell::launcher::LauncherItemInterface*"
150− Parameter { name: "index"; type: "int" }
151− }
152− Method {
153− name: "pin"
154− Parameter { name: "appId"; type: "string" }
155− Parameter { name: "index"; type: "int" }
156− }
157− Method {
158− name: "pin"
159− Parameter { name: "appId"; type: "string" }
160− }
161− Method {
162− name: "requestRemove"
163− Parameter { name: "appId"; type: "string" }
164− }
165− Method {
166− name: "quickListActionInvoked"
167− Parameter { name: "appId"; type: "string" }
168− Parameter { name: "actionIndex"; type: "int" }
169− }
170− Method {
171− name: "setUser"
172− Parameter { name: "username"; type: "string" }
173− }
174− }
175− Component {
176− name: "unity::shell::launcher::QuickListModelInterface"
177− prototype: "QAbstractListModel"
178− exports: ["Unity.Launcher/QuickListInterface 0.1"]
179− isCreatable: false
180− exportMetaObjectRevisions: [0]
181− }
182−}
plugins/Greeter/Unity/Launcher/launcheritem.cpp+14
@@ -32,6 +32,7 @@ LauncherItem::LauncherItem(const QString &appId, const QString &name, const QStr
32 m_countVisible(false),
32 m_countVisible(false),
33 m_focused(false),
33 m_focused(false),
34 m_alerting(false),
34 m_alerting(false),
35+ m_surfaceCount(0),
35 m_quickList(new QuickListModel(this))
36 m_quickList(new QuickListModel(this))
36{
37{
37 QuickListEntry nameAction;
38 QuickListEntry nameAction;
@@ -179,6 +180,19 @@ void LauncherItem::setAlerting(bool alerting)
179 }
180 }
180}
181}
181
182
183+int LauncherItem::surfaceCount() const
184+{
185+ return m_surfaceCount;
186+}
187+
188+void LauncherItem::setSurfaceCount(int surfaceCount)
189+{
190+ if (m_surfaceCount != surfaceCount) {
191+ m_surfaceCount = surfaceCount;
192+ Q_EMIT surfaceCountChanged(surfaceCount);
193+ }
194+}
195+
182unity::shell::launcher::QuickListModelInterface *LauncherItem::quickList() const
196unity::shell::launcher::QuickListModelInterface *LauncherItem::quickList() const
183{
197{
184 return m_quickList;
198 return m_quickList;
plugins/Greeter/Unity/Launcher/launcheritem.h+3−1
@@ -42,6 +42,7 @@ public:
42 bool countVisible() const override;
42 bool countVisible() const override;
43 bool focused() const override;
43 bool focused() const override;
44 bool alerting() const override;
44 bool alerting() const override;
45+ int surfaceCount() const override;
45
46
46 unity::shell::launcher::QuickListModelInterface *quickList() const override;
47 unity::shell::launcher::QuickListModelInterface *quickList() const override;
47
48
@@ -56,7 +57,7 @@ private:
56 void setCountVisible(bool countVisible);
57 void setCountVisible(bool countVisible);
57 void setFocused(bool focused);
58 void setFocused(bool focused);
58 void setAlerting(bool alerting);
59 void setAlerting(bool alerting);
59−
60+ void setSurfaceCount(int surfaceCount);
60
61
61private:
62private:
62 QString m_appId;
63 QString m_appId;
@@ -70,6 +71,7 @@ private:
70 bool m_countVisible;
71 bool m_countVisible;
71 bool m_focused;
72 bool m_focused;
72 bool m_alerting;
73 bool m_alerting;
74+ int m_surfaceCount;
73 QuickListModel *m_quickList;
75 QuickListModel *m_quickList;
74
76
75 friend class LauncherModel;
77 friend class LauncherModel;
plugins/Greeter/Unity/Launcher/launchermodelas.cpp+2−7
@@ -69,18 +69,13 @@ QVariant LauncherModel::data(const QModelIndex &index, int role) const
69 return item->focused();
69 return item->focused();
70 case RoleRunning:
70 case RoleRunning:
71 return item->running();
71 return item->running();
72+ case RoleSurfaceCount:
73+ return item->surfaceCount();
72 }
74 }
73
75
74 return QVariant();
76 return QVariant();
75}
77}
76
78
77−void LauncherModel::setAlerting(const QString &appId, bool alerting)
78−{
79− Q_UNUSED(appId)
80− Q_UNUSED(alerting)
81− qWarning() << "This is a read only implementation. Cannot set alert-state of items.";
82−}
83−
84unity::shell::launcher::LauncherItemInterface *LauncherModel::get(int index) const
79unity::shell::launcher::LauncherItemInterface *LauncherModel::get(int index) const
85{
80{
86 if (index < 0 || index >= m_list.count()) {
81 if (index < 0 || index >= m_list.count()) {
plugins/Greeter/Unity/Launcher/launchermodelas.h−1
@@ -41,7 +41,6 @@ public:
41
41
42 QVariant data(const QModelIndex &index, int role) const override;
42 QVariant data(const QModelIndex &index, int role) const override;
43
43
44− Q_INVOKABLE void setAlerting(const QString &appId, bool alerting) override;
45 Q_INVOKABLE unity::shell::launcher::LauncherItemInterface* get(int index) const override;
44 Q_INVOKABLE unity::shell::launcher::LauncherItemInterface* get(int index) const override;
46 Q_INVOKABLE void move(int oldIndex, int newIndex) override;
45 Q_INVOKABLE void move(int oldIndex, int newIndex) override;
47 Q_INVOKABLE void pin(const QString &appId, int index = -1) override;
46 Q_INVOKABLE void pin(const QString &appId, int index = -1) override;
plugins/IntegratedLightDM/IntegratedLightDM.qmltypesdeleted−251
@@ -1,251 +0,0 @@
1−import QtQuick.tooling 1.1
2−
3−// This file describes the plugin-supplied types contained in the library.
4−// It is used for QML tooling purposes only.
5−//
6−// This file was auto-generated by:
7−// 'qmlplugindump -notrelocatable LightDM 0.1 plugins'
8−
9−Module {
10− Component {
11− name: "Greeter"
12− prototype: "QObject"
13− exports: ["LightDM/Greeter 0.1"]
14− isCreatable: false
15− isSingleton: true
16− exportMetaObjectRevisions: [0]
17− Property { name: "active"; type: "bool" }
18− Property { name: "authenticated"; type: "bool"; isReadonly: true }
19− Property { name: "authenticationUser"; type: "string"; isReadonly: true }
20− Property { name: "promptless"; type: "bool"; isReadonly: true }
21− Signal {
22− name: "showMessage"
23− Parameter { name: "text"; type: "string" }
24− Parameter { name: "isError"; type: "bool" }
25− }
26− Signal {
27− name: "showPrompt"
28− Parameter { name: "text"; type: "string" }
29− Parameter { name: "isSecret"; type: "bool" }
30− Parameter { name: "isDefaultPrompt"; type: "bool" }
31− }
32− Signal { name: "authenticationComplete" }
33− Signal {
34− name: "authenticationUserChanged"
35− Parameter { name: "user"; type: "string" }
36− }
37− Signal { name: "isActiveChanged" }
38− Signal { name: "isAuthenticatedChanged" }
39− Signal { name: "showGreeter" }
40− Signal { name: "hideGreeter" }
41− Signal {
42− name: "requestAuthenticationUser"
43− Parameter { name: "user"; type: "string" }
44− }
45− Method {
46− name: "authenticate"
47− Parameter { name: "username"; type: "string" }
48− }
49− Method { name: "authenticate" }
50− Method {
51− name: "respond"
52− Parameter { name: "response"; type: "string" }
53− }
54− Method {
55− name: "startSessionSync"
56− type: "bool"
57− Parameter { name: "session"; type: "string" }
58− }
59− Method { name: "startSessionSync"; type: "bool" }
60− Method {
61− name: "setIsActive"
62− Parameter { name: "isActive"; type: "bool" }
63− }
64− }
65− Component {
66− name: "QAbstractProxyModel"
67− prototype: "QAbstractItemModel"
68− Property { name: "sourceModel"; type: "QAbstractItemModel"; isPointer: true }
69− }
70− Component {
71− name: "QLightDM::UsersModel"
72− prototype: "QAbstractListModel"
73− exports: ["LightDM/UserRoles 0.1"]
74− isCreatable: false
75− exportMetaObjectRevisions: [0]
76− Enum {
77− name: "UserModelRoles"
78− values: {
79− "NameRole": 256,
80− "RealNameRole": 257,
81− "LoggedInRole": 258,
82− "BackgroundRole": 259,
83− "SessionRole": 260,
84− "HasMessagesRole": 261,
85− "ImagePathRole": 262,
86− "BackgroundPathRole": 263
87− }
88− }
89− }
90− Component {
91− name: "QSortFilterProxyModel"
92− prototype: "QAbstractProxyModel"
93− Property { name: "filterRegExp"; type: "QRegExp" }
94− Property { name: "filterKeyColumn"; type: "int" }
95− Property { name: "dynamicSortFilter"; type: "bool" }
96− Property { name: "filterCaseSensitivity"; type: "Qt::CaseSensitivity" }
97− Property { name: "sortCaseSensitivity"; type: "Qt::CaseSensitivity" }
98− Property { name: "isSortLocaleAware"; type: "bool" }
99− Property { name: "sortRole"; type: "int" }
100− Property { name: "filterRole"; type: "int" }
101− Method {
102− name: "setFilterRegExp"
103− Parameter { name: "pattern"; type: "string" }
104− }
105− Method {
106− name: "setFilterWildcard"
107− Parameter { name: "pattern"; type: "string" }
108− }
109− Method {
110− name: "setFilterFixedString"
111− Parameter { name: "pattern"; type: "string" }
112− }
113− Method { name: "clear" }
114− Method { name: "invalidate" }
115− }
116− Component {
117− name: "UnitySortFilterProxyModelQML"
118− prototype: "QSortFilterProxyModel"
119− Property { name: "model"; type: "QAbstractItemModel"; isPointer: true }
120− Property { name: "totalCount"; type: "int"; isReadonly: true }
121− Property { name: "count"; type: "int"; isReadonly: true }
122− Property { name: "invertMatch"; type: "bool" }
123− Signal {
124− name: "invertMatchChanged"
125− Parameter { type: "bool" }
126− }
127− Method {
128− name: "get"
129− type: "QVariantMap"
130− Parameter { name: "row"; type: "int" }
131− }
132− Method {
133− name: "data"
134− type: "QVariant"
135− Parameter { name: "row"; type: "int" }
136− Parameter { name: "role"; type: "int" }
137− }
138− Method { name: "count"; type: "int" }
139− Method {
140− name: "findFirst"
141− type: "int"
142− Parameter { name: "role"; type: "int" }
143− Parameter { name: "value"; type: "QVariant" }
144− }
145− Method {
146− name: "mapRowToSource"
147− type: "int"
148− Parameter { name: "row"; type: "int" }
149− }
150− Method {
151− name: "mapFromSource"
152− type: "int"
153− Parameter { name: "row"; type: "int" }
154− }
155− Method {
156− name: "mapToSource"
157− type: "int"
158− Parameter { name: "row"; type: "int" }
159− }
160− }
161− Component {
162− name: "UserMetricsOutput::ColorTheme"
163− prototype: "QObject"
164− Property { name: "start"; type: "QColor"; isReadonly: true }
165− Property { name: "main"; type: "QColor"; isReadonly: true }
166− Property { name: "end"; type: "QColor"; isReadonly: true }
167− Signal {
168− name: "startChanged"
169− Parameter { name: "color"; type: "QColor" }
170− }
171− Signal {
172− name: "mainChanged"
173− Parameter { name: "color"; type: "QColor" }
174− }
175− Signal {
176− name: "endChanged"
177− Parameter { name: "color"; type: "QColor" }
178− }
179− }
180− Component {
181− name: "UserMetricsOutput::UserMetrics"
182− prototype: "QObject"
183− exports: ["LightDM/Infographic 0.1"]
184− isCreatable: false
185− isSingleton: true
186− exportMetaObjectRevisions: [0]
187− Property { name: "label"; type: "string"; isReadonly: true }
188− Property { name: "username"; type: "string" }
189− Property {
190− name: "firstColor"
191− type: "UserMetricsOutput::ColorTheme"
192− isReadonly: true
193− isPointer: true
194− }
195− Property {
196− name: "secondColor"
197− type: "UserMetricsOutput::ColorTheme"
198− isReadonly: true
199− isPointer: true
200− }
201− Property { name: "firstMonth"; type: "QAbstractItemModel"; isReadonly: true; isPointer: true }
202− Property { name: "secondMonth"; type: "QAbstractItemModel"; isReadonly: true; isPointer: true }
203− Property { name: "currentDay"; type: "int"; isReadonly: true }
204− Signal {
205− name: "labelChanged"
206− Parameter { name: "label"; type: "string" }
207− }
208− Signal {
209− name: "usernameChanged"
210− Parameter { name: "username"; type: "string" }
211− }
212− Signal {
213− name: "firstColorChanged"
214− Parameter { name: "color"; type: "ColorTheme"; isPointer: true }
215− }
216− Signal {
217− name: "firstMonthChanged"
218− Parameter { name: "firstMonth"; type: "QAbstractItemModel"; isPointer: true }
219− }
220− Signal {
221− name: "currentDayChanged"
222− Parameter { name: "currentDay"; type: "int" }
223− }
224− Signal {
225− name: "secondColorChanged"
226− Parameter { name: "color"; type: "ColorTheme"; isPointer: true }
227− }
228− Signal {
229− name: "secondMonthChanged"
230− Parameter { name: "secondMonth"; type: "QAbstractItemModel"; isPointer: true }
231− }
232− Signal { name: "nextDataSource" }
233− Signal { name: "readyForDataChange" }
234− Signal { name: "dataAboutToAppear" }
235− Signal { name: "dataAppeared" }
236− Signal { name: "dataAboutToChange" }
237− Signal { name: "dataChanged" }
238− Signal { name: "dataAboutToDisappear" }
239− Signal { name: "dataDisappeared" }
240− Method { name: "nextDataSourceSlot" }
241− Method { name: "readyForDataChangeSlot" }
242− }
243− Component {
244− name: "UsersModel"
245− prototype: "UnitySortFilterProxyModelQML"
246− exports: ["LightDM/Users 0.1"]
247− isCreatable: false
248− isSingleton: true
249− exportMetaObjectRevisions: [0]
250− }
251−}
plugins/Lights/Lights.qmltypesdeleted−45
@@ -1,45 +0,0 @@
1−import QtQuick.tooling 1.1
2−
3−// This file describes the plugin-supplied types contained in the library.
4−// It is used for QML tooling purposes only.
5−//
6−// This file was auto-generated by:
7−// 'qmlplugindump -notrelocatable Lights 0.1 plugins'
8−
9−Module {
10− Component {
11− name: "Lights"
12− prototype: "QObject"
13− exports: ["Lights/Lights 0.1"]
14− isCreatable: false
15− isSingleton: true
16− exportMetaObjectRevisions: [0]
17− Enum {
18− name: "State"
19− values: {
20− "Off": 0,
21− "On": 1
22− }
23− }
24− Property { name: "state"; type: "State" }
25− Property { name: "color"; type: "QColor" }
26− Property { name: "onMillisec"; type: "int" }
27− Property { name: "offMillisec"; type: "int" }
28− Signal {
29− name: "stateChanged"
30− Parameter { name: "newState"; type: "State" }
31− }
32− Signal {
33− name: "colorChanged"
34− Parameter { name: "color"; type: "QColor" }
35− }
36− Signal {
37− name: "onMillisecChanged"
38− Parameter { name: "onMs"; type: "int" }
39− }
40− Signal {
41− name: "offMillisecChanged"
42− Parameter { name: "offMs"; type: "int" }
43− }
44− }
45−}
plugins/Powerd/Powerd.qmltypesdeleted−39
@@ -1,39 +0,0 @@
1−import QtQuick.tooling 1.1
2−
3−// This file describes the plugin-supplied types contained in the library.
4−// It is used for QML tooling purposes only.
5−//
6−// This file was auto-generated by:
7−// 'qmlplugindump -notrelocatable Powerd 0.1 plugins'
8−
9−Module {
10− Component {
11− name: "Powerd"
12− prototype: "QObject"
13− exports: ["Powerd/Powerd 0.1"]
14− isCreatable: false
15− isSingleton: true
16− exportMetaObjectRevisions: [0]
17− Enum {
18− name: "DisplayStateChangeReason"
19− values: {
20− "Unknown": 0,
21− "Inactivity": 1,
22− "PowerKey": 2,
23− "Proximity": 3
24− }
25− }
26− Enum {
27− name: "Status"
28− values: {
29− "Off": 0,
30− "On": 1
31− }
32− }
33− Property { name: "status"; type: "Status"; isReadonly: true }
34− Signal {
35− name: "statusChanged"
36− Parameter { name: "reason"; type: "DisplayStateChangeReason" }
37− }
38− }
39−}
plugins/SessionBroadcast/SessionBroadcast.qmltypesdeleted−19
@@ -1,19 +0,0 @@
1−import QtQuick.tooling 1.1
2−
3−// This file describes the plugin-supplied types contained in the library.
4−// It is used for QML tooling purposes only.
5−//
6−// This file was auto-generated by:
7−// 'qmlplugindump -notrelocatable SessionBroadcast 0.1 plugins'
8−
9−Module {
10− Component {
11− name: "SessionBroadcast"
12− prototype: "QObject"
13− exports: ["SessionBroadcast/SessionBroadcast 0.1"]
14− isCreatable: false
15− isSingleton: true
16− exportMetaObjectRevisions: [0]
17− Signal { name: "showHome" }
18− }
19−}
plugins/UInput/UInput.qmltypesdeleted−44
@@ -1,44 +0,0 @@
1−import QtQuick.tooling 1.1
2−
3−// This file describes the plugin-supplied types contained in the library.
4−// It is used for QML tooling purposes only.
5−//
6−// This file was auto-generated by:
7−// 'qmlplugindump -notrelocatable UInput 0.1 plugins'
8−
9−Module {
10− Component {
11− name: "UInput"
12− prototype: "QObject"
13− exports: ["UInput/UInput 0.1"]
14− exportMetaObjectRevisions: [0]
15− Enum {
16− name: "Button"
17− values: {
18− "ButtonLeft": 0,
19− "ButtonRight": 1,
20− "ButtonMiddle": 2
21− }
22− }
23− Method { name: "createMouse" }
24− Method { name: "removeMouse" }
25− Method {
26− name: "moveMouse"
27− Parameter { name: "dx"; type: "int" }
28− Parameter { name: "dy"; type: "int" }
29− }
30− Method {
31− name: "pressMouse"
32− Parameter { name: "button"; type: "Button" }
33− }
34− Method {
35− name: "releaseMouse"
36− Parameter { name: "button"; type: "Button" }
37− }
38− Method {
39− name: "scrollMouse"
40− Parameter { name: "dh"; type: "int" }
41− Parameter { name: "dv"; type: "int" }
42− }
43− }
44−}
plugins/Ubuntu/DownloadDaemonListener/DownloadDaemonListener.qmltypesdeleted−60
@@ -1,60 +0,0 @@
1−import QtQuick.tooling 1.1
2−
3−// This file describes the plugin-supplied types contained in the library.
4−// It is used for QML tooling purposes only.
5−//
6−// This file was auto-generated by:
7−// 'qmlplugindump -notrelocatable Ubuntu.DownloadDaemonListener 0.1 plugins'
8−
9−Module {
10− Component {
11− name: "DownloadTracker"
12− prototype: "QObject"
13− exports: ["Ubuntu.DownloadDaemonListener/DownloadTracker 0.1"]
14− exportMetaObjectRevisions: [0]
15− Property { name: "service"; type: "string" }
16− Property { name: "dbusPath"; type: "string" }
17− Property { name: "serviceReady"; type: "bool"; isReadonly: true }
18− Signal {
19− name: "serviceChanged"
20− Parameter { name: "service"; type: "string" }
21− }
22− Signal {
23− name: "dbusPathChanged"
24− Parameter { name: "dbusPath"; type: "string" }
25− }
26− Signal {
27− name: "serviceReadyChanged"
28− Parameter { name: "serviceReady"; type: "bool" }
29− }
30− Signal {
31− name: "canceled"
32− Parameter { name: "success"; type: "bool" }
33− }
34− Signal {
35− name: "error"
36− Parameter { name: "error"; type: "string" }
37− }
38− Signal {
39− name: "finished"
40− Parameter { name: "path"; type: "string" }
41− }
42− Signal {
43− name: "paused"
44− Parameter { name: "success"; type: "bool" }
45− }
46− Signal {
47− name: "progress"
48− Parameter { name: "received"; type: "qulonglong" }
49− Parameter { name: "total"; type: "qulonglong" }
50− }
51− Signal {
52− name: "resumed"
53− Parameter { name: "success"; type: "bool" }
54− }
55− Signal {
56− name: "started"
57− Parameter { name: "success"; type: "bool" }
58− }
59− }
60−}
plugins/Ubuntu/Gestures/AxisVelocityCalculator.h+1−1
@@ -24,7 +24,7 @@
24#include "UbuntuGesturesQmlGlobal.h"
24#include "UbuntuGesturesQmlGlobal.h"
25#include <stdint.h>
25#include <stdint.h>
26#include <QtCore/QObject>
26#include <QtCore/QObject>
27−#include "TimeSource.h"
27+#include <TimeSource>
28
28
29/*
29/*
30 Estimates the current velocity of a finger based on recent movement along an axis
30 Estimates the current velocity of a finger based on recent movement along an axis
plugins/Ubuntu/Gestures/CMakeLists.txt+5−5
@@ -4,27 +4,27 @@ remove_definitions(-DQT_NO_KEYWORDS)
4set(UbuntuGesturesQml_SOURCES
4set(UbuntuGesturesQml_SOURCES
5 plugin.cpp
5 plugin.cpp
6 AxisVelocityCalculator.cpp
6 AxisVelocityCalculator.cpp
7− Damper.cpp
8 Direction.cpp
7 Direction.cpp
9− DirectionalDragArea.cpp
8+ MouseEventGenerator.cpp
10− FloatingFlickable.cpp
11 PressedOutsideNotifier.cpp
9 PressedOutsideNotifier.cpp
12 TouchDispatcher.cpp
10 TouchDispatcher.cpp
13 TouchGate.cpp
11 TouchGate.cpp
14 TouchGestureArea.cpp
12 TouchGestureArea.cpp
15)
13)
16
14
15+pkg_check_modules(UBUNTUGESTURES REQUIRED UbuntuGestures)
16+
17add_definitions(-DUBUNTUGESTURESQML_LIBRARY)
17add_definitions(-DUBUNTUGESTURESQML_LIBRARY)
18
18
19add_library(UbuntuGesturesQml MODULE ${UbuntuGesturesQml_SOURCES})
19add_library(UbuntuGesturesQml MODULE ${UbuntuGesturesQml_SOURCES})
20−target_link_libraries(UbuntuGesturesQml UbuntuGestures)
20+target_link_libraries(UbuntuGesturesQml ${UBUNTUGESTURES_LIBRARIES})
21
21
22qt5_use_modules(UbuntuGesturesQml Core Quick)
22qt5_use_modules(UbuntuGesturesQml Core Quick)
23
23
24# So that Foo.cpp can #include "Foo.moc"
24# So that Foo.cpp can #include "Foo.moc"
25include_directories(${CMAKE_CURRENT_BINARY_DIR})
25include_directories(${CMAKE_CURRENT_BINARY_DIR})
26
26
27−include_directories(${CMAKE_SOURCE_DIR}/libs/UbuntuGestures)
27+include_directories(${UBUNTUGESTURES_INCLUDE_DIRS})
28
28
29# There's no cmake var for v8 include path :-/ so create one
29# There's no cmake var for v8 include path :-/ so create one
30LIST(GET Qt5Core_INCLUDE_DIRS 0 QtCoreDir0)
30LIST(GET Qt5Core_INCLUDE_DIRS 0 QtCoreDir0)
plugins/Ubuntu/Gestures/Damper.cppdeleted−24
@@ -1,24 +0,0 @@
1−/*
2− * Copyright (C) 2015 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−#include "Damper.h"
18−#include <QDebug>
19−
20−QDebug operator<<(QDebug dbg, const DampedPointF &p)
21−{
22− dbg.nospace() << "(" << p.x() << ", " << p.y() << ")";
23− return dbg.space();
24−}
plugins/Ubuntu/Gestures/Damper.hdeleted−89
@@ -1,89 +0,0 @@
1−/*
2− * Copyright (C) 2013 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU 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 UBUNTU_GESTURES_DAMPER_H
18−#define UBUNTU_GESTURES_DAMPER_H
19−
20−#include <QtCore/QPointF>
21−
22−/*
23− Decreases the oscillations of a value along an axis.
24− */
25−template <class Type> class Damper {
26−public:
27− Damper() : m_value(0), m_maxDelta(0) { }
28−
29− // Maximum delta between the raw value and its dampened counterpart.
30− void setMaxDelta(Type maxDelta) {
31− if (maxDelta < 0) qFatal("Damper::maxDelta must be a positive number.");
32− m_maxDelta = maxDelta;
33− }
34− Type maxDelta() const { return m_maxDelta; }
35−
36− void reset(Type value) {
37− m_value = value;
38− }
39−
40− Type update(Type value) {
41− Type delta = value - m_value;
42− if (delta > 0 && delta > m_maxDelta) {
43− m_value += delta - m_maxDelta;
44− } else if (delta < 0 && delta < -m_maxDelta) {
45− m_value += delta + m_maxDelta;
46− }
47−
48− return m_value;
49− }
50−
51− Type value() const { return m_value; }
52−
53−private:
54− Type m_value;
55− Type m_maxDelta;
56−};
57−
58−/*
59− A point that has its movement dampened.
60− */
61−class DampedPointF {
62−public:
63− void setMaxDelta(qreal maxDelta) {
64− m_x.setMaxDelta(maxDelta);
65− m_y.setMaxDelta(maxDelta);
66− }
67−
68− qreal maxDelta() const { return m_x.maxDelta(); }
69−
70− void reset(const QPointF point) {
71− m_x.reset(point.x());
72− m_y.reset(point.y());
73− }
74−
75− void update(const QPointF point) {
76− m_x.update(point.x());
77− m_y.update(point.y());
78− }
79−
80− qreal x() const { return m_x.value(); }
81− qreal y() const { return m_y.value(); }
82−private:
83− Damper<qreal> m_x;
84− Damper<qreal> m_y;
85−};
86−
87−QDebug operator<<(QDebug dbg, const DampedPointF &p);
88−
89−#endif // UBUNTU_GESTURES_DAMPER_H
plugins/Ubuntu/Gestures/Direction.h+1
@@ -29,6 +29,7 @@ class UBUNTUGESTURESQML_EXPORT Direction : public QObject {
29 Q_ENUMS(Type)
29 Q_ENUMS(Type)
30
30
31public:
31public:
32+ // Make sure it is kept synchronized with SDK UCSwipeArea::Direction
32 enum Type {
33 enum Type {
33 Rightwards, // Along the positive direction of the X axis
34 Rightwards, // Along the positive direction of the X axis
34 Leftwards, // Along the negative direction of the X axis
35 Leftwards, // Along the negative direction of the X axis
plugins/Ubuntu/Gestures/DirectionalDragArea.cppdeleted−932
@@ -1,932 +0,0 @@
1−/*
2− * Copyright (C) 2013-2015 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−#define ACTIVETOUCHESINFO_DEBUG 0
18−#define DIRECTIONALDRAGAREA_DEBUG 0
19−
20−#include "DirectionalDragArea.h"
21−
22−#include <QQuickWindow>
23−#include <QtCore/qmath.h>
24−#include <QScreen>
25−#include <QDebug>
26−
27−#pragma GCC diagnostic push
28−#pragma GCC diagnostic ignored "-pedantic"
29−#include <private/qquickwindow_p.h>
30−#pragma GCC diagnostic pop
31−
32−// local
33−#include "TouchOwnershipEvent.h"
34−#include "TouchRegistry.h"
35−#include "UnownedTouchEvent.h"
36−
37−#include "DirectionalDragArea_p.h"
38−
39−using namespace UbuntuGestures;
40−
41−#if DIRECTIONALDRAGAREA_DEBUG
42−#define ddaDebug(params) qDebug().nospace() << "[DDA(" << qPrintable(objectName()) << ")] " << params
43−#include "DebugHelpers.h"
44−
45−namespace {
46−const char *statusToString(DirectionalDragAreaPrivate::Status status)
47−{
48− if (status == DirectionalDragAreaPrivate::WaitingForTouch) {
49− return "WaitingForTouch";
50− } else if (status == DirectionalDragAreaPrivate::Undecided) {
51− return "Undecided";
52− } else {
53− return "Recognized";
54− }
55−}
56−
57−} // namespace {
58−#else // DIRECTIONALDRAGAREA_DEBUG
59−#define ddaDebug(params) ((void)0)
60−#endif // DIRECTIONALDRAGAREA_DEBUG
61−
62−DirectionalDragArea::DirectionalDragArea(QQuickItem *parent)
63− : QQuickItem(parent)
64− , d(new DirectionalDragAreaPrivate(this))
65−{
66− d->setRecognitionTimer(new Timer(this));
67− d->recognitionTimer->setInterval(d->maxTime);
68− d->recognitionTimer->setSingleShot(true);
69−
70− connect(this, &QQuickItem::enabledChanged, d, &DirectionalDragAreaPrivate::giveUpIfDisabledOrInvisible);
71− connect(this, &QQuickItem::visibleChanged, d, &DirectionalDragAreaPrivate::giveUpIfDisabledOrInvisible);
72−}
73−
74−Direction::Type DirectionalDragArea::direction() const
75−{
76− return d->direction;
77−}
78−
79−void DirectionalDragArea::setDirection(Direction::Type direction)
80−{
81− if (direction != d->direction) {
82− d->direction = direction;
83− Q_EMIT directionChanged(d->direction);
84− }
85−}
86−
87−void DirectionalDragAreaPrivate::setDistanceThreshold(qreal value)
88−{
89− if (distanceThreshold != value) {
90− distanceThreshold = value;
91− distanceThresholdSquared = distanceThreshold * distanceThreshold;
92− }
93−}
94−
95−void DirectionalDragAreaPrivate::setMaxTime(int value)
96−{
97− if (maxTime != value) {
98− maxTime = value;
99− recognitionTimer->setInterval(maxTime);
100− }
101−}
102−
103−void DirectionalDragAreaPrivate::setRecognitionTimer(UbuntuGestures::AbstractTimer *timer)
104−{
105− int interval = 0;
106− bool timerWasRunning = false;
107− bool wasSingleShot = false;
108−
109− // can be null when called from the constructor
110− if (recognitionTimer) {
111− interval = recognitionTimer->interval();
112− timerWasRunning = recognitionTimer->isRunning();
113− if (recognitionTimer->parent() == this) {
114− delete recognitionTimer;
115− }
116− }
117−
118− recognitionTimer = timer;
119− timer->setInterval(interval);
120− timer->setSingleShot(wasSingleShot);
121− connect(timer, &UbuntuGestures::AbstractTimer::timeout,
122− this, &DirectionalDragAreaPrivate::rejectGesture);
123− if (timerWasRunning) {
124− recognitionTimer->start();
125− }
126−}
127−
128−void DirectionalDragAreaPrivate::setTimeSource(const SharedTimeSource &timeSource)
129−{
130− this->timeSource = timeSource;
131− activeTouches.m_timeSource = timeSource;
132−}
133−
134−qreal DirectionalDragArea::distance() const
135−{
136− if (Direction::isHorizontal(d->direction)) {
137− return d->publicPos.x() - d->startPos.x();
138− } else {
139− return d->publicPos.y() - d->startPos.y();
140− }
141−}
142−
143−void DirectionalDragAreaPrivate::updateSceneDistance()
144−{
145− QPointF totalMovement = publicScenePos - startScenePos;
146− sceneDistance = projectOntoDirectionVector(totalMovement);
147−}
148−
149−qreal DirectionalDragArea::sceneDistance() const
150−{
151− return d->sceneDistance;
152−}
153−
154−qreal DirectionalDragArea::touchX() const
155−{
156− return d->publicPos.x();
157−}
158−
159−qreal DirectionalDragArea::touchY() const
160−{
161− return d->publicPos.y();
162−}
163−
164−qreal DirectionalDragArea::touchSceneX() const
165−{
166− return d->publicScenePos.x();
167−}
168−
169−qreal DirectionalDragArea::touchSceneY() const
170−{
171− return d->publicScenePos.y();
172−}
173−
174−bool DirectionalDragArea::dragging() const
175−{
176− return d->status == DirectionalDragAreaPrivate::Recognized;
177−}
178−
179−bool DirectionalDragArea::pressed() const
180−{
181− return d->status != DirectionalDragAreaPrivate::WaitingForTouch;
182−}
183−
184−bool DirectionalDragArea::immediateRecognition() const
185−{
186− return d->immediateRecognition;
187−}
188−
189−void DirectionalDragArea::setImmediateRecognition(bool enabled)
190−{
191− if (d->immediateRecognition != enabled) {
192− d->immediateRecognition = enabled;
193− Q_EMIT immediateRecognitionChanged(enabled);
194− }
195−}
196−
197−bool DirectionalDragArea::monitorOnly() const
198−{
199− return d->monitorOnly;
200−}
201−
202−void DirectionalDragArea::setMonitorOnly(bool monitorOnly)
203−{
204− if (d->monitorOnly != monitorOnly) {
205− d->monitorOnly = monitorOnly;
206−
207− if (monitorOnly && d->status == DirectionalDragAreaPrivate::Undecided) {
208− TouchRegistry::instance()->removeCandidateOwnerForTouch(d->touchId, this);
209− // We still wanna know when it ends for keeping the composition time window up-to-date
210− TouchRegistry::instance()->addTouchWatcher(d->touchId, this);
211− }
212−
213− Q_EMIT monitorOnlyChanged(monitorOnly);
214− }
215−}
216−
217−void DirectionalDragArea::removeTimeConstraints()
218−{
219− d->setMaxTime(60 * 60 * 1000);
220− d->compositionTime = 0;
221− ddaDebug("removed time constraints");
222−}
223−
224−bool DirectionalDragArea::event(QEvent *event)
225−{
226− if (event->type() == TouchOwnershipEvent::touchOwnershipEventType()) {
227− d->touchOwnershipEvent(static_cast<TouchOwnershipEvent *>(event));
228− return true;
229− } else if (event->type() == UnownedTouchEvent::unownedTouchEventType()) {
230− d->unownedTouchEvent(static_cast<UnownedTouchEvent *>(event));
231− return true;
232− } else {
233− return QQuickItem::event(event);
234− }
235−}
236−
237−void DirectionalDragAreaPrivate::touchOwnershipEvent(TouchOwnershipEvent *event)
238−{
239− if (event->gained()) {
240− QVector<int> ids;
241− ids.append(event->touchId());
242− ddaDebug("grabbing touch");
243− q->grabTouchPoints(ids);
244−
245− // Work around for Qt bug. If we grab a touch that is being used for mouse pointer
246− // emulation it will cause the emulation logic to go nuts.
247− // Thus we have to also grab the mouse in this case.
248− //
249− // The fix for this bug has landed in Qt 5.4 (https://codereview.qt-project.org/96887)
250− // TODO: Remove this workaround once we start using Qt 5.4
251− if (q->window()) {
252− QQuickWindowPrivate *windowPrivate = QQuickWindowPrivate::get(q->window());
253− if (windowPrivate->touchMouseId == event->touchId() && q->window()->mouseGrabberItem()) {
254− ddaDebug("removing mouse grabber");
255− q->window()->mouseGrabberItem()->ungrabMouse();
256− }
257− }
258− } else {
259− // We still wanna know when it ends for keeping the composition time window up-to-date
260− TouchRegistry::instance()->addTouchWatcher(touchId, q);
261−
262− setStatus(WaitingForTouch);
263− }
264−}
265−
266−void DirectionalDragAreaPrivate::unownedTouchEvent(UnownedTouchEvent *unownedTouchEvent)
267−{
268− QTouchEvent *event = unownedTouchEvent->touchEvent();
269−
270− Q_ASSERT(!event->touchPointStates().testFlag(Qt::TouchPointPressed));
271−
272− ddaDebug("Unowned " << timeSource->msecsSinceReference() << " " << qPrintable(touchEventToString(event)));
273−
274− switch (status) {
275− case WaitingForTouch:
276− // do nothing
277− break;
278− case Undecided:
279− Q_ASSERT(q->isEnabled() && q->isVisible());
280− unownedTouchEvent_undecided(unownedTouchEvent);
281− break;
282− default: // Recognized:
283− if (monitorOnly) {
284− // Treat unowned event as if we owned it, but we are really just watching it
285− touchEvent_recognized(event);
286− }
287− break;
288− }
289−
290− activeTouches.update(event);
291−}
292−
293−void DirectionalDragAreaPrivate::unownedTouchEvent_undecided(UnownedTouchEvent *unownedTouchEvent)
294−{
295− const QTouchEvent::TouchPoint *touchPoint = fetchTargetTouchPoint(unownedTouchEvent->touchEvent());
296− if (!touchPoint) {
297− qCritical() << "DirectionalDragArea[status=Undecided]: touch " << touchId
298− << "missing from UnownedTouchEvent without first reaching state Qt::TouchPointReleased. "
299− "Considering it as released.";
300−
301− TouchRegistry::instance()->removeCandidateOwnerForTouch(touchId, q);
302− setStatus(WaitingForTouch);
303− return;
304− }
305−
306− const QPointF &touchScenePos = touchPoint->scenePos();
307−
308− if (touchPoint->state() == Qt::TouchPointReleased) {
309− // touch has ended before recognition concluded
310− ddaDebug("Touch has ended before recognition concluded");
311− TouchRegistry::instance()->removeCandidateOwnerForTouch(touchId, q);
312− setStatus(WaitingForTouch);
313− return;
314− }
315−
316− previousDampedScenePos.setX(dampedScenePos.x());
317− previousDampedScenePos.setY(dampedScenePos.y());
318− dampedScenePos.update(touchScenePos);
319−
320− if (!movingInRightDirection()) {
321− ddaDebug("Rejecting gesture because touch point is moving in the wrong direction.");
322− TouchRegistry::instance()->removeCandidateOwnerForTouch(touchId, q);
323− // We still wanna know when it ends for keeping the composition time window up-to-date
324− TouchRegistry::instance()->addTouchWatcher(touchId, q);
325− setStatus(WaitingForTouch);
326− return;
327− }
328−
329− if (isWithinTouchCompositionWindow()) {
330− // There's still time for some new touch to appear and ruin our party as it would be combined
331− // with our touchId one and therefore deny the possibility of a single-finger gesture.
332− ddaDebug("Sill within composition window. Let's wait more.");
333− return;
334− }
335−
336− if (movedFarEnoughAlongGestureAxis()) {
337− if (!monitorOnly) {
338− TouchRegistry::instance()->requestTouchOwnership(touchId, q);
339− }
340− setStatus(Recognized);
341− setPublicPos(touchPoint->pos());
342− setPublicScenePos(touchScenePos);
343− } else if (isPastMaxDistance()) {
344− ddaDebug("Rejecting gesture because it went farther than maxDistance without getting recognized.");
345− TouchRegistry::instance()->removeCandidateOwnerForTouch(touchId, q);
346− // We still wanna know when it ends for keeping the composition time window up-to-date
347− TouchRegistry::instance()->addTouchWatcher(touchId, q);
348− setStatus(WaitingForTouch);
349− } else {
350− ddaDebug("Didn't move far enough yet. Let's wait more.");
351− }
352−}
353−
354−void DirectionalDragArea::touchEvent(QTouchEvent *event)
355−{
356− // TODO: Consider when more than one touch starts in the same event (although it's not possible
357− // with Mir's android-input). Have to track them all. Consider it a plus/bonus.
358−
359− ddaDebug(d->timeSource->msecsSinceReference() << " " << qPrintable(touchEventToString(event)));
360−
361− if (!isEnabled() || !isVisible()) {
362− QQuickItem::touchEvent(event);
363− return;
364− }
365−
366− switch (d->status) {
367− case DirectionalDragAreaPrivate::WaitingForTouch:
368− d->touchEvent_absent(event);
369− break;
370− case DirectionalDragAreaPrivate::Undecided:
371− d->touchEvent_undecided(event);
372− break;
373− default: // Recognized:
374− d->touchEvent_recognized(event);
375− break;
376− }
377−
378− d->activeTouches.update(event);
379−}
380−
381−void DirectionalDragAreaPrivate::touchEvent_absent(QTouchEvent *event)
382−{
383− // TODO: accept/reject is for the whole event, not per touch id. See how that affects us.
384−
385− if (!event->touchPointStates().testFlag(Qt::TouchPointPressed)) {
386− // Nothing to see here. No touch starting in this event.
387− return;
388− }
389−
390− // to be proven wrong, if that's the case
391− bool allGood = true;
392−
393− if (isWithinTouchCompositionWindow()) {
394− // too close to the last touch start. So we consider them as starting roughly at the same time.
395− // Can't be a single-touch gesture.
396− ddaDebug("A new touch point came in but we're still within time composition window. Ignoring it.");
397− allGood = false;
398− }
399−
400− const QList<QTouchEvent::TouchPoint> &touchPoints = event->touchPoints();
401−
402− const QTouchEvent::TouchPoint *newTouchPoint = nullptr;
403− for (int i = 0; i < touchPoints.count() && allGood; ++i) {
404− const QTouchEvent::TouchPoint &touchPoint = touchPoints.at(i);
405− if (touchPoint.state() == Qt::TouchPointPressed) {
406− if (newTouchPoint) {
407− // more than one touch starting in this QTouchEvent. Can't be a single-touch gesture
408− allGood = false;
409− } else {
410− // that's our candidate
411− newTouchPoint = &touchPoint;
412− }
413− }
414− }
415−
416− if (allGood) {
417− allGood = sanityCheckRecognitionProperties();
418− if (!allGood) {
419− qWarning("DirectionalDragArea: recognition properties are wrongly set. Gesture recognition"
420− " is impossible");
421− }
422− }
423−
424− if (allGood) {
425− Q_ASSERT(newTouchPoint);
426−
427− startPos = newTouchPoint->pos();
428− startScenePos = newTouchPoint->scenePos();
429− touchId = newTouchPoint->id();
430− dampedScenePos.reset(startScenePos);
431− setPublicPos(startPos);
432−
433− setPublicScenePos(startScenePos);
434− updateSceneDirectionVector();
435−
436− if (recognitionIsDisabled()) {
437− // Behave like a dumb TouchArea
438− ddaDebug("Gesture recognition is disabled. Requesting touch ownership immediately.");
439− setStatus(Recognized);
440− if (monitorOnly) {
441− watchPressedTouchPoints(touchPoints);
442− event->ignore();
443− } else {
444− TouchRegistry::instance()->requestTouchOwnership(touchId, q);
445− event->accept();
446− }
447− } else {
448− // just monitor the touch points for now.
449− if (monitorOnly) {
450− watchPressedTouchPoints(touchPoints);
451− } else {
452− TouchRegistry::instance()->addCandidateOwnerForTouch(touchId, q);
453− }
454−
455− setStatus(Undecided);
456− // Let the item below have it. We will monitor it and grab it later if a gesture
457− // gets recognized.
458− event->ignore();
459− }
460− } else {
461− watchPressedTouchPoints(touchPoints);
462− event->ignore();
463− }
464−}
465−
466−void DirectionalDragAreaPrivate::touchEvent_undecided(QTouchEvent *event)
467−{
468− Q_ASSERT(fetchTargetTouchPoint(event) == nullptr);
469−
470− // We're not interested in new touch points. We already have our candidate (touchId).
471− // But we do want to know when those new touches end for keeping the composition time
472− // window up-to-date
473− event->ignore();
474− watchPressedTouchPoints(event->touchPoints());
475−
476− if (event->touchPointStates().testFlag(Qt::TouchPointPressed) && isWithinTouchCompositionWindow()) {
477− // multi-finger drags are not accepted
478− ddaDebug("Multi-finger drags are not accepted");
479−
480− TouchRegistry::instance()->removeCandidateOwnerForTouch(touchId, q);
481− // We still wanna know when it ends for keeping the composition time window up-to-date
482− TouchRegistry::instance()->addTouchWatcher(touchId, q);
483−
484− setStatus(WaitingForTouch);
485− }
486−}
487−
488−void DirectionalDragAreaPrivate::touchEvent_recognized(QTouchEvent *event)
489−{
490− const QTouchEvent::TouchPoint *touchPoint = fetchTargetTouchPoint(event);
491−
492− if (!touchPoint) {
493− qCritical() << "DirectionalDragArea[status=Recognized]: touch " << touchId
494− << "missing from QTouchEvent without first reaching state Qt::TouchPointReleased. "
495− "Considering it as released.";
496− setStatus(WaitingForTouch);
497− } else {
498− setPublicPos(touchPoint->pos());
499− setPublicScenePos(touchPoint->scenePos());
500−
501− if (touchPoint->state() == Qt::TouchPointReleased) {
502− setStatus(WaitingForTouch);
503− }
504− }
505−}
506−
507−void DirectionalDragAreaPrivate::watchPressedTouchPoints(const QList<QTouchEvent::TouchPoint> &touchPoints)
508−{
509− for (int i = 0; i < touchPoints.count(); ++i) {
510− const QTouchEvent::TouchPoint &touchPoint = touchPoints.at(i);
511− if (touchPoint.state() == Qt::TouchPointPressed) {
512− TouchRegistry::instance()->addTouchWatcher(touchPoint.id(), q);
513− }
514− }
515−}
516−
517−bool DirectionalDragAreaPrivate::recognitionIsDisabled() const
518−{
519− return immediateRecognition || (distanceThreshold <= 0 && compositionTime <= 0);
520−}
521−
522−bool DirectionalDragAreaPrivate::sanityCheckRecognitionProperties()
523−{
524− return recognitionIsDisabled()
525− || (distanceThreshold < maxDistance && compositionTime < maxTime);
526−}
527−
528−const QTouchEvent::TouchPoint *DirectionalDragAreaPrivate::fetchTargetTouchPoint(QTouchEvent *event)
529−{
530− const QList<QTouchEvent::TouchPoint> &touchPoints = event->touchPoints();
531− const QTouchEvent::TouchPoint *touchPoint = 0;
532− for (int i = 0; i < touchPoints.size(); ++i) {
533− if (touchPoints.at(i).id() == touchId) {
534− touchPoint = &touchPoints.at(i);
535− break;
536− }
537− }
538− return touchPoint;
539−}
540−
541−bool DirectionalDragAreaPrivate::movingInRightDirection() const
542−{
543− if (direction == Direction::Horizontal || direction == Direction::Vertical) {
544− return true;
545− } else {
546− QPointF movementVector(dampedScenePos.x() - previousDampedScenePos.x(),
547− dampedScenePos.y() - previousDampedScenePos.y());
548−
549− qreal scalarProjection = projectOntoDirectionVector(movementVector);
550−
551− return scalarProjection >= 0.;
552− }
553−}
554−
555−bool DirectionalDragAreaPrivate::movedFarEnoughAlongGestureAxis() const
556−{
557− if (distanceThreshold <= 0.) {
558− // distance threshold check is disabled
559− return true;
560− } else {
561− QPointF totalMovement(dampedScenePos.x() - startScenePos.x(),
562− dampedScenePos.y() - startScenePos.y());
563−
564− qreal scalarProjection = projectOntoDirectionVector(totalMovement);
565−
566− ddaDebug(" movedFarEnoughAlongGestureAxis: scalarProjection=" << scalarProjection
567− << ", distanceThreshold=" << distanceThreshold);
568−
569− if (direction == Direction::Horizontal || direction == Direction::Vertical) {
570− return qAbs(scalarProjection) > distanceThreshold;
571− } else {
572− return scalarProjection > distanceThreshold;
573− }
574− }
575−}
576−
577−bool DirectionalDragAreaPrivate::isPastMaxDistance() const
578−{
579− QPointF totalMovement(dampedScenePos.x() - startScenePos.x(),
580− dampedScenePos.y() - startScenePos.y());
581−
582− qreal squaredDistance = totalMovement.x()*totalMovement.x() + totalMovement.y()*totalMovement.y();
583− return squaredDistance > maxDistance*maxDistance;
584−}
585−
586−void DirectionalDragAreaPrivate::giveUpIfDisabledOrInvisible()
587−{
588− if (!q->isEnabled() || !q->isVisible()) {
589− if (status == Undecided) {
590− TouchRegistry::instance()->removeCandidateOwnerForTouch(touchId, q);
591− // We still wanna know when it ends for keeping the composition time window up-to-date
592− TouchRegistry::instance()->addTouchWatcher(touchId, q);
593− }
594−
595− if (status != WaitingForTouch) {
596− ddaDebug("Resetting status because got disabled or made invisible");
597− setStatus(WaitingForTouch);
598− }
599− }
600−}
601−
602−void DirectionalDragAreaPrivate::rejectGesture()
603−{
604− if (status == Undecided) {
605− ddaDebug("Rejecting gesture because it's taking too long to drag beyond the threshold.");
606−
607− TouchRegistry::instance()->removeCandidateOwnerForTouch(touchId, q);
608− // We still wanna know when it ends for keeping the composition time window up-to-date
609− TouchRegistry::instance()->addTouchWatcher(touchId, q);
610−
611− setStatus(WaitingForTouch);
612− }
613−}
614−
615−void DirectionalDragAreaPrivate::setStatus(Status newStatus)
616−{
617− if (newStatus == status)
618− return;
619−
620− Status oldStatus = status;
621−
622− if (oldStatus == Undecided) {
623− recognitionTimer->stop();
624− }
625−
626− status = newStatus;
627− Q_EMIT statusChanged(status);
628−
629− ddaDebug(statusToString(oldStatus) << " -> " << statusToString(newStatus));
630−
631− switch (newStatus) {
632− case WaitingForTouch:
633− if (oldStatus == Recognized) {
634− Q_EMIT q->draggingChanged(false);
635− }
636− Q_EMIT q->pressedChanged(false);
637− break;
638− case Undecided:
639− recognitionTimer->start();
640− Q_EMIT q->pressedChanged(true);
641− break;
642− case Recognized:
643− if (oldStatus == WaitingForTouch) { // for immediate recognition
644− Q_EMIT q->pressedChanged(true);
645− }
646− Q_EMIT q->draggingChanged(true);
647− break;
648− default:
649− // no-op
650− break;
651− }
652−}
653−
654−void DirectionalDragAreaPrivate::setPublicPos(const QPointF point)
655−{
656− bool xChanged = publicPos.x() != point.x();
657− bool yChanged = publicPos.y() != point.y();
658−
659− // Public position should not get updated while the gesture is still being recognized
660− // (ie, Undecided status).
661− Q_ASSERT(status == WaitingForTouch || status == Recognized);
662−
663− if (status == Recognized && !recognitionIsDisabled()) {
664− // When the gesture finally gets recognized, the finger will likely be
665− // reasonably far from the edge. If we made the contentX immediately
666− // follow the finger position it would be visually unpleasant as it
667− // would appear right next to the user's finger out of nowhere (ie,
668− // it would jump). Instead, we make contentX go towards the user's
669− // finger in several steps. ie., in an animated way.
670− QPointF delta = point - publicPos;
671− // the trick is not to go all the way (1.0) as it would cause a sudden jump
672− publicPos.rx() += 0.4 * delta.x();
673− publicPos.ry() += 0.4 * delta.y();
674− } else {
675− // no smoothing when initializing or if gesture recognition was immediate as there will
676− // be no jump.
677− publicPos = point;
678− }
679−
680− if (xChanged) {
681− Q_EMIT q->touchXChanged(publicPos.x());
682− if (Direction::isHorizontal(direction))
683− Q_EMIT q->distanceChanged(q->distance());
684− }
685−
686− if (yChanged) {
687− Q_EMIT q->touchYChanged(publicPos.y());
688− if (Direction::isVertical(direction))
689− Q_EMIT q->distanceChanged(q->distance());
690− }
691−}
692−
693−void DirectionalDragAreaPrivate::setPublicScenePos(const QPointF point)
694−{
695− bool xChanged = publicScenePos.x() != point.x();
696− bool yChanged = publicScenePos.y() != point.y();
697−
698− if (!xChanged && !yChanged)
699− return;
700−
701− // Public position should not get updated while the gesture is still being recognized
702− // (ie, Undecided status).
703− Q_ASSERT(status == WaitingForTouch || status == Recognized);
704−
705− qreal oldSceneDistance = sceneDistance;
706−
707− if (status == Recognized && !recognitionIsDisabled()) {
708− // When the gesture finally gets recognized, the finger will likely be
709− // reasonably far from the edge. If we made the contentX immediately
710− // follow the finger position it would be visually unpleasant as it
711− // would appear right next to the user's finger out of nowhere (ie,
712− // it would jump). Instead, we make contentX go towards the user's
713− // finger in several steps. ie., in an animated way.
714− QPointF delta = point - publicScenePos;
715− // the trick is not to go all the way (1.0) as it would cause a sudden jump
716− publicScenePos.rx() += 0.4 * delta.x();
717− publicScenePos.ry() += 0.4 * delta.y();
718− } else {
719− // no smoothing when initializing or if gesture recognition was immediate as there will
720− // be no jump.
721− publicScenePos = point;
722− }
723−
724− updateSceneDistance();
725−
726− if (oldSceneDistance != sceneDistance) {
727− Q_EMIT q->sceneDistanceChanged(sceneDistance);
728− }
729−
730− if (xChanged) {
731− Q_EMIT q->touchSceneXChanged(publicScenePos.x());
732− }
733−
734− if (yChanged) {
735− Q_EMIT q->touchSceneYChanged(publicScenePos.y());
736− }
737−}
738−
739−bool DirectionalDragAreaPrivate::isWithinTouchCompositionWindow()
740−{
741− return
742− compositionTime > 0 &&
743− !activeTouches.isEmpty() &&
744− timeSource->msecsSinceReference() <=
745− activeTouches.mostRecentStartTime() + (qint64)compositionTime;
746−}
747−
748−void DirectionalDragArea::itemChange(ItemChange change, const ItemChangeData &value)
749−{
750− if (change == QQuickItem::ItemSceneChange) {
751− if (value.window != nullptr) {
752− value.window->installEventFilter(TouchRegistry::instance());
753−
754− // TODO: Handle window->screen() changes (ie window changing screens)
755−
756− qreal pixelsPerInch = value.window->screen()->physicalDotsPerInch();
757− if (pixelsPerInch < 0) {
758− // It can return garbage when run in a XVFB server (Virtual Framebuffer 'fake' X server)
759− pixelsPerInch = 72;
760− }
761−
762− d->setPixelsPerMm(pixelsPerInch / 25.4);
763− }
764− }
765−}
766−
767−void DirectionalDragAreaPrivate::setPixelsPerMm(qreal pixelsPerMm)
768−{
769− dampedScenePos.setMaxDelta(1. * pixelsPerMm);
770− setDistanceThreshold(4. * pixelsPerMm);
771− maxDistance = 10. * pixelsPerMm;
772−}
773−
774−//************************** ActiveTouchesInfo **************************
775−
776−ActiveTouchesInfo::ActiveTouchesInfo(const SharedTimeSource &timeSource)
777− : m_timeSource(timeSource)
778−{
779−}
780−
781−void ActiveTouchesInfo::update(QTouchEvent *event)
782−{
783− if (!(event->touchPointStates() & (Qt::TouchPointPressed | Qt::TouchPointReleased))) {
784− // nothing to update
785− #if ACTIVETOUCHESINFO_DEBUG
786− qDebug("[DDA::ActiveTouchesInfo] Nothing to Update");
787− #endif
788− return;
789− }
790−
791− const QList<QTouchEvent::TouchPoint> &touchPoints = event->touchPoints();
792− for (int i = 0; i < touchPoints.count(); ++i) {
793− const QTouchEvent::TouchPoint &touchPoint = touchPoints.at(i);
794− if (touchPoint.state() == Qt::TouchPointPressed) {
795− addTouchPoint(touchPoint.id());
796− } else if (touchPoint.state() == Qt::TouchPointReleased) {
797− removeTouchPoint(touchPoint.id());
798− }
799− }
800−}
801−
802−#if ACTIVETOUCHESINFO_DEBUG
803−QString ActiveTouchesInfo::toString()
804−{
805− QString string = "(";
806−
807− {
808− QTextStream stream(&string);
809− m_touchInfoPool.forEach([&](Pool<ActiveTouchInfo>::Iterator &touchInfo) {
810− stream << "(id=" << touchInfo->id << ",startTime=" << touchInfo->startTime << ")";
811− return true;
812− });
813− }
814−
815− string.append(")");
816−
817− return string;
818−}
819−#endif // ACTIVETOUCHESINFO_DEBUG
820−
821−void ActiveTouchesInfo::addTouchPoint(int touchId)
822−{
823− ActiveTouchInfo &activeTouchInfo = m_touchInfoPool.getEmptySlot();
824− activeTouchInfo.id = touchId;
825− activeTouchInfo.startTime = m_timeSource->msecsSinceReference();
826−
827− #if ACTIVETOUCHESINFO_DEBUG
828− qDebug() << "[DDA::ActiveTouchesInfo]" << qPrintable(toString());
829− #endif
830−}
831−
832−qint64 ActiveTouchesInfo::touchStartTime(int touchId)
833−{
834− qint64 result = -1;
835−
836− m_touchInfoPool.forEach([&](Pool<ActiveTouchInfo>::Iterator &touchInfo) {
837− if (touchId == touchInfo->id) {
838− result = touchInfo->startTime;
839− return false;
840− } else {
841− return true;
842− }
843− });
844−
845− Q_ASSERT(result != -1);
846− return result;
847−}
848−
849−void ActiveTouchesInfo::removeTouchPoint(int touchId)
850−{
851− m_touchInfoPool.forEach([&](Pool<ActiveTouchInfo>::Iterator &touchInfo) {
852− if (touchId == touchInfo->id) {
853− m_touchInfoPool.freeSlot(touchInfo);
854− return false;
855− } else {
856− return true;
857− }
858− });
859−
860− #if ACTIVETOUCHESINFO_DEBUG
861− qDebug() << "[DDA::ActiveTouchesInfo]" << qPrintable(toString());
862− #endif
863−}
864−
865−qint64 ActiveTouchesInfo::mostRecentStartTime()
866−{
867− Q_ASSERT(!m_touchInfoPool.isEmpty());
868−
869− qint64 highestStartTime = -1;
870−
871− m_touchInfoPool.forEach([&](Pool<ActiveTouchInfo>::Iterator &activeTouchInfo) {
872− if (activeTouchInfo->startTime > highestStartTime) {
873− highestStartTime = activeTouchInfo->startTime;
874− }
875− return true;
876− });
877−
878− return highestStartTime;
879−}
880−
881−void DirectionalDragAreaPrivate::updateSceneDirectionVector()
882−{
883− QPointF localOrigin(0., 0.);
884− QPointF localDirection;
885− switch (direction) {
886− case Direction::Upwards:
887− localDirection.rx() = 0.;
888− localDirection.ry() = -1.;
889− break;
890− case Direction::Downwards:
891− case Direction::Vertical:
892− localDirection.rx() = 0.;
893− localDirection.ry() = 1;
894− break;
895− case Direction::Leftwards:
896− localDirection.rx() = -1.;
897− localDirection.ry() = 0.;
898− break;
899− default: // Direction::Rightwards || Direction.Horizontal
900− localDirection.rx() = 1.;
901− localDirection.ry() = 0.;
902− break;
903− }
904− QPointF sceneOrigin = q->mapToScene(localOrigin);
905− QPointF sceneDirection = q->mapToScene(localDirection);
906− sceneDirectionVector = sceneDirection - sceneOrigin;
907−}
908−
909−qreal DirectionalDragAreaPrivate::projectOntoDirectionVector(const QPointF sceneVector) const
910−{
911− // same as dot product as sceneDirectionVector is a unit vector
912− return sceneVector.x() * sceneDirectionVector.x() +
913− sceneVector.y() * sceneDirectionVector.y();
914−}
915−
916−DirectionalDragAreaPrivate::DirectionalDragAreaPrivate(DirectionalDragArea *q)
917− : q(q)
918− , status(WaitingForTouch)
919− , sceneDistance(0)
920− , touchId(-1)
921− , direction(Direction::Rightwards)
922− , distanceThreshold(0)
923− , distanceThresholdSquared(0.)
924− , maxTime(400)
925− , compositionTime(60)
926− , immediateRecognition(false)
927− , recognitionTimer(nullptr)
928− , timeSource(new RealTimeSource)
929− , activeTouches(timeSource)
930− , monitorOnly(false)
931−{
932−}
plugins/Ubuntu/Gestures/DirectionalDragArea.hdeleted−143
@@ -1,143 +0,0 @@
1−/*
2− * Copyright (C) 2013,2014 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−#ifndef DIRECTIONAL_DRAG_AREA_H
18−#define DIRECTIONAL_DRAG_AREA_H
19−
20−#include <QtQuick/QQuickItem>
21−#include "UbuntuGesturesQmlGlobal.h"
22−#include "Damper.h"
23−#include "Direction.h"
24−
25−// lib UbuntuGestures
26−#include <Pool.h>
27−#include <Timer.h>
28−
29−class TouchOwnershipEvent;
30−class UnownedTouchEvent;
31−class DirectionalDragAreaPrivate;
32−
33−/*
34− An area that detects axis-aligned single-finger drag gestures
35−
36− If a drag deviates too much from the components' direction recognition will
37− fail. It will also fail if the drag or flick is too short. E.g. a noisy or
38− fidgety click
39−
40− See doc/DirectionalDragArea.svg
41− */
42−class UBUNTUGESTURESQML_EXPORT DirectionalDragArea : public QQuickItem {
43− Q_OBJECT
44−
45− // The direction in which the gesture should move in order to be recognized.
46− Q_PROPERTY(Direction::Type direction READ direction WRITE setDirection NOTIFY directionChanged)
47−
48− // The distance travelled by the finger along the axis specified by
49− // DirectionalDragArea's direction.
50− Q_PROPERTY(qreal distance READ distance NOTIFY distanceChanged)
51−
52− // The distance travelled by the finger along the axis specified by
53− // DirectionalDragArea's direction in scene coordinates
54− Q_PROPERTY(qreal sceneDistance READ sceneDistance NOTIFY sceneDistanceChanged)
55−
56− // Position of the touch point performing the drag relative to this item.
57− Q_PROPERTY(qreal touchX READ touchX NOTIFY touchXChanged)
58− Q_PROPERTY(qreal touchY READ touchY NOTIFY touchYChanged)
59−
60− // Position of the touch point performing the drag, in scene's coordinate system
61− Q_PROPERTY(qreal touchSceneX READ touchSceneX NOTIFY touchSceneXChanged)
62− Q_PROPERTY(qreal touchSceneY READ touchSceneY NOTIFY touchSceneYChanged)
63−
64− // Whether a drag gesture is taking place
65− Q_PROPERTY(bool dragging READ dragging NOTIFY draggingChanged)
66−
67− // Whether the drag area is pressed.
68− Q_PROPERTY(bool pressed READ pressed NOTIFY pressedChanged)
69−
70− // Whether a gesture should be Recognized as soon a touch lands on the area.
71− // With this property enabled it will work pretty much like a MultiPointTouchArea,
72− // just with a different API.
73− //
74− // It's false by default. In most cases you will not want that enabled.
75− Q_PROPERTY(bool immediateRecognition
76− READ immediateRecognition
77− WRITE setImmediateRecognition
78− NOTIFY immediateRecognitionChanged)
79−
80− // Whether we are merely monitoring touch events (in which case, we don't
81− // claim ownership of the touch).
82− Q_PROPERTY(bool monitorOnly READ monitorOnly WRITE setMonitorOnly NOTIFY monitorOnlyChanged)
83−
84− Q_ENUMS(Direction)
85−public:
86− DirectionalDragArea(QQuickItem *parent = 0);
87−
88− Direction::Type direction() const;
89− void setDirection(Direction::Type);
90−
91− qreal distance() const;
92− qreal sceneDistance() const;
93−
94− qreal touchX() const;
95− qreal touchY() const;
96−
97− qreal touchSceneX() const;
98− qreal touchSceneY() const;
99−
100− bool dragging() const;
101−
102− bool pressed() const;
103−
104− bool immediateRecognition() const;
105− void setImmediateRecognition(bool enabled);
106−
107− bool monitorOnly() const;
108− void setMonitorOnly(bool monitorOnly);
109−
110− bool event(QEvent *e) override;
111−
112− /*
113− In qmltests, sequences of touch events are sent all at once, unlike in "real life".
114− Also qmltests might run really slowly, e.g. when run from inside virtual machines.
115− Thus to remove a variable that qmltests cannot really control, namely time, this
116− function removes all constraints that are sensible to elapsed time.
117−
118− This effectively makes the DirectionalDragArea easier to fool.
119− */
120− Q_INVOKABLE void removeTimeConstraints();
121−
122−Q_SIGNALS:
123− void directionChanged(Direction::Type direction);
124− void draggingChanged(bool value);
125− void pressedChanged(bool value);
126− void distanceChanged(qreal value);
127− void sceneDistanceChanged(qreal value);
128− void touchXChanged(qreal value);
129− void touchYChanged(qreal value);
130− void touchSceneXChanged(qreal value);
131− void touchSceneYChanged(qreal value);
132− void immediateRecognitionChanged(bool value);
133− void monitorOnlyChanged(bool value);
134−
135−protected:
136− void touchEvent(QTouchEvent *event) override;
137− void itemChange(ItemChange change, const ItemChangeData &value) override;
138−
139−public: // so tests can access it
140− DirectionalDragAreaPrivate *d;
141−};
142−
143−#endif // DIRECTIONAL_DRAG_AREA_H
plugins/Ubuntu/Gestures/DirectionalDragArea_p.hdeleted−169
@@ -1,169 +0,0 @@
1−/*
2− * Copyright (C) 2015 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−#ifndef DIRECTIONAL_DRAG_AREA_PRIV_H
18−#define DIRECTIONAL_DRAG_AREA_PRIV_H
19−
20−// Information about an active touch point
21−struct UBUNTUGESTURESQML_EXPORT ActiveTouchInfo {
22− ActiveTouchInfo() : id(-1), startTime(-1) {}
23− bool isValid() const { return id != -1; }
24− void reset() { id = -1; }
25− int id;
26− qint64 startTime;
27−};
28−class UBUNTUGESTURESQML_EXPORT ActiveTouchesInfo {
29−public:
30− ActiveTouchesInfo(const UbuntuGestures::SharedTimeSource &timeSource);
31− void update(QTouchEvent *event);
32− qint64 touchStartTime(int id);
33− bool isEmpty() const { return m_touchInfoPool.isEmpty(); }
34− qint64 mostRecentStartTime();
35− UbuntuGestures::SharedTimeSource m_timeSource;
36−private:
37− void addTouchPoint(int touchId);
38− void removeTouchPoint(int touchId);
39− #if ACTIVETOUCHESINFO_DEBUG
40− QString toString();
41− #endif
42−
43− Pool<ActiveTouchInfo> m_touchInfoPool;
44−};
45−
46−class UBUNTUGESTURESQML_EXPORT DirectionalDragAreaPrivate : public QObject {
47− Q_OBJECT
48−
49− Q_ENUMS(Status)
50−public:
51− DirectionalDragAreaPrivate(DirectionalDragArea *q);
52−
53−public Q_SLOTS:
54− void giveUpIfDisabledOrInvisible();
55− void rejectGesture();
56−
57−public:
58− // Describes the state of the directional drag gesture.
59− enum Status {
60− // Waiting for a new touch point to land on this area. No gesture is being processed
61− // or tracked.
62− WaitingForTouch,
63−
64− // A touch point has landed on this area but it's not know yet whether it is
65− // performing a drag in the correct direction.
66− // If it's decided that the touch point is not performing a directional drag gesture,
67− // it will be rejected/ignored and status will return to WaitingForTouch.
68− Undecided, //Recognizing,
69−
70− // There's a touch point in this area and it performed a drag in the correct
71− // direction.
72− //
73− // Once recognized, the gesture state will move back to WaitingForTouch only once
74− // that touch point ends. The gesture will remain in the Recognized state even if
75− // the touch point starts moving in other directions or halts.
76− Recognized,
77− };
78−
79− void touchEvent_absent(QTouchEvent *event);
80− void touchEvent_undecided(QTouchEvent *event);
81− void touchEvent_recognized(QTouchEvent *event);
82− bool movingInRightDirection() const;
83− bool movedFarEnoughAlongGestureAxis() const;
84− bool isPastMaxDistance() const;
85− const QTouchEvent::TouchPoint *fetchTargetTouchPoint(QTouchEvent *event);
86− void setStatus(Status newStatus);
87− void setPublicPos(const QPointF point);
88− void setPublicScenePos(const QPointF point);
89− bool isWithinTouchCompositionWindow();
90− void updateSceneDirectionVector();
91− // returns the scalar projection between the given vector (in scene coordinates)
92− // and m_sceneDirectionVector
93− qreal projectOntoDirectionVector(const QPointF sceneVector) const;
94− void touchOwnershipEvent(TouchOwnershipEvent *event);
95− void unownedTouchEvent(UnownedTouchEvent *event);
96− void unownedTouchEvent_undecided(UnownedTouchEvent *unownedTouchEvent);
97− void watchPressedTouchPoints(const QList<QTouchEvent::TouchPoint> &touchPoints);
98− bool recognitionIsDisabled() const;
99− bool sanityCheckRecognitionProperties();
100− void updateSceneDistance();
101− void setMaxTime(int value);
102− void setDistanceThreshold(qreal value);
103− void setPixelsPerMm(qreal pixelsPerMm);
104− QString objectName() const { return q->objectName(); }
105−
106− // Replaces the existing Timer with the given one.
107− //
108− // Useful for providing a fake timer when testing.
109− void setRecognitionTimer(UbuntuGestures::AbstractTimer *timer);
110−
111− // Useful for testing, where a fake time source can be supplied
112− void setTimeSource(const UbuntuGestures::SharedTimeSource &timeSource);
113−
114− DirectionalDragArea *q;
115−
116− // The current status of the directional drag gesture area.
117− Status status;
118−
119− QPointF startPos;
120− QPointF startScenePos;
121− qreal sceneDistance;
122− int touchId;
123−
124− // The touch position exposed in the public API.
125− // It only starts to move once the gesture gets recognized.
126− QPointF publicPos;
127− QPointF publicScenePos;
128−
129− // A movement damper is used in some of the gesture recognition calculations
130− // to get rid of noise or small oscillations in the touch position.
131− DampedPointF dampedScenePos;
132− QPointF previousDampedScenePos;
133−
134− // Unit vector in scene coordinates describing the direction of the gesture recognition
135− QPointF sceneDirectionVector;
136−
137− Direction::Type direction;
138−
139− // How far a touch point has to move from its initial position along the gesture axis in order
140− // for it to be recognized as a directional drag.
141− qreal distanceThreshold;
142− qreal distanceThresholdSquared; // it's pow(distanceThreshold, 2)
143−
144− // Maximum time (in milliseconds) the gesture can take to go beyond the distance threshold
145− int maxTime;
146−
147− // Maximum distance the gesture can go without crossing the axis-aligned distance threshold
148− qreal maxDistance;
149−
150− // Maximum time (in milliseconds) after the start of a given touch point where
151− // subsequent touch starts are grouped with the first one into an N-touches gesture
152− // (e.g. a two-fingers tap or drag).
153− int compositionTime;
154−
155− bool immediateRecognition;
156−
157− UbuntuGestures::AbstractTimer *recognitionTimer;
158−
159− UbuntuGestures::SharedTimeSource timeSource;
160−
161− ActiveTouchesInfo activeTouches;
162−
163− bool monitorOnly;
164−
165−Q_SIGNALS:
166− void statusChanged(Status value);
167−};
168−
169−#endif // DIRECTIONAL_DRAG_AREA_PRIV_H
plugins/Ubuntu/Gestures/FloatingFlickable.cppdeleted−150
@@ -1,150 +0,0 @@
1−/*
2− * Copyright (C) 2015 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−#include "FloatingFlickable.h"
18−
19−#include <private/qquickflickable_p.h>
20−#include "DirectionalDragArea.h"
21−
22−#include <QDebug>
23−
24−FloatingFlickable::FloatingFlickable(QQuickItem *parent)
25− : QQuickItem(parent)
26− , m_mousePressed(false)
27−{
28− m_dragArea = new DirectionalDragArea(this);
29− m_dragArea->setWidth(width());
30− m_dragArea->setHeight(height());
31− m_dragArea->setDirection(Direction::Horizontal);
32− connect(m_dragArea, &DirectionalDragArea::touchXChanged,
33− this, &FloatingFlickable::onDragAreaTouchPosChanged);
34− connect(m_dragArea, &DirectionalDragArea::touchYChanged,
35− this, &FloatingFlickable::onDragAreaTouchPosChanged);
36− connect(m_dragArea, &DirectionalDragArea::draggingChanged,
37− this, &FloatingFlickable::onDragAreaDraggingChanged);
38− connect(m_dragArea, &DirectionalDragArea::directionChanged, this, &FloatingFlickable::directionChanged);
39−
40− m_flickable = new QQuickFlickable(this);
41− m_flickable->setEnabled(false);
42− m_flickable->setWidth(width());
43− m_flickable->setHeight(height());
44− connect(m_flickable, &QQuickFlickable::contentWidthChanged, this, &FloatingFlickable::contentWidthChanged);
45− connect(m_flickable, &QQuickFlickable::contentHeightChanged, this, &FloatingFlickable::contentHeightChanged);
46− connect(m_flickable, &QQuickFlickable::contentXChanged, this, &FloatingFlickable::contentXChanged);
47− connect(m_flickable, &QQuickFlickable::contentYChanged, this, &FloatingFlickable::contentYChanged);
48−
49− connect(this, &QQuickItem::widthChanged, this, &FloatingFlickable::updateChildrenWidth);
50− connect(this, &QQuickItem::heightChanged, this, &FloatingFlickable::updateChildrenHeight);
51−}
52−
53−qreal FloatingFlickable::contentWidth() const
54−{
55− return m_flickable->contentWidth();
56−}
57−
58−void FloatingFlickable::setContentWidth(qreal contentWidth)
59−{
60− m_flickable->setContentWidth(contentWidth);
61−}
62−
63−qreal FloatingFlickable::contentHeight() const
64−{
65− return m_flickable->contentHeight();
66−}
67−
68−void FloatingFlickable::setContentHeight(qreal contentHeight)
69−{
70− m_flickable->setContentHeight(contentHeight);
71−}
72−
73−qreal FloatingFlickable::contentX() const
74−{
75− return m_flickable->contentX();
76−}
77−
78−void FloatingFlickable::setContentX(qreal contentX)
79−{
80− m_flickable->setContentX(contentX);
81−}
82−
83−qreal FloatingFlickable::contentY() const
84−{
85− return m_flickable->contentY();
86−}
87−
88−void FloatingFlickable::setContentY(qreal contentY)
89−{
90− m_flickable->setContentY(contentY);
91−}
92−
93−Direction::Type FloatingFlickable::direction() const
94−{
95− return m_dragArea->direction();
96−}
97−
98−void FloatingFlickable::setDirection(Direction::Type direction)
99−{
100− m_dragArea->setDirection(direction);
101− if (Direction::isHorizontal(direction)) {
102− m_flickable->setFlickableDirection(QQuickFlickable::HorizontalFlick);
103− } else {
104− m_flickable->setFlickableDirection(QQuickFlickable::VerticalFlick);
105− }
106−}
107−
108−void FloatingFlickable::updateChildrenWidth()
109−{
110− m_dragArea->setWidth(width());
111− m_flickable->setWidth(width());
112−}
113−
114−void FloatingFlickable::updateChildrenHeight()
115−{
116− m_dragArea->setHeight(height());
117− m_flickable->setHeight(height());
118−}
119−
120−void FloatingFlickable::onDragAreaTouchPosChanged(qreal)
121−{
122− if (m_mousePressed) {
123− QMouseEvent mouseEvent(QEvent::MouseMove,
124− QPointF(m_dragArea->touchX(),m_dragArea->touchY()),
125− Qt::NoButton, Qt::LeftButton, Qt::NoModifier);
126−
127− QCoreApplication::sendEvent(m_flickable, &mouseEvent);
128−
129− }
130−}
131−
132−void FloatingFlickable::onDragAreaDraggingChanged(bool dragging)
133−{
134− if (dragging && !m_mousePressed) {
135− QMouseEvent mouseEvent(QEvent::MouseButtonPress,
136− QPointF(m_dragArea->touchX(),m_dragArea->touchY()),
137− Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
138−
139− QCoreApplication::sendEvent(m_flickable, &mouseEvent);
140− m_mousePressed = true;
141−
142− } else if (!dragging && m_mousePressed) {
143− QMouseEvent mouseEvent(QEvent::MouseButtonRelease,
144− QPointF(m_dragArea->touchX(),m_dragArea->touchY()),
145− Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
146−
147− QCoreApplication::sendEvent(m_flickable, &mouseEvent);
148− m_mousePressed = false;
149− }
150−}
plugins/Ubuntu/Gestures/FloatingFlickable.hdeleted−86
@@ -1,86 +0,0 @@
1−/*
2− * Copyright (C) 2015 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−#ifndef FLOATING_FLICKABLE_H
18−#define FLOATING_FLICKABLE_H
19−
20−#include <QQuickItem>
21−#include "UbuntuGesturesQmlGlobal.h"
22−#include "Direction.h"
23−
24−class DirectionalDragArea;
25−class QQuickFlickable;
26−
27−/*
28− A Flickable that can be put in front of the item to be flicked and
29− still have the item-to-be-flicked receive input events that are not flicks.
30−
31− Ie, it's a Flickable that, input-wise, is transparent to non-flick gestures.
32−
33− With a regular Flickable you would have to make the item-to-be-flicked a child
34− of Flicakble to achieve the same result. FloatingFlickable has no such requirement
35− or limitation.
36− */
37−class UBUNTUGESTURESQML_EXPORT FloatingFlickable : public QQuickItem {
38− Q_OBJECT
39−
40− Q_PROPERTY(qreal contentWidth READ contentWidth WRITE setContentWidth NOTIFY contentWidthChanged)
41− Q_PROPERTY(qreal contentHeight READ contentHeight WRITE setContentHeight NOTIFY contentHeightChanged)
42− Q_PROPERTY(qreal contentX READ contentX WRITE setContentX NOTIFY contentXChanged)
43− Q_PROPERTY(qreal contentY READ contentY WRITE setContentY NOTIFY contentYChanged)
44−
45− Q_PROPERTY(Direction::Type direction READ direction WRITE setDirection NOTIFY directionChanged)
46−
47−Q_SIGNALS:
48− void contentWidthChanged();
49− void contentHeightChanged();
50− void contentXChanged();
51− void contentYChanged();
52− void directionChanged();
53−
54−public:
55− FloatingFlickable(QQuickItem *parent = nullptr);
56−
57− qreal contentWidth() const;
58− void setContentWidth(qreal contentWidth);
59−
60− qreal contentHeight() const;
61− void setContentHeight(qreal contentHeight);
62−
63− qreal contentX() const;
64− void setContentX(qreal contentX);
65−
66− qreal contentY() const;
67− void setContentY(qreal contentY);
68−
69− Direction::Type direction() const;
70− void setDirection(Direction::Type);
71−
72−private Q_SLOTS:
73− void updateChildrenWidth();
74− void updateChildrenHeight();
75− void onDragAreaTouchPosChanged(qreal);
76− void onDragAreaDraggingChanged(bool value);
77−
78−private:
79− DirectionalDragArea *m_dragArea;
80− QQuickFlickable *m_flickable;
81− bool m_mousePressed;
82−
83− friend class tst_FloatingFlickable;
84−};
85−
86−#endif // FLOATING_FLICKABLE_H
plugins/Ubuntu/Gestures/Gestures.qmltypesdeleted−209
@@ -1,209 +0,0 @@
1−import QtQuick.tooling 1.1
2−
3−// This file describes the plugin-supplied types contained in the library.
4−// It is used for QML tooling purposes only.
5−//
6−// This file was auto-generated by:
7−// 'qmlplugindump -notrelocatable Ubuntu.Gestures 0.1 plugins'
8−
9−Module {
10− Component {
11− name: "AxisVelocityCalculator"
12− prototype: "QObject"
13− exports: ["Ubuntu.Gestures/AxisVelocityCalculator 0.1"]
14− exportMetaObjectRevisions: [0]
15− Property { name: "trackedPosition"; type: "double" }
16− Signal {
17− name: "trackedPositionChanged"
18− Parameter { name: "value"; type: "double" }
19− }
20− Method { name: "calculate"; type: "double" }
21− Method { name: "reset" }
22− }
23− Component {
24− name: "Direction"
25− prototype: "QObject"
26− exports: ["Ubuntu.Gestures/Direction 0.1"]
27− isCreatable: false
28− isSingleton: true
29− exportMetaObjectRevisions: [0]
30− Enum {
31− name: "Type"
32− values: {
33− "Rightwards": 0,
34− "Leftwards": 1,
35− "Downwards": 2,
36− "Upwards": 3,
37− "Horizontal": 4,
38− "Vertical": 5
39− }
40− }
41− Method {
42− name: "isHorizontal"
43− type: "bool"
44− Parameter { name: "type"; type: "Direction::Type" }
45− }
46− Method {
47− name: "isVertical"
48− type: "bool"
49− Parameter { name: "type"; type: "Direction::Type" }
50− }
51− Method {
52− name: "isPositive"
53− type: "bool"
54− Parameter { name: "type"; type: "Direction::Type" }
55− }
56− }
57− Component {
58− name: "DirectionalDragArea"
59− defaultProperty: "data"
60− prototype: "QQuickItem"
61− exports: ["Ubuntu.Gestures/DirectionalDragArea 0.1"]
62− exportMetaObjectRevisions: [0]
63− Property { name: "direction"; type: "Direction::Type" }
64− Property { name: "distance"; type: "double"; isReadonly: true }
65− Property { name: "sceneDistance"; type: "double"; isReadonly: true }
66− Property { name: "touchX"; type: "double"; isReadonly: true }
67− Property { name: "touchY"; type: "double"; isReadonly: true }
68− Property { name: "touchSceneX"; type: "double"; isReadonly: true }
69− Property { name: "touchSceneY"; type: "double"; isReadonly: true }
70− Property { name: "dragging"; type: "bool"; isReadonly: true }
71− Property { name: "pressed"; type: "bool"; isReadonly: true }
72− Property { name: "immediateRecognition"; type: "bool" }
73− Signal {
74− name: "directionChanged"
75− Parameter { name: "direction"; type: "Direction::Type" }
76− }
77− Signal {
78− name: "draggingChanged"
79− Parameter { name: "value"; type: "bool" }
80− }
81− Signal {
82− name: "pressedChanged"
83− Parameter { name: "value"; type: "bool" }
84− }
85− Signal {
86− name: "distanceChanged"
87− Parameter { name: "value"; type: "double" }
88− }
89− Signal {
90− name: "sceneDistanceChanged"
91− Parameter { name: "value"; type: "double" }
92− }
93− Signal {
94− name: "touchXChanged"
95− Parameter { name: "value"; type: "double" }
96− }
97− Signal {
98− name: "touchYChanged"
99− Parameter { name: "value"; type: "double" }
100− }
101− Signal {
102− name: "touchSceneXChanged"
103− Parameter { name: "value"; type: "double" }
104− }
105− Signal {
106− name: "touchSceneYChanged"
107− Parameter { name: "value"; type: "double" }
108− }
109− Signal {
110− name: "immediateRecognitionChanged"
111− Parameter { name: "value"; type: "bool" }
112− }
113− Method { name: "removeTimeConstraints" }
114− }
115− Component {
116− name: "FloatingFlickable"
117− defaultProperty: "data"
118− prototype: "QQuickItem"
119− exports: ["Ubuntu.Gestures/FloatingFlickable 0.1"]
120− exportMetaObjectRevisions: [0]
121− Property { name: "contentWidth"; type: "double" }
122− Property { name: "contentHeight"; type: "double" }
123− Property { name: "contentX"; type: "double" }
124− Property { name: "contentY"; type: "double" }
125− Property { name: "direction"; type: "Direction::Type" }
126− }
127− Component {
128− name: "GestureTouchPoint"
129− prototype: "QObject"
130− exports: ["Ubuntu.Gestures/GestureTouchPoint 0.1"]
131− isCreatable: false
132− exportMetaObjectRevisions: [0]
133− Property { name: "pointId"; type: "int"; isReadonly: true }
134− Property { name: "pressed"; type: "bool"; isReadonly: true }
135− Property { name: "x"; type: "double"; isReadonly: true }
136− Property { name: "y"; type: "double"; isReadonly: true }
137− Property { name: "dragging"; type: "bool"; isReadonly: true }
138− }
139− Component {
140− name: "PressedOutsideNotifier"
141− defaultProperty: "data"
142− prototype: "QQuickItem"
143− exports: ["Ubuntu.Gestures/PressedOutsideNotifier 0.1"]
144− exportMetaObjectRevisions: [0]
145− Signal { name: "pressedOutside" }
146− }
147− Component {
148− name: "TouchGate"
149− defaultProperty: "data"
150− prototype: "QQuickItem"
151− exports: ["Ubuntu.Gestures/TouchGate 0.1"]
152− exportMetaObjectRevisions: [0]
153− Property { name: "targetItem"; type: "QQuickItem"; isPointer: true }
154− Signal {
155− name: "targetItemChanged"
156− Parameter { name: "item"; type: "QQuickItem"; isPointer: true }
157− }
158− }
159− Component {
160− name: "TouchGestureArea"
161− defaultProperty: "data"
162− prototype: "QQuickItem"
163− exports: ["Ubuntu.Gestures/TouchGestureArea 0.1"]
164− exportMetaObjectRevisions: [0]
165− Enum {
166− name: "Status"
167− values: {
168− "WaitingForTouch": 0,
169− "Undecided": 1,
170− "Recognized": 2,
171− "Rejected": 3
172− }
173− }
174− Property { name: "touchPoints"; type: "GestureTouchPoint"; isList: true; isReadonly: true }
175− Property { name: "dragging"; type: "bool"; isReadonly: true }
176− Property { name: "minimumTouchPoints"; type: "int" }
177− Property { name: "maximumTouchPoints"; type: "int" }
178− Signal {
179− name: "statusChanged"
180− Parameter { name: "status"; type: "Status" }
181− }
182− Signal { name: "touchPointsUpdated" }
183− Signal {
184− name: "draggingChanged"
185− Parameter { name: "dragging"; type: "bool" }
186− }
187− Signal {
188− name: "minimumTouchPointsChanged"
189− Parameter { name: "value"; type: "bool" }
190− }
191− Signal {
192− name: "maximumTouchPointsChanged"
193− Parameter { name: "value"; type: "bool" }
194− }
195− Signal {
196− name: "pressed"
197− Parameter { name: "points"; type: "QList<QObject*>" }
198− }
199− Signal {
200− name: "released"
201− Parameter { name: "points"; type: "QList<QObject*>" }
202− }
203− Signal {
204− name: "updated"
205− Parameter { name: "points"; type: "QList<QObject*>" }
206− }
207− Signal { name: "clicked" }
208− }
209−}
plugins/Ubuntu/Gestures/MouseEventGenerator.cppnew file+64
@@ -0,0 +1,64 @@
1+/*
2+ * Copyright (C) 2015-2016 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#include "MouseEventGenerator.h"
18+
19+#include <QCoreApplication>
20+#include <QMouseEvent>
21+#include <QQuickItem>
22+
23+MouseEventGenerator::MouseEventGenerator(QObject *parent)
24+ : QObject(parent)
25+{
26+}
27+
28+void MouseEventGenerator::move(const QPointF position)
29+{
30+ if (!m_mousePressed || !m_targetItem) {
31+ return;
32+ }
33+
34+ QMouseEvent mouseEvent(QEvent::MouseMove,
35+ QPointF(position.x(), position.y()), Qt::NoButton, Qt::LeftButton, Qt::NoModifier);
36+
37+ QCoreApplication::sendEvent(m_targetItem, &mouseEvent);
38+}
39+
40+void MouseEventGenerator::press(const QPointF position)
41+{
42+ if (m_mousePressed || !m_targetItem) {
43+ return;
44+ }
45+
46+ QMouseEvent mouseEvent(QEvent::MouseButtonPress,
47+ QPointF(position.x(), position.y()), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
48+
49+ QCoreApplication::sendEvent(m_targetItem, &mouseEvent);
50+ m_mousePressed = true;
51+}
52+
53+void MouseEventGenerator::release(const QPointF position)
54+{
55+ if (!m_mousePressed || !m_targetItem) {
56+ return;
57+ }
58+
59+ QMouseEvent mouseEvent(QEvent::MouseButtonRelease,
60+ QPointF(position.x(), position.y()), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier);
61+
62+ QCoreApplication::sendEvent(m_targetItem, &mouseEvent);
63+ m_mousePressed = false;
64+}
plugins/Ubuntu/Gestures/MouseEventGenerator.hnew file+48
@@ -0,0 +1,48 @@
1+/*
2+ * Copyright (C) 2015-2016 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+#ifndef MOUSEEVENTGENERATOR_H
18+#define MOUSEEVENTGENERATOR_H
19+
20+#include <QObject>
21+#include <QPointF>
22+
23+#include "UbuntuGesturesQmlGlobal.h"
24+
25+class QQuickItem;
26+
27+class UBUNTUGESTURESQML_EXPORT MouseEventGenerator : public QObject {
28+ Q_OBJECT
29+ Q_PROPERTY(QQuickItem* targetItem MEMBER m_targetItem NOTIFY targetItemChanged)
30+
31+public:
32+ MouseEventGenerator(QObject *parent = nullptr);
33+
34+ Q_INVOKABLE void move(const QPointF position);
35+ Q_INVOKABLE void press(const QPointF position);
36+ Q_INVOKABLE void release(const QPointF position);
37+
38+Q_SIGNALS:
39+ void targetItemChanged(QQuickItem *);
40+
41+private:
42+ bool m_mousePressed {false};
43+ QQuickItem *m_targetItem {nullptr};
44+
45+ friend class tst_FloatingFlickable;
46+};
47+
48+#endif // MOUSEEVENTGENERATOR_H
plugins/Ubuntu/Gestures/PressedOutsideNotifier.h+1−1
@@ -23,7 +23,7 @@
23#include <QPointer>
23#include <QPointer>
24#include <QTimer>
24#include <QTimer>
25
25
26−#include "UbuntuGesturesGlobal.h"
26+#include <ubuntugesturesglobal.h>
27
27
28/*
28/*
29 Notifies when a point, mouse or touch, is pressed outside its area.
29 Notifies when a point, mouse or touch, is pressed outside its area.
plugins/Ubuntu/Gestures/TouchDispatcher.cpp+1−1
@@ -225,7 +225,7 @@ void TouchDispatcher::dispatchAsMouse(
225 QEvent::Type eventType;
225 QEvent::Type eventType;
226 if (touchMouse->state() == Qt::TouchPointPressed) {
226 if (touchMouse->state() == Qt::TouchPointPressed) {
227 eventType = QEvent::MouseButtonPress;
227 eventType = QEvent::MouseButtonPress;
228− } if (touchMouse->state() == Qt::TouchPointReleased) {
228+ } else if (touchMouse->state() == Qt::TouchPointReleased) {
229 eventType = QEvent::MouseButtonRelease;
229 eventType = QEvent::MouseButtonRelease;
230 m_touchMouseId = -1;
230 m_touchMouseId = -1;
231 } else {
231 } else {
plugins/Ubuntu/Gestures/TouchGate.cpp+2−2
@@ -20,8 +20,8 @@
20#include <QDebug>
20#include <QDebug>
21#include <QQuickWindow>
21#include <QQuickWindow>
22
22
23−#include <TouchOwnershipEvent.h>
23+#include <TouchOwnershipEvent>
24−#include <TouchRegistry.h>
24+#include <TouchRegistry>
25
25
26#if TOUCHGATE_DEBUG
26#if TOUCHGATE_DEBUG
27#define ugDebug(params) qDebug().nospace() << "[TouchGate(" << (void*)this << ")] " << params
27#define ugDebug(params) qDebug().nospace() << "[TouchGate(" << (void*)this << ")] " << params
plugins/Ubuntu/Gestures/TouchGestureArea.cpp+16−15
@@ -16,10 +16,11 @@
16
16
17#include "TouchGestureArea.h"
17#include "TouchGestureArea.h"
18
18
19−// local
20−#include "TouchOwnershipEvent.h"
19+#include <UbuntuGestures/TouchOwnershipEvent>
20+#include <UbuntuGestures/TouchRegistry>
21+#include <UbuntuGestures/UnownedTouchEvent>
21−#include "TouchRegistry.h"
22+// #include "TouchRegistry.h"
22−#include "UnownedTouchEvent.h"
23+// #include "UnownedTouchEvent.h"
23
24
24#include <QGuiApplication>
25#include <QGuiApplication>
25#include <QStyleHints>
26#include <QStyleHints>
@@ -374,7 +375,7 @@ void TouchGestureArea::unownedTouchEvent_waitingForMoreTouches(QTouchEvent *even
374 }
375 }
375 }
376 }
376
377
377− if (m_candidateTouches.count() == 0) {
378+ if (m_candidateTouches.isEmpty()) {
378 setInternalStatus(InternalStatus::WaitingForTouch);
379 setInternalStatus(InternalStatus::WaitingForTouch);
379 }
380 }
380}
381}
@@ -438,7 +439,7 @@ void TouchGestureArea::unownedTouchEvent_rejected(QTouchEvent *event)
438 }
439 }
439 }
440 }
440
441
441− if (m_watchedTouches.count() == 0) {
442+ if (m_watchedTouches.isEmpty()) {
442 setInternalStatus(InternalStatus::WaitingForTouch);
443 setInternalStatus(InternalStatus::WaitingForTouch);
443 }
444 }
444}
445}
@@ -526,7 +527,7 @@ void TouchGestureArea::updateTouchPoints(QTouchEvent *touchEvent)
526 if (updateable) {
527 if (updateable) {
527 if (!dragging() && m_status == InternalStatus::Recognized) {
528 if (!dragging() && m_status == InternalStatus::Recognized) {
528 bool allWantDrag = !m_liveTouchPoints.isEmpty();
529 bool allWantDrag = !m_liveTouchPoints.isEmpty();
529− Q_FOREACH(auto point, m_liveTouchPoints) {
530+ Q_FOREACH(const auto &point, m_liveTouchPoints) {
530 allWantDrag &= point->dragging();
531 allWantDrag &= point->dragging();
531 }
532 }
532 // only dragging if all points are dragging.
533 // only dragging if all points are dragging.
@@ -588,13 +589,15 @@ void TouchGestureArea::setInternalStatus(uint newStatus)
588 resyncCachedTouchPoints();
589 resyncCachedTouchPoints();
589 break;
590 break;
590 case InternalStatus::WaitingForMoreTouches:
591 case InternalStatus::WaitingForMoreTouches:
591− m_recognitionTimer->start(m_recognitionPeriod);
592+ m_recognitionTimer->setInterval(m_recognitionPeriod);
593+ m_recognitionTimer->start();
592 break;
594 break;
593 case InternalStatus::Recognized:
595 case InternalStatus::Recognized:
594 resyncCachedTouchPoints();
596 resyncCachedTouchPoints();
595 break;
597 break;
596 case InternalStatus::WaitingForRejection:
598 case InternalStatus::WaitingForRejection:
597− m_recognitionTimer->start(m_releaseRejectPeriod);
599+ m_recognitionTimer->setInterval(m_releaseRejectPeriod);
600+ m_recognitionTimer->start();
598 break;
601 break;
599 case InternalStatus::Rejected:
602 case InternalStatus::Rejected:
600 resyncCachedTouchPoints();
603 resyncCachedTouchPoints();
@@ -643,11 +646,9 @@ bool TouchGestureArea::dragging() const
643QQmlListProperty<GestureTouchPoint> TouchGestureArea::touchPoints()
646QQmlListProperty<GestureTouchPoint> TouchGestureArea::touchPoints()
644{
647{
645 return QQmlListProperty<GestureTouchPoint>(this,
648 return QQmlListProperty<GestureTouchPoint>(this,
646− 0,
647− nullptr,
649+ nullptr,
648− TouchGestureArea::touchPoint_count,
650+ TouchGestureArea::touchPoint_count,
649− TouchGestureArea::touchPoint_at,
651+ TouchGestureArea::touchPoint_at);
650− 0);
651}
652}
652
653
653int TouchGestureArea::minimumTouchPoints() const
654int TouchGestureArea::minimumTouchPoints() const
@@ -718,7 +719,7 @@ void TouchGestureArea::rejectGesture()
718 }
719 }
719 m_candidateTouches.clear();
720 m_candidateTouches.clear();
720
721
721− if (m_watchedTouches.count() == 0) {
722+ if (m_watchedTouches.isEmpty()) {
722 setInternalStatus(InternalStatus::WaitingForTouch);
723 setInternalStatus(InternalStatus::WaitingForTouch);
723 } else {
724 } else {
724 setInternalStatus(InternalStatus::Rejected);
725 setInternalStatus(InternalStatus::Rejected);
plugins/Ubuntu/Gestures/TouchGestureArea.h+9−10
@@ -21,8 +21,7 @@
21
21
22#include <QQuickItem>
22#include <QQuickItem>
23
23
24−// lib UbuntuGestures
25−#include <Timer.h>
24+#include <UbuntuGestures/Timer>
26
25
27class TouchOwnershipEvent;
26class TouchOwnershipEvent;
28class UnownedTouchEvent;
27class UnownedTouchEvent;
@@ -106,8 +105,8 @@ private:
106/*
105/*
107 An area that detects multi-finger gestures.
106 An area that detects multi-finger gestures.
108
107
109− We can use this to detect gestures contstrained by a minimim and/or maximum number of touch points.
108+ We can use this to detect gestures constrained by a minimum and/or maximum number of touch points.
110− This components uses the touch registry to apply for ownership of touch points.
109+ This component uses the touch registry to apply for ownership of touch points.
111 This way we can use the component in conjuntion with the directional drag area to compete for ownwership
110 This way we can use the component in conjuntion with the directional drag area to compete for ownwership
112 or gestures; unlike the MultiPointTouchArea.
111 or gestures; unlike the MultiPointTouchArea.
113 */
112 */
@@ -137,7 +136,7 @@ public:
137 Recognized,
136 Recognized,
138 Rejected
137 Rejected
139 };
138 };
140− TouchGestureArea(QQuickItem* parent = NULL);
139+ TouchGestureArea(QQuickItem* parent = nullptr);
141 ~TouchGestureArea();
140 ~TouchGestureArea();
142
141
143 bool event(QEvent *e) override;
142 bool event(QEvent *e) override;
@@ -165,10 +164,10 @@ Q_SIGNALS:
165
164
166 void touchPointsUpdated();
165 void touchPointsUpdated();
167 void draggingChanged(bool dragging);
166 void draggingChanged(bool dragging);
168− void minimumTouchPointsChanged(bool value);
167+ void minimumTouchPointsChanged(int value);
169− void maximumTouchPointsChanged(bool value);
168+ void maximumTouchPointsChanged(int value);
170− void recognitionPeriodChanged(bool value);
169+ void recognitionPeriodChanged(int value);
171− void releaseRejectPeriodChanged(bool value);
170+ void releaseRejectPeriodChanged(int value);
172
171
173 void pressed(const QList<QObject*>& points);
172 void pressed(const QList<QObject*>& points);
174 void released(const QList<QObject*>& points);
173 void released(const QList<QObject*>& points);
@@ -176,7 +175,7 @@ Q_SIGNALS:
176 void clicked();
175 void clicked();
177
176
178protected:
177protected:
179− void itemChange(ItemChange change, const ItemChangeData &value);
178+ void itemChange(ItemChange change, const ItemChangeData &value) override;
180
179
181private Q_SLOTS:
180private Q_SLOTS:
182 void rejectGesture();
181 void rejectGesture();
plugins/Ubuntu/Gestures/plugin.cpp+3−5
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2013,2015 Canonical, Ltd.
2+ * Copyright (C) 2013,2015,2016 Canonical, Ltd.
3 *
3 *
4 * This program is free software; you can redistribute it and/or modify
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
5 * it under the terms of the GNU General Public License as published by
@@ -17,8 +17,7 @@
17#include "plugin.h"
17#include "plugin.h"
18#include "AxisVelocityCalculator.h"
18#include "AxisVelocityCalculator.h"
19#include "Direction.h"
19#include "Direction.h"
20−#include "DirectionalDragArea.h"
20+#include "MouseEventGenerator.h"
21−#include "FloatingFlickable.h"
22#include "PressedOutsideNotifier.h"
21#include "PressedOutsideNotifier.h"
23#include "TouchGate.h"
22#include "TouchGate.h"
24#include "TouchGestureArea.h"
23#include "TouchGestureArea.h"
@@ -34,9 +33,8 @@ static QObject* directionSingleton(QQmlEngine* engine, QJSEngine* scriptEngine)
34void UbuntuGesturesQmlPlugin::registerTypes(const char *uri)
33void UbuntuGesturesQmlPlugin::registerTypes(const char *uri)
35{
34{
36 qmlRegisterSingletonType<Direction>(uri, 0, 1, "Direction", directionSingleton);
35 qmlRegisterSingletonType<Direction>(uri, 0, 1, "Direction", directionSingleton);
37− qmlRegisterType<DirectionalDragArea>(uri, 0, 1, "DirectionalDragArea");
38 qmlRegisterType<AxisVelocityCalculator>(uri, 0, 1, "AxisVelocityCalculator");
36 qmlRegisterType<AxisVelocityCalculator>(uri, 0, 1, "AxisVelocityCalculator");
39− qmlRegisterType<FloatingFlickable>(uri, 0, 1, "FloatingFlickable");
37+ qmlRegisterType<MouseEventGenerator>(uri, 0, 1, "MouseEventGenerator");
40 qmlRegisterType<PressedOutsideNotifier>(uri, 0, 1, "PressedOutsideNotifier");
38 qmlRegisterType<PressedOutsideNotifier>(uri, 0, 1, "PressedOutsideNotifier");
41 qmlRegisterType<TouchGate>(uri, 0, 1, "TouchGate");
39 qmlRegisterType<TouchGate>(uri, 0, 1, "TouchGate");
42 qmlRegisterType<TouchGestureArea>(uri, 0, 1, "TouchGestureArea");
40 qmlRegisterType<TouchGestureArea>(uri, 0, 1, "TouchGestureArea");
plugins/Ubuntu/Payments/Payments.qmltypesdeleted−43
@@ -1,43 +0,0 @@
1−import QtQuick.tooling 1.1
2−
3−// This file describes the plugin-supplied types contained in the library.
4−// It is used for QML tooling purposes only.
5−//
6−// This file was auto-generated by:
7−// 'qmlplugindump -notrelocatable Ubuntu.Payments 0.1 plugins'
8−
9−Module {
10− Component {
11− name: "Payments"
12− prototype: "QObject"
13− exports: ["Ubuntu.Payments/Payments 0.1"]
14− exportMetaObjectRevisions: [0]
15− Property { name: "currency"; type: "string" }
16− Property { name: "price"; type: "double" }
17− Property { name: "storeItemId"; type: "string" }
18− Property { name: "formattedPrice"; type: "string"; isReadonly: true }
19− Signal {
20− name: "currencyChanged"
21− Parameter { name: "currency"; type: "string" }
22− }
23− Signal {
24− name: "priceChanged"
25− Parameter { name: "price"; type: "double" }
26− }
27− Signal {
28− name: "storeItemIdChanged"
29− Parameter { name: "store_item_id"; type: "string" }
30− }
31− Signal {
32− name: "formattedPriceChanged"
33− Parameter { name: "formatted_price"; type: "string" }
34− }
35− Signal {
36− name: "purchaseError"
37− Parameter { name: "error"; type: "string" }
38− }
39− Signal { name: "purchaseCompleted" }
40− Signal { name: "purchaseCancelled" }
41− Method { name: "start" }
42− }
43−}
plugins/Ubuntu/SystemImage/SystemImage.qmltypesdeleted−19
@@ -1,19 +0,0 @@
1−import QtQuick.tooling 1.1
2−
3−// This file describes the plugin-supplied types contained in the library.
4−// It is used for QML tooling purposes only.
5−//
6−// This file was auto-generated by:
7−// 'qmlplugindump -notrelocatable Ubuntu.SystemImage 0.1 plugins'
8−
9−Module {
10− Component {
11− name: "SystemImage"
12− prototype: "QObject"
13− exports: ["Ubuntu.SystemImage/SystemImage 0.1"]
14− isCreatable: false
15− isSingleton: true
16− exportMetaObjectRevisions: [0]
17− Method { name: "factoryReset" }
18− }
19−}
plugins/Unity/Connectivity/Connectivity.qmltypesdeleted−19
@@ -1,19 +0,0 @@
1−import QtQuick.tooling 1.1
2−
3−// This file describes the plugin-supplied types contained in the library.
4−// It is used for QML tooling purposes only.
5−//
6−// This file was auto-generated by:
7−// 'qmlplugindump -notrelocatable Unity.Connectivity 0.1 plugins'
8−
9−Module {
10− Component {
11− name: "Connectivity"
12− prototype: "QObject"
13− exports: ["Unity.Connectivity/Connectivity 0.1"]
14− isCreatable: false
15− isSingleton: true
16− exportMetaObjectRevisions: [0]
17− Method { name: "unlockAllModems" }
18− }
19−}
plugins/Unity/DashCommunicator/DashCommunicator.qmltypesdeleted−47
@@ -1,47 +0,0 @@
1−import QtQuick.tooling 1.1
2−
3−// This file describes the plugin-supplied types contained in the library.
4−// It is used for QML tooling purposes only.
5−//
6−// This file was auto-generated by:
7−// 'qmlplugindump -notrelocatable Unity.DashCommunicator 0.1 plugins'
8−
9−Module {
10− Component {
11− name: "DashCommunicator"
12− prototype: "QThread"
13− exports: ["Unity.DashCommunicator/DashCommunicator 0.1"]
14− exportMetaObjectRevisions: [0]
15− Method {
16− name: "setCurrentScope"
17− Parameter { name: "index"; type: "int" }
18− Parameter { name: "animate"; type: "bool" }
19− Parameter { name: "isSwipe"; type: "bool" }
20− }
21− }
22− Component {
23− name: "DashCommunicatorService"
24− prototype: "QObject"
25− exports: ["Unity.DashCommunicator/DashCommunicatorService 0.1"]
26− exportMetaObjectRevisions: [0]
27− Signal {
28− name: "setCurrentScopeRequested"
29− Parameter { name: "index"; type: "int" }
30− Parameter { name: "animate"; type: "bool" }
31− Parameter { name: "isSwipe"; type: "bool" }
32− }
33− }
34− Component {
35− name: "QThread"
36− prototype: "QObject"
37− Signal { name: "started" }
38− Signal { name: "finished" }
39− Method {
40− name: "start"
41− Parameter { type: "Priority" }
42− }
43− Method { name: "start" }
44− Method { name: "terminate" }
45− Method { name: "quit" }
46− }
47−}
plugins/Unity/Indicators/Indicators.qmltypesdeleted−264
@@ -1,264 +0,0 @@
1−import QtQuick.tooling 1.1
2−
3−// This file describes the plugin-supplied types contained in the library.
4−// It is used for QML tooling purposes only.
5−//
6−// This file was auto-generated by:
7−// 'qmlplugindump -notrelocatable Unity.Indicators 0.1 plugins'
8−
9−Module {
10− Component {
11− name: "ActionRootState"
12− prototype: "RootStateObject"
13− exports: ["Unity.Indicators/ActionRootState 0.1"]
14− exportMetaObjectRevisions: [0]
15− Property { name: "actionGroup"; type: "QDBusActionGroup"; isPointer: true }
16− Property { name: "actionName"; type: "string" }
17− }
18− Component {
19− name: "ActionState"
20− prototype: "QObject"
21− exports: ["Unity.Indicators/ActionState 0.1"]
22− isCreatable: false
23− exportMetaObjectRevisions: [0]
24− Enum {
25− name: "ActionStates"
26− values: {
27− "Label": 0,
28− "IconSource": 1,
29− "AccessableName": 2,
30− "Visible": 3
31− }
32− }
33− }
34− Component {
35− name: "FlatMenuProxyModelRole"
36− prototype: "QObject"
37− exports: ["Unity.Indicators/FlatMenuProxyModelRole 0.1"]
38− isCreatable: false
39− exportMetaObjectRevisions: [0]
40− Enum {
41− name: "Roles"
42− values: {
43− "Action": 1,
44− "Label": 2,
45− "Extra": 3,
46− "Depth": 4,
47− "hasSection": 5,
48− "hasSubMenu": 6
49− }
50− }
51− }
52− Component {
53− name: "IndicatorsManager"
54− prototype: "QObject"
55− exports: ["Unity.Indicators/IndicatorsManager 0.1"]
56− exportMetaObjectRevisions: [0]
57− Property { name: "loaded"; type: "bool"; isReadonly: true }
58− Property { name: "profile"; type: "string" }
59− Signal {
60− name: "loadedChanged"
61− Parameter { type: "bool" }
62− }
63− Signal {
64− name: "profileChanged"
65− Parameter { type: "string" }
66− }
67− Signal {
68− name: "indicatorLoaded"
69− Parameter { name: "indicator_name"; type: "string" }
70− }
71− Signal {
72− name: "indicatorAboutToBeUnloaded"
73− Parameter { name: "indicator_name"; type: "string" }
74− }
75− Method { name: "load" }
76− Method { name: "unload" }
77− }
78− Component {
79− name: "IndicatorsModel"
80− prototype: "QAbstractListModel"
81− exports: ["Unity.Indicators/IndicatorsModel 0.1"]
82− exportMetaObjectRevisions: [0]
83− Property { name: "count"; type: "int"; isReadonly: true }
84− Property { name: "profile"; type: "string" }
85− Signal {
86− name: "indicatorDataChanged"
87− Parameter { name: "data"; type: "QVariant" }
88− }
89− Method { name: "load" }
90− Method { name: "unload" }
91− Method {
92− name: "data"
93− type: "QVariant"
94− Parameter { name: "row"; type: "int" }
95− Parameter { name: "role"; type: "int" }
96− }
97− }
98− Component {
99− name: "IndicatorsModelRole"
100− prototype: "QObject"
101− exports: ["Unity.Indicators/IndicatorsModelRole 0.1"]
102− isCreatable: false
103− exportMetaObjectRevisions: [0]
104− Enum {
105− name: "Roles"
106− values: {
107− "Identifier": 0,
108− "Position": 1,
109− "IndicatorProperties": 2
110− }
111− }
112− }
113− Component {
114− name: "MenuContentActivator"
115− prototype: "QObject"
116− exports: ["Unity.Indicators/MenuContentActivator 0.1"]
117− exportMetaObjectRevisions: [0]
118− Property { name: "baseIndex"; type: "int" }
119− Property { name: "running"; type: "bool" }
120− Property { name: "count"; type: "int" }
121− Property { name: "content"; type: "MenuContentState"; isList: true; isReadonly: true }
122− Signal {
123− name: "baseIndexChanged"
124− Parameter { name: "baseIndex"; type: "int" }
125− }
126− Signal {
127− name: "deltaChanged"
128− Parameter { name: "delta"; type: "int" }
129− }
130− Signal {
131− name: "runningChanged"
132− Parameter { name: "running"; type: "bool" }
133− }
134− Signal {
135− name: "countChanged"
136− Parameter { name: "count"; type: "int" }
137− }
138− Method { name: "restart" }
139− Method { name: "stop" }
140− Method { name: "clear" }
141− Method {
142− name: "isMenuContentActive"
143− type: "bool"
144− Parameter { name: "index"; type: "int" }
145− }
146− }
147− Component {
148− name: "MenuContentState"
149− prototype: "QObject"
150− exports: ["Unity.Indicators/MenuContentState 0.1"]
151− isCreatable: false
152− exportMetaObjectRevisions: [0]
153− Property { name: "active"; type: "bool"; isReadonly: true }
154− }
155− Component {
156− name: "ModelActionRootState"
157− prototype: "RootStateObject"
158− exports: ["Unity.Indicators/ModelActionRootState 0.1"]
159− exportMetaObjectRevisions: [0]
160− Property { name: "menu"; type: "UnityMenuModel"; isPointer: true }
161− Signal { name: "indexChanged" }
162− }
163− Component {
164− name: "ModelPrinter"
165− prototype: "QObject"
166− exports: ["Unity.Indicators/ModelPrinter 0.1"]
167− exportMetaObjectRevisions: [0]
168− Property { name: "model"; type: "UnityMenuModel"; isPointer: true }
169− Property { name: "text"; type: "string"; isReadonly: true }
170− Method { name: "text"; type: "string" }
171− }
172− Component {
173− name: "NetworkActionState"
174− prototype: "QObject"
175− exports: ["Unity.Indicators/NetworkActionState 0.1"]
176− isCreatable: false
177− exportMetaObjectRevisions: [0]
178− Enum {
179− name: "NetworkActionStates"
180− values: {
181− "Connection": 1,
182− "SignalStrength": 2
183− }
184− }
185− }
186− Component {
187− name: "NetworkConnection"
188− prototype: "QObject"
189− exports: ["Unity.Indicators/NetworkConnection 0.1"]
190− isCreatable: false
191− exportMetaObjectRevisions: [0]
192− Enum {
193− name: "NetworkConnectionStates"
194− values: {
195− "Initial": 0,
196− "Activating": 1,
197− "Activated": 2,
198− "Deactivating": 3
199− }
200− }
201− }
202− Component {
203− name: "RootStateObject"
204− prototype: "QObject"
205− Property { name: "valid"; type: "bool"; isReadonly: true }
206− Property { name: "title"; type: "string"; isReadonly: true }
207− Property { name: "leftLabel"; type: "string"; isReadonly: true }
208− Property { name: "rightLabel"; type: "string"; isReadonly: true }
209− Property { name: "icons"; type: "QStringList"; isReadonly: true }
210− Property { name: "accessibleName"; type: "string"; isReadonly: true }
211− Property { name: "indicatorVisible"; type: "bool"; isReadonly: true }
212− Signal { name: "updated" }
213− }
214− Component {
215− name: "SharedUnityMenuModel"
216− prototype: "QObject"
217− exports: ["Unity.Indicators/SharedUnityMenuModel 0.1"]
218− exportMetaObjectRevisions: [0]
219− Property { name: "busName"; type: "QByteArray" }
220− Property { name: "menuObjectPath"; type: "QByteArray" }
221− Property { name: "actions"; type: "QVariantMap" }
222− Property { name: "model"; type: "UnityMenuModel"; isReadonly: true; isPointer: true }
223− }
224− Component {
225− name: "UnityMenuModelCache"
226− prototype: "QObject"
227− exports: ["Unity.Indicators/UnityMenuModelCache 0.1"]
228− isCreatable: false
229− isSingleton: true
230− exportMetaObjectRevisions: [0]
231− Method {
232− name: "contains"
233− type: "bool"
234− Parameter { name: "path"; type: "QByteArray" }
235− }
236− }
237− Component {
238− name: "UnityMenuModelStack"
239− prototype: "QObject"
240− exports: ["Unity.Indicators/UnityMenuModelStack 0.1"]
241− exportMetaObjectRevisions: [0]
242− Property { name: "head"; type: "UnityMenuModel"; isPointer: true }
243− Property { name: "tail"; type: "UnityMenuModel"; isReadonly: true; isPointer: true }
244− Property { name: "count"; type: "int"; isReadonly: true }
245− Signal {
246− name: "headChanged"
247− Parameter { name: "head"; type: "UnityMenuModel"; isPointer: true }
248− }
249− Signal {
250− name: "tailChanged"
251− Parameter { name: "tail"; type: "UnityMenuModel"; isPointer: true }
252− }
253− Signal {
254− name: "countChanged"
255− Parameter { name: "count"; type: "int" }
256− }
257− Method {
258− name: "push"
259− Parameter { name: "model"; type: "UnityMenuModel"; isPointer: true }
260− Parameter { name: "menuIndex"; type: "int" }
261− }
262− Method { name: "pop"; type: "UnityMenuModel*" }
263− }
264−}
plugins/Unity/InputInfo/InputInfo.qmltypesdeleted−71
@@ -1,71 +0,0 @@
1−import QtQuick.tooling 1.1
2−
3−// This file describes the plugin-supplied types contained in the library.
4−// It is used for QML tooling purposes only.
5−//
6−// This file was auto-generated by:
7−// 'qmlplugindump -notrelocatable Unity.InputInfo 0.1 plugins'
8−
9−Module {
10− Component {
11− name: "QDeclarativeInputDeviceModel"
12− prototype: "QAbstractListModel"
13− exports: ["Unity.InputInfo/InputDeviceModel 0.1"]
14− exportMetaObjectRevisions: [0]
15− Property { name: "deviceFilter"; type: "QInputDevice::InputType" }
16− Property { name: "count"; type: "int"; isReadonly: true }
17− Signal {
18− name: "deviceAdded"
19− Parameter { name: "devicePath"; type: "string" }
20− }
21− Signal {
22− name: "deviceRemoved"
23− Parameter { name: "devicePath"; type: "string" }
24− }
25− Signal {
26− name: "deviceFilterChanged"
27− Parameter { name: "filter"; type: "QInputDevice::InputType" }
28− }
29− Method { name: "updateDeviceList" }
30− Method {
31− name: "indexOf"
32− type: "int"
33− Parameter { name: "devicePath"; type: "string" }
34− }
35− Method {
36− name: "get"
37− type: "QInputDevice*"
38− Parameter { name: "index"; type: "int" }
39− }
40− }
41− Component {
42− name: "QInputDevice"
43− prototype: "QObject"
44− exports: ["Unity.InputInfo/InputInfo 0.1"]
45− exportMetaObjectRevisions: [0]
46− Enum {
47− name: "InputType"
48− values: {
49− "Unknown": 0,
50− "Button": 1,
51− "Mouse": 2,
52− "TouchPad": 4,
53− "TouchScreen": 8,
54− "Keyboard": 16,
55− "Switch": 32
56− }
57− }
58− Enum {
59− name: "InputTypeFlags"
60− values: {
61− "Unknown": 0,
62− "Button": 1,
63− "Mouse": 2,
64− "TouchPad": 4,
65− "TouchScreen": 8,
66− "Keyboard": 16,
67− "Switch": 32
68− }
69− }
70− }
71−}
plugins/Unity/InputInfo/linux/qinputdeviceinfo_linux.cpp+7−2
@@ -44,6 +44,7 @@
44#include <libudev.h>
44#include <libudev.h>
45#include <libevdev/libevdev.h>
45#include <libevdev/libevdev.h>
46#include <fcntl.h>
46#include <fcntl.h>
47+#include <unistd.h>
47#include <QDebug>
48#include <QDebug>
48#include <QSocketNotifier>
49#include <QSocketNotifier>
49#include <QTimer>
50#include <QTimer>
@@ -52,6 +53,7 @@
52QInputDeviceManagerPrivate::QInputDeviceManagerPrivate(QObject *parent) :
53QInputDeviceManagerPrivate::QInputDeviceManagerPrivate(QObject *parent) :
53 QObject(parent),
54 QObject(parent),
54 currentFilter(QInputDevice::Unknown),
55 currentFilter(QInputDevice::Unknown),
56+ udevMonitor(0),
55 udevice(0)
57 udevice(0)
56{
58{
57 QTimer::singleShot(250,this,SLOT(init()));
59 QTimer::singleShot(250,this,SLOT(init()));
@@ -83,9 +85,9 @@ void QInputDeviceManagerPrivate::init()
83 udev_enumerate_add_match_subsystem(enumerate, subsystem.toLatin1());
85 udev_enumerate_add_match_subsystem(enumerate, subsystem.toLatin1());
84
86
85 udev_monitor_enable_receiving(udevMonitor);
87 udev_monitor_enable_receiving(udevMonitor);
86− notifierFd = udev_monitor_get_fd(udevMonitor);
88+ int notifierFd = udev_monitor_get_fd(udevMonitor);
87
89
88− notifier = new QSocketNotifier(notifierFd, QSocketNotifier::Read, this);
90+ QSocketNotifier *notifier = new QSocketNotifier(notifierFd, QSocketNotifier::Read, this);
89 connect(notifier, SIGNAL(activated(int)), this, SLOT(onUDevChanges()));
91 connect(notifier, SIGNAL(activated(int)), this, SLOT(onUDevChanges()));
90
92
91 udev_enumerate_scan_devices(enumerate);
93 udev_enumerate_scan_devices(enumerate);
@@ -168,6 +170,7 @@ QInputDevice *QInputDeviceManagerPrivate::addDevice(struct udev_device *udev)
168 rc = libevdev_new_from_fd(fd, &dev);
170 rc = libevdev_new_from_fd(fd, &dev);
169 if (rc < 0) {
171 if (rc < 0) {
170 qWarning() << "Failed to init libevdev ("<< strerror(-rc) << ")";
172 qWarning() << "Failed to init libevdev ("<< strerror(-rc) << ")";
173+ close(fd);
171 return Q_NULLPTR;
174 return Q_NULLPTR;
172 }
175 }
173
176
@@ -195,6 +198,8 @@ QInputDevice *QInputDeviceManagerPrivate::addDevice(struct udev_device *udev)
195 }
198 }
196 }
199 }
197
200
201+ libevdev_free(dev);
202+ close(fd);
198 return inputDevice;
203 return inputDevice;
199}
204}
200
205
plugins/Unity/InputInfo/linux/qinputdeviceinfo_linux_p.h−2
@@ -83,8 +83,6 @@ private:
83
83
84 QInputDevice *addDevice(const QString &path);
84 QInputDevice *addDevice(const QString &path);
85 void removeDevice(const QString &path);
85 void removeDevice(const QString &path);
86− QSocketNotifier *notifier;
87− int notifierFd;
88 struct udev_monitor *udevMonitor;
86 struct udev_monitor *udevMonitor;
89 QInputDevice::InputTypeFlags getInputTypeFlags(struct udev_device *);
87 QInputDevice::InputTypeFlags getInputTypeFlags(struct udev_device *);
90 struct udev *udevice;
88 struct udev *udevice;
plugins/Unity/InputInfo/plugin.h+1−1
@@ -24,7 +24,7 @@ class InputInfoPlugin : public QQmlExtensionPlugin
24 Q_OBJECT
24 Q_OBJECT
25 Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
25 Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
26public:
26public:
27− void registerTypes(const char *uri);
27+ void registerTypes(const char *uri) override;
28};
28};
29
29
30#endif // INPUTINFO_PLUGIN_H
30#endif // INPUTINFO_PLUGIN_H
plugins/Unity/InputInfo/qdeclarativeinputdevicemodel_p.h+3−3
@@ -69,8 +69,8 @@ public:
69 explicit QDeclarativeInputDeviceModel(QObject *parent = 0);
69 explicit QDeclarativeInputDeviceModel(QObject *parent = 0);
70 virtual ~QDeclarativeInputDeviceModel();
70 virtual ~QDeclarativeInputDeviceModel();
71
71
72− QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
72+ QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
73− int rowCount(const QModelIndex &parent = QModelIndex()) const;
73+ int rowCount(const QModelIndex &parent = QModelIndex()) const override;
74
74
75 void setDeviceFilter(QInputDevice::InputType filter);
75 void setDeviceFilter(QInputDevice::InputType filter);
76 QInputDevice::InputType deviceFilter();
76 QInputDevice::InputType deviceFilter();
@@ -78,7 +78,7 @@ public:
78 Q_INVOKABLE int indexOf(const QString &devicePath) const;
78 Q_INVOKABLE int indexOf(const QString &devicePath) const;
79
79
80 Q_INVOKABLE QInputDevice *get(int index) const;
80 Q_INVOKABLE QInputDevice *get(int index) const;
81− QHash<int, QByteArray> roleNames() const;
81+ QHash<int, QByteArray> roleNames() const override;
82
82
83Q_SIGNALS:
83Q_SIGNALS:
84 void deviceAdded(const QString &devicePath);
84 void deviceAdded(const QString &devicePath);
plugins/Unity/Launcher/CMakeLists.txt+3−1
@@ -1,4 +1,4 @@
1−pkg_check_modules(LAUNCHER_API REQUIRED unity-shell-launcher=7)
1+pkg_check_modules(LAUNCHER_API REQUIRED unity-shell-launcher=9)
2pkg_check_modules(GSETTINGS_QT REQUIRED gsettings-qt)
2pkg_check_modules(GSETTINGS_QT REQUIRED gsettings-qt)
3
3
4add_definitions(-DSM_BUSNAME=systemBus)
4add_definitions(-DSM_BUSNAME=systemBus)
@@ -23,6 +23,8 @@ set(QMLLAUNCHERPLUGIN_SRC
23 asadapter.cpp
23 asadapter.cpp
24 ${CMAKE_SOURCE_DIR}/plugins/AccountsService/AccountsServiceDBusAdaptor.cpp
24 ${CMAKE_SOURCE_DIR}/plugins/AccountsService/AccountsServiceDBusAdaptor.cpp
25 ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/ApplicationManagerInterface.h
25 ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/ApplicationManagerInterface.h
26+ ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/ApplicationInfoInterface.h
27+ ${APPLICATION_API_INCLUDEDIR}/unity/shell/application/MirSurfaceListInterface.h
26 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/launcher/LauncherItemInterface.h
28 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/launcher/LauncherItemInterface.h
27 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/launcher/LauncherModelInterface.h
29 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/launcher/LauncherModelInterface.h
28 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/launcher/QuickListModelInterface.h
30 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/launcher/QuickListModelInterface.h
plugins/Unity/Launcher/Launcher.qmltypesdeleted−182
@@ -1,182 +0,0 @@
1−import QtQuick.tooling 1.1
2−
3−// This file describes the plugin-supplied types contained in the library.
4−// It is used for QML tooling purposes only.
5−//
6−// This file was auto-generated by:
7−// 'qmlplugindump -notrelocatable Unity.Launcher 0.1 plugins'
8−
9−Module {
10− Component {
11− name: "LauncherItem"
12− prototype: "unity::shell::launcher::LauncherItemInterface"
13− exports: ["Unity.Launcher/LauncherItem 0.1"]
14− isCreatable: false
15− exportMetaObjectRevisions: [0]
16− }
17− Component {
18− name: "LauncherModel"
19− prototype: "unity::shell::launcher::LauncherModelInterface"
20− exports: ["Unity.Launcher/LauncherModel 0.1"]
21− isCreatable: false
22− isSingleton: true
23− exportMetaObjectRevisions: [0]
24− Method {
25− name: "requestRemove"
26− Parameter { name: "appId"; type: "string" }
27− }
28− Method { name: "refresh" }
29− Method {
30− name: "get"
31− type: "unity::shell::launcher::LauncherItemInterface*"
32− Parameter { name: "index"; type: "int" }
33− }
34− Method {
35− name: "move"
36− Parameter { name: "oldIndex"; type: "int" }
37− Parameter { name: "newIndex"; type: "int" }
38− }
39− Method {
40− name: "pin"
41− Parameter { name: "appId"; type: "string" }
42− Parameter { name: "index"; type: "int" }
43− }
44− Method {
45− name: "pin"
46− Parameter { name: "appId"; type: "string" }
47− }
48− Method {
49− name: "quickListActionInvoked"
50− Parameter { name: "appId"; type: "string" }
51− Parameter { name: "actionIndex"; type: "int" }
52− }
53− Method {
54− name: "setUser"
55− Parameter { name: "username"; type: "string" }
56− }
57− Method {
58− name: "getUrlForAppId"
59− type: "string"
60− Parameter { name: "appId"; type: "string" }
61− }
62− }
63− Component {
64− name: "QuickListModel"
65− prototype: "unity::shell::launcher::QuickListModelInterface"
66− exports: ["Unity.Launcher/QuickListModel 0.1"]
67− isCreatable: false
68− exportMetaObjectRevisions: [0]
69− }
70− Component {
71− name: "unity::shell::launcher::LauncherItemInterface"
72− prototype: "QObject"
73− exports: ["Unity.Launcher/LauncherItemInterface 0.1"]
74− isCreatable: false
75− exportMetaObjectRevisions: [0]
76− Property { name: "appId"; type: "string"; isReadonly: true }
77− Property { name: "name"; type: "string"; isReadonly: true }
78− Property { name: "icon"; type: "string"; isReadonly: true }
79− Property { name: "pinned"; type: "bool"; isReadonly: true }
80− Property { name: "running"; type: "bool"; isReadonly: true }
81− Property { name: "recent"; type: "bool"; isReadonly: true }
82− Property { name: "progress"; type: "int"; isReadonly: true }
83− Property { name: "count"; type: "int"; isReadonly: true }
84− Property { name: "countVisible"; type: "bool"; isReadonly: true }
85− Property { name: "focused"; type: "bool"; isReadonly: true }
86− Property {
87− name: "quickList"
88− type: "unity::shell::launcher::QuickListModelInterface"
89− isReadonly: true
90− isPointer: true
91− }
92− Signal {
93− name: "nameChanged"
94− Parameter { name: "name"; type: "string" }
95− }
96− Signal {
97− name: "iconChanged"
98− Parameter { name: "icon"; type: "string" }
99− }
100− Signal {
101− name: "pinnedChanged"
102− Parameter { name: "pinned"; type: "bool" }
103− }
104− Signal {
105− name: "runningChanged"
106− Parameter { name: "running"; type: "bool" }
107− }
108− Signal {
109− name: "recentChanged"
110− Parameter { name: "running"; type: "bool" }
111− }
112− Signal {
113− name: "progressChanged"
114− Parameter { name: "progress"; type: "int" }
115− }
116− Signal {
117− name: "countChanged"
118− Parameter { name: "count"; type: "int" }
119− }
120− Signal {
121− name: "countVisibleChanged"
122− Parameter { name: "countVisible"; type: "bool" }
123− }
124− Signal {
125− name: "focusedChanged"
126− Parameter { name: "focused"; type: "bool" }
127− }
128− }
129− Component {
130− name: "unity::shell::launcher::LauncherModelInterface"
131− prototype: "QAbstractListModel"
132− exports: ["Unity.Launcher/LauncherModelInterface 0.1"]
133− isCreatable: false
134− exportMetaObjectRevisions: [0]
135− Property {
136− name: "applicationManager"
137− type: "unity::shell::application::ApplicationManagerInterface"
138− isPointer: true
139− }
140− Property { name: "onlyPinned"; type: "bool" }
141− Signal { name: "hint" }
142− Method {
143− name: "move"
144− Parameter { name: "oldIndex"; type: "int" }
145− Parameter { name: "newIndex"; type: "int" }
146− }
147− Method {
148− name: "get"
149− type: "unity::shell::launcher::LauncherItemInterface*"
150− Parameter { name: "index"; type: "int" }
151− }
152− Method {
153− name: "pin"
154− Parameter { name: "appId"; type: "string" }
155− Parameter { name: "index"; type: "int" }
156− }
157− Method {
158− name: "pin"
159− Parameter { name: "appId"; type: "string" }
160− }
161− Method {
162− name: "requestRemove"
163− Parameter { name: "appId"; type: "string" }
164− }
165− Method {
166− name: "quickListActionInvoked"
167− Parameter { name: "appId"; type: "string" }
168− Parameter { name: "actionIndex"; type: "int" }
169− }
170− Method {
171− name: "setUser"
172− Parameter { name: "username"; type: "string" }
173− }
174− }
175− Component {
176− name: "unity::shell::launcher::QuickListModelInterface"
177− prototype: "QAbstractListModel"
178− exports: ["Unity.Launcher/QuickListInterface 0.1"]
179− isCreatable: false
180− exportMetaObjectRevisions: [0]
181− }
182−}
plugins/Unity/Launcher/launcheritem.cpp+14−9
@@ -35,6 +35,7 @@ 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),
38 m_quickList(new QuickListModel(this))
39 m_quickList(new QuickListModel(this))
39{
40{
40 Q_ASSERT(parent != nullptr);
41 Q_ASSERT(parent != nullptr);
@@ -162,9 +163,6 @@ void LauncherItem::setCount(int count)
162 if (m_count != count) {
163 if (m_count != count) {
163 m_count = count;
164 m_count = count;
164 Q_EMIT countChanged(count);
165 Q_EMIT countChanged(count);
165− if (m_countVisible) {
166− setAlerting(true);
167− }
168 }
166 }
169}
167}
170
168
@@ -178,9 +176,6 @@ void LauncherItem::setCountVisible(bool countVisible)
178 if (m_countVisible != countVisible) {
176 if (m_countVisible != countVisible) {
179 m_countVisible = countVisible;
177 m_countVisible = countVisible;
180 Q_EMIT countVisibleChanged(countVisible);
178 Q_EMIT countVisibleChanged(countVisible);
181− if (countVisible) {
182− setAlerting(true);
183− }
184 }
179 }
185}
180}
186
181
@@ -193,9 +188,6 @@ void LauncherItem::setFocused(bool focused)
193{
188{
194 if (m_focused != focused) {
189 if (m_focused != focused) {
195 m_focused = focused;
190 m_focused = focused;
196− if (focused) {
197− setAlerting(false);
198− }
199 Q_EMIT focusedChanged(focused);
191 Q_EMIT focusedChanged(focused);
200 }
192 }
201}
193}
@@ -213,6 +205,19 @@ void LauncherItem::setAlerting(bool alerting)
213 }
205 }
214}
206}
215
207
208+int LauncherItem::surfaceCount() const
209+{
210+ return m_surfaceCount;
211+}
212+
213+void LauncherItem::setSurfaceCount(int surfaceCount)
214+{
215+ if (m_surfaceCount != surfaceCount) {
216+ m_surfaceCount = surfaceCount;
217+ Q_EMIT surfaceCountChanged(surfaceCount);
218+ }
219+}
220+
216unity::shell::launcher::QuickListModelInterface *LauncherItem::quickList() const
221unity::shell::launcher::QuickListModelInterface *LauncherItem::quickList() const
217{
222{
218 return m_quickList;
223 return m_quickList;
plugins/Unity/Launcher/launcheritem.h+3
@@ -45,6 +45,7 @@ public:
45 bool countVisible() const override;
45 bool countVisible() const override;
46 bool focused() const override;
46 bool focused() const override;
47 bool alerting() const override;
47 bool alerting() const override;
48+ int surfaceCount() const override;
48
49
49 unity::shell::launcher::QuickListModelInterface *quickList() const override;
50 unity::shell::launcher::QuickListModelInterface *quickList() const override;
50
51
@@ -59,6 +60,7 @@ private:
59 void setCountVisible(bool countVisible);
60 void setCountVisible(bool countVisible);
60 void setFocused(bool focused);
61 void setFocused(bool focused);
61 void setAlerting(bool alerting);
62 void setAlerting(bool alerting);
63+ void setSurfaceCount(int surfaceCount);
62
64
63private:
65private:
64 QString m_appId;
66 QString m_appId;
@@ -72,6 +74,7 @@ private:
72 bool m_countVisible;
74 bool m_countVisible;
73 bool m_focused;
75 bool m_focused;
74 bool m_alerting;
76 bool m_alerting;
77+ int m_surfaceCount;
75 QuickListModel *m_quickList;
78 QuickListModel *m_quickList;
76 QuickListEntry m_quitAction;
79 QuickListEntry m_quitAction;
77
80
plugins/Unity/Launcher/launchermodel.cpp+58−26
@@ -25,6 +25,7 @@
25#include "asadapter.h"
25#include "asadapter.h"
26
26
27#include <unity/shell/application/ApplicationInfoInterface.h>
27#include <unity/shell/application/ApplicationInfoInterface.h>
28+#include <unity/shell/application/MirSurfaceListInterface.h>
28
29
29#include <QDesktopServices>
30#include <QDesktopServices>
30#include <QDebug>
31#include <QDebug>
@@ -88,6 +89,8 @@ QVariant LauncherModel::data(const QModelIndex &index, int role) const
88 return item->alerting();
89 return item->alerting();
89 case RoleRunning:
90 case RoleRunning:
90 return item->running();
91 return item->running();
92+ case RoleSurfaceCount:
93+ return item->surfaceCount();
91 default:
94 default:
92 qWarning() << Q_FUNC_INFO << "missing role, implement me";
95 qWarning() << Q_FUNC_INFO << "missing role, implement me";
93 return QVariant();
96 return QVariant();
@@ -96,18 +99,6 @@ QVariant LauncherModel::data(const QModelIndex &index, int role) const
96 return QVariant();
99 return QVariant();
97}
100}
98
101
99−void LauncherModel::setAlerting(const QString &appId, bool alerting) {
100− int index = findApplication(appId);
101− if (index >= 0) {
102− QModelIndex modelIndex = this->index(index);
103− LauncherItem *item = m_list.at(index);
104− if (!item->focused()) {
105− item->setAlerting(alerting);
106− Q_EMIT dataChanged(modelIndex, modelIndex, {RoleAlerting});
107− }
108− }
109−}
110−
111unity::shell::launcher::LauncherItemInterface *LauncherModel::get(int index) const
102unity::shell::launcher::LauncherItemInterface *LauncherModel::get(int index) const
112{
103{
113 if (index < 0 || index >= m_list.count()) {
104 if (index < 0 || index >= m_list.count()) {
@@ -358,11 +349,13 @@ void LauncherModel::countChanged(const QString &appId, int count)
358 if (idx >= 0) {
349 if (idx >= 0) {
359 LauncherItem *item = m_list.at(idx);
350 LauncherItem *item = m_list.at(idx);
360 item->setCount(count);
351 item->setCount(count);
352+ QVector<int> changedRoles = {RoleCount};
361− if (item->countVisible()) {
353+ if (item->countVisible() && !item->alerting() && !item->focused()) {
354+ changedRoles << RoleAlerting;
362− setAlerting(item->appId(), true);
355+ item->setAlerting(true);
363 }
356 }
364 m_asAdapter->syncItems(m_list);
357 m_asAdapter->syncItems(m_list);
365− Q_EMIT dataChanged(index(idx), index(idx), {RoleCount});
358+ Q_EMIT dataChanged(index(idx), index(idx), changedRoles);
366 }
359 }
367}
360}
368
361
@@ -372,10 +365,12 @@ void LauncherModel::countVisibleChanged(const QString &appId, bool countVisible)
372 if (idx >= 0) {
365 if (idx >= 0) {
373 LauncherItem *item = m_list.at(idx);
366 LauncherItem *item = m_list.at(idx);
374 item->setCountVisible(countVisible);
367 item->setCountVisible(countVisible);
368+ QVector<int> changedRoles = {RoleCount};
375− if (countVisible) {
369+ if (countVisible && !item->alerting() && !item->focused()) {
370+ changedRoles << RoleAlerting;
376− setAlerting(item->appId(), true);
371+ item->setAlerting(true);
377 }
372 }
378− Q_EMIT dataChanged(index(idx), index(idx), {RoleCountVisible});
373+ Q_EMIT dataChanged(index(idx), index(idx), changedRoles);
379
374
380 // If countVisible goes to false, and the item is neither pinned nor recent we can drop it
375 // If countVisible goes to false, and the item is neither pinned nor recent we can drop it
381 if (!countVisible && !item->pinned() && !item->recent()) {
376 if (!countVisible && !item->pinned() && !item->recent()) {
@@ -498,8 +493,10 @@ void LauncherModel::alert(const QString &appId)
498 int idx = findApplication(appId);
493 int idx = findApplication(appId);
499 if (idx >= 0) {
494 if (idx >= 0) {
500 LauncherItem *item = m_list.at(idx);
495 LauncherItem *item = m_list.at(idx);
496+ if (!item->focused() && !item->alerting()) {
501− setAlerting(item->appId(), true);
497+ item->setAlerting(true);
502− Q_EMIT dataChanged(index(idx), index(idx), {RoleAlerting});
498+ Q_EMIT dataChanged(index(idx), index(idx), {RoleAlerting});
499+ }
503 }
500 }
504}
501}
505
502
@@ -525,28 +522,50 @@ void LauncherModel::applicationAdded(const QModelIndex &parent, int row)
525 item->setRecent(true);
522 item->setRecent(true);
526 Q_EMIT dataChanged(index(itemIndex), index(itemIndex), {RoleRecent});
523 Q_EMIT dataChanged(index(itemIndex), index(itemIndex), {RoleRecent});
527 }
524 }
525+ if (item->surfaceCount() != app->surfaceCount()) {
526+ item->setSurfaceCount(app->surfaceCount());
527+ Q_EMIT dataChanged(index(itemIndex), index(itemIndex), {RoleSurfaceCount});
528+ }
529+
528 item->setRunning(true);
530 item->setRunning(true);
529 } else {
531 } else {
530 LauncherItem *item = new LauncherItem(app->appId(), app->name(), app->icon().toString(), this);
532 LauncherItem *item = new LauncherItem(app->appId(), app->name(), app->icon().toString(), this);
531 item->setRecent(true);
533 item->setRecent(true);
532 item->setRunning(true);
534 item->setRunning(true);
533 item->setFocused(app->focused());
535 item->setFocused(app->focused());
534−
536+ item->setSurfaceCount(app->surfaceCount());
535 beginInsertRows(QModelIndex(), m_list.count(), m_list.count());
537 beginInsertRows(QModelIndex(), m_list.count(), m_list.count());
536 m_list.append(item);
538 m_list.append(item);
537 endInsertRows();
539 endInsertRows();
538 }
540 }
541+ connect(app, &ApplicationInfoInterface::surfaceCountChanged, this, &LauncherModel::applicationSurfaceCountChanged);
539 m_asAdapter->syncItems(m_list);
542 m_asAdapter->syncItems(m_list);
540 Q_EMIT dataChanged(index(itemIndex), index(itemIndex), {RoleRunning});
543 Q_EMIT dataChanged(index(itemIndex), index(itemIndex), {RoleRunning});
541}
544}
542
545
546+void LauncherModel::applicationSurfaceCountChanged(int count)
547+{
548+ ApplicationInfoInterface *app = static_cast<ApplicationInfoInterface*>(sender());
549+ int idx = findApplication(app->appId());
550+ if (idx < 0) {
551+ qWarning() << "Received a surface count changed event from an app that's not in the Launcher model";
552+ return;
553+ }
554+ LauncherItem *item = m_list.at(idx);
555+ if (item->surfaceCount() != count) {
556+ item->setSurfaceCount(count);
557+ Q_EMIT dataChanged(index(idx), index(idx), {RoleSurfaceCount});
558+ }
559+}
560+
543void LauncherModel::applicationRemoved(const QModelIndex &parent, int row)
561void LauncherModel::applicationRemoved(const QModelIndex &parent, int row)
544{
562{
545 Q_UNUSED(parent)
563 Q_UNUSED(parent)
546
564
565+ ApplicationInfoInterface *app = m_appManager->get(row);
547 int appIndex = -1;
566 int appIndex = -1;
548 for (int i = 0; i < m_list.count(); ++i) {
567 for (int i = 0; i < m_list.count(); ++i) {
549− if (m_list.at(i)->appId() == m_appManager->get(row)->appId()) {
568+ if (m_list.at(i)->appId() == app->appId()) {
550 appIndex = i;
569 appIndex = i;
551 break;
570 break;
552 }
571 }
@@ -557,17 +576,24 @@ void LauncherModel::applicationRemoved(const QModelIndex &parent, int row)
557 return;
576 return;
558 }
577 }
559
578
579+ disconnect(app, &ApplicationInfoInterface::surfaceCountChanged, this, &LauncherModel::applicationSurfaceCountChanged);
580+
560 LauncherItem * item = m_list.at(appIndex);
581 LauncherItem * item = m_list.at(appIndex);
561− item->setRunning(false);
562
582
563 if (!item->pinned()) {
583 if (!item->pinned()) {
564 beginRemoveRows(QModelIndex(), appIndex, appIndex);
584 beginRemoveRows(QModelIndex(), appIndex, appIndex);
565 m_list.takeAt(appIndex)->deleteLater();
585 m_list.takeAt(appIndex)->deleteLater();
566 endRemoveRows();
586 endRemoveRows();
567 m_asAdapter->syncItems(m_list);
587 m_asAdapter->syncItems(m_list);
588+ } else {
589+ QVector<int> changedRoles = {RoleRunning};
590+ item->setRunning(false);
591+ if (item->focused()) {
592+ changedRoles << RoleFocused;
593+ item->setFocused(false);
594+ }
568− Q_EMIT dataChanged(index(appIndex), index(appIndex), {RolePinned});
595+ Q_EMIT dataChanged(index(appIndex), index(appIndex), changedRoles);
569 }
596 }
570− Q_EMIT dataChanged(index(appIndex), index(appIndex), {RoleRunning});
571}
597}
572
598
573void LauncherModel::focusedAppIdChanged()
599void LauncherModel::focusedAppIdChanged()
@@ -576,8 +602,14 @@ void LauncherModel::focusedAppIdChanged()
576 for (int i = 0; i < m_list.count(); ++i) {
602 for (int i = 0; i < m_list.count(); ++i) {
577 LauncherItem *item = m_list.at(i);
603 LauncherItem *item = m_list.at(i);
578 if (!item->focused() && item->appId() == appId) {
604 if (!item->focused() && item->appId() == appId) {
605+ QVector<int> changedRoles;
606+ changedRoles << RoleFocused;
579 item->setFocused(true);
607 item->setFocused(true);
580− Q_EMIT dataChanged(index(i), index(i), {RoleFocused});
608+ if (item->alerting()) {
609+ changedRoles << RoleAlerting;
610+ item->setAlerting(false);
611+ }
612+ Q_EMIT dataChanged(index(i), index(i), changedRoles);
581 } else if (item->focused() && item->appId() != appId) {
613 } else if (item->focused() && item->appId() != appId) {
582 item->setFocused(false);
614 item->setFocused(false);
583 Q_EMIT dataChanged(index(i), index(i), {RoleFocused});
615 Q_EMIT dataChanged(index(i), index(i), {RoleFocused});
plugins/Unity/Launcher/launchermodel.h+1−1
@@ -45,7 +45,6 @@ public:
45
45
46 QVariant data(const QModelIndex &index, int role) const override;
46 QVariant data(const QModelIndex &index, int role) const override;
47
47
48− Q_INVOKABLE void setAlerting(const QString &appId, bool alerting) override;
49 Q_INVOKABLE unity::shell::launcher::LauncherItemInterface* get(int index) const override;
48 Q_INVOKABLE unity::shell::launcher::LauncherItemInterface* get(int index) const override;
50 Q_INVOKABLE void move(int oldIndex, int newIndex) override;
49 Q_INVOKABLE void move(int oldIndex, int newIndex) override;
51 Q_INVOKABLE void pin(const QString &appId, int index = -1) override;
50 Q_INVOKABLE void pin(const QString &appId, int index = -1) override;
@@ -79,6 +78,7 @@ private Q_SLOTS:
79 void applicationAdded(const QModelIndex &parent, int row);
78 void applicationAdded(const QModelIndex &parent, int row);
80 void applicationRemoved(const QModelIndex &parent, int row);
79 void applicationRemoved(const QModelIndex &parent, int row);
81 void focusedAppIdChanged();
80 void focusedAppIdChanged();
81+ void applicationSurfaceCountChanged(int);
82
82
83private:
83private:
84 QList<LauncherItem*> m_list;
84 QList<LauncherItem*> m_list;
plugins/Unity/Platform/Platform.qmltypesdeleted−20
@@ -1,20 +0,0 @@
1−import QtQuick.tooling 1.1
2−
3−// This file describes the plugin-supplied types contained in the library.
4−// It is used for QML tooling purposes only.
5−//
6−// This file was auto-generated by:
7−// 'qmlplugindump -notrelocatable Unity.Platform 1.0 plugins'
8−
9−Module {
10− Component {
11− name: "Platform"
12− prototype: "QObject"
13− exports: ["Unity.Platform/Platform 1.0"]
14− isCreatable: false
15− isSingleton: true
16− exportMetaObjectRevisions: [0]
17− Property { name: "chassis"; type: "string"; isReadonly: true }
18− Property { name: "isPC"; type: "bool"; isReadonly: true }
19− }
20−}
plugins/Unity/Session/Session.qmltypesdeleted−85
@@ -1,85 +0,0 @@
1−import QtQuick.tooling 1.1
2−
3−// This file describes the plugin-supplied types contained in the library.
4−// It is used for QML tooling purposes only.
5−//
6−// This file was auto-generated by:
7−// 'qmlplugindump -notrelocatable Unity.Session 0.1 plugins'
8−
9−Module {
10− Component {
11− name: "DBusUnitySessionService"
12− prototype: "UnityDBusObject"
13− exports: ["Unity.Session/DBusUnitySessionService 0.1"]
14− isCreatable: false
15− isSingleton: true
16− exportMetaObjectRevisions: [0]
17− Signal {
18− name: "LogoutRequested"
19− Parameter { name: "have_inhibitors"; type: "bool" }
20− }
21− Signal {
22− name: "logoutRequested"
23− Parameter { name: "have_inhibitors"; type: "bool" }
24− }
25− Signal {
26− name: "RebootRequested"
27− Parameter { name: "have_inhibitors"; type: "bool" }
28− }
29− Signal {
30− name: "rebootRequested"
31− Parameter { name: "have_inhibitors"; type: "bool" }
32− }
33− Signal {
34− name: "ShutdownRequested"
35− Parameter { name: "have_inhibitors"; type: "bool" }
36− }
37− Signal {
38− name: "shutdownRequested"
39− Parameter { name: "have_inhibitors"; type: "bool" }
40− }
41− Signal { name: "LogoutReady" }
42− Signal { name: "logoutReady" }
43− Signal { name: "LockRequested" }
44− Signal { name: "lockRequested" }
45− Signal { name: "Locked" }
46− Signal { name: "Unlocked" }
47− Method { name: "Logout" }
48− Method { name: "Reboot" }
49− Method { name: "Shutdown" }
50− Method { name: "Suspend" }
51− Method { name: "Hibernate" }
52− Method { name: "HybridSleep" }
53− Method { name: "RequestLogout" }
54− Method { name: "RequestReboot" }
55− Method { name: "RequestShutdown" }
56− Method { name: "EndSession" }
57− Method { name: "CanHibernate"; type: "bool" }
58− Method { name: "CanSuspend"; type: "bool" }
59− Method { name: "CanHybridSleep"; type: "bool" }
60− Method { name: "CanReboot"; type: "bool" }
61− Method { name: "CanShutdown"; type: "bool" }
62− Method { name: "CanLock"; type: "bool" }
63− Method { name: "UserName"; type: "string" }
64− Method { name: "RealName"; type: "string" }
65− Method { name: "HostName"; type: "string" }
66− Method { name: "PromptLock" }
67− Method { name: "Lock" }
68− Method { name: "IsLocked"; type: "bool" }
69− Method { name: "logout" }
70− Method { name: "reboot" }
71− Method { name: "shutdown" }
72− Method { name: "endSession" }
73− }
74− Component {
75− name: "OrientationLock"
76− prototype: "QObject"
77− exports: ["Unity.Session/OrientationLock 0.1"]
78− isCreatable: false
79− isSingleton: true
80− exportMetaObjectRevisions: [0]
81− Property { name: "enabled"; type: "bool"; isReadonly: true }
82− Property { name: "savedOrientation"; type: "Qt::ScreenOrientation" }
83− }
84− Component { name: "UnityDBusObject"; prototype: "QObject" }
85−}
plugins/Unity/Session/dbusunitysessionservice.cpp+7
@@ -227,11 +227,14 @@ private Q_SLOTS:
227 {
227 {
228 if (!active) {
228 if (!active) {
229 setupSystemdInhibition();
229 setupSystemdInhibition();
230+ } else {
231+ Q_EMIT prepareForSleep();
230 }
232 }
231 }
233 }
232
234
233Q_SIGNALS:
235Q_SIGNALS:
234 void screensaverActiveChanged(bool active);
236 void screensaverActiveChanged(bool active);
237+ void prepareForSleep();
235};
238};
236
239
237Q_GLOBAL_STATIC(DBusUnitySessionServicePrivate, d)
240Q_GLOBAL_STATIC(DBusUnitySessionServicePrivate, d)
@@ -245,6 +248,7 @@ DBusUnitySessionService::DBusUnitySessionService()
245 // ... and our Unlocked() signal to the logind's session Unlock() signal
248 // ... and our Unlocked() signal to the logind's session Unlock() signal
246 // (lightdm handles the unlocking by calling logind's Unlock method which in turn emits this signal we connect to)
249 // (lightdm handles the unlocking by calling logind's Unlock method which in turn emits this signal we connect to)
247 QDBusConnection::systemBus().connect(LOGIN1_SERVICE, d->logindSessionPath, LOGIN1_SESSION_IFACE, QStringLiteral("Unlock"), this, SIGNAL(Unlocked()));
250 QDBusConnection::systemBus().connect(LOGIN1_SERVICE, d->logindSessionPath, LOGIN1_SESSION_IFACE, QStringLiteral("Unlock"), this, SIGNAL(Unlocked()));
251+ connect(d, &DBusUnitySessionServicePrivate::prepareForSleep, this, &DBusUnitySessionService::PromptLock);
248 } else {
252 } else {
249 qWarning() << "Failed to connect to logind's session Lock/Unlock signals";
253 qWarning() << "Failed to connect to logind's session Lock/Unlock signals";
250 }
254 }
@@ -390,16 +394,19 @@ void DBusUnitySessionService::Shutdown()
390
394
391void DBusUnitySessionService::Suspend()
395void DBusUnitySessionService::Suspend()
392{
396{
397+ PromptLock();
393 d->makeLogin1Call(QStringLiteral("Suspend"), {false});
398 d->makeLogin1Call(QStringLiteral("Suspend"), {false});
394}
399}
395
400
396void DBusUnitySessionService::Hibernate()
401void DBusUnitySessionService::Hibernate()
397{
402{
403+ PromptLock();
398 d->makeLogin1Call(QStringLiteral("Hibernate"), {false});
404 d->makeLogin1Call(QStringLiteral("Hibernate"), {false});
399}
405}
400
406
401void DBusUnitySessionService::HybridSleep()
407void DBusUnitySessionService::HybridSleep()
402{
408{
409+ PromptLock();
403 d->makeLogin1Call(QStringLiteral("HybridSleep"), {false});
410 d->makeLogin1Call(QStringLiteral("HybridSleep"), {false});
404}
411}
405
412
plugins/Utils/Utils.qmltypesdeleted−175
@@ -1,175 +0,0 @@
1−import QtQuick.tooling 1.1
2−
3−// This file describes the plugin-supplied types contained in the library.
4−// It is used for QML tooling purposes only.
5−//
6−// This file was auto-generated by:
7−// 'qmlplugindump -notrelocatable Utils 0.1 plugins'
8−
9−Module {
10− Component {
11− name: "EasingCurve"
12− prototype: "QObject"
13− exports: ["Utils/EasingCurve 0.1"]
14− exportMetaObjectRevisions: [0]
15− Property { name: "type"; type: "QEasingCurve::Type" }
16− Property { name: "period"; type: "double" }
17− Property { name: "progress"; type: "double" }
18− Property { name: "value"; type: "double"; isReadonly: true }
19− }
20− Component {
21− name: "QAbstractProxyModel"
22− prototype: "QAbstractItemModel"
23− Property { name: "sourceModel"; type: "QAbstractItemModel"; isPointer: true }
24− }
25− Component { name: "QIdentityProxyModel"; prototype: "QAbstractProxyModel" }
26− Component {
27− name: "QLimitProxyModelQML"
28− prototype: "QIdentityProxyModel"
29− exports: ["Utils/LimitProxyModel 0.1"]
30− exportMetaObjectRevisions: [0]
31− Property { name: "model"; type: "QAbstractItemModel"; isPointer: true }
32− Property { name: "limit"; type: "int" }
33− Property { name: "count"; type: "int"; isReadonly: true }
34− Signal { name: "totalCountChanged" }
35− }
36− Component {
37− name: "QSortFilterProxyModel"
38− prototype: "QAbstractProxyModel"
39− Property { name: "filterRegExp"; type: "QRegExp" }
40− Property { name: "filterKeyColumn"; type: "int" }
41− Property { name: "dynamicSortFilter"; type: "bool" }
42− Property { name: "filterCaseSensitivity"; type: "Qt::CaseSensitivity" }
43− Property { name: "sortCaseSensitivity"; type: "Qt::CaseSensitivity" }
44− Property { name: "isSortLocaleAware"; type: "bool" }
45− Property { name: "sortRole"; type: "int" }
46− Property { name: "filterRole"; type: "int" }
47− Method {
48− name: "setFilterRegExp"
49− Parameter { name: "pattern"; type: "string" }
50− }
51− Method {
52− name: "setFilterWildcard"
53− Parameter { name: "pattern"; type: "string" }
54− }
55− Method {
56− name: "setFilterFixedString"
57− Parameter { name: "pattern"; type: "string" }
58− }
59− Method { name: "clear" }
60− Method { name: "invalidate" }
61− }
62− Component {
63− name: "RelativeTimeFormatter"
64− prototype: "TimeFormatter"
65− exports: ["Utils/RelativeTimeFormatter 0.1"]
66− exportMetaObjectRevisions: [0]
67− }
68− Component {
69− name: "TimeFormatter"
70− prototype: "QObject"
71− exports: ["Utils/GDateTimeFormatter 0.1", "Utils/TimeFormatter 0.1"]
72− exportMetaObjectRevisions: [0, 0]
73− Property { name: "format"; type: "string" }
74− Property { name: "timeString"; type: "string"; isReadonly: true }
75− Property { name: "time"; type: "qlonglong" }
76− Signal {
77− name: "formatChanged"
78− Parameter { name: "format"; type: "string" }
79− }
80− Signal {
81− name: "timeStringChanged"
82− Parameter { name: "timeString"; type: "string" }
83− }
84− Signal {
85− name: "timeChanged"
86− Parameter { name: "time"; type: "qlonglong" }
87− }
88− }
89− Component {
90− name: "UnityMenuModelPaths"
91− prototype: "QObject"
92− exports: ["Utils/UnityMenuModelPaths 0.1"]
93− exportMetaObjectRevisions: [0]
94− Property { name: "source"; type: "QVariant" }
95− Property { name: "busName"; type: "QByteArray"; isReadonly: true }
96− Property { name: "actions"; type: "QVariantMap"; isReadonly: true }
97− Property { name: "menuObjectPath"; type: "QByteArray"; isReadonly: true }
98− Property { name: "busNameHint"; type: "QByteArray" }
99− Property { name: "actionsHint"; type: "QByteArray" }
100− Property { name: "menuObjectPathHint"; type: "QByteArray" }
101− }
102− Component {
103− name: "UnitySortFilterProxyModelQML"
104− prototype: "QSortFilterProxyModel"
105− exports: ["Utils/UnitySortFilterProxyModel 0.1"]
106− exportMetaObjectRevisions: [0]
107− Property { name: "model"; type: "QAbstractItemModel"; isPointer: true }
108− Property { name: "totalCount"; type: "int"; isReadonly: true }
109− Property { name: "count"; type: "int"; isReadonly: true }
110− Property { name: "invertMatch"; type: "bool" }
111− Signal {
112− name: "invertMatchChanged"
113− Parameter { type: "bool" }
114− }
115− Method {
116− name: "get"
117− type: "QVariantMap"
118− Parameter { name: "row"; type: "int" }
119− }
120− Method {
121− name: "data"
122− type: "QVariant"
123− Parameter { name: "row"; type: "int" }
124− Parameter { name: "role"; type: "int" }
125− }
126− Method { name: "count"; type: "int" }
127− Method {
128− name: "findFirst"
129− type: "int"
130− Parameter { name: "role"; type: "int" }
131− Parameter { name: "value"; type: "QVariant" }
132− }
133− Method {
134− name: "mapRowToSource"
135− type: "int"
136− Parameter { name: "row"; type: "int" }
137− }
138− Method {
139− name: "mapFromSource"
140− type: "int"
141− Parameter { name: "row"; type: "int" }
142− }
143− Method {
144− name: "mapToSource"
145− type: "int"
146− Parameter { name: "row"; type: "int" }
147− }
148− }
149− Component {
150− name: "WindowInputFilter"
151− defaultProperty: "data"
152− prototype: "QQuickItem"
153− exports: ["Utils/WindowInputFilter 0.1"]
154− exportMetaObjectRevisions: [0]
155− }
156− Component {
157− name: "WindowStateStorage"
158− prototype: "QObject"
159− exports: ["Utils/WindowStateStorage 0.1"]
160− isCreatable: false
161− isSingleton: true
162− exportMetaObjectRevisions: [0]
163− Method {
164− name: "saveGeometry"
165− Parameter { name: "windowId"; type: "string" }
166− Parameter { name: "rect"; type: "QRect" }
167− }
168− Method {
169− name: "getGeometry"
170− type: "QRect"
171− Parameter { name: "windowId"; type: "string" }
172− Parameter { name: "defaultValue"; type: "QRect" }
173− }
174− }
175−}
plugins/Utils/WindowInputMonitor.cpp+8−8
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2015 Canonical, Ltd.
2+ * Copyright (C) 2015-2016 Canonical, Ltd.
3 *
3 *
4 * This program is free software; you can redistribute it and/or modify
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
5 * it under the terms of the GNU General Public License as published by
@@ -30,7 +30,6 @@ WindowInputMonitor::WindowInputMonitor(UnityUtil::AbstractTimer *timer,
30 QQuickItem *parent)
30 QQuickItem *parent)
31 : QQuickItem(parent)
31 : QQuickItem(parent)
32 , m_windowBeingTouched(false)
32 , m_windowBeingTouched(false)
33− , m_homeKeyPressed(false)
34 , m_windowLastTouchedTimer(elapsedTimer)
33 , m_windowLastTouchedTimer(elapsedTimer)
35 , m_activationTimer(timer)
34 , m_activationTimer(timer)
36{
35{
@@ -42,6 +41,7 @@ WindowInputMonitor::WindowInputMonitor(UnityUtil::AbstractTimer *timer,
42 connect(m_activationTimer, &UnityUtil::AbstractTimer::timeout,
41 connect(m_activationTimer, &UnityUtil::AbstractTimer::timeout,
43 this, &WindowInputMonitor::emitActivatedIfNoTouchesAround);
42 this, &WindowInputMonitor::emitActivatedIfNoTouchesAround);
44 m_activationTimer->setInterval(msecsWithoutTouches);
43 m_activationTimer->setInterval(msecsWithoutTouches);
44+ m_activationTimer->setSingleShot(true);
45}
45}
46
46
47WindowInputMonitor::~WindowInputMonitor()
47WindowInputMonitor::~WindowInputMonitor()
@@ -67,19 +67,19 @@ void WindowInputMonitor::update(QEvent *event)
67 if (event->type() == QEvent::KeyPress) {
67 if (event->type() == QEvent::KeyPress) {
68 QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
68 QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
69
69
70− m_homeKeyPressed = true;
70+ if (m_pressedHomeKey == 0 && m_homeKeys.contains(keyEvent->key()) && !keyEvent->isAutoRepeat()
71−
71+ && !m_activationTimer->isRunning()
72− if (keyEvent->key() == Qt::Key_Super_L && !keyEvent->isAutoRepeat()
73 && !m_windowBeingTouched
72 && !m_windowBeingTouched
74 && m_windowLastTouchedTimer->elapsed() >= msecsWithoutTouches) {
73 && m_windowLastTouchedTimer->elapsed() >= msecsWithoutTouches) {
74+ m_pressedHomeKey = keyEvent->key();
75 m_activationTimer->start();
75 m_activationTimer->start();
76 }
76 }
77
77
78 } else if (event->type() == QEvent::KeyRelease) {
78 } else if (event->type() == QEvent::KeyRelease) {
79 QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
79 QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
80
80
81− if (keyEvent->key() == Qt::Key_Super_L) {
81+ if (keyEvent->key() == m_pressedHomeKey) {
82− m_homeKeyPressed = false;
82+ m_pressedHomeKey = 0;
83 }
83 }
84
84
85 } else if (event->type() == QEvent::TouchBegin) {
85 } else if (event->type() == QEvent::TouchBegin) {
@@ -116,7 +116,7 @@ void WindowInputMonitor::setupFilterOnWindow(QQuickWindow *window)
116
116
117void WindowInputMonitor::emitActivatedIfNoTouchesAround()
117void WindowInputMonitor::emitActivatedIfNoTouchesAround()
118{
118{
119− if (!m_homeKeyPressed && !m_windowBeingTouched &&
119+ if (m_pressedHomeKey == 0 && !m_windowBeingTouched &&
120 (m_windowLastTouchedTimer->elapsed() > msecsWithoutTouches)) {
120 (m_windowLastTouchedTimer->elapsed() > msecsWithoutTouches)) {
121 Q_EMIT homeKeyActivated();
121 Q_EMIT homeKeyActivated();
122 }
122 }
plugins/Utils/WindowInputMonitor.h+8−2
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright (C) 2015 Canonical, Ltd.
2+ * Copyright (C) 2015-2016 Canonical, Ltd.
3 *
3 *
4 * This program is free software; you can redistribute it and/or modify
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
5 * it under the terms of the GNU General Public License as published by
@@ -18,6 +18,7 @@
18#define UNITY_WINDOWINPUTMONITOR_H
18#define UNITY_WINDOWINPUTMONITOR_H
19
19
20#include <QQuickItem>
20#include <QQuickItem>
21+#include <QList>
21#include <QPointer>
22#include <QPointer>
22
23
23#include "Timer.h"
24#include "Timer.h"
@@ -83,9 +84,14 @@ private Q_SLOTS:
83private:
84private:
84 QPointer<QQuickWindow> m_filteredWindow;
85 QPointer<QQuickWindow> m_filteredWindow;
85 bool m_windowBeingTouched;
86 bool m_windowBeingTouched;
86− bool m_homeKeyPressed;
87 UnityUtil::AbstractElapsedTimer *m_windowLastTouchedTimer;
87 UnityUtil::AbstractElapsedTimer *m_windowLastTouchedTimer;
88 UnityUtil::AbstractTimer *m_activationTimer;
88 UnityUtil::AbstractTimer *m_activationTimer;
89+
90+ // Qt::Keys that are mapped to our "home" key.
91+ QList<int> m_homeKeys{Qt::Key_Super_L, Qt::Key_HomePage};
92+ // Which Qt::Key from m_homeKeys is currently pressed.
93+ // 0 if none
94+ int m_pressedHomeKey{0};
89};
95};
90
96
91#endif // UNITY_WINDOWINPUTMONITOR_H
97#endif // UNITY_WINDOWINPUTMONITOR_H
plugins/Utils/windowstatestorage.h+13−3
@@ -1,5 +1,5 @@
1/*
1/*
2− * Copyright 2015 Canonical Ltd.
2+ * Copyright 2015-2016 Canonical Ltd.
3 *
3 *
4 * This program is free software; you can redistribute it and/or modify
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License as published by
5 * it under the terms of the GNU Lesser General Public License as published by
@@ -25,9 +25,19 @@ class WindowStateStorage: public QObject
25 Q_ENUMS(WindowState)
25 Q_ENUMS(WindowState)
26public:
26public:
27 enum WindowState {
27 enum WindowState {
28− WindowStateNormal,
28+ WindowStateNormal = 1 << 0,
29− WindowStateMaximized
29+ WindowStateMaximized = 1 << 1,
30+ WindowStateMinimized = 1 << 2,
31+ WindowStateFullscreen = 1 << 3,
32+ WindowStateMaximizedLeft = 1 << 4,
33+ WindowStateMaximizedRight = 1 << 5,
34+ WindowStateMaximizedHorizontally = 1 << 6,
35+ WindowStateMaximizedVertically = 1 << 7
30 };
36 };
37+ Q_DECLARE_FLAGS(WindowStates, WindowState)
38+#if (QT_VERSION >= QT_VERSION_CHECK(5, 5, 0))
39+ Q_FLAG(WindowStates)
40+#endif
31
41
32 WindowStateStorage(QObject *parent = 0);
42 WindowStateStorage(QObject *parent = 0);
33 virtual ~WindowStateStorage();
43 virtual ~WindowStateStorage();
plugins/Wizard/Wizard.qmltypesdeleted−33
@@ -1,33 +0,0 @@
1−import QtQuick.tooling 1.1
2−
3−// This file describes the plugin-supplied types contained in the library.
4−// It is used for QML tooling purposes only.
5−//
6−// This file was auto-generated by:
7−// 'qmlplugindump -notrelocatable Wizard 0.1 plugins'
8−
9−Module {
10− Component {
11− name: "PageList"
12− prototype: "QObject"
13− exports: ["Wizard/PageList 0.1"]
14− exportMetaObjectRevisions: [0]
15− Property { name: "index"; type: "int"; isReadonly: true }
16− Property { name: "numPages"; type: "int"; isReadonly: true }
17− Method { name: "prev"; type: "string" }
18− Method { name: "next"; type: "string" }
19− }
20− Component {
21− name: "System"
22− prototype: "QObject"
23− exports: ["Wizard/System 0.1"]
24− isCreatable: false
25− isSingleton: true
26− exportMetaObjectRevisions: [0]
27− Property { name: "wizardEnabled"; type: "bool" }
28− Method {
29− name: "updateSessionLanguage"
30− Parameter { name: "locale"; type: "string" }
31− }
32− }
33−}
po/aa.po+212−76
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-05-20 08:44+0000\n"
10+"POT-Creation-Date: 2016-06-17 01:22+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,23 +15,23 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
18+"X-Launchpad-Export-Date: 2016-06-19 05:54+0000\n"
19−"X-Generator: Launchpad (build 18053)\n"
19+"X-Generator: Launchpad (build 18097)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
23msgstr "Cuumita "
23msgstr "Cuumita "
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:48
25+#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:107
26+#: plugins/Unity/Launcher/launcheritem.cpp:108
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28msgstr ""
28msgstr ""
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:53
30+#: plugins/Unity/Launcher/launcheritem.cpp:54
31msgid "Quit"
31msgid "Quit"
32msgstr "Kat"
32msgstr "Kat"
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:107
34+#: plugins/Unity/Launcher/launcheritem.cpp:108
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36msgstr ""
36msgstr ""
37
37
@@ -54,69 +54,229 @@ msgid_plural "Please wait %1 minutes and then try again…"
54msgstr[0] "Maganak %1 minit qambaalaay, kaadu gabbat"
54msgstr[0] "Maganak %1 minit qambaalaay, kaadu gabbat"
55msgstr[1] "Maganak %1 minit qambaalaay, kaadu gabbat"
55msgstr[1] "Maganak %1 minit qambaalaay, kaadu gabbat"
56
56
57−#: qml/Components/Dialogs.qml:144
57+#: qml/Components/Dialogs.qml:146
58msgctxt "Title: Lock/Log out dialog"
58msgctxt "Title: Lock/Log out dialog"
59msgid "Log out"
59msgid "Log out"
60msgstr "Eweq"
60msgstr "Eweq"
61
61
62−#: qml/Components/Dialogs.qml:145
62+#: qml/Components/Dialogs.qml:147
63msgid "Are you sure you want to log out?"
63msgid "Are you sure you want to log out?"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:147
66+#: qml/Components/Dialogs.qml:149
67msgctxt "Button: Lock the system"
67msgctxt "Button: Lock the system"
68msgid "Lock"
68msgid "Lock"
69msgstr "Koflis"
69msgstr "Koflis"
70
70
71−#: qml/Components/Dialogs.qml:154
71+#: qml/Components/Dialogs.qml:156
72msgctxt "Button: Log out from the system"
72msgctxt "Button: Log out from the system"
73msgid "Log Out"
73msgid "Log Out"
74msgstr "Eweq"
74msgstr "Eweq"
75
75
76−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
76+#: qml/Components/Dialogs.qml:163 qml/Components/Dialogs.qml:219
77−#: qml/Dash/DashPageHeader.qml:298 qml/Wizard/Pages/passcode-confirm.qml:32
77+#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
78#: qml/Wizard/Pages/passcode-set.qml:32
78#: qml/Wizard/Pages/passcode-set.qml:32
79msgid "Cancel"
79msgid "Cancel"
80msgstr "Bayis"
80msgstr "Bayis"
81
81
82−#: qml/Components/Dialogs.qml:173
82+#: qml/Components/Dialogs.qml:175
83msgctxt "Title: Reboot dialog"
83msgctxt "Title: Reboot dialog"
84msgid "Reboot"
84msgid "Reboot"
85msgstr "Wadir-ugus"
85msgstr "Wadir-ugus"
86
86
87−#: qml/Components/Dialogs.qml:174
87+#: qml/Components/Dialogs.qml:176
88msgid "Are you sure you want to reboot?"
88msgid "Are you sure you want to reboot?"
89msgstr "Wadir-ugussuh digga maay litoo?"
89msgstr "Wadir-ugussuh digga maay litoo?"
90
90
91−#: qml/Components/Dialogs.qml:176
91+#: qml/Components/Dialogs.qml:178
92msgid "No"
92msgid "No"
93msgstr "Maleey"
93msgstr "Maleey"
94
94
95−#: qml/Components/Dialogs.qml:182
95+#: qml/Components/Dialogs.qml:184
96msgid "Yes"
96msgid "Yes"
97msgstr "Yeey"
97msgstr "Yeey"
98
98
99−#: qml/Components/Dialogs.qml:197
99+#: qml/Components/Dialogs.qml:199
100msgctxt "Title: Power off/Restart dialog"
100msgctxt "Title: Power off/Restart dialog"
101msgid "Power"
101msgid "Power"
102msgstr "Cayla"
102msgstr "Cayla"
103
103
104−#: qml/Components/Dialogs.qml:198
104+#: qml/Components/Dialogs.qml:200
105msgid ""
105msgid ""
106"Are you sure you would like\n"
106"Are you sure you would like\n"
107"to power off?"
107"to power off?"
108msgstr "Timmi haytuh digga maay litoo?"
108msgstr "Timmi haytuh digga maay litoo?"
109
109
110−#: qml/Components/Dialogs.qml:200
110+#: qml/Components/Dialogs.qml:202
111msgctxt "Button: Power off the system"
111msgctxt "Button: Power off the system"
112msgid "Power off"
112msgid "Power off"
113msgstr "Timmi hayis"
113msgstr "Timmi hayis"
114
114
115−#: qml/Components/Dialogs.qml:209
115+#: qml/Components/Dialogs.qml:211
116msgctxt "Button: Restart the system"
116msgctxt "Button: Restart the system"
117msgid "Restart"
117msgid "Restart"
118msgstr "Wadir-qimbis"
118msgstr "Wadir-qimbis"
119
119
120+#: qml/Components/KeyboardShortcutsOverlay.qml:41
121+msgid "Keyboard Shortcuts"
122+msgstr ""
123+
124+#: qml/Components/KeyboardShortcutsOverlay.qml:55
125+msgid "Unity 8"
126+msgstr ""
127+
128+#: qml/Components/KeyboardShortcutsOverlay.qml:62
129+msgid "PrtScr"
130+msgstr ""
131+
132+#: qml/Components/KeyboardShortcutsOverlay.qml:67
133+msgid "Takes a screenshot."
134+msgstr ""
135+
136+#: qml/Components/KeyboardShortcutsOverlay.qml:75
137+msgid "Alt + PrtScr"
138+msgstr ""
139+
140+#: qml/Components/KeyboardShortcutsOverlay.qml:80
141+msgid "Takes a screenshot of a window."
142+msgstr ""
143+
144+#: qml/Components/KeyboardShortcutsOverlay.qml:88
145+msgid "Super + Space"
146+msgstr ""
147+
148+#: qml/Components/KeyboardShortcutsOverlay.qml:93
149+msgid "Switches to next keyboard layout."
150+msgstr ""
151+
152+#: qml/Components/KeyboardShortcutsOverlay.qml:101
153+msgid "Super + Shift + Space"
154+msgstr ""
155+
156+#: qml/Components/KeyboardShortcutsOverlay.qml:106
157+msgid "Switches to previous keyboard layout."
158+msgstr ""
159+
160+#: qml/Components/KeyboardShortcutsOverlay.qml:118
161+msgid "Launcher"
162+msgstr ""
163+
164+#: qml/Components/KeyboardShortcutsOverlay.qml:125
165+msgid "Super (Hold)"
166+msgstr ""
167+
168+#: qml/Components/KeyboardShortcutsOverlay.qml:130
169+msgid "Opens the launcher, displays shortcuts."
170+msgstr ""
171+
172+#: qml/Components/KeyboardShortcutsOverlay.qml:138
173+msgid "Alt + F1"
174+msgstr ""
175+
176+#: qml/Components/KeyboardShortcutsOverlay.qml:143
177+msgid "Opens launcher keyboard navigation mode."
178+msgstr ""
179+
180+#: qml/Components/KeyboardShortcutsOverlay.qml:151
181+msgid "Super + Tab"
182+msgstr ""
183+
184+#: qml/Components/KeyboardShortcutsOverlay.qml:156
185+msgid "Switches applications via the launcher."
186+msgstr ""
187+
188+#: qml/Components/KeyboardShortcutsOverlay.qml:164
189+msgid "Super + 0 to 9"
190+msgstr ""
191+
192+#: qml/Components/KeyboardShortcutsOverlay.qml:169
193+msgid "Same as clicking on a launcher icon."
194+msgstr ""
195+
196+#: qml/Components/KeyboardShortcutsOverlay.qml:181
197+msgid "Scopes"
198+msgstr ""
199+
200+#: qml/Components/KeyboardShortcutsOverlay.qml:188
201+msgid "Super (Tap)"
202+msgstr ""
203+
204+#: qml/Components/KeyboardShortcutsOverlay.qml:193
205+msgid "Opens the Scopes home."
206+msgstr ""
207+
208+#: qml/Components/KeyboardShortcutsOverlay.qml:209
209+msgid "Switching"
210+msgstr ""
211+
212+#: qml/Components/KeyboardShortcutsOverlay.qml:216
213+msgid "Alt + Tab"
214+msgstr ""
215+
216+#: qml/Components/KeyboardShortcutsOverlay.qml:221
217+msgid "Switches between applications."
218+msgstr ""
219+
220+#: qml/Components/KeyboardShortcutsOverlay.qml:229
221+msgid "Super + W"
222+msgstr ""
223+
224+#: qml/Components/KeyboardShortcutsOverlay.qml:234
225+msgid "Opens the desktop spread."
226+msgstr ""
227+
228+#: qml/Components/KeyboardShortcutsOverlay.qml:242
229+msgid "Cursor Left or Right"
230+msgstr ""
231+
232+#: qml/Components/KeyboardShortcutsOverlay.qml:247
233+msgid "Moves the focus."
234+msgstr ""
235+
236+#: qml/Components/KeyboardShortcutsOverlay.qml:259
237+msgid "Windows"
238+msgstr ""
239+
240+#: qml/Components/KeyboardShortcutsOverlay.qml:266
241+msgid "Ctrl + Super + D"
242+msgstr ""
243+
244+#: qml/Components/KeyboardShortcutsOverlay.qml:271
245+msgid "Minimizes all windows."
246+msgstr ""
247+
248+#: qml/Components/KeyboardShortcutsOverlay.qml:279
249+msgid "Ctrl + Super + Up"
250+msgstr ""
251+
252+#: qml/Components/KeyboardShortcutsOverlay.qml:284
253+msgid "Maximizes the current window."
254+msgstr ""
255+
256+#: qml/Components/KeyboardShortcutsOverlay.qml:292
257+msgid "Ctrl + Super + Down"
258+msgstr ""
259+
260+#: qml/Components/KeyboardShortcutsOverlay.qml:297
261+msgid "Minimizes or restores the current window."
262+msgstr ""
263+
264+#: qml/Components/KeyboardShortcutsOverlay.qml:305
265+msgid "Ctrl + Super + Left or Right"
266+msgstr ""
267+
268+#: qml/Components/KeyboardShortcutsOverlay.qml:310
269+msgid "Semi-maximizes the current window."
270+msgstr ""
271+
272+#: qml/Components/KeyboardShortcutsOverlay.qml:318
273+msgid "Alt + F4"
274+msgstr ""
275+
276+#: qml/Components/KeyboardShortcutsOverlay.qml:323
277+msgid "Closes the current window."
278+msgstr ""
279+
120#: qml/Components/Lockscreen.qml:231
280#: qml/Components/Lockscreen.qml:231
121msgid "Return to Call"
281msgid "Return to Call"
122msgstr "Seecol gacis"
282msgstr "Seecol gacis"
@@ -155,26 +315,26 @@ msgstr ""
155msgid "Close all"
315msgid "Close all"
156msgstr "Inkih alif"
316msgstr "Inkih alif"
157
317
158−#: qml/Dash/DashPageHeader.qml:337
318+#: qml/Dash/DashPageHeader.qml:333
159msgctxt "Button: Open the Ubuntu Store"
319msgctxt "Button: Open the Ubuntu Store"
160msgid "Store"
320msgid "Store"
161msgstr ""
321msgstr ""
162
322
163−#: qml/Dash/DashPageHeader.qml:344
323+#: qml/Dash/DashPageHeader.qml:340
164msgctxt "Button: Start a search in the current dash scope"
324msgctxt "Button: Start a search in the current dash scope"
165msgid "Search"
325msgid "Search"
166msgstr "Goranto"
326msgstr "Goranto"
167
327
168−#: qml/Dash/DashPageHeader.qml:354
328+#: qml/Dash/DashPageHeader.qml:350
169msgctxt "Button: Show the current dash scope settings"
329msgctxt "Button: Show the current dash scope settings"
170msgid "Settings"
330msgid "Settings"
171msgstr "Massosu"
331msgstr "Massosu"
172
332
173−#: qml/Dash/DashPageHeader.qml:361
333+#: qml/Dash/DashPageHeader.qml:357
174msgid "Remove from Favorites"
334msgid "Remove from Favorites"
175msgstr ""
335msgstr ""
176
336
177−#: qml/Dash/DashPageHeader.qml:361
337+#: qml/Dash/DashPageHeader.qml:357
178msgid "Add to Favorites"
338msgid "Add to Favorites"
179msgstr ""
339msgstr ""
180
340
@@ -186,24 +346,24 @@ msgstr ""
186msgid "Reset"
346msgid "Reset"
187msgstr ""
347msgstr ""
188
348
189−#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
349+#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
190msgid "Show less"
350msgid "Show less"
191msgstr ""
351msgstr ""
192
352
193−#: qml/Dash/GenericScopeView.qml:579
353+#: qml/Dash/GenericScopeView.qml:580
194msgid "Show all"
354msgid "Show all"
195msgstr ""
355msgstr ""
196
356
197−#: qml/Dash/GenericScopeView.qml:636
357+#: qml/Dash/GenericScopeView.qml:637
198msgctxt "Label: Hint for dash search line edit"
358msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
359msgid "Search"
200msgstr "Goranto"
360msgstr "Goranto"
201
361
202−#: qml/Dash/PageHeaderExtraPanel.qml:55
362+#: qml/Dash/PageHeaderExtraPanel.qml:56
203msgid "Recent Searches"
363msgid "Recent Searches"
204msgstr ""
364msgstr ""
205
365
206−#: qml/Dash/PageHeaderExtraPanel.qml:66
366+#: qml/Dash/PageHeaderExtraPanel.qml:67
207msgid "Clear All"
367msgid "Clear All"
208msgstr ""
368msgstr ""
209
369
@@ -216,15 +376,15 @@ msgid "Less..."
216msgstr ""
376msgstr ""
217
377
218#: qml/Dash/Previews/PreviewCommentInput.qml:68
378#: qml/Dash/Previews/PreviewCommentInput.qml:68
219−#: qml/Dash/Previews/PreviewRatingInput.qml:174
379+#: qml/Dash/Previews/PreviewRatingInput.qml:175
220msgid "Send"
380msgid "Send"
221msgstr "Rub"
381msgstr "Rub"
222
382
223−#: qml/Dash/Previews/PreviewRatingInput.qml:84
383+#: qml/Dash/Previews/PreviewRatingInput.qml:82
224msgid "Rate this"
384msgid "Rate this"
225msgstr ""
385msgstr ""
226
386
227−#: qml/Dash/Previews/PreviewRatingInput.qml:129
387+#: qml/Dash/Previews/PreviewRatingInput.qml:157
228msgid "Add a review"
388msgid "Add a review"
229msgstr ""
389msgstr ""
230
390
@@ -244,15 +404,15 @@ msgstr ""
244msgid "Enable location data"
404msgid "Enable location data"
245msgstr ""
405msgstr ""
246
406
247−#: qml/Dash/ScopesList.qml:67
407+#: qml/Dash/ScopesList.qml:55
248msgid "Manage"
408msgid "Manage"
249msgstr ""
409msgstr ""
250
410
251−#: qml/Dash/ScopesList.qml:113
411+#: qml/Dash/ScopesList.qml:101
252msgid "Home"
412msgid "Home"
253msgstr "Dabqi"
413msgstr "Dabqi"
254
414
255−#: qml/Dash/ScopesList.qml:114
415+#: qml/Dash/ScopesList.qml:102
256msgid "Also installed"
416msgid "Also installed"
257msgstr ""
417msgstr ""
258
418
@@ -262,16 +422,16 @@ msgid ""
262"touch pad to interact with the pointer."
422"touch pad to interact with the pointer."
263msgstr ""
423msgstr ""
264
424
265−#: qml/Greeter/CoverPage.qml:118
425+#: qml/Greeter/CoverPage.qml:119
266msgid "Unlock"
426msgid "Unlock"
267msgstr ""
427msgstr ""
268
428
269−#: qml/Greeter/LoginList.qml:239
429+#: qml/Greeter/LoginList.qml:259
270msgid "Retry"
430msgid "Retry"
271msgstr "Qagis"
431msgstr "Qagis"
272
432
273−#: qml/Greeter/LoginList.qml:240
433+#: qml/Greeter/LoginList.qml:260
274−msgid "Tap to unlock"
434+msgid "Log In"
275msgstr ""
435msgstr ""
276
436
277#: qml/Greeter/NarrowView.qml:54
437#: qml/Greeter/NarrowView.qml:54
@@ -400,18 +560,18 @@ msgstr "Duudumteh"
400msgid "Failed, tap to retry"
560msgid "Failed, tap to retry"
401msgstr ""
561msgstr ""
402
562
403−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:155
563+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:151
404−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
564+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:210
405msgctxt "Button: Send a reply message"
565msgctxt "Button: Send a reply message"
406msgid "Send"
566msgid "Send"
407msgstr "Rub"
567msgstr "Rub"
408
568
409−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
569+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:152
410msgctxt "Label: Hint in message indicator line edit"
570msgctxt "Label: Hint in message indicator line edit"
411msgid "Reply"
571msgid "Reply"
412msgstr ""
572msgstr ""
413
573
414−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
574+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:209
415msgctxt "Button: Call back on phone"
575msgctxt "Button: Call back on phone"
416msgid "Call back"
576msgid "Call back"
417msgstr ""
577msgstr ""
@@ -420,32 +580,12 @@ msgstr ""
420msgid "Drag using 3 fingers any application from one window to the other"
580msgid "Drag using 3 fingers any application from one window to the other"
421msgstr ""
581msgstr ""
422
582
423−#: qml/Tutorial/TutorialBottom.qml:78
424−msgid "Swipe up to add a contact"
425−msgstr ""
426−
427−#: qml/Tutorial/TutorialBottom.qml:80
428−msgid "Swipe up for favorite calculations"
429−msgstr ""
430−
431−#: qml/Tutorial/TutorialBottom.qml:82
432−msgid "Swipe up for recent calls"
433−msgstr ""
434−
435−#: qml/Tutorial/TutorialBottom.qml:84
436−msgid "Swipe up to create a message"
437−msgstr ""
438−
439−#: qml/Tutorial/TutorialBottom.qml:85
440−msgid "Swipe up to manage the app"
441−msgstr ""
442−
443−#: qml/Tutorial/TutorialLeftLong.qml:47
583+#: qml/Tutorial/TutorialLeftLong.qml:49
444msgid "Long swipe from the left edge to open the Today scope"
584msgid "Long swipe from the left edge to open the Today scope"
445msgstr ""
585msgstr ""
446
586
447#: qml/Tutorial/TutorialLeft.qml:47
587#: qml/Tutorial/TutorialLeft.qml:47
448−msgid "Swipe from the left edge to open the launcher"
588+msgid "Short swipe from the left edge to open the launcher"
449msgstr ""
589msgstr ""
450
590
451#: qml/Tutorial/TutorialRight.qml:55
591#: qml/Tutorial/TutorialRight.qml:55
@@ -453,15 +593,11 @@ msgid "Push your mouse against the right edge to view your open apps"
453msgstr ""
593msgstr ""
454
594
455#: qml/Tutorial/TutorialRight.qml:56
595#: qml/Tutorial/TutorialRight.qml:56
456−msgid "Short or long swipe from the right edge to view your open apps"
596+msgid "Swipe from the right edge to view your open apps"
457msgstr ""
597msgstr ""
458
598
459#: qml/Tutorial/TutorialTop.qml:53
599#: qml/Tutorial/TutorialTop.qml:53
460−msgid "Swipe from the top right edge to open the notification bar"
600+msgid "Swipe from the top edge to access notifications and quick settings"
461−msgstr ""
462−
463−#: qml/Tutorial/TutorialTop.qml:54
464−msgid "Swipe from the top edge to open the notification bar"
465msgstr ""
601msgstr ""
466
602
467#: qml/Wizard/Page.qml:54
603#: qml/Wizard/Page.qml:54
@@ -473,8 +609,8 @@ msgstr "Derre"
473msgid "Language"
609msgid "Language"
474msgstr ""
610msgstr ""
475
611
476−#: qml/Wizard/Pages/10-welcome.qml:156 qml/Wizard/Pages/30-wifi.qml:206
612+#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
477−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:267
613+#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
478#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
614#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
479#: qml/Wizard/Pages/75-report-check.qml:84
615#: qml/Wizard/Pages/75-report-check.qml:84
480#: qml/Wizard/Pages/passcode-desktop.qml:124
616#: qml/Wizard/Pages/passcode-desktop.qml:124
@@ -539,7 +675,7 @@ msgstr ""
539msgid "Time Zone"
675msgid "Time Zone"
540msgstr ""
676msgstr ""
541
677
542−#: qml/Wizard/Pages/50-timezone.qml:178
678+#: qml/Wizard/Pages/50-timezone.qml:181
543msgid "Enter your city"
679msgid "Enter your city"
544msgstr ""
680msgstr ""
545
681
po/am.po+250−84
@@ -7,31 +7,31 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-05-20 08:44+0000\n"
10+"POT-Creation-Date: 2016-06-17 01:22+0000\n"
11−"PO-Revision-Date: 2016-03-24 19:07+0000\n"
11+"PO-Revision-Date: 2016-06-19 16:08+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"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
18+"X-Launchpad-Export-Date: 2016-06-20 06:12+0000\n"
19−"X-Generator: Launchpad (build 18053)\n"
19+"X-Generator: Launchpad (build 18097)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
23msgstr "የ መግቢያ ቃል: "
23msgstr "የ መግቢያ ቃል: "
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:48
25+#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:107
26+#: plugins/Unity/Launcher/launcheritem.cpp:108
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28msgstr "አቋራጭ ማጣበቂያ"
28msgstr "አቋራጭ ማጣበቂያ"
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:53
30+#: plugins/Unity/Launcher/launcheritem.cpp:54
31msgid "Quit"
31msgid "Quit"
32msgstr "ማጥፊያ"
32msgstr "ማጥፊያ"
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:107
34+#: plugins/Unity/Launcher/launcheritem.cpp:108
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36msgstr "አቋራጭ መለያያ"
36msgstr "አቋራጭ መለያያ"
37
37
@@ -54,54 +54,54 @@ msgid_plural "Please wait %1 minutes and then try again…"
54msgstr[0] "እባክዎን ይቆዩ %1 ደቂቃ እና ከዛ እንደ ገና ይምክሩ…"
54msgstr[0] "እባክዎን ይቆዩ %1 ደቂቃ እና ከዛ እንደ ገና ይምክሩ…"
55msgstr[1] "እባክዎን ይቆዩ %1 ደቂቃዎች እና ከዛ እንደ ገና ይምክሩ…"
55msgstr[1] "እባክዎን ይቆዩ %1 ደቂቃዎች እና ከዛ እንደ ገና ይምክሩ…"
56
56
57−#: qml/Components/Dialogs.qml:144
57+#: qml/Components/Dialogs.qml:146
58msgctxt "Title: Lock/Log out dialog"
58msgctxt "Title: Lock/Log out dialog"
59msgid "Log out"
59msgid "Log out"
60msgstr "መውጫ"
60msgstr "መውጫ"
61
61
62−#: qml/Components/Dialogs.qml:145
62+#: qml/Components/Dialogs.qml:147
63msgid "Are you sure you want to log out?"
63msgid "Are you sure you want to log out?"
64msgstr "በእርግጥ መውጣት ይፈልጋሉ?"
64msgstr "በእርግጥ መውጣት ይፈልጋሉ?"
65
65
66−#: qml/Components/Dialogs.qml:147
66+#: qml/Components/Dialogs.qml:149
67msgctxt "Button: Lock the system"
67msgctxt "Button: Lock the system"
68msgid "Lock"
68msgid "Lock"
69msgstr "መቆለፊያ"
69msgstr "መቆለፊያ"
70
70
71−#: qml/Components/Dialogs.qml:154
71+#: qml/Components/Dialogs.qml:156
72msgctxt "Button: Log out from the system"
72msgctxt "Button: Log out from the system"
73msgid "Log Out"
73msgid "Log Out"
74msgstr "መውጫ"
74msgstr "መውጫ"
75
75
76−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
76+#: qml/Components/Dialogs.qml:163 qml/Components/Dialogs.qml:219
77−#: qml/Dash/DashPageHeader.qml:298 qml/Wizard/Pages/passcode-confirm.qml:32
77+#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
78#: qml/Wizard/Pages/passcode-set.qml:32
78#: qml/Wizard/Pages/passcode-set.qml:32
79msgid "Cancel"
79msgid "Cancel"
80msgstr "መሰረዣ"
80msgstr "መሰረዣ"
81
81
82−#: qml/Components/Dialogs.qml:173
82+#: qml/Components/Dialogs.qml:175
83msgctxt "Title: Reboot dialog"
83msgctxt "Title: Reboot dialog"
84msgid "Reboot"
84msgid "Reboot"
85msgstr "እንደገና ማስነሻ"
85msgstr "እንደገና ማስነሻ"
86
86
87−#: qml/Components/Dialogs.qml:174
87+#: qml/Components/Dialogs.qml:176
88msgid "Are you sure you want to reboot?"
88msgid "Are you sure you want to reboot?"
89msgstr "በእርግጥ እንደገና ማስነሳት ይፈልጋሉ?"
89msgstr "በእርግጥ እንደገና ማስነሳት ይፈልጋሉ?"
90
90
91−#: qml/Components/Dialogs.qml:176
91+#: qml/Components/Dialogs.qml:178
92msgid "No"
92msgid "No"
93msgstr "አይ"
93msgstr "አይ"
94
94
95−#: qml/Components/Dialogs.qml:182
95+#: qml/Components/Dialogs.qml:184
96msgid "Yes"
96msgid "Yes"
97msgstr "አዎ"
97msgstr "አዎ"
98
98
99−#: qml/Components/Dialogs.qml:197
99+#: qml/Components/Dialogs.qml:199
100msgctxt "Title: Power off/Restart dialog"
100msgctxt "Title: Power off/Restart dialog"
101msgid "Power"
101msgid "Power"
102msgstr "ሐይል"
102msgstr "ሐይል"
103
103
104−#: qml/Components/Dialogs.qml:198
104+#: qml/Components/Dialogs.qml:200
105msgid ""
105msgid ""
106"Are you sure you would like\n"
106"Are you sure you would like\n"
107"to power off?"
107"to power off?"
@@ -109,16 +109,176 @@ msgstr ""
109"በእርግጥ ሐይሉን ማጥፋት\n"
109"በእርግጥ ሐይሉን ማጥፋት\n"
110"ይፈልጋሉ?"
110"ይፈልጋሉ?"
111
111
112−#: qml/Components/Dialogs.qml:200
112+#: qml/Components/Dialogs.qml:202
113msgctxt "Button: Power off the system"
113msgctxt "Button: Power off the system"
114msgid "Power off"
114msgid "Power off"
115msgstr "ሐይል ማጥፊያ"
115msgstr "ሐይል ማጥፊያ"
116
116
117−#: qml/Components/Dialogs.qml:209
117+#: qml/Components/Dialogs.qml:211
118msgctxt "Button: Restart the system"
118msgctxt "Button: Restart the system"
119msgid "Restart"
119msgid "Restart"
120msgstr "እንደገና ማስጀመሪያ"
120msgstr "እንደገና ማስጀመሪያ"
121
121
122+#: qml/Components/KeyboardShortcutsOverlay.qml:41
123+msgid "Keyboard Shortcuts"
124+msgstr "የ ፊደል ገበታ አቋራጮች"
125+
126+#: qml/Components/KeyboardShortcutsOverlay.qml:55
127+msgid "Unity 8"
128+msgstr "Unity 8"
129+
130+#: qml/Components/KeyboardShortcutsOverlay.qml:62
131+msgid "PrtScr"
132+msgstr "PrtScr"
133+
134+#: qml/Components/KeyboardShortcutsOverlay.qml:67
135+msgid "Takes a screenshot."
136+msgstr "መመልከቻ ፎቶ ማንሻ"
137+
138+#: qml/Components/KeyboardShortcutsOverlay.qml:75
139+msgid "Alt + PrtScr"
140+msgstr "Alt + PrtScr"
141+
142+#: qml/Components/KeyboardShortcutsOverlay.qml:80
143+msgid "Takes a screenshot of a window."
144+msgstr "የ መስኮት መመልከቻ ፎቶ ማንሻ"
145+
146+#: qml/Components/KeyboardShortcutsOverlay.qml:88
147+msgid "Super + Space"
148+msgstr "Super + Space"
149+
150+#: qml/Components/KeyboardShortcutsOverlay.qml:93
151+msgid "Switches to next keyboard layout."
152+msgstr "የሚቀጥለው የ ፊደል ገበታ እቅድ መቀየሪያ"
153+
154+#: qml/Components/KeyboardShortcutsOverlay.qml:101
155+msgid "Super + Shift + Space"
156+msgstr "Super + Shift + Space"
157+
158+#: qml/Components/KeyboardShortcutsOverlay.qml:106
159+msgid "Switches to previous keyboard layout."
160+msgstr "ወዳለፈው የ ፊደል ገበታ እቅድ መቀየሪያ"
161+
162+#: qml/Components/KeyboardShortcutsOverlay.qml:118
163+msgid "Launcher"
164+msgstr "ማስነሻ"
165+
166+#: qml/Components/KeyboardShortcutsOverlay.qml:125
167+msgid "Super (Hold)"
168+msgstr "Super (ይጫኑ)"
169+
170+#: qml/Components/KeyboardShortcutsOverlay.qml:130
171+msgid "Opens the launcher, displays shortcuts."
172+msgstr "ማስነሻውን መክፈቻ እና አቋራጮች ማሳያ"
173+
174+#: qml/Components/KeyboardShortcutsOverlay.qml:138
175+msgid "Alt + F1"
176+msgstr "Alt + F1"
177+
178+#: qml/Components/KeyboardShortcutsOverlay.qml:143
179+msgid "Opens launcher keyboard navigation mode."
180+msgstr "መክፈቻ በ ፊደል ገበታ መቃኛ ዘዴ ማስነሻ"
181+
182+#: qml/Components/KeyboardShortcutsOverlay.qml:151
183+msgid "Super + Tab"
184+msgstr "Super + Tab"
185+
186+#: qml/Components/KeyboardShortcutsOverlay.qml:156
187+msgid "Switches applications via the launcher."
188+msgstr "መተግበሪያዎችን በ ማስጀመሪያ መቀየሪያ"
189+
190+#: qml/Components/KeyboardShortcutsOverlay.qml:164
191+msgid "Super + 0 to 9"
192+msgstr "Super + 0 እስከ 9"
193+
194+#: qml/Components/KeyboardShortcutsOverlay.qml:169
195+msgid "Same as clicking on a launcher icon."
196+msgstr "ተመሳሳይ በ ማስጀመሪያ ምልክት ላይ እንደ መጫን"
197+
198+#: qml/Components/KeyboardShortcutsOverlay.qml:181
199+msgid "Scopes"
200+msgstr "ክልል"
201+
202+#: qml/Components/KeyboardShortcutsOverlay.qml:188
203+msgid "Super (Tap)"
204+msgstr "Super (Tap)"
205+
206+#: qml/Components/KeyboardShortcutsOverlay.qml:193
207+msgid "Opens the Scopes home."
208+msgstr "የ ክልል ቤት መክፈቻ"
209+
210+#: qml/Components/KeyboardShortcutsOverlay.qml:209
211+msgid "Switching"
212+msgstr "በ መቀየር ላይ"
213+
214+#: qml/Components/KeyboardShortcutsOverlay.qml:216
215+msgid "Alt + Tab"
216+msgstr "Alt + Tab"
217+
218+#: qml/Components/KeyboardShortcutsOverlay.qml:221
219+msgid "Switches between applications."
220+msgstr "በ መተግበሪያዎች መካከል መቀያየሪያ"
221+
222+#: qml/Components/KeyboardShortcutsOverlay.qml:229
223+msgid "Super + W"
224+msgstr "Super + W"
225+
226+#: qml/Components/KeyboardShortcutsOverlay.qml:234
227+msgid "Opens the desktop spread."
228+msgstr "የ ዴስክቶፕ ማስፊያ መክፈቻ"
229+
230+#: qml/Components/KeyboardShortcutsOverlay.qml:242
231+msgid "Cursor Left or Right"
232+msgstr "መጠቆሚያ የ ግራ ወይንም የ ቀኝ"
233+
234+#: qml/Components/KeyboardShortcutsOverlay.qml:247
235+msgid "Moves the focus."
236+msgstr "ትኩረት ማንቀሳቀሻ"
237+
238+#: qml/Components/KeyboardShortcutsOverlay.qml:259
239+msgid "Windows"
240+msgstr "መስኮቶች"
241+
242+#: qml/Components/KeyboardShortcutsOverlay.qml:266
243+msgid "Ctrl + Super + D"
244+msgstr "Ctrl + Super + D"
245+
246+#: qml/Components/KeyboardShortcutsOverlay.qml:271
247+msgid "Minimizes all windows."
248+msgstr "ሁሉንም መስኮቶች ማሳነሻ"
249+
250+#: qml/Components/KeyboardShortcutsOverlay.qml:279
251+msgid "Ctrl + Super + Up"
252+msgstr "Ctrl + Super + Up"
253+
254+#: qml/Components/KeyboardShortcutsOverlay.qml:284
255+msgid "Maximizes the current window."
256+msgstr "የ አሁኑን መስኮት ማሳደጊያ"
257+
258+#: qml/Components/KeyboardShortcutsOverlay.qml:292
259+msgid "Ctrl + Super + Down"
260+msgstr "Ctrl + Super + Down"
261+
262+#: qml/Components/KeyboardShortcutsOverlay.qml:297
263+msgid "Minimizes or restores the current window."
264+msgstr "የ አሁኑን መስኮትማሳነሻ ወይንም እንደ ነበር መመለሻ"
265+
266+#: qml/Components/KeyboardShortcutsOverlay.qml:305
267+msgid "Ctrl + Super + Left or Right"
268+msgstr "Ctrl + Super + Left or Right"
269+
270+#: qml/Components/KeyboardShortcutsOverlay.qml:310
271+msgid "Semi-maximizes the current window."
272+msgstr "የ አሁኑን መስኮት በ ንዑስ-ማሳደጊያ"
273+
274+#: qml/Components/KeyboardShortcutsOverlay.qml:318
275+msgid "Alt + F4"
276+msgstr "Alt + F4"
277+
278+#: qml/Components/KeyboardShortcutsOverlay.qml:323
279+msgid "Closes the current window."
280+msgstr "የ አሁኑን መስኮት መዝጊያ"
281+
122#: qml/Components/Lockscreen.qml:231
282#: qml/Components/Lockscreen.qml:231
123msgid "Return to Call"
283msgid "Return to Call"
124msgstr "ወደ ጥሪ መመለሻ"
284msgstr "ወደ ጥሪ መመለሻ"
@@ -157,26 +317,26 @@ msgstr "አሁን እንደገና መገናኛ!"
157msgid "Close all"
317msgid "Close all"
158msgstr "ሁሉንም መዝጊያ"
318msgstr "ሁሉንም መዝጊያ"
159
319
160−#: qml/Dash/DashPageHeader.qml:337
320+#: qml/Dash/DashPageHeader.qml:333
161msgctxt "Button: Open the Ubuntu Store"
321msgctxt "Button: Open the Ubuntu Store"
162msgid "Store"
322msgid "Store"
163msgstr "ማስቀመጫ"
323msgstr "ማስቀመጫ"
164
324
165−#: qml/Dash/DashPageHeader.qml:344
325+#: qml/Dash/DashPageHeader.qml:340
166msgctxt "Button: Start a search in the current dash scope"
326msgctxt "Button: Start a search in the current dash scope"
167msgid "Search"
327msgid "Search"
168msgstr "መፈለጊያ"
328msgstr "መፈለጊያ"
169
329
170−#: qml/Dash/DashPageHeader.qml:354
330+#: qml/Dash/DashPageHeader.qml:350
171msgctxt "Button: Show the current dash scope settings"
331msgctxt "Button: Show the current dash scope settings"
172msgid "Settings"
332msgid "Settings"
173msgstr "ማሰናጃዎች"
333msgstr "ማሰናጃዎች"
174
334
175−#: qml/Dash/DashPageHeader.qml:361
335+#: qml/Dash/DashPageHeader.qml:357
176msgid "Remove from Favorites"
336msgid "Remove from Favorites"
177msgstr "ከምወዳቸው ማስወገጃ"
337msgstr "ከምወዳቸው ማስወገጃ"
178
338
179−#: qml/Dash/DashPageHeader.qml:361
339+#: qml/Dash/DashPageHeader.qml:357
180msgid "Add to Favorites"
340msgid "Add to Favorites"
181msgstr "ወደምወዳቸው መጨመሪያ"
341msgstr "ወደምወዳቸው መጨመሪያ"
182
342
@@ -188,24 +348,24 @@ msgstr "የ እርስዎን ውጤቶች እንደገና ማጣሪያ"
188msgid "Reset"
348msgid "Reset"
189msgstr "እንደ ነበረ መመለሻ"
349msgstr "እንደ ነበረ መመለሻ"
190
350
191−#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
351+#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
192msgid "Show less"
352msgid "Show less"
193−msgstr ""
353+msgstr "ትንሽ ማሳያ"
194
354
195−#: qml/Dash/GenericScopeView.qml:579
355+#: qml/Dash/GenericScopeView.qml:580
196msgid "Show all"
356msgid "Show all"
197−msgstr ""
357+msgstr "ሁሉንም ማሳያ"
198
358
199−#: qml/Dash/GenericScopeView.qml:636
359+#: qml/Dash/GenericScopeView.qml:637
200msgctxt "Label: Hint for dash search line edit"
360msgctxt "Label: Hint for dash search line edit"
201msgid "Search"
361msgid "Search"
202msgstr "መፈለጊያ"
362msgstr "መፈለጊያ"
203
363
204−#: qml/Dash/PageHeaderExtraPanel.qml:55
364+#: qml/Dash/PageHeaderExtraPanel.qml:56
205msgid "Recent Searches"
365msgid "Recent Searches"
206msgstr "የ ቅርብ ጊዜ ፍለጋዎች"
366msgstr "የ ቅርብ ጊዜ ፍለጋዎች"
207
367
208−#: qml/Dash/PageHeaderExtraPanel.qml:66
368+#: qml/Dash/PageHeaderExtraPanel.qml:67
209msgid "Clear All"
369msgid "Clear All"
210msgstr "ሁሉንም ማጽጃ"
370msgstr "ሁሉንም ማጽጃ"
211
371
@@ -218,15 +378,15 @@ msgid "Less..."
218msgstr "አነስተኛ..."
378msgstr "አነስተኛ..."
219
379
220#: qml/Dash/Previews/PreviewCommentInput.qml:68
380#: qml/Dash/Previews/PreviewCommentInput.qml:68
221−#: qml/Dash/Previews/PreviewRatingInput.qml:174
381+#: qml/Dash/Previews/PreviewRatingInput.qml:175
222msgid "Send"
382msgid "Send"
223msgstr "መላኪያ"
383msgstr "መላኪያ"
224
384
225−#: qml/Dash/Previews/PreviewRatingInput.qml:84
385+#: qml/Dash/Previews/PreviewRatingInput.qml:82
226msgid "Rate this"
386msgid "Rate this"
227msgstr "ለዚህ ደረጃ ይስጡ"
387msgstr "ለዚህ ደረጃ ይስጡ"
228
388
229−#: qml/Dash/Previews/PreviewRatingInput.qml:129
389+#: qml/Dash/Previews/PreviewRatingInput.qml:157
230msgid "Add a review"
390msgid "Add a review"
231msgstr "ግምገማ መጨመሪያ"
391msgstr "ግምገማ መጨመሪያ"
232
392
@@ -246,15 +406,15 @@ msgstr "ይልቀቁ ለማነቃቃት…"
246msgid "Enable location data"
406msgid "Enable location data"
247msgstr "የአካባቢ ዳታ ማስቻያ"
407msgstr "የአካባቢ ዳታ ማስቻያ"
248
408
249−#: qml/Dash/ScopesList.qml:67
409+#: qml/Dash/ScopesList.qml:55
250msgid "Manage"
410msgid "Manage"
251msgstr "አስተዳዳሪ"
411msgstr "አስተዳዳሪ"
252
412
253−#: qml/Dash/ScopesList.qml:113
413+#: qml/Dash/ScopesList.qml:101
254msgid "Home"
414msgid "Home"
255msgstr "ቤት"
415msgstr "ቤት"
256
416
257−#: qml/Dash/ScopesList.qml:114
417+#: qml/Dash/ScopesList.qml:102
258msgid "Also installed"
418msgid "Also installed"
259msgstr "እንዲሁም የተገጠሙ"
419msgstr "እንዲሁም የተገጠሙ"
260
420
@@ -264,17 +424,17 @@ msgid ""
264"touch pad to interact with the pointer."
424"touch pad to interact with the pointer."
265msgstr "የ እርስዎ አካል አሁን ከ ውጪ ማሳያ ጋር ተገናኝቷል: ይህን መመልከቻ እንደ ተችፓድ መጠቀሚያ"
425msgstr "የ እርስዎ አካል አሁን ከ ውጪ ማሳያ ጋር ተገናኝቷል: ይህን መመልከቻ እንደ ተችፓድ መጠቀሚያ"
266
426
267−#: qml/Greeter/CoverPage.qml:118
427+#: qml/Greeter/CoverPage.qml:119
268msgid "Unlock"
428msgid "Unlock"
269msgstr "መክፈቻ"
429msgstr "መክፈቻ"
270
430
271−#: qml/Greeter/LoginList.qml:239
431+#: qml/Greeter/LoginList.qml:259
272msgid "Retry"
432msgid "Retry"
273msgstr "እንደገና ይሞክሩ"
433msgstr "እንደገና ይሞክሩ"
274
434
275−#: qml/Greeter/LoginList.qml:240
435+#: qml/Greeter/LoginList.qml:260
276−msgid "Tap to unlock"
436+msgid "Log In"
277−msgstr "ለመክፈት መታ ያድርጉ"
437+msgstr "መግቢያ"
278
438
279#: qml/Greeter/NarrowView.qml:54
439#: qml/Greeter/NarrowView.qml:54
280msgid "Sorry, incorrect passphrase."
440msgid "Sorry, incorrect passphrase."
@@ -406,18 +566,18 @@ msgstr "ጨርሷል"
406msgid "Failed, tap to retry"
566msgid "Failed, tap to retry"
407msgstr "አልተቻለም: እንደገና ለመሞከር መታ ያድርጉ"
567msgstr "አልተቻለም: እንደገና ለመሞከር መታ ያድርጉ"
408
568
409−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:155
569+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:151
410−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
570+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:210
411msgctxt "Button: Send a reply message"
571msgctxt "Button: Send a reply message"
412msgid "Send"
572msgid "Send"
413msgstr "መላኪያ"
573msgstr "መላኪያ"
414
574
415−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
575+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:152
416msgctxt "Label: Hint in message indicator line edit"
576msgctxt "Label: Hint in message indicator line edit"
417msgid "Reply"
577msgid "Reply"
418msgstr "መመለሻ"
578msgstr "መመለሻ"
419
579
420−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
580+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:209
421msgctxt "Button: Call back on phone"
581msgctxt "Button: Call back on phone"
422msgid "Call back"
582msgid "Call back"
423msgstr "መልሶ መደወያ"
583msgstr "መልሶ መደወያ"
@@ -426,49 +586,25 @@ msgstr "መልሶ መደወያ"
426msgid "Drag using 3 fingers any application from one window to the other"
586msgid "Drag using 3 fingers any application from one window to the other"
427msgstr "መጎተቻ 3 ጣቶች በ መጠቀም ማንኛውንም መተግበሪያ ከ አንድ መስኮት ወደ ሌላ"
587msgstr "መጎተቻ 3 ጣቶች በ መጠቀም ማንኛውንም መተግበሪያ ከ አንድ መስኮት ወደ ሌላ"
428
588
429−#: qml/Tutorial/TutorialBottom.qml:78
430−msgid "Swipe up to add a contact"
431−msgstr "ወደ ላይ ይጥረጉ ግንኙነት ለ መጨመር"
432−
433−#: qml/Tutorial/TutorialBottom.qml:80
434−msgid "Swipe up for favorite calculations"
435−msgstr "ወደ ላይ ይጥረጉ የሚወዱትን ለማስላት"
436−
437−#: qml/Tutorial/TutorialBottom.qml:82
438−msgid "Swipe up for recent calls"
439−msgstr "ወደ ላይ ይጥረጉ ለ ቅርብ ጊዜ ጥሪዎች"
440−
441−#: qml/Tutorial/TutorialBottom.qml:84
442−msgid "Swipe up to create a message"
443−msgstr "ወደ ላይ ይጥረጉ መልእክት ለ መፍጠር"
444−
445−#: qml/Tutorial/TutorialBottom.qml:85
446−msgid "Swipe up to manage the app"
447−msgstr "ወደ ላይ ይጥረጉ መተግበሪያ ለማስተዳደር"
448−
449−#: qml/Tutorial/TutorialLeftLong.qml:47
589+#: qml/Tutorial/TutorialLeftLong.qml:49
450msgid "Long swipe from the left edge to open the Today scope"
590msgid "Long swipe from the left edge to open the Today scope"
451msgstr "በ ረጅሙ ከ ግራ ጠርዝ በኩል ይጥረጉ የ ዛሬን ክልል ለ መክፈት"
591msgstr "በ ረጅሙ ከ ግራ ጠርዝ በኩል ይጥረጉ የ ዛሬን ክልል ለ መክፈት"
452
592
453#: qml/Tutorial/TutorialLeft.qml:47
593#: qml/Tutorial/TutorialLeft.qml:47
454−msgid "Swipe from the left edge to open the launcher"
594+msgid "Short swipe from the left edge to open the launcher"
455−msgstr "ከ ግራ ጠርዝ በኩል ይጥረጉ ማስጀመሪያውን ለ መክፈት"
595+msgstr "በ አጭሩ ይጥረጉ ከ ግራ ጠርዝ በኩል ማስጀመሪያውን ለ መክፈት"
456
596
457#: qml/Tutorial/TutorialRight.qml:55
597#: qml/Tutorial/TutorialRight.qml:55
458msgid "Push your mouse against the right edge to view your open apps"
598msgid "Push your mouse against the right edge to view your open apps"
459−msgstr ""
599+msgstr "የ እርስዎን አይጥ መጠቆሚያ ወደ ቀኝ ጠርዝ በኩል ያስጠጉ የ ተከፈቱ መተግበሪያዎችን ለ መመልከት"
460
600
461#: qml/Tutorial/TutorialRight.qml:56
601#: qml/Tutorial/TutorialRight.qml:56
462−msgid "Short or long swipe from the right edge to view your open apps"
602+msgid "Swipe from the right edge to view your open apps"
463−msgstr "በ አጭሩ ወይንም በ ረጅሙ ይጥረጉ ከ ቀኝ ጠረዝ በኩል የ ተከፈቱ መተግበሪያዎችን ለማየት"
603+msgstr "ከ ቀኝ በኩል ይጥረጉ የ ተከፈቱ መተግበሪያዎችን ለ መመልከት"
464
604
465#: qml/Tutorial/TutorialTop.qml:53
605#: qml/Tutorial/TutorialTop.qml:53
466−msgid "Swipe from the top right edge to open the notification bar"
606+msgid "Swipe from the top edge to access notifications and quick settings"
467−msgstr "ከ ላይ ቀኝ ጠርዝ በኩል ይጥረጉ የ ማስታወቂያ መደርደሪያ ለ መክፈት"
607+msgstr "ከ ላይ ጠረዝ በኩል ይጥረጉ ማስታወቂያዎች እና በፍጥነት ማሰናጃዎች ጋር ለ መድረስ"
468−
469−#: qml/Tutorial/TutorialTop.qml:54
470−msgid "Swipe from the top edge to open the notification bar"
471−msgstr "ከ ላይ ጠርዝ በኩል ይጥረጉ የ ማስታወቂያ መደርደሪያ ለ መክፈት"
472
608
473#: qml/Wizard/Page.qml:54
609#: qml/Wizard/Page.qml:54
474msgctxt "Button: Go back one page in the Wizard"
610msgctxt "Button: Go back one page in the Wizard"
@@ -479,8 +615,8 @@ msgstr "ወደ ኋላ"
479msgid "Language"
615msgid "Language"
480msgstr "ቋንቋ"
616msgstr "ቋንቋ"
481
617
482−#: qml/Wizard/Pages/10-welcome.qml:156 qml/Wizard/Pages/30-wifi.qml:206
618+#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
483−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:267
619+#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
484#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
620#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
485#: qml/Wizard/Pages/75-report-check.qml:84
621#: qml/Wizard/Pages/75-report-check.qml:84
486#: qml/Wizard/Pages/passcode-desktop.qml:124
622#: qml/Wizard/Pages/passcode-desktop.qml:124
@@ -545,7 +681,7 @@ msgstr "እርስዎ በኋላ በ ስርአት ማሰናጃ ውስጥ መቀየ
545msgid "Time Zone"
681msgid "Time Zone"
546msgstr "የ ሰአት ክልል"
682msgstr "የ ሰአት ክልል"
547
683
548−#: qml/Wizard/Pages/50-timezone.qml:178
684+#: qml/Wizard/Pages/50-timezone.qml:181
549msgid "Enter your city"
685msgid "Enter your city"
550msgstr "የ እርስዎን ከተማ ያስገቡ"
686msgstr "የ እርስዎን ከተማ ያስገቡ"
551
687
@@ -988,6 +1124,9 @@ msgstr "በጣም ደካማ የ መግቢያ ቃል"
988#~ msgid "View all your running tasks."
1124#~ msgid "View all your running tasks."
989#~ msgstr "እርስዎ የሚያስኬዱትን ተግባሮች በሙሉ መመልከቻ"
1125#~ msgstr "እርስዎ የሚያስኬዱትን ተግባሮች በሙሉ መመልከቻ"
990
1126
1127+#~ msgid "Tap to unlock"
1128+#~ msgstr "ለመክፈት መታ ያድርጉ"
1129+
991#~ msgctxt "Button: Shut down the system"
1130#~ msgctxt "Button: Shut down the system"
992#~ msgid "Shut down"
1131#~ msgid "Shut down"
993#~ msgstr "ማጥፊያ"
1132#~ msgstr "ማጥፊያ"
@@ -1057,5 +1196,32 @@ msgstr "በጣም ደካማ የ መግቢያ ቃል"
1057#~ msgid "Call back"
1196#~ msgid "Call back"
1058#~ msgstr "መልሶ መደወያ"
1197#~ msgstr "መልሶ መደወያ"
1059
1198
1199+#~ msgid "Swipe up for recent calls"
1200+#~ msgstr "ወደ ላይ ይጥረጉ ለ ቅርብ ጊዜ ጥሪዎች"
1201+
1202+#~ msgid "Swipe up for favorite calculations"
1203+#~ msgstr "ወደ ላይ ይጥረጉ የሚወዱትን ለማስላት"
1204+
1205+#~ msgid "Swipe up to manage the app"
1206+#~ msgstr "ወደ ላይ ይጥረጉ መተግበሪያ ለማስተዳደር"
1207+
1208+#~ msgid "Swipe up to create a message"
1209+#~ msgstr "ወደ ላይ ይጥረጉ መልእክት ለ መፍጠር"
1210+
1211+#~ msgid "Swipe up to add a contact"
1212+#~ msgstr "ወደ ላይ ይጥረጉ ግንኙነት ለ መጨመር"
1213+
1214+#~ msgid "Swipe from the top right edge to open the notification bar"
1215+#~ msgstr "ከ ላይ ቀኝ ጠርዝ በኩል ይጥረጉ የ ማስታወቂያ መደርደሪያ ለ መክፈት"
1216+
1217+#~ msgid "Swipe from the top edge to open the notification bar"
1218+#~ msgstr "ከ ላይ ጠርዝ በኩል ይጥረጉ የ ማስታወቂያ መደርደሪያ ለ መክፈት"
1219+
1220+#~ msgid "Short or long swipe from the right edge to view your open apps"
1221+#~ msgstr "በ አጭሩ ወይንም በ ረጅሙ ይጥረጉ ከ ቀኝ ጠረዝ በኩል የ ተከፈቱ መተግበሪያዎችን ለማየት"
1222+
1223+#~ msgid "Swipe from the left edge to open the launcher"
1224+#~ msgstr "ከ ግራ ጠርዝ በኩል ይጥረጉ ማስጀመሪያውን ለ መክፈት"
1225+
1060#~ msgid "Hover your mouse on the right edge to view your open apps"
1226#~ msgid "Hover your mouse on the right edge to view your open apps"
1061#~ msgstr "የ እርስዎን አይጥ ወደ ቀኝ ጠርዝ በኩል ሲያደርጉ የ ተከፈቱ መተግበሪያዎች መመልከቻ"
1227#~ msgstr "የ እርስዎን አይጥ ወደ ቀኝ ጠርዝ በኩል ሲያደርጉ የ ተከፈቱ መተግበሪያዎች መመልከቻ"
po/ar.po+216−77
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-05-20 08:44+0000\n"
10+"POT-Creation-Date: 2016-06-17 01:22+0000\n"
11"PO-Revision-Date: 2015-07-29 09:41+0000\n"
11"PO-Revision-Date: 2015-07-29 09:41+0000\n"
12"Last-Translator: Ibrahim Saed <ibraheem5000@gmail.com>\n"
12"Last-Translator: Ibrahim Saed <ibraheem5000@gmail.com>\n"
13"Language-Team: Arabic <ar@li.org>\n"
13"Language-Team: Arabic <ar@li.org>\n"
@@ -16,23 +16,23 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= "
17"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= "
18"3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n"
18"3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n"
19−"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
19+"X-Launchpad-Export-Date: 2016-06-19 05:54+0000\n"
20−"X-Generator: Launchpad (build 18053)\n"
20+"X-Generator: Launchpad (build 18097)\n"
21
21
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
24msgstr "كلمة السر: "
24msgstr "كلمة السر: "
25
25
26−#: plugins/Unity/Launcher/launcheritem.cpp:48
26+#: plugins/Unity/Launcher/launcheritem.cpp:49
27−#: plugins/Unity/Launcher/launcheritem.cpp:107
27+#: plugins/Unity/Launcher/launcheritem.cpp:108
28msgid "Pin shortcut"
28msgid "Pin shortcut"
29msgstr "تثبيت الاختصار"
29msgstr "تثبيت الاختصار"
30
30
31−#: plugins/Unity/Launcher/launcheritem.cpp:53
31+#: plugins/Unity/Launcher/launcheritem.cpp:54
32msgid "Quit"
32msgid "Quit"
33msgstr "خروج"
33msgstr "خروج"
34
34
35−#: plugins/Unity/Launcher/launcheritem.cpp:107
35+#: plugins/Unity/Launcher/launcheritem.cpp:108
36msgid "Unpin shortcut"
36msgid "Unpin shortcut"
37msgstr "إزالة تثبيت الاختصار"
37msgstr "إزالة تثبيت الاختصار"
38
38
@@ -61,54 +61,54 @@ msgstr[3] "برجاء الانتظار %1 دقائق ثم المحاولة مج
61msgstr[4] "برجاء الانتظار %1 دقيقة ثم المحاولة مجددًا..."
61msgstr[4] "برجاء الانتظار %1 دقيقة ثم المحاولة مجددًا..."
62msgstr[5] "برجاء الانتظار %1 دقيقة ثم المحاولة مجددًا..."
62msgstr[5] "برجاء الانتظار %1 دقيقة ثم المحاولة مجددًا..."
63
63
64−#: qml/Components/Dialogs.qml:144
64+#: qml/Components/Dialogs.qml:146
65msgctxt "Title: Lock/Log out dialog"
65msgctxt "Title: Lock/Log out dialog"
66msgid "Log out"
66msgid "Log out"
67msgstr "خروج"
67msgstr "خروج"
68
68
69−#: qml/Components/Dialogs.qml:145
69+#: qml/Components/Dialogs.qml:147
70msgid "Are you sure you want to log out?"
70msgid "Are you sure you want to log out?"
71msgstr "هل أنت متأكد من رغبتك في تسجيل الخروج؟"
71msgstr "هل أنت متأكد من رغبتك في تسجيل الخروج؟"
72
72
73−#: qml/Components/Dialogs.qml:147
73+#: qml/Components/Dialogs.qml:149
74msgctxt "Button: Lock the system"
74msgctxt "Button: Lock the system"
75msgid "Lock"
75msgid "Lock"
76msgstr "أوصِد"
76msgstr "أوصِد"
77
77
78−#: qml/Components/Dialogs.qml:154
78+#: qml/Components/Dialogs.qml:156
79msgctxt "Button: Log out from the system"
79msgctxt "Button: Log out from the system"
80msgid "Log Out"
80msgid "Log Out"
81msgstr "خروج"
81msgstr "خروج"
82
82
83−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
83+#: qml/Components/Dialogs.qml:163 qml/Components/Dialogs.qml:219
84−#: qml/Dash/DashPageHeader.qml:298 qml/Wizard/Pages/passcode-confirm.qml:32
84+#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
85#: qml/Wizard/Pages/passcode-set.qml:32
85#: qml/Wizard/Pages/passcode-set.qml:32
86msgid "Cancel"
86msgid "Cancel"
87msgstr "إلغاء"
87msgstr "إلغاء"
88
88
89−#: qml/Components/Dialogs.qml:173
89+#: qml/Components/Dialogs.qml:175
90msgctxt "Title: Reboot dialog"
90msgctxt "Title: Reboot dialog"
91msgid "Reboot"
91msgid "Reboot"
92msgstr "إعادة التشغيل"
92msgstr "إعادة التشغيل"
93
93
94−#: qml/Components/Dialogs.qml:174
94+#: qml/Components/Dialogs.qml:176
95msgid "Are you sure you want to reboot?"
95msgid "Are you sure you want to reboot?"
96msgstr "هل أنت متأكد من رغبتك في إعادة تشغيل الجهاز؟"
96msgstr "هل أنت متأكد من رغبتك في إعادة تشغيل الجهاز؟"
97
97
98−#: qml/Components/Dialogs.qml:176
98+#: qml/Components/Dialogs.qml:178
99msgid "No"
99msgid "No"
100msgstr "لا"
100msgstr "لا"
101
101
102−#: qml/Components/Dialogs.qml:182
102+#: qml/Components/Dialogs.qml:184
103msgid "Yes"
103msgid "Yes"
104msgstr "نعم"
104msgstr "نعم"
105
105
106−#: qml/Components/Dialogs.qml:197
106+#: qml/Components/Dialogs.qml:199
107msgctxt "Title: Power off/Restart dialog"
107msgctxt "Title: Power off/Restart dialog"
108msgid "Power"
108msgid "Power"
109msgstr "الطاقة"
109msgstr "الطاقة"
110
110
111−#: qml/Components/Dialogs.qml:198
111+#: qml/Components/Dialogs.qml:200
112msgid ""
112msgid ""
113"Are you sure you would like\n"
113"Are you sure you would like\n"
114"to power off?"
114"to power off?"
@@ -116,16 +116,176 @@ msgstr ""
116"هل أنت متأكد من رغبتك\n"
116"هل أنت متأكد من رغبتك\n"
117"في إيقاف التشغيل؟"
117"في إيقاف التشغيل؟"
118
118
119−#: qml/Components/Dialogs.qml:200
119+#: qml/Components/Dialogs.qml:202
120msgctxt "Button: Power off the system"
120msgctxt "Button: Power off the system"
121msgid "Power off"
121msgid "Power off"
122msgstr "إيقاف التشغيل"
122msgstr "إيقاف التشغيل"
123
123
124−#: qml/Components/Dialogs.qml:209
124+#: qml/Components/Dialogs.qml:211
125msgctxt "Button: Restart the system"
125msgctxt "Button: Restart the system"
126msgid "Restart"
126msgid "Restart"
127msgstr "إعادة التشغيل"
127msgstr "إعادة التشغيل"
128
128
129+#: qml/Components/KeyboardShortcutsOverlay.qml:41
130+msgid "Keyboard Shortcuts"
131+msgstr ""
132+
133+#: qml/Components/KeyboardShortcutsOverlay.qml:55
134+msgid "Unity 8"
135+msgstr ""
136+
137+#: qml/Components/KeyboardShortcutsOverlay.qml:62
138+msgid "PrtScr"
139+msgstr ""
140+
141+#: qml/Components/KeyboardShortcutsOverlay.qml:67
142+msgid "Takes a screenshot."
143+msgstr ""
144+
145+#: qml/Components/KeyboardShortcutsOverlay.qml:75
146+msgid "Alt + PrtScr"
147+msgstr ""
148+
149+#: qml/Components/KeyboardShortcutsOverlay.qml:80
150+msgid "Takes a screenshot of a window."
151+msgstr ""
152+
153+#: qml/Components/KeyboardShortcutsOverlay.qml:88
154+msgid "Super + Space"
155+msgstr ""
156+
157+#: qml/Components/KeyboardShortcutsOverlay.qml:93
158+msgid "Switches to next keyboard layout."
159+msgstr ""
160+
161+#: qml/Components/KeyboardShortcutsOverlay.qml:101
162+msgid "Super + Shift + Space"
163+msgstr ""
164+
165+#: qml/Components/KeyboardShortcutsOverlay.qml:106
166+msgid "Switches to previous keyboard layout."
167+msgstr ""
168+
169+#: qml/Components/KeyboardShortcutsOverlay.qml:118
170+msgid "Launcher"
171+msgstr ""
172+
173+#: qml/Components/KeyboardShortcutsOverlay.qml:125
174+msgid "Super (Hold)"
175+msgstr ""
176+
177+#: qml/Components/KeyboardShortcutsOverlay.qml:130
178+msgid "Opens the launcher, displays shortcuts."
179+msgstr ""
180+
181+#: qml/Components/KeyboardShortcutsOverlay.qml:138
182+msgid "Alt + F1"
183+msgstr ""
184+
185+#: qml/Components/KeyboardShortcutsOverlay.qml:143
186+msgid "Opens launcher keyboard navigation mode."
187+msgstr ""
188+
189+#: qml/Components/KeyboardShortcutsOverlay.qml:151
190+msgid "Super + Tab"
191+msgstr ""
192+
193+#: qml/Components/KeyboardShortcutsOverlay.qml:156
194+msgid "Switches applications via the launcher."
195+msgstr ""
196+
197+#: qml/Components/KeyboardShortcutsOverlay.qml:164
198+msgid "Super + 0 to 9"
199+msgstr ""
200+
201+#: qml/Components/KeyboardShortcutsOverlay.qml:169
202+msgid "Same as clicking on a launcher icon."
203+msgstr ""
204+
205+#: qml/Components/KeyboardShortcutsOverlay.qml:181
206+msgid "Scopes"
207+msgstr ""
208+
209+#: qml/Components/KeyboardShortcutsOverlay.qml:188
210+msgid "Super (Tap)"
211+msgstr ""
212+
213+#: qml/Components/KeyboardShortcutsOverlay.qml:193
214+msgid "Opens the Scopes home."
215+msgstr ""
216+
217+#: qml/Components/KeyboardShortcutsOverlay.qml:209
218+msgid "Switching"
219+msgstr ""
220+
221+#: qml/Components/KeyboardShortcutsOverlay.qml:216
222+msgid "Alt + Tab"
223+msgstr ""
224+
225+#: qml/Components/KeyboardShortcutsOverlay.qml:221
226+msgid "Switches between applications."
227+msgstr ""
228+
229+#: qml/Components/KeyboardShortcutsOverlay.qml:229
230+msgid "Super + W"
231+msgstr ""
232+
233+#: qml/Components/KeyboardShortcutsOverlay.qml:234
234+msgid "Opens the desktop spread."
235+msgstr ""
236+
237+#: qml/Components/KeyboardShortcutsOverlay.qml:242
238+msgid "Cursor Left or Right"
239+msgstr ""
240+
241+#: qml/Components/KeyboardShortcutsOverlay.qml:247
242+msgid "Moves the focus."
243+msgstr ""
244+
245+#: qml/Components/KeyboardShortcutsOverlay.qml:259
246+msgid "Windows"
247+msgstr ""
248+
249+#: qml/Components/KeyboardShortcutsOverlay.qml:266
250+msgid "Ctrl + Super + D"
251+msgstr ""
252+
253+#: qml/Components/KeyboardShortcutsOverlay.qml:271
254+msgid "Minimizes all windows."
255+msgstr ""
256+
257+#: qml/Components/KeyboardShortcutsOverlay.qml:279
258+msgid "Ctrl + Super + Up"
259+msgstr ""
260+
261+#: qml/Components/KeyboardShortcutsOverlay.qml:284
262+msgid "Maximizes the current window."
263+msgstr ""
264+
265+#: qml/Components/KeyboardShortcutsOverlay.qml:292
266+msgid "Ctrl + Super + Down"
267+msgstr ""
268+
269+#: qml/Components/KeyboardShortcutsOverlay.qml:297
270+msgid "Minimizes or restores the current window."
271+msgstr ""
272+
273+#: qml/Components/KeyboardShortcutsOverlay.qml:305
274+msgid "Ctrl + Super + Left or Right"
275+msgstr ""
276+
277+#: qml/Components/KeyboardShortcutsOverlay.qml:310
278+msgid "Semi-maximizes the current window."
279+msgstr ""
280+
281+#: qml/Components/KeyboardShortcutsOverlay.qml:318
282+msgid "Alt + F4"
283+msgstr ""
284+
285+#: qml/Components/KeyboardShortcutsOverlay.qml:323
286+msgid "Closes the current window."
287+msgstr ""
288+
129#: qml/Components/Lockscreen.qml:231
289#: qml/Components/Lockscreen.qml:231
130msgid "Return to Call"
290msgid "Return to Call"
131msgstr "العودة إلى المكالمة"
291msgstr "العودة إلى المكالمة"
@@ -164,26 +324,26 @@ msgstr ""
164msgid "Close all"
324msgid "Close all"
165msgstr ""
325msgstr ""
166
326
167−#: qml/Dash/DashPageHeader.qml:337
327+#: qml/Dash/DashPageHeader.qml:333
168msgctxt "Button: Open the Ubuntu Store"
328msgctxt "Button: Open the Ubuntu Store"
169msgid "Store"
329msgid "Store"
170msgstr "المتجر"
330msgstr "المتجر"
171
331
172−#: qml/Dash/DashPageHeader.qml:344
332+#: qml/Dash/DashPageHeader.qml:340
173msgctxt "Button: Start a search in the current dash scope"
333msgctxt "Button: Start a search in the current dash scope"
174msgid "Search"
334msgid "Search"
175msgstr "بحث"
335msgstr "بحث"
176
336
177−#: qml/Dash/DashPageHeader.qml:354
337+#: qml/Dash/DashPageHeader.qml:350
178msgctxt "Button: Show the current dash scope settings"
338msgctxt "Button: Show the current dash scope settings"
179msgid "Settings"
339msgid "Settings"
180msgstr "الإعدادات"
340msgstr "الإعدادات"
181
341
182−#: qml/Dash/DashPageHeader.qml:361
342+#: qml/Dash/DashPageHeader.qml:357
183msgid "Remove from Favorites"
343msgid "Remove from Favorites"
184msgstr "حذف من المفضلات"
344msgstr "حذف من المفضلات"
185
345
186−#: qml/Dash/DashPageHeader.qml:361
346+#: qml/Dash/DashPageHeader.qml:357
187msgid "Add to Favorites"
347msgid "Add to Favorites"
188msgstr "إضافة إلى المفضلات"
348msgstr "إضافة إلى المفضلات"
189
349
@@ -195,24 +355,24 @@ msgstr ""
195msgid "Reset"
355msgid "Reset"
196msgstr ""
356msgstr ""
197
357
198−#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
358+#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
199msgid "Show less"
359msgid "Show less"
200msgstr ""
360msgstr ""
201
361
202−#: qml/Dash/GenericScopeView.qml:579
362+#: qml/Dash/GenericScopeView.qml:580
203msgid "Show all"
363msgid "Show all"
204msgstr ""
364msgstr ""
205
365
206−#: qml/Dash/GenericScopeView.qml:636
366+#: qml/Dash/GenericScopeView.qml:637
207msgctxt "Label: Hint for dash search line edit"
367msgctxt "Label: Hint for dash search line edit"
208msgid "Search"
368msgid "Search"
209msgstr "بحث"
369msgstr "بحث"
210
370
211−#: qml/Dash/PageHeaderExtraPanel.qml:55
371+#: qml/Dash/PageHeaderExtraPanel.qml:56
212msgid "Recent Searches"
372msgid "Recent Searches"
213msgstr ""
373msgstr ""
214
374
215−#: qml/Dash/PageHeaderExtraPanel.qml:66
375+#: qml/Dash/PageHeaderExtraPanel.qml:67
216msgid "Clear All"
376msgid "Clear All"
217msgstr ""
377msgstr ""
218
378
@@ -225,15 +385,15 @@ msgid "Less..."
225msgstr "أقل..."
385msgstr "أقل..."
226
386
227#: qml/Dash/Previews/PreviewCommentInput.qml:68
387#: qml/Dash/Previews/PreviewCommentInput.qml:68
228−#: qml/Dash/Previews/PreviewRatingInput.qml:174
388+#: qml/Dash/Previews/PreviewRatingInput.qml:175
229msgid "Send"
389msgid "Send"
230msgstr "أرسل"
390msgstr "أرسل"
231
391
232−#: qml/Dash/Previews/PreviewRatingInput.qml:84
392+#: qml/Dash/Previews/PreviewRatingInput.qml:82
233msgid "Rate this"
393msgid "Rate this"
234msgstr "قيّم ذلك"
394msgstr "قيّم ذلك"
235
395
236−#: qml/Dash/Previews/PreviewRatingInput.qml:129
396+#: qml/Dash/Previews/PreviewRatingInput.qml:157
237msgid "Add a review"
397msgid "Add a review"
238msgstr "أضف تعليق"
398msgstr "أضف تعليق"
239
399
@@ -253,15 +413,15 @@ msgstr "حرّر للتحديث..."
253msgid "Enable location data"
413msgid "Enable location data"
254msgstr "تفعيل بيانات الموقع"
414msgstr "تفعيل بيانات الموقع"
255
415
256−#: qml/Dash/ScopesList.qml:67
416+#: qml/Dash/ScopesList.qml:55
257msgid "Manage"
417msgid "Manage"
258msgstr "إدارة"
418msgstr "إدارة"
259
419
260−#: qml/Dash/ScopesList.qml:113
420+#: qml/Dash/ScopesList.qml:101
261msgid "Home"
421msgid "Home"
262msgstr "الرئيسية"
422msgstr "الرئيسية"
263
423
264−#: qml/Dash/ScopesList.qml:114
424+#: qml/Dash/ScopesList.qml:102
265msgid "Also installed"
425msgid "Also installed"
266msgstr "أيضا تم تثبيت"
426msgstr "أيضا تم تثبيت"
267
427
@@ -271,17 +431,17 @@ msgid ""
271"touch pad to interact with the pointer."
431"touch pad to interact with the pointer."
272msgstr ""
432msgstr ""
273
433
274−#: qml/Greeter/CoverPage.qml:118
434+#: qml/Greeter/CoverPage.qml:119
275msgid "Unlock"
435msgid "Unlock"
276msgstr "فك القفل"
436msgstr "فك القفل"
277
437
278−#: qml/Greeter/LoginList.qml:239
438+#: qml/Greeter/LoginList.qml:259
279msgid "Retry"
439msgid "Retry"
280msgstr "إعادة المحاولة"
440msgstr "إعادة المحاولة"
281
441
282−#: qml/Greeter/LoginList.qml:240
442+#: qml/Greeter/LoginList.qml:260
283−msgid "Tap to unlock"
443+msgid "Log In"
284−msgstr "انقر لفك القفل"
444+msgstr ""
285
445
286#: qml/Greeter/NarrowView.qml:54
446#: qml/Greeter/NarrowView.qml:54
287msgid "Sorry, incorrect passphrase."
447msgid "Sorry, incorrect passphrase."
@@ -425,18 +585,18 @@ msgstr "انتهى"
425msgid "Failed, tap to retry"
585msgid "Failed, tap to retry"
426msgstr "فشل، انقل لإعادة المحاولة"
586msgstr "فشل، انقل لإعادة المحاولة"
427
587
428−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:155
588+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:151
429−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
589+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:210
430msgctxt "Button: Send a reply message"
590msgctxt "Button: Send a reply message"
431msgid "Send"
591msgid "Send"
432msgstr ""
592msgstr ""
433
593
434−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
594+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:152
435msgctxt "Label: Hint in message indicator line edit"
595msgctxt "Label: Hint in message indicator line edit"
436msgid "Reply"
596msgid "Reply"
437msgstr "رد"
597msgstr "رد"
438
598
439−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
599+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:209
440msgctxt "Button: Call back on phone"
600msgctxt "Button: Call back on phone"
441msgid "Call back"
601msgid "Call back"
442msgstr ""
602msgstr ""
@@ -445,32 +605,12 @@ msgstr ""
445msgid "Drag using 3 fingers any application from one window to the other"
605msgid "Drag using 3 fingers any application from one window to the other"
446msgstr ""
606msgstr ""
447
607
448−#: qml/Tutorial/TutorialBottom.qml:78
449−msgid "Swipe up to add a contact"
450−msgstr ""
451−
452−#: qml/Tutorial/TutorialBottom.qml:80
453−msgid "Swipe up for favorite calculations"
454−msgstr ""
455−
456−#: qml/Tutorial/TutorialBottom.qml:82
457−msgid "Swipe up for recent calls"
458−msgstr ""
459−
460−#: qml/Tutorial/TutorialBottom.qml:84
461−msgid "Swipe up to create a message"
462−msgstr ""
463−
464−#: qml/Tutorial/TutorialBottom.qml:85
465−msgid "Swipe up to manage the app"
466−msgstr ""
467−
468−#: qml/Tutorial/TutorialLeftLong.qml:47
608+#: qml/Tutorial/TutorialLeftLong.qml:49
469msgid "Long swipe from the left edge to open the Today scope"
609msgid "Long swipe from the left edge to open the Today scope"
470msgstr ""
610msgstr ""
471
611
472#: qml/Tutorial/TutorialLeft.qml:47
612#: qml/Tutorial/TutorialLeft.qml:47
473−msgid "Swipe from the left edge to open the launcher"
613+msgid "Short swipe from the left edge to open the launcher"
474msgstr ""
614msgstr ""
475
615
476#: qml/Tutorial/TutorialRight.qml:55
616#: qml/Tutorial/TutorialRight.qml:55
@@ -478,15 +618,11 @@ msgid "Push your mouse against the right edge to view your open apps"
478msgstr ""
618msgstr ""
479
619
480#: qml/Tutorial/TutorialRight.qml:56
620#: qml/Tutorial/TutorialRight.qml:56
481−msgid "Short or long swipe from the right edge to view your open apps"
621+msgid "Swipe from the right edge to view your open apps"
482msgstr ""
622msgstr ""
483
623
484#: qml/Tutorial/TutorialTop.qml:53
624#: qml/Tutorial/TutorialTop.qml:53
485−msgid "Swipe from the top right edge to open the notification bar"
625+msgid "Swipe from the top edge to access notifications and quick settings"
486−msgstr ""
487−
488−#: qml/Tutorial/TutorialTop.qml:54
489−msgid "Swipe from the top edge to open the notification bar"
490msgstr ""
626msgstr ""
491
627
492#: qml/Wizard/Page.qml:54
628#: qml/Wizard/Page.qml:54
@@ -498,8 +634,8 @@ msgstr "عودة"
498msgid "Language"
634msgid "Language"
499msgstr ""
635msgstr ""
500
636
501−#: qml/Wizard/Pages/10-welcome.qml:156 qml/Wizard/Pages/30-wifi.qml:206
637+#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
502−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:267
638+#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
503#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
639#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
504#: qml/Wizard/Pages/75-report-check.qml:84
640#: qml/Wizard/Pages/75-report-check.qml:84
505#: qml/Wizard/Pages/passcode-desktop.qml:124
641#: qml/Wizard/Pages/passcode-desktop.qml:124
@@ -564,7 +700,7 @@ msgstr ""
564msgid "Time Zone"
700msgid "Time Zone"
565msgstr ""
701msgstr ""
566
702
567−#: qml/Wizard/Pages/50-timezone.qml:178
703+#: qml/Wizard/Pages/50-timezone.qml:181
568msgid "Enter your city"
704msgid "Enter your city"
569msgstr ""
705msgstr ""
570
706
@@ -867,6 +1003,9 @@ msgstr ""
867#~ msgid "See all"
1003#~ msgid "See all"
868#~ msgstr "عرض الكل"
1004#~ msgstr "عرض الكل"
869
1005
1006+#~ msgid "Tap to unlock"
1007+#~ msgstr "انقر لفك القفل"
1008+
870#~ msgid "Please re-enter"
1009#~ msgid "Please re-enter"
871#~ msgstr "برجاء إعادة إدخالها"
1010#~ msgstr "برجاء إعادة إدخالها"
872
1011
po/ast.po+246−80
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-05-20 08:44+0000\n"
10+"POT-Creation-Date: 2016-06-17 01:22+0000\n"
11"PO-Revision-Date: 2016-05-16 14:07+0000\n"
11"PO-Revision-Date: 2016-05-16 14:07+0000\n"
12"Last-Translator: Xuacu Saturio <xuacusk8@gmail.com>\n"
12"Last-Translator: Xuacu Saturio <xuacusk8@gmail.com>\n"
13"Language-Team: Asturian <ast@li.org>\n"
13"Language-Team: Asturian <ast@li.org>\n"
@@ -15,23 +15,23 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
18+"X-Launchpad-Export-Date: 2016-06-19 05:54+0000\n"
19−"X-Generator: Launchpad (build 18053)\n"
19+"X-Generator: Launchpad (build 18097)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
23msgstr "Contraseña: "
23msgstr "Contraseña: "
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:48
25+#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:107
26+#: plugins/Unity/Launcher/launcheritem.cpp:108
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28msgstr "Anclar atayu"
28msgstr "Anclar atayu"
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:53
30+#: plugins/Unity/Launcher/launcheritem.cpp:54
31msgid "Quit"
31msgid "Quit"
32msgstr "Colar"
32msgstr "Colar"
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:107
34+#: plugins/Unity/Launcher/launcheritem.cpp:108
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36msgstr "Desanclar atayu"
36msgstr "Desanclar atayu"
37
37
@@ -55,54 +55,54 @@ msgid_plural "Please wait %1 minutes and then try again…"
55msgstr[0] "Por favor, espera %1 minutu y vuelvi a intentalo…"
55msgstr[0] "Por favor, espera %1 minutu y vuelvi a intentalo…"
56msgstr[1] "Por favor, espera %1 minutos y vuelvi a intentalo…"
56msgstr[1] "Por favor, espera %1 minutos y vuelvi a intentalo…"
57
57
58−#: qml/Components/Dialogs.qml:144
58+#: qml/Components/Dialogs.qml:146
59msgctxt "Title: Lock/Log out dialog"
59msgctxt "Title: Lock/Log out dialog"
60msgid "Log out"
60msgid "Log out"
61msgstr "Zarrar sesión"
61msgstr "Zarrar sesión"
62
62
63−#: qml/Components/Dialogs.qml:145
63+#: qml/Components/Dialogs.qml:147
64msgid "Are you sure you want to log out?"
64msgid "Are you sure you want to log out?"
65msgstr "¿De xuru que quies zarrar la sesión?"
65msgstr "¿De xuru que quies zarrar la sesión?"
66
66
67−#: qml/Components/Dialogs.qml:147
67+#: qml/Components/Dialogs.qml:149
68msgctxt "Button: Lock the system"
68msgctxt "Button: Lock the system"
69msgid "Lock"
69msgid "Lock"
70msgstr "Bloquiar"
70msgstr "Bloquiar"
71
71
72−#: qml/Components/Dialogs.qml:154
72+#: qml/Components/Dialogs.qml:156
73msgctxt "Button: Log out from the system"
73msgctxt "Button: Log out from the system"
74msgid "Log Out"
74msgid "Log Out"
75msgstr "Zarrar sesión"
75msgstr "Zarrar sesión"
76
76
77−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
77+#: qml/Components/Dialogs.qml:163 qml/Components/Dialogs.qml:219
78−#: qml/Dash/DashPageHeader.qml:298 qml/Wizard/Pages/passcode-confirm.qml:32
78+#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
79#: qml/Wizard/Pages/passcode-set.qml:32
79#: qml/Wizard/Pages/passcode-set.qml:32
80msgid "Cancel"
80msgid "Cancel"
81msgstr "Encaboxar"
81msgstr "Encaboxar"
82
82
83−#: qml/Components/Dialogs.qml:173
83+#: qml/Components/Dialogs.qml:175
84msgctxt "Title: Reboot dialog"
84msgctxt "Title: Reboot dialog"
85msgid "Reboot"
85msgid "Reboot"
86msgstr "Reaniciu"
86msgstr "Reaniciu"
87
87
88−#: qml/Components/Dialogs.qml:174
88+#: qml/Components/Dialogs.qml:176
89msgid "Are you sure you want to reboot?"
89msgid "Are you sure you want to reboot?"
90msgstr "¿De xuru que quies reaniciar?"
90msgstr "¿De xuru que quies reaniciar?"
91
91
92−#: qml/Components/Dialogs.qml:176
92+#: qml/Components/Dialogs.qml:178
93msgid "No"
93msgid "No"
94msgstr "Non"
94msgstr "Non"
95
95
96−#: qml/Components/Dialogs.qml:182
96+#: qml/Components/Dialogs.qml:184
97msgid "Yes"
97msgid "Yes"
98msgstr "Sí"
98msgstr "Sí"
99
99
100−#: qml/Components/Dialogs.qml:197
100+#: qml/Components/Dialogs.qml:199
101msgctxt "Title: Power off/Restart dialog"
101msgctxt "Title: Power off/Restart dialog"
102msgid "Power"
102msgid "Power"
103msgstr "Apagáu"
103msgstr "Apagáu"
104
104
105−#: qml/Components/Dialogs.qml:198
105+#: qml/Components/Dialogs.qml:200
106msgid ""
106msgid ""
107"Are you sure you would like\n"
107"Are you sure you would like\n"
108"to power off?"
108"to power off?"
@@ -110,16 +110,176 @@ msgstr ""
110"¿De xuru que te prestaría\n"
110"¿De xuru que te prestaría\n"
111"apagar?"
111"apagar?"
112
112
113−#: qml/Components/Dialogs.qml:200
113+#: qml/Components/Dialogs.qml:202
114msgctxt "Button: Power off the system"
114msgctxt "Button: Power off the system"
115msgid "Power off"
115msgid "Power off"
116msgstr "Apagar"
116msgstr "Apagar"
117
117
118−#: qml/Components/Dialogs.qml:209
118+#: qml/Components/Dialogs.qml:211
119msgctxt "Button: Restart the system"
119msgctxt "Button: Restart the system"
120msgid "Restart"
120msgid "Restart"
121msgstr "Reaniciar"
121msgstr "Reaniciar"
122
122
123+#: qml/Components/KeyboardShortcutsOverlay.qml:41
124+msgid "Keyboard Shortcuts"
125+msgstr ""
126+
127+#: qml/Components/KeyboardShortcutsOverlay.qml:55
128+msgid "Unity 8"
129+msgstr ""
130+
131+#: qml/Components/KeyboardShortcutsOverlay.qml:62
132+msgid "PrtScr"
133+msgstr ""
134+
135+#: qml/Components/KeyboardShortcutsOverlay.qml:67
136+msgid "Takes a screenshot."
137+msgstr ""
138+
139+#: qml/Components/KeyboardShortcutsOverlay.qml:75
140+msgid "Alt + PrtScr"
141+msgstr ""
142+
143+#: qml/Components/KeyboardShortcutsOverlay.qml:80
144+msgid "Takes a screenshot of a window."
145+msgstr ""
146+
147+#: qml/Components/KeyboardShortcutsOverlay.qml:88
148+msgid "Super + Space"
149+msgstr ""
150+
151+#: qml/Components/KeyboardShortcutsOverlay.qml:93
152+msgid "Switches to next keyboard layout."
153+msgstr ""
154+
155+#: qml/Components/KeyboardShortcutsOverlay.qml:101
156+msgid "Super + Shift + Space"
157+msgstr ""
158+
159+#: qml/Components/KeyboardShortcutsOverlay.qml:106
160+msgid "Switches to previous keyboard layout."
161+msgstr ""
162+
163+#: qml/Components/KeyboardShortcutsOverlay.qml:118
164+msgid "Launcher"
165+msgstr ""
166+
167+#: qml/Components/KeyboardShortcutsOverlay.qml:125
168+msgid "Super (Hold)"
169+msgstr ""
170+
171+#: qml/Components/KeyboardShortcutsOverlay.qml:130
172+msgid "Opens the launcher, displays shortcuts."
173+msgstr ""
174+
175+#: qml/Components/KeyboardShortcutsOverlay.qml:138
176+msgid "Alt + F1"
177+msgstr ""
178+
179+#: qml/Components/KeyboardShortcutsOverlay.qml:143
180+msgid "Opens launcher keyboard navigation mode."
181+msgstr ""
182+
183+#: qml/Components/KeyboardShortcutsOverlay.qml:151
184+msgid "Super + Tab"
185+msgstr ""
186+
187+#: qml/Components/KeyboardShortcutsOverlay.qml:156
188+msgid "Switches applications via the launcher."
189+msgstr ""
190+
191+#: qml/Components/KeyboardShortcutsOverlay.qml:164
192+msgid "Super + 0 to 9"
193+msgstr ""
194+
195+#: qml/Components/KeyboardShortcutsOverlay.qml:169
196+msgid "Same as clicking on a launcher icon."
197+msgstr ""
198+
199+#: qml/Components/KeyboardShortcutsOverlay.qml:181
200+msgid "Scopes"
201+msgstr ""
202+
203+#: qml/Components/KeyboardShortcutsOverlay.qml:188
204+msgid "Super (Tap)"
205+msgstr ""
206+
207+#: qml/Components/KeyboardShortcutsOverlay.qml:193
208+msgid "Opens the Scopes home."
209+msgstr ""
210+
211+#: qml/Components/KeyboardShortcutsOverlay.qml:209
212+msgid "Switching"
213+msgstr ""
214+
215+#: qml/Components/KeyboardShortcutsOverlay.qml:216
216+msgid "Alt + Tab"
217+msgstr ""
218+
219+#: qml/Components/KeyboardShortcutsOverlay.qml:221
220+msgid "Switches between applications."
221+msgstr ""
222+
223+#: qml/Components/KeyboardShortcutsOverlay.qml:229
224+msgid "Super + W"
225+msgstr ""
226+
227+#: qml/Components/KeyboardShortcutsOverlay.qml:234
228+msgid "Opens the desktop spread."
229+msgstr ""
230+
231+#: qml/Components/KeyboardShortcutsOverlay.qml:242
232+msgid "Cursor Left or Right"
233+msgstr ""
234+
235+#: qml/Components/KeyboardShortcutsOverlay.qml:247
236+msgid "Moves the focus."
237+msgstr ""
238+
239+#: qml/Components/KeyboardShortcutsOverlay.qml:259
240+msgid "Windows"
241+msgstr ""
242+
243+#: qml/Components/KeyboardShortcutsOverlay.qml:266
244+msgid "Ctrl + Super + D"
245+msgstr ""
246+
247+#: qml/Components/KeyboardShortcutsOverlay.qml:271
248+msgid "Minimizes all windows."
249+msgstr ""
250+
251+#: qml/Components/KeyboardShortcutsOverlay.qml:279
252+msgid "Ctrl + Super + Up"
253+msgstr ""
254+
255+#: qml/Components/KeyboardShortcutsOverlay.qml:284
256+msgid "Maximizes the current window."
257+msgstr ""
258+
259+#: qml/Components/KeyboardShortcutsOverlay.qml:292
260+msgid "Ctrl + Super + Down"
261+msgstr ""
262+
263+#: qml/Components/KeyboardShortcutsOverlay.qml:297
264+msgid "Minimizes or restores the current window."
265+msgstr ""
266+
267+#: qml/Components/KeyboardShortcutsOverlay.qml:305
268+msgid "Ctrl + Super + Left or Right"
269+msgstr ""
270+
271+#: qml/Components/KeyboardShortcutsOverlay.qml:310
272+msgid "Semi-maximizes the current window."
273+msgstr ""
274+
275+#: qml/Components/KeyboardShortcutsOverlay.qml:318
276+msgid "Alt + F4"
277+msgstr ""
278+
279+#: qml/Components/KeyboardShortcutsOverlay.qml:323
280+msgid "Closes the current window."
281+msgstr ""
282+
123#: qml/Components/Lockscreen.qml:231
283#: qml/Components/Lockscreen.qml:231
124msgid "Return to Call"
284msgid "Return to Call"
125msgstr "Tornar a la llamada"
285msgstr "Tornar a la llamada"
@@ -158,26 +318,26 @@ msgstr "Reconeutar agora."
158msgid "Close all"
318msgid "Close all"
159msgstr "Zarrar too"
319msgstr "Zarrar too"
160
320
161−#: qml/Dash/DashPageHeader.qml:337
321+#: qml/Dash/DashPageHeader.qml:333
162msgctxt "Button: Open the Ubuntu Store"
322msgctxt "Button: Open the Ubuntu Store"
163msgid "Store"
323msgid "Store"
164msgstr "Tienda"
324msgstr "Tienda"
165
325
166−#: qml/Dash/DashPageHeader.qml:344
326+#: qml/Dash/DashPageHeader.qml:340
167msgctxt "Button: Start a search in the current dash scope"
327msgctxt "Button: Start a search in the current dash scope"
168msgid "Search"
328msgid "Search"
169msgstr "Guetar"
329msgstr "Guetar"
170
330
171−#: qml/Dash/DashPageHeader.qml:354
331+#: qml/Dash/DashPageHeader.qml:350
172msgctxt "Button: Show the current dash scope settings"
332msgctxt "Button: Show the current dash scope settings"
173msgid "Settings"
333msgid "Settings"
174msgstr "Axustes"
334msgstr "Axustes"
175
335
176−#: qml/Dash/DashPageHeader.qml:361
336+#: qml/Dash/DashPageHeader.qml:357
177msgid "Remove from Favorites"
337msgid "Remove from Favorites"
178msgstr "Desaniciar de favoritos"
338msgstr "Desaniciar de favoritos"
179
339
180−#: qml/Dash/DashPageHeader.qml:361
340+#: qml/Dash/DashPageHeader.qml:357
181msgid "Add to Favorites"
341msgid "Add to Favorites"
182msgstr "Amestar a favoritos"
342msgstr "Amestar a favoritos"
183
343
@@ -189,24 +349,24 @@ msgstr "Refina los resultaos"
189msgid "Reset"
349msgid "Reset"
190msgstr "Reafitar"
350msgstr "Reafitar"
191
351
192−#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
352+#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
193msgid "Show less"
353msgid "Show less"
194msgstr "Ver menos"
354msgstr "Ver menos"
195
355
196−#: qml/Dash/GenericScopeView.qml:579
356+#: qml/Dash/GenericScopeView.qml:580
197msgid "Show all"
357msgid "Show all"
198msgstr "Ver too"
358msgstr "Ver too"
199
359
200−#: qml/Dash/GenericScopeView.qml:636
360+#: qml/Dash/GenericScopeView.qml:637
201msgctxt "Label: Hint for dash search line edit"
361msgctxt "Label: Hint for dash search line edit"
202msgid "Search"
362msgid "Search"
203msgstr "Guetar"
363msgstr "Guetar"
204
364
205−#: qml/Dash/PageHeaderExtraPanel.qml:55
365+#: qml/Dash/PageHeaderExtraPanel.qml:56
206msgid "Recent Searches"
366msgid "Recent Searches"
207msgstr "Guetes recién"
367msgstr "Guetes recién"
208
368
209−#: qml/Dash/PageHeaderExtraPanel.qml:66
369+#: qml/Dash/PageHeaderExtraPanel.qml:67
210msgid "Clear All"
370msgid "Clear All"
211msgstr "Llimpiar too"
371msgstr "Llimpiar too"
212
372
@@ -219,15 +379,15 @@ msgid "Less..."
219msgstr "Menos…"
379msgstr "Menos…"
220
380
221#: qml/Dash/Previews/PreviewCommentInput.qml:68
381#: qml/Dash/Previews/PreviewCommentInput.qml:68
222−#: qml/Dash/Previews/PreviewRatingInput.qml:174
382+#: qml/Dash/Previews/PreviewRatingInput.qml:175
223msgid "Send"
383msgid "Send"
224msgstr "Unviar"
384msgstr "Unviar"
225
385
226−#: qml/Dash/Previews/PreviewRatingInput.qml:84
386+#: qml/Dash/Previews/PreviewRatingInput.qml:82
227msgid "Rate this"
387msgid "Rate this"
228msgstr "Valorar esto"
388msgstr "Valorar esto"
229
389
230−#: qml/Dash/Previews/PreviewRatingInput.qml:129
390+#: qml/Dash/Previews/PreviewRatingInput.qml:157
231msgid "Add a review"
391msgid "Add a review"
232msgstr "Amestar una reseña"
392msgstr "Amestar una reseña"
233
393
@@ -247,15 +407,15 @@ msgstr "Sueltar p'anovar..."
247msgid "Enable location data"
407msgid "Enable location data"
248msgstr "Habilitar datos d'allugamientu"
408msgstr "Habilitar datos d'allugamientu"
249
409
250−#: qml/Dash/ScopesList.qml:67
410+#: qml/Dash/ScopesList.qml:55
251msgid "Manage"
411msgid "Manage"
252msgstr "Xestionar"
412msgstr "Xestionar"
253
413
254−#: qml/Dash/ScopesList.qml:113
414+#: qml/Dash/ScopesList.qml:101
255msgid "Home"
415msgid "Home"
256msgstr "Aniciu"
416msgstr "Aniciu"
257
417
258−#: qml/Dash/ScopesList.qml:114
418+#: qml/Dash/ScopesList.qml:102
259msgid "Also installed"
419msgid "Also installed"
260msgstr "Tamién instalaos"
420msgstr "Tamién instalaos"
261
421
@@ -267,17 +427,17 @@ msgstr ""
267"El preséu agora ta coneutáu con una pantalla esterna. Usa esta pantalla como "
427"El preséu agora ta coneutáu con una pantalla esterna. Usa esta pantalla como "
268"touch pad pa interactuar col punteru."
428"touch pad pa interactuar col punteru."
269
429
270−#: qml/Greeter/CoverPage.qml:118
430+#: qml/Greeter/CoverPage.qml:119
271msgid "Unlock"
431msgid "Unlock"
272msgstr "Desbloquiar"
432msgstr "Desbloquiar"
273
433
274−#: qml/Greeter/LoginList.qml:239
434+#: qml/Greeter/LoginList.qml:259
275msgid "Retry"
435msgid "Retry"
276msgstr "Reintentar"
436msgstr "Reintentar"
277
437
278−#: qml/Greeter/LoginList.qml:240
438+#: qml/Greeter/LoginList.qml:260
279−msgid "Tap to unlock"
439+msgid "Log In"
280−msgstr "Calca pa desbloquiar"
440+msgstr ""
281
441
282#: qml/Greeter/NarrowView.qml:54
442#: qml/Greeter/NarrowView.qml:54
283msgid "Sorry, incorrect passphrase."
443msgid "Sorry, incorrect passphrase."
@@ -409,18 +569,18 @@ msgstr "Finó"
409msgid "Failed, tap to retry"
569msgid "Failed, tap to retry"
410msgstr "Falló, toca pa reintentar"
570msgstr "Falló, toca pa reintentar"
411
571
412−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:155
572+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:151
413−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
573+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:210
414msgctxt "Button: Send a reply message"
574msgctxt "Button: Send a reply message"
415msgid "Send"
575msgid "Send"
416msgstr "Unviar"
576msgstr "Unviar"
417
577
418−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
578+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:152
419msgctxt "Label: Hint in message indicator line edit"
579msgctxt "Label: Hint in message indicator line edit"
420msgid "Reply"
580msgid "Reply"
421msgstr "Responder"
581msgstr "Responder"
422
582
423−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
583+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:209
424msgctxt "Button: Call back on phone"
584msgctxt "Button: Call back on phone"
425msgid "Call back"
585msgid "Call back"
426msgstr "Devolver llamada"
586msgstr "Devolver llamada"
@@ -429,51 +589,25 @@ msgstr "Devolver llamada"
429msgid "Drag using 3 fingers any application from one window to the other"
589msgid "Drag using 3 fingers any application from one window to the other"
430msgstr "Abasnar cualquier aplicación d'una ventana a otra usando 3 deos"
590msgstr "Abasnar cualquier aplicación d'una ventana a otra usando 3 deos"
431
591
432−#: qml/Tutorial/TutorialBottom.qml:78
433−msgid "Swipe up to add a contact"
434−msgstr "Eslizar p'amestar un contactu"
435−
436−#: qml/Tutorial/TutorialBottom.qml:80
437−msgid "Swipe up for favorite calculations"
438−msgstr "Eslizar pa los cálculos favoritos"
439−
440−#: qml/Tutorial/TutorialBottom.qml:82
441−msgid "Swipe up for recent calls"
442−msgstr "Eslizar pa llamaes recién"
443−
444−#: qml/Tutorial/TutorialBottom.qml:84
445−msgid "Swipe up to create a message"
446−msgstr "Eslizar pa crear un mensaxe"
447−
448−#: qml/Tutorial/TutorialBottom.qml:85
449−msgid "Swipe up to manage the app"
450−msgstr "Eslizar p'alministrar la app"
451−
452−#: qml/Tutorial/TutorialLeftLong.qml:47
592+#: qml/Tutorial/TutorialLeftLong.qml:49
453msgid "Long swipe from the left edge to open the Today scope"
593msgid "Long swipe from the left edge to open the Today scope"
454msgstr "Eslizamientu llargu dende'l berbesu izquierdu pa ver el scope Güei"
594msgstr "Eslizamientu llargu dende'l berbesu izquierdu pa ver el scope Güei"
455
595
456#: qml/Tutorial/TutorialLeft.qml:47
596#: qml/Tutorial/TutorialLeft.qml:47
457−msgid "Swipe from the left edge to open the launcher"
597+msgid "Short swipe from the left edge to open the launcher"
458−msgstr "Eslizar dende'l berbesu izquierdu p'abrir el llanzador"
598+msgstr ""
459
599
460#: qml/Tutorial/TutorialRight.qml:55
600#: qml/Tutorial/TutorialRight.qml:55
461msgid "Push your mouse against the right edge to view your open apps"
601msgid "Push your mouse against the right edge to view your open apps"
462msgstr "Emburria'l mur escontra'l berbesu drechu pa ver les apps abiertes"
602msgstr "Emburria'l mur escontra'l berbesu drechu pa ver les apps abiertes"
463
603
464#: qml/Tutorial/TutorialRight.qml:56
604#: qml/Tutorial/TutorialRight.qml:56
465−msgid "Short or long swipe from the right edge to view your open apps"
605+msgid "Swipe from the right edge to view your open apps"
466msgstr ""
606msgstr ""
467−"Eslizamientu curtiu o llargu dende'l berbesu drechu pa ver les apps abiertes"
468
607
469#: qml/Tutorial/TutorialTop.qml:53
608#: qml/Tutorial/TutorialTop.qml:53
470−msgid "Swipe from the top right edge to open the notification bar"
609+msgid "Swipe from the top edge to access notifications and quick settings"
471msgstr ""
610msgstr ""
472−"Esliza dende'l berbesu superior drechu p'abrir la barra de notificaciones"
473−
474−#: qml/Tutorial/TutorialTop.qml:54
475−msgid "Swipe from the top edge to open the notification bar"
476−msgstr "Esliza dende'l berbesu superior p'abrir la barra de notificaciones"
477
611
478#: qml/Wizard/Page.qml:54
612#: qml/Wizard/Page.qml:54
479msgctxt "Button: Go back one page in the Wizard"
613msgctxt "Button: Go back one page in the Wizard"
@@ -484,8 +618,8 @@ msgstr "Atrás"
484msgid "Language"
618msgid "Language"
485msgstr "Llingua"
619msgstr "Llingua"
486
620
487−#: qml/Wizard/Pages/10-welcome.qml:156 qml/Wizard/Pages/30-wifi.qml:206
621+#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
488−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:267
622+#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
489#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
623#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
490#: qml/Wizard/Pages/75-report-check.qml:84
624#: qml/Wizard/Pages/75-report-check.qml:84
491#: qml/Wizard/Pages/passcode-desktop.qml:124
625#: qml/Wizard/Pages/passcode-desktop.qml:124
@@ -552,7 +686,7 @@ msgstr "Pues camudalo sero na Configuración del Sistema."
552msgid "Time Zone"
686msgid "Time Zone"
553msgstr "Estaya horaria"
687msgstr "Estaya horaria"
554
688
555−#: qml/Wizard/Pages/50-timezone.qml:178
689+#: qml/Wizard/Pages/50-timezone.qml:181
556msgid "Enter your city"
690msgid "Enter your city"
557msgstr "Escribe la ciudá"
691msgstr "Escribe la ciudá"
558
692
@@ -914,6 +1048,9 @@ msgstr "Contraseña feble enforma"
914#~ msgid "Reboot"
1048#~ msgid "Reboot"
915#~ msgstr "Reaniciar"
1049#~ msgstr "Reaniciar"
916
1050
1051+#~ msgid "Tap to unlock"
1052+#~ msgstr "Calca pa desbloquiar"
1053+
917#~ msgid "These are the shortcuts to favorite apps"
1054#~ msgid "These are the shortcuts to favorite apps"
918#~ msgstr "Estos son los atayos a les aplicaciones favorites"
1055#~ msgstr "Estos son los atayos a les aplicaciones favorites"
919
1056
@@ -1070,3 +1207,32 @@ msgstr "Contraseña feble enforma"
1070
1207
1071#~ msgid "Call back"
1208#~ msgid "Call back"
1072#~ msgstr "Devolver llamada"
1209#~ msgstr "Devolver llamada"
1210+
1211+#~ msgid "Swipe up for recent calls"
1212+#~ msgstr "Eslizar pa llamaes recién"
1213+
1214+#~ msgid "Swipe up for favorite calculations"
1215+#~ msgstr "Eslizar pa los cálculos favoritos"
1216+
1217+#~ msgid "Swipe up to add a contact"
1218+#~ msgstr "Eslizar p'amestar un contactu"
1219+
1220+#~ msgid "Swipe from the left edge to open the launcher"
1221+#~ msgstr "Eslizar dende'l berbesu izquierdu p'abrir el llanzador"
1222+
1223+#~ msgid "Swipe from the top right edge to open the notification bar"
1224+#~ msgstr ""
1225+#~ "Esliza dende'l berbesu superior drechu p'abrir la barra de notificaciones"
1226+
1227+#~ msgid "Swipe from the top edge to open the notification bar"
1228+#~ msgstr "Esliza dende'l berbesu superior p'abrir la barra de notificaciones"
1229+
1230+#~ msgid "Short or long swipe from the right edge to view your open apps"
1231+#~ msgstr ""
1232+#~ "Eslizamientu curtiu o llargu dende'l berbesu drechu pa ver les apps abiertes"
1233+
1234+#~ msgid "Swipe up to manage the app"
1235+#~ msgstr "Eslizar p'alministrar la app"
1236+
1237+#~ msgid "Swipe up to create a message"
1238+#~ msgstr "Eslizar pa crear un mensaxe"
po/az.po+212−76
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-05-20 08:44+0000\n"
10+"POT-Creation-Date: 2016-06-17 01:22+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,23 +15,23 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
18+"X-Launchpad-Export-Date: 2016-06-19 05:54+0000\n"
19−"X-Generator: Launchpad (build 18053)\n"
19+"X-Generator: Launchpad (build 18097)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
23msgstr "Şifrә: "
23msgstr "Şifrә: "
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:48
25+#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:107
26+#: plugins/Unity/Launcher/launcheritem.cpp:108
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28msgstr "Pin qısayolu"
28msgstr "Pin qısayolu"
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:53
30+#: plugins/Unity/Launcher/launcheritem.cpp:54
31msgid "Quit"
31msgid "Quit"
32msgstr ""
32msgstr ""
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:107
34+#: plugins/Unity/Launcher/launcheritem.cpp:108
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36msgstr "Açma qısayolu"
36msgstr "Açma qısayolu"
37
37
@@ -54,69 +54,229 @@ msgid_plural "Please wait %1 minutes and then try again…"
54msgstr[0] ""
54msgstr[0] ""
55msgstr[1] ""
55msgstr[1] ""
56
56
57−#: qml/Components/Dialogs.qml:144
57+#: qml/Components/Dialogs.qml:146
58msgctxt "Title: Lock/Log out dialog"
58msgctxt "Title: Lock/Log out dialog"
59msgid "Log out"
59msgid "Log out"
60msgstr ""
60msgstr ""
61
61
62−#: qml/Components/Dialogs.qml:145
62+#: qml/Components/Dialogs.qml:147
63msgid "Are you sure you want to log out?"
63msgid "Are you sure you want to log out?"
64msgstr "Çıxmaq istәdiyinizdәn әminsiniz?"
64msgstr "Çıxmaq istәdiyinizdәn әminsiniz?"
65
65
66−#: qml/Components/Dialogs.qml:147
66+#: qml/Components/Dialogs.qml:149
67msgctxt "Button: Lock the system"
67msgctxt "Button: Lock the system"
68msgid "Lock"
68msgid "Lock"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:154
71+#: qml/Components/Dialogs.qml:156
72msgctxt "Button: Log out from the system"
72msgctxt "Button: Log out from the system"
73msgid "Log Out"
73msgid "Log Out"
74msgstr ""
74msgstr ""
75
75
76−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
76+#: qml/Components/Dialogs.qml:163 qml/Components/Dialogs.qml:219
77−#: qml/Dash/DashPageHeader.qml:298 qml/Wizard/Pages/passcode-confirm.qml:32
77+#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
78#: qml/Wizard/Pages/passcode-set.qml:32
78#: qml/Wizard/Pages/passcode-set.qml:32
79msgid "Cancel"
79msgid "Cancel"
80msgstr "İmtina"
80msgstr "İmtina"
81
81
82−#: qml/Components/Dialogs.qml:173
82+#: qml/Components/Dialogs.qml:175
83msgctxt "Title: Reboot dialog"
83msgctxt "Title: Reboot dialog"
84msgid "Reboot"
84msgid "Reboot"
85msgstr ""
85msgstr ""
86
86
87−#: qml/Components/Dialogs.qml:174
87+#: qml/Components/Dialogs.qml:176
88msgid "Are you sure you want to reboot?"
88msgid "Are you sure you want to reboot?"
89msgstr "Yenidәn başlatmaq istәdiyinizә әminsiniz?"
89msgstr "Yenidәn başlatmaq istәdiyinizә әminsiniz?"
90
90
91−#: qml/Components/Dialogs.qml:176
91+#: qml/Components/Dialogs.qml:178
92msgid "No"
92msgid "No"
93msgstr "Yox"
93msgstr "Yox"
94
94
95−#: qml/Components/Dialogs.qml:182
95+#: qml/Components/Dialogs.qml:184
96msgid "Yes"
96msgid "Yes"
97msgstr "Hə"
97msgstr "Hə"
98
98
99−#: qml/Components/Dialogs.qml:197
99+#: qml/Components/Dialogs.qml:199
100msgctxt "Title: Power off/Restart dialog"
100msgctxt "Title: Power off/Restart dialog"
101msgid "Power"
101msgid "Power"
102msgstr ""
102msgstr ""
103
103
104−#: qml/Components/Dialogs.qml:198
104+#: qml/Components/Dialogs.qml:200
105msgid ""
105msgid ""
106"Are you sure you would like\n"
106"Are you sure you would like\n"
107"to power off?"
107"to power off?"
108msgstr ""
108msgstr ""
109
109
110−#: qml/Components/Dialogs.qml:200
110+#: qml/Components/Dialogs.qml:202
111msgctxt "Button: Power off the system"
111msgctxt "Button: Power off the system"
112msgid "Power off"
112msgid "Power off"
113msgstr ""
113msgstr ""
114
114
115−#: qml/Components/Dialogs.qml:209
115+#: qml/Components/Dialogs.qml:211
116msgctxt "Button: Restart the system"
116msgctxt "Button: Restart the system"
117msgid "Restart"
117msgid "Restart"
118msgstr ""
118msgstr ""
119
119
120+#: qml/Components/KeyboardShortcutsOverlay.qml:41
121+msgid "Keyboard Shortcuts"
122+msgstr ""
123+
124+#: qml/Components/KeyboardShortcutsOverlay.qml:55
125+msgid "Unity 8"
126+msgstr ""
127+
128+#: qml/Components/KeyboardShortcutsOverlay.qml:62
129+msgid "PrtScr"
130+msgstr ""
131+
132+#: qml/Components/KeyboardShortcutsOverlay.qml:67
133+msgid "Takes a screenshot."
134+msgstr ""
135+
136+#: qml/Components/KeyboardShortcutsOverlay.qml:75
137+msgid "Alt + PrtScr"
138+msgstr ""
139+
140+#: qml/Components/KeyboardShortcutsOverlay.qml:80
141+msgid "Takes a screenshot of a window."
142+msgstr ""
143+
144+#: qml/Components/KeyboardShortcutsOverlay.qml:88
145+msgid "Super + Space"
146+msgstr ""
147+
148+#: qml/Components/KeyboardShortcutsOverlay.qml:93
149+msgid "Switches to next keyboard layout."
150+msgstr ""
151+
152+#: qml/Components/KeyboardShortcutsOverlay.qml:101
153+msgid "Super + Shift + Space"
154+msgstr ""
155+
156+#: qml/Components/KeyboardShortcutsOverlay.qml:106
157+msgid "Switches to previous keyboard layout."
158+msgstr ""
159+
160+#: qml/Components/KeyboardShortcutsOverlay.qml:118
161+msgid "Launcher"
162+msgstr ""
163+
164+#: qml/Components/KeyboardShortcutsOverlay.qml:125
165+msgid "Super (Hold)"
166+msgstr ""
167+
168+#: qml/Components/KeyboardShortcutsOverlay.qml:130
169+msgid "Opens the launcher, displays shortcuts."
170+msgstr ""
171+
172+#: qml/Components/KeyboardShortcutsOverlay.qml:138
173+msgid "Alt + F1"
174+msgstr ""
175+
176+#: qml/Components/KeyboardShortcutsOverlay.qml:143
177+msgid "Opens launcher keyboard navigation mode."
178+msgstr ""
179+
180+#: qml/Components/KeyboardShortcutsOverlay.qml:151
181+msgid "Super + Tab"
182+msgstr ""
183+
184+#: qml/Components/KeyboardShortcutsOverlay.qml:156
185+msgid "Switches applications via the launcher."
186+msgstr ""
187+
188+#: qml/Components/KeyboardShortcutsOverlay.qml:164
189+msgid "Super + 0 to 9"
190+msgstr ""
191+
192+#: qml/Components/KeyboardShortcutsOverlay.qml:169
193+msgid "Same as clicking on a launcher icon."
194+msgstr ""
195+
196+#: qml/Components/KeyboardShortcutsOverlay.qml:181
197+msgid "Scopes"
198+msgstr ""
199+
200+#: qml/Components/KeyboardShortcutsOverlay.qml:188
201+msgid "Super (Tap)"
202+msgstr ""
203+
204+#: qml/Components/KeyboardShortcutsOverlay.qml:193
205+msgid "Opens the Scopes home."
206+msgstr ""
207+
208+#: qml/Components/KeyboardShortcutsOverlay.qml:209
209+msgid "Switching"
210+msgstr ""
211+
212+#: qml/Components/KeyboardShortcutsOverlay.qml:216
213+msgid "Alt + Tab"
214+msgstr ""
215+
216+#: qml/Components/KeyboardShortcutsOverlay.qml:221
217+msgid "Switches between applications."
218+msgstr ""
219+
220+#: qml/Components/KeyboardShortcutsOverlay.qml:229
221+msgid "Super + W"
222+msgstr ""
223+
224+#: qml/Components/KeyboardShortcutsOverlay.qml:234
225+msgid "Opens the desktop spread."
226+msgstr ""
227+
228+#: qml/Components/KeyboardShortcutsOverlay.qml:242
229+msgid "Cursor Left or Right"
230+msgstr ""
231+
232+#: qml/Components/KeyboardShortcutsOverlay.qml:247
233+msgid "Moves the focus."
234+msgstr ""
235+
236+#: qml/Components/KeyboardShortcutsOverlay.qml:259
237+msgid "Windows"
238+msgstr ""
239+
240+#: qml/Components/KeyboardShortcutsOverlay.qml:266
241+msgid "Ctrl + Super + D"
242+msgstr ""
243+
244+#: qml/Components/KeyboardShortcutsOverlay.qml:271
245+msgid "Minimizes all windows."
246+msgstr ""
247+
248+#: qml/Components/KeyboardShortcutsOverlay.qml:279
249+msgid "Ctrl + Super + Up"
250+msgstr ""
251+
252+#: qml/Components/KeyboardShortcutsOverlay.qml:284
253+msgid "Maximizes the current window."
254+msgstr ""
255+
256+#: qml/Components/KeyboardShortcutsOverlay.qml:292
257+msgid "Ctrl + Super + Down"
258+msgstr ""
259+
260+#: qml/Components/KeyboardShortcutsOverlay.qml:297
261+msgid "Minimizes or restores the current window."
262+msgstr ""
263+
264+#: qml/Components/KeyboardShortcutsOverlay.qml:305
265+msgid "Ctrl + Super + Left or Right"
266+msgstr ""
267+
268+#: qml/Components/KeyboardShortcutsOverlay.qml:310
269+msgid "Semi-maximizes the current window."
270+msgstr ""
271+
272+#: qml/Components/KeyboardShortcutsOverlay.qml:318
273+msgid "Alt + F4"
274+msgstr ""
275+
276+#: qml/Components/KeyboardShortcutsOverlay.qml:323
277+msgid "Closes the current window."
278+msgstr ""
279+
120#: qml/Components/Lockscreen.qml:231
280#: qml/Components/Lockscreen.qml:231
121msgid "Return to Call"
281msgid "Return to Call"
122msgstr ""
282msgstr ""
@@ -155,26 +315,26 @@ msgstr ""
155msgid "Close all"
315msgid "Close all"
156msgstr ""
316msgstr ""
157
317
158−#: qml/Dash/DashPageHeader.qml:337
318+#: qml/Dash/DashPageHeader.qml:333
159msgctxt "Button: Open the Ubuntu Store"
319msgctxt "Button: Open the Ubuntu Store"
160msgid "Store"
320msgid "Store"
161msgstr ""
321msgstr ""
162
322
163−#: qml/Dash/DashPageHeader.qml:344
323+#: qml/Dash/DashPageHeader.qml:340
164msgctxt "Button: Start a search in the current dash scope"
324msgctxt "Button: Start a search in the current dash scope"
165msgid "Search"
325msgid "Search"
166msgstr ""
326msgstr ""
167
327
168−#: qml/Dash/DashPageHeader.qml:354
328+#: qml/Dash/DashPageHeader.qml:350
169msgctxt "Button: Show the current dash scope settings"
329msgctxt "Button: Show the current dash scope settings"
170msgid "Settings"
330msgid "Settings"
171msgstr ""
331msgstr ""
172
332
173−#: qml/Dash/DashPageHeader.qml:361
333+#: qml/Dash/DashPageHeader.qml:357
174msgid "Remove from Favorites"
334msgid "Remove from Favorites"
175msgstr "Seçilmişlәrdәn çıxart"
335msgstr "Seçilmişlәrdәn çıxart"
176
336
177−#: qml/Dash/DashPageHeader.qml:361
337+#: qml/Dash/DashPageHeader.qml:357
178msgid "Add to Favorites"
338msgid "Add to Favorites"
179msgstr "Seçilmişlәrә әlavә et"
339msgstr "Seçilmişlәrә әlavә et"
180
340
@@ -186,24 +346,24 @@ msgstr ""
186msgid "Reset"
346msgid "Reset"
187msgstr ""
347msgstr ""
188
348
189−#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
349+#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
190msgid "Show less"
350msgid "Show less"
191msgstr ""
351msgstr ""
192
352
193−#: qml/Dash/GenericScopeView.qml:579
353+#: qml/Dash/GenericScopeView.qml:580
194msgid "Show all"
354msgid "Show all"
195msgstr ""
355msgstr ""
196
356
197−#: qml/Dash/GenericScopeView.qml:636
357+#: qml/Dash/GenericScopeView.qml:637
198msgctxt "Label: Hint for dash search line edit"
358msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
359msgid "Search"
200msgstr ""
360msgstr ""
201
361
202−#: qml/Dash/PageHeaderExtraPanel.qml:55
362+#: qml/Dash/PageHeaderExtraPanel.qml:56
203msgid "Recent Searches"
363msgid "Recent Searches"
204msgstr ""
364msgstr ""
205
365
206−#: qml/Dash/PageHeaderExtraPanel.qml:66
366+#: qml/Dash/PageHeaderExtraPanel.qml:67
207msgid "Clear All"
367msgid "Clear All"
208msgstr ""
368msgstr ""
209
369
@@ -216,15 +376,15 @@ msgid "Less..."
216msgstr "Az..."
376msgstr "Az..."
217
377
218#: qml/Dash/Previews/PreviewCommentInput.qml:68
378#: qml/Dash/Previews/PreviewCommentInput.qml:68
219−#: qml/Dash/Previews/PreviewRatingInput.qml:174
379+#: qml/Dash/Previews/PreviewRatingInput.qml:175
220msgid "Send"
380msgid "Send"
221msgstr "Göndər"
381msgstr "Göndər"
222
382
223−#: qml/Dash/Previews/PreviewRatingInput.qml:84
383+#: qml/Dash/Previews/PreviewRatingInput.qml:82
224msgid "Rate this"
384msgid "Rate this"
225msgstr "Qiymәtlәndir"
385msgstr "Qiymәtlәndir"
226
386
227−#: qml/Dash/Previews/PreviewRatingInput.qml:129
387+#: qml/Dash/Previews/PreviewRatingInput.qml:157
228msgid "Add a review"
388msgid "Add a review"
229msgstr "Rəy yaz"
389msgstr "Rəy yaz"
230
390
@@ -244,15 +404,15 @@ msgstr ""
244msgid "Enable location data"
404msgid "Enable location data"
245msgstr ""
405msgstr ""
246
406
247−#: qml/Dash/ScopesList.qml:67
407+#: qml/Dash/ScopesList.qml:55
248msgid "Manage"
408msgid "Manage"
249msgstr ""
409msgstr ""
250
410
251−#: qml/Dash/ScopesList.qml:113
411+#: qml/Dash/ScopesList.qml:101
252msgid "Home"
412msgid "Home"
253msgstr ""
413msgstr ""
254
414
255−#: qml/Dash/ScopesList.qml:114
415+#: qml/Dash/ScopesList.qml:102
256msgid "Also installed"
416msgid "Also installed"
257msgstr ""
417msgstr ""
258
418
@@ -262,16 +422,16 @@ msgid ""
262"touch pad to interact with the pointer."
422"touch pad to interact with the pointer."
263msgstr ""
423msgstr ""
264
424
265−#: qml/Greeter/CoverPage.qml:118
425+#: qml/Greeter/CoverPage.qml:119
266msgid "Unlock"
426msgid "Unlock"
267msgstr ""
427msgstr ""
268
428
269−#: qml/Greeter/LoginList.qml:239
429+#: qml/Greeter/LoginList.qml:259
270msgid "Retry"
430msgid "Retry"
271msgstr ""
431msgstr ""
272
432
273−#: qml/Greeter/LoginList.qml:240
433+#: qml/Greeter/LoginList.qml:260
274−msgid "Tap to unlock"
434+msgid "Log In"
275msgstr ""
435msgstr ""
276
436
277#: qml/Greeter/NarrowView.qml:54
437#: qml/Greeter/NarrowView.qml:54
@@ -404,18 +564,18 @@ msgstr "Bitdi"
404msgid "Failed, tap to retry"
564msgid "Failed, tap to retry"
405msgstr "Alınmadı. Yenidәn cәhd etmək üçün toxunun"
565msgstr "Alınmadı. Yenidәn cәhd etmək üçün toxunun"
406
566
407−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:155
567+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:151
408−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
568+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:210
409msgctxt "Button: Send a reply message"
569msgctxt "Button: Send a reply message"
410msgid "Send"
570msgid "Send"
411msgstr ""
571msgstr ""
412
572
413−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
573+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:152
414msgctxt "Label: Hint in message indicator line edit"
574msgctxt "Label: Hint in message indicator line edit"
415msgid "Reply"
575msgid "Reply"
416msgstr ""
576msgstr ""
417
577
418−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
578+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:209
419msgctxt "Button: Call back on phone"
579msgctxt "Button: Call back on phone"
420msgid "Call back"
580msgid "Call back"
421msgstr ""
581msgstr ""
@@ -424,32 +584,12 @@ msgstr ""
424msgid "Drag using 3 fingers any application from one window to the other"
584msgid "Drag using 3 fingers any application from one window to the other"
425msgstr ""
585msgstr ""
426
586
427−#: qml/Tutorial/TutorialBottom.qml:78
428−msgid "Swipe up to add a contact"
429−msgstr ""
430−
431−#: qml/Tutorial/TutorialBottom.qml:80
432−msgid "Swipe up for favorite calculations"
433−msgstr ""
434−
435−#: qml/Tutorial/TutorialBottom.qml:82
436−msgid "Swipe up for recent calls"
437−msgstr ""
438−
439−#: qml/Tutorial/TutorialBottom.qml:84
440−msgid "Swipe up to create a message"
441−msgstr ""
442−
443−#: qml/Tutorial/TutorialBottom.qml:85
444−msgid "Swipe up to manage the app"
445−msgstr ""
446−
447−#: qml/Tutorial/TutorialLeftLong.qml:47
587+#: qml/Tutorial/TutorialLeftLong.qml:49
448msgid "Long swipe from the left edge to open the Today scope"
588msgid "Long swipe from the left edge to open the Today scope"
449msgstr ""
589msgstr ""
450
590
451#: qml/Tutorial/TutorialLeft.qml:47
591#: qml/Tutorial/TutorialLeft.qml:47
452−msgid "Swipe from the left edge to open the launcher"
592+msgid "Short swipe from the left edge to open the launcher"
453msgstr ""
593msgstr ""
454
594
455#: qml/Tutorial/TutorialRight.qml:55
595#: qml/Tutorial/TutorialRight.qml:55
@@ -457,15 +597,11 @@ msgid "Push your mouse against the right edge to view your open apps"
457msgstr ""
597msgstr ""
458
598
459#: qml/Tutorial/TutorialRight.qml:56
599#: qml/Tutorial/TutorialRight.qml:56
460−msgid "Short or long swipe from the right edge to view your open apps"
600+msgid "Swipe from the right edge to view your open apps"
461msgstr ""
601msgstr ""
462
602
463#: qml/Tutorial/TutorialTop.qml:53
603#: qml/Tutorial/TutorialTop.qml:53
464−msgid "Swipe from the top right edge to open the notification bar"
604+msgid "Swipe from the top edge to access notifications and quick settings"
465−msgstr ""
466−
467−#: qml/Tutorial/TutorialTop.qml:54
468−msgid "Swipe from the top edge to open the notification bar"
469msgstr ""
605msgstr ""
470
606
471#: qml/Wizard/Page.qml:54
607#: qml/Wizard/Page.qml:54
@@ -477,8 +613,8 @@ msgstr ""
477msgid "Language"
613msgid "Language"
478msgstr ""
614msgstr ""
479
615
480−#: qml/Wizard/Pages/10-welcome.qml:156 qml/Wizard/Pages/30-wifi.qml:206
616+#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
481−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:267
617+#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
482#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
618#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
483#: qml/Wizard/Pages/75-report-check.qml:84
619#: qml/Wizard/Pages/75-report-check.qml:84
484#: qml/Wizard/Pages/passcode-desktop.qml:124
620#: qml/Wizard/Pages/passcode-desktop.qml:124
@@ -543,7 +679,7 @@ msgstr ""
543msgid "Time Zone"
679msgid "Time Zone"
544msgstr ""
680msgstr ""
545
681
546−#: qml/Wizard/Pages/50-timezone.qml:178
682+#: qml/Wizard/Pages/50-timezone.qml:181
547msgid "Enter your city"
683msgid "Enter your city"
548msgstr ""
684msgstr ""
549
685
po/be.po+216−77
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-05-20 08:44+0000\n"
10+"POT-Creation-Date: 2016-06-17 01:22+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,23 +16,23 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
19−"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
19+"X-Launchpad-Export-Date: 2016-06-19 05:54+0000\n"
20−"X-Generator: Launchpad (build 18053)\n"
20+"X-Generator: Launchpad (build 18097)\n"
21
21
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
24msgstr "Пароль: "
24msgstr "Пароль: "
25
25
26−#: plugins/Unity/Launcher/launcheritem.cpp:48
26+#: plugins/Unity/Launcher/launcheritem.cpp:49
27−#: plugins/Unity/Launcher/launcheritem.cpp:107
27+#: plugins/Unity/Launcher/launcheritem.cpp:108
28msgid "Pin shortcut"
28msgid "Pin shortcut"
29msgstr "Замацаваць кнопку"
29msgstr "Замацаваць кнопку"
30
30
31−#: plugins/Unity/Launcher/launcheritem.cpp:53
31+#: plugins/Unity/Launcher/launcheritem.cpp:54
32msgid "Quit"
32msgid "Quit"
33msgstr "Выйсці"
33msgstr "Выйсці"
34
34
35−#: plugins/Unity/Launcher/launcheritem.cpp:107
35+#: plugins/Unity/Launcher/launcheritem.cpp:108
36msgid "Unpin shortcut"
36msgid "Unpin shortcut"
37msgstr "Адмацаваць кнопку"
37msgstr "Адмацаваць кнопку"
38
38
@@ -59,54 +59,54 @@ msgstr[0] "Пачакайце %1 хвіліну і паўтарыце спроб
59msgstr[1] "Пачакайце %1 хвіліны і паўтарыце спробу…"
59msgstr[1] "Пачакайце %1 хвіліны і паўтарыце спробу…"
60msgstr[2] "Пачакайце %1 хвілін і паўтарыце спробу…"
60msgstr[2] "Пачакайце %1 хвілін і паўтарыце спробу…"
61
61
62−#: qml/Components/Dialogs.qml:144
62+#: qml/Components/Dialogs.qml:146
63msgctxt "Title: Lock/Log out dialog"
63msgctxt "Title: Lock/Log out dialog"
64msgid "Log out"
64msgid "Log out"
65msgstr "Выйсці"
65msgstr "Выйсці"
66
66
67−#: qml/Components/Dialogs.qml:145
67+#: qml/Components/Dialogs.qml:147
68msgid "Are you sure you want to log out?"
68msgid "Are you sure you want to log out?"
69msgstr "Вы ўпэўненыя, што хочаце выйсці?"
69msgstr "Вы ўпэўненыя, што хочаце выйсці?"
70
70
71−#: qml/Components/Dialogs.qml:147
71+#: qml/Components/Dialogs.qml:149
72msgctxt "Button: Lock the system"
72msgctxt "Button: Lock the system"
73msgid "Lock"
73msgid "Lock"
74msgstr "Заблакаваць"
74msgstr "Заблакаваць"
75
75
76−#: qml/Components/Dialogs.qml:154
76+#: qml/Components/Dialogs.qml:156
77msgctxt "Button: Log out from the system"
77msgctxt "Button: Log out from the system"
78msgid "Log Out"
78msgid "Log Out"
79msgstr "Выйсці"
79msgstr "Выйсці"
80
80
81−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
81+#: qml/Components/Dialogs.qml:163 qml/Components/Dialogs.qml:219
82−#: qml/Dash/DashPageHeader.qml:298 qml/Wizard/Pages/passcode-confirm.qml:32
82+#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
83#: qml/Wizard/Pages/passcode-set.qml:32
83#: qml/Wizard/Pages/passcode-set.qml:32
84msgid "Cancel"
84msgid "Cancel"
85msgstr "Скасаваць"
85msgstr "Скасаваць"
86
86
87−#: qml/Components/Dialogs.qml:173
87+#: qml/Components/Dialogs.qml:175
88msgctxt "Title: Reboot dialog"
88msgctxt "Title: Reboot dialog"
89msgid "Reboot"
89msgid "Reboot"
90msgstr "Перазагрузіць"
90msgstr "Перазагрузіць"
91
91
92−#: qml/Components/Dialogs.qml:174
92+#: qml/Components/Dialogs.qml:176
93msgid "Are you sure you want to reboot?"
93msgid "Are you sure you want to reboot?"
94msgstr "Вы ўпэўнены, што жадаеце перазагрузіць?"
94msgstr "Вы ўпэўнены, што жадаеце перазагрузіць?"
95
95
96−#: qml/Components/Dialogs.qml:176
96+#: qml/Components/Dialogs.qml:178
97msgid "No"
97msgid "No"
98msgstr "Не"
98msgstr "Не"
99
99
100−#: qml/Components/Dialogs.qml:182
100+#: qml/Components/Dialogs.qml:184
101msgid "Yes"
101msgid "Yes"
102msgstr "Так"
102msgstr "Так"
103
103
104−#: qml/Components/Dialogs.qml:197
104+#: qml/Components/Dialogs.qml:199
105msgctxt "Title: Power off/Restart dialog"
105msgctxt "Title: Power off/Restart dialog"
106msgid "Power"
106msgid "Power"
107msgstr "Сілкаванне"
107msgstr "Сілкаванне"
108
108
109−#: qml/Components/Dialogs.qml:198
109+#: qml/Components/Dialogs.qml:200
110msgid ""
110msgid ""
111"Are you sure you would like\n"
111"Are you sure you would like\n"
112"to power off?"
112"to power off?"
@@ -114,16 +114,176 @@ msgstr ""
114"Вы ўпэўнены, што хочаце\n"
114"Вы ўпэўнены, што хочаце\n"
115"выключыць камп'ютэр?"
115"выключыць камп'ютэр?"
116
116
117−#: qml/Components/Dialogs.qml:200
117+#: qml/Components/Dialogs.qml:202
118msgctxt "Button: Power off the system"
118msgctxt "Button: Power off the system"
119msgid "Power off"
119msgid "Power off"
120msgstr "Выключыць"
120msgstr "Выключыць"
121
121
122−#: qml/Components/Dialogs.qml:209
122+#: qml/Components/Dialogs.qml:211
123msgctxt "Button: Restart the system"
123msgctxt "Button: Restart the system"
124msgid "Restart"
124msgid "Restart"
125msgstr "Перазапуск"
125msgstr "Перазапуск"
126
126
127+#: qml/Components/KeyboardShortcutsOverlay.qml:41
128+msgid "Keyboard Shortcuts"
129+msgstr ""
130+
131+#: qml/Components/KeyboardShortcutsOverlay.qml:55
132+msgid "Unity 8"
133+msgstr ""
134+
135+#: qml/Components/KeyboardShortcutsOverlay.qml:62
136+msgid "PrtScr"
137+msgstr ""
138+
139+#: qml/Components/KeyboardShortcutsOverlay.qml:67
140+msgid "Takes a screenshot."
141+msgstr ""
142+
143+#: qml/Components/KeyboardShortcutsOverlay.qml:75
144+msgid "Alt + PrtScr"
145+msgstr ""
146+
147+#: qml/Components/KeyboardShortcutsOverlay.qml:80
148+msgid "Takes a screenshot of a window."
149+msgstr ""
150+
151+#: qml/Components/KeyboardShortcutsOverlay.qml:88
152+msgid "Super + Space"
153+msgstr ""
154+
155+#: qml/Components/KeyboardShortcutsOverlay.qml:93
156+msgid "Switches to next keyboard layout."
157+msgstr ""
158+
159+#: qml/Components/KeyboardShortcutsOverlay.qml:101
160+msgid "Super + Shift + Space"
161+msgstr ""
162+
163+#: qml/Components/KeyboardShortcutsOverlay.qml:106
164+msgid "Switches to previous keyboard layout."
165+msgstr ""
166+
167+#: qml/Components/KeyboardShortcutsOverlay.qml:118
168+msgid "Launcher"
169+msgstr ""
170+
171+#: qml/Components/KeyboardShortcutsOverlay.qml:125
172+msgid "Super (Hold)"
173+msgstr ""
174+
175+#: qml/Components/KeyboardShortcutsOverlay.qml:130
176+msgid "Opens the launcher, displays shortcuts."
177+msgstr ""
178+
179+#: qml/Components/KeyboardShortcutsOverlay.qml:138
180+msgid "Alt + F1"
181+msgstr ""
182+
183+#: qml/Components/KeyboardShortcutsOverlay.qml:143
184+msgid "Opens launcher keyboard navigation mode."
185+msgstr ""
186+
187+#: qml/Components/KeyboardShortcutsOverlay.qml:151
188+msgid "Super + Tab"
189+msgstr ""
190+
191+#: qml/Components/KeyboardShortcutsOverlay.qml:156
192+msgid "Switches applications via the launcher."
193+msgstr ""
194+
195+#: qml/Components/KeyboardShortcutsOverlay.qml:164
196+msgid "Super + 0 to 9"
197+msgstr ""
198+
199+#: qml/Components/KeyboardShortcutsOverlay.qml:169
200+msgid "Same as clicking on a launcher icon."
201+msgstr ""
202+
203+#: qml/Components/KeyboardShortcutsOverlay.qml:181
204+msgid "Scopes"
205+msgstr ""
206+
207+#: qml/Components/KeyboardShortcutsOverlay.qml:188
208+msgid "Super (Tap)"
209+msgstr ""
210+
211+#: qml/Components/KeyboardShortcutsOverlay.qml:193
212+msgid "Opens the Scopes home."
213+msgstr ""
214+
215+#: qml/Components/KeyboardShortcutsOverlay.qml:209
216+msgid "Switching"
217+msgstr ""
218+
219+#: qml/Components/KeyboardShortcutsOverlay.qml:216
220+msgid "Alt + Tab"
221+msgstr ""
222+
223+#: qml/Components/KeyboardShortcutsOverlay.qml:221
224+msgid "Switches between applications."
225+msgstr ""
226+
227+#: qml/Components/KeyboardShortcutsOverlay.qml:229
228+msgid "Super + W"
229+msgstr ""
230+
231+#: qml/Components/KeyboardShortcutsOverlay.qml:234
232+msgid "Opens the desktop spread."
233+msgstr ""
234+
235+#: qml/Components/KeyboardShortcutsOverlay.qml:242
236+msgid "Cursor Left or Right"
237+msgstr ""
238+
239+#: qml/Components/KeyboardShortcutsOverlay.qml:247
240+msgid "Moves the focus."
241+msgstr ""
242+
243+#: qml/Components/KeyboardShortcutsOverlay.qml:259
244+msgid "Windows"
245+msgstr ""
246+
247+#: qml/Components/KeyboardShortcutsOverlay.qml:266
248+msgid "Ctrl + Super + D"
249+msgstr ""
250+
251+#: qml/Components/KeyboardShortcutsOverlay.qml:271
252+msgid "Minimizes all windows."
253+msgstr ""
254+
255+#: qml/Components/KeyboardShortcutsOverlay.qml:279
256+msgid "Ctrl + Super + Up"
257+msgstr ""
258+
259+#: qml/Components/KeyboardShortcutsOverlay.qml:284
260+msgid "Maximizes the current window."
261+msgstr ""
262+
263+#: qml/Components/KeyboardShortcutsOverlay.qml:292
264+msgid "Ctrl + Super + Down"
265+msgstr ""
266+
267+#: qml/Components/KeyboardShortcutsOverlay.qml:297
268+msgid "Minimizes or restores the current window."
269+msgstr ""
270+
271+#: qml/Components/KeyboardShortcutsOverlay.qml:305
272+msgid "Ctrl + Super + Left or Right"
273+msgstr ""
274+
275+#: qml/Components/KeyboardShortcutsOverlay.qml:310
276+msgid "Semi-maximizes the current window."
277+msgstr ""
278+
279+#: qml/Components/KeyboardShortcutsOverlay.qml:318
280+msgid "Alt + F4"
281+msgstr ""
282+
283+#: qml/Components/KeyboardShortcutsOverlay.qml:323
284+msgid "Closes the current window."
285+msgstr ""
286+
127#: qml/Components/Lockscreen.qml:231
287#: qml/Components/Lockscreen.qml:231
128msgid "Return to Call"
288msgid "Return to Call"
129msgstr "Вярнуцца да выкліку"
289msgstr "Вярнуцца да выкліку"
@@ -162,26 +322,26 @@ msgstr "Перападлучыцца зараз!"
162msgid "Close all"
322msgid "Close all"
163msgstr "Зачыніць усё"
323msgstr "Зачыніць усё"
164
324
165−#: qml/Dash/DashPageHeader.qml:337
325+#: qml/Dash/DashPageHeader.qml:333
166msgctxt "Button: Open the Ubuntu Store"
326msgctxt "Button: Open the Ubuntu Store"
167msgid "Store"
327msgid "Store"
168msgstr "Крама"
328msgstr "Крама"
169
329
170−#: qml/Dash/DashPageHeader.qml:344
330+#: qml/Dash/DashPageHeader.qml:340
171msgctxt "Button: Start a search in the current dash scope"
331msgctxt "Button: Start a search in the current dash scope"
172msgid "Search"
332msgid "Search"
173msgstr "Пошук"
333msgstr "Пошук"
174
334
175−#: qml/Dash/DashPageHeader.qml:354
335+#: qml/Dash/DashPageHeader.qml:350
176msgctxt "Button: Show the current dash scope settings"
336msgctxt "Button: Show the current dash scope settings"
177msgid "Settings"
337msgid "Settings"
178msgstr "Налады"
338msgstr "Налады"
179
339
180−#: qml/Dash/DashPageHeader.qml:361
340+#: qml/Dash/DashPageHeader.qml:357
181msgid "Remove from Favorites"
341msgid "Remove from Favorites"
182msgstr "Выдаліць з абранага"
342msgstr "Выдаліць з абранага"
183
343
184−#: qml/Dash/DashPageHeader.qml:361
344+#: qml/Dash/DashPageHeader.qml:357
185msgid "Add to Favorites"
345msgid "Add to Favorites"
186msgstr "Дадаць да абранага"
346msgstr "Дадаць да абранага"
187
347
@@ -193,24 +353,24 @@ msgstr ""
193msgid "Reset"
353msgid "Reset"
194msgstr ""
354msgstr ""
195
355
196−#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
356+#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
197msgid "Show less"
357msgid "Show less"
198msgstr ""
358msgstr ""
199
359
200−#: qml/Dash/GenericScopeView.qml:579
360+#: qml/Dash/GenericScopeView.qml:580
201msgid "Show all"
361msgid "Show all"
202msgstr ""
362msgstr ""
203
363
204−#: qml/Dash/GenericScopeView.qml:636
364+#: qml/Dash/GenericScopeView.qml:637
205msgctxt "Label: Hint for dash search line edit"
365msgctxt "Label: Hint for dash search line edit"
206msgid "Search"
366msgid "Search"
207msgstr "Пошук"
367msgstr "Пошук"
208
368
209−#: qml/Dash/PageHeaderExtraPanel.qml:55
369+#: qml/Dash/PageHeaderExtraPanel.qml:56
210msgid "Recent Searches"
370msgid "Recent Searches"
211msgstr ""
371msgstr ""
212
372
213−#: qml/Dash/PageHeaderExtraPanel.qml:66
373+#: qml/Dash/PageHeaderExtraPanel.qml:67
214msgid "Clear All"
374msgid "Clear All"
215msgstr ""
375msgstr ""
216
376
@@ -223,15 +383,15 @@ msgid "Less..."
223msgstr "Менш..."
383msgstr "Менш..."
224
384
225#: qml/Dash/Previews/PreviewCommentInput.qml:68
385#: qml/Dash/Previews/PreviewCommentInput.qml:68
226−#: qml/Dash/Previews/PreviewRatingInput.qml:174
386+#: qml/Dash/Previews/PreviewRatingInput.qml:175
227msgid "Send"
387msgid "Send"
228msgstr "Адправіць"
388msgstr "Адправіць"
229
389
230−#: qml/Dash/Previews/PreviewRatingInput.qml:84
390+#: qml/Dash/Previews/PreviewRatingInput.qml:82
231msgid "Rate this"
391msgid "Rate this"
232msgstr "Ацаніць"
392msgstr "Ацаніць"
233
393
234−#: qml/Dash/Previews/PreviewRatingInput.qml:129
394+#: qml/Dash/Previews/PreviewRatingInput.qml:157
235msgid "Add a review"
395msgid "Add a review"
236msgstr "Дадаць рэцэнзію"
396msgstr "Дадаць рэцэнзію"
237
397
@@ -251,15 +411,15 @@ msgstr "Адпусціце для абнаўлення..."
251msgid "Enable location data"
411msgid "Enable location data"
252msgstr "Уключыць дадзеныя аб месцазнаходжанні"
412msgstr "Уключыць дадзеныя аб месцазнаходжанні"
253
413
254−#: qml/Dash/ScopesList.qml:67
414+#: qml/Dash/ScopesList.qml:55
255msgid "Manage"
415msgid "Manage"
256msgstr "Кіраванне"
416msgstr "Кіраванне"
257
417
258−#: qml/Dash/ScopesList.qml:113
418+#: qml/Dash/ScopesList.qml:101
259msgid "Home"
419msgid "Home"
260msgstr "Хатняя папка"
420msgstr "Хатняя папка"
261
421
262−#: qml/Dash/ScopesList.qml:114
422+#: qml/Dash/ScopesList.qml:102
263msgid "Also installed"
423msgid "Also installed"
264msgstr "Таксама ўсталявана"
424msgstr "Таксама ўсталявана"
265
425
@@ -269,17 +429,17 @@ msgid ""
269"touch pad to interact with the pointer."
429"touch pad to interact with the pointer."
270msgstr ""
430msgstr ""
271
431
272−#: qml/Greeter/CoverPage.qml:118
432+#: qml/Greeter/CoverPage.qml:119
273msgid "Unlock"
433msgid "Unlock"
274msgstr "Разблакаваць"
434msgstr "Разблакаваць"
275
435
276−#: qml/Greeter/LoginList.qml:239
436+#: qml/Greeter/LoginList.qml:259
277msgid "Retry"
437msgid "Retry"
278msgstr "Паспрабаваць зноў"
438msgstr "Паспрабаваць зноў"
279
439
280−#: qml/Greeter/LoginList.qml:240
440+#: qml/Greeter/LoginList.qml:260
281−msgid "Tap to unlock"
441+msgid "Log In"
282−msgstr "Націсніце, каб разблакаваць"
442+msgstr ""
283
443
284#: qml/Greeter/NarrowView.qml:54
444#: qml/Greeter/NarrowView.qml:54
285msgid "Sorry, incorrect passphrase."
445msgid "Sorry, incorrect passphrase."
@@ -414,18 +574,18 @@ msgstr "Скончана"
414msgid "Failed, tap to retry"
574msgid "Failed, tap to retry"
415msgstr "Не атрымалася, націсніце, каб паўтарыць спробу"
575msgstr "Не атрымалася, націсніце, каб паўтарыць спробу"
416
576
417−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:155
577+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:151
418−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
578+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:210
419msgctxt "Button: Send a reply message"
579msgctxt "Button: Send a reply message"
420msgid "Send"
580msgid "Send"
421msgstr "Даслаць"
581msgstr "Даслаць"
422
582
423−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
583+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:152
424msgctxt "Label: Hint in message indicator line edit"
584msgctxt "Label: Hint in message indicator line edit"
425msgid "Reply"
585msgid "Reply"
426msgstr "Адказаць"
586msgstr "Адказаць"
427
587
428−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
588+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:209
429msgctxt "Button: Call back on phone"
589msgctxt "Button: Call back on phone"
430msgid "Call back"
590msgid "Call back"
431msgstr "Патэлефанаваць"
591msgstr "Патэлефанаваць"
@@ -434,32 +594,12 @@ msgstr "Патэлефанаваць"
434msgid "Drag using 3 fingers any application from one window to the other"
594msgid "Drag using 3 fingers any application from one window to the other"
435msgstr ""
595msgstr ""
436
596
437−#: qml/Tutorial/TutorialBottom.qml:78
438−msgid "Swipe up to add a contact"
439−msgstr ""
440−
441−#: qml/Tutorial/TutorialBottom.qml:80
442−msgid "Swipe up for favorite calculations"
443−msgstr ""
444−
445−#: qml/Tutorial/TutorialBottom.qml:82
446−msgid "Swipe up for recent calls"
447−msgstr ""
448−
449−#: qml/Tutorial/TutorialBottom.qml:84
450−msgid "Swipe up to create a message"
451−msgstr ""
452−
453−#: qml/Tutorial/TutorialBottom.qml:85
454−msgid "Swipe up to manage the app"
455−msgstr ""
456−
457−#: qml/Tutorial/TutorialLeftLong.qml:47
597+#: qml/Tutorial/TutorialLeftLong.qml:49
458msgid "Long swipe from the left edge to open the Today scope"
598msgid "Long swipe from the left edge to open the Today scope"
459msgstr ""
599msgstr ""
460
600
461#: qml/Tutorial/TutorialLeft.qml:47
601#: qml/Tutorial/TutorialLeft.qml:47
462−msgid "Swipe from the left edge to open the launcher"
602+msgid "Short swipe from the left edge to open the launcher"
463msgstr ""
603msgstr ""
464
604
465#: qml/Tutorial/TutorialRight.qml:55
605#: qml/Tutorial/TutorialRight.qml:55
@@ -467,15 +607,11 @@ msgid "Push your mouse against the right edge to view your open apps"
467msgstr ""
607msgstr ""
468
608
469#: qml/Tutorial/TutorialRight.qml:56
609#: qml/Tutorial/TutorialRight.qml:56
470−msgid "Short or long swipe from the right edge to view your open apps"
610+msgid "Swipe from the right edge to view your open apps"
471msgstr ""
611msgstr ""
472
612
473#: qml/Tutorial/TutorialTop.qml:53
613#: qml/Tutorial/TutorialTop.qml:53
474−msgid "Swipe from the top right edge to open the notification bar"
614+msgid "Swipe from the top edge to access notifications and quick settings"
475−msgstr ""
476−
477−#: qml/Tutorial/TutorialTop.qml:54
478−msgid "Swipe from the top edge to open the notification bar"
479msgstr ""
615msgstr ""
480
616
481#: qml/Wizard/Page.qml:54
617#: qml/Wizard/Page.qml:54
@@ -487,8 +623,8 @@ msgstr "Вярнуцца"
487msgid "Language"
623msgid "Language"
488msgstr ""
624msgstr ""
489
625
490−#: qml/Wizard/Pages/10-welcome.qml:156 qml/Wizard/Pages/30-wifi.qml:206
626+#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
491−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:267
627+#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
492#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
628#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
493#: qml/Wizard/Pages/75-report-check.qml:84
629#: qml/Wizard/Pages/75-report-check.qml:84
494#: qml/Wizard/Pages/passcode-desktop.qml:124
630#: qml/Wizard/Pages/passcode-desktop.qml:124
@@ -553,7 +689,7 @@ msgstr ""
553msgid "Time Zone"
689msgid "Time Zone"
554msgstr ""
690msgstr ""
555
691
556−#: qml/Wizard/Pages/50-timezone.qml:178
692+#: qml/Wizard/Pages/50-timezone.qml:181
557msgid "Enter your city"
693msgid "Enter your city"
558msgstr ""
694msgstr ""
559
695
@@ -957,6 +1093,9 @@ msgstr ""
957#~ msgid "Reboot"
1093#~ msgid "Reboot"
958#~ msgstr "Перазагрузіць"
1094#~ msgstr "Перазагрузіць"
959
1095
1096+#~ msgid "Tap to unlock"
1097+#~ msgstr "Націсніце, каб разблакаваць"
1098+
960#~ msgid "Swipe up from the bottom edge."
1099#~ msgid "Swipe up from the bottom edge."
961#~ msgstr "Правесці уверх ад ніжняга краю."
1100#~ msgstr "Правесці уверх ад ніжняга краю."
962
1101
po/bg.po+212−76
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-05-20 08:44+0000\n"
10+"POT-Creation-Date: 2016-06-17 01:22+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,23 +15,23 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
18+"X-Launchpad-Export-Date: 2016-06-19 05:54+0000\n"
19−"X-Generator: Launchpad (build 18053)\n"
19+"X-Generator: Launchpad (build 18097)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
23msgstr ""
23msgstr ""
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:48
25+#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:107
26+#: plugins/Unity/Launcher/launcheritem.cpp:108
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28msgstr ""
28msgstr ""
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:53
30+#: plugins/Unity/Launcher/launcheritem.cpp:54
31msgid "Quit"
31msgid "Quit"
32msgstr ""
32msgstr ""
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:107
34+#: plugins/Unity/Launcher/launcheritem.cpp:108
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36msgstr ""
36msgstr ""
37
37
@@ -54,54 +54,54 @@ msgid_plural "Please wait %1 minutes and then try again…"
54msgstr[0] ""
54msgstr[0] ""
55msgstr[1] ""
55msgstr[1] ""
56
56
57−#: qml/Components/Dialogs.qml:144
57+#: qml/Components/Dialogs.qml:146
58msgctxt "Title: Lock/Log out dialog"
58msgctxt "Title: Lock/Log out dialog"
59msgid "Log out"
59msgid "Log out"
60msgstr ""
60msgstr ""
61
61
62−#: qml/Components/Dialogs.qml:145
62+#: qml/Components/Dialogs.qml:147
63msgid "Are you sure you want to log out?"
63msgid "Are you sure you want to log out?"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:147
66+#: qml/Components/Dialogs.qml:149
67msgctxt "Button: Lock the system"
67msgctxt "Button: Lock the system"
68msgid "Lock"
68msgid "Lock"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:154
71+#: qml/Components/Dialogs.qml:156
72msgctxt "Button: Log out from the system"
72msgctxt "Button: Log out from the system"
73msgid "Log Out"
73msgid "Log Out"
74msgstr ""
74msgstr ""
75
75
76−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
76+#: qml/Components/Dialogs.qml:163 qml/Components/Dialogs.qml:219
77−#: qml/Dash/DashPageHeader.qml:298 qml/Wizard/Pages/passcode-confirm.qml:32
77+#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
78#: qml/Wizard/Pages/passcode-set.qml:32
78#: qml/Wizard/Pages/passcode-set.qml:32
79msgid "Cancel"
79msgid "Cancel"
80msgstr ""
80msgstr ""
81
81
82−#: qml/Components/Dialogs.qml:173
82+#: qml/Components/Dialogs.qml:175
83msgctxt "Title: Reboot dialog"
83msgctxt "Title: Reboot dialog"
84msgid "Reboot"
84msgid "Reboot"
85msgstr ""
85msgstr ""
86
86
87−#: qml/Components/Dialogs.qml:174
87+#: qml/Components/Dialogs.qml:176
88msgid "Are you sure you want to reboot?"
88msgid "Are you sure you want to reboot?"
89msgstr ""
89msgstr ""
90
90
91−#: qml/Components/Dialogs.qml:176
91+#: qml/Components/Dialogs.qml:178
92msgid "No"
92msgid "No"
93msgstr ""
93msgstr ""
94
94
95−#: qml/Components/Dialogs.qml:182
95+#: qml/Components/Dialogs.qml:184
96msgid "Yes"
96msgid "Yes"
97msgstr ""
97msgstr ""
98
98
99−#: qml/Components/Dialogs.qml:197
99+#: qml/Components/Dialogs.qml:199
100msgctxt "Title: Power off/Restart dialog"
100msgctxt "Title: Power off/Restart dialog"
101msgid "Power"
101msgid "Power"
102msgstr ""
102msgstr ""
103
103
104−#: qml/Components/Dialogs.qml:198
104+#: qml/Components/Dialogs.qml:200
105msgid ""
105msgid ""
106"Are you sure you would like\n"
106"Are you sure you would like\n"
107"to power off?"
107"to power off?"
@@ -109,16 +109,176 @@ msgstr ""
109"Искате ли да \n"
109"Искате ли да \n"
110"изключите захранването на устройството?"
110"изключите захранването на устройството?"
111
111
112−#: qml/Components/Dialogs.qml:200
112+#: qml/Components/Dialogs.qml:202
113msgctxt "Button: Power off the system"
113msgctxt "Button: Power off the system"
114msgid "Power off"
114msgid "Power off"
115msgstr ""
115msgstr ""
116
116
117−#: qml/Components/Dialogs.qml:209
117+#: qml/Components/Dialogs.qml:211
118msgctxt "Button: Restart the system"
118msgctxt "Button: Restart the system"
119msgid "Restart"
119msgid "Restart"
120msgstr ""
120msgstr ""
121
121
122+#: qml/Components/KeyboardShortcutsOverlay.qml:41
123+msgid "Keyboard Shortcuts"
124+msgstr ""
125+
126+#: qml/Components/KeyboardShortcutsOverlay.qml:55
127+msgid "Unity 8"
128+msgstr ""
129+
130+#: qml/Components/KeyboardShortcutsOverlay.qml:62
131+msgid "PrtScr"
132+msgstr ""
133+
134+#: qml/Components/KeyboardShortcutsOverlay.qml:67
135+msgid "Takes a screenshot."
136+msgstr ""
137+
138+#: qml/Components/KeyboardShortcutsOverlay.qml:75
139+msgid "Alt + PrtScr"
140+msgstr ""
141+
142+#: qml/Components/KeyboardShortcutsOverlay.qml:80
143+msgid "Takes a screenshot of a window."
144+msgstr ""
145+
146+#: qml/Components/KeyboardShortcutsOverlay.qml:88
147+msgid "Super + Space"
148+msgstr ""
149+
150+#: qml/Components/KeyboardShortcutsOverlay.qml:93
151+msgid "Switches to next keyboard layout."
152+msgstr ""
153+
154+#: qml/Components/KeyboardShortcutsOverlay.qml:101
155+msgid "Super + Shift + Space"
156+msgstr ""
157+
158+#: qml/Components/KeyboardShortcutsOverlay.qml:106
159+msgid "Switches to previous keyboard layout."
160+msgstr ""
161+
162+#: qml/Components/KeyboardShortcutsOverlay.qml:118
163+msgid "Launcher"
164+msgstr ""
165+
166+#: qml/Components/KeyboardShortcutsOverlay.qml:125
167+msgid "Super (Hold)"
168+msgstr ""
169+
170+#: qml/Components/KeyboardShortcutsOverlay.qml:130
171+msgid "Opens the launcher, displays shortcuts."
172+msgstr ""
173+
174+#: qml/Components/KeyboardShortcutsOverlay.qml:138
175+msgid "Alt + F1"
176+msgstr ""
177+
178+#: qml/Components/KeyboardShortcutsOverlay.qml:143
179+msgid "Opens launcher keyboard navigation mode."
180+msgstr ""
181+
182+#: qml/Components/KeyboardShortcutsOverlay.qml:151
183+msgid "Super + Tab"
184+msgstr ""
185+
186+#: qml/Components/KeyboardShortcutsOverlay.qml:156
187+msgid "Switches applications via the launcher."
188+msgstr ""
189+
190+#: qml/Components/KeyboardShortcutsOverlay.qml:164
191+msgid "Super + 0 to 9"
192+msgstr ""
193+
194+#: qml/Components/KeyboardShortcutsOverlay.qml:169
195+msgid "Same as clicking on a launcher icon."
196+msgstr ""
197+
198+#: qml/Components/KeyboardShortcutsOverlay.qml:181
199+msgid "Scopes"
200+msgstr ""
201+
202+#: qml/Components/KeyboardShortcutsOverlay.qml:188
203+msgid "Super (Tap)"
204+msgstr ""
205+
206+#: qml/Components/KeyboardShortcutsOverlay.qml:193
207+msgid "Opens the Scopes home."
208+msgstr ""
209+
210+#: qml/Components/KeyboardShortcutsOverlay.qml:209
211+msgid "Switching"
212+msgstr ""
213+
214+#: qml/Components/KeyboardShortcutsOverlay.qml:216
215+msgid "Alt + Tab"
216+msgstr ""
217+
218+#: qml/Components/KeyboardShortcutsOverlay.qml:221
219+msgid "Switches between applications."
220+msgstr ""
221+
222+#: qml/Components/KeyboardShortcutsOverlay.qml:229
223+msgid "Super + W"
224+msgstr ""
225+
226+#: qml/Components/KeyboardShortcutsOverlay.qml:234
227+msgid "Opens the desktop spread."
228+msgstr ""
229+
230+#: qml/Components/KeyboardShortcutsOverlay.qml:242
231+msgid "Cursor Left or Right"
232+msgstr ""
233+
234+#: qml/Components/KeyboardShortcutsOverlay.qml:247
235+msgid "Moves the focus."
236+msgstr ""
237+
238+#: qml/Components/KeyboardShortcutsOverlay.qml:259
239+msgid "Windows"
240+msgstr ""
241+
242+#: qml/Components/KeyboardShortcutsOverlay.qml:266
243+msgid "Ctrl + Super + D"
244+msgstr ""
245+
246+#: qml/Components/KeyboardShortcutsOverlay.qml:271
247+msgid "Minimizes all windows."
248+msgstr ""
249+
250+#: qml/Components/KeyboardShortcutsOverlay.qml:279
251+msgid "Ctrl + Super + Up"
252+msgstr ""
253+
254+#: qml/Components/KeyboardShortcutsOverlay.qml:284
255+msgid "Maximizes the current window."
256+msgstr ""
257+
258+#: qml/Components/KeyboardShortcutsOverlay.qml:292
259+msgid "Ctrl + Super + Down"
260+msgstr ""
261+
262+#: qml/Components/KeyboardShortcutsOverlay.qml:297
263+msgid "Minimizes or restores the current window."
264+msgstr ""
265+
266+#: qml/Components/KeyboardShortcutsOverlay.qml:305
267+msgid "Ctrl + Super + Left or Right"
268+msgstr ""
269+
270+#: qml/Components/KeyboardShortcutsOverlay.qml:310
271+msgid "Semi-maximizes the current window."
272+msgstr ""
273+
274+#: qml/Components/KeyboardShortcutsOverlay.qml:318
275+msgid "Alt + F4"
276+msgstr ""
277+
278+#: qml/Components/KeyboardShortcutsOverlay.qml:323
279+msgid "Closes the current window."
280+msgstr ""
281+
122#: qml/Components/Lockscreen.qml:231
282#: qml/Components/Lockscreen.qml:231
123msgid "Return to Call"
283msgid "Return to Call"
124msgstr ""
284msgstr ""
@@ -157,26 +317,26 @@ msgstr ""
157msgid "Close all"
317msgid "Close all"
158msgstr ""
318msgstr ""
159
319
160−#: qml/Dash/DashPageHeader.qml:337
320+#: qml/Dash/DashPageHeader.qml:333
161msgctxt "Button: Open the Ubuntu Store"
321msgctxt "Button: Open the Ubuntu Store"
162msgid "Store"
322msgid "Store"
163msgstr ""
323msgstr ""
164
324
165−#: qml/Dash/DashPageHeader.qml:344
325+#: qml/Dash/DashPageHeader.qml:340
166msgctxt "Button: Start a search in the current dash scope"
326msgctxt "Button: Start a search in the current dash scope"
167msgid "Search"
327msgid "Search"
168msgstr ""
328msgstr ""
169
329
170−#: qml/Dash/DashPageHeader.qml:354
330+#: qml/Dash/DashPageHeader.qml:350
171msgctxt "Button: Show the current dash scope settings"
331msgctxt "Button: Show the current dash scope settings"
172msgid "Settings"
332msgid "Settings"
173msgstr ""
333msgstr ""
174
334
175−#: qml/Dash/DashPageHeader.qml:361
335+#: qml/Dash/DashPageHeader.qml:357
176msgid "Remove from Favorites"
336msgid "Remove from Favorites"
177msgstr ""
337msgstr ""
178
338
179−#: qml/Dash/DashPageHeader.qml:361
339+#: qml/Dash/DashPageHeader.qml:357
180msgid "Add to Favorites"
340msgid "Add to Favorites"
181msgstr ""
341msgstr ""
182
342
@@ -188,24 +348,24 @@ msgstr ""
188msgid "Reset"
348msgid "Reset"
189msgstr ""
349msgstr ""
190
350
191−#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
351+#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
192msgid "Show less"
352msgid "Show less"
193msgstr ""
353msgstr ""
194
354
195−#: qml/Dash/GenericScopeView.qml:579
355+#: qml/Dash/GenericScopeView.qml:580
196msgid "Show all"
356msgid "Show all"
197msgstr ""
357msgstr ""
198
358
199−#: qml/Dash/GenericScopeView.qml:636
359+#: qml/Dash/GenericScopeView.qml:637
200msgctxt "Label: Hint for dash search line edit"
360msgctxt "Label: Hint for dash search line edit"
201msgid "Search"
361msgid "Search"
202msgstr ""
362msgstr ""
203
363
204−#: qml/Dash/PageHeaderExtraPanel.qml:55
364+#: qml/Dash/PageHeaderExtraPanel.qml:56
205msgid "Recent Searches"
365msgid "Recent Searches"
206msgstr ""
366msgstr ""
207
367
208−#: qml/Dash/PageHeaderExtraPanel.qml:66
368+#: qml/Dash/PageHeaderExtraPanel.qml:67
209msgid "Clear All"
369msgid "Clear All"
210msgstr ""
370msgstr ""
211
371
@@ -218,15 +378,15 @@ msgid "Less..."
218msgstr "По-малко..."
378msgstr "По-малко..."
219
379
220#: qml/Dash/Previews/PreviewCommentInput.qml:68
380#: qml/Dash/Previews/PreviewCommentInput.qml:68
221−#: qml/Dash/Previews/PreviewRatingInput.qml:174
381+#: qml/Dash/Previews/PreviewRatingInput.qml:175
222msgid "Send"
382msgid "Send"
223msgstr "Изпрати"
383msgstr "Изпрати"
224
384
225−#: qml/Dash/Previews/PreviewRatingInput.qml:84
385+#: qml/Dash/Previews/PreviewRatingInput.qml:82
226msgid "Rate this"
386msgid "Rate this"
227msgstr "Оценете това"
387msgstr "Оценете това"
228
388
229−#: qml/Dash/Previews/PreviewRatingInput.qml:129
389+#: qml/Dash/Previews/PreviewRatingInput.qml:157
230msgid "Add a review"
390msgid "Add a review"
231msgstr "Добави отзив"
391msgstr "Добави отзив"
232
392
@@ -246,15 +406,15 @@ msgstr ""
246msgid "Enable location data"
406msgid "Enable location data"
247msgstr ""
407msgstr ""
248
408
249−#: qml/Dash/ScopesList.qml:67
409+#: qml/Dash/ScopesList.qml:55
250msgid "Manage"
410msgid "Manage"
251msgstr ""
411msgstr ""
252
412
253−#: qml/Dash/ScopesList.qml:113
413+#: qml/Dash/ScopesList.qml:101
254msgid "Home"
414msgid "Home"
255msgstr ""
415msgstr ""
256
416
257−#: qml/Dash/ScopesList.qml:114
417+#: qml/Dash/ScopesList.qml:102
258msgid "Also installed"
418msgid "Also installed"
259msgstr ""
419msgstr ""
260
420
@@ -264,16 +424,16 @@ msgid ""
264"touch pad to interact with the pointer."
424"touch pad to interact with the pointer."
265msgstr ""
425msgstr ""
266
426
267−#: qml/Greeter/CoverPage.qml:118
427+#: qml/Greeter/CoverPage.qml:119
268msgid "Unlock"
428msgid "Unlock"
269msgstr ""
429msgstr ""
270
430
271−#: qml/Greeter/LoginList.qml:239
431+#: qml/Greeter/LoginList.qml:259
272msgid "Retry"
432msgid "Retry"
273msgstr ""
433msgstr ""
274
434
275−#: qml/Greeter/LoginList.qml:240
435+#: qml/Greeter/LoginList.qml:260
276−msgid "Tap to unlock"
436+msgid "Log In"
277msgstr ""
437msgstr ""
278
438
279#: qml/Greeter/NarrowView.qml:54
439#: qml/Greeter/NarrowView.qml:54
@@ -402,18 +562,18 @@ msgstr ""
402msgid "Failed, tap to retry"
562msgid "Failed, tap to retry"
403msgstr ""
563msgstr ""
404
564
405−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:155
565+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:151
406−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
566+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:210
407msgctxt "Button: Send a reply message"
567msgctxt "Button: Send a reply message"
408msgid "Send"
568msgid "Send"
409msgstr ""
569msgstr ""
410
570
411−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
571+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:152
412msgctxt "Label: Hint in message indicator line edit"
572msgctxt "Label: Hint in message indicator line edit"
413msgid "Reply"
573msgid "Reply"
414msgstr ""
574msgstr ""
415
575
416−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
576+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:209
417msgctxt "Button: Call back on phone"
577msgctxt "Button: Call back on phone"
418msgid "Call back"
578msgid "Call back"
419msgstr ""
579msgstr ""
@@ -422,32 +582,12 @@ msgstr ""
422msgid "Drag using 3 fingers any application from one window to the other"
582msgid "Drag using 3 fingers any application from one window to the other"
423msgstr ""
583msgstr ""
424
584
425−#: qml/Tutorial/TutorialBottom.qml:78
426−msgid "Swipe up to add a contact"
427−msgstr ""
428−
429−#: qml/Tutorial/TutorialBottom.qml:80
430−msgid "Swipe up for favorite calculations"
431−msgstr ""
432−
433−#: qml/Tutorial/TutorialBottom.qml:82
434−msgid "Swipe up for recent calls"
435−msgstr ""
436−
437−#: qml/Tutorial/TutorialBottom.qml:84
438−msgid "Swipe up to create a message"
439−msgstr ""
440−
441−#: qml/Tutorial/TutorialBottom.qml:85
442−msgid "Swipe up to manage the app"
443−msgstr ""
444−
445−#: qml/Tutorial/TutorialLeftLong.qml:47
585+#: qml/Tutorial/TutorialLeftLong.qml:49
446msgid "Long swipe from the left edge to open the Today scope"
586msgid "Long swipe from the left edge to open the Today scope"
447msgstr ""
587msgstr ""
448
588
449#: qml/Tutorial/TutorialLeft.qml:47
589#: qml/Tutorial/TutorialLeft.qml:47
450−msgid "Swipe from the left edge to open the launcher"
590+msgid "Short swipe from the left edge to open the launcher"
451msgstr ""
591msgstr ""
452
592
453#: qml/Tutorial/TutorialRight.qml:55
593#: qml/Tutorial/TutorialRight.qml:55
@@ -455,15 +595,11 @@ msgid "Push your mouse against the right edge to view your open apps"
455msgstr ""
595msgstr ""
456
596
457#: qml/Tutorial/TutorialRight.qml:56
597#: qml/Tutorial/TutorialRight.qml:56
458−msgid "Short or long swipe from the right edge to view your open apps"
598+msgid "Swipe from the right edge to view your open apps"
459msgstr ""
599msgstr ""
460
600
461#: qml/Tutorial/TutorialTop.qml:53
601#: qml/Tutorial/TutorialTop.qml:53
462−msgid "Swipe from the top right edge to open the notification bar"
602+msgid "Swipe from the top edge to access notifications and quick settings"
463−msgstr ""
464−
465−#: qml/Tutorial/TutorialTop.qml:54
466−msgid "Swipe from the top edge to open the notification bar"
467msgstr ""
603msgstr ""
468
604
469#: qml/Wizard/Page.qml:54
605#: qml/Wizard/Page.qml:54
@@ -475,8 +611,8 @@ msgstr ""
475msgid "Language"
611msgid "Language"
476msgstr ""
612msgstr ""
477
613
478−#: qml/Wizard/Pages/10-welcome.qml:156 qml/Wizard/Pages/30-wifi.qml:206
614+#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
479−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:267
615+#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
480#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
616#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
481#: qml/Wizard/Pages/75-report-check.qml:84
617#: qml/Wizard/Pages/75-report-check.qml:84
482#: qml/Wizard/Pages/passcode-desktop.qml:124
618#: qml/Wizard/Pages/passcode-desktop.qml:124
@@ -541,7 +677,7 @@ msgstr ""
541msgid "Time Zone"
677msgid "Time Zone"
542msgstr ""
678msgstr ""
543
679
544−#: qml/Wizard/Pages/50-timezone.qml:178
680+#: qml/Wizard/Pages/50-timezone.qml:181
545msgid "Enter your city"
681msgid "Enter your city"
546msgstr ""
682msgstr ""
547
683
po/bn.po+216−77
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-05-20 08:44+0000\n"
10+"POT-Creation-Date: 2016-06-17 01:22+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,23 +15,23 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
18+"X-Launchpad-Export-Date: 2016-06-19 05:54+0000\n"
19−"X-Generator: Launchpad (build 18053)\n"
19+"X-Generator: Launchpad (build 18097)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
23msgstr "পাসওয়ার্ড: "
23msgstr "পাসওয়ার্ড: "
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:48
25+#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:107
26+#: plugins/Unity/Launcher/launcheritem.cpp:108
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28msgstr "পিন"
28msgstr "পিন"
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:53
30+#: plugins/Unity/Launcher/launcheritem.cpp:54
31msgid "Quit"
31msgid "Quit"
32msgstr ""
32msgstr ""
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:107
34+#: plugins/Unity/Launcher/launcheritem.cpp:108
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36msgstr "আনপিন"
36msgstr "আনপিন"
37
37
@@ -54,54 +54,54 @@ msgid_plural "Please wait %1 minutes and then try again…"
54msgstr[0] "অনুগ্রহ করে %1 মিনিট অপেক্ষা করুন এবং পরবর্তীতে চেষ্টা করুন..."
54msgstr[0] "অনুগ্রহ করে %1 মিনিট অপেক্ষা করুন এবং পরবর্তীতে চেষ্টা করুন..."
55msgstr[1] "অনুগ্রহ করে %1 মিনিট অপেক্ষা করুন এবং পরবর্তীতে চেষ্টা করুন..."
55msgstr[1] "অনুগ্রহ করে %1 মিনিট অপেক্ষা করুন এবং পরবর্তীতে চেষ্টা করুন..."
56
56
57−#: qml/Components/Dialogs.qml:144
57+#: qml/Components/Dialogs.qml:146
58msgctxt "Title: Lock/Log out dialog"
58msgctxt "Title: Lock/Log out dialog"
59msgid "Log out"
59msgid "Log out"
60msgstr ""
60msgstr ""
61
61
62−#: qml/Components/Dialogs.qml:145
62+#: qml/Components/Dialogs.qml:147
63msgid "Are you sure you want to log out?"
63msgid "Are you sure you want to log out?"
64msgstr "আপনি কি লগ আউট করতে চান?"
64msgstr "আপনি কি লগ আউট করতে চান?"
65
65
66−#: qml/Components/Dialogs.qml:147
66+#: qml/Components/Dialogs.qml:149
67msgctxt "Button: Lock the system"
67msgctxt "Button: Lock the system"
68msgid "Lock"
68msgid "Lock"
69msgstr "লক করুন"
69msgstr "লক করুন"
70
70
71−#: qml/Components/Dialogs.qml:154
71+#: qml/Components/Dialogs.qml:156
72msgctxt "Button: Log out from the system"
72msgctxt "Button: Log out from the system"
73msgid "Log Out"
73msgid "Log Out"
74msgstr ""
74msgstr ""
75
75
76−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
76+#: qml/Components/Dialogs.qml:163 qml/Components/Dialogs.qml:219
77−#: qml/Dash/DashPageHeader.qml:298 qml/Wizard/Pages/passcode-confirm.qml:32
77+#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
78#: qml/Wizard/Pages/passcode-set.qml:32
78#: qml/Wizard/Pages/passcode-set.qml:32
79msgid "Cancel"
79msgid "Cancel"
80msgstr "বাতিল"
80msgstr "বাতিল"
81
81
82−#: qml/Components/Dialogs.qml:173
82+#: qml/Components/Dialogs.qml:175
83msgctxt "Title: Reboot dialog"
83msgctxt "Title: Reboot dialog"
84msgid "Reboot"
84msgid "Reboot"
85msgstr "পুনরায় চালু"
85msgstr "পুনরায় চালু"
86
86
87−#: qml/Components/Dialogs.qml:174
87+#: qml/Components/Dialogs.qml:176
88msgid "Are you sure you want to reboot?"
88msgid "Are you sure you want to reboot?"
89msgstr "আপনি কি পুনরায় চালু করতে চান?"
89msgstr "আপনি কি পুনরায় চালু করতে চান?"
90
90
91−#: qml/Components/Dialogs.qml:176
91+#: qml/Components/Dialogs.qml:178
92msgid "No"
92msgid "No"
93msgstr "না"
93msgstr "না"
94
94
95−#: qml/Components/Dialogs.qml:182
95+#: qml/Components/Dialogs.qml:184
96msgid "Yes"
96msgid "Yes"
97msgstr "হ্যাঁ"
97msgstr "হ্যাঁ"
98
98
99−#: qml/Components/Dialogs.qml:197
99+#: qml/Components/Dialogs.qml:199
100msgctxt "Title: Power off/Restart dialog"
100msgctxt "Title: Power off/Restart dialog"
101msgid "Power"
101msgid "Power"
102msgstr ""
102msgstr ""
103
103
104−#: qml/Components/Dialogs.qml:198
104+#: qml/Components/Dialogs.qml:200
105msgid ""
105msgid ""
106"Are you sure you would like\n"
106"Are you sure you would like\n"
107"to power off?"
107"to power off?"
@@ -109,16 +109,176 @@ msgstr ""
109"আপনি নিশ্চিত যে আপনি\n"
109"আপনি নিশ্চিত যে আপনি\n"
110"বন্ধ করতে চান?"
110"বন্ধ করতে চান?"
111
111
112−#: qml/Components/Dialogs.qml:200
112+#: qml/Components/Dialogs.qml:202
113msgctxt "Button: Power off the system"
113msgctxt "Button: Power off the system"
114msgid "Power off"
114msgid "Power off"
115msgstr "বন্ধ করুন"
115msgstr "বন্ধ করুন"
116
116
117−#: qml/Components/Dialogs.qml:209
117+#: qml/Components/Dialogs.qml:211
118msgctxt "Button: Restart the system"
118msgctxt "Button: Restart the system"
119msgid "Restart"
119msgid "Restart"
120msgstr "পুনরায় চালু"
120msgstr "পুনরায় চালু"
121
121
122+#: qml/Components/KeyboardShortcutsOverlay.qml:41
123+msgid "Keyboard Shortcuts"
124+msgstr ""
125+
126+#: qml/Components/KeyboardShortcutsOverlay.qml:55
127+msgid "Unity 8"
128+msgstr ""
129+
130+#: qml/Components/KeyboardShortcutsOverlay.qml:62
131+msgid "PrtScr"
132+msgstr ""
133+
134+#: qml/Components/KeyboardShortcutsOverlay.qml:67
135+msgid "Takes a screenshot."
136+msgstr ""
137+
138+#: qml/Components/KeyboardShortcutsOverlay.qml:75
139+msgid "Alt + PrtScr"
140+msgstr ""
141+
142+#: qml/Components/KeyboardShortcutsOverlay.qml:80
143+msgid "Takes a screenshot of a window."
144+msgstr ""
145+
146+#: qml/Components/KeyboardShortcutsOverlay.qml:88
147+msgid "Super + Space"
148+msgstr ""
149+
150+#: qml/Components/KeyboardShortcutsOverlay.qml:93
151+msgid "Switches to next keyboard layout."
152+msgstr ""
153+
154+#: qml/Components/KeyboardShortcutsOverlay.qml:101
155+msgid "Super + Shift + Space"
156+msgstr ""
157+
158+#: qml/Components/KeyboardShortcutsOverlay.qml:106
159+msgid "Switches to previous keyboard layout."
160+msgstr ""
161+
162+#: qml/Components/KeyboardShortcutsOverlay.qml:118
163+msgid "Launcher"
164+msgstr ""
165+
166+#: qml/Components/KeyboardShortcutsOverlay.qml:125
167+msgid "Super (Hold)"
168+msgstr ""
169+
170+#: qml/Components/KeyboardShortcutsOverlay.qml:130
171+msgid "Opens the launcher, displays shortcuts."
172+msgstr ""
173+
174+#: qml/Components/KeyboardShortcutsOverlay.qml:138
175+msgid "Alt + F1"
176+msgstr ""
177+
178+#: qml/Components/KeyboardShortcutsOverlay.qml:143
179+msgid "Opens launcher keyboard navigation mode."
180+msgstr ""
181+
182+#: qml/Components/KeyboardShortcutsOverlay.qml:151
183+msgid "Super + Tab"
184+msgstr ""
185+
186+#: qml/Components/KeyboardShortcutsOverlay.qml:156
187+msgid "Switches applications via the launcher."
188+msgstr ""
189+
190+#: qml/Components/KeyboardShortcutsOverlay.qml:164
191+msgid "Super + 0 to 9"
192+msgstr ""
193+
194+#: qml/Components/KeyboardShortcutsOverlay.qml:169
195+msgid "Same as clicking on a launcher icon."
196+msgstr ""
197+
198+#: qml/Components/KeyboardShortcutsOverlay.qml:181
199+msgid "Scopes"
200+msgstr ""
201+
202+#: qml/Components/KeyboardShortcutsOverlay.qml:188
203+msgid "Super (Tap)"
204+msgstr ""
205+
206+#: qml/Components/KeyboardShortcutsOverlay.qml:193
207+msgid "Opens the Scopes home."
208+msgstr ""
209+
210+#: qml/Components/KeyboardShortcutsOverlay.qml:209
211+msgid "Switching"
212+msgstr ""
213+
214+#: qml/Components/KeyboardShortcutsOverlay.qml:216
215+msgid "Alt + Tab"
216+msgstr ""
217+
218+#: qml/Components/KeyboardShortcutsOverlay.qml:221
219+msgid "Switches between applications."
220+msgstr ""
221+
222+#: qml/Components/KeyboardShortcutsOverlay.qml:229
223+msgid "Super + W"
224+msgstr ""
225+
226+#: qml/Components/KeyboardShortcutsOverlay.qml:234
227+msgid "Opens the desktop spread."
228+msgstr ""
229+
230+#: qml/Components/KeyboardShortcutsOverlay.qml:242
231+msgid "Cursor Left or Right"
232+msgstr ""
233+
234+#: qml/Components/KeyboardShortcutsOverlay.qml:247
235+msgid "Moves the focus."
236+msgstr ""
237+
238+#: qml/Components/KeyboardShortcutsOverlay.qml:259
239+msgid "Windows"
240+msgstr ""
241+
242+#: qml/Components/KeyboardShortcutsOverlay.qml:266
243+msgid "Ctrl + Super + D"
244+msgstr ""
245+
246+#: qml/Components/KeyboardShortcutsOverlay.qml:271
247+msgid "Minimizes all windows."
248+msgstr ""
249+
250+#: qml/Components/KeyboardShortcutsOverlay.qml:279
251+msgid "Ctrl + Super + Up"
252+msgstr ""
253+
254+#: qml/Components/KeyboardShortcutsOverlay.qml:284
255+msgid "Maximizes the current window."
256+msgstr ""
257+
258+#: qml/Components/KeyboardShortcutsOverlay.qml:292
259+msgid "Ctrl + Super + Down"
260+msgstr ""
261+
262+#: qml/Components/KeyboardShortcutsOverlay.qml:297
263+msgid "Minimizes or restores the current window."
264+msgstr ""
265+
266+#: qml/Components/KeyboardShortcutsOverlay.qml:305
267+msgid "Ctrl + Super + Left or Right"
268+msgstr ""
269+
270+#: qml/Components/KeyboardShortcutsOverlay.qml:310
271+msgid "Semi-maximizes the current window."
272+msgstr ""
273+
274+#: qml/Components/KeyboardShortcutsOverlay.qml:318
275+msgid "Alt + F4"
276+msgstr ""
277+
278+#: qml/Components/KeyboardShortcutsOverlay.qml:323
279+msgid "Closes the current window."
280+msgstr ""
281+
122#: qml/Components/Lockscreen.qml:231
282#: qml/Components/Lockscreen.qml:231
123msgid "Return to Call"
283msgid "Return to Call"
124msgstr "কল এ ফিরে যান"
284msgstr "কল এ ফিরে যান"
@@ -157,26 +317,26 @@ msgstr ""
157msgid "Close all"
317msgid "Close all"
158msgstr ""
318msgstr ""
159
319
160−#: qml/Dash/DashPageHeader.qml:337
320+#: qml/Dash/DashPageHeader.qml:333
161msgctxt "Button: Open the Ubuntu Store"
321msgctxt "Button: Open the Ubuntu Store"
162msgid "Store"
322msgid "Store"
163msgstr "স্টোর"
323msgstr "স্টোর"
164
324
165−#: qml/Dash/DashPageHeader.qml:344
325+#: qml/Dash/DashPageHeader.qml:340
166msgctxt "Button: Start a search in the current dash scope"
326msgctxt "Button: Start a search in the current dash scope"
167msgid "Search"
327msgid "Search"
168msgstr "খুঁজুন"
328msgstr "খুঁজুন"
169
329
170−#: qml/Dash/DashPageHeader.qml:354
330+#: qml/Dash/DashPageHeader.qml:350
171msgctxt "Button: Show the current dash scope settings"
331msgctxt "Button: Show the current dash scope settings"
172msgid "Settings"
332msgid "Settings"
173msgstr "সেটিংস"
333msgstr "সেটিংস"
174
334
175−#: qml/Dash/DashPageHeader.qml:361
335+#: qml/Dash/DashPageHeader.qml:357
176msgid "Remove from Favorites"
336msgid "Remove from Favorites"
177msgstr "পছন্দ থেকে মুছে ফেলুন"
337msgstr "পছন্দ থেকে মুছে ফেলুন"
178
338
179−#: qml/Dash/DashPageHeader.qml:361
339+#: qml/Dash/DashPageHeader.qml:357
180msgid "Add to Favorites"
340msgid "Add to Favorites"
181msgstr "পছন্দতে যোগ করুন"
341msgstr "পছন্দতে যোগ করুন"
182
342
@@ -188,24 +348,24 @@ msgstr ""
188msgid "Reset"
348msgid "Reset"
189msgstr ""
349msgstr ""
190
350
191−#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
351+#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
192msgid "Show less"
352msgid "Show less"
193msgstr ""
353msgstr ""
194
354
195−#: qml/Dash/GenericScopeView.qml:579
355+#: qml/Dash/GenericScopeView.qml:580
196msgid "Show all"
356msgid "Show all"
197msgstr ""
357msgstr ""
198
358
199−#: qml/Dash/GenericScopeView.qml:636
359+#: qml/Dash/GenericScopeView.qml:637
200msgctxt "Label: Hint for dash search line edit"
360msgctxt "Label: Hint for dash search line edit"
201msgid "Search"
361msgid "Search"
202msgstr "খুঁজুন"
362msgstr "খুঁজুন"
203
363
204−#: qml/Dash/PageHeaderExtraPanel.qml:55
364+#: qml/Dash/PageHeaderExtraPanel.qml:56
205msgid "Recent Searches"
365msgid "Recent Searches"
206msgstr ""
366msgstr ""
207
367
208−#: qml/Dash/PageHeaderExtraPanel.qml:66
368+#: qml/Dash/PageHeaderExtraPanel.qml:67
209msgid "Clear All"
369msgid "Clear All"
210msgstr ""
370msgstr ""
211
371
@@ -218,15 +378,15 @@ msgid "Less..."
218msgstr "কম..."
378msgstr "কম..."
219
379
220#: qml/Dash/Previews/PreviewCommentInput.qml:68
380#: qml/Dash/Previews/PreviewCommentInput.qml:68
221−#: qml/Dash/Previews/PreviewRatingInput.qml:174
381+#: qml/Dash/Previews/PreviewRatingInput.qml:175
222msgid "Send"
382msgid "Send"
223msgstr "পাঠান"
383msgstr "পাঠান"
224
384
225−#: qml/Dash/Previews/PreviewRatingInput.qml:84
385+#: qml/Dash/Previews/PreviewRatingInput.qml:82
226msgid "Rate this"
386msgid "Rate this"
227msgstr "রেটিং দিন"
387msgstr "রেটিং দিন"
228
388
229−#: qml/Dash/Previews/PreviewRatingInput.qml:129
389+#: qml/Dash/Previews/PreviewRatingInput.qml:157
230msgid "Add a review"
390msgid "Add a review"
231msgstr "আপনার মতামত দিন"
391msgstr "আপনার মতামত দিন"
232
392
@@ -246,15 +406,15 @@ msgstr "রিফ্রেশ করার জন্য ছেড়ে দিন"
246msgid "Enable location data"
406msgid "Enable location data"
247msgstr "অবস্থান নির্ণয় চালু করুন"
407msgstr "অবস্থান নির্ণয় চালু করুন"
248
408
249−#: qml/Dash/ScopesList.qml:67
409+#: qml/Dash/ScopesList.qml:55
250msgid "Manage"
410msgid "Manage"
251msgstr "ব্যবস্থাপনা"
411msgstr "ব্যবস্থাপনা"
252
412
253−#: qml/Dash/ScopesList.qml:113
413+#: qml/Dash/ScopesList.qml:101
254msgid "Home"
414msgid "Home"
255msgstr ""
415msgstr ""
256
416
257−#: qml/Dash/ScopesList.qml:114
417+#: qml/Dash/ScopesList.qml:102
258msgid "Also installed"
418msgid "Also installed"
259msgstr "আরও ইন্সটল করা রয়েছে..."
419msgstr "আরও ইন্সটল করা রয়েছে..."
260
420
@@ -264,17 +424,17 @@ msgid ""
264"touch pad to interact with the pointer."
424"touch pad to interact with the pointer."
265msgstr ""
425msgstr ""
266
426
267−#: qml/Greeter/CoverPage.qml:118
427+#: qml/Greeter/CoverPage.qml:119
268msgid "Unlock"
428msgid "Unlock"
269msgstr "লক খুলুন"
429msgstr "লক খুলুন"
270
430
271−#: qml/Greeter/LoginList.qml:239
431+#: qml/Greeter/LoginList.qml:259
272msgid "Retry"
432msgid "Retry"
273msgstr ""
433msgstr ""
274
434
275−#: qml/Greeter/LoginList.qml:240
435+#: qml/Greeter/LoginList.qml:260
276−msgid "Tap to unlock"
436+msgid "Log In"
277−msgstr "লক খোলার জন্য চাপ দিন"
437+msgstr ""
278
438
279#: qml/Greeter/NarrowView.qml:54
439#: qml/Greeter/NarrowView.qml:54
280msgid "Sorry, incorrect passphrase."
440msgid "Sorry, incorrect passphrase."
@@ -403,18 +563,18 @@ msgstr "শেষ"
403msgid "Failed, tap to retry"
563msgid "Failed, tap to retry"
404msgstr "ব্যার্থ হয়েছে, পুনরায় চেষ্টা করতে চাপ দিন"
564msgstr "ব্যার্থ হয়েছে, পুনরায় চেষ্টা করতে চাপ দিন"
405
565
406−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:155
566+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:151
407−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
567+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:210
408msgctxt "Button: Send a reply message"
568msgctxt "Button: Send a reply message"
409msgid "Send"
569msgid "Send"
410msgstr ""
570msgstr ""
411
571
412−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
572+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:152
413msgctxt "Label: Hint in message indicator line edit"
573msgctxt "Label: Hint in message indicator line edit"
414msgid "Reply"
574msgid "Reply"
415msgstr "উত্তর দিন"
575msgstr "উত্তর দিন"
416
576
417−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
577+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:209
418msgctxt "Button: Call back on phone"
578msgctxt "Button: Call back on phone"
419msgid "Call back"
579msgid "Call back"
420msgstr "কল ব্যাক"
580msgstr "কল ব্যাক"
@@ -423,32 +583,12 @@ msgstr "কল ব্যাক"
423msgid "Drag using 3 fingers any application from one window to the other"
583msgid "Drag using 3 fingers any application from one window to the other"
424msgstr ""
584msgstr ""
425
585
426−#: qml/Tutorial/TutorialBottom.qml:78
427−msgid "Swipe up to add a contact"
428−msgstr ""
429−
430−#: qml/Tutorial/TutorialBottom.qml:80
431−msgid "Swipe up for favorite calculations"
432−msgstr ""
433−
434−#: qml/Tutorial/TutorialBottom.qml:82
435−msgid "Swipe up for recent calls"
436−msgstr ""
437−
438−#: qml/Tutorial/TutorialBottom.qml:84
439−msgid "Swipe up to create a message"
440−msgstr ""
441−
442−#: qml/Tutorial/TutorialBottom.qml:85
443−msgid "Swipe up to manage the app"
444−msgstr ""
445−
446−#: qml/Tutorial/TutorialLeftLong.qml:47
586+#: qml/Tutorial/TutorialLeftLong.qml:49
447msgid "Long swipe from the left edge to open the Today scope"
587msgid "Long swipe from the left edge to open the Today scope"
448msgstr ""
588msgstr ""
449
589
450#: qml/Tutorial/TutorialLeft.qml:47
590#: qml/Tutorial/TutorialLeft.qml:47
451−msgid "Swipe from the left edge to open the launcher"
591+msgid "Short swipe from the left edge to open the launcher"
452msgstr ""
592msgstr ""
453
593
454#: qml/Tutorial/TutorialRight.qml:55
594#: qml/Tutorial/TutorialRight.qml:55
@@ -456,15 +596,11 @@ msgid "Push your mouse against the right edge to view your open apps"
456msgstr ""
596msgstr ""
457
597
458#: qml/Tutorial/TutorialRight.qml:56
598#: qml/Tutorial/TutorialRight.qml:56
459−msgid "Short or long swipe from the right edge to view your open apps"
599+msgid "Swipe from the right edge to view your open apps"
460msgstr ""
600msgstr ""
461
601
462#: qml/Tutorial/TutorialTop.qml:53
602#: qml/Tutorial/TutorialTop.qml:53
463−msgid "Swipe from the top right edge to open the notification bar"
603+msgid "Swipe from the top edge to access notifications and quick settings"
464−msgstr ""
465−
466−#: qml/Tutorial/TutorialTop.qml:54
467−msgid "Swipe from the top edge to open the notification bar"
468msgstr ""
604msgstr ""
469
605
470#: qml/Wizard/Page.qml:54
606#: qml/Wizard/Page.qml:54
@@ -476,8 +612,8 @@ msgstr ""
476msgid "Language"
612msgid "Language"
477msgstr ""
613msgstr ""
478
614
479−#: qml/Wizard/Pages/10-welcome.qml:156 qml/Wizard/Pages/30-wifi.qml:206
615+#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
480−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:267
616+#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
481#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
617#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
482#: qml/Wizard/Pages/75-report-check.qml:84
618#: qml/Wizard/Pages/75-report-check.qml:84
483#: qml/Wizard/Pages/passcode-desktop.qml:124
619#: qml/Wizard/Pages/passcode-desktop.qml:124
@@ -542,7 +678,7 @@ msgstr ""
542msgid "Time Zone"
678msgid "Time Zone"
543msgstr ""
679msgstr ""
544
680
545−#: qml/Wizard/Pages/50-timezone.qml:178
681+#: qml/Wizard/Pages/50-timezone.qml:181
546msgid "Enter your city"
682msgid "Enter your city"
547msgstr ""
683msgstr ""
548
684
@@ -860,6 +996,9 @@ msgstr ""
860#~ msgid "Shut down"
996#~ msgid "Shut down"
861#~ msgstr "বন্ধ করুন"
997#~ msgstr "বন্ধ করুন"
862
998
999+#~ msgid "Tap to unlock"
1000+#~ msgstr "লক খোলার জন্য চাপ দিন"
1001+
863#~ msgid "Let’s get started."
1002#~ msgid "Let’s get started."
864#~ msgstr "আসুন শুরু করা যাক।"
1003#~ msgstr "আসুন শুরু করা যাক।"
865
1004
po/br.po+222−77
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-05-20 08:44+0000\n"
10+"POT-Creation-Date: 2016-06-17 01:22+0000\n"
11"PO-Revision-Date: 2016-04-27 12:20+0000\n"
11"PO-Revision-Date: 2016-04-27 12:20+0000\n"
12"Last-Translator: Fohanno Thierry <thierry.fohanno@ofis-bzh.org>\n"
12"Last-Translator: Fohanno Thierry <thierry.fohanno@ofis-bzh.org>\n"
13"Language-Team: Breton <br@li.org>\n"
13"Language-Team: Breton <br@li.org>\n"
@@ -15,23 +15,23 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
18+"X-Launchpad-Export-Date: 2016-06-19 05:54+0000\n"
19−"X-Generator: Launchpad (build 18053)\n"
19+"X-Generator: Launchpad (build 18097)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
23msgstr "Ger-tremen : "
23msgstr "Ger-tremen : "
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:48
25+#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:107
26+#: plugins/Unity/Launcher/launcheritem.cpp:108
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28msgstr "Spilhennañ ar verradenn"
28msgstr "Spilhennañ ar verradenn"
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:53
30+#: plugins/Unity/Launcher/launcheritem.cpp:54
31msgid "Quit"
31msgid "Quit"
32msgstr "Mont kuit"
32msgstr "Mont kuit"
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:107
34+#: plugins/Unity/Launcher/launcheritem.cpp:108
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36msgstr "Dispilhennañ ar verradenn"
36msgstr "Dispilhennañ ar verradenn"
37
37
@@ -58,54 +58,54 @@ msgid_plural "Please wait %1 minutes and then try again…"
58msgstr[0] "Gortozit %1 vunutenn, mar plij, hag esaeit en-dro..."
58msgstr[0] "Gortozit %1 vunutenn, mar plij, hag esaeit en-dro..."
59msgstr[1] "Gortozit %1 a vunutoù, mar plij, hag esaeit en-dro..."
59msgstr[1] "Gortozit %1 a vunutoù, mar plij, hag esaeit en-dro..."
60
60
61−#: qml/Components/Dialogs.qml:144
61+#: qml/Components/Dialogs.qml:146
62msgctxt "Title: Lock/Log out dialog"
62msgctxt "Title: Lock/Log out dialog"
63msgid "Log out"
63msgid "Log out"
64msgstr "Digevreañ"
64msgstr "Digevreañ"
65
65
66−#: qml/Components/Dialogs.qml:145
66+#: qml/Components/Dialogs.qml:147
67msgid "Are you sure you want to log out?"
67msgid "Are you sure you want to log out?"
68msgstr "Ha sur oc'h e fell deoc'h digevreañ ?"
68msgstr "Ha sur oc'h e fell deoc'h digevreañ ?"
69
69
70−#: qml/Components/Dialogs.qml:147
70+#: qml/Components/Dialogs.qml:149
71msgctxt "Button: Lock the system"
71msgctxt "Button: Lock the system"
72msgid "Lock"
72msgid "Lock"
73msgstr "Prennañ"
73msgstr "Prennañ"
74
74
75−#: qml/Components/Dialogs.qml:154
75+#: qml/Components/Dialogs.qml:156
76msgctxt "Button: Log out from the system"
76msgctxt "Button: Log out from the system"
77msgid "Log Out"
77msgid "Log Out"
78msgstr "Digevreañ"
78msgstr "Digevreañ"
79
79
80−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
80+#: qml/Components/Dialogs.qml:163 qml/Components/Dialogs.qml:219
81−#: qml/Dash/DashPageHeader.qml:298 qml/Wizard/Pages/passcode-confirm.qml:32
81+#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
82#: qml/Wizard/Pages/passcode-set.qml:32
82#: qml/Wizard/Pages/passcode-set.qml:32
83msgid "Cancel"
83msgid "Cancel"
84msgstr "Nullañ"
84msgstr "Nullañ"
85
85
86−#: qml/Components/Dialogs.qml:173
86+#: qml/Components/Dialogs.qml:175
87msgctxt "Title: Reboot dialog"
87msgctxt "Title: Reboot dialog"
88msgid "Reboot"
88msgid "Reboot"
89msgstr "Adloc'hañ"
89msgstr "Adloc'hañ"
90
90
91−#: qml/Components/Dialogs.qml:174
91+#: qml/Components/Dialogs.qml:176
92msgid "Are you sure you want to reboot?"
92msgid "Are you sure you want to reboot?"
93msgstr "Ha sur oc'h e fell deoc'h adloc'hañ ?"
93msgstr "Ha sur oc'h e fell deoc'h adloc'hañ ?"
94
94
95−#: qml/Components/Dialogs.qml:176
95+#: qml/Components/Dialogs.qml:178
96msgid "No"
96msgid "No"
97msgstr "N'on ket"
97msgstr "N'on ket"
98
98
99−#: qml/Components/Dialogs.qml:182
99+#: qml/Components/Dialogs.qml:184
100msgid "Yes"
100msgid "Yes"
101msgstr "Ya"
101msgstr "Ya"
102
102
103−#: qml/Components/Dialogs.qml:197
103+#: qml/Components/Dialogs.qml:199
104msgctxt "Title: Power off/Restart dialog"
104msgctxt "Title: Power off/Restart dialog"
105msgid "Power"
105msgid "Power"
106msgstr "Enaouiñ"
106msgstr "Enaouiñ"
107
107
108−#: qml/Components/Dialogs.qml:198
108+#: qml/Components/Dialogs.qml:200
109msgid ""
109msgid ""
110"Are you sure you would like\n"
110"Are you sure you would like\n"
111"to power off?"
111"to power off?"
@@ -113,16 +113,176 @@ msgstr ""
113"Ha sur oc'h e fell deoc'h\n"
113"Ha sur oc'h e fell deoc'h\n"
114"troc'hañ an tredan ?"
114"troc'hañ an tredan ?"
115
115
116−#: qml/Components/Dialogs.qml:200
116+#: qml/Components/Dialogs.qml:202
117msgctxt "Button: Power off the system"
117msgctxt "Button: Power off the system"
118msgid "Power off"
118msgid "Power off"
119msgstr "Lazhañ"
119msgstr "Lazhañ"
120
120
121−#: qml/Components/Dialogs.qml:209
121+#: qml/Components/Dialogs.qml:211
122msgctxt "Button: Restart the system"
122msgctxt "Button: Restart the system"
123msgid "Restart"
123msgid "Restart"
124msgstr "Adloc'hañ"
124msgstr "Adloc'hañ"
125
125
126+#: qml/Components/KeyboardShortcutsOverlay.qml:41
127+msgid "Keyboard Shortcuts"
128+msgstr ""
129+
130+#: qml/Components/KeyboardShortcutsOverlay.qml:55
131+msgid "Unity 8"
132+msgstr ""
133+
134+#: qml/Components/KeyboardShortcutsOverlay.qml:62
135+msgid "PrtScr"
136+msgstr ""
137+
138+#: qml/Components/KeyboardShortcutsOverlay.qml:67
139+msgid "Takes a screenshot."
140+msgstr ""
141+
142+#: qml/Components/KeyboardShortcutsOverlay.qml:75
143+msgid "Alt + PrtScr"
144+msgstr ""
145+
146+#: qml/Components/KeyboardShortcutsOverlay.qml:80
147+msgid "Takes a screenshot of a window."
148+msgstr ""
149+
150+#: qml/Components/KeyboardShortcutsOverlay.qml:88
151+msgid "Super + Space"
152+msgstr ""
153+
154+#: qml/Components/KeyboardShortcutsOverlay.qml:93
155+msgid "Switches to next keyboard layout."
156+msgstr ""
157+
158+#: qml/Components/KeyboardShortcutsOverlay.qml:101
159+msgid "Super + Shift + Space"
160+msgstr ""
161+
162+#: qml/Components/KeyboardShortcutsOverlay.qml:106
163+msgid "Switches to previous keyboard layout."
164+msgstr ""
165+
166+#: qml/Components/KeyboardShortcutsOverlay.qml:118
167+msgid "Launcher"
168+msgstr ""
169+
170+#: qml/Components/KeyboardShortcutsOverlay.qml:125
171+msgid "Super (Hold)"
172+msgstr ""
173+
174+#: qml/Components/KeyboardShortcutsOverlay.qml:130
175+msgid "Opens the launcher, displays shortcuts."
176+msgstr ""
177+
178+#: qml/Components/KeyboardShortcutsOverlay.qml:138
179+msgid "Alt + F1"
180+msgstr ""
181+
182+#: qml/Components/KeyboardShortcutsOverlay.qml:143
183+msgid "Opens launcher keyboard navigation mode."
184+msgstr ""
185+
186+#: qml/Components/KeyboardShortcutsOverlay.qml:151
187+msgid "Super + Tab"
188+msgstr ""
189+
190+#: qml/Components/KeyboardShortcutsOverlay.qml:156
191+msgid "Switches applications via the launcher."
192+msgstr ""
193+
194+#: qml/Components/KeyboardShortcutsOverlay.qml:164
195+msgid "Super + 0 to 9"
196+msgstr ""
197+
198+#: qml/Components/KeyboardShortcutsOverlay.qml:169
199+msgid "Same as clicking on a launcher icon."
200+msgstr ""
201+
202+#: qml/Components/KeyboardShortcutsOverlay.qml:181
203+msgid "Scopes"
204+msgstr ""
205+
206+#: qml/Components/KeyboardShortcutsOverlay.qml:188
207+msgid "Super (Tap)"
208+msgstr ""
209+
210+#: qml/Components/KeyboardShortcutsOverlay.qml:193
211+msgid "Opens the Scopes home."
212+msgstr ""
213+
214+#: qml/Components/KeyboardShortcutsOverlay.qml:209
215+msgid "Switching"
216+msgstr ""
217+
218+#: qml/Components/KeyboardShortcutsOverlay.qml:216
219+msgid "Alt + Tab"
220+msgstr ""
221+
222+#: qml/Components/KeyboardShortcutsOverlay.qml:221
223+msgid "Switches between applications."
224+msgstr ""
225+
226+#: qml/Components/KeyboardShortcutsOverlay.qml:229
227+msgid "Super + W"
228+msgstr ""
229+
230+#: qml/Components/KeyboardShortcutsOverlay.qml:234
231+msgid "Opens the desktop spread."
232+msgstr ""
233+
234+#: qml/Components/KeyboardShortcutsOverlay.qml:242
235+msgid "Cursor Left or Right"
236+msgstr ""
237+
238+#: qml/Components/KeyboardShortcutsOverlay.qml:247
239+msgid "Moves the focus."
240+msgstr ""
241+
242+#: qml/Components/KeyboardShortcutsOverlay.qml:259
243+msgid "Windows"
244+msgstr ""
245+
246+#: qml/Components/KeyboardShortcutsOverlay.qml:266
247+msgid "Ctrl + Super + D"
248+msgstr ""
249+
250+#: qml/Components/KeyboardShortcutsOverlay.qml:271
251+msgid "Minimizes all windows."
252+msgstr ""
253+
254+#: qml/Components/KeyboardShortcutsOverlay.qml:279
255+msgid "Ctrl + Super + Up"
256+msgstr ""
257+
258+#: qml/Components/KeyboardShortcutsOverlay.qml:284
259+msgid "Maximizes the current window."
260+msgstr ""
261+
262+#: qml/Components/KeyboardShortcutsOverlay.qml:292
263+msgid "Ctrl + Super + Down"
264+msgstr ""
265+
266+#: qml/Components/KeyboardShortcutsOverlay.qml:297
267+msgid "Minimizes or restores the current window."
268+msgstr ""
269+
270+#: qml/Components/KeyboardShortcutsOverlay.qml:305
271+msgid "Ctrl + Super + Left or Right"
272+msgstr ""
273+
274+#: qml/Components/KeyboardShortcutsOverlay.qml:310
275+msgid "Semi-maximizes the current window."
276+msgstr ""
277+
278+#: qml/Components/KeyboardShortcutsOverlay.qml:318
279+msgid "Alt + F4"
280+msgstr ""
281+
282+#: qml/Components/KeyboardShortcutsOverlay.qml:323
283+msgid "Closes the current window."
284+msgstr ""
285+
126#: qml/Components/Lockscreen.qml:231
286#: qml/Components/Lockscreen.qml:231
127msgid "Return to Call"
287msgid "Return to Call"
128msgstr "Distreiñ d'ar bellgomzadenn"
288msgstr "Distreiñ d'ar bellgomzadenn"
@@ -164,26 +324,26 @@ msgstr "Adkevreañ bremañ !"
164msgid "Close all"
324msgid "Close all"
165msgstr "Serriñ pep tra"
325msgstr "Serriñ pep tra"
166
326
167−#: qml/Dash/DashPageHeader.qml:337
327+#: qml/Dash/DashPageHeader.qml:333
168msgctxt "Button: Open the Ubuntu Store"
328msgctxt "Button: Open the Ubuntu Store"
169msgid "Store"
329msgid "Store"
170msgstr "Stal"
330msgstr "Stal"
171
331
172−#: qml/Dash/DashPageHeader.qml:344
332+#: qml/Dash/DashPageHeader.qml:340
173msgctxt "Button: Start a search in the current dash scope"
333msgctxt "Button: Start a search in the current dash scope"
174msgid "Search"
334msgid "Search"
175msgstr "Klask"
335msgstr "Klask"
176
336
177−#: qml/Dash/DashPageHeader.qml:354
337+#: qml/Dash/DashPageHeader.qml:350
178msgctxt "Button: Show the current dash scope settings"
338msgctxt "Button: Show the current dash scope settings"
179msgid "Settings"
339msgid "Settings"
180msgstr "Arventennoù"
340msgstr "Arventennoù"
181
341
182−#: qml/Dash/DashPageHeader.qml:361
342+#: qml/Dash/DashPageHeader.qml:357
183msgid "Remove from Favorites"
343msgid "Remove from Favorites"
184msgstr "Lemel eus ar sinedoù"
344msgstr "Lemel eus ar sinedoù"
185
345
186−#: qml/Dash/DashPageHeader.qml:361
346+#: qml/Dash/DashPageHeader.qml:357
187msgid "Add to Favorites"
347msgid "Add to Favorites"
188msgstr "Ouzhpennañ d'ar sinedoù"
348msgstr "Ouzhpennañ d'ar sinedoù"
189
349
@@ -195,24 +355,24 @@ msgstr "Purañ ho tisoc'hoù"
195msgid "Reset"
355msgid "Reset"
196msgstr "Adderaouekaat"
356msgstr "Adderaouekaat"
197
357
198−#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
358+#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
199msgid "Show less"
359msgid "Show less"
200msgstr ""
360msgstr ""
201
361
202−#: qml/Dash/GenericScopeView.qml:579
362+#: qml/Dash/GenericScopeView.qml:580
203msgid "Show all"
363msgid "Show all"
204msgstr ""
364msgstr ""
205
365
206−#: qml/Dash/GenericScopeView.qml:636
366+#: qml/Dash/GenericScopeView.qml:637
207msgctxt "Label: Hint for dash search line edit"
367msgctxt "Label: Hint for dash search line edit"
208msgid "Search"
368msgid "Search"
209msgstr "Klask"
369msgstr "Klask"
210
370
211−#: qml/Dash/PageHeaderExtraPanel.qml:55
371+#: qml/Dash/PageHeaderExtraPanel.qml:56
212msgid "Recent Searches"
372msgid "Recent Searches"
213msgstr "Enklaskoù graet nevez zo"
373msgstr "Enklaskoù graet nevez zo"
214
374
215−#: qml/Dash/PageHeaderExtraPanel.qml:66
375+#: qml/Dash/PageHeaderExtraPanel.qml:67
216msgid "Clear All"
376msgid "Clear All"
217msgstr "Diverkañ pep tra"
377msgstr "Diverkañ pep tra"
218
378
@@ -225,15 +385,15 @@ msgid "Less..."
225msgstr "Nebeutoc'h..."
385msgstr "Nebeutoc'h..."
226
386
227#: qml/Dash/Previews/PreviewCommentInput.qml:68
387#: qml/Dash/Previews/PreviewCommentInput.qml:68
228−#: qml/Dash/Previews/PreviewRatingInput.qml:174
388+#: qml/Dash/Previews/PreviewRatingInput.qml:175
229msgid "Send"
389msgid "Send"
230msgstr "Kas"
390msgstr "Kas"
231
391
232−#: qml/Dash/Previews/PreviewRatingInput.qml:84
392+#: qml/Dash/Previews/PreviewRatingInput.qml:82
233msgid "Rate this"
393msgid "Rate this"
234msgstr "Priziit an dra-mañ"
394msgstr "Priziit an dra-mañ"
235
395
236−#: qml/Dash/Previews/PreviewRatingInput.qml:129
396+#: qml/Dash/Previews/PreviewRatingInput.qml:157
237msgid "Add a review"
397msgid "Add a review"
238msgstr "Ouzhpennañ un ali"
398msgstr "Ouzhpennañ un ali"
239
399
@@ -253,15 +413,15 @@ msgstr "Lezel da vont evit freskaat..."
253msgid "Enable location data"
413msgid "Enable location data"
254msgstr "Gweredekaat ar roadennoù lec'hiañ"
414msgstr "Gweredekaat ar roadennoù lec'hiañ"
255
415
256−#: qml/Dash/ScopesList.qml:67
416+#: qml/Dash/ScopesList.qml:55
257msgid "Manage"
417msgid "Manage"
258msgstr "Merañ"
418msgstr "Merañ"
259
419
260−#: qml/Dash/ScopesList.qml:113
420+#: qml/Dash/ScopesList.qml:101
261msgid "Home"
421msgid "Home"
262msgstr "Er gêr"
422msgstr "Er gêr"
263
423
264−#: qml/Dash/ScopesList.qml:114
424+#: qml/Dash/ScopesList.qml:102
265msgid "Also installed"
425msgid "Also installed"
266msgstr "Staliet ivez"
426msgstr "Staliet ivez"
267
427
@@ -271,17 +431,17 @@ msgid ""
271"touch pad to interact with the pointer."
431"touch pad to interact with the pointer."
272msgstr ""
432msgstr ""
273
433
274−#: qml/Greeter/CoverPage.qml:118
434+#: qml/Greeter/CoverPage.qml:119
275msgid "Unlock"
435msgid "Unlock"
276msgstr "Dibrennañ"
436msgstr "Dibrennañ"
277
437
278−#: qml/Greeter/LoginList.qml:239
438+#: qml/Greeter/LoginList.qml:259
279msgid "Retry"
439msgid "Retry"
280msgstr "Esaeañ en-dro"
440msgstr "Esaeañ en-dro"
281
441
282−#: qml/Greeter/LoginList.qml:240
442+#: qml/Greeter/LoginList.qml:260
283−msgid "Tap to unlock"
443+msgid "Log In"
284−msgstr "Pouezañ evit dibrennañ"
444+msgstr ""
285
445
286#: qml/Greeter/NarrowView.qml:54
446#: qml/Greeter/NarrowView.qml:54
287msgid "Sorry, incorrect passphrase."
447msgid "Sorry, incorrect passphrase."
@@ -413,18 +573,18 @@ msgstr "Echu"
413msgid "Failed, tap to retry"
573msgid "Failed, tap to retry"
414msgstr "C'hwitet, touchit evit adkregiñ"
574msgstr "C'hwitet, touchit evit adkregiñ"
415
575
416−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:155
576+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:151
417−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
577+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:210
418msgctxt "Button: Send a reply message"
578msgctxt "Button: Send a reply message"
419msgid "Send"
579msgid "Send"
420msgstr "Kas"
580msgstr "Kas"
421
581
422−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
582+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:152
423msgctxt "Label: Hint in message indicator line edit"
583msgctxt "Label: Hint in message indicator line edit"
424msgid "Reply"
584msgid "Reply"
425msgstr "Respont"
585msgstr "Respont"
426
586
427−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
587+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:209
428msgctxt "Button: Call back on phone"
588msgctxt "Button: Call back on phone"
429msgid "Call back"
589msgid "Call back"
430msgstr "Gervel en-dro"
590msgstr "Gervel en-dro"
@@ -433,32 +593,12 @@ msgstr "Gervel en-dro"
433msgid "Drag using 3 fingers any application from one window to the other"
593msgid "Drag using 3 fingers any application from one window to the other"
434msgstr ""
594msgstr ""
435
595
436−#: qml/Tutorial/TutorialBottom.qml:78
437−msgid "Swipe up to add a contact"
438−msgstr "Riklit d'an nec'h evit ouzhpennañ un darempred"
439−
440−#: qml/Tutorial/TutorialBottom.qml:80
441−msgid "Swipe up for favorite calculations"
442−msgstr ""
443−
444−#: qml/Tutorial/TutorialBottom.qml:82
445−msgid "Swipe up for recent calls"
446−msgstr ""
447−
448−#: qml/Tutorial/TutorialBottom.qml:84
449−msgid "Swipe up to create a message"
450−msgstr "Riklit d'an nec'h evit krouiñ ur gemennadenn"
451−
452−#: qml/Tutorial/TutorialBottom.qml:85
453−msgid "Swipe up to manage the app"
454−msgstr ""
455−
456−#: qml/Tutorial/TutorialLeftLong.qml:47
596+#: qml/Tutorial/TutorialLeftLong.qml:49
457msgid "Long swipe from the left edge to open the Today scope"
597msgid "Long swipe from the left edge to open the Today scope"
458msgstr ""
598msgstr ""
459
599
460#: qml/Tutorial/TutorialLeft.qml:47
600#: qml/Tutorial/TutorialLeft.qml:47
461−msgid "Swipe from the left edge to open the launcher"
601+msgid "Short swipe from the left edge to open the launcher"
462msgstr ""
602msgstr ""
463
603
464#: qml/Tutorial/TutorialRight.qml:55
604#: qml/Tutorial/TutorialRight.qml:55
@@ -466,15 +606,11 @@ msgid "Push your mouse against the right edge to view your open apps"
466msgstr ""
606msgstr ""
467
607
468#: qml/Tutorial/TutorialRight.qml:56
608#: qml/Tutorial/TutorialRight.qml:56
469−msgid "Short or long swipe from the right edge to view your open apps"
609+msgid "Swipe from the right edge to view your open apps"
470msgstr ""
610msgstr ""
471
611
472#: qml/Tutorial/TutorialTop.qml:53
612#: qml/Tutorial/TutorialTop.qml:53
473−msgid "Swipe from the top right edge to open the notification bar"
613+msgid "Swipe from the top edge to access notifications and quick settings"
474−msgstr ""
475−
476−#: qml/Tutorial/TutorialTop.qml:54
477−msgid "Swipe from the top edge to open the notification bar"
478msgstr ""
614msgstr ""
479
615
480#: qml/Wizard/Page.qml:54
616#: qml/Wizard/Page.qml:54
@@ -486,8 +622,8 @@ msgstr "Distreiñ"
486msgid "Language"
622msgid "Language"
487msgstr "Yezh"
623msgstr "Yezh"
488
624
489−#: qml/Wizard/Pages/10-welcome.qml:156 qml/Wizard/Pages/30-wifi.qml:206
625+#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
490−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:267
626+#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
491#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
627#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
492#: qml/Wizard/Pages/75-report-check.qml:84
628#: qml/Wizard/Pages/75-report-check.qml:84
493#: qml/Wizard/Pages/passcode-desktop.qml:124
629#: qml/Wizard/Pages/passcode-desktop.qml:124
@@ -552,7 +688,7 @@ msgstr ""
552msgid "Time Zone"
688msgid "Time Zone"
553msgstr "Gwerzhid-eur"
689msgstr "Gwerzhid-eur"
554
690
555−#: qml/Wizard/Pages/50-timezone.qml:178
691+#: qml/Wizard/Pages/50-timezone.qml:181
556msgid "Enter your city"
692msgid "Enter your city"
557msgstr "Skrivit ho kêr"
693msgstr "Skrivit ho kêr"
558
694
@@ -965,6 +1101,9 @@ msgstr "Ger-tremen diasur-kenañ"
965#~ msgid "%1 〉"
1101#~ msgid "%1 〉"
966#~ msgstr "%1 〉"
1102#~ msgstr "%1 〉"
967
1103
1104+#~ msgid "Tap to unlock"
1105+#~ msgstr "Pouezañ evit dibrennañ"
1106+
968#~ msgid "This action does different things for different apps"
1107#~ msgid "This action does different things for different apps"
969#~ msgstr "An ober-mañ a ra meur a dra evit meur a arload"
1108#~ msgstr "An ober-mañ a ra meur a dra evit meur a arload"
970
1109
@@ -1072,3 +1211,9 @@ msgstr "Ger-tremen diasur-kenañ"
1072
1211
1073#~ msgid "Call back"
1212#~ msgid "Call back"
1074#~ msgstr "Gervel en-dro"
1213#~ msgstr "Gervel en-dro"
1214+
1215+#~ msgid "Swipe up to add a contact"
1216+#~ msgstr "Riklit d'an nec'h evit ouzhpennañ un darempred"
1217+
1218+#~ msgid "Swipe up to create a message"
1219+#~ msgstr "Riklit d'an nec'h evit krouiñ ur gemennadenn"
po/bs.po+216−77
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-05-20 08:44+0000\n"
10+"POT-Creation-Date: 2016-06-17 01:22+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,23 +16,23 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
19+"X-Launchpad-Export-Date: 2016-06-19 05:54+0000\n"
20−"X-Generator: Launchpad (build 18053)\n"
20+"X-Generator: Launchpad (build 18097)\n"
21
21
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
24msgstr "Šifra: "
24msgstr "Šifra: "
25
25
26−#: plugins/Unity/Launcher/launcheritem.cpp:48
26+#: plugins/Unity/Launcher/launcheritem.cpp:49
27−#: plugins/Unity/Launcher/launcheritem.cpp:107
27+#: plugins/Unity/Launcher/launcheritem.cpp:108
28msgid "Pin shortcut"
28msgid "Pin shortcut"
29msgstr "Prikačite prečicu"
29msgstr "Prikačite prečicu"
30
30
31−#: plugins/Unity/Launcher/launcheritem.cpp:53
31+#: plugins/Unity/Launcher/launcheritem.cpp:54
32msgid "Quit"
32msgid "Quit"
33msgstr "Napusti"
33msgstr "Napusti"
34
34
35−#: plugins/Unity/Launcher/launcheritem.cpp:107
35+#: plugins/Unity/Launcher/launcheritem.cpp:108
36msgid "Unpin shortcut"
36msgid "Unpin shortcut"
37msgstr "Otkačite prečicu"
37msgstr "Otkačite prečicu"
38
38
@@ -56,54 +56,54 @@ msgstr[0] "Molim pričekajte %1 minutu i onda pokušajte ponovo..."
56msgstr[1] "Molim pričekajte %1 minute i onda pokušajte ponovo..."
56msgstr[1] "Molim pričekajte %1 minute i onda pokušajte ponovo..."
57msgstr[2] "Molim pričekajte %1 minuta i onda pokušajte ponovo"
57msgstr[2] "Molim pričekajte %1 minuta i onda pokušajte ponovo"
58
58
59−#: qml/Components/Dialogs.qml:144
59+#: qml/Components/Dialogs.qml:146
60msgctxt "Title: Lock/Log out dialog"
60msgctxt "Title: Lock/Log out dialog"
61msgid "Log out"
61msgid "Log out"
62msgstr "Odjavite se"
62msgstr "Odjavite se"
63
63
64−#: qml/Components/Dialogs.qml:145
64+#: qml/Components/Dialogs.qml:147
65msgid "Are you sure you want to log out?"
65msgid "Are you sure you want to log out?"
66msgstr "Da li ste sigurni da se želite odjaviti?"
66msgstr "Da li ste sigurni da se želite odjaviti?"
67
67
68−#: qml/Components/Dialogs.qml:147
68+#: qml/Components/Dialogs.qml:149
69msgctxt "Button: Lock the system"
69msgctxt "Button: Lock the system"
70msgid "Lock"
70msgid "Lock"
71msgstr "Zaključaj"
71msgstr "Zaključaj"
72
72
73−#: qml/Components/Dialogs.qml:154
73+#: qml/Components/Dialogs.qml:156
74msgctxt "Button: Log out from the system"
74msgctxt "Button: Log out from the system"
75msgid "Log Out"
75msgid "Log Out"
76msgstr "Odjavi se"
76msgstr "Odjavi se"
77
77
78−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
78+#: qml/Components/Dialogs.qml:163 qml/Components/Dialogs.qml:219
79−#: qml/Dash/DashPageHeader.qml:298 qml/Wizard/Pages/passcode-confirm.qml:32
79+#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
80#: qml/Wizard/Pages/passcode-set.qml:32
80#: qml/Wizard/Pages/passcode-set.qml:32
81msgid "Cancel"
81msgid "Cancel"
82msgstr "Otkaži"
82msgstr "Otkaži"
83
83
84−#: qml/Components/Dialogs.qml:173
84+#: qml/Components/Dialogs.qml:175
85msgctxt "Title: Reboot dialog"
85msgctxt "Title: Reboot dialog"
86msgid "Reboot"
86msgid "Reboot"
87msgstr "Ponovo pokreni"
87msgstr "Ponovo pokreni"
88
88
89−#: qml/Components/Dialogs.qml:174
89+#: qml/Components/Dialogs.qml:176
90msgid "Are you sure you want to reboot?"
90msgid "Are you sure you want to reboot?"
91msgstr "Da li ste sigurni da želite ponovo pokrenuti?"
91msgstr "Da li ste sigurni da želite ponovo pokrenuti?"
92
92
93−#: qml/Components/Dialogs.qml:176
93+#: qml/Components/Dialogs.qml:178
94msgid "No"
94msgid "No"
95msgstr "Ne"
95msgstr "Ne"
96
96
97−#: qml/Components/Dialogs.qml:182
97+#: qml/Components/Dialogs.qml:184
98msgid "Yes"
98msgid "Yes"
99msgstr "Da"
99msgstr "Da"
100
100
101−#: qml/Components/Dialogs.qml:197
101+#: qml/Components/Dialogs.qml:199
102msgctxt "Title: Power off/Restart dialog"
102msgctxt "Title: Power off/Restart dialog"
103msgid "Power"
103msgid "Power"
104msgstr "Napajanje"
104msgstr "Napajanje"
105
105
106−#: qml/Components/Dialogs.qml:198
106+#: qml/Components/Dialogs.qml:200
107msgid ""
107msgid ""
108"Are you sure you would like\n"
108"Are you sure you would like\n"
109"to power off?"
109"to power off?"
@@ -111,16 +111,176 @@ msgstr ""
111"Da li ste sigurni da želite\n"
111"Da li ste sigurni da želite\n"
112"isključiti?"
112"isključiti?"
113
113
114−#: qml/Components/Dialogs.qml:200
114+#: qml/Components/Dialogs.qml:202
115msgctxt "Button: Power off the system"
115msgctxt "Button: Power off the system"
116msgid "Power off"
116msgid "Power off"
117msgstr "Isključi"
117msgstr "Isključi"
118
118
119−#: qml/Components/Dialogs.qml:209
119+#: qml/Components/Dialogs.qml:211
120msgctxt "Button: Restart the system"
120msgctxt "Button: Restart the system"
121msgid "Restart"
121msgid "Restart"
122msgstr "Restartuj"
122msgstr "Restartuj"
123
123
124+#: qml/Components/KeyboardShortcutsOverlay.qml:41
125+msgid "Keyboard Shortcuts"
126+msgstr ""
127+
128+#: qml/Components/KeyboardShortcutsOverlay.qml:55
129+msgid "Unity 8"
130+msgstr ""
131+
132+#: qml/Components/KeyboardShortcutsOverlay.qml:62
133+msgid "PrtScr"
134+msgstr ""
135+
136+#: qml/Components/KeyboardShortcutsOverlay.qml:67
137+msgid "Takes a screenshot."
138+msgstr ""
139+
140+#: qml/Components/KeyboardShortcutsOverlay.qml:75
141+msgid "Alt + PrtScr"
142+msgstr ""
143+
144+#: qml/Components/KeyboardShortcutsOverlay.qml:80
145+msgid "Takes a screenshot of a window."
146+msgstr ""
147+
148+#: qml/Components/KeyboardShortcutsOverlay.qml:88
149+msgid "Super + Space"
150+msgstr ""
151+
152+#: qml/Components/KeyboardShortcutsOverlay.qml:93
153+msgid "Switches to next keyboard layout."
154+msgstr ""
155+
156+#: qml/Components/KeyboardShortcutsOverlay.qml:101
157+msgid "Super + Shift + Space"
158+msgstr ""
159+
160+#: qml/Components/KeyboardShortcutsOverlay.qml:106
161+msgid "Switches to previous keyboard layout."
162+msgstr ""
163+
164+#: qml/Components/KeyboardShortcutsOverlay.qml:118
165+msgid "Launcher"
166+msgstr ""
167+
168+#: qml/Components/KeyboardShortcutsOverlay.qml:125
169+msgid "Super (Hold)"
170+msgstr ""
171+
172+#: qml/Components/KeyboardShortcutsOverlay.qml:130
173+msgid "Opens the launcher, displays shortcuts."
174+msgstr ""
175+
176+#: qml/Components/KeyboardShortcutsOverlay.qml:138
177+msgid "Alt + F1"
178+msgstr ""
179+
180+#: qml/Components/KeyboardShortcutsOverlay.qml:143
181+msgid "Opens launcher keyboard navigation mode."
182+msgstr ""
183+
184+#: qml/Components/KeyboardShortcutsOverlay.qml:151
185+msgid "Super + Tab"
186+msgstr ""
187+
188+#: qml/Components/KeyboardShortcutsOverlay.qml:156
189+msgid "Switches applications via the launcher."
190+msgstr ""
191+
192+#: qml/Components/KeyboardShortcutsOverlay.qml:164
193+msgid "Super + 0 to 9"
194+msgstr ""
195+
196+#: qml/Components/KeyboardShortcutsOverlay.qml:169
197+msgid "Same as clicking on a launcher icon."
198+msgstr ""
199+
200+#: qml/Components/KeyboardShortcutsOverlay.qml:181
201+msgid "Scopes"
202+msgstr ""
203+
204+#: qml/Components/KeyboardShortcutsOverlay.qml:188
205+msgid "Super (Tap)"
206+msgstr ""
207+
208+#: qml/Components/KeyboardShortcutsOverlay.qml:193
209+msgid "Opens the Scopes home."
210+msgstr ""
211+
212+#: qml/Components/KeyboardShortcutsOverlay.qml:209
213+msgid "Switching"
214+msgstr ""
215+
216+#: qml/Components/KeyboardShortcutsOverlay.qml:216
217+msgid "Alt + Tab"
218+msgstr ""
219+
220+#: qml/Components/KeyboardShortcutsOverlay.qml:221
221+msgid "Switches between applications."
222+msgstr ""
223+
224+#: qml/Components/KeyboardShortcutsOverlay.qml:229
225+msgid "Super + W"
226+msgstr ""
227+
228+#: qml/Components/KeyboardShortcutsOverlay.qml:234
229+msgid "Opens the desktop spread."
230+msgstr ""
231+
232+#: qml/Components/KeyboardShortcutsOverlay.qml:242
233+msgid "Cursor Left or Right"
234+msgstr ""
235+
236+#: qml/Components/KeyboardShortcutsOverlay.qml:247
237+msgid "Moves the focus."
238+msgstr ""
239+
240+#: qml/Components/KeyboardShortcutsOverlay.qml:259
241+msgid "Windows"
242+msgstr ""
243+
244+#: qml/Components/KeyboardShortcutsOverlay.qml:266
245+msgid "Ctrl + Super + D"
246+msgstr ""
247+
248+#: qml/Components/KeyboardShortcutsOverlay.qml:271
249+msgid "Minimizes all windows."
250+msgstr ""
251+
252+#: qml/Components/KeyboardShortcutsOverlay.qml:279
253+msgid "Ctrl + Super + Up"
254+msgstr ""
255+
256+#: qml/Components/KeyboardShortcutsOverlay.qml:284
257+msgid "Maximizes the current window."
258+msgstr ""
259+
260+#: qml/Components/KeyboardShortcutsOverlay.qml:292
261+msgid "Ctrl + Super + Down"
262+msgstr ""
263+
264+#: qml/Components/KeyboardShortcutsOverlay.qml:297
265+msgid "Minimizes or restores the current window."
266+msgstr ""
267+
268+#: qml/Components/KeyboardShortcutsOverlay.qml:305
269+msgid "Ctrl + Super + Left or Right"
270+msgstr ""
271+
272+#: qml/Components/KeyboardShortcutsOverlay.qml:310
273+msgid "Semi-maximizes the current window."
274+msgstr ""
275+
276+#: qml/Components/KeyboardShortcutsOverlay.qml:318
277+msgid "Alt + F4"
278+msgstr ""
279+
280+#: qml/Components/KeyboardShortcutsOverlay.qml:323
281+msgid "Closes the current window."
282+msgstr ""
283+
124#: qml/Components/Lockscreen.qml:231
284#: qml/Components/Lockscreen.qml:231
125msgid "Return to Call"
285msgid "Return to Call"
126msgstr "Povratak na Poziv"
286msgstr "Povratak na Poziv"
@@ -161,26 +321,26 @@ msgstr "Ponovo poveži sada"
161msgid "Close all"
321msgid "Close all"
162msgstr "Zatvori sve"
322msgstr "Zatvori sve"
163
323
164−#: qml/Dash/DashPageHeader.qml:337
324+#: qml/Dash/DashPageHeader.qml:333
165msgctxt "Button: Open the Ubuntu Store"
325msgctxt "Button: Open the Ubuntu Store"
166msgid "Store"
326msgid "Store"
167msgstr "Trgovina"
327msgstr "Trgovina"
168
328
169−#: qml/Dash/DashPageHeader.qml:344
329+#: qml/Dash/DashPageHeader.qml:340
170msgctxt "Button: Start a search in the current dash scope"
330msgctxt "Button: Start a search in the current dash scope"
171msgid "Search"
331msgid "Search"
172msgstr "Pretraživanje"
332msgstr "Pretraživanje"
173
333
174−#: qml/Dash/DashPageHeader.qml:354
334+#: qml/Dash/DashPageHeader.qml:350
175msgctxt "Button: Show the current dash scope settings"
335msgctxt "Button: Show the current dash scope settings"
176msgid "Settings"
336msgid "Settings"
177msgstr "Podešavanja"
337msgstr "Podešavanja"
178
338
179−#: qml/Dash/DashPageHeader.qml:361
339+#: qml/Dash/DashPageHeader.qml:357
180msgid "Remove from Favorites"
340msgid "Remove from Favorites"
181msgstr "Ukloni iz Omiljenih"
341msgstr "Ukloni iz Omiljenih"
182
342
183−#: qml/Dash/DashPageHeader.qml:361
343+#: qml/Dash/DashPageHeader.qml:357
184msgid "Add to Favorites"
344msgid "Add to Favorites"
185msgstr "Dodaj u Omiljene"
345msgstr "Dodaj u Omiljene"
186
346
@@ -192,24 +352,24 @@ msgstr ""
192msgid "Reset"
352msgid "Reset"
193msgstr ""
353msgstr ""
194
354
195−#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
355+#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
196msgid "Show less"
356msgid "Show less"
197msgstr ""
357msgstr ""
198
358
199−#: qml/Dash/GenericScopeView.qml:579
359+#: qml/Dash/GenericScopeView.qml:580
200msgid "Show all"
360msgid "Show all"
201msgstr ""
361msgstr ""
202
362
203−#: qml/Dash/GenericScopeView.qml:636
363+#: qml/Dash/GenericScopeView.qml:637
204msgctxt "Label: Hint for dash search line edit"
364msgctxt "Label: Hint for dash search line edit"
205msgid "Search"
365msgid "Search"
206msgstr "Pretraži"
366msgstr "Pretraži"
207
367
208−#: qml/Dash/PageHeaderExtraPanel.qml:55
368+#: qml/Dash/PageHeaderExtraPanel.qml:56
209msgid "Recent Searches"
369msgid "Recent Searches"
210msgstr ""
370msgstr ""
211
371
212−#: qml/Dash/PageHeaderExtraPanel.qml:66
372+#: qml/Dash/PageHeaderExtraPanel.qml:67
213msgid "Clear All"
373msgid "Clear All"
214msgstr ""
374msgstr ""
215
375
@@ -222,15 +382,15 @@ msgid "Less..."
222msgstr "Manje..."
382msgstr "Manje..."
223
383
224#: qml/Dash/Previews/PreviewCommentInput.qml:68
384#: qml/Dash/Previews/PreviewCommentInput.qml:68
225−#: qml/Dash/Previews/PreviewRatingInput.qml:174
385+#: qml/Dash/Previews/PreviewRatingInput.qml:175
226msgid "Send"
386msgid "Send"
227msgstr "Pošalji"
387msgstr "Pošalji"
228
388
229−#: qml/Dash/Previews/PreviewRatingInput.qml:84
389+#: qml/Dash/Previews/PreviewRatingInput.qml:82
230msgid "Rate this"
390msgid "Rate this"
231msgstr "Ocijeni ovo"
391msgstr "Ocijeni ovo"
232
392
233−#: qml/Dash/Previews/PreviewRatingInput.qml:129
393+#: qml/Dash/Previews/PreviewRatingInput.qml:157
234msgid "Add a review"
394msgid "Add a review"
235msgstr "Dodaj recenziju"
395msgstr "Dodaj recenziju"
236
396
@@ -250,15 +410,15 @@ msgstr "Pustiti za osvježavanje..."
250msgid "Enable location data"
410msgid "Enable location data"
251msgstr "Omogućiti podatke o lokaciji"
411msgstr "Omogućiti podatke o lokaciji"
252
412
253−#: qml/Dash/ScopesList.qml:67
413+#: qml/Dash/ScopesList.qml:55
254msgid "Manage"
414msgid "Manage"
255msgstr "Upravljanje"
415msgstr "Upravljanje"
256
416
257−#: qml/Dash/ScopesList.qml:113
417+#: qml/Dash/ScopesList.qml:101
258msgid "Home"
418msgid "Home"
259msgstr "Početna"
419msgstr "Početna"
260
420
261−#: qml/Dash/ScopesList.qml:114
421+#: qml/Dash/ScopesList.qml:102
262msgid "Also installed"
422msgid "Also installed"
263msgstr "Također instalirano"
423msgstr "Također instalirano"
264
424
@@ -268,17 +428,17 @@ msgid ""
268"touch pad to interact with the pointer."
428"touch pad to interact with the pointer."
269msgstr ""
429msgstr ""
270
430
271−#: qml/Greeter/CoverPage.qml:118
431+#: qml/Greeter/CoverPage.qml:119
272msgid "Unlock"
432msgid "Unlock"
273msgstr "Otključaj"
433msgstr "Otključaj"
274
434
275−#: qml/Greeter/LoginList.qml:239
435+#: qml/Greeter/LoginList.qml:259
276msgid "Retry"
436msgid "Retry"
277msgstr "Ponovi"
437msgstr "Ponovi"
278
438
279−#: qml/Greeter/LoginList.qml:240
439+#: qml/Greeter/LoginList.qml:260
280−msgid "Tap to unlock"
440+msgid "Log In"
281−msgstr "Kucnite za otključavanje"
441+msgstr ""
282
442
283#: qml/Greeter/NarrowView.qml:54
443#: qml/Greeter/NarrowView.qml:54
284msgid "Sorry, incorrect passphrase."
444msgid "Sorry, incorrect passphrase."
@@ -413,18 +573,18 @@ msgstr "Završeno"
413msgid "Failed, tap to retry"
573msgid "Failed, tap to retry"
414msgstr "Neuspjelo, kucnuti za ponavljanje"
574msgstr "Neuspjelo, kucnuti za ponavljanje"
415
575
416−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:155
576+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:151
417−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
577+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:210
418msgctxt "Button: Send a reply message"
578msgctxt "Button: Send a reply message"
419msgid "Send"
579msgid "Send"
420msgstr "Pošalji"
580msgstr "Pošalji"
421
581
422−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
582+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:152
423msgctxt "Label: Hint in message indicator line edit"
583msgctxt "Label: Hint in message indicator line edit"
424msgid "Reply"
584msgid "Reply"
425msgstr "Odgovorite"
585msgstr "Odgovorite"
426
586
427−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
587+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:209
428msgctxt "Button: Call back on phone"
588msgctxt "Button: Call back on phone"
429msgid "Call back"
589msgid "Call back"
430msgstr "Uzvrati poziv"
590msgstr "Uzvrati poziv"
@@ -433,32 +593,12 @@ msgstr "Uzvrati poziv"
433msgid "Drag using 3 fingers any application from one window to the other"
593msgid "Drag using 3 fingers any application from one window to the other"
434msgstr ""
594msgstr ""
435
595
436−#: qml/Tutorial/TutorialBottom.qml:78
437−msgid "Swipe up to add a contact"
438−msgstr ""
439−
440−#: qml/Tutorial/TutorialBottom.qml:80
441−msgid "Swipe up for favorite calculations"
442−msgstr ""
443−
444−#: qml/Tutorial/TutorialBottom.qml:82
445−msgid "Swipe up for recent calls"
446−msgstr ""
447−
448−#: qml/Tutorial/TutorialBottom.qml:84
449−msgid "Swipe up to create a message"
450−msgstr ""
451−
452−#: qml/Tutorial/TutorialBottom.qml:85
453−msgid "Swipe up to manage the app"
454−msgstr ""
455−
456−#: qml/Tutorial/TutorialLeftLong.qml:47
596+#: qml/Tutorial/TutorialLeftLong.qml:49
457msgid "Long swipe from the left edge to open the Today scope"
597msgid "Long swipe from the left edge to open the Today scope"
458msgstr ""
598msgstr ""
459
599
460#: qml/Tutorial/TutorialLeft.qml:47
600#: qml/Tutorial/TutorialLeft.qml:47
461−msgid "Swipe from the left edge to open the launcher"
601+msgid "Short swipe from the left edge to open the launcher"
462msgstr ""
602msgstr ""
463
603
464#: qml/Tutorial/TutorialRight.qml:55
604#: qml/Tutorial/TutorialRight.qml:55
@@ -466,15 +606,11 @@ msgid "Push your mouse against the right edge to view your open apps"
466msgstr ""
606msgstr ""
467
607
468#: qml/Tutorial/TutorialRight.qml:56
608#: qml/Tutorial/TutorialRight.qml:56
469−msgid "Short or long swipe from the right edge to view your open apps"
609+msgid "Swipe from the right edge to view your open apps"
470msgstr ""
610msgstr ""
471
611
472#: qml/Tutorial/TutorialTop.qml:53
612#: qml/Tutorial/TutorialTop.qml:53
473−msgid "Swipe from the top right edge to open the notification bar"
613+msgid "Swipe from the top edge to access notifications and quick settings"
474−msgstr ""
475−
476−#: qml/Tutorial/TutorialTop.qml:54
477−msgid "Swipe from the top edge to open the notification bar"
478msgstr ""
614msgstr ""
479
615
480#: qml/Wizard/Page.qml:54
616#: qml/Wizard/Page.qml:54
@@ -486,8 +622,8 @@ msgstr "Nazad"
486msgid "Language"
622msgid "Language"
487msgstr ""
623msgstr ""
488
624
489−#: qml/Wizard/Pages/10-welcome.qml:156 qml/Wizard/Pages/30-wifi.qml:206
625+#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
490−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:267
626+#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
491#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
627#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
492#: qml/Wizard/Pages/75-report-check.qml:84
628#: qml/Wizard/Pages/75-report-check.qml:84
493#: qml/Wizard/Pages/passcode-desktop.qml:124
629#: qml/Wizard/Pages/passcode-desktop.qml:124
@@ -552,7 +688,7 @@ msgstr ""
552msgid "Time Zone"
688msgid "Time Zone"
553msgstr ""
689msgstr ""
554
690
555−#: qml/Wizard/Pages/50-timezone.qml:178
691+#: qml/Wizard/Pages/50-timezone.qml:181
556msgid "Enter your city"
692msgid "Enter your city"
557msgstr ""
693msgstr ""
558
694
@@ -773,6 +909,9 @@ msgstr ""
773#~ msgid "See less"
909#~ msgid "See less"
774#~ msgstr "Pogledati manje"
910#~ msgstr "Pogledati manje"
775
911
912+#~ msgid "Tap to unlock"
913+#~ msgstr "Kucnite za otključavanje"
914+
776#~ msgid "Please re-enter"
915#~ msgid "Please re-enter"
777#~ msgstr "Molimo ponovo unesite"
916#~ msgstr "Molimo ponovo unesite"
778
917
po/ca.po+216−77
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-05-20 08:44+0000\n"
10+"POT-Creation-Date: 2016-06-17 01:22+0000\n"
11"PO-Revision-Date: 2015-07-04 09:48+0000\n"
11"PO-Revision-Date: 2015-07-04 09:48+0000\n"
12"Last-Translator: David Planella <david.planella@ubuntu.com>\n"
12"Last-Translator: David Planella <david.planella@ubuntu.com>\n"
13"Language-Team: Catalan <ca@li.org>\n"
13"Language-Team: Catalan <ca@li.org>\n"
@@ -15,23 +15,23 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
18+"X-Launchpad-Export-Date: 2016-06-19 05:54+0000\n"
19−"X-Generator: Launchpad (build 18053)\n"
19+"X-Generator: Launchpad (build 18097)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
23msgstr "Contrasenya: "
23msgstr "Contrasenya: "
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:48
25+#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:107
26+#: plugins/Unity/Launcher/launcheritem.cpp:108
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28msgstr "Enganxa la drecera"
28msgstr "Enganxa la drecera"
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:53
30+#: plugins/Unity/Launcher/launcheritem.cpp:54
31msgid "Quit"
31msgid "Quit"
32msgstr "Surt"
32msgstr "Surt"
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:107
34+#: plugins/Unity/Launcher/launcheritem.cpp:108
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36msgstr "Desenganxa la drecera"
36msgstr "Desenganxa la drecera"
37
37
@@ -58,54 +58,54 @@ msgid_plural "Please wait %1 minutes and then try again…"
58msgstr[0] "Espereu %1 minut i torneu-ho a intentar..."
58msgstr[0] "Espereu %1 minut i torneu-ho a intentar..."
59msgstr[1] "Espereu %1 minuts i torneu-ho a intentar..."
59msgstr[1] "Espereu %1 minuts i torneu-ho a intentar..."
60
60
61−#: qml/Components/Dialogs.qml:144
61+#: qml/Components/Dialogs.qml:146
62msgctxt "Title: Lock/Log out dialog"
62msgctxt "Title: Lock/Log out dialog"
63msgid "Log out"
63msgid "Log out"
64msgstr "Surt"
64msgstr "Surt"
65
65
66−#: qml/Components/Dialogs.qml:145
66+#: qml/Components/Dialogs.qml:147
67msgid "Are you sure you want to log out?"
67msgid "Are you sure you want to log out?"
68msgstr "Segur que voleu sortir?"
68msgstr "Segur que voleu sortir?"
69
69
70−#: qml/Components/Dialogs.qml:147
70+#: qml/Components/Dialogs.qml:149
71msgctxt "Button: Lock the system"
71msgctxt "Button: Lock the system"
72msgid "Lock"
72msgid "Lock"
73msgstr "Bloca"
73msgstr "Bloca"
74
74
75−#: qml/Components/Dialogs.qml:154
75+#: qml/Components/Dialogs.qml:156
76msgctxt "Button: Log out from the system"
76msgctxt "Button: Log out from the system"
77msgid "Log Out"
77msgid "Log Out"
78msgstr "Surt"
78msgstr "Surt"
79
79
80−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
80+#: qml/Components/Dialogs.qml:163 qml/Components/Dialogs.qml:219
81−#: qml/Dash/DashPageHeader.qml:298 qml/Wizard/Pages/passcode-confirm.qml:32
81+#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
82#: qml/Wizard/Pages/passcode-set.qml:32
82#: qml/Wizard/Pages/passcode-set.qml:32
83msgid "Cancel"
83msgid "Cancel"
84msgstr "Cancel·la"
84msgstr "Cancel·la"
85
85
86−#: qml/Components/Dialogs.qml:173
86+#: qml/Components/Dialogs.qml:175
87msgctxt "Title: Reboot dialog"
87msgctxt "Title: Reboot dialog"
88msgid "Reboot"
88msgid "Reboot"
89msgstr "Reinicia"
89msgstr "Reinicia"
90
90
91−#: qml/Components/Dialogs.qml:174
91+#: qml/Components/Dialogs.qml:176
92msgid "Are you sure you want to reboot?"
92msgid "Are you sure you want to reboot?"
93msgstr "Segur que voleu reiniciar?"
93msgstr "Segur que voleu reiniciar?"
94
94
95−#: qml/Components/Dialogs.qml:176
95+#: qml/Components/Dialogs.qml:178
96msgid "No"
96msgid "No"
97msgstr "No"
97msgstr "No"
98
98
99−#: qml/Components/Dialogs.qml:182
99+#: qml/Components/Dialogs.qml:184
100msgid "Yes"
100msgid "Yes"
101msgstr "Sí"
101msgstr "Sí"
102
102
103−#: qml/Components/Dialogs.qml:197
103+#: qml/Components/Dialogs.qml:199
104msgctxt "Title: Power off/Restart dialog"
104msgctxt "Title: Power off/Restart dialog"
105msgid "Power"
105msgid "Power"
106msgstr "Energia"
106msgstr "Energia"
107
107
108−#: qml/Components/Dialogs.qml:198
108+#: qml/Components/Dialogs.qml:200
109msgid ""
109msgid ""
110"Are you sure you would like\n"
110"Are you sure you would like\n"
111"to power off?"
111"to power off?"
@@ -113,16 +113,176 @@ msgstr ""
113"Segur que voleu\n"
113"Segur que voleu\n"
114"apagar?"
114"apagar?"
115
115
116−#: qml/Components/Dialogs.qml:200
116+#: qml/Components/Dialogs.qml:202
117msgctxt "Button: Power off the system"
117msgctxt "Button: Power off the system"
118msgid "Power off"
118msgid "Power off"
119msgstr "Apaga"
119msgstr "Apaga"
120
120
121−#: qml/Components/Dialogs.qml:209
121+#: qml/Components/Dialogs.qml:211
122msgctxt "Button: Restart the system"
122msgctxt "Button: Restart the system"
123msgid "Restart"
123msgid "Restart"
124msgstr "Reinicia"
124msgstr "Reinicia"
125
125
126+#: qml/Components/KeyboardShortcutsOverlay.qml:41
127+msgid "Keyboard Shortcuts"
128+msgstr ""
129+
130+#: qml/Components/KeyboardShortcutsOverlay.qml:55
131+msgid "Unity 8"
132+msgstr ""
133+
134+#: qml/Components/KeyboardShortcutsOverlay.qml:62
135+msgid "PrtScr"
136+msgstr ""
137+
138+#: qml/Components/KeyboardShortcutsOverlay.qml:67
139+msgid "Takes a screenshot."
140+msgstr ""
141+
142+#: qml/Components/KeyboardShortcutsOverlay.qml:75
143+msgid "Alt + PrtScr"
144+msgstr ""
145+
146+#: qml/Components/KeyboardShortcutsOverlay.qml:80
147+msgid "Takes a screenshot of a window."
148+msgstr ""
149+
150+#: qml/Components/KeyboardShortcutsOverlay.qml:88
151+msgid "Super + Space"
152+msgstr ""
153+
154+#: qml/Components/KeyboardShortcutsOverlay.qml:93
155+msgid "Switches to next keyboard layout."
156+msgstr ""
157+
158+#: qml/Components/KeyboardShortcutsOverlay.qml:101
159+msgid "Super + Shift + Space"
160+msgstr ""
161+
162+#: qml/Components/KeyboardShortcutsOverlay.qml:106
163+msgid "Switches to previous keyboard layout."
164+msgstr ""
165+
166+#: qml/Components/KeyboardShortcutsOverlay.qml:118
167+msgid "Launcher"
168+msgstr ""
169+
170+#: qml/Components/KeyboardShortcutsOverlay.qml:125
171+msgid "Super (Hold)"
172+msgstr ""
173+
174+#: qml/Components/KeyboardShortcutsOverlay.qml:130
175+msgid "Opens the launcher, displays shortcuts."
176+msgstr ""
177+
178+#: qml/Components/KeyboardShortcutsOverlay.qml:138
179+msgid "Alt + F1"
180+msgstr ""
181+
182+#: qml/Components/KeyboardShortcutsOverlay.qml:143
183+msgid "Opens launcher keyboard navigation mode."
184+msgstr ""
185+
186+#: qml/Components/KeyboardShortcutsOverlay.qml:151
187+msgid "Super + Tab"
188+msgstr ""
189+
190+#: qml/Components/KeyboardShortcutsOverlay.qml:156
191+msgid "Switches applications via the launcher."
192+msgstr ""
193+
194+#: qml/Components/KeyboardShortcutsOverlay.qml:164
195+msgid "Super + 0 to 9"
196+msgstr ""
197+
198+#: qml/Components/KeyboardShortcutsOverlay.qml:169
199+msgid "Same as clicking on a launcher icon."
200+msgstr ""
201+
202+#: qml/Components/KeyboardShortcutsOverlay.qml:181
203+msgid "Scopes"
204+msgstr ""
205+
206+#: qml/Components/KeyboardShortcutsOverlay.qml:188
207+msgid "Super (Tap)"
208+msgstr ""
209+
210+#: qml/Components/KeyboardShortcutsOverlay.qml:193
211+msgid "Opens the Scopes home."
212+msgstr ""
213+
214+#: qml/Components/KeyboardShortcutsOverlay.qml:209
215+msgid "Switching"
216+msgstr ""
217+
218+#: qml/Components/KeyboardShortcutsOverlay.qml:216
219+msgid "Alt + Tab"
220+msgstr ""
221+
222+#: qml/Components/KeyboardShortcutsOverlay.qml:221
223+msgid "Switches between applications."
224+msgstr ""
225+
226+#: qml/Components/KeyboardShortcutsOverlay.qml:229
227+msgid "Super + W"
228+msgstr ""
229+
230+#: qml/Components/KeyboardShortcutsOverlay.qml:234
231+msgid "Opens the desktop spread."
232+msgstr ""
233+
234+#: qml/Components/KeyboardShortcutsOverlay.qml:242
235+msgid "Cursor Left or Right"
236+msgstr ""
237+
238+#: qml/Components/KeyboardShortcutsOverlay.qml:247
239+msgid "Moves the focus."
240+msgstr ""
241+
242+#: qml/Components/KeyboardShortcutsOverlay.qml:259
243+msgid "Windows"
244+msgstr ""
245+
246+#: qml/Components/KeyboardShortcutsOverlay.qml:266
247+msgid "Ctrl + Super + D"
248+msgstr ""
249+
250+#: qml/Components/KeyboardShortcutsOverlay.qml:271
251+msgid "Minimizes all windows."
252+msgstr ""
253+
254+#: qml/Components/KeyboardShortcutsOverlay.qml:279
255+msgid "Ctrl + Super + Up"
256+msgstr ""
257+
258+#: qml/Components/KeyboardShortcutsOverlay.qml:284
259+msgid "Maximizes the current window."
260+msgstr ""
261+
262+#: qml/Components/KeyboardShortcutsOverlay.qml:292
263+msgid "Ctrl + Super + Down"
264+msgstr ""
265+
266+#: qml/Components/KeyboardShortcutsOverlay.qml:297
267+msgid "Minimizes or restores the current window."
268+msgstr ""
269+
270+#: qml/Components/KeyboardShortcutsOverlay.qml:305
271+msgid "Ctrl + Super + Left or Right"
272+msgstr ""
273+
274+#: qml/Components/KeyboardShortcutsOverlay.qml:310
275+msgid "Semi-maximizes the current window."
276+msgstr ""
277+
278+#: qml/Components/KeyboardShortcutsOverlay.qml:318
279+msgid "Alt + F4"
280+msgstr ""
281+
282+#: qml/Components/KeyboardShortcutsOverlay.qml:323
283+msgid "Closes the current window."
284+msgstr ""
285+
126#: qml/Components/Lockscreen.qml:231
286#: qml/Components/Lockscreen.qml:231
127msgid "Return to Call"
287msgid "Return to Call"
128msgstr "Torna a la trucada"
288msgstr "Torna a la trucada"
@@ -161,26 +321,26 @@ msgstr "Torna a connectar"
161msgid "Close all"
321msgid "Close all"
162msgstr "Tanca-ho tot"
322msgstr "Tanca-ho tot"
163
323
164−#: qml/Dash/DashPageHeader.qml:337
324+#: qml/Dash/DashPageHeader.qml:333
165msgctxt "Button: Open the Ubuntu Store"
325msgctxt "Button: Open the Ubuntu Store"
166msgid "Store"
326msgid "Store"
167msgstr "Botiga"
327msgstr "Botiga"
168
328
169−#: qml/Dash/DashPageHeader.qml:344
329+#: qml/Dash/DashPageHeader.qml:340
170msgctxt "Button: Start a search in the current dash scope"
330msgctxt "Button: Start a search in the current dash scope"
171msgid "Search"
331msgid "Search"
172msgstr "Cerca"
332msgstr "Cerca"
173
333
174−#: qml/Dash/DashPageHeader.qml:354
334+#: qml/Dash/DashPageHeader.qml:350
175msgctxt "Button: Show the current dash scope settings"
335msgctxt "Button: Show the current dash scope settings"
176msgid "Settings"
336msgid "Settings"
177msgstr "Paràmetres"
337msgstr "Paràmetres"
178
338
179−#: qml/Dash/DashPageHeader.qml:361
339+#: qml/Dash/DashPageHeader.qml:357
180msgid "Remove from Favorites"
340msgid "Remove from Favorites"
181msgstr "Suprimeix dels preferits"
341msgstr "Suprimeix dels preferits"
182
342
183−#: qml/Dash/DashPageHeader.qml:361
343+#: qml/Dash/DashPageHeader.qml:357
184msgid "Add to Favorites"
344msgid "Add to Favorites"
185msgstr "Afegeix als preferits"
345msgstr "Afegeix als preferits"
186
346
@@ -192,24 +352,24 @@ msgstr ""
192msgid "Reset"
352msgid "Reset"
193msgstr ""
353msgstr ""
194
354
195−#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
355+#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
196msgid "Show less"
356msgid "Show less"
197msgstr ""
357msgstr ""
198
358
199−#: qml/Dash/GenericScopeView.qml:579
359+#: qml/Dash/GenericScopeView.qml:580
200msgid "Show all"
360msgid "Show all"
201msgstr ""
361msgstr ""
202
362
203−#: qml/Dash/GenericScopeView.qml:636
363+#: qml/Dash/GenericScopeView.qml:637
204msgctxt "Label: Hint for dash search line edit"
364msgctxt "Label: Hint for dash search line edit"
205msgid "Search"
365msgid "Search"
206msgstr "Cerca"
366msgstr "Cerca"
207
367
208−#: qml/Dash/PageHeaderExtraPanel.qml:55
368+#: qml/Dash/PageHeaderExtraPanel.qml:56
209msgid "Recent Searches"
369msgid "Recent Searches"
210msgstr "Cerques recents"
370msgstr "Cerques recents"
211
371
212−#: qml/Dash/PageHeaderExtraPanel.qml:66
372+#: qml/Dash/PageHeaderExtraPanel.qml:67
213msgid "Clear All"
373msgid "Clear All"
214msgstr "Neteja-ho tot"
374msgstr "Neteja-ho tot"
215
375
@@ -222,15 +382,15 @@ msgid "Less..."
222msgstr "Menys..."
382msgstr "Menys..."
223
383
224#: qml/Dash/Previews/PreviewCommentInput.qml:68
384#: qml/Dash/Previews/PreviewCommentInput.qml:68
225−#: qml/Dash/Previews/PreviewRatingInput.qml:174
385+#: qml/Dash/Previews/PreviewRatingInput.qml:175
226msgid "Send"
386msgid "Send"
227msgstr "Envia"
387msgstr "Envia"
228
388
229−#: qml/Dash/Previews/PreviewRatingInput.qml:84
389+#: qml/Dash/Previews/PreviewRatingInput.qml:82
230msgid "Rate this"
390msgid "Rate this"
231msgstr "Puntueu-ho"
391msgstr "Puntueu-ho"
232
392
233−#: qml/Dash/Previews/PreviewRatingInput.qml:129
393+#: qml/Dash/Previews/PreviewRatingInput.qml:157
234msgid "Add a review"
394msgid "Add a review"
235msgstr "Afegiu una ressenya"
395msgstr "Afegiu una ressenya"
236
396
@@ -250,15 +410,15 @@ msgstr "Deixeu anar per actualitzar..."
250msgid "Enable location data"
410msgid "Enable location data"
251msgstr "Habilita les dades d'ubicació"
411msgstr "Habilita les dades d'ubicació"
252
412
253−#: qml/Dash/ScopesList.qml:67
413+#: qml/Dash/ScopesList.qml:55
254msgid "Manage"
414msgid "Manage"
255msgstr "Gestiona"
415msgstr "Gestiona"
256
416
257−#: qml/Dash/ScopesList.qml:113
417+#: qml/Dash/ScopesList.qml:101
258msgid "Home"
418msgid "Home"
259msgstr "Inici"
419msgstr "Inici"
260
420
261−#: qml/Dash/ScopesList.qml:114
421+#: qml/Dash/ScopesList.qml:102
262msgid "Also installed"
422msgid "Also installed"
263msgstr "També instal·lat"
423msgstr "També instal·lat"
264
424
@@ -268,17 +428,17 @@ msgid ""
268"touch pad to interact with the pointer."
428"touch pad to interact with the pointer."
269msgstr ""
429msgstr ""
270
430
271−#: qml/Greeter/CoverPage.qml:118
431+#: qml/Greeter/CoverPage.qml:119
272msgid "Unlock"
432msgid "Unlock"
273msgstr "Desbloca"
433msgstr "Desbloca"
274
434
275−#: qml/Greeter/LoginList.qml:239
435+#: qml/Greeter/LoginList.qml:259
276msgid "Retry"
436msgid "Retry"
277msgstr "Torna-ho a provar"
437msgstr "Torna-ho a provar"
278
438
279−#: qml/Greeter/LoginList.qml:240
439+#: qml/Greeter/LoginList.qml:260
280−msgid "Tap to unlock"
440+msgid "Log In"
281−msgstr "Feu un toc per desblocar"
441+msgstr ""
282
442
283#: qml/Greeter/NarrowView.qml:54
443#: qml/Greeter/NarrowView.qml:54
284msgid "Sorry, incorrect passphrase."
444msgid "Sorry, incorrect passphrase."
@@ -412,18 +572,18 @@ msgstr "S'ha finalitzat"
412msgid "Failed, tap to retry"
572msgid "Failed, tap to retry"
413msgstr "Ha fallat, feu un toc per tornar-ho a intentar"
573msgstr "Ha fallat, feu un toc per tornar-ho a intentar"
414
574
415−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:155
575+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:151
416−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
576+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:210
417msgctxt "Button: Send a reply message"
577msgctxt "Button: Send a reply message"
418msgid "Send"
578msgid "Send"
419msgstr "Envia"
579msgstr "Envia"
420
580
421−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
581+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:152
422msgctxt "Label: Hint in message indicator line edit"
582msgctxt "Label: Hint in message indicator line edit"
423msgid "Reply"
583msgid "Reply"
424msgstr "Respon"
584msgstr "Respon"
425
585
426−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
586+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:209
427msgctxt "Button: Call back on phone"
587msgctxt "Button: Call back on phone"
428msgid "Call back"
588msgid "Call back"
429msgstr "Retorna la trucada"
589msgstr "Retorna la trucada"
@@ -432,32 +592,12 @@ msgstr "Retorna la trucada"
432msgid "Drag using 3 fingers any application from one window to the other"
592msgid "Drag using 3 fingers any application from one window to the other"
433msgstr ""
593msgstr ""
434
594
435−#: qml/Tutorial/TutorialBottom.qml:78
436−msgid "Swipe up to add a contact"
437−msgstr ""
438−
439−#: qml/Tutorial/TutorialBottom.qml:80
440−msgid "Swipe up for favorite calculations"
441−msgstr ""
442−
443−#: qml/Tutorial/TutorialBottom.qml:82
444−msgid "Swipe up for recent calls"
445−msgstr ""
446−
447−#: qml/Tutorial/TutorialBottom.qml:84
448−msgid "Swipe up to create a message"
449−msgstr ""
450−
451−#: qml/Tutorial/TutorialBottom.qml:85
452−msgid "Swipe up to manage the app"
453−msgstr ""
454−
455−#: qml/Tutorial/TutorialLeftLong.qml:47
595+#: qml/Tutorial/TutorialLeftLong.qml:49
456msgid "Long swipe from the left edge to open the Today scope"
596msgid "Long swipe from the left edge to open the Today scope"
457msgstr ""
597msgstr ""
458
598
459#: qml/Tutorial/TutorialLeft.qml:47
599#: qml/Tutorial/TutorialLeft.qml:47
460−msgid "Swipe from the left edge to open the launcher"
600+msgid "Short swipe from the left edge to open the launcher"
461msgstr ""
601msgstr ""
462
602
463#: qml/Tutorial/TutorialRight.qml:55
603#: qml/Tutorial/TutorialRight.qml:55
@@ -465,15 +605,11 @@ msgid "Push your mouse against the right edge to view your open apps"
465msgstr ""
605msgstr ""
466
606
467#: qml/Tutorial/TutorialRight.qml:56
607#: qml/Tutorial/TutorialRight.qml:56
468−msgid "Short or long swipe from the right edge to view your open apps"
608+msgid "Swipe from the right edge to view your open apps"
469msgstr ""
609msgstr ""
470
610
471#: qml/Tutorial/TutorialTop.qml:53
611#: qml/Tutorial/TutorialTop.qml:53
472−msgid "Swipe from the top right edge to open the notification bar"
612+msgid "Swipe from the top edge to access notifications and quick settings"
473−msgstr ""
474−
475−#: qml/Tutorial/TutorialTop.qml:54
476−msgid "Swipe from the top edge to open the notification bar"
477msgstr ""
613msgstr ""
478
614
479#: qml/Wizard/Page.qml:54
615#: qml/Wizard/Page.qml:54
@@ -485,8 +621,8 @@ msgstr "Enrere"
485msgid "Language"
621msgid "Language"
486msgstr ""
622msgstr ""
487
623
488−#: qml/Wizard/Pages/10-welcome.qml:156 qml/Wizard/Pages/30-wifi.qml:206
624+#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
489−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:267
625+#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
490#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
626#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
491#: qml/Wizard/Pages/75-report-check.qml:84
627#: qml/Wizard/Pages/75-report-check.qml:84
492#: qml/Wizard/Pages/passcode-desktop.qml:124
628#: qml/Wizard/Pages/passcode-desktop.qml:124
@@ -551,7 +687,7 @@ msgstr ""
551msgid "Time Zone"
687msgid "Time Zone"
552msgstr ""
688msgstr ""
553
689
554−#: qml/Wizard/Pages/50-timezone.qml:178
690+#: qml/Wizard/Pages/50-timezone.qml:181
555msgid "Enter your city"
691msgid "Enter your city"
556msgstr ""
692msgstr ""
557
693
@@ -978,6 +1114,9 @@ msgstr ""
978#~ msgid "Open special menus"
1114#~ msgid "Open special menus"
979#~ msgstr "Obre els menús especials"
1115#~ msgstr "Obre els menús especials"
980
1116
1117+#~ msgid "Tap to unlock"
1118+#~ msgstr "Feu un toc per desblocar"
1119+
981#~ msgid "To view open apps"
1120#~ msgid "To view open apps"
982#~ msgstr "Per veure les aplicacions obertes"
1121#~ msgstr "Per veure les aplicacions obertes"
983
1122
po/ca@valencia.po+212−76
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-05-20 08:44+0000\n"
10+"POT-Creation-Date: 2016-06-17 01:22+0000\n"
11"PO-Revision-Date: 2015-02-22 15:22+0000\n"
11"PO-Revision-Date: 2015-02-22 15:22+0000\n"
12"Last-Translator: David Planella <david.planella@ubuntu.com>\n"
12"Last-Translator: David Planella <david.planella@ubuntu.com>\n"
13"Language-Team: Catalan <ca@li.org>\n"
13"Language-Team: Catalan <ca@li.org>\n"
@@ -15,23 +15,23 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
18+"X-Launchpad-Export-Date: 2016-06-19 05:55+0000\n"
19−"X-Generator: Launchpad (build 18053)\n"
19+"X-Generator: Launchpad (build 18097)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
23msgstr "Contrasenya: "
23msgstr "Contrasenya: "
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:48
25+#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:107
26+#: plugins/Unity/Launcher/launcheritem.cpp:108
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28msgstr "Apega la drecera"
28msgstr "Apega la drecera"
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:53
30+#: plugins/Unity/Launcher/launcheritem.cpp:54
31msgid "Quit"
31msgid "Quit"
32msgstr ""
32msgstr ""
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:107
34+#: plugins/Unity/Launcher/launcheritem.cpp:108
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36msgstr "Desenganxa la drecera"
36msgstr "Desenganxa la drecera"
37
37
@@ -58,54 +58,54 @@ msgid_plural "Please wait %1 minutes and then try again…"
58msgstr[0] "Espereu %1 minut i torneu-ho a intentar..."
58msgstr[0] "Espereu %1 minut i torneu-ho a intentar..."
59msgstr[1] "Espereu %1 minuts i torneu-ho a intentar..."
59msgstr[1] "Espereu %1 minuts i torneu-ho a intentar..."
60
60
61−#: qml/Components/Dialogs.qml:144
61+#: qml/Components/Dialogs.qml:146
62msgctxt "Title: Lock/Log out dialog"
62msgctxt "Title: Lock/Log out dialog"
63msgid "Log out"
63msgid "Log out"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:145
66+#: qml/Components/Dialogs.qml:147
67msgid "Are you sure you want to log out?"
67msgid "Are you sure you want to log out?"
68msgstr "Segur que voleu eixir?"
68msgstr "Segur que voleu eixir?"
69
69
70−#: qml/Components/Dialogs.qml:147
70+#: qml/Components/Dialogs.qml:149
71msgctxt "Button: Lock the system"
71msgctxt "Button: Lock the system"
72msgid "Lock"
72msgid "Lock"
73msgstr ""
73msgstr ""
74
74
75−#: qml/Components/Dialogs.qml:154
75+#: qml/Components/Dialogs.qml:156
76msgctxt "Button: Log out from the system"
76msgctxt "Button: Log out from the system"
77msgid "Log Out"
77msgid "Log Out"
78msgstr ""
78msgstr ""
79
79
80−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
80+#: qml/Components/Dialogs.qml:163 qml/Components/Dialogs.qml:219
81−#: qml/Dash/DashPageHeader.qml:298 qml/Wizard/Pages/passcode-confirm.qml:32
81+#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
82#: qml/Wizard/Pages/passcode-set.qml:32
82#: qml/Wizard/Pages/passcode-set.qml:32
83msgid "Cancel"
83msgid "Cancel"
84msgstr "Cancel·la"
84msgstr "Cancel·la"
85
85
86−#: qml/Components/Dialogs.qml:173
86+#: qml/Components/Dialogs.qml:175
87msgctxt "Title: Reboot dialog"
87msgctxt "Title: Reboot dialog"
88msgid "Reboot"
88msgid "Reboot"
89msgstr ""
89msgstr ""
90
90
91−#: qml/Components/Dialogs.qml:174
91+#: qml/Components/Dialogs.qml:176
92msgid "Are you sure you want to reboot?"
92msgid "Are you sure you want to reboot?"
93msgstr "Segur que voleu reiniciar?"
93msgstr "Segur que voleu reiniciar?"
94
94
95−#: qml/Components/Dialogs.qml:176
95+#: qml/Components/Dialogs.qml:178
96msgid "No"
96msgid "No"
97msgstr "No"
97msgstr "No"
98
98
99−#: qml/Components/Dialogs.qml:182
99+#: qml/Components/Dialogs.qml:184
100msgid "Yes"
100msgid "Yes"
101msgstr "Sí"
101msgstr "Sí"
102
102
103−#: qml/Components/Dialogs.qml:197
103+#: qml/Components/Dialogs.qml:199
104msgctxt "Title: Power off/Restart dialog"
104msgctxt "Title: Power off/Restart dialog"
105msgid "Power"
105msgid "Power"
106msgstr ""
106msgstr ""
107
107
108−#: qml/Components/Dialogs.qml:198
108+#: qml/Components/Dialogs.qml:200
109msgid ""
109msgid ""
110"Are you sure you would like\n"
110"Are you sure you would like\n"
111"to power off?"
111"to power off?"
@@ -113,16 +113,176 @@ msgstr ""
113"Segur que voleu\n"
113"Segur que voleu\n"
114"apagar?"
114"apagar?"
115
115
116−#: qml/Components/Dialogs.qml:200
116+#: qml/Components/Dialogs.qml:202
117msgctxt "Button: Power off the system"
117msgctxt "Button: Power off the system"
118msgid "Power off"
118msgid "Power off"
119msgstr ""
119msgstr ""
120
120
121−#: qml/Components/Dialogs.qml:209
121+#: qml/Components/Dialogs.qml:211
122msgctxt "Button: Restart the system"
122msgctxt "Button: Restart the system"
123msgid "Restart"
123msgid "Restart"
124msgstr ""
124msgstr ""
125
125
126+#: qml/Components/KeyboardShortcutsOverlay.qml:41
127+msgid "Keyboard Shortcuts"
128+msgstr ""
129+
130+#: qml/Components/KeyboardShortcutsOverlay.qml:55
131+msgid "Unity 8"
132+msgstr ""
133+
134+#: qml/Components/KeyboardShortcutsOverlay.qml:62
135+msgid "PrtScr"
136+msgstr ""
137+
138+#: qml/Components/KeyboardShortcutsOverlay.qml:67
139+msgid "Takes a screenshot."
140+msgstr ""
141+
142+#: qml/Components/KeyboardShortcutsOverlay.qml:75
143+msgid "Alt + PrtScr"
144+msgstr ""
145+
146+#: qml/Components/KeyboardShortcutsOverlay.qml:80
147+msgid "Takes a screenshot of a window."
148+msgstr ""
149+
150+#: qml/Components/KeyboardShortcutsOverlay.qml:88
151+msgid "Super + Space"
152+msgstr ""
153+
154+#: qml/Components/KeyboardShortcutsOverlay.qml:93
155+msgid "Switches to next keyboard layout."
156+msgstr ""
157+
158+#: qml/Components/KeyboardShortcutsOverlay.qml:101
159+msgid "Super + Shift + Space"
160+msgstr ""
161+
162+#: qml/Components/KeyboardShortcutsOverlay.qml:106
163+msgid "Switches to previous keyboard layout."
164+msgstr ""
165+
166+#: qml/Components/KeyboardShortcutsOverlay.qml:118
167+msgid "Launcher"
168+msgstr ""
169+
170+#: qml/Components/KeyboardShortcutsOverlay.qml:125
171+msgid "Super (Hold)"
172+msgstr ""
173+
174+#: qml/Components/KeyboardShortcutsOverlay.qml:130
175+msgid "Opens the launcher, displays shortcuts."
176+msgstr ""
177+
178+#: qml/Components/KeyboardShortcutsOverlay.qml:138
179+msgid "Alt + F1"
180+msgstr ""
181+
182+#: qml/Components/KeyboardShortcutsOverlay.qml:143
183+msgid "Opens launcher keyboard navigation mode."
184+msgstr ""
185+
186+#: qml/Components/KeyboardShortcutsOverlay.qml:151
187+msgid "Super + Tab"
188+msgstr ""
189+
190+#: qml/Components/KeyboardShortcutsOverlay.qml:156
191+msgid "Switches applications via the launcher."
192+msgstr ""
193+
194+#: qml/Components/KeyboardShortcutsOverlay.qml:164
195+msgid "Super + 0 to 9"
196+msgstr ""
197+
198+#: qml/Components/KeyboardShortcutsOverlay.qml:169
199+msgid "Same as clicking on a launcher icon."
200+msgstr ""
201+
202+#: qml/Components/KeyboardShortcutsOverlay.qml:181
203+msgid "Scopes"
204+msgstr ""
205+
206+#: qml/Components/KeyboardShortcutsOverlay.qml:188
207+msgid "Super (Tap)"
208+msgstr ""
209+
210+#: qml/Components/KeyboardShortcutsOverlay.qml:193
211+msgid "Opens the Scopes home."
212+msgstr ""
213+
214+#: qml/Components/KeyboardShortcutsOverlay.qml:209
215+msgid "Switching"
216+msgstr ""
217+
218+#: qml/Components/KeyboardShortcutsOverlay.qml:216
219+msgid "Alt + Tab"
220+msgstr ""
221+
222+#: qml/Components/KeyboardShortcutsOverlay.qml:221
223+msgid "Switches between applications."
224+msgstr ""
225+
226+#: qml/Components/KeyboardShortcutsOverlay.qml:229
227+msgid "Super + W"
228+msgstr ""
229+
230+#: qml/Components/KeyboardShortcutsOverlay.qml:234
231+msgid "Opens the desktop spread."
232+msgstr ""
233+
234+#: qml/Components/KeyboardShortcutsOverlay.qml:242
235+msgid "Cursor Left or Right"
236+msgstr ""
237+
238+#: qml/Components/KeyboardShortcutsOverlay.qml:247
239+msgid "Moves the focus."
240+msgstr ""
241+
242+#: qml/Components/KeyboardShortcutsOverlay.qml:259
243+msgid "Windows"
244+msgstr ""
245+
246+#: qml/Components/KeyboardShortcutsOverlay.qml:266
247+msgid "Ctrl + Super + D"
248+msgstr ""
249+
250+#: qml/Components/KeyboardShortcutsOverlay.qml:271
251+msgid "Minimizes all windows."
252+msgstr ""
253+
254+#: qml/Components/KeyboardShortcutsOverlay.qml:279
255+msgid "Ctrl + Super + Up"
256+msgstr ""
257+
258+#: qml/Components/KeyboardShortcutsOverlay.qml:284
259+msgid "Maximizes the current window."
260+msgstr ""
261+
262+#: qml/Components/KeyboardShortcutsOverlay.qml:292
263+msgid "Ctrl + Super + Down"
264+msgstr ""
265+
266+#: qml/Components/KeyboardShortcutsOverlay.qml:297
267+msgid "Minimizes or restores the current window."
268+msgstr ""
269+
270+#: qml/Components/KeyboardShortcutsOverlay.qml:305
271+msgid "Ctrl + Super + Left or Right"
272+msgstr ""
273+
274+#: qml/Components/KeyboardShortcutsOverlay.qml:310
275+msgid "Semi-maximizes the current window."
276+msgstr ""
277+
278+#: qml/Components/KeyboardShortcutsOverlay.qml:318
279+msgid "Alt + F4"
280+msgstr ""
281+
282+#: qml/Components/KeyboardShortcutsOverlay.qml:323
283+msgid "Closes the current window."
284+msgstr ""
285+
126#: qml/Components/Lockscreen.qml:231
286#: qml/Components/Lockscreen.qml:231
127msgid "Return to Call"
287msgid "Return to Call"
128msgstr "Torna a la cridada"
288msgstr "Torna a la cridada"
@@ -161,26 +321,26 @@ msgstr ""
161msgid "Close all"
321msgid "Close all"
162msgstr ""
322msgstr ""
163
323
164−#: qml/Dash/DashPageHeader.qml:337
324+#: qml/Dash/DashPageHeader.qml:333
165msgctxt "Button: Open the Ubuntu Store"
325msgctxt "Button: Open the Ubuntu Store"
166msgid "Store"
326msgid "Store"
167msgstr ""
327msgstr ""
168
328
169−#: qml/Dash/DashPageHeader.qml:344
329+#: qml/Dash/DashPageHeader.qml:340
170msgctxt "Button: Start a search in the current dash scope"
330msgctxt "Button: Start a search in the current dash scope"
171msgid "Search"
331msgid "Search"
172msgstr ""
332msgstr ""
173
333
174−#: qml/Dash/DashPageHeader.qml:354
334+#: qml/Dash/DashPageHeader.qml:350
175msgctxt "Button: Show the current dash scope settings"
335msgctxt "Button: Show the current dash scope settings"
176msgid "Settings"
336msgid "Settings"
177msgstr ""
337msgstr ""
178
338
179−#: qml/Dash/DashPageHeader.qml:361
339+#: qml/Dash/DashPageHeader.qml:357
180msgid "Remove from Favorites"
340msgid "Remove from Favorites"
181msgstr "Suprimeix dels preferits"
341msgstr "Suprimeix dels preferits"
182
342
183−#: qml/Dash/DashPageHeader.qml:361
343+#: qml/Dash/DashPageHeader.qml:357
184msgid "Add to Favorites"
344msgid "Add to Favorites"
185msgstr "Afig als preferits"
345msgstr "Afig als preferits"
186
346
@@ -192,24 +352,24 @@ msgstr ""
192msgid "Reset"
352msgid "Reset"
193msgstr ""
353msgstr ""
194
354
195−#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
355+#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
196msgid "Show less"
356msgid "Show less"
197msgstr ""
357msgstr ""
198
358
199−#: qml/Dash/GenericScopeView.qml:579
359+#: qml/Dash/GenericScopeView.qml:580
200msgid "Show all"
360msgid "Show all"
201msgstr ""
361msgstr ""
202
362
203−#: qml/Dash/GenericScopeView.qml:636
363+#: qml/Dash/GenericScopeView.qml:637
204msgctxt "Label: Hint for dash search line edit"
364msgctxt "Label: Hint for dash search line edit"
205msgid "Search"
365msgid "Search"
206msgstr ""
366msgstr ""
207
367
208−#: qml/Dash/PageHeaderExtraPanel.qml:55
368+#: qml/Dash/PageHeaderExtraPanel.qml:56
209msgid "Recent Searches"
369msgid "Recent Searches"
210msgstr ""
370msgstr ""
211
371
212−#: qml/Dash/PageHeaderExtraPanel.qml:66
372+#: qml/Dash/PageHeaderExtraPanel.qml:67
213msgid "Clear All"
373msgid "Clear All"
214msgstr ""
374msgstr ""
215
375
@@ -222,15 +382,15 @@ msgid "Less..."
222msgstr "Menys..."
382msgstr "Menys..."
223
383
224#: qml/Dash/Previews/PreviewCommentInput.qml:68
384#: qml/Dash/Previews/PreviewCommentInput.qml:68
225−#: qml/Dash/Previews/PreviewRatingInput.qml:174
385+#: qml/Dash/Previews/PreviewRatingInput.qml:175
226msgid "Send"
386msgid "Send"
227msgstr "Envia"
387msgstr "Envia"
228
388
229−#: qml/Dash/Previews/PreviewRatingInput.qml:84
389+#: qml/Dash/Previews/PreviewRatingInput.qml:82
230msgid "Rate this"
390msgid "Rate this"
231msgstr "Puntueu-ho"
391msgstr "Puntueu-ho"
232
392
233−#: qml/Dash/Previews/PreviewRatingInput.qml:129
393+#: qml/Dash/Previews/PreviewRatingInput.qml:157
234msgid "Add a review"
394msgid "Add a review"
235msgstr "Afegiu una ressenya"
395msgstr "Afegiu una ressenya"
236
396
@@ -250,15 +410,15 @@ msgstr "Deixeu anar per actualitzar..."
250msgid "Enable location data"
410msgid "Enable location data"
251msgstr "Habilita les dades d'ubicació"
411msgstr "Habilita les dades d'ubicació"
252
412
253−#: qml/Dash/ScopesList.qml:67
413+#: qml/Dash/ScopesList.qml:55
254msgid "Manage"
414msgid "Manage"
255msgstr "Gestiona"
415msgstr "Gestiona"
256
416
257−#: qml/Dash/ScopesList.qml:113
417+#: qml/Dash/ScopesList.qml:101
258msgid "Home"
418msgid "Home"
259msgstr "Inici"
419msgstr "Inici"
260
420
261−#: qml/Dash/ScopesList.qml:114
421+#: qml/Dash/ScopesList.qml:102
262msgid "Also installed"
422msgid "Also installed"
263msgstr "També instal·lat"
423msgstr "També instal·lat"
264
424
@@ -268,16 +428,16 @@ msgid ""
268"touch pad to interact with the pointer."
428"touch pad to interact with the pointer."
269msgstr ""
429msgstr ""
270
430
271−#: qml/Greeter/CoverPage.qml:118
431+#: qml/Greeter/CoverPage.qml:119
272msgid "Unlock"
432msgid "Unlock"
273msgstr "Desbloca"
433msgstr "Desbloca"
274
434
275−#: qml/Greeter/LoginList.qml:239
435+#: qml/Greeter/LoginList.qml:259
276msgid "Retry"
436msgid "Retry"
277msgstr ""
437msgstr ""
278
438
279−#: qml/Greeter/LoginList.qml:240
439+#: qml/Greeter/LoginList.qml:260
280−msgid "Tap to unlock"
440+msgid "Log In"
281msgstr ""
441msgstr ""
282
442
283#: qml/Greeter/NarrowView.qml:54
443#: qml/Greeter/NarrowView.qml:54
@@ -412,18 +572,18 @@ msgstr "S'ha finalitzat"
412msgid "Failed, tap to retry"
572msgid "Failed, tap to retry"
413msgstr "Ha fallat, feu un toc per tornar-ho a intentar"
573msgstr "Ha fallat, feu un toc per tornar-ho a intentar"
414
574
415−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:155
575+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:151
416−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
576+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:210
417msgctxt "Button: Send a reply message"
577msgctxt "Button: Send a reply message"
418msgid "Send"
578msgid "Send"
419msgstr ""
579msgstr ""
420
580
421−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
581+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:152
422msgctxt "Label: Hint in message indicator line edit"
582msgctxt "Label: Hint in message indicator line edit"
423msgid "Reply"
583msgid "Reply"
424msgstr ""
584msgstr ""
425
585
426−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
586+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:209
427msgctxt "Button: Call back on phone"
587msgctxt "Button: Call back on phone"
428msgid "Call back"
588msgid "Call back"
429msgstr ""
589msgstr ""
@@ -432,32 +592,12 @@ msgstr ""
432msgid "Drag using 3 fingers any application from one window to the other"
592msgid "Drag using 3 fingers any application from one window to the other"
433msgstr ""
593msgstr ""
434
594
435−#: qml/Tutorial/TutorialBottom.qml:78
436−msgid "Swipe up to add a contact"
437−msgstr ""
438−
439−#: qml/Tutorial/TutorialBottom.qml:80
440−msgid "Swipe up for favorite calculations"
441−msgstr ""
442−
443−#: qml/Tutorial/TutorialBottom.qml:82
444−msgid "Swipe up for recent calls"
445−msgstr ""
446−
447−#: qml/Tutorial/TutorialBottom.qml:84
448−msgid "Swipe up to create a message"
449−msgstr ""
450−
451−#: qml/Tutorial/TutorialBottom.qml:85
452−msgid "Swipe up to manage the app"
453−msgstr ""
454−
455−#: qml/Tutorial/TutorialLeftLong.qml:47
595+#: qml/Tutorial/TutorialLeftLong.qml:49
456msgid "Long swipe from the left edge to open the Today scope"
596msgid "Long swipe from the left edge to open the Today scope"
457msgstr ""
597msgstr ""
458
598
459#: qml/Tutorial/TutorialLeft.qml:47
599#: qml/Tutorial/TutorialLeft.qml:47
460−msgid "Swipe from the left edge to open the launcher"
600+msgid "Short swipe from the left edge to open the launcher"
461msgstr ""
601msgstr ""
462
602
463#: qml/Tutorial/TutorialRight.qml:55
603#: qml/Tutorial/TutorialRight.qml:55
@@ -465,15 +605,11 @@ msgid "Push your mouse against the right edge to view your open apps"
465msgstr ""
605msgstr ""
466
606
467#: qml/Tutorial/TutorialRight.qml:56
607#: qml/Tutorial/TutorialRight.qml:56
468−msgid "Short or long swipe from the right edge to view your open apps"
608+msgid "Swipe from the right edge to view your open apps"
469msgstr ""
609msgstr ""
470
610
471#: qml/Tutorial/TutorialTop.qml:53
611#: qml/Tutorial/TutorialTop.qml:53
472−msgid "Swipe from the top right edge to open the notification bar"
612+msgid "Swipe from the top edge to access notifications and quick settings"
473−msgstr ""
474−
475−#: qml/Tutorial/TutorialTop.qml:54
476−msgid "Swipe from the top edge to open the notification bar"
477msgstr ""
613msgstr ""
478
614
479#: qml/Wizard/Page.qml:54
615#: qml/Wizard/Page.qml:54
@@ -485,8 +621,8 @@ msgstr ""
485msgid "Language"
621msgid "Language"
486msgstr ""
622msgstr ""
487
623
488−#: qml/Wizard/Pages/10-welcome.qml:156 qml/Wizard/Pages/30-wifi.qml:206
624+#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
489−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:267
625+#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
490#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
626#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
491#: qml/Wizard/Pages/75-report-check.qml:84
627#: qml/Wizard/Pages/75-report-check.qml:84
492#: qml/Wizard/Pages/passcode-desktop.qml:124
628#: qml/Wizard/Pages/passcode-desktop.qml:124
@@ -551,7 +687,7 @@ msgstr ""
551msgid "Time Zone"
687msgid "Time Zone"
552msgstr ""
688msgstr ""
553
689
554−#: qml/Wizard/Pages/50-timezone.qml:178
690+#: qml/Wizard/Pages/50-timezone.qml:181
555msgid "Enter your city"
691msgid "Enter your city"
556msgstr ""
692msgstr ""
557
693
po/ce.po+212−76
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-05-20 08:44+0000\n"
10+"POT-Creation-Date: 2016-06-17 01:22+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,23 +15,23 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
18+"X-Launchpad-Export-Date: 2016-06-19 05:54+0000\n"
19−"X-Generator: Launchpad (build 18053)\n"
19+"X-Generator: Launchpad (build 18097)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
23msgstr ""
23msgstr ""
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:48
25+#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:107
26+#: plugins/Unity/Launcher/launcheritem.cpp:108
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28msgstr ""
28msgstr ""
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:53
30+#: plugins/Unity/Launcher/launcheritem.cpp:54
31msgid "Quit"
31msgid "Quit"
32msgstr ""
32msgstr ""
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:107
34+#: plugins/Unity/Launcher/launcheritem.cpp:108
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36msgstr ""
36msgstr ""
37
37
@@ -54,69 +54,229 @@ msgid_plural "Please wait %1 minutes and then try again…"
54msgstr[0] ""
54msgstr[0] ""
55msgstr[1] ""
55msgstr[1] ""
56
56
57−#: qml/Components/Dialogs.qml:144
57+#: qml/Components/Dialogs.qml:146
58msgctxt "Title: Lock/Log out dialog"
58msgctxt "Title: Lock/Log out dialog"
59msgid "Log out"
59msgid "Log out"
60msgstr ""
60msgstr ""
61
61
62−#: qml/Components/Dialogs.qml:145
62+#: qml/Components/Dialogs.qml:147
63msgid "Are you sure you want to log out?"
63msgid "Are you sure you want to log out?"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:147
66+#: qml/Components/Dialogs.qml:149
67msgctxt "Button: Lock the system"
67msgctxt "Button: Lock the system"
68msgid "Lock"
68msgid "Lock"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:154
71+#: qml/Components/Dialogs.qml:156
72msgctxt "Button: Log out from the system"
72msgctxt "Button: Log out from the system"
73msgid "Log Out"
73msgid "Log Out"
74msgstr ""
74msgstr ""
75
75
76−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
76+#: qml/Components/Dialogs.qml:163 qml/Components/Dialogs.qml:219
77−#: qml/Dash/DashPageHeader.qml:298 qml/Wizard/Pages/passcode-confirm.qml:32
77+#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
78#: qml/Wizard/Pages/passcode-set.qml:32
78#: qml/Wizard/Pages/passcode-set.qml:32
79msgid "Cancel"
79msgid "Cancel"
80msgstr ""
80msgstr ""
81
81
82−#: qml/Components/Dialogs.qml:173
82+#: qml/Components/Dialogs.qml:175
83msgctxt "Title: Reboot dialog"
83msgctxt "Title: Reboot dialog"
84msgid "Reboot"
84msgid "Reboot"
85msgstr ""
85msgstr ""
86
86
87−#: qml/Components/Dialogs.qml:174
87+#: qml/Components/Dialogs.qml:176
88msgid "Are you sure you want to reboot?"
88msgid "Are you sure you want to reboot?"
89msgstr ""
89msgstr ""
90
90
91−#: qml/Components/Dialogs.qml:176
91+#: qml/Components/Dialogs.qml:178
92msgid "No"
92msgid "No"
93msgstr ""
93msgstr ""
94
94
95−#: qml/Components/Dialogs.qml:182
95+#: qml/Components/Dialogs.qml:184
96msgid "Yes"
96msgid "Yes"
97msgstr ""
97msgstr ""
98
98
99−#: qml/Components/Dialogs.qml:197
99+#: qml/Components/Dialogs.qml:199
100msgctxt "Title: Power off/Restart dialog"
100msgctxt "Title: Power off/Restart dialog"
101msgid "Power"
101msgid "Power"
102msgstr ""
102msgstr ""
103
103
104−#: qml/Components/Dialogs.qml:198
104+#: qml/Components/Dialogs.qml:200
105msgid ""
105msgid ""
106"Are you sure you would like\n"
106"Are you sure you would like\n"
107"to power off?"
107"to power off?"
108msgstr ""
108msgstr ""
109
109
110−#: qml/Components/Dialogs.qml:200
110+#: qml/Components/Dialogs.qml:202
111msgctxt "Button: Power off the system"
111msgctxt "Button: Power off the system"
112msgid "Power off"
112msgid "Power off"
113msgstr ""
113msgstr ""
114
114
115−#: qml/Components/Dialogs.qml:209
115+#: qml/Components/Dialogs.qml:211
116msgctxt "Button: Restart the system"
116msgctxt "Button: Restart the system"
117msgid "Restart"
117msgid "Restart"
118msgstr ""
118msgstr ""
119
119
120+#: qml/Components/KeyboardShortcutsOverlay.qml:41
121+msgid "Keyboard Shortcuts"
122+msgstr ""
123+
124+#: qml/Components/KeyboardShortcutsOverlay.qml:55
125+msgid "Unity 8"
126+msgstr ""
127+
128+#: qml/Components/KeyboardShortcutsOverlay.qml:62
129+msgid "PrtScr"
130+msgstr ""
131+
132+#: qml/Components/KeyboardShortcutsOverlay.qml:67
133+msgid "Takes a screenshot."
134+msgstr ""
135+
136+#: qml/Components/KeyboardShortcutsOverlay.qml:75
137+msgid "Alt + PrtScr"
138+msgstr ""
139+
140+#: qml/Components/KeyboardShortcutsOverlay.qml:80
141+msgid "Takes a screenshot of a window."
142+msgstr ""
143+
144+#: qml/Components/KeyboardShortcutsOverlay.qml:88
145+msgid "Super + Space"
146+msgstr ""
147+
148+#: qml/Components/KeyboardShortcutsOverlay.qml:93
149+msgid "Switches to next keyboard layout."
150+msgstr ""
151+
152+#: qml/Components/KeyboardShortcutsOverlay.qml:101
153+msgid "Super + Shift + Space"
154+msgstr ""
155+
156+#: qml/Components/KeyboardShortcutsOverlay.qml:106
157+msgid "Switches to previous keyboard layout."
158+msgstr ""
159+
160+#: qml/Components/KeyboardShortcutsOverlay.qml:118
161+msgid "Launcher"
162+msgstr ""
163+
164+#: qml/Components/KeyboardShortcutsOverlay.qml:125
165+msgid "Super (Hold)"
166+msgstr ""
167+
168+#: qml/Components/KeyboardShortcutsOverlay.qml:130
169+msgid "Opens the launcher, displays shortcuts."
170+msgstr ""
171+
172+#: qml/Components/KeyboardShortcutsOverlay.qml:138
173+msgid "Alt + F1"
174+msgstr ""
175+
176+#: qml/Components/KeyboardShortcutsOverlay.qml:143
177+msgid "Opens launcher keyboard navigation mode."
178+msgstr ""
179+
180+#: qml/Components/KeyboardShortcutsOverlay.qml:151
181+msgid "Super + Tab"
182+msgstr ""
183+
184+#: qml/Components/KeyboardShortcutsOverlay.qml:156
185+msgid "Switches applications via the launcher."
186+msgstr ""
187+
188+#: qml/Components/KeyboardShortcutsOverlay.qml:164
189+msgid "Super + 0 to 9"
190+msgstr ""
191+
192+#: qml/Components/KeyboardShortcutsOverlay.qml:169
193+msgid "Same as clicking on a launcher icon."
194+msgstr ""
195+
196+#: qml/Components/KeyboardShortcutsOverlay.qml:181
197+msgid "Scopes"
198+msgstr ""
199+
200+#: qml/Components/KeyboardShortcutsOverlay.qml:188
201+msgid "Super (Tap)"
202+msgstr ""
203+
204+#: qml/Components/KeyboardShortcutsOverlay.qml:193
205+msgid "Opens the Scopes home."
206+msgstr ""
207+
208+#: qml/Components/KeyboardShortcutsOverlay.qml:209
209+msgid "Switching"
210+msgstr ""
211+
212+#: qml/Components/KeyboardShortcutsOverlay.qml:216
213+msgid "Alt + Tab"
214+msgstr ""
215+
216+#: qml/Components/KeyboardShortcutsOverlay.qml:221
217+msgid "Switches between applications."
218+msgstr ""
219+
220+#: qml/Components/KeyboardShortcutsOverlay.qml:229
221+msgid "Super + W"
222+msgstr ""
223+
224+#: qml/Components/KeyboardShortcutsOverlay.qml:234
225+msgid "Opens the desktop spread."
226+msgstr ""
227+
228+#: qml/Components/KeyboardShortcutsOverlay.qml:242
229+msgid "Cursor Left or Right"
230+msgstr ""
231+
232+#: qml/Components/KeyboardShortcutsOverlay.qml:247
233+msgid "Moves the focus."
234+msgstr ""
235+
236+#: qml/Components/KeyboardShortcutsOverlay.qml:259
237+msgid "Windows"
238+msgstr ""
239+
240+#: qml/Components/KeyboardShortcutsOverlay.qml:266
241+msgid "Ctrl + Super + D"
242+msgstr ""
243+
244+#: qml/Components/KeyboardShortcutsOverlay.qml:271
245+msgid "Minimizes all windows."
246+msgstr ""
247+
248+#: qml/Components/KeyboardShortcutsOverlay.qml:279
249+msgid "Ctrl + Super + Up"
250+msgstr ""
251+
252+#: qml/Components/KeyboardShortcutsOverlay.qml:284
253+msgid "Maximizes the current window."
254+msgstr ""
255+
256+#: qml/Components/KeyboardShortcutsOverlay.qml:292
257+msgid "Ctrl + Super + Down"
258+msgstr ""
259+
260+#: qml/Components/KeyboardShortcutsOverlay.qml:297
261+msgid "Minimizes or restores the current window."
262+msgstr ""
263+
264+#: qml/Components/KeyboardShortcutsOverlay.qml:305
265+msgid "Ctrl + Super + Left or Right"
266+msgstr ""
267+
268+#: qml/Components/KeyboardShortcutsOverlay.qml:310
269+msgid "Semi-maximizes the current window."
270+msgstr ""
271+
272+#: qml/Components/KeyboardShortcutsOverlay.qml:318
273+msgid "Alt + F4"
274+msgstr ""
275+
276+#: qml/Components/KeyboardShortcutsOverlay.qml:323
277+msgid "Closes the current window."
278+msgstr ""
279+
120#: qml/Components/Lockscreen.qml:231
280#: qml/Components/Lockscreen.qml:231
121msgid "Return to Call"
281msgid "Return to Call"
122msgstr ""
282msgstr ""
@@ -155,26 +315,26 @@ msgstr ""
155msgid "Close all"
315msgid "Close all"
156msgstr ""
316msgstr ""
157
317
158−#: qml/Dash/DashPageHeader.qml:337
318+#: qml/Dash/DashPageHeader.qml:333
159msgctxt "Button: Open the Ubuntu Store"
319msgctxt "Button: Open the Ubuntu Store"
160msgid "Store"
320msgid "Store"
161msgstr ""
321msgstr ""
162
322
163−#: qml/Dash/DashPageHeader.qml:344
323+#: qml/Dash/DashPageHeader.qml:340
164msgctxt "Button: Start a search in the current dash scope"
324msgctxt "Button: Start a search in the current dash scope"
165msgid "Search"
325msgid "Search"
166msgstr ""
326msgstr ""
167
327
168−#: qml/Dash/DashPageHeader.qml:354
328+#: qml/Dash/DashPageHeader.qml:350
169msgctxt "Button: Show the current dash scope settings"
329msgctxt "Button: Show the current dash scope settings"
170msgid "Settings"
330msgid "Settings"
171msgstr ""
331msgstr ""
172
332
173−#: qml/Dash/DashPageHeader.qml:361
333+#: qml/Dash/DashPageHeader.qml:357
174msgid "Remove from Favorites"
334msgid "Remove from Favorites"
175msgstr ""
335msgstr ""
176
336
177−#: qml/Dash/DashPageHeader.qml:361
337+#: qml/Dash/DashPageHeader.qml:357
178msgid "Add to Favorites"
338msgid "Add to Favorites"
179msgstr ""
339msgstr ""
180
340
@@ -186,24 +346,24 @@ msgstr ""
186msgid "Reset"
346msgid "Reset"
187msgstr ""
347msgstr ""
188
348
189−#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
349+#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
190msgid "Show less"
350msgid "Show less"
191msgstr ""
351msgstr ""
192
352
193−#: qml/Dash/GenericScopeView.qml:579
353+#: qml/Dash/GenericScopeView.qml:580
194msgid "Show all"
354msgid "Show all"
195msgstr ""
355msgstr ""
196
356
197−#: qml/Dash/GenericScopeView.qml:636
357+#: qml/Dash/GenericScopeView.qml:637
198msgctxt "Label: Hint for dash search line edit"
358msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
359msgid "Search"
200msgstr ""
360msgstr ""
201
361
202−#: qml/Dash/PageHeaderExtraPanel.qml:55
362+#: qml/Dash/PageHeaderExtraPanel.qml:56
203msgid "Recent Searches"
363msgid "Recent Searches"
204msgstr ""
364msgstr ""
205
365
206−#: qml/Dash/PageHeaderExtraPanel.qml:66
366+#: qml/Dash/PageHeaderExtraPanel.qml:67
207msgid "Clear All"
367msgid "Clear All"
208msgstr ""
368msgstr ""
209
369
@@ -216,15 +376,15 @@ msgid "Less..."
216msgstr ""
376msgstr ""
217
377
218#: qml/Dash/Previews/PreviewCommentInput.qml:68
378#: qml/Dash/Previews/PreviewCommentInput.qml:68
219−#: qml/Dash/Previews/PreviewRatingInput.qml:174
379+#: qml/Dash/Previews/PreviewRatingInput.qml:175
220msgid "Send"
380msgid "Send"
221msgstr ""
381msgstr ""
222
382
223−#: qml/Dash/Previews/PreviewRatingInput.qml:84
383+#: qml/Dash/Previews/PreviewRatingInput.qml:82
224msgid "Rate this"
384msgid "Rate this"
225msgstr ""
385msgstr ""
226
386
227−#: qml/Dash/Previews/PreviewRatingInput.qml:129
387+#: qml/Dash/Previews/PreviewRatingInput.qml:157
228msgid "Add a review"
388msgid "Add a review"
229msgstr ""
389msgstr ""
230
390
@@ -244,15 +404,15 @@ msgstr ""
244msgid "Enable location data"
404msgid "Enable location data"
245msgstr ""
405msgstr ""
246
406
247−#: qml/Dash/ScopesList.qml:67
407+#: qml/Dash/ScopesList.qml:55
248msgid "Manage"
408msgid "Manage"
249msgstr ""
409msgstr ""
250
410
251−#: qml/Dash/ScopesList.qml:113
411+#: qml/Dash/ScopesList.qml:101
252msgid "Home"
412msgid "Home"
253msgstr ""
413msgstr ""
254
414
255−#: qml/Dash/ScopesList.qml:114
415+#: qml/Dash/ScopesList.qml:102
256msgid "Also installed"
416msgid "Also installed"
257msgstr ""
417msgstr ""
258
418
@@ -262,16 +422,16 @@ msgid ""
262"touch pad to interact with the pointer."
422"touch pad to interact with the pointer."
263msgstr ""
423msgstr ""
264
424
265−#: qml/Greeter/CoverPage.qml:118
425+#: qml/Greeter/CoverPage.qml:119
266msgid "Unlock"
426msgid "Unlock"
267msgstr ""
427msgstr ""
268
428
269−#: qml/Greeter/LoginList.qml:239
429+#: qml/Greeter/LoginList.qml:259
270msgid "Retry"
430msgid "Retry"
271msgstr ""
431msgstr ""
272
432
273−#: qml/Greeter/LoginList.qml:240
433+#: qml/Greeter/LoginList.qml:260
274−msgid "Tap to unlock"
434+msgid "Log In"
275msgstr ""
435msgstr ""
276
436
277#: qml/Greeter/NarrowView.qml:54
437#: qml/Greeter/NarrowView.qml:54
@@ -400,18 +560,18 @@ msgstr ""
400msgid "Failed, tap to retry"
560msgid "Failed, tap to retry"
401msgstr ""
561msgstr ""
402
562
403−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:155
563+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:151
404−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
564+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:210
405msgctxt "Button: Send a reply message"
565msgctxt "Button: Send a reply message"
406msgid "Send"
566msgid "Send"
407msgstr ""
567msgstr ""
408
568
409−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
569+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:152
410msgctxt "Label: Hint in message indicator line edit"
570msgctxt "Label: Hint in message indicator line edit"
411msgid "Reply"
571msgid "Reply"
412msgstr ""
572msgstr ""
413
573
414−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
574+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:209
415msgctxt "Button: Call back on phone"
575msgctxt "Button: Call back on phone"
416msgid "Call back"
576msgid "Call back"
417msgstr ""
577msgstr ""
@@ -420,32 +580,12 @@ msgstr ""
420msgid "Drag using 3 fingers any application from one window to the other"
580msgid "Drag using 3 fingers any application from one window to the other"
421msgstr ""
581msgstr ""
422
582
423−#: qml/Tutorial/TutorialBottom.qml:78
424−msgid "Swipe up to add a contact"
425−msgstr ""
426−
427−#: qml/Tutorial/TutorialBottom.qml:80
428−msgid "Swipe up for favorite calculations"
429−msgstr ""
430−
431−#: qml/Tutorial/TutorialBottom.qml:82
432−msgid "Swipe up for recent calls"
433−msgstr ""
434−
435−#: qml/Tutorial/TutorialBottom.qml:84
436−msgid "Swipe up to create a message"
437−msgstr ""
438−
439−#: qml/Tutorial/TutorialBottom.qml:85
440−msgid "Swipe up to manage the app"
441−msgstr ""
442−
443−#: qml/Tutorial/TutorialLeftLong.qml:47
583+#: qml/Tutorial/TutorialLeftLong.qml:49
444msgid "Long swipe from the left edge to open the Today scope"
584msgid "Long swipe from the left edge to open the Today scope"
445msgstr ""
585msgstr ""
446
586
447#: qml/Tutorial/TutorialLeft.qml:47
587#: qml/Tutorial/TutorialLeft.qml:47
448−msgid "Swipe from the left edge to open the launcher"
588+msgid "Short swipe from the left edge to open the launcher"
449msgstr ""
589msgstr ""
450
590
451#: qml/Tutorial/TutorialRight.qml:55
591#: qml/Tutorial/TutorialRight.qml:55
@@ -453,15 +593,11 @@ msgid "Push your mouse against the right edge to view your open apps"
453msgstr ""
593msgstr ""
454
594
455#: qml/Tutorial/TutorialRight.qml:56
595#: qml/Tutorial/TutorialRight.qml:56
456−msgid "Short or long swipe from the right edge to view your open apps"
596+msgid "Swipe from the right edge to view your open apps"
457msgstr ""
597msgstr ""
458
598
459#: qml/Tutorial/TutorialTop.qml:53
599#: qml/Tutorial/TutorialTop.qml:53
460−msgid "Swipe from the top right edge to open the notification bar"
600+msgid "Swipe from the top edge to access notifications and quick settings"
461−msgstr ""
462−
463−#: qml/Tutorial/TutorialTop.qml:54
464−msgid "Swipe from the top edge to open the notification bar"
465msgstr ""
601msgstr ""
466
602
467#: qml/Wizard/Page.qml:54
603#: qml/Wizard/Page.qml:54
@@ -473,8 +609,8 @@ msgstr ""
473msgid "Language"
609msgid "Language"
474msgstr ""
610msgstr ""
475
611
476−#: qml/Wizard/Pages/10-welcome.qml:156 qml/Wizard/Pages/30-wifi.qml:206
612+#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
477−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:267
613+#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
478#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
614#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
479#: qml/Wizard/Pages/75-report-check.qml:84
615#: qml/Wizard/Pages/75-report-check.qml:84
480#: qml/Wizard/Pages/passcode-desktop.qml:124
616#: qml/Wizard/Pages/passcode-desktop.qml:124
@@ -539,7 +675,7 @@ msgstr ""
539msgid "Time Zone"
675msgid "Time Zone"
540msgstr ""
676msgstr ""
541
677
542−#: qml/Wizard/Pages/50-timezone.qml:178
678+#: qml/Wizard/Pages/50-timezone.qml:181
543msgid "Enter your city"
679msgid "Enter your city"
544msgstr ""
680msgstr ""
545
681
po/ckb.po+212−76
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-05-20 08:44+0000\n"
10+"POT-Creation-Date: 2016-06-17 01:22+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,23 +15,23 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
18+"X-Launchpad-Export-Date: 2016-06-19 05:55+0000\n"
19−"X-Generator: Launchpad (build 18053)\n"
19+"X-Generator: Launchpad (build 18097)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
23msgstr ""
23msgstr ""
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:48
25+#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:107
26+#: plugins/Unity/Launcher/launcheritem.cpp:108
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28msgstr ""
28msgstr ""
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:53
30+#: plugins/Unity/Launcher/launcheritem.cpp:54
31msgid "Quit"
31msgid "Quit"
32msgstr ""
32msgstr ""
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:107
34+#: plugins/Unity/Launcher/launcheritem.cpp:108
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36msgstr ""
36msgstr ""
37
37
@@ -54,69 +54,229 @@ msgid_plural "Please wait %1 minutes and then try again…"
54msgstr[0] ""
54msgstr[0] ""
55msgstr[1] ""
55msgstr[1] ""
56
56
57−#: qml/Components/Dialogs.qml:144
57+#: qml/Components/Dialogs.qml:146
58msgctxt "Title: Lock/Log out dialog"
58msgctxt "Title: Lock/Log out dialog"
59msgid "Log out"
59msgid "Log out"
60msgstr ""
60msgstr ""
61
61
62−#: qml/Components/Dialogs.qml:145
62+#: qml/Components/Dialogs.qml:147
63msgid "Are you sure you want to log out?"
63msgid "Are you sure you want to log out?"
64msgstr ""
64msgstr ""
65
65
66−#: qml/Components/Dialogs.qml:147
66+#: qml/Components/Dialogs.qml:149
67msgctxt "Button: Lock the system"
67msgctxt "Button: Lock the system"
68msgid "Lock"
68msgid "Lock"
69msgstr ""
69msgstr ""
70
70
71−#: qml/Components/Dialogs.qml:154
71+#: qml/Components/Dialogs.qml:156
72msgctxt "Button: Log out from the system"
72msgctxt "Button: Log out from the system"
73msgid "Log Out"
73msgid "Log Out"
74msgstr ""
74msgstr ""
75
75
76−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
76+#: qml/Components/Dialogs.qml:163 qml/Components/Dialogs.qml:219
77−#: qml/Dash/DashPageHeader.qml:298 qml/Wizard/Pages/passcode-confirm.qml:32
77+#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
78#: qml/Wizard/Pages/passcode-set.qml:32
78#: qml/Wizard/Pages/passcode-set.qml:32
79msgid "Cancel"
79msgid "Cancel"
80msgstr ""
80msgstr ""
81
81
82−#: qml/Components/Dialogs.qml:173
82+#: qml/Components/Dialogs.qml:175
83msgctxt "Title: Reboot dialog"
83msgctxt "Title: Reboot dialog"
84msgid "Reboot"
84msgid "Reboot"
85msgstr ""
85msgstr ""
86
86
87−#: qml/Components/Dialogs.qml:174
87+#: qml/Components/Dialogs.qml:176
88msgid "Are you sure you want to reboot?"
88msgid "Are you sure you want to reboot?"
89msgstr ""
89msgstr ""
90
90
91−#: qml/Components/Dialogs.qml:176
91+#: qml/Components/Dialogs.qml:178
92msgid "No"
92msgid "No"
93msgstr ""
93msgstr ""
94
94
95−#: qml/Components/Dialogs.qml:182
95+#: qml/Components/Dialogs.qml:184
96msgid "Yes"
96msgid "Yes"
97msgstr ""
97msgstr ""
98
98
99−#: qml/Components/Dialogs.qml:197
99+#: qml/Components/Dialogs.qml:199
100msgctxt "Title: Power off/Restart dialog"
100msgctxt "Title: Power off/Restart dialog"
101msgid "Power"
101msgid "Power"
102msgstr ""
102msgstr ""
103
103
104−#: qml/Components/Dialogs.qml:198
104+#: qml/Components/Dialogs.qml:200
105msgid ""
105msgid ""
106"Are you sure you would like\n"
106"Are you sure you would like\n"
107"to power off?"
107"to power off?"
108msgstr ""
108msgstr ""
109
109
110−#: qml/Components/Dialogs.qml:200
110+#: qml/Components/Dialogs.qml:202
111msgctxt "Button: Power off the system"
111msgctxt "Button: Power off the system"
112msgid "Power off"
112msgid "Power off"
113msgstr ""
113msgstr ""
114
114
115−#: qml/Components/Dialogs.qml:209
115+#: qml/Components/Dialogs.qml:211
116msgctxt "Button: Restart the system"
116msgctxt "Button: Restart the system"
117msgid "Restart"
117msgid "Restart"
118msgstr ""
118msgstr ""
119
119
120+#: qml/Components/KeyboardShortcutsOverlay.qml:41
121+msgid "Keyboard Shortcuts"
122+msgstr ""
123+
124+#: qml/Components/KeyboardShortcutsOverlay.qml:55
125+msgid "Unity 8"
126+msgstr ""
127+
128+#: qml/Components/KeyboardShortcutsOverlay.qml:62
129+msgid "PrtScr"
130+msgstr ""
131+
132+#: qml/Components/KeyboardShortcutsOverlay.qml:67
133+msgid "Takes a screenshot."
134+msgstr ""
135+
136+#: qml/Components/KeyboardShortcutsOverlay.qml:75
137+msgid "Alt + PrtScr"
138+msgstr ""
139+
140+#: qml/Components/KeyboardShortcutsOverlay.qml:80
141+msgid "Takes a screenshot of a window."
142+msgstr ""
143+
144+#: qml/Components/KeyboardShortcutsOverlay.qml:88
145+msgid "Super + Space"
146+msgstr ""
147+
148+#: qml/Components/KeyboardShortcutsOverlay.qml:93
149+msgid "Switches to next keyboard layout."
150+msgstr ""
151+
152+#: qml/Components/KeyboardShortcutsOverlay.qml:101
153+msgid "Super + Shift + Space"
154+msgstr ""
155+
156+#: qml/Components/KeyboardShortcutsOverlay.qml:106
157+msgid "Switches to previous keyboard layout."
158+msgstr ""
159+
160+#: qml/Components/KeyboardShortcutsOverlay.qml:118
161+msgid "Launcher"
162+msgstr ""
163+
164+#: qml/Components/KeyboardShortcutsOverlay.qml:125
165+msgid "Super (Hold)"
166+msgstr ""
167+
168+#: qml/Components/KeyboardShortcutsOverlay.qml:130
169+msgid "Opens the launcher, displays shortcuts."
170+msgstr ""
171+
172+#: qml/Components/KeyboardShortcutsOverlay.qml:138
173+msgid "Alt + F1"
174+msgstr ""
175+
176+#: qml/Components/KeyboardShortcutsOverlay.qml:143
177+msgid "Opens launcher keyboard navigation mode."
178+msgstr ""
179+
180+#: qml/Components/KeyboardShortcutsOverlay.qml:151
181+msgid "Super + Tab"
182+msgstr ""
183+
184+#: qml/Components/KeyboardShortcutsOverlay.qml:156
185+msgid "Switches applications via the launcher."
186+msgstr ""
187+
188+#: qml/Components/KeyboardShortcutsOverlay.qml:164
189+msgid "Super + 0 to 9"
190+msgstr ""
191+
192+#: qml/Components/KeyboardShortcutsOverlay.qml:169
193+msgid "Same as clicking on a launcher icon."
194+msgstr ""
195+
196+#: qml/Components/KeyboardShortcutsOverlay.qml:181
197+msgid "Scopes"
198+msgstr ""
199+
200+#: qml/Components/KeyboardShortcutsOverlay.qml:188
201+msgid "Super (Tap)"
202+msgstr ""
203+
204+#: qml/Components/KeyboardShortcutsOverlay.qml:193
205+msgid "Opens the Scopes home."
206+msgstr ""
207+
208+#: qml/Components/KeyboardShortcutsOverlay.qml:209
209+msgid "Switching"
210+msgstr ""
211+
212+#: qml/Components/KeyboardShortcutsOverlay.qml:216
213+msgid "Alt + Tab"
214+msgstr ""
215+
216+#: qml/Components/KeyboardShortcutsOverlay.qml:221
217+msgid "Switches between applications."
218+msgstr ""
219+
220+#: qml/Components/KeyboardShortcutsOverlay.qml:229
221+msgid "Super + W"
222+msgstr ""
223+
224+#: qml/Components/KeyboardShortcutsOverlay.qml:234
225+msgid "Opens the desktop spread."
226+msgstr ""
227+
228+#: qml/Components/KeyboardShortcutsOverlay.qml:242
229+msgid "Cursor Left or Right"
230+msgstr ""
231+
232+#: qml/Components/KeyboardShortcutsOverlay.qml:247
233+msgid "Moves the focus."
234+msgstr ""
235+
236+#: qml/Components/KeyboardShortcutsOverlay.qml:259
237+msgid "Windows"
238+msgstr ""
239+
240+#: qml/Components/KeyboardShortcutsOverlay.qml:266
241+msgid "Ctrl + Super + D"
242+msgstr ""
243+
244+#: qml/Components/KeyboardShortcutsOverlay.qml:271
245+msgid "Minimizes all windows."
246+msgstr ""
247+
248+#: qml/Components/KeyboardShortcutsOverlay.qml:279
249+msgid "Ctrl + Super + Up"
250+msgstr ""
251+
252+#: qml/Components/KeyboardShortcutsOverlay.qml:284
253+msgid "Maximizes the current window."
254+msgstr ""
255+
256+#: qml/Components/KeyboardShortcutsOverlay.qml:292
257+msgid "Ctrl + Super + Down"
258+msgstr ""
259+
260+#: qml/Components/KeyboardShortcutsOverlay.qml:297
261+msgid "Minimizes or restores the current window."
262+msgstr ""
263+
264+#: qml/Components/KeyboardShortcutsOverlay.qml:305
265+msgid "Ctrl + Super + Left or Right"
266+msgstr ""
267+
268+#: qml/Components/KeyboardShortcutsOverlay.qml:310
269+msgid "Semi-maximizes the current window."
270+msgstr ""
271+
272+#: qml/Components/KeyboardShortcutsOverlay.qml:318
273+msgid "Alt + F4"
274+msgstr ""
275+
276+#: qml/Components/KeyboardShortcutsOverlay.qml:323
277+msgid "Closes the current window."
278+msgstr ""
279+
120#: qml/Components/Lockscreen.qml:231
280#: qml/Components/Lockscreen.qml:231
121msgid "Return to Call"
281msgid "Return to Call"
122msgstr ""
282msgstr ""
@@ -155,26 +315,26 @@ msgstr ""
155msgid "Close all"
315msgid "Close all"
156msgstr ""
316msgstr ""
157
317
158−#: qml/Dash/DashPageHeader.qml:337
318+#: qml/Dash/DashPageHeader.qml:333
159msgctxt "Button: Open the Ubuntu Store"
319msgctxt "Button: Open the Ubuntu Store"
160msgid "Store"
320msgid "Store"
161msgstr ""
321msgstr ""
162
322
163−#: qml/Dash/DashPageHeader.qml:344
323+#: qml/Dash/DashPageHeader.qml:340
164msgctxt "Button: Start a search in the current dash scope"
324msgctxt "Button: Start a search in the current dash scope"
165msgid "Search"
325msgid "Search"
166msgstr ""
326msgstr ""
167
327
168−#: qml/Dash/DashPageHeader.qml:354
328+#: qml/Dash/DashPageHeader.qml:350
169msgctxt "Button: Show the current dash scope settings"
329msgctxt "Button: Show the current dash scope settings"
170msgid "Settings"
330msgid "Settings"
171msgstr ""
331msgstr ""
172
332
173−#: qml/Dash/DashPageHeader.qml:361
333+#: qml/Dash/DashPageHeader.qml:357
174msgid "Remove from Favorites"
334msgid "Remove from Favorites"
175msgstr ""
335msgstr ""
176
336
177−#: qml/Dash/DashPageHeader.qml:361
337+#: qml/Dash/DashPageHeader.qml:357
178msgid "Add to Favorites"
338msgid "Add to Favorites"
179msgstr ""
339msgstr ""
180
340
@@ -186,24 +346,24 @@ msgstr ""
186msgid "Reset"
346msgid "Reset"
187msgstr ""
347msgstr ""
188
348
189−#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
349+#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
190msgid "Show less"
350msgid "Show less"
191msgstr ""
351msgstr ""
192
352
193−#: qml/Dash/GenericScopeView.qml:579
353+#: qml/Dash/GenericScopeView.qml:580
194msgid "Show all"
354msgid "Show all"
195msgstr ""
355msgstr ""
196
356
197−#: qml/Dash/GenericScopeView.qml:636
357+#: qml/Dash/GenericScopeView.qml:637
198msgctxt "Label: Hint for dash search line edit"
358msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
359msgid "Search"
200msgstr ""
360msgstr ""
201
361
202−#: qml/Dash/PageHeaderExtraPanel.qml:55
362+#: qml/Dash/PageHeaderExtraPanel.qml:56
203msgid "Recent Searches"
363msgid "Recent Searches"
204msgstr ""
364msgstr ""
205
365
206−#: qml/Dash/PageHeaderExtraPanel.qml:66
366+#: qml/Dash/PageHeaderExtraPanel.qml:67
207msgid "Clear All"
367msgid "Clear All"
208msgstr ""
368msgstr ""
209
369
@@ -216,15 +376,15 @@ msgid "Less..."
216msgstr ""
376msgstr ""
217
377
218#: qml/Dash/Previews/PreviewCommentInput.qml:68
378#: qml/Dash/Previews/PreviewCommentInput.qml:68
219−#: qml/Dash/Previews/PreviewRatingInput.qml:174
379+#: qml/Dash/Previews/PreviewRatingInput.qml:175
220msgid "Send"
380msgid "Send"
221msgstr "ناردن"
381msgstr "ناردن"
222
382
223−#: qml/Dash/Previews/PreviewRatingInput.qml:84
383+#: qml/Dash/Previews/PreviewRatingInput.qml:82
224msgid "Rate this"
384msgid "Rate this"
225msgstr "پلە دابنی بۆی"
385msgstr "پلە دابنی بۆی"
226
386
227−#: qml/Dash/Previews/PreviewRatingInput.qml:129
387+#: qml/Dash/Previews/PreviewRatingInput.qml:157
228msgid "Add a review"
388msgid "Add a review"
229msgstr "پێداچوونەوە زۆر بکە"
389msgstr "پێداچوونەوە زۆر بکە"
230
390
@@ -244,15 +404,15 @@ msgstr ""
244msgid "Enable location data"
404msgid "Enable location data"
245msgstr ""
405msgstr ""
246
406
247−#: qml/Dash/ScopesList.qml:67
407+#: qml/Dash/ScopesList.qml:55
248msgid "Manage"
408msgid "Manage"
249msgstr ""
409msgstr ""
250
410
251−#: qml/Dash/ScopesList.qml:113
411+#: qml/Dash/ScopesList.qml:101
252msgid "Home"
412msgid "Home"
253msgstr ""
413msgstr ""
254
414
255−#: qml/Dash/ScopesList.qml:114
415+#: qml/Dash/ScopesList.qml:102
256msgid "Also installed"
416msgid "Also installed"
257msgstr ""
417msgstr ""
258
418
@@ -262,16 +422,16 @@ msgid ""
262"touch pad to interact with the pointer."
422"touch pad to interact with the pointer."
263msgstr ""
423msgstr ""
264
424
265−#: qml/Greeter/CoverPage.qml:118
425+#: qml/Greeter/CoverPage.qml:119
266msgid "Unlock"
426msgid "Unlock"
267msgstr ""
427msgstr ""
268
428
269−#: qml/Greeter/LoginList.qml:239
429+#: qml/Greeter/LoginList.qml:259
270msgid "Retry"
430msgid "Retry"
271msgstr ""
431msgstr ""
272
432
273−#: qml/Greeter/LoginList.qml:240
433+#: qml/Greeter/LoginList.qml:260
274−msgid "Tap to unlock"
434+msgid "Log In"
275msgstr ""
435msgstr ""
276
436
277#: qml/Greeter/NarrowView.qml:54
437#: qml/Greeter/NarrowView.qml:54
@@ -400,18 +560,18 @@ msgstr ""
400msgid "Failed, tap to retry"
560msgid "Failed, tap to retry"
401msgstr ""
561msgstr ""
402
562
403−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:155
563+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:151
404−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
564+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:210
405msgctxt "Button: Send a reply message"
565msgctxt "Button: Send a reply message"
406msgid "Send"
566msgid "Send"
407msgstr ""
567msgstr ""
408
568
409−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
569+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:152
410msgctxt "Label: Hint in message indicator line edit"
570msgctxt "Label: Hint in message indicator line edit"
411msgid "Reply"
571msgid "Reply"
412msgstr ""
572msgstr ""
413
573
414−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
574+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:209
415msgctxt "Button: Call back on phone"
575msgctxt "Button: Call back on phone"
416msgid "Call back"
576msgid "Call back"
417msgstr ""
577msgstr ""
@@ -420,32 +580,12 @@ msgstr ""
420msgid "Drag using 3 fingers any application from one window to the other"
580msgid "Drag using 3 fingers any application from one window to the other"
421msgstr ""
581msgstr ""
422
582
423−#: qml/Tutorial/TutorialBottom.qml:78
424−msgid "Swipe up to add a contact"
425−msgstr ""
426−
427−#: qml/Tutorial/TutorialBottom.qml:80
428−msgid "Swipe up for favorite calculations"
429−msgstr ""
430−
431−#: qml/Tutorial/TutorialBottom.qml:82
432−msgid "Swipe up for recent calls"
433−msgstr ""
434−
435−#: qml/Tutorial/TutorialBottom.qml:84
436−msgid "Swipe up to create a message"
437−msgstr ""
438−
439−#: qml/Tutorial/TutorialBottom.qml:85
440−msgid "Swipe up to manage the app"
441−msgstr ""
442−
443−#: qml/Tutorial/TutorialLeftLong.qml:47
583+#: qml/Tutorial/TutorialLeftLong.qml:49
444msgid "Long swipe from the left edge to open the Today scope"
584msgid "Long swipe from the left edge to open the Today scope"
445msgstr ""
585msgstr ""
446
586
447#: qml/Tutorial/TutorialLeft.qml:47
587#: qml/Tutorial/TutorialLeft.qml:47
448−msgid "Swipe from the left edge to open the launcher"
588+msgid "Short swipe from the left edge to open the launcher"
449msgstr ""
589msgstr ""
450
590
451#: qml/Tutorial/TutorialRight.qml:55
591#: qml/Tutorial/TutorialRight.qml:55
@@ -453,15 +593,11 @@ msgid "Push your mouse against the right edge to view your open apps"
453msgstr ""
593msgstr ""
454
594
455#: qml/Tutorial/TutorialRight.qml:56
595#: qml/Tutorial/TutorialRight.qml:56
456−msgid "Short or long swipe from the right edge to view your open apps"
596+msgid "Swipe from the right edge to view your open apps"
457msgstr ""
597msgstr ""
458
598
459#: qml/Tutorial/TutorialTop.qml:53
599#: qml/Tutorial/TutorialTop.qml:53
460−msgid "Swipe from the top right edge to open the notification bar"
600+msgid "Swipe from the top edge to access notifications and quick settings"
461−msgstr ""
462−
463−#: qml/Tutorial/TutorialTop.qml:54
464−msgid "Swipe from the top edge to open the notification bar"
465msgstr ""
601msgstr ""
466
602
467#: qml/Wizard/Page.qml:54
603#: qml/Wizard/Page.qml:54
@@ -473,8 +609,8 @@ msgstr ""
473msgid "Language"
609msgid "Language"
474msgstr ""
610msgstr ""
475
611
476−#: qml/Wizard/Pages/10-welcome.qml:156 qml/Wizard/Pages/30-wifi.qml:206
612+#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
477−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:267
613+#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
478#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
614#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
479#: qml/Wizard/Pages/75-report-check.qml:84
615#: qml/Wizard/Pages/75-report-check.qml:84
480#: qml/Wizard/Pages/passcode-desktop.qml:124
616#: qml/Wizard/Pages/passcode-desktop.qml:124
@@ -539,7 +675,7 @@ msgstr ""
539msgid "Time Zone"
675msgid "Time Zone"
540msgstr ""
676msgstr ""
541
677
542−#: qml/Wizard/Pages/50-timezone.qml:178
678+#: qml/Wizard/Pages/50-timezone.qml:181
543msgid "Enter your city"
679msgid "Enter your city"
544msgstr ""
680msgstr ""
545
681
po/co.po+417−215
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-05-20 08:44+0000\n"
10+"POT-Creation-Date: 2016-06-17 01:22+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,437 +15,592 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
18+"X-Launchpad-Export-Date: 2016-06-19 05:54+0000\n"
19−"X-Generator: Launchpad (build 18053)\n"
19+"X-Generator: Launchpad (build 18097)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
23−msgstr ""
23+msgstr "Parolla d'ordine: "
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:48
25+#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:107
26+#: plugins/Unity/Launcher/launcheritem.cpp:108
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28−msgstr ""
28+msgstr "Fissà l'accurtatoghju"
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:53
30+#: plugins/Unity/Launcher/launcheritem.cpp:54
31msgid "Quit"
31msgid "Quit"
32−msgstr ""
32+msgstr "Abbandunà"
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:107
34+#: plugins/Unity/Launcher/launcheritem.cpp:108
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36−msgstr ""
36+msgstr "Toglie l'accurtatoghju"
37
37
38#: qml/Components/DelayedLockscreen.qml:49
38#: qml/Components/DelayedLockscreen.qml:49
39msgid "Device Locked"
39msgid "Device Locked"
40−msgstr ""
40+msgstr "Dispusitivu bluccatu"
41
41
42#: qml/Components/DelayedLockscreen.qml:64
42#: qml/Components/DelayedLockscreen.qml:64
43msgid "You have been locked out due to too many failed passphrase attempts."
43msgid "You have been locked out due to too many failed passphrase attempts."
44msgstr ""
44msgstr ""
45+"Site stati bluccati per troppi tentativi fallati d'inserimentu di a frasa "
46+"d'ordine."
45
47
46#: qml/Components/DelayedLockscreen.qml:65
48#: qml/Components/DelayedLockscreen.qml:65
47msgid "You have been locked out due to too many failed passcode attempts."
49msgid "You have been locked out due to too many failed passcode attempts."
48msgstr ""
50msgstr ""
51+"Site stati bluccati per troppi tentativi fallati d'inserimentu di u codice "
52+"d'accessu."
49
53
50#: qml/Components/DelayedLockscreen.qml:74
54#: qml/Components/DelayedLockscreen.qml:74
51#, qt-format
55#, qt-format
52msgid "Please wait %1 minute and then try again…"
56msgid "Please wait %1 minute and then try again…"
53msgid_plural "Please wait %1 minutes and then try again…"
57msgid_plural "Please wait %1 minutes and then try again…"
54−msgstr[0] ""
58+msgstr[0] "Aspettà %1 minutu è po turnà à pruvà…"
55−msgstr[1] ""
59+msgstr[1] "Aspettà %1 minuti è po turnà à pruvà…"
56
60
57−#: qml/Components/Dialogs.qml:144
61+#: qml/Components/Dialogs.qml:146
58msgctxt "Title: Lock/Log out dialog"
62msgctxt "Title: Lock/Log out dialog"
59msgid "Log out"
63msgid "Log out"
60−msgstr ""
64+msgstr "Escì"
61
65
62−#: qml/Components/Dialogs.qml:145
66+#: qml/Components/Dialogs.qml:147
63msgid "Are you sure you want to log out?"
67msgid "Are you sure you want to log out?"
64−msgstr ""
68+msgstr "Site sicuri di vulè escì?"
65
69
66−#: qml/Components/Dialogs.qml:147
70+#: qml/Components/Dialogs.qml:149
67msgctxt "Button: Lock the system"
71msgctxt "Button: Lock the system"
68msgid "Lock"
72msgid "Lock"
69−msgstr ""
73+msgstr "Bluccà"
70
74
71−#: qml/Components/Dialogs.qml:154
75+#: qml/Components/Dialogs.qml:156
72msgctxt "Button: Log out from the system"
76msgctxt "Button: Log out from the system"
73msgid "Log Out"
77msgid "Log Out"
74−msgstr ""
78+msgstr "Escì"
75
79
76−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
80+#: qml/Components/Dialogs.qml:163 qml/Components/Dialogs.qml:219
77−#: qml/Dash/DashPageHeader.qml:298 qml/Wizard/Pages/passcode-confirm.qml:32
81+#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
78#: qml/Wizard/Pages/passcode-set.qml:32
82#: qml/Wizard/Pages/passcode-set.qml:32
79msgid "Cancel"
83msgid "Cancel"
80−msgstr ""
84+msgstr "Annullà"
81
85
82−#: qml/Components/Dialogs.qml:173
86+#: qml/Components/Dialogs.qml:175
83msgctxt "Title: Reboot dialog"
87msgctxt "Title: Reboot dialog"
84msgid "Reboot"
88msgid "Reboot"
85−msgstr ""
89+msgstr "Turnà ad avvià"
86
90
87−#: qml/Components/Dialogs.qml:174
91+#: qml/Components/Dialogs.qml:176
88msgid "Are you sure you want to reboot?"
92msgid "Are you sure you want to reboot?"
89−msgstr ""
93+msgstr "Site sicuri di vulè turnà ad avvià?"
90
94
91−#: qml/Components/Dialogs.qml:176
95+#: qml/Components/Dialogs.qml:178
92msgid "No"
96msgid "No"
93−msgstr ""
97+msgstr "Nò"
94
98
95−#: qml/Components/Dialogs.qml:182
99+#: qml/Components/Dialogs.qml:184
96msgid "Yes"
100msgid "Yes"
97−msgstr ""
101+msgstr "Iè"
98
102
99−#: qml/Components/Dialogs.qml:197
103+#: qml/Components/Dialogs.qml:199
100msgctxt "Title: Power off/Restart dialog"
104msgctxt "Title: Power off/Restart dialog"
101msgid "Power"
105msgid "Power"
102−msgstr ""
106+msgstr "Alimentazione"
103
107
104−#: qml/Components/Dialogs.qml:198
108+#: qml/Components/Dialogs.qml:200
105msgid ""
109msgid ""
106"Are you sure you would like\n"
110"Are you sure you would like\n"
107"to power off?"
111"to power off?"
108msgstr ""
112msgstr ""
113+"Site sicuri di vulè\n"
114+"spenghje?"
109
115
110−#: qml/Components/Dialogs.qml:200
116+#: qml/Components/Dialogs.qml:202
111msgctxt "Button: Power off the system"
117msgctxt "Button: Power off the system"
112msgid "Power off"
118msgid "Power off"
113−msgstr ""
119+msgstr "Spenghje"
114
120
115−#: qml/Components/Dialogs.qml:209
121+#: qml/Components/Dialogs.qml:211
116msgctxt "Button: Restart the system"
122msgctxt "Button: Restart the system"
117msgid "Restart"
123msgid "Restart"
124+msgstr "Turnà ad avvià"
125+
126+#: qml/Components/KeyboardShortcutsOverlay.qml:41
127+msgid "Keyboard Shortcuts"
128+msgstr ""
129+
130+#: qml/Components/KeyboardShortcutsOverlay.qml:55
131+msgid "Unity 8"
132+msgstr ""
133+
134+#: qml/Components/KeyboardShortcutsOverlay.qml:62
135+msgid "PrtScr"
136+msgstr ""
137+
138+#: qml/Components/KeyboardShortcutsOverlay.qml:67
139+msgid "Takes a screenshot."
140+msgstr ""
141+
142+#: qml/Components/KeyboardShortcutsOverlay.qml:75
143+msgid "Alt + PrtScr"
144+msgstr ""
145+
146+#: qml/Components/KeyboardShortcutsOverlay.qml:80
147+msgid "Takes a screenshot of a window."
148+msgstr ""
149+
150+#: qml/Components/KeyboardShortcutsOverlay.qml:88
151+msgid "Super + Space"
152+msgstr ""
153+
154+#: qml/Components/KeyboardShortcutsOverlay.qml:93
155+msgid "Switches to next keyboard layout."
156+msgstr ""
157+
158+#: qml/Components/KeyboardShortcutsOverlay.qml:101
159+msgid "Super + Shift + Space"
160+msgstr ""
161+
162+#: qml/Components/KeyboardShortcutsOverlay.qml:106
163+msgid "Switches to previous keyboard layout."
164+msgstr ""
165+
166+#: qml/Components/KeyboardShortcutsOverlay.qml:118
167+msgid "Launcher"
168+msgstr ""
169+
170+#: qml/Components/KeyboardShortcutsOverlay.qml:125
171+msgid "Super (Hold)"
172+msgstr ""
173+
174+#: qml/Components/KeyboardShortcutsOverlay.qml:130
175+msgid "Opens the launcher, displays shortcuts."
176+msgstr ""
177+
178+#: qml/Components/KeyboardShortcutsOverlay.qml:138
179+msgid "Alt + F1"
180+msgstr ""
181+
182+#: qml/Components/KeyboardShortcutsOverlay.qml:143
183+msgid "Opens launcher keyboard navigation mode."
184+msgstr ""
185+
186+#: qml/Components/KeyboardShortcutsOverlay.qml:151
187+msgid "Super + Tab"
188+msgstr ""
189+
190+#: qml/Components/KeyboardShortcutsOverlay.qml:156
191+msgid "Switches applications via the launcher."
192+msgstr ""
193+
194+#: qml/Components/KeyboardShortcutsOverlay.qml:164
195+msgid "Super + 0 to 9"
196+msgstr ""
197+
198+#: qml/Components/KeyboardShortcutsOverlay.qml:169
199+msgid "Same as clicking on a launcher icon."
200+msgstr ""
201+
202+#: qml/Components/KeyboardShortcutsOverlay.qml:181
203+msgid "Scopes"
204+msgstr ""
205+
206+#: qml/Components/KeyboardShortcutsOverlay.qml:188
207+msgid "Super (Tap)"
208+msgstr ""
209+
210+#: qml/Components/KeyboardShortcutsOverlay.qml:193
211+msgid "Opens the Scopes home."
212+msgstr ""
213+
214+#: qml/Components/KeyboardShortcutsOverlay.qml:209
215+msgid "Switching"
216+msgstr ""
217+
218+#: qml/Components/KeyboardShortcutsOverlay.qml:216
219+msgid "Alt + Tab"
220+msgstr ""
221+
222+#: qml/Components/KeyboardShortcutsOverlay.qml:221
223+msgid "Switches between applications."
224+msgstr ""
225+
226+#: qml/Components/KeyboardShortcutsOverlay.qml:229
227+msgid "Super + W"
228+msgstr ""
229+
230+#: qml/Components/KeyboardShortcutsOverlay.qml:234
231+msgid "Opens the desktop spread."
232+msgstr ""
233+
234+#: qml/Components/KeyboardShortcutsOverlay.qml:242
235+msgid "Cursor Left or Right"
236+msgstr ""
237+
238+#: qml/Components/KeyboardShortcutsOverlay.qml:247
239+msgid "Moves the focus."
240+msgstr ""
241+
242+#: qml/Components/KeyboardShortcutsOverlay.qml:259
243+msgid "Windows"
244+msgstr ""
245+
246+#: qml/Components/KeyboardShortcutsOverlay.qml:266
247+msgid "Ctrl + Super + D"
248+msgstr ""
249+
250+#: qml/Components/KeyboardShortcutsOverlay.qml:271
251+msgid "Minimizes all windows."
252+msgstr ""
253+
254+#: qml/Components/KeyboardShortcutsOverlay.qml:279
255+msgid "Ctrl + Super + Up"
256+msgstr ""
257+
258+#: qml/Components/KeyboardShortcutsOverlay.qml:284
259+msgid "Maximizes the current window."
260+msgstr ""
261+
262+#: qml/Components/KeyboardShortcutsOverlay.qml:292
263+msgid "Ctrl + Super + Down"
264+msgstr ""
265+
266+#: qml/Components/KeyboardShortcutsOverlay.qml:297
267+msgid "Minimizes or restores the current window."
268+msgstr ""
269+
270+#: qml/Components/KeyboardShortcutsOverlay.qml:305
271+msgid "Ctrl + Super + Left or Right"
272+msgstr ""
273+
274+#: qml/Components/KeyboardShortcutsOverlay.qml:310
275+msgid "Semi-maximizes the current window."
276+msgstr ""
277+
278+#: qml/Components/KeyboardShortcutsOverlay.qml:318
279+msgid "Alt + F4"
280+msgstr ""
281+
282+#: qml/Components/KeyboardShortcutsOverlay.qml:323
283+msgid "Closes the current window."
118msgstr ""
284msgstr ""
119
285
120#: qml/Components/Lockscreen.qml:231
286#: qml/Components/Lockscreen.qml:231
121msgid "Return to Call"
287msgid "Return to Call"
122−msgstr ""
288+msgstr "Turnà à a Chjamata"
123
289
124#: qml/Components/Lockscreen.qml:231
290#: qml/Components/Lockscreen.qml:231
125msgid "Emergency Call"
291msgid "Emergency Call"
126−msgstr ""
292+msgstr "Chjamata d'emergenza"
127
293
128#: qml/Components/Lockscreen.qml:263
294#: qml/Components/Lockscreen.qml:263
129msgid "OK"
295msgid "OK"
130−msgstr ""
296+msgstr "OK"
131
297
132#: qml/Components/ModeSwitchWarningDialog.qml:32
298#: qml/Components/ModeSwitchWarningDialog.qml:32
133msgid "Apps may have unsaved data:"
299msgid "Apps may have unsaved data:"
134−msgstr ""
300+msgstr "E app puderebbenu avè dati micca salvati:"
135
301
136#: qml/Components/ModeSwitchWarningDialog.qml:57
302#: qml/Components/ModeSwitchWarningDialog.qml:57
137msgctxt ""
303msgctxt ""
138"Re-dock means connect the device again to an external screen/mouse/keyboard"
304"Re-dock means connect the device again to an external screen/mouse/keyboard"
139msgid "Re-dock, save your work and close these apps to continue."
305msgid "Re-dock, save your work and close these apps to continue."
140msgstr ""
306msgstr ""
307+"Turnà à cullegà, salvà u travagliu fattu è chjode sse applicazioni per "
308+"continuà."
141
309
142#: qml/Components/ModeSwitchWarningDialog.qml:63
310#: qml/Components/ModeSwitchWarningDialog.qml:63
143msgid "Or force close now (unsaved data will be lost)."
311msgid "Or force close now (unsaved data will be lost)."
144−msgstr ""
312+msgstr "O furzà a chjusura avà (i dati micca salvati seranu perduti)."
145
313
146#: qml/Components/ModeSwitchWarningDialog.qml:75
314#: qml/Components/ModeSwitchWarningDialog.qml:75
147msgid "OK, I will reconnect"
315msgid "OK, I will reconnect"
148−msgstr ""
316+msgstr "OK, sto cunnettendumi..."
149
317
150#: qml/Components/ModeSwitchWarningDialog.qml:76
318#: qml/Components/ModeSwitchWarningDialog.qml:76
151msgid "Reconnect now!"
319msgid "Reconnect now!"
152−msgstr ""
320+msgstr "Turnà à cunnettesi avà!"
153
321
154#: qml/Components/ModeSwitchWarningDialog.qml:88
322#: qml/Components/ModeSwitchWarningDialog.qml:88
155msgid "Close all"
323msgid "Close all"
156−msgstr ""
324+msgstr "Chjode tuttu"
157
325
158−#: qml/Dash/DashPageHeader.qml:337
326+#: qml/Dash/DashPageHeader.qml:333
159msgctxt "Button: Open the Ubuntu Store"
327msgctxt "Button: Open the Ubuntu Store"
160msgid "Store"
328msgid "Store"
161−msgstr ""
329+msgstr "Buttega"
162
330
163−#: qml/Dash/DashPageHeader.qml:344
331+#: qml/Dash/DashPageHeader.qml:340
164msgctxt "Button: Start a search in the current dash scope"
332msgctxt "Button: Start a search in the current dash scope"
165msgid "Search"
333msgid "Search"
166−msgstr ""
334+msgstr "Circà"
167
335
168−#: qml/Dash/DashPageHeader.qml:354
336+#: qml/Dash/DashPageHeader.qml:350
169msgctxt "Button: Show the current dash scope settings"
337msgctxt "Button: Show the current dash scope settings"
170msgid "Settings"
338msgid "Settings"
171−msgstr ""
339+msgstr "Parametri"
172
340
173−#: qml/Dash/DashPageHeader.qml:361
341+#: qml/Dash/DashPageHeader.qml:357
174msgid "Remove from Favorites"
342msgid "Remove from Favorites"
175−msgstr ""
343+msgstr "Toglie da i Favuriti"
176
344
177−#: qml/Dash/DashPageHeader.qml:361
345+#: qml/Dash/DashPageHeader.qml:357
178msgid "Add to Favorites"
346msgid "Add to Favorites"
179−msgstr ""
347+msgstr "Aghjustà à i Favuriti"
180
348
181#: qml/Dash/FiltersPopover.qml:60
349#: qml/Dash/FiltersPopover.qml:60
182msgid "Refine your results"
350msgid "Refine your results"
183−msgstr ""
351+msgstr "Raffinà i risultati"
184
352
185#: qml/Dash/FiltersPopover.qml:69
353#: qml/Dash/FiltersPopover.qml:69
186msgid "Reset"
354msgid "Reset"
187−msgstr ""
355+msgstr "Re-inizializzà"
188
356
189−#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
357+#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
190msgid "Show less"
358msgid "Show less"
191msgstr ""
359msgstr ""
192
360
193−#: qml/Dash/GenericScopeView.qml:579
361+#: qml/Dash/GenericScopeView.qml:580
194msgid "Show all"
362msgid "Show all"
195msgstr ""
363msgstr ""
196
364
197−#: qml/Dash/GenericScopeView.qml:636
365+#: qml/Dash/GenericScopeView.qml:637
198msgctxt "Label: Hint for dash search line edit"
366msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
367msgid "Search"
200−msgstr ""
368+msgstr "Circà"
201
369
202−#: qml/Dash/PageHeaderExtraPanel.qml:55
370+#: qml/Dash/PageHeaderExtraPanel.qml:56
203msgid "Recent Searches"
371msgid "Recent Searches"
204−msgstr ""
372+msgstr "Ricerche recente"
205
373
206−#: qml/Dash/PageHeaderExtraPanel.qml:66
374+#: qml/Dash/PageHeaderExtraPanel.qml:67
207msgid "Clear All"
375msgid "Clear All"
208−msgstr ""
376+msgstr "Squassà tuttu"
209
377
210#: qml/Dash/Previews/PreviewActionCombo.qml:35
378#: qml/Dash/Previews/PreviewActionCombo.qml:35
211msgid "More..."
379msgid "More..."
212−msgstr ""
380+msgstr "Di più..."
213
381
214#: qml/Dash/Previews/PreviewActionCombo.qml:35
382#: qml/Dash/Previews/PreviewActionCombo.qml:35
215msgid "Less..."
383msgid "Less..."
216−msgstr ""
384+msgstr "Menu..."
217
385
218#: qml/Dash/Previews/PreviewCommentInput.qml:68
386#: qml/Dash/Previews/PreviewCommentInput.qml:68
219−#: qml/Dash/Previews/PreviewRatingInput.qml:174
387+#: qml/Dash/Previews/PreviewRatingInput.qml:175
220msgid "Send"
388msgid "Send"
221−msgstr ""
389+msgstr "Mandà"
222
390
223−#: qml/Dash/Previews/PreviewRatingInput.qml:84
391+#: qml/Dash/Previews/PreviewRatingInput.qml:82
224msgid "Rate this"
392msgid "Rate this"
225−msgstr ""
393+msgstr "Ghjudicà questu"
226
394
227−#: qml/Dash/Previews/PreviewRatingInput.qml:129
395+#: qml/Dash/Previews/PreviewRatingInput.qml:157
228msgid "Add a review"
396msgid "Add a review"
229−msgstr ""
397+msgstr "Aghjustà una recensione"
230
398
231#: qml/Dash/Previews/PreviewSharing.qml:66
399#: qml/Dash/Previews/PreviewSharing.qml:66
232msgid "Preview Share Item"
400msgid "Preview Share Item"
233−msgstr ""
401+msgstr "Anteprima elementi da sparte"
234
402
235#: qml/Dash/PullToRefreshScopeStyle.qml:55
403#: qml/Dash/PullToRefreshScopeStyle.qml:55
236msgid "Pull to refresh…"
404msgid "Pull to refresh…"
237−msgstr ""
405+msgstr "Tirà per rinnuvà..."
238
406
239#: qml/Dash/PullToRefreshScopeStyle.qml:60
407#: qml/Dash/PullToRefreshScopeStyle.qml:60
240msgid "Release to refresh…"
408msgid "Release to refresh…"
241−msgstr ""
409+msgstr "Lascià andà per rinnuvà..."
242
410
243#: qml/Dash/ScopeSettings/ScopeSettingBoolean.qml:43
411#: qml/Dash/ScopeSettings/ScopeSettingBoolean.qml:43
244msgid "Enable location data"
412msgid "Enable location data"
245−msgstr ""
413+msgstr "Abilità i dati nant'à u locu"
246
414
247−#: qml/Dash/ScopesList.qml:67
415+#: qml/Dash/ScopesList.qml:55
248msgid "Manage"
416msgid "Manage"
249−msgstr ""
417+msgstr "Gestì"
250
418
251−#: qml/Dash/ScopesList.qml:113
419+#: qml/Dash/ScopesList.qml:101
252msgid "Home"
420msgid "Home"
253−msgstr ""
421+msgstr "Accolta"
254
422
255−#: qml/Dash/ScopesList.qml:114
423+#: qml/Dash/ScopesList.qml:102
256msgid "Also installed"
424msgid "Also installed"
257−msgstr ""
425+msgstr "Anu dinù installatu..."
258
426
259#: qml/DisabledScreenNotice.qml:109
427#: qml/DisabledScreenNotice.qml:109
260msgid ""
428msgid ""
261"Your device is now connected to an external display. Use this screen as a "
429"Your device is now connected to an external display. Use this screen as a "
262"touch pad to interact with the pointer."
430"touch pad to interact with the pointer."
263msgstr ""
431msgstr ""
432+"U vostru dispusitivu avà hè cunnessu à unu screnu esternu. Usà u screnu di "
433+"ssu dispusitivu cum'è un tappettu tattile per guvernà u puntatore."
264
434
265−#: qml/Greeter/CoverPage.qml:118
435+#: qml/Greeter/CoverPage.qml:119
266msgid "Unlock"
436msgid "Unlock"
267−msgstr ""
437+msgstr "Sbluccà"
268
438
269−#: qml/Greeter/LoginList.qml:239
439+#: qml/Greeter/LoginList.qml:259
270msgid "Retry"
440msgid "Retry"
271−msgstr ""
441+msgstr "Turnà à pruvà"
272
442
273−#: qml/Greeter/LoginList.qml:240
443+#: qml/Greeter/LoginList.qml:260
274−msgid "Tap to unlock"
444+msgid "Log In"
275msgstr ""
445msgstr ""
276
446
277#: qml/Greeter/NarrowView.qml:54
447#: qml/Greeter/NarrowView.qml:54
278msgid "Sorry, incorrect passphrase."
448msgid "Sorry, incorrect passphrase."
279−msgstr ""
449+msgstr "Spiacenti, frasa d'ordine errata"
280
450
281#: qml/Greeter/NarrowView.qml:55
451#: qml/Greeter/NarrowView.qml:55
282msgid "Sorry, incorrect passcode."
452msgid "Sorry, incorrect passcode."
283−msgstr ""
453+msgstr "Spiacenti, codice d'accessu erratu"
284
454
285#: qml/Greeter/NarrowView.qml:56
455#: qml/Greeter/NarrowView.qml:56
286msgid "This will be your last attempt."
456msgid "This will be your last attempt."
287−msgstr ""
457+msgstr "Questu tentativu serà l'ultimu."
288
458
289#: qml/Greeter/NarrowView.qml:58
459#: qml/Greeter/NarrowView.qml:58
290msgid ""
460msgid ""
291"If passphrase is entered incorrectly, your phone will conduct a factory "
461"If passphrase is entered incorrectly, your phone will conduct a factory "
292"reset and all personal data will be deleted."
462"reset and all personal data will be deleted."
293msgstr ""
463msgstr ""
464+"Si a frasa d'ordine hè errata, u telefunu serà reinizializatu, è tutti i "
465+"dati persunali serannu perduti."
294
466
295#: qml/Greeter/NarrowView.qml:59
467#: qml/Greeter/NarrowView.qml:59
296msgid ""
468msgid ""
297"If passcode is entered incorrectly, your phone will conduct a factory reset "
469"If passcode is entered incorrectly, your phone will conduct a factory reset "
298"and all personal data will be deleted."
470"and all personal data will be deleted."
299msgstr ""
471msgstr ""
472+"Si u codice d'accessu hè erratu, u telefunu serà reinizializatu, è tutti i "
473+"dati persunali serannu perduti."
300
474
301#: qml/Greeter/NarrowView.qml:116
475#: qml/Greeter/NarrowView.qml:116
302#, qt-format
476#, qt-format
303msgid "Enter %1"
477msgid "Enter %1"
304−msgstr ""
478+msgstr "Inserì %1"
305
479
306#: qml/Greeter/NarrowView.qml:117
480#: qml/Greeter/NarrowView.qml:117
307msgid "Enter passphrase"
481msgid "Enter passphrase"
308−msgstr ""
482+msgstr "Inserì a frasa d'ordine"
309
483
310#: qml/Greeter/NarrowView.qml:118
484#: qml/Greeter/NarrowView.qml:118
311msgid "Enter passcode"
485msgid "Enter passcode"
312−msgstr ""
486+msgstr "Inserì u codice d'accessu"
313
487
314#: qml/Greeter/NarrowView.qml:119
488#: qml/Greeter/NarrowView.qml:119
315#, qt-format
489#, qt-format
316msgid "Sorry, incorrect %1"
490msgid "Sorry, incorrect %1"
317−msgstr ""
491+msgstr "Spiacenti, %1 micca currettu"
318
492
319#: qml/Greeter/NarrowView.qml:120
493#: qml/Greeter/NarrowView.qml:120
320msgid "Sorry, incorrect passphrase"
494msgid "Sorry, incorrect passphrase"
321−msgstr ""
495+msgstr "Spiacenti, frasa d'ordine micca curretta"
322
496
323#: qml/Greeter/NarrowView.qml:121
497#: qml/Greeter/NarrowView.qml:121
324msgctxt "passphrase"
498msgctxt "passphrase"
325msgid "Please re-enter"
499msgid "Please re-enter"
326−msgstr ""
500+msgstr "Ripete l'inserimentu"
327
501
328#: qml/Greeter/NarrowView.qml:122
502#: qml/Greeter/NarrowView.qml:122
329msgid "Sorry, incorrect passcode"
503msgid "Sorry, incorrect passcode"
330−msgstr ""
504+msgstr "Spiacenti, codice d'accessu micca currettu"
331
505
332#: qml/Notifications/NotificationMenuItemFactory.qml:124
506#: qml/Notifications/NotificationMenuItemFactory.qml:124
333msgid "Show password"
507msgid "Show password"
334−msgstr ""
508+msgstr "Mustrà a parolla d'ordine"
335
509
336#: qml/Panel/ActiveCallHint.qml:79
510#: qml/Panel/ActiveCallHint.qml:79
337msgid "Tap to return to call..."
511msgid "Tap to return to call..."
338−msgstr ""
512+msgstr "Tuccà per riturnà à a chjamata..."
339
513
340#: qml/Panel/ActiveCallHint.qml:92
514#: qml/Panel/ActiveCallHint.qml:92
341msgid "Conference"
515msgid "Conference"
342−msgstr ""
516+msgstr "Cunferenza"
343
517
344#: qml/Panel/Indicators/MenuItemFactory.qml:762
518#: qml/Panel/Indicators/MenuItemFactory.qml:762
345msgid "Nothing is playing"
519msgid "Nothing is playing"
346−msgstr ""
520+msgstr "Nunda in ripruduzione..."
347
521
348#: qml/Panel/Indicators/MenuItemFactory.qml:891
522#: qml/Panel/Indicators/MenuItemFactory.qml:891
349#, qt-format
523#, qt-format
350msgid "%1 hour"
524msgid "%1 hour"
351msgid_plural "%1 hours"
525msgid_plural "%1 hours"
352−msgstr[0] ""
526+msgstr[0] "%1 ora"
353−msgstr[1] ""
527+msgstr[1] "%1 ore"
354
528
355#: qml/Panel/Indicators/MenuItemFactory.qml:895
529#: qml/Panel/Indicators/MenuItemFactory.qml:895
356#, qt-format
530#, qt-format
357msgid "%1 minute"
531msgid "%1 minute"
358msgid_plural "%1 minutes"
532msgid_plural "%1 minutes"
359−msgstr[0] ""
533+msgstr[0] "%1 minutu"
360−msgstr[1] ""
534+msgstr[1] "%1 minuti"
361
535
362#: qml/Panel/Indicators/MenuItemFactory.qml:900
536#: qml/Panel/Indicators/MenuItemFactory.qml:900
363#, qt-format
537#, qt-format
364msgid "%1 second"
538msgid "%1 second"
365msgid_plural "%1 seconds"
539msgid_plural "%1 seconds"
366−msgstr[0] ""
540+msgstr[0] "%1 seconda"
367−msgstr[1] ""
541+msgstr[1] "%1 seconde"
368
542
369#: qml/Panel/Indicators/MenuItemFactory.qml:903
543#: qml/Panel/Indicators/MenuItemFactory.qml:903
370msgid "0 seconds"
544msgid "0 seconds"
371−msgstr ""
545+msgstr "0 seconde"
372
546
373#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
547#. Translators: String like "1 hour, 2 minutes, 3 seconds remaining"
374#: qml/Panel/Indicators/MenuItemFactory.qml:905
548#: qml/Panel/Indicators/MenuItemFactory.qml:905
375#, qt-format
549#, qt-format
376msgid "%1 remaining"
550msgid "%1 remaining"
377−msgstr ""
551+msgstr "%1 rimanente"
378
552
379#: qml/Panel/Indicators/MenuItemFactory.qml:911
553#: qml/Panel/Indicators/MenuItemFactory.qml:911
380msgid "In queue…"
554msgid "In queue…"
381−msgstr ""
555+msgstr "In coda..."
382
556
383#: qml/Panel/Indicators/MenuItemFactory.qml:915
557#: qml/Panel/Indicators/MenuItemFactory.qml:915
384msgid "Downloading"
558msgid "Downloading"
385−msgstr ""
559+msgstr "Scaricamentu..."
386
560
387#: qml/Panel/Indicators/MenuItemFactory.qml:917
561#: qml/Panel/Indicators/MenuItemFactory.qml:917
388msgid "Paused, tap to resume"
562msgid "Paused, tap to resume"
389−msgstr ""
563+msgstr "In sosta, tuccà pè riprende"
390
564
391#: qml/Panel/Indicators/MenuItemFactory.qml:919
565#: qml/Panel/Indicators/MenuItemFactory.qml:919
392msgid "Canceled"
566msgid "Canceled"
393−msgstr ""
567+msgstr "Annullatu"
394
568
395#: qml/Panel/Indicators/MenuItemFactory.qml:921
569#: qml/Panel/Indicators/MenuItemFactory.qml:921
396msgid "Finished"
570msgid "Finished"
397−msgstr ""
571+msgstr "Cumpletu"
398
572
399#: qml/Panel/Indicators/MenuItemFactory.qml:923
573#: qml/Panel/Indicators/MenuItemFactory.qml:923
400msgid "Failed, tap to retry"
574msgid "Failed, tap to retry"
401−msgstr ""
575+msgstr "Fallatu, tocca per turnà à pruvà"
402
576
403−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:155
577+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:151
404−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
578+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:210
405msgctxt "Button: Send a reply message"
579msgctxt "Button: Send a reply message"
406msgid "Send"
580msgid "Send"
407−msgstr ""
581+msgstr "Mandà"
408
582
409−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
583+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:152
410msgctxt "Label: Hint in message indicator line edit"
584msgctxt "Label: Hint in message indicator line edit"
411msgid "Reply"
585msgid "Reply"
412−msgstr ""
586+msgstr "Risponde"
413
587
414−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
588+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:209
415msgctxt "Button: Call back on phone"
589msgctxt "Button: Call back on phone"
416msgid "Call back"
590msgid "Call back"
417−msgstr ""
591+msgstr "Richjamà"
418
592
419#: qml/Stages/SideStage.qml:76
593#: qml/Stages/SideStage.qml:76
420msgid "Drag using 3 fingers any application from one window to the other"
594msgid "Drag using 3 fingers any application from one window to the other"
421msgstr ""
595msgstr ""
596+"Trascinà cù 3 dite qualichissia applicazione da una finestra à un'antra"
422
597
423−#: qml/Tutorial/TutorialBottom.qml:78
424−msgid "Swipe up to add a contact"
425−msgstr ""
426−
427−#: qml/Tutorial/TutorialBottom.qml:80
428−msgid "Swipe up for favorite calculations"
429−msgstr ""
430−
431−#: qml/Tutorial/TutorialBottom.qml:82
432−msgid "Swipe up for recent calls"
433−msgstr ""
434−
435−#: qml/Tutorial/TutorialBottom.qml:84
436−msgid "Swipe up to create a message"
437−msgstr ""
438−
439−#: qml/Tutorial/TutorialBottom.qml:85
440−msgid "Swipe up to manage the app"
441−msgstr ""
442−
443−#: qml/Tutorial/TutorialLeftLong.qml:47
598+#: qml/Tutorial/TutorialLeftLong.qml:49
444msgid "Long swipe from the left edge to open the Today scope"
599msgid "Long swipe from the left edge to open the Today scope"
445−msgstr ""
600+msgstr "Scorre longu da mancina versu diritta per aprì u pannellu Oghje"
446
601
447#: qml/Tutorial/TutorialLeft.qml:47
602#: qml/Tutorial/TutorialLeft.qml:47
448−msgid "Swipe from the left edge to open the launcher"
603+msgid "Short swipe from the left edge to open the launcher"
449msgstr ""
604msgstr ""
450
605
451#: qml/Tutorial/TutorialRight.qml:55
606#: qml/Tutorial/TutorialRight.qml:55
@@ -453,158 +608,158 @@ msgid "Push your mouse against the right edge to view your open apps"
453msgstr ""
608msgstr ""
454
609
455#: qml/Tutorial/TutorialRight.qml:56
610#: qml/Tutorial/TutorialRight.qml:56
456−msgid "Short or long swipe from the right edge to view your open apps"
611+msgid "Swipe from the right edge to view your open apps"
457msgstr ""
612msgstr ""
458
613
459#: qml/Tutorial/TutorialTop.qml:53
614#: qml/Tutorial/TutorialTop.qml:53
460−msgid "Swipe from the top right edge to open the notification bar"
615+msgid "Swipe from the top edge to access notifications and quick settings"
461−msgstr ""
462−
463−#: qml/Tutorial/TutorialTop.qml:54
464−msgid "Swipe from the top edge to open the notification bar"
465msgstr ""
616msgstr ""
466
617
467#: qml/Wizard/Page.qml:54
618#: qml/Wizard/Page.qml:54
468msgctxt "Button: Go back one page in the Wizard"
619msgctxt "Button: Go back one page in the Wizard"
469msgid "Back"
620msgid "Back"
470−msgstr ""
621+msgstr "Riturnà"
471
622
472#: qml/Wizard/Pages/10-welcome.qml:27
623#: qml/Wizard/Pages/10-welcome.qml:27
473msgid "Language"
624msgid "Language"
474−msgstr ""
625+msgstr "Lingua"
475
626
476−#: qml/Wizard/Pages/10-welcome.qml:156 qml/Wizard/Pages/30-wifi.qml:206
627+#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
477−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:267
628+#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
478#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
629#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
479#: qml/Wizard/Pages/75-report-check.qml:84
630#: qml/Wizard/Pages/75-report-check.qml:84
480#: qml/Wizard/Pages/passcode-desktop.qml:124
631#: qml/Wizard/Pages/passcode-desktop.qml:124
481#: qml/Wizard/Pages/password-set.qml:141
632#: qml/Wizard/Pages/password-set.qml:141
482msgid "Next"
633msgid "Next"
483−msgstr ""
634+msgstr "Prossimu"
484
635
485#: qml/Wizard/Pages/30-wifi.qml:29
636#: qml/Wizard/Pages/30-wifi.qml:29
486msgid "Connect to Wi‑Fi"
637msgid "Connect to Wi‑Fi"
487−msgstr ""
638+msgstr "Cunnettesi à u Wi-Fi"
488
639
489#: qml/Wizard/Pages/30-wifi.qml:130
640#: qml/Wizard/Pages/30-wifi.qml:130
490msgid "Connected"
641msgid "Connected"
491−msgstr ""
642+msgstr "Cunnessu"
492
643
493#: qml/Wizard/Pages/30-wifi.qml:163
644#: qml/Wizard/Pages/30-wifi.qml:163
494msgid "Available Wi-Fi networks"
645msgid "Available Wi-Fi networks"
495−msgstr ""
646+msgstr "Rete Wi-Fi dispunibili"
496
647
497#: qml/Wizard/Pages/30-wifi.qml:164
648#: qml/Wizard/Pages/30-wifi.qml:164
498msgid "No available Wi-Fi networks"
649msgid "No available Wi-Fi networks"
499−msgstr ""
650+msgstr "Nisuna reta Wi-Fi hè dispunibile"
500
651
501#: qml/Wizard/Pages/30-wifi.qml:206 qml/Wizard/Pages/60-account.qml:65
652#: qml/Wizard/Pages/30-wifi.qml:206 qml/Wizard/Pages/60-account.qml:65
502#: qml/Wizard/Pages/sim.qml:101
653#: qml/Wizard/Pages/sim.qml:101
503msgid "Skip"
654msgid "Skip"
504−msgstr ""
655+msgstr "Ignurà"
505
656
506#: qml/Wizard/Pages/40-location.qml:27
657#: qml/Wizard/Pages/40-location.qml:27
507msgid "Location Services"
658msgid "Location Services"
508−msgstr ""
659+msgstr "Servizi di lucalizazione"
509
660
510#: qml/Wizard/Pages/40-location.qml:83
661#: qml/Wizard/Pages/40-location.qml:83
511msgid ""
662msgid ""
512"Use GPS, Wi-Fi hotspots and mobile network anonymously to detect location "
663"Use GPS, Wi-Fi hotspots and mobile network anonymously to detect location "
513"(recommended)"
664"(recommended)"
514msgstr ""
665msgstr ""
666+"Usà di manera anonima u GPS, i punti d'accessu Wi-Fi, e reti mobili, per "
667+"stabilisce à pusizione (segeritu)"
515
668
516#: qml/Wizard/Pages/40-location.qml:105
669#: qml/Wizard/Pages/40-location.qml:105
517#, qt-format
670#, qt-format
518msgid "By selecting this option you agree to the Nokia HERE %1."
671msgid "By selecting this option you agree to the Nokia HERE %1."
519−msgstr ""
672+msgstr "Selezziunendu issa ozzione s'accettanu i %1 di Nokia HERE."
520
673
521#: qml/Wizard/Pages/40-location.qml:106
674#: qml/Wizard/Pages/40-location.qml:106
522msgctxt "part of: Nokia HERE terms and conditions"
675msgctxt "part of: Nokia HERE terms and conditions"
523msgid "terms and conditions"
676msgid "terms and conditions"
524−msgstr ""
677+msgstr "termini è cundizioni"
525
678
526#: qml/Wizard/Pages/40-location.qml:160
679#: qml/Wizard/Pages/40-location.qml:160
527msgid "GPS only"
680msgid "GPS only"
528−msgstr ""
681+msgstr "Sulamente GPS"
529
682
530#: qml/Wizard/Pages/40-location.qml:214
683#: qml/Wizard/Pages/40-location.qml:214
531msgid "Don't use my location"
684msgid "Don't use my location"
532−msgstr ""
685+msgstr "Miccà usà u mo locu"
533
686
534#: qml/Wizard/Pages/40-location.qml:260
687#: qml/Wizard/Pages/40-location.qml:260
535msgid "You can change it later in System Settings."
688msgid "You can change it later in System Settings."
536−msgstr ""
689+msgstr "A pudite cambià successivamente ind'i Parametri di Sistema"
537
690
538#: qml/Wizard/Pages/50-timezone.qml:29
691#: qml/Wizard/Pages/50-timezone.qml:29
539msgid "Time Zone"
692msgid "Time Zone"
540−msgstr ""
693+msgstr "Fusu orariu"
541
694
542−#: qml/Wizard/Pages/50-timezone.qml:178
695+#: qml/Wizard/Pages/50-timezone.qml:181
543msgid "Enter your city"
696msgid "Enter your city"
544−msgstr ""
697+msgstr "Inserì a vostra cità"
545
698
546#: qml/Wizard/Pages/60-account.qml:24
699#: qml/Wizard/Pages/60-account.qml:24
547msgid "Personalize Your Device"
700msgid "Personalize Your Device"
548−msgstr ""
701+msgstr "Persunalizà u vostru dispusitivu"
549
702
550#: qml/Wizard/Pages/60-account.qml:48
703#: qml/Wizard/Pages/60-account.qml:48
551msgid "Preferred Name"
704msgid "Preferred Name"
552−msgstr ""
705+msgstr "Nome preferitu"
553
706
554#: qml/Wizard/Pages/70-passwd-type.qml:39
707#: qml/Wizard/Pages/70-passwd-type.qml:39
555msgid "Lock Screen"
708msgid "Lock Screen"
556−msgstr ""
709+msgstr "Bluccà u screnu"
557
710
558#: qml/Wizard/Pages/70-passwd-type.qml:101
711#: qml/Wizard/Pages/70-passwd-type.qml:101
559msgctxt "Label: Type of security method"
712msgctxt "Label: Type of security method"
560msgid "Create new password"
713msgid "Create new password"
561−msgstr ""
714+msgstr "Creà una nova parolla d'ordine"
562
715
563#: qml/Wizard/Pages/70-passwd-type.qml:103
716#: qml/Wizard/Pages/70-passwd-type.qml:103
564msgctxt "Label: Type of security method"
717msgctxt "Label: Type of security method"
565msgid "Create passcode (numbers only)"
718msgid "Create passcode (numbers only)"
566−msgstr ""
719+msgstr "Creà un codice d'accessu (sulamente numeri)"
567
720
568#: qml/Wizard/Pages/70-passwd-type.qml:105
721#: qml/Wizard/Pages/70-passwd-type.qml:105
569msgctxt "Label: Type of security method"
722msgctxt "Label: Type of security method"
570msgid "No lock code"
723msgid "No lock code"
571−msgstr ""
724+msgstr "Nisun codice di bloccu"
572
725
573#: qml/Wizard/Pages/75-report-check.qml:26 qml/Wizard/Pages/here-terms.qml:108
726#: qml/Wizard/Pages/75-report-check.qml:26 qml/Wizard/Pages/here-terms.qml:108
574msgid "Privacy Policy"
727msgid "Privacy Policy"
575−msgstr ""
728+msgstr "Pulitica di Riservatezza"
576
729
577#: qml/Wizard/Pages/75-report-check.qml:26
730#: qml/Wizard/Pages/75-report-check.qml:26
578msgid "Help Us Improve"
731msgid "Help Us Improve"
579−msgstr ""
732+msgstr "Aiutaci à migliurà"
580
733
581#: qml/Wizard/Pages/75-report-check.qml:59
734#: qml/Wizard/Pages/75-report-check.qml:59
582msgid "Improve system performance by sending us crashes and error reports."
735msgid "Improve system performance by sending us crashes and error reports."
583msgstr ""
736msgstr ""
737+"Migliurà l'efficienza di u sistema mandenduci nutificazioni d'errori è "
738+"blocchi impurtanti."
584
739
585#: qml/Wizard/Pages/75-report-check.qml:60
740#: qml/Wizard/Pages/75-report-check.qml:60
586msgid "Privacy policy"
741msgid "Privacy policy"
587−msgstr ""
742+msgstr "Pulitica di Riservatezza"
588
743
589#: qml/Wizard/Pages/80-finished.qml:89
744#: qml/Wizard/Pages/80-finished.qml:89
590msgid "Welcome to Ubuntu"
745msgid "Welcome to Ubuntu"
591−msgstr ""
746+msgstr "Benvenuti in Ubuntu"
592
747
593#: qml/Wizard/Pages/80-finished.qml:104
748#: qml/Wizard/Pages/80-finished.qml:104
594msgid "You are ready to use your device now"
749msgid "You are ready to use your device now"
595−msgstr ""
750+msgstr "Avà site pronti à usà u vostru dispusitivu"
596
751
597#: qml/Wizard/Pages/80-finished.qml:124
752#: qml/Wizard/Pages/80-finished.qml:124
598msgid "Get Started"
753msgid "Get Started"
599−msgstr ""
754+msgstr "Primi passi"
600
755
601#: qml/Wizard/Pages/here-terms.qml:25
756#: qml/Wizard/Pages/here-terms.qml:25
602msgid "Terms & Conditions"
757msgid "Terms & Conditions"
603−msgstr ""
758+msgstr "Termini & Cundizioni"
604
759
605#: qml/Wizard/Pages/here-terms.qml:69
760#: qml/Wizard/Pages/here-terms.qml:69
606msgid "Your device uses positioning technologies provided by HERE."
761msgid "Your device uses positioning technologies provided by HERE."
607−msgstr ""
762+msgstr "U dispusitivu utliza tecnulugie di pusiziunamentu furnite da HERE."
608
763
609#: qml/Wizard/Pages/here-terms.qml:81
764#: qml/Wizard/Pages/here-terms.qml:81
610msgid ""
765msgid ""
@@ -612,125 +767,172 @@ msgid ""
612"collects information about nearby cell towers and Wi-Fi hotspots around your "
767"collects information about nearby cell towers and Wi-Fi hotspots around your "
613"current location whenever your position is being found."
768"current location whenever your position is being found."
614msgstr ""
769msgstr ""
770+"Per furnì servizii di pusiziunamentu è migliuranne a qualità, ogni volta chì "
771+"a pusizione hè truvata, HERE culleziona e infurmazione nant'à i punti "
772+"d'accessu Wi-Fi è i repetitori di telefunia mobile ind'u circondu."
615
773
616#: qml/Wizard/Pages/here-terms.qml:93
774#: qml/Wizard/Pages/here-terms.qml:93
617msgid ""
775msgid ""
618"The information collected is used to analyze the service and to improve the "
776"The information collected is used to analyze the service and to improve the "
619"use of service, but not to identify you personally."
777"use of service, but not to identify you personally."
620msgstr ""
778msgstr ""
779+"E infurmazione raccolte seranu utilizate per analizà u servizi è "
780+"migliurallu, micca per idintificà l'utilizatore."
621
781
622#: qml/Wizard/Pages/here-terms.qml:106
782#: qml/Wizard/Pages/here-terms.qml:106
623#, qt-format
783#, qt-format
624msgid "By continuing, you agree to the HERE platform %1 and %2."
784msgid "By continuing, you agree to the HERE platform %1 and %2."
625−msgstr ""
785+msgstr "Cuntinuendu, s'accettanu i %1 e la %2 di a piattaforma HERE."
626
786
627#: qml/Wizard/Pages/here-terms.qml:107
787#: qml/Wizard/Pages/here-terms.qml:107
628msgid "Service Terms"
788msgid "Service Terms"
629−msgstr ""
789+msgstr "Termini di u serviziu"
630
790
631#: qml/Wizard/Pages/passcode-confirm.qml:43
791#: qml/Wizard/Pages/passcode-confirm.qml:43
632#: qml/Wizard/Pages/passcode-desktop.qml:80
792#: qml/Wizard/Pages/passcode-desktop.qml:80
633msgid "Confirm passcode"
793msgid "Confirm passcode"
634−msgstr ""
794+msgstr "Cunfirmà u codice d'accessu"
635
795
636#: qml/Wizard/Pages/passcode-confirm.qml:45
796#: qml/Wizard/Pages/passcode-confirm.qml:45
637msgid "Incorrect passcode."
797msgid "Incorrect passcode."
638−msgstr ""
798+msgstr "Codice d'accessu micca currettu"
639
799
640#: qml/Wizard/Pages/passcode-confirm.qml:45
800#: qml/Wizard/Pages/passcode-confirm.qml:45
641msgctxt "Enter the passcode again"
801msgctxt "Enter the passcode again"
642msgid "Please re-enter."
802msgid "Please re-enter."
643−msgstr ""
803+msgstr "Ripete l'inserimentu."
644
804
645#: qml/Wizard/Pages/passcode-desktop.qml:30
805#: qml/Wizard/Pages/passcode-desktop.qml:30
646msgid "Lock Screen Passcode"
806msgid "Lock Screen Passcode"
647−msgstr ""
807+msgstr "Codice bloccu screnu"
648
808
649#: qml/Wizard/Pages/passcode-desktop.qml:56
809#: qml/Wizard/Pages/passcode-desktop.qml:56
650msgid "Enter 4 numbers to setup your passcode"
810msgid "Enter 4 numbers to setup your passcode"
651−msgstr ""
811+msgstr "Inserì 4 numeri per creà u vostru codice d'accessu"
652
812
653#: qml/Wizard/Pages/passcode-desktop.qml:65
813#: qml/Wizard/Pages/passcode-desktop.qml:65
654#: qml/Wizard/Pages/passcode-set.qml:54
814#: qml/Wizard/Pages/passcode-set.qml:54
655msgid "Choose passcode"
815msgid "Choose passcode"
656−msgstr ""
816+msgstr "Sceglie u codice d'accessu"
657
817
658#: qml/Wizard/Pages/passcode-desktop.qml:105
818#: qml/Wizard/Pages/passcode-desktop.qml:105
659msgid "Passcode too short"
819msgid "Passcode too short"
660−msgstr ""
820+msgstr "Codice d'accessu troppu cortu"
661
821
662#: qml/Wizard/Pages/passcode-desktop.qml:107
822#: qml/Wizard/Pages/passcode-desktop.qml:107
663msgid "Passcodes match"
823msgid "Passcodes match"
664−msgstr ""
824+msgstr "I codici currispondenu."
665
825
666#: qml/Wizard/Pages/passcode-desktop.qml:109
826#: qml/Wizard/Pages/passcode-desktop.qml:109
667msgid "Passcodes do not match"
827msgid "Passcodes do not match"
668−msgstr ""
828+msgstr "I codici ùn currispondenu micca."
669
829
670#: qml/Wizard/Pages/passcode-set.qml:62
830#: qml/Wizard/Pages/passcode-set.qml:62
671msgid "Passcode must be 4 characters long"
831msgid "Passcode must be 4 characters long"
672−msgstr ""
832+msgstr "U codice d'accessu hà da esse longu almenu 4 caratteri"
673
833
674#: qml/Wizard/Pages/password-set.qml:30
834#: qml/Wizard/Pages/password-set.qml:30
675msgid "Lock Screen Password"
835msgid "Lock Screen Password"
676−msgstr ""
836+msgstr "Parolla d'ordine per bloccu screnu"
677
837
678#: qml/Wizard/Pages/password-set.qml:61
838#: qml/Wizard/Pages/password-set.qml:61
679msgid "Enter at least 8 characters"
839msgid "Enter at least 8 characters"
680−msgstr ""
840+msgstr "Inserì almenu 8 caratteri"
681
841
682#: qml/Wizard/Pages/password-set.qml:73
842#: qml/Wizard/Pages/password-set.qml:73
683msgid "Choose password"
843msgid "Choose password"
684−msgstr ""
844+msgstr "Sceglie a parolla d'ordine"
685
845
686#: qml/Wizard/Pages/password-set.qml:103
846#: qml/Wizard/Pages/password-set.qml:103
687msgid "Confirm password"
847msgid "Confirm password"
688−msgstr ""
848+msgstr "Cunfirmà parolla d'ordine"
689
849
690#: qml/Wizard/Pages/sim.qml:27
850#: qml/Wizard/Pages/sim.qml:27
691msgid "No SIM card installed"
851msgid "No SIM card installed"
692−msgstr ""
852+msgstr "Nisuna carta SIM installata"
693
853
694#: qml/Wizard/Pages/sim.qml:54
854#: qml/Wizard/Pages/sim.qml:54
695msgid "SIM card added"
855msgid "SIM card added"
696−msgstr ""
856+msgstr "Carta SIM aghjustata"
697
857
698#: qml/Wizard/Pages/sim.qml:55
858#: qml/Wizard/Pages/sim.qml:55
699msgid "You must restart the device to access the mobile network."
859msgid "You must restart the device to access the mobile network."
700−msgstr ""
860+msgstr "Duvite ri-avvià u dispusitivu per accede à a reta mobile."
701
861
702#: qml/Wizard/Pages/sim.qml:59
862#: qml/Wizard/Pages/sim.qml:59
703msgid "Restart"
863msgid "Restart"
704−msgstr ""
864+msgstr "Turnà ad avvià"
705
865
706#: qml/Wizard/Pages/sim.qml:78
866#: qml/Wizard/Pages/sim.qml:78
707msgid "You won’t be able to make calls or use text messaging without a SIM."
867msgid "You won’t be able to make calls or use text messaging without a SIM."
708msgstr ""
868msgstr ""
869+"Senza una carta SIM ùn hè micca pussibile di chjamà o mandà messaggi SMS."
709
870
710#: qml/Wizard/Pages/sim.qml:90
871#: qml/Wizard/Pages/sim.qml:90
711msgid "To proceed with no SIM tap Skip."
872msgid "To proceed with no SIM tap Skip."
712−msgstr ""
873+msgstr "Per prucede senza una carta SIM tuccà Saltà"
713
874
714#: qml/Wizard/PasswordMeter.qml:87
875#: qml/Wizard/PasswordMeter.qml:87
715msgid "Passwords match"
876msgid "Passwords match"
716−msgstr ""
877+msgstr "E parolle d'ordine sò l'istesse"
717
878
718#: qml/Wizard/PasswordMeter.qml:89
879#: qml/Wizard/PasswordMeter.qml:89
719msgid "Passwords do not match"
880msgid "Passwords do not match"
720−msgstr ""
881+msgstr "E parolle d'ordine ùn coincidunu micca"
721
882
722#: qml/Wizard/PasswordMeter.qml:93
883#: qml/Wizard/PasswordMeter.qml:93
723msgid "Strong password"
884msgid "Strong password"
724−msgstr ""
885+msgstr "Parolla d'ordine forte"
725
886
726#: qml/Wizard/PasswordMeter.qml:95
887#: qml/Wizard/PasswordMeter.qml:95
727msgid "Fair password"
888msgid "Fair password"
728−msgstr ""
889+msgstr "Parolla d'ordine media"
729
890
730#: qml/Wizard/PasswordMeter.qml:97
891#: qml/Wizard/PasswordMeter.qml:97
731msgid "Weak password"
892msgid "Weak password"
732−msgstr ""
893+msgstr "Parolla d'ordine debule"
733
894
734#: qml/Wizard/PasswordMeter.qml:99
895#: qml/Wizard/PasswordMeter.qml:99
735msgid "Very weak password"
896msgid "Very weak password"
736−msgstr ""
897+msgstr "Parolla d'ordine moltu debule"
898+
899+#~ msgid "See all"
900+#~ msgstr "Vede tutti"
901+
902+#~ msgid "Tap to unlock"
903+#~ msgstr "Tuccà per sbluccà"
904+
905+#~ msgid "See less"
906+#~ msgstr "Vede menu"
907+
908+#~ msgid "Swipe from the left edge to open the launcher"
909+#~ msgstr "Scorre da mancina versu diritta per aprì u launcher"
910+
911+#~ msgid "Swipe up to add a contact"
912+#~ msgstr "Scorre versu l'altu per aghjustà un cuntattu"
913+
914+#~ msgid "Swipe up for recent calls"
915+#~ msgstr "Scorre versu l'altu pè e chjamate recenti"
916+
917+#~ msgid "Swipe up for favorite calculations"
918+#~ msgstr "Scorre versu l'altu pè mustrà i calculi favuriti"
919+
920+#~ msgid "Swipe up to manage the app"
921+#~ msgstr "Scorre versu l'altu per gestì l'app"
922+
923+#~ msgid "Swipe up to create a message"
924+#~ msgstr "Scorre versu l'altu per creà un messaggiu"
925+
926+#~ msgid "Short or long swipe from the right edge to view your open apps"
927+#~ msgstr ""
928+#~ "Scorre cortu o longu da diritta versu mancina per vede e applicazioni aperte"
929+
930+#~ msgid "Swipe from the top right edge to open the notification bar"
931+#~ msgstr "Scorre da l'altu à diritta per aprì a barra di e nutificazione"
932+
933+#~ msgid "Swipe from the top edge to open the notification bar"
934+#~ msgstr "Scorre da l'altu per aprì a barra di e nutificazione"
935+
936+#~ msgid "Hover your mouse on the right edge to view your open apps"
937+#~ msgstr ""
938+#~ "Passà u puntatore di u topu nant'à u bordu destru per vede e app aperte"
po/cs.po+216−77
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-05-20 08:44+0000\n"
10+"POT-Creation-Date: 2016-06-17 01:22+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,24 +15,24 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
17"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
18−"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
18+"X-Launchpad-Export-Date: 2016-06-19 05:54+0000\n"
19−"X-Generator: Launchpad (build 18053)\n"
19+"X-Generator: Launchpad (build 18097)\n"
20"Language: cs\n"
20"Language: cs\n"
21
21
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
24msgstr "Heslo: "
24msgstr "Heslo: "
25
25
26−#: plugins/Unity/Launcher/launcheritem.cpp:48
26+#: plugins/Unity/Launcher/launcheritem.cpp:49
27−#: plugins/Unity/Launcher/launcheritem.cpp:107
27+#: plugins/Unity/Launcher/launcheritem.cpp:108
28msgid "Pin shortcut"
28msgid "Pin shortcut"
29msgstr "Připíchnout zkratku"
29msgstr "Připíchnout zkratku"
30
30
31−#: plugins/Unity/Launcher/launcheritem.cpp:53
31+#: plugins/Unity/Launcher/launcheritem.cpp:54
32msgid "Quit"
32msgid "Quit"
33msgstr ""
33msgstr ""
34
34
35−#: plugins/Unity/Launcher/launcheritem.cpp:107
35+#: plugins/Unity/Launcher/launcheritem.cpp:108
36msgid "Unpin shortcut"
36msgid "Unpin shortcut"
37msgstr "Odpíchnout zkratku"
37msgstr "Odpíchnout zkratku"
38
38
@@ -58,54 +58,54 @@ msgstr[0] "Počkejte, prosím, %1 minut a poté to zkuste znovu..."
58msgstr[1] "Počkejte, prosím, %1 minuty a poté to zkuste znovu..."
58msgstr[1] "Počkejte, prosím, %1 minuty a poté to zkuste znovu..."
59msgstr[2] "Počkejte, prosím, %1 minut a poté to zkuste znovu..."
59msgstr[2] "Počkejte, prosím, %1 minut a poté to zkuste znovu..."
60
60
61−#: qml/Components/Dialogs.qml:144
61+#: qml/Components/Dialogs.qml:146
62msgctxt "Title: Lock/Log out dialog"
62msgctxt "Title: Lock/Log out dialog"
63msgid "Log out"
63msgid "Log out"
64msgstr "Odhlásit se"
64msgstr "Odhlásit se"
65
65
66−#: qml/Components/Dialogs.qml:145
66+#: qml/Components/Dialogs.qml:147
67msgid "Are you sure you want to log out?"
67msgid "Are you sure you want to log out?"
68msgstr "Jste si jistí, že se chcete odhlásit?"
68msgstr "Jste si jistí, že se chcete odhlásit?"
69
69
70−#: qml/Components/Dialogs.qml:147
70+#: qml/Components/Dialogs.qml:149
71msgctxt "Button: Lock the system"
71msgctxt "Button: Lock the system"
72msgid "Lock"
72msgid "Lock"
73msgstr "Uzamknout"
73msgstr "Uzamknout"
74
74
75−#: qml/Components/Dialogs.qml:154
75+#: qml/Components/Dialogs.qml:156
76msgctxt "Button: Log out from the system"
76msgctxt "Button: Log out from the system"
77msgid "Log Out"
77msgid "Log Out"
78msgstr "Odhlásit"
78msgstr "Odhlásit"
79
79
80−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
80+#: qml/Components/Dialogs.qml:163 qml/Components/Dialogs.qml:219
81−#: qml/Dash/DashPageHeader.qml:298 qml/Wizard/Pages/passcode-confirm.qml:32
81+#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
82#: qml/Wizard/Pages/passcode-set.qml:32
82#: qml/Wizard/Pages/passcode-set.qml:32
83msgid "Cancel"
83msgid "Cancel"
84msgstr "Zrušit"
84msgstr "Zrušit"
85
85
86−#: qml/Components/Dialogs.qml:173
86+#: qml/Components/Dialogs.qml:175
87msgctxt "Title: Reboot dialog"
87msgctxt "Title: Reboot dialog"
88msgid "Reboot"
88msgid "Reboot"
89msgstr "Restartovat"
89msgstr "Restartovat"
90
90
91−#: qml/Components/Dialogs.qml:174
91+#: qml/Components/Dialogs.qml:176
92msgid "Are you sure you want to reboot?"
92msgid "Are you sure you want to reboot?"
93msgstr "Jste si jistí, že chcete zařízení restartovat?"
93msgstr "Jste si jistí, že chcete zařízení restartovat?"
94
94
95−#: qml/Components/Dialogs.qml:176
95+#: qml/Components/Dialogs.qml:178
96msgid "No"
96msgid "No"
97msgstr "Ne"
97msgstr "Ne"
98
98
99−#: qml/Components/Dialogs.qml:182
99+#: qml/Components/Dialogs.qml:184
100msgid "Yes"
100msgid "Yes"
101msgstr "Ano"
101msgstr "Ano"
102
102
103−#: qml/Components/Dialogs.qml:197
103+#: qml/Components/Dialogs.qml:199
104msgctxt "Title: Power off/Restart dialog"
104msgctxt "Title: Power off/Restart dialog"
105msgid "Power"
105msgid "Power"
106msgstr "Vypnutí"
106msgstr "Vypnutí"
107
107
108−#: qml/Components/Dialogs.qml:198
108+#: qml/Components/Dialogs.qml:200
109msgid ""
109msgid ""
110"Are you sure you would like\n"
110"Are you sure you would like\n"
111"to power off?"
111"to power off?"
@@ -113,16 +113,176 @@ msgstr ""
113"Jste si jistí, že chcete\n"
113"Jste si jistí, že chcete\n"
114"telefon vypnout?"
114"telefon vypnout?"
115
115
116−#: qml/Components/Dialogs.qml:200
116+#: qml/Components/Dialogs.qml:202
117msgctxt "Button: Power off the system"
117msgctxt "Button: Power off the system"
118msgid "Power off"
118msgid "Power off"
119msgstr "Vypnutí"
119msgstr "Vypnutí"
120
120
121−#: qml/Components/Dialogs.qml:209
121+#: qml/Components/Dialogs.qml:211
122msgctxt "Button: Restart the system"
122msgctxt "Button: Restart the system"
123msgid "Restart"
123msgid "Restart"
124msgstr "Reboot"
124msgstr "Reboot"
125
125
126+#: qml/Components/KeyboardShortcutsOverlay.qml:41
127+msgid "Keyboard Shortcuts"
128+msgstr ""
129+
130+#: qml/Components/KeyboardShortcutsOverlay.qml:55
131+msgid "Unity 8"
132+msgstr ""
133+
134+#: qml/Components/KeyboardShortcutsOverlay.qml:62
135+msgid "PrtScr"
136+msgstr ""
137+
138+#: qml/Components/KeyboardShortcutsOverlay.qml:67
139+msgid "Takes a screenshot."
140+msgstr ""
141+
142+#: qml/Components/KeyboardShortcutsOverlay.qml:75
143+msgid "Alt + PrtScr"
144+msgstr ""
145+
146+#: qml/Components/KeyboardShortcutsOverlay.qml:80
147+msgid "Takes a screenshot of a window."
148+msgstr ""
149+
150+#: qml/Components/KeyboardShortcutsOverlay.qml:88
151+msgid "Super + Space"
152+msgstr ""
153+
154+#: qml/Components/KeyboardShortcutsOverlay.qml:93
155+msgid "Switches to next keyboard layout."
156+msgstr ""
157+
158+#: qml/Components/KeyboardShortcutsOverlay.qml:101
159+msgid "Super + Shift + Space"
160+msgstr ""
161+
162+#: qml/Components/KeyboardShortcutsOverlay.qml:106
163+msgid "Switches to previous keyboard layout."
164+msgstr ""
165+
166+#: qml/Components/KeyboardShortcutsOverlay.qml:118
167+msgid "Launcher"
168+msgstr ""
169+
170+#: qml/Components/KeyboardShortcutsOverlay.qml:125
171+msgid "Super (Hold)"
172+msgstr ""
173+
174+#: qml/Components/KeyboardShortcutsOverlay.qml:130
175+msgid "Opens the launcher, displays shortcuts."
176+msgstr ""
177+
178+#: qml/Components/KeyboardShortcutsOverlay.qml:138
179+msgid "Alt + F1"
180+msgstr ""
181+
182+#: qml/Components/KeyboardShortcutsOverlay.qml:143
183+msgid "Opens launcher keyboard navigation mode."
184+msgstr ""
185+
186+#: qml/Components/KeyboardShortcutsOverlay.qml:151
187+msgid "Super + Tab"
188+msgstr ""
189+
190+#: qml/Components/KeyboardShortcutsOverlay.qml:156
191+msgid "Switches applications via the launcher."
192+msgstr ""
193+
194+#: qml/Components/KeyboardShortcutsOverlay.qml:164
195+msgid "Super + 0 to 9"
196+msgstr ""
197+
198+#: qml/Components/KeyboardShortcutsOverlay.qml:169
199+msgid "Same as clicking on a launcher icon."
200+msgstr ""
201+
202+#: qml/Components/KeyboardShortcutsOverlay.qml:181
203+msgid "Scopes"
204+msgstr ""
205+
206+#: qml/Components/KeyboardShortcutsOverlay.qml:188
207+msgid "Super (Tap)"
208+msgstr ""
209+
210+#: qml/Components/KeyboardShortcutsOverlay.qml:193
211+msgid "Opens the Scopes home."
212+msgstr ""
213+
214+#: qml/Components/KeyboardShortcutsOverlay.qml:209
215+msgid "Switching"
216+msgstr ""
217+
218+#: qml/Components/KeyboardShortcutsOverlay.qml:216
219+msgid "Alt + Tab"
220+msgstr ""
221+
222+#: qml/Components/KeyboardShortcutsOverlay.qml:221
223+msgid "Switches between applications."
224+msgstr ""
225+
226+#: qml/Components/KeyboardShortcutsOverlay.qml:229
227+msgid "Super + W"
228+msgstr ""
229+
230+#: qml/Components/KeyboardShortcutsOverlay.qml:234
231+msgid "Opens the desktop spread."
232+msgstr ""
233+
234+#: qml/Components/KeyboardShortcutsOverlay.qml:242
235+msgid "Cursor Left or Right"
236+msgstr ""
237+
238+#: qml/Components/KeyboardShortcutsOverlay.qml:247
239+msgid "Moves the focus."
240+msgstr ""
241+
242+#: qml/Components/KeyboardShortcutsOverlay.qml:259
243+msgid "Windows"
244+msgstr ""
245+
246+#: qml/Components/KeyboardShortcutsOverlay.qml:266
247+msgid "Ctrl + Super + D"
248+msgstr ""
249+
250+#: qml/Components/KeyboardShortcutsOverlay.qml:271
251+msgid "Minimizes all windows."
252+msgstr ""
253+
254+#: qml/Components/KeyboardShortcutsOverlay.qml:279
255+msgid "Ctrl + Super + Up"
256+msgstr ""
257+
258+#: qml/Components/KeyboardShortcutsOverlay.qml:284
259+msgid "Maximizes the current window."
260+msgstr ""
261+
262+#: qml/Components/KeyboardShortcutsOverlay.qml:292
263+msgid "Ctrl + Super + Down"
264+msgstr ""
265+
266+#: qml/Components/KeyboardShortcutsOverlay.qml:297
267+msgid "Minimizes or restores the current window."
268+msgstr ""
269+
270+#: qml/Components/KeyboardShortcutsOverlay.qml:305
271+msgid "Ctrl + Super + Left or Right"
272+msgstr ""
273+
274+#: qml/Components/KeyboardShortcutsOverlay.qml:310
275+msgid "Semi-maximizes the current window."
276+msgstr ""
277+
278+#: qml/Components/KeyboardShortcutsOverlay.qml:318
279+msgid "Alt + F4"
280+msgstr ""
281+
282+#: qml/Components/KeyboardShortcutsOverlay.qml:323
283+msgid "Closes the current window."
284+msgstr ""
285+
126#: qml/Components/Lockscreen.qml:231
286#: qml/Components/Lockscreen.qml:231
127msgid "Return to Call"
287msgid "Return to Call"
128msgstr "Vrátit se k hovoru"
288msgstr "Vrátit se k hovoru"
@@ -161,26 +321,26 @@ msgstr ""
161msgid "Close all"
321msgid "Close all"
162msgstr ""
322msgstr ""
163
323
164−#: qml/Dash/DashPageHeader.qml:337
324+#: qml/Dash/DashPageHeader.qml:333
165msgctxt "Button: Open the Ubuntu Store"
325msgctxt "Button: Open the Ubuntu Store"
166msgid "Store"
326msgid "Store"
167msgstr "Obchod"
327msgstr "Obchod"
168
328
169−#: qml/Dash/DashPageHeader.qml:344
329+#: qml/Dash/DashPageHeader.qml:340
170msgctxt "Button: Start a search in the current dash scope"
330msgctxt "Button: Start a search in the current dash scope"
171msgid "Search"
331msgid "Search"
172msgstr "Hledat"
332msgstr "Hledat"
173
333
174−#: qml/Dash/DashPageHeader.qml:354
334+#: qml/Dash/DashPageHeader.qml:350
175msgctxt "Button: Show the current dash scope settings"
335msgctxt "Button: Show the current dash scope settings"
176msgid "Settings"
336msgid "Settings"
177msgstr "Nastavení"
337msgstr "Nastavení"
178
338
179−#: qml/Dash/DashPageHeader.qml:361
339+#: qml/Dash/DashPageHeader.qml:357
180msgid "Remove from Favorites"
340msgid "Remove from Favorites"
181msgstr "Odstranit z oblíbených"
341msgstr "Odstranit z oblíbených"
182
342
183−#: qml/Dash/DashPageHeader.qml:361
343+#: qml/Dash/DashPageHeader.qml:357
184msgid "Add to Favorites"
344msgid "Add to Favorites"
185msgstr "Přidat do oblíbených"
345msgstr "Přidat do oblíbených"
186
346
@@ -192,24 +352,24 @@ msgstr ""
192msgid "Reset"
352msgid "Reset"
193msgstr ""
353msgstr ""
194
354
195−#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
355+#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
196msgid "Show less"
356msgid "Show less"
197msgstr ""
357msgstr ""
198
358
199−#: qml/Dash/GenericScopeView.qml:579
359+#: qml/Dash/GenericScopeView.qml:580
200msgid "Show all"
360msgid "Show all"
201msgstr ""
361msgstr ""
202
362
203−#: qml/Dash/GenericScopeView.qml:636
363+#: qml/Dash/GenericScopeView.qml:637
204msgctxt "Label: Hint for dash search line edit"
364msgctxt "Label: Hint for dash search line edit"
205msgid "Search"
365msgid "Search"
206msgstr "Hledat"
366msgstr "Hledat"
207
367
208−#: qml/Dash/PageHeaderExtraPanel.qml:55
368+#: qml/Dash/PageHeaderExtraPanel.qml:56
209msgid "Recent Searches"
369msgid "Recent Searches"
210msgstr ""
370msgstr ""
211
371
212−#: qml/Dash/PageHeaderExtraPanel.qml:66
372+#: qml/Dash/PageHeaderExtraPanel.qml:67
213msgid "Clear All"
373msgid "Clear All"
214msgstr ""
374msgstr ""
215
375
@@ -222,15 +382,15 @@ msgid "Less..."
222msgstr "Méně..."
382msgstr "Méně..."
223
383
224#: qml/Dash/Previews/PreviewCommentInput.qml:68
384#: qml/Dash/Previews/PreviewCommentInput.qml:68
225−#: qml/Dash/Previews/PreviewRatingInput.qml:174
385+#: qml/Dash/Previews/PreviewRatingInput.qml:175
226msgid "Send"
386msgid "Send"
227msgstr "Odeslat"
387msgstr "Odeslat"
228
388
229−#: qml/Dash/Previews/PreviewRatingInput.qml:84
389+#: qml/Dash/Previews/PreviewRatingInput.qml:82
230msgid "Rate this"
390msgid "Rate this"
231msgstr "Ohodnoťte to"
391msgstr "Ohodnoťte to"
232
392
233−#: qml/Dash/Previews/PreviewRatingInput.qml:129
393+#: qml/Dash/Previews/PreviewRatingInput.qml:157
234msgid "Add a review"
394msgid "Add a review"
235msgstr "Přidat recenzi"
395msgstr "Přidat recenzi"
236
396
@@ -250,15 +410,15 @@ msgstr "Pusťte pro obnovení..."
250msgid "Enable location data"
410msgid "Enable location data"
251msgstr "Povolit údaje umístění"
411msgstr "Povolit údaje umístění"
252
412
253−#: qml/Dash/ScopesList.qml:67
413+#: qml/Dash/ScopesList.qml:55
254msgid "Manage"
414msgid "Manage"
255msgstr "Spravovat"
415msgstr "Spravovat"
256
416
257−#: qml/Dash/ScopesList.qml:113
417+#: qml/Dash/ScopesList.qml:101
258msgid "Home"
418msgid "Home"
259msgstr "Domů"
419msgstr "Domů"
260
420
261−#: qml/Dash/ScopesList.qml:114
421+#: qml/Dash/ScopesList.qml:102
262msgid "Also installed"
422msgid "Also installed"
263msgstr "Také nainstalováno"
423msgstr "Také nainstalováno"
264
424
@@ -268,17 +428,17 @@ msgid ""
268"touch pad to interact with the pointer."
428"touch pad to interact with the pointer."
269msgstr ""
429msgstr ""
270
430
271−#: qml/Greeter/CoverPage.qml:118
431+#: qml/Greeter/CoverPage.qml:119
272msgid "Unlock"
432msgid "Unlock"
273msgstr "Odemknout"
433msgstr "Odemknout"
274
434
275−#: qml/Greeter/LoginList.qml:239
435+#: qml/Greeter/LoginList.qml:259
276msgid "Retry"
436msgid "Retry"
277msgstr "Znovu"
437msgstr "Znovu"
278
438
279−#: qml/Greeter/LoginList.qml:240
439+#: qml/Greeter/LoginList.qml:260
280−msgid "Tap to unlock"
440+msgid "Log In"
281−msgstr "Klepnout pro odemčení"
441+msgstr ""
282
442
283#: qml/Greeter/NarrowView.qml:54
443#: qml/Greeter/NarrowView.qml:54
284msgid "Sorry, incorrect passphrase."
444msgid "Sorry, incorrect passphrase."
@@ -413,18 +573,18 @@ msgstr "Dokončeno"
413msgid "Failed, tap to retry"
573msgid "Failed, tap to retry"
414msgstr "Nezdařilo se, opakujte klepnutím"
574msgstr "Nezdařilo se, opakujte klepnutím"
415
575
416−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:155
576+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:151
417−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
577+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:210
418msgctxt "Button: Send a reply message"
578msgctxt "Button: Send a reply message"
419msgid "Send"
579msgid "Send"
420msgstr ""
580msgstr ""
421
581
422−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
582+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:152
423msgctxt "Label: Hint in message indicator line edit"
583msgctxt "Label: Hint in message indicator line edit"
424msgid "Reply"
584msgid "Reply"
425msgstr "Odpovědět"
585msgstr "Odpovědět"
426
586
427−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
587+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:209
428msgctxt "Button: Call back on phone"
588msgctxt "Button: Call back on phone"
429msgid "Call back"
589msgid "Call back"
430msgstr ""
590msgstr ""
@@ -433,32 +593,12 @@ msgstr ""
433msgid "Drag using 3 fingers any application from one window to the other"
593msgid "Drag using 3 fingers any application from one window to the other"
434msgstr ""
594msgstr ""
435
595
436−#: qml/Tutorial/TutorialBottom.qml:78
437−msgid "Swipe up to add a contact"
438−msgstr ""
439−
440−#: qml/Tutorial/TutorialBottom.qml:80
441−msgid "Swipe up for favorite calculations"
442−msgstr ""
443−
444−#: qml/Tutorial/TutorialBottom.qml:82
445−msgid "Swipe up for recent calls"
446−msgstr ""
447−
448−#: qml/Tutorial/TutorialBottom.qml:84
449−msgid "Swipe up to create a message"
450−msgstr ""
451−
452−#: qml/Tutorial/TutorialBottom.qml:85
453−msgid "Swipe up to manage the app"
454−msgstr ""
455−
456−#: qml/Tutorial/TutorialLeftLong.qml:47
596+#: qml/Tutorial/TutorialLeftLong.qml:49
457msgid "Long swipe from the left edge to open the Today scope"
597msgid "Long swipe from the left edge to open the Today scope"
458msgstr ""
598msgstr ""
459
599
460#: qml/Tutorial/TutorialLeft.qml:47
600#: qml/Tutorial/TutorialLeft.qml:47
461−msgid "Swipe from the left edge to open the launcher"
601+msgid "Short swipe from the left edge to open the launcher"
462msgstr ""
602msgstr ""
463
603
464#: qml/Tutorial/TutorialRight.qml:55
604#: qml/Tutorial/TutorialRight.qml:55
@@ -466,15 +606,11 @@ msgid "Push your mouse against the right edge to view your open apps"
466msgstr ""
606msgstr ""
467
607
468#: qml/Tutorial/TutorialRight.qml:56
608#: qml/Tutorial/TutorialRight.qml:56
469−msgid "Short or long swipe from the right edge to view your open apps"
609+msgid "Swipe from the right edge to view your open apps"
470msgstr ""
610msgstr ""
471
611
472#: qml/Tutorial/TutorialTop.qml:53
612#: qml/Tutorial/TutorialTop.qml:53
473−msgid "Swipe from the top right edge to open the notification bar"
613+msgid "Swipe from the top edge to access notifications and quick settings"
474−msgstr ""
475−
476−#: qml/Tutorial/TutorialTop.qml:54
477−msgid "Swipe from the top edge to open the notification bar"
478msgstr ""
614msgstr ""
479
615
480#: qml/Wizard/Page.qml:54
616#: qml/Wizard/Page.qml:54
@@ -486,8 +622,8 @@ msgstr "Zpět"
486msgid "Language"
622msgid "Language"
487msgstr ""
623msgstr ""
488
624
489−#: qml/Wizard/Pages/10-welcome.qml:156 qml/Wizard/Pages/30-wifi.qml:206
625+#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
490−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:267
626+#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
491#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
627#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
492#: qml/Wizard/Pages/75-report-check.qml:84
628#: qml/Wizard/Pages/75-report-check.qml:84
493#: qml/Wizard/Pages/passcode-desktop.qml:124
629#: qml/Wizard/Pages/passcode-desktop.qml:124
@@ -552,7 +688,7 @@ msgstr ""
552msgid "Time Zone"
688msgid "Time Zone"
553msgstr ""
689msgstr ""
554
690
555−#: qml/Wizard/Pages/50-timezone.qml:178
691+#: qml/Wizard/Pages/50-timezone.qml:181
556msgid "Enter your city"
692msgid "Enter your city"
557msgstr ""
693msgstr ""
558
694
@@ -820,6 +956,9 @@ msgstr ""
820#~ msgid "Shut down"
956#~ msgid "Shut down"
821#~ msgstr "Vypnout"
957#~ msgstr "Vypnout"
822
958
959+#~ msgid "Tap to unlock"
960+#~ msgstr "Klepnout pro odemčení"
961+
823#~ msgid "Please re-enter"
962#~ msgid "Please re-enter"
824#~ msgstr "Vložte znovu"
963#~ msgstr "Vložte znovu"
825
964
po/cy.po+216−77
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-05-20 08:44+0000\n"
10+"POT-Creation-Date: 2016-06-17 01:22+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,23 +16,23 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==2 ? 1 : (n != 8 && n != 11) ? "
17"Plural-Forms: nplurals=4; plural=n==1 ? 0 : n==2 ? 1 : (n != 8 && n != 11) ? "
18"2 : 3;\n"
18"2 : 3;\n"
19−"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
19+"X-Launchpad-Export-Date: 2016-06-19 05:55+0000\n"
20−"X-Generator: Launchpad (build 18053)\n"
20+"X-Generator: Launchpad (build 18097)\n"
21
21
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
24msgstr "Cyfrinair: "
24msgstr "Cyfrinair: "
25
25
26−#: plugins/Unity/Launcher/launcheritem.cpp:48
26+#: plugins/Unity/Launcher/launcheritem.cpp:49
27−#: plugins/Unity/Launcher/launcheritem.cpp:107
27+#: plugins/Unity/Launcher/launcheritem.cpp:108
28msgid "Pin shortcut"
28msgid "Pin shortcut"
29msgstr "Pinio llwybr byr"
29msgstr "Pinio llwybr byr"
30
30
31−#: plugins/Unity/Launcher/launcheritem.cpp:53
31+#: plugins/Unity/Launcher/launcheritem.cpp:54
32msgid "Quit"
32msgid "Quit"
33msgstr ""
33msgstr ""
34
34
35−#: plugins/Unity/Launcher/launcheritem.cpp:107
35+#: plugins/Unity/Launcher/launcheritem.cpp:108
36msgid "Unpin shortcut"
36msgid "Unpin shortcut"
37msgstr "Dadbinio llwybr byr"
37msgstr "Dadbinio llwybr byr"
38
38
@@ -59,54 +59,54 @@ msgstr[1] "Arhoswch am %1 munud cyn cynnig eto..."
59msgstr[2] "Arhoswch am %1 munud cyn cynnig eto..."
59msgstr[2] "Arhoswch am %1 munud cyn cynnig eto..."
60msgstr[3] "Arhoswch am %1 munud cyn cynnig eto..."
60msgstr[3] "Arhoswch am %1 munud cyn cynnig eto..."
61
61
62−#: qml/Components/Dialogs.qml:144
62+#: qml/Components/Dialogs.qml:146
63msgctxt "Title: Lock/Log out dialog"
63msgctxt "Title: Lock/Log out dialog"
64msgid "Log out"
64msgid "Log out"
65msgstr "Allgofnodi"
65msgstr "Allgofnodi"
66
66
67−#: qml/Components/Dialogs.qml:145
67+#: qml/Components/Dialogs.qml:147
68msgid "Are you sure you want to log out?"
68msgid "Are you sure you want to log out?"
69msgstr "Ydych chi'n sicr eich bod am allgofnodi?"
69msgstr "Ydych chi'n sicr eich bod am allgofnodi?"
70
70
71−#: qml/Components/Dialogs.qml:147
71+#: qml/Components/Dialogs.qml:149
72msgctxt "Button: Lock the system"
72msgctxt "Button: Lock the system"
73msgid "Lock"
73msgid "Lock"
74msgstr "Cloi"
74msgstr "Cloi"
75
75
76−#: qml/Components/Dialogs.qml:154
76+#: qml/Components/Dialogs.qml:156
77msgctxt "Button: Log out from the system"
77msgctxt "Button: Log out from the system"
78msgid "Log Out"
78msgid "Log Out"
79msgstr "Allgofnodi"
79msgstr "Allgofnodi"
80
80
81−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
81+#: qml/Components/Dialogs.qml:163 qml/Components/Dialogs.qml:219
82−#: qml/Dash/DashPageHeader.qml:298 qml/Wizard/Pages/passcode-confirm.qml:32
82+#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
83#: qml/Wizard/Pages/passcode-set.qml:32
83#: qml/Wizard/Pages/passcode-set.qml:32
84msgid "Cancel"
84msgid "Cancel"
85msgstr "Diddymu"
85msgstr "Diddymu"
86
86
87−#: qml/Components/Dialogs.qml:173
87+#: qml/Components/Dialogs.qml:175
88msgctxt "Title: Reboot dialog"
88msgctxt "Title: Reboot dialog"
89msgid "Reboot"
89msgid "Reboot"
90msgstr "Ailgychwyn"
90msgstr "Ailgychwyn"
91
91
92−#: qml/Components/Dialogs.qml:174
92+#: qml/Components/Dialogs.qml:176
93msgid "Are you sure you want to reboot?"
93msgid "Are you sure you want to reboot?"
94msgstr "Ydych chi'n sicr eich bod am ailgychwyn?"
94msgstr "Ydych chi'n sicr eich bod am ailgychwyn?"
95
95
96−#: qml/Components/Dialogs.qml:176
96+#: qml/Components/Dialogs.qml:178
97msgid "No"
97msgid "No"
98msgstr "Na"
98msgstr "Na"
99
99
100−#: qml/Components/Dialogs.qml:182
100+#: qml/Components/Dialogs.qml:184
101msgid "Yes"
101msgid "Yes"
102msgstr "Ydw"
102msgstr "Ydw"
103
103
104−#: qml/Components/Dialogs.qml:197
104+#: qml/Components/Dialogs.qml:199
105msgctxt "Title: Power off/Restart dialog"
105msgctxt "Title: Power off/Restart dialog"
106msgid "Power"
106msgid "Power"
107msgstr "Pŵer"
107msgstr "Pŵer"
108
108
109−#: qml/Components/Dialogs.qml:198
109+#: qml/Components/Dialogs.qml:200
110msgid ""
110msgid ""
111"Are you sure you would like\n"
111"Are you sure you would like\n"
112"to power off?"
112"to power off?"
@@ -114,16 +114,176 @@ msgstr ""
114"Ydych chi'n sicr eich bod am\n"
114"Ydych chi'n sicr eich bod am\n"
115"ddiffodd y pŵer?"
115"ddiffodd y pŵer?"
116
116
117−#: qml/Components/Dialogs.qml:200
117+#: qml/Components/Dialogs.qml:202
118msgctxt "Button: Power off the system"
118msgctxt "Button: Power off the system"
119msgid "Power off"
119msgid "Power off"
120msgstr "Diffodd y pŵer"
120msgstr "Diffodd y pŵer"
121
121
122−#: qml/Components/Dialogs.qml:209
122+#: qml/Components/Dialogs.qml:211
123msgctxt "Button: Restart the system"
123msgctxt "Button: Restart the system"
124msgid "Restart"
124msgid "Restart"
125msgstr "Ailgychwyn"
125msgstr "Ailgychwyn"
126
126
127+#: qml/Components/KeyboardShortcutsOverlay.qml:41
128+msgid "Keyboard Shortcuts"
129+msgstr ""
130+
131+#: qml/Components/KeyboardShortcutsOverlay.qml:55
132+msgid "Unity 8"
133+msgstr ""
134+
135+#: qml/Components/KeyboardShortcutsOverlay.qml:62
136+msgid "PrtScr"
137+msgstr ""
138+
139+#: qml/Components/KeyboardShortcutsOverlay.qml:67
140+msgid "Takes a screenshot."
141+msgstr ""
142+
143+#: qml/Components/KeyboardShortcutsOverlay.qml:75
144+msgid "Alt + PrtScr"
145+msgstr ""
146+
147+#: qml/Components/KeyboardShortcutsOverlay.qml:80
148+msgid "Takes a screenshot of a window."
149+msgstr ""
150+
151+#: qml/Components/KeyboardShortcutsOverlay.qml:88
152+msgid "Super + Space"
153+msgstr ""
154+
155+#: qml/Components/KeyboardShortcutsOverlay.qml:93
156+msgid "Switches to next keyboard layout."
157+msgstr ""
158+
159+#: qml/Components/KeyboardShortcutsOverlay.qml:101
160+msgid "Super + Shift + Space"
161+msgstr ""
162+
163+#: qml/Components/KeyboardShortcutsOverlay.qml:106
164+msgid "Switches to previous keyboard layout."
165+msgstr ""
166+
167+#: qml/Components/KeyboardShortcutsOverlay.qml:118
168+msgid "Launcher"
169+msgstr ""
170+
171+#: qml/Components/KeyboardShortcutsOverlay.qml:125
172+msgid "Super (Hold)"
173+msgstr ""
174+
175+#: qml/Components/KeyboardShortcutsOverlay.qml:130
176+msgid "Opens the launcher, displays shortcuts."
177+msgstr ""
178+
179+#: qml/Components/KeyboardShortcutsOverlay.qml:138
180+msgid "Alt + F1"
181+msgstr ""
182+
183+#: qml/Components/KeyboardShortcutsOverlay.qml:143
184+msgid "Opens launcher keyboard navigation mode."
185+msgstr ""
186+
187+#: qml/Components/KeyboardShortcutsOverlay.qml:151
188+msgid "Super + Tab"
189+msgstr ""
190+
191+#: qml/Components/KeyboardShortcutsOverlay.qml:156
192+msgid "Switches applications via the launcher."
193+msgstr ""
194+
195+#: qml/Components/KeyboardShortcutsOverlay.qml:164
196+msgid "Super + 0 to 9"
197+msgstr ""
198+
199+#: qml/Components/KeyboardShortcutsOverlay.qml:169
200+msgid "Same as clicking on a launcher icon."
201+msgstr ""
202+
203+#: qml/Components/KeyboardShortcutsOverlay.qml:181
204+msgid "Scopes"
205+msgstr ""
206+
207+#: qml/Components/KeyboardShortcutsOverlay.qml:188
208+msgid "Super (Tap)"
209+msgstr ""
210+
211+#: qml/Components/KeyboardShortcutsOverlay.qml:193
212+msgid "Opens the Scopes home."
213+msgstr ""
214+
215+#: qml/Components/KeyboardShortcutsOverlay.qml:209
216+msgid "Switching"
217+msgstr ""
218+
219+#: qml/Components/KeyboardShortcutsOverlay.qml:216
220+msgid "Alt + Tab"
221+msgstr ""
222+
223+#: qml/Components/KeyboardShortcutsOverlay.qml:221
224+msgid "Switches between applications."
225+msgstr ""
226+
227+#: qml/Components/KeyboardShortcutsOverlay.qml:229
228+msgid "Super + W"
229+msgstr ""
230+
231+#: qml/Components/KeyboardShortcutsOverlay.qml:234
232+msgid "Opens the desktop spread."
233+msgstr ""
234+
235+#: qml/Components/KeyboardShortcutsOverlay.qml:242
236+msgid "Cursor Left or Right"
237+msgstr ""
238+
239+#: qml/Components/KeyboardShortcutsOverlay.qml:247
240+msgid "Moves the focus."
241+msgstr ""
242+
243+#: qml/Components/KeyboardShortcutsOverlay.qml:259
244+msgid "Windows"
245+msgstr ""
246+
247+#: qml/Components/KeyboardShortcutsOverlay.qml:266
248+msgid "Ctrl + Super + D"
249+msgstr ""
250+
251+#: qml/Components/KeyboardShortcutsOverlay.qml:271
252+msgid "Minimizes all windows."
253+msgstr ""
254+
255+#: qml/Components/KeyboardShortcutsOverlay.qml:279
256+msgid "Ctrl + Super + Up"
257+msgstr ""
258+
259+#: qml/Components/KeyboardShortcutsOverlay.qml:284
260+msgid "Maximizes the current window."
261+msgstr ""
262+
263+#: qml/Components/KeyboardShortcutsOverlay.qml:292
264+msgid "Ctrl + Super + Down"
265+msgstr ""
266+
267+#: qml/Components/KeyboardShortcutsOverlay.qml:297
268+msgid "Minimizes or restores the current window."
269+msgstr ""
270+
271+#: qml/Components/KeyboardShortcutsOverlay.qml:305
272+msgid "Ctrl + Super + Left or Right"
273+msgstr ""
274+
275+#: qml/Components/KeyboardShortcutsOverlay.qml:310
276+msgid "Semi-maximizes the current window."
277+msgstr ""
278+
279+#: qml/Components/KeyboardShortcutsOverlay.qml:318
280+msgid "Alt + F4"
281+msgstr ""
282+
283+#: qml/Components/KeyboardShortcutsOverlay.qml:323
284+msgid "Closes the current window."
285+msgstr ""
286+
127#: qml/Components/Lockscreen.qml:231
287#: qml/Components/Lockscreen.qml:231
128msgid "Return to Call"
288msgid "Return to Call"
129msgstr "Nôl i'r alwad"
289msgstr "Nôl i'r alwad"
@@ -162,26 +322,26 @@ msgstr ""
162msgid "Close all"
322msgid "Close all"
163msgstr ""
323msgstr ""
164
324
165−#: qml/Dash/DashPageHeader.qml:337
325+#: qml/Dash/DashPageHeader.qml:333
166msgctxt "Button: Open the Ubuntu Store"
326msgctxt "Button: Open the Ubuntu Store"
167msgid "Store"
327msgid "Store"
168msgstr "Marchnad"
328msgstr "Marchnad"
169
329
170−#: qml/Dash/DashPageHeader.qml:344
330+#: qml/Dash/DashPageHeader.qml:340
171msgctxt "Button: Start a search in the current dash scope"
331msgctxt "Button: Start a search in the current dash scope"
172msgid "Search"
332msgid "Search"
173msgstr "Chwilio"
333msgstr "Chwilio"
174
334
175−#: qml/Dash/DashPageHeader.qml:354
335+#: qml/Dash/DashPageHeader.qml:350
176msgctxt "Button: Show the current dash scope settings"
336msgctxt "Button: Show the current dash scope settings"
177msgid "Settings"
337msgid "Settings"
178msgstr "Gosodiadau"
338msgstr "Gosodiadau"
179
339
180−#: qml/Dash/DashPageHeader.qml:361
340+#: qml/Dash/DashPageHeader.qml:357
181msgid "Remove from Favorites"
341msgid "Remove from Favorites"
182msgstr "Tynnu o Ffefrynnau"
342msgstr "Tynnu o Ffefrynnau"
183
343
184−#: qml/Dash/DashPageHeader.qml:361
344+#: qml/Dash/DashPageHeader.qml:357
185msgid "Add to Favorites"
345msgid "Add to Favorites"
186msgstr "Ychwanegu at Ffefrynnau"
346msgstr "Ychwanegu at Ffefrynnau"
187
347
@@ -193,24 +353,24 @@ msgstr ""
193msgid "Reset"
353msgid "Reset"
194msgstr ""
354msgstr ""
195
355
196−#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
356+#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
197msgid "Show less"
357msgid "Show less"
198msgstr ""
358msgstr ""
199
359
200−#: qml/Dash/GenericScopeView.qml:579
360+#: qml/Dash/GenericScopeView.qml:580
201msgid "Show all"
361msgid "Show all"
202msgstr ""
362msgstr ""
203
363
204−#: qml/Dash/GenericScopeView.qml:636
364+#: qml/Dash/GenericScopeView.qml:637
205msgctxt "Label: Hint for dash search line edit"
365msgctxt "Label: Hint for dash search line edit"
206msgid "Search"
366msgid "Search"
207msgstr "Chwilio"
367msgstr "Chwilio"
208
368
209−#: qml/Dash/PageHeaderExtraPanel.qml:55
369+#: qml/Dash/PageHeaderExtraPanel.qml:56
210msgid "Recent Searches"
370msgid "Recent Searches"
211msgstr ""
371msgstr ""
212
372
213−#: qml/Dash/PageHeaderExtraPanel.qml:66
373+#: qml/Dash/PageHeaderExtraPanel.qml:67
214msgid "Clear All"
374msgid "Clear All"
215msgstr ""
375msgstr ""
216
376
@@ -223,15 +383,15 @@ msgid "Less..."
223msgstr "Llai..."
383msgstr "Llai..."
224
384
225#: qml/Dash/Previews/PreviewCommentInput.qml:68
385#: qml/Dash/Previews/PreviewCommentInput.qml:68
226−#: qml/Dash/Previews/PreviewRatingInput.qml:174
386+#: qml/Dash/Previews/PreviewRatingInput.qml:175
227msgid "Send"
387msgid "Send"
228msgstr "Anfon"
388msgstr "Anfon"
229
389
230−#: qml/Dash/Previews/PreviewRatingInput.qml:84
390+#: qml/Dash/Previews/PreviewRatingInput.qml:82
231msgid "Rate this"
391msgid "Rate this"
232msgstr "Graddio hwn"
392msgstr "Graddio hwn"
233
393
234−#: qml/Dash/Previews/PreviewRatingInput.qml:129
394+#: qml/Dash/Previews/PreviewRatingInput.qml:157
235msgid "Add a review"
395msgid "Add a review"
236msgstr "Ychwanegu adolygiad"
396msgstr "Ychwanegu adolygiad"
237
397
@@ -251,15 +411,15 @@ msgstr "Rhyddhewch i adnewyddu..."
251msgid "Enable location data"
411msgid "Enable location data"
252msgstr "Galluogi data lleoliad"
412msgstr "Galluogi data lleoliad"
253
413
254−#: qml/Dash/ScopesList.qml:67
414+#: qml/Dash/ScopesList.qml:55
255msgid "Manage"
415msgid "Manage"
256msgstr "Rheoli"
416msgstr "Rheoli"
257
417
258−#: qml/Dash/ScopesList.qml:113
418+#: qml/Dash/ScopesList.qml:101
259msgid "Home"
419msgid "Home"
260msgstr "Cartref"
420msgstr "Cartref"
261
421
262−#: qml/Dash/ScopesList.qml:114
422+#: qml/Dash/ScopesList.qml:102
263msgid "Also installed"
423msgid "Also installed"
264msgstr "Hefyd wedi gosod"
424msgstr "Hefyd wedi gosod"
265
425
@@ -269,17 +429,17 @@ msgid ""
269"touch pad to interact with the pointer."
429"touch pad to interact with the pointer."
270msgstr ""
430msgstr ""
271
431
272−#: qml/Greeter/CoverPage.qml:118
432+#: qml/Greeter/CoverPage.qml:119
273msgid "Unlock"
433msgid "Unlock"
274msgstr "Datgloi"
434msgstr "Datgloi"
275
435
276−#: qml/Greeter/LoginList.qml:239
436+#: qml/Greeter/LoginList.qml:259
277msgid "Retry"
437msgid "Retry"
278msgstr "Ailgynnig"
438msgstr "Ailgynnig"
279
439
280−#: qml/Greeter/LoginList.qml:240
440+#: qml/Greeter/LoginList.qml:260
281−msgid "Tap to unlock"
441+msgid "Log In"
282−msgstr "Tapiwch i ddatgloi"
442+msgstr ""
283
443
284#: qml/Greeter/NarrowView.qml:54
444#: qml/Greeter/NarrowView.qml:54
285msgid "Sorry, incorrect passphrase."
445msgid "Sorry, incorrect passphrase."
@@ -417,18 +577,18 @@ msgstr "Wedi gorffen"
417msgid "Failed, tap to retry"
577msgid "Failed, tap to retry"
418msgstr "Methwyd, tapiwch i geisio eto"
578msgstr "Methwyd, tapiwch i geisio eto"
419
579
420−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:155
580+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:151
421−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
581+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:210
422msgctxt "Button: Send a reply message"
582msgctxt "Button: Send a reply message"
423msgid "Send"
583msgid "Send"
424msgstr ""
584msgstr ""
425
585
426−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
586+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:152
427msgctxt "Label: Hint in message indicator line edit"
587msgctxt "Label: Hint in message indicator line edit"
428msgid "Reply"
588msgid "Reply"
429msgstr "Ateb"
589msgstr "Ateb"
430
590
431−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
591+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:209
432msgctxt "Button: Call back on phone"
592msgctxt "Button: Call back on phone"
433msgid "Call back"
593msgid "Call back"
434msgstr ""
594msgstr ""
@@ -437,32 +597,12 @@ msgstr ""
437msgid "Drag using 3 fingers any application from one window to the other"
597msgid "Drag using 3 fingers any application from one window to the other"
438msgstr ""
598msgstr ""
439
599
440−#: qml/Tutorial/TutorialBottom.qml:78
441−msgid "Swipe up to add a contact"
442−msgstr ""
443−
444−#: qml/Tutorial/TutorialBottom.qml:80
445−msgid "Swipe up for favorite calculations"
446−msgstr ""
447−
448−#: qml/Tutorial/TutorialBottom.qml:82
449−msgid "Swipe up for recent calls"
450−msgstr ""
451−
452−#: qml/Tutorial/TutorialBottom.qml:84
453−msgid "Swipe up to create a message"
454−msgstr ""
455−
456−#: qml/Tutorial/TutorialBottom.qml:85
457−msgid "Swipe up to manage the app"
458−msgstr ""
459−
460−#: qml/Tutorial/TutorialLeftLong.qml:47
600+#: qml/Tutorial/TutorialLeftLong.qml:49
461msgid "Long swipe from the left edge to open the Today scope"
601msgid "Long swipe from the left edge to open the Today scope"
462msgstr ""
602msgstr ""
463
603
464#: qml/Tutorial/TutorialLeft.qml:47
604#: qml/Tutorial/TutorialLeft.qml:47
465−msgid "Swipe from the left edge to open the launcher"
605+msgid "Short swipe from the left edge to open the launcher"
466msgstr ""
606msgstr ""
467
607
468#: qml/Tutorial/TutorialRight.qml:55
608#: qml/Tutorial/TutorialRight.qml:55
@@ -470,15 +610,11 @@ msgid "Push your mouse against the right edge to view your open apps"
470msgstr ""
610msgstr ""
471
611
472#: qml/Tutorial/TutorialRight.qml:56
612#: qml/Tutorial/TutorialRight.qml:56
473−msgid "Short or long swipe from the right edge to view your open apps"
613+msgid "Swipe from the right edge to view your open apps"
474msgstr ""
614msgstr ""
475
615
476#: qml/Tutorial/TutorialTop.qml:53
616#: qml/Tutorial/TutorialTop.qml:53
477−msgid "Swipe from the top right edge to open the notification bar"
617+msgid "Swipe from the top edge to access notifications and quick settings"
478−msgstr ""
479−
480−#: qml/Tutorial/TutorialTop.qml:54
481−msgid "Swipe from the top edge to open the notification bar"
482msgstr ""
618msgstr ""
483
619
484#: qml/Wizard/Page.qml:54
620#: qml/Wizard/Page.qml:54
@@ -490,8 +626,8 @@ msgstr "Nôl"
490msgid "Language"
626msgid "Language"
491msgstr ""
627msgstr ""
492
628
493−#: qml/Wizard/Pages/10-welcome.qml:156 qml/Wizard/Pages/30-wifi.qml:206
629+#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
494−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:267
630+#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
495#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
631#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
496#: qml/Wizard/Pages/75-report-check.qml:84
632#: qml/Wizard/Pages/75-report-check.qml:84
497#: qml/Wizard/Pages/passcode-desktop.qml:124
633#: qml/Wizard/Pages/passcode-desktop.qml:124
@@ -556,7 +692,7 @@ msgstr ""
556msgid "Time Zone"
692msgid "Time Zone"
557msgstr ""
693msgstr ""
558
694
559−#: qml/Wizard/Pages/50-timezone.qml:178
695+#: qml/Wizard/Pages/50-timezone.qml:181
560msgid "Enter your city"
696msgid "Enter your city"
561msgstr ""
697msgstr ""
562
698
@@ -803,6 +939,9 @@ msgstr ""
803#~ msgid "See less"
939#~ msgid "See less"
804#~ msgstr "Gweld llai"
940#~ msgstr "Gweld llai"
805
941
942+#~ msgid "Tap to unlock"
943+#~ msgstr "Tapiwch i ddatgloi"
944+
806#~ msgid "This action does different things for different apps"
945#~ msgid "This action does different things for different apps"
807#~ msgstr "Mae'r weithred hon yn gwneud pethau gwahanol mewn apiau gwahanol"
946#~ msgstr "Mae'r weithred hon yn gwneud pethau gwahanol mewn apiau gwahanol"
808
947
po/da.po+216−77
@@ -8,7 +8,7 @@ msgid ""
8msgstr ""
8msgstr ""
9"Project-Id-Version: unity8\n"
9"Project-Id-Version: unity8\n"
10"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
11−"POT-Creation-Date: 2016-05-20 08:44+0000\n"
11+"POT-Creation-Date: 2016-06-17 01:22+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,23 +16,23 @@ msgstr ""
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
19−"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
19+"X-Launchpad-Export-Date: 2016-06-19 05:54+0000\n"
20−"X-Generator: Launchpad (build 18053)\n"
20+"X-Generator: Launchpad (build 18097)\n"
21
21
22#: plugins/IntegratedLightDM/Greeter.cpp:112
22#: plugins/IntegratedLightDM/Greeter.cpp:112
23msgid "Password: "
23msgid "Password: "
24msgstr "Adgangskode: "
24msgstr "Adgangskode: "
25
25
26−#: plugins/Unity/Launcher/launcheritem.cpp:48
26+#: plugins/Unity/Launcher/launcheritem.cpp:49
27−#: plugins/Unity/Launcher/launcheritem.cpp:107
27+#: plugins/Unity/Launcher/launcheritem.cpp:108
28msgid "Pin shortcut"
28msgid "Pin shortcut"
29msgstr "Fastgør genvej"
29msgstr "Fastgør genvej"
30
30
31−#: plugins/Unity/Launcher/launcheritem.cpp:53
31+#: plugins/Unity/Launcher/launcheritem.cpp:54
32msgid "Quit"
32msgid "Quit"
33msgstr ""
33msgstr ""
34
34
35−#: plugins/Unity/Launcher/launcheritem.cpp:107
35+#: plugins/Unity/Launcher/launcheritem.cpp:108
36msgid "Unpin shortcut"
36msgid "Unpin shortcut"
37msgstr "Gør genvej flytbar"
37msgstr "Gør genvej flytbar"
38
38
@@ -59,54 +59,54 @@ msgid_plural "Please wait %1 minutes and then try again…"
59msgstr[0] "Vent venligst %1 minut og prøv igen..."
59msgstr[0] "Vent venligst %1 minut og prøv igen..."
60msgstr[1] "Vent venligst %1 minutter og prøv igen..."
60msgstr[1] "Vent venligst %1 minutter og prøv igen..."
61
61
62−#: qml/Components/Dialogs.qml:144
62+#: qml/Components/Dialogs.qml:146
63msgctxt "Title: Lock/Log out dialog"
63msgctxt "Title: Lock/Log out dialog"
64msgid "Log out"
64msgid "Log out"
65msgstr "Log af"
65msgstr "Log af"
66
66
67−#: qml/Components/Dialogs.qml:145
67+#: qml/Components/Dialogs.qml:147
68msgid "Are you sure you want to log out?"
68msgid "Are you sure you want to log out?"
69msgstr "Vil du logge ud?"
69msgstr "Vil du logge ud?"
70
70
71−#: qml/Components/Dialogs.qml:147
71+#: qml/Components/Dialogs.qml:149
72msgctxt "Button: Lock the system"
72msgctxt "Button: Lock the system"
73msgid "Lock"
73msgid "Lock"
74msgstr "Lås"
74msgstr "Lås"
75
75
76−#: qml/Components/Dialogs.qml:154
76+#: qml/Components/Dialogs.qml:156
77msgctxt "Button: Log out from the system"
77msgctxt "Button: Log out from the system"
78msgid "Log Out"
78msgid "Log Out"
79msgstr "Log af"
79msgstr "Log af"
80
80
81−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
81+#: qml/Components/Dialogs.qml:163 qml/Components/Dialogs.qml:219
82−#: qml/Dash/DashPageHeader.qml:298 qml/Wizard/Pages/passcode-confirm.qml:32
82+#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
83#: qml/Wizard/Pages/passcode-set.qml:32
83#: qml/Wizard/Pages/passcode-set.qml:32
84msgid "Cancel"
84msgid "Cancel"
85msgstr "Annullér"
85msgstr "Annullér"
86
86
87−#: qml/Components/Dialogs.qml:173
87+#: qml/Components/Dialogs.qml:175
88msgctxt "Title: Reboot dialog"
88msgctxt "Title: Reboot dialog"
89msgid "Reboot"
89msgid "Reboot"
90msgstr "Genstart"
90msgstr "Genstart"
91
91
92−#: qml/Components/Dialogs.qml:174
92+#: qml/Components/Dialogs.qml:176
93msgid "Are you sure you want to reboot?"
93msgid "Are you sure you want to reboot?"
94msgstr "Er du sikker på du vil genstarte?"
94msgstr "Er du sikker på du vil genstarte?"
95
95
96−#: qml/Components/Dialogs.qml:176
96+#: qml/Components/Dialogs.qml:178
97msgid "No"
97msgid "No"
98msgstr "Nej"
98msgstr "Nej"
99
99
100−#: qml/Components/Dialogs.qml:182
100+#: qml/Components/Dialogs.qml:184
101msgid "Yes"
101msgid "Yes"
102msgstr "Ja"
102msgstr "Ja"
103
103
104−#: qml/Components/Dialogs.qml:197
104+#: qml/Components/Dialogs.qml:199
105msgctxt "Title: Power off/Restart dialog"
105msgctxt "Title: Power off/Restart dialog"
106msgid "Power"
106msgid "Power"
107msgstr "Sluk/genstart"
107msgstr "Sluk/genstart"
108
108
109−#: qml/Components/Dialogs.qml:198
109+#: qml/Components/Dialogs.qml:200
110msgid ""
110msgid ""
111"Are you sure you would like\n"
111"Are you sure you would like\n"
112"to power off?"
112"to power off?"
@@ -114,16 +114,176 @@ msgstr ""
114"Er du sikker på at du vil\n"
114"Er du sikker på at du vil\n"
115"slukke enheden?"
115"slukke enheden?"
116
116
117−#: qml/Components/Dialogs.qml:200
117+#: qml/Components/Dialogs.qml:202
118msgctxt "Button: Power off the system"
118msgctxt "Button: Power off the system"
119msgid "Power off"
119msgid "Power off"
120msgstr "Luk ned"
120msgstr "Luk ned"
121
121
122−#: qml/Components/Dialogs.qml:209
122+#: qml/Components/Dialogs.qml:211
123msgctxt "Button: Restart the system"
123msgctxt "Button: Restart the system"
124msgid "Restart"
124msgid "Restart"
125msgstr "Genstart"
125msgstr "Genstart"
126
126
127+#: qml/Components/KeyboardShortcutsOverlay.qml:41
128+msgid "Keyboard Shortcuts"
129+msgstr ""
130+
131+#: qml/Components/KeyboardShortcutsOverlay.qml:55
132+msgid "Unity 8"
133+msgstr ""
134+
135+#: qml/Components/KeyboardShortcutsOverlay.qml:62
136+msgid "PrtScr"
137+msgstr ""
138+
139+#: qml/Components/KeyboardShortcutsOverlay.qml:67
140+msgid "Takes a screenshot."
141+msgstr ""
142+
143+#: qml/Components/KeyboardShortcutsOverlay.qml:75
144+msgid "Alt + PrtScr"
145+msgstr ""
146+
147+#: qml/Components/KeyboardShortcutsOverlay.qml:80
148+msgid "Takes a screenshot of a window."
149+msgstr ""
150+
151+#: qml/Components/KeyboardShortcutsOverlay.qml:88
152+msgid "Super + Space"
153+msgstr ""
154+
155+#: qml/Components/KeyboardShortcutsOverlay.qml:93
156+msgid "Switches to next keyboard layout."
157+msgstr ""
158+
159+#: qml/Components/KeyboardShortcutsOverlay.qml:101
160+msgid "Super + Shift + Space"
161+msgstr ""
162+
163+#: qml/Components/KeyboardShortcutsOverlay.qml:106
164+msgid "Switches to previous keyboard layout."
165+msgstr ""
166+
167+#: qml/Components/KeyboardShortcutsOverlay.qml:118
168+msgid "Launcher"
169+msgstr ""
170+
171+#: qml/Components/KeyboardShortcutsOverlay.qml:125
172+msgid "Super (Hold)"
173+msgstr ""
174+
175+#: qml/Components/KeyboardShortcutsOverlay.qml:130
176+msgid "Opens the launcher, displays shortcuts."
177+msgstr ""
178+
179+#: qml/Components/KeyboardShortcutsOverlay.qml:138
180+msgid "Alt + F1"
181+msgstr ""
182+
183+#: qml/Components/KeyboardShortcutsOverlay.qml:143
184+msgid "Opens launcher keyboard navigation mode."
185+msgstr ""
186+
187+#: qml/Components/KeyboardShortcutsOverlay.qml:151
188+msgid "Super + Tab"
189+msgstr ""
190+
191+#: qml/Components/KeyboardShortcutsOverlay.qml:156
192+msgid "Switches applications via the launcher."
193+msgstr ""
194+
195+#: qml/Components/KeyboardShortcutsOverlay.qml:164
196+msgid "Super + 0 to 9"
197+msgstr ""
198+
199+#: qml/Components/KeyboardShortcutsOverlay.qml:169
200+msgid "Same as clicking on a launcher icon."
201+msgstr ""
202+
203+#: qml/Components/KeyboardShortcutsOverlay.qml:181
204+msgid "Scopes"
205+msgstr ""
206+
207+#: qml/Components/KeyboardShortcutsOverlay.qml:188
208+msgid "Super (Tap)"
209+msgstr ""
210+
211+#: qml/Components/KeyboardShortcutsOverlay.qml:193
212+msgid "Opens the Scopes home."
213+msgstr ""
214+
215+#: qml/Components/KeyboardShortcutsOverlay.qml:209
216+msgid "Switching"
217+msgstr ""
218+
219+#: qml/Components/KeyboardShortcutsOverlay.qml:216
220+msgid "Alt + Tab"
221+msgstr ""
222+
223+#: qml/Components/KeyboardShortcutsOverlay.qml:221
224+msgid "Switches between applications."
225+msgstr ""
226+
227+#: qml/Components/KeyboardShortcutsOverlay.qml:229
228+msgid "Super + W"
229+msgstr ""
230+
231+#: qml/Components/KeyboardShortcutsOverlay.qml:234
232+msgid "Opens the desktop spread."
233+msgstr ""
234+
235+#: qml/Components/KeyboardShortcutsOverlay.qml:242
236+msgid "Cursor Left or Right"
237+msgstr ""
238+
239+#: qml/Components/KeyboardShortcutsOverlay.qml:247
240+msgid "Moves the focus."
241+msgstr ""
242+
243+#: qml/Components/KeyboardShortcutsOverlay.qml:259
244+msgid "Windows"
245+msgstr ""
246+
247+#: qml/Components/KeyboardShortcutsOverlay.qml:266
248+msgid "Ctrl + Super + D"
249+msgstr ""
250+
251+#: qml/Components/KeyboardShortcutsOverlay.qml:271
252+msgid "Minimizes all windows."
253+msgstr ""
254+
255+#: qml/Components/KeyboardShortcutsOverlay.qml:279
256+msgid "Ctrl + Super + Up"
257+msgstr ""
258+
259+#: qml/Components/KeyboardShortcutsOverlay.qml:284
260+msgid "Maximizes the current window."
261+msgstr ""
262+
263+#: qml/Components/KeyboardShortcutsOverlay.qml:292
264+msgid "Ctrl + Super + Down"
265+msgstr ""
266+
267+#: qml/Components/KeyboardShortcutsOverlay.qml:297
268+msgid "Minimizes or restores the current window."
269+msgstr ""
270+
271+#: qml/Components/KeyboardShortcutsOverlay.qml:305
272+msgid "Ctrl + Super + Left or Right"
273+msgstr ""
274+
275+#: qml/Components/KeyboardShortcutsOverlay.qml:310
276+msgid "Semi-maximizes the current window."
277+msgstr ""
278+
279+#: qml/Components/KeyboardShortcutsOverlay.qml:318
280+msgid "Alt + F4"
281+msgstr ""
282+
283+#: qml/Components/KeyboardShortcutsOverlay.qml:323
284+msgid "Closes the current window."
285+msgstr ""
286+
127#: qml/Components/Lockscreen.qml:231
287#: qml/Components/Lockscreen.qml:231
128msgid "Return to Call"
288msgid "Return to Call"
129msgstr "Vend tilbage til opkald"
289msgstr "Vend tilbage til opkald"
@@ -162,26 +322,26 @@ msgstr ""
162msgid "Close all"
322msgid "Close all"
163msgstr ""
323msgstr ""
164
324
165−#: qml/Dash/DashPageHeader.qml:337
325+#: qml/Dash/DashPageHeader.qml:333
166msgctxt "Button: Open the Ubuntu Store"
326msgctxt "Button: Open the Ubuntu Store"
167msgid "Store"
327msgid "Store"
168msgstr "Butik"
328msgstr "Butik"
169
329
170−#: qml/Dash/DashPageHeader.qml:344
330+#: qml/Dash/DashPageHeader.qml:340
171msgctxt "Button: Start a search in the current dash scope"
331msgctxt "Button: Start a search in the current dash scope"
172msgid "Search"
332msgid "Search"
173msgstr "Søg"
333msgstr "Søg"
174
334
175−#: qml/Dash/DashPageHeader.qml:354
335+#: qml/Dash/DashPageHeader.qml:350
176msgctxt "Button: Show the current dash scope settings"
336msgctxt "Button: Show the current dash scope settings"
177msgid "Settings"
337msgid "Settings"
178msgstr "Indstillinger"
338msgstr "Indstillinger"
179
339
180−#: qml/Dash/DashPageHeader.qml:361
340+#: qml/Dash/DashPageHeader.qml:357
181msgid "Remove from Favorites"
341msgid "Remove from Favorites"
182msgstr "Fjern fra Favoritter"
342msgstr "Fjern fra Favoritter"
183
343
184−#: qml/Dash/DashPageHeader.qml:361
344+#: qml/Dash/DashPageHeader.qml:357
185msgid "Add to Favorites"
345msgid "Add to Favorites"
186msgstr "Tilføj til Favoritter"
346msgstr "Tilføj til Favoritter"
187
347
@@ -193,24 +353,24 @@ msgstr ""
193msgid "Reset"
353msgid "Reset"
194msgstr ""
354msgstr ""
195
355
196−#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
356+#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
197msgid "Show less"
357msgid "Show less"
198msgstr ""
358msgstr ""
199
359
200−#: qml/Dash/GenericScopeView.qml:579
360+#: qml/Dash/GenericScopeView.qml:580
201msgid "Show all"
361msgid "Show all"
202msgstr ""
362msgstr ""
203
363
204−#: qml/Dash/GenericScopeView.qml:636
364+#: qml/Dash/GenericScopeView.qml:637
205msgctxt "Label: Hint for dash search line edit"
365msgctxt "Label: Hint for dash search line edit"
206msgid "Search"
366msgid "Search"
207msgstr "Søg"
367msgstr "Søg"
208
368
209−#: qml/Dash/PageHeaderExtraPanel.qml:55
369+#: qml/Dash/PageHeaderExtraPanel.qml:56
210msgid "Recent Searches"
370msgid "Recent Searches"
211msgstr ""
371msgstr ""
212
372
213−#: qml/Dash/PageHeaderExtraPanel.qml:66
373+#: qml/Dash/PageHeaderExtraPanel.qml:67
214msgid "Clear All"
374msgid "Clear All"
215msgstr ""
375msgstr ""
216
376
@@ -223,15 +383,15 @@ msgid "Less..."
223msgstr "Mindre..."
383msgstr "Mindre..."
224
384
225#: qml/Dash/Previews/PreviewCommentInput.qml:68
385#: qml/Dash/Previews/PreviewCommentInput.qml:68
226−#: qml/Dash/Previews/PreviewRatingInput.qml:174
386+#: qml/Dash/Previews/PreviewRatingInput.qml:175
227msgid "Send"
387msgid "Send"
228msgstr "Send"
388msgstr "Send"
229
389
230−#: qml/Dash/Previews/PreviewRatingInput.qml:84
390+#: qml/Dash/Previews/PreviewRatingInput.qml:82
231msgid "Rate this"
391msgid "Rate this"
232msgstr "Bedøm dette"
392msgstr "Bedøm dette"
233
393
234−#: qml/Dash/Previews/PreviewRatingInput.qml:129
394+#: qml/Dash/Previews/PreviewRatingInput.qml:157
235msgid "Add a review"
395msgid "Add a review"
236msgstr "Tilføj en anmeldelse"
396msgstr "Tilføj en anmeldelse"
237
397
@@ -251,15 +411,15 @@ msgstr "Giv slip for at genindlæse..."
251msgid "Enable location data"
411msgid "Enable location data"
252msgstr "Aktivér lokationsdata"
412msgstr "Aktivér lokationsdata"
253
413
254−#: qml/Dash/ScopesList.qml:67
414+#: qml/Dash/ScopesList.qml:55
255msgid "Manage"
415msgid "Manage"
256msgstr "Administrér"
416msgstr "Administrér"
257
417
258−#: qml/Dash/ScopesList.qml:113
418+#: qml/Dash/ScopesList.qml:101
259msgid "Home"
419msgid "Home"
260msgstr "Hjem"
420msgstr "Hjem"
261
421
262−#: qml/Dash/ScopesList.qml:114
422+#: qml/Dash/ScopesList.qml:102
263msgid "Also installed"
423msgid "Also installed"
264msgstr "Også installeret"
424msgstr "Også installeret"
265
425
@@ -269,17 +429,17 @@ msgid ""
269"touch pad to interact with the pointer."
429"touch pad to interact with the pointer."
270msgstr ""
430msgstr ""
271
431
272−#: qml/Greeter/CoverPage.qml:118
432+#: qml/Greeter/CoverPage.qml:119
273msgid "Unlock"
433msgid "Unlock"
274msgstr "Lås op"
434msgstr "Lås op"
275
435
276−#: qml/Greeter/LoginList.qml:239
436+#: qml/Greeter/LoginList.qml:259
277msgid "Retry"
437msgid "Retry"
278msgstr "Forsøg igen"
438msgstr "Forsøg igen"
279
439
280−#: qml/Greeter/LoginList.qml:240
440+#: qml/Greeter/LoginList.qml:260
281−msgid "Tap to unlock"
441+msgid "Log In"
282−msgstr "Tap for at låse op"
442+msgstr ""
283
443
284#: qml/Greeter/NarrowView.qml:54
444#: qml/Greeter/NarrowView.qml:54
285msgid "Sorry, incorrect passphrase."
445msgid "Sorry, incorrect passphrase."
@@ -411,18 +571,18 @@ msgstr "Færdig"
411msgid "Failed, tap to retry"
571msgid "Failed, tap to retry"
412msgstr "Mislykkedes - tryk for at prøve igen"
572msgstr "Mislykkedes - tryk for at prøve igen"
413
573
414−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:155
574+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:151
415−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
575+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:210
416msgctxt "Button: Send a reply message"
576msgctxt "Button: Send a reply message"
417msgid "Send"
577msgid "Send"
418msgstr ""
578msgstr ""
419
579
420−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
580+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:152
421msgctxt "Label: Hint in message indicator line edit"
581msgctxt "Label: Hint in message indicator line edit"
422msgid "Reply"
582msgid "Reply"
423msgstr "Svar"
583msgstr "Svar"
424
584
425−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
585+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:209
426msgctxt "Button: Call back on phone"
586msgctxt "Button: Call back on phone"
427msgid "Call back"
587msgid "Call back"
428msgstr ""
588msgstr ""
@@ -431,32 +591,12 @@ msgstr ""
431msgid "Drag using 3 fingers any application from one window to the other"
591msgid "Drag using 3 fingers any application from one window to the other"
432msgstr ""
592msgstr ""
433
593
434−#: qml/Tutorial/TutorialBottom.qml:78
435−msgid "Swipe up to add a contact"
436−msgstr ""
437−
438−#: qml/Tutorial/TutorialBottom.qml:80
439−msgid "Swipe up for favorite calculations"
440−msgstr ""
441−
442−#: qml/Tutorial/TutorialBottom.qml:82
443−msgid "Swipe up for recent calls"
444−msgstr ""
445−
446−#: qml/Tutorial/TutorialBottom.qml:84
447−msgid "Swipe up to create a message"
448−msgstr ""
449−
450−#: qml/Tutorial/TutorialBottom.qml:85
451−msgid "Swipe up to manage the app"
452−msgstr ""
453−
454−#: qml/Tutorial/TutorialLeftLong.qml:47
594+#: qml/Tutorial/TutorialLeftLong.qml:49
455msgid "Long swipe from the left edge to open the Today scope"
595msgid "Long swipe from the left edge to open the Today scope"
456msgstr ""
596msgstr ""
457
597
458#: qml/Tutorial/TutorialLeft.qml:47
598#: qml/Tutorial/TutorialLeft.qml:47
459−msgid "Swipe from the left edge to open the launcher"
599+msgid "Short swipe from the left edge to open the launcher"
460msgstr ""
600msgstr ""
461
601
462#: qml/Tutorial/TutorialRight.qml:55
602#: qml/Tutorial/TutorialRight.qml:55
@@ -464,15 +604,11 @@ msgid "Push your mouse against the right edge to view your open apps"
464msgstr ""
604msgstr ""
465
605
466#: qml/Tutorial/TutorialRight.qml:56
606#: qml/Tutorial/TutorialRight.qml:56
467−msgid "Short or long swipe from the right edge to view your open apps"
607+msgid "Swipe from the right edge to view your open apps"
468msgstr ""
608msgstr ""
469
609
470#: qml/Tutorial/TutorialTop.qml:53
610#: qml/Tutorial/TutorialTop.qml:53
471−msgid "Swipe from the top right edge to open the notification bar"
611+msgid "Swipe from the top edge to access notifications and quick settings"
472−msgstr ""
473−
474−#: qml/Tutorial/TutorialTop.qml:54
475−msgid "Swipe from the top edge to open the notification bar"
476msgstr ""
612msgstr ""
477
613
478#: qml/Wizard/Page.qml:54
614#: qml/Wizard/Page.qml:54
@@ -484,8 +620,8 @@ msgstr "Tilbage"
484msgid "Language"
620msgid "Language"
485msgstr ""
621msgstr ""
486
622
487−#: qml/Wizard/Pages/10-welcome.qml:156 qml/Wizard/Pages/30-wifi.qml:206
623+#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
488−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:267
624+#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
489#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
625#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
490#: qml/Wizard/Pages/75-report-check.qml:84
626#: qml/Wizard/Pages/75-report-check.qml:84
491#: qml/Wizard/Pages/passcode-desktop.qml:124
627#: qml/Wizard/Pages/passcode-desktop.qml:124
@@ -550,7 +686,7 @@ msgstr ""
550msgid "Time Zone"
686msgid "Time Zone"
551msgstr ""
687msgstr ""
552
688
553−#: qml/Wizard/Pages/50-timezone.qml:178
689+#: qml/Wizard/Pages/50-timezone.qml:181
554msgid "Enter your city"
690msgid "Enter your city"
555msgstr ""
691msgstr ""
556
692
@@ -942,6 +1078,9 @@ msgstr ""
942#~ msgid "Reboot"
1078#~ msgid "Reboot"
943#~ msgstr "Genstart"
1079#~ msgstr "Genstart"
944
1080
1081+#~ msgid "Tap to unlock"
1082+#~ msgstr "Tap for at låse op"
1083+
945#~ msgid "Roaming"
1084#~ msgid "Roaming"
946#~ msgstr "Roaming"
1085#~ msgstr "Roaming"
947
1086
po/de.po+248−82
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-05-20 08:44+0000\n"
10+"POT-Creation-Date: 2016-06-17 01:22+0000\n"
11"PO-Revision-Date: 2016-05-10 19:23+0000\n"
11"PO-Revision-Date: 2016-05-10 19:23+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,23 +15,23 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
18+"X-Launchpad-Export-Date: 2016-06-19 05:54+0000\n"
19−"X-Generator: Launchpad (build 18053)\n"
19+"X-Generator: Launchpad (build 18097)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
23msgstr "Passwort: "
23msgstr "Passwort: "
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:48
25+#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:107
26+#: plugins/Unity/Launcher/launcheritem.cpp:108
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28msgstr "Verknüpfung anheften"
28msgstr "Verknüpfung anheften"
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:53
30+#: plugins/Unity/Launcher/launcheritem.cpp:54
31msgid "Quit"
31msgid "Quit"
32msgstr "Beenden"
32msgstr "Beenden"
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:107
34+#: plugins/Unity/Launcher/launcheritem.cpp:108
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36msgstr "Verknüpfung entfernen"
36msgstr "Verknüpfung entfernen"
37
37
@@ -58,54 +58,54 @@ msgid_plural "Please wait %1 minutes and then try again…"
58msgstr[0] "Bitte %1 Minute warten und es dann erneut versuchen …"
58msgstr[0] "Bitte %1 Minute warten und es dann erneut versuchen …"
59msgstr[1] "Bitte %1 Minuten warten und es dann erneut versuchen …"
59msgstr[1] "Bitte %1 Minuten warten und es dann erneut versuchen …"
60
60
61−#: qml/Components/Dialogs.qml:144
61+#: qml/Components/Dialogs.qml:146
62msgctxt "Title: Lock/Log out dialog"
62msgctxt "Title: Lock/Log out dialog"
63msgid "Log out"
63msgid "Log out"
64msgstr "Abmelden"
64msgstr "Abmelden"
65
65
66−#: qml/Components/Dialogs.qml:145
66+#: qml/Components/Dialogs.qml:147
67msgid "Are you sure you want to log out?"
67msgid "Are you sure you want to log out?"
68msgstr "Sind Sie sicher, dass Sie sich abmelden wollen?"
68msgstr "Sind Sie sicher, dass Sie sich abmelden wollen?"
69
69
70−#: qml/Components/Dialogs.qml:147
70+#: qml/Components/Dialogs.qml:149
71msgctxt "Button: Lock the system"
71msgctxt "Button: Lock the system"
72msgid "Lock"
72msgid "Lock"
73msgstr "Sperren"
73msgstr "Sperren"
74
74
75−#: qml/Components/Dialogs.qml:154
75+#: qml/Components/Dialogs.qml:156
76msgctxt "Button: Log out from the system"
76msgctxt "Button: Log out from the system"
77msgid "Log Out"
77msgid "Log Out"
78msgstr "Abmelden"
78msgstr "Abmelden"
79
79
80−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
80+#: qml/Components/Dialogs.qml:163 qml/Components/Dialogs.qml:219
81−#: qml/Dash/DashPageHeader.qml:298 qml/Wizard/Pages/passcode-confirm.qml:32
81+#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
82#: qml/Wizard/Pages/passcode-set.qml:32
82#: qml/Wizard/Pages/passcode-set.qml:32
83msgid "Cancel"
83msgid "Cancel"
84msgstr "Abbrechen"
84msgstr "Abbrechen"
85
85
86−#: qml/Components/Dialogs.qml:173
86+#: qml/Components/Dialogs.qml:175
87msgctxt "Title: Reboot dialog"
87msgctxt "Title: Reboot dialog"
88msgid "Reboot"
88msgid "Reboot"
89msgstr "Neustarten"
89msgstr "Neustarten"
90
90
91−#: qml/Components/Dialogs.qml:174
91+#: qml/Components/Dialogs.qml:176
92msgid "Are you sure you want to reboot?"
92msgid "Are you sure you want to reboot?"
93msgstr "Sind Sie sicher, dass Sie neu starten wollen?"
93msgstr "Sind Sie sicher, dass Sie neu starten wollen?"
94
94
95−#: qml/Components/Dialogs.qml:176
95+#: qml/Components/Dialogs.qml:178
96msgid "No"
96msgid "No"
97msgstr "Nein"
97msgstr "Nein"
98
98
99−#: qml/Components/Dialogs.qml:182
99+#: qml/Components/Dialogs.qml:184
100msgid "Yes"
100msgid "Yes"
101msgstr "Ja"
101msgstr "Ja"
102
102
103−#: qml/Components/Dialogs.qml:197
103+#: qml/Components/Dialogs.qml:199
104msgctxt "Title: Power off/Restart dialog"
104msgctxt "Title: Power off/Restart dialog"
105msgid "Power"
105msgid "Power"
106msgstr "Ausschalten"
106msgstr "Ausschalten"
107
107
108−#: qml/Components/Dialogs.qml:198
108+#: qml/Components/Dialogs.qml:200
109msgid ""
109msgid ""
110"Are you sure you would like\n"
110"Are you sure you would like\n"
111"to power off?"
111"to power off?"
@@ -113,16 +113,176 @@ msgstr ""
113"Sind Sie sicher, dass Sie das\n"
113"Sind Sie sicher, dass Sie das\n"
114"Gerät ausschalten wollen?"
114"Gerät ausschalten wollen?"
115
115
116−#: qml/Components/Dialogs.qml:200
116+#: qml/Components/Dialogs.qml:202
117msgctxt "Button: Power off the system"
117msgctxt "Button: Power off the system"
118msgid "Power off"
118msgid "Power off"
119msgstr "Ausschalten"
119msgstr "Ausschalten"
120
120
121−#: qml/Components/Dialogs.qml:209
121+#: qml/Components/Dialogs.qml:211
122msgctxt "Button: Restart the system"
122msgctxt "Button: Restart the system"
123msgid "Restart"
123msgid "Restart"
124msgstr "Neustarten"
124msgstr "Neustarten"
125
125
126+#: qml/Components/KeyboardShortcutsOverlay.qml:41
127+msgid "Keyboard Shortcuts"
128+msgstr ""
129+
130+#: qml/Components/KeyboardShortcutsOverlay.qml:55
131+msgid "Unity 8"
132+msgstr ""
133+
134+#: qml/Components/KeyboardShortcutsOverlay.qml:62
135+msgid "PrtScr"
136+msgstr ""
137+
138+#: qml/Components/KeyboardShortcutsOverlay.qml:67
139+msgid "Takes a screenshot."
140+msgstr ""
141+
142+#: qml/Components/KeyboardShortcutsOverlay.qml:75
143+msgid "Alt + PrtScr"
144+msgstr ""
145+
146+#: qml/Components/KeyboardShortcutsOverlay.qml:80
147+msgid "Takes a screenshot of a window."
148+msgstr ""
149+
150+#: qml/Components/KeyboardShortcutsOverlay.qml:88
151+msgid "Super + Space"
152+msgstr ""
153+
154+#: qml/Components/KeyboardShortcutsOverlay.qml:93
155+msgid "Switches to next keyboard layout."
156+msgstr ""
157+
158+#: qml/Components/KeyboardShortcutsOverlay.qml:101
159+msgid "Super + Shift + Space"
160+msgstr ""
161+
162+#: qml/Components/KeyboardShortcutsOverlay.qml:106
163+msgid "Switches to previous keyboard layout."
164+msgstr ""
165+
166+#: qml/Components/KeyboardShortcutsOverlay.qml:118
167+msgid "Launcher"
168+msgstr ""
169+
170+#: qml/Components/KeyboardShortcutsOverlay.qml:125
171+msgid "Super (Hold)"
172+msgstr ""
173+
174+#: qml/Components/KeyboardShortcutsOverlay.qml:130
175+msgid "Opens the launcher, displays shortcuts."
176+msgstr ""
177+
178+#: qml/Components/KeyboardShortcutsOverlay.qml:138
179+msgid "Alt + F1"
180+msgstr ""
181+
182+#: qml/Components/KeyboardShortcutsOverlay.qml:143
183+msgid "Opens launcher keyboard navigation mode."
184+msgstr ""
185+
186+#: qml/Components/KeyboardShortcutsOverlay.qml:151
187+msgid "Super + Tab"
188+msgstr ""
189+
190+#: qml/Components/KeyboardShortcutsOverlay.qml:156
191+msgid "Switches applications via the launcher."
192+msgstr ""
193+
194+#: qml/Components/KeyboardShortcutsOverlay.qml:164
195+msgid "Super + 0 to 9"
196+msgstr ""
197+
198+#: qml/Components/KeyboardShortcutsOverlay.qml:169
199+msgid "Same as clicking on a launcher icon."
200+msgstr ""
201+
202+#: qml/Components/KeyboardShortcutsOverlay.qml:181
203+msgid "Scopes"
204+msgstr ""
205+
206+#: qml/Components/KeyboardShortcutsOverlay.qml:188
207+msgid "Super (Tap)"
208+msgstr ""
209+
210+#: qml/Components/KeyboardShortcutsOverlay.qml:193
211+msgid "Opens the Scopes home."
212+msgstr ""
213+
214+#: qml/Components/KeyboardShortcutsOverlay.qml:209
215+msgid "Switching"
216+msgstr ""
217+
218+#: qml/Components/KeyboardShortcutsOverlay.qml:216
219+msgid "Alt + Tab"
220+msgstr ""
221+
222+#: qml/Components/KeyboardShortcutsOverlay.qml:221
223+msgid "Switches between applications."
224+msgstr ""
225+
226+#: qml/Components/KeyboardShortcutsOverlay.qml:229
227+msgid "Super + W"
228+msgstr ""
229+
230+#: qml/Components/KeyboardShortcutsOverlay.qml:234
231+msgid "Opens the desktop spread."
232+msgstr ""
233+
234+#: qml/Components/KeyboardShortcutsOverlay.qml:242
235+msgid "Cursor Left or Right"
236+msgstr ""
237+
238+#: qml/Components/KeyboardShortcutsOverlay.qml:247
239+msgid "Moves the focus."
240+msgstr ""
241+
242+#: qml/Components/KeyboardShortcutsOverlay.qml:259
243+msgid "Windows"
244+msgstr ""
245+
246+#: qml/Components/KeyboardShortcutsOverlay.qml:266
247+msgid "Ctrl + Super + D"
248+msgstr ""
249+
250+#: qml/Components/KeyboardShortcutsOverlay.qml:271
251+msgid "Minimizes all windows."
252+msgstr ""
253+
254+#: qml/Components/KeyboardShortcutsOverlay.qml:279
255+msgid "Ctrl + Super + Up"
256+msgstr ""
257+
258+#: qml/Components/KeyboardShortcutsOverlay.qml:284
259+msgid "Maximizes the current window."
260+msgstr ""
261+
262+#: qml/Components/KeyboardShortcutsOverlay.qml:292
263+msgid "Ctrl + Super + Down"
264+msgstr ""
265+
266+#: qml/Components/KeyboardShortcutsOverlay.qml:297
267+msgid "Minimizes or restores the current window."
268+msgstr ""
269+
270+#: qml/Components/KeyboardShortcutsOverlay.qml:305
271+msgid "Ctrl + Super + Left or Right"
272+msgstr ""
273+
274+#: qml/Components/KeyboardShortcutsOverlay.qml:310
275+msgid "Semi-maximizes the current window."
276+msgstr ""
277+
278+#: qml/Components/KeyboardShortcutsOverlay.qml:318
279+msgid "Alt + F4"
280+msgstr ""
281+
282+#: qml/Components/KeyboardShortcutsOverlay.qml:323
283+msgid "Closes the current window."
284+msgstr ""
285+
126#: qml/Components/Lockscreen.qml:231
286#: qml/Components/Lockscreen.qml:231
127msgid "Return to Call"
287msgid "Return to Call"
128msgstr "Zu Anruf zurückkehren"
288msgstr "Zu Anruf zurückkehren"
@@ -163,26 +323,26 @@ msgstr "Jetzt verbinden!"
163msgid "Close all"
323msgid "Close all"
164msgstr "Alle schließen"
324msgstr "Alle schließen"
165
325
166−#: qml/Dash/DashPageHeader.qml:337
326+#: qml/Dash/DashPageHeader.qml:333
167msgctxt "Button: Open the Ubuntu Store"
327msgctxt "Button: Open the Ubuntu Store"
168msgid "Store"
328msgid "Store"
169msgstr "Speichern"
329msgstr "Speichern"
170
330
171−#: qml/Dash/DashPageHeader.qml:344
331+#: qml/Dash/DashPageHeader.qml:340
172msgctxt "Button: Start a search in the current dash scope"
332msgctxt "Button: Start a search in the current dash scope"
173msgid "Search"
333msgid "Search"
174msgstr "Suchen"
334msgstr "Suchen"
175
335
176−#: qml/Dash/DashPageHeader.qml:354
336+#: qml/Dash/DashPageHeader.qml:350
177msgctxt "Button: Show the current dash scope settings"
337msgctxt "Button: Show the current dash scope settings"
178msgid "Settings"
338msgid "Settings"
179msgstr "Einstellungen"
339msgstr "Einstellungen"
180
340
181−#: qml/Dash/DashPageHeader.qml:361
341+#: qml/Dash/DashPageHeader.qml:357
182msgid "Remove from Favorites"
342msgid "Remove from Favorites"
183msgstr "Aus den Favoriten entfernen"
343msgstr "Aus den Favoriten entfernen"
184
344
185−#: qml/Dash/DashPageHeader.qml:361
345+#: qml/Dash/DashPageHeader.qml:357
186msgid "Add to Favorites"
346msgid "Add to Favorites"
187msgstr "Zu Favoriten hinzufügen"
347msgstr "Zu Favoriten hinzufügen"
188
348
@@ -194,24 +354,24 @@ msgstr "Ergebnisse verfeinern"
194msgid "Reset"
354msgid "Reset"
195msgstr "Zurücksetzen"
355msgstr "Zurücksetzen"
196
356
197−#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
357+#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
198msgid "Show less"
358msgid "Show less"
199msgstr "Weniger anzeigen"
359msgstr "Weniger anzeigen"
200
360
201−#: qml/Dash/GenericScopeView.qml:579
361+#: qml/Dash/GenericScopeView.qml:580
202msgid "Show all"
362msgid "Show all"
203msgstr "Alle anzeigen"
363msgstr "Alle anzeigen"
204
364
205−#: qml/Dash/GenericScopeView.qml:636
365+#: qml/Dash/GenericScopeView.qml:637
206msgctxt "Label: Hint for dash search line edit"
366msgctxt "Label: Hint for dash search line edit"
207msgid "Search"
367msgid "Search"
208msgstr "Suchen"
368msgstr "Suchen"
209
369
210−#: qml/Dash/PageHeaderExtraPanel.qml:55
370+#: qml/Dash/PageHeaderExtraPanel.qml:56
211msgid "Recent Searches"
371msgid "Recent Searches"
212msgstr "Letzte Suchanfragen"
372msgstr "Letzte Suchanfragen"
213
373
214−#: qml/Dash/PageHeaderExtraPanel.qml:66
374+#: qml/Dash/PageHeaderExtraPanel.qml:67
215msgid "Clear All"
375msgid "Clear All"
216msgstr "Alle zurücksetzen"
376msgstr "Alle zurücksetzen"
217
377
@@ -224,15 +384,15 @@ msgid "Less..."
224msgstr "Weniger …"
384msgstr "Weniger …"
225
385
226#: qml/Dash/Previews/PreviewCommentInput.qml:68
386#: qml/Dash/Previews/PreviewCommentInput.qml:68
227−#: qml/Dash/Previews/PreviewRatingInput.qml:174
387+#: qml/Dash/Previews/PreviewRatingInput.qml:175
228msgid "Send"
388msgid "Send"
229msgstr "Senden"
389msgstr "Senden"
230
390
231−#: qml/Dash/Previews/PreviewRatingInput.qml:84
391+#: qml/Dash/Previews/PreviewRatingInput.qml:82
232msgid "Rate this"
392msgid "Rate this"
233msgstr "Bewerten"
393msgstr "Bewerten"
234
394
235−#: qml/Dash/Previews/PreviewRatingInput.qml:129
395+#: qml/Dash/Previews/PreviewRatingInput.qml:157
236msgid "Add a review"
396msgid "Add a review"
237msgstr "Bewertung hinzufügen"
397msgstr "Bewertung hinzufügen"
238
398
@@ -252,15 +412,15 @@ msgstr "Zum Aktualisieren loslassen …"
252msgid "Enable location data"
412msgid "Enable location data"
253msgstr "Standortdaten aktivieren"
413msgstr "Standortdaten aktivieren"
254
414
255−#: qml/Dash/ScopesList.qml:67
415+#: qml/Dash/ScopesList.qml:55
256msgid "Manage"
416msgid "Manage"
257msgstr "Verwalten"
417msgstr "Verwalten"
258
418
259−#: qml/Dash/ScopesList.qml:113
419+#: qml/Dash/ScopesList.qml:101
260msgid "Home"
420msgid "Home"
261msgstr "Startseite"
421msgstr "Startseite"
262
422
263−#: qml/Dash/ScopesList.qml:114
423+#: qml/Dash/ScopesList.qml:102
264msgid "Also installed"
424msgid "Also installed"
265msgstr "Ebenfalls installiert"
425msgstr "Ebenfalls installiert"
266
426
@@ -272,17 +432,17 @@ msgstr ""
272"Ihr Gerät ist nun mit einem externen Bildschirm verbunden. Verwenden Sie das "
432"Ihr Gerät ist nun mit einem externen Bildschirm verbunden. Verwenden Sie das "
273"Gerätedisplay als Touchpad, um den Mauszeiger zu steuern."
433"Gerätedisplay als Touchpad, um den Mauszeiger zu steuern."
274
434
275−#: qml/Greeter/CoverPage.qml:118
435+#: qml/Greeter/CoverPage.qml:119
276msgid "Unlock"
436msgid "Unlock"
277msgstr "Entsperren"
437msgstr "Entsperren"
278
438
279−#: qml/Greeter/LoginList.qml:239
439+#: qml/Greeter/LoginList.qml:259
280msgid "Retry"
440msgid "Retry"
281msgstr "Erneut versuchen"
441msgstr "Erneut versuchen"
282
442
283−#: qml/Greeter/LoginList.qml:240
443+#: qml/Greeter/LoginList.qml:260
284−msgid "Tap to unlock"
444+msgid "Log In"
285−msgstr "Zum Entsperren tippen"
445+msgstr ""
286
446
287#: qml/Greeter/NarrowView.qml:54
447#: qml/Greeter/NarrowView.qml:54
288msgid "Sorry, incorrect passphrase."
448msgid "Sorry, incorrect passphrase."
@@ -414,18 +574,18 @@ msgstr "Erledigt"
414msgid "Failed, tap to retry"
574msgid "Failed, tap to retry"
415msgstr "Fehlgeschlagen, tippen Sie zum Wiederholen"
575msgstr "Fehlgeschlagen, tippen Sie zum Wiederholen"
416
576
417−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:155
577+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:151
418−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
578+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:210
419msgctxt "Button: Send a reply message"
579msgctxt "Button: Send a reply message"
420msgid "Send"
580msgid "Send"
421msgstr "Senden"
581msgstr "Senden"
422
582
423−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
583+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:152
424msgctxt "Label: Hint in message indicator line edit"
584msgctxt "Label: Hint in message indicator line edit"
425msgid "Reply"
585msgid "Reply"
426msgstr "Antworten"
586msgstr "Antworten"
427
587
428−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
588+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:209
429msgctxt "Button: Call back on phone"
589msgctxt "Button: Call back on phone"
430msgid "Call back"
590msgid "Call back"
431msgstr "Zurückrufen"
591msgstr "Zurückrufen"
@@ -434,34 +594,14 @@ msgstr "Zurückrufen"
434msgid "Drag using 3 fingers any application from one window to the other"
594msgid "Drag using 3 fingers any application from one window to the other"
435msgstr "Eine Anwendung mit 3 Fingern von einem Fenster zum anderen ziehen"
595msgstr "Eine Anwendung mit 3 Fingern von einem Fenster zum anderen ziehen"
436
596
437−#: qml/Tutorial/TutorialBottom.qml:78
438−msgid "Swipe up to add a contact"
439−msgstr "Aufwärts wischen, um einen Kontakt hinzuzufügen"
440−
441−#: qml/Tutorial/TutorialBottom.qml:80
442−msgid "Swipe up for favorite calculations"
443−msgstr "Aufwärts wischen, um die Favoriten-Rechnungen anzuzeigen"
444−
445−#: qml/Tutorial/TutorialBottom.qml:82
446−msgid "Swipe up for recent calls"
447−msgstr "Aufwärts wischen, um die letzten Anrufe anzuzeigen"
448−
449−#: qml/Tutorial/TutorialBottom.qml:84
450−msgid "Swipe up to create a message"
451−msgstr "Aufwärts wischen, um eine Nachricht zu erstellen"
452−
453−#: qml/Tutorial/TutorialBottom.qml:85
454−msgid "Swipe up to manage the app"
455−msgstr "Aufwärts wischen, um die Anwendung zu verwalten"
456−
457−#: qml/Tutorial/TutorialLeftLong.qml:47
597+#: qml/Tutorial/TutorialLeftLong.qml:49
458msgid "Long swipe from the left edge to open the Today scope"
598msgid "Long swipe from the left edge to open the Today scope"
459msgstr ""
599msgstr ""
460"Langgezogene Wischgeste von der linken Kante, um den Heute-Scope zu öffnen"
600"Langgezogene Wischgeste von der linken Kante, um den Heute-Scope zu öffnen"
461
601
462#: qml/Tutorial/TutorialLeft.qml:47
602#: qml/Tutorial/TutorialLeft.qml:47
463−msgid "Swipe from the left edge to open the launcher"
603+msgid "Short swipe from the left edge to open the launcher"
464−msgstr "Von der linken Kante wischen, um den Starter zu öffnen"
604+msgstr ""
465
605
466#: qml/Tutorial/TutorialRight.qml:55
606#: qml/Tutorial/TutorialRight.qml:55
467msgid "Push your mouse against the right edge to view your open apps"
607msgid "Push your mouse against the right edge to view your open apps"
@@ -470,20 +610,12 @@ msgstr ""
470"Anwendungen zu sehen"
610"Anwendungen zu sehen"
471
611
472#: qml/Tutorial/TutorialRight.qml:56
612#: qml/Tutorial/TutorialRight.qml:56
473−msgid "Short or long swipe from the right edge to view your open apps"
613+msgid "Swipe from the right edge to view your open apps"
474msgstr ""
614msgstr ""
475−"Kurze oder langgezogene Wischgeste von der rechten Kante, um die offenen "
476−"Anwendungen zu sehen"
477
615
478#: qml/Tutorial/TutorialTop.qml:53
616#: qml/Tutorial/TutorialTop.qml:53
479−msgid "Swipe from the top right edge to open the notification bar"
617+msgid "Swipe from the top edge to access notifications and quick settings"
480−msgstr ""
481−"Vom rechten oberen Rand her wischen, um die Benachrichtigungsleiste zu öffnen"
482−
483−#: qml/Tutorial/TutorialTop.qml:54
484−msgid "Swipe from the top edge to open the notification bar"
485msgstr ""
618msgstr ""
486−"Vom oberen Rand her wischen, um die Benachrichtigungsleiste zu öffnen"
487
619
488#: qml/Wizard/Page.qml:54
620#: qml/Wizard/Page.qml:54
489msgctxt "Button: Go back one page in the Wizard"
621msgctxt "Button: Go back one page in the Wizard"
@@ -494,8 +626,8 @@ msgstr "Zurück"
494msgid "Language"
626msgid "Language"
495msgstr "Sprache"
627msgstr "Sprache"
496
628
497−#: qml/Wizard/Pages/10-welcome.qml:156 qml/Wizard/Pages/30-wifi.qml:206
629+#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
498−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:267
630+#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
499#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
631#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
500#: qml/Wizard/Pages/75-report-check.qml:84
632#: qml/Wizard/Pages/75-report-check.qml:84
501#: qml/Wizard/Pages/passcode-desktop.qml:124
633#: qml/Wizard/Pages/passcode-desktop.qml:124
@@ -562,7 +694,7 @@ msgstr "Dies kann später in den Systemeinstellungen geändert werden."
562msgid "Time Zone"
694msgid "Time Zone"
563msgstr "Zeitzone"
695msgstr "Zeitzone"
564
696
565−#: qml/Wizard/Pages/50-timezone.qml:178
697+#: qml/Wizard/Pages/50-timezone.qml:181
566msgid "Enter your city"
698msgid "Enter your city"
567msgstr "Bitte Ihre Stadt eingeben"
699msgstr "Bitte Ihre Stadt eingeben"
568
700
@@ -1023,6 +1155,9 @@ msgstr "Sehr schwaches Passwort"
1023#~ msgid "Swipe up from the bottom edge."
1155#~ msgid "Swipe up from the bottom edge."
1024#~ msgstr "Wischen Sie von der unteren Bildschirmkante nach oben."
1156#~ msgstr "Wischen Sie von der unteren Bildschirmkante nach oben."
1025
1157
1158+#~ msgid "Tap to unlock"
1159+#~ msgstr "Zum Entsperren tippen"
1160+
1026#~ msgctxt "Button: Shut down the system"
1161#~ msgctxt "Button: Shut down the system"
1027#~ msgid "Shut down"
1162#~ msgid "Shut down"
1028#~ msgstr "Ausschalten"
1163#~ msgstr "Ausschalten"
@@ -1092,6 +1227,37 @@ msgstr "Sehr schwaches Passwort"
1092#~ msgid "Call back"
1227#~ msgid "Call back"
1093#~ msgstr "Zurückrufen"
1228#~ msgstr "Zurückrufen"
1094
1229
1230+#~ msgid "Short or long swipe from the right edge to view your open apps"
1231+#~ msgstr ""
1232+#~ "Kurze oder langgezogene Wischgeste von der rechten Kante, um die offenen "
1233+#~ "Anwendungen zu sehen"
1234+
1235+#~ msgid "Swipe up for recent calls"
1236+#~ msgstr "Aufwärts wischen, um die letzten Anrufe anzuzeigen"
1237+
1238+#~ msgid "Swipe up for favorite calculations"
1239+#~ msgstr "Aufwärts wischen, um die Favoriten-Rechnungen anzuzeigen"
1240+
1241+#~ msgid "Swipe up to manage the app"
1242+#~ msgstr "Aufwärts wischen, um die Anwendung zu verwalten"
1243+
1244+#~ msgid "Swipe up to create a message"
1245+#~ msgstr "Aufwärts wischen, um eine Nachricht zu erstellen"
1246+
1247+#~ msgid "Swipe up to add a contact"
1248+#~ msgstr "Aufwärts wischen, um einen Kontakt hinzuzufügen"
1249+
1250+#~ msgid "Swipe from the left edge to open the launcher"
1251+#~ msgstr "Von der linken Kante wischen, um den Starter zu öffnen"
1252+
1095#~ msgid "Hover your mouse on the right edge to view your open apps"
1253#~ msgid "Hover your mouse on the right edge to view your open apps"
1096#~ msgstr ""
1254#~ msgstr ""
1097#~ "Die Maus auf den rechten Rand bewegen, um die offenen Anwendungen zu sehen"
1255#~ "Die Maus auf den rechten Rand bewegen, um die offenen Anwendungen zu sehen"
1256+
1257+#~ msgid "Swipe from the top right edge to open the notification bar"
1258+#~ msgstr ""
1259+#~ "Vom rechten oberen Rand her wischen, um die Benachrichtigungsleiste zu öffnen"
1260+
1261+#~ msgid "Swipe from the top edge to open the notification bar"
1262+#~ msgstr ""
1263+#~ "Vom oberen Rand her wischen, um die Benachrichtigungsleiste zu öffnen"
po/el.po+216−77
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-05-20 08:44+0000\n"
10+"POT-Creation-Date: 2016-06-17 01:22+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,23 +15,23 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
18+"X-Launchpad-Export-Date: 2016-06-19 05:55+0000\n"
19−"X-Generator: Launchpad (build 18053)\n"
19+"X-Generator: Launchpad (build 18097)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
23msgstr "Κωδικός πρόσβασης: "
23msgstr "Κωδικός πρόσβασης: "
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:48
25+#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:107
26+#: plugins/Unity/Launcher/launcheritem.cpp:108
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28msgstr "Καρφίτσωμα συντόμευσης"
28msgstr "Καρφίτσωμα συντόμευσης"
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:53
30+#: plugins/Unity/Launcher/launcheritem.cpp:54
31msgid "Quit"
31msgid "Quit"
32msgstr "Έξοδος"
32msgstr "Έξοδος"
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:107
34+#: plugins/Unity/Launcher/launcheritem.cpp:108
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36msgstr "Ξεκαρφίτσωμα συντόμευσης"
36msgstr "Ξεκαρφίτσωμα συντόμευσης"
37
37
@@ -58,54 +58,54 @@ msgid_plural "Please wait %1 minutes and then try again…"
58msgstr[0] "Παρακαλώ περιμένετε %1 λεπτό και δοκιμάστε ξανά..."
58msgstr[0] "Παρακαλώ περιμένετε %1 λεπτό και δοκιμάστε ξανά..."
59msgstr[1] "Παρακαλώ περιμένετε %1 λεπτά και δοκιμάστε ξανά..."
59msgstr[1] "Παρακαλώ περιμένετε %1 λεπτά και δοκιμάστε ξανά..."
60
60
61−#: qml/Components/Dialogs.qml:144
61+#: qml/Components/Dialogs.qml:146
62msgctxt "Title: Lock/Log out dialog"
62msgctxt "Title: Lock/Log out dialog"
63msgid "Log out"
63msgid "Log out"
64msgstr "Αποσύνδεση"
64msgstr "Αποσύνδεση"
65
65
66−#: qml/Components/Dialogs.qml:145
66+#: qml/Components/Dialogs.qml:147
67msgid "Are you sure you want to log out?"
67msgid "Are you sure you want to log out?"
68msgstr "Επιθυμείτε σίγουρα να αποσυνδεθείτε;"
68msgstr "Επιθυμείτε σίγουρα να αποσυνδεθείτε;"
69
69
70−#: qml/Components/Dialogs.qml:147
70+#: qml/Components/Dialogs.qml:149
71msgctxt "Button: Lock the system"
71msgctxt "Button: Lock the system"
72msgid "Lock"
72msgid "Lock"
73msgstr "Κλείδωμα"
73msgstr "Κλείδωμα"
74
74
75−#: qml/Components/Dialogs.qml:154
75+#: qml/Components/Dialogs.qml:156
76msgctxt "Button: Log out from the system"
76msgctxt "Button: Log out from the system"
77msgid "Log Out"
77msgid "Log Out"
78msgstr "Αποσύνδεση"
78msgstr "Αποσύνδεση"
79
79
80−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
80+#: qml/Components/Dialogs.qml:163 qml/Components/Dialogs.qml:219
81−#: qml/Dash/DashPageHeader.qml:298 qml/Wizard/Pages/passcode-confirm.qml:32
81+#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
82#: qml/Wizard/Pages/passcode-set.qml:32
82#: qml/Wizard/Pages/passcode-set.qml:32
83msgid "Cancel"
83msgid "Cancel"
84msgstr "Ακύρωση"
84msgstr "Ακύρωση"
85
85
86−#: qml/Components/Dialogs.qml:173
86+#: qml/Components/Dialogs.qml:175
87msgctxt "Title: Reboot dialog"
87msgctxt "Title: Reboot dialog"
88msgid "Reboot"
88msgid "Reboot"
89msgstr "Επανεκκίνηση"
89msgstr "Επανεκκίνηση"
90
90
91−#: qml/Components/Dialogs.qml:174
91+#: qml/Components/Dialogs.qml:176
92msgid "Are you sure you want to reboot?"
92msgid "Are you sure you want to reboot?"
93msgstr "Επιθυμείτε σίγουρα επανεκκίνηση;"
93msgstr "Επιθυμείτε σίγουρα επανεκκίνηση;"
94
94
95−#: qml/Components/Dialogs.qml:176
95+#: qml/Components/Dialogs.qml:178
96msgid "No"
96msgid "No"
97msgstr "Όχι"
97msgstr "Όχι"
98
98
99−#: qml/Components/Dialogs.qml:182
99+#: qml/Components/Dialogs.qml:184
100msgid "Yes"
100msgid "Yes"
101msgstr "Ναι"
101msgstr "Ναι"
102
102
103−#: qml/Components/Dialogs.qml:197
103+#: qml/Components/Dialogs.qml:199
104msgctxt "Title: Power off/Restart dialog"
104msgctxt "Title: Power off/Restart dialog"
105msgid "Power"
105msgid "Power"
106msgstr "Τερματισμός"
106msgstr "Τερματισμός"
107
107
108−#: qml/Components/Dialogs.qml:198
108+#: qml/Components/Dialogs.qml:200
109msgid ""
109msgid ""
110"Are you sure you would like\n"
110"Are you sure you would like\n"
111"to power off?"
111"to power off?"
@@ -113,16 +113,176 @@ msgstr ""
113"Επιθυμείτε σίγουρα τον\n"
113"Επιθυμείτε σίγουρα τον\n"
114"τερματισμό λειτουργίας;"
114"τερματισμό λειτουργίας;"
115
115
116−#: qml/Components/Dialogs.qml:200
116+#: qml/Components/Dialogs.qml:202
117msgctxt "Button: Power off the system"
117msgctxt "Button: Power off the system"
118msgid "Power off"
118msgid "Power off"
119msgstr "Τερματισμός"
119msgstr "Τερματισμός"
120
120
121−#: qml/Components/Dialogs.qml:209
121+#: qml/Components/Dialogs.qml:211
122msgctxt "Button: Restart the system"
122msgctxt "Button: Restart the system"
123msgid "Restart"
123msgid "Restart"
124msgstr "Επανεκκίνηση"
124msgstr "Επανεκκίνηση"
125
125
126+#: qml/Components/KeyboardShortcutsOverlay.qml:41
127+msgid "Keyboard Shortcuts"
128+msgstr ""
129+
130+#: qml/Components/KeyboardShortcutsOverlay.qml:55
131+msgid "Unity 8"
132+msgstr ""
133+
134+#: qml/Components/KeyboardShortcutsOverlay.qml:62
135+msgid "PrtScr"
136+msgstr ""
137+
138+#: qml/Components/KeyboardShortcutsOverlay.qml:67
139+msgid "Takes a screenshot."
140+msgstr ""
141+
142+#: qml/Components/KeyboardShortcutsOverlay.qml:75
143+msgid "Alt + PrtScr"
144+msgstr ""
145+
146+#: qml/Components/KeyboardShortcutsOverlay.qml:80
147+msgid "Takes a screenshot of a window."
148+msgstr ""
149+
150+#: qml/Components/KeyboardShortcutsOverlay.qml:88
151+msgid "Super + Space"
152+msgstr ""
153+
154+#: qml/Components/KeyboardShortcutsOverlay.qml:93
155+msgid "Switches to next keyboard layout."
156+msgstr ""
157+
158+#: qml/Components/KeyboardShortcutsOverlay.qml:101
159+msgid "Super + Shift + Space"
160+msgstr ""
161+
162+#: qml/Components/KeyboardShortcutsOverlay.qml:106
163+msgid "Switches to previous keyboard layout."
164+msgstr ""
165+
166+#: qml/Components/KeyboardShortcutsOverlay.qml:118
167+msgid "Launcher"
168+msgstr ""
169+
170+#: qml/Components/KeyboardShortcutsOverlay.qml:125
171+msgid "Super (Hold)"
172+msgstr ""
173+
174+#: qml/Components/KeyboardShortcutsOverlay.qml:130
175+msgid "Opens the launcher, displays shortcuts."
176+msgstr ""
177+
178+#: qml/Components/KeyboardShortcutsOverlay.qml:138
179+msgid "Alt + F1"
180+msgstr ""
181+
182+#: qml/Components/KeyboardShortcutsOverlay.qml:143
183+msgid "Opens launcher keyboard navigation mode."
184+msgstr ""
185+
186+#: qml/Components/KeyboardShortcutsOverlay.qml:151
187+msgid "Super + Tab"
188+msgstr ""
189+
190+#: qml/Components/KeyboardShortcutsOverlay.qml:156
191+msgid "Switches applications via the launcher."
192+msgstr ""
193+
194+#: qml/Components/KeyboardShortcutsOverlay.qml:164
195+msgid "Super + 0 to 9"
196+msgstr ""
197+
198+#: qml/Components/KeyboardShortcutsOverlay.qml:169
199+msgid "Same as clicking on a launcher icon."
200+msgstr ""
201+
202+#: qml/Components/KeyboardShortcutsOverlay.qml:181
203+msgid "Scopes"
204+msgstr ""
205+
206+#: qml/Components/KeyboardShortcutsOverlay.qml:188
207+msgid "Super (Tap)"
208+msgstr ""
209+
210+#: qml/Components/KeyboardShortcutsOverlay.qml:193
211+msgid "Opens the Scopes home."
212+msgstr ""
213+
214+#: qml/Components/KeyboardShortcutsOverlay.qml:209
215+msgid "Switching"
216+msgstr ""
217+
218+#: qml/Components/KeyboardShortcutsOverlay.qml:216
219+msgid "Alt + Tab"
220+msgstr ""
221+
222+#: qml/Components/KeyboardShortcutsOverlay.qml:221
223+msgid "Switches between applications."
224+msgstr ""
225+
226+#: qml/Components/KeyboardShortcutsOverlay.qml:229
227+msgid "Super + W"
228+msgstr ""
229+
230+#: qml/Components/KeyboardShortcutsOverlay.qml:234
231+msgid "Opens the desktop spread."
232+msgstr ""
233+
234+#: qml/Components/KeyboardShortcutsOverlay.qml:242
235+msgid "Cursor Left or Right"
236+msgstr ""
237+
238+#: qml/Components/KeyboardShortcutsOverlay.qml:247
239+msgid "Moves the focus."
240+msgstr ""
241+
242+#: qml/Components/KeyboardShortcutsOverlay.qml:259
243+msgid "Windows"
244+msgstr ""
245+
246+#: qml/Components/KeyboardShortcutsOverlay.qml:266
247+msgid "Ctrl + Super + D"
248+msgstr ""
249+
250+#: qml/Components/KeyboardShortcutsOverlay.qml:271
251+msgid "Minimizes all windows."
252+msgstr ""
253+
254+#: qml/Components/KeyboardShortcutsOverlay.qml:279
255+msgid "Ctrl + Super + Up"
256+msgstr ""
257+
258+#: qml/Components/KeyboardShortcutsOverlay.qml:284
259+msgid "Maximizes the current window."
260+msgstr ""
261+
262+#: qml/Components/KeyboardShortcutsOverlay.qml:292
263+msgid "Ctrl + Super + Down"
264+msgstr ""
265+
266+#: qml/Components/KeyboardShortcutsOverlay.qml:297
267+msgid "Minimizes or restores the current window."
268+msgstr ""
269+
270+#: qml/Components/KeyboardShortcutsOverlay.qml:305
271+msgid "Ctrl + Super + Left or Right"
272+msgstr ""
273+
274+#: qml/Components/KeyboardShortcutsOverlay.qml:310
275+msgid "Semi-maximizes the current window."
276+msgstr ""
277+
278+#: qml/Components/KeyboardShortcutsOverlay.qml:318
279+msgid "Alt + F4"
280+msgstr ""
281+
282+#: qml/Components/KeyboardShortcutsOverlay.qml:323
283+msgid "Closes the current window."
284+msgstr ""
285+
126#: qml/Components/Lockscreen.qml:231
286#: qml/Components/Lockscreen.qml:231
127msgid "Return to Call"
287msgid "Return to Call"
128msgstr "Επιστροφή στην κλήση"
288msgstr "Επιστροφή στην κλήση"
@@ -163,26 +323,26 @@ msgstr "Επανασύνδεση τώρα!"
163msgid "Close all"
323msgid "Close all"
164msgstr "Κλείσιμο όλων"
324msgstr "Κλείσιμο όλων"
165
325
166−#: qml/Dash/DashPageHeader.qml:337
326+#: qml/Dash/DashPageHeader.qml:333
167msgctxt "Button: Open the Ubuntu Store"
327msgctxt "Button: Open the Ubuntu Store"
168msgid "Store"
328msgid "Store"
169msgstr "Κατάστημα"
329msgstr "Κατάστημα"
170
330
171−#: qml/Dash/DashPageHeader.qml:344
331+#: qml/Dash/DashPageHeader.qml:340
172msgctxt "Button: Start a search in the current dash scope"
332msgctxt "Button: Start a search in the current dash scope"
173msgid "Search"
333msgid "Search"
174msgstr "Αναζήτηση"
334msgstr "Αναζήτηση"
175
335
176−#: qml/Dash/DashPageHeader.qml:354
336+#: qml/Dash/DashPageHeader.qml:350
177msgctxt "Button: Show the current dash scope settings"
337msgctxt "Button: Show the current dash scope settings"
178msgid "Settings"
338msgid "Settings"
179msgstr "Ρυθμίσεις"
339msgstr "Ρυθμίσεις"
180
340
181−#: qml/Dash/DashPageHeader.qml:361
341+#: qml/Dash/DashPageHeader.qml:357
182msgid "Remove from Favorites"
342msgid "Remove from Favorites"
183msgstr "Αφαίρεση από τα αγαπημένα"
343msgstr "Αφαίρεση από τα αγαπημένα"
184
344
185−#: qml/Dash/DashPageHeader.qml:361
345+#: qml/Dash/DashPageHeader.qml:357
186msgid "Add to Favorites"
346msgid "Add to Favorites"
187msgstr "Προσθήκη στα αγαπημένα"
347msgstr "Προσθήκη στα αγαπημένα"
188
348
@@ -194,24 +354,24 @@ msgstr "Βελτιώστε τα αποτελέσματά σας"
194msgid "Reset"
354msgid "Reset"
195msgstr "Επαναφορά"
355msgstr "Επαναφορά"
196
356
197−#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
357+#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
198msgid "Show less"
358msgid "Show less"
199msgstr ""
359msgstr ""
200
360
201−#: qml/Dash/GenericScopeView.qml:579
361+#: qml/Dash/GenericScopeView.qml:580
202msgid "Show all"
362msgid "Show all"
203msgstr ""
363msgstr ""
204
364
205−#: qml/Dash/GenericScopeView.qml:636
365+#: qml/Dash/GenericScopeView.qml:637
206msgctxt "Label: Hint for dash search line edit"
366msgctxt "Label: Hint for dash search line edit"
207msgid "Search"
367msgid "Search"
208msgstr "Αναζήτηση"
368msgstr "Αναζήτηση"
209
369
210−#: qml/Dash/PageHeaderExtraPanel.qml:55
370+#: qml/Dash/PageHeaderExtraPanel.qml:56
211msgid "Recent Searches"
371msgid "Recent Searches"
212msgstr "Πρόσφατες αναζητήσεις"
372msgstr "Πρόσφατες αναζητήσεις"
213
373
214−#: qml/Dash/PageHeaderExtraPanel.qml:66
374+#: qml/Dash/PageHeaderExtraPanel.qml:67
215msgid "Clear All"
375msgid "Clear All"
216msgstr "Καθαρισμός όλων"
376msgstr "Καθαρισμός όλων"
217
377
@@ -224,15 +384,15 @@ msgid "Less..."
224msgstr "Λιγότερα..."
384msgstr "Λιγότερα..."
225
385
226#: qml/Dash/Previews/PreviewCommentInput.qml:68
386#: qml/Dash/Previews/PreviewCommentInput.qml:68
227−#: qml/Dash/Previews/PreviewRatingInput.qml:174
387+#: qml/Dash/Previews/PreviewRatingInput.qml:175
228msgid "Send"
388msgid "Send"
229msgstr "Αποστολή"
389msgstr "Αποστολή"
230
390
231−#: qml/Dash/Previews/PreviewRatingInput.qml:84
391+#: qml/Dash/Previews/PreviewRatingInput.qml:82
232msgid "Rate this"
392msgid "Rate this"
233msgstr "Βαθμολογήστε το"
393msgstr "Βαθμολογήστε το"
234
394
235−#: qml/Dash/Previews/PreviewRatingInput.qml:129
395+#: qml/Dash/Previews/PreviewRatingInput.qml:157
236msgid "Add a review"
396msgid "Add a review"
237msgstr "Προσθέστε την αξιολόγησή σας"
397msgstr "Προσθέστε την αξιολόγησή σας"
238
398
@@ -252,15 +412,15 @@ msgstr "Αφήστε για ανανέωση…"
252msgid "Enable location data"
412msgid "Enable location data"
253msgstr "Ενεργοποίηση δεδομένων τοποθεσίας"
413msgstr "Ενεργοποίηση δεδομένων τοποθεσίας"
254
414
255−#: qml/Dash/ScopesList.qml:67
415+#: qml/Dash/ScopesList.qml:55
256msgid "Manage"
416msgid "Manage"
257msgstr "Διαχείριση"
417msgstr "Διαχείριση"
258
418
259−#: qml/Dash/ScopesList.qml:113
419+#: qml/Dash/ScopesList.qml:101
260msgid "Home"
420msgid "Home"
261msgstr "Αρχή"
421msgstr "Αρχή"
262
422
263−#: qml/Dash/ScopesList.qml:114
423+#: qml/Dash/ScopesList.qml:102
264msgid "Also installed"
424msgid "Also installed"
265msgstr "Επίσης εγκατεστημένα"
425msgstr "Επίσης εγκατεστημένα"
266
426
@@ -272,17 +432,17 @@ msgstr ""
272"Η συσκεύη σας τώρα είναι συνδεδεμένη με μια εξωτερική οθόνη. Χρησιμοποιείστε "
432"Η συσκεύη σας τώρα είναι συνδεδεμένη με μια εξωτερική οθόνη. Χρησιμοποιείστε "
273"αυτήν την οθόνη ως επιφάνεια αφής για να αλληλεπηδράσετε με τον δείκτη."
433"αυτήν την οθόνη ως επιφάνεια αφής για να αλληλεπηδράσετε με τον δείκτη."
274
434
275−#: qml/Greeter/CoverPage.qml:118
435+#: qml/Greeter/CoverPage.qml:119
276msgid "Unlock"
436msgid "Unlock"
277msgstr "Ξεκλείδωμα"
437msgstr "Ξεκλείδωμα"
278
438
279−#: qml/Greeter/LoginList.qml:239
439+#: qml/Greeter/LoginList.qml:259
280msgid "Retry"
440msgid "Retry"
281msgstr "Επανάληψη"
441msgstr "Επανάληψη"
282
442
283−#: qml/Greeter/LoginList.qml:240
443+#: qml/Greeter/LoginList.qml:260
284−msgid "Tap to unlock"
444+msgid "Log In"
285−msgstr "Ακουμπήστε για να ξεκλειδώσετε"
445+msgstr ""
286
446
287#: qml/Greeter/NarrowView.qml:54
447#: qml/Greeter/NarrowView.qml:54
288msgid "Sorry, incorrect passphrase."
448msgid "Sorry, incorrect passphrase."
@@ -415,18 +575,18 @@ msgstr "Ολοκληρώθηκε"
415msgid "Failed, tap to retry"
575msgid "Failed, tap to retry"
416msgstr "Αποτυχία, πατήστε για να ξαναπροσπαθήσετε"
576msgstr "Αποτυχία, πατήστε για να ξαναπροσπαθήσετε"
417
577
418−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:155
578+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:151
419−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
579+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:210
420msgctxt "Button: Send a reply message"
580msgctxt "Button: Send a reply message"
421msgid "Send"
581msgid "Send"
422msgstr "Αποστολή"
582msgstr "Αποστολή"
423
583
424−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
584+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:152
425msgctxt "Label: Hint in message indicator line edit"
585msgctxt "Label: Hint in message indicator line edit"
426msgid "Reply"
586msgid "Reply"
427msgstr "Απάντηση"
587msgstr "Απάντηση"
428
588
429−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
589+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:209
430msgctxt "Button: Call back on phone"
590msgctxt "Button: Call back on phone"
431msgid "Call back"
591msgid "Call back"
432msgstr "Επανάκληση"
592msgstr "Επανάκληση"
@@ -437,32 +597,12 @@ msgstr ""
437"Σύρετε με την χρήση των 3 δακτύλων οποιαδήποτε εφαρμογή από ένα παράθυρο σε "
597"Σύρετε με την χρήση των 3 δακτύλων οποιαδήποτε εφαρμογή από ένα παράθυρο σε "
438"άλλο"
598"άλλο"
439
599
440−#: qml/Tutorial/TutorialBottom.qml:78
441−msgid "Swipe up to add a contact"
442−msgstr ""
443−
444−#: qml/Tutorial/TutorialBottom.qml:80
445−msgid "Swipe up for favorite calculations"
446−msgstr ""
447−
448−#: qml/Tutorial/TutorialBottom.qml:82
449−msgid "Swipe up for recent calls"
450−msgstr ""
451−
452−#: qml/Tutorial/TutorialBottom.qml:84
453−msgid "Swipe up to create a message"
454−msgstr ""
455−
456−#: qml/Tutorial/TutorialBottom.qml:85
457−msgid "Swipe up to manage the app"
458−msgstr ""
459−
460−#: qml/Tutorial/TutorialLeftLong.qml:47
600+#: qml/Tutorial/TutorialLeftLong.qml:49
461msgid "Long swipe from the left edge to open the Today scope"
601msgid "Long swipe from the left edge to open the Today scope"
462msgstr ""
602msgstr ""
463
603
464#: qml/Tutorial/TutorialLeft.qml:47
604#: qml/Tutorial/TutorialLeft.qml:47
465−msgid "Swipe from the left edge to open the launcher"
605+msgid "Short swipe from the left edge to open the launcher"
466msgstr ""
606msgstr ""
467
607
468#: qml/Tutorial/TutorialRight.qml:55
608#: qml/Tutorial/TutorialRight.qml:55
@@ -470,15 +610,11 @@ msgid "Push your mouse against the right edge to view your open apps"
470msgstr ""
610msgstr ""
471
611
472#: qml/Tutorial/TutorialRight.qml:56
612#: qml/Tutorial/TutorialRight.qml:56
473−msgid "Short or long swipe from the right edge to view your open apps"
613+msgid "Swipe from the right edge to view your open apps"
474msgstr ""
614msgstr ""
475
615
476#: qml/Tutorial/TutorialTop.qml:53
616#: qml/Tutorial/TutorialTop.qml:53
477−msgid "Swipe from the top right edge to open the notification bar"
617+msgid "Swipe from the top edge to access notifications and quick settings"
478−msgstr ""
479−
480−#: qml/Tutorial/TutorialTop.qml:54
481−msgid "Swipe from the top edge to open the notification bar"
482msgstr ""
618msgstr ""
483
619
484#: qml/Wizard/Page.qml:54
620#: qml/Wizard/Page.qml:54
@@ -490,8 +626,8 @@ msgstr "Πίσω"
490msgid "Language"
626msgid "Language"
491msgstr "Γλώσσα"
627msgstr "Γλώσσα"
492
628
493−#: qml/Wizard/Pages/10-welcome.qml:156 qml/Wizard/Pages/30-wifi.qml:206
629+#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
494−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:267
630+#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
495#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
631#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
496#: qml/Wizard/Pages/75-report-check.qml:84
632#: qml/Wizard/Pages/75-report-check.qml:84
497#: qml/Wizard/Pages/passcode-desktop.qml:124
633#: qml/Wizard/Pages/passcode-desktop.qml:124
@@ -557,7 +693,7 @@ msgstr "Μπορείτε να το αλλάξετε αργότερα στις Ρ
557msgid "Time Zone"
693msgid "Time Zone"
558msgstr "Ζώνη ώρας"
694msgstr "Ζώνη ώρας"
559
695
560−#: qml/Wizard/Pages/50-timezone.qml:178
696+#: qml/Wizard/Pages/50-timezone.qml:181
561msgid "Enter your city"
697msgid "Enter your city"
562msgstr "Εισάγετε την πόλη σας"
698msgstr "Εισάγετε την πόλη σας"
563
699
@@ -986,6 +1122,9 @@ msgstr ""
986#~ msgid "These are the shortcuts to favorite apps"
1122#~ msgid "These are the shortcuts to favorite apps"
987#~ msgstr "Είναι συντομεύσεις για αγαπημένες εφαρμογές"
1123#~ msgstr "Είναι συντομεύσεις για αγαπημένες εφαρμογές"
988
1124
1125+#~ msgid "Tap to unlock"
1126+#~ msgstr "Ακουμπήστε για να ξεκλειδώσετε"
1127+
989#~ msgid "You almost got it!"
1128#~ msgid "You almost got it!"
990#~ msgstr "Σχεδόν το είχατε!"
1129#~ msgstr "Σχεδόν το είχατε!"
991
1130
po/en_AU.po+246−80
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-05-20 08:44+0000\n"
10+"POT-Creation-Date: 2016-06-17 01:22+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,23 +15,23 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
18+"X-Launchpad-Export-Date: 2016-06-19 05:55+0000\n"
19−"X-Generator: Launchpad (build 18053)\n"
19+"X-Generator: Launchpad (build 18097)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
23msgstr "Password: "
23msgstr "Password: "
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:48
25+#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:107
26+#: plugins/Unity/Launcher/launcheritem.cpp:108
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28msgstr "Pin shortcut"
28msgstr "Pin shortcut"
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:53
30+#: plugins/Unity/Launcher/launcheritem.cpp:54
31msgid "Quit"
31msgid "Quit"
32msgstr "Quit"
32msgstr "Quit"
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:107
34+#: plugins/Unity/Launcher/launcheritem.cpp:108
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36msgstr "Unpin shortcut"
36msgstr "Unpin shortcut"
37
37
@@ -54,54 +54,54 @@ msgid_plural "Please wait %1 minutes and then try again…"
54msgstr[0] "Please wait %1 minute and then try again…"
54msgstr[0] "Please wait %1 minute and then try again…"
55msgstr[1] "Please wait %1 minutes and then try again…"
55msgstr[1] "Please wait %1 minutes and then try again…"
56
56
57−#: qml/Components/Dialogs.qml:144
57+#: qml/Components/Dialogs.qml:146
58msgctxt "Title: Lock/Log out dialog"
58msgctxt "Title: Lock/Log out dialog"
59msgid "Log out"
59msgid "Log out"
60msgstr "Log out"
60msgstr "Log out"
61
61
62−#: qml/Components/Dialogs.qml:145
62+#: qml/Components/Dialogs.qml:147
63msgid "Are you sure you want to log out?"
63msgid "Are you sure you want to log out?"
64msgstr "Are you sure you want to log out?"
64msgstr "Are you sure you want to log out?"
65
65
66−#: qml/Components/Dialogs.qml:147
66+#: qml/Components/Dialogs.qml:149
67msgctxt "Button: Lock the system"
67msgctxt "Button: Lock the system"
68msgid "Lock"
68msgid "Lock"
69msgstr "Lock"
69msgstr "Lock"
70
70
71−#: qml/Components/Dialogs.qml:154
71+#: qml/Components/Dialogs.qml:156
72msgctxt "Button: Log out from the system"
72msgctxt "Button: Log out from the system"
73msgid "Log Out"
73msgid "Log Out"
74msgstr "Log Out"
74msgstr "Log Out"
75
75
76−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
76+#: qml/Components/Dialogs.qml:163 qml/Components/Dialogs.qml:219
77−#: qml/Dash/DashPageHeader.qml:298 qml/Wizard/Pages/passcode-confirm.qml:32
77+#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
78#: qml/Wizard/Pages/passcode-set.qml:32
78#: qml/Wizard/Pages/passcode-set.qml:32
79msgid "Cancel"
79msgid "Cancel"
80msgstr "Cancel"
80msgstr "Cancel"
81
81
82−#: qml/Components/Dialogs.qml:173
82+#: qml/Components/Dialogs.qml:175
83msgctxt "Title: Reboot dialog"
83msgctxt "Title: Reboot dialog"
84msgid "Reboot"
84msgid "Reboot"
85msgstr "Reboot"
85msgstr "Reboot"
86
86
87−#: qml/Components/Dialogs.qml:174
87+#: qml/Components/Dialogs.qml:176
88msgid "Are you sure you want to reboot?"
88msgid "Are you sure you want to reboot?"
89msgstr "Are you sure you want to reboot?"
89msgstr "Are you sure you want to reboot?"
90
90
91−#: qml/Components/Dialogs.qml:176
91+#: qml/Components/Dialogs.qml:178
92msgid "No"
92msgid "No"
93msgstr "No"
93msgstr "No"
94
94
95−#: qml/Components/Dialogs.qml:182
95+#: qml/Components/Dialogs.qml:184
96msgid "Yes"
96msgid "Yes"
97msgstr "Yes"
97msgstr "Yes"
98
98
99−#: qml/Components/Dialogs.qml:197
99+#: qml/Components/Dialogs.qml:199
100msgctxt "Title: Power off/Restart dialog"
100msgctxt "Title: Power off/Restart dialog"
101msgid "Power"
101msgid "Power"
102msgstr "Power"
102msgstr "Power"
103
103
104−#: qml/Components/Dialogs.qml:198
104+#: qml/Components/Dialogs.qml:200
105msgid ""
105msgid ""
106"Are you sure you would like\n"
106"Are you sure you would like\n"
107"to power off?"
107"to power off?"
@@ -109,16 +109,176 @@ msgstr ""
109"Are you sure you would like\n"
109"Are you sure you would like\n"
110"to power off?"
110"to power off?"
111
111
112−#: qml/Components/Dialogs.qml:200
112+#: qml/Components/Dialogs.qml:202
113msgctxt "Button: Power off the system"
113msgctxt "Button: Power off the system"
114msgid "Power off"
114msgid "Power off"
115msgstr "Power off"
115msgstr "Power off"
116
116
117−#: qml/Components/Dialogs.qml:209
117+#: qml/Components/Dialogs.qml:211
118msgctxt "Button: Restart the system"
118msgctxt "Button: Restart the system"
119msgid "Restart"
119msgid "Restart"
120msgstr "Restart"
120msgstr "Restart"
121
121
122+#: qml/Components/KeyboardShortcutsOverlay.qml:41
123+msgid "Keyboard Shortcuts"
124+msgstr ""
125+
126+#: qml/Components/KeyboardShortcutsOverlay.qml:55
127+msgid "Unity 8"
128+msgstr ""
129+
130+#: qml/Components/KeyboardShortcutsOverlay.qml:62
131+msgid "PrtScr"
132+msgstr ""
133+
134+#: qml/Components/KeyboardShortcutsOverlay.qml:67
135+msgid "Takes a screenshot."
136+msgstr ""
137+
138+#: qml/Components/KeyboardShortcutsOverlay.qml:75
139+msgid "Alt + PrtScr"
140+msgstr ""
141+
142+#: qml/Components/KeyboardShortcutsOverlay.qml:80
143+msgid "Takes a screenshot of a window."
144+msgstr ""
145+
146+#: qml/Components/KeyboardShortcutsOverlay.qml:88
147+msgid "Super + Space"
148+msgstr ""
149+
150+#: qml/Components/KeyboardShortcutsOverlay.qml:93
151+msgid "Switches to next keyboard layout."
152+msgstr ""
153+
154+#: qml/Components/KeyboardShortcutsOverlay.qml:101
155+msgid "Super + Shift + Space"
156+msgstr ""
157+
158+#: qml/Components/KeyboardShortcutsOverlay.qml:106
159+msgid "Switches to previous keyboard layout."
160+msgstr ""
161+
162+#: qml/Components/KeyboardShortcutsOverlay.qml:118
163+msgid "Launcher"
164+msgstr ""
165+
166+#: qml/Components/KeyboardShortcutsOverlay.qml:125
167+msgid "Super (Hold)"
168+msgstr ""
169+
170+#: qml/Components/KeyboardShortcutsOverlay.qml:130
171+msgid "Opens the launcher, displays shortcuts."
172+msgstr ""
173+
174+#: qml/Components/KeyboardShortcutsOverlay.qml:138
175+msgid "Alt + F1"
176+msgstr ""
177+
178+#: qml/Components/KeyboardShortcutsOverlay.qml:143
179+msgid "Opens launcher keyboard navigation mode."
180+msgstr ""
181+
182+#: qml/Components/KeyboardShortcutsOverlay.qml:151
183+msgid "Super + Tab"
184+msgstr ""
185+
186+#: qml/Components/KeyboardShortcutsOverlay.qml:156
187+msgid "Switches applications via the launcher."
188+msgstr ""
189+
190+#: qml/Components/KeyboardShortcutsOverlay.qml:164
191+msgid "Super + 0 to 9"
192+msgstr ""
193+
194+#: qml/Components/KeyboardShortcutsOverlay.qml:169
195+msgid "Same as clicking on a launcher icon."
196+msgstr ""
197+
198+#: qml/Components/KeyboardShortcutsOverlay.qml:181
199+msgid "Scopes"
200+msgstr ""
201+
202+#: qml/Components/KeyboardShortcutsOverlay.qml:188
203+msgid "Super (Tap)"
204+msgstr ""
205+
206+#: qml/Components/KeyboardShortcutsOverlay.qml:193
207+msgid "Opens the Scopes home."
208+msgstr ""
209+
210+#: qml/Components/KeyboardShortcutsOverlay.qml:209
211+msgid "Switching"
212+msgstr ""
213+
214+#: qml/Components/KeyboardShortcutsOverlay.qml:216
215+msgid "Alt + Tab"
216+msgstr ""
217+
218+#: qml/Components/KeyboardShortcutsOverlay.qml:221
219+msgid "Switches between applications."
220+msgstr ""
221+
222+#: qml/Components/KeyboardShortcutsOverlay.qml:229
223+msgid "Super + W"
224+msgstr ""
225+
226+#: qml/Components/KeyboardShortcutsOverlay.qml:234
227+msgid "Opens the desktop spread."
228+msgstr ""
229+
230+#: qml/Components/KeyboardShortcutsOverlay.qml:242
231+msgid "Cursor Left or Right"
232+msgstr ""
233+
234+#: qml/Components/KeyboardShortcutsOverlay.qml:247
235+msgid "Moves the focus."
236+msgstr ""
237+
238+#: qml/Components/KeyboardShortcutsOverlay.qml:259
239+msgid "Windows"
240+msgstr ""
241+
242+#: qml/Components/KeyboardShortcutsOverlay.qml:266
243+msgid "Ctrl + Super + D"
244+msgstr ""
245+
246+#: qml/Components/KeyboardShortcutsOverlay.qml:271
247+msgid "Minimizes all windows."
248+msgstr ""
249+
250+#: qml/Components/KeyboardShortcutsOverlay.qml:279
251+msgid "Ctrl + Super + Up"
252+msgstr ""
253+
254+#: qml/Components/KeyboardShortcutsOverlay.qml:284
255+msgid "Maximizes the current window."
256+msgstr ""
257+
258+#: qml/Components/KeyboardShortcutsOverlay.qml:292
259+msgid "Ctrl + Super + Down"
260+msgstr ""
261+
262+#: qml/Components/KeyboardShortcutsOverlay.qml:297
263+msgid "Minimizes or restores the current window."
264+msgstr ""
265+
266+#: qml/Components/KeyboardShortcutsOverlay.qml:305
267+msgid "Ctrl + Super + Left or Right"
268+msgstr ""
269+
270+#: qml/Components/KeyboardShortcutsOverlay.qml:310
271+msgid "Semi-maximizes the current window."
272+msgstr ""
273+
274+#: qml/Components/KeyboardShortcutsOverlay.qml:318
275+msgid "Alt + F4"
276+msgstr ""
277+
278+#: qml/Components/KeyboardShortcutsOverlay.qml:323
279+msgid "Closes the current window."
280+msgstr ""
281+
122#: qml/Components/Lockscreen.qml:231
282#: qml/Components/Lockscreen.qml:231
123msgid "Return to Call"
283msgid "Return to Call"
124msgstr "Return to Call"
284msgstr "Return to Call"
@@ -157,26 +317,26 @@ msgstr "Reconnect now!"
157msgid "Close all"
317msgid "Close all"
158msgstr "Close all"
318msgstr "Close all"
159
319
160−#: qml/Dash/DashPageHeader.qml:337
320+#: qml/Dash/DashPageHeader.qml:333
161msgctxt "Button: Open the Ubuntu Store"
321msgctxt "Button: Open the Ubuntu Store"
162msgid "Store"
322msgid "Store"
163msgstr "Store"
323msgstr "Store"
164
324
165−#: qml/Dash/DashPageHeader.qml:344
325+#: qml/Dash/DashPageHeader.qml:340
166msgctxt "Button: Start a search in the current dash scope"
326msgctxt "Button: Start a search in the current dash scope"
167msgid "Search"
327msgid "Search"
168msgstr "Search"
328msgstr "Search"
169
329
170−#: qml/Dash/DashPageHeader.qml:354
330+#: qml/Dash/DashPageHeader.qml:350
171msgctxt "Button: Show the current dash scope settings"
331msgctxt "Button: Show the current dash scope settings"
172msgid "Settings"
332msgid "Settings"
173msgstr "Settings"
333msgstr "Settings"
174
334
175−#: qml/Dash/DashPageHeader.qml:361
335+#: qml/Dash/DashPageHeader.qml:357
176msgid "Remove from Favorites"
336msgid "Remove from Favorites"
177msgstr "Remove from Favourites"
337msgstr "Remove from Favourites"
178
338
179−#: qml/Dash/DashPageHeader.qml:361
339+#: qml/Dash/DashPageHeader.qml:357
180msgid "Add to Favorites"
340msgid "Add to Favorites"
181msgstr "Add to Favourites"
341msgstr "Add to Favourites"
182
342
@@ -188,24 +348,24 @@ msgstr "Refine your results"
188msgid "Reset"
348msgid "Reset"
189msgstr "Reset"
349msgstr "Reset"
190
350
191−#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
351+#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
192msgid "Show less"
352msgid "Show less"
193msgstr ""
353msgstr ""
194
354
195−#: qml/Dash/GenericScopeView.qml:579
355+#: qml/Dash/GenericScopeView.qml:580
196msgid "Show all"
356msgid "Show all"
197msgstr ""
357msgstr ""
198
358
199−#: qml/Dash/GenericScopeView.qml:636
359+#: qml/Dash/GenericScopeView.qml:637
200msgctxt "Label: Hint for dash search line edit"
360msgctxt "Label: Hint for dash search line edit"
201msgid "Search"
361msgid "Search"
202msgstr "Search"
362msgstr "Search"
203
363
204−#: qml/Dash/PageHeaderExtraPanel.qml:55
364+#: qml/Dash/PageHeaderExtraPanel.qml:56
205msgid "Recent Searches"
365msgid "Recent Searches"
206msgstr "Recent Searches"
366msgstr "Recent Searches"
207
367
208−#: qml/Dash/PageHeaderExtraPanel.qml:66
368+#: qml/Dash/PageHeaderExtraPanel.qml:67
209msgid "Clear All"
369msgid "Clear All"
210msgstr "Clear All"
370msgstr "Clear All"
211
371
@@ -218,15 +378,15 @@ msgid "Less..."
218msgstr "Less..."
378msgstr "Less..."
219
379
220#: qml/Dash/Previews/PreviewCommentInput.qml:68
380#: qml/Dash/Previews/PreviewCommentInput.qml:68
221−#: qml/Dash/Previews/PreviewRatingInput.qml:174
381+#: qml/Dash/Previews/PreviewRatingInput.qml:175
222msgid "Send"
382msgid "Send"
223msgstr "Send"
383msgstr "Send"
224
384
225−#: qml/Dash/Previews/PreviewRatingInput.qml:84
385+#: qml/Dash/Previews/PreviewRatingInput.qml:82
226msgid "Rate this"
386msgid "Rate this"
227msgstr "Rate this"
387msgstr "Rate this"
228
388
229−#: qml/Dash/Previews/PreviewRatingInput.qml:129
389+#: qml/Dash/Previews/PreviewRatingInput.qml:157
230msgid "Add a review"
390msgid "Add a review"
231msgstr "Add a review"
391msgstr "Add a review"
232
392
@@ -246,15 +406,15 @@ msgstr "Release to refresh…"
246msgid "Enable location data"
406msgid "Enable location data"
247msgstr "Enable location data"
407msgstr "Enable location data"
248
408
249−#: qml/Dash/ScopesList.qml:67
409+#: qml/Dash/ScopesList.qml:55
250msgid "Manage"
410msgid "Manage"
251msgstr "Manage"
411msgstr "Manage"
252
412
253−#: qml/Dash/ScopesList.qml:113
413+#: qml/Dash/ScopesList.qml:101
254msgid "Home"
414msgid "Home"
255msgstr "Home"
415msgstr "Home"
256
416
257−#: qml/Dash/ScopesList.qml:114
417+#: qml/Dash/ScopesList.qml:102
258msgid "Also installed"
418msgid "Also installed"
259msgstr "Also installed"
419msgstr "Also installed"
260
420
@@ -266,17 +426,17 @@ msgstr ""
266"Your device is now connected to an external display. Use this screen as a "
426"Your device is now connected to an external display. Use this screen as a "
267"touch pad to interact with the pointer."
427"touch pad to interact with the pointer."
268
428
269−#: qml/Greeter/CoverPage.qml:118
429+#: qml/Greeter/CoverPage.qml:119
270msgid "Unlock"
430msgid "Unlock"
271msgstr "Unlock"
431msgstr "Unlock"
272
432
273−#: qml/Greeter/LoginList.qml:239
433+#: qml/Greeter/LoginList.qml:259
274msgid "Retry"
434msgid "Retry"
275msgstr "Retry"
435msgstr "Retry"
276
436
277−#: qml/Greeter/LoginList.qml:240
437+#: qml/Greeter/LoginList.qml:260
278−msgid "Tap to unlock"
438+msgid "Log In"
279−msgstr "Tap to unlock"
439+msgstr ""
280
440
281#: qml/Greeter/NarrowView.qml:54
441#: qml/Greeter/NarrowView.qml:54
282msgid "Sorry, incorrect passphrase."
442msgid "Sorry, incorrect passphrase."
@@ -408,18 +568,18 @@ msgstr "Finished"
408msgid "Failed, tap to retry"
568msgid "Failed, tap to retry"
409msgstr "Failed, tap to retry"
569msgstr "Failed, tap to retry"
410
570
411−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:155
571+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:151
412−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
572+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:210
413msgctxt "Button: Send a reply message"
573msgctxt "Button: Send a reply message"
414msgid "Send"
574msgid "Send"
415msgstr "Send"
575msgstr "Send"
416
576
417−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
577+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:152
418msgctxt "Label: Hint in message indicator line edit"
578msgctxt "Label: Hint in message indicator line edit"
419msgid "Reply"
579msgid "Reply"
420msgstr "Reply"
580msgstr "Reply"
421
581
422−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
582+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:209
423msgctxt "Button: Call back on phone"
583msgctxt "Button: Call back on phone"
424msgid "Call back"
584msgid "Call back"
425msgstr "Call back"
585msgstr "Call back"
@@ -428,49 +588,25 @@ msgstr "Call back"
428msgid "Drag using 3 fingers any application from one window to the other"
588msgid "Drag using 3 fingers any application from one window to the other"
429msgstr "Drag using 3 fingers any application from one window to the other"
589msgstr "Drag using 3 fingers any application from one window to the other"
430
590
431−#: qml/Tutorial/TutorialBottom.qml:78
432−msgid "Swipe up to add a contact"
433−msgstr "Swipe up to add a contact"
434−
435−#: qml/Tutorial/TutorialBottom.qml:80
436−msgid "Swipe up for favorite calculations"
437−msgstr "Swipe up for favourite calculations"
438−
439−#: qml/Tutorial/TutorialBottom.qml:82
440−msgid "Swipe up for recent calls"
441−msgstr "Swipe up for recent calls"
442−
443−#: qml/Tutorial/TutorialBottom.qml:84
444−msgid "Swipe up to create a message"
445−msgstr "Swipe up to create a message"
446−
447−#: qml/Tutorial/TutorialBottom.qml:85
448−msgid "Swipe up to manage the app"
449−msgstr "Swipe up to manage the app"
450−
451−#: qml/Tutorial/TutorialLeftLong.qml:47
591+#: qml/Tutorial/TutorialLeftLong.qml:49
452msgid "Long swipe from the left edge to open the Today scope"
592msgid "Long swipe from the left edge to open the Today scope"
453msgstr "Long swipe from the left edge to open the Today scope"
593msgstr "Long swipe from the left edge to open the Today scope"
454
594
455#: qml/Tutorial/TutorialLeft.qml:47
595#: qml/Tutorial/TutorialLeft.qml:47
456−msgid "Swipe from the left edge to open the launcher"
596+msgid "Short swipe from the left edge to open the launcher"
457−msgstr "Swipe from the left edge to open the launcher"
597+msgstr ""
458
598
459#: qml/Tutorial/TutorialRight.qml:55
599#: qml/Tutorial/TutorialRight.qml:55
460msgid "Push your mouse against the right edge to view your open apps"
600msgid "Push your mouse against the right edge to view your open apps"
461msgstr ""
601msgstr ""
462
602
463#: qml/Tutorial/TutorialRight.qml:56
603#: qml/Tutorial/TutorialRight.qml:56
464−msgid "Short or long swipe from the right edge to view your open apps"
604+msgid "Swipe from the right edge to view your open apps"
465−msgstr "Short or long swipe from the right edge to view your open apps"
605+msgstr ""
466
606
467#: qml/Tutorial/TutorialTop.qml:53
607#: qml/Tutorial/TutorialTop.qml:53
468−msgid "Swipe from the top right edge to open the notification bar"
608+msgid "Swipe from the top edge to access notifications and quick settings"
469−msgstr "Swipe from the top right edge to open the notification bar"
609+msgstr ""
470−
471−#: qml/Tutorial/TutorialTop.qml:54
472−msgid "Swipe from the top edge to open the notification bar"
473−msgstr "Swipe from the top edge to open the notification bar"
474
610
475#: qml/Wizard/Page.qml:54
611#: qml/Wizard/Page.qml:54
476msgctxt "Button: Go back one page in the Wizard"
612msgctxt "Button: Go back one page in the Wizard"
@@ -481,8 +617,8 @@ msgstr "Back"
481msgid "Language"
617msgid "Language"
482msgstr "Language"
618msgstr "Language"
483
619
484−#: qml/Wizard/Pages/10-welcome.qml:156 qml/Wizard/Pages/30-wifi.qml:206
620+#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
485−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:267
621+#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
486#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
622#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
487#: qml/Wizard/Pages/75-report-check.qml:84
623#: qml/Wizard/Pages/75-report-check.qml:84
488#: qml/Wizard/Pages/passcode-desktop.qml:124
624#: qml/Wizard/Pages/passcode-desktop.qml:124
@@ -549,7 +685,7 @@ msgstr "You can change it later in System Settings."
549msgid "Time Zone"
685msgid "Time Zone"
550msgstr "Time Zone"
686msgstr "Time Zone"
551
687
552−#: qml/Wizard/Pages/50-timezone.qml:178
688+#: qml/Wizard/Pages/50-timezone.qml:181
553msgid "Enter your city"
689msgid "Enter your city"
554msgstr "Enter your city"
690msgstr "Enter your city"
555
691
@@ -999,6 +1135,9 @@ msgstr "Very weak password"
999#~ msgid "Long swipe from the right edge."
1135#~ msgid "Long swipe from the right edge."
1000#~ msgstr "Long swipe from the right edge."
1136#~ msgstr "Long swipe from the right edge."
1001
1137
1138+#~ msgid "Tap to unlock"
1139+#~ msgstr "Tap to unlock"
1140+
1002#~ msgctxt "Button: Shut down the system"
1141#~ msgctxt "Button: Shut down the system"
1003#~ msgid "Shut down"
1142#~ msgid "Shut down"
1004#~ msgstr "Shut down"
1143#~ msgstr "Shut down"
@@ -1065,5 +1204,32 @@ msgstr "Very weak password"
1065#~ msgid "%a %d %b %l:%M %p"
1204#~ msgid "%a %d %b %l:%M %p"
1066#~ msgstr "%a %b %d %l:%M %p"
1205#~ msgstr "%a %b %d %l:%M %p"
1067
1206
1207+#~ msgid "Swipe up for recent calls"
1208+#~ msgstr "Swipe up for recent calls"
1209+
1210+#~ msgid "Swipe up for favorite calculations"
1211+#~ msgstr "Swipe up for favourite calculations"
1212+
1213+#~ msgid "Swipe up to add a contact"
1214+#~ msgstr "Swipe up to add a contact"
1215+
1216+#~ msgid "Swipe from the left edge to open the launcher"
1217+#~ msgstr "Swipe from the left edge to open the launcher"
1218+
1219+#~ msgid "Swipe from the top right edge to open the notification bar"
1220+#~ msgstr "Swipe from the top right edge to open the notification bar"
1221+
1222+#~ msgid "Swipe from the top edge to open the notification bar"
1223+#~ msgstr "Swipe from the top edge to open the notification bar"
1224+
1068#~ msgid "Hover your mouse on the right edge to view your open apps"
1225#~ msgid "Hover your mouse on the right edge to view your open apps"
1069#~ msgstr "Hover your mouse on the right edge to view your open apps"
1226#~ msgstr "Hover your mouse on the right edge to view your open apps"
1227+
1228+#~ msgid "Short or long swipe from the right edge to view your open apps"
1229+#~ msgstr "Short or long swipe from the right edge to view your open apps"
1230+
1231+#~ msgid "Swipe up to manage the app"
1232+#~ msgstr "Swipe up to manage the app"
1233+
1234+#~ msgid "Swipe up to create a message"
1235+#~ msgstr "Swipe up to create a message"
po/en_GB.po+246−80
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-05-20 08:44+0000\n"
10+"POT-Creation-Date: 2016-06-17 01:22+0000\n"
11"PO-Revision-Date: 2016-05-10 10:10+0000\n"
11"PO-Revision-Date: 2016-05-10 10:10+0000\n"
12"Last-Translator: Andi Chandler <Unknown>\n"
12"Last-Translator: Andi Chandler <Unknown>\n"
13"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
13"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
@@ -15,23 +15,23 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-05-25 06:09+0000\n"
18+"X-Launchpad-Export-Date: 2016-06-19 05:55+0000\n"
19−"X-Generator: Launchpad (build 18053)\n"
19+"X-Generator: Launchpad (build 18097)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
23msgstr "Password: "
23msgstr "Password: "
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:48
25+#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:107
26+#: plugins/Unity/Launcher/launcheritem.cpp:108
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28msgstr "Pin shortcut"
28msgstr "Pin shortcut"
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:53
30+#: plugins/Unity/Launcher/launcheritem.cpp:54
31msgid "Quit"
31msgid "Quit"
32msgstr "Quit"
32msgstr "Quit"
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:107
34+#: plugins/Unity/Launcher/launcheritem.cpp:108
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36msgstr "Unpin shortcut"
36msgstr "Unpin shortcut"
37
37
@@ -54,54 +54,54 @@ msgid_plural "Please wait %1 minutes and then try again…"
54msgstr[0] "Please wait %1 minute and then try again…"
54msgstr[0] "Please wait %1 minute and then try again…"
55msgstr[1] "Please wait %1 minutes and then try again…"
55msgstr[1] "Please wait %1 minutes and then try again…"
56
56
57−#: qml/Components/Dialogs.qml:144
57+#: qml/Components/Dialogs.qml:146
58msgctxt "Title: Lock/Log out dialog"
58msgctxt "Title: Lock/Log out dialog"
59msgid "Log out"
59msgid "Log out"
60msgstr "Log out"
60msgstr "Log out"
61
61
62−#: qml/Components/Dialogs.qml:145
62+#: qml/Components/Dialogs.qml:147
63msgid "Are you sure you want to log out?"
63msgid "Are you sure you want to log out?"
64msgstr "Are you sure you want to log out?"
64msgstr "Are you sure you want to log out?"
65
65
66−#: qml/Components/Dialogs.qml:147
66+#: qml/Components/Dialogs.qml:149
67msgctxt "Button: Lock the system"
67msgctxt "Button: Lock the system"
68msgid "Lock"
68msgid "Lock"
69msgstr "Lock"
69msgstr "Lock"
70
70
71−#: qml/Components/Dialogs.qml:154
71+#: qml/Components/Dialogs.qml:156
72msgctxt "Button: Log out from the system"
72msgctxt "Button: Log out from the system"
73msgid "Log Out"
73msgid "Log Out"
74msgstr "Log Out"
74msgstr "Log Out"
75
75
76−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
76+#: qml/Components/Dialogs.qml:163 qml/Components/Dialogs.qml:219
77−#: qml/Dash/DashPageHeader.qml:298 qml/Wizard/Pages/passcode-confirm.qml:32
77+#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
78#: qml/Wizard/Pages/passcode-set.qml:32
78#: qml/Wizard/Pages/passcode-set.qml:32
79msgid "Cancel"
79msgid "Cancel"
80msgstr "Cancel"
80msgstr "Cancel"
81
81
82−#: qml/Components/Dialogs.qml:173
82+#: qml/Components/Dialogs.qml:175
83msgctxt "Title: Reboot dialog"
83msgctxt "Title: Reboot dialog"
84msgid "Reboot"
84msgid "Reboot"
85msgstr "Reboot"
85msgstr "Reboot"
86
86
87−#: qml/Components/Dialogs.qml:174
87+#: qml/Components/Dialogs.qml:176
88msgid "Are you sure you want to reboot?"
88msgid "Are you sure you want to reboot?"
89msgstr "Are you sure you want to reboot?"
89msgstr "Are you sure you want to reboot?"
90
90
91−#: qml/Components/Dialogs.qml:176
91+#: qml/Components/Dialogs.qml:178
92msgid "No"
92msgid "No"
93msgstr "No"
93msgstr "No"
94
94
95−#: qml/Components/Dialogs.qml:182
95+#: qml/Components/Dialogs.qml:184
96msgid "Yes"
96msgid "Yes"
97msgstr "Yes"
97msgstr "Yes"
98
98
99−#: qml/Components/Dialogs.qml:197
99+#: qml/Components/Dialogs.qml:199
100msgctxt "Title: Power off/Restart dialog"
100msgctxt "Title: Power off/Restart dialog"
101msgid "Power"
101msgid "Power"
102msgstr "Power"
102msgstr "Power"
103
103
104−#: qml/Components/Dialogs.qml:198
104+#: qml/Components/Dialogs.qml:200
105msgid ""
105msgid ""
106"Are you sure you would like\n"
106"Are you sure you would like\n"
107"to power off?"
107"to power off?"
@@ -109,16 +109,176 @@ msgstr ""
109"Are you sure you would like\n"
109"Are you sure you would like\n"
110"to power off?"
110"to power off?"
111
111
112−#: qml/Components/Dialogs.qml:200
112+#: qml/Components/Dialogs.qml:202
113msgctxt "Button: Power off the system"
113msgctxt "Button: Power off the system"
114msgid "Power off"
114msgid "Power off"
115msgstr "Power off"
115msgstr "Power off"
116
116
117−#: qml/Components/Dialogs.qml:209
117+#: qml/Components/Dialogs.qml:211
118msgctxt "Button: Restart the system"
118msgctxt "Button: Restart the system"
119msgid "Restart"
119msgid "Restart"
120msgstr "Restart"
120msgstr "Restart"
121
121
122+#: qml/Components/KeyboardShortcutsOverlay.qml:41
123+msgid "Keyboard Shortcuts"
124+msgstr ""
125+
126+#: qml/Components/KeyboardShortcutsOverlay.qml:55
127+msgid "Unity 8"
128+msgstr ""
129+
130+#: qml/Components/KeyboardShortcutsOverlay.qml:62
131+msgid "PrtScr"
132+msgstr ""
133+
134+#: qml/Components/KeyboardShortcutsOverlay.qml:67
135+msgid "Takes a screenshot."
136+msgstr ""
137+
138+#: qml/Components/KeyboardShortcutsOverlay.qml:75
139+msgid "Alt + PrtScr"
140+msgstr ""
141+
142+#: qml/Components/KeyboardShortcutsOverlay.qml:80
143+msgid "Takes a screenshot of a window."
144+msgstr ""
145+
146+#: qml/Components/KeyboardShortcutsOverlay.qml:88
147+msgid "Super + Space"
148+msgstr ""
149+
150+#: qml/Components/KeyboardShortcutsOverlay.qml:93
151+msgid "Switches to next keyboard layout."
152+msgstr ""
153+
154+#: qml/Components/KeyboardShortcutsOverlay.qml:101
155+msgid "Super + Shift + Space"
156+msgstr ""
157+
158+#: qml/Components/KeyboardShortcutsOverlay.qml:106
159+msgid "Switches to previous keyboard layout."
160+msgstr ""
161+
162+#: qml/Components/KeyboardShortcutsOverlay.qml:118
163+msgid "Launcher"
164+msgstr ""
165+
166+#: qml/Components/KeyboardShortcutsOverlay.qml:125
167+msgid "Super (Hold)"
168+msgstr ""
169+
170+#: qml/Components/KeyboardShortcutsOverlay.qml:130
171+msgid "Opens the launcher, displays shortcuts."
172+msgstr ""
173+
174+#: qml/Components/KeyboardShortcutsOverlay.qml:138
175+msgid "Alt + F1"
176+msgstr ""
177+
178+#: qml/Components/KeyboardShortcutsOverlay.qml:143
179+msgid "Opens launcher keyboard navigation mode."
180+msgstr ""
181+
182+#: qml/Components/KeyboardShortcutsOverlay.qml:151
183+msgid "Super + Tab"
184+msgstr ""
185+
186+#: qml/Components/KeyboardShortcutsOverlay.qml:156
187+msgid "Switches applications via the launcher."
188+msgstr ""
189+
190+#: qml/Components/KeyboardShortcutsOverlay.qml:164
191+msgid "Super + 0 to 9"
192+msgstr ""
193+
194+#: qml/Components/KeyboardShortcutsOverlay.qml:169
195+msgid "Same as clicking on a launcher icon."
196+msgstr ""
197+
198+#: qml/Components/KeyboardShortcutsOverlay.qml:181
199+msgid "Scopes"
200+msgstr ""
201+
202+#: qml/Components/KeyboardShortcutsOverlay.qml:188
203+msgid "Super (Tap)"
204+msgstr ""
205+
206+#: qml/Components/KeyboardShortcutsOverlay.qml:193
207+msgid "Opens the Scopes home."
208+msgstr ""
209+
210+#: qml/Components/KeyboardShortcutsOverlay.qml:209
211+msgid "Switching"
212+msgstr ""
213+
214+#: qml/Components/KeyboardShortcutsOverlay.qml:216
215+msgid "Alt + Tab"
216+msgstr ""
217+
218+#: qml/Components/KeyboardShortcutsOverlay.qml:221
219+msgid "Switches between applications."
220+msgstr ""
221+
222+#: qml/Components/KeyboardShortcutsOverlay.qml:229
223+msgid "Super + W"
224+msgstr ""
225+
226+#: qml/Components/KeyboardShortcutsOverlay.qml:234
227+msgid "Opens the desktop spread."
228+msgstr ""
229+
230+#: qml/Components/KeyboardShortcutsOverlay.qml:242
231+msgid "Cursor Left or Right"
232+msgstr ""
233+
234+#: qml/Components/KeyboardShortcutsOverlay.qml:247
235+msgid "Moves the focus."
236+msgstr ""
237+
238+#: qml/Components/KeyboardShortcutsOverlay.qml:259
239+msgid "Windows"
240+msgstr ""
241+
242+#: qml/Components/KeyboardShortcutsOverlay.qml:266
243+msgid "Ctrl + Super + D"
244+msgstr ""
245+
246+#: qml/Components/KeyboardShortcutsOverlay.qml:271
247+msgid "Minimizes all windows."
248+msgstr ""
249+
250+#: qml/Components/KeyboardShortcutsOverlay.qml:279
251+msgid "Ctrl + Super + Up"
252+msgstr ""
253+
254+#: qml/Components/KeyboardShortcutsOverlay.qml:284
255+msgid "Maximizes the current window."
256+msgstr ""
257+
258+#: qml/Components/KeyboardShortcutsOverlay.qml:292
259+msgid "Ctrl + Super + Down"
260+msgstr ""
261+
262+#: qml/Components/KeyboardShortcutsOverlay.qml:297
263+msgid "Minimizes or restores the current window."
264+msgstr ""
265+
266+#: qml/Components/KeyboardShortcutsOverlay.qml:305
267+msgid "Ctrl + Super + Left or Right"
268+msgstr ""
269+
270+#: qml/Components/KeyboardShortcutsOverlay.qml:310
271+msgid "Semi-maximizes the current window."
272+msgstr ""
273+
274+#: qml/Components/KeyboardShortcutsOverlay.qml:318
275+msgid "Alt + F4"
276+msgstr ""
277+
278+#: qml/Components/KeyboardShortcutsOverlay.qml:323
279+msgid "Closes the current window."
280+msgstr ""
281+
122#: qml/Components/Lockscreen.qml:231
282#: qml/Components/Lockscreen.qml:231
123msgid "Return to Call"
283msgid "Return to Call"
124msgstr "Return to Call"
284msgstr "Return to Call"
@@ -157,26 +317,26 @@ msgstr "Reconnect now!"
157msgid "Close all"
317msgid "Close all"
158msgstr "Close all"
318msgstr "Close all"
159
319
160−#: qml/Dash/DashPageHeader.qml:337
320+#: qml/Dash/DashPageHeader.qml:333
161msgctxt "Button: Open the Ubuntu Store"
321msgctxt "Button: Open the Ubuntu Store"
162msgid "Store"
322msgid "Store"
163msgstr "Store"
323msgstr "Store"
164
324
165−#: qml/Dash/DashPageHeader.qml:344
325+#: qml/Dash/DashPageHeader.qml:340
166msgctxt "Button: Start a search in the current dash scope"
326msgctxt "Button: Start a search in the current dash scope"
167msgid "Search"
327msgid "Search"
168msgstr "Search"
328msgstr "Search"
169
329
170−#: qml/Dash/DashPageHeader.qml:354
330+#: qml/Dash/DashPageHeader.qml:350
171msgctxt "Button: Show the current dash scope settings"
331msgctxt "Button: Show the current dash scope settings"
172msgid "Settings"
332msgid "Settings"
173msgstr "Settings"
333msgstr "Settings"
174
334
175−#: qml/Dash/DashPageHeader.qml:361
335+#: qml/Dash/DashPageHeader.qml:357
176msgid "Remove from Favorites"
336msgid "Remove from Favorites"
177msgstr "Remove from Favourites"
337msgstr "Remove from Favourites"
178
338
179−#: qml/Dash/DashPageHeader.qml:361
339+#: qml/Dash/DashPageHeader.qml:357
180msgid "Add to Favorites"
340msgid "Add to Favorites"
181msgstr "Add to Favourites"
341msgstr "Add to Favourites"
182
342
@@ -188,24 +348,24 @@ msgstr "Refine your results"
188msgid "Reset"
348msgid "Reset"
189msgstr "Reset"
349msgstr "Reset"
190
350
191−#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
351+#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
192msgid "Show less"
352msgid "Show less"
193msgstr "Show less"
353msgstr "Show less"
194
354
195−#: qml/Dash/GenericScopeView.qml:579
355+#: qml/Dash/GenericScopeView.qml:580
196msgid "Show all"
356msgid "Show all"
197msgstr "Show all"
357msgstr "Show all"
198
358
199−#: qml/Dash/GenericScopeView.qml:636
359+#: qml/Dash/GenericScopeView.qml:637
200msgctxt "Label: Hint for dash search line edit"
360msgctxt "Label: Hint for dash search line edit"
201msgid "Search"
361msgid "Search"
202msgstr "Search"
362msgstr "Search"
203
363
204−#: qml/Dash/PageHeaderExtraPanel.qml:55
364+#: qml/Dash/PageHeaderExtraPanel.qml:56
205msgid "Recent Searches"
365msgid "Recent Searches"
206msgstr "Recent Searches"
366msgstr "Recent Searches"
207
367
208−#: qml/Dash/PageHeaderExtraPanel.qml:66
368+#: qml/Dash/PageHeaderExtraPanel.qml:67
209msgid "Clear All"
369msgid "Clear All"
210msgstr "Clear All"
370msgstr "Clear All"
211
371
@@ -218,15 +378,15 @@ msgid "Less..."
218msgstr "Less..."
378msgstr "Less..."
219
379
220#: qml/Dash/Previews/PreviewCommentInput.qml:68
380#: qml/Dash/Previews/PreviewCommentInput.qml:68
221−#: qml/Dash/Previews/PreviewRatingInput.qml:174
381+#: qml/Dash/Previews/PreviewRatingInput.qml:175
222msgid "Send"
382msgid "Send"
223msgstr "Send"
383msgstr "Send"
224
384
225−#: qml/Dash/Previews/PreviewRatingInput.qml:84
385+#: qml/Dash/Previews/PreviewRatingInput.qml:82
226msgid "Rate this"
386msgid "Rate this"
227msgstr "Rate this"
387msgstr "Rate this"
228
388
229−#: qml/Dash/Previews/PreviewRatingInput.qml:129
389+#: qml/Dash/Previews/PreviewRatingInput.qml:157
230msgid "Add a review"
390msgid "Add a review"
231msgstr "Add a review"
391msgstr "Add a review"
232
392
@@ -246,15 +406,15 @@ msgstr "Release to refresh…"
246msgid "Enable location data"
406msgid "Enable location data"
247msgstr "Enable location data"
407msgstr "Enable location data"
248
408
249−#: qml/Dash/ScopesList.qml:67
409+#: qml/Dash/ScopesList.qml:55
250msgid "Manage"
410msgid "Manage"
251msgstr "Manage"
411msgstr "Manage"
252
412
253−#: qml/Dash/ScopesList.qml:113
413+#: qml/Dash/ScopesList.qml:101
254msgid "Home"
414msgid "Home"
255msgstr "Home"
415msgstr "Home"
256
416
257−#: qml/Dash/ScopesList.qml:114
417+#: qml/Dash/ScopesList.qml:102
258msgid "Also installed"
418msgid "Also installed"
259msgstr "Also installed"
419msgstr "Also installed"
260
420
@@ -266,17 +426,17 @@ msgstr ""
266"Your device is now connected to an external display. Use this screen as a "
426"Your device is now connected to an external display. Use this screen as a "
267"touch pad to interact with the pointer."
427"touch pad to interact with the pointer."
268
428
269−#: qml/Greeter/CoverPage.qml:118
429+#: qml/Greeter/CoverPage.qml:119
270msgid "Unlock"
430msgid "Unlock"
271msgstr "Unlock"
431msgstr "Unlock"
272
432
273−#: qml/Greeter/LoginList.qml:239
433+#: qml/Greeter/LoginList.qml:259
274msgid "Retry"
434msgid "Retry"
275msgstr "Retry"
435msgstr "Retry"
276
436
277−#: qml/Greeter/LoginList.qml:240
437+#: qml/Greeter/LoginList.qml:260
278−msgid "Tap to unlock"
438+msgid "Log In"
279−msgstr "Tap to unlock"
439+msgstr ""
280
440
281#: qml/Greeter/NarrowView.qml:54
441#: qml/Greeter/NarrowView.qml:54
282msgid "Sorry, incorrect passphrase."
442msgid "Sorry, incorrect passphrase."
@@ -408,18 +568,18 @@ msgstr "Finished"
408msgid "Failed, tap to retry"
568msgid "Failed, tap to retry"
409msgstr "Failed, tap to retry"
569msgstr "Failed, tap to retry"
410
570
411−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:155
571+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:151
412−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
572+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:210
413msgctxt "Button: Send a reply message"
573msgctxt "Button: Send a reply message"
414msgid "Send"
574msgid "Send"
415msgstr "Send"
575msgstr "Send"
416
576
417−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
577+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:152
418msgctxt "Label: Hint in message indicator line edit"
578msgctxt "Label: Hint in message indicator line edit"
419msgid "Reply"
579msgid "Reply"
420msgstr "Reply"
580msgstr "Reply"
421
581
422−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
582+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:209
423msgctxt "Button: Call back on phone"
583msgctxt "Button: Call back on phone"
424msgid "Call back"
584msgid "Call back"
425msgstr "Call back"
585msgstr "Call back"
@@ -428,49 +588,25 @@ msgstr "Call back"
428msgid "Drag using 3 fingers any application from one window to the other"
588msgid "Drag using 3 fingers any application from one window to the other"
429msgstr "Drag using 3 fingers any application from one window to the other"
589msgstr "Drag using 3 fingers any application from one window to the other"
430
590
431−#: qml/Tutorial/TutorialBottom.qml:78
432−msgid "Swipe up to add a contact"
433−msgstr "Swipe up to add a contact"
434−
435−#: qml/Tutorial/TutorialBottom.qml:80
436−msgid "Swipe up for favorite calculations"
437−msgstr "Swipe up for favourite calculations"
438−
439−#: qml/Tutorial/TutorialBottom.qml:82
440−msgid "Swipe up for recent calls"
441−msgstr "Swipe up for recent calls"
442−
443−#: qml/Tutorial/TutorialBottom.qml:84
444−msgid "Swipe up to create a message"
445−msgstr "Swipe up to create a message"
446−
447−#: qml/Tutorial/TutorialBottom.qml:85
448−msgid "Swipe up to manage the app"
449−msgstr "Swipe up to manage the app"
450−
451−#: qml/Tutorial/TutorialLeftLong.qml:47
591+#: qml/Tutorial/TutorialLeftLong.qml:49
452msgid "Long swipe from the left edge to open the Today scope"
592msgid "Long swipe from the left edge to open the Today scope"
453msgstr "Long swipe from the left edge to open the Today scope"
593msgstr "Long swipe from the left edge to open the Today scope"
454
594
455#: qml/Tutorial/TutorialLeft.qml:47
595#: qml/Tutorial/TutorialLeft.qml:47
456−msgid "Swipe from the left edge to open the launcher"
596+msgid "Short swipe from the left edge to open the launcher"
457−msgstr "Swipe from the left edge to open the launcher"
597+msgstr ""
458
598
459#: qml/Tutorial/TutorialRight.qml:55
599#: qml/Tutorial/TutorialRight.qml:55
460msgid "Push your mouse against the right edge to view your open apps"
600msgid "Push your mouse against the right edge to view your open apps"
461msgstr "Push your mouse against the right edge to view your open apps"
601msgstr "Push your mouse against the right edge to view your open apps"
462
602
463#: qml/Tutorial/TutorialRight.qml:56
603#: qml/Tutorial/TutorialRight.qml:56
464−msgid "Short or long swipe from the right edge to view your open apps"
604+msgid "Swipe from the right edge to view your open apps"
465−msgstr "Short or long swipe from the right edge to view your open apps"
605+msgstr ""
466
606
467#: qml/Tutorial/TutorialTop.qml:53
607#: qml/Tutorial/TutorialTop.qml:53
468−msgid "Swipe from the top right edge to open the notification bar"
608+msgid "Swipe from the top edge to access notifications and quick settings"
469−msgstr "Swipe from the top right edge to open the notification bar"
609+msgstr ""
470−
471−#: qml/Tutorial/TutorialTop.qml:54
472−msgid "Swipe from the top edge to open the notification bar"
473−msgstr "Swipe from the top edge to open the notification bar"
474
610
475#: qml/Wizard/Page.qml:54
611#: qml/Wizard/Page.qml:54
476msgctxt "Button: Go back one page in the Wizard"
612msgctxt "Button: Go back one page in the Wizard"
@@ -481,8 +617,8 @@ msgstr "Back"
481msgid "Language"
617msgid "Language"
482msgstr "Language"
618msgstr "Language"
483
619
484−#: qml/Wizard/Pages/10-welcome.qml:156 qml/Wizard/Pages/30-wifi.qml:206
620+#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
485−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:267
621+#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
486#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
622#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
487#: qml/Wizard/Pages/75-report-check.qml:84
623#: qml/Wizard/Pages/75-report-check.qml:84
488#: qml/Wizard/Pages/passcode-desktop.qml:124
624#: qml/Wizard/Pages/passcode-desktop.qml:124
@@ -549,7 +685,7 @@ msgstr "You can change it later in System Settings."
549msgid "Time Zone"
685msgid "Time Zone"
550msgstr "Time Zone"
686msgstr "Time Zone"
551
687
552−#: qml/Wizard/Pages/50-timezone.qml:178
688+#: qml/Wizard/Pages/50-timezone.qml:181
553msgid "Enter your city"
689msgid "Enter your city"
554msgstr "Enter your city"
690msgstr "Enter your city"
555
691
@@ -999,6 +1135,9 @@ msgstr "Very weak password"
999#~ msgid "View all your running tasks."
1135#~ msgid "View all your running tasks."
1000#~ msgstr "View all your running tasks."
1136#~ msgstr "View all your running tasks."
1001
1137
1138+#~ msgid "Tap to unlock"
1139+#~ msgstr "Tap to unlock"
1140+
1002#~ msgctxt "Button: Shut down the system"
1141#~ msgctxt "Button: Shut down the system"
1003#~ msgid "Shut down"
1142#~ msgid "Shut down"
1004#~ msgstr "Shut down"
1143#~ msgstr "Shut down"
@@ -1068,5 +1207,32 @@ msgstr "Very weak password"
1068#~ msgid "Call back"
1207#~ msgid "Call back"
1069#~ msgstr "Call back"
1208#~ msgstr "Call back"
1070
1209
1210+#~ msgid "Swipe up for recent calls"
1211+#~ msgstr "Swipe up for recent calls"
1212+
1213+#~ msgid "Swipe up for favorite calculations"
1214+#~ msgstr "Swipe up for favourite calculations"
1215+
1216+#~ msgid "Swipe up to manage the app"
1217+#~ msgstr "Swipe up to manage the app"
1218+
1219+#~ msgid "Swipe up to create a message"
1220+#~ msgstr "Swipe up to create a message"
1221+
1222+#~ msgid "Swipe up to add a contact"
1223+#~ msgstr "Swipe up to add a contact"
1224+
1225+#~ msgid "Swipe from the top right edge to open the notification bar"
1226+#~ msgstr "Swipe from the top right edge to open the notification bar"
1227+
1228+#~ msgid "Swipe from the top edge to open the notification bar"
1229+#~ msgstr "Swipe from the top edge to open the notification bar"
1230+
1071#~ msgid "Hover your mouse on the right edge to view your open apps"
1231#~ msgid "Hover your mouse on the right edge to view your open apps"
1072#~ msgstr "Hover your mouse on the right edge to view your open apps"
1232#~ msgstr "Hover your mouse on the right edge to view your open apps"
1233+
1234+#~ msgid "Short or long swipe from the right edge to view your open apps"
1235+#~ msgstr "Short or long swipe from the right edge to view your open apps"
1236+
1237+#~ msgid "Swipe from the left edge to open the launcher"
1238+#~ msgstr "Swipe from the left edge to open the launcher"
po/eo.po+212−76
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2016-05-20 08:44+0000\n"
10+"POT-Creation-Date: 2016-06-17 01:22+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,23 +15,23 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-05-25 06:08+0000\n"
18+"X-Launchpad-Export-Date: 2016-06-19 05:54+0000\n"
19−"X-Generator: Launchpad (build 18053)\n"
19+"X-Generator: Launchpad (build 18097)\n"
20
20
21#: plugins/IntegratedLightDM/Greeter.cpp:112
21#: plugins/IntegratedLightDM/Greeter.cpp:112
22msgid "Password: "
22msgid "Password: "
23msgstr "Pasvorto: "
23msgstr "Pasvorto: "
24
24
25−#: plugins/Unity/Launcher/launcheritem.cpp:48
25+#: plugins/Unity/Launcher/launcheritem.cpp:49
26−#: plugins/Unity/Launcher/launcheritem.cpp:107
26+#: plugins/Unity/Launcher/launcheritem.cpp:108
27msgid "Pin shortcut"
27msgid "Pin shortcut"
28msgstr ""
28msgstr ""
29
29
30−#: plugins/Unity/Launcher/launcheritem.cpp:53
30+#: plugins/Unity/Launcher/launcheritem.cpp:54
31msgid "Quit"
31msgid "Quit"
32msgstr "Ĉesi"
32msgstr "Ĉesi"
33
33
34−#: plugins/Unity/Launcher/launcheritem.cpp:107
34+#: plugins/Unity/Launcher/launcheritem.cpp:108
35msgid "Unpin shortcut"
35msgid "Unpin shortcut"
36msgstr ""
36msgstr ""
37
37
@@ -54,69 +54,229 @@ msgid_plural "Please wait %1 minutes and then try again…"
54msgstr[0] ""
54msgstr[0] ""
55msgstr[1] ""
55msgstr[1] ""
56
56
57−#: qml/Components/Dialogs.qml:144
57+#: qml/Components/Dialogs.qml:146
58msgctxt "Title: Lock/Log out dialog"
58msgctxt "Title: Lock/Log out dialog"
59msgid "Log out"
59msgid "Log out"
60msgstr "Elsaluti"
60msgstr "Elsaluti"
61
61
62−#: qml/Components/Dialogs.qml:145
62+#: qml/Components/Dialogs.qml:147
63msgid "Are you sure you want to log out?"
63msgid "Are you sure you want to log out?"
64msgstr "Ĉu vi certas, ke vi volas elsaluti?"
64msgstr "Ĉu vi certas, ke vi volas elsaluti?"
65
65
66−#: qml/Components/Dialogs.qml:147
66+#: qml/Components/Dialogs.qml:149
67msgctxt "Button: Lock the system"
67msgctxt "Button: Lock the system"
68msgid "Lock"
68msgid "Lock"
69msgstr "Ŝlosi"
69msgstr "Ŝlosi"
70
70
71−#: qml/Components/Dialogs.qml:154
71+#: qml/Components/Dialogs.qml:156
72msgctxt "Button: Log out from the system"
72msgctxt "Button: Log out from the system"
73msgid "Log Out"
73msgid "Log Out"
74msgstr "Elsaluti"
74msgstr "Elsaluti"
75
75
76−#: qml/Components/Dialogs.qml:161 qml/Components/Dialogs.qml:217
76+#: qml/Components/Dialogs.qml:163 qml/Components/Dialogs.qml:219
77−#: qml/Dash/DashPageHeader.qml:298 qml/Wizard/Pages/passcode-confirm.qml:32
77+#: qml/Dash/DashPageHeader.qml:295 qml/Wizard/Pages/passcode-confirm.qml:32
78#: qml/Wizard/Pages/passcode-set.qml:32
78#: qml/Wizard/Pages/passcode-set.qml:32
79msgid "Cancel"
79msgid "Cancel"
80msgstr "Nuligi"
80msgstr "Nuligi"
81
81
82−#: qml/Components/Dialogs.qml:173
82+#: qml/Components/Dialogs.qml:175
83msgctxt "Title: Reboot dialog"
83msgctxt "Title: Reboot dialog"
84msgid "Reboot"
84msgid "Reboot"
85msgstr ""
85msgstr ""
86
86
87−#: qml/Components/Dialogs.qml:174
87+#: qml/Components/Dialogs.qml:176
88msgid "Are you sure you want to reboot?"
88msgid "Are you sure you want to reboot?"
89msgstr ""
89msgstr ""
90
90
91−#: qml/Components/Dialogs.qml:176
91+#: qml/Components/Dialogs.qml:178
92msgid "No"
92msgid "No"
93msgstr "Ne"
93msgstr "Ne"
94
94
95−#: qml/Components/Dialogs.qml:182
95+#: qml/Components/Dialogs.qml:184
96msgid "Yes"
96msgid "Yes"
97msgstr "Jes"
97msgstr "Jes"
98
98
99−#: qml/Components/Dialogs.qml:197
99+#: qml/Components/Dialogs.qml:199
100msgctxt "Title: Power off/Restart dialog"
100msgctxt "Title: Power off/Restart dialog"
101msgid "Power"
101msgid "Power"
102msgstr "Energio"
102msgstr "Energio"
103
103
104−#: qml/Components/Dialogs.qml:198
104+#: qml/Components/Dialogs.qml:200
105msgid ""
105msgid ""
106"Are you sure you would like\n"
106"Are you sure you would like\n"
107"to power off?"
107"to power off?"
108msgstr ""
108msgstr ""
109
109
110−#: qml/Components/Dialogs.qml:200
110+#: qml/Components/Dialogs.qml:202
111msgctxt "Button: Power off the system"
111msgctxt "Button: Power off the system"
112msgid "Power off"
112msgid "Power off"
113msgstr ""
113msgstr ""
114
114
115−#: qml/Components/Dialogs.qml:209
115+#: qml/Components/Dialogs.qml:211
116msgctxt "Button: Restart the system"
116msgctxt "Button: Restart the system"
117msgid "Restart"
117msgid "Restart"
118msgstr ""
118msgstr ""
119
119
120+#: qml/Components/KeyboardShortcutsOverlay.qml:41
121+msgid "Keyboard Shortcuts"
122+msgstr ""
123+
124+#: qml/Components/KeyboardShortcutsOverlay.qml:55
125+msgid "Unity 8"
126+msgstr ""
127+
128+#: qml/Components/KeyboardShortcutsOverlay.qml:62
129+msgid "PrtScr"
130+msgstr ""
131+
132+#: qml/Components/KeyboardShortcutsOverlay.qml:67
133+msgid "Takes a screenshot."
134+msgstr ""
135+
136+#: qml/Components/KeyboardShortcutsOverlay.qml:75
137+msgid "Alt + PrtScr"
138+msgstr ""
139+
140+#: qml/Components/KeyboardShortcutsOverlay.qml:80
141+msgid "Takes a screenshot of a window."
142+msgstr ""
143+
144+#: qml/Components/KeyboardShortcutsOverlay.qml:88
145+msgid "Super + Space"
146+msgstr ""
147+
148+#: qml/Components/KeyboardShortcutsOverlay.qml:93
149+msgid "Switches to next keyboard layout."
150+msgstr ""
151+
152+#: qml/Components/KeyboardShortcutsOverlay.qml:101
153+msgid "Super + Shift + Space"
154+msgstr ""
155+
156+#: qml/Components/KeyboardShortcutsOverlay.qml:106
157+msgid "Switches to previous keyboard layout."
158+msgstr ""
159+
160+#: qml/Components/KeyboardShortcutsOverlay.qml:118
161+msgid "Launcher"
162+msgstr ""
163+
164+#: qml/Components/KeyboardShortcutsOverlay.qml:125
165+msgid "Super (Hold)"
166+msgstr ""
167+
168+#: qml/Components/KeyboardShortcutsOverlay.qml:130
169+msgid "Opens the launcher, displays shortcuts."
170+msgstr ""
171+
172+#: qml/Components/KeyboardShortcutsOverlay.qml:138
173+msgid "Alt + F1"
174+msgstr ""
175+
176+#: qml/Components/KeyboardShortcutsOverlay.qml:143
177+msgid "Opens launcher keyboard navigation mode."
178+msgstr ""
179+
180+#: qml/Components/KeyboardShortcutsOverlay.qml:151
181+msgid "Super + Tab"
182+msgstr ""
183+
184+#: qml/Components/KeyboardShortcutsOverlay.qml:156
185+msgid "Switches applications via the launcher."
186+msgstr ""
187+
188+#: qml/Components/KeyboardShortcutsOverlay.qml:164
189+msgid "Super + 0 to 9"
190+msgstr ""
191+
192+#: qml/Components/KeyboardShortcutsOverlay.qml:169
193+msgid "Same as clicking on a launcher icon."
194+msgstr ""
195+
196+#: qml/Components/KeyboardShortcutsOverlay.qml:181
197+msgid "Scopes"
198+msgstr ""
199+
200+#: qml/Components/KeyboardShortcutsOverlay.qml:188
201+msgid "Super (Tap)"
202+msgstr ""
203+
204+#: qml/Components/KeyboardShortcutsOverlay.qml:193
205+msgid "Opens the Scopes home."
206+msgstr ""
207+
208+#: qml/Components/KeyboardShortcutsOverlay.qml:209
209+msgid "Switching"
210+msgstr ""
211+
212+#: qml/Components/KeyboardShortcutsOverlay.qml:216
213+msgid "Alt + Tab"
214+msgstr ""
215+
216+#: qml/Components/KeyboardShortcutsOverlay.qml:221
217+msgid "Switches between applications."
218+msgstr ""
219+
220+#: qml/Components/KeyboardShortcutsOverlay.qml:229
221+msgid "Super + W"
222+msgstr ""
223+
224+#: qml/Components/KeyboardShortcutsOverlay.qml:234
225+msgid "Opens the desktop spread."
226+msgstr ""
227+
228+#: qml/Components/KeyboardShortcutsOverlay.qml:242
229+msgid "Cursor Left or Right"
230+msgstr ""
231+
232+#: qml/Components/KeyboardShortcutsOverlay.qml:247
233+msgid "Moves the focus."
234+msgstr ""
235+
236+#: qml/Components/KeyboardShortcutsOverlay.qml:259
237+msgid "Windows"
238+msgstr ""
239+
240+#: qml/Components/KeyboardShortcutsOverlay.qml:266
241+msgid "Ctrl + Super + D"
242+msgstr ""
243+
244+#: qml/Components/KeyboardShortcutsOverlay.qml:271
245+msgid "Minimizes all windows."
246+msgstr ""
247+
248+#: qml/Components/KeyboardShortcutsOverlay.qml:279
249+msgid "Ctrl + Super + Up"
250+msgstr ""
251+
252+#: qml/Components/KeyboardShortcutsOverlay.qml:284
253+msgid "Maximizes the current window."
254+msgstr ""
255+
256+#: qml/Components/KeyboardShortcutsOverlay.qml:292
257+msgid "Ctrl + Super + Down"
258+msgstr ""
259+
260+#: qml/Components/KeyboardShortcutsOverlay.qml:297
261+msgid "Minimizes or restores the current window."
262+msgstr ""
263+
264+#: qml/Components/KeyboardShortcutsOverlay.qml:305
265+msgid "Ctrl + Super + Left or Right"
266+msgstr ""
267+
268+#: qml/Components/KeyboardShortcutsOverlay.qml:310
269+msgid "Semi-maximizes the current window."
270+msgstr ""
271+
272+#: qml/Components/KeyboardShortcutsOverlay.qml:318
273+msgid "Alt + F4"
274+msgstr ""
275+
276+#: qml/Components/KeyboardShortcutsOverlay.qml:323
277+msgid "Closes the current window."
278+msgstr ""
279+
120#: qml/Components/Lockscreen.qml:231
280#: qml/Components/Lockscreen.qml:231
121msgid "Return to Call"
281msgid "Return to Call"
122msgstr ""
282msgstr ""
@@ -155,26 +315,26 @@ msgstr ""
155msgid "Close all"
315msgid "Close all"
156msgstr ""
316msgstr ""
157
317
158−#: qml/Dash/DashPageHeader.qml:337
318+#: qml/Dash/DashPageHeader.qml:333
159msgctxt "Button: Open the Ubuntu Store"
319msgctxt "Button: Open the Ubuntu Store"
160msgid "Store"
320msgid "Store"
161msgstr "Programarejo"
321msgstr "Programarejo"
162
322
163−#: qml/Dash/DashPageHeader.qml:344
323+#: qml/Dash/DashPageHeader.qml:340
164msgctxt "Button: Start a search in the current dash scope"
324msgctxt "Button: Start a search in the current dash scope"
165msgid "Search"
325msgid "Search"
166msgstr "Serĉi"
326msgstr "Serĉi"
167
327
168−#: qml/Dash/DashPageHeader.qml:354
328+#: qml/Dash/DashPageHeader.qml:350
169msgctxt "Button: Show the current dash scope settings"
329msgctxt "Button: Show the current dash scope settings"
170msgid "Settings"
330msgid "Settings"
171msgstr "Agordoj"
331msgstr "Agordoj"
172
332
173−#: qml/Dash/DashPageHeader.qml:361
333+#: qml/Dash/DashPageHeader.qml:357
174msgid "Remove from Favorites"
334msgid "Remove from Favorites"
175msgstr ""
335msgstr ""
176
336
177−#: qml/Dash/DashPageHeader.qml:361
337+#: qml/Dash/DashPageHeader.qml:357
178msgid "Add to Favorites"
338msgid "Add to Favorites"
179msgstr "Aldoni al favoritoj"
339msgstr "Aldoni al favoritoj"
180
340
@@ -186,24 +346,24 @@ msgstr ""
186msgid "Reset"
346msgid "Reset"
187msgstr ""
347msgstr ""
188
348
189−#: qml/Dash/GenericScopeView.qml:579 qml/Dash/GenericScopeView.qml:764
349+#: qml/Dash/GenericScopeView.qml:580 qml/Dash/GenericScopeView.qml:775
190msgid "Show less"
350msgid "Show less"
191msgstr ""
351msgstr ""
192
352
193−#: qml/Dash/GenericScopeView.qml:579
353+#: qml/Dash/GenericScopeView.qml:580
194msgid "Show all"
354msgid "Show all"
195msgstr ""
355msgstr ""
196
356
197−#: qml/Dash/GenericScopeView.qml:636
357+#: qml/Dash/GenericScopeView.qml:637
198msgctxt "Label: Hint for dash search line edit"
358msgctxt "Label: Hint for dash search line edit"
199msgid "Search"
359msgid "Search"
200msgstr "Serĉi"
360msgstr "Serĉi"
201
361
202−#: qml/Dash/PageHeaderExtraPanel.qml:55
362+#: qml/Dash/PageHeaderExtraPanel.qml:56
203msgid "Recent Searches"
363msgid "Recent Searches"
204msgstr ""
364msgstr ""
205
365
206−#: qml/Dash/PageHeaderExtraPanel.qml:66
366+#: qml/Dash/PageHeaderExtraPanel.qml:67
207msgid "Clear All"
367msgid "Clear All"
208msgstr ""
368msgstr ""
209
369
@@ -216,15 +376,15 @@ msgid "Less..."
216msgstr "Malpli..."
376msgstr "Malpli..."
217
377
218#: qml/Dash/Previews/PreviewCommentInput.qml:68
378#: qml/Dash/Previews/PreviewCommentInput.qml:68
219−#: qml/Dash/Previews/PreviewRatingInput.qml:174
379+#: qml/Dash/Previews/PreviewRatingInput.qml:175
220msgid "Send"
380msgid "Send"
221msgstr "Sendi"
381msgstr "Sendi"
222
382
223−#: qml/Dash/Previews/PreviewRatingInput.qml:84
383+#: qml/Dash/Previews/PreviewRatingInput.qml:82
224msgid "Rate this"
384msgid "Rate this"
225msgstr ""
385msgstr ""
226
386
227−#: qml/Dash/Previews/PreviewRatingInput.qml:129
387+#: qml/Dash/Previews/PreviewRatingInput.qml:157
228msgid "Add a review"
388msgid "Add a review"
229msgstr ""
389msgstr ""
230
390
@@ -244,15 +404,15 @@ msgstr ""
244msgid "Enable location data"
404msgid "Enable location data"
245msgstr ""
405msgstr ""
246
406
247−#: qml/Dash/ScopesList.qml:67
407+#: qml/Dash/ScopesList.qml:55
248msgid "Manage"
408msgid "Manage"
249msgstr "Administri"
409msgstr "Administri"
250
410
251−#: qml/Dash/ScopesList.qml:113
411+#: qml/Dash/ScopesList.qml:101
252msgid "Home"
412msgid "Home"
253msgstr "Hejmo"
413msgstr "Hejmo"
254
414
255−#: qml/Dash/ScopesList.qml:114
415+#: qml/Dash/ScopesList.qml:102
256msgid "Also installed"
416msgid "Also installed"
257msgstr ""
417msgstr ""
258
418
@@ -262,16 +422,16 @@ msgid ""
262"touch pad to interact with the pointer."
422"touch pad to interact with the pointer."
263msgstr ""
423msgstr ""
264
424
265−#: qml/Greeter/CoverPage.qml:118
425+#: qml/Greeter/CoverPage.qml:119
266msgid "Unlock"
426msgid "Unlock"
267msgstr "Malŝlosi"
427msgstr "Malŝlosi"
268
428
269−#: qml/Greeter/LoginList.qml:239
429+#: qml/Greeter/LoginList.qml:259
270msgid "Retry"
430msgid "Retry"
271msgstr "Reprovi"
431msgstr "Reprovi"
272
432
273−#: qml/Greeter/LoginList.qml:240
433+#: qml/Greeter/LoginList.qml:260
274−msgid "Tap to unlock"
434+msgid "Log In"
275msgstr ""
435msgstr ""
276
436
277#: qml/Greeter/NarrowView.qml:54
437#: qml/Greeter/NarrowView.qml:54
@@ -400,18 +560,18 @@ msgstr "Finita"
400msgid "Failed, tap to retry"
560msgid "Failed, tap to retry"
401msgstr ""
561msgstr ""
402
562
403−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:155
563+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:151
404−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:214
564+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:210
405msgctxt "Button: Send a reply message"
565msgctxt "Button: Send a reply message"
406msgid "Send"
566msgid "Send"
407msgstr "Sendi"
567msgstr "Sendi"
408
568
409−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:156
569+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:152
410msgctxt "Label: Hint in message indicator line edit"
570msgctxt "Label: Hint in message indicator line edit"
411msgid "Reply"
571msgid "Reply"
412msgstr "Respondi"
572msgstr "Respondi"
413
573
414−#: qml/Panel/Indicators/MessageMenuItemFactory.qml:213
574+#: qml/Panel/Indicators/MessageMenuItemFactory.qml:209
415msgctxt "Button: Call back on phone"
575msgctxt "Button: Call back on phone"
416msgid "Call back"
576msgid "Call back"
417msgstr ""
577msgstr ""
@@ -420,32 +580,12 @@ msgstr ""
420msgid "Drag using 3 fingers any application from one window to the other"
580msgid "Drag using 3 fingers any application from one window to the other"
421msgstr ""
581msgstr ""
422
582
423−#: qml/Tutorial/TutorialBottom.qml:78
424−msgid "Swipe up to add a contact"
425−msgstr ""
426−
427−#: qml/Tutorial/TutorialBottom.qml:80
428−msgid "Swipe up for favorite calculations"
429−msgstr ""
430−
431−#: qml/Tutorial/TutorialBottom.qml:82
432−msgid "Swipe up for recent calls"
433−msgstr ""
434−
435−#: qml/Tutorial/TutorialBottom.qml:84
436−msgid "Swipe up to create a message"
437−msgstr ""
438−
439−#: qml/Tutorial/TutorialBottom.qml:85
440−msgid "Swipe up to manage the app"
441−msgstr ""
442−
443−#: qml/Tutorial/TutorialLeftLong.qml:47
583+#: qml/Tutorial/TutorialLeftLong.qml:49
444msgid "Long swipe from the left edge to open the Today scope"
584msgid "Long swipe from the left edge to open the Today scope"
445msgstr ""
585msgstr ""
446
586
447#: qml/Tutorial/TutorialLeft.qml:47
587#: qml/Tutorial/TutorialLeft.qml:47
448−msgid "Swipe from the left edge to open the launcher"
588+msgid "Short swipe from the left edge to open the launcher"
449msgstr ""
589msgstr ""
450
590
451#: qml/Tutorial/TutorialRight.qml:55
591#: qml/Tutorial/TutorialRight.qml:55
@@ -453,15 +593,11 @@ msgid "Push your mouse against the right edge to view your open apps"
453msgstr ""
593msgstr ""
454
594
455#: qml/Tutorial/TutorialRight.qml:56
595#: qml/Tutorial/TutorialRight.qml:56
456−msgid "Short or long swipe from the right edge to view your open apps"
596+msgid "Swipe from the right edge to view your open apps"
457msgstr ""
597msgstr ""
458
598
459#: qml/Tutorial/TutorialTop.qml:53
599#: qml/Tutorial/TutorialTop.qml:53
460−msgid "Swipe from the top right edge to open the notification bar"
600+msgid "Swipe from the top edge to access notifications and quick settings"
461−msgstr ""
462−
463−#: qml/Tutorial/TutorialTop.qml:54
464−msgid "Swipe from the top edge to open the notification bar"
465msgstr ""
601msgstr ""
466
602
467#: qml/Wizard/Page.qml:54
603#: qml/Wizard/Page.qml:54
@@ -473,8 +609,8 @@ msgstr "Reen"
473msgid "Language"
609msgid "Language"
474msgstr ""
610msgstr ""
475
611
476−#: qml/Wizard/Pages/10-welcome.qml:156 qml/Wizard/Pages/30-wifi.qml:206
612+#: qml/Wizard/Pages/10-welcome.qml:171 qml/Wizard/Pages/30-wifi.qml:206
477−#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:267
613+#: qml/Wizard/Pages/40-location.qml:271 qml/Wizard/Pages/50-timezone.qml:270
478#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
614#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/70-passwd-type.qml:144
479#: qml/Wizard/Pages/75-report-check.qml:84
615#: qml/Wizard/Pages/75-report-check.qml:84
480#: qml/Wizard/Pages/passcode-desktop.qml:124
616#: qml/Wizard/Pages/passcode-desktop.qml:124
@@ -539,7 +675,7 @@ msgstr ""
539msgid "Time Zone"
675msgid "Time Zone"
540msgstr ""
676msgstr ""
541
677
542−#: qml/Wizard/Pages/50-timezone.qml:178
678+#: qml/Wizard/Pages/50-timezone.qml:181
543msgid "Enter your city"
679msgid "Enter your city"
544msgstr ""
680msgstr ""
545
681
po/es.po+248−82

This diff is too big to show here.

po/eu.po+216−77

This diff is too big to show here.

po/fa.po+246−80

This diff is too big to show here.

po/fi.po+247−81

This diff is too big to show here.

po/fo.po+298−158

This diff is too big to show here.

po/fr.po+250−84

This diff is too big to show here.

po/ga.po+216−77

This diff is too big to show here.

po/gd.po+249−83

This diff is too big to show here.

po/gl.po+246−80

This diff is too big to show here.

po/gv.po+212−76

This diff is too big to show here.

po/he.po+216−77

This diff is too big to show here.

po/hi.po+212−76

This diff is too big to show here.

po/hr.po+247−81

This diff is too big to show here.

po/hu.po+246−80

This diff is too big to show here.

po/hy.po+212−76

This diff is too big to show here.

po/ia.po+246−80

This diff is too big to show here.

po/id.po+212−76

This diff is too big to show here.

po/is.po+212−76

This diff is too big to show here.

po/it.po+247−81

This diff is too big to show here.

po/ja.po+212−76

This diff is too big to show here.

po/km.po+212−76

This diff is too big to show here.

po/kn.po+212−76

This diff is too big to show here.

po/ko.po+216−77

This diff is too big to show here.

po/ku.po+212−76

This diff is too big to show here.

po/ky.po+212−76

This diff is too big to show here.

po/lo.po+212−76

This diff is too big to show here.

po/lt.po+212−76

This diff is too big to show here.

po/lv.po+216−77

This diff is too big to show here.

po/ml.po+212−76

This diff is too big to show here.

po/mr.po+212−76

This diff is too big to show here.

po/ms.po+252−81

This diff is too big to show here.

po/my.po+212−76

This diff is too big to show here.

po/nb.po+246−80

This diff is too big to show here.

po/ne.po+212−76

This diff is too big to show here.

po/nl.po+242−79

This diff is too big to show here.

po/nn.po+212−76

This diff is too big to show here.

po/oc.po+225−77

This diff is too big to show here.

po/or.po+212−76

This diff is too big to show here.

po/pa.po+216−77

This diff is too big to show here.

po/pl.po+248−82

This diff is too big to show here.

po/pt.po+247−81

This diff is too big to show here.

po/pt_BR.po+216−77

This diff is too big to show here.

po/ro.po+216−77

This diff is too big to show here.

po/ru.po+250−91

This diff is too big to show here.

po/shn.po+212−76

This diff is too big to show here.

po/si.po+212−76

This diff is too big to show here.

po/sk.po+247−81

This diff is too big to show here.

po/sl.po+246−80

This diff is too big to show here.

po/sq.po+216−77

This diff is too big to show here.

po/sr.po+246−80

This diff is too big to show here.

po/sv.po+252−85

This diff is too big to show here.

po/sw.po+216−77

This diff is too big to show here.

po/ta.po+212−76

This diff is too big to show here.

po/te.po+212−76

This diff is too big to show here.

po/th.po+212−76

This diff is too big to show here.

po/tr.po+216−77

This diff is too big to show here.

po/ug.po+216−77

This diff is too big to show here.

po/uk.po+247−81

This diff is too big to show here.

po/unity8.pot+210−74

This diff is too big to show here.

po/ur.po+212−76

This diff is too big to show here.

po/uz.po+212−76

This diff is too big to show here.

po/vi.po+212−76

This diff is too big to show here.

po/wo.po+216−77

This diff is too big to show here.

po/xh.po+212−76

This diff is too big to show here.

po/zh_CN.po+246−80

This diff is too big to show here.

po/zh_HK.po+212−76

This diff is too big to show here.

po/zh_TW.po+216−77

This diff is too big to show here.

qml/Components/Dialogs.qml+5−3

This diff is too big to show here.

qml/Components/DragHandle.qml+43−25

This diff is too big to show here.

qml/Components/FadingLabel.qmlnew file+42

This diff is too big to show here.

qml/Components/FloatingFlickable.qmlnew file+59

This diff is too big to show here.

qml/Components/Header.qmldeleted−28

This diff is too big to show here.

qml/Components/KeyboardShortcutsOverlay.qmlnew file+334

This diff is too big to show here.

qml/Components/ModeSwitchWarningDialog.qml+1−1

This diff is too big to show here.

qml/Components/PanelState/PanelState.qml+4−3

This diff is too big to show here.

qml/Components/PhysicalKeysMapper.qml+2−22

This diff is too big to show here.

qml/Components/Rating.qml+1

This diff is too big to show here.

qml/Components/RatingStyle.qml+3

This diff is too big to show here.

qml/Components/WindowControlButtons.qml+39−34

This diff is too big to show here.

qml/Components/graphics/window-close.svg+164−14

This diff is too big to show here.

qml/Components/graphics/window-maximize.svg+164−12

This diff is too big to show here.

qml/Components/graphics/window-minimize.svg+164−13

This diff is too big to show here.

qml/Components/graphics/window-window.svgnew file+41

This diff is too big to show here.

qml/Dash/CardCarousel.qml+1−1

This diff is too big to show here.

qml/Dash/CardGrid.qml−2

This diff is too big to show here.

qml/Dash/CardTool.qml+6−2

This diff is too big to show here.

qml/Dash/Dash.qml+3−3

This diff is too big to show here.

qml/Dash/DashApplication.qml−3

This diff is too big to show here.

qml/Dash/DashCategoryBase.qml+3−11

This diff is too big to show here.

qml/Dash/DashPageHeader.qml+31−36

This diff is too big to show here.

qml/Dash/Filters/FilterOptionSelector.qml+4

This diff is too big to show here.

qml/Dash/Filters/FilterWidgetFactory.qml+8

This diff is too big to show here.

qml/Dash/GenericScopeView.qml+20−9

This diff is too big to show here.

qml/Dash/PageHeaderExtraPanel.qml+34−10

This diff is too big to show here.

qml/Dash/Previews/Preview.qml+1

This diff is too big to show here.

qml/Dash/Previews/PreviewActions.qml+1−1

This diff is too big to show here.

qml/Dash/Previews/PreviewImageGallery.qml+1

This diff is too big to show here.

qml/Dash/Previews/PreviewPayments.qml+1−1

This diff is too big to show here.

qml/Dash/Previews/PreviewRatingInput.qml+41−42

This diff is too big to show here.

qml/Dash/ScopesList.qml+1−13

This diff is too big to show here.

qml/Greeter/CoverPage.qml+1

This diff is too big to show here.

qml/Greeter/Greeter.qml+18−14

This diff is too big to show here.

qml/Greeter/GreeterPrompt.qmlnew file+142

This diff is too big to show here.

qml/Greeter/LoginList.qml+59−76

This diff is too big to show here.

qml/Greeter/WideView.qml+1−1

This diff is too big to show here.

qml/Launcher/Launcher.qml+17−24

This diff is too big to show here.

qml/Launcher/LauncherDelegate.qml+6−10

This diff is too big to show here.

qml/Launcher/LauncherPanel.qml+2

This diff is too big to show here.

qml/Notifications/Notification.qml+36−5

This diff is too big to show here.

qml/Notifications/NotificationMenuItemFactory.qml+3

This diff is too big to show here.

qml/Notifications/Notifications.qml+19−9

This diff is too big to show here.

qml/Panel/Indicators/MessageMenuItemFactory.qml+1−5

This diff is too big to show here.

qml/Panel/IndicatorsMenu.qml+17−13

This diff is too big to show here.

qml/Panel/Panel.qml+20−7

This diff is too big to show here.

qml/Shell.qml+55−14

This diff is too big to show here.

qml/Stages/ApplicationWindow.qml+25−9

This diff is too big to show here.

qml/Stages/DecoratedWindow.qml+47−17

This diff is too big to show here.

qml/Stages/DesktopSpread.qml+1−1

This diff is too big to show here.

qml/Stages/DesktopSpreadDelegate.qml+1−1

This diff is too big to show here.

qml/Stages/DesktopStage.qml+112−55

This diff is too big to show here.

qml/Stages/OrientationChangeAnimation.qml+30−6

This diff is too big to show here.

qml/Stages/PhoneStage.qml+4−4

This diff is too big to show here.

qml/Stages/ResizeGrip.qmlnew file+46

This diff is too big to show here.

qml/Stages/SideStage.qml+1−2

This diff is too big to show here.

qml/Stages/Splash.qml+6−17

This diff is too big to show here.

qml/Stages/SpreadDelegate.qml+8−12

This diff is too big to show here.

qml/Stages/TabletSideStageTouchGesture.qml+3

This diff is too big to show here.

qml/Stages/TabletStage.qml+4−5

This diff is too big to show here.

qml/Stages/WindowControlsOverlay.qmlnew file+219

This diff is too big to show here.

qml/Stages/WindowDecoration.qml+30−11

This diff is too big to show here.

qml/Stages/WindowResizeArea.qml+29−9

This diff is too big to show here.

qml/Stages/graphics/arrows-centre.pngnew file

Binary file not shown.

qml/Stages/graphics/arrows.pngnew file

Binary file not shown.

qml/Tutorial/InactivityTimer.qml+26−10

This diff is too big to show here.

qml/Tutorial/Tutorial.qml+7−6

This diff is too big to show here.

qml/Tutorial/TutorialBottom.qmldeleted−124

This diff is too big to show here.

qml/Tutorial/TutorialContent.qml+51−134

This diff is too big to show here.

qml/Tutorial/TutorialLeft.qml+2−2

This diff is too big to show here.

qml/Tutorial/TutorialLeftLong.qml+3−1

This diff is too big to show here.

qml/Tutorial/TutorialPage.qml+2−2

This diff is too big to show here.

qml/Tutorial/TutorialRight.qml+2−2

This diff is too big to show here.

qml/Tutorial/TutorialTop.qml+2−3

This diff is too big to show here.

qml/Wizard/Pages/10-welcome.qml+17−4

This diff is too big to show here.

qml/Wizard/Pages/50-timezone.qml+5−2

This diff is too big to show here.

src/CMakeLists.txt+1−4

This diff is too big to show here.

src/Dash/CMakeLists.txt+1

This diff is too big to show here.

src/Dash/main.cpp+7

This diff is too big to show here.

tools/unix-signal-handler.cpp → src/UnixSignalHandler.cpprenamed+4−6

This diff is too big to show here.

tools/unix-signal-handler.h → src/UnixSignalHandler.hrenamed

The content is the same.

src/main.cpp+8

This diff is too big to show here.

tests/CMakeLists.txt−1

This diff is too big to show here.

tests/autopilot/unity8/dash.py+2−3

This diff is too big to show here.

tests/libs/CMakeLists.txtdeleted−1

This diff is too big to show here.

tests/libs/UbuntuGestures/CMakeLists.txtdeleted−16

This diff is too big to show here.

tests/libs/UbuntuGestures/tst_TouchRegistry.cppdeleted−974

This diff is too big to show here.

tests/mocks/AccountsService/AccountsService.qmltypesdeleted−41

This diff is too big to show here.

tests/mocks/Cursor/qmldir+1−1

This diff is too big to show here.

tests/mocks/GSettings.1.0/GSettings.qmltypesdeleted−42

This diff is too big to show here.

tests/mocks/GSettings.1.0/fake_gsettings.cpp+1

This diff is too big to show here.

tests/mocks/GSettings.1.0/fake_gsettings.h+2−2

This diff is too big to show here.

tests/mocks/IntegratedLightDM/IntegratedLightDM.qmltypesdeleted−269

This diff is too big to show here.

tests/mocks/IntegratedLightDM/liblightdm/GreeterPrivate.h−1

This diff is too big to show here.

tests/mocks/IntegratedLightDM/liblightdm/UsersModelPrivate.cpp+1−1

This diff is too big to show here.

tests/mocks/Lights/Lights.qmltypesdeleted−45

This diff is too big to show here.

tests/mocks/MeeGo/QOfono/QOfono.qmltypesdeleted−30

This diff is too big to show here.

tests/mocks/Powerd/Powerd.qmltypesdeleted−39

This diff is too big to show here.

tests/mocks/QMenuModel/QMenuModel.qmltypesdeleted−111

This diff is too big to show here.

tests/mocks/QtMultimedia/QtMultimedia.qmltypesdeleted−62

This diff is too big to show here.

tests/mocks/QtMultimedia/audio.cpp+3−3

This diff is too big to show here.

tests/mocks/QtMultimedia/audio.h+12−6

This diff is too big to show here.

tests/mocks/Ubuntu/DownloadDaemonListener/DownloadDaemonListener.qmltypesdeleted−60

This diff is too big to show here.

tests/mocks/Ubuntu/Payments/MockPayments.cpp+1

This diff is too big to show here.

tests/mocks/Ubuntu/Payments/Payments.qmltypesdeleted−44

This diff is too big to show here.

tests/mocks/Ubuntu/SystemImage/SystemImage.qmltypesdeleted−20

This diff is too big to show here.

tests/mocks/Ubuntu/SystemSettings/LanguagePlugin/LanguagePlugin.qmltypesdeleted−10

This diff is too big to show here.

tests/mocks/Ubuntu/SystemSettings/LanguagePlugin/MockLanguagePlugin.qml+3−2

This diff is too big to show here.

tests/mocks/Ubuntu/SystemSettings/SecurityPrivacy/SecurityPrivacy.qmltypesdeleted−39

This diff is too big to show here.

tests/mocks/Ubuntu/SystemSettings/TimeDate/CMakeLists.txt+1−1

This diff is too big to show here.

tests/mocks/Ubuntu/SystemSettings/TimeDate/MockTimeDate.qml+15−3

This diff is too big to show here.

tests/mocks/Ubuntu/SystemSettings/TimeDate/qmldir+1−1

This diff is too big to show here.

tests/mocks/Ubuntu/Telephony/Telephony.qmltypesdeleted−58

This diff is too big to show here.

tests/mocks/Ubuntu/Thumbnailer/Thumbnailer.qmltypesdeleted−17

This diff is too big to show here.

tests/mocks/Unity/Application/Application.qmltypesdeleted−517

This diff is too big to show here.

tests/mocks/Unity/Application/ApplicationInfo.cpp+29−27

This diff is too big to show here.

tests/mocks/Unity/Application/ApplicationInfo.h+6−5

This diff is too big to show here.

tests/mocks/Unity/Application/ApplicationManager.cpp+12

This diff is too big to show here.

tests/mocks/Unity/Application/MirSurface.h+2−2

This diff is too big to show here.

tests/mocks/Unity/Application/MirSurfaceItem.cpp+1

This diff is too big to show here.

tests/mocks/Unity/Application/MirSurfaceListModel.cpp+13−3

This diff is too big to show here.

tests/mocks/Unity/Application/MirSurfaceListModel.h+1

This diff is too big to show here.

tests/mocks/Unity/Connectivity/Connectivity.qmltypesdeleted−20

This diff is too big to show here.

tests/mocks/Unity/DashCommunicator/DashCommunicator.qmltypesdeleted−46

This diff is too big to show here.

tests/mocks/Unity/Indicators/Indicators.qmltypesdeleted−232

This diff is too big to show here.

tests/mocks/Unity/InputInfo/plugin.h+1−1

This diff is too big to show here.

tests/mocks/Unity/Launcher/CMakeLists.txt+1−1

This diff is too big to show here.

tests/mocks/Unity/Launcher/Launcher.qmltypesdeleted−187

This diff is too big to show here.

tests/mocks/Unity/Launcher/MockLauncherItem.cpp+14

This diff is too big to show here.

tests/mocks/Unity/Launcher/MockLauncherItem.h+3

This diff is too big to show here.

tests/mocks/Unity/Launcher/MockLauncherModel.cpp+8

This diff is too big to show here.

tests/mocks/Unity/Launcher/MockLauncherModel.h+1−1

This diff is too big to show here.

tests/mocks/Unity/Notifications/Notifications.qmltypesdeleted−149

This diff is too big to show here.

tests/mocks/Unity/Screens/plugin.h+1−1

This diff is too big to show here.

tests/mocks/Unity/Unity.qmltypesdeleted−469

This diff is too big to show here.

tests/mocks/Unity/fake_optionselectorfilter.cpp+5

This diff is too big to show here.

tests/mocks/Unity/fake_optionselectorfilter.h+2

This diff is too big to show here.

tests/mocks/Unity/fake_optionselectoroptions.cpp+13

This diff is too big to show here.

tests/mocks/Unity/fake_optionselectoroptions.h+2

This diff is too big to show here.

tests/mocks/Unity/fake_previewmodel.cpp+1−1

This diff is too big to show here.

tests/mocks/Unity/fake_scope.cpp+11−4

This diff is too big to show here.

tests/mocks/Unity/fake_scope.h+1−1

This diff is too big to show here.

tests/mocks/Unity/fake_scopes.cpp+12

This diff is too big to show here.

tests/mocks/Unity/fake_scopesoverview.cpp+1−1

This diff is too big to show here.

tests/mocks/Utils/Utils.qmltypesdeleted−178

This diff is too big to show here.

tests/mocks/Utils/plugin.h+1−1

This diff is too big to show here.

tests/mocks/Utils/windowstatestorage.h+14−3

This diff is too big to show here.

tests/mocks/Wizard/Wizard.qmltypesdeleted−37

This diff is too big to show here.

tests/mocks/libusermetrics/UserMetrics.cpp+1−1

This diff is too big to show here.

tests/plugins/CMakeLists.txt+2−1

This diff is too big to show here.

tests/plugins/Cursor/CMakeLists.txtnew file+8

This diff is too big to show here.

tests/plugins/Cursor/TextEntry.qmlnew file+34

This diff is too big to show here.

tests/plugins/Cursor/tst_Cursor.qmlnew file+144

This diff is too big to show here.

tests/plugins/Dash/cardcreator/1.res+17−46

This diff is too big to show here.

tests/plugins/Dash/cardcreator/1.res.cardcreator+13−43

This diff is too big to show here.

tests/plugins/Dash/cardcreator/1.tst+1

This diff is too big to show here.

tests/plugins/Dash/cardcreator/10.res+4−13

This diff is too big to show here.

tests/plugins/Dash/cardcreator/10.res.cardcreator−10

This diff is too big to show here.

tests/plugins/Dash/cardcreator/10.tst+1

This diff is too big to show here.

tests/plugins/Dash/cardcreator/11.res+20−49

This diff is too big to show here.

tests/plugins/Dash/cardcreator/11.res.cardcreator+15−45

This diff is too big to show here.

tests/plugins/Dash/cardcreator/11.tst+1

This diff is too big to show here.

tests/plugins/Dash/cardcreator/12.res+17−46

This diff is too big to show here.

tests/plugins/Dash/cardcreator/12.res.cardcreator+15−45

This diff is too big to show here.

tests/plugins/Dash/cardcreator/12.tst+1

This diff is too big to show here.

tests/plugins/Dash/cardcreator/2.res+4−13

This diff is too big to show here.

tests/plugins/Dash/cardcreator/2.res.cardcreator−10

This diff is too big to show here.

tests/plugins/Dash/cardcreator/2.tst+1

This diff is too big to show here.

tests/plugins/Dash/cardcreator/3.res+16−54

This diff is too big to show here.

tests/plugins/Dash/cardcreator/3.res.cardcreator+12−51

This diff is too big to show here.

tests/plugins/Dash/cardcreator/3.tst+1

This diff is too big to show here.

tests/plugins/Dash/cardcreator/4.res+5−6

This diff is too big to show here.

tests/plugins/Dash/cardcreator/4.res.cardcreator+1−3

This diff is too big to show here.

tests/plugins/Dash/cardcreator/4.tst+1

This diff is too big to show here.

tests/plugins/Dash/cardcreator/5.res+11−55

This diff is too big to show here.

tests/plugins/Dash/cardcreator/5.res.cardcreator+7−52

This diff is too big to show here.

tests/plugins/Dash/cardcreator/5.tst+1

This diff is too big to show here.

tests/plugins/Dash/cardcreator/6.res+3−4

This diff is too big to show here.

tests/plugins/Dash/cardcreator/6.res.cardcreator+1−3

This diff is too big to show here.

tests/plugins/Dash/cardcreator/6.tst+1

This diff is too big to show here.

tests/plugins/Dash/cardcreator/7.res+4−13

This diff is too big to show here.

tests/plugins/Dash/cardcreator/7.res.cardcreator−10

This diff is too big to show here.

tests/plugins/Dash/cardcreator/7.tst+1

This diff is too big to show here.

tests/plugins/Dash/cardcreator/8.res+5−6

This diff is too big to show here.

tests/plugins/Dash/cardcreator/8.res.cardcreator+1−3

This diff is too big to show here.

tests/plugins/Dash/cardcreator/8.tst+1

This diff is too big to show here.

tests/plugins/Dash/cardcreator/9.res+5−6

This diff is too big to show here.

tests/plugins/Dash/cardcreator/9.res.cardcreator+1−3

This diff is too big to show here.

tests/plugins/Dash/cardcreator/9.tst+1

This diff is too big to show here.

tests/plugins/Dash/cardcreatortest.cpp+9−6

This diff is too big to show here.

tests/plugins/Dash/cardcreatortest.qml+4−4

This diff is too big to show here.

tests/plugins/Dash/horizontaljournaltest.cpp+1−1

This diff is too big to show here.

tests/plugins/Dash/listviewwithpageheadersectionexternalmodeltest.cpp+3−3

This diff is too big to show here.

tests/plugins/Dash/listviewwithpageheadersectiontest.cpp+9−3

This diff is too big to show here.

tests/plugins/Dash/listviewwithpageheadertest.cpp+6−1

This diff is too big to show here.

tests/plugins/Dash/listviewwithpageheadertestsection.qml+15−3

This diff is too big to show here.

tests/plugins/Dash/listviewwithpageheadertestsectionexternalmodel.qml+2−1

This diff is too big to show here.

tests/plugins/Dash/organicgridtest.cpp+1−1

This diff is too big to show here.

tests/plugins/Dash/tst_ListViewWithPageHeaderQML.qml+4−2

This diff is too big to show here.

tests/plugins/Dash/tst_ScopeStyle.qml+1−1

This diff is too big to show here.

tests/plugins/Dash/verticaljournaltest.cpp+1−1

This diff is too big to show here.

tests/plugins/Ubuntu/Gestures/CMakeLists.txt+4−4

This diff is too big to show here.

tests/plugins/Ubuntu/Gestures/DownwardsLauncher.qmldeleted−72

This diff is too big to show here.

tests/plugins/Ubuntu/Gestures/GestureTest.cpp+2−2

This diff is too big to show here.

tests/plugins/Ubuntu/Gestures/LeftwardsLauncher.qmldeleted−76

This diff is too big to show here.

tests/plugins/Ubuntu/Gestures/RightwardsLauncher.qmldeleted−76

This diff is too big to show here.

tests/plugins/Ubuntu/Gestures/UpwardsLauncher.qmldeleted−76

This diff is too big to show here.

tests/plugins/Ubuntu/Gestures/tst_Damper.cppdeleted−40

This diff is too big to show here.

tests/plugins/Ubuntu/Gestures/tst_DirectionalDragArea.cppdeleted−1250

This diff is too big to show here.

tests/plugins/Ubuntu/Gestures/tst_DirectionalDragArea.qmldeleted−76

This diff is too big to show here.

tests/plugins/Ubuntu/Gestures/tst_FloatingFlickable.cpp+25−18

This diff is too big to show here.

tests/plugins/Ubuntu/Gestures/tst_FloatingFlickable.qml+1

This diff is too big to show here.

tests/plugins/Ubuntu/Gestures/tst_TouchGate.cpp+1−1

This diff is too big to show here.

tests/plugins/Unity/Indicators/MenuContentActivatorTest.cpp+1

This diff is too big to show here.

tests/plugins/Unity/Launcher/CMakeLists.txt+1−1

This diff is too big to show here.

tests/plugins/Unity/Launcher/launchermodeltest.cpp+22−2

This diff is too big to show here.

tests/plugins/Unity/Session/sessionbackendtest.cpp−15

This diff is too big to show here.

tests/plugins/Utils/WindowInputMonitorTest.cpp+52−11

This diff is too big to show here.

tests/qmltests/Components/CMakeLists.txt+6−3

This diff is too big to show here.

tests/qmltests/Components/tst_DragHandle.cpp+28−24

This diff is too big to show here.

tests/qmltests/Components/tst_DragHandle.qml+22−4

This diff is too big to show here.

tests/qmltests/Components/tst_DragHandle/BottomEdgeShowable.qmlnew file+108

This diff is too big to show here.

tests/qmltests/Components/tst_DragHandle/HorizontalShowable.qml → tests/qmltests/Components/tst_DragHandle/LeftEdgeShowable.qmlrenamed

The content is the same.

tests/qmltests/Components/tst_DragHandle/RightEdgeShowable.qmlnew file+108

This diff is too big to show here.

tests/qmltests/Components/tst_DragHandle/VerticalShowable.qml → tests/qmltests/Components/tst_DragHandle/TopEdgeShowable.qmlrenamed+7−7

This diff is too big to show here.

tests/qmltests/Components/tst_EdgeDragEvaluator.cpp+1−1

This diff is too big to show here.

tests/qmltests/Components/tst_PhysicalKeysMapper.qml+12−21

This diff is too big to show here.

tests/qmltests/Dash/Previews/tst_Preview.qml−1

This diff is too big to show here.

tests/qmltests/Dash/Previews/tst_PreviewExpandable.qml+23−4

This diff is too big to show here.

tests/qmltests/Dash/Previews/tst_PreviewRatingEdit.qml+5−1

This diff is too big to show here.

tests/qmltests/Dash/Previews/tst_PreviewRatingInput.qml+18−6

This diff is too big to show here.

tests/qmltests/Dash/Previews/tst_PreviewWidgetFactory.qml+1−1

This diff is too big to show here.

tests/qmltests/Dash/tst_Card.qml+23−11

This diff is too big to show here.

tests/qmltests/Dash/tst_CardTool.qml+1−1

This diff is too big to show here.

tests/qmltests/Dash/tst_Dash.qml+103−63

This diff is too big to show here.

tests/qmltests/Dash/tst_DashContent.qml+63−4

This diff is too big to show here.

tests/qmltests/Dash/tst_DashPageHeader.qml−24

This diff is too big to show here.

tests/qmltests/Dash/tst_DashShell.qml+1−1

This diff is too big to show here.

tests/qmltests/Dash/tst_GenericScopeView.qml+30−2

This diff is too big to show here.

tests/qmltests/Dash/tst_PreviewView.qml+3−3

This diff is too big to show here.

tests/qmltests/Greeter/tst_Greeter.qml+1−1

This diff is too big to show here.

tests/qmltests/Greeter/tst_NarrowView.qml+1−1

This diff is too big to show here.

tests/qmltests/Greeter/tst_WideView.qml+22−29

This diff is too big to show here.

tests/qmltests/Launcher/tst_Launcher.qml+38−10

This diff is too big to show here.

tests/qmltests/Notifications/tst_Notifications.qml+89

This diff is too big to show here.

tests/qmltests/Panel/Indicators/tst_MessageMenuItemFactory.qml+1

This diff is too big to show here.

tests/qmltests/Stages/ApplicationCheckBox.qml+1−1

This diff is too big to show here.

tests/qmltests/Stages/SurfaceManagerControls.qml+1−1

This diff is too big to show here.

tests/qmltests/Stages/tst_ApplicationWindow.qml+39−11

This diff is too big to show here.

tests/qmltests/Stages/tst_DesktopStage.qml+54−1

This diff is too big to show here.

tests/qmltests/Stages/tst_PhoneStage.qml+1−1

This diff is too big to show here.

tests/qmltests/Stages/tst_WindowResizeArea.qml+16−5

This diff is too big to show here.

tests/qmltests/Tutorial/tst_Tutorial.qml+175−209

This diff is too big to show here.

tests/qmltests/Wizard/tst_Wizard.qml+4−3

This diff is too big to show here.

tests/qmltests/tst_OrientedShell.qml+15−2

This diff is too big to show here.

tests/qmltests/tst_Shell.qml+69−20

This diff is too big to show here.

tests/qmltests/tst_ShellWithPin.qml+1−1

This diff is too big to show here.

tests/qmltests/utils/Unity/Test/tst_UnityTest.qml+31

This diff is too big to show here.

tests/uqmlscene/main.cpp−1

This diff is too big to show here.

tests/utils/modules/Unity/Test/CMakeLists.txt+4−2

This diff is too big to show here.

tests/utils/modules/Unity/Test/Test.qmltypesdeleted−60

This diff is too big to show here.

tests/utils/modules/Unity/Test/UnityTestCase.qml+31−12

This diff is too big to show here.

tests/utils/modules/Unity/Test/testutil.cpp+19−2

This diff is too big to show here.

tests/utils/modules/Unity/Test/testutil.h+1

This diff is too big to show here.

tools/CMakeLists.txt+1−1

This diff is too big to show here.

tools/scopetool.cpp+1−1

This diff is too big to show here.