on xenial help sign in
merge prereq also adding support for in desktop file translations
a9a780aMichael Zanetti
data/CMakeLists.txt+3
@@ -8,3 +8,6 @@ install(FILES
8 ${CMAKE_CURRENT_BINARY_DIR}/${DASH_APP}.desktop
8 ${CMAKE_CURRENT_BINARY_DIR}/${DASH_APP}.desktop
9 DESTINATION ${CMAKE_INSTALL_DATADIR}/applications
9 DESTINATION ${CMAKE_INSTALL_DATADIR}/applications
10 )
10 )
11+
12+# install url dispatcher files
13+install(FILES unity8-dash.url-dispatcher DESTINATION ${CMAKE_INSTALL_DATADIR}/url-dispatcher/urls)
data/unity8-dash.conf+2
@@ -10,6 +10,8 @@ kill timeout 120
10
10
11respawn
11respawn
12
12
13+env APP_ID=unity8-dash
14+
13pre-start script
15pre-start script
14 if [ -z "$UNITY_SCOPES_LIST" ]; then
16 if [ -z "$UNITY_SCOPES_LIST" ]; then
15 # FIXME: remove once we have this in dconf
17 # FIXME: remove once we have this in dconf
data/unity8-dash.url-dispatchernew file+6
@@ -0,0 +1,6 @@
1+[
2+ {
3+ "protocol": "scope"
4+ }
5+]
6+
debian/changelog+58
@@ -1,3 +1,61 @@
1+unity8 (8.00+14.10.20140828.1-0ubuntu1) utopic; urgency=low
2+
3+ [ Michael Terry ]
4+ * Reverse default for the user option "allow launcher/panel in greeter
5+ when locked." And allow that property to be controlled by an
6+ AccountsService property. (LP: #1358340) (LP: #1358340)
7+ * With recent password support, we want to be able to unlock the
8+ device even with a password set. And we need to be able to do this
9+ once the new adbd lands. So I've added a DBus command to hide the
10+ greeter. This should be secure because all apps are constrained and
11+ if you're on the local session bus unconstrained, you already have
12+ access to anything you want.
13+
14+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Thu, 28 Aug 2014 20:06:41 +0000
15+
16+unity8 (8.00+14.10.20140827.2-0ubuntu1) utopic; urgency=low
17+
18+ [ Michał Sawicz ]
19+ * Implement scope header customization options
20+ * Don't ignore empty attributes in CardAttributes.qml and improve its
21+ encapsulation (LP: #1355901)
22+ * Add support for preview button color customization. Deprecate
23+ support for action icons.
24+ * Add table preview widget
25+ * Make "See Less" get stuck at the bottom of the view
26+ * Support alternative navigation in the dash.
27+ * Add scope settings UI
28+ * Add scope favoriting support
29+ * Passcode, not PIN (LP: #1361114)
30+
31+ [ Jussi Pakkanen ]
32+ * Use nullptr instead of NULL.
33+
34+ [ Albert Astals ]
35+ * Add table preview widget
36+ * Make "See Less" get stuck at the bottom of the view
37+ * Support alternative navigation in the dash.
38+ * Make the PageHeaderLabelTest pass under valgrind
39+
40+ [ Benjamin Zeller ]
41+ * Add support for scope:// url in the dash (LP: #1361349)
42+
43+ [ Marcus Tomlinson ]
44+ * Handle the openScope signal in "tempScopeItem" (ScopesOverview.qml)
45+ as is done with "scopeItem" (Dash.qml) (LP: #1356410)
46+
47+ [ Daniel d'Andrada ]
48+ * Make "See Less" get stuck at the bottom of the view
49+
50+ [ Andrea Cimitan ]
51+ * Fix right padding on overlay card
52+ * Add scope settings UI
53+
54+ [ Michael Zanetti ]
55+ * use a smaller asset for the app's dropshadow (LP: #1359157)
56+
57+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Wed, 27 Aug 2014 15:37:05 +0000
58+
1unity8 (8.00+14.10.20140825.3-0ubuntu1) utopic; urgency=low
59unity8 (8.00+14.10.20140825.3-0ubuntu1) utopic; urgency=low
2
60
3 [ Daniel d'Andrada ]
61 [ Daniel d'Andrada ]
debian/control+1−1
@@ -168,7 +168,7 @@ Package: unity8-private
168Architecture: any
168Architecture: any
169Multi-Arch: same
169Multi-Arch: same
170Pre-Depends: ${misc:Pre-Depends},
170Pre-Depends: ${misc:Pre-Depends},
171−Depends: accountsservice-ubuntu-schemas,
171+Depends: accountsservice-ubuntu-schemas (>= 0.0.3),
172 gsettings-ubuntu-schemas (>= 0.0.2+14.10.20140815),
172 gsettings-ubuntu-schemas (>= 0.0.2+14.10.20140815),
173 libhardware2,
173 libhardware2,
174 libunity-core-6.0-9,
174 libunity-core-6.0-9,
debian/unity8.install+1
@@ -11,3 +11,4 @@ usr/share/unity8/Launcher
11usr/share/unity8/Panel
11usr/share/unity8/Panel
12usr/share/unity8/Shell.qml
12usr/share/unity8/Shell.qml
13usr/share/unity8/Stages
13usr/share/unity8/Stages
14+usr/share/url-dispatcher/urls/unity8-dash.url-dispatcher
include/paths.h.in+1−1
@@ -91,7 +91,7 @@ inline QString mockPluginsDir() {
91inline QStringList shellDataDirs() {
91inline QStringList shellDataDirs() {
92 QStringList dirs = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation);
92 QStringList dirs = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation);
93 if (!isRunningInstalled()) {
93 if (!isRunningInstalled()) {
94− if (getenv("UNITY_TEST_ENV")==NULL) {
94+ if (getenv("UNITY_TEST_ENV")==nullptr) {
95 dirs.prepend("@CMAKE_BINARY_DIR@/share");
95 dirs.prepend("@CMAKE_BINARY_DIR@/share");
96 }
96 }
97 }
97 }
plugins/AccountsService/AccountsService.cpp+38
@@ -26,6 +26,8 @@ AccountsService::AccountsService(QObject* parent)
26 m_service(new AccountsServiceDBusAdaptor(this)),
26 m_service(new AccountsServiceDBusAdaptor(this)),
27 m_user(qgetenv("USER")),
27 m_user(qgetenv("USER")),
28 m_demoEdges(false),
28 m_demoEdges(false),
29+ m_enableLauncherWhileLocked(false),
30+ m_enableIndicatorsWhileLocked(false),
29 m_statsWelcomeScreen(false),
31 m_statsWelcomeScreen(false),
30 m_passwordDisplayHint(Keyboard),
32 m_passwordDisplayHint(Keyboard),
31 m_failedLogins(0)
33 m_failedLogins(0)
@@ -47,6 +49,8 @@ void AccountsService::setUser(const QString &user)
47 Q_EMIT userChanged();
49 Q_EMIT userChanged();
48
50
49 updateDemoEdges();
51 updateDemoEdges();
52+ updateEnableLauncherWhileLocked();
53+ updateEnableIndicatorsWhileLocked();
50 updateBackgroundFile();
54 updateBackgroundFile();
51 updateStatsWelcomeScreen();
55 updateStatsWelcomeScreen();
52 updatePasswordDisplayHint();
56 updatePasswordDisplayHint();
@@ -64,6 +68,16 @@ void AccountsService::setDemoEdges(bool demoEdges)
64 m_service->setUserProperty(m_user, "com.canonical.unity.AccountsService", "demo-edges", demoEdges);
68 m_service->setUserProperty(m_user, "com.canonical.unity.AccountsService", "demo-edges", demoEdges);
65}
69}
66
70
71+bool AccountsService::enableLauncherWhileLocked() const
72+{
73+ return m_enableLauncherWhileLocked;
74+}
75+
76+bool AccountsService::enableIndicatorsWhileLocked() const
77+{
78+ return m_enableIndicatorsWhileLocked;
79+}
80+
67QString AccountsService::backgroundFile() const
81QString AccountsService::backgroundFile() const
68{
82{
69 return m_backgroundFile;
83 return m_backgroundFile;
@@ -88,6 +102,24 @@ void AccountsService::updateDemoEdges()
88 }
102 }
89}
103}
90
104
105+void AccountsService::updateEnableLauncherWhileLocked()
106+{
107+ auto enableLauncherWhileLocked = m_service->getUserProperty(m_user, "com.ubuntu.AccountsService.SecurityPrivacy", "EnableLauncherWhileLocked").toBool();
108+ if (m_enableLauncherWhileLocked != enableLauncherWhileLocked) {
109+ m_enableLauncherWhileLocked = enableLauncherWhileLocked;
110+ Q_EMIT enableLauncherWhileLockedChanged();
111+ }
112+}
113+
114+void AccountsService::updateEnableIndicatorsWhileLocked()
115+{
116+ auto enableIndicatorsWhileLocked = m_service->getUserProperty(m_user, "com.ubuntu.AccountsService.SecurityPrivacy", "EnableIndicatorsWhileLocked").toBool();
117+ if (m_enableIndicatorsWhileLocked != enableIndicatorsWhileLocked) {
118+ m_enableIndicatorsWhileLocked = enableIndicatorsWhileLocked;
119+ Q_EMIT enableIndicatorsWhileLockedChanged();
120+ }
121+}
122+
91void AccountsService::updateBackgroundFile()
123void AccountsService::updateBackgroundFile()
92{
124{
93 auto backgroundFile = m_service->getUserProperty(m_user, "org.freedesktop.Accounts.User", "BackgroundFile").toString();
125 auto backgroundFile = m_service->getUserProperty(m_user, "org.freedesktop.Accounts.User", "BackgroundFile").toString();
@@ -157,6 +189,12 @@ void AccountsService::propertiesChanged(const QString &user, const QString &inte
157 if (changed.contains("PasswordDisplayHint")) {
189 if (changed.contains("PasswordDisplayHint")) {
158 updatePasswordDisplayHint();
190 updatePasswordDisplayHint();
159 }
191 }
192+ if (changed.contains("EnableLauncherWhileLocked")) {
193+ updateEnableLauncherWhileLocked();
194+ }
195+ if (changed.contains("EnableIndicatorsWhileLocked")) {
196+ updateEnableIndicatorsWhileLocked();
197+ }
160 }
198 }
161}
199}
162
200
plugins/AccountsService/AccountsService.h+14
@@ -36,6 +36,12 @@ class AccountsService: public QObject
36 READ demoEdges
36 READ demoEdges
37 WRITE setDemoEdges
37 WRITE setDemoEdges
38 NOTIFY demoEdgesChanged)
38 NOTIFY demoEdgesChanged)
39+ Q_PROPERTY (bool enableLauncherWhileLocked
40+ READ enableLauncherWhileLocked
41+ NOTIFY enableLauncherWhileLockedChanged)
42+ Q_PROPERTY (bool enableIndicatorsWhileLocked
43+ READ enableIndicatorsWhileLocked
44+ NOTIFY enableIndicatorsWhileLockedChanged)
39 Q_PROPERTY (QString backgroundFile
45 Q_PROPERTY (QString backgroundFile
40 READ backgroundFile
46 READ backgroundFile
41 NOTIFY backgroundFileChanged)
47 NOTIFY backgroundFileChanged)
@@ -62,6 +68,8 @@ public:
62 void setUser(const QString &user);
68 void setUser(const QString &user);
63 bool demoEdges() const;
69 bool demoEdges() const;
64 void setDemoEdges(bool demoEdges);
70 void setDemoEdges(bool demoEdges);
71+ bool enableLauncherWhileLocked() const;
72+ bool enableIndicatorsWhileLocked() const;
65 QString backgroundFile() const;
73 QString backgroundFile() const;
66 bool statsWelcomeScreen() const;
74 bool statsWelcomeScreen() const;
67 PasswordDisplayHint passwordDisplayHint() const;
75 PasswordDisplayHint passwordDisplayHint() const;
@@ -71,6 +79,8 @@ public:
71Q_SIGNALS:
79Q_SIGNALS:
72 void userChanged();
80 void userChanged();
73 void demoEdgesChanged();
81 void demoEdgesChanged();
82+ void enableLauncherWhileLockedChanged();
83+ void enableIndicatorsWhileLockedChanged();
74 void backgroundFileChanged();
84 void backgroundFileChanged();
75 void statsWelcomeScreenChanged();
85 void statsWelcomeScreenChanged();
76 void passwordDisplayHintChanged();
86 void passwordDisplayHintChanged();
@@ -82,6 +92,8 @@ private Q_SLOTS:
82
92
83private:
93private:
84 void updateDemoEdges();
94 void updateDemoEdges();
95+ void updateEnableLauncherWhileLocked();
96+ void updateEnableIndicatorsWhileLocked();
85 void updateBackgroundFile();
97 void updateBackgroundFile();
86 void updateStatsWelcomeScreen();
98 void updateStatsWelcomeScreen();
87 void updatePasswordDisplayHint();
99 void updatePasswordDisplayHint();
@@ -90,6 +102,8 @@ private:
90 AccountsServiceDBusAdaptor *m_service;
102 AccountsServiceDBusAdaptor *m_service;
91 QString m_user;
103 QString m_user;
92 bool m_demoEdges;
104 bool m_demoEdges;
105+ bool m_enableLauncherWhileLocked;
106+ bool m_enableIndicatorsWhileLocked;
93 QString m_backgroundFile;
107 QString m_backgroundFile;
94 bool m_statsWelcomeScreen;
108 bool m_statsWelcomeScreen;
95 PasswordDisplayHint m_passwordDisplayHint;
109 PasswordDisplayHint m_passwordDisplayHint;
plugins/AccountsService/AccountsServiceDBusAdaptor.cpp+1−1
@@ -24,7 +24,7 @@
24
24
25AccountsServiceDBusAdaptor::AccountsServiceDBusAdaptor(QObject* parent)
25AccountsServiceDBusAdaptor::AccountsServiceDBusAdaptor(QObject* parent)
26 : QObject(parent),
26 : QObject(parent),
27− m_accountsManager(NULL),
27+ m_accountsManager(nullptr),
28 m_users()
28 m_users()
29{
29{
30 QDBusConnection connection = QDBusConnection::SM_BUSNAME();
30 QDBusConnection connection = QDBusConnection::SM_BUSNAME();
plugins/Dash/CardAttributes.qml+7−3
@@ -26,8 +26,10 @@ GridLayout {
26 right: parent.right;
26 right: parent.right;
27 }
27 }
28 columns: 2 + repeater.count % 2
28 columns: 2 + repeater.count % 2
29+ rowSpacing: units.gu(.5)
29 property alias model: repeater.model
30 property alias model: repeater.model
30− property var color
31+ property color color: Theme.palette.normal.baseText
32+ property real fontScale: 1.0
31
33
32 Repeater {
34 Repeater {
33 id: repeater
35 id: repeater
@@ -42,17 +44,19 @@ GridLayout {
42 Layout.columnSpan: index == repeater.count - 1 && grid.columns == 3 && column == 1 ? 2 : 1
44 Layout.columnSpan: index == repeater.count - 1 && grid.columns == 3 && column == 1 ? 2 : 1
43 Layout.maximumWidth: Math.max(icon.width, label.x + label.implicitWidth)
45 Layout.maximumWidth: Math.max(icon.width, label.x + label.implicitWidth)
44 Layout.fillWidth: true
46 Layout.fillWidth: true
47+ height: units.gu(2)
45 StatusIcon {
48 StatusIcon {
46 id: icon
49 id: icon
47 height: units.gu(2)
50 height: units.gu(2)
48 sets: ["actions", "status", "apps"]
51 sets: ["actions", "status", "apps"]
49− source: "icon" in modelData ? modelData["icon"] : ""
52+ source: "icon" in modelData && modelData["icon"] || ""
53+ color: grid.color
50 }
54 }
51 Label {
55 Label {
52 id: label
56 id: label
53 width: parent.width - x
57 width: parent.width - x
54 anchors.verticalCenter: parent.verticalCenter
58 anchors.verticalCenter: parent.verticalCenter
55− text: "value" in modelData ? modelData["value"] : "";
59+ text: "value" in modelData && modelData["value"] || "";
56 elide: Text.ElideRight
60 elide: Text.ElideRight
57 maximumLineCount: 1
61 maximumLineCount: 1
58 font.weight: "style" in modelData && modelData["style"] == "highlighted" ? Font.DemiBold : Font.Light
62 font.weight: "style" in modelData && modelData["style"] == "highlighted" ? Font.DemiBold : Font.Light
plugins/Dash/CardCreator.js+9−5
@@ -29,7 +29,7 @@ var kBackgroundLoaderCode = 'Loader {\n\
29 gradientColor: getColor(1) || color; \n\
29 gradientColor: getColor(1) || color; \n\
30 anchors.fill: parent; \n\
30 anchors.fill: parent; \n\
31 image: backgroundImage.source ? backgroundImage : null; \n\
31 image: backgroundImage.source ? backgroundImage : null; \n\
32− property real luminance: 0.2126 * color.r + 0.7152 * color.g + 0.0722 * color.b; \n\
32+ property real luminance: Style.luminance(color); \n\
33 property Image backgroundImage: Image { \n\
33 property Image backgroundImage: Image { \n\
34 objectName: "backgroundImage"; \n\
34 objectName: "backgroundImage"; \n\
35 source: { \n\
35 source: { \n\
@@ -108,7 +108,7 @@ var kOverlayLoaderCode = 'Loader { \n\
108 sourceComponent: ShaderEffect { \n\
108 sourceComponent: ShaderEffect { \n\
109 id: overlay; \n\
109 id: overlay; \n\
110 height: (fixedHeaderHeight > 0 ? fixedHeaderHeight : headerHeight) + units.gu(2); \n\
110 height: (fixedHeaderHeight > 0 ? fixedHeaderHeight : headerHeight) + units.gu(2); \n\
111− property real luminance: 0.2126 * overlayColor.r + 0.7152 * overlayColor.g + 0.0722 * overlayColor.b; \n\
111+ property real luminance: Style.luminance(overlayColor); \n\
112 property color overlayColor: cardData && cardData["overlayColor"] || "#99000000"; \n\
112 property color overlayColor: cardData && cardData["overlayColor"] || "#99000000"; \n\
113 property var source: ShaderEffectSource { \n\
113 property var source: ShaderEffectSource { \n\
114 id: shaderSource; \n\
114 id: shaderSource; \n\
@@ -274,6 +274,7 @@ var kAttributesRowCode = 'CardAttributes { \n\
274 objectName: "attributesRow"; \n\
274 objectName: "attributesRow"; \n\
275 anchors { %1 } \n\
275 anchors { %1 } \n\
276 color: %2; \n\
276 color: %2; \n\
277+ fontScale: root.fontScale; \n\
277 model: cardData && cardData["attributes"]; \n\
278 model: cardData && cardData["attributes"]; \n\
278 }\n';
279 }\n';
279
280
@@ -439,14 +440,14 @@ function cardString(template, components) {
439 mascotCode = kMascotImageCode.arg(mascotAnchors).arg(mascotImageVisible);
440 mascotCode = kMascotImageCode.arg(mascotAnchors).arg(mascotImageVisible);
440 }
441 }
441
442
442− var summaryColorWithBackground = 'backgroundLoader.active && backgroundLoader.item && backgroundLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : Theme.palette.normal.baseText)';
443+ var summaryColorWithBackground = 'backgroundLoader.active && backgroundLoader.item && root.scopeStyle ? root.scopeStyle.getTextColor(backgroundLoader.item.luminance) : (backgroundLoader.item.luminance > 0.7 ? Theme.palette.normal.baseText : "white")';
443
444
444 var hasTitleContainer = hasTitle && (hasEmblem || (hasMascot && (hasSubtitle || hasAttributes)));
445 var hasTitleContainer = hasTitle && (hasEmblem || (hasMascot && (hasSubtitle || hasAttributes)));
445 var titleSubtitleCode = '';
446 var titleSubtitleCode = '';
446 if (hasTitle) {
447 if (hasTitle) {
447 var titleColor;
448 var titleColor;
448 if (headerAsOverlay) {
449 if (headerAsOverlay) {
449− titleColor = 'overlayLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : Theme.palette.normal.baseText)';
450+ titleColor = 'root.scopeStyle ? root.scopeStyle.getTextColor(overlayLoader.item.luminance) : (overlayLoader.item.luminance > 0.7 ? Theme.palette.normal.baseText : "white")';
450 } else if (hasSummary) {
451 } else if (hasSummary) {
451 titleColor = 'summary.color';
452 titleColor = 'summary.color';
452 } else if (hasBackground) {
453 } else if (hasBackground) {
@@ -466,6 +467,8 @@ function cardString(template, components) {
466 if (!touchdownOnArtShape) {
467 if (!touchdownOnArtShape) {
467 extraRightAnchor = 'rightMargin: units.gu(1); \n';
468 extraRightAnchor = 'rightMargin: units.gu(1); \n';
468 extraLeftAnchor = 'leftMargin: units.gu(1); \n';
469 extraLeftAnchor = 'leftMargin: units.gu(1); \n';
470+ } else if (headerAsOverlay && !hasEmblem) {
471+ extraRightAnchor = 'rightMargin: units.gu(1); \n';
469 }
472 }
470
473
471 if (hasMascot) {
474 if (hasMascot) {
@@ -652,7 +655,8 @@ function cardString(template, components) {
652function createCardComponent(parent, template, components) {
655function createCardComponent(parent, template, components) {
653 var imports = 'import QtQuick 2.2; \n\
656 var imports = 'import QtQuick 2.2; \n\
654 import Ubuntu.Components 1.1; \n\
657 import Ubuntu.Components 1.1; \n\
655− import Dash 0.1;\n';
658+ import Dash 0.1;\n\
659+ import Utils 0.1;\n';
656 var card = cardString(template, components);
660 var card = cardString(template, components);
657 var code = imports + 'Component {\n' + card + '}\n';
661 var code = imports + 'Component {\n' + card + '}\n';
658
662
plugins/Dash/ScopeStyle.qml+38−40
@@ -15,6 +15,8 @@
15 */
15 */
16
16
17import QtQuick 2.2
17import QtQuick 2.2
18+import Utils 0.1
19+import Ubuntu.Components 1.1
18
20
19/*! \brief Helper for processing scope customization options.
21/*! \brief Helper for processing scope customization options.
20
22
@@ -27,69 +29,65 @@ QtObject {
27 /// Style object passed from the scope
29 /// Style object passed from the scope
28 property var style: Object()
30 property var style: Object()
29
31
30− /*! \brief Calculate luminance of the passed color
31−
32− \note If not fully opaque, luminance is dependant on blending.
33− */
34− function luminance(color) {
35− return 0.2126 * color.r + 0.7152 * color.g + 0.0722 * color.b;
36− }
37−
38 /// Color used for text and symbolic icons
32 /// Color used for text and symbolic icons
39 readonly property color foreground: "foreground-color" in style ? style["foreground-color"] : d.defaultDark
33 readonly property color foreground: "foreground-color" in style ? style["foreground-color"] : d.defaultDark
40
34
41 /// Luminance of the foreground color
35 /// Luminance of the foreground color
42− readonly property real foregroundLuminance: foreground ? luminance(foreground) : d.defaultForegroundLuminance
36+ readonly property real foregroundLuminance: foreground ? Style.luminance(foreground) : Style.luminance(d.defaultDark)
43
37
44 /// Color used for the overall background
38 /// Color used for the overall background
45− readonly property color background: "background-color" in style ? style["background-color"] : "transparent"
39+ readonly property color background: "background-color" in style ? style["background-color"] : "#00f5f5f5"
46−
47− /// Luminance of the foreground color
48− readonly property real backgroundLuminance: background ? luminance(background) : d.defaultBackgroundLuminance
49−
50− /*! \brief Luminance threshold for switching between fore and background color
51−
52− \note If background colour is not fully opaque, the defaultLightLuminance it's taken into account instead of it.
53− */
54− readonly property real threshold: background.a !== 1.0 ? (foregroundLuminance + d.defaultLightLuminance) / 2
55− : (foregroundLuminance + backgroundLuminance) / 2
56−
57− /*! \brief The lighter of foreground and background colors
58−
59− \note If background color is not fully opaque, it's not taken into account
60− and defaults to the theme-provided light color.
61− */
62− readonly property color light: {
63− if (background.a !== 1.0) return foregroundLuminance > d.defaultLightLuminance ? foreground : d.defaultLight;
64− return foregroundLuminance > backgroundLuminance ? foreground : background;
65− }
66
40
67− /*! \brief The darker of foreground and background colors
41+ /// Luminance of the background color
42+ readonly property real backgroundLuminance: background ? Style.luminance(background) : Style.luminance(d.defaultLight)
68
43
44+ /*! \brief Get the most contrasting available color based on luminance
45+ *
69− \note If background color is not fully opaque, it's not taken into account
46+ * If background color is transparent, theme provided colors are taken into account
70− and defaults to the theme-provided dark color.
71 */
47 */
72− readonly property color dark: {
48+ function getTextColor(luminance) {
73− if (background.a !== 1.0) return foregroundLuminance < d.defaultDarkLuminance ? foreground : d.defaultDark;
49+ if (Math.abs(foregroundLuminance - luminance) >
74− return foregroundLuminance < backgroundLuminance ? foreground : background;
50+ Math.abs(d.opaqueBackgroundLuminance - luminance)) {
51+ return foreground;
52+ } else {
53+ return d.opaqueBackground;
54+ }
75 }
55 }
76
56
77 /// Source of the logo image for the header
57 /// Source of the logo image for the header
78 readonly property url headerLogo: "logo" in d.headerStyle ? d.headerStyle["logo"] : ""
58 readonly property url headerLogo: "logo" in d.headerStyle ? d.headerStyle["logo"] : ""
79
59
80 /// Background style for the header
60 /// Background style for the header
81− readonly property url headerBackground: "background" in d.headerStyle ? d.headerStyle["background"] : ""
61+ readonly property url headerBackground: "background" in d.headerStyle ? d.headerStyle["background"] : "color:///#f5f5f5"
82
62
83 /// Foreground color for the header
63 /// Foreground color for the header
84 readonly property color headerForeground: "foreground-color" in d.headerStyle ? d.headerStyle["foreground-color"] : foreground
64 readonly property color headerForeground: "foreground-color" in d.headerStyle ? d.headerStyle["foreground-color"] : foreground
85
65
66+ /// Color of the header divider
67+ readonly property color headerDividerColor: "divider-color" in d.headerStyle ? d.headerStyle["divider-color"] : "#e0e0e0"
68+
69+ /// Background style for the navigation
70+ readonly property url navigationBackground: "navigation-background" in d.headerStyle ? d.headerStyle["navigation-background"] : "color:///#f5f5f5"
71+
72+ /// Color of the primary preview button
73+ readonly property color previewButtonColor: "preview-button-color" in style ? style["preview-button-color"] : Theme.palette.selected.foreground
74+
86 //! @cond
75 //! @cond
87 property var d: QtObject {
76 property var d: QtObject {
88 // FIXME: should be taken from the theme
77 // FIXME: should be taken from the theme
89 readonly property color defaultLight: "white"
78 readonly property color defaultLight: "white"
90− readonly property color defaultDark: Theme.palette.normal.baseText
79+ readonly property color defaultDark: UbuntuColors.darkGrey
91− readonly property real defaultLightLuminance: luminance(defaultLight)
80+ readonly property real defaultLightLuminance: Style.luminance(defaultLight)
92− readonly property real defaultDarkLuminance: luminance(defaultDark)
81+ readonly property real defaultDarkLuminance: Style.luminance(defaultDark)
82+
83+ readonly property color opaqueBackground: {
84+ background.a > 0 ?
85+ background :
86+ (Math.abs(foregroundLuminance - defaultLightLuminance) >
87+ Math.abs(foregroundLuminance - defaultDarkLuminance)) ?
88+ defaultLight : defaultDark
89+ }
90+ readonly property real opaqueBackgroundLuminance: Style.luminance(opaqueBackground)
93
91
94 readonly property var headerStyle: "page-header" in style ? style["page-header"] : { }
92 readonly property var headerStyle: "page-header" in style ? style["page-header"] : { }
95 }
93 }
plugins/HudClient/hudclient.cpp+12−12
@@ -82,7 +82,7 @@ HudClient::HudClient()
82 m_results = new DeeListModel();
82 m_results = new DeeListModel();
83 m_clientQuery = hud_client_query_new("");
83 m_clientQuery = hud_client_query_new("");
84 m_toolBarModel = new HudToolBarModel(m_clientQuery);
84 m_toolBarModel = new HudToolBarModel(m_clientQuery);
85− m_currentActionParam = NULL;
85+ m_currentActionParam = nullptr;
86 m_results->setModel(hud_client_query_get_results_model(m_clientQuery));
86 m_results->setModel(hud_client_query_get_results_model(m_clientQuery));
87
87
88 g_signal_connect(G_OBJECT(m_clientQuery), "voice-query-loading", G_CALLBACK(loadingCB), this);
88 g_signal_connect(G_OBJECT(m_clientQuery), "voice-query-loading", G_CALLBACK(loadingCB), this);
@@ -151,13 +151,13 @@ void HudClient::executeParametrizedAction(const QVariant &values)
151 updateParametrizedAction(values);
151 updateParametrizedAction(values);
152 hud_client_param_send_commit(m_currentActionParam);
152 hud_client_param_send_commit(m_currentActionParam);
153 g_object_unref(m_currentActionParam);
153 g_object_unref(m_currentActionParam);
154− m_currentActionParam = NULL;
154+ m_currentActionParam = nullptr;
155 Q_EMIT commandExecuted();
155 Q_EMIT commandExecuted();
156}
156}
157
157
158void HudClient::updateParametrizedAction(const QVariant &values)
158void HudClient::updateParametrizedAction(const QVariant &values)
159{
159{
160− if (m_currentActionParam != NULL) {
160+ if (m_currentActionParam != nullptr) {
161 const QVariantMap map = values.value<QVariantMap>();
161 const QVariantMap map = values.value<QVariantMap>();
162 GActionGroup *ag = hud_client_param_get_actions(m_currentActionParam);
162 GActionGroup *ag = hud_client_param_get_actions(m_currentActionParam);
163
163
@@ -179,10 +179,10 @@ void HudClient::updateParametrizedAction(const QVariant &values)
179
179
180void HudClient::cancelParametrizedAction()
180void HudClient::cancelParametrizedAction()
181{
181{
182− if (m_currentActionParam != NULL) {
182+ if (m_currentActionParam != nullptr) {
183 hud_client_param_send_cancel(m_currentActionParam);
183 hud_client_param_send_cancel(m_currentActionParam);
184 g_object_unref(m_currentActionParam);
184 g_object_unref(m_currentActionParam);
185− m_currentActionParam = NULL;
185+ m_currentActionParam = nullptr;
186 }
186 }
187}
187}
188
188
@@ -212,9 +212,9 @@ void HudClient::executeCommand(int index)
212 GVariant *is_parametrized = dee_model_get_value(model, iter, 7);
212 GVariant *is_parametrized = dee_model_get_value(model, iter, 7);
213 if (g_variant_get_boolean(is_parametrized)) {
213 if (g_variant_get_boolean(is_parametrized)) {
214 m_currentActionParam = hud_client_query_execute_param_command(m_clientQuery, command_key, /* timestamp */ 0);
214 m_currentActionParam = hud_client_query_execute_param_command(m_clientQuery, command_key, /* timestamp */ 0);
215− if (m_currentActionParam != NULL) {
215+ if (m_currentActionParam != nullptr) {
216 GMenuModel *menuModel = hud_client_param_get_model (m_currentActionParam);
216 GMenuModel *menuModel = hud_client_param_get_model (m_currentActionParam);
217− if (menuModel == NULL) {
217+ if (menuModel == nullptr) {
218 g_signal_connect(m_currentActionParam, HUD_CLIENT_PARAM_SIGNAL_MODEL_READY, G_CALLBACK(modelReadyCB), this);
218 g_signal_connect(m_currentActionParam, HUD_CLIENT_PARAM_SIGNAL_MODEL_READY, G_CALLBACK(modelReadyCB), this);
219 } else {
219 } else {
220 modelReady(false);
220 modelReady(false);
@@ -244,9 +244,9 @@ void HudClient::modelReady(bool needDisconnect)
244}
244}
245
245
246static void addAttribute(QVariantMap &properties, GMenuModel *menuModel, int item, const char *attribute) {
246static void addAttribute(QVariantMap &properties, GMenuModel *menuModel, int item, const char *attribute) {
247− GVariant *v = g_menu_model_get_item_attribute_value(menuModel, item, attribute, NULL);
247+ GVariant *v = g_menu_model_get_item_attribute_value(menuModel, item, attribute, nullptr);
248
248
249− if (v == NULL)
249+ if (v == nullptr)
250 return;
250 return;
251
251
252 properties.insert(attribute, DeeListModel::VariantForData(v));
252 properties.insert(attribute, DeeListModel::VariantForData(v));
@@ -264,10 +264,10 @@ void HudClient::modelReallyReady(bool needDisconnect)
264 for (int i = 0; i < g_menu_model_get_n_items(menuModel); i++) {
264 for (int i = 0; i < g_menu_model_get_n_items(menuModel); i++) {
265 GVariant *v = g_menu_model_get_item_attribute_value(menuModel, i, "parameter-type", G_VARIANT_TYPE_STRING);
265 GVariant *v = g_menu_model_get_item_attribute_value(menuModel, i, "parameter-type", G_VARIANT_TYPE_STRING);
266
266
267− if (v == NULL)
267+ if (v == nullptr)
268 continue;
268 continue;
269
269
270− const QString type = QString::fromUtf8(g_variant_get_string(v, NULL));
270+ const QString type = QString::fromUtf8(g_variant_get_string(v, nullptr));
271 if (type == "slider") {
271 if (type == "slider") {
272 const char *sliderAttributes[] = { "label", "min", "max", "step", "value", "live", "action" };
272 const char *sliderAttributes[] = { "label", "min", "max", "step", "value", "live", "action" };
273 QVariantMap properties;
273 QVariantMap properties;
@@ -283,7 +283,7 @@ void HudClient::modelReallyReady(bool needDisconnect)
283 DeeModel *model = hud_client_query_get_results_model(m_clientQuery);
283 DeeModel *model = hud_client_query_get_results_model(m_clientQuery);
284 DeeModelIter *iter = dee_model_get_iter_at_row(model, m_currentActionIndex);
284 DeeModelIter *iter = dee_model_get_iter_at_row(model, m_currentActionIndex);
285 GVariant *actionTextVariant = dee_model_get_value(model, iter, 1);
285 GVariant *actionTextVariant = dee_model_get_value(model, iter, 1);
286− const QString actionText = QString::fromUtf8(g_variant_get_string(actionTextVariant, NULL));
286+ const QString actionText = QString::fromUtf8(g_variant_get_string(actionTextVariant, nullptr));
287 g_variant_unref(actionTextVariant);
287 g_variant_unref(actionTextVariant);
288 Q_EMIT showParametrizedAction(actionText, QVariant::fromValue(items));
288 Q_EMIT showParametrizedAction(actionText, QVariant::fromValue(items));
289}
289}
plugins/HudClient/volumepeakdetector.cpp+9−9
@@ -45,15 +45,15 @@ PulseAudioVolumePeakDetector::PulseAudioVolumePeakDetector()
45 : m_accumulatedValue(0)
45 : m_accumulatedValue(0)
46 , m_nAccumulatedValues(0)
46 , m_nAccumulatedValues(0)
47 , m_accumulatedValuesLimit(1)
47 , m_accumulatedValuesLimit(1)
48− , m_context(NULL)
48+ , m_context(nullptr)
49− , m_mainloop_api(NULL)
49+ , m_mainloop_api(nullptr)
50− , m_stream(NULL)
50+ , m_stream(nullptr)
51{
51{
52}
52}
53
53
54void PulseAudioVolumePeakDetector::start()
54void PulseAudioVolumePeakDetector::start()
55{
55{
56− pa_mainloop *mainloop = NULL;
56+ pa_mainloop *mainloop = nullptr;
57
57
58 /* Set up a new main loop */
58 /* Set up a new main loop */
59 mainloop = pa_mainloop_new();
59 mainloop = pa_mainloop_new();
@@ -63,7 +63,7 @@ void PulseAudioVolumePeakDetector::start()
63 m_mainloop_api = pa_mainloop_get_api(mainloop);
63 m_mainloop_api = pa_mainloop_get_api(mainloop);
64
64
65 /* Create a new connection context */
65 /* Create a new connection context */
66− m_context = pa_context_new(m_mainloop_api, NULL);
66+ m_context = pa_context_new(m_mainloop_api, nullptr);
67 if (!m_context) {
67 if (!m_context) {
68 goto quit;
68 goto quit;
69 }
69 }
@@ -71,12 +71,12 @@ void PulseAudioVolumePeakDetector::start()
71 pa_context_set_state_callback(m_context, context_state_callback, this);
71 pa_context_set_state_callback(m_context, context_state_callback, this);
72
72
73 /* Connect the context */
73 /* Connect the context */
74− if (pa_context_connect(m_context, NULL, PA_CONTEXT_NOFLAGS, NULL) < 0) {
74+ if (pa_context_connect(m_context, nullptr, PA_CONTEXT_NOFLAGS, nullptr) < 0) {
75 goto quit;
75 goto quit;
76 }
76 }
77
77
78 /* Run the main loop */
78 /* Run the main loop */
79− if (pa_mainloop_run(mainloop, NULL) < 0) {
79+ if (pa_mainloop_run(mainloop, nullptr) < 0) {
80 goto quit;
80 goto quit;
81 }
81 }
82
82
@@ -130,7 +130,7 @@ void PulseAudioVolumePeakDetector::startStream()
130 pa_channel_map_init_extend(&channel_map, sample_spec.channels, PA_CHANNEL_MAP_DEFAULT);
130 pa_channel_map_init_extend(&channel_map, sample_spec.channels, PA_CHANNEL_MAP_DEFAULT);
131 pa_proplist_sets(proplist, PA_PROP_MEDIA_NAME, "HUD Peak Detector");
131 pa_proplist_sets(proplist, PA_PROP_MEDIA_NAME, "HUD Peak Detector");
132
132
133− m_stream = pa_stream_new_with_proplist(m_context, NULL, &sample_spec, &channel_map, proplist);
133+ m_stream = pa_stream_new_with_proplist(m_context, nullptr, &sample_spec, &channel_map, proplist);
134 if (!m_stream) {
134 if (!m_stream) {
135 pa_proplist_free(proplist);
135 pa_proplist_free(proplist);
136 quit();
136 quit();
@@ -144,7 +144,7 @@ void PulseAudioVolumePeakDetector::startStream()
144 buffer_attr.maxlength = (uint32_t) -1;
144 buffer_attr.maxlength = (uint32_t) -1;
145 buffer_attr.fragsize = sizeof(float);
145 buffer_attr.fragsize = sizeof(float);
146
146
147− if (pa_stream_connect_record(m_stream, NULL, &buffer_attr, (pa_stream_flags_t)(PA_STREAM_PEAK_DETECT | PA_STREAM_ADJUST_LATENCY)) < 0) {
147+ if (pa_stream_connect_record(m_stream, nullptr, &buffer_attr, (pa_stream_flags_t)(PA_STREAM_PEAK_DETECT | PA_STREAM_ADJUST_LATENCY)) < 0) {
148 quit();
148 quit();
149 }
149 }
150}
150}
plugins/LightDM/DBusGreeter.cpp+5
@@ -39,6 +39,11 @@ void DBusGreeter::ShowGreeter()
39 return Q_EMIT m_greeter->showGreeter();
39 return Q_EMIT m_greeter->showGreeter();
40}
40}
41
41
42+void DBusGreeter::HideGreeter()
43+{
44+ return Q_EMIT m_greeter->hideGreeter();
45+}
46+
42void DBusGreeter::isActiveChangedHandler()
47void DBusGreeter::isActiveChangedHandler()
43{
48{
44 notifyPropertyChanged("IsActive", isActive());
49 notifyPropertyChanged("IsActive", isActive());
plugins/LightDM/DBusGreeter.h+1
@@ -38,6 +38,7 @@ public:
38
38
39 bool isActive() const;
39 bool isActive() const;
40 Q_SCRIPTABLE void ShowGreeter(); // temporary, until we split the greeter again
40 Q_SCRIPTABLE void ShowGreeter(); // temporary, until we split the greeter again
41+ Q_SCRIPTABLE void HideGreeter(); // temporary, until we split the greeter again
41
42
42Q_SIGNALS:
43Q_SIGNALS:
43 void isActiveChanged();
44 void isActiveChanged();
plugins/LightDM/Greeter.h+1
@@ -62,6 +62,7 @@ Q_SIGNALS:
62 void isAuthenticatedChanged();
62 void isAuthenticatedChanged();
63 void promptlessChanged();
63 void promptlessChanged();
64 void showGreeter();
64 void showGreeter();
65+ void hideGreeter();
65
66
66 // This signal is emitted by external agents like indicators, and the UI
67 // This signal is emitted by external agents like indicators, and the UI
67 // should switch to this user if possible.
68 // should switch to this user if possible.
plugins/Powerd/Powerd.cpp+1−1
@@ -39,7 +39,7 @@ void dimTimeoutChanged(GSettings *settings, const gchar *key, QDBusInterface *un
39
39
40Powerd::Powerd(QObject* parent)
40Powerd::Powerd(QObject* parent)
41 : QObject(parent),
41 : QObject(parent),
42− unityScreen(NULL)
42+ unityScreen(nullptr)
43{
43{
44 unityScreen = new QDBusInterface("com.canonical.Unity.Screen",
44 unityScreen = new QDBusInterface("com.canonical.Unity.Screen",
45 "/com/canonical/Unity/Screen",
45 "/com/canonical/Unity/Screen",
plugins/Unity/Indicators/menucontentactivator.cpp+2−2
@@ -45,7 +45,7 @@ public:
45 m_baseIndex(0),
45 m_baseIndex(0),
46 m_delta(0),
46 m_delta(0),
47 m_count(0),
47 m_count(0),
48− m_timer(NULL),
48+ m_timer(nullptr),
49 q(parent)
49 q(parent)
50 {}
50 {}
51
51
@@ -55,7 +55,7 @@ public:
55 m_content.clear();
55 m_content.clear();
56 }
56 }
57
57
58− int findNextInactiveDelta(bool* finished = NULL);
58+ int findNextInactiveDelta(bool* finished = nullptr);
59
59
60 static int content_count(QQmlListProperty<MenuContentState> *prop);
60 static int content_count(QQmlListProperty<MenuContentState> *prop);
61 static MenuContentState* content_at(QQmlListProperty<MenuContentState> *prop, int index);
61 static MenuContentState* content_at(QQmlListProperty<MenuContentState> *prop, int index);
plugins/Unity/Indicators/menucontentactivator.h+1−1
@@ -71,7 +71,7 @@ class UNITYINDICATORS_EXPORT MenuContentActivator : public QObject
71 Q_PROPERTY(int count READ count WRITE setCount NOTIFY countChanged)
71 Q_PROPERTY(int count READ count WRITE setCount NOTIFY countChanged)
72 Q_PROPERTY(QQmlListProperty<MenuContentState> content READ content NOTIFY contentChanged DESIGNABLE false)
72 Q_PROPERTY(QQmlListProperty<MenuContentState> content READ content NOTIFY contentChanged DESIGNABLE false)
73public:
73public:
74− MenuContentActivator(QObject* parent = NULL);
74+ MenuContentActivator(QObject* parent = nullptr);
75 ~MenuContentActivator();
75 ~MenuContentActivator();
76
76
77 Q_INVOKABLE void restart();
77 Q_INVOKABLE void restart();
plugins/Unity/Indicators/modelprinter.cpp+3−3
@@ -27,13 +27,13 @@
27
27
28ModelPrinter::ModelPrinter(QObject *parent)
28ModelPrinter::ModelPrinter(QObject *parent)
29 : QObject(parent)
29 : QObject(parent)
30− , m_model(NULL)
30+ , m_model(nullptr)
31{
31{
32}
32}
33
33
34void ModelPrinter::setSourceModel(UnityMenuModel * sourceModel)
34void ModelPrinter::setSourceModel(UnityMenuModel * sourceModel)
35{
35{
36− if (m_model != NULL) {
36+ if (m_model != nullptr) {
37 disconnect(m_model);
37 disconnect(m_model);
38 }
38 }
39 if (m_model != sourceModel) {
39 if (m_model != sourceModel) {
@@ -41,7 +41,7 @@ void ModelPrinter::setSourceModel(UnityMenuModel * sourceModel)
41 Q_EMIT modelChanged();
41 Q_EMIT modelChanged();
42 Q_EMIT textChanged();
42 Q_EMIT textChanged();
43 }
43 }
44− if (m_model != NULL) {
44+ if (m_model != nullptr) {
45 connect(m_model, SIGNAL(rowsInserted(QModelIndex,int,int)), SIGNAL(textChanged()));
45 connect(m_model, SIGNAL(rowsInserted(QModelIndex,int,int)), SIGNAL(textChanged()));
46 connect(m_model, SIGNAL(rowsRemoved(QModelIndex,int,int)), SIGNAL(textChanged()));
46 connect(m_model, SIGNAL(rowsRemoved(QModelIndex,int,int)), SIGNAL(textChanged()));
47 connect(m_model, SIGNAL(dataChanged(const QModelIndex&, const QModelIndex&, const QVector<int>&)), SIGNAL(textChanged()));
47 connect(m_model, SIGNAL(dataChanged(const QModelIndex&, const QModelIndex&, const QVector<int>&)), SIGNAL(textChanged()));
plugins/Unity/Indicators/rootactionstate.cpp+4−4
@@ -31,7 +31,7 @@ extern "C" {
31
31
32RootActionState::RootActionState(QObject *parent)
32RootActionState::RootActionState(QObject *parent)
33 : ActionStateParser(parent),
33 : ActionStateParser(parent),
34− m_menu(NULL)
34+ m_menu(nullptr)
35{
35{
36}
36}
37
37
@@ -95,7 +95,7 @@ void RootActionState::onModelDataChanged(const QModelIndex& topLeft, const QMode
95void RootActionState::reset()
95void RootActionState::reset()
96{
96{
97 m_cachedState.clear();
97 m_cachedState.clear();
98− m_menu = NULL;
98+ m_menu = nullptr;
99
99
100 Q_EMIT menuChanged();
100 Q_EMIT menuChanged();
101 Q_EMIT updated();
101 Q_EMIT updated();
@@ -171,7 +171,7 @@ static QString iconUri(GIcon *icon)
171 const gchar* const* iconNames = g_themed_icon_get_names (G_THEMED_ICON (icon));
171 const gchar* const* iconNames = g_themed_icon_get_names (G_THEMED_ICON (icon));
172
172
173 QStringList iconNameList;
173 QStringList iconNameList;
174− for (uint index = 0; iconNames[index] != NULL; index++) {
174+ for (uint index = 0; iconNames[index] != nullptr; index++) {
175 iconNameList << iconNames[index];
175 iconNameList << iconNames[index];
176 }
176 }
177
177
@@ -282,7 +282,7 @@ QVariant RootActionState::toQVariant(GVariant* state) const
282 qmap["accessible-desc"] = accessible_name ? QString::fromUtf8(accessible_name) : "";
282 qmap["accessible-desc"] = accessible_name ? QString::fromUtf8(accessible_name) : "";
283 qmap["visible"] = visible;
283 qmap["visible"] = visible;
284
284
285− gicon = g_icon_new_for_string (icon, NULL);
285+ gicon = g_icon_new_for_string (icon, nullptr);
286 if (gicon) {
286 if (gicon) {
287 qmap["icons"] = QStringList() << iconUri(gicon);
287 qmap["icons"] = QStringList() << iconUri(gicon);
288 g_object_unref (gicon);
288 g_object_unref (gicon);
plugins/Unity/Indicators/unitymenumodelcache.h+1−1
@@ -31,7 +31,7 @@ class UNITYINDICATORS_EXPORT UnityMenuModelCache : public QObject
31{
31{
32 Q_OBJECT
32 Q_OBJECT
33public:
33public:
34− UnityMenuModelCache(QObject*parent=NULL);
34+ UnityMenuModelCache(QObject*parent=nullptr);
35 ~UnityMenuModelCache();
35 ~UnityMenuModelCache();
36
36
37 Q_INVOKABLE UnityMenuModel* model(const QByteArray& bus,
37 Q_INVOKABLE UnityMenuModel* model(const QByteArray& bus,
plugins/Unity/Indicators/unitymenumodelstack.cpp+4−4
@@ -90,7 +90,7 @@ UnityMenuModelStack::~UnityMenuModelStack()
90
90
91UnityMenuModel* UnityMenuModelStack::head() const
91UnityMenuModel* UnityMenuModelStack::head() const
92{
92{
93− return !m_menuModels.isEmpty() ? m_menuModels.first()->model() : NULL;
93+ return !m_menuModels.isEmpty() ? m_menuModels.first()->model() : nullptr;
94}
94}
95
95
96void UnityMenuModelStack::setHead(UnityMenuModel* model)
96void UnityMenuModelStack::setHead(UnityMenuModel* model)
@@ -106,7 +106,7 @@ void UnityMenuModelStack::setHead(UnityMenuModel* model)
106
106
107UnityMenuModel* UnityMenuModelStack::tail() const
107UnityMenuModel* UnityMenuModelStack::tail() const
108{
108{
109− return !m_menuModels.isEmpty() ? m_menuModels.last()->model() : NULL;
109+ return !m_menuModels.isEmpty() ? m_menuModels.last()->model() : nullptr;
110}
110}
111
111
112int UnityMenuModelStack::count() const
112int UnityMenuModelStack::count() const
@@ -127,7 +127,7 @@ void UnityMenuModelStack::push(UnityMenuModel* model, int index)
127UnityMenuModel* UnityMenuModelStack::pop()
127UnityMenuModel* UnityMenuModelStack::pop()
128{
128{
129 if (m_menuModels.isEmpty()) {
129 if (m_menuModels.isEmpty()) {
130− return NULL;
130+ return nullptr;
131 }
131 }
132 UnityMenuModelEntry* entry = m_menuModels.takeLast();
132 UnityMenuModelEntry* entry = m_menuModels.takeLast();
133 UnityMenuModel* model = entry->model();
133 UnityMenuModel* model = entry->model();
@@ -135,7 +135,7 @@ UnityMenuModel* UnityMenuModelStack::pop()
135
135
136 Q_EMIT tailChanged(tail());
136 Q_EMIT tailChanged(tail());
137 if (m_menuModels.isEmpty()) {
137 if (m_menuModels.isEmpty()) {
138− Q_EMIT headChanged(NULL);
138+ Q_EMIT headChanged(nullptr);
139 }
139 }
140 Q_EMIT countChanged(m_menuModels.count());
140 Q_EMIT countChanged(m_menuModels.count());
141
141
plugins/Unity/Indicators/unitymenumodelstack.h+1−1
@@ -40,7 +40,7 @@ class UNITYINDICATORS_EXPORT UnityMenuModelStack : public QObject
40 Q_PROPERTY(UnityMenuModel* tail READ tail NOTIFY tailChanged)
40 Q_PROPERTY(UnityMenuModel* tail READ tail NOTIFY tailChanged)
41 Q_PROPERTY(int count READ count NOTIFY countChanged)
41 Q_PROPERTY(int count READ count NOTIFY countChanged)
42public:
42public:
43− UnityMenuModelStack(QObject*parent=NULL);
43+ UnityMenuModelStack(QObject*parent=nullptr);
44 ~UnityMenuModelStack();
44 ~UnityMenuModelStack();
45
45
46 UnityMenuModel* head() const;
46 UnityMenuModel* head() const;
plugins/Unity/Launcher/desktopfilehandler.cpp+29−3
@@ -23,6 +23,9 @@
23#include <QStandardPaths>
23#include <QStandardPaths>
24#include <QDir>
24#include <QDir>
25#include <QSettings>
25#include <QSettings>
26+#include <QLocale>
27+
28+#include <libintl.h>
26
29
27DesktopFileHandler::DesktopFileHandler(QObject *parent):
30DesktopFileHandler::DesktopFileHandler(QObject *parent):
28 QObject(parent)
31 QObject(parent)
@@ -75,7 +78,29 @@ QString DesktopFileHandler::displayName(const QString &appId) const
75 }
78 }
76
79
77 QSettings settings(desktopFile, QSettings::IniFormat);
80 QSettings settings(desktopFile, QSettings::IniFormat);
78− return settings.value("Desktop Entry/Name").toString();
81+ settings.beginGroup("Desktop Entry");
82+
83+ // First try to find Name[xx_YY] and Name[xx] in .desktop file
84+ QString locale = QLocale::system().name();
85+ QString shortLocale = locale.split('_').first();
86+
87+ if (locale != shortLocale && settings.contains(QString("Name[%1]").arg(locale))) {
88+ return settings.value(QString("Name[%1]").arg(locale)).toString();
89+ }
90+
91+ if (settings.contains(QString("Name[%1]").arg(shortLocale))) {
92+ return settings.value(QString("Name[%1]").arg(shortLocale)).toString();
93+ }
94+
95+ // No translation found in desktop file. Get the untranslated one and have a go with gettext.
96+ QString displayName = settings.value("Name").toString();
97+
98+ if (settings.contains("X-Ubuntu-Gettext-Domain")) {
99+ const QString domain = settings.value("X-Ubuntu-Gettext-Domain").toString();
100+ return dgettext(domain.toUtf8().constData(), displayName.toUtf8().constData());
101+ }
102+
103+ return displayName;
79}
104}
80
105
81QString DesktopFileHandler::icon(const QString &appId) const
106QString DesktopFileHandler::icon(const QString &appId) const
@@ -86,8 +111,9 @@ QString DesktopFileHandler::icon(const QString &appId) const
86 }
111 }
87
112
88 QSettings settings(desktopFile, QSettings::IniFormat);
113 QSettings settings(desktopFile, QSettings::IniFormat);
114+ settings.beginGroup("Desktop Entry");
89− QString iconString = settings.value("Desktop Entry/Icon").toString();
115+ QString iconString = settings.value("Icon").toString();
90− QString pathString = settings.value("Desktop Entry/Path").toString();
116+ QString pathString = settings.value("Path").toString();
91
117
92 if (QFileInfo(iconString).exists()) {
118 if (QFileInfo(iconString).exists()) {
93 return QFileInfo(iconString).absoluteFilePath();
119 return QFileInfo(iconString).absoluteFilePath();
plugins/Utils/Style.jsnew file+37
@@ -0,0 +1,37 @@
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+.pragma library
18+
19+/*! \brief Calculate average luminance of the passed colors
20+
21+ \note If not fully opaque, luminance is dependant on blending.
22+ */
23+function luminance() {
24+ var sum = 0;
25+ // TODO this was originally
26+ // for (var k in arguments) {
27+ // but for some unkown reason was causing crashes in testDash/testDashContent
28+ // investigate when we have some time
29+ for (var k = 0; k < arguments.length; ++k) {
30+ // only way to convert string to color
31+ var c = Qt.lighter(arguments[k], 1.0);
32+
33+ sum += 0.2126 * c.r + 0.7152 * c.g + 0.0722 * c.b;
34+ }
35+
36+ return sum / arguments.length;
37+}
plugins/Utils/qlimitproxymodelqml.cpp+6−6
@@ -42,18 +42,18 @@ void
42QLimitProxyModelQML::setModel(QAbstractItemModel *itemModel)
42QLimitProxyModelQML::setModel(QAbstractItemModel *itemModel)
43{
43{
44 if (itemModel != sourceModel()) {
44 if (itemModel != sourceModel()) {
45− if (sourceModel() != NULL) {
45+ if (sourceModel() != nullptr) {
46 sourceModel()->disconnect(this);
46 sourceModel()->disconnect(this);
47 }
47 }
48
48
49 setSourceModel(itemModel);
49 setSourceModel(itemModel);
50
50
51− if (sourceModel() != NULL) {
51+ if (sourceModel() != nullptr) {
52 // Disconnect the QIdentityProxyModel handling for rows removed/added...
52 // Disconnect the QIdentityProxyModel handling for rows removed/added...
53− disconnect(sourceModel(), SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)), this, NULL);
53+ disconnect(sourceModel(), SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)), this, nullptr);
54− disconnect(sourceModel(), SIGNAL(rowsInserted(QModelIndex,int,int)), this, NULL);
54+ disconnect(sourceModel(), SIGNAL(rowsInserted(QModelIndex,int,int)), this, nullptr);
55− disconnect(sourceModel(), SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)), this, NULL);
55+ disconnect(sourceModel(), SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)), this, nullptr);
56− disconnect(sourceModel(), SIGNAL(rowsRemoved(QModelIndex,int,int)), this, NULL);
56+ disconnect(sourceModel(), SIGNAL(rowsRemoved(QModelIndex,int,int)), this, nullptr);
57
57
58 // ... and use our own
58 // ... and use our own
59 connect(sourceModel(), SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)),
59 connect(sourceModel(), SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)),
plugins/Utils/qmldir+1
@@ -1,3 +1,4 @@
1module Utils
1module Utils
2plugin Utils-qml
2plugin Utils-qml
3typeinfo Utils.qmltypes
3typeinfo Utils.qmltypes
4+Style 0.1 Style.js
plugins/Utils/qsortfilterproxymodelqml.cpp+7−7
@@ -34,7 +34,7 @@ QSortFilterProxyModelQML::QSortFilterProxyModelQML(QObject *parent)
34 */
34 */
35int QSortFilterProxyModelQML::mapRowToSource(int row)
35int QSortFilterProxyModelQML::mapRowToSource(int row)
36{
36{
37− if (sourceModel() == NULL)
37+ if (sourceModel() == nullptr)
38 return -1;
38 return -1;
39
39
40 return QSortFilterProxyModel::mapToSource(index(row, 0)).row();
40 return QSortFilterProxyModel::mapToSource(index(row, 0)).row();
@@ -48,12 +48,12 @@ QHash<int, QByteArray> QSortFilterProxyModelQML::roleNames() const
48void
48void
49QSortFilterProxyModelQML::setModel(QAbstractItemModel *itemModel)
49QSortFilterProxyModelQML::setModel(QAbstractItemModel *itemModel)
50{
50{
51− if (itemModel == NULL) {
51+ if (itemModel == nullptr) {
52 return;
52 return;
53 }
53 }
54
54
55 if (itemModel != sourceModel()) {
55 if (itemModel != sourceModel()) {
56− if (sourceModel() != NULL) {
56+ if (sourceModel() != nullptr) {
57 sourceModel()->disconnect(this);
57 sourceModel()->disconnect(this);
58 }
58 }
59
59
@@ -83,7 +83,7 @@ QSortFilterProxyModelQML::get(int row)
83QVariant
83QVariant
84QSortFilterProxyModelQML::data(int row, int role)
84QSortFilterProxyModelQML::data(int row, int role)
85{
85{
86− if (sourceModel() == NULL) {
86+ if (sourceModel() == nullptr) {
87 return QVariant();
87 return QVariant();
88 }
88 }
89
89
@@ -93,7 +93,7 @@ QSortFilterProxyModelQML::data(int row, int role)
93int
93int
94QSortFilterProxyModelQML::totalCount() const
94QSortFilterProxyModelQML::totalCount() const
95{
95{
96− if (sourceModel() != NULL) {
96+ if (sourceModel() != nullptr) {
97 return sourceModel()->rowCount();
97 return sourceModel()->rowCount();
98 } else {
98 } else {
99 return 0;
99 return 0;
@@ -149,7 +149,7 @@ QSortFilterProxyModelQML::findFirst(int role, const QVariant& value) const
149int
149int
150QSortFilterProxyModelQML::mapFromSource(int row)
150QSortFilterProxyModelQML::mapFromSource(int row)
151{
151{
152− if (sourceModel() != NULL) {
152+ if (sourceModel() != nullptr) {
153 return QSortFilterProxyModel::mapFromSource(sourceModel()->index(row, 0)).row();
153 return QSortFilterProxyModel::mapFromSource(sourceModel()->index(row, 0)).row();
154 } else {
154 } else {
155 return -1;
155 return -1;
@@ -159,7 +159,7 @@ QSortFilterProxyModelQML::mapFromSource(int row)
159int
159int
160QSortFilterProxyModelQML::mapToSource(int row)
160QSortFilterProxyModelQML::mapToSource(int row)
161{
161{
162− if (sourceModel() != NULL) {
162+ if (sourceModel() != nullptr) {
163 return QSortFilterProxyModel::mapToSource(index(row, 0)).row();
163 return QSortFilterProxyModel::mapToSource(index(row, 0)).row();
164 } else {
164 } else {
165 return -1;
165 return -1;
plugins/Utils/timeformatter.cpp+8−8
@@ -57,9 +57,9 @@ timedate1_properties_changed (GDBusConnection *connection,
57 if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(sa{sv}as)")))
57 if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(sa{sv}as)")))
58 return;
58 return;
59
59
60− g_variant_get (parameters, "(s@a{sv}as)", NULL, &changed, &iter);
60+ g_variant_get (parameters, "(s@a{sv}as)", nullptr, &changed, &iter);
61
61
62− if (g_variant_lookup (changed, "Timezone", "s", NULL)) {
62+ if (g_variant_lookup (changed, "Timezone", "s", nullptr)) {
63 priv->formatter->update();
63 priv->formatter->update();
64 }
64 }
65 else {
65 else {
@@ -81,10 +81,10 @@ got_bus(GObject *object, GAsyncResult *result, gpointer user_data)
81 Q_UNUSED(object);
81 Q_UNUSED(object);
82
82
83 TimeFormatterPrivate *priv = (TimeFormatterPrivate *)user_data;
83 TimeFormatterPrivate *priv = (TimeFormatterPrivate *)user_data;
84− GError *error = NULL;
84+ GError *error = nullptr;
85
85
86 priv->system_bus = g_bus_get_finish (result, &error);
86 priv->system_bus = g_bus_get_finish (result, &error);
87− if (priv->system_bus == NULL) {
87+ if (priv->system_bus == nullptr) {
88 if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
88 if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
89 qWarning("TimeFormatter: cannot connect to the system bus: %s", error->message);
89 qWarning("TimeFormatter: cannot connect to the system bus: %s", error->message);
90 g_error_free (error);
90 g_error_free (error);
@@ -98,14 +98,14 @@ got_bus(GObject *object, GAsyncResult *result, gpointer user_data)
98 * and keep the process alive.
98 * and keep the process alive.
99 */
99 */
100 priv->subscription_id = g_dbus_connection_signal_subscribe (priv->system_bus,
100 priv->subscription_id = g_dbus_connection_signal_subscribe (priv->system_bus,
101− NULL, /* sender */
101+ nullptr, /* sender */
102 "org.freedesktop.DBus.Properties",
102 "org.freedesktop.DBus.Properties",
103 "PropertiesChanged",
103 "PropertiesChanged",
104− NULL,
104+ nullptr,
105 "org.freedesktop.timedate1",
105 "org.freedesktop.timedate1",
106 G_DBUS_SIGNAL_FLAGS_NONE,
106 G_DBUS_SIGNAL_FLAGS_NONE,
107 timedate1_properties_changed,
107 timedate1_properties_changed,
108− priv, NULL);
108+ priv, nullptr);
109}
109}
110
110
111TimeFormatter::TimeFormatter(QObject *parent): QObject(parent)
111TimeFormatter::TimeFormatter(QObject *parent): QObject(parent)
@@ -114,7 +114,7 @@ TimeFormatter::TimeFormatter(QObject *parent): QObject(parent)
114 priv->formatter = this;
114 priv->formatter = this;
115 priv->time = 0;
115 priv->time = 0;
116 priv->format = "yyyy-MM-dd hh:mm";
116 priv->format = "yyyy-MM-dd hh:mm";
117− priv->system_bus = NULL;
117+ priv->system_bus = nullptr;
118 priv->subscription_id = 0;
118 priv->subscription_id = 0;
119 priv->cancellable = g_cancellable_new ();
119 priv->cancellable = g_cancellable_new ();
120
120
po/am.po+85−43
@@ -7,17 +7,17 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11−"PO-Revision-Date: 2014-08-23 17:14+0000\n"
11+"PO-Revision-Date: 2014-08-30 14:40+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−"X-Launchpad-Export-Date: 2014-08-24 06:46+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-31 07:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17176)\n"
19
19
20−#: plugins/LightDM/Greeter.cpp:129
20+#: plugins/LightDM/Greeter.cpp:130
21msgid "Password: "
21msgid "Password: "
22msgstr "የ መግቢያ ቃል: "
22msgstr "የ መግቢያ ቃል: "
23
23
@@ -30,19 +30,57 @@ msgstr "አቋራጭ ማጣበቂያ"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "አቋራጭ መለያያ"
31msgstr "አቋራጭ መለያያ"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr "መውጫ"
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr "በእርግጥ መውጣት ይፈልጋሉ?"
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr "አይ"
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr "አዎ"
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr "ማጥፊያ"
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
35−msgstr "በእርግጥ ሐይሉን ማጥፋት ይፈልጋሉ"
57+msgstr "በእርግጥ ማጥፋት ይፈልጋሉ?"
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr "እንደገና ማስነሻ"
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
65+msgstr "በእርግጥ እንደገና ማስነሳት ይፈልጋሉ?"
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
68+msgid "Power"
69+msgstr "ሐይል"
70+
71+#: qml/Components/Dialogs.qml:145
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+"በእርግጥ ሐይሉን ማጥፋት\n"
77+"ይፈልጋሉ?"
78+
79+#: qml/Components/Dialogs.qml:147
38msgid "Power off"
80msgid "Power off"
39msgstr "ማጥፊያ"
81msgstr "ማጥፊያ"
40
82
41−#: qml/Components/Dialogs.qml:153
83+#: qml/Components/Dialogs.qml:157
42−msgid "Restart"
43−msgstr "እንደገና ማስጀመሪያ"
44−
45−#: qml/Components/Dialogs.qml:162
46msgid "Cancel"
84msgid "Cancel"
47msgstr "መሰረዣ"
85msgstr "መሰረዣ"
48
86
@@ -125,10 +163,23 @@ msgstr "አነስተኛ መመልከቻ"
125msgid "See all"
163msgid "See all"
126msgstr "ሁሉንም መመልከቻ"
164msgstr "ሁሉንም መመልከቻ"
127
165
128−#: qml/Dash/GenericScopeView.qml:424 qml/Panel/SearchIndicator.qml:27
166+#: qml/Dash/GenericScopeView.qml:424 qml/Dash/PageHeader.qml:260
167+#: qml/Panel/SearchIndicator.qml:27
129msgid "Search"
168msgid "Search"
130msgstr "መፈለጊያ"
169msgstr "መፈለጊያ"
131
170
171+#: qml/Dash/PageHeader.qml:270
172+msgid "Settings"
173+msgstr "ማሰናጃ"
174+
175+#: qml/Dash/PageHeader.qml:279
176+msgid "Remove from Favorites"
177+msgstr "ከምወዳቸው ማስወገጃ"
178+
179+#: qml/Dash/PageHeader.qml:279
180+msgid "Add to Favorites"
181+msgstr "ወደምወዳቸው መጨመሪያ"
182+
132#: qml/Dash/Previews/PreviewActionCombo.qml:34
183#: qml/Dash/Previews/PreviewActionCombo.qml:34
133msgid "More..."
184msgid "More..."
134msgstr "ተጨማሪ..."
185msgstr "ተጨማሪ..."
@@ -153,11 +204,11 @@ msgstr "መላኪያ"
153msgid "Manage Dash"
204msgid "Manage Dash"
154msgstr ""
205msgstr ""
155
206
156−#: qml/Dash/ScopesOverview.qml:408
207+#: qml/Dash/ScopesOverview.qml:417
157msgid "Done"
208msgid "Done"
158msgstr "ጨርሷል"
209msgstr "ጨርሷል"
159
210
160−#: qml/Dash/ScopesOverview.qml:434
211+#: qml/Dash/ScopesOverview.qml:443
161msgid "Store"
212msgid "Store"
162msgstr "ማስቀመጫ"
213msgstr "ማስቀመጫ"
163
214
@@ -173,7 +224,7 @@ msgstr "ሁሉንም"
173msgid "Swipe to unlock"
224msgid "Swipe to unlock"
174msgstr "ለመክፈት ይጥረጉ"
225msgstr "ለመክፈት ይጥረጉ"
175
226
176−#: qml/Hud/HudParametrizedActionsPage.qml:132
227+#: qml/Hud/HudParametrizedActionsPage.qml:139
177msgid "Confirm"
228msgid "Confirm"
178msgstr "ማረጋገጫ"
229msgstr "ማረጋገጫ"
179
230
@@ -201,7 +252,7 @@ msgstr "የመግቢያ ቃል ማሳያ"
201msgid "Enter SIM PIN"
252msgid "Enter SIM PIN"
202msgstr ""
253msgstr ""
203
254
204−#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
255+#: qml/Notifications/NotificationMenuItemFactory.qml:121
205msgid "Sorry, incorrect PIN"
256msgid "Sorry, incorrect PIN"
206msgstr ""
257msgstr ""
207
258
@@ -245,61 +296,52 @@ msgstr ""
245msgid "Roaming"
296msgid "Roaming"
246msgstr ""
297msgstr ""
247
298
248−#: qml/Shell.qml:266
299+#: qml/Shell.qml:279
249msgid "Enter your passphrase"
300msgid "Enter your passphrase"
250−msgstr ""
301+msgstr "የማለፊያ ሐረግ ያስገቡ"
251
302
252−#: qml/Shell.qml:267
303+#: qml/Shell.qml:280
253msgid "Sorry, incorrect passphrase"
304msgid "Sorry, incorrect passphrase"
254msgstr ""
305msgstr ""
255
306
256−#: qml/Shell.qml:269
307+#: qml/Shell.qml:282
257−msgid "Enter your PIN"
308+msgid "Enter your passcode"
309+msgstr ""
310+
311+#: qml/Shell.qml:283
312+msgid "Sorry, incorrect passcode"
258msgstr ""
313msgstr ""
259
314
260−#: qml/Shell.qml:273
315+#: qml/Shell.qml:286
261#, qt-format
316#, qt-format
262msgid "Enter your %1"
317msgid "Enter your %1"
263msgstr "ያስገቡ የ እርስዎን %1"
318msgstr "ያስገቡ የ እርስዎን %1"
264
319
265−#: qml/Shell.qml:274
320+#: qml/Shell.qml:287
266#, qt-format
321#, qt-format
267msgid "Sorry, incorrect %1"
322msgid "Sorry, incorrect %1"
268msgstr "አዝናለሁ: የተሳሳተ%1"
323msgstr "አዝናለሁ: የተሳሳተ%1"
269
324
270−#: qml/Shell.qml:310
325+#: qml/Shell.qml:323
271msgid "Sorry, incorrect passphrase."
326msgid "Sorry, incorrect passphrase."
272msgstr ""
327msgstr ""
273
328
274−#: qml/Shell.qml:311
329+#: qml/Shell.qml:324
275msgid "Sorry, incorrect passcode."
330msgid "Sorry, incorrect passcode."
276msgstr ""
331msgstr ""
277
332
278−#: qml/Shell.qml:312
333+#: qml/Shell.qml:325
279msgid "This will be your last attempt."
334msgid "This will be your last attempt."
280msgstr "ይህ የመጨረሻ ሙከራዎ ነው"
335msgstr "ይህ የመጨረሻ ሙከራዎ ነው"
281
336
282−#: qml/Shell.qml:314
337+#: qml/Shell.qml:327
283msgid ""
338msgid ""
284"If passphrase is entered incorrectly, your phone will conduct a factory "
339"If passphrase is entered incorrectly, your phone will conduct a factory "
285"reset and all personal data will be deleted."
340"reset and all personal data will be deleted."
286msgstr ""
341msgstr ""
287
342
288−#: qml/Shell.qml:315
343+#: qml/Shell.qml:328
289msgid ""
344msgid ""
290"If passcode is entered incorrectly, your phone will conduct a factory reset "
345"If passcode is entered incorrectly, your phone will conduct a factory reset "
291"and all personal data will be deleted."
346"and all personal data will be deleted."
292msgstr ""
347msgstr ""
293−
294−#~ msgid "CANCEL"
295−#~ msgstr "መሰረዣ"
296−
297−#~ msgid "DONE"
298−#~ msgstr "ጨርሷል"
299−
300−#, qt-format
301−#~ msgid "Incorrect %1"
302−#~ msgstr "የተሳሳተ %1"
303−
304−#~ msgid "Please re-enter"
305−#~ msgstr "እባክዎን እንደ ገና-ያስገቡ"
po/ar.po+62−13
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-05-22 08:22+0000\n"
11"PO-Revision-Date: 2014-05-22 08:22+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"
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−"X-Launchpad-Export-Date: 2014-08-23 07:16+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:29+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr ""
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr ""
31msgstr ""
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -132,6 +168,18 @@ msgstr ""
132msgid "Search"
168msgid "Search"
133msgstr "ابحث"
169msgstr "ابحث"
134
170
171+#: qml/Dash/PageHeader.qml:270
172+msgid "Settings"
173+msgstr ""
174+
175+#: qml/Dash/PageHeader.qml:279
176+msgid "Remove from Favorites"
177+msgstr ""
178+
179+#: qml/Dash/PageHeader.qml:279
180+msgid "Add to Favorites"
181+msgstr ""
182+
135#: qml/Dash/Previews/PreviewActionCombo.qml:34
183#: qml/Dash/Previews/PreviewActionCombo.qml:34
136msgid "More..."
184msgid "More..."
137msgstr "المزيد..."
185msgstr "المزيد..."
@@ -256,8 +304,12 @@ msgstr ""
256msgid "Sorry, incorrect passphrase"
304msgid "Sorry, incorrect passphrase"
257msgstr ""
305msgstr ""
258
306
259−#: qml/Shell.qml:269
307+#: qml/Shell.qml:282
260−msgid "Enter your PIN"
308+msgid "Enter your passcode"
309+msgstr ""
310+
311+#: qml/Shell.qml:283
312+msgid "Sorry, incorrect passcode"
261msgstr ""
313msgstr ""
262
314
263#: qml/Shell.qml:273
315#: qml/Shell.qml:273
@@ -293,6 +345,3 @@ msgid ""
293"If passcode is entered incorrectly, your phone will conduct a factory reset "
345"If passcode is entered incorrectly, your phone will conduct a factory reset "
294"and all personal data will be deleted."
346"and all personal data will be deleted."
295msgstr ""
347msgstr ""
296−
297−#~ msgid "Please enter SIM PIN"
298−#~ msgstr "من فضلك أدخِل رقم التعريف الشخصي لبطاقة SIM"
po/ast.po+62−19
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-07-25 16:51+0000\n"
11"PO-Revision-Date: 2014-07-25 16:51+0000\n"
12"Last-Translator: ivarela <ivarela@ubuntu.com>\n"
12"Last-Translator: ivarela <ivarela@ubuntu.com>\n"
13"Language-Team: Asturian <ast@li.org>\n"
13"Language-Team: Asturian <ast@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-08-23 07:16+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:29+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr "Anclar"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "Desanclar"
31msgstr "Desanclar"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -133,6 +169,18 @@ msgstr "Ver too"
133msgid "Search"
169msgid "Search"
134msgstr "Guetar"
170msgstr "Guetar"
135
171
172+#: qml/Dash/PageHeader.qml:270
173+msgid "Settings"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Remove from Favorites"
178+msgstr ""
179+
180+#: qml/Dash/PageHeader.qml:279
181+msgid "Add to Favorites"
182+msgstr ""
183+
136#: qml/Dash/Previews/PreviewActionCombo.qml:34
184#: qml/Dash/Previews/PreviewActionCombo.qml:34
137msgid "More..."
185msgid "More..."
138msgstr "Más…"
186msgstr "Más…"
@@ -257,8 +305,12 @@ msgstr ""
257msgid "Sorry, incorrect passphrase"
305msgid "Sorry, incorrect passphrase"
258msgstr ""
306msgstr ""
259
307
260−#: qml/Shell.qml:269
308+#: qml/Shell.qml:282
261−msgid "Enter your PIN"
309+msgid "Enter your passcode"
310+msgstr ""
311+
312+#: qml/Shell.qml:283
313+msgid "Sorry, incorrect passcode"
262msgstr ""
314msgstr ""
263
315
264#: qml/Shell.qml:273
316#: qml/Shell.qml:273
@@ -294,12 +346,3 @@ msgid ""
294"If passcode is entered incorrectly, your phone will conduct a factory reset "
346"If passcode is entered incorrectly, your phone will conduct a factory reset "
295"and all personal data will be deleted."
347"and all personal data will be deleted."
296msgstr ""
348msgstr ""
297−
298−#~ msgid "CANCEL"
299−#~ msgstr "ENCABOXAR"
300−
301−#~ msgid "DONE"
302−#~ msgstr "FECHO"
303−
304−#~ msgid "Please enter SIM PIN"
305−#~ msgstr "Escribi'l PIN de la SIM"
po/az.po+111−44
@@ -7,44 +7,80 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11−"PO-Revision-Date: 2014-01-15 09:50+0000\n"
11+"PO-Revision-Date: 2014-08-26 22:12+0000\n"
12"Last-Translator: Turan Mahmudov <turan.mahmudov@gmail.com>\n"
12"Last-Translator: Turan Mahmudov <turan.mahmudov@gmail.com>\n"
13"Language-Team: Azerbaijani <az@li.org>\n"
13"Language-Team: Azerbaijani <az@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−"X-Launchpad-Export-Date: 2014-08-23 07:16+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:29+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
22−msgstr ""
22+msgstr "Parol: "
23
23
24#: plugins/Unity/Launcher/launcheritem.cpp:43
24#: plugins/Unity/Launcher/launcheritem.cpp:43
25#: plugins/Unity/Launcher/launcheritem.cpp:73
25#: plugins/Unity/Launcher/launcheritem.cpp:73
26msgid "Pin shortcut"
26msgid "Pin shortcut"
27−msgstr ""
27+msgstr "Pin qısayolu"
28
28
29#: plugins/Unity/Launcher/launcheritem.cpp:73
29#: plugins/Unity/Launcher/launcheritem.cpp:73
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31+msgstr "Açma qısayolu"
32+
33+#: qml/Components/Dialogs.qml:70
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
31msgstr ""
61msgstr ""
32
62
33−#: qml/Components/Dialogs.qml:142
63+#: qml/Components/Dialogs.qml:120
34−msgid "Are you sure you would like to turn power off?"
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
43msgstr ""
75msgstr ""
44
76
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
79+msgstr "Söndür"
80+
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
46msgid "Cancel"
82msgid "Cancel"
47−msgstr ""
83+msgstr "İmtina"
48
84
49#: qml/Components/EdgeDemoOverlay.qml:151
85#: qml/Components/EdgeDemoOverlay.qml:151
50msgid "Skip intro"
86msgid "Skip intro"
@@ -92,14 +128,16 @@ msgid ""
92"You have now mastered the edge gestures and can start using the "
128"You have now mastered the edge gestures and can start using the "
93"phone<br><br>Tap on the screen to start"
129"phone<br><br>Tap on the screen to start"
94msgstr ""
130msgstr ""
131+"Siz künc jestlərini mənimsəmisiniz və telefonu istifadə etməyə başlaya "
132+"bilərsiniz.<br><br>Başlamaq üçün ekrana toxunun"
95
133
96#: qml/Components/Lockscreen.qml:167
134#: qml/Components/Lockscreen.qml:167
97msgid "Please wait"
135msgid "Please wait"
98−msgstr ""
136+msgstr "Lütfən gözləyin"
99
137
100#: qml/Components/Lockscreen.qml:172
138#: qml/Components/Lockscreen.qml:172
101msgid "Too many incorrect attempts"
139msgid "Too many incorrect attempts"
102−msgstr ""
140+msgstr "Çoxlu yanlış cəhd"
103
141
104#: qml/Components/Lockscreen.qml:206
142#: qml/Components/Lockscreen.qml:206
105msgid "Emergency Call"
143msgid "Emergency Call"
@@ -107,7 +145,7 @@ msgstr "Zərurət zəngi"
107
145
108#: qml/Components/Lockscreen.qml:226
146#: qml/Components/Lockscreen.qml:226
109msgid "OK"
147msgid "OK"
110−msgstr ""
148+msgstr "ОК"
111
149
112#: qml/Components/PassphraseLockscreen.qml:61
150#: qml/Components/PassphraseLockscreen.qml:61
113#, qt-format
151#, qt-format
@@ -120,23 +158,35 @@ msgstr "Xoş gördük"
120
158
121#: qml/Dash/GenericScopeView.qml:361
159#: qml/Dash/GenericScopeView.qml:361
122msgid "See less"
160msgid "See less"
123−msgstr ""
161+msgstr "Daha az gör"
124
162
125#: qml/Dash/GenericScopeView.qml:361
163#: qml/Dash/GenericScopeView.qml:361
126msgid "See all"
164msgid "See all"
127−msgstr ""
165+msgstr "Hamısını gör"
128
166
129#: qml/Dash/GenericScopeView.qml:424 qml/Panel/SearchIndicator.qml:27
167#: qml/Dash/GenericScopeView.qml:424 qml/Panel/SearchIndicator.qml:27
130msgid "Search"
168msgid "Search"
131msgstr "Axtar"
169msgstr "Axtar"
132
170
171+#: qml/Dash/PageHeader.qml:270
172+msgid "Settings"
173+msgstr ""
174+
175+#: qml/Dash/PageHeader.qml:279
176+msgid "Remove from Favorites"
177+msgstr ""
178+
179+#: qml/Dash/PageHeader.qml:279
180+msgid "Add to Favorites"
181+msgstr ""
182+
133#: qml/Dash/Previews/PreviewActionCombo.qml:34
183#: qml/Dash/Previews/PreviewActionCombo.qml:34
134msgid "More..."
184msgid "More..."
135−msgstr ""
185+msgstr "Ətraflı..."
136
186
137#: qml/Dash/Previews/PreviewActionCombo.qml:34
187#: qml/Dash/Previews/PreviewActionCombo.qml:34
138msgid "Less..."
188msgid "Less..."
139−msgstr ""
189+msgstr "Az..."
140
190
141#: qml/Dash/Previews/PreviewRatingInput.qml:81
191#: qml/Dash/Previews/PreviewRatingInput.qml:81
142msgid "Rate this"
192msgid "Rate this"
@@ -156,23 +206,23 @@ msgstr ""
156
206
157#: qml/Dash/ScopesOverview.qml:408
207#: qml/Dash/ScopesOverview.qml:408
158msgid "Done"
208msgid "Done"
159−msgstr ""
209+msgstr "Başa çatdı"
160
210
161#: qml/Dash/ScopesOverview.qml:434
211#: qml/Dash/ScopesOverview.qml:434
162msgid "Store"
212msgid "Store"
163−msgstr ""
213+msgstr "Saxla"
164
214
165#: qml/Dash/ScopesOverviewTab.qml:36
215#: qml/Dash/ScopesOverviewTab.qml:36
166msgid "Favorites"
216msgid "Favorites"
167−msgstr ""
217+msgstr "Seçilmişlər"
168
218
169#: qml/Dash/ScopesOverviewTab.qml:54
219#: qml/Dash/ScopesOverviewTab.qml:54
170msgid "All"
220msgid "All"
171−msgstr ""
221+msgstr "Hamısı"
172
222
173#: qml/Greeter/Greeter.qml:157
223#: qml/Greeter/Greeter.qml:157
174msgid "Swipe to unlock"
224msgid "Swipe to unlock"
175−msgstr ""
225+msgstr "Kilidi açmaq üçün sürüşdürün"
176
226
177#: qml/Hud/HudParametrizedActionsPage.qml:132
227#: qml/Hud/HudParametrizedActionsPage.qml:132
178msgid "Confirm"
228msgid "Confirm"
@@ -200,94 +250,111 @@ msgstr "Parolu göstər"
200
250
201#: qml/Notifications/NotificationMenuItemFactory.qml:120
251#: qml/Notifications/NotificationMenuItemFactory.qml:120
202msgid "Enter SIM PIN"
252msgid "Enter SIM PIN"
203−msgstr ""
253+msgstr "SIM PIN kodunuzu daxil edin"
204
254
205#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
255#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
206msgid "Sorry, incorrect PIN"
256msgid "Sorry, incorrect PIN"
207−msgstr ""
257+msgstr "Təəssüf ki, PIN yanlışdır"
208
258
209#: qml/Panel/ActiveCallHint.qml:77
259#: qml/Panel/ActiveCallHint.qml:77
210msgid "Tap to return to call..."
260msgid "Tap to return to call..."
211−msgstr ""
261+msgstr "Zəngə qayıtmaq üçün toxunun..."
212
262
213#: qml/Panel/ActiveCallHint.qml:90
263#: qml/Panel/ActiveCallHint.qml:90
214msgid "Conference"
264msgid "Conference"
215−msgstr ""
265+msgstr "Konfrans"
216
266
217#: qml/Panel/Indicators/MenuItemFactory.qml:651
267#: qml/Panel/Indicators/MenuItemFactory.qml:651
218msgid "In queue…"
268msgid "In queue…"
219−msgstr ""
269+msgstr "Növbədədir..."
220
270
221#: qml/Panel/Indicators/MenuItemFactory.qml:655
271#: qml/Panel/Indicators/MenuItemFactory.qml:655
222msgid "Downloading"
272msgid "Downloading"
223−msgstr ""
273+msgstr "Endirilir"
224
274
225#: qml/Panel/Indicators/MenuItemFactory.qml:657
275#: qml/Panel/Indicators/MenuItemFactory.qml:657
226msgid "Paused, tap to resume"
276msgid "Paused, tap to resume"
227−msgstr ""
277+msgstr "Saxlanıldı, davam etmək üçün toxunun"
228
278
229#: qml/Panel/Indicators/MenuItemFactory.qml:659
279#: qml/Panel/Indicators/MenuItemFactory.qml:659
230msgid "Canceled"
280msgid "Canceled"
231−msgstr ""
281+msgstr "İmtina edildi"
232
282
233#: qml/Panel/Indicators/MenuItemFactory.qml:661
283#: qml/Panel/Indicators/MenuItemFactory.qml:661
234msgid "Finished"
284msgid "Finished"
235−msgstr ""
285+msgstr "Bitdi"
236
286
237#: qml/Panel/Indicators/MenuItemFactory.qml:663
287#: qml/Panel/Indicators/MenuItemFactory.qml:663
238msgid "Failed, tap to retry"
288msgid "Failed, tap to retry"
239−msgstr ""
289+msgstr "Alınmadı, davam etmək üçün toxunun"
240
290
241#: qml/Panel/Indicators/ModemInfoItem.qml:105
291#: qml/Panel/Indicators/ModemInfoItem.qml:105
242msgid "Unlock SIM"
292msgid "Unlock SIM"
243−msgstr ""
293+msgstr "SIM kilidini aç"
244
294
245#: qml/Panel/Indicators/RoamingIndication.qml:27
295#: qml/Panel/Indicators/RoamingIndication.qml:27
246msgid "Roaming"
296msgid "Roaming"
247−msgstr ""
297+msgstr "Rominq"
248
298
249#: qml/Shell.qml:266
299#: qml/Shell.qml:266
250msgid "Enter your passphrase"
300msgid "Enter your passphrase"
251−msgstr ""
301+msgstr "Açar sözünüzü daxil edin"
252
302
253#: qml/Shell.qml:267
303#: qml/Shell.qml:267
254msgid "Sorry, incorrect passphrase"
304msgid "Sorry, incorrect passphrase"
305+msgstr "Təəssüf ki, açar söz yanlışdır"
306+
307+#: qml/Shell.qml:282
308+msgid "Enter your passcode"
255msgstr ""
309msgstr ""
256
310
257−#: qml/Shell.qml:269
311+#: qml/Shell.qml:283
258−msgid "Enter your PIN"
312+msgid "Sorry, incorrect passcode"
259msgstr ""
313msgstr ""
260
314
261#: qml/Shell.qml:273
315#: qml/Shell.qml:273
262#, qt-format
316#, qt-format
263msgid "Enter your %1"
317msgid "Enter your %1"
264−msgstr ""
318+msgstr "%1 daxil edin"
265
319
266#: qml/Shell.qml:274
320#: qml/Shell.qml:274
267#, qt-format
321#, qt-format
268msgid "Sorry, incorrect %1"
322msgid "Sorry, incorrect %1"
269−msgstr ""
323+msgstr "Təəssüf ki, %1 yanlışdır"
270
324
271#: qml/Shell.qml:310
325#: qml/Shell.qml:310
272msgid "Sorry, incorrect passphrase."
326msgid "Sorry, incorrect passphrase."
273−msgstr ""
327+msgstr "Təəssüf ki, açar söz yanlışdır."
274
328
275#: qml/Shell.qml:311
329#: qml/Shell.qml:311
276msgid "Sorry, incorrect passcode."
330msgid "Sorry, incorrect passcode."
277−msgstr ""
331+msgstr "Təəssüf ki, açar kod yanlışdır."
278
332
279#: qml/Shell.qml:312
333#: qml/Shell.qml:312
280msgid "This will be your last attempt."
334msgid "This will be your last attempt."
281−msgstr ""
335+msgstr "Bu sizin son cəhdiniz olacaq."
282
336
283#: qml/Shell.qml:314
337#: qml/Shell.qml:314
284msgid ""
338msgid ""
285"If passphrase is entered incorrectly, your phone will conduct a factory "
339"If passphrase is entered incorrectly, your phone will conduct a factory "
286"reset and all personal data will be deleted."
340"reset and all personal data will be deleted."
287msgstr ""
341msgstr ""
342+"Əgər açar söz yanlış daxil edilibsə, onda telefonunuz fabrika parametrlərinə "
343+"geri qayıdacaq və bütün şəxsi məlumatlarınız silinəcək."
288
344
289#: qml/Shell.qml:315
345#: qml/Shell.qml:315
290msgid ""
346msgid ""
291"If passcode is entered incorrectly, your phone will conduct a factory reset "
347"If passcode is entered incorrectly, your phone will conduct a factory reset "
292"and all personal data will be deleted."
348"and all personal data will be deleted."
293msgstr ""
349msgstr ""
350+"Əgər açar kod yanlış daxil edilibsə, onda telefonunuz fabrika parametrlərinə "
351+"geri qayıdacaq və bütün şəxsi məlumatlarınız silinəcək."
352+
353+#~ msgid "Are you sure you would like to turn power off?"
354+#~ msgstr "Söndürmək istədiyinizə əminsiniz?"
355+
356+#~ msgid "Restart"
357+#~ msgstr "Yenidən Başlat"
358+
359+#~ msgid "Enter your PIN"
360+#~ msgstr "PIN kodunuzu daxil edin"
po/bg.po+62−10
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-04-01 14:08+0000\n"
11"PO-Revision-Date: 2014-04-01 14:08+0000\n"
12"Last-Translator: Atanas Kovachki <Unknown>\n"
12"Last-Translator: Atanas Kovachki <Unknown>\n"
13"Language-Team: Bulgarian <bg@li.org>\n"
13"Language-Team: Bulgarian <bg@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−"X-Launchpad-Export-Date: 2014-08-23 07:16+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:29+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr ""
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr ""
31msgstr ""
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -136,6 +172,18 @@ msgstr ""
136msgid "Search"
172msgid "Search"
137msgstr "Търсене"
173msgstr "Търсене"
138
174
175+#: qml/Dash/PageHeader.qml:270
176+msgid "Settings"
177+msgstr ""
178+
179+#: qml/Dash/PageHeader.qml:279
180+msgid "Remove from Favorites"
181+msgstr ""
182+
183+#: qml/Dash/PageHeader.qml:279
184+msgid "Add to Favorites"
185+msgstr ""
186+
139#: qml/Dash/Previews/PreviewActionCombo.qml:34
187#: qml/Dash/Previews/PreviewActionCombo.qml:34
140msgid "More..."
188msgid "More..."
141msgstr ""
189msgstr ""
@@ -260,8 +308,12 @@ msgstr ""
260msgid "Sorry, incorrect passphrase"
308msgid "Sorry, incorrect passphrase"
261msgstr ""
309msgstr ""
262
310
263−#: qml/Shell.qml:269
311+#: qml/Shell.qml:282
264−msgid "Enter your PIN"
312+msgid "Enter your passcode"
313+msgstr ""
314+
315+#: qml/Shell.qml:283
316+msgid "Sorry, incorrect passcode"
265msgstr ""
317msgstr ""
266
318
267#: qml/Shell.qml:273
319#: qml/Shell.qml:273
po/br.po+92−36
@@ -7,19 +7,19 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11−"PO-Revision-Date: 2014-07-28 06:44+0000\n"
11+"PO-Revision-Date: 2014-08-26 08:28+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"
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−"X-Launchpad-Export-Date: 2014-08-23 07:16+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:29+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
22−msgstr ""
22+msgstr "Ger-tremen : "
23
23
24#: plugins/Unity/Launcher/launcheritem.cpp:43
24#: plugins/Unity/Launcher/launcheritem.cpp:43
25#: plugins/Unity/Launcher/launcheritem.cpp:73
25#: plugins/Unity/Launcher/launcheritem.cpp:73
@@ -30,21 +30,57 @@ msgstr "Spilhennañ ar verradenn"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "Dispilhennañ ar verradenn"
31msgstr "Dispilhennañ ar verradenn"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
43msgstr ""
75msgstr ""
44
76
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
79+msgstr "Lazhañ"
80+
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
46msgid "Cancel"
82msgid "Cancel"
47−msgstr ""
83+msgstr "Nullañ"
48
84
49#: qml/Components/EdgeDemoOverlay.qml:151
85#: qml/Components/EdgeDemoOverlay.qml:151
50msgid "Skip intro"
86msgid "Skip intro"
@@ -101,11 +137,11 @@ msgstr ""
101
137
102#: qml/Components/Lockscreen.qml:167
138#: qml/Components/Lockscreen.qml:167
103msgid "Please wait"
139msgid "Please wait"
104−msgstr ""
140+msgstr "Gortozit, mar plij"
105
141
106#: qml/Components/Lockscreen.qml:172
142#: qml/Components/Lockscreen.qml:172
107msgid "Too many incorrect attempts"
143msgid "Too many incorrect attempts"
108−msgstr ""
144+msgstr "Re a daolioù-esae direizh"
109
145
110#: qml/Components/Lockscreen.qml:206
146#: qml/Components/Lockscreen.qml:206
111msgid "Emergency Call"
147msgid "Emergency Call"
@@ -136,6 +172,18 @@ msgstr "Gwelet pep tra"
136msgid "Search"
172msgid "Search"
137msgstr "Klask"
173msgstr "Klask"
138
174
175+#: qml/Dash/PageHeader.qml:270
176+msgid "Settings"
177+msgstr ""
178+
179+#: qml/Dash/PageHeader.qml:279
180+msgid "Remove from Favorites"
181+msgstr ""
182+
183+#: qml/Dash/PageHeader.qml:279
184+msgid "Add to Favorites"
185+msgstr ""
186+
139#: qml/Dash/Previews/PreviewActionCombo.qml:34
187#: qml/Dash/Previews/PreviewActionCombo.qml:34
140msgid "More..."
188msgid "More..."
141msgstr "Muioc'h..."
189msgstr "Muioc'h..."
@@ -158,23 +206,23 @@ msgstr "Kas"
158
206
159#: qml/Dash/ScopesOverview.qml:201
207#: qml/Dash/ScopesOverview.qml:201
160msgid "Manage Dash"
208msgid "Manage Dash"
161−msgstr ""
209+msgstr "Merañ an daolenn-vourzh"
162
210
163#: qml/Dash/ScopesOverview.qml:408
211#: qml/Dash/ScopesOverview.qml:408
164msgid "Done"
212msgid "Done"
165−msgstr ""
213+msgstr "Graet eo"
166
214
167#: qml/Dash/ScopesOverview.qml:434
215#: qml/Dash/ScopesOverview.qml:434
168msgid "Store"
216msgid "Store"
169−msgstr ""
217+msgstr "Enrollañ"
170
218
171#: qml/Dash/ScopesOverviewTab.qml:36
219#: qml/Dash/ScopesOverviewTab.qml:36
172msgid "Favorites"
220msgid "Favorites"
173−msgstr ""
221+msgstr "Gwellañ deuet"
174
222
175#: qml/Dash/ScopesOverviewTab.qml:54
223#: qml/Dash/ScopesOverviewTab.qml:54
176msgid "All"
224msgid "All"
177−msgstr ""
225+msgstr "An holl anezho"
178
226
179#: qml/Greeter/Greeter.qml:157
227#: qml/Greeter/Greeter.qml:157
180msgid "Swipe to unlock"
228msgid "Swipe to unlock"
@@ -206,11 +254,11 @@ msgstr "Diskouez ar ger-tremen"
206
254
207#: qml/Notifications/NotificationMenuItemFactory.qml:120
255#: qml/Notifications/NotificationMenuItemFactory.qml:120
208msgid "Enter SIM PIN"
256msgid "Enter SIM PIN"
209−msgstr ""
257+msgstr "Ebarzhit kod PIN ar gartenn SIM"
210
258
211#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
259#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
212msgid "Sorry, incorrect PIN"
260msgid "Sorry, incorrect PIN"
213−msgstr ""
261+msgstr "Siwazh, kod PIN direizh"
214
262
215#: qml/Panel/ActiveCallHint.qml:77
263#: qml/Panel/ActiveCallHint.qml:77
216msgid "Tap to return to call..."
264msgid "Tap to return to call..."
@@ -246,63 +294,71 @@ msgstr "C'hwitet, touchit evit adkregiñ"
246
294
247#: qml/Panel/Indicators/ModemInfoItem.qml:105
295#: qml/Panel/Indicators/ModemInfoItem.qml:105
248msgid "Unlock SIM"
296msgid "Unlock SIM"
249−msgstr ""
297+msgstr "Dibrennañ ar gartenn SIM"
250
298
251#: qml/Panel/Indicators/RoamingIndication.qml:27
299#: qml/Panel/Indicators/RoamingIndication.qml:27
252msgid "Roaming"
300msgid "Roaming"
253−msgstr ""
301+msgstr "O kantren"
254
302
255#: qml/Shell.qml:266
303#: qml/Shell.qml:266
256msgid "Enter your passphrase"
304msgid "Enter your passphrase"
257−msgstr ""
305+msgstr "Ebarzhit ho frazenn-dremen"
258
306
259#: qml/Shell.qml:267
307#: qml/Shell.qml:267
260msgid "Sorry, incorrect passphrase"
308msgid "Sorry, incorrect passphrase"
309+msgstr "Siwazh, frazenn-dremen direizh"
310+
311+#: qml/Shell.qml:282
312+msgid "Enter your passcode"
261msgstr ""
313msgstr ""
262
314
263−#: qml/Shell.qml:269
315+#: qml/Shell.qml:283
264−msgid "Enter your PIN"
316+msgid "Sorry, incorrect passcode"
265msgstr ""
317msgstr ""
266
318
267#: qml/Shell.qml:273
319#: qml/Shell.qml:273
268#, qt-format
320#, qt-format
269msgid "Enter your %1"
321msgid "Enter your %1"
270−msgstr ""
322+msgstr "Ebarzhit ho %1"
271
323
272#: qml/Shell.qml:274
324#: qml/Shell.qml:274
273#, qt-format
325#, qt-format
274msgid "Sorry, incorrect %1"
326msgid "Sorry, incorrect %1"
275−msgstr ""
327+msgstr "Siwazh, %1 direizh"
276
328
277#: qml/Shell.qml:310
329#: qml/Shell.qml:310
278msgid "Sorry, incorrect passphrase."
330msgid "Sorry, incorrect passphrase."
279−msgstr ""
331+msgstr "Siwazh, frazenn-dremen direizh"
280
332
281#: qml/Shell.qml:311
333#: qml/Shell.qml:311
282msgid "Sorry, incorrect passcode."
334msgid "Sorry, incorrect passcode."
283−msgstr ""
335+msgstr "Siwazh, kod-tremen direizh"
284
336
285#: qml/Shell.qml:312
337#: qml/Shell.qml:312
286msgid "This will be your last attempt."
338msgid "This will be your last attempt."
287−msgstr ""
339+msgstr "Ho taol-esae diwezhañ e vo."
288
340
289#: qml/Shell.qml:314
341#: qml/Shell.qml:314
290msgid ""
342msgid ""
291"If passphrase is entered incorrectly, your phone will conduct a factory "
343"If passphrase is entered incorrectly, your phone will conduct a factory "
292"reset and all personal data will be deleted."
344"reset and all personal data will be deleted."
293msgstr ""
345msgstr ""
346+"Ma vez ebarzhet ur frazenn-dremen direizh, e vo adderaouekaet ho pellgomzer "
347+"gant arventennoù al labouradeg hag e vo diverket an holl roadennoù personel"
294
348
295#: qml/Shell.qml:315
349#: qml/Shell.qml:315
296msgid ""
350msgid ""
297"If passcode is entered incorrectly, your phone will conduct a factory reset "
351"If passcode is entered incorrectly, your phone will conduct a factory reset "
298"and all personal data will be deleted."
352"and all personal data will be deleted."
299msgstr ""
353msgstr ""
354+"Ma vez ebarzhet ur c'hod-tremen direizh, e vo adderaouekaet ho pellgomzer "
355+"gant arventennoù al labouradeg hag e vo diverket an holl roadennoù personel."
300
356
301−#~ msgid "CANCEL"
357+#~ msgid "Are you sure you would like to turn power off?"
302−#~ msgstr "NULLAÑ"
358+#~ msgstr "Ha sur oc'h e fell deoc'h lazhañ ar benveg ?"
303
359
304−#~ msgid "DONE"
360+#~ msgid "Restart"
305−#~ msgstr "ECHU"
361+#~ msgstr "Adloc'hañ"
306
362
307−#~ msgid "Please enter SIM PIN"
363+#~ msgid "Enter your PIN"
308−#~ msgstr "Ebarzhit kod PIN ho kartenn SIM, mar plij"
364+#~ msgstr "Ebarzhit ho kod PIN"
po/bs.po+62−10
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-01-16 22:33+0000\n"
11"PO-Revision-Date: 2014-01-16 22:33+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Bosnian <bs@li.org>\n"
13"Language-Team: Bosnian <bs@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−"X-Launchpad-Export-Date: 2014-08-23 07:16+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:29+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr ""
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr ""
31msgstr ""
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -129,6 +165,18 @@ msgstr ""
129msgid "Search"
165msgid "Search"
130msgstr ""
166msgstr ""
131
167
168+#: qml/Dash/PageHeader.qml:270
169+msgid "Settings"
170+msgstr ""
171+
172+#: qml/Dash/PageHeader.qml:279
173+msgid "Remove from Favorites"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Add to Favorites"
178+msgstr ""
179+
132#: qml/Dash/Previews/PreviewActionCombo.qml:34
180#: qml/Dash/Previews/PreviewActionCombo.qml:34
133msgid "More..."
181msgid "More..."
134msgstr ""
182msgstr ""
@@ -253,8 +301,12 @@ msgstr ""
253msgid "Sorry, incorrect passphrase"
301msgid "Sorry, incorrect passphrase"
254msgstr ""
302msgstr ""
255
303
256−#: qml/Shell.qml:269
304+#: qml/Shell.qml:282
257−msgid "Enter your PIN"
305+msgid "Enter your passcode"
306+msgstr ""
307+
308+#: qml/Shell.qml:283
309+msgid "Sorry, incorrect passcode"
258msgstr ""
310msgstr ""
259
311
260#: qml/Shell.qml:273
312#: qml/Shell.qml:273
po/ca.po+75−36
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11−"PO-Revision-Date: 2014-08-17 03:42+0000\n"
11+"PO-Revision-Date: 2014-08-27 14:23+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"
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−"X-Launchpad-Export-Date: 2014-08-23 07:16+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,18 +30,54 @@ msgstr "Enganxa la drecera"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "Desenganxa la drecera"
31msgstr "Desenganxa la drecera"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
65+msgstr ""
66+
67+#: qml/Components/Dialogs.qml:144
68+msgid "Power"
69+msgstr ""
70+
71+#: qml/Components/Dialogs.qml:145
72+msgid ""
34−msgid "Are you sure you would like to turn power off?"
73+"Are you sure you would like\n"
35−msgstr "Segur que voleu apagar el dispositiu?"
74+"to power off?"
75+msgstr ""
36
76
37#: qml/Components/Dialogs.qml:144
77#: qml/Components/Dialogs.qml:144
38msgid "Power off"
78msgid "Power off"
39msgstr "Apaga'l"
79msgstr "Apaga'l"
40
80
41−#: qml/Components/Dialogs.qml:153
42−msgid "Restart"
43−msgstr "Reinicia'l"
44−
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
46msgid "Cancel"
82msgid "Cancel"
47msgstr "Cancel·la"
83msgstr "Cancel·la"
@@ -137,6 +173,18 @@ msgstr "Mostra-ho tot"
137msgid "Search"
173msgid "Search"
138msgstr "Cerca"
174msgstr "Cerca"
139
175
176+#: qml/Dash/PageHeader.qml:270
177+msgid "Settings"
178+msgstr ""
179+
180+#: qml/Dash/PageHeader.qml:279
181+msgid "Remove from Favorites"
182+msgstr ""
183+
184+#: qml/Dash/PageHeader.qml:279
185+msgid "Add to Favorites"
186+msgstr ""
187+
140#: qml/Dash/Previews/PreviewActionCombo.qml:34
188#: qml/Dash/Previews/PreviewActionCombo.qml:34
141msgid "More..."
189msgid "More..."
142msgstr "Més..."
190msgstr "Més..."
@@ -207,11 +255,11 @@ msgstr "Mostra la contrasenya"
207
255
208#: qml/Notifications/NotificationMenuItemFactory.qml:120
256#: qml/Notifications/NotificationMenuItemFactory.qml:120
209msgid "Enter SIM PIN"
257msgid "Enter SIM PIN"
210−msgstr ""
258+msgstr "Introduïu el PIN de la tarjeta SIM"
211
259
212#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
260#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
213msgid "Sorry, incorrect PIN"
261msgid "Sorry, incorrect PIN"
214−msgstr ""
262+msgstr "El PIN no és correcte"
215
263
216#: qml/Panel/ActiveCallHint.qml:77
264#: qml/Panel/ActiveCallHint.qml:77
217msgid "Tap to return to call..."
265msgid "Tap to return to call..."
@@ -255,14 +303,18 @@ msgstr "Itinerància"
255
303
256#: qml/Shell.qml:266
304#: qml/Shell.qml:266
257msgid "Enter your passphrase"
305msgid "Enter your passphrase"
258−msgstr ""
306+msgstr "Escriviu la contrasenya"
259
307
260#: qml/Shell.qml:267
308#: qml/Shell.qml:267
261msgid "Sorry, incorrect passphrase"
309msgid "Sorry, incorrect passphrase"
310+msgstr "La contrasenya no és correcta"
311+
312+#: qml/Shell.qml:282
313+msgid "Enter your passcode"
262msgstr ""
314msgstr ""
263
315
264−#: qml/Shell.qml:269
316+#: qml/Shell.qml:283
265−msgid "Enter your PIN"
317+msgid "Sorry, incorrect passcode"
266msgstr ""
318msgstr ""
267
319
268#: qml/Shell.qml:273
320#: qml/Shell.qml:273
@@ -273,7 +325,7 @@ msgstr "Introduïu la %1"
273#: qml/Shell.qml:274
325#: qml/Shell.qml:274
274#, qt-format
326#, qt-format
275msgid "Sorry, incorrect %1"
327msgid "Sorry, incorrect %1"
276−msgstr ""
328+msgstr "Incorrecte (%1)"
277
329
278#: qml/Shell.qml:310
330#: qml/Shell.qml:310
279msgid "Sorry, incorrect passphrase."
331msgid "Sorry, incorrect passphrase."
@@ -304,24 +356,11 @@ msgstr ""
304"Si la clau s'introdueix de manera incorrecta, el telèfon es reinicialitzarà "
356"Si la clau s'introdueix de manera incorrecta, el telèfon es reinicialitzarà "
305"a l'estat de fàbrica i se suprimiran totes les dades personals."
357"a l'estat de fàbrica i se suprimiran totes les dades personals."
306
358
307−#~ msgid "Please enter SIM PIN"
359+#~ msgid "Are you sure you would like to turn power off?"
308−#~ msgstr "Introduïu el PIN de la targeta SIM"
360+#~ msgstr "Segur que voleu apagar el dispositiu?"
309−
310−#~ msgid "DONE"
311−#~ msgstr "Fet"
312
361
313−#~ msgid "CANCEL"
362+#~ msgid "Restart"
314−#~ msgstr "Cancel·la"
363+#~ msgstr "Reinicia'l"
315
364
316−#~ msgid "passphrase"
365+#~ msgid "Enter your PIN"
317−#~ msgstr "contrasenya"
366+#~ msgstr "Escriviu el PIN"
318−
319−#~ msgid "Please re-enter"
320−#~ msgstr "Torneu-la a introduir"
321−
322−#~ msgid "passcode"
323−#~ msgstr "clau"
324−
325−#, qt-format
326−#~ msgid "Incorrect %1"
327−#~ msgstr "La %1 és incorrecta"
po/ckb.po+62−10
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\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"
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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr ""
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr ""
31msgstr ""
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -129,6 +165,18 @@ msgstr ""
129msgid "Search"
165msgid "Search"
130msgstr "گەڕان"
166msgstr "گەڕان"
131
167
168+#: qml/Dash/PageHeader.qml:270
169+msgid "Settings"
170+msgstr ""
171+
172+#: qml/Dash/PageHeader.qml:279
173+msgid "Remove from Favorites"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Add to Favorites"
178+msgstr ""
179+
132#: qml/Dash/Previews/PreviewActionCombo.qml:34
180#: qml/Dash/Previews/PreviewActionCombo.qml:34
133msgid "More..."
181msgid "More..."
134msgstr ""
182msgstr ""
@@ -253,8 +301,12 @@ msgstr ""
253msgid "Sorry, incorrect passphrase"
301msgid "Sorry, incorrect passphrase"
254msgstr ""
302msgstr ""
255
303
256−#: qml/Shell.qml:269
304+#: qml/Shell.qml:282
257−msgid "Enter your PIN"
305+msgid "Enter your passcode"
306+msgstr ""
307+
308+#: qml/Shell.qml:283
309+msgid "Sorry, incorrect passcode"
258msgstr ""
310msgstr ""
259
311
260#: qml/Shell.qml:273
312#: qml/Shell.qml:273
po/cs.po+62−10
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-01-08 10:11+0000\n"
11"PO-Revision-Date: 2014-01-08 10:11+0000\n"
12"Last-Translator: Tadeáš Pařík <tadeas.parik@gmail.com>\n"
12"Last-Translator: Tadeáš Pařík <tadeas.parik@gmail.com>\n"
13"Language-Team: Czech <cs@li.org>\n"
13"Language-Team: Czech <cs@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−"X-Launchpad-Export-Date: 2014-08-23 07:16+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr ""
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr ""
31msgstr ""
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -129,6 +165,18 @@ msgstr ""
129msgid "Search"
165msgid "Search"
130msgstr "Hledat"
166msgstr "Hledat"
131
167
168+#: qml/Dash/PageHeader.qml:270
169+msgid "Settings"
170+msgstr ""
171+
172+#: qml/Dash/PageHeader.qml:279
173+msgid "Remove from Favorites"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Add to Favorites"
178+msgstr ""
179+
132#: qml/Dash/Previews/PreviewActionCombo.qml:34
180#: qml/Dash/Previews/PreviewActionCombo.qml:34
133msgid "More..."
181msgid "More..."
134msgstr ""
182msgstr ""
@@ -253,8 +301,12 @@ msgstr ""
253msgid "Sorry, incorrect passphrase"
301msgid "Sorry, incorrect passphrase"
254msgstr ""
302msgstr ""
255
303
256−#: qml/Shell.qml:269
304+#: qml/Shell.qml:282
257−msgid "Enter your PIN"
305+msgid "Enter your passcode"
306+msgstr ""
307+
308+#: qml/Shell.qml:283
309+msgid "Sorry, incorrect passcode"
258msgstr ""
310msgstr ""
259
311
260#: qml/Shell.qml:273
312#: qml/Shell.qml:273
po/da.po+62−19
@@ -8,15 +8,15 @@ 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: 2014-08-21 11:36+0200\n"
11+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
12"PO-Revision-Date: 2014-07-30 12:37+0000\n"
12"PO-Revision-Date: 2014-07-30 12:37+0000\n"
13"Last-Translator: Ask Hjorth Larsen <asklarsen@gmail.com>\n"
13"Last-Translator: Ask Hjorth Larsen <asklarsen@gmail.com>\n"
14"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
14"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
15"MIME-Version: 1.0\n"
15"MIME-Version: 1.0\n"
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−"X-Launchpad-Export-Date: 2014-08-23 07:16+0000\n"
18+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
19−"X-Generator: Launchpad (build 17163)\n"
19+"X-Generator: Launchpad (build 17174)\n"
20
20
21#: plugins/LightDM/Greeter.cpp:129
21#: plugins/LightDM/Greeter.cpp:129
22msgid "Password: "
22msgid "Password: "
@@ -31,16 +31,52 @@ msgstr "Fastgør genvej"
31msgid "Unpin shortcut"
31msgid "Unpin shortcut"
32msgstr "Gør genvej flytbar"
32msgstr "Gør genvej flytbar"
33
33
34−#: qml/Components/Dialogs.qml:142
34+#: qml/Components/Dialogs.qml:70
35−msgid "Are you sure you would like to turn power off?"
35+msgid "Log out"
36+msgstr ""
37+
38+#: qml/Components/Dialogs.qml:71
39+msgid "Are you sure you want to log out?"
40+msgstr ""
41+
42+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
43+#: qml/Components/Dialogs.qml:122
44+msgid "No"
45+msgstr ""
46+
47+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
48+#: qml/Components/Dialogs.qml:129
49+msgid "Yes"
50+msgstr ""
51+
52+#: qml/Components/Dialogs.qml:94
53+msgid "Shut down"
54+msgstr ""
55+
56+#: qml/Components/Dialogs.qml:95
57+msgid "Are you sure you want to shut down?"
58+msgstr ""
59+
60+#: qml/Components/Dialogs.qml:119
61+msgid "Reboot"
62+msgstr ""
63+
64+#: qml/Components/Dialogs.qml:120
65+msgid "Are you sure you want to reboot?"
36msgstr ""
66msgstr ""
37
67
38#: qml/Components/Dialogs.qml:144
68#: qml/Components/Dialogs.qml:144
39−msgid "Power off"
69+msgid "Power"
40msgstr ""
70msgstr ""
41
71
42−#: qml/Components/Dialogs.qml:153
72+#: qml/Components/Dialogs.qml:145
43−msgid "Restart"
73+msgid ""
74+"Are you sure you would like\n"
75+"to power off?"
76+msgstr ""
77+
78+#: qml/Components/Dialogs.qml:144
79+msgid "Power off"
44msgstr ""
80msgstr ""
45
81
46#: qml/Components/Dialogs.qml:162
82#: qml/Components/Dialogs.qml:162
@@ -132,6 +168,18 @@ msgstr "Se alle"
132msgid "Search"
168msgid "Search"
133msgstr "Søg"
169msgstr "Søg"
134
170
171+#: qml/Dash/PageHeader.qml:270
172+msgid "Settings"
173+msgstr ""
174+
175+#: qml/Dash/PageHeader.qml:279
176+msgid "Remove from Favorites"
177+msgstr ""
178+
179+#: qml/Dash/PageHeader.qml:279
180+msgid "Add to Favorites"
181+msgstr ""
182+
135#: qml/Dash/Previews/PreviewActionCombo.qml:34
183#: qml/Dash/Previews/PreviewActionCombo.qml:34
136msgid "More..."
184msgid "More..."
137msgstr "Mere..."
185msgstr "Mere..."
@@ -256,8 +304,12 @@ msgstr ""
256msgid "Sorry, incorrect passphrase"
304msgid "Sorry, incorrect passphrase"
257msgstr ""
305msgstr ""
258
306
259−#: qml/Shell.qml:269
307+#: qml/Shell.qml:282
260−msgid "Enter your PIN"
308+msgid "Enter your passcode"
309+msgstr ""
310+
311+#: qml/Shell.qml:283
312+msgid "Sorry, incorrect passcode"
261msgstr ""
313msgstr ""
262
314
263#: qml/Shell.qml:273
315#: qml/Shell.qml:273
@@ -293,12 +345,3 @@ msgid ""
293"If passcode is entered incorrectly, your phone will conduct a factory reset "
345"If passcode is entered incorrectly, your phone will conduct a factory reset "
294"and all personal data will be deleted."
346"and all personal data will be deleted."
295msgstr ""
347msgstr ""
296−
297−#~ msgid "CANCEL"
298−#~ msgstr "ANNULLÉR"
299−
300−#~ msgid "DONE"
301−#~ msgstr "FÆRDIG"
302−
303−#~ msgid "Please enter SIM PIN"
304−#~ msgstr "Indtast venligst PIN for SIM"
po/de.po+90−57
@@ -7,17 +7,17 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11−"PO-Revision-Date: 2014-08-21 16:18+0000\n"
11+"PO-Revision-Date: 2014-08-29 13:00+0000\n"
12"Last-Translator: Martin Pitt <martin.pitt@ubuntu.com>\n"
12"Last-Translator: Martin Pitt <martin.pitt@ubuntu.com>\n"
13"Language-Team: German <de@li.org>\n"
13"Language-Team: German <de@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-30 07:46+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17176)\n"
19
19
20−#: plugins/LightDM/Greeter.cpp:129
20+#: plugins/LightDM/Greeter.cpp:130
21msgid "Password: "
21msgid "Password: "
22msgstr "Passwort: "
22msgstr "Passwort: "
23
23
@@ -30,19 +30,57 @@ msgstr "Verknüpfung anheften"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "Verknüpfung entfernen"
31msgstr "Verknüpfung entfernen"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr "Abmelden"
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr "Sind Sie sicher dass Sie sich abmelden wollen?"
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr "Nein"
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr "Ja"
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr "Herunterfahren"
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
35−msgstr "Sind Sie sicher dass das Telefon ausgeschaltet werden soll?"
57+msgstr "Sind Sie sicher dass Sie ausschalten wollen?"
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr "Neustart"
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
65+msgstr "Sind Sie sicher dass Sie neu starten wollen?"
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
68+msgid "Power"
69+msgstr "Energie"
70+
71+#: qml/Components/Dialogs.qml:145
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+"Sind Sie sicher dass Sie\n"
77+"ausschalten wollen?"
78+
79+#: qml/Components/Dialogs.qml:147
38msgid "Power off"
80msgid "Power off"
39msgstr "Ausschalten"
81msgstr "Ausschalten"
40
82
41−#: qml/Components/Dialogs.qml:153
83+#: qml/Components/Dialogs.qml:157
42−msgid "Restart"
43−msgstr "Neustart"
44−
45−#: qml/Components/Dialogs.qml:162
46msgid "Cancel"
84msgid "Cancel"
47msgstr "Abbrechen"
85msgstr "Abbrechen"
48
86
@@ -130,10 +168,23 @@ msgstr "Weniger ansehen"
130msgid "See all"
168msgid "See all"
131msgstr "Alle anzeigen"
169msgstr "Alle anzeigen"
132
170
133−#: qml/Dash/GenericScopeView.qml:424 qml/Panel/SearchIndicator.qml:27
171+#: qml/Dash/GenericScopeView.qml:424 qml/Dash/PageHeader.qml:260
172+#: qml/Panel/SearchIndicator.qml:27
134msgid "Search"
173msgid "Search"
135msgstr "Suchen"
174msgstr "Suchen"
136
175
176+#: qml/Dash/PageHeader.qml:270
177+msgid "Settings"
178+msgstr "Einstellungen"
179+
180+#: qml/Dash/PageHeader.qml:279
181+msgid "Remove from Favorites"
182+msgstr "Aus den Favoriten entfernen"
183+
184+#: qml/Dash/PageHeader.qml:279
185+msgid "Add to Favorites"
186+msgstr "Zu Favoriten hinzufügen"
187+
137#: qml/Dash/Previews/PreviewActionCombo.qml:34
188#: qml/Dash/Previews/PreviewActionCombo.qml:34
138msgid "More..."
189msgid "More..."
139msgstr "Mehr …"
190msgstr "Mehr …"
@@ -158,11 +209,11 @@ msgstr "Senden"
158msgid "Manage Dash"
209msgid "Manage Dash"
159msgstr "Dash verwalten"
210msgstr "Dash verwalten"
160
211
161−#: qml/Dash/ScopesOverview.qml:408
212+#: qml/Dash/ScopesOverview.qml:417
162msgid "Done"
213msgid "Done"
163msgstr "Erledigt"
214msgstr "Erledigt"
164
215
165−#: qml/Dash/ScopesOverview.qml:434
216+#: qml/Dash/ScopesOverview.qml:443
166msgid "Store"
217msgid "Store"
167msgstr "Store"
218msgstr "Store"
168
219
@@ -178,7 +229,7 @@ msgstr "Alle"
178msgid "Swipe to unlock"
229msgid "Swipe to unlock"
179msgstr "Wischen zum Entsperren"
230msgstr "Wischen zum Entsperren"
180
231
181−#: qml/Hud/HudParametrizedActionsPage.qml:132
232+#: qml/Hud/HudParametrizedActionsPage.qml:139
182msgid "Confirm"
233msgid "Confirm"
183msgstr "Bestätigen"
234msgstr "Bestätigen"
184
235
@@ -204,11 +255,11 @@ msgstr "Passwort anzeigen"
204
255
205#: qml/Notifications/NotificationMenuItemFactory.qml:120
256#: qml/Notifications/NotificationMenuItemFactory.qml:120
206msgid "Enter SIM PIN"
257msgid "Enter SIM PIN"
207−msgstr ""
258+msgstr "Geben Sie die SIM-PIN ein"
208
259
209−#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
260+#: qml/Notifications/NotificationMenuItemFactory.qml:121
210msgid "Sorry, incorrect PIN"
261msgid "Sorry, incorrect PIN"
211−msgstr ""
262+msgstr "Die PIN ist nicht korrekt"
212
263
213#: qml/Panel/ActiveCallHint.qml:77
264#: qml/Panel/ActiveCallHint.qml:77
214msgid "Tap to return to call..."
265msgid "Tap to return to call..."
@@ -250,41 +301,45 @@ msgstr "SIM-Karte entsprerren"
250msgid "Roaming"
301msgid "Roaming"
251msgstr "Roaming"
302msgstr "Roaming"
252
303
253−#: qml/Shell.qml:266
304+#: qml/Shell.qml:279
254msgid "Enter your passphrase"
305msgid "Enter your passphrase"
255−msgstr ""
306+msgstr "Geben Sie Ihr Passwort ein"
256
307
257−#: qml/Shell.qml:267
308+#: qml/Shell.qml:280
258msgid "Sorry, incorrect passphrase"
309msgid "Sorry, incorrect passphrase"
259−msgstr ""
310+msgstr "Das Passwort ist nicht korrekt"
260
311
261−#: qml/Shell.qml:269
312+#: qml/Shell.qml:282
262−msgid "Enter your PIN"
313+msgid "Enter your passcode"
263−msgstr ""
314+msgstr "Passwort eingeben"
264
315
265−#: qml/Shell.qml:273
316+#: qml/Shell.qml:283
317+msgid "Sorry, incorrect passcode"
318+msgstr "Falsches Passwort"
319+
320+#: qml/Shell.qml:286
266#, qt-format
321#, qt-format
267msgid "Enter your %1"
322msgid "Enter your %1"
268msgstr "%1 eingeben"
323msgstr "%1 eingeben"
269
324
270−#: qml/Shell.qml:274
325+#: qml/Shell.qml:287
271#, qt-format
326#, qt-format
272msgid "Sorry, incorrect %1"
327msgid "Sorry, incorrect %1"
273−msgstr ""
328+msgstr "%1 falsch"
274
329
275−#: qml/Shell.qml:310
330+#: qml/Shell.qml:323
276msgid "Sorry, incorrect passphrase."
331msgid "Sorry, incorrect passphrase."
277msgstr "Falsches Passwort."
332msgstr "Falsches Passwort."
278
333
279−#: qml/Shell.qml:311
334+#: qml/Shell.qml:324
280msgid "Sorry, incorrect passcode."
335msgid "Sorry, incorrect passcode."
281msgstr "Falsche PIN"
336msgstr "Falsche PIN"
282
337
283−#: qml/Shell.qml:312
338+#: qml/Shell.qml:325
284msgid "This will be your last attempt."
339msgid "This will be your last attempt."
285msgstr "Dies ist Ihr letzter Versuch."
340msgstr "Dies ist Ihr letzter Versuch."
286
341
287−#: qml/Shell.qml:314
342+#: qml/Shell.qml:327
288msgid ""
343msgid ""
289"If passphrase is entered incorrectly, your phone will conduct a factory "
344"If passphrase is entered incorrectly, your phone will conduct a factory "
290"reset and all personal data will be deleted."
345"reset and all personal data will be deleted."
@@ -292,32 +347,10 @@ msgstr ""
292"Wird das Passwort falsch eingegeben, wird das Telefon auf den Werkszustand "
347"Wird das Passwort falsch eingegeben, wird das Telefon auf den Werkszustand "
293"zurückgesetzt und alle Daten werden gelöscht."
348"zurückgesetzt und alle Daten werden gelöscht."
294
349
295−#: qml/Shell.qml:315
350+#: qml/Shell.qml:328
296msgid ""
351msgid ""
297"If passcode is entered incorrectly, your phone will conduct a factory reset "
352"If passcode is entered incorrectly, your phone will conduct a factory reset "
298"and all personal data will be deleted."
353"and all personal data will be deleted."
299msgstr ""
354msgstr ""
300"Wird die PIN falsch eingegeben, wird das Telefon auf den Werkszustand "
355"Wird die PIN falsch eingegeben, wird das Telefon auf den Werkszustand "
301"zurückgesetzt und alle Daten werden gelöscht."
356"zurückgesetzt und alle Daten werden gelöscht."
302−
303−#~ msgid "Please enter SIM PIN"
304−#~ msgstr "Bitte die PIN der SIM eingeben"
305−
306−#~ msgid "CANCEL"
307−#~ msgstr "ABBRECHEN"
308−
309−#~ msgid "DONE"
310−#~ msgstr "ERLEDIGT"
311−
312−#~ msgid "passphrase"
313−#~ msgstr "Passwort"
314−
315−#, qt-format
316−#~ msgid "Incorrect %1"
317−#~ msgstr "%1 falsch"
318−
319−#~ msgid "passcode"
320−#~ msgstr "Passwort"
321−
322−#~ msgid "Please re-enter"
323−#~ msgstr "Bitte neu eingeben"
po/el.po+65−22
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-08-21 12:06+0000\n"
11"PO-Revision-Date: 2014-08-21 12:06+0000\n"
12"Last-Translator: Chris Taklis (aka Kailor) <ctaklis@gmail.com>\n"
12"Last-Translator: Chris Taklis (aka Kailor) <ctaklis@gmail.com>\n"
13"Language-Team: Greek <el@li.org>\n"
13"Language-Team: Greek <el@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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,18 +30,54 @@ msgstr "Καρφίτσωμα συντόμευσης"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "Ξεκαρφίτσωμα συντόμευσης"
31msgstr "Ξεκαρφίτσωμα συντόμευσης"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
65+msgstr ""
66+
67+#: qml/Components/Dialogs.qml:144
68+msgid "Power"
69+msgstr ""
70+
71+#: qml/Components/Dialogs.qml:145
72+msgid ""
34−msgid "Are you sure you would like to turn power off?"
73+"Are you sure you would like\n"
74+"to power off?"
35msgstr ""
75msgstr ""
36
76
37#: qml/Components/Dialogs.qml:144
77#: qml/Components/Dialogs.qml:144
38msgid "Power off"
78msgid "Power off"
39msgstr "Τερματισμός"
79msgstr "Τερματισμός"
40
80
41−#: qml/Components/Dialogs.qml:153
42−msgid "Restart"
43−msgstr "Επανεκκίνηση"
44−
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
46msgid "Cancel"
82msgid "Cancel"
47msgstr "Ακύρωση"
83msgstr "Ακύρωση"
@@ -133,6 +169,18 @@ msgstr "Εμφάνιση όλων"
133msgid "Search"
169msgid "Search"
134msgstr "Αναζήτηση"
170msgstr "Αναζήτηση"
135
171
172+#: qml/Dash/PageHeader.qml:270
173+msgid "Settings"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Remove from Favorites"
178+msgstr ""
179+
180+#: qml/Dash/PageHeader.qml:279
181+msgid "Add to Favorites"
182+msgstr ""
183+
136#: qml/Dash/Previews/PreviewActionCombo.qml:34
184#: qml/Dash/Previews/PreviewActionCombo.qml:34
137msgid "More..."
185msgid "More..."
138msgstr "Περισσότερα..."
186msgstr "Περισσότερα..."
@@ -257,8 +305,12 @@ msgstr ""
257msgid "Sorry, incorrect passphrase"
305msgid "Sorry, incorrect passphrase"
258msgstr ""
306msgstr ""
259
307
260−#: qml/Shell.qml:269
308+#: qml/Shell.qml:282
261−msgid "Enter your PIN"
309+msgid "Enter your passcode"
310+msgstr ""
311+
312+#: qml/Shell.qml:283
313+msgid "Sorry, incorrect passcode"
262msgstr ""
314msgstr ""
263
315
264#: qml/Shell.qml:273
316#: qml/Shell.qml:273
@@ -295,14 +347,5 @@ msgid ""
295"and all personal data will be deleted."
347"and all personal data will be deleted."
296msgstr ""
348msgstr ""
297
349
298−#~ msgid "Please enter SIM PIN"
350+#~ msgid "Restart"
299−#~ msgstr "Παρακαλώ εισάγετε το PIN της κάρτας SIM"
351+#~ msgstr "Επανεκκίνηση"
300−
301−#~ msgid "DONE"
302−#~ msgstr "ΟΛΟΚΛΗΡΩΣΗ"
303−
304−#~ msgid "CANCEL"
305−#~ msgstr "ΑΚΥΡΩΣΗ"
306−
307−#~ msgid "Please re-enter"
308−#~ msgstr "Παρακαλούμε εισάγετε ξανά"
po/en_AU.po+75−36
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11−"PO-Revision-Date: 2014-08-17 09:06+0000\n"
11+"PO-Revision-Date: 2014-08-27 09:59+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"
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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,18 +30,54 @@ msgstr "Pin shortcut"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "Unpin shortcut"
31msgstr "Unpin shortcut"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
65+msgstr ""
66+
67+#: qml/Components/Dialogs.qml:144
68+msgid "Power"
69+msgstr ""
70+
71+#: qml/Components/Dialogs.qml:145
72+msgid ""
35−msgstr "Are you sure you would like to turn power off?"
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
36
76
37#: qml/Components/Dialogs.qml:144
77#: qml/Components/Dialogs.qml:144
38msgid "Power off"
78msgid "Power off"
39msgstr "Power off"
79msgstr "Power off"
40
80
41−#: qml/Components/Dialogs.qml:153
42−msgid "Restart"
43−msgstr "Restart"
44−
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
46msgid "Cancel"
82msgid "Cancel"
47msgstr "Cancel"
83msgstr "Cancel"
@@ -131,6 +167,18 @@ msgstr "See all"
131msgid "Search"
167msgid "Search"
132msgstr "Search"
168msgstr "Search"
133
169
170+#: qml/Dash/PageHeader.qml:270
171+msgid "Settings"
172+msgstr ""
173+
174+#: qml/Dash/PageHeader.qml:279
175+msgid "Remove from Favorites"
176+msgstr ""
177+
178+#: qml/Dash/PageHeader.qml:279
179+msgid "Add to Favorites"
180+msgstr ""
181+
134#: qml/Dash/Previews/PreviewActionCombo.qml:34
182#: qml/Dash/Previews/PreviewActionCombo.qml:34
135msgid "More..."
183msgid "More..."
136msgstr "More..."
184msgstr "More..."
@@ -201,11 +249,11 @@ msgstr "Show password"
201
249
202#: qml/Notifications/NotificationMenuItemFactory.qml:120
250#: qml/Notifications/NotificationMenuItemFactory.qml:120
203msgid "Enter SIM PIN"
251msgid "Enter SIM PIN"
204−msgstr ""
252+msgstr "Enter SIM PIN"
205
253
206#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
254#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
207msgid "Sorry, incorrect PIN"
255msgid "Sorry, incorrect PIN"
208−msgstr ""
256+msgstr "Sorry, incorrect PIN"
209
257
210#: qml/Panel/ActiveCallHint.qml:77
258#: qml/Panel/ActiveCallHint.qml:77
211msgid "Tap to return to call..."
259msgid "Tap to return to call..."
@@ -249,14 +297,18 @@ msgstr "Roaming"
249
297
250#: qml/Shell.qml:266
298#: qml/Shell.qml:266
251msgid "Enter your passphrase"
299msgid "Enter your passphrase"
252−msgstr ""
300+msgstr "Enter your passphrase"
253
301
254#: qml/Shell.qml:267
302#: qml/Shell.qml:267
255msgid "Sorry, incorrect passphrase"
303msgid "Sorry, incorrect passphrase"
304+msgstr "Sorry, incorrect passphrase"
305+
306+#: qml/Shell.qml:282
307+msgid "Enter your passcode"
256msgstr ""
308msgstr ""
257
309
258−#: qml/Shell.qml:269
310+#: qml/Shell.qml:283
259−msgid "Enter your PIN"
311+msgid "Sorry, incorrect passcode"
260msgstr ""
312msgstr ""
261
313
262#: qml/Shell.qml:273
314#: qml/Shell.qml:273
@@ -267,7 +319,7 @@ msgstr "Enter your %1"
267#: qml/Shell.qml:274
319#: qml/Shell.qml:274
268#, qt-format
320#, qt-format
269msgid "Sorry, incorrect %1"
321msgid "Sorry, incorrect %1"
270−msgstr ""
322+msgstr "Sorry, incorrect %1"
271
323
272#: qml/Shell.qml:310
324#: qml/Shell.qml:310
273msgid "Sorry, incorrect passphrase."
325msgid "Sorry, incorrect passphrase."
@@ -297,24 +349,11 @@ msgstr ""
297"If passcode is entered incorrectly, your phone will conduct a factory reset "
349"If passcode is entered incorrectly, your phone will conduct a factory reset "
298"and all personal data will be deleted."
350"and all personal data will be deleted."
299
351
300−#~ msgid "CANCEL"
352+#~ msgid "Are you sure you would like to turn power off?"
301−#~ msgstr "CANCEL"
353+#~ msgstr "Are you sure you would like to turn power off?"
302−
303−#~ msgid "DONE"
304−#~ msgstr "DONE"
305−
306−#~ msgid "Please enter SIM PIN"
307−#~ msgstr "Please enter SIM PIN"
308−
309−#~ msgid "passphrase"
310−#~ msgstr "passphrase"
311−
312−#, qt-format
313−#~ msgid "Incorrect %1"
314−#~ msgstr "Incorrect %1"
315
354
316−#~ msgid "Please re-enter"
355+#~ msgid "Restart"
317−#~ msgstr "Please re-enter"
356+#~ msgstr "Restart"
318
357
319−#~ msgid "passcode"
358+#~ msgid "Enter your PIN"
320−#~ msgstr "passcode"
359+#~ msgstr "Enter your PIN"
po/en_GB.po+71−32
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-08-23 13:48+0000\n"
11"PO-Revision-Date: 2014-08-23 13:48+0000\n"
12"Last-Translator: Alan Pope ㋛ <alan@ubuntu.com>\n"
12"Last-Translator: Alan Pope ㋛ <alan@ubuntu.com>\n"
13"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
13"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-08-24 06:46+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,18 +30,54 @@ msgstr "Pin shortcut"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "Unpin shortcut"
31msgstr "Unpin shortcut"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
65+msgstr ""
66+
67+#: qml/Components/Dialogs.qml:144
68+msgid "Power"
69+msgstr ""
70+
71+#: qml/Components/Dialogs.qml:145
72+msgid ""
35−msgstr "Are you sure you would like to turn power off?"
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
36
76
37#: qml/Components/Dialogs.qml:144
77#: qml/Components/Dialogs.qml:144
38msgid "Power off"
78msgid "Power off"
39msgstr "Power off"
79msgstr "Power off"
40
80
41−#: qml/Components/Dialogs.qml:153
42−msgid "Restart"
43−msgstr "Restart"
44−
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
46msgid "Cancel"
82msgid "Cancel"
47msgstr "Cancel"
83msgstr "Cancel"
@@ -131,6 +167,18 @@ msgstr "See all"
131msgid "Search"
167msgid "Search"
132msgstr "Search"
168msgstr "Search"
133
169
170+#: qml/Dash/PageHeader.qml:270
171+msgid "Settings"
172+msgstr ""
173+
174+#: qml/Dash/PageHeader.qml:279
175+msgid "Remove from Favorites"
176+msgstr ""
177+
178+#: qml/Dash/PageHeader.qml:279
179+msgid "Add to Favorites"
180+msgstr ""
181+
134#: qml/Dash/Previews/PreviewActionCombo.qml:34
182#: qml/Dash/Previews/PreviewActionCombo.qml:34
135msgid "More..."
183msgid "More..."
136msgstr "More..."
184msgstr "More..."
@@ -255,9 +303,13 @@ msgstr "Enter your passphrase"
255msgid "Sorry, incorrect passphrase"
303msgid "Sorry, incorrect passphrase"
256msgstr "Sorry, incorrect passphrase"
304msgstr "Sorry, incorrect passphrase"
257
305
258−#: qml/Shell.qml:269
306+#: qml/Shell.qml:282
259−msgid "Enter your PIN"
307+msgid "Enter your passcode"
260−msgstr "Enter your PIN"
308+msgstr ""
309+
310+#: qml/Shell.qml:283
311+msgid "Sorry, incorrect passcode"
312+msgstr ""
261
313
262#: qml/Shell.qml:273
314#: qml/Shell.qml:273
263#, qt-format
315#, qt-format
@@ -297,24 +349,11 @@ msgstr ""
297"If passcode is entered incorrectly, your phone will conduct a factory reset "
349"If passcode is entered incorrectly, your phone will conduct a factory reset "
298"and all personal data will be deleted."
350"and all personal data will be deleted."
299
351
300−#~ msgid "Please enter SIM PIN"
352+#~ msgid "Are you sure you would like to turn power off?"
301−#~ msgstr "Please enter SIM PIN"
353+#~ msgstr "Are you sure you would like to turn power off?"
302−
303−#~ msgid "CANCEL"
304−#~ msgstr "CANCEL"
305−
306−#~ msgid "DONE"
307−#~ msgstr "DONE"
308−
309−#~ msgid "passphrase"
310−#~ msgstr "passphrase"
311−
312−#, qt-format
313−#~ msgid "Incorrect %1"
314−#~ msgstr "Incorrect %1"
315
354
316−#~ msgid "Please re-enter"
355+#~ msgid "Restart"
317−#~ msgstr "Please re-enter"
356+#~ msgstr "Restart"
318
357
319−#~ msgid "passcode"
358+#~ msgid "Enter your PIN"
320−#~ msgstr "passcode"
359+#~ msgstr "Enter your PIN"
po/eo.po+62−10
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2013-06-26 22:35+0000\n"
11"PO-Revision-Date: 2013-06-26 22:35+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Esperanto <eo@li.org>\n"
13"Language-Team: Esperanto <eo@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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr ""
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr ""
31msgstr ""
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -129,6 +165,18 @@ msgstr ""
129msgid "Search"
165msgid "Search"
130msgstr ""
166msgstr ""
131
167
168+#: qml/Dash/PageHeader.qml:270
169+msgid "Settings"
170+msgstr ""
171+
172+#: qml/Dash/PageHeader.qml:279
173+msgid "Remove from Favorites"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Add to Favorites"
178+msgstr ""
179+
132#: qml/Dash/Previews/PreviewActionCombo.qml:34
180#: qml/Dash/Previews/PreviewActionCombo.qml:34
133msgid "More..."
181msgid "More..."
134msgstr ""
182msgstr ""
@@ -253,8 +301,12 @@ msgstr ""
253msgid "Sorry, incorrect passphrase"
301msgid "Sorry, incorrect passphrase"
254msgstr ""
302msgstr ""
255
303
256−#: qml/Shell.qml:269
304+#: qml/Shell.qml:282
257−msgid "Enter your PIN"
305+msgid "Enter your passcode"
306+msgstr ""
307+
308+#: qml/Shell.qml:283
309+msgid "Sorry, incorrect passcode"
258msgstr ""
310msgstr ""
259
311
260#: qml/Shell.qml:273
312#: qml/Shell.qml:273
po/es.po+76−37
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11−"PO-Revision-Date: 2014-08-17 04:37+0000\n"
11+"PO-Revision-Date: 2014-08-27 15:20+0000\n"
12−"Last-Translator: Adolfo Jayme <fitoschido@gmail.com>\n"
12+"Last-Translator: Leo Arias <leo.arias@canonical.com>\n"
13"Language-Team: Spanish <es@li.org>\n"
13"Language-Team: Spanish <es@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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,18 +30,54 @@ msgstr "Anclar"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "Desanclar"
31msgstr "Desanclar"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
65+msgstr ""
66+
67+#: qml/Components/Dialogs.qml:144
68+msgid "Power"
69+msgstr ""
70+
71+#: qml/Components/Dialogs.qml:145
72+msgid ""
34−msgid "Are you sure you would like to turn power off?"
73+"Are you sure you would like\n"
35−msgstr "¿Está seguro de que quiere apagarlo?"
74+"to power off?"
75+msgstr ""
36
76
37#: qml/Components/Dialogs.qml:144
77#: qml/Components/Dialogs.qml:144
38msgid "Power off"
78msgid "Power off"
39msgstr "Apagar"
79msgstr "Apagar"
40
80
41−#: qml/Components/Dialogs.qml:153
42−msgid "Restart"
43−msgstr "Reiniciar"
44−
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
46msgid "Cancel"
82msgid "Cancel"
47msgstr "Cancelar"
83msgstr "Cancelar"
@@ -134,6 +170,18 @@ msgstr "Ver todo"
134msgid "Search"
170msgid "Search"
135msgstr "Buscar"
171msgstr "Buscar"
136
172
173+#: qml/Dash/PageHeader.qml:270
174+msgid "Settings"
175+msgstr ""
176+
177+#: qml/Dash/PageHeader.qml:279
178+msgid "Remove from Favorites"
179+msgstr ""
180+
181+#: qml/Dash/PageHeader.qml:279
182+msgid "Add to Favorites"
183+msgstr ""
184+
137#: qml/Dash/Previews/PreviewActionCombo.qml:34
185#: qml/Dash/Previews/PreviewActionCombo.qml:34
138msgid "More..."
186msgid "More..."
139msgstr "Más…"
187msgstr "Más…"
@@ -204,11 +252,11 @@ msgstr "Mostrar contraseña"
204
252
205#: qml/Notifications/NotificationMenuItemFactory.qml:120
253#: qml/Notifications/NotificationMenuItemFactory.qml:120
206msgid "Enter SIM PIN"
254msgid "Enter SIM PIN"
207−msgstr ""
255+msgstr "Escriba el PIN de la SIM"
208
256
209#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
257#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
210msgid "Sorry, incorrect PIN"
258msgid "Sorry, incorrect PIN"
211−msgstr ""
259+msgstr "El PIN es incorrecto"
212
260
213#: qml/Panel/ActiveCallHint.qml:77
261#: qml/Panel/ActiveCallHint.qml:77
214msgid "Tap to return to call..."
262msgid "Tap to return to call..."
@@ -252,14 +300,18 @@ msgstr "Itinerancia"
252
300
253#: qml/Shell.qml:266
301#: qml/Shell.qml:266
254msgid "Enter your passphrase"
302msgid "Enter your passphrase"
255−msgstr ""
303+msgstr "Introudzca su contraseña"
256
304
257#: qml/Shell.qml:267
305#: qml/Shell.qml:267
258msgid "Sorry, incorrect passphrase"
306msgid "Sorry, incorrect passphrase"
307+msgstr "Lo sentimos, contraseña incorrecta"
308+
309+#: qml/Shell.qml:282
310+msgid "Enter your passcode"
259msgstr ""
311msgstr ""
260
312
261−#: qml/Shell.qml:269
313+#: qml/Shell.qml:283
262−msgid "Enter your PIN"
314+msgid "Sorry, incorrect passcode"
263msgstr ""
315msgstr ""
264
316
265#: qml/Shell.qml:273
317#: qml/Shell.qml:273
@@ -270,7 +322,7 @@ msgstr "Introduzca su %1"
270#: qml/Shell.qml:274
322#: qml/Shell.qml:274
271#, qt-format
323#, qt-format
272msgid "Sorry, incorrect %1"
324msgid "Sorry, incorrect %1"
273−msgstr ""
325+msgstr "Lo sentimos, %1 incorrecto"
274
326
275#: qml/Shell.qml:310
327#: qml/Shell.qml:310
276msgid "Sorry, incorrect passphrase."
328msgid "Sorry, incorrect passphrase."
@@ -300,24 +352,11 @@ msgstr ""
300"Si se introduce el código incorrectamente, el teléfono volverá a la "
352"Si se introduce el código incorrectamente, el teléfono volverá a la "
301"configuración de fábrica y se perderán todos los datos personales."
353"configuración de fábrica y se perderán todos los datos personales."
302
354
303−#~ msgid "Please enter SIM PIN"
355+#~ msgid "Restart"
304−#~ msgstr "Escriba el PIN de la SIM"
305−
306−#~ msgid "DONE"
307−#~ msgstr "HECHO"
356+#~ msgstr "Reiniciar"
308
357
309−#~ msgid "CANCEL"
358+#~ msgid "Are you sure you would like to turn power off?"
310−#~ msgstr "CANCELAR"
359+#~ msgstr "¿Está seguro de que quiere apagarlo?"
311
360
312−#~ msgid "passphrase"
361+#~ msgid "Enter your PIN"
313−#~ msgstr "frase de paso"
362+#~ msgstr "Escriba el PIN"
314−
315−#~ msgid "Please re-enter"
316−#~ msgstr "Vuelva a introducirla"
317−
318−#~ msgid "passcode"
319−#~ msgstr "Código de paso"
320−
321−#, qt-format
322−#~ msgid "Incorrect %1"
323−#~ msgstr "%1 incorrecta"
po/eu.po+62−19
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-08-06 22:51+0000\n"
11"PO-Revision-Date: 2014-08-06 22:51+0000\n"
12"Last-Translator: Ibai Oihanguren Sala <Unknown>\n"
12"Last-Translator: Ibai Oihanguren Sala <Unknown>\n"
13"Language-Team: Basque <eu@li.org>\n"
13"Language-Team: Basque <eu@li.org>\n"
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−"X-Launchpad-Export-Date: 2014-08-23 07:16+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:29+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr "Ainguratu lasterbidea"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "Askatu lasterbidea"
31msgstr "Askatu lasterbidea"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -134,6 +170,18 @@ msgstr "Ikusi guztiak"
134msgid "Search"
170msgid "Search"
135msgstr "Bilatu"
171msgstr "Bilatu"
136
172
173+#: qml/Dash/PageHeader.qml:270
174+msgid "Settings"
175+msgstr ""
176+
177+#: qml/Dash/PageHeader.qml:279
178+msgid "Remove from Favorites"
179+msgstr ""
180+
181+#: qml/Dash/PageHeader.qml:279
182+msgid "Add to Favorites"
183+msgstr ""
184+
137#: qml/Dash/Previews/PreviewActionCombo.qml:34
185#: qml/Dash/Previews/PreviewActionCombo.qml:34
138msgid "More..."
186msgid "More..."
139msgstr "Gehiago..."
187msgstr "Gehiago..."
@@ -258,8 +306,12 @@ msgstr ""
258msgid "Sorry, incorrect passphrase"
306msgid "Sorry, incorrect passphrase"
259msgstr ""
307msgstr ""
260
308
261−#: qml/Shell.qml:269
309+#: qml/Shell.qml:282
262−msgid "Enter your PIN"
310+msgid "Enter your passcode"
311+msgstr ""
312+
313+#: qml/Shell.qml:283
314+msgid "Sorry, incorrect passcode"
263msgstr ""
315msgstr ""
264
316
265#: qml/Shell.qml:273
317#: qml/Shell.qml:273
@@ -295,12 +347,3 @@ msgid ""
295"If passcode is entered incorrectly, your phone will conduct a factory reset "
347"If passcode is entered incorrectly, your phone will conduct a factory reset "
296"and all personal data will be deleted."
348"and all personal data will be deleted."
297msgstr ""
349msgstr ""
298−
299−#~ msgid "Please enter SIM PIN"
300−#~ msgstr "Sartu SIMaren PINa"
301−
302−#~ msgid "CANCEL"
303−#~ msgstr "UTZI"
304−
305−#~ msgid "DONE"
306−#~ msgstr "EGINDA"
po/fa.po+76−38
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11−"PO-Revision-Date: 2014-08-15 14:00+0000\n"
11+"PO-Revision-Date: 2014-08-27 20:08+0000\n"
12"Last-Translator: Danial Behzadi <dani.behzi@gmail.com>\n"
12"Last-Translator: Danial Behzadi <dani.behzi@gmail.com>\n"
13"Language-Team: Persian <fa@li.org>\n"
13"Language-Team: Persian <fa@li.org>\n"
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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,18 +30,56 @@ msgstr "سنجاق کردن میانبر"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "برداشتن سنجاق میانبر"
31msgstr "برداشتن سنجاق میانبر"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr "خروج از حساب"
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr "مطمئنید که می‌خواهید از حساب خارج شوید"
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr "خیر"
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr "بله"
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr "خاموش کردن"
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
35msgstr "مطمئنید که می‌خواهید خاموش کنید؟"
57msgstr "مطمئنید که می‌خواهید خاموش کنید؟"
36
58
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr "راه‌اندازی مجدّد"
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
65+msgstr "مطمئنید که می‌خواهید مجدّداً راه‌اندازی کنسد؟"
66+
67+#: qml/Components/Dialogs.qml:144
68+msgid "Power"
69+msgstr "توان"
70+
71+#: qml/Components/Dialogs.qml:145
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+"آیا مطمئن هستید که\n"
77+"می‌خواهید خاموش کنید؟"
78+
37#: qml/Components/Dialogs.qml:144
79#: qml/Components/Dialogs.qml:144
38msgid "Power off"
80msgid "Power off"
39msgstr "خاموش کردن"
81msgstr "خاموش کردن"
40
82
41−#: qml/Components/Dialogs.qml:153
42−msgid "Restart"
43−msgstr "شروع مجدّد"
44−
45#: qml/Components/Dialogs.qml:162
83#: qml/Components/Dialogs.qml:162
46msgid "Cancel"
84msgid "Cancel"
47msgstr "لغو"
85msgstr "لغو"
@@ -131,6 +169,18 @@ msgstr "دیدن همه"
131msgid "Search"
169msgid "Search"
132msgstr "جست‌وجو"
170msgstr "جست‌وجو"
133
171
172+#: qml/Dash/PageHeader.qml:270
173+msgid "Settings"
174+msgstr "تنظیمات"
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Remove from Favorites"
178+msgstr "برداشتن از برگزیده‌ها"
179+
180+#: qml/Dash/PageHeader.qml:279
181+msgid "Add to Favorites"
182+msgstr "افزودن به برگزیده‌ها"
183+
134#: qml/Dash/Previews/PreviewActionCombo.qml:34
184#: qml/Dash/Previews/PreviewActionCombo.qml:34
135msgid "More..."
185msgid "More..."
136msgstr "بیش‌تر…"
186msgstr "بیش‌تر…"
@@ -201,11 +251,11 @@ msgstr "نمایش گذرواژه"
201
251
202#: qml/Notifications/NotificationMenuItemFactory.qml:120
252#: qml/Notifications/NotificationMenuItemFactory.qml:120
203msgid "Enter SIM PIN"
253msgid "Enter SIM PIN"
204−msgstr ""
254+msgstr "PIN سیم‌کارت را وارد کنید"
205
255
206#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
256#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
207msgid "Sorry, incorrect PIN"
257msgid "Sorry, incorrect PIN"
208−msgstr ""
258+msgstr "متأسّفیم، PIN نادرست بود"
209
259
210#: qml/Panel/ActiveCallHint.qml:77
260#: qml/Panel/ActiveCallHint.qml:77
211msgid "Tap to return to call..."
261msgid "Tap to return to call..."
@@ -249,15 +299,19 @@ msgstr "رومینگ"
249
299
250#: qml/Shell.qml:266
300#: qml/Shell.qml:266
251msgid "Enter your passphrase"
301msgid "Enter your passphrase"
252−msgstr ""
302+msgstr "عبارت‌عبورتان را وارد کنید"
253
303
254#: qml/Shell.qml:267
304#: qml/Shell.qml:267
255msgid "Sorry, incorrect passphrase"
305msgid "Sorry, incorrect passphrase"
256−msgstr ""
306+msgstr "متأسّفیم، عبارت‌عبور نادرست بود"
257
307
258−#: qml/Shell.qml:269
308+#: qml/Shell.qml:282
259−msgid "Enter your PIN"
309+msgid "Enter your passcode"
260−msgstr ""
310+msgstr "رمزعبورتان را وارد کنید"
311+
312+#: qml/Shell.qml:283
313+msgid "Sorry, incorrect passcode"
314+msgstr "متأسّفیم، رمزعبور نادرست بود"
261
315
262#: qml/Shell.qml:273
316#: qml/Shell.qml:273
263#, qt-format
317#, qt-format
@@ -267,7 +321,7 @@ msgstr "%1 خود را وارد کنید"
267#: qml/Shell.qml:274
321#: qml/Shell.qml:274
268#, qt-format
322#, qt-format
269msgid "Sorry, incorrect %1"
323msgid "Sorry, incorrect %1"
270−msgstr ""
324+msgstr "متأسّفیم، %1 نادرست بود"
271
325
272#: qml/Shell.qml:310
326#: qml/Shell.qml:310
273msgid "Sorry, incorrect passphrase."
327msgid "Sorry, incorrect passphrase."
@@ -297,24 +351,8 @@ msgstr ""
297"اگر رمزعبور نادرست وارد شود، تلفن شما بازنشانی کارخانه خواهد شد و تمامی "
351"اگر رمزعبور نادرست وارد شود، تلفن شما بازنشانی کارخانه خواهد شد و تمامی "
298"اطّلاعات شخصی حذف خواهند شد."
352"اطّلاعات شخصی حذف خواهند شد."
299
353
300−#~ msgid "DONE"
354+#~ msgid "Are you sure you would like to turn power off?"
301−#~ msgstr "انجام شد"
355+#~ msgstr "مطمئنید که می‌خواهید خاموش کنید؟"
302−
303−#~ msgid "CANCEL"
304−#~ msgstr "لغو"
305−
306−#~ msgid "Please enter SIM PIN"
307−#~ msgstr "لطفاً PIN سیم‌کارت را وارد کنید"
308−
309−#~ msgid "passphrase"
310−#~ msgstr "عبارت‌عبور"
311−
312−#, qt-format
313−#~ msgid "Incorrect %1"
314−#~ msgstr "%1 نادرست"
315−
316−#~ msgid "Please re-enter"
317−#~ msgstr "لطفاً دوباره وارد کنید"
318
356
319−#~ msgid "passcode"
357+#~ msgid "Restart"
320−#~ msgstr "رمزعبور"
358+#~ msgstr "شروع مجدّد"
po/fi.po+91−58
@@ -7,17 +7,17 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11−"PO-Revision-Date: 2014-08-22 08:55+0000\n"
11+"PO-Revision-Date: 2014-08-28 13:47+0000\n"
12"Last-Translator: Timo Jyrinki <timo.jyrinki@canonical.com>\n"
12"Last-Translator: Timo Jyrinki <timo.jyrinki@canonical.com>\n"
13"Language-Team: Finnish <fi@li.org>\n"
13"Language-Team: Finnish <fi@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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-30 07:46+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17176)\n"
19
19
20−#: plugins/LightDM/Greeter.cpp:129
20+#: plugins/LightDM/Greeter.cpp:130
21msgid "Password: "
21msgid "Password: "
22msgstr "Salasana: "
22msgstr "Salasana: "
23
23
@@ -30,19 +30,57 @@ msgstr "Kiinnitä pikakuvake"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "Poista pikakuvakkeen kiinnitys"
31msgstr "Poista pikakuvakkeen kiinnitys"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34+msgid "Log out"
35+msgstr "Kirjaudu ulos"
36+
37+#: qml/Components/Dialogs.qml:71
34−msgid "Are you sure you would like to turn power off?"
38+msgid "Are you sure you want to log out?"
39+msgstr "Haluatko varmasti kirjautua ulos?"
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr "Ei"
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr "Kyllä"
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr "Sammuta"
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
35msgstr "Haluatko varmasti sammuttaa laitteen?"
57msgstr "Haluatko varmasti sammuttaa laitteen?"
36
58
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr "Käynnistä uudelleen"
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
65+msgstr "Haluatko varmasti käynnistää laitteen uudelleen?"
66+
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
68+msgid "Power"
69+msgstr "Virran katkaisu"
70+
71+#: qml/Components/Dialogs.qml:145
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+"Haluatko varmasti\n"
77+"sammuttaa laitteen?"
78+
79+#: qml/Components/Dialogs.qml:147
38msgid "Power off"
80msgid "Power off"
39msgstr "Sammuta"
81msgstr "Sammuta"
40
82
41−#: qml/Components/Dialogs.qml:153
83+#: qml/Components/Dialogs.qml:157
42−msgid "Restart"
43−msgstr "Käynnistä uudelleen"
44−
45−#: qml/Components/Dialogs.qml:162
46msgid "Cancel"
84msgid "Cancel"
47msgstr "Peru"
85msgstr "Peru"
48
86
@@ -127,10 +165,23 @@ msgstr "Näytä vähemmän"
127msgid "See all"
165msgid "See all"
128msgstr "Näytä kaikki"
166msgstr "Näytä kaikki"
129
167
130−#: qml/Dash/GenericScopeView.qml:424 qml/Panel/SearchIndicator.qml:27
168+#: qml/Dash/GenericScopeView.qml:424 qml/Dash/PageHeader.qml:260
169+#: qml/Panel/SearchIndicator.qml:27
131msgid "Search"
170msgid "Search"
132msgstr "Hae"
171msgstr "Hae"
133
172
173+#: qml/Dash/PageHeader.qml:270
174+msgid "Settings"
175+msgstr "Asetukset"
176+
177+#: qml/Dash/PageHeader.qml:279
178+msgid "Remove from Favorites"
179+msgstr "Poista suosikeista"
180+
181+#: qml/Dash/PageHeader.qml:279
182+msgid "Add to Favorites"
183+msgstr "Lisää suosikkeihin"
184+
134#: qml/Dash/Previews/PreviewActionCombo.qml:34
185#: qml/Dash/Previews/PreviewActionCombo.qml:34
135msgid "More..."
186msgid "More..."
136msgstr "Lisää..."
187msgstr "Lisää..."
@@ -155,11 +206,11 @@ msgstr "Lähetä"
155msgid "Manage Dash"
206msgid "Manage Dash"
156msgstr "Unityn hallinta"
207msgstr "Unityn hallinta"
157
208
158−#: qml/Dash/ScopesOverview.qml:408
209+#: qml/Dash/ScopesOverview.qml:417
159msgid "Done"
210msgid "Done"
160msgstr "Valmis"
211msgstr "Valmis"
161
212
162−#: qml/Dash/ScopesOverview.qml:434
213+#: qml/Dash/ScopesOverview.qml:443
163msgid "Store"
214msgid "Store"
164msgstr "Kauppa"
215msgstr "Kauppa"
165
216
@@ -175,7 +226,7 @@ msgstr "Kaikki"
175msgid "Swipe to unlock"
226msgid "Swipe to unlock"
176msgstr "Avaa pyyhkäisemällä"
227msgstr "Avaa pyyhkäisemällä"
177
228
178−#: qml/Hud/HudParametrizedActionsPage.qml:132
229+#: qml/Hud/HudParametrizedActionsPage.qml:139
179msgid "Confirm"
230msgid "Confirm"
180msgstr "Hyväksy"
231msgstr "Hyväksy"
181
232
@@ -201,11 +252,11 @@ msgstr "Näytä salasana"
201
252
202#: qml/Notifications/NotificationMenuItemFactory.qml:120
253#: qml/Notifications/NotificationMenuItemFactory.qml:120
203msgid "Enter SIM PIN"
254msgid "Enter SIM PIN"
204−msgstr ""
255+msgstr "Anna SIM-kortin PIN-koodi"
205
256
206−#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
257+#: qml/Notifications/NotificationMenuItemFactory.qml:121
207msgid "Sorry, incorrect PIN"
258msgid "Sorry, incorrect PIN"
208−msgstr ""
259+msgstr "Väärä PIN-koodi"
209
260
210#: qml/Panel/ActiveCallHint.qml:77
261#: qml/Panel/ActiveCallHint.qml:77
211msgid "Tap to return to call..."
262msgid "Tap to return to call..."
@@ -247,41 +298,45 @@ msgstr "Avaa SIM-kortin lukitus"
247msgid "Roaming"
298msgid "Roaming"
248msgstr "Verkkovierailu"
299msgstr "Verkkovierailu"
249
300
250−#: qml/Shell.qml:266
301+#: qml/Shell.qml:279
251msgid "Enter your passphrase"
302msgid "Enter your passphrase"
252−msgstr ""
303+msgstr "Anna tunnuslause"
253
304
254−#: qml/Shell.qml:267
305+#: qml/Shell.qml:280
255msgid "Sorry, incorrect passphrase"
306msgid "Sorry, incorrect passphrase"
256−msgstr ""
307+msgstr "Virheellinen tunnuslause"
257
308
258−#: qml/Shell.qml:269
309+#: qml/Shell.qml:282
259−msgid "Enter your PIN"
310+msgid "Enter your passcode"
260−msgstr ""
311+msgstr "Anna suojakoodi"
261
312
262−#: qml/Shell.qml:273
313+#: qml/Shell.qml:283
314+msgid "Sorry, incorrect passcode"
315+msgstr "Väärä suojakoodi"
316+
317+#: qml/Shell.qml:286
263#, qt-format
318#, qt-format
264msgid "Enter your %1"
319msgid "Enter your %1"
265msgstr "Anna %1"
320msgstr "Anna %1"
266
321
267−#: qml/Shell.qml:274
322+#: qml/Shell.qml:287
268#, qt-format
323#, qt-format
269msgid "Sorry, incorrect %1"
324msgid "Sorry, incorrect %1"
270−msgstr ""
325+msgstr "Väärä %1"
271
326
272−#: qml/Shell.qml:310
327+#: qml/Shell.qml:323
273msgid "Sorry, incorrect passphrase."
328msgid "Sorry, incorrect passphrase."
274msgstr "Virheellinen tunnuslause."
329msgstr "Virheellinen tunnuslause."
275
330
276−#: qml/Shell.qml:311
331+#: qml/Shell.qml:324
277msgid "Sorry, incorrect passcode."
332msgid "Sorry, incorrect passcode."
278−msgstr "Virheellinen tunnuskoodi."
333+msgstr "Virheellinen suojakoodi."
279
334
280−#: qml/Shell.qml:312
335+#: qml/Shell.qml:325
281msgid "This will be your last attempt."
336msgid "This will be your last attempt."
282msgstr "Tämä on viimeinen yritys."
337msgstr "Tämä on viimeinen yritys."
283
338
284−#: qml/Shell.qml:314
339+#: qml/Shell.qml:327
285msgid ""
340msgid ""
286"If passphrase is entered incorrectly, your phone will conduct a factory "
341"If passphrase is entered incorrectly, your phone will conduct a factory "
287"reset and all personal data will be deleted."
342"reset and all personal data will be deleted."
@@ -289,32 +344,10 @@ msgstr ""
289"Jos kirjoitat tunnuslauseen virheellisesti, puhelimesi palautetaan "
344"Jos kirjoitat tunnuslauseen virheellisesti, puhelimesi palautetaan "
290"tehdastilaan ja kaikki henkilökohtaiset tietosi poistetaan."
345"tehdastilaan ja kaikki henkilökohtaiset tietosi poistetaan."
291
346
292−#: qml/Shell.qml:315
347+#: qml/Shell.qml:328
293msgid ""
348msgid ""
294"If passcode is entered incorrectly, your phone will conduct a factory reset "
349"If passcode is entered incorrectly, your phone will conduct a factory reset "
295"and all personal data will be deleted."
350"and all personal data will be deleted."
296msgstr ""
351msgstr ""
297−"Jos kirjoitat tunnuskoodin virheellisesti, puhelimesi palautetaan "
352+"Jos kirjoitat suojakoodin virheellisesti, puhelimesi palautetaan "
298"tehdastilaan ja kaikki henkilökohtaiset tietosi poistetaan."
353"tehdastilaan ja kaikki henkilökohtaiset tietosi poistetaan."
299−
300−#~ msgid "Please enter SIM PIN"
301−#~ msgstr "Anna SIM-kortin PIN-koodi"
302−
303−#~ msgid "CANCEL"
304−#~ msgstr "PERU"
305−
306−#~ msgid "DONE"
307−#~ msgstr "VALMIS"
308−
309−#, qt-format
310−#~ msgid "Incorrect %1"
311−#~ msgstr "Virheellinen %1"
312−
313−#~ msgid "passphrase"
314−#~ msgstr "tunnuslause"
315−
316−#~ msgid "passcode"
317−#~ msgstr "tunnuskoodi"
318−
319−#~ msgid "Please re-enter"
320−#~ msgstr "Anna uudelleen"
po/fo.po+62−10
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-01-14 20:08+0000\n"
11"PO-Revision-Date: 2014-01-14 20:08+0000\n"
12"Last-Translator: Jógvan Olsen <jeggy@jebster.net>\n"
12"Last-Translator: Jógvan Olsen <jeggy@jebster.net>\n"
13"Language-Team: Faroese <fo@li.org>\n"
13"Language-Team: Faroese <fo@li.org>\n"
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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr ""
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr ""
31msgstr ""
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -129,6 +165,18 @@ msgstr ""
129msgid "Search"
165msgid "Search"
130msgstr "Leita"
166msgstr "Leita"
131
167
168+#: qml/Dash/PageHeader.qml:270
169+msgid "Settings"
170+msgstr ""
171+
172+#: qml/Dash/PageHeader.qml:279
173+msgid "Remove from Favorites"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Add to Favorites"
178+msgstr ""
179+
132#: qml/Dash/Previews/PreviewActionCombo.qml:34
180#: qml/Dash/Previews/PreviewActionCombo.qml:34
133msgid "More..."
181msgid "More..."
134msgstr ""
182msgstr ""
@@ -253,8 +301,12 @@ msgstr ""
253msgid "Sorry, incorrect passphrase"
301msgid "Sorry, incorrect passphrase"
254msgstr ""
302msgstr ""
255
303
256−#: qml/Shell.qml:269
304+#: qml/Shell.qml:282
257−msgid "Enter your PIN"
305+msgid "Enter your passcode"
306+msgstr ""
307+
308+#: qml/Shell.qml:283
309+msgid "Sorry, incorrect passcode"
258msgstr ""
310msgstr ""
259
311
260#: qml/Shell.qml:273
312#: qml/Shell.qml:273
po/fr.po+88−57
@@ -7,17 +7,17 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11−"PO-Revision-Date: 2014-08-16 12:13+0000\n"
11+"PO-Revision-Date: 2014-08-29 10:31+0000\n"
12−"Last-Translator: Jean Marc <Unknown>\n"
12+"Last-Translator: Sébastien Maes <nautilussebastien@gmail.com>\n"
13"Language-Team: French <fr@li.org>\n"
13"Language-Team: French <fr@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-30 07:46+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17176)\n"
19
19
20−#: plugins/LightDM/Greeter.cpp:129
20+#: plugins/LightDM/Greeter.cpp:130
21msgid "Password: "
21msgid "Password: "
22msgstr "Mot de passe : "
22msgstr "Mot de passe : "
23
23
@@ -30,19 +30,55 @@ msgstr "Épingler le raccourci"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "Détacher le raccourci"
31msgstr "Détacher le raccourci"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34+msgid "Log out"
35+msgstr "Se déconnecter"
36+
37+#: qml/Components/Dialogs.qml:71
34−msgid "Are you sure you would like to turn power off?"
38+msgid "Are you sure you want to log out?"
39+msgstr "Êtes-vous sûr de vouloir vous déconnecter ?"
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr "Non"
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr "Oui"
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr "Éteindre"
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
35msgstr "Êtes-vous sûr de vouloir éteindre ?"
57msgstr "Êtes-vous sûr de vouloir éteindre ?"
36
58
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr "Redémarrer"
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
65+msgstr "Êtes-vous sûr de vouloir redémarrer ?"
66+
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
68+msgid "Power"
69+msgstr ""
70+
71+#: qml/Components/Dialogs.qml:145
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:147
38msgid "Power off"
78msgid "Power off"
39msgstr "Éteindre"
79msgstr "Éteindre"
40
80
41−#: qml/Components/Dialogs.qml:153
81+#: qml/Components/Dialogs.qml:157
42−msgid "Restart"
43−msgstr "Redémarrer"
44−
45−#: qml/Components/Dialogs.qml:162
46msgid "Cancel"
82msgid "Cancel"
47msgstr "Annuler"
83msgstr "Annuler"
48
84
@@ -134,10 +170,23 @@ msgstr "Voir moins"
134msgid "See all"
170msgid "See all"
135msgstr "Tout voir"
171msgstr "Tout voir"
136
172
137−#: qml/Dash/GenericScopeView.qml:424 qml/Panel/SearchIndicator.qml:27
173+#: qml/Dash/GenericScopeView.qml:424 qml/Dash/PageHeader.qml:260
174+#: qml/Panel/SearchIndicator.qml:27
138msgid "Search"
175msgid "Search"
139msgstr "Rechercher"
176msgstr "Rechercher"
140
177
178+#: qml/Dash/PageHeader.qml:270
179+msgid "Settings"
180+msgstr "Paramètres"
181+
182+#: qml/Dash/PageHeader.qml:279
183+msgid "Remove from Favorites"
184+msgstr "Retirer des favoris"
185+
186+#: qml/Dash/PageHeader.qml:279
187+msgid "Add to Favorites"
188+msgstr "Ajouter aux favoris"
189+
141#: qml/Dash/Previews/PreviewActionCombo.qml:34
190#: qml/Dash/Previews/PreviewActionCombo.qml:34
142msgid "More..."
191msgid "More..."
143msgstr "Plus..."
192msgstr "Plus..."
@@ -162,11 +211,11 @@ msgstr "Envoyer"
162msgid "Manage Dash"
211msgid "Manage Dash"
163msgstr "Gérer le tableau de bord"
212msgstr "Gérer le tableau de bord"
164
213
165−#: qml/Dash/ScopesOverview.qml:408
214+#: qml/Dash/ScopesOverview.qml:417
166msgid "Done"
215msgid "Done"
167msgstr "Terminé"
216msgstr "Terminé"
168
217
169−#: qml/Dash/ScopesOverview.qml:434
218+#: qml/Dash/ScopesOverview.qml:443
170msgid "Store"
219msgid "Store"
171msgstr ""
220msgstr ""
172
221
@@ -182,7 +231,7 @@ msgstr "Toutes"
182msgid "Swipe to unlock"
231msgid "Swipe to unlock"
183msgstr "Faites glisser pour déverrouiller"
232msgstr "Faites glisser pour déverrouiller"
184
233
185−#: qml/Hud/HudParametrizedActionsPage.qml:132
234+#: qml/Hud/HudParametrizedActionsPage.qml:139
186msgid "Confirm"
235msgid "Confirm"
187msgstr "Confirmez"
236msgstr "Confirmez"
188
237
@@ -208,11 +257,11 @@ msgstr "Afficher le mot de passe"
208
257
209#: qml/Notifications/NotificationMenuItemFactory.qml:120
258#: qml/Notifications/NotificationMenuItemFactory.qml:120
210msgid "Enter SIM PIN"
259msgid "Enter SIM PIN"
211−msgstr ""
260+msgstr "Entrez le code PIN de la SIM"
212
261
213−#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
262+#: qml/Notifications/NotificationMenuItemFactory.qml:121
214msgid "Sorry, incorrect PIN"
263msgid "Sorry, incorrect PIN"
215−msgstr ""
264+msgstr "Désolé, code PIN incorrect"
216
265
217#: qml/Panel/ActiveCallHint.qml:77
266#: qml/Panel/ActiveCallHint.qml:77
218msgid "Tap to return to call..."
267msgid "Tap to return to call..."
@@ -254,41 +303,45 @@ msgstr "Déverrouiller la carte SIM"
254msgid "Roaming"
303msgid "Roaming"
255msgstr "Roaming"
304msgstr "Roaming"
256
305
257−#: qml/Shell.qml:266
306+#: qml/Shell.qml:279
258msgid "Enter your passphrase"
307msgid "Enter your passphrase"
259−msgstr ""
308+msgstr "Entrez votre phrase secrète"
260
309
261−#: qml/Shell.qml:267
310+#: qml/Shell.qml:280
262msgid "Sorry, incorrect passphrase"
311msgid "Sorry, incorrect passphrase"
263−msgstr ""
312+msgstr "Désolé, phrase secrète incorrecte"
264
313
265−#: qml/Shell.qml:269
314+#: qml/Shell.qml:282
266−msgid "Enter your PIN"
315+msgid "Enter your passcode"
267−msgstr ""
316+msgstr "Entrez votre code"
268
317
269−#: qml/Shell.qml:273
318+#: qml/Shell.qml:283
319+msgid "Sorry, incorrect passcode"
320+msgstr "Désolé, code incorrect"
321+
322+#: qml/Shell.qml:286
270#, qt-format
323#, qt-format
271msgid "Enter your %1"
324msgid "Enter your %1"
272msgstr "Saisissez votre %1"
325msgstr "Saisissez votre %1"
273
326
274−#: qml/Shell.qml:274
327+#: qml/Shell.qml:287
275#, qt-format
328#, qt-format
276msgid "Sorry, incorrect %1"
329msgid "Sorry, incorrect %1"
277−msgstr ""
330+msgstr "Désolé, %1 incorrect"
278
331
279−#: qml/Shell.qml:310
332+#: qml/Shell.qml:323
280msgid "Sorry, incorrect passphrase."
333msgid "Sorry, incorrect passphrase."
281msgstr "Désolé, phrase secrète incorrecte."
334msgstr "Désolé, phrase secrète incorrecte."
282
335
283−#: qml/Shell.qml:311
336+#: qml/Shell.qml:324
284msgid "Sorry, incorrect passcode."
337msgid "Sorry, incorrect passcode."
285msgstr "Désolé, code incorrect."
338msgstr "Désolé, code incorrect."
286
339
287−#: qml/Shell.qml:312
340+#: qml/Shell.qml:325
288msgid "This will be your last attempt."
341msgid "This will be your last attempt."
289msgstr "Ceci sera votre dernière tentative."
342msgstr "Ceci sera votre dernière tentative."
290
343
291−#: qml/Shell.qml:314
344+#: qml/Shell.qml:327
292msgid ""
345msgid ""
293"If passphrase is entered incorrectly, your phone will conduct a factory "
346"If passphrase is entered incorrectly, your phone will conduct a factory "
294"reset and all personal data will be deleted."
347"reset and all personal data will be deleted."
@@ -297,7 +350,7 @@ msgstr ""
297"effectuera une réinitialisation aux paramètres d'usine et toutes les données "
350"effectuera une réinitialisation aux paramètres d'usine et toutes les données "
298"personnelles seront supprimées."
351"personnelles seront supprimées."
299
352
300−#: qml/Shell.qml:315
353+#: qml/Shell.qml:328
301msgid ""
354msgid ""
302"If passcode is entered incorrectly, your phone will conduct a factory reset "
355"If passcode is entered incorrectly, your phone will conduct a factory reset "
303"and all personal data will be deleted."
356"and all personal data will be deleted."
@@ -305,25 +358,3 @@ msgstr ""
305"Si le code est saisi de manière incorrecte, votre téléphone effectuera une "
358"Si le code est saisi de manière incorrecte, votre téléphone effectuera une "
306"réinitialisation aux paramètres d'usine et toutes les données personnelles "
359"réinitialisation aux paramètres d'usine et toutes les données personnelles "
307"seront supprimées."
360"seront supprimées."
308−
309−#~ msgid "CANCEL"
310−#~ msgstr "ANNULER"
311−
312−#~ msgid "DONE"
313−#~ msgstr "VALIDER"
314−
315−#~ msgid "Please enter SIM PIN"
316−#~ msgstr "Entrez le code PIN"
317−
318−#~ msgid "passphrase"
319−#~ msgstr "phrase secrète"
320−
321−#~ msgid "passcode"
322−#~ msgstr "code"
323−
324−#, qt-format
325−#~ msgid "Incorrect %1"
326−#~ msgstr "%1 non valide"
327−
328−#~ msgid "Please re-enter"
329−#~ msgstr "Veuillez recommencer"
po/gd.po+68−19
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-08-13 00:21+0000\n"
11"PO-Revision-Date: 2014-08-13 00:21+0000\n"
12"Last-Translator: Akerbeltz <fios@akerbeltz.org>\n"
12"Last-Translator: Akerbeltz <fios@akerbeltz.org>\n"
13"Language-Team: Fòram na Gàidhlig http://www.foramnagaidhlig.net\n"
13"Language-Team: Fòram na Gàidhlig http://www.foramnagaidhlig.net\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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19"Language: gd\n"
19"Language: gd\n"
20
20
21#: plugins/LightDM/Greeter.cpp:129
21#: plugins/LightDM/Greeter.cpp:129
@@ -31,18 +31,54 @@ msgstr "Prìnich ath-ghoirid"
31msgid "Unpin shortcut"
31msgid "Unpin shortcut"
32msgstr "Neo-phrìnich an ath-ghoirid"
32msgstr "Neo-phrìnich an ath-ghoirid"
33
33
34−#: qml/Components/Dialogs.qml:142
34+#: qml/Components/Dialogs.qml:70
35+msgid "Log out"
36+msgstr ""
37+
38+#: qml/Components/Dialogs.qml:71
39+msgid "Are you sure you want to log out?"
40+msgstr ""
41+
42+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
43+#: qml/Components/Dialogs.qml:122
44+msgid "No"
45+msgstr ""
46+
47+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
48+#: qml/Components/Dialogs.qml:129
49+msgid "Yes"
50+msgstr ""
51+
52+#: qml/Components/Dialogs.qml:94
53+msgid "Shut down"
54+msgstr ""
55+
56+#: qml/Components/Dialogs.qml:95
57+msgid "Are you sure you want to shut down?"
58+msgstr ""
59+
60+#: qml/Components/Dialogs.qml:119
61+msgid "Reboot"
62+msgstr ""
63+
64+#: qml/Components/Dialogs.qml:120
65+msgid "Are you sure you want to reboot?"
66+msgstr ""
67+
68+#: qml/Components/Dialogs.qml:144
69+msgid "Power"
70+msgstr ""
71+
72+#: qml/Components/Dialogs.qml:145
73+msgid ""
35−msgid "Are you sure you would like to turn power off?"
74+"Are you sure you would like\n"
36−msgstr "A bheil thu cinnteach gu bheil thu airson a chur dheth?"
75+"to power off?"
76+msgstr ""
37
77
38#: qml/Components/Dialogs.qml:144
78#: qml/Components/Dialogs.qml:144
39msgid "Power off"
79msgid "Power off"
40msgstr "Cuir a' chumhachd dheth"
80msgstr "Cuir a' chumhachd dheth"
41
81
42−#: qml/Components/Dialogs.qml:153
43−msgid "Restart"
44−msgstr "Ath-thòisich"
45−
46#: qml/Components/Dialogs.qml:162
82#: qml/Components/Dialogs.qml:162
47msgid "Cancel"
83msgid "Cancel"
48msgstr "Sguir dheth"
84msgstr "Sguir dheth"
@@ -138,6 +174,18 @@ msgstr "Seall na h-uile"
138msgid "Search"
174msgid "Search"
139msgstr "Lorg"
175msgstr "Lorg"
140
176
177+#: qml/Dash/PageHeader.qml:270
178+msgid "Settings"
179+msgstr ""
180+
181+#: qml/Dash/PageHeader.qml:279
182+msgid "Remove from Favorites"
183+msgstr ""
184+
185+#: qml/Dash/PageHeader.qml:279
186+msgid "Add to Favorites"
187+msgstr ""
188+
141#: qml/Dash/Previews/PreviewActionCombo.qml:34
189#: qml/Dash/Previews/PreviewActionCombo.qml:34
142msgid "More..."
190msgid "More..."
143msgstr "Barrachd..."
191msgstr "Barrachd..."
@@ -262,8 +310,12 @@ msgstr ""
262msgid "Sorry, incorrect passphrase"
310msgid "Sorry, incorrect passphrase"
263msgstr ""
311msgstr ""
264
312
265−#: qml/Shell.qml:269
313+#: qml/Shell.qml:282
266−msgid "Enter your PIN"
314+msgid "Enter your passcode"
315+msgstr ""
316+
317+#: qml/Shell.qml:283
318+msgid "Sorry, incorrect passcode"
267msgstr ""
319msgstr ""
268
320
269#: qml/Shell.qml:273
321#: qml/Shell.qml:273
@@ -300,11 +352,8 @@ msgid ""
300"and all personal data will be deleted."
352"and all personal data will be deleted."
301msgstr ""
353msgstr ""
302
354
303−#~ msgid "Please enter SIM PIN"
355+#~ msgid "Are you sure you would like to turn power off?"
304−#~ msgstr "Cuir a-steach SIM PIN"
356+#~ msgstr "A bheil thu cinnteach gu bheil thu airson a chur dheth?"
305−
306−#~ msgid "CANCEL"
307−#~ msgstr "SGUIR DHETH"
308
357
309−#~ msgid "DONE"
358+#~ msgid "Restart"
310−#~ msgstr "DÈANTA"
359+#~ msgstr "Ath-thòisich"
po/gl.po+71−32
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-08-22 15:16+0000\n"
11"PO-Revision-Date: 2014-08-22 15:16+0000\n"
12"Last-Translator: Marcos Lans <Unknown>\n"
12"Last-Translator: Marcos Lans <Unknown>\n"
13"Language-Team: Galician <gl@li.org>\n"
13"Language-Team: Galician <gl@li.org>\n"
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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,18 +30,54 @@ msgstr "Fixar o atallo"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "Eliminar o atallo"
31msgstr "Eliminar o atallo"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
65+msgstr ""
66+
67+#: qml/Components/Dialogs.qml:144
68+msgid "Power"
69+msgstr ""
70+
71+#: qml/Components/Dialogs.qml:145
72+msgid ""
34−msgid "Are you sure you would like to turn power off?"
73+"Are you sure you would like\n"
35−msgstr "Está certo de apagar o aparato?"
74+"to power off?"
75+msgstr ""
36
76
37#: qml/Components/Dialogs.qml:144
77#: qml/Components/Dialogs.qml:144
38msgid "Power off"
78msgid "Power off"
39msgstr "Apagar"
79msgstr "Apagar"
40
80
41−#: qml/Components/Dialogs.qml:153
42−msgid "Restart"
43−msgstr "Reiniciar"
44−
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
46msgid "Cancel"
82msgid "Cancel"
47msgstr "Cancelar"
83msgstr "Cancelar"
@@ -133,6 +169,18 @@ msgstr "Ver todo"
133msgid "Search"
169msgid "Search"
134msgstr "Buscar"
170msgstr "Buscar"
135
171
172+#: qml/Dash/PageHeader.qml:270
173+msgid "Settings"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Remove from Favorites"
178+msgstr ""
179+
180+#: qml/Dash/PageHeader.qml:279
181+msgid "Add to Favorites"
182+msgstr ""
183+
136#: qml/Dash/Previews/PreviewActionCombo.qml:34
184#: qml/Dash/Previews/PreviewActionCombo.qml:34
137msgid "More..."
185msgid "More..."
138msgstr "Máis…"
186msgstr "Máis…"
@@ -257,9 +305,13 @@ msgstr "Introduza a frase de paso"
257msgid "Sorry, incorrect passphrase"
305msgid "Sorry, incorrect passphrase"
258msgstr "Sentímolo a frase é incorrecta"
306msgstr "Sentímolo a frase é incorrecta"
259
307
260−#: qml/Shell.qml:269
308+#: qml/Shell.qml:282
261−msgid "Enter your PIN"
309+msgid "Enter your passcode"
262−msgstr "Introduza o PIN"
310+msgstr ""
311+
312+#: qml/Shell.qml:283
313+msgid "Sorry, incorrect passcode"
314+msgstr ""
263
315
264#: qml/Shell.qml:273
316#: qml/Shell.qml:273
265#, qt-format
317#, qt-format
@@ -299,24 +351,11 @@ msgstr ""
299"Se a clave introducida é incorrecta, o teléfono restabelecerá os valores de "
351"Se a clave introducida é incorrecta, o teléfono restabelecerá os valores de "
300"fábrica e perderá todos os datos persoais."
352"fábrica e perderá todos os datos persoais."
301
353
302−#~ msgid "Please enter SIM PIN"
354+#~ msgid "Are you sure you would like to turn power off?"
303−#~ msgstr "Introduza o PIN da SIM"
355+#~ msgstr "Está certo de apagar o aparato?"
304−
305−#~ msgid "DONE"
306−#~ msgstr "FEITO"
307−
308−#~ msgid "CANCEL"
309−#~ msgstr "CANCELAR"
310−
311−#~ msgid "passphrase"
312−#~ msgstr "Frase de paso"
313−
314−#, qt-format
315−#~ msgid "Incorrect %1"
316−#~ msgstr "Incorrecto %1"
317
356
318−#~ msgid "Please re-enter"
357+#~ msgid "Restart"
319−#~ msgstr "Introducir de novo"
358+#~ msgstr "Reiniciar"
320
359
321−#~ msgid "passcode"
360+#~ msgid "Enter your PIN"
322−#~ msgstr "código"
361+#~ msgstr "Introduza o PIN"
po/he.po+68−19
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-08-23 14:19+0000\n"
11"PO-Revision-Date: 2014-08-23 14:19+0000\n"
12"Last-Translator: Yaron <sh.yaron@gmail.com>\n"
12"Last-Translator: Yaron <sh.yaron@gmail.com>\n"
13"Language-Team: Hebrew <he@li.org>\n"
13"Language-Team: Hebrew <he@li.org>\n"
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−"X-Launchpad-Export-Date: 2014-08-24 06:46+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,18 +30,54 @@ msgstr "הצמדת קיצור דרך"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "הפרדת קיצור הדרך"
31msgstr "הפרדת קיצור הדרך"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
65+msgstr ""
66+
67+#: qml/Components/Dialogs.qml:144
68+msgid "Power"
69+msgstr ""
70+
71+#: qml/Components/Dialogs.qml:145
72+msgid ""
34−msgid "Are you sure you would like to turn power off?"
73+"Are you sure you would like\n"
35−msgstr "האם ברצונך לכבות את המכשיר?"
74+"to power off?"
75+msgstr ""
36
76
37#: qml/Components/Dialogs.qml:144
77#: qml/Components/Dialogs.qml:144
38msgid "Power off"
78msgid "Power off"
39msgstr "כיבוי"
79msgstr "כיבוי"
40
80
41−#: qml/Components/Dialogs.qml:153
42−msgid "Restart"
43−msgstr "הפעלה מחדש"
44−
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
46msgid "Cancel"
82msgid "Cancel"
47msgstr "ביטול"
83msgstr "ביטול"
@@ -131,6 +167,18 @@ msgstr "להציג הכול"
131msgid "Search"
167msgid "Search"
132msgstr "חיפוש"
168msgstr "חיפוש"
133
169
170+#: qml/Dash/PageHeader.qml:270
171+msgid "Settings"
172+msgstr ""
173+
174+#: qml/Dash/PageHeader.qml:279
175+msgid "Remove from Favorites"
176+msgstr ""
177+
178+#: qml/Dash/PageHeader.qml:279
179+msgid "Add to Favorites"
180+msgstr ""
181+
134#: qml/Dash/Previews/PreviewActionCombo.qml:34
182#: qml/Dash/Previews/PreviewActionCombo.qml:34
135msgid "More..."
183msgid "More..."
136msgstr "עוד…"
184msgstr "עוד…"
@@ -255,8 +303,12 @@ msgstr "נא להזין את מילת הצופן שלך"
255msgid "Sorry, incorrect passphrase"
303msgid "Sorry, incorrect passphrase"
256msgstr "מילת הצופן שגויה, עמך הסליחה."
304msgstr "מילת הצופן שגויה, עמך הסליחה."
257
305
258−#: qml/Shell.qml:269
306+#: qml/Shell.qml:282
259−msgid "Enter your PIN"
307+msgid "Enter your passcode"
308+msgstr ""
309+
310+#: qml/Shell.qml:283
311+msgid "Sorry, incorrect passcode"
260msgstr ""
312msgstr ""
261
313
262#: qml/Shell.qml:273
314#: qml/Shell.qml:273
@@ -293,11 +345,8 @@ msgid ""
293"and all personal data will be deleted."
345"and all personal data will be deleted."
294msgstr ""
346msgstr ""
295
347
296−#~ msgid "Please enter SIM PIN"
348+#~ msgid "Restart"
297−#~ msgstr "נא להזין את קוד ה־<U+200F>SIM"
349+#~ msgstr "הפעלה מחדש"
298−
299−#~ msgid "CANCEL"
300−#~ msgstr "ביטול"
301
350
302−#~ msgid "DONE"
351+#~ msgid "Are you sure you would like to turn power off?"
303−#~ msgstr "בוצע"
352+#~ msgstr "האם ברצונך לכבות את המכשיר?"
po/hi.po+62−10
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-01-15 01:49+0000\n"
11"PO-Revision-Date: 2014-01-15 01:49+0000\n"
12"Last-Translator: Siddhanathan S. <Unknown>\n"
12"Last-Translator: Siddhanathan S. <Unknown>\n"
13"Language-Team: Hindi <hi@li.org>\n"
13"Language-Team: Hindi <hi@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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr ""
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr ""
31msgstr ""
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -129,6 +165,18 @@ msgstr ""
129msgid "Search"
165msgid "Search"
130msgstr "खोजें"
166msgstr "खोजें"
131
167
168+#: qml/Dash/PageHeader.qml:270
169+msgid "Settings"
170+msgstr ""
171+
172+#: qml/Dash/PageHeader.qml:279
173+msgid "Remove from Favorites"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Add to Favorites"
178+msgstr ""
179+
132#: qml/Dash/Previews/PreviewActionCombo.qml:34
180#: qml/Dash/Previews/PreviewActionCombo.qml:34
133msgid "More..."
181msgid "More..."
134msgstr ""
182msgstr ""
@@ -253,8 +301,12 @@ msgstr ""
253msgid "Sorry, incorrect passphrase"
301msgid "Sorry, incorrect passphrase"
254msgstr ""
302msgstr ""
255
303
256−#: qml/Shell.qml:269
304+#: qml/Shell.qml:282
257−msgid "Enter your PIN"
305+msgid "Enter your passcode"
306+msgstr ""
307+
308+#: qml/Shell.qml:283
309+msgid "Sorry, incorrect passcode"
258msgstr ""
310msgstr ""
259
311
260#: qml/Shell.qml:273
312#: qml/Shell.qml:273
po/hr.po+62−10
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2013-06-27 04:14+0000\n"
11"PO-Revision-Date: 2013-06-27 04:14+0000\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
13"Language-Team: Croatian <hr@li.org>\n"
13"Language-Team: Croatian <hr@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr ""
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr ""
31msgstr ""
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -129,6 +165,18 @@ msgstr ""
129msgid "Search"
165msgid "Search"
130msgstr "Pretraživanje"
166msgstr "Pretraživanje"
131
167
168+#: qml/Dash/PageHeader.qml:270
169+msgid "Settings"
170+msgstr ""
171+
172+#: qml/Dash/PageHeader.qml:279
173+msgid "Remove from Favorites"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Add to Favorites"
178+msgstr ""
179+
132#: qml/Dash/Previews/PreviewActionCombo.qml:34
180#: qml/Dash/Previews/PreviewActionCombo.qml:34
133msgid "More..."
181msgid "More..."
134msgstr ""
182msgstr ""
@@ -253,8 +301,12 @@ msgstr ""
253msgid "Sorry, incorrect passphrase"
301msgid "Sorry, incorrect passphrase"
254msgstr ""
302msgstr ""
255
303
256−#: qml/Shell.qml:269
304+#: qml/Shell.qml:282
257−msgid "Enter your PIN"
305+msgid "Enter your passcode"
306+msgstr ""
307+
308+#: qml/Shell.qml:283
309+msgid "Sorry, incorrect passcode"
258msgstr ""
310msgstr ""
259
311
260#: qml/Shell.qml:273
312#: qml/Shell.qml:273
po/hu.po+86−53
@@ -7,17 +7,17 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11−"PO-Revision-Date: 2014-08-24 11:17+0000\n"
11+"PO-Revision-Date: 2014-08-30 08:11+0000\n"
12"Last-Translator: Richard Somlói <ricsipontaz@gmail.com>\n"
12"Last-Translator: Richard Somlói <ricsipontaz@gmail.com>\n"
13"Language-Team: Hungarian <hu@li.org>\n"
13"Language-Team: Hungarian <hu@li.org>\n"
14"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−"X-Launchpad-Export-Date: 2014-08-25 08:06+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-31 07:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17176)\n"
19
19
20−#: plugins/LightDM/Greeter.cpp:129
20+#: plugins/LightDM/Greeter.cpp:130
21msgid "Password: "
21msgid "Password: "
22msgstr "Jelszó: "
22msgstr "Jelszó: "
23
23
@@ -30,19 +30,57 @@ msgstr "Indító rögzítése"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "Indító feloldása"
31msgstr "Indító feloldása"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34+msgid "Log out"
35+msgstr "Kijelentkezés"
36+
37+#: qml/Components/Dialogs.qml:71
34−msgid "Are you sure you would like to turn power off?"
38+msgid "Are you sure you want to log out?"
35−msgstr "Biztos benne, hogy ki szeretné kapcsolni?"
39+msgstr "Biztos benne, hogy kijelentkezik?"
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr "Nem"
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr "Igen"
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr "Leállítás"
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr "Biztosan le szeretné állítani?"
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr "Újraindítás"
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
65+msgstr "Biztosan újra szeretné indítani?"
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr "Kikapcsolás"
69msgstr "Kikapcsolás"
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
43−msgstr "Újraindítás"
75+msgstr ""
76+"Biztos benne, hogy ki\n"
77+"szeretné kapcsolni?"
44
78
45−#: qml/Components/Dialogs.qml:162
79+#: qml/Components/Dialogs.qml:147
80+msgid "Power off"
81+msgstr "Kikapcsolás"
82+
83+#: qml/Components/Dialogs.qml:157
46msgid "Cancel"
84msgid "Cancel"
47msgstr "Mégse"
85msgstr "Mégse"
48
86
@@ -129,10 +167,23 @@ msgstr "Kevesebb"
129msgid "See all"
167msgid "See all"
130msgstr "Összes megtekintése"
168msgstr "Összes megtekintése"
131
169
132−#: qml/Dash/GenericScopeView.qml:424 qml/Panel/SearchIndicator.qml:27
170+#: qml/Dash/GenericScopeView.qml:424 qml/Dash/PageHeader.qml:260
171+#: qml/Panel/SearchIndicator.qml:27
133msgid "Search"
172msgid "Search"
134msgstr "Keresés"
173msgstr "Keresés"
135
174
175+#: qml/Dash/PageHeader.qml:270
176+msgid "Settings"
177+msgstr "Beállítások"
178+
179+#: qml/Dash/PageHeader.qml:279
180+msgid "Remove from Favorites"
181+msgstr "Eltávolítás a kedvencek közül"
182+
183+#: qml/Dash/PageHeader.qml:279
184+msgid "Add to Favorites"
185+msgstr "Hozzáadás a kedvencekhez"
186+
136#: qml/Dash/Previews/PreviewActionCombo.qml:34
187#: qml/Dash/Previews/PreviewActionCombo.qml:34
137msgid "More..."
188msgid "More..."
138msgstr "Több…"
189msgstr "Több…"
@@ -157,11 +208,11 @@ msgstr "Küldés"
157msgid "Manage Dash"
208msgid "Manage Dash"
158msgstr "Dash kezelése"
209msgstr "Dash kezelése"
159
210
160−#: qml/Dash/ScopesOverview.qml:408
211+#: qml/Dash/ScopesOverview.qml:417
161msgid "Done"
212msgid "Done"
162msgstr "Kész"
213msgstr "Kész"
163
214
164−#: qml/Dash/ScopesOverview.qml:434
215+#: qml/Dash/ScopesOverview.qml:443
165msgid "Store"
216msgid "Store"
166msgstr "Áruház"
217msgstr "Áruház"
167
218
@@ -177,7 +228,7 @@ msgstr "Összes"
177msgid "Swipe to unlock"
228msgid "Swipe to unlock"
178msgstr "Csúsztasson a feloldáshoz"
229msgstr "Csúsztasson a feloldáshoz"
179
230
180−#: qml/Hud/HudParametrizedActionsPage.qml:132
231+#: qml/Hud/HudParametrizedActionsPage.qml:139
181msgid "Confirm"
232msgid "Confirm"
182msgstr "Megerősítés"
233msgstr "Megerősítés"
183
234
@@ -205,7 +256,7 @@ msgstr "Jelszó megjelenítése"
205msgid "Enter SIM PIN"
256msgid "Enter SIM PIN"
206msgstr "Adja meg a SIM PIN kódját"
257msgstr "Adja meg a SIM PIN kódját"
207
258
208−#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
259+#: qml/Notifications/NotificationMenuItemFactory.qml:121
209msgid "Sorry, incorrect PIN"
260msgid "Sorry, incorrect PIN"
210msgstr "Sajnáljuk, helytelen PIN"
261msgstr "Sajnáljuk, helytelen PIN"
211
262
@@ -249,41 +300,45 @@ msgstr "SIM feloldása"
249msgid "Roaming"
300msgid "Roaming"
250msgstr "Barangolás"
301msgstr "Barangolás"
251
302
252−#: qml/Shell.qml:266
303+#: qml/Shell.qml:279
253msgid "Enter your passphrase"
304msgid "Enter your passphrase"
254msgstr "Adja meg a jelmondatot"
305msgstr "Adja meg a jelmondatot"
255
306
256−#: qml/Shell.qml:267
307+#: qml/Shell.qml:280
257msgid "Sorry, incorrect passphrase"
308msgid "Sorry, incorrect passphrase"
258msgstr "Sajnáljuk, helytelen jelmondat"
309msgstr "Sajnáljuk, helytelen jelmondat"
259
310
260−#: qml/Shell.qml:269
311+#: qml/Shell.qml:282
261−msgid "Enter your PIN"
312+msgid "Enter your passcode"
262−msgstr "Adja meg a PIN kódot"
313+msgstr "Adja meg a jelkódját"
263
314
264−#: qml/Shell.qml:273
315+#: qml/Shell.qml:283
316+msgid "Sorry, incorrect passcode"
317+msgstr "Sajnáljuk, helytelen jelkód"
318+
319+#: qml/Shell.qml:286
265#, qt-format
320#, qt-format
266msgid "Enter your %1"
321msgid "Enter your %1"
267−msgstr "Adja meg a következőt: %1"
322+msgstr "Kérjük adja meg: %1"
268
323
269−#: qml/Shell.qml:274
324+#: qml/Shell.qml:287
270#, qt-format
325#, qt-format
271msgid "Sorry, incorrect %1"
326msgid "Sorry, incorrect %1"
272msgstr "Sajnáljuk, helytelen %1"
327msgstr "Sajnáljuk, helytelen %1"
273
328
274−#: qml/Shell.qml:310
329+#: qml/Shell.qml:323
275msgid "Sorry, incorrect passphrase."
330msgid "Sorry, incorrect passphrase."
276msgstr "Sajnáljuk, helytelen jelmondat."
331msgstr "Sajnáljuk, helytelen jelmondat."
277
332
278−#: qml/Shell.qml:311
333+#: qml/Shell.qml:324
279msgid "Sorry, incorrect passcode."
334msgid "Sorry, incorrect passcode."
280msgstr "Sajnáljuk, helytelen jelkód."
335msgstr "Sajnáljuk, helytelen jelkód."
281
336
282−#: qml/Shell.qml:312
337+#: qml/Shell.qml:325
283msgid "This will be your last attempt."
338msgid "This will be your last attempt."
284msgstr "Ez az utolsó próbálkozási lehetősége."
339msgstr "Ez az utolsó próbálkozási lehetősége."
285
340
286−#: qml/Shell.qml:314
341+#: qml/Shell.qml:327
287msgid ""
342msgid ""
288"If passphrase is entered incorrectly, your phone will conduct a factory "
343"If passphrase is entered incorrectly, your phone will conduct a factory "
289"reset and all personal data will be deleted."
344"reset and all personal data will be deleted."
@@ -291,32 +346,10 @@ msgstr ""
291"Ha helytelen jelmondatot ad meg, a telefonja visszaállítja a gyári "
346"Ha helytelen jelmondatot ad meg, a telefonja visszaállítja a gyári "
292"beállításokat és törli minden személyes adatát."
347"beállításokat és törli minden személyes adatát."
293
348
294−#: qml/Shell.qml:315
349+#: qml/Shell.qml:328
295msgid ""
350msgid ""
296"If passcode is entered incorrectly, your phone will conduct a factory reset "
351"If passcode is entered incorrectly, your phone will conduct a factory reset "
297"and all personal data will be deleted."
352"and all personal data will be deleted."
298msgstr ""
353msgstr ""
299"Ha helytelen jelkódot ad meg, a telefonja visszaállítja a gyári "
354"Ha helytelen jelkódot ad meg, a telefonja visszaállítja a gyári "
300"beállításokat és törli minden személyes adatát."
355"beállításokat és törli minden személyes adatát."
301−
302−#~ msgid "CANCEL"
303−#~ msgstr "MÉGSE"
304−
305−#~ msgid "DONE"
306−#~ msgstr "KÉSZ"
307−
308−#~ msgid "Please enter SIM PIN"
309−#~ msgstr "Adja meg a SIM PIN kódját"
310−
311−#~ msgid "passphrase"
312−#~ msgstr "jelmondat"
313−
314−#, qt-format
315−#~ msgid "Incorrect %1"
316−#~ msgstr "Helytelen %1"
317−
318−#~ msgid "Please re-enter"
319−#~ msgstr "Kérjük adja meg újra"
320−
321−#~ msgid "passcode"
322−#~ msgstr "jelkód"
po/hy.po+62−10
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2013-06-27 04:43+0000\n"
11"PO-Revision-Date: 2013-06-27 04:43+0000\n"
12"Last-Translator: iAbaS <sosabazyan@yandex.ru>\n"
12"Last-Translator: iAbaS <sosabazyan@yandex.ru>\n"
13"Language-Team: Armenian <hy@li.org>\n"
13"Language-Team: Armenian <hy@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−"X-Launchpad-Export-Date: 2014-08-23 07:16+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:29+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr ""
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr ""
31msgstr ""
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -129,6 +165,18 @@ msgstr ""
129msgid "Search"
165msgid "Search"
130msgstr "Որոնում"
166msgstr "Որոնում"
131
167
168+#: qml/Dash/PageHeader.qml:270
169+msgid "Settings"
170+msgstr ""
171+
172+#: qml/Dash/PageHeader.qml:279
173+msgid "Remove from Favorites"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Add to Favorites"
178+msgstr ""
179+
132#: qml/Dash/Previews/PreviewActionCombo.qml:34
180#: qml/Dash/Previews/PreviewActionCombo.qml:34
133msgid "More..."
181msgid "More..."
134msgstr ""
182msgstr ""
@@ -253,8 +301,12 @@ msgstr ""
253msgid "Sorry, incorrect passphrase"
301msgid "Sorry, incorrect passphrase"
254msgstr ""
302msgstr ""
255
303
256−#: qml/Shell.qml:269
304+#: qml/Shell.qml:282
257−msgid "Enter your PIN"
305+msgid "Enter your passcode"
306+msgstr ""
307+
308+#: qml/Shell.qml:283
309+msgid "Sorry, incorrect passcode"
258msgstr ""
310msgstr ""
259
311
260#: qml/Shell.qml:273
312#: qml/Shell.qml:273
po/id.po+62−10
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2013-06-26 22:35+0000\n"
11"PO-Revision-Date: 2013-06-26 22:35+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Indonesian <id@li.org>\n"
13"Language-Team: Indonesian <id@li.org>\n"
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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr ""
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr ""
31msgstr ""
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -129,6 +165,18 @@ msgstr ""
129msgid "Search"
165msgid "Search"
130msgstr ""
166msgstr ""
131
167
168+#: qml/Dash/PageHeader.qml:270
169+msgid "Settings"
170+msgstr ""
171+
172+#: qml/Dash/PageHeader.qml:279
173+msgid "Remove from Favorites"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Add to Favorites"
178+msgstr ""
179+
132#: qml/Dash/Previews/PreviewActionCombo.qml:34
180#: qml/Dash/Previews/PreviewActionCombo.qml:34
133msgid "More..."
181msgid "More..."
134msgstr ""
182msgstr ""
@@ -253,8 +301,12 @@ msgstr ""
253msgid "Sorry, incorrect passphrase"
301msgid "Sorry, incorrect passphrase"
254msgstr ""
302msgstr ""
255
303
256−#: qml/Shell.qml:269
304+#: qml/Shell.qml:282
257−msgid "Enter your PIN"
305+msgid "Enter your passcode"
306+msgstr ""
307+
308+#: qml/Shell.qml:283
309+msgid "Sorry, incorrect passcode"
258msgstr ""
310msgstr ""
259
311
260#: qml/Shell.qml:273
312#: qml/Shell.qml:273
po/is.po+62−19
@@ -9,15 +9,15 @@ msgid ""
9msgstr ""
9msgstr ""
10"Project-Id-Version: po_unity8-is\n"
10"Project-Id-Version: po_unity8-is\n"
11"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
11"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
12−"POT-Creation-Date: 2014-08-21 11:36+0200\n"
12+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
13"PO-Revision-Date: 2014-07-31 16:10+0000\n"
13"PO-Revision-Date: 2014-07-31 16:10+0000\n"
14"Last-Translator: Sveinn í Felli <sv1@fellsnet.is>\n"
14"Last-Translator: Sveinn í Felli <sv1@fellsnet.is>\n"
15"Language-Team: Icelandic <translation-team-is@lists.sourceforge.net>\n"
15"Language-Team: Icelandic <translation-team-is@lists.sourceforge.net>\n"
16"MIME-Version: 1.0\n"
16"MIME-Version: 1.0\n"
17"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Type: text/plain; charset=UTF-8\n"
18"Content-Transfer-Encoding: 8bit\n"
18"Content-Transfer-Encoding: 8bit\n"
19−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
19+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
20−"X-Generator: Launchpad (build 17163)\n"
20+"X-Generator: Launchpad (build 17174)\n"
21"Language: is\n"
21"Language: is\n"
22
22
23#: plugins/LightDM/Greeter.cpp:129
23#: plugins/LightDM/Greeter.cpp:129
@@ -33,16 +33,52 @@ msgstr "Pinna flýtilykil"
33msgid "Unpin shortcut"
33msgid "Unpin shortcut"
34msgstr "Losa flýtilykil"
34msgstr "Losa flýtilykil"
35
35
36−#: qml/Components/Dialogs.qml:142
36+#: qml/Components/Dialogs.qml:70
37−msgid "Are you sure you would like to turn power off?"
37+msgid "Log out"
38+msgstr ""
39+
40+#: qml/Components/Dialogs.qml:71
41+msgid "Are you sure you want to log out?"
42+msgstr ""
43+
44+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
45+#: qml/Components/Dialogs.qml:122
46+msgid "No"
47+msgstr ""
48+
49+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
50+#: qml/Components/Dialogs.qml:129
51+msgid "Yes"
52+msgstr ""
53+
54+#: qml/Components/Dialogs.qml:94
55+msgid "Shut down"
56+msgstr ""
57+
58+#: qml/Components/Dialogs.qml:95
59+msgid "Are you sure you want to shut down?"
60+msgstr ""
61+
62+#: qml/Components/Dialogs.qml:119
63+msgid "Reboot"
64+msgstr ""
65+
66+#: qml/Components/Dialogs.qml:120
67+msgid "Are you sure you want to reboot?"
38msgstr ""
68msgstr ""
39
69
40#: qml/Components/Dialogs.qml:144
70#: qml/Components/Dialogs.qml:144
41−msgid "Power off"
71+msgid "Power"
42msgstr ""
72msgstr ""
43
73
44−#: qml/Components/Dialogs.qml:153
74+#: qml/Components/Dialogs.qml:145
45−msgid "Restart"
75+msgid ""
76+"Are you sure you would like\n"
77+"to power off?"
78+msgstr ""
79+
80+#: qml/Components/Dialogs.qml:144
81+msgid "Power off"
46msgstr ""
82msgstr ""
47
83
48#: qml/Components/Dialogs.qml:162
84#: qml/Components/Dialogs.qml:162
@@ -135,6 +171,18 @@ msgstr "Sjá allt"
135msgid "Search"
171msgid "Search"
136msgstr "Leita"
172msgstr "Leita"
137
173
174+#: qml/Dash/PageHeader.qml:270
175+msgid "Settings"
176+msgstr ""
177+
178+#: qml/Dash/PageHeader.qml:279
179+msgid "Remove from Favorites"
180+msgstr ""
181+
182+#: qml/Dash/PageHeader.qml:279
183+msgid "Add to Favorites"
184+msgstr ""
185+
138#: qml/Dash/Previews/PreviewActionCombo.qml:34
186#: qml/Dash/Previews/PreviewActionCombo.qml:34
139msgid "More..."
187msgid "More..."
140msgstr "Meira..."
188msgstr "Meira..."
@@ -259,8 +307,12 @@ msgstr ""
259msgid "Sorry, incorrect passphrase"
307msgid "Sorry, incorrect passphrase"
260msgstr ""
308msgstr ""
261
309
262−#: qml/Shell.qml:269
310+#: qml/Shell.qml:282
263−msgid "Enter your PIN"
311+msgid "Enter your passcode"
312+msgstr ""
313+
314+#: qml/Shell.qml:283
315+msgid "Sorry, incorrect passcode"
264msgstr ""
316msgstr ""
265
317
266#: qml/Shell.qml:273
318#: qml/Shell.qml:273
@@ -296,12 +348,3 @@ msgid ""
296"If passcode is entered incorrectly, your phone will conduct a factory reset "
348"If passcode is entered incorrectly, your phone will conduct a factory reset "
297"and all personal data will be deleted."
349"and all personal data will be deleted."
298msgstr ""
350msgstr ""
299−
300−#~ msgid "DONE"
301−#~ msgstr "BÚIÐ"
302−
303−#~ msgid "CANCEL"
304−#~ msgstr "HÆTTA VIÐ"
305−
306−#~ msgid "Please enter SIM PIN"
307−#~ msgstr "Settu inn PIN fyrir SIM"
po/it.po+84−51
@@ -7,17 +7,17 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11−"PO-Revision-Date: 2014-08-23 07:47+0000\n"
11+"PO-Revision-Date: 2014-08-28 15:31+0000\n"
12"Last-Translator: Claudio Arseni <claudio.arseni@gmail.com>\n"
12"Last-Translator: Claudio Arseni <claudio.arseni@gmail.com>\n"
13"Language-Team: Italian <it@li.org>\n"
13"Language-Team: Italian <it@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-08-24 06:46+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-30 07:46+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17176)\n"
19
19
20−#: plugins/LightDM/Greeter.cpp:129
20+#: plugins/LightDM/Greeter.cpp:130
21msgid "Password: "
21msgid "Password: "
22msgstr "Password: "
22msgstr "Password: "
23
23
@@ -30,19 +30,57 @@ msgstr "Blocca scorciatoia"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "Sblocca scorciatoia"
31msgstr "Sblocca scorciatoia"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34+msgid "Log out"
35+msgstr "Termina sessione"
36+
37+#: qml/Components/Dialogs.qml:71
34−msgid "Are you sure you would like to turn power off?"
38+msgid "Are you sure you want to log out?"
39+msgstr "Terminare veramente la sessione?"
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr "No"
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr "Sì"
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr "Spegni"
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
35msgstr "Spegnere veramente il dispositivo?"
57msgstr "Spegnere veramente il dispositivo?"
36
58
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr "Riavvia"
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
65+msgstr "Riavviare veramente il dispositivo?"
66+
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
68+msgid "Power"
69+msgstr "Alimentazione"
70+
71+#: qml/Components/Dialogs.qml:145
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+"Spegnere veramente\n"
77+"il dispositivo?"
78+
79+#: qml/Components/Dialogs.qml:147
38msgid "Power off"
80msgid "Power off"
39msgstr "Spegni"
81msgstr "Spegni"
40
82
41−#: qml/Components/Dialogs.qml:153
83+#: qml/Components/Dialogs.qml:157
42−msgid "Restart"
43−msgstr "Riavvia"
44−
45−#: qml/Components/Dialogs.qml:162
46msgid "Cancel"
84msgid "Cancel"
47msgstr "Annulla"
85msgstr "Annulla"
48
86
@@ -132,10 +170,23 @@ msgstr "Mostra meno"
132msgid "See all"
170msgid "See all"
133msgstr "Mostra tutto"
171msgstr "Mostra tutto"
134
172
135−#: qml/Dash/GenericScopeView.qml:424 qml/Panel/SearchIndicator.qml:27
173+#: qml/Dash/GenericScopeView.qml:424 qml/Dash/PageHeader.qml:260
174+#: qml/Panel/SearchIndicator.qml:27
136msgid "Search"
175msgid "Search"
137msgstr "Cerca"
176msgstr "Cerca"
138
177
178+#: qml/Dash/PageHeader.qml:270
179+msgid "Settings"
180+msgstr "Impostazioni"
181+
182+#: qml/Dash/PageHeader.qml:279
183+msgid "Remove from Favorites"
184+msgstr "Rimuovi dai preferiti"
185+
186+#: qml/Dash/PageHeader.qml:279
187+msgid "Add to Favorites"
188+msgstr "Aggiungi ai preferiti"
189+
139#: qml/Dash/Previews/PreviewActionCombo.qml:34
190#: qml/Dash/Previews/PreviewActionCombo.qml:34
140msgid "More..."
191msgid "More..."
141msgstr "Altro..."
192msgstr "Altro..."
@@ -160,11 +211,11 @@ msgstr "Invia"
160msgid "Manage Dash"
211msgid "Manage Dash"
161msgstr "Gestione della Dash"
212msgstr "Gestione della Dash"
162
213
163−#: qml/Dash/ScopesOverview.qml:408
214+#: qml/Dash/ScopesOverview.qml:417
164msgid "Done"
215msgid "Done"
165msgstr "Fatto"
216msgstr "Fatto"
166
217
167−#: qml/Dash/ScopesOverview.qml:434
218+#: qml/Dash/ScopesOverview.qml:443
168msgid "Store"
219msgid "Store"
169msgstr "Store"
220msgstr "Store"
170
221
@@ -180,7 +231,7 @@ msgstr "Tutto"
180msgid "Swipe to unlock"
231msgid "Swipe to unlock"
181msgstr "Scorrere per sbloccare"
232msgstr "Scorrere per sbloccare"
182
233
183−#: qml/Hud/HudParametrizedActionsPage.qml:132
234+#: qml/Hud/HudParametrizedActionsPage.qml:139
184msgid "Confirm"
235msgid "Confirm"
185msgstr "Conferma"
236msgstr "Conferma"
186
237
@@ -208,7 +259,7 @@ msgstr "Mostra password"
208msgid "Enter SIM PIN"
259msgid "Enter SIM PIN"
209msgstr "Inserire il PIN della SIM"
260msgstr "Inserire il PIN della SIM"
210
261
211−#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
262+#: qml/Notifications/NotificationMenuItemFactory.qml:121
212msgid "Sorry, incorrect PIN"
263msgid "Sorry, incorrect PIN"
213msgstr "PIN errato"
264msgstr "PIN errato"
214
265
@@ -252,41 +303,45 @@ msgstr "Sblocca SIM"
252msgid "Roaming"
303msgid "Roaming"
253msgstr "Roaming"
304msgstr "Roaming"
254
305
255−#: qml/Shell.qml:266
306+#: qml/Shell.qml:279
256msgid "Enter your passphrase"
307msgid "Enter your passphrase"
257msgstr "Digitare la passphrase"
308msgstr "Digitare la passphrase"
258
309
259−#: qml/Shell.qml:267
310+#: qml/Shell.qml:280
260msgid "Sorry, incorrect passphrase"
311msgid "Sorry, incorrect passphrase"
261msgstr "Passphrase errata"
312msgstr "Passphrase errata"
262
313
263−#: qml/Shell.qml:269
314+#: qml/Shell.qml:282
264−msgid "Enter your PIN"
315+msgid "Enter your passcode"
265−msgstr "Inserire il PIN"
316+msgstr "Inserire il passcode"
266
317
267−#: qml/Shell.qml:273
318+#: qml/Shell.qml:283
319+msgid "Sorry, incorrect passcode"
320+msgstr "Passcode non corretto"
321+
322+#: qml/Shell.qml:286
268#, qt-format
323#, qt-format
269msgid "Enter your %1"
324msgid "Enter your %1"
270msgstr "Inserire %1"
325msgstr "Inserire %1"
271
326
272−#: qml/Shell.qml:274
327+#: qml/Shell.qml:287
273#, qt-format
328#, qt-format
274msgid "Sorry, incorrect %1"
329msgid "Sorry, incorrect %1"
275msgstr "%1 non corretto"
330msgstr "%1 non corretto"
276
331
277−#: qml/Shell.qml:310
332+#: qml/Shell.qml:323
278msgid "Sorry, incorrect passphrase."
333msgid "Sorry, incorrect passphrase."
279msgstr "Passphrase non corretta"
334msgstr "Passphrase non corretta"
280
335
281−#: qml/Shell.qml:311
336+#: qml/Shell.qml:324
282msgid "Sorry, incorrect passcode."
337msgid "Sorry, incorrect passcode."
283msgstr "Passcode non corretto"
338msgstr "Passcode non corretto"
284
339
285−#: qml/Shell.qml:312
340+#: qml/Shell.qml:325
286msgid "This will be your last attempt."
341msgid "This will be your last attempt."
287msgstr "Questo sarà l'ultimo tentativo."
342msgstr "Questo sarà l'ultimo tentativo."
288
343
289−#: qml/Shell.qml:314
344+#: qml/Shell.qml:327
290msgid ""
345msgid ""
291"If passphrase is entered incorrectly, your phone will conduct a factory "
346"If passphrase is entered incorrectly, your phone will conduct a factory "
292"reset and all personal data will be deleted."
347"reset and all personal data will be deleted."
@@ -294,32 +349,10 @@ msgstr ""
294"Se verrà inserita una passphrase errata, il telefono eseguirà un ripristino "
349"Se verrà inserita una passphrase errata, il telefono eseguirà un ripristino "
295"delle impostazioni di fabbrica e tutti i dati personali verranno eliminati."
350"delle impostazioni di fabbrica e tutti i dati personali verranno eliminati."
296
351
297−#: qml/Shell.qml:315
352+#: qml/Shell.qml:328
298msgid ""
353msgid ""
299"If passcode is entered incorrectly, your phone will conduct a factory reset "
354"If passcode is entered incorrectly, your phone will conduct a factory reset "
300"and all personal data will be deleted."
355"and all personal data will be deleted."
301msgstr ""
356msgstr ""
302"Se verrà inserito una passcode errato, il telefono eseguirà un ripristino "
357"Se verrà inserito una passcode errato, il telefono eseguirà un ripristino "
303"delle impostazioni di fabbrica e tutti i dati personali verranno eliminati."
358"delle impostazioni di fabbrica e tutti i dati personali verranno eliminati."
304−
305−#~ msgid "Please enter SIM PIN"
306−#~ msgstr "Inserire il codice PIN"
307−
308−#~ msgid "CANCEL"
309−#~ msgstr "Annulla"
310−
311−#~ msgid "DONE"
312−#~ msgstr "Fatto"
313−
314−#~ msgid "passphrase"
315−#~ msgstr "passphrase"
316−
317−#, qt-format
318−#~ msgid "Incorrect %1"
319−#~ msgstr "Errore %1"
320−
321−#~ msgid "Please re-enter"
322−#~ msgstr "Inserire nuovamente"
323−
324−#~ msgid "passcode"
325−#~ msgstr "passcode"
po/ja.po+68−32
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-08-18 15:03+0000\n"
11"PO-Revision-Date: 2014-08-18 15:03+0000\n"
12"Last-Translator: Mitsuya Shibata <mty.shibata@gmail.com>\n"
12"Last-Translator: Mitsuya Shibata <mty.shibata@gmail.com>\n"
13"Language-Team: Japanese <ja@li.org>\n"
13"Language-Team: Japanese <ja@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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,18 +30,54 @@ msgstr "ショートカットを追加する"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "ショートカットを削除する"
31msgstr "ショートカットを削除する"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
65+msgstr ""
66+
67+#: qml/Components/Dialogs.qml:144
68+msgid "Power"
69+msgstr ""
70+
71+#: qml/Components/Dialogs.qml:145
72+msgid ""
34−msgid "Are you sure you would like to turn power off?"
73+"Are you sure you would like\n"
35−msgstr "本当に電源を切りますか?"
74+"to power off?"
75+msgstr ""
36
76
37#: qml/Components/Dialogs.qml:144
77#: qml/Components/Dialogs.qml:144
38msgid "Power off"
78msgid "Power off"
39msgstr "電源を切る"
79msgstr "電源を切る"
40
80
41−#: qml/Components/Dialogs.qml:153
42−msgid "Restart"
43−msgstr "再起動"
44−
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
46msgid "Cancel"
82msgid "Cancel"
47msgstr "キャンセル"
83msgstr "キャンセル"
@@ -130,6 +166,18 @@ msgstr "すべて表示する"
130msgid "Search"
166msgid "Search"
131msgstr "検索"
167msgstr "検索"
132
168
169+#: qml/Dash/PageHeader.qml:270
170+msgid "Settings"
171+msgstr ""
172+
173+#: qml/Dash/PageHeader.qml:279
174+msgid "Remove from Favorites"
175+msgstr ""
176+
177+#: qml/Dash/PageHeader.qml:279
178+msgid "Add to Favorites"
179+msgstr ""
180+
133#: qml/Dash/Previews/PreviewActionCombo.qml:34
181#: qml/Dash/Previews/PreviewActionCombo.qml:34
134msgid "More..."
182msgid "More..."
135msgstr "さらに ..."
183msgstr "さらに ..."
@@ -254,8 +302,12 @@ msgstr ""
254msgid "Sorry, incorrect passphrase"
302msgid "Sorry, incorrect passphrase"
255msgstr ""
303msgstr ""
256
304
257−#: qml/Shell.qml:269
305+#: qml/Shell.qml:282
258−msgid "Enter your PIN"
306+msgid "Enter your passcode"
307+msgstr ""
308+
309+#: qml/Shell.qml:283
310+msgid "Sorry, incorrect passcode"
259msgstr ""
311msgstr ""
260
312
261#: qml/Shell.qml:273
313#: qml/Shell.qml:273
@@ -292,24 +344,8 @@ msgid ""
292"and all personal data will be deleted."
344"and all personal data will be deleted."
293msgstr ""
345msgstr ""
294
346
295−#~ msgid "CANCEL"
347+#~ msgid "Are you sure you would like to turn power off?"
296−#~ msgstr "キャンセル"
348+#~ msgstr "本当に電源を切りますか?"
297−
298−#~ msgid "DONE"
299−#~ msgstr "完了"
300−
301−#~ msgid "Please enter SIM PIN"
302−#~ msgstr "SIM PINを入力してください"
303−
304−#~ msgid "passphrase"
305−#~ msgstr "パスフレーズ"
306−
307−#, qt-format
308−#~ msgid "Incorrect %1"
309−#~ msgstr "%1が間違っています"
310−
311−#~ msgid "passcode"
312−#~ msgstr "パスコード"
313
349
314−#~ msgid "Please re-enter"
350+#~ msgid "Restart"
315−#~ msgstr "再入力してください"
351+#~ msgstr "再起動"
po/km.po+68−32
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-08-20 02:48+0000\n"
11"PO-Revision-Date: 2014-08-20 02:48+0000\n"
12"Last-Translator: Sok Sophea <sksophea@gmail.com>\n"
12"Last-Translator: Sok Sophea <sksophea@gmail.com>\n"
13"Language-Team: Khmer <km@li.org>\n"
13"Language-Team: Khmer <km@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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,18 +30,54 @@ msgstr "ភ្ជាប់​ផ្លូវកាត់"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "មិន​ភ្ជាប់ផ្លូវកាត់"
31msgstr "មិន​ភ្ជាប់ផ្លូវកាត់"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
65+msgstr ""
66+
67+#: qml/Components/Dialogs.qml:144
68+msgid "Power"
69+msgstr ""
70+
71+#: qml/Components/Dialogs.qml:145
72+msgid ""
34−msgid "Are you sure you would like to turn power off?"
73+"Are you sure you would like\n"
35−msgstr "តើ​អ្នក​ពិតជា​ចង់​បិទ​មែន​ឬ?"
74+"to power off?"
75+msgstr ""
36
76
37#: qml/Components/Dialogs.qml:144
77#: qml/Components/Dialogs.qml:144
38msgid "Power off"
78msgid "Power off"
39msgstr "បិទ"
79msgstr "បិទ"
40
80
41−#: qml/Components/Dialogs.qml:153
42−msgid "Restart"
43−msgstr "ចាប់ផ្ដើម​ឡើងវិញ"
44−
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
46msgid "Cancel"
82msgid "Cancel"
47msgstr "បោះបង់"
83msgstr "បោះបង់"
@@ -133,6 +169,18 @@ msgstr "មើល​ទាំងអស់"
133msgid "Search"
169msgid "Search"
134msgstr "ស្វែង​រក"
170msgstr "ស្វែង​រក"
135
171
172+#: qml/Dash/PageHeader.qml:270
173+msgid "Settings"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Remove from Favorites"
178+msgstr ""
179+
180+#: qml/Dash/PageHeader.qml:279
181+msgid "Add to Favorites"
182+msgstr ""
183+
136#: qml/Dash/Previews/PreviewActionCombo.qml:34
184#: qml/Dash/Previews/PreviewActionCombo.qml:34
137msgid "More..."
185msgid "More..."
138msgstr "ច្រើនជាង​..."
186msgstr "ច្រើនជាង​..."
@@ -257,8 +305,12 @@ msgstr ""
257msgid "Sorry, incorrect passphrase"
305msgid "Sorry, incorrect passphrase"
258msgstr ""
306msgstr ""
259
307
260−#: qml/Shell.qml:269
308+#: qml/Shell.qml:282
261−msgid "Enter your PIN"
309+msgid "Enter your passcode"
310+msgstr ""
311+
312+#: qml/Shell.qml:283
313+msgid "Sorry, incorrect passcode"
262msgstr ""
314msgstr ""
263
315
264#: qml/Shell.qml:273
316#: qml/Shell.qml:273
@@ -301,24 +353,8 @@ msgstr ""
301"ទូរស័ព្ទ​របស់​អ្នក​នឹង​កំណត់​ទៅ​ទិន្នន័យ​ពី​រោងចក្រ​វិញ "
353"ទូរស័ព្ទ​របស់​អ្នក​នឹង​កំណត់​ទៅ​ទិន្នន័យ​ពី​រោងចក្រ​វិញ "
302"ហើយ​ទិន្នន័យ​ផ្ទាល់ខ្លួន​ទាំងអស់​របស់​អ្នក​នឹង​ត្រូវ​បាន​លុប។"
354"ហើយ​ទិន្នន័យ​ផ្ទាល់ខ្លួន​ទាំងអស់​របស់​អ្នក​នឹង​ត្រូវ​បាន​លុប។"
303
355
304−#~ msgid "Please enter SIM PIN"
356+#~ msgid "Are you sure you would like to turn power off?"
305−#~ msgstr "បញ្ចូល​កូដ PIN របស់​ស៊ីមកាត"
357+#~ msgstr "តើ​អ្នក​ពិតជា​ចង់​បិទ​មែន​ឬ?"
306−
307−#~ msgid "CANCEL"
308−#~ msgstr "បោះបង់"
309−
310−#~ msgid "DONE"
311−#~ msgstr "រួចរាល់"
312−
313−#~ msgid "passphrase"
314−#~ msgstr "ឃ្លា​សម្ងាត់"
315−
316−#, qt-format
317−#~ msgid "Incorrect %1"
318−#~ msgstr "មិន​ត្រឹមត្រូវ %1"
319−
320−#~ msgid "Please re-enter"
321−#~ msgstr "សូម​បញ្ចូល​ឡើងវិញ"
322
358
323−#~ msgid "passcode"
359+#~ msgid "Restart"
324−#~ msgstr "កូដ​សម្ងាត់"
360+#~ msgstr "ចាប់ផ្ដើម​ឡើងវិញ"
po/kn.po+62−10
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2013-06-27 05:43+0000\n"
11"PO-Revision-Date: 2013-06-27 05:43+0000\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
13"Language-Team: Kannada <kn@li.org>\n"
13"Language-Team: Kannada <kn@li.org>\n"
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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr ""
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr ""
31msgstr ""
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -129,6 +165,18 @@ msgstr ""
129msgid "Search"
165msgid "Search"
130msgstr "ಹುಡುಕು"
166msgstr "ಹುಡುಕು"
131
167
168+#: qml/Dash/PageHeader.qml:270
169+msgid "Settings"
170+msgstr ""
171+
172+#: qml/Dash/PageHeader.qml:279
173+msgid "Remove from Favorites"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Add to Favorites"
178+msgstr ""
179+
132#: qml/Dash/Previews/PreviewActionCombo.qml:34
180#: qml/Dash/Previews/PreviewActionCombo.qml:34
133msgid "More..."
181msgid "More..."
134msgstr ""
182msgstr ""
@@ -253,8 +301,12 @@ msgstr ""
253msgid "Sorry, incorrect passphrase"
301msgid "Sorry, incorrect passphrase"
254msgstr ""
302msgstr ""
255
303
256−#: qml/Shell.qml:269
304+#: qml/Shell.qml:282
257−msgid "Enter your PIN"
305+msgid "Enter your passcode"
306+msgstr ""
307+
308+#: qml/Shell.qml:283
309+msgid "Sorry, incorrect passcode"
258msgstr ""
310msgstr ""
259
311
260#: qml/Shell.qml:273
312#: qml/Shell.qml:273
po/ko.po+68−32
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-08-19 13:02+0000\n"
11"PO-Revision-Date: 2014-08-19 13:02+0000\n"
12"Last-Translator: MinSik CHO <Unknown>\n"
12"Last-Translator: MinSik CHO <Unknown>\n"
13"Language-Team: Korean <ko@li.org>\n"
13"Language-Team: Korean <ko@li.org>\n"
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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,18 +30,54 @@ msgstr "바로가기를 고정하기"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "바로가기를 고정 해제하기"
31msgstr "바로가기를 고정 해제하기"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
65+msgstr ""
66+
67+#: qml/Components/Dialogs.qml:144
68+msgid "Power"
69+msgstr ""
70+
71+#: qml/Components/Dialogs.qml:145
72+msgid ""
34−msgid "Are you sure you would like to turn power off?"
73+"Are you sure you would like\n"
35−msgstr "정말로 전원을 끌까요?"
74+"to power off?"
75+msgstr ""
36
76
37#: qml/Components/Dialogs.qml:144
77#: qml/Components/Dialogs.qml:144
38msgid "Power off"
78msgid "Power off"
39msgstr "전원 끄기"
79msgstr "전원 끄기"
40
80
41−#: qml/Components/Dialogs.qml:153
42−msgid "Restart"
43−msgstr "재시작"
44−
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
46msgid "Cancel"
82msgid "Cancel"
47msgstr "취소"
83msgstr "취소"
@@ -131,6 +167,18 @@ msgstr "모두 보기"
131msgid "Search"
167msgid "Search"
132msgstr "검색"
168msgstr "검색"
133
169
170+#: qml/Dash/PageHeader.qml:270
171+msgid "Settings"
172+msgstr ""
173+
174+#: qml/Dash/PageHeader.qml:279
175+msgid "Remove from Favorites"
176+msgstr ""
177+
178+#: qml/Dash/PageHeader.qml:279
179+msgid "Add to Favorites"
180+msgstr ""
181+
134#: qml/Dash/Previews/PreviewActionCombo.qml:34
182#: qml/Dash/Previews/PreviewActionCombo.qml:34
135msgid "More..."
183msgid "More..."
136msgstr "더 보기..."
184msgstr "더 보기..."
@@ -255,8 +303,12 @@ msgstr ""
255msgid "Sorry, incorrect passphrase"
303msgid "Sorry, incorrect passphrase"
256msgstr ""
304msgstr ""
257
305
258−#: qml/Shell.qml:269
306+#: qml/Shell.qml:282
259−msgid "Enter your PIN"
307+msgid "Enter your passcode"
308+msgstr ""
309+
310+#: qml/Shell.qml:283
311+msgid "Sorry, incorrect passcode"
260msgstr ""
312msgstr ""
261
313
262#: qml/Shell.qml:273
314#: qml/Shell.qml:273
@@ -295,24 +347,8 @@ msgid ""
295msgstr ""
347msgstr ""
296"만약 이번 시도에서 잘못 입력하면, 보안을 위해 휴대 전화가 공장 초기화 과정을 거쳐 모든 사용자 데이터를 삭제할 것입니다."
348"만약 이번 시도에서 잘못 입력하면, 보안을 위해 휴대 전화가 공장 초기화 과정을 거쳐 모든 사용자 데이터를 삭제할 것입니다."
297
349
298−#~ msgid "CANCEL"
350+#~ msgid "Are you sure you would like to turn power off?"
299−#~ msgstr "취소"
351+#~ msgstr "정말로 전원을 끌까요?"
300−
301−#~ msgid "DONE"
302−#~ msgstr "완료"
303−
304−#~ msgid "Please enter SIM PIN"
305−#~ msgstr "심카드의 PIN 번호를 입력하세요."
306−
307−#~ msgid "passphrase"
308−#~ msgstr "비밀번호"
309−
310−#~ msgid "passcode"
311−#~ msgstr "비밀번호"
312−
313−#, qt-format
314−#~ msgid "Incorrect %1"
315−#~ msgstr "잘못된 %1입니다"
316
352
317−#~ msgid "Please re-enter"
353+#~ msgid "Restart"
318−#~ msgstr "다시 입력하세요"
354+#~ msgstr "재시작"
po/ky.po+62−10
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2013-06-27 06:17+0000\n"
11"PO-Revision-Date: 2013-06-27 06:17+0000\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
13"Language-Team: Kirghiz <ky@li.org>\n"
13"Language-Team: Kirghiz <ky@li.org>\n"
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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr ""
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr ""
31msgstr ""
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -129,6 +165,18 @@ msgstr ""
129msgid "Search"
165msgid "Search"
130msgstr "Издөө"
166msgstr "Издөө"
131
167
168+#: qml/Dash/PageHeader.qml:270
169+msgid "Settings"
170+msgstr ""
171+
172+#: qml/Dash/PageHeader.qml:279
173+msgid "Remove from Favorites"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Add to Favorites"
178+msgstr ""
179+
132#: qml/Dash/Previews/PreviewActionCombo.qml:34
180#: qml/Dash/Previews/PreviewActionCombo.qml:34
133msgid "More..."
181msgid "More..."
134msgstr ""
182msgstr ""
@@ -253,8 +301,12 @@ msgstr ""
253msgid "Sorry, incorrect passphrase"
301msgid "Sorry, incorrect passphrase"
254msgstr ""
302msgstr ""
255
303
256−#: qml/Shell.qml:269
304+#: qml/Shell.qml:282
257−msgid "Enter your PIN"
305+msgid "Enter your passcode"
306+msgstr ""
307+
308+#: qml/Shell.qml:283
309+msgid "Sorry, incorrect passcode"
258msgstr ""
310msgstr ""
259
311
260#: qml/Shell.qml:273
312#: qml/Shell.qml:273
po/lo.po+62−10
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2013-10-02 10:00+0000\n"
11"PO-Revision-Date: 2013-10-02 10:00+0000\n"
12"Last-Translator: Anousak <anousak@gmail.com>\n"
12"Last-Translator: Anousak <anousak@gmail.com>\n"
13"Language-Team: Lao <lo@li.org>\n"
13"Language-Team: Lao <lo@li.org>\n"
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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr ""
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr ""
31msgstr ""
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -129,6 +165,18 @@ msgstr ""
129msgid "Search"
165msgid "Search"
130msgstr "ຊອກຫາ"
166msgstr "ຊອກຫາ"
131
167
168+#: qml/Dash/PageHeader.qml:270
169+msgid "Settings"
170+msgstr ""
171+
172+#: qml/Dash/PageHeader.qml:279
173+msgid "Remove from Favorites"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Add to Favorites"
178+msgstr ""
179+
132#: qml/Dash/Previews/PreviewActionCombo.qml:34
180#: qml/Dash/Previews/PreviewActionCombo.qml:34
133msgid "More..."
181msgid "More..."
134msgstr ""
182msgstr ""
@@ -253,8 +301,12 @@ msgstr ""
253msgid "Sorry, incorrect passphrase"
301msgid "Sorry, incorrect passphrase"
254msgstr ""
302msgstr ""
255
303
256−#: qml/Shell.qml:269
304+#: qml/Shell.qml:282
257−msgid "Enter your PIN"
305+msgid "Enter your passcode"
306+msgstr ""
307+
308+#: qml/Shell.qml:283
309+msgid "Sorry, incorrect passcode"
258msgstr ""
310msgstr ""
259
311
260#: qml/Shell.qml:273
312#: qml/Shell.qml:273
po/lt.po+62−13
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-05-19 17:15+0000\n"
11"PO-Revision-Date: 2014-05-19 17:15+0000\n"
12"Last-Translator: Mantas Kriaučiūnas <mantas@akl.lt>\n"
12"Last-Translator: Mantas Kriaučiūnas <mantas@akl.lt>\n"
13"Language-Team: Lithuanian <lt@li.org>\n"
13"Language-Team: Lithuanian <lt@li.org>\n"
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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr ""
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr ""
31msgstr ""
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -132,6 +168,18 @@ msgstr ""
132msgid "Search"
168msgid "Search"
133msgstr "Paieška"
169msgstr "Paieška"
134
170
171+#: qml/Dash/PageHeader.qml:270
172+msgid "Settings"
173+msgstr ""
174+
175+#: qml/Dash/PageHeader.qml:279
176+msgid "Remove from Favorites"
177+msgstr ""
178+
179+#: qml/Dash/PageHeader.qml:279
180+msgid "Add to Favorites"
181+msgstr ""
182+
135#: qml/Dash/Previews/PreviewActionCombo.qml:34
183#: qml/Dash/Previews/PreviewActionCombo.qml:34
136msgid "More..."
184msgid "More..."
137msgstr "Daugiau..."
185msgstr "Daugiau..."
@@ -256,8 +304,12 @@ msgstr ""
256msgid "Sorry, incorrect passphrase"
304msgid "Sorry, incorrect passphrase"
257msgstr ""
305msgstr ""
258
306
259−#: qml/Shell.qml:269
307+#: qml/Shell.qml:282
260−msgid "Enter your PIN"
308+msgid "Enter your passcode"
309+msgstr ""
310+
311+#: qml/Shell.qml:283
312+msgid "Sorry, incorrect passcode"
261msgstr ""
313msgstr ""
262
314
263#: qml/Shell.qml:273
315#: qml/Shell.qml:273
@@ -293,6 +345,3 @@ msgid ""
293"If passcode is entered incorrectly, your phone will conduct a factory reset "
345"If passcode is entered incorrectly, your phone will conduct a factory reset "
294"and all personal data will be deleted."
346"and all personal data will be deleted."
295msgstr ""
347msgstr ""
296−
297−#~ msgid "Please enter SIM PIN"
298−#~ msgstr "Įveskite SIM kortelės PIN kodą"
po/lv.po+68−26
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-08-21 09:46+0000\n"
11"PO-Revision-Date: 2014-08-21 09:46+0000\n"
12"Last-Translator: Jānis-Marks Gailis <jm-gailis@fai-vianet.fr>\n"
12"Last-Translator: Jānis-Marks Gailis <jm-gailis@fai-vianet.fr>\n"
13"Language-Team: Latvian <lv@li.org>\n"
13"Language-Team: Latvian <lv@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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,18 +30,54 @@ msgstr ""
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr ""
31msgstr ""
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
65+msgstr ""
66+
67+#: qml/Components/Dialogs.qml:144
68+msgid "Power"
69+msgstr ""
70+
71+#: qml/Components/Dialogs.qml:145
72+msgid ""
34−msgid "Are you sure you would like to turn power off?"
73+"Are you sure you would like\n"
35−msgstr "Vai esat drošs ka vēlaties izslēgt?"
74+"to power off?"
75+msgstr ""
36
76
37#: qml/Components/Dialogs.qml:144
77#: qml/Components/Dialogs.qml:144
38msgid "Power off"
78msgid "Power off"
39msgstr "Izslēgt"
79msgstr "Izslēgt"
40
80
41−#: qml/Components/Dialogs.qml:153
42−msgid "Restart"
43−msgstr "Pārstartēt"
44−
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
46msgid "Cancel"
82msgid "Cancel"
47msgstr "Atcelt"
83msgstr "Atcelt"
@@ -129,6 +165,18 @@ msgstr "Skatīt visus"
129msgid "Search"
165msgid "Search"
130msgstr "Meklēt"
166msgstr "Meklēt"
131
167
168+#: qml/Dash/PageHeader.qml:270
169+msgid "Settings"
170+msgstr ""
171+
172+#: qml/Dash/PageHeader.qml:279
173+msgid "Remove from Favorites"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Add to Favorites"
178+msgstr ""
179+
132#: qml/Dash/Previews/PreviewActionCombo.qml:34
180#: qml/Dash/Previews/PreviewActionCombo.qml:34
133msgid "More..."
181msgid "More..."
134msgstr "Vairāk..."
182msgstr "Vairāk..."
@@ -253,8 +301,12 @@ msgstr ""
253msgid "Sorry, incorrect passphrase"
301msgid "Sorry, incorrect passphrase"
254msgstr ""
302msgstr ""
255
303
256−#: qml/Shell.qml:269
304+#: qml/Shell.qml:282
257−msgid "Enter your PIN"
305+msgid "Enter your passcode"
306+msgstr ""
307+
308+#: qml/Shell.qml:283
309+msgid "Sorry, incorrect passcode"
258msgstr ""
310msgstr ""
259
311
260#: qml/Shell.qml:273
312#: qml/Shell.qml:273
@@ -291,18 +343,8 @@ msgid ""
291"and all personal data will be deleted."
343"and all personal data will be deleted."
292msgstr ""
344msgstr ""
293
345
294−#~ msgid "Please enter SIM PIN"
346+#~ msgid "Restart"
295−#~ msgstr "Lūdzu ievadiet SIM PIN"
347+#~ msgstr "Pārstartēt"
296
348
297−#~ msgid "DONE"
349+#~ msgid "Are you sure you would like to turn power off?"
298−#~ msgstr "IZDARĪTS"
350+#~ msgstr "Vai esat drošs ka vēlaties izslēgt?"
299−
300−#~ msgid "CANCEL"
301−#~ msgstr "ATCELT"
302−
303−#~ msgid "Please re-enter"
304−#~ msgstr "Lūdzu ievadiet vēlreiz"
305−
306−#, qt-format
307−#~ msgid "Incorrect %1"
308−#~ msgstr "Nepareizs %1"
po/ml.po+62−10
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2013-11-23 11:44+0000\n"
11"PO-Revision-Date: 2013-11-23 11:44+0000\n"
12"Last-Translator: ST Alfas <Unknown>\n"
12"Last-Translator: ST Alfas <Unknown>\n"
13"Language-Team: Malayalam <ml@li.org>\n"
13"Language-Team: Malayalam <ml@li.org>\n"
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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr ""
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr ""
31msgstr ""
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -131,6 +167,18 @@ msgstr ""
131msgid "Search"
167msgid "Search"
132msgstr "തിരയുക"
168msgstr "തിരയുക"
133
169
170+#: qml/Dash/PageHeader.qml:270
171+msgid "Settings"
172+msgstr ""
173+
174+#: qml/Dash/PageHeader.qml:279
175+msgid "Remove from Favorites"
176+msgstr ""
177+
178+#: qml/Dash/PageHeader.qml:279
179+msgid "Add to Favorites"
180+msgstr ""
181+
134#: qml/Dash/Previews/PreviewActionCombo.qml:34
182#: qml/Dash/Previews/PreviewActionCombo.qml:34
135msgid "More..."
183msgid "More..."
136msgstr ""
184msgstr ""
@@ -255,8 +303,12 @@ msgstr ""
255msgid "Sorry, incorrect passphrase"
303msgid "Sorry, incorrect passphrase"
256msgstr ""
304msgstr ""
257
305
258−#: qml/Shell.qml:269
306+#: qml/Shell.qml:282
259−msgid "Enter your PIN"
307+msgid "Enter your passcode"
308+msgstr ""
309+
310+#: qml/Shell.qml:283
311+msgid "Sorry, incorrect passcode"
260msgstr ""
312msgstr ""
261
313
262#: qml/Shell.qml:273
314#: qml/Shell.qml:273
po/mr.po+62−10
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-01-14 19:54+0000\n"
11"PO-Revision-Date: 2014-01-14 19:54+0000\n"
12"Last-Translator: Rohan Deshmukh <Unknown>\n"
12"Last-Translator: Rohan Deshmukh <Unknown>\n"
13"Language-Team: Marathi <mr@li.org>\n"
13"Language-Team: Marathi <mr@li.org>\n"
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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr ""
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr ""
31msgstr ""
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -129,6 +165,18 @@ msgstr ""
129msgid "Search"
165msgid "Search"
130msgstr ""
166msgstr ""
131
167
168+#: qml/Dash/PageHeader.qml:270
169+msgid "Settings"
170+msgstr ""
171+
172+#: qml/Dash/PageHeader.qml:279
173+msgid "Remove from Favorites"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Add to Favorites"
178+msgstr ""
179+
132#: qml/Dash/Previews/PreviewActionCombo.qml:34
180#: qml/Dash/Previews/PreviewActionCombo.qml:34
133msgid "More..."
181msgid "More..."
134msgstr ""
182msgstr ""
@@ -253,8 +301,12 @@ msgstr ""
253msgid "Sorry, incorrect passphrase"
301msgid "Sorry, incorrect passphrase"
254msgstr ""
302msgstr ""
255
303
256−#: qml/Shell.qml:269
304+#: qml/Shell.qml:282
257−msgid "Enter your PIN"
305+msgid "Enter your passcode"
306+msgstr ""
307+
308+#: qml/Shell.qml:283
309+msgid "Sorry, incorrect passcode"
258msgstr ""
310msgstr ""
259
311
260#: qml/Shell.qml:273
312#: qml/Shell.qml:273
po/ms.po+62−10
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-01-17 09:05+0000\n"
11"PO-Revision-Date: 2014-01-17 09:05+0000\n"
12"Last-Translator: abuyop <Unknown>\n"
12"Last-Translator: abuyop <Unknown>\n"
13"Language-Team: Malay <ms@li.org>\n"
13"Language-Team: Malay <ms@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr ""
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr ""
31msgstr ""
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -129,6 +165,18 @@ msgstr ""
129msgid "Search"
165msgid "Search"
130msgstr "Gelintar"
166msgstr "Gelintar"
131
167
168+#: qml/Dash/PageHeader.qml:270
169+msgid "Settings"
170+msgstr ""
171+
172+#: qml/Dash/PageHeader.qml:279
173+msgid "Remove from Favorites"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Add to Favorites"
178+msgstr ""
179+
132#: qml/Dash/Previews/PreviewActionCombo.qml:34
180#: qml/Dash/Previews/PreviewActionCombo.qml:34
133msgid "More..."
181msgid "More..."
134msgstr ""
182msgstr ""
@@ -253,8 +301,12 @@ msgstr ""
253msgid "Sorry, incorrect passphrase"
301msgid "Sorry, incorrect passphrase"
254msgstr ""
302msgstr ""
255
303
256−#: qml/Shell.qml:269
304+#: qml/Shell.qml:282
257−msgid "Enter your PIN"
305+msgid "Enter your passcode"
306+msgstr ""
307+
308+#: qml/Shell.qml:283
309+msgid "Sorry, incorrect passcode"
258msgstr ""
310msgstr ""
259
311
260#: qml/Shell.qml:273
312#: qml/Shell.qml:273
po/my.po+62−10
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2013-12-12 11:12+0000\n"
11"PO-Revision-Date: 2013-12-12 11:12+0000\n"
12"Last-Translator: Pyae Sone <Unknown>\n"
12"Last-Translator: Pyae Sone <Unknown>\n"
13"Language-Team: Burmese <my@li.org>\n"
13"Language-Team: Burmese <my@li.org>\n"
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−"X-Launchpad-Export-Date: 2014-08-23 07:16+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:29+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr ""
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr ""
31msgstr ""
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -129,6 +165,18 @@ msgstr ""
129msgid "Search"
165msgid "Search"
130msgstr "ရှာဖွေ"
166msgstr "ရှာဖွေ"
131
167
168+#: qml/Dash/PageHeader.qml:270
169+msgid "Settings"
170+msgstr ""
171+
172+#: qml/Dash/PageHeader.qml:279
173+msgid "Remove from Favorites"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Add to Favorites"
178+msgstr ""
179+
132#: qml/Dash/Previews/PreviewActionCombo.qml:34
180#: qml/Dash/Previews/PreviewActionCombo.qml:34
133msgid "More..."
181msgid "More..."
134msgstr ""
182msgstr ""
@@ -253,8 +301,12 @@ msgstr ""
253msgid "Sorry, incorrect passphrase"
301msgid "Sorry, incorrect passphrase"
254msgstr ""
302msgstr ""
255
303
256−#: qml/Shell.qml:269
304+#: qml/Shell.qml:282
257−msgid "Enter your PIN"
305+msgid "Enter your passcode"
306+msgstr ""
307+
308+#: qml/Shell.qml:283
309+msgid "Sorry, incorrect passcode"
258msgstr ""
310msgstr ""
259
311
260#: qml/Shell.qml:273
312#: qml/Shell.qml:273
po/nb.po+92−59
@@ -7,17 +7,17 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11−"PO-Revision-Date: 2014-08-14 16:56+0000\n"
11+"PO-Revision-Date: 2014-08-28 16:54+0000\n"
12"Last-Translator: Åka Sikrom <Unknown>\n"
12"Last-Translator: Åka Sikrom <Unknown>\n"
13"Language-Team: Norwegian Bokmal <nb@li.org>\n"
13"Language-Team: Norwegian Bokmal <nb@li.org>\n"
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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-30 07:46+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17176)\n"
19
19
20−#: plugins/LightDM/Greeter.cpp:129
20+#: plugins/LightDM/Greeter.cpp:130
21msgid "Password: "
21msgid "Password: "
22msgstr "Passord: "
22msgstr "Passord: "
23
23
@@ -30,19 +30,57 @@ msgstr "Fest snarvei"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "Fjern snarvei"
31msgstr "Fjern snarvei"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr "Logg ut"
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr "Er du sikker på at du vil logge ut?"
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr "Nei"
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr "Ja"
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr "Slå av"
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
35msgstr "Er du sikker på at du vil slå av?"
57msgstr "Er du sikker på at du vil slå av?"
36
58
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr "Start på nytt"
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
65+msgstr "Er du sikker på at du vil starte på nytt?"
66+
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
68+msgid "Power"
69+msgstr "Strøm"
70+
71+#: qml/Components/Dialogs.qml:145
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+"Er du sikker på at du vil \n"
77+"skru av?"
78+
79+#: qml/Components/Dialogs.qml:147
38msgid "Power off"
80msgid "Power off"
39msgstr "Slå av"
81msgstr "Slå av"
40
82
41−#: qml/Components/Dialogs.qml:153
83+#: qml/Components/Dialogs.qml:157
42−msgid "Restart"
43−msgstr "Start på nytt"
44−
45−#: qml/Components/Dialogs.qml:162
46msgid "Cancel"
84msgid "Cancel"
47msgstr "Avbryt"
85msgstr "Avbryt"
48
86
@@ -80,11 +118,11 @@ msgstr "Venstre kant"
80
118
81#: qml/Components/EdgeDemo.qml:199
119#: qml/Components/EdgeDemo.qml:199
82msgid "Swipe from the left to reveal the launcher for quick access to apps"
120msgid "Swipe from the left to reveal the launcher for quick access to apps"
83−msgstr "Sveip fra venstre for å få tilgang til programoppstarteren"
121+msgstr "Skyv fra venstre for å få tilgang til programoppstarteren"
84
122
85#: qml/Components/EdgeDemo.qml:226
123#: qml/Components/EdgeDemo.qml:226
86msgid "Well done"
124msgid "Well done"
87−msgstr "Bra jobba"
125+msgstr "Godt jobba"
88
126
89#: qml/Components/EdgeDemo.qml:227
127#: qml/Components/EdgeDemo.qml:227
90msgid ""
128msgid ""
@@ -127,10 +165,23 @@ msgstr "Vis mindre"
127msgid "See all"
165msgid "See all"
128msgstr "Vis alt"
166msgstr "Vis alt"
129
167
130−#: qml/Dash/GenericScopeView.qml:424 qml/Panel/SearchIndicator.qml:27
168+#: qml/Dash/GenericScopeView.qml:424 qml/Dash/PageHeader.qml:260
169+#: qml/Panel/SearchIndicator.qml:27
131msgid "Search"
170msgid "Search"
132msgstr "Søk"
171msgstr "Søk"
133
172
173+#: qml/Dash/PageHeader.qml:270
174+msgid "Settings"
175+msgstr "Innstillinger"
176+
177+#: qml/Dash/PageHeader.qml:279
178+msgid "Remove from Favorites"
179+msgstr "Fjern fra favoritter"
180+
181+#: qml/Dash/PageHeader.qml:279
182+msgid "Add to Favorites"
183+msgstr "Legg til i favoritter"
184+
134#: qml/Dash/Previews/PreviewActionCombo.qml:34
185#: qml/Dash/Previews/PreviewActionCombo.qml:34
135msgid "More..."
186msgid "More..."
136msgstr "Mer …"
187msgstr "Mer …"
@@ -155,11 +206,11 @@ msgstr "Send"
155msgid "Manage Dash"
206msgid "Manage Dash"
156msgstr "Håndter dashbord"
207msgstr "Håndter dashbord"
157
208
158−#: qml/Dash/ScopesOverview.qml:408
209+#: qml/Dash/ScopesOverview.qml:417
159msgid "Done"
210msgid "Done"
160msgstr "Ferdig"
211msgstr "Ferdig"
161
212
162−#: qml/Dash/ScopesOverview.qml:434
213+#: qml/Dash/ScopesOverview.qml:443
163msgid "Store"
214msgid "Store"
164msgstr "Butikk"
215msgstr "Butikk"
165
216
@@ -173,9 +224,9 @@ msgstr "Alt"
173
224
174#: qml/Greeter/Greeter.qml:157
225#: qml/Greeter/Greeter.qml:157
175msgid "Swipe to unlock"
226msgid "Swipe to unlock"
176−msgstr "Sveip for å låse opp"
227+msgstr "Skyv for å låse opp"
177
228
178−#: qml/Hud/HudParametrizedActionsPage.qml:132
229+#: qml/Hud/HudParametrizedActionsPage.qml:139
179msgid "Confirm"
230msgid "Confirm"
180msgstr "Bekreft"
231msgstr "Bekreft"
181
232
@@ -201,11 +252,11 @@ msgstr "Vis passord"
201
252
202#: qml/Notifications/NotificationMenuItemFactory.qml:120
253#: qml/Notifications/NotificationMenuItemFactory.qml:120
203msgid "Enter SIM PIN"
254msgid "Enter SIM PIN"
204−msgstr ""
255+msgstr "Tast SIM-kortets PIN-kode"
205
256
206−#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
257+#: qml/Notifications/NotificationMenuItemFactory.qml:121
207msgid "Sorry, incorrect PIN"
258msgid "Sorry, incorrect PIN"
208−msgstr ""
259+msgstr "Feil PIN"
209
260
210#: qml/Panel/ActiveCallHint.qml:77
261#: qml/Panel/ActiveCallHint.qml:77
211msgid "Tap to return to call..."
262msgid "Tap to return to call..."
@@ -247,41 +298,45 @@ msgstr "Lås opp SIM"
247msgid "Roaming"
298msgid "Roaming"
248msgstr "Fremmednett"
299msgstr "Fremmednett"
249
300
250−#: qml/Shell.qml:266
301+#: qml/Shell.qml:279
251msgid "Enter your passphrase"
302msgid "Enter your passphrase"
252−msgstr ""
303+msgstr "Skriv inn passordfrasen din"
253
304
254−#: qml/Shell.qml:267
305+#: qml/Shell.qml:280
255msgid "Sorry, incorrect passphrase"
306msgid "Sorry, incorrect passphrase"
256−msgstr ""
307+msgstr "Feil passordfrase"
257
308
258−#: qml/Shell.qml:269
309+#: qml/Shell.qml:282
259−msgid "Enter your PIN"
310+msgid "Enter your passcode"
260−msgstr ""
311+msgstr "Tast koden din"
261
312
262−#: qml/Shell.qml:273
313+#: qml/Shell.qml:283
314+msgid "Sorry, incorrect passcode"
315+msgstr "Feil kode"
316+
317+#: qml/Shell.qml:286
263#, qt-format
318#, qt-format
264msgid "Enter your %1"
319msgid "Enter your %1"
265msgstr "Skriv inn %1"
320msgstr "Skriv inn %1"
266
321
267−#: qml/Shell.qml:274
322+#: qml/Shell.qml:287
268#, qt-format
323#, qt-format
269msgid "Sorry, incorrect %1"
324msgid "Sorry, incorrect %1"
270−msgstr ""
325+msgstr "Feil %1"
271
326
272−#: qml/Shell.qml:310
327+#: qml/Shell.qml:323
273msgid "Sorry, incorrect passphrase."
328msgid "Sorry, incorrect passphrase."
274msgstr "Feil passordfrase."
329msgstr "Feil passordfrase."
275
330
276−#: qml/Shell.qml:311
331+#: qml/Shell.qml:324
277msgid "Sorry, incorrect passcode."
332msgid "Sorry, incorrect passcode."
278msgstr "Feil kode."
333msgstr "Feil kode."
279
334
280−#: qml/Shell.qml:312
335+#: qml/Shell.qml:325
281msgid "This will be your last attempt."
336msgid "This will be your last attempt."
282msgstr "Dette er ditt siste forsøk."
337msgstr "Dette er ditt siste forsøk."
283
338
284−#: qml/Shell.qml:314
339+#: qml/Shell.qml:327
285msgid ""
340msgid ""
286"If passphrase is entered incorrectly, your phone will conduct a factory "
341"If passphrase is entered incorrectly, your phone will conduct a factory "
287"reset and all personal data will be deleted."
342"reset and all personal data will be deleted."
@@ -289,32 +344,10 @@ msgstr ""
289"Hvis du skriver feil passordfrase en gang til, tilbakestilles telefonen til "
344"Hvis du skriver feil passordfrase en gang til, tilbakestilles telefonen til "
290"fabrikkinnstillinger, og alle personlige data slettes."
345"fabrikkinnstillinger, og alle personlige data slettes."
291
346
292−#: qml/Shell.qml:315
347+#: qml/Shell.qml:328
293msgid ""
348msgid ""
294"If passcode is entered incorrectly, your phone will conduct a factory reset "
349"If passcode is entered incorrectly, your phone will conduct a factory reset "
295"and all personal data will be deleted."
350"and all personal data will be deleted."
296msgstr ""
351msgstr ""
297"Hvis du skriver feil kode en gang til, tilbakestilles telefonen til "
352"Hvis du skriver feil kode en gang til, tilbakestilles telefonen til "
298"fabrikkinnstillinger, og alle personlige data slettes."
353"fabrikkinnstillinger, og alle personlige data slettes."
299−
300−#~ msgid "Please enter SIM PIN"
301−#~ msgstr "Skriv inn PIN-koden til SIM-kortet"
302−
303−#~ msgid "CANCEL"
304−#~ msgstr "AVBRYT"
305−
306−#~ msgid "DONE"
307−#~ msgstr "FERDIG"
308−
309−#~ msgid "passphrase"
310−#~ msgstr "passordfrase"
311−
312−#, qt-format
313−#~ msgid "Incorrect %1"
314−#~ msgstr "Feil %1"
315−
316−#~ msgid "Please re-enter"
317−#~ msgstr "Prøv på nytt"
318−
319−#~ msgid "passcode"
320−#~ msgstr "kode"
po/nl.po+90−57
@@ -7,17 +7,17 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11−"PO-Revision-Date: 2014-08-14 19:08+0000\n"
11+"PO-Revision-Date: 2014-08-30 18:22+0000\n"
12"Last-Translator: rob <linuxned@gmail.com>\n"
12"Last-Translator: rob <linuxned@gmail.com>\n"
13"Language-Team: Dutch <nl@li.org>\n"
13"Language-Team: Dutch <nl@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−"X-Launchpad-Export-Date: 2014-08-23 07:16+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-31 07:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17176)\n"
19
19
20−#: plugins/LightDM/Greeter.cpp:129
20+#: plugins/LightDM/Greeter.cpp:130
21msgid "Password: "
21msgid "Password: "
22msgstr "Wachtwoord: "
22msgstr "Wachtwoord: "
23
23
@@ -30,19 +30,57 @@ msgstr "Snelkoppeling vastzetten"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "Snelkoppeling losmaken"
31msgstr "Snelkoppeling losmaken"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr "Afmelden"
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr "Weet u zeker dat u zich wilt afmelden?"
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr "Nee"
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr "Ja"
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr "Uitschakelen"
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
35msgstr "Weet u zeker dat u het apparaat wilt uitschakelen?"
57msgstr "Weet u zeker dat u het apparaat wilt uitschakelen?"
36
58
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr "Herstarten"
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
65+msgstr "Weet u zeker dat u het apparaat wilt herstarten?"
66+
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
68+msgid "Power"
69+msgstr "Energie"
70+
71+#: qml/Components/Dialogs.qml:145
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+"Weet u zeker dat u het apparaat\n"
77+"wilt uitschakelen?"
78+
79+#: qml/Components/Dialogs.qml:147
38msgid "Power off"
80msgid "Power off"
39msgstr "Uitschakelen"
81msgstr "Uitschakelen"
40
82
41−#: qml/Components/Dialogs.qml:153
83+#: qml/Components/Dialogs.qml:157
42−msgid "Restart"
43−msgstr "Herstarten"
44−
45−#: qml/Components/Dialogs.qml:162
46msgid "Cancel"
84msgid "Cancel"
47msgstr "Annuleren"
85msgstr "Annuleren"
48
86
@@ -127,10 +165,23 @@ msgstr "Minder zien"
127msgid "See all"
165msgid "See all"
128msgstr "Alles zien"
166msgstr "Alles zien"
129
167
130−#: qml/Dash/GenericScopeView.qml:424 qml/Panel/SearchIndicator.qml:27
168+#: qml/Dash/GenericScopeView.qml:424 qml/Dash/PageHeader.qml:260
169+#: qml/Panel/SearchIndicator.qml:27
131msgid "Search"
170msgid "Search"
132msgstr "Zoeken"
171msgstr "Zoeken"
133
172
173+#: qml/Dash/PageHeader.qml:270
174+msgid "Settings"
175+msgstr "Instellingen"
176+
177+#: qml/Dash/PageHeader.qml:279
178+msgid "Remove from Favorites"
179+msgstr "Verwijderen uit favorieten"
180+
181+#: qml/Dash/PageHeader.qml:279
182+msgid "Add to Favorites"
183+msgstr "Toevoegen aan favorieten"
184+
134#: qml/Dash/Previews/PreviewActionCombo.qml:34
185#: qml/Dash/Previews/PreviewActionCombo.qml:34
135msgid "More..."
186msgid "More..."
136msgstr "Meer…"
187msgstr "Meer…"
@@ -155,11 +206,11 @@ msgstr "Versturen"
155msgid "Manage Dash"
206msgid "Manage Dash"
156msgstr "Snelzoeker-beheer"
207msgstr "Snelzoeker-beheer"
157
208
158−#: qml/Dash/ScopesOverview.qml:408
209+#: qml/Dash/ScopesOverview.qml:417
159msgid "Done"
210msgid "Done"
160msgstr "Klaar"
211msgstr "Klaar"
161
212
162−#: qml/Dash/ScopesOverview.qml:434
213+#: qml/Dash/ScopesOverview.qml:443
163msgid "Store"
214msgid "Store"
164msgstr "Winkel"
215msgstr "Winkel"
165
216
@@ -175,7 +226,7 @@ msgstr "Alles"
175msgid "Swipe to unlock"
226msgid "Swipe to unlock"
176msgstr "Veeg om te ontgrendelen"
227msgstr "Veeg om te ontgrendelen"
177
228
178−#: qml/Hud/HudParametrizedActionsPage.qml:132
229+#: qml/Hud/HudParametrizedActionsPage.qml:139
179msgid "Confirm"
230msgid "Confirm"
180msgstr "Bevestigen"
231msgstr "Bevestigen"
181
232
@@ -201,11 +252,11 @@ msgstr "Wachtwoord tonen"
201
252
202#: qml/Notifications/NotificationMenuItemFactory.qml:120
253#: qml/Notifications/NotificationMenuItemFactory.qml:120
203msgid "Enter SIM PIN"
254msgid "Enter SIM PIN"
204−msgstr ""
255+msgstr "Voer simpincode in"
205
256
206−#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
257+#: qml/Notifications/NotificationMenuItemFactory.qml:121
207msgid "Sorry, incorrect PIN"
258msgid "Sorry, incorrect PIN"
208−msgstr ""
259+msgstr "Sorry, onjuiste pincode"
209
260
210#: qml/Panel/ActiveCallHint.qml:77
261#: qml/Panel/ActiveCallHint.qml:77
211msgid "Tap to return to call..."
262msgid "Tap to return to call..."
@@ -241,47 +292,51 @@ msgstr "Mislukt, tik om het opnieuw te proberen"
241
292
242#: qml/Panel/Indicators/ModemInfoItem.qml:105
293#: qml/Panel/Indicators/ModemInfoItem.qml:105
243msgid "Unlock SIM"
294msgid "Unlock SIM"
244−msgstr "SIM-kaart deblokkeren"
295+msgstr "Simkaart deblokkeren"
245
296
246#: qml/Panel/Indicators/RoamingIndication.qml:27
297#: qml/Panel/Indicators/RoamingIndication.qml:27
247msgid "Roaming"
298msgid "Roaming"
248msgstr "Roaming"
299msgstr "Roaming"
249
300
250−#: qml/Shell.qml:266
301+#: qml/Shell.qml:279
251msgid "Enter your passphrase"
302msgid "Enter your passphrase"
252−msgstr ""
303+msgstr "Voer uw wachtwoordzin in"
253
304
254−#: qml/Shell.qml:267
305+#: qml/Shell.qml:280
255msgid "Sorry, incorrect passphrase"
306msgid "Sorry, incorrect passphrase"
256−msgstr ""
307+msgstr "Sorry, onjuiste wachtwoordzin"
257
308
258−#: qml/Shell.qml:269
309+#: qml/Shell.qml:282
259−msgid "Enter your PIN"
310+msgid "Enter your passcode"
260−msgstr ""
311+msgstr "Voer uw toegangscode in"
261
312
262−#: qml/Shell.qml:273
313+#: qml/Shell.qml:283
314+msgid "Sorry, incorrect passcode"
315+msgstr "Sorry, onjuiste toegangscode"
316+
317+#: qml/Shell.qml:286
263#, qt-format
318#, qt-format
264msgid "Enter your %1"
319msgid "Enter your %1"
265msgstr "Voer uw %1 in"
320msgstr "Voer uw %1 in"
266
321
267−#: qml/Shell.qml:274
322+#: qml/Shell.qml:287
268#, qt-format
323#, qt-format
269msgid "Sorry, incorrect %1"
324msgid "Sorry, incorrect %1"
270−msgstr ""
325+msgstr "Sorry, onjuiste %1"
271
326
272−#: qml/Shell.qml:310
327+#: qml/Shell.qml:323
273msgid "Sorry, incorrect passphrase."
328msgid "Sorry, incorrect passphrase."
274msgstr "Sorry, onjuiste wachtwoordzin."
329msgstr "Sorry, onjuiste wachtwoordzin."
275
330
276−#: qml/Shell.qml:311
331+#: qml/Shell.qml:324
277msgid "Sorry, incorrect passcode."
332msgid "Sorry, incorrect passcode."
278msgstr "Sorry, onjuiste toegangscode."
333msgstr "Sorry, onjuiste toegangscode."
279
334
280−#: qml/Shell.qml:312
335+#: qml/Shell.qml:325
281msgid "This will be your last attempt."
336msgid "This will be your last attempt."
282msgstr "Dit zal uw laatste poging worden."
337msgstr "Dit zal uw laatste poging worden."
283
338
284−#: qml/Shell.qml:314
339+#: qml/Shell.qml:327
285msgid ""
340msgid ""
286"If passphrase is entered incorrectly, your phone will conduct a factory "
341"If passphrase is entered incorrectly, your phone will conduct a factory "
287"reset and all personal data will be deleted."
342"reset and all personal data will be deleted."
@@ -289,32 +344,10 @@ msgstr ""
289"Wanneer de wachtwoordzin nu opnieuw onjuist wordt ingevoerd, zal uw telefoon "
344"Wanneer de wachtwoordzin nu opnieuw onjuist wordt ingevoerd, zal uw telefoon "
290"teruggaan naar de fabrieksinstellingen en zal al uw eigen data verloren gaan."
345"teruggaan naar de fabrieksinstellingen en zal al uw eigen data verloren gaan."
291
346
292−#: qml/Shell.qml:315
347+#: qml/Shell.qml:328
293msgid ""
348msgid ""
294"If passcode is entered incorrectly, your phone will conduct a factory reset "
349"If passcode is entered incorrectly, your phone will conduct a factory reset "
295"and all personal data will be deleted."
350"and all personal data will be deleted."
296msgstr ""
351msgstr ""
297"Wanneer de toegangscode nu opnieuw onjuist wordt ingevoerd, zal uw telefoon "
352"Wanneer de toegangscode nu opnieuw onjuist wordt ingevoerd, zal uw telefoon "
298"teruggaan naar de fabrieksinstellingen en zal al uw eigen data verloren gaan."
353"teruggaan naar de fabrieksinstellingen en zal al uw eigen data verloren gaan."
299−
300−#~ msgid "DONE"
301−#~ msgstr "KLAAR"
302−
303−#~ msgid "CANCEL"
304−#~ msgstr "ANNULEREN"
305−
306−#~ msgid "Please enter SIM PIN"
307−#~ msgstr "Voer SIM-pincode in"
308−
309−#~ msgid "passphrase"
310−#~ msgstr "wachtwoordzin"
311−
312−#, qt-format
313−#~ msgid "Incorrect %1"
314−#~ msgstr "%1 onjuist"
315−
316−#~ msgid "Please re-enter"
317−#~ msgstr "A.u.b. opnieuw invoeren"
318−
319−#~ msgid "passcode"
320−#~ msgstr "toegangscode"
po/pl.po+62−28
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-08-18 20:25+0000\n"
11"PO-Revision-Date: 2014-08-18 20:25+0000\n"
12"Last-Translator: Paweł Stroka <pawstr@gmail.com>\n"
12"Last-Translator: Paweł Stroka <pawstr@gmail.com>\n"
13"Language-Team: Polish <pl@li.org>\n"
13"Language-Team: Polish <pl@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr "Przypnij skrót"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "Odepnij skrót"
31msgstr "Odepnij skrót"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
69+msgstr ""
70+
71+#: qml/Components/Dialogs.qml:145
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
39msgstr ""
75msgstr ""
40
76
41−#: qml/Components/Dialogs.qml:153
77+#: qml/Components/Dialogs.qml:144
42−msgid "Restart"
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -133,6 +169,18 @@ msgstr "Zobacz wszystko"
133msgid "Search"
169msgid "Search"
134msgstr "Szukaj"
170msgstr "Szukaj"
135
171
172+#: qml/Dash/PageHeader.qml:270
173+msgid "Settings"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Remove from Favorites"
178+msgstr ""
179+
180+#: qml/Dash/PageHeader.qml:279
181+msgid "Add to Favorites"
182+msgstr ""
183+
136#: qml/Dash/Previews/PreviewActionCombo.qml:34
184#: qml/Dash/Previews/PreviewActionCombo.qml:34
137msgid "More..."
185msgid "More..."
138msgstr "Więcej..."
186msgstr "Więcej..."
@@ -257,8 +305,12 @@ msgstr ""
257msgid "Sorry, incorrect passphrase"
305msgid "Sorry, incorrect passphrase"
258msgstr ""
306msgstr ""
259
307
260−#: qml/Shell.qml:269
308+#: qml/Shell.qml:282
261−msgid "Enter your PIN"
309+msgid "Enter your passcode"
310+msgstr ""
311+
312+#: qml/Shell.qml:283
313+msgid "Sorry, incorrect passcode"
262msgstr ""
314msgstr ""
263
315
264#: qml/Shell.qml:273
316#: qml/Shell.qml:273
@@ -294,21 +346,3 @@ msgid ""
294"If passcode is entered incorrectly, your phone will conduct a factory reset "
346"If passcode is entered incorrectly, your phone will conduct a factory reset "
295"and all personal data will be deleted."
347"and all personal data will be deleted."
296msgstr ""
348msgstr ""
297−
298−#~ msgid "Please enter SIM PIN"
299−#~ msgstr "Wprowadź kod PIN karty SIM"
300−
301−#~ msgid "CANCEL"
302−#~ msgstr "ANULUJ"
303−
304−#~ msgid "DONE"
305−#~ msgstr "ZROBIONE"
306−
307−#~ msgid "passcode"
308−#~ msgstr "kod"
309−
310−#~ msgid "passphrase"
311−#~ msgstr "hasło"
312−
313−#~ msgid "Please re-enter"
314−#~ msgstr "Proszę wprowadzić ponownie"
po/pt.po+85−49
@@ -7,17 +7,17 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11−"PO-Revision-Date: 2014-08-25 16:51+0000\n"
11+"PO-Revision-Date: 2014-08-29 10:59+0000\n"
12"Last-Translator: Ivo Xavier <ivofernandes12@gmail.com>\n"
12"Last-Translator: Ivo Xavier <ivofernandes12@gmail.com>\n"
13"Language-Team: Portuguese <pt@li.org>\n"
13"Language-Team: Portuguese <pt@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−"X-Launchpad-Export-Date: 2014-08-26 07:47+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-30 07:46+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17176)\n"
19
19
20−#: plugins/LightDM/Greeter.cpp:129
20+#: plugins/LightDM/Greeter.cpp:130
21msgid "Password: "
21msgid "Password: "
22msgstr "Senha: "
22msgstr "Senha: "
23
23
@@ -30,19 +30,57 @@ msgstr "Afixar atalho"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "Remover atalho"
31msgstr "Remover atalho"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34+msgid "Log out"
35+msgstr "Terminar sessão"
36+
37+#: qml/Components/Dialogs.qml:71
34−msgid "Are you sure you would like to turn power off?"
38+msgid "Are you sure you want to log out?"
39+msgstr "Tem a certeza de que quer sair?"
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr "Não"
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr "Sim"
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr "Encerrar"
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr "Tem a certeza de que quer encerrar?"
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr "Reiniciar"
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35−msgstr "Tem a certeza de que quer desligar?"
65+msgstr "Tem a certeza de que quer reiniciar?"
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
68+msgid "Power"
69+msgstr "Energia"
70+
71+#: qml/Components/Dialogs.qml:145
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+"Tem a certeza de quer\n"
77+"desligar?"
78+
79+#: qml/Components/Dialogs.qml:147
38msgid "Power off"
80msgid "Power off"
39msgstr "Desligar"
81msgstr "Desligar"
40
82
41−#: qml/Components/Dialogs.qml:153
83+#: qml/Components/Dialogs.qml:157
42−msgid "Restart"
43−msgstr "Reiniciar"
44−
45−#: qml/Components/Dialogs.qml:162
46msgid "Cancel"
84msgid "Cancel"
47msgstr "Cancelar"
85msgstr "Cancelar"
48
86
@@ -128,10 +166,23 @@ msgstr "Ver menos"
128msgid "See all"
166msgid "See all"
129msgstr "Ver todos"
167msgstr "Ver todos"
130
168
131−#: qml/Dash/GenericScopeView.qml:424 qml/Panel/SearchIndicator.qml:27
169+#: qml/Dash/GenericScopeView.qml:424 qml/Dash/PageHeader.qml:260
170+#: qml/Panel/SearchIndicator.qml:27
132msgid "Search"
171msgid "Search"
133msgstr "Procurar"
172msgstr "Procurar"
134
173
174+#: qml/Dash/PageHeader.qml:270
175+msgid "Settings"
176+msgstr "Definições"
177+
178+#: qml/Dash/PageHeader.qml:279
179+msgid "Remove from Favorites"
180+msgstr "Remover dos favoritos"
181+
182+#: qml/Dash/PageHeader.qml:279
183+msgid "Add to Favorites"
184+msgstr "Adicionar aos favoritos"
185+
135#: qml/Dash/Previews/PreviewActionCombo.qml:34
186#: qml/Dash/Previews/PreviewActionCombo.qml:34
136msgid "More..."
187msgid "More..."
137msgstr "Mais..."
188msgstr "Mais..."
@@ -156,11 +207,11 @@ msgstr "Enviar"
156msgid "Manage Dash"
207msgid "Manage Dash"
157msgstr "Gerir o Dash"
208msgstr "Gerir o Dash"
158
209
159−#: qml/Dash/ScopesOverview.qml:408
210+#: qml/Dash/ScopesOverview.qml:417
160msgid "Done"
211msgid "Done"
161msgstr "Concluído"
212msgstr "Concluído"
162
213
163−#: qml/Dash/ScopesOverview.qml:434
214+#: qml/Dash/ScopesOverview.qml:443
164msgid "Store"
215msgid "Store"
165msgstr "Loja"
216msgstr "Loja"
166
217
@@ -176,7 +227,7 @@ msgstr "Todos"
176msgid "Swipe to unlock"
227msgid "Swipe to unlock"
177msgstr "Deslize para desbloquear"
228msgstr "Deslize para desbloquear"
178
229
179−#: qml/Hud/HudParametrizedActionsPage.qml:132
230+#: qml/Hud/HudParametrizedActionsPage.qml:139
180msgid "Confirm"
231msgid "Confirm"
181msgstr "Confirmar"
232msgstr "Confirmar"
182
233
@@ -204,7 +255,7 @@ msgstr "Mostrar palavra-passe"
204msgid "Enter SIM PIN"
255msgid "Enter SIM PIN"
205msgstr "Introduza o PIN do SIM"
256msgstr "Introduza o PIN do SIM"
206
257
207−#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
258+#: qml/Notifications/NotificationMenuItemFactory.qml:121
208msgid "Sorry, incorrect PIN"
259msgid "Sorry, incorrect PIN"
209msgstr "Desculpe, PIN incorreto"
260msgstr "Desculpe, PIN incorreto"
210
261
@@ -248,41 +299,45 @@ msgstr "Desbloquear SIM"
248msgid "Roaming"
299msgid "Roaming"
249msgstr "Roaming"
300msgstr "Roaming"
250
301
251−#: qml/Shell.qml:266
302+#: qml/Shell.qml:279
252msgid "Enter your passphrase"
303msgid "Enter your passphrase"
253msgstr "Introduza a sua frase-senha"
304msgstr "Introduza a sua frase-senha"
254
305
255−#: qml/Shell.qml:267
306+#: qml/Shell.qml:280
256msgid "Sorry, incorrect passphrase"
307msgid "Sorry, incorrect passphrase"
257msgstr "Desculpe, frase-senha incorreta"
308msgstr "Desculpe, frase-senha incorreta"
258
309
259−#: qml/Shell.qml:269
310+#: qml/Shell.qml:282
260−msgid "Enter your PIN"
311+msgid "Enter your passcode"
261−msgstr "Introduza o seu PIN"
312+msgstr "Introduza a sua senha"
313+
314+#: qml/Shell.qml:283
315+msgid "Sorry, incorrect passcode"
316+msgstr "Desculpe, senha incorreta"
262
317
263−#: qml/Shell.qml:273
318+#: qml/Shell.qml:286
264#, qt-format
319#, qt-format
265msgid "Enter your %1"
320msgid "Enter your %1"
266msgstr "Introduza o seu %1"
321msgstr "Introduza o seu %1"
267
322
268−#: qml/Shell.qml:274
323+#: qml/Shell.qml:287
269#, qt-format
324#, qt-format
270msgid "Sorry, incorrect %1"
325msgid "Sorry, incorrect %1"
271msgstr "Desculpe, incorreto %1"
326msgstr "Desculpe, incorreto %1"
272
327
273−#: qml/Shell.qml:310
328+#: qml/Shell.qml:323
274msgid "Sorry, incorrect passphrase."
329msgid "Sorry, incorrect passphrase."
275msgstr "Desculpe, frase de acesso incorreta."
330msgstr "Desculpe, frase de acesso incorreta."
276
331
277−#: qml/Shell.qml:311
332+#: qml/Shell.qml:324
278msgid "Sorry, incorrect passcode."
333msgid "Sorry, incorrect passcode."
279msgstr "Desculpe, senha incorreta."
334msgstr "Desculpe, senha incorreta."
280
335
281−#: qml/Shell.qml:312
336+#: qml/Shell.qml:325
282msgid "This will be your last attempt."
337msgid "This will be your last attempt."
283msgstr "Esta será a sua última tentativa."
338msgstr "Esta será a sua última tentativa."
284
339
285−#: qml/Shell.qml:314
340+#: qml/Shell.qml:327
286msgid ""
341msgid ""
287"If passphrase is entered incorrectly, your phone will conduct a factory "
342"If passphrase is entered incorrectly, your phone will conduct a factory "
288"reset and all personal data will be deleted."
343"reset and all personal data will be deleted."
@@ -290,29 +345,10 @@ msgstr ""
290"Se a frase de acesso for introduzida incorretamente, o seu telemóvel vai "
345"Se a frase de acesso for introduzida incorretamente, o seu telemóvel vai "
291"proceder ao restauro de fábrica e apagará toda a sua informação pessoal."
346"proceder ao restauro de fábrica e apagará toda a sua informação pessoal."
292
347
293−#: qml/Shell.qml:315
348+#: qml/Shell.qml:328
294msgid ""
349msgid ""
295"If passcode is entered incorrectly, your phone will conduct a factory reset "
350"If passcode is entered incorrectly, your phone will conduct a factory reset "
296"and all personal data will be deleted."
351"and all personal data will be deleted."
297msgstr ""
352msgstr ""
298"Se a senha for introduzida incorretamente, o seu telemóvel vai apagar todos "
353"Se a senha for introduzida incorretamente, o seu telemóvel vai apagar todos "
299"os seus dados pessoais."
354"os seus dados pessoais."
300−
301−#~ msgid "Please enter SIM PIN"
302−#~ msgstr "Por favor insira o PIN"
303−
304−#~ msgid "CANCEL"
305−#~ msgstr "CANCELAR"
306−
307−#~ msgid "DONE"
308−#~ msgstr "FEITO"
309−
310−#~ msgid "passphrase"
311−#~ msgstr "frase de acesso"
312−
313−#, qt-format
314−#~ msgid "Incorrect %1"
315−#~ msgstr "Incorreto %1"
316−
317−#~ msgid "Please re-enter"
318−#~ msgstr "Por favor, volte a reintroduzir"
po/pt_BR.po+79−38
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11−"PO-Revision-Date: 2014-08-18 14:14+0000\n"
11+"PO-Revision-Date: 2014-08-27 19:23+0000\n"
12"Last-Translator: Rafael Neri <Unknown>\n"
12"Last-Translator: Rafael Neri <Unknown>\n"
13"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
13"Language-Team: Brazilian Portuguese <pt_BR@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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,18 +30,56 @@ msgstr "Fixar atalho"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "Desafixar atalho"
31msgstr "Desafixar atalho"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35−msgstr "Você tem certeza de que deseja desligar?"
35+msgstr "Sair"
36
36
37−#: qml/Components/Dialogs.qml:144
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr "Tem certeza de que deseja sair?"
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr "Não"
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
38−msgid "Power off"
48+msgid "Yes"
49+msgstr "Sim"
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
39msgstr "Desligar"
53msgstr "Desligar"
40
54
41−#: qml/Components/Dialogs.qml:153
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr "Tem certeza de que deseja desligar?"
58+
59+#: qml/Components/Dialogs.qml:119
42−msgid "Restart"
60+msgid "Reboot"
43msgstr "Reiniciar"
61msgstr "Reiniciar"
44
62
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
65+msgstr "Tem certeza de que deseja reiniciar?"
66+
67+#: qml/Components/Dialogs.qml:144
68+msgid "Power"
69+msgstr "Energia"
70+
71+#: qml/Components/Dialogs.qml:145
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+"Tem certeza que você gostaria \n"
77+"de desligar?"
78+
79+#: qml/Components/Dialogs.qml:144
80+msgid "Power off"
81+msgstr "Desligar"
82+
45#: qml/Components/Dialogs.qml:162
83#: qml/Components/Dialogs.qml:162
46msgid "Cancel"
84msgid "Cancel"
47msgstr "Cancelar"
85msgstr "Cancelar"
@@ -133,6 +171,18 @@ msgstr "Ver todos"
133msgid "Search"
171msgid "Search"
134msgstr "Pesquisar"
172msgstr "Pesquisar"
135
173
174+#: qml/Dash/PageHeader.qml:270
175+msgid "Settings"
176+msgstr "Configurações"
177+
178+#: qml/Dash/PageHeader.qml:279
179+msgid "Remove from Favorites"
180+msgstr "Remover dos favoritos"
181+
182+#: qml/Dash/PageHeader.qml:279
183+msgid "Add to Favorites"
184+msgstr "Adicionar aos favoritos"
185+
136#: qml/Dash/Previews/PreviewActionCombo.qml:34
186#: qml/Dash/Previews/PreviewActionCombo.qml:34
137msgid "More..."
187msgid "More..."
138msgstr "Mais..."
188msgstr "Mais..."
@@ -203,11 +253,11 @@ msgstr "Exibir senha"
203
253
204#: qml/Notifications/NotificationMenuItemFactory.qml:120
254#: qml/Notifications/NotificationMenuItemFactory.qml:120
205msgid "Enter SIM PIN"
255msgid "Enter SIM PIN"
206−msgstr ""
256+msgstr "Digite o PIN do SIM"
207
257
208#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
258#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
209msgid "Sorry, incorrect PIN"
259msgid "Sorry, incorrect PIN"
210−msgstr ""
260+msgstr "Desculpe, PIN incorreto"
211
261
212#: qml/Panel/ActiveCallHint.qml:77
262#: qml/Panel/ActiveCallHint.qml:77
213msgid "Tap to return to call..."
263msgid "Tap to return to call..."
@@ -251,15 +301,19 @@ msgstr "Roaming"
251
301
252#: qml/Shell.qml:266
302#: qml/Shell.qml:266
253msgid "Enter your passphrase"
303msgid "Enter your passphrase"
254−msgstr ""
304+msgstr "Digite sua senha"
255
305
256#: qml/Shell.qml:267
306#: qml/Shell.qml:267
257msgid "Sorry, incorrect passphrase"
307msgid "Sorry, incorrect passphrase"
258−msgstr ""
308+msgstr "Desculpe, senha incorreta"
259
309
260−#: qml/Shell.qml:269
310+#: qml/Shell.qml:282
261−msgid "Enter your PIN"
311+msgid "Enter your passcode"
262−msgstr ""
312+msgstr "Digite sua senha"
313+
314+#: qml/Shell.qml:283
315+msgid "Sorry, incorrect passcode"
316+msgstr "Desculpe, senha incorreta"
263
317
264#: qml/Shell.qml:273
318#: qml/Shell.qml:273
265#, qt-format
319#, qt-format
@@ -269,7 +323,7 @@ msgstr "Digite o seu %1"
269#: qml/Shell.qml:274
323#: qml/Shell.qml:274
270#, qt-format
324#, qt-format
271msgid "Sorry, incorrect %1"
325msgid "Sorry, incorrect %1"
272−msgstr ""
326+msgstr "Desculpe, %1 incorreto"
273
327
274#: qml/Shell.qml:310
328#: qml/Shell.qml:310
275msgid "Sorry, incorrect passphrase."
329msgid "Sorry, incorrect passphrase."
@@ -299,24 +353,11 @@ msgstr ""
299"Se o código de acesso for digitado incorretamente, o telefone será "
353"Se o código de acesso for digitado incorretamente, o telefone será "
300"restaurado aos padrões de fábrica e todos os dados pessoais serão apagados."
354"restaurado aos padrões de fábrica e todos os dados pessoais serão apagados."
301
355
302−#~ msgid "Please enter SIM PIN"
356+#~ msgid "Restart"
303−#~ msgstr "Por favor, digite o PIN do cartão SIM"
304−
305−#~ msgid "CANCEL"
306−#~ msgstr "CANCELAR"
307−
308−#~ msgid "DONE"
309−#~ msgstr "FEITO"
357+#~ msgstr "Reiniciar"
310
358
311−#~ msgid "passcode"
359+#~ msgid "Are you sure you would like to turn power off?"
312−#~ msgstr "código de acesso"
360+#~ msgstr "Você tem certeza de que deseja desligar?"
313−
314−#~ msgid "passphrase"
315−#~ msgstr "senha"
316−
317−#, qt-format
318−#~ msgid "Incorrect %1"
319−#~ msgstr "%1 incorreto"
320
361
321−#~ msgid "Please re-enter"
362+#~ msgid "Enter your PIN"
322−#~ msgstr "Por favor, digite novamente"
363+#~ msgstr "Digite o seu PIN"
po/ro.po+87−54
@@ -7,17 +7,17 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11−"PO-Revision-Date: 2014-08-14 19:34+0000\n"
11+"PO-Revision-Date: 2014-08-29 17:49+0000\n"
12−"Last-Translator: Marian Vasile <marianvasile1972@gmail.com>\n"
12+"Last-Translator: Meriuță Cornel <meriutacornel@neacornel.eu>\n"
13"Language-Team: Romanian <ro@li.org>\n"
13"Language-Team: Romanian <ro@li.org>\n"
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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-30 07:46+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17176)\n"
19
19
20−#: plugins/LightDM/Greeter.cpp:129
20+#: plugins/LightDM/Greeter.cpp:130
21msgid "Password: "
21msgid "Password: "
22msgstr "Parolă: "
22msgstr "Parolă: "
23
23
@@ -30,19 +30,57 @@ msgstr "Fixează scurtătura"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "Eliberează scurtătura"
31msgstr "Eliberează scurtătura"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34+msgid "Log out"
35+msgstr "Închide sesiunea"
36+
37+#: qml/Components/Dialogs.qml:71
34−msgid "Are you sure you would like to turn power off?"
38+msgid "Are you sure you want to log out?"
35−msgstr "Sigur doriți să opriți dispozitivul?"
39+msgstr "Sunteți sigur că doriți să închideți sesiunea?"
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr "Nu"
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr "Da"
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr "Închideți"
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr "Sunteți sigur că doriți să închideți?"
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr "Repornire"
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
65+msgstr "Sunteți sigur că doriți să reporniți?"
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
68+msgid "Power"
69+msgstr "Alimentare"
70+
71+#: qml/Components/Dialogs.qml:145
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+"Sunteți sigur că doriți să\n"
77+"opriți alimentarea?"
78+
79+#: qml/Components/Dialogs.qml:147
38msgid "Power off"
80msgid "Power off"
39msgstr "Oprire"
81msgstr "Oprire"
40
82
41−#: qml/Components/Dialogs.qml:153
83+#: qml/Components/Dialogs.qml:157
42−msgid "Restart"
43−msgstr "Repornire"
44−
45−#: qml/Components/Dialogs.qml:162
46msgid "Cancel"
84msgid "Cancel"
47msgstr "Anulează"
85msgstr "Anulează"
48
86
@@ -130,10 +168,23 @@ msgstr "Afișează mai puține"
130msgid "See all"
168msgid "See all"
131msgstr "Afișează tot"
169msgstr "Afișează tot"
132
170
133−#: qml/Dash/GenericScopeView.qml:424 qml/Panel/SearchIndicator.qml:27
171+#: qml/Dash/GenericScopeView.qml:424 qml/Dash/PageHeader.qml:260
172+#: qml/Panel/SearchIndicator.qml:27
134msgid "Search"
173msgid "Search"
135msgstr "Căutare"
174msgstr "Căutare"
136
175
176+#: qml/Dash/PageHeader.qml:270
177+msgid "Settings"
178+msgstr "Configurări"
179+
180+#: qml/Dash/PageHeader.qml:279
181+msgid "Remove from Favorites"
182+msgstr "Șterge din favorite"
183+
184+#: qml/Dash/PageHeader.qml:279
185+msgid "Add to Favorites"
186+msgstr "Adaugă la favorite"
187+
137#: qml/Dash/Previews/PreviewActionCombo.qml:34
188#: qml/Dash/Previews/PreviewActionCombo.qml:34
138msgid "More..."
189msgid "More..."
139msgstr "Mai mult ..."
190msgstr "Mai mult ..."
@@ -158,11 +209,11 @@ msgstr "Trimite"
158msgid "Manage Dash"
209msgid "Manage Dash"
159msgstr "Administrare Panou principal"
210msgstr "Administrare Panou principal"
160
211
161−#: qml/Dash/ScopesOverview.qml:408
212+#: qml/Dash/ScopesOverview.qml:417
162msgid "Done"
213msgid "Done"
163msgstr "Finalizat"
214msgstr "Finalizat"
164
215
165−#: qml/Dash/ScopesOverview.qml:434
216+#: qml/Dash/ScopesOverview.qml:443
166msgid "Store"
217msgid "Store"
167msgstr "Magazin"
218msgstr "Magazin"
168
219
@@ -178,7 +229,7 @@ msgstr "Tot"
178msgid "Swipe to unlock"
229msgid "Swipe to unlock"
179msgstr "Glisați pentru deblocare"
230msgstr "Glisați pentru deblocare"
180
231
181−#: qml/Hud/HudParametrizedActionsPage.qml:132
232+#: qml/Hud/HudParametrizedActionsPage.qml:139
182msgid "Confirm"
233msgid "Confirm"
183msgstr "Confirmați"
234msgstr "Confirmați"
184
235
@@ -204,9 +255,9 @@ msgstr "Arată parola"
204
255
205#: qml/Notifications/NotificationMenuItemFactory.qml:120
256#: qml/Notifications/NotificationMenuItemFactory.qml:120
206msgid "Enter SIM PIN"
257msgid "Enter SIM PIN"
207−msgstr ""
258+msgstr "Introduceți codul PIN pentru SIM"
208
259
209−#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
260+#: qml/Notifications/NotificationMenuItemFactory.qml:121
210msgid "Sorry, incorrect PIN"
261msgid "Sorry, incorrect PIN"
211msgstr ""
262msgstr ""
212
263
@@ -250,41 +301,45 @@ msgstr "Deblocare SIM"
250msgid "Roaming"
301msgid "Roaming"
251msgstr "Roaming"
302msgstr "Roaming"
252
303
253−#: qml/Shell.qml:266
304+#: qml/Shell.qml:279
254msgid "Enter your passphrase"
305msgid "Enter your passphrase"
255−msgstr ""
306+msgstr "Introduceți fraza dumneavoastră secretă"
256
307
257−#: qml/Shell.qml:267
308+#: qml/Shell.qml:280
258msgid "Sorry, incorrect passphrase"
309msgid "Sorry, incorrect passphrase"
259msgstr ""
310msgstr ""
260
311
261−#: qml/Shell.qml:269
312+#: qml/Shell.qml:282
262−msgid "Enter your PIN"
313+msgid "Enter your passcode"
263msgstr ""
314msgstr ""
264
315
265−#: qml/Shell.qml:273
316+#: qml/Shell.qml:283
317+msgid "Sorry, incorrect passcode"
318+msgstr ""
319+
320+#: qml/Shell.qml:286
266#, qt-format
321#, qt-format
267msgid "Enter your %1"
322msgid "Enter your %1"
268msgstr "Introduceți %1"
323msgstr "Introduceți %1"
269
324
270−#: qml/Shell.qml:274
325+#: qml/Shell.qml:287
271#, qt-format
326#, qt-format
272msgid "Sorry, incorrect %1"
327msgid "Sorry, incorrect %1"
273msgstr ""
328msgstr ""
274
329
275−#: qml/Shell.qml:310
330+#: qml/Shell.qml:323
276msgid "Sorry, incorrect passphrase."
331msgid "Sorry, incorrect passphrase."
277msgstr "Frază parolă greșită"
332msgstr "Frază parolă greșită"
278
333
279−#: qml/Shell.qml:311
334+#: qml/Shell.qml:324
280msgid "Sorry, incorrect passcode."
335msgid "Sorry, incorrect passcode."
281msgstr "Parolă greșită"
336msgstr "Parolă greșită"
282
337
283−#: qml/Shell.qml:312
338+#: qml/Shell.qml:325
284msgid "This will be your last attempt."
339msgid "This will be your last attempt."
285msgstr "Aceasta va fi ultima încercare"
340msgstr "Aceasta va fi ultima încercare"
286
341
287−#: qml/Shell.qml:314
342+#: qml/Shell.qml:327
288msgid ""
343msgid ""
289"If passphrase is entered incorrectly, your phone will conduct a factory "
344"If passphrase is entered incorrectly, your phone will conduct a factory "
290"reset and all personal data will be deleted."
345"reset and all personal data will be deleted."
@@ -293,7 +348,7 @@ msgstr ""
293"configurările inițiale, ale fabricantului, iar toate datele personale vor fi "
348"configurările inițiale, ale fabricantului, iar toate datele personale vor fi "
294"șterse."
349"șterse."
295
350
296−#: qml/Shell.qml:315
351+#: qml/Shell.qml:328
297msgid ""
352msgid ""
298"If passcode is entered incorrectly, your phone will conduct a factory reset "
353"If passcode is entered incorrectly, your phone will conduct a factory reset "
299"and all personal data will be deleted."
354"and all personal data will be deleted."
@@ -301,25 +356,3 @@ msgstr ""
301"Dacă parola este introdusă greșit, telefonul va iniția o resetare la "
356"Dacă parola este introdusă greșit, telefonul va iniția o resetare la "
302"configurările inițiale, ale fabricantului, iar toate datele personale vor fi "
357"configurările inițiale, ale fabricantului, iar toate datele personale vor fi "
303"șterse."
358"șterse."
304−
305−#~ msgid "CANCEL"
306−#~ msgstr "ANULEAZĂ"
307−
308−#~ msgid "DONE"
309−#~ msgstr "EFECTUAT"
310−
311−#~ msgid "Please enter SIM PIN"
312−#~ msgstr "Introduceți PIN pentru SIM"
313−
314−#~ msgid "passphrase"
315−#~ msgstr "frază parolă"
316−
317−#, qt-format
318−#~ msgid "Incorrect %1"
319−#~ msgstr "%1 greșit"
320−
321−#~ msgid "Please re-enter"
322−#~ msgstr "Vă rugăm să încercați din nou"
323−
324−#~ msgid "passcode"
325−#~ msgstr "parolă"
po/ru.po+88−57
@@ -7,17 +7,17 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11−"PO-Revision-Date: 2014-08-20 12:41+0000\n"
11+"PO-Revision-Date: 2014-08-29 08:06+0000\n"
12"Last-Translator: Jay ZDLin <Unknown>\n"
12"Last-Translator: Jay ZDLin <Unknown>\n"
13"Language-Team: Russian <ru@li.org>\n"
13"Language-Team: Russian <ru@li.org>\n"
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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-30 07:46+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17176)\n"
19
19
20−#: plugins/LightDM/Greeter.cpp:129
20+#: plugins/LightDM/Greeter.cpp:130
21msgid "Password: "
21msgid "Password: "
22msgstr "Пароль: "
22msgstr "Пароль: "
23
23
@@ -30,19 +30,55 @@ msgstr "Закрепить ярлык"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "Изъять ярлык"
31msgstr "Изъять ярлык"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35−msgstr "Отключить питание?"
35+msgstr "Завершение сеанса"
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr "Завершить сеанс?"
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr "Нет"
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr "Да"
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr "Выключение"
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr "Выключить?"
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr "Перезагрузка"
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
65+msgstr "Перезагрузить систему?"
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
68+msgid "Power"
69+msgstr "Питание"
70+
71+#: qml/Components/Dialogs.qml:145
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr "Отключить питание?"
76+
77+#: qml/Components/Dialogs.qml:147
38msgid "Power off"
78msgid "Power off"
39msgstr "Отключить"
79msgstr "Отключить"
40
80
41−#: qml/Components/Dialogs.qml:153
81+#: qml/Components/Dialogs.qml:157
42−msgid "Restart"
43−msgstr "Перезапустить"
44−
45−#: qml/Components/Dialogs.qml:162
46msgid "Cancel"
82msgid "Cancel"
47msgstr "Отменить"
83msgstr "Отменить"
48
84
@@ -132,10 +168,23 @@ msgstr "Вкратце"
132msgid "See all"
168msgid "See all"
133msgstr "Показать всё"
169msgstr "Показать всё"
134
170
135−#: qml/Dash/GenericScopeView.qml:424 qml/Panel/SearchIndicator.qml:27
171+#: qml/Dash/GenericScopeView.qml:424 qml/Dash/PageHeader.qml:260
172+#: qml/Panel/SearchIndicator.qml:27
136msgid "Search"
173msgid "Search"
137msgstr "Поиск"
174msgstr "Поиск"
138
175
176+#: qml/Dash/PageHeader.qml:270
177+msgid "Settings"
178+msgstr "Настройки"
179+
180+#: qml/Dash/PageHeader.qml:279
181+msgid "Remove from Favorites"
182+msgstr "Удалить из избранного"
183+
184+#: qml/Dash/PageHeader.qml:279
185+msgid "Add to Favorites"
186+msgstr "Добавить в избранное"
187+
139#: qml/Dash/Previews/PreviewActionCombo.qml:34
188#: qml/Dash/Previews/PreviewActionCombo.qml:34
140msgid "More..."
189msgid "More..."
141msgstr "Ещё..."
190msgstr "Ещё..."
@@ -160,11 +209,11 @@ msgstr "Отправить"
160msgid "Manage Dash"
209msgid "Manage Dash"
161msgstr ""
210msgstr ""
162
211
163−#: qml/Dash/ScopesOverview.qml:408
212+#: qml/Dash/ScopesOverview.qml:417
164msgid "Done"
213msgid "Done"
165msgstr "Готово"
214msgstr "Готово"
166
215
167−#: qml/Dash/ScopesOverview.qml:434
216+#: qml/Dash/ScopesOverview.qml:443
168msgid "Store"
217msgid "Store"
169msgstr ""
218msgstr ""
170
219
@@ -180,7 +229,7 @@ msgstr "Все"
180msgid "Swipe to unlock"
229msgid "Swipe to unlock"
181msgstr "Смахните, чтобы разблокировать"
230msgstr "Смахните, чтобы разблокировать"
182
231
183−#: qml/Hud/HudParametrizedActionsPage.qml:132
232+#: qml/Hud/HudParametrizedActionsPage.qml:139
184msgid "Confirm"
233msgid "Confirm"
185msgstr "Подтвердить"
234msgstr "Подтвердить"
186
235
@@ -206,11 +255,11 @@ msgstr "Показать пароль"
206
255
207#: qml/Notifications/NotificationMenuItemFactory.qml:120
256#: qml/Notifications/NotificationMenuItemFactory.qml:120
208msgid "Enter SIM PIN"
257msgid "Enter SIM PIN"
209−msgstr ""
258+msgstr "Введите ПИН-код SIM-карты"
210
259
211−#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
260+#: qml/Notifications/NotificationMenuItemFactory.qml:121
212msgid "Sorry, incorrect PIN"
261msgid "Sorry, incorrect PIN"
213−msgstr ""
262+msgstr "Введён неверный ПИН-код"
214
263
215#: qml/Panel/ActiveCallHint.qml:77
264#: qml/Panel/ActiveCallHint.qml:77
216msgid "Tap to return to call..."
265msgid "Tap to return to call..."
@@ -252,41 +301,45 @@ msgstr "Разблокировать SIM-карту"
252msgid "Roaming"
301msgid "Roaming"
253msgstr "Роуминг"
302msgstr "Роуминг"
254
303
255−#: qml/Shell.qml:266
304+#: qml/Shell.qml:279
256msgid "Enter your passphrase"
305msgid "Enter your passphrase"
257−msgstr ""
306+msgstr "Введите кодовую фразу"
258
307
259−#: qml/Shell.qml:267
308+#: qml/Shell.qml:280
260msgid "Sorry, incorrect passphrase"
309msgid "Sorry, incorrect passphrase"
261−msgstr ""
310+msgstr "Введена неверная кодовая фраза"
262
311
263−#: qml/Shell.qml:269
312+#: qml/Shell.qml:282
264−msgid "Enter your PIN"
313+msgid "Enter your passcode"
265−msgstr ""
314+msgstr "Введите секретный код"
315+
316+#: qml/Shell.qml:283
317+msgid "Sorry, incorrect passcode"
318+msgstr "Секретный код введён неверно"
266
319
267−#: qml/Shell.qml:273
320+#: qml/Shell.qml:286
268#, qt-format
321#, qt-format
269msgid "Enter your %1"
322msgid "Enter your %1"
270msgstr "Введите %1"
323msgstr "Введите %1"
271
324
272−#: qml/Shell.qml:274
325+#: qml/Shell.qml:287
273#, qt-format
326#, qt-format
274msgid "Sorry, incorrect %1"
327msgid "Sorry, incorrect %1"
275−msgstr ""
328+msgstr "Некорректный ввод %1"
276
329
277−#: qml/Shell.qml:310
330+#: qml/Shell.qml:323
278msgid "Sorry, incorrect passphrase."
331msgid "Sorry, incorrect passphrase."
279msgstr "Неверная ключевая фраза."
332msgstr "Неверная ключевая фраза."
280
333
281−#: qml/Shell.qml:311
334+#: qml/Shell.qml:324
282msgid "Sorry, incorrect passcode."
335msgid "Sorry, incorrect passcode."
283msgstr "Неверный секретный код."
336msgstr "Неверный секретный код."
284
337
285−#: qml/Shell.qml:312
338+#: qml/Shell.qml:325
286msgid "This will be your last attempt."
339msgid "This will be your last attempt."
287msgstr "Осталась последняя попытка."
340msgstr "Осталась последняя попытка."
288
341
289−#: qml/Shell.qml:314
342+#: qml/Shell.qml:327
290msgid ""
343msgid ""
291"If passphrase is entered incorrectly, your phone will conduct a factory "
344"If passphrase is entered incorrectly, your phone will conduct a factory "
292"reset and all personal data will be deleted."
345"reset and all personal data will be deleted."
@@ -294,32 +347,10 @@ msgstr ""
294"Если ключевая фраза будет введена неверно, то телефон вернётся к заводским "
347"Если ключевая фраза будет введена неверно, то телефон вернётся к заводским "
295"настройкам, а все личные данные будут удалены."
348"настройкам, а все личные данные будут удалены."
296
349
297−#: qml/Shell.qml:315
350+#: qml/Shell.qml:328
298msgid ""
351msgid ""
299"If passcode is entered incorrectly, your phone will conduct a factory reset "
352"If passcode is entered incorrectly, your phone will conduct a factory reset "
300"and all personal data will be deleted."
353"and all personal data will be deleted."
301msgstr ""
354msgstr ""
302"Если секретный код будет введен неверно, то телефон вернётся к заводским "
355"Если секретный код будет введен неверно, то телефон вернётся к заводским "
303"настройкам, а все личные данные будут удалены."
356"настройкам, а все личные данные будут удалены."
304−
305−#~ msgid "Please enter SIM PIN"
306−#~ msgstr "Введите PIN код"
307−
308−#~ msgid "CANCEL"
309−#~ msgstr "ОТМЕНИТЬ"
310−
311−#~ msgid "DONE"
312−#~ msgstr "ГОТОВО"
313−
314−#~ msgid "passphrase"
315−#~ msgstr "ключевая фраза"
316−
317−#~ msgid "passcode"
318−#~ msgstr "секретный код"
319−
320−#~ msgid "Please re-enter"
321−#~ msgstr "Повторите ввод"
322−
323−#, qt-format
324−#~ msgid "Incorrect %1"
325−#~ msgstr "Некорректно введён %1"
po/shn.po+62−10
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2013-10-07 11:46+0000\n"
11"PO-Revision-Date: 2013-10-07 11:46+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Shan <shn@li.org>\n"
13"Language-Team: Shan <shn@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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr ""
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr ""
31msgstr ""
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -129,6 +165,18 @@ msgstr ""
129msgid "Search"
165msgid "Search"
130msgstr ""
166msgstr ""
131
167
168+#: qml/Dash/PageHeader.qml:270
169+msgid "Settings"
170+msgstr ""
171+
172+#: qml/Dash/PageHeader.qml:279
173+msgid "Remove from Favorites"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Add to Favorites"
178+msgstr ""
179+
132#: qml/Dash/Previews/PreviewActionCombo.qml:34
180#: qml/Dash/Previews/PreviewActionCombo.qml:34
133msgid "More..."
181msgid "More..."
134msgstr ""
182msgstr ""
@@ -253,8 +301,12 @@ msgstr ""
253msgid "Sorry, incorrect passphrase"
301msgid "Sorry, incorrect passphrase"
254msgstr ""
302msgstr ""
255
303
256−#: qml/Shell.qml:269
304+#: qml/Shell.qml:282
257−msgid "Enter your PIN"
305+msgid "Enter your passcode"
306+msgstr ""
307+
308+#: qml/Shell.qml:283
309+msgid "Sorry, incorrect passcode"
258msgstr ""
310msgstr ""
259
311
260#: qml/Shell.qml:273
312#: qml/Shell.qml:273
po/si.po+62−10
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2013-06-26 22:36+0000\n"
11"PO-Revision-Date: 2013-06-26 22:36+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Sinhalese <si@li.org>\n"
13"Language-Team: Sinhalese <si@li.org>\n"
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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr ""
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr ""
31msgstr ""
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -129,6 +165,18 @@ msgstr ""
129msgid "Search"
165msgid "Search"
130msgstr ""
166msgstr ""
131
167
168+#: qml/Dash/PageHeader.qml:270
169+msgid "Settings"
170+msgstr ""
171+
172+#: qml/Dash/PageHeader.qml:279
173+msgid "Remove from Favorites"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Add to Favorites"
178+msgstr ""
179+
132#: qml/Dash/Previews/PreviewActionCombo.qml:34
180#: qml/Dash/Previews/PreviewActionCombo.qml:34
133msgid "More..."
181msgid "More..."
134msgstr ""
182msgstr ""
@@ -253,8 +301,12 @@ msgstr ""
253msgid "Sorry, incorrect passphrase"
301msgid "Sorry, incorrect passphrase"
254msgstr ""
302msgstr ""
255
303
256−#: qml/Shell.qml:269
304+#: qml/Shell.qml:282
257−msgid "Enter your PIN"
305+msgid "Enter your passcode"
306+msgstr ""
307+
308+#: qml/Shell.qml:283
309+msgid "Sorry, incorrect passcode"
258msgstr ""
310msgstr ""
259
311
260#: qml/Shell.qml:273
312#: qml/Shell.qml:273
po/sl.po+89−56
@@ -7,17 +7,17 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11−"PO-Revision-Date: 2014-08-19 12:54+0000\n"
11+"PO-Revision-Date: 2014-08-28 06:43+0000\n"
12"Last-Translator: Damir Jerovšek <Unknown>\n"
12"Last-Translator: Damir Jerovšek <Unknown>\n"
13"Language-Team: Slovenian <sl@li.org>\n"
13"Language-Team: Slovenian <sl@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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-30 07:46+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17176)\n"
19
19
20−#: plugins/LightDM/Greeter.cpp:129
20+#: plugins/LightDM/Greeter.cpp:130
21msgid "Password: "
21msgid "Password: "
22msgstr "Geslo: "
22msgstr "Geslo: "
23
23
@@ -30,19 +30,57 @@ msgstr "Pripni bližnjico"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "Odpni bližnjico"
31msgstr "Odpni bližnjico"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr "Odjava"
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr "Ali ste prepričani, da se želite odjaviti?"
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr "Ne"
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr "Da"
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr "Izklop"
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
35msgstr "Ali ste prepričani, da želite izklopiti?"
57msgstr "Ali ste prepričani, da želite izklopiti?"
36
58
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr "Ponovni zagon"
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
65+msgstr "Ali ste prepričani, da želite ponovno zagnati?"
66+
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
68+msgid "Power"
69+msgstr "Izključitev"
70+
71+#: qml/Components/Dialogs.qml:145
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+"Ali ste prepričani, da želite\n"
77+"izključiti?"
78+
79+#: qml/Components/Dialogs.qml:147
38msgid "Power off"
80msgid "Power off"
39msgstr "Izklopi"
81msgstr "Izklopi"
40
82
41−#: qml/Components/Dialogs.qml:153
83+#: qml/Components/Dialogs.qml:157
42−msgid "Restart"
43−msgstr "Ponovno zaženi"
44−
45−#: qml/Components/Dialogs.qml:162
46msgid "Cancel"
84msgid "Cancel"
47msgstr "Prekliči"
85msgstr "Prekliči"
48
86
@@ -129,10 +167,23 @@ msgstr "Pokaži manj"
129msgid "See all"
167msgid "See all"
130msgstr "Ogled vsega"
168msgstr "Ogled vsega"
131
169
132−#: qml/Dash/GenericScopeView.qml:424 qml/Panel/SearchIndicator.qml:27
170+#: qml/Dash/GenericScopeView.qml:424 qml/Dash/PageHeader.qml:260
171+#: qml/Panel/SearchIndicator.qml:27
133msgid "Search"
172msgid "Search"
134msgstr "Iskanje"
173msgstr "Iskanje"
135
174
175+#: qml/Dash/PageHeader.qml:270
176+msgid "Settings"
177+msgstr "Nastavitve"
178+
179+#: qml/Dash/PageHeader.qml:279
180+msgid "Remove from Favorites"
181+msgstr "Odstrani iz priljubljenih"
182+
183+#: qml/Dash/PageHeader.qml:279
184+msgid "Add to Favorites"
185+msgstr "Dodaj med priljubljene"
186+
136#: qml/Dash/Previews/PreviewActionCombo.qml:34
187#: qml/Dash/Previews/PreviewActionCombo.qml:34
137msgid "More..."
188msgid "More..."
138msgstr "Več ..."
189msgstr "Več ..."
@@ -157,11 +208,11 @@ msgstr "Pošlji"
157msgid "Manage Dash"
208msgid "Manage Dash"
158msgstr "Upravljaj s pregledno ploščo"
209msgstr "Upravljaj s pregledno ploščo"
159
210
160−#: qml/Dash/ScopesOverview.qml:408
211+#: qml/Dash/ScopesOverview.qml:417
161msgid "Done"
212msgid "Done"
162msgstr "Končano"
213msgstr "Končano"
163
214
164−#: qml/Dash/ScopesOverview.qml:434
215+#: qml/Dash/ScopesOverview.qml:443
165msgid "Store"
216msgid "Store"
166msgstr "Trgovina"
217msgstr "Trgovina"
167
218
@@ -177,7 +228,7 @@ msgstr "Vse"
177msgid "Swipe to unlock"
228msgid "Swipe to unlock"
178msgstr "Podrsajte za odklenitev"
229msgstr "Podrsajte za odklenitev"
179
230
180−#: qml/Hud/HudParametrizedActionsPage.qml:132
231+#: qml/Hud/HudParametrizedActionsPage.qml:139
181msgid "Confirm"
232msgid "Confirm"
182msgstr "Potrdi"
233msgstr "Potrdi"
183
234
@@ -203,11 +254,11 @@ msgstr "Pokaži geslo"
203
254
204#: qml/Notifications/NotificationMenuItemFactory.qml:120
255#: qml/Notifications/NotificationMenuItemFactory.qml:120
205msgid "Enter SIM PIN"
256msgid "Enter SIM PIN"
206−msgstr ""
257+msgstr "Vnesite PIN kartice SIM"
207
258
208−#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
259+#: qml/Notifications/NotificationMenuItemFactory.qml:121
209msgid "Sorry, incorrect PIN"
260msgid "Sorry, incorrect PIN"
210−msgstr ""
261+msgstr "Oprostite, napačen PIN"
211
262
212#: qml/Panel/ActiveCallHint.qml:77
263#: qml/Panel/ActiveCallHint.qml:77
213msgid "Tap to return to call..."
264msgid "Tap to return to call..."
@@ -249,41 +300,45 @@ msgstr "Odkleni SIM"
249msgid "Roaming"
300msgid "Roaming"
250msgstr "Gostovanje"
301msgstr "Gostovanje"
251
302
252−#: qml/Shell.qml:266
303+#: qml/Shell.qml:279
253msgid "Enter your passphrase"
304msgid "Enter your passphrase"
254−msgstr ""
305+msgstr "Vnesite svoje šifrirno reklo"
255
306
256−#: qml/Shell.qml:267
307+#: qml/Shell.qml:280
257msgid "Sorry, incorrect passphrase"
308msgid "Sorry, incorrect passphrase"
258−msgstr ""
309+msgstr "Oprostite, napačno šifrirno reklo"
259
310
260−#: qml/Shell.qml:269
311+#: qml/Shell.qml:282
261−msgid "Enter your PIN"
312+msgid "Enter your passcode"
313+msgstr "Vnesite svoje geslo"
314+
315+#: qml/Shell.qml:283
316+msgid "Sorry, incorrect passcode"
262−msgstr ""
317+msgstr "Nepravilno geslo"
263
318
264−#: qml/Shell.qml:273
319+#: qml/Shell.qml:286
265#, qt-format
320#, qt-format
266msgid "Enter your %1"
321msgid "Enter your %1"
267msgstr "Vnesite vaš %1"
322msgstr "Vnesite vaš %1"
268
323
269−#: qml/Shell.qml:274
324+#: qml/Shell.qml:287
270#, qt-format
325#, qt-format
271msgid "Sorry, incorrect %1"
326msgid "Sorry, incorrect %1"
272−msgstr ""
327+msgstr "Oprostite, napačen %1"
273
328
274−#: qml/Shell.qml:310
329+#: qml/Shell.qml:323
275msgid "Sorry, incorrect passphrase."
330msgid "Sorry, incorrect passphrase."
276msgstr "Nepravilno geslo."
331msgstr "Nepravilno geslo."
277
332
278−#: qml/Shell.qml:311
333+#: qml/Shell.qml:324
279msgid "Sorry, incorrect passcode."
334msgid "Sorry, incorrect passcode."
280msgstr "Nepravilno geslo."
335msgstr "Nepravilno geslo."
281
336
282−#: qml/Shell.qml:312
337+#: qml/Shell.qml:325
283msgid "This will be your last attempt."
338msgid "This will be your last attempt."
284msgstr "To je vaš zadnji poskus"
339msgstr "To je vaš zadnji poskus"
285
340
286−#: qml/Shell.qml:314
341+#: qml/Shell.qml:327
287msgid ""
342msgid ""
288"If passphrase is entered incorrectly, your phone will conduct a factory "
343"If passphrase is entered incorrectly, your phone will conduct a factory "
289"reset and all personal data will be deleted."
344"reset and all personal data will be deleted."
@@ -291,32 +346,10 @@ msgstr ""
291"Če je vneseno nepravilno šifrirno reklo, bo telefon ponastavljen na "
346"Če je vneseno nepravilno šifrirno reklo, bo telefon ponastavljen na "
292"tovarniške nastavitve ter vsi osebni podatki bodo izbrisani."
347"tovarniške nastavitve ter vsi osebni podatki bodo izbrisani."
293
348
294−#: qml/Shell.qml:315
349+#: qml/Shell.qml:328
295msgid ""
350msgid ""
296"If passcode is entered incorrectly, your phone will conduct a factory reset "
351"If passcode is entered incorrectly, your phone will conduct a factory reset "
297"and all personal data will be deleted."
352"and all personal data will be deleted."
298msgstr ""
353msgstr ""
299"Če je vneseno nepravilno geslo, bo telefon ponastavljen na tovarniške "
354"Če je vneseno nepravilno geslo, bo telefon ponastavljen na tovarniške "
300"nastavitve ter vsi osebni podatki bodo izbrisani."
355"nastavitve ter vsi osebni podatki bodo izbrisani."
301−
302−#~ msgid "Please enter SIM PIN"
303−#~ msgstr "Vnesite PIN kartice SIM"
304−
305−#~ msgid "DONE"
306−#~ msgstr "KONČANO"
307−
308−#~ msgid "CANCEL"
309−#~ msgstr "PREKLIČI"
310−
311−#~ msgid "passphrase"
312−#~ msgstr "šifrirno reklo"
313−
314−#, qt-format
315−#~ msgid "Incorrect %1"
316−#~ msgstr "Nepravilen %1"
317−
318−#~ msgid "Please re-enter"
319−#~ msgstr "Ponovno vnesite"
320−
321−#~ msgid "passcode"
322−#~ msgstr "geslo"
po/sq.po+62−10
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-01-15 13:51+0000\n"
11"PO-Revision-Date: 2014-01-15 13:51+0000\n"
12"Last-Translator: Besmir Zanaj <besmirzanaj@gmail.com>\n"
12"Last-Translator: Besmir Zanaj <besmirzanaj@gmail.com>\n"
13"Language-Team: Albanian <sq@li.org>\n"
13"Language-Team: Albanian <sq@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−"X-Launchpad-Export-Date: 2014-08-23 07:16+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:29+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr ""
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr ""
31msgstr ""
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -130,6 +166,18 @@ msgstr ""
130msgid "Search"
166msgid "Search"
131msgstr ""
167msgstr ""
132
168
169+#: qml/Dash/PageHeader.qml:270
170+msgid "Settings"
171+msgstr ""
172+
173+#: qml/Dash/PageHeader.qml:279
174+msgid "Remove from Favorites"
175+msgstr ""
176+
177+#: qml/Dash/PageHeader.qml:279
178+msgid "Add to Favorites"
179+msgstr ""
180+
133#: qml/Dash/Previews/PreviewActionCombo.qml:34
181#: qml/Dash/Previews/PreviewActionCombo.qml:34
134msgid "More..."
182msgid "More..."
135msgstr ""
183msgstr ""
@@ -254,8 +302,12 @@ msgstr ""
254msgid "Sorry, incorrect passphrase"
302msgid "Sorry, incorrect passphrase"
255msgstr ""
303msgstr ""
256
304
257−#: qml/Shell.qml:269
305+#: qml/Shell.qml:282
258−msgid "Enter your PIN"
306+msgid "Enter your passcode"
307+msgstr ""
308+
309+#: qml/Shell.qml:283
310+msgid "Sorry, incorrect passcode"
259msgstr ""
311msgstr ""
260
312
261#: qml/Shell.qml:273
313#: qml/Shell.qml:273
po/sr.po+145−84
@@ -7,173 +7,226 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11−"PO-Revision-Date: 2013-06-27 09:19+0000\n"
11+"PO-Revision-Date: 2014-08-30 11:46+0000\n"
12−"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
12+"Last-Translator: Данило Шеган <Unknown>\n"
13"Language-Team: Serbian <sr@li.org>\n"
13"Language-Team: Serbian <sr@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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-31 07:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17176)\n"
19
19
20−#: plugins/LightDM/Greeter.cpp:129
20+#: plugins/LightDM/Greeter.cpp:130
21msgid "Password: "
21msgid "Password: "
22−msgstr ""
22+msgstr "Лозинка: "
23
23
24#: plugins/Unity/Launcher/launcheritem.cpp:43
24#: plugins/Unity/Launcher/launcheritem.cpp:43
25#: plugins/Unity/Launcher/launcheritem.cpp:73
25#: plugins/Unity/Launcher/launcheritem.cpp:73
26msgid "Pin shortcut"
26msgid "Pin shortcut"
27−msgstr ""
27+msgstr "Прикачи пречицу"
28
28
29#: plugins/Unity/Launcher/launcheritem.cpp:73
29#: plugins/Unity/Launcher/launcheritem.cpp:73
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31−msgstr ""
31+msgstr "Откачи пречицу"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr "Одјави се"
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr "Сигурно желите да се одјавите?"
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr "Не"
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr "Да"
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr "Угаси"
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr "Сигурно желите да угасите?"
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
35−msgstr ""
61+msgstr "Ресетуј"
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
65+msgstr "Сигурно желите да ресетујете?"
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39−msgstr ""
69+msgstr "Напајање"
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
43msgstr ""
75msgstr ""
76+"Сигурно желите да\n"
77+"искључите?"
44
78
45−#: qml/Components/Dialogs.qml:162
79+#: qml/Components/Dialogs.qml:147
80+msgid "Power off"
81+msgstr "Искључи"
82+
83+#: qml/Components/Dialogs.qml:157
46msgid "Cancel"
84msgid "Cancel"
47−msgstr ""
85+msgstr "Откажи"
48
86
49#: qml/Components/EdgeDemoOverlay.qml:151
87#: qml/Components/EdgeDemoOverlay.qml:151
50msgid "Skip intro"
88msgid "Skip intro"
51−msgstr ""
89+msgstr "Прескочи увод"
52
90
53#: qml/Components/EdgeDemo.qml:112
91#: qml/Components/EdgeDemo.qml:112
54msgid "Right edge"
92msgid "Right edge"
55−msgstr ""
93+msgstr "Десна ивица"
56
94
57#: qml/Components/EdgeDemo.qml:113
95#: qml/Components/EdgeDemo.qml:113
58msgid "Try swiping from the right edge to unlock the phone"
96msgid "Try swiping from the right edge to unlock the phone"
59−msgstr ""
97+msgstr "Превуците прстом од десне ивице да откључате телефон"
60
98
61#: qml/Components/EdgeDemo.qml:144
99#: qml/Components/EdgeDemo.qml:144
62msgid "Top edge"
100msgid "Top edge"
63−msgstr ""
101+msgstr "Горња ивица"
64
102
65#: qml/Components/EdgeDemo.qml:145
103#: qml/Components/EdgeDemo.qml:145
66msgid "Try swiping from the top edge to access the indicators"
104msgid "Try swiping from the top edge to access the indicators"
67−msgstr ""
105+msgstr "Превуците прстом од горње ивице да би приступили показатељима"
68
106
69#: qml/Components/EdgeDemo.qml:170
107#: qml/Components/EdgeDemo.qml:170
70msgid "Close"
108msgid "Close"
71−msgstr ""
109+msgstr "Затвори"
72
110
73#: qml/Components/EdgeDemo.qml:171
111#: qml/Components/EdgeDemo.qml:171
74msgid "Swipe up again to close the settings screen"
112msgid "Swipe up again to close the settings screen"
75−msgstr ""
113+msgstr "Превуците поново на горе да би затворили подешавања"
76
114
77#: qml/Components/EdgeDemo.qml:198
115#: qml/Components/EdgeDemo.qml:198
78msgid "Left edge"
116msgid "Left edge"
79−msgstr ""
117+msgstr "Лева ивица"
80
118
81#: qml/Components/EdgeDemo.qml:199
119#: qml/Components/EdgeDemo.qml:199
82msgid "Swipe from the left to reveal the launcher for quick access to apps"
120msgid "Swipe from the left to reveal the launcher for quick access to apps"
83−msgstr ""
121+msgstr "Превуците с лева да би открили покретач за брз приступ програмима"
84
122
85#: qml/Components/EdgeDemo.qml:226
123#: qml/Components/EdgeDemo.qml:226
86msgid "Well done"
124msgid "Well done"
87−msgstr ""
125+msgstr "Одлично"
88
126
89#: qml/Components/EdgeDemo.qml:227
127#: qml/Components/EdgeDemo.qml:227
90msgid ""
128msgid ""
91"You have now mastered the edge gestures and can start using the "
129"You have now mastered the edge gestures and can start using the "
92"phone<br><br>Tap on the screen to start"
130"phone<br><br>Tap on the screen to start"
93msgstr ""
131msgstr ""
132+"Сада сте савладали превлачења са ивица и можете да користите "
133+"телефон<br><br>Тапните на екран да почнете"
94
134
95#: qml/Components/Lockscreen.qml:167
135#: qml/Components/Lockscreen.qml:167
96msgid "Please wait"
136msgid "Please wait"
97−msgstr ""
137+msgstr "Сачекајте"
98
138
99#: qml/Components/Lockscreen.qml:172
139#: qml/Components/Lockscreen.qml:172
100msgid "Too many incorrect attempts"
140msgid "Too many incorrect attempts"
101−msgstr ""
141+msgstr "Превише нетачних покушаја"
102
142
103#: qml/Components/Lockscreen.qml:206
143#: qml/Components/Lockscreen.qml:206
104msgid "Emergency Call"
144msgid "Emergency Call"
105−msgstr ""
145+msgstr "Хитан позив"
106
146
107#: qml/Components/Lockscreen.qml:226
147#: qml/Components/Lockscreen.qml:226
108msgid "OK"
148msgid "OK"
109−msgstr ""
149+msgstr "У реду"
110
150
111#: qml/Components/PassphraseLockscreen.qml:61
151#: qml/Components/PassphraseLockscreen.qml:61
112#, qt-format
152#, qt-format
113msgid "Hello %1"
153msgid "Hello %1"
114−msgstr ""
154+msgstr "Здраво %1"
115
155
116#: qml/Components/PassphraseLockscreen.qml:61
156#: qml/Components/PassphraseLockscreen.qml:61
117msgid "Hello"
157msgid "Hello"
118−msgstr ""
158+msgstr "Здраво"
119
159
120#: qml/Dash/GenericScopeView.qml:361
160#: qml/Dash/GenericScopeView.qml:361
121msgid "See less"
161msgid "See less"
122−msgstr ""
162+msgstr "Сажетије"
123
163
124#: qml/Dash/GenericScopeView.qml:361
164#: qml/Dash/GenericScopeView.qml:361
125msgid "See all"
165msgid "See all"
126−msgstr ""
166+msgstr "Опширније"
127
167
128−#: qml/Dash/GenericScopeView.qml:424 qml/Panel/SearchIndicator.qml:27
168+#: qml/Dash/GenericScopeView.qml:424 qml/Dash/PageHeader.qml:260
169+#: qml/Panel/SearchIndicator.qml:27
129msgid "Search"
170msgid "Search"
130msgstr "Претрага"
171msgstr "Претрага"
131
172
173+#: qml/Dash/PageHeader.qml:270
174+msgid "Settings"
175+msgstr "Подешавања"
176+
177+#: qml/Dash/PageHeader.qml:279
178+msgid "Remove from Favorites"
179+msgstr "Уклони из омиљених"
180+
181+#: qml/Dash/PageHeader.qml:279
182+msgid "Add to Favorites"
183+msgstr "Додај међу омиљене"
184+
132#: qml/Dash/Previews/PreviewActionCombo.qml:34
185#: qml/Dash/Previews/PreviewActionCombo.qml:34
133msgid "More..."
186msgid "More..."
134−msgstr ""
187+msgstr "Више..."
135
188
136#: qml/Dash/Previews/PreviewActionCombo.qml:34
189#: qml/Dash/Previews/PreviewActionCombo.qml:34
137msgid "Less..."
190msgid "Less..."
138−msgstr ""
191+msgstr "Мање..."
139
192
140#: qml/Dash/Previews/PreviewRatingInput.qml:81
193#: qml/Dash/Previews/PreviewRatingInput.qml:81
141msgid "Rate this"
194msgid "Rate this"
142−msgstr ""
195+msgstr "Оцени"
143
196
144#: qml/Dash/Previews/PreviewRatingInput.qml:126
197#: qml/Dash/Previews/PreviewRatingInput.qml:126
145msgid "Add a review"
198msgid "Add a review"
146−msgstr ""
199+msgstr "Напиши оцену"
147
200
148#: qml/Dash/Previews/PreviewRatingInput.qml:166
201#: qml/Dash/Previews/PreviewRatingInput.qml:166
149msgid "Send"
202msgid "Send"
150−msgstr ""
203+msgstr "Пошаљи"
151
204
152#: qml/Dash/ScopesOverview.qml:201
205#: qml/Dash/ScopesOverview.qml:201
153msgid "Manage Dash"
206msgid "Manage Dash"
154−msgstr ""
207+msgstr "Управљај Полицом"
155
208
156−#: qml/Dash/ScopesOverview.qml:408
209+#: qml/Dash/ScopesOverview.qml:417
157msgid "Done"
210msgid "Done"
158−msgstr ""
211+msgstr "Готово"
159
212
160−#: qml/Dash/ScopesOverview.qml:434
213+#: qml/Dash/ScopesOverview.qml:443
161msgid "Store"
214msgid "Store"
162−msgstr ""
215+msgstr "Продавница"
163
216
164#: qml/Dash/ScopesOverviewTab.qml:36
217#: qml/Dash/ScopesOverviewTab.qml:36
165msgid "Favorites"
218msgid "Favorites"
166−msgstr ""
219+msgstr "Омиљени"
167
220
168#: qml/Dash/ScopesOverviewTab.qml:54
221#: qml/Dash/ScopesOverviewTab.qml:54
169msgid "All"
222msgid "All"
170−msgstr ""
223+msgstr "Сви"
171
224
172#: qml/Greeter/Greeter.qml:157
225#: qml/Greeter/Greeter.qml:157
173msgid "Swipe to unlock"
226msgid "Swipe to unlock"
174−msgstr ""
227+msgstr "Повуците да откључате"
175
228
176−#: qml/Hud/HudParametrizedActionsPage.qml:132
229+#: qml/Hud/HudParametrizedActionsPage.qml:139
177msgid "Confirm"
230msgid "Confirm"
178msgstr "Потврди"
231msgstr "Потврди"
179
232
@@ -195,98 +248,106 @@ msgstr "Говор..."
195
248
196#: qml/Notifications/NotificationMenuItemFactory.qml:105
249#: qml/Notifications/NotificationMenuItemFactory.qml:105
197msgid "Show password"
250msgid "Show password"
198−msgstr ""
251+msgstr "Прикажи лозинку"
199
252
200#: qml/Notifications/NotificationMenuItemFactory.qml:120
253#: qml/Notifications/NotificationMenuItemFactory.qml:120
201msgid "Enter SIM PIN"
254msgid "Enter SIM PIN"
202−msgstr ""
255+msgstr "Унеси пин СИМ картице"
203
256
204−#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
257+#: qml/Notifications/NotificationMenuItemFactory.qml:121
205msgid "Sorry, incorrect PIN"
258msgid "Sorry, incorrect PIN"
206−msgstr ""
259+msgstr "Жао ми је, погрешан ПИН код"
207
260
208#: qml/Panel/ActiveCallHint.qml:77
261#: qml/Panel/ActiveCallHint.qml:77
209msgid "Tap to return to call..."
262msgid "Tap to return to call..."
210−msgstr ""
263+msgstr "Тапните да одговорите на позив"
211
264
212#: qml/Panel/ActiveCallHint.qml:90
265#: qml/Panel/ActiveCallHint.qml:90
213msgid "Conference"
266msgid "Conference"
214−msgstr ""
267+msgstr "Конференција"
215
268
216#: qml/Panel/Indicators/MenuItemFactory.qml:651
269#: qml/Panel/Indicators/MenuItemFactory.qml:651
217msgid "In queue…"
270msgid "In queue…"
218−msgstr ""
271+msgstr "У реду..."
219
272
220#: qml/Panel/Indicators/MenuItemFactory.qml:655
273#: qml/Panel/Indicators/MenuItemFactory.qml:655
221msgid "Downloading"
274msgid "Downloading"
222−msgstr ""
275+msgstr "Преузимам"
223
276
224#: qml/Panel/Indicators/MenuItemFactory.qml:657
277#: qml/Panel/Indicators/MenuItemFactory.qml:657
225msgid "Paused, tap to resume"
278msgid "Paused, tap to resume"
226−msgstr ""
279+msgstr "Заустављено, тапните да наставите"
227
280
228#: qml/Panel/Indicators/MenuItemFactory.qml:659
281#: qml/Panel/Indicators/MenuItemFactory.qml:659
229msgid "Canceled"
282msgid "Canceled"
230−msgstr ""
283+msgstr "Отказано"
231
284
232#: qml/Panel/Indicators/MenuItemFactory.qml:661
285#: qml/Panel/Indicators/MenuItemFactory.qml:661
233msgid "Finished"
286msgid "Finished"
234−msgstr ""
287+msgstr "Завршено"
235
288
236#: qml/Panel/Indicators/MenuItemFactory.qml:663
289#: qml/Panel/Indicators/MenuItemFactory.qml:663
237msgid "Failed, tap to retry"
290msgid "Failed, tap to retry"
238−msgstr ""
291+msgstr "Неуспешно, тапните да покушате поново"
239
292
240#: qml/Panel/Indicators/ModemInfoItem.qml:105
293#: qml/Panel/Indicators/ModemInfoItem.qml:105
241msgid "Unlock SIM"
294msgid "Unlock SIM"
242−msgstr ""
295+msgstr "Откључај СИМ картицу"
243
296
244#: qml/Panel/Indicators/RoamingIndication.qml:27
297#: qml/Panel/Indicators/RoamingIndication.qml:27
245msgid "Roaming"
298msgid "Roaming"
246−msgstr ""
299+msgstr "Роминг"
247
300
248−#: qml/Shell.qml:266
301+#: qml/Shell.qml:279
249msgid "Enter your passphrase"
302msgid "Enter your passphrase"
250−msgstr ""
303+msgstr "Унесите вашу лозинку"
251
304
252−#: qml/Shell.qml:267
305+#: qml/Shell.qml:280
253msgid "Sorry, incorrect passphrase"
306msgid "Sorry, incorrect passphrase"
254−msgstr ""
307+msgstr "Жао ми је, погрешна лозинка"
255
308
256−#: qml/Shell.qml:269
309+#: qml/Shell.qml:282
257−msgid "Enter your PIN"
310+msgid "Enter your passcode"
258−msgstr ""
311+msgstr "Унесите ваш код"
259
312
260−#: qml/Shell.qml:273
313+#: qml/Shell.qml:283
314+msgid "Sorry, incorrect passcode"
315+msgstr "Жао ми је, погрешан код"
316+
317+#: qml/Shell.qml:286
261#, qt-format
318#, qt-format
262msgid "Enter your %1"
319msgid "Enter your %1"
263−msgstr ""
320+msgstr "Унесите ваш %1"
264
321
265−#: qml/Shell.qml:274
322+#: qml/Shell.qml:287
266#, qt-format
323#, qt-format
267msgid "Sorry, incorrect %1"
324msgid "Sorry, incorrect %1"
268−msgstr ""
325+msgstr "Жао ми је, погрешан %1"
269
326
270−#: qml/Shell.qml:310
327+#: qml/Shell.qml:323
271msgid "Sorry, incorrect passphrase."
328msgid "Sorry, incorrect passphrase."
272−msgstr ""
329+msgstr "Жао ми је, погрешна лозинка."
273
330
274−#: qml/Shell.qml:311
331+#: qml/Shell.qml:324
275msgid "Sorry, incorrect passcode."
332msgid "Sorry, incorrect passcode."
276−msgstr ""
333+msgstr "Жао ми је, погрешан код."
277
334
278−#: qml/Shell.qml:312
335+#: qml/Shell.qml:325
279msgid "This will be your last attempt."
336msgid "This will be your last attempt."
280−msgstr ""
337+msgstr "Ово је ваш последњи покушај."
281
338
282−#: qml/Shell.qml:314
339+#: qml/Shell.qml:327
283msgid ""
340msgid ""
284"If passphrase is entered incorrectly, your phone will conduct a factory "
341"If passphrase is entered incorrectly, your phone will conduct a factory "
285"reset and all personal data will be deleted."
342"reset and all personal data will be deleted."
286msgstr ""
343msgstr ""
344+"Ако се унесе погрешна лозинка, ваш телефон ће се ресетовати и сви лични "
345+"подаци ће бити обрисани."
287
346
288−#: qml/Shell.qml:315
347+#: qml/Shell.qml:328
289msgid ""
348msgid ""
290"If passcode is entered incorrectly, your phone will conduct a factory reset "
349"If passcode is entered incorrectly, your phone will conduct a factory reset "
291"and all personal data will be deleted."
350"and all personal data will be deleted."
292msgstr ""
351msgstr ""
352+"Ако се унесе погрешан код, ваш телефон ће се ресетовати и сви лични подаци "
353+"ће бити обрисани."
po/sv.po+65−23
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-08-14 18:22+0000\n"
11"PO-Revision-Date: 2014-08-14 18:22+0000\n"
12"Last-Translator: Erik Simmesgård <Unknown>\n"
12"Last-Translator: Erik Simmesgård <Unknown>\n"
13"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
13"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19"Language: sv\n"
19"Language: sv\n"
20
20
21#: plugins/LightDM/Greeter.cpp:129
21#: plugins/LightDM/Greeter.cpp:129
@@ -31,17 +31,53 @@ msgstr "Fäst genväg"
31msgid "Unpin shortcut"
31msgid "Unpin shortcut"
32msgstr "Släpp genväg"
32msgstr "Släpp genväg"
33
33
34−#: qml/Components/Dialogs.qml:142
34+#: qml/Components/Dialogs.qml:70
35−msgid "Are you sure you would like to turn power off?"
35+msgid "Log out"
36+msgstr ""
37+
38+#: qml/Components/Dialogs.qml:71
39+msgid "Are you sure you want to log out?"
40+msgstr ""
41+
42+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
43+#: qml/Components/Dialogs.qml:122
44+msgid "No"
45+msgstr ""
46+
47+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
48+#: qml/Components/Dialogs.qml:129
49+msgid "Yes"
50+msgstr ""
51+
52+#: qml/Components/Dialogs.qml:94
53+msgid "Shut down"
54+msgstr ""
55+
56+#: qml/Components/Dialogs.qml:95
57+msgid "Are you sure you want to shut down?"
58+msgstr ""
59+
60+#: qml/Components/Dialogs.qml:119
61+msgid "Reboot"
62+msgstr ""
63+
64+#: qml/Components/Dialogs.qml:120
65+msgid "Are you sure you want to reboot?"
36msgstr ""
66msgstr ""
37
67
38#: qml/Components/Dialogs.qml:144
68#: qml/Components/Dialogs.qml:144
39−msgid "Power off"
69+msgid "Power"
40msgstr ""
70msgstr ""
41
71
42−#: qml/Components/Dialogs.qml:153
72+#: qml/Components/Dialogs.qml:145
43−msgid "Restart"
73+msgid ""
74+"Are you sure you would like\n"
75+"to power off?"
44−msgstr "Starta om"
76+msgstr ""
77+
78+#: qml/Components/Dialogs.qml:144
79+msgid "Power off"
80+msgstr ""
45
81
46#: qml/Components/Dialogs.qml:162
82#: qml/Components/Dialogs.qml:162
47msgid "Cancel"
83msgid "Cancel"
@@ -132,6 +168,18 @@ msgstr "Visa alla"
132msgid "Search"
168msgid "Search"
133msgstr "Sök"
169msgstr "Sök"
134
170
171+#: qml/Dash/PageHeader.qml:270
172+msgid "Settings"
173+msgstr ""
174+
175+#: qml/Dash/PageHeader.qml:279
176+msgid "Remove from Favorites"
177+msgstr ""
178+
179+#: qml/Dash/PageHeader.qml:279
180+msgid "Add to Favorites"
181+msgstr ""
182+
135#: qml/Dash/Previews/PreviewActionCombo.qml:34
183#: qml/Dash/Previews/PreviewActionCombo.qml:34
136msgid "More..."
184msgid "More..."
137msgstr "Mer…"
185msgstr "Mer…"
@@ -256,8 +304,12 @@ msgstr ""
256msgid "Sorry, incorrect passphrase"
304msgid "Sorry, incorrect passphrase"
257msgstr ""
305msgstr ""
258
306
259−#: qml/Shell.qml:269
307+#: qml/Shell.qml:282
260−msgid "Enter your PIN"
308+msgid "Enter your passcode"
309+msgstr ""
310+
311+#: qml/Shell.qml:283
312+msgid "Sorry, incorrect passcode"
261msgstr ""
313msgstr ""
262
314
263#: qml/Shell.qml:273
315#: qml/Shell.qml:273
@@ -294,15 +346,5 @@ msgid ""
294"and all personal data will be deleted."
346"and all personal data will be deleted."
295msgstr ""
347msgstr ""
296
348
297−#~ msgid "Please enter SIM PIN"
349+#~ msgid "Restart"
298−#~ msgstr "Ange SIM PIN-kod"
299−
300−#~ msgid "CANCEL"
301−#~ msgstr "AVBRYT"
350+#~ msgstr "Starta om"
302−
303−#~ msgid "DONE"
304−#~ msgstr "KLAR"
305−
306−#, qt-format
307−#~ msgid "Incorrect %1"
308−#~ msgstr "Inkorrekt %1"
po/sw.po+62−10
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-01-14 19:28+0000\n"
11"PO-Revision-Date: 2014-01-14 19:28+0000\n"
12"Last-Translator: Damas <Unknown>\n"
12"Last-Translator: Damas <Unknown>\n"
13"Language-Team: Swahili <sw@li.org>\n"
13"Language-Team: Swahili <sw@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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr ""
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr ""
31msgstr ""
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -129,6 +165,18 @@ msgstr ""
129msgid "Search"
165msgid "Search"
130msgstr "Tafuta"
166msgstr "Tafuta"
131
167
168+#: qml/Dash/PageHeader.qml:270
169+msgid "Settings"
170+msgstr ""
171+
172+#: qml/Dash/PageHeader.qml:279
173+msgid "Remove from Favorites"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Add to Favorites"
178+msgstr ""
179+
132#: qml/Dash/Previews/PreviewActionCombo.qml:34
180#: qml/Dash/Previews/PreviewActionCombo.qml:34
133msgid "More..."
181msgid "More..."
134msgstr ""
182msgstr ""
@@ -253,8 +301,12 @@ msgstr ""
253msgid "Sorry, incorrect passphrase"
301msgid "Sorry, incorrect passphrase"
254msgstr ""
302msgstr ""
255
303
256−#: qml/Shell.qml:269
304+#: qml/Shell.qml:282
257−msgid "Enter your PIN"
305+msgid "Enter your passcode"
306+msgstr ""
307+
308+#: qml/Shell.qml:283
309+msgid "Sorry, incorrect passcode"
258msgstr ""
310msgstr ""
259
311
260#: qml/Shell.qml:273
312#: qml/Shell.qml:273
po/ta.po+62−10
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2013-10-24 11:36+0000\n"
11"PO-Revision-Date: 2013-10-24 11:36+0000\n"
12"Last-Translator: Arun Kumar - அருண் குமார் <thangam.arunx@gmail.com>\n"
12"Last-Translator: Arun Kumar - அருண் குமார் <thangam.arunx@gmail.com>\n"
13"Language-Team: Ubuntu Tamil Team/Free Tamil Computing/Thamizha\n"
13"Language-Team: Ubuntu Tamil Team/Free Tamil Computing/Thamizha\n"
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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19"Language: ta\n"
19"Language: ta\n"
20
20
21#: plugins/LightDM/Greeter.cpp:129
21#: plugins/LightDM/Greeter.cpp:129
@@ -31,16 +31,52 @@ msgstr ""
31msgid "Unpin shortcut"
31msgid "Unpin shortcut"
32msgstr ""
32msgstr ""
33
33
34−#: qml/Components/Dialogs.qml:142
34+#: qml/Components/Dialogs.qml:70
35−msgid "Are you sure you would like to turn power off?"
35+msgid "Log out"
36+msgstr ""
37+
38+#: qml/Components/Dialogs.qml:71
39+msgid "Are you sure you want to log out?"
40+msgstr ""
41+
42+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
43+#: qml/Components/Dialogs.qml:122
44+msgid "No"
45+msgstr ""
46+
47+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
48+#: qml/Components/Dialogs.qml:129
49+msgid "Yes"
50+msgstr ""
51+
52+#: qml/Components/Dialogs.qml:94
53+msgid "Shut down"
54+msgstr ""
55+
56+#: qml/Components/Dialogs.qml:95
57+msgid "Are you sure you want to shut down?"
58+msgstr ""
59+
60+#: qml/Components/Dialogs.qml:119
61+msgid "Reboot"
62+msgstr ""
63+
64+#: qml/Components/Dialogs.qml:120
65+msgid "Are you sure you want to reboot?"
36msgstr ""
66msgstr ""
37
67
38#: qml/Components/Dialogs.qml:144
68#: qml/Components/Dialogs.qml:144
39−msgid "Power off"
69+msgid "Power"
40msgstr ""
70msgstr ""
41
71
42−#: qml/Components/Dialogs.qml:153
72+#: qml/Components/Dialogs.qml:145
43−msgid "Restart"
73+msgid ""
74+"Are you sure you would like\n"
75+"to power off?"
76+msgstr ""
77+
78+#: qml/Components/Dialogs.qml:144
79+msgid "Power off"
44msgstr ""
80msgstr ""
45
81
46#: qml/Components/Dialogs.qml:162
82#: qml/Components/Dialogs.qml:162
@@ -132,6 +168,18 @@ msgstr ""
132msgid "Search"
168msgid "Search"
133msgstr "தெடு"
169msgstr "தெடு"
134
170
171+#: qml/Dash/PageHeader.qml:270
172+msgid "Settings"
173+msgstr ""
174+
175+#: qml/Dash/PageHeader.qml:279
176+msgid "Remove from Favorites"
177+msgstr ""
178+
179+#: qml/Dash/PageHeader.qml:279
180+msgid "Add to Favorites"
181+msgstr ""
182+
135#: qml/Dash/Previews/PreviewActionCombo.qml:34
183#: qml/Dash/Previews/PreviewActionCombo.qml:34
136msgid "More..."
184msgid "More..."
137msgstr ""
185msgstr ""
@@ -256,8 +304,12 @@ msgstr ""
256msgid "Sorry, incorrect passphrase"
304msgid "Sorry, incorrect passphrase"
257msgstr ""
305msgstr ""
258
306
259−#: qml/Shell.qml:269
307+#: qml/Shell.qml:282
260−msgid "Enter your PIN"
308+msgid "Enter your passcode"
309+msgstr ""
310+
311+#: qml/Shell.qml:283
312+msgid "Sorry, incorrect passcode"
261msgstr ""
313msgstr ""
262
314
263#: qml/Shell.qml:273
315#: qml/Shell.qml:273
po/te.po+62−19
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-07-19 10:04+0000\n"
11"PO-Revision-Date: 2014-07-19 10:04+0000\n"
12"Last-Translator: Praveen Illa <mail2ipn@gmail.com>\n"
12"Last-Translator: Praveen Illa <mail2ipn@gmail.com>\n"
13"Language-Team: Telugu <te@li.org>\n"
13"Language-Team: Telugu <te@li.org>\n"
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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr ""
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr ""
31msgstr ""
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -129,6 +165,18 @@ msgstr ""
129msgid "Search"
165msgid "Search"
130msgstr "వెతుకు"
166msgstr "వెతుకు"
131
167
168+#: qml/Dash/PageHeader.qml:270
169+msgid "Settings"
170+msgstr ""
171+
172+#: qml/Dash/PageHeader.qml:279
173+msgid "Remove from Favorites"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Add to Favorites"
178+msgstr ""
179+
132#: qml/Dash/Previews/PreviewActionCombo.qml:34
180#: qml/Dash/Previews/PreviewActionCombo.qml:34
133msgid "More..."
181msgid "More..."
134msgstr "మరిన్ని..."
182msgstr "మరిన్ని..."
@@ -253,8 +301,12 @@ msgstr ""
253msgid "Sorry, incorrect passphrase"
301msgid "Sorry, incorrect passphrase"
254msgstr ""
302msgstr ""
255
303
256−#: qml/Shell.qml:269
304+#: qml/Shell.qml:282
257−msgid "Enter your PIN"
305+msgid "Enter your passcode"
306+msgstr ""
307+
308+#: qml/Shell.qml:283
309+msgid "Sorry, incorrect passcode"
258msgstr ""
310msgstr ""
259
311
260#: qml/Shell.qml:273
312#: qml/Shell.qml:273
@@ -290,12 +342,3 @@ msgid ""
290"If passcode is entered incorrectly, your phone will conduct a factory reset "
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
291"and all personal data will be deleted."
343"and all personal data will be deleted."
292msgstr ""
344msgstr ""
293−
294−#~ msgid "CANCEL"
295−#~ msgstr "రద్దుచేయి"
296−
297−#~ msgid "DONE"
298−#~ msgstr "పూర్తయ్యింది"
299−
300−#~ msgid "Please enter SIM PIN"
301−#~ msgstr "దయచేసి సిమ్ పిన్ ఇవ్వండి"
po/tr.po+62−19
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-07-16 17:58+0000\n"
11"PO-Revision-Date: 2014-07-16 17:58+0000\n"
12"Last-Translator: Volkan Gezer <Unknown>\n"
12"Last-Translator: Volkan Gezer <Unknown>\n"
13"Language-Team: Turkish <tr@li.org>\n"
13"Language-Team: Turkish <tr@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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr "Kısayolu iğnele"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "Kısayol iğnesini kaldır"
31msgstr "Kısayol iğnesini kaldır"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -132,6 +168,18 @@ msgstr ""
132msgid "Search"
168msgid "Search"
133msgstr "Ara"
169msgstr "Ara"
134
170
171+#: qml/Dash/PageHeader.qml:270
172+msgid "Settings"
173+msgstr ""
174+
175+#: qml/Dash/PageHeader.qml:279
176+msgid "Remove from Favorites"
177+msgstr ""
178+
179+#: qml/Dash/PageHeader.qml:279
180+msgid "Add to Favorites"
181+msgstr ""
182+
135#: qml/Dash/Previews/PreviewActionCombo.qml:34
183#: qml/Dash/Previews/PreviewActionCombo.qml:34
136msgid "More..."
184msgid "More..."
137msgstr "Daha fazlası..."
185msgstr "Daha fazlası..."
@@ -256,8 +304,12 @@ msgstr ""
256msgid "Sorry, incorrect passphrase"
304msgid "Sorry, incorrect passphrase"
257msgstr ""
305msgstr ""
258
306
259−#: qml/Shell.qml:269
307+#: qml/Shell.qml:282
260−msgid "Enter your PIN"
308+msgid "Enter your passcode"
309+msgstr ""
310+
311+#: qml/Shell.qml:283
312+msgid "Sorry, incorrect passcode"
261msgstr ""
313msgstr ""
262
314
263#: qml/Shell.qml:273
315#: qml/Shell.qml:273
@@ -293,12 +345,3 @@ msgid ""
293"If passcode is entered incorrectly, your phone will conduct a factory reset "
345"If passcode is entered incorrectly, your phone will conduct a factory reset "
294"and all personal data will be deleted."
346"and all personal data will be deleted."
295msgstr ""
347msgstr ""
296−
297−#~ msgid "Please enter SIM PIN"
298−#~ msgstr "Lütfen SIM PIN'inizi girin"
299−
300−#~ msgid "CANCEL"
301−#~ msgstr "İPTAL"
302−
303−#~ msgid "DONE"
304−#~ msgstr "BİTTİ"
po/ug.po+62−19
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-07-29 04:06+0000\n"
11"PO-Revision-Date: 2014-07-29 04:06+0000\n"
12"Last-Translator: Gheyret T.Kenji <Unknown>\n"
12"Last-Translator: Gheyret T.Kenji <Unknown>\n"
13"Language-Team: Uyghur Computer Science Association <UKIJ@yahoogroups.com>\n"
13"Language-Team: Uyghur Computer Science Association <UKIJ@yahoogroups.com>\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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr "تېزلەتمىنى قوي"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "تېزلەتمىنى ئېلىۋەت"
31msgstr "تېزلەتمىنى ئېلىۋەت"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -131,6 +167,18 @@ msgstr "ھەممىنى كۆرۈش…"
131msgid "Search"
167msgid "Search"
132msgstr "ئىزدە"
168msgstr "ئىزدە"
133
169
170+#: qml/Dash/PageHeader.qml:270
171+msgid "Settings"
172+msgstr ""
173+
174+#: qml/Dash/PageHeader.qml:279
175+msgid "Remove from Favorites"
176+msgstr ""
177+
178+#: qml/Dash/PageHeader.qml:279
179+msgid "Add to Favorites"
180+msgstr ""
181+
134#: qml/Dash/Previews/PreviewActionCombo.qml:34
182#: qml/Dash/Previews/PreviewActionCombo.qml:34
135msgid "More..."
183msgid "More..."
136msgstr "تېخىمۇ كۆپ…"
184msgstr "تېخىمۇ كۆپ…"
@@ -255,8 +303,12 @@ msgstr ""
255msgid "Sorry, incorrect passphrase"
303msgid "Sorry, incorrect passphrase"
256msgstr ""
304msgstr ""
257
305
258−#: qml/Shell.qml:269
306+#: qml/Shell.qml:282
259−msgid "Enter your PIN"
307+msgid "Enter your passcode"
308+msgstr ""
309+
310+#: qml/Shell.qml:283
311+msgid "Sorry, incorrect passcode"
260msgstr ""
312msgstr ""
261
313
262#: qml/Shell.qml:273
314#: qml/Shell.qml:273
@@ -292,12 +344,3 @@ msgid ""
292"If passcode is entered incorrectly, your phone will conduct a factory reset "
344"If passcode is entered incorrectly, your phone will conduct a factory reset "
293"and all personal data will be deleted."
345"and all personal data will be deleted."
294msgstr ""
346msgstr ""
295−
296−#~ msgid "CANCEL"
297−#~ msgstr "ۋاز كەچ"
298−
299−#~ msgid "DONE"
300−#~ msgstr "تامام"
301−
302−#~ msgid "Please enter SIM PIN"
303−#~ msgstr "سىم(SIM) كارتىڭىزنىڭ PIN نومۇرىنى كىرگۈزۈڭ"
po/uk.po+75−36
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11−"PO-Revision-Date: 2014-08-17 14:49+0000\n"
11+"PO-Revision-Date: 2014-08-26 19:06+0000\n"
12"Last-Translator: Yuri Chornoivan <yurchor@gmail.com>\n"
12"Last-Translator: Yuri Chornoivan <yurchor@gmail.com>\n"
13"Language-Team: Ukrainian <uk@li.org>\n"
13"Language-Team: Ukrainian <uk@li.org>\n"
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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,18 +30,54 @@ msgstr "Заблокувати кнопку"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "Розблокувати кнопку"
31msgstr "Розблокувати кнопку"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
65+msgstr ""
66+
67+#: qml/Components/Dialogs.qml:144
68+msgid "Power"
69+msgstr ""
70+
71+#: qml/Components/Dialogs.qml:145
72+msgid ""
34−msgid "Are you sure you would like to turn power off?"
73+"Are you sure you would like\n"
35−msgstr "Ви справді хочете вимкнути пристрій?"
74+"to power off?"
75+msgstr ""
36
76
37#: qml/Components/Dialogs.qml:144
77#: qml/Components/Dialogs.qml:144
38msgid "Power off"
78msgid "Power off"
39msgstr "Вимкнути"
79msgstr "Вимкнути"
40
80
41−#: qml/Components/Dialogs.qml:153
42−msgid "Restart"
43−msgstr "Перезавантажити"
44−
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
46msgid "Cancel"
82msgid "Cancel"
47msgstr "Скасувати"
83msgstr "Скасувати"
@@ -134,6 +170,18 @@ msgstr "Детальніше"
134msgid "Search"
170msgid "Search"
135msgstr "Пошук"
171msgstr "Пошук"
136
172
173+#: qml/Dash/PageHeader.qml:270
174+msgid "Settings"
175+msgstr ""
176+
177+#: qml/Dash/PageHeader.qml:279
178+msgid "Remove from Favorites"
179+msgstr ""
180+
181+#: qml/Dash/PageHeader.qml:279
182+msgid "Add to Favorites"
183+msgstr ""
184+
137#: qml/Dash/Previews/PreviewActionCombo.qml:34
185#: qml/Dash/Previews/PreviewActionCombo.qml:34
138msgid "More..."
186msgid "More..."
139msgstr "Більше…"
187msgstr "Більше…"
@@ -204,11 +252,11 @@ msgstr "Показати пароль"
204
252
205#: qml/Notifications/NotificationMenuItemFactory.qml:120
253#: qml/Notifications/NotificationMenuItemFactory.qml:120
206msgid "Enter SIM PIN"
254msgid "Enter SIM PIN"
207−msgstr ""
255+msgstr "Введіть PIN-код SIM-картки"
208
256
209#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
257#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
210msgid "Sorry, incorrect PIN"
258msgid "Sorry, incorrect PIN"
211−msgstr ""
259+msgstr "Вибачте, помилковий PIN-код"
212
260
213#: qml/Panel/ActiveCallHint.qml:77
261#: qml/Panel/ActiveCallHint.qml:77
214msgid "Tap to return to call..."
262msgid "Tap to return to call..."
@@ -252,14 +300,18 @@ msgstr "Роумінг"
252
300
253#: qml/Shell.qml:266
301#: qml/Shell.qml:266
254msgid "Enter your passphrase"
302msgid "Enter your passphrase"
255−msgstr ""
303+msgstr "Введіть ваш пароль"
256
304
257#: qml/Shell.qml:267
305#: qml/Shell.qml:267
258msgid "Sorry, incorrect passphrase"
306msgid "Sorry, incorrect passphrase"
307+msgstr "Вибачте, помилковий пароль"
308+
309+#: qml/Shell.qml:282
310+msgid "Enter your passcode"
259msgstr ""
311msgstr ""
260
312
261−#: qml/Shell.qml:269
313+#: qml/Shell.qml:283
262−msgid "Enter your PIN"
314+msgid "Sorry, incorrect passcode"
263msgstr ""
315msgstr ""
264
316
265#: qml/Shell.qml:273
317#: qml/Shell.qml:273
@@ -270,7 +322,7 @@ msgstr "Вкажіть ваш %1"
270#: qml/Shell.qml:274
322#: qml/Shell.qml:274
271#, qt-format
323#, qt-format
272msgid "Sorry, incorrect %1"
324msgid "Sorry, incorrect %1"
273−msgstr ""
325+msgstr "Вибачте, помилковий %1"
274
326
275#: qml/Shell.qml:310
327#: qml/Shell.qml:310
276msgid "Sorry, incorrect passphrase."
328msgid "Sorry, incorrect passphrase."
@@ -300,24 +352,11 @@ msgstr ""
300"Якщо код-пароль буде вказано неправильно, телефон повернеться до початкового "
352"Якщо код-пароль буде вказано неправильно, телефон повернеться до початкового "
301"стану, усі особисті дані буде вилучено."
353"стану, усі особисті дані буде вилучено."
302
354
303−#~ msgid "Please enter SIM PIN"
355+#~ msgid "Are you sure you would like to turn power off?"
304−#~ msgstr "Введіть PIN-код SIM-картки"
356+#~ msgstr "Ви справді хочете вимкнути пристрій?"
305−
306−#~ msgid "DONE"
307−#~ msgstr "Виконано"
308−
309−#~ msgid "CANCEL"
310−#~ msgstr "Скасувати"
311−
312−#~ msgid "passphrase"
313−#~ msgstr "пароль"
314−
315−#, qt-format
316−#~ msgid "Incorrect %1"
317−#~ msgstr "Помилковий %1"
318
357
319−#~ msgid "Please re-enter"
358+#~ msgid "Restart"
320−#~ msgstr "Будь ласка, вкажіть ще раз"
359+#~ msgstr "Перезавантажити"
321
360
322−#~ msgid "passcode"
361+#~ msgid "Enter your PIN"
323−#~ msgstr "код-пароль"
362+#~ msgstr "Введіть ваш PIN-код"
po/unity8.pot+77−24
@@ -8,7 +8,7 @@ msgid ""
8msgstr ""
8msgstr ""
9"Project-Id-Version: unity8\n"
9"Project-Id-Version: unity8\n"
10"Report-Msgid-Bugs-To: \n"
10"Report-Msgid-Bugs-To: \n"
11−"POT-Creation-Date: 2014-08-21 11:36+0200\n"
11+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14"Language-Team: LANGUAGE <LL@li.org>\n"
14"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,7 +17,7 @@ msgstr ""
17"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Type: text/plain; charset=UTF-8\n"
18"Content-Transfer-Encoding: 8bit\n"
18"Content-Transfer-Encoding: 8bit\n"
19
19
20−#: plugins/LightDM/Greeter.cpp:129
20+#: plugins/LightDM/Greeter.cpp:130
21msgid "Password: "
21msgid "Password: "
22msgstr ""
22msgstr ""
23
23
@@ -30,19 +30,55 @@ msgstr ""
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr ""
31msgstr ""
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
43msgstr ""
75msgstr ""
44
76
45−#: qml/Components/Dialogs.qml:162
77+#: qml/Components/Dialogs.qml:147
78+msgid "Power off"
79+msgstr ""
80+
81+#: qml/Components/Dialogs.qml:157
46msgid "Cancel"
82msgid "Cancel"
47msgstr ""
83msgstr ""
48
84
@@ -125,10 +161,23 @@ msgstr ""
125msgid "See all"
161msgid "See all"
126msgstr ""
162msgstr ""
127
163
128−#: qml/Dash/GenericScopeView.qml:424 qml/Panel/SearchIndicator.qml:27
164+#: qml/Dash/GenericScopeView.qml:424 qml/Dash/PageHeader.qml:260
165+#: qml/Panel/SearchIndicator.qml:27
129msgid "Search"
166msgid "Search"
130msgstr ""
167msgstr ""
131
168
169+#: qml/Dash/PageHeader.qml:270
170+msgid "Settings"
171+msgstr ""
172+
173+#: qml/Dash/PageHeader.qml:279
174+msgid "Remove from Favorites"
175+msgstr ""
176+
177+#: qml/Dash/PageHeader.qml:279
178+msgid "Add to Favorites"
179+msgstr ""
180+
132#: qml/Dash/Previews/PreviewActionCombo.qml:34
181#: qml/Dash/Previews/PreviewActionCombo.qml:34
133msgid "More..."
182msgid "More..."
134msgstr ""
183msgstr ""
@@ -153,11 +202,11 @@ msgstr ""
153msgid "Manage Dash"
202msgid "Manage Dash"
154msgstr ""
203msgstr ""
155
204
156−#: qml/Dash/ScopesOverview.qml:408
205+#: qml/Dash/ScopesOverview.qml:417
157msgid "Done"
206msgid "Done"
158msgstr ""
207msgstr ""
159
208
160−#: qml/Dash/ScopesOverview.qml:434
209+#: qml/Dash/ScopesOverview.qml:443
161msgid "Store"
210msgid "Store"
162msgstr ""
211msgstr ""
163
212
@@ -173,7 +222,7 @@ msgstr ""
173msgid "Swipe to unlock"
222msgid "Swipe to unlock"
174msgstr ""
223msgstr ""
175
224
176−#: qml/Hud/HudParametrizedActionsPage.qml:132
225+#: qml/Hud/HudParametrizedActionsPage.qml:139
177msgid "Confirm"
226msgid "Confirm"
178msgstr ""
227msgstr ""
179
228
@@ -201,7 +250,7 @@ msgstr ""
201msgid "Enter SIM PIN"
250msgid "Enter SIM PIN"
202msgstr ""
251msgstr ""
203
252
204−#: qml/Notifications/NotificationMenuItemFactory.qml:121 qml/Shell.qml:270
253+#: qml/Notifications/NotificationMenuItemFactory.qml:121
205msgid "Sorry, incorrect PIN"
254msgid "Sorry, incorrect PIN"
206msgstr ""
255msgstr ""
207
256
@@ -245,47 +294,51 @@ msgstr ""
245msgid "Roaming"
294msgid "Roaming"
246msgstr ""
295msgstr ""
247
296
248−#: qml/Shell.qml:266
297+#: qml/Shell.qml:279
249msgid "Enter your passphrase"
298msgid "Enter your passphrase"
250msgstr ""
299msgstr ""
251
300
252−#: qml/Shell.qml:267
301+#: qml/Shell.qml:280
253msgid "Sorry, incorrect passphrase"
302msgid "Sorry, incorrect passphrase"
254msgstr ""
303msgstr ""
255
304
256−#: qml/Shell.qml:269
305+#: qml/Shell.qml:282
257−msgid "Enter your PIN"
306+msgid "Enter your passcode"
307+msgstr ""
308+
309+#: qml/Shell.qml:283
310+msgid "Sorry, incorrect passcode"
258msgstr ""
311msgstr ""
259
312
260−#: qml/Shell.qml:273
313+#: qml/Shell.qml:286
261#, qt-format
314#, qt-format
262msgid "Enter your %1"
315msgid "Enter your %1"
263msgstr ""
316msgstr ""
264
317
265−#: qml/Shell.qml:274
318+#: qml/Shell.qml:287
266#, qt-format
319#, qt-format
267msgid "Sorry, incorrect %1"
320msgid "Sorry, incorrect %1"
268msgstr ""
321msgstr ""
269
322
270−#: qml/Shell.qml:310
323+#: qml/Shell.qml:323
271msgid "Sorry, incorrect passphrase."
324msgid "Sorry, incorrect passphrase."
272msgstr ""
325msgstr ""
273
326
274−#: qml/Shell.qml:311
327+#: qml/Shell.qml:324
275msgid "Sorry, incorrect passcode."
328msgid "Sorry, incorrect passcode."
276msgstr ""
329msgstr ""
277
330
278−#: qml/Shell.qml:312
331+#: qml/Shell.qml:325
279msgid "This will be your last attempt."
332msgid "This will be your last attempt."
280msgstr ""
333msgstr ""
281
334
282−#: qml/Shell.qml:314
335+#: qml/Shell.qml:327
283msgid ""
336msgid ""
284"If passphrase is entered incorrectly, your phone will conduct a factory "
337"If passphrase is entered incorrectly, your phone will conduct a factory "
285"reset and all personal data will be deleted."
338"reset and all personal data will be deleted."
286msgstr ""
339msgstr ""
287
340
288−#: qml/Shell.qml:315
341+#: qml/Shell.qml:328
289msgid ""
342msgid ""
290"If passcode is entered incorrectly, your phone will conduct a factory reset "
343"If passcode is entered incorrectly, your phone will conduct a factory reset "
291"and all personal data will be deleted."
344"and all personal data will be deleted."
po/vi.po+62−10
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-01-15 01:19+0000\n"
11"PO-Revision-Date: 2014-01-15 01:19+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Vietnamese <vi@li.org>\n"
13"Language-Team: Vietnamese <vi@li.org>\n"
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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr ""
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr ""
31msgstr ""
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -129,6 +165,18 @@ msgstr ""
129msgid "Search"
165msgid "Search"
130msgstr ""
166msgstr ""
131
167
168+#: qml/Dash/PageHeader.qml:270
169+msgid "Settings"
170+msgstr ""
171+
172+#: qml/Dash/PageHeader.qml:279
173+msgid "Remove from Favorites"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Add to Favorites"
178+msgstr ""
179+
132#: qml/Dash/Previews/PreviewActionCombo.qml:34
180#: qml/Dash/Previews/PreviewActionCombo.qml:34
133msgid "More..."
181msgid "More..."
134msgstr ""
182msgstr ""
@@ -253,8 +301,12 @@ msgstr ""
253msgid "Sorry, incorrect passphrase"
301msgid "Sorry, incorrect passphrase"
254msgstr ""
302msgstr ""
255
303
256−#: qml/Shell.qml:269
304+#: qml/Shell.qml:282
257−msgid "Enter your PIN"
305+msgid "Enter your passcode"
306+msgstr ""
307+
308+#: qml/Shell.qml:283
309+msgid "Sorry, incorrect passcode"
258msgstr ""
310msgstr ""
259
311
260#: qml/Shell.qml:273
312#: qml/Shell.qml:273
po/xh.po+62−10
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2013-09-28 13:20+0000\n"
11"PO-Revision-Date: 2013-09-28 13:20+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Xhosa <xh@li.org>\n"
13"Language-Team: Xhosa <xh@li.org>\n"
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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr ""
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr ""
31msgstr ""
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -129,6 +165,18 @@ msgstr ""
129msgid "Search"
165msgid "Search"
130msgstr ""
166msgstr ""
131
167
168+#: qml/Dash/PageHeader.qml:270
169+msgid "Settings"
170+msgstr ""
171+
172+#: qml/Dash/PageHeader.qml:279
173+msgid "Remove from Favorites"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Add to Favorites"
178+msgstr ""
179+
132#: qml/Dash/Previews/PreviewActionCombo.qml:34
180#: qml/Dash/Previews/PreviewActionCombo.qml:34
133msgid "More..."
181msgid "More..."
134msgstr ""
182msgstr ""
@@ -253,8 +301,12 @@ msgstr ""
253msgid "Sorry, incorrect passphrase"
301msgid "Sorry, incorrect passphrase"
254msgstr ""
302msgstr ""
255
303
256−#: qml/Shell.qml:269
304+#: qml/Shell.qml:282
257−msgid "Enter your PIN"
305+msgid "Enter your passcode"
306+msgstr ""
307+
308+#: qml/Shell.qml:283
309+msgid "Sorry, incorrect passcode"
258msgstr ""
310msgstr ""
259
311
260#: qml/Shell.qml:273
312#: qml/Shell.qml:273
po/zh_CN.po+68−19
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-08-12 14:09+0000\n"
11"PO-Revision-Date: 2014-08-12 14:09+0000\n"
12"Last-Translator: Anthony Wong <anthony.wong@ubuntu.com>\n"
12"Last-Translator: Anthony Wong <anthony.wong@ubuntu.com>\n"
13"Language-Team: Chinese (Simplified) <zh_CN@li.org>\n"
13"Language-Team: Chinese (Simplified) <zh_CN@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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,18 +30,54 @@ msgstr "固定快捷方式"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "取消固定快捷方式"
31msgstr "取消固定快捷方式"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
65+msgstr ""
66+
67+#: qml/Components/Dialogs.qml:144
68+msgid "Power"
69+msgstr ""
70+
71+#: qml/Components/Dialogs.qml:145
72+msgid ""
34−msgid "Are you sure you would like to turn power off?"
73+"Are you sure you would like\n"
35−msgstr "确定要关闭电源吗?"
74+"to power off?"
75+msgstr ""
36
76
37#: qml/Components/Dialogs.qml:144
77#: qml/Components/Dialogs.qml:144
38msgid "Power off"
78msgid "Power off"
39msgstr "关机"
79msgstr "关机"
40
80
41−#: qml/Components/Dialogs.qml:153
42−msgid "Restart"
43−msgstr "重启"
44−
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
46msgid "Cancel"
82msgid "Cancel"
47msgstr "取消"
83msgstr "取消"
@@ -129,6 +165,18 @@ msgstr "查看全部"
129msgid "Search"
165msgid "Search"
130msgstr "搜索"
166msgstr "搜索"
131
167
168+#: qml/Dash/PageHeader.qml:270
169+msgid "Settings"
170+msgstr ""
171+
172+#: qml/Dash/PageHeader.qml:279
173+msgid "Remove from Favorites"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Add to Favorites"
178+msgstr ""
179+
132#: qml/Dash/Previews/PreviewActionCombo.qml:34
180#: qml/Dash/Previews/PreviewActionCombo.qml:34
133msgid "More..."
181msgid "More..."
134msgstr "更多..."
182msgstr "更多..."
@@ -253,8 +301,12 @@ msgstr ""
253msgid "Sorry, incorrect passphrase"
301msgid "Sorry, incorrect passphrase"
254msgstr ""
302msgstr ""
255
303
256−#: qml/Shell.qml:269
304+#: qml/Shell.qml:282
257−msgid "Enter your PIN"
305+msgid "Enter your passcode"
306+msgstr ""
307+
308+#: qml/Shell.qml:283
309+msgid "Sorry, incorrect passcode"
258msgstr ""
310msgstr ""
259
311
260#: qml/Shell.qml:273
312#: qml/Shell.qml:273
@@ -291,11 +343,8 @@ msgid ""
291"and all personal data will be deleted."
343"and all personal data will be deleted."
292msgstr ""
344msgstr ""
293
345
294−#~ msgid "Please enter SIM PIN"
346+#~ msgid "Are you sure you would like to turn power off?"
295−#~ msgstr "请输入 SIM PIN"
347+#~ msgstr "确定要关闭电源吗?"
296−
297−#~ msgid "CANCEL"
298−#~ msgstr "取消"
299
348
300−#~ msgid "DONE"
349+#~ msgid "Restart"
301−#~ msgstr "完成"
350+#~ msgstr "重启"
po/zh_HK.po+62−19
@@ -7,15 +7,15 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-08-10 11:45+0000\n"
11"PO-Revision-Date: 2014-08-10 11:45+0000\n"
12"Last-Translator: Daniel Cheung <daniel.2345@hotmail.com>\n"
12"Last-Translator: Daniel Cheung <daniel.2345@hotmail.com>\n"
13"Language-Team: Chinese (Hong Kong) <zh_HK@li.org>\n"
13"Language-Team: Chinese (Hong Kong) <zh_HK@li.org>\n"
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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
@@ -30,16 +30,52 @@ msgstr "釘住捷徑"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "取消捷徑釘選"
31msgstr "取消捷徑釘選"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
39msgstr ""
69msgstr ""
40
70
41−#: qml/Components/Dialogs.qml:153
71+#: qml/Components/Dialogs.qml:145
42−msgid "Restart"
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
75+msgstr ""
76+
77+#: qml/Components/Dialogs.qml:144
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
@@ -129,6 +165,18 @@ msgstr "查看全部"
129msgid "Search"
165msgid "Search"
130msgstr "搜尋"
166msgstr "搜尋"
131
167
168+#: qml/Dash/PageHeader.qml:270
169+msgid "Settings"
170+msgstr ""
171+
172+#: qml/Dash/PageHeader.qml:279
173+msgid "Remove from Favorites"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Add to Favorites"
178+msgstr ""
179+
132#: qml/Dash/Previews/PreviewActionCombo.qml:34
180#: qml/Dash/Previews/PreviewActionCombo.qml:34
133msgid "More..."
181msgid "More..."
134msgstr "更多..."
182msgstr "更多..."
@@ -253,8 +301,12 @@ msgstr ""
253msgid "Sorry, incorrect passphrase"
301msgid "Sorry, incorrect passphrase"
254msgstr ""
302msgstr ""
255
303
256−#: qml/Shell.qml:269
304+#: qml/Shell.qml:282
257−msgid "Enter your PIN"
305+msgid "Enter your passcode"
306+msgstr ""
307+
308+#: qml/Shell.qml:283
309+msgid "Sorry, incorrect passcode"
258msgstr ""
310msgstr ""
259
311
260#: qml/Shell.qml:273
312#: qml/Shell.qml:273
@@ -290,12 +342,3 @@ msgid ""
290"If passcode is entered incorrectly, your phone will conduct a factory reset "
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
291"and all personal data will be deleted."
343"and all personal data will be deleted."
292msgstr ""
344msgstr ""
293−
294−#~ msgid "CANCEL"
295−#~ msgstr "取消"
296−
297−#~ msgid "DONE"
298−#~ msgstr "完成"
299−
300−#~ msgid "Please enter SIM PIN"
301−#~ msgstr "請輸入 SIM 卡 PIN 碼"
po/zh_TW.po+67−24
@@ -7,19 +7,19 @@ 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: 2014-08-21 11:36+0200\n"
10+"POT-Creation-Date: 2014-08-26 18:24+0200\n"
11"PO-Revision-Date: 2014-07-26 16:21+0000\n"
11"PO-Revision-Date: 2014-07-26 16:21+0000\n"
12"Last-Translator: Cheng-Chia Tseng <pswo10680@gmail.com>\n"
12"Last-Translator: Cheng-Chia Tseng <pswo10680@gmail.com>\n"
13"Language-Team: Chinese (Traditional) <zh_TW@li.org>\n"
13"Language-Team: Chinese (Traditional) <zh_TW@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−"X-Launchpad-Export-Date: 2014-08-23 07:17+0000\n"
17+"X-Launchpad-Export-Date: 2014-08-28 06:30+0000\n"
18−"X-Generator: Launchpad (build 17163)\n"
18+"X-Generator: Launchpad (build 17174)\n"
19
19
20#: plugins/LightDM/Greeter.cpp:129
20#: plugins/LightDM/Greeter.cpp:129
21msgid "Password: "
21msgid "Password: "
22−msgstr ""
22+msgstr "密碼: "
23
23
24#: plugins/Unity/Launcher/launcheritem.cpp:43
24#: plugins/Unity/Launcher/launcheritem.cpp:43
25#: plugins/Unity/Launcher/launcheritem.cpp:73
25#: plugins/Unity/Launcher/launcheritem.cpp:73
@@ -30,21 +30,57 @@ msgstr "釘住捷徑"
30msgid "Unpin shortcut"
30msgid "Unpin shortcut"
31msgstr "取消捷徑釘選"
31msgstr "取消捷徑釘選"
32
32
33−#: qml/Components/Dialogs.qml:142
33+#: qml/Components/Dialogs.qml:70
34−msgid "Are you sure you would like to turn power off?"
34+msgid "Log out"
35+msgstr ""
36+
37+#: qml/Components/Dialogs.qml:71
38+msgid "Are you sure you want to log out?"
39+msgstr ""
40+
41+#: qml/Components/Dialogs.qml:73 qml/Components/Dialogs.qml:97
42+#: qml/Components/Dialogs.qml:122
43+msgid "No"
44+msgstr ""
45+
46+#: qml/Components/Dialogs.qml:80 qml/Components/Dialogs.qml:104
47+#: qml/Components/Dialogs.qml:129
48+msgid "Yes"
49+msgstr ""
50+
51+#: qml/Components/Dialogs.qml:94
52+msgid "Shut down"
53+msgstr ""
54+
55+#: qml/Components/Dialogs.qml:95
56+msgid "Are you sure you want to shut down?"
57+msgstr ""
58+
59+#: qml/Components/Dialogs.qml:119
60+msgid "Reboot"
61+msgstr ""
62+
63+#: qml/Components/Dialogs.qml:120
64+msgid "Are you sure you want to reboot?"
35msgstr ""
65msgstr ""
36
66
37#: qml/Components/Dialogs.qml:144
67#: qml/Components/Dialogs.qml:144
38−msgid "Power off"
68+msgid "Power"
69+msgstr ""
70+
71+#: qml/Components/Dialogs.qml:145
72+msgid ""
73+"Are you sure you would like\n"
74+"to power off?"
39msgstr ""
75msgstr ""
40
76
41−#: qml/Components/Dialogs.qml:153
77+#: qml/Components/Dialogs.qml:144
42−msgid "Restart"
78+msgid "Power off"
43msgstr ""
79msgstr ""
44
80
45#: qml/Components/Dialogs.qml:162
81#: qml/Components/Dialogs.qml:162
46msgid "Cancel"
82msgid "Cancel"
47−msgstr ""
83+msgstr "取消"
48
84
49#: qml/Components/EdgeDemoOverlay.qml:151
85#: qml/Components/EdgeDemoOverlay.qml:151
50msgid "Skip intro"
86msgid "Skip intro"
@@ -94,7 +130,7 @@ msgstr "您現在已熟練邊緣手勢,可以開始使用手機了<br><br>輕
94
130
95#: qml/Components/Lockscreen.qml:167
131#: qml/Components/Lockscreen.qml:167
96msgid "Please wait"
132msgid "Please wait"
97−msgstr ""
133+msgstr "請稍候"
98
134
99#: qml/Components/Lockscreen.qml:172
135#: qml/Components/Lockscreen.qml:172
100msgid "Too many incorrect attempts"
136msgid "Too many incorrect attempts"
@@ -129,6 +165,18 @@ msgstr "查看全部"
129msgid "Search"
165msgid "Search"
130msgstr "搜尋"
166msgstr "搜尋"
131
167
168+#: qml/Dash/PageHeader.qml:270
169+msgid "Settings"
170+msgstr ""
171+
172+#: qml/Dash/PageHeader.qml:279
173+msgid "Remove from Favorites"
174+msgstr ""
175+
176+#: qml/Dash/PageHeader.qml:279
177+msgid "Add to Favorites"
178+msgstr ""
179+
132#: qml/Dash/Previews/PreviewActionCombo.qml:34
180#: qml/Dash/Previews/PreviewActionCombo.qml:34
133msgid "More..."
181msgid "More..."
134msgstr "更多…"
182msgstr "更多…"
@@ -253,14 +301,18 @@ msgstr ""
253msgid "Sorry, incorrect passphrase"
301msgid "Sorry, incorrect passphrase"
254msgstr ""
302msgstr ""
255
303
256−#: qml/Shell.qml:269
304+#: qml/Shell.qml:282
257−msgid "Enter your PIN"
305+msgid "Enter your passcode"
306+msgstr ""
307+
308+#: qml/Shell.qml:283
309+msgid "Sorry, incorrect passcode"
258msgstr ""
310msgstr ""
259
311
260#: qml/Shell.qml:273
312#: qml/Shell.qml:273
261#, qt-format
313#, qt-format
262msgid "Enter your %1"
314msgid "Enter your %1"
263−msgstr ""
315+msgstr "輸入您的 %1"
264
316
265#: qml/Shell.qml:274
317#: qml/Shell.qml:274
266#, qt-format
318#, qt-format
@@ -277,7 +329,7 @@ msgstr ""
277
329
278#: qml/Shell.qml:312
330#: qml/Shell.qml:312
279msgid "This will be your last attempt."
331msgid "This will be your last attempt."
280−msgstr ""
332+msgstr "這將會是您最後一次嘗試的機會。"
281
333
282#: qml/Shell.qml:314
334#: qml/Shell.qml:314
283msgid ""
335msgid ""
@@ -290,12 +342,3 @@ msgid ""
290"If passcode is entered incorrectly, your phone will conduct a factory reset "
342"If passcode is entered incorrectly, your phone will conduct a factory reset "
291"and all personal data will be deleted."
343"and all personal data will be deleted."
292msgstr ""
344msgstr ""
293−
294−#~ msgid "CANCEL"
295−#~ msgstr "取消"
296−
297−#~ msgid "DONE"
298−#~ msgstr "完成"
299−
300−#~ msgid "Please enter SIM PIN"
301−#~ msgstr "請輸入 SIM 卡 PIN 碼"
qml/Components/Background.qml+10
@@ -15,6 +15,8 @@
15 */
15 */
16
16
17import QtQuick 2.0
17import QtQuick 2.0
18+import Ubuntu.Components 1.1
19+import Utils 0.1 as Utils
18
20
19Loader {
21Loader {
20 id: root
22 id: root
@@ -23,6 +25,14 @@ Loader {
23 property url style
25 property url style
24 readonly property var parsedStyle: String(style)
26 readonly property var parsedStyle: String(style)
25 .match(/^(color|gradient):\/\/\/(?:(#(?:[0-9a-f]{3,4}){1,2}|[a-z]{3,}))(?:\/(#(?:[0-9a-f]{3,4}){1,2}|[a-z]{3,}))?\/?$/i)
27 .match(/^(color|gradient):\/\/\/(?:(#(?:[0-9a-f]{3,4}){1,2}|[a-z]{3,}))(?:\/(#(?:[0-9a-f]{3,4}){1,2}|[a-z]{3,}))?\/?$/i)
28+ readonly property var luminance: {
29+ if (!parsedStyle) return 0.5;
30+ if (parsedStyle[1] === "color") return Utils.Style.luminance(parsedStyle[2]);
31+ else if (parsedStyle[1] === "gradient") return Utils.Style.luminance(parsedStyle[2], parsedStyle[3]);
32+ }
33+
34+ // FIXME this is only here for highlight purposes (see DashNavigation.qml, too)
35+ readonly property color topColor: parsedStyle ? parsedStyle[2] : UbuntuColors.lightGrey
26
36
27 sourceComponent: {
37 sourceComponent: {
28 if (style == "") return null;
38 if (style == "") return null;
qml/Dash/Dash.qml+1−1
@@ -341,7 +341,7 @@ Showable {
341 objectName: "overviewDragHandle"
341 objectName: "overviewDragHandle"
342 z: 1
342 z: 1
343 direction: Direction.Upwards
343 direction: Direction.Upwards
344− enabled: !dashContent.previewShown &&
344+ enabled: !dashContent.subPageShown &&
345 dashContent.currentScope &&
345 dashContent.currentScope &&
346 dashContent.currentScope.searchQuery == "" &&
346 dashContent.currentScope.searchQuery == "" &&
347 (overviewController.progress == 0 || dragging)
347 (overviewController.progress == 0 || dragging)
qml/Dash/DashApplication.qml−6
@@ -24,12 +24,6 @@ MainView {
24
24
25 useDeprecatedToolbar: false
25 useDeprecatedToolbar: false
26
26
27− Binding {
28− target: i18n
29− property: "domain"
30− value: "unity8"
31− }
32−
33 Dash {
27 Dash {
34 anchors.fill: parent
28 anchors.fill: parent
35 }
29 }
qml/Dash/DashContent.qml+29−4
@@ -27,8 +27,8 @@ Item {
27 readonly property alias currentIndex: dashContentList.currentIndex
27 readonly property alias currentIndex: dashContentList.currentIndex
28 readonly property string currentScopeId: dashContentList.currentItem ? dashContentList.currentItem.scopeId : ""
28 readonly property string currentScopeId: dashContentList.currentItem ? dashContentList.currentItem.scopeId : ""
29 readonly property var currentScope: dashContentList.currentItem ? dashContentList.currentItem.theScope : null
29 readonly property var currentScope: dashContentList.currentItem ? dashContentList.currentItem.theScope : null
30− readonly property bool previewShown: dashContentList.currentItem && dashContentList.currentItem.item ?
30+ readonly property bool subPageShown: dashContentList.currentItem && dashContentList.currentItem.item ?
31− dashContentList.currentItem.item.previewShown : false
31+ dashContentList.currentItem.item.subPageShown : false
32 readonly property bool processing: dashContentList.currentItem && dashContentList.currentItem.item
32 readonly property bool processing: dashContentList.currentItem && dashContentList.currentItem.item
33 && dashContentList.currentItem.item.processing || false
33 && dashContentList.currentItem.item.processing || false
34 readonly property bool pageHeaderTotallyVisible: dashContentList.currentItem && dashContentList.currentItem.item
34 readonly property bool pageHeaderTotallyVisible: dashContentList.currentItem && dashContentList.currentItem.item
@@ -52,6 +52,11 @@ Item {
52 }
52 }
53 }
53 }
54
54
55+ Connections {
56+ target: UriHandler
57+ onOpened: dashContentList.currentItem.theScope.performQuery(uris[0])
58+ }
59+
55 function setCurrentScopeAtIndex(index, animate, reset) {
60 function setCurrentScopeAtIndex(index, animate, reset) {
56 // if the scopes haven't loaded yet, then wait until they are.
61 // if the scopes haven't loaded yet, then wait until they are.
57 if (!scopes.loaded) {
62 if (!scopes.loaded) {
@@ -96,8 +101,7 @@ Item {
96 id: dashContentList
101 id: dashContentList
97 objectName: "dashContentList"
102 objectName: "dashContentList"
98
103
99− interactive: dashContent.scopes.loaded && currentItem && !currentItem.moving && !currentItem.navigationShown
104+ interactive: dashContent.scopes.loaded && currentItem && !currentItem.moving && !currentItem.navigationShown && !currentItem.subPageShown
100−
101 anchors.fill: parent
105 anchors.fill: parent
102 orientation: ListView.Horizontal
106 orientation: ListView.Horizontal
103 boundsBehavior: Flickable.DragAndOvershootBounds
107 boundsBehavior: Flickable.DragAndOvershootBounds
@@ -111,6 +115,26 @@ Item {
111 onMovementStarted: currentItem.item.showHeader();
115 onMovementStarted: currentItem.item.showHeader();
112 clip: parent.x != 0
116 clip: parent.x != 0
113
117
118+ // TODO QTBUG-40846 and QTBUG-40848
119+ // The remove transition doesn't happen when removing the last item
120+ // And can't work around it because index is reset to -1 regardless of
121+ // ListView.delayRemove
122+
123+ remove: Transition {
124+ SequentialAnimation {
125+ PropertyAction { property: "layer.enabled"; value: true }
126+ PropertyAction { property: "ListView.delayRemove"; value: true }
127+ ParallelAnimation {
128+ PropertyAnimation { properties: "scale"; to: 0.25; duration: UbuntuAnimation.SnapDuration }
129+ PropertyAnimation { properties: "y"; to: dashContent.height; duration: UbuntuAnimation.SnapDuration }
130+ }
131+ PropertyAction { property: "ListView.delayRemove"; value: false }
132+ }
133+ }
134+ removeDisplaced: Transition {
135+ PropertyAnimation { property: "x"; duration: UbuntuAnimation.SnapDecision }
136+ }
137+
114 // If the number of items is less than the current index, then need to reset to another item.
138 // If the number of items is less than the current index, then need to reset to another item.
115 onCountChanged: {
139 onCountChanged: {
116 if (count > 0) {
140 if (count > 0) {
@@ -137,6 +161,7 @@ Item {
137
161
138 readonly property bool moving: item ? item.moving : false
162 readonly property bool moving: item ? item.moving : false
139 readonly property bool navigationShown: item ? item.navigationShown : false
163 readonly property bool navigationShown: item ? item.navigationShown : false
164+ readonly property bool subPageShown: item ? item.subPageShown : false
140 readonly property var categoryView: item ? item.categoryView : null
165 readonly property var categoryView: item ? item.categoryView : null
141 readonly property var theScope: scope
166 readonly property var theScope: scope
142
167
qml/Dash/DashNavigation.qml+62−159
@@ -16,195 +16,98 @@
16
16
17import QtQuick 2.2
17import QtQuick 2.2
18import Ubuntu.Components 1.1
18import Ubuntu.Components 1.1
19+import Dash 0.1
20+import "../Components"
19
21
20−AbstractButton {
22+Item {
21 id: root
23 id: root
22 objectName: "dashNavigation"
24 objectName: "dashNavigation"
23
25
24 property var scope: null
26 property var scope: null
25−
27+ property var scopeStyle: null
26− property bool showList: false
27−
28− readonly property var currentNavigation: scope && scope.hasNavigation ? scope.getNavigation(scope.currentNavigationId) : null
29
28
30 property alias windowWidth: blackRect.width
29 property alias windowWidth: blackRect.width
31 property alias windowHeight: blackRect.height
30 property alias windowHeight: blackRect.height
32− property var scopeStyle: null
31+ readonly property var openList: {
32+ if (navigationButton.showList) return navigationButton.listView;
33+ if (altNavigationButton.showList) return altNavigationButton.listView;
34+ return null;
35+ }
33
36
34− // Are we drilling down the tree or up?
37+ // FIXME this is only here for highlight purposes (see Background.qml, too)
35− property bool isGoingBack: false
38+ readonly property var background: backgroundItem
36
39
37− visible: root.currentNavigation != null
40+ visible: navigationButton.currentNavigation || altNavigationButton.currentNavigation
38
41
39 height: visible ? units.gu(5) : 0
42 height: visible ? units.gu(5) : 0
40
43
41− onClicked: {
44+ QtObject {
42− navigationListView.updateMaxHeight();
45+ id: d
43− root.showList = !root.showList;
46+ readonly property color foregroundColor: root.scopeStyle
47+ ? root.scopeStyle.getTextColor(backgroundItem.luminance)
48+ : Theme.palette.normal.baseText
49+ readonly property bool bothVisible: altNavigationButton.visible && navigationButton.visible
50+ readonly property real navigationWidth: root.width >= units.gu(60) ? units.gu(40) : root.width
51+ readonly property real buttonWidth: navigationWidth / (bothVisible ? 2 : 1)
44 }
52 }
45
53
46 Rectangle {
54 Rectangle {
47 id: blackRect
55 id: blackRect
48 color: "black"
56 color: "black"
49− opacity: navigationListView.currentItem && navigationListView.currentItem.visible ? 0.3 : 0
57+ opacity: openList && openList.currentItem && openList.currentItem.visible ? 0.5 : 0
50 Behavior on opacity { UbuntuNumberAnimation { duration: UbuntuAnimation.SnapDuration } }
58 Behavior on opacity { UbuntuNumberAnimation { duration: UbuntuAnimation.SnapDuration } }
51− anchors.top: navigationListView.top
52− anchors.right: parent.right
59+ anchors { left: parent.left; right: parent.right }
53− visible: opacity != 0
60+ visible: opacity > 0
54 }
61 }
55
62
56− Image {
63+ Background {
64+ id: backgroundItem
57− anchors {
65+ anchors.fill: parent
58− top: parent.top
66+ style: scopeStyle ? scopeStyle.navigationBackground : "color:///#f5f5f5"
59− left: parent.left
60− right: parent.right
61− }
62− fillMode: Image.Stretch
63− source: "graphics/dash_divider_top_lightgrad.png"
64− z: -1
65 }
67 }
66
68
67 Image {
69 Image {
68− anchors {
69− bottom: parent.bottom
70− left: parent.left
71− right: parent.right
72− }
73 fillMode: Image.Stretch
70 fillMode: Image.Stretch
74− source: "graphics/dash_divider_top_darkgrad.png"
71+ source: scopeStyle.backgroundLuminance > 0.2 ? "graphics/navigation_shadow.png" : "graphics/navigation_shadow_light.png"
75− z: -1
72+ anchors { top: parent.bottom; left: parent.left; right: parent.right }
76 }
73 }
77
74
78− Label {
75+ DashNavigationButton {
79− anchors.fill: parent
76+ id: altNavigationButton
80− anchors.margins: units.gu(2)
77+ objectName: "altNavigationButton"
81− verticalAlignment: Text.AlignVCenter
78+ height: root.height
82− text: root.currentNavigation ? root.currentNavigation.label : ""
79+ width: d.buttonWidth
83− color: root.scopeStyle ? root.scopeStyle.foreground : Theme.palette.normal.baseText
80+ scope: root.scope
81+ scopeStyle: root.scopeStyle
82+ foregroundColor: d.foregroundColor
83+ listView.width: d.navigationWidth
84+ isAltNavigation: true
85+ showDivider: navigationButton.visible || root.width > d.navigationWidth
86+ // needed so that InverseMouseArea is above navigationButton
87+ z: listView.height > 0 ? 1 : 0
84 }
88 }
85
89
86− Icon {
90+ DashNavigationButton {
87− anchors.verticalCenter: parent.verticalCenter
91+ id: navigationButton
88− anchors.right: parent.right
92+ objectName: "navigationButton"
89− anchors.rightMargin: units.gu(2)
93+ height: root.height
90− name: showList ? "up" : "down"
94+ width: altNavigationButton.visible ? d.buttonWidth : d.navigationWidth
91− height: units.gu(2)
95+ x: altNavigationButton.visible ? d.buttonWidth : 0
92− width: height
96+ scope: root.scope
93− color: root.scopeStyle ? root.scopeStyle.foreground : Theme.palette.normal.baseText
97+ scopeStyle: root.scopeStyle
98+ foregroundColor: d.foregroundColor
99+ listView.width: d.navigationWidth
100+ listView.x: -x
101+ showDivider: root.width > d.navigationWidth
94 }
102 }
95
103
96− // navigationListView is outside root
104+ Image {
97− ListView {
105+ fillMode: Image.Stretch
98− id: navigationListView
106+ source: backgroundItem.luminance > 0.7 ? "graphics/navigation_shadow.png" : "graphics/navigation_shadow_light.png"
99− objectName: "navigationListView"
107+ x: navigationButton.listView.height > 0 ? altNavigationButton.x : navigationButton.x
100− orientation: ListView.Horizontal
108+ width: d.buttonWidth
101− interactive: false
109+ rotation: 180
102− clip: root.width != windowWidth
110+ anchors.bottom: parent.bottom
103− model: ListModel {
111+ visible: d.bothVisible && (navigationButton.listView.height > 0 || altNavigationButton.listView.height > 0)
104− id: navigationModel
105− // We have two roles
106− // navigationId: the navigation id of the navigation the list represents
107− // nullifyNavigation: overrides navigationId to be null
108− // This is used to "clear" the delegate when going "right" on the tree
109− }
110− anchors {
111− left: parent.left
112− right: parent.right
113− top: root.bottom
114− }
115− property int maxHeight: -1
116− Component.onCompleted: updateMaxHeight();
117− function updateMaxHeight()
118− {
119− maxHeight = (windowHeight - mapToItem(null, 0, 0).y) - units.gu(8);
120− }
121− property int prevHeight: maxHeight
122− height: currentItem ? currentItem.height : maxHeight
123− onHeightChanged: {
124− if (root.showList) {
125− prevHeight = currentItem.desiredHeight;
126− }
127− }
128− highlightMoveDuration: UbuntuAnimation.FastDuration
129− delegate: DashNavigationList {
130− objectName: "navigation" + index
131− visible: height != 0
132− width: navigationListView.width
133− scopeStyle: root.scopeStyle
134− property real desiredHeight: {
135− if (root.showList) {
136− if (navigation && navigation.loaded && x == navigationListView.contentX)
137− {
138− navigationListView.updateMaxHeight();
139− return Math.min(implicitHeight, navigationListView.maxHeight);
140− } else {
141− return navigationListView.prevHeight;
142− }
143− } else {
144− return 0;
145− }
146− }
147− height: desiredHeight
148− navigation: (nullifyNavigation || !scope) ? null : scope.getNavigation(navigationId)
149− currentNavigation: root.currentNavigation
150− onEnterNavigation: {
151− scope.setNavigationState(newNavigationId, false);
152− // We only need to add a new item to the model
153− // if we have children, otherwise just load it
154− if (hasChildren) {
155− isGoingBack = false;
156− navigationModel.append({"navigationId": newNavigationId, "nullifyNavigation": false});
157− navigationListView.currentIndex++;
158− } else {
159− showList = false;
160− }
161− }
162− onGoBackToParentClicked: {
163− scope.setNavigationState(navigation.parentNavigationId, false);
164− isGoingBack = true;
165− navigationModel.setProperty(navigationListView.currentIndex - 1, "nullifyNavigation", false);
166− navigationListView.currentIndex--;
167− }
168− onAllNavigationClicked: {
169− showList = false;
170− if (root.currentNavigation.parentNavigationId == navigation.navigationId) {
171− // For leaves we have to go to the parent too
172− scope.setNavigationState(root.currentNavigation.parentNavigationId, false);
173− }
174− }
175− }
176− onContentXChanged: {
177− if (contentX == width * navigationListView.currentIndex) {
178− if (isGoingBack) {
179− navigationModel.remove(navigationListView.currentIndex + 1);
180− } else {
181− navigationModel.setProperty(navigationListView.currentIndex - 1, "nullifyNavigation", true);
182− }
183− }
184− }
185− }
186−
187− InverseMouseArea {
188− anchors.fill: navigationListView
189− enabled: root.showList
190− onClicked: root.showList = false
191− }
192−
193− onScopeChanged: {
194− navigationModel.clear();
195− if (scope && scope.hasNavigation) {
196− navigationModel.append({"navigationId": scope.currentNavigationId, "nullifyNavigation": false});
197− }
198− }
199−
200− Connections {
201− target: scope
202− onHasNavigationChanged: {
203− if (scope.hasNavigation) {
204− navigationModel.append({"navigationId": scope.currentNavigationId, "nullifyNavigation": false});
205− } else {
206− navigationModel.clear();
207− }
208− }
209 }
112 }
210}
113}
qml/Dash/DashNavigationButton.qmlnew file+226
@@ -0,0 +1,226 @@
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+import QtQuick 2.2
18+import Ubuntu.Components 1.1
19+
20+AbstractButton {
21+ id: root
22+ objectName: "dashNavigation"
23+
24+ // Set by parent
25+ property var scope: null
26+ property var scopeStyle: null
27+ property color foregroundColor: Theme.palette.normal.baseText
28+ property bool isAltNavigation: false
29+ property bool showDivider: false
30+
31+ // Used by parent
32+ readonly property var currentNavigation: scope && scope[hasNavigation] ? getNavigation(scope[currentNavigationId]) : null
33+ readonly property alias listView: navigationListView
34+ property bool showList: false
35+
36+ // Internal
37+ // Are we drilling down the tree or up?
38+ property bool isGoingBack: false
39+ readonly property string hasNavigation: isAltNavigation ? "hasAltNavigation" : "hasNavigation"
40+ readonly property string currentNavigationId: isAltNavigation ? "currentAltNavigationId" : "currentNavigationId"
41+ function getNavigation(navId) {
42+ if (isAltNavigation) {
43+ return scope.getAltNavigation(navId);
44+ } else {
45+ return scope.getNavigation(navId);
46+ }
47+ }
48+
49+ visible: root.currentNavigation != null
50+
51+ onClicked: {
52+ navigationListView.updateMaxHeight();
53+ root.showList = !root.showList;
54+ }
55+
56+ Label {
57+ anchors.fill: parent
58+ anchors.margins: units.gu(2)
59+ anchors.rightMargin: units.gu(5)
60+ verticalAlignment: Text.AlignVCenter
61+ text: root.currentNavigation ? root.currentNavigation.label : ""
62+ color: root.foregroundColor
63+ elide: Text.ElideRight
64+ maximumLineCount: 1
65+ }
66+
67+ Icon {
68+ anchors.verticalCenter: parent.verticalCenter
69+ anchors.right: parent.right
70+ anchors.rightMargin: units.gu(2)
71+ name: showList ? "up" : "down"
72+ height: units.gu(2)
73+ width: height
74+ color: root.foregroundColor
75+ }
76+
77+ // navigationListView is outside root
78+ ListView {
79+ id: navigationListView
80+ objectName: "navigationListView"
81+ visible: height > 0
82+ orientation: ListView.Horizontal
83+ interactive: false
84+ clip: root.width != windowWidth
85+ model: ListModel {
86+ id: navigationModel
87+ // We have two roles
88+ // navigationId: the navigation id of the navigation the list represents
89+ // nullifyNavigation: overrides navigationId to be null
90+ // This is used to "clear" the delegate when going "right" on the tree
91+ }
92+ anchors.top: root.bottom
93+ property int maxHeight: -1
94+ Component.onCompleted: updateMaxHeight();
95+ function updateMaxHeight()
96+ {
97+ maxHeight = (windowHeight - mapToItem(null, 0, 0).y) - units.gu(8);
98+ }
99+ property int prevHeight: maxHeight
100+ height: currentItem ? currentItem.height : maxHeight
101+ onHeightChanged: {
102+ if (root.showList) {
103+ prevHeight = currentItem.desiredHeight;
104+ }
105+ }
106+ highlightMoveDuration: UbuntuAnimation.FastDuration
107+ delegate: DashNavigationList {
108+ objectName: "navigation" + index
109+ visible: height > 0
110+ width: navigationListView.width
111+ scopeStyle: root.scopeStyle
112+ foregroundColor: root.foregroundColor
113+ property real desiredHeight: {
114+ if (root.showList) {
115+ if (navigation && navigation.loaded && x == navigationListView.contentX)
116+ {
117+ navigationListView.updateMaxHeight();
118+ return Math.min(implicitHeight, navigationListView.maxHeight);
119+ } else {
120+ return navigationListView.prevHeight;
121+ }
122+ } else {
123+ return 0;
124+ }
125+ }
126+ height: desiredHeight
127+ navigation: (nullifyNavigation || !scope) ? null : getNavigation(navigationId)
128+ currentNavigation: root.currentNavigation
129+ onEnterNavigation: {
130+ scope.setNavigationState(newNavigationId, isAltNavigation);
131+ // We only need to add a new item to the model
132+ // if we have children, otherwise just load it
133+ if (hasChildren) {
134+ isGoingBack = false;
135+ navigationModel.append({"navigationId": newNavigationId, "nullifyNavigation": false});
136+ navigationListView.currentIndex++;
137+ } else {
138+ showList = false;
139+ }
140+ }
141+ onGoBackToParentClicked: {
142+ scope.setNavigationState(navigation.parentNavigationId, isAltNavigation);
143+ isGoingBack = true;
144+ navigationModel.setProperty(navigationListView.currentIndex - 1, "nullifyNavigation", false);
145+ navigationListView.currentIndex--;
146+ }
147+ onAllNavigationClicked: {
148+ showList = false;
149+ if (root.currentNavigation.parentNavigationId == navigation.navigationId) {
150+ // For leaves we have to go to the parent too
151+ scope.setNavigationState(root.currentNavigation.parentNavigationId, isAltNavigation);
152+ }
153+ }
154+ }
155+ onContentXChanged: {
156+ if (contentX == width * navigationListView.currentIndex) {
157+ if (isGoingBack) {
158+ navigationModel.remove(navigationListView.currentIndex + 1);
159+ } else {
160+ navigationModel.setProperty(navigationListView.currentIndex - 1, "nullifyNavigation", true);
161+ }
162+ }
163+ }
164+ }
165+
166+ Image {
167+ anchors {
168+ top: navigationListView.bottom
169+ left: navigationListView.left
170+ right: navigationListView.right
171+ }
172+ fillMode: Image.Stretch
173+ source: "graphics/navigation_shadow.png"
174+ visible: root.showList
175+ }
176+
177+ onScopeChanged: {
178+ navigationModel.clear();
179+ if (scope && scope[hasNavigation]) {
180+ navigationModel.append({"navigationId": scope[currentNavigationId], "nullifyNavigation": false});
181+ }
182+ }
183+
184+ Connections {
185+ target: scope
186+ // This is duplicated since we can't have something based on the dynamic hasNavigation string property
187+ onHasNavigationChanged: {
188+ if (!root.isAltNavigation) {
189+ if (scope.hasNavigation) {
190+ navigationModel.append({"navigationId": scope.currentNavigationId, "nullifyNavigation": false});
191+ } else {
192+ navigationModel.clear();
193+ }
194+ }
195+ }
196+ onHasAltNavigationChanged: {
197+ if (root.isAltNavigation) {
198+ if (scope.hasAltNavigation) {
199+ navigationModel.append({"navigationId": scope.currentAltNavigationId, "nullifyNavigation": false});
200+ } else {
201+ navigationModel.clear();
202+ }
203+ }
204+ }
205+ }
206+
207+ InverseMouseArea {
208+ anchors.fill: navigationListView
209+ enabled: root.showList
210+ onPressed: root.showList = false
211+ }
212+
213+ Rectangle {
214+ visible: root.showDivider
215+ anchors {
216+ top: parent.top
217+ topMargin: units.dp(1)
218+ bottom: parent.bottom
219+ left: parent.right
220+ leftMargin: -units.dp(0.5)
221+ }
222+ width: units.dp(1)
223+ color: root.foregroundColor
224+ opacity: 0.2
225+ }
226+}
qml/Dash/DashNavigationList.qml+21−4
@@ -16,22 +16,23 @@
16
16
17import QtQuick 2.2
17import QtQuick 2.2
18import Ubuntu.Components 1.1
18import Ubuntu.Components 1.1
19+import "../Components"
19
20
20Item {
21Item {
21 id: root
22 id: root
22 property var navigation: null
23 property var navigation: null
23 property var currentNavigation: null
24 property var currentNavigation: null
24 property var scopeStyle: null
25 property var scopeStyle: null
26+ property color foregroundColor: Theme.palette.normal.baseText
25 signal enterNavigation(var newNavigationId, bool hasChildren)
27 signal enterNavigation(var newNavigationId, bool hasChildren)
26 signal goBackToParentClicked()
28 signal goBackToParentClicked()
27 signal allNavigationClicked()
29 signal allNavigationClicked()
28
30
29 readonly property int itemHeight: units.gu(5)
31 readonly property int itemHeight: units.gu(5)
30− readonly property color foregroundColor: root.scopeStyle ? root.scopeStyle.foreground : Theme.palette.normal.baseText
31 implicitHeight: flickable.contentHeight
32 implicitHeight: flickable.contentHeight
32
33
33− Rectangle {
34+ Background {
34− color: !root.scopeStyle || Qt.colorEqual(root.scopeStyle.background, "transparent") ? "white" : root.scopeStyle.background
35+ style: root.scopeStyle ? root.scopeStyle.navigationBackground : "color:///#f5f5f5"
35 anchors.fill: parent
36 anchors.fill: parent
36 }
37 }
37
38
@@ -86,10 +87,15 @@ Item {
86 anchors {
87 anchors {
87 verticalCenter: parent.verticalCenter
88 verticalCenter: parent.verticalCenter
88 left: backImage.right
89 left: backImage.right
90+ right: parent.right
89 leftMargin: units.gu(0.5)
91 leftMargin: units.gu(0.5)
92+ rightMargin: units.gu(2)
90 }
93 }
91 text: navigation ? navigation.parentLabel : ""
94 text: navigation ? navigation.parentLabel : ""
92 color: root.foregroundColor
95 color: root.foregroundColor
96+ wrapMode: Text.Wrap
97+ maximumLineCount: 2
98+ elide: Text.ElideMiddle
93 }
99 }
94
100
95 Rectangle {
101 Rectangle {
@@ -110,18 +116,23 @@ Item {
110 id: allButton
116 id: allButton
111 objectName: "allButton"
117 objectName: "allButton"
112 width: parent.width
118 width: parent.width
113− visible: navigation && (!navigation.isRoot || (root.currentNavigation && !root.currentNavigation.isRoot && root.currentNavigation.parentNavigationId == navigation.navigationId)) || false
119+ visible: navigation && (!navigation.isRoot || (!navigation.hidden && root.currentNavigation && !root.currentNavigation.isRoot && root.currentNavigation.parentNavigationId == navigation.navigationId)) || false
114 height: itemHeight
120 height: itemHeight
115
121
116 Label {
122 Label {
117 anchors {
123 anchors {
118 verticalCenter: parent.verticalCenter
124 verticalCenter: parent.verticalCenter
119 left: parent.left
125 left: parent.left
126+ right: parent.right
120 leftMargin: units.gu(2)
127 leftMargin: units.gu(2)
128+ rightMargin: units.gu(2)
121 }
129 }
122 text: navigation ? (navigation.allLabel != "" ? navigation.allLabel : navigation.label) : ""
130 text: navigation ? (navigation.allLabel != "" ? navigation.allLabel : navigation.label) : ""
123 font.bold: true
131 font.bold: true
124 color: root.foregroundColor
132 color: root.foregroundColor
133+ wrapMode: Text.Wrap
134+ maximumLineCount: 2
135+ elide: Text.ElideMiddle
125 }
136 }
126
137
127 Rectangle {
138 Rectangle {
@@ -155,12 +166,18 @@ Item {
155 verticalCenter: parent.verticalCenter
166 verticalCenter: parent.verticalCenter
156 left: parent.left
167 left: parent.left
157 leftMargin: units.gu(2)
168 leftMargin: units.gu(2)
169+ right: rightIcon.visible ? rightIcon.left : parent.right
170+ rightMargin: rightIcon.visible ? units.gu(0.5) : units.gu(2)
158 }
171 }
159 text: label
172 text: label
160 color: root.foregroundColor
173 color: root.foregroundColor
174+ wrapMode: Text.Wrap
175+ maximumLineCount: 2
176+ elide: Text.ElideMiddle
161 }
177 }
162
178
163 Icon {
179 Icon {
180+ id: rightIcon
164 anchors {
181 anchors {
165 verticalCenter: parent.verticalCenter
182 verticalCenter: parent.verticalCenter
166 right: parent.right
183 right: parent.right
qml/Dash/GenericScopeView.qml+136−38
@@ -34,7 +34,7 @@ FocusScope {
34 property bool enableHeightBehaviorOnNextCreation: false
34 property bool enableHeightBehaviorOnNextCreation: false
35 property var categoryView: categoryView
35 property var categoryView: categoryView
36 property bool showPageHeader: true
36 property bool showPageHeader: true
37− readonly property alias previewShown: previewListView.open
37+ readonly property alias subPageShown: subPageLoader.subPageShown
38 property int paginationCount: 0
38 property int paginationCount: 0
39 property int paginationIndex: 0
39 property int paginationIndex: 0
40 property alias pageHeaderTotallyVisible: categoryView.pageHeaderTotallyVisible
40 property alias pageHeaderTotallyVisible: categoryView.pageHeaderTotallyVisible
@@ -43,7 +43,7 @@ FocusScope {
43 style: scope ? scope.customizations : {}
43 style: scope ? scope.customizations : {}
44 }
44 }
45
45
46− readonly property bool processing: scope ? scope.searchInProgress || previewListView.processing : false
46+ readonly property bool processing: scope ? scope.searchInProgress || subPageLoader.processing : false
47
47
48 signal backClicked()
48 signal backClicked()
49
49
@@ -56,7 +56,7 @@ FocusScope {
56 }
56 }
57
57
58 function closePreview() {
58 function closePreview() {
59− previewListView.open = false;
59+ subPageLoader.closeSubPage()
60 }
60 }
61
61
62 function itemClicked(index, result, item, itemModel, resultsModel, limitedCategoryItemCount) {
62 function itemClicked(index, result, item, itemModel, resultsModel, limitedCategoryItemCount) {
@@ -80,19 +80,19 @@ FocusScope {
80 if (limitedCategoryItemCount > 0) {
80 if (limitedCategoryItemCount > 0) {
81 previewLimitModel.model = resultsModel;
81 previewLimitModel.model = resultsModel;
82 previewLimitModel.limit = limitedCategoryItemCount;
82 previewLimitModel.limit = limitedCategoryItemCount;
83− previewListView.model = previewLimitModel;
83+ subPageLoader.model = previewLimitModel;
84 } else {
84 } else {
85− previewListView.model = resultsModel;
85+ subPageLoader.model = resultsModel;
86 }
86 }
87− previewListView.currentIndex = -1;
87+ subPageLoader.initialIndex = -1;
88− previewListView.currentIndex = index;
88+ subPageLoader.initialIndex = index;
89− previewListView.open = true;
89+ subPageLoader.openSubPage("preview");
90 }
90 }
91
91
92 Binding {
92 Binding {
93 target: scope
93 target: scope
94 property: "isActive"
94 property: "isActive"
95− value: isCurrent && !previewListView.open
95+ value: isCurrent && !subPageLoader.open
96 }
96 }
97
97
98 SortFilterProxyModel {
98 SortFilterProxyModel {
@@ -105,10 +105,10 @@ FocusScope {
105 }
105 }
106
106
107 onIsCurrentChanged: {
107 onIsCurrentChanged: {
108− if (showPageHeader) {
108+ if (pageHeaderLoader.item && showPageHeader) {
109 pageHeaderLoader.item.resetSearch();
109 pageHeaderLoader.item.resetSearch();
110 }
110 }
111− previewListView.open = false;
111+ subPageLoader.closeSubPage();
112 }
112 }
113
113
114 Binding {
114 Binding {
@@ -127,8 +127,8 @@ FocusScope {
127
127
128 Connections {
128 Connections {
129 target: scopeView.scope
129 target: scopeView.scope
130− onShowDash: previewListView.open = false;
130+ onShowDash: subPageLoader.closeSubPage()
131− onHideDash: previewListView.open = false;
131+ onHideDash: subPageLoader.closeSubPage()
132 }
132 }
133
133
134 Rectangle {
134 Rectangle {
@@ -141,17 +141,19 @@ FocusScope {
141 id: categoryView
141 id: categoryView
142 objectName: "categoryListView"
142 objectName: "categoryListView"
143
143
144− x: previewListView.open ? -width : 0
144+ x: subPageLoader.open ? -width : 0
145 Behavior on x { UbuntuNumberAnimation { } }
145 Behavior on x { UbuntuNumberAnimation { } }
146 width: parent.width
146 width: parent.width
147+ height: floatingSeeLess.visible ? parent.height - floatingSeeLess.height + floatingSeeLess.yOffset
148+ : parent.height
147− height: parent.height
149+ clip: height != parent.height
148
150
149 model: scopeView.categories
151 model: scopeView.categories
150− forceNoClip: previewListView.open
152+ forceNoClip: subPageLoader.open
151 pixelAligned: true
153 pixelAligned: true
152 interactive: !navigationShown
154 interactive: !navigationShown
153
155
154− property string expandedCategoryId: ""
156+ property Item expandedCategoryItem: null
155
157
156 readonly property bool pageHeaderTotallyVisible: scopeView.showPageHeader &&
158 readonly property bool pageHeaderTotallyVisible: scopeView.showPageHeader &&
157 ((headerItemShownHeight == 0 && categoryView.contentY <= categoryView.originY) || (headerItemShownHeight == pageHeaderLoader.item.height))
159 ((headerItemShownHeight == 0 && categoryView.contentY <= categoryView.originY) || (headerItemShownHeight == pageHeaderLoader.item.height))
@@ -162,6 +164,8 @@ FocusScope {
162 highlightWhenPressed: false
164 highlightWhenPressed: false
163 showDivider: false
165 showDivider: false
164
166
167+ property Item seeAllButton: seeAll
168+
165 readonly property bool expandable: {
169 readonly property bool expandable: {
166 if (categoryView.model.count === 1) return false;
170 if (categoryView.model.count === 1) return false;
167 if (cardTool.template && cardTool.template["collapsed-rows"] === 0) return false;
171 if (cardTool.template && cardTool.template["collapsed-rows"] === 0) return false;
@@ -191,7 +195,7 @@ FocusScope {
191 // This can happen with the VJ that doesn't know how height it will be on creation
195 // This can happen with the VJ that doesn't know how height it will be on creation
192 // so doesn't set expandable until a bit too late for onLoaded
196 // so doesn't set expandable until a bit too late for onLoaded
193 if (expandable) {
197 if (expandable) {
194− var shouldExpand = baseItem.category === categoryView.expandedCategoryId;
198+ var shouldExpand = baseItem === categoryView.expandedCategoryItem;
195 baseItem.expand(shouldExpand, false /*animate*/);
199 baseItem.expand(shouldExpand, false /*animate*/);
196 }
200 }
197 }
201 }
@@ -242,7 +246,7 @@ FocusScope {
242 item.objectName = Qt.binding(function() { return categoryId })
246 item.objectName = Qt.binding(function() { return categoryId })
243 item.scopeStyle = scopeView.scopeStyle;
247 item.scopeStyle = scopeView.scopeStyle;
244 if (baseItem.expandable) {
248 if (baseItem.expandable) {
245− var shouldExpand = categoryId === categoryView.expandedCategoryId;
249+ var shouldExpand = baseItem === categoryView.expandedCategoryItem;
246 baseItem.expand(shouldExpand, false /*animate*/);
250 baseItem.expand(shouldExpand, false /*animate*/);
247 }
251 }
248 updateDelegateCreationRange();
252 updateDelegateCreationRange();
@@ -279,21 +283,21 @@ FocusScope {
279 }
283 }
280 Connections {
284 Connections {
281 target: categoryView
285 target: categoryView
282− onExpandedCategoryIdChanged: {
286+ onExpandedCategoryItemChanged: {
283 collapseAllButExpandedCategory();
287 collapseAllButExpandedCategory();
284 }
288 }
285 function collapseAllButExpandedCategory() {
289 function collapseAllButExpandedCategory() {
286 var item = rendererLoader.item;
290 var item = rendererLoader.item;
287 if (baseItem.expandable) {
291 if (baseItem.expandable) {
288− var shouldExpand = categoryId === categoryView.expandedCategoryId;
292+ var shouldExpand = baseItem === categoryView.expandedCategoryItem;
289 if (shouldExpand != baseItem.expanded) {
293 if (shouldExpand != baseItem.expanded) {
290 // If the filter animation will be seen start it, otherwise, just flip the switch
294 // If the filter animation will be seen start it, otherwise, just flip the switch
291 var shrinkingVisible = !shouldExpand && y + item.collapsedHeight + seeAll.height < categoryView.height;
295 var shrinkingVisible = !shouldExpand && y + item.collapsedHeight + seeAll.height < categoryView.height;
292 var growingVisible = shouldExpand && y + height < categoryView.height;
296 var growingVisible = shouldExpand && y + height < categoryView.height;
293− if (!previewListView.open || shouldExpand) {
297+ if (!subPageLoader.open || shouldExpand) {
294 var animate = shrinkingVisible || growingVisible;
298 var animate = shrinkingVisible || growingVisible;
295 baseItem.expand(shouldExpand, animate)
299 baseItem.expand(shouldExpand, animate)
296− if (shouldExpand && !previewListView.open) {
300+ if (shouldExpand && !subPageLoader.open) {
297 categoryView.maximizeVisibleArea(index, item.expandedHeight + seeAll.height);
301 categoryView.maximizeVisibleArea(index, item.expandedHeight + seeAll.height);
298 }
302 }
299 }
303 }
@@ -346,13 +350,13 @@ FocusScope {
346 left: parent.left
350 left: parent.left
347 right: parent.right
351 right: parent.right
348 }
352 }
349− height: seeAllLabel.visible ? seeAllLabel.font.pixelSize + units.gu(6) : 0
353+ height: seeAllLabel.visible ? seeAllLabel.font.pixelSize + units.gu(4) : 0
350
354
351 onClicked: {
355 onClicked: {
352− if (categoryView.expandedCategoryId != baseItem.category) {
356+ if (categoryView.expandedCategoryItem !== baseItem) {
353− categoryView.expandedCategoryId = baseItem.category;
357+ categoryView.expandedCategoryItem = baseItem;
354 } else {
358 } else {
355− categoryView.expandedCategoryId = "";
359+ categoryView.expandedCategoryItem = null;
356 }
360 }
357 }
361 }
358
362
@@ -424,44 +428,138 @@ FocusScope {
424 searchHint: scopeView.scope && scopeView.scope.searchHint || i18n.tr("Search")
428 searchHint: scopeView.scope && scopeView.scope.searchHint || i18n.tr("Search")
425 showBackButton: scopeView.hasBackAction
429 showBackButton: scopeView.hasBackAction
426 searchEntryEnabled: true
430 searchEntryEnabled: true
431+ settingsEnabled: scopeView.scope && scopeView.scope.settings && scopeView.scope.settings.count > 0 || false
432+ favoriteEnabled: scopeView.scope && scopeView.scope.id !== "clickscope"
433+ favorite: scopeView.scope && scopeView.scope.favorite
427 scopeStyle: scopeView.scopeStyle
434 scopeStyle: scopeView.scopeStyle
428 paginationCount: scopeView.paginationCount
435 paginationCount: scopeView.paginationCount
429 paginationIndex: scopeView.paginationIndex
436 paginationIndex: scopeView.paginationIndex
430
437
431 bottomItem: DashNavigation {
438 bottomItem: DashNavigation {
432 scope: scopeView.scope
439 scope: scopeView.scope
433− width: parent.width <= units.gu(60) ? parent.width : units.gu(40)
434− anchors.right: parent.right
440+ anchors { left: parent.left; right: parent.right }
435 windowHeight: scopeView.height
441 windowHeight: scopeView.height
436 windowWidth: scopeView.width
442 windowWidth: scopeView.width
437 scopeStyle: scopeView.scopeStyle
443 scopeStyle: scopeView.scopeStyle
438 }
444 }
439
445
440 onBackClicked: scopeView.backClicked()
446 onBackClicked: scopeView.backClicked()
447+ onSettingsClicked: subPageLoader.openSubPage("settings")
448+ onFavoriteClicked: scopeView.scope.favorite = !scopeView.scope.favorite
441 }
449 }
442 }
450 }
443 }
451 }
444 }
452 }
445
453
454+ AbstractButton {
455+ id: floatingSeeLess
456+ objectName: "floatingSeeLess"
457+
458+ property Item companionTo: companionBase ? companionBase.seeAllButton : null
459+ property Item companionBase: categoryView.expandedCategoryItem
460+ property bool showBecausePosition: false
461+ property real yOffset: 0
462+
463+ anchors {
464+ left: categoryView.left
465+ right: categoryView.right
466+ }
467+ y: parent.height - height + yOffset
468+ height: seeLessLabel.font.pixelSize + units.gu(4)
469+ visible: companionTo && showBecausePosition
470+
471+ onClicked: categoryView.expandedCategoryItem = null;
472+
473+ function updateVisibility() {
474+ var companionPos = companionTo.mapToItem(floatingSeeLess, 0, 0);
475+ showBecausePosition = companionPos.y > 0;
476+
477+ var posToBase = floatingSeeLess.mapToItem(companionBase, 0, -yOffset).y;
478+ yOffset = Math.max(0, companionBase.item.collapsedHeight - posToBase);
479+ yOffset = Math.min(yOffset, height);
480+ }
481+
482+ Label {
483+ id: seeLessLabel
484+ text: i18n.tr("See less")
485+ anchors {
486+ centerIn: parent
487+ verticalCenterOffset: units.gu(-0.5)
488+ }
489+ fontSize: "small"
490+ font.weight: Font.Bold
491+ color: scopeStyle ? scopeStyle.foreground : Theme.palette.normal.baseText
492+ }
493+
494+ Connections {
495+ target: floatingSeeLess.companionTo ? categoryView : null
496+ onContentYChanged: floatingSeeLess.updateVisibility();
497+ }
498+
499+ Connections {
500+ target: floatingSeeLess.companionTo
501+ onYChanged: floatingSeeLess.updateVisibility();
502+ }
503+ }
504+
446 LimitProxyModel {
505 LimitProxyModel {
447 id: previewLimitModel
506 id: previewLimitModel
448 }
507 }
449
508
450− PreviewListView {
509+ Loader {
451− id: previewListView
510+ id: subPageLoader
452− objectName: "previewListView"
511+ objectName: "subPageLoader"
453 visible: x != width
512 visible: x != width
454− scope: scopeView.scope
455− scopeStyle: scopeView.scopeStyle
456 width: parent.width
513 width: parent.width
457 height: parent.height
514 height: parent.height
458 anchors.left: categoryView.right
515 anchors.left: categoryView.right
459
516
460− onOpenChanged: {
517+ property bool open: false
461− if (showPageHeader) {
518+ property var scope: scopeView.scope
462− pageHeaderLoader.item.unfocus();
519+ property var scopeStyle: scopeView.scopeStyle
520+ property int initialIndex: -1
521+ property var model: null
522+
523+ readonly property bool processing: item && item.processing || false
524+ readonly property int count: item && item.count || 0
525+ readonly property int currentIndex: item && item.currentIndex || 0
526+ readonly property var currentItem: item && item.currentItem || null
527+
528+ property string subPage: ""
529+ readonly property bool subPageShown: visible && status === Loader.Ready
530+
531+ function openSubPage(page) {
532+ subPage = page;
533+ }
534+
535+ function closeSubPage() {
536+ open = false;
537+ }
538+
539+ source: switch(subPage) {
540+ case "preview": return "PreviewListView.qml";
541+ case "settings": return "ScopeSettingsPage.qml";
542+ default: return "";
543+ }
544+
545+ onLoaded: {
546+ item.scope = Qt.binding(function() { return subPageLoader.scope; } )
547+ item.scopeStyle = Qt.binding(function() { return subPageLoader.scopeStyle; } )
548+ if (subPage == "preview") {
549+ item.open = Qt.binding(function() { return subPageLoader.open; } )
550+ item.initialIndex = Qt.binding(function() { return subPageLoader.initialIndex; } )
551+ item.model = Qt.binding(function() { return subPageLoader.model; } )
463 }
552 }
553+ open = true;
464 }
554 }
465− }
466
555
556+ onOpenChanged: pageHeaderLoader.item.unfocus()
557+
558+ onVisibleChanged: if (!visible) subPage = ""
559+
560+ Connections {
561+ target: subPageLoader.item
562+ onBackClicked: subPageLoader.closeSubPage()
563+ }
564+ }
467}
565}
qml/Dash/PageHeader.qml+81−27
@@ -31,6 +31,9 @@ Item {
31 property string title
31 property string title
32
32
33 property bool searchEntryEnabled: false
33 property bool searchEntryEnabled: false
34+ property bool settingsEnabled: false
35+ property bool favoriteEnabled: false
36+ property bool favorite: false
34 property ListModel searchHistory: SearchHistoryModel
37 property ListModel searchHistory: SearchHistoryModel
35 property alias searchQuery: searchTextField.text
38 property alias searchQuery: searchTextField.text
36 property alias searchHint: searchTextField.placeholderText
39 property alias searchHint: searchTextField.placeholderText
@@ -40,12 +43,11 @@ Item {
40 property int paginationCount: 0
43 property int paginationCount: 0
41 property int paginationIndex: -1
44 property int paginationIndex: -1
42
45
43− // TODO We should use foreground for the icons
44− // of the toolbar but unfortunately Action does not have
45− // the keyColor property as Icon does :-/
46 property var scopeStyle: null
46 property var scopeStyle: null
47
47
48 signal backClicked()
48 signal backClicked()
49+ signal settingsClicked()
50+ signal favoriteClicked()
49
51
50 onScopeStyleChanged: refreshLogo()
52 onScopeStyleChanged: refreshLogo()
51 onSearchQueryChanged: {
53 onSearchQueryChanged: {
@@ -240,6 +242,7 @@ Item {
240 contentHeight: height
242 contentHeight: height
241 opacity: headerContainer.clip || !headerContainer.showSearch ? 1 : 0 // setting visible false cause column to relayout
243 opacity: headerContainer.clip || !headerContainer.showSearch ? 1 : 0 // setting visible false cause column to relayout
242 separatorSource: ""
244 separatorSource: ""
245+ separatorBottomSource: ""
243 property var styledItem: header
246 property var styledItem: header
244 property string title: root.title
247 property string title: root.title
245 property var config: PageHeadConfiguration {
248 property var config: PageHeadConfiguration {
@@ -247,20 +250,33 @@ Item {
247 backAction: Action {
250 backAction: Action {
248 iconName: "back"
251 iconName: "back"
249 visible: root.showBackButton
252 visible: root.showBackButton
250− onTriggered: {
251− root.backClicked();
253+ onTriggered: root.backClicked()
252− }
253 }
254 }
254
255
255 actions: [
256 actions: [
256 Action {
257 Action {
257 objectName: "search"
258 objectName: "search"
259+ text: i18n.tr("Search")
258 iconName: "search"
260 iconName: "search"
259 visible: root.searchEntryEnabled
261 visible: root.searchEntryEnabled
260 onTriggered: {
262 onTriggered: {
261 headerContainer.showSearch = true;
263 headerContainer.showSearch = true;
262 searchTextField.forceActiveFocus();
264 searchTextField.forceActiveFocus();
263 }
265 }
266+ },
267+ Action {
268+ objectName: "settings"
269+ text: i18n.tr("Settings")
270+ iconName: "settings"
271+ visible: root.settingsEnabled
272+ onTriggered: root.settingsClicked()
273+ },
274+ Action {
275+ objectName: "favorite"
276+ text: root.favorite ? i18n.tr("Remove from Favorites") : i18n.tr("Add to Favorites")
277+ iconName: root.favorite ? "starred" : "non-starred"
278+ visible: root.favoriteEnabled
279+ onTriggered: root.favoriteClicked()
264 }
280 }
265 ]
281 ]
266 }
282 }
@@ -288,25 +304,6 @@ Item {
288 }
304 }
289 }
305 }
290
306
291− Row {
292− spacing: units.gu(.5)
293− Repeater {
294− objectName: "paginationRepeater"
295− model: root.paginationCount
296− Image {
297− objectName: "paginationDots_" + index
298− height: units.gu(1)
299− width: height
300− source: (index == root.paginationIndex) ? "graphics/pagination_dot_on.png" : "graphics/pagination_dot_off.png"
301− }
302− }
303− anchors {
304− top: headerContainer.bottom
305− horizontalCenter: headerContainer.horizontalCenter
306− topMargin: units.gu(.5)
307− }
308− }
309−
310 Component {
307 Component {
311 id: popoverComponent
308 id: popoverComponent
312 Popover {
309 Popover {
@@ -344,7 +341,7 @@ Item {
344 }
341 }
345 }
342 }
346
343
347− BorderImage {
344+ Rectangle {
348 id: bottomBorder
345 id: bottomBorder
349 anchors {
346 anchors {
350 top: headerContainer.bottom
347 top: headerContainer.bottom
@@ -353,7 +350,64 @@ Item {
353 bottom: bottomContainer.top
350 bottom: bottomContainer.top
354 }
351 }
355
352
356− source: "graphics/PageHeaderBaseDivider.sci"
353+ color: scopeStyle ? scopeStyle.headerDividerColor : "#e0e0e0"
354+
355+ Rectangle {
356+ anchors {
357+ top: parent.top
358+ left: parent.left
359+ right: parent.right
360+ }
361+ height: units.dp(1)
362+ color: Qt.darker(parent.color, 1.1)
363+ }
364+ }
365+
366+ Row {
367+ visible: bottomBorder.visible
368+ spacing: units.gu(.5)
369+ Repeater {
370+ objectName: "paginationRepeater"
371+ model: root.paginationCount
372+ Image {
373+ objectName: "paginationDots_" + index
374+ height: units.gu(1)
375+ width: height
376+ source: (index == root.paginationIndex) ? "graphics/pagination_dot_on.png" : "graphics/pagination_dot_off.png"
377+ }
378+ }
379+ anchors {
380+ top: headerContainer.bottom
381+ horizontalCenter: headerContainer.horizontalCenter
382+ topMargin: units.gu(.5)
383+ }
384+ }
385+
386+ // FIXME this doesn't work with solid scope backgrounds due to z-ordering
387+ Item {
388+ id: bottomHighlight
389+ visible: bottomBorder.visible
390+ anchors {
391+ top: bottomContainer.top
392+ left: parent.left
393+ right: parent.right
394+ }
395+ z: 1
396+ height: units.dp(1)
397+ opacity: 0.6
398+
399+ // FIXME this should be a shader when bottomItem exists
400+ // to support image backgrounds
401+ Rectangle {
402+ anchors.fill: parent
403+ color: if (bottomItem && bottomItem.background) {
404+ Qt.lighter(Qt.rgba(bottomItem.background.topColor.r,
405+ bottomItem.background.topColor.g,
406+ bottomItem.background.topColor.b, 1.0), 1.2);
407+ } else if (!bottomItem && scopeStyle) {
408+ Qt.lighter(Qt.rgba(scopeStyle.background.r, scopeStyle.background.g, scopeStyle.background.b, 1.0), 1.2);
409+ } else "#CCFFFFFF"
410+ }
357 }
411 }
358
412
359 Item {
413 Item {
qml/Dash/PreviewListView.qml+13−1
@@ -23,9 +23,12 @@ import "Previews" as Previews
23Item {
23Item {
24 id: root
24 id: root
25
25
26+ property int initialIndex: -1
26 property var scope: null
27 property var scope: null
27 property var scopeStyle: null
28 property var scopeStyle: null
28
29
30+ property alias showSignatureLine: header.showSignatureLine
31+
29 property alias open: previewListView.open
32 property alias open: previewListView.open
30 property alias model: previewListView.model
33 property alias model: previewListView.model
31 property alias currentIndex: previewListView.currentIndex
34 property alias currentIndex: previewListView.currentIndex
@@ -35,6 +38,8 @@ Item {
35 readonly property bool processing: currentItem && (!currentItem.previewModel.loaded
38 readonly property bool processing: currentItem && (!currentItem.previewModel.loaded
36 || currentItem.previewModel.processingAction)
39 || currentItem.previewModel.processingAction)
37
40
41+ signal backClicked()
42+
38 PageHeader {
43 PageHeader {
39 id: header
44 id: header
40 objectName: "pageHeader"
45 objectName: "pageHeader"
@@ -44,7 +49,7 @@ Item {
44 searchEntryEnabled: false
49 searchEntryEnabled: false
45 scopeStyle: root.scopeStyle
50 scopeStyle: root.scopeStyle
46
51
47− onBackClicked: root.open = false
52+ onBackClicked: root.backClicked()
48 }
53 }
49
54
50 ListView {
55 ListView {
@@ -78,6 +83,13 @@ Item {
78 }
83 }
79 }
84 }
80
85
86+ onCountChanged: {
87+ if (count > 0 && initialIndex >= 0) {
88+ currentIndex = initialIndex;
89+ initialIndex = -1;
90+ }
91+ }
92+
81 delegate: Previews.Preview {
93 delegate: Previews.Preview {
82 id: preview
94 id: preview
83 objectName: "preview" + index
95 objectName: "preview" + index
qml/Dash/Previews/PreviewActionButton.qml+1−4
@@ -15,16 +15,13 @@
15 */
15 */
16
16
17import QtQuick 2.0
17import QtQuick 2.0
18−import Ubuntu.Components 0.1
18+import Ubuntu.Components 1.1
19
19
20Button {
20Button {
21 signal triggeredAction(var actionData)
21 signal triggeredAction(var actionData)
22
22
23 property var data: null
23 property var data: null
24 objectName: "button" + (data && data.id || "")
24 objectName: "button" + (data && data.id || "")
25− color: Theme.palette.selected.foreground
26 text: data && data.label || ""
25 text: data && data.label || ""
27− iconSource: data && data.icon || ""
28− iconPosition: "left"
29 onClicked: triggeredAction(data)
26 onClicked: triggeredAction(data)
30}
27}
qml/Dash/Previews/PreviewActionCombo.qml+4−2
@@ -15,7 +15,7 @@
15 */
15 */
16
16
17import QtQuick 2.0
17import QtQuick 2.0
18−import Ubuntu.Components 0.1
18+import Ubuntu.Components 1.1
19
19
20Item {
20Item {
21 id: root
21 id: root
@@ -25,6 +25,7 @@ Item {
25 signal triggeredAction(var actionData)
25 signal triggeredAction(var actionData)
26
26
27 property alias model: actionRepeater.model
27 property alias model: actionRepeater.model
28+ property alias strokeColor: moreButton.strokeColor
28
29
29 Button {
30 Button {
30 id: moreButton
31 id: moreButton
@@ -32,7 +33,7 @@ Item {
32
33
33 objectName: "moreLessButton"
34 objectName: "moreLessButton"
34 text: !expanded ? i18n.tr("More...") : i18n.tr("Less...")
35 text: !expanded ? i18n.tr("More...") : i18n.tr("Less...")
35− color: Theme.palette.selected.foreground
36+ strokeColor: Theme.palette.normal.baseText
36 onClicked: expanded = !expanded
37 onClicked: expanded = !expanded
37 width: parent.width
38 width: parent.width
38 }
39 }
@@ -60,6 +61,7 @@ Item {
60 data: modelData
61 data: modelData
61 width: implicitWidth < parent.width ? parent.width : implicitWidth
62 width: implicitWidth < parent.width ? parent.width : implicitWidth
62 onClicked: root.triggeredAction(modelData)
63 onClicked: root.triggeredAction(modelData)
64+ strokeColor: moreButton.strokeColor
63 }
65 }
64 }
66 }
65 }
67 }
qml/Dash/Previews/PreviewActions.qml+6
@@ -46,6 +46,11 @@ PreviewWidget {
46 item.model = row.actions.slice(1);
46 item.model = row.actions.slice(1);
47 }
47 }
48 }
48 }
49+ Binding {
50+ target: loader.item
51+ property: "strokeColor"
52+ value: root.scopeStyle ? root.scopeStyle.foreground : Theme.palette.normal.baseText
53+ }
49 Connections {
54 Connections {
50 target: loader.item
55 target: loader.item
51 onTriggeredAction: {
56 onTriggeredAction: {
@@ -59,6 +64,7 @@ PreviewWidget {
59 visible: row.actions && row.actions.length > 0
64 visible: row.actions && row.actions.length > 0
60 onTriggeredAction: root.triggered(root.widgetId, actionData.id, actionData)
65 onTriggeredAction: root.triggered(root.widgetId, actionData.id, actionData)
61 width: (root.width - units.gu(1)) / 2
66 width: (root.width - units.gu(1)) / 2
67+ color: root.scopeStyle ? root.scopeStyle.previewButtonColor : Theme.palette.selected.foreground
62 }
68 }
63 }
69 }
64}
70}
qml/Dash/Previews/PreviewExpandable.qml+3−2
@@ -59,9 +59,10 @@ PreviewWidget {
59 }
59 }
60 Icon {
60 Icon {
61 anchors.fill: parent
61 anchors.fill: parent
62− width: 64
62+ width: units.gu(3)
63− height: 64
63+ height: units.gu(3)
64 name: root.expanded ? "view-collapse" : "view-expand"
64 name: root.expanded ? "view-collapse" : "view-expand"
65+ color: root.scopeStyle ? root.scopeStyle.foreground : Theme.palette.normal.baseText
65 }
66 }
66 }
67 }
67
68
qml/Dash/Previews/PreviewTable.qmlnew file+80
@@ -0,0 +1,80 @@
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+import QtQuick 2.0
18+import QtQuick.Layouts 1.1
19+import Ubuntu.Components 0.1
20+import "../../Components"
21+
22+/*! \brief Preview widget for table.
23+
24+ This widget shows two columns contained in widgetData["values"]
25+ as arrays of label,value along with a title that comes from widgetData["title"].
26+
27+ In case the widget is collapsed it only shows 3 lines of values.
28+ */
29+
30+PreviewWidget {
31+ id: root
32+ implicitHeight: column.implicitHeight
33+
34+ readonly property int maximumCollapsedRowCount: 3
35+
36+ Column {
37+ id: column
38+ objectName: "column"
39+ spacing: units.gu(1)
40+
41+ Label {
42+ id: titleLabel
43+ objectName: "titleLabel"
44+ anchors {
45+ left: parent.left
46+ right: parent.right
47+ }
48+ height: visible ? implicitHeight : 0
49+ fontSize: "large"
50+ color: root.scopeStyle ? root.scopeStyle.foreground : Theme.palette.normal.baseText
51+ visible: text !== ""
52+ opacity: .8
53+ text: widgetData["title"] || ""
54+ }
55+
56+ GridLayout {
57+ objectName: "gridLayout"
58+ columns: 2
59+ columnSpacing: units.gu(2)
60+ Repeater {
61+ id: rowsRepeater
62+ model: widgetData["values"]
63+
64+ delegate: Repeater {
65+ id: perRowRepeater
66+ readonly property int rowIndex: index
67+ model: widgetData["values"][index]
68+ delegate: Label {
69+ objectName: "label"+rowIndex+index
70+ fontSize: "small"
71+ text: perRowRepeater.model[index]
72+ visible: root.expanded || rowIndex < maximumCollapsedRowCount
73+ color: root.scopeStyle ? root.scopeStyle.foreground : Theme.palette.normal.baseText
74+ font.bold: index == 0
75+ }
76+ }
77+ }
78+ }
79+ }
80+}
qml/Dash/Previews/PreviewWidgetFactory.qml+2−1
@@ -58,6 +58,7 @@ Loader {
58 case "payments": return "PreviewPayments.qml";
58 case "payments": return "PreviewPayments.qml";
59 case "rating-input": return "PreviewRatingInput.qml";
59 case "rating-input": return "PreviewRatingInput.qml";
60 case "reviews": return "PreviewRatingDisplay.qml";
60 case "reviews": return "PreviewRatingDisplay.qml";
61+ case "table": return "PreviewTable.qml";
61 case "text": return "PreviewTextSummary.qml";
62 case "text": return "PreviewTextSummary.qml";
62 case "video": return "PreviewVideoPlayback.qml";
63 case "video": return "PreviewVideoPlayback.qml";
63 default: return "";
64 default: return "";
@@ -70,7 +71,7 @@ Loader {
70 item.widgetData = Qt.binding(function() { return root.widgetData } )
71 item.widgetData = Qt.binding(function() { return root.widgetData } )
71 item.isCurrentPreview = Qt.binding(function() { return root.isCurrentPreview } )
72 item.isCurrentPreview = Qt.binding(function() { return root.isCurrentPreview } )
72 item.expanded = Qt.binding(function() { return root.expanded } )
73 item.expanded = Qt.binding(function() { return root.expanded } )
73− if (item.hasOwnProperty("scopeStyle")) item.scopeStyle = root.scopeStyle;
74+ item.scopeStyle = Qt.binding(function() { return root.scopeStyle } )
74 }
75 }
75
76
76 Connections {
77 Connections {
qml/Dash/ScopeSettings/ScopeSetting.qmlnew file+37
@@ -0,0 +1,37 @@
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+import QtQuick 2.2
18+import Ubuntu.Components 1.1
19+
20+/*! Interface for settings widgets. */
21+
22+Item {
23+ //! The ScopeStyle component.
24+ property var scopeStyle: null
25+
26+ //! Variable used to contain widget's data
27+ property var widgetData: null
28+
29+ /*! \brief This signal should be emitted when a setting action was updated.
30+ *
31+ * \param value the new setting value.
32+ */
33+ signal updated(var value)
34+
35+ //! \internal
36+ readonly property real settingMargins: units.gu(2)
37+}
qml/Dash/ScopeSettings/ScopeSettingBoolean.qmlnew file+61
@@ -0,0 +1,61 @@
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+import QtQuick 2.2
18+import Ubuntu.Components 1.1
19+import Ubuntu.Components.ListItems 1.0 as ListItem
20+
21+ScopeSetting {
22+ id: root
23+ height: listItem.height
24+
25+ ListItem.Empty {
26+ id: listItem
27+
28+ onClicked: {
29+ control.checked = !control.checked;
30+ updated(control.checked);
31+ }
32+
33+ Label {
34+ anchors {
35+ left: parent.left
36+ leftMargin: settingMargins
37+ right: control.left
38+ rightMargin: units.gu(1)
39+ verticalCenter: parent.verticalCenter
40+ }
41+ text: widgetData.displayName
42+ elide: Text.ElideMiddle
43+ maximumLineCount: 2
44+ wrapMode: Text.Wrap
45+ color: scopeStyle ? scopeStyle.foreground : Theme.palette.normal.baseText
46+ }
47+
48+ CheckBox {
49+ id: control
50+ objectName: "control"
51+ anchors {
52+ right: parent.right
53+ rightMargin: settingMargins
54+ verticalCenter: parent.verticalCenter
55+ }
56+ checked: widgetData.value
57+
58+ onTriggered: root.updated(checked)
59+ }
60+ }
61+}
qml/Dash/ScopeSettings/ScopeSettingList.qmlnew file+50
@@ -0,0 +1,50 @@
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+import QtQuick 2.2
18+import Ubuntu.Components 1.1
19+import Ubuntu.Components.ListItems 1.0 as ListItem
20+
21+ScopeSetting {
22+ id: root
23+
24+ // FIXME workaround for: https://bugs.launchpad.net/ubuntu/+source/ubuntu-ui-toolkit/+bug/1355830
25+ height: listItem.currentlyExpanded ? listItem.itemHeight * widgetData.properties["values"].length + units.gu(6) : listItem.height
26+
27+ property int initialValue: -1
28+
29+ ListItem.ItemSelector {
30+ id: listItem
31+ objectName: "control"
32+ anchors {
33+ left: parent.left
34+ right: parent.right
35+ }
36+ text: widgetData.displayName
37+ model: widgetData.properties["values"]
38+
39+ onSelectedIndexChanged: {
40+ if (root.initialValue >= 0) {
41+ var tmpValue = root.initialValue;
42+ root.initialValue = -1;
43+ selectedIndex = tmpValue;
44+ return;
45+ }
46+
47+ root.updated(selectedIndex);
48+ }
49+ }
50+}
qml/Dash/ScopeSettings/ScopeSettingNumber.qmlnew file+21
@@ -0,0 +1,21 @@
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+import QtQuick 2.2
18+
19+ScopeSettingString {
20+ mode: "number"
21+}
qml/Dash/ScopeSettings/ScopeSettingString.qmlnew file+83
@@ -0,0 +1,83 @@
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+import QtQuick 2.2
18+import Ubuntu.Components 1.1
19+import Ubuntu.Components.ListItems 1.0 as ListItem
20+
21+ScopeSetting {
22+ id: root
23+ height: listItem.height
24+
25+ property string mode: "string"
26+
27+ ListItem.Empty {
28+ id: listItem
29+ onClicked: {
30+ control.forceActiveFocus();
31+ control.selectAll();
32+ }
33+
34+ Label {
35+ id: label
36+ anchors {
37+ left: parent.left
38+ leftMargin: settingMargins
39+ right: control.left
40+ rightMargin: units.gu(1)
41+ verticalCenter: parent.verticalCenter
42+ }
43+ text: widgetData.displayName
44+ elide: Text.ElideMiddle
45+ maximumLineCount: 2
46+ wrapMode: Text.Wrap
47+ color: scopeStyle ? scopeStyle.foreground : Theme.palette.normal.baseText
48+ }
49+
50+ TextField {
51+ id: control
52+ objectName: "control"
53+ anchors {
54+ right: parent.right
55+ rightMargin: settingMargins
56+ verticalCenter: parent.verticalCenter
57+ }
58+ width: root.mode == "number" ? units.gu(8) : units.gu(12)
59+ text: widgetData.value
60+ color: scopeStyle ? scopeStyle.foreground : Theme.palette.normal.fieldText
61+ validator: root.mode == "number" ? doubleValidator : null
62+ hasClearButton: root.mode == "number" ? false : true
63+
64+ DoubleValidator {
65+ id: doubleValidator
66+ }
67+
68+ function updateText() {
69+ if (acceptableInput) {
70+ text = displayText;
71+ root.updated(text);
72+ }
73+ }
74+
75+ onAccepted: updateText()
76+ onActiveFocusChanged: {
77+ if (!activeFocus) {
78+ updateText();
79+ }
80+ }
81+ }
82+ }
83+}
qml/Dash/ScopeSettings/ScopeSettingsWidgetFactory.qmlnew file+57
@@ -0,0 +1,57 @@
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+import QtQuick 2.2
18+
19+//! \brief This component loads the widgets based on type.
20+
21+Loader {
22+ id: root
23+
24+ //! The ScopeStyle component.
25+ property var scopeStyle: null
26+
27+ //! Variable used to contain widget's data
28+ property var widgetData: null
29+
30+ //! Triggered signal forwarded from the widgets.
31+ signal updated(var value)
32+
33+ source: widgetSource
34+
35+ //! \cond private
36+ property url widgetSource: {
37+ switch (widgetData.type) {
38+ case "boolean": return "ScopeSettingBoolean.qml";
39+ case "list": return "ScopeSettingList.qml";
40+ case "number": return "ScopeSettingNumber.qml";
41+ case "string": return "ScopeSettingString.qml";
42+ default: return "";
43+ }
44+ }
45+ //! \endcond
46+
47+ onLoaded: {
48+ if (item.hasOwnProperty("initialValue")) item.initialValue = root.widgetData.value;
49+ item.widgetData = Qt.binding(function() { return root.widgetData; } )
50+ item.scopeStyle = Qt.binding(function() { return root.scopeStyle; } )
51+ }
52+
53+ Connections {
54+ target: root.item
55+ onUpdated: if (value !== widgetData.value) root.updated(value)
56+ }
57+}
qml/Dash/ScopeSettingsPage.qmlnew file+62
@@ -0,0 +1,62 @@
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+import QtQuick 2.2
18+import Ubuntu.Components 1.1
19+import Unity 0.2
20+import "../Components"
21+import "ScopeSettings"
22+
23+Item {
24+ id: root
25+
26+ property var scope: null
27+ property var scopeStyle: null
28+
29+ signal backClicked()
30+
31+ PageHeader {
32+ id: header
33+ objectName: "pageHeader"
34+ width: parent.width
35+ title: scope ? scope.name : ""
36+ showBackButton: true
37+ scopeStyle: root.scopeStyle
38+
39+ onBackClicked: root.backClicked()
40+ }
41+
42+ ListView {
43+ id: scopeSettings
44+ objectName: "scopeSettings"
45+ anchors {
46+ top: header.bottom
47+ bottom: parent.bottom
48+ left: parent.left
49+ right: parent.right
50+ }
51+ model: root.scope ? root.scope.settings : null
52+
53+ delegate: ScopeSettingsWidgetFactory {
54+ objectName: "scopeSettingItem" + index
55+ width: root.width
56+ widgetData: model
57+ scopeStyle: root.scopeStyle
58+
59+ onUpdated: model.value = value;
60+ }
61+ }
62+}
qml/Dash/ScopesOverview.qml+22−1
@@ -148,7 +148,12 @@ Item {
148
148
149 ScopeStyle {
149 ScopeStyle {
150 id: overviewScopeStyle
150 id: overviewScopeStyle
151+ style: { "foreground-color" : "white",
151− style: { "foreground-color" : "white", "background-color" : "transparent" }
152+ "background-color" : "transparent",
153+ "page-header": {
154+ "background": "color:///transparent"
155+ }
156+ }
152 }
157 }
153
158
154 DashBackground {
159 DashBackground {
@@ -458,10 +463,13 @@ Item {
458 objectName: "scopesOverviewPreviewListView"
463 objectName: "scopesOverviewPreviewListView"
459 scope: root.scope
464 scope: root.scope
460 scopeStyle: overviewScopeStyle
465 scopeStyle: overviewScopeStyle
466+ showSignatureLine: false
461 visible: x != width
467 visible: x != width
462 width: parent.width
468 width: parent.width
463 height: parent.height
469 height: parent.height
464 anchors.left: scopesOverviewContent.right
470 anchors.left: scopesOverviewContent.right
471+
472+ onBackClicked: open = false
465 }
473 }
466
474
467 Item {
475 Item {
@@ -535,6 +543,19 @@ Item {
535 scopesOverviewXYScaler.opacity = 0;
543 scopesOverviewXYScaler.opacity = 0;
536 middleItems.overrideOpacity = -1;
544 middleItems.overrideOpacity = -1;
537 }
545 }
546+ // TODO Add tests for these connections
547+ Connections {
548+ target: tempScopeItem.scope
549+ onOpenScope: {
550+ // TODO Animate the newly opened scope into the foreground (stacked on top of the current scope)
551+ tempScopeItem.scope = scope;
552+ }
553+ onGotoScope: {
554+ tempScopeItem.backClicked();
555+ root.currentTab = 0;
556+ root.scope.gotoScope(scopeId);
557+ }
558+ }
538 }
559 }
539 }
560 }
540}
561}
qml/Dash/graphics/PageHeaderBaseDivider@18.pngdeleted

Binary file not shown.

qml/Dash/graphics/PageHeaderBaseDivider@18.scideleted−5
@@ -1,5 +0,0 @@
1−border.top: 4
2−border.bottom: 4
3−border.left: 0
4−border.right: 0
5−source: PageHeaderBaseDivider@18.png
qml/Dash/graphics/navigation_shadow@18.pngnew file

Binary file not shown.

qml/Dash/graphics/navigation_shadow_light@18.pngnew file

Binary file not shown.

qml/Notifications/Notification.qml+3−3
@@ -15,7 +15,7 @@
15 */
15 */
16
16
17import QtQuick 2.0
17import QtQuick 2.0
18−import QtMultimedia 5.0
18+//import QtMultimedia 5.0
19import Ubuntu.Components 1.1
19import Ubuntu.Components 1.1
20import Unity.Notifications 1.0
20import Unity.Notifications 1.0
21import QMenuModel 0.1
21import QMenuModel 0.1
@@ -76,10 +76,10 @@ Item {
76 return result;
76 return result;
77 }
77 }
78
78
79− Audio {
79+ Item {
80 id: sound
80 id: sound
81 objectName: "sound"
81 objectName: "sound"
82− source: hints["suppress-sound"] != "true" && hints["sound-file"] != undefined ? hints["sound-file"] : ""
82+ //source: hints["suppress-sound"] != "true" && hints["sound-file"] != undefined ? hints["sound-file"] : ""
83 }
83 }
84
84
85 // FIXME: using onCompleted because of LP: #1354406 workaround, has to be onOpacityChanged really
85 // FIXME: using onCompleted because of LP: #1354406 workaround, has to be onOpacityChanged really
qml/Shell.qml+5−11
@@ -271,6 +271,7 @@ Item {
271 target: LightDM.Greeter
271 target: LightDM.Greeter
272
272
273 onShowGreeter: greeter.show()
273 onShowGreeter: greeter.show()
274+ onHideGreeter: greeter.login()
274
275
275 onShowPrompt: {
276 onShowPrompt: {
276 if (greeter.narrowMode) {
277 if (greeter.narrowMode) {
@@ -279,8 +280,8 @@ Item {
279 lockscreen.infoText = i18n.tr("Enter your passphrase")
280 lockscreen.infoText = i18n.tr("Enter your passphrase")
280 lockscreen.errorText = i18n.tr("Sorry, incorrect passphrase")
281 lockscreen.errorText = i18n.tr("Sorry, incorrect passphrase")
281 } else {
282 } else {
282− lockscreen.infoText = i18n.tr("Enter your PIN")
283+ lockscreen.infoText = i18n.tr("Enter your passcode")
283− lockscreen.errorText = i18n.tr("Sorry, incorrect PIN")
284+ lockscreen.errorText = i18n.tr("Sorry, incorrect passcode")
284 }
285 }
285 } else {
286 } else {
286 lockscreen.infoText = i18n.tr("Enter your %1").arg(text.toLowerCase())
287 lockscreen.infoText = i18n.tr("Enter your %1").arg(text.toLowerCase())
@@ -313,7 +314,6 @@ Item {
313 }
314 }
314
315
315 if (LightDM.Greeter.authenticated) {
316 if (LightDM.Greeter.authenticated) {
316− lockscreen.hide();
317 greeter.login();
317 greeter.login();
318 } else {
318 } else {
319 AccountsService.failedLogins++
319 AccountsService.failedLogins++
@@ -506,7 +506,7 @@ Item {
506 anchors.fill: parent //because this draws indicator menus
506 anchors.fill: parent //because this draws indicator menus
507 indicators {
507 indicators {
508 hides: [launcher]
508 hides: [launcher]
509− available: edgeDemo.panelEnabled && !shell.locked
509+ available: edgeDemo.panelEnabled && (!shell.locked || AccountsService.enableIndicatorsWhileLocked) && greeter.fakeActiveForApp === ""
510 contentEnabled: edgeDemo.panelContentEnabled
510 contentEnabled: edgeDemo.panelContentEnabled
511 width: parent.width > units.gu(60) ? units.gu(40) : parent.width
511 width: parent.width > units.gu(60) ? units.gu(40) : parent.width
512 panelHeight: units.gu(3)
512 panelHeight: units.gu(3)
@@ -530,7 +530,7 @@ Item {
530 anchors.bottom: parent.bottom
530 anchors.bottom: parent.bottom
531 width: parent.width
531 width: parent.width
532 dragAreaWidth: shell.edgeSize
532 dragAreaWidth: shell.edgeSize
533− available: edgeDemo.launcherEnabled && !shell.locked
533+ available: edgeDemo.launcherEnabled && (!shell.locked || AccountsService.enableLauncherWhileLocked) && greeter.fakeActiveForApp === ""
534
534
535 onShowDashHome: showHome()
535 onShowDashHome: showHome()
536 onDash: showDash()
536 onDash: showDash()
@@ -592,12 +592,6 @@ Item {
592 }
592 }
593 }
593 }
594
594
595− Binding {
596− target: i18n
597− property: "domain"
598− value: "unity8"
599− }
600−
601 Dialogs {
595 Dialogs {
602 id: dialogs
596 id: dialogs
603 anchors.fill: parent
597 anchors.fill: parent
qml/Stages/SpreadDelegate.qml+3−7
@@ -47,14 +47,10 @@ Item {
47 BorderImage {
47 BorderImage {
48 anchors {
48 anchors {
49 fill: appWindow
49 fill: appWindow
50− leftMargin: -units.gu(2)
51− rightMargin: -units.gu(2)
52− bottomMargin: -units.gu(2)
53− topMargin: -units.gu(2)
50+ margins: -units.gu(2)
54 }
51 }
55− source: "graphics/dropshadow.png"
52+ source: "graphics/dropshadow2gu.sci"
56− border { left: 50; right: 50; top: 50; bottom: 50 }
57− opacity: root.dropShadow ? .4 : 0
53+ opacity: root.dropShadow ? .3 : 0
58 Behavior on opacity { UbuntuNumberAnimation {} }
54 Behavior on opacity { UbuntuNumberAnimation {} }
59 }
55 }
60
56
qml/Stages/graphics/dropshadow.pngdeleted

Binary file not shown.

qml/Stages/graphics/dropshadow2gu@30.pngnew file

Binary file not shown.

qml/Stages/graphics/dropshadow2gu@30.scinew file+5
@@ -0,0 +1,5 @@
1+border.left: 60
2+border.top: 60
3+border.bottom: 60
4+border.right: 60
5+source: dropshadow2gu@30.png
src/Dash/main.cpp+1
@@ -68,6 +68,7 @@ int main(int argc, const char *argv[])
68 }
68 }
69
69
70 bindtextdomain("unity8", translationDirectory().toUtf8().data());
70 bindtextdomain("unity8", translationDirectory().toUtf8().data());
71+ textdomain("unity8");
71
72
72 QQuickView* view = new QQuickView();
73 QQuickView* view = new QQuickView();
73 view->setResizeMode(QQuickView::SizeRootObjectToView);
74 view->setResizeMode(QQuickView::SizeRootObjectToView);
src/main.cpp+1
@@ -108,6 +108,7 @@ Load the testability driver");
108 }
108 }
109
109
110 bindtextdomain("unity8", translationDirectory().toUtf8().data());
110 bindtextdomain("unity8", translationDirectory().toUtf8().data());
111+ textdomain("unity8");
111
112
112 QQuickView* view = new QQuickView();
113 QQuickView* view = new QQuickView();
113 view->setResizeMode(QQuickView::SizeRootObjectToView);
114 view->setResizeMode(QQuickView::SizeRootObjectToView);
tests/autopilot/unity8/shell/emulators/dash.py+5−5
@@ -140,10 +140,9 @@ class Dash(emulators.UnityEmulatorBase):
140
140
141 def enter_search_query(self, query):
141 def enter_search_query(self, query):
142 current_header = self._get_current_page_header()
142 current_header = self._get_current_page_header()
143+ search_button = current_header.select_single(objectName="search_header_button")
143− self.pointing_device.move(current_header.globalRect.x +
144+ self.pointing_device.move(search_button.globalRect.x + search_button.width / 2,
144− current_header.width - current_header.height / 4,
145+ search_button.globalRect.y + search_button.height / 2)
145− current_header.globalRect.y +
146− current_header.height / 4)
147 self.pointing_device.click()
146 self.pointing_device.click()
148 headerContainer = current_header.select_single(
147 headerContainer = current_header.select_single(
149 objectName="headerContainer")
148 objectName="headerContainer")
@@ -186,7 +185,8 @@ class GenericScopeView(emulators.UnityEmulatorBase):
186 # --elopio - 2014-1-14
185 # --elopio - 2014-1-14
187 self.click_scope_item(category, app_name)
186 self.click_scope_item(category, app_name)
188 preview_list = self.wait_select_single(
187 preview_list = self.wait_select_single(
189− 'PreviewListView', objectName='previewListView')
188+ 'QQuickLoader', objectName='subPageLoader')
189+ preview_list.subPageShown.wait_for(True)
190 preview_list.x.wait_for(0)
190 preview_list.x.wait_for(0)
191 return preview_list.select_single(
191 return preview_list.select_single(
192 Preview, objectName='preview{}'.format(preview_list.currentIndex))
192 Preview, objectName='preview{}'.format(preview_list.currentIndex))
tests/mocks/AccountsService/AccountsService.cpp+24
@@ -22,6 +22,8 @@
22
22
23AccountsService::AccountsService(QObject* parent)
23AccountsService::AccountsService(QObject* parent)
24 : QObject(parent),
24 : QObject(parent),
25+ m_enableLauncherWhileLocked(true),
26+ m_enableIndicatorsWhileLocked(true),
25 m_backgroundFile(qmlDirectory() + "graphics/phone_background.jpg"),
27 m_backgroundFile(qmlDirectory() + "graphics/phone_background.jpg"),
26 m_statsWelcomeScreen(true),
28 m_statsWelcomeScreen(true),
27 m_failedLogins(0)
29 m_failedLogins(0)
@@ -50,6 +52,28 @@ void AccountsService::setDemoEdges(bool demoEdges)
50 Q_UNUSED(demoEdges)
52 Q_UNUSED(demoEdges)
51}
53}
52
54
55+bool AccountsService::enableLauncherWhileLocked() const
56+{
57+ return m_enableLauncherWhileLocked;
58+}
59+
60+void AccountsService::setEnableLauncherWhileLocked(bool enableLauncherWhileLocked)
61+{
62+ m_enableLauncherWhileLocked = enableLauncherWhileLocked;
63+ Q_EMIT enableLauncherWhileLockedChanged();
64+}
65+
66+bool AccountsService::enableIndicatorsWhileLocked() const
67+{
68+ return m_enableIndicatorsWhileLocked;
69+}
70+
71+void AccountsService::setEnableIndicatorsWhileLocked(bool enableIndicatorsWhileLocked)
72+{
73+ m_enableIndicatorsWhileLocked = enableIndicatorsWhileLocked;
74+ Q_EMIT enableIndicatorsWhileLockedChanged();
75+}
76+
53QString AccountsService::backgroundFile() const
77QString AccountsService::backgroundFile() const
54{
78{
55 return m_backgroundFile;
79 return m_backgroundFile;
tests/mocks/AccountsService/AccountsService.h+16
@@ -36,6 +36,14 @@ class AccountsService: public QObject
36 READ demoEdges
36 READ demoEdges
37 WRITE setDemoEdges
37 WRITE setDemoEdges
38 NOTIFY demoEdgesChanged)
38 NOTIFY demoEdgesChanged)
39+ Q_PROPERTY (bool enableLauncherWhileLocked
40+ READ enableLauncherWhileLocked
41+ WRITE setEnableLauncherWhileLocked // only available in mock
42+ NOTIFY enableLauncherWhileLockedChanged)
43+ Q_PROPERTY (bool enableIndicatorsWhileLocked
44+ READ enableIndicatorsWhileLocked
45+ WRITE setEnableIndicatorsWhileLocked // only available in mock
46+ NOTIFY enableIndicatorsWhileLockedChanged)
39 Q_PROPERTY (QString backgroundFile
47 Q_PROPERTY (QString backgroundFile
40 READ backgroundFile
48 READ backgroundFile
41 WRITE setBackgroundFile // only available in mock
49 WRITE setBackgroundFile // only available in mock
@@ -64,6 +72,10 @@ public:
64 void setUser(const QString &user);
72 void setUser(const QString &user);
65 bool demoEdges() const;
73 bool demoEdges() const;
66 void setDemoEdges(bool demoEdges);
74 void setDemoEdges(bool demoEdges);
75+ bool enableLauncherWhileLocked() const;
76+ void setEnableLauncherWhileLocked(bool enableLauncherWhileLocked);
77+ bool enableIndicatorsWhileLocked() const;
78+ void setEnableIndicatorsWhileLocked(bool enableIndicatorsWhileLocked);
67 QString backgroundFile() const;
79 QString backgroundFile() const;
68 void setBackgroundFile(const QString &backgroundFile);
80 void setBackgroundFile(const QString &backgroundFile);
69 bool statsWelcomeScreen() const;
81 bool statsWelcomeScreen() const;
@@ -75,12 +87,16 @@ public:
75Q_SIGNALS:
87Q_SIGNALS:
76 void userChanged();
88 void userChanged();
77 void demoEdgesChanged();
89 void demoEdgesChanged();
90+ void enableLauncherWhileLockedChanged();
91+ void enableIndicatorsWhileLockedChanged();
78 void backgroundFileChanged();
92 void backgroundFileChanged();
79 void statsWelcomeScreenChanged();
93 void statsWelcomeScreenChanged();
80 void passwordDisplayHintChanged();
94 void passwordDisplayHintChanged();
81 void failedLoginsChanged();
95 void failedLoginsChanged();
82
96
83private:
97private:
98+ bool m_enableLauncherWhileLocked;
99+ bool m_enableIndicatorsWhileLocked;
84 QString m_backgroundFile;
100 QString m_backgroundFile;
85 QString m_user;
101 QString m_user;
86 bool m_statsWelcomeScreen;
102 bool m_statsWelcomeScreen;
tests/mocks/GSettings.1.0/fake_gsettings.h+2−2
@@ -27,7 +27,7 @@ class GSettingsSchemaQml: public QObject
27 Q_PROPERTY(QByteArray id READ id WRITE setId)
27 Q_PROPERTY(QByteArray id READ id WRITE setId)
28
28
29public:
29public:
30− GSettingsSchemaQml(QObject *parent = NULL);
30+ GSettingsSchemaQml(QObject *parent = nullptr);
31
31
32 QByteArray id() const;
32 QByteArray id() const;
33 void setId(const QByteArray &id);
33 void setId(const QByteArray &id);
@@ -48,7 +48,7 @@ class GSettingsQml: public QObject
48 Q_PROPERTY(QString pictureUri READ pictureUri WRITE setPictureUri NOTIFY pictureUriChanged)
48 Q_PROPERTY(QString pictureUri READ pictureUri WRITE setPictureUri NOTIFY pictureUriChanged)
49
49
50public:
50public:
51− GSettingsQml(QObject *parent = NULL);
51+ GSettingsQml(QObject *parent = nullptr);
52 ~GSettingsQml();
52 ~GSettingsQml();
53
53
54 GSettingsSchemaQml * schema() const;
54 GSettingsSchemaQml * schema() const;
tests/mocks/HudClient/fake_libhud_client.cpp+9−9
@@ -48,7 +48,7 @@ static void hud_client_query_class_init(HudClientQueryClass * /*klass*/)
48 HUD_CLIENT_TYPE_QUERY,
48 HUD_CLIENT_TYPE_QUERY,
49 G_SIGNAL_RUN_LAST,
49 G_SIGNAL_RUN_LAST,
50 0, /* offset */
50 0, /* offset */
51− NULL, NULL, /* Accumulator */
51+ nullptr, nullptr, /* Accumulator */
52 g_cclosure_marshal_VOID__VOID,
52 g_cclosure_marshal_VOID__VOID,
53 G_TYPE_NONE, 0, G_TYPE_NONE);
53 G_TYPE_NONE, 0, G_TYPE_NONE);
54}
54}
@@ -56,7 +56,7 @@ static void hud_client_query_class_init(HudClientQueryClass * /*klass*/)
56HudClientQuery *hud_client_query_new(const gchar *query)
56HudClientQuery *hud_client_query_new(const gchar *query)
57{
57{
58 HudClientStub::m_lastSetQuery = QString::fromUtf8(query);
58 HudClientStub::m_lastSetQuery = QString::fromUtf8(query);
59− HudClientStub::m_query = HUD_CLIENT_QUERY(g_object_new(HUD_CLIENT_TYPE_QUERY, NULL));
59+ HudClientStub::m_query = HUD_CLIENT_QUERY(g_object_new(HUD_CLIENT_TYPE_QUERY, nullptr));
60 return HudClientStub::m_query;
60 return HudClientStub::m_query;
61}
61}
62
62
@@ -70,13 +70,13 @@ DeeModel *hud_client_query_get_results_model(HudClientQuery *cquery)
70 GVariant * columns[G_N_ELEMENTS(results_model_schema) + 1];
70 GVariant * columns[G_N_ELEMENTS(results_model_schema) + 1];
71 columns[0] = g_variant_new_variant(g_variant_new_uint64(0));
71 columns[0] = g_variant_new_variant(g_variant_new_uint64(0));
72 columns[1] = g_variant_new_string("Help");
72 columns[1] = g_variant_new_string("Help");
73− columns[2] = g_variant_new_array(G_VARIANT_TYPE("(ii)"), NULL, 0);
73+ columns[2] = g_variant_new_array(G_VARIANT_TYPE("(ii)"), nullptr, 0);
74 columns[3] = g_variant_new_string("Get Help");
74 columns[3] = g_variant_new_string("Get Help");
75− columns[4] = g_variant_new_array(G_VARIANT_TYPE("(ii)"), NULL, 0);
75+ columns[4] = g_variant_new_array(G_VARIANT_TYPE("(ii)"), nullptr, 0);
76 columns[5] = g_variant_new_string("");
76 columns[5] = g_variant_new_string("");
77 columns[6] = g_variant_new_uint32(3);
77 columns[6] = g_variant_new_uint32(3);
78 columns[7] = g_variant_new_boolean(false);
78 columns[7] = g_variant_new_boolean(false);
79− columns[8] = NULL;
79+ columns[8] = nullptr;
80 dee_model_append_row(resultsModel, columns);
80 dee_model_append_row(resultsModel, columns);
81
81
82 columns[0] = g_variant_new_variant(g_variant_new_uint64(1));
82 columns[0] = g_variant_new_variant(g_variant_new_uint64(1));
@@ -153,13 +153,13 @@ HudClientParam *hud_client_query_execute_param_command(HudClientQuery *cquery, G
153 HudClientStub::m_lastExecutedParametrizedCommandRow = i;
153 HudClientStub::m_lastExecutedParametrizedCommandRow = i;
154 g_variant_unref(it_command);
154 g_variant_unref(it_command);
155 // No need to create a real HudClientParam since it's always passed down to us
155 // No need to create a real HudClientParam since it's always passed down to us
156− return (HudClientParam *)g_object_new(G_TYPE_OBJECT, NULL);
156+ return (HudClientParam *)g_object_new(G_TYPE_OBJECT, nullptr);
157 }
157 }
158 g_variant_unref(it_command);
158 g_variant_unref(it_command);
159 }
159 }
160 }
160 }
161 HudClientStub::m_lastExecutedParametrizedCommandRow = -1;
161 HudClientStub::m_lastExecutedParametrizedCommandRow = -1;
162− return NULL;
162+ return nullptr;
163}
163}
164
164
165void hud_client_query_voice_query(HudClientQuery *cquery)
165void hud_client_query_voice_query(HudClientQuery *cquery)
@@ -183,7 +183,7 @@ GMenuModel *hud_client_param_get_model(HudClientParam *param)
183
183
184 if (!parametrizedActionModel) {
184 if (!parametrizedActionModel) {
185 GMenu *menu = g_menu_new();
185 GMenu *menu = g_menu_new();
186− GMenuItem *item = g_menu_item_new("Item1Label", NULL);
186+ GMenuItem *item = g_menu_item_new("Item1Label", nullptr);
187 g_menu_item_set_attribute_value(item, "parameter-type", g_variant_new_string("slider"));
187 g_menu_item_set_attribute_value(item, "parameter-type", g_variant_new_string("slider"));
188 g_menu_item_set_attribute_value(item, "min", g_variant_new_double(10));
188 g_menu_item_set_attribute_value(item, "min", g_variant_new_double(10));
189 g_menu_item_set_attribute_value(item, "max", g_variant_new_double(80));
189 g_menu_item_set_attribute_value(item, "max", g_variant_new_double(80));
@@ -220,7 +220,7 @@ GActionGroup *hud_client_param_get_actions(HudClientParam *param)
220 GSimpleAction *action = g_simple_action_new("costAction", G_VARIANT_TYPE_DOUBLE);
220 GSimpleAction *action = g_simple_action_new("costAction", G_VARIANT_TYPE_DOUBLE);
221 g_simple_action_group_insert(actionGroup, G_ACTION(action));
221 g_simple_action_group_insert(actionGroup, G_ACTION(action));
222
222
223− g_signal_connect (action, "activate", G_CALLBACK (on_signal_activated), NULL);
223+ g_signal_connect (action, "activate", G_CALLBACK (on_signal_activated), nullptr);
224
224
225
225
226 parametrizedActionGroup = G_ACTION_GROUP(actionGroup);
226 parametrizedActionGroup = G_ACTION_GROUP(actionGroup);
tests/mocks/LightDM/demo/GreeterPrivate.cpp+5−5
@@ -46,7 +46,7 @@ public:
46 : QObject(parent),
46 : QObject(parent),
47 greeter(parent),
47 greeter(parent),
48 greeterPrivate(greeterPrivate),
48 greeterPrivate(greeterPrivate),
49− pamHandle(NULL)
49+ pamHandle(nullptr)
50 {
50 {
51 qRegisterMetaType<QLightDM::GreeterImpl::ResponseFuture>("QLightDM::GreeterImpl::ResponseFuture");
51 qRegisterMetaType<QLightDM::GreeterImpl::ResponseFuture>("QLightDM::GreeterImpl::ResponseFuture");
52
52
@@ -206,14 +206,14 @@ Q_SIGNALS:
206private Q_SLOTS:
206private Q_SLOTS:
207 void finishPam()
207 void finishPam()
208 {
208 {
209− if (pamHandle == NULL) {
209+ if (pamHandle == nullptr) {
210 return;
210 return;
211 }
211 }
212
212
213 int pamStatus = futureWatcher.result();
213 int pamStatus = futureWatcher.result();
214
214
215 pam_end(pamHandle, pamStatus);
215 pam_end(pamHandle, pamStatus);
216− pamHandle = NULL;
216+ pamHandle = nullptr;
217
217
218 greeterPrivate->authenticated = (pamStatus == PAM_SUCCESS);
218 greeterPrivate->authenticated = (pamStatus == PAM_SUCCESS);
219 Q_EMIT greeter->authenticationComplete();
219 Q_EMIT greeter->authenticationComplete();
@@ -243,9 +243,9 @@ private:
243 void cancelPam()
243 void cancelPam()
244 {
244 {
245 // Unfortunately we can't simply cancel our QFuture because QtConcurrent::run doesn't support cancel
245 // Unfortunately we can't simply cancel our QFuture because QtConcurrent::run doesn't support cancel
246− if (pamHandle != NULL) {
246+ if (pamHandle != nullptr) {
247 pam_handle *handle = pamHandle;
247 pam_handle *handle = pamHandle;
248− pamHandle = NULL; // to disable normal finishPam() handling
248+ pamHandle = nullptr; // to disable normal finishPam() handling
249 while (respond(QString())); // clear our local queue of QFutures
249 while (respond(QString())); // clear our local queue of QFutures
250 pam_end(handle, PAM_CONV_ERR);
250 pam_end(handle, PAM_CONV_ERR);
251 }
251 }
tests/mocks/QMenuModel/unitymenumodel.cpp+4−4
@@ -118,7 +118,7 @@ void UnityMenuModel::setMenuObjectPath(const QByteArray &path)
118
118
119ActionStateParser* UnityMenuModel::actionStateParser() const
119ActionStateParser* UnityMenuModel::actionStateParser() const
120{
120{
121− return NULL;
121+ return nullptr;
122}
122}
123
123
124void UnityMenuModel::setActionStateParser(ActionStateParser*)
124void UnityMenuModel::setActionStateParser(ActionStateParser*)
@@ -190,11 +190,11 @@ QHash<int, QByteArray> UnityMenuModel::roleNames() const
190QObject * UnityMenuModel::submenu(int position, QQmlComponent*)
190QObject * UnityMenuModel::submenu(int position, QQmlComponent*)
191{
191{
192 if (position < 0 || m_modelData.count() < position) {
192 if (position < 0 || m_modelData.count() < position) {
193− return NULL;
193+ return nullptr;
194 }
194 }
195
195
196 while (submenus.count() <= position) {
196 while (submenus.count() <= position) {
197− submenus.append(NULL);
197+ submenus.append(nullptr);
198 }
198 }
199
199
200 QVariant submenuData = subMenuData(position);
200 QVariant submenuData = subMenuData(position);
@@ -209,7 +209,7 @@ QObject * UnityMenuModel::submenu(int position, QQmlComponent*)
209 return model;
209 return model;
210 }
210 }
211
211
212− return NULL;
212+ return nullptr;
213}
213}
214
214
215bool UnityMenuModel::loadExtendedAttributes(int, const QVariantMap &)
215bool UnityMenuModel::loadExtendedAttributes(int, const QVariantMap &)
tests/mocks/QMenuModel/unitymenumodel.h+2−2
@@ -35,7 +35,7 @@ class Q_DECL_EXPORT UnityMenuModel : public QAbstractListModel
35 Q_PROPERTY(QString nameOwner READ nameOwner NOTIFY nameOwnerChanged)
35 Q_PROPERTY(QString nameOwner READ nameOwner NOTIFY nameOwnerChanged)
36
36
37public:
37public:
38− UnityMenuModel(QObject *parent = NULL);
38+ UnityMenuModel(QObject *parent = nullptr);
39 virtual ~UnityMenuModel();
39 virtual ~UnityMenuModel();
40
40
41 Q_INVOKABLE void insertRow(int row, const QVariant& data);
41 Q_INVOKABLE void insertRow(int row, const QVariant& data);
@@ -66,7 +66,7 @@ public:
66 QModelIndex parent(const QModelIndex &index) const;
66 QModelIndex parent(const QModelIndex &index) const;
67 QHash<int, QByteArray> roleNames() const;
67 QHash<int, QByteArray> roleNames() const;
68
68
69− Q_INVOKABLE QObject * submenu(int position, QQmlComponent* actionStateParser = NULL);
69+ Q_INVOKABLE QObject * submenu(int position, QQmlComponent* actionStateParser = nullptr);
70 Q_INVOKABLE bool loadExtendedAttributes(int position, const QVariantMap &schema);
70 Q_INVOKABLE bool loadExtendedAttributes(int position, const QVariantMap &schema);
71 Q_INVOKABLE QVariant get(int row, const QByteArray &role);
71 Q_INVOKABLE QVariant get(int row, const QByteArray &role);
72
72
tests/mocks/QtMultimedia/audio.cpp+1−1
@@ -22,7 +22,7 @@ Audio::Audio(QObject* parent):
22 QObject(parent),
22 QObject(parent),
23 m_playbackState(StoppedState)
23 m_playbackState(StoppedState)
24{
24{
25− qsrand(time(NULL));
25+ qsrand(time(nullptr));
26 m_timer.setInterval(1000);
26 m_timer.setInterval(1000);
27 connect(&m_timer, SIGNAL(timeout()), SLOT(timerEvent()));
27 connect(&m_timer, SIGNAL(timeout()), SLOT(timerEvent()));
28}
28}
tests/mocks/Unity/Application/ApplicationDBusAdaptor.cpp+1−1
@@ -33,7 +33,7 @@ MirSurfaceItem* topSurface(MirSurfaceItem* surface)
33 if (!surface)
33 if (!surface)
34 return nullptr;
34 return nullptr;
35
35
36− MirSurfaceItem* child = NULL;
36+ MirSurfaceItem* child = nullptr;
37 Q_FOREACH (MirSurfaceItem *childSurface, surface->childSurfaceList()) {
37 Q_FOREACH (MirSurfaceItem *childSurface, surface->childSurfaceList()) {
38 child = topSurface(childSurface);
38 child = topSurface(childSurface);
39 if (child) {
39 if (child) {
tests/mocks/Unity/Application/ApplicationInfo.h+2−2
@@ -41,8 +41,8 @@ class ApplicationInfo : public ApplicationInfoInterface {
41 Q_PROPERTY(bool manualSurfaceCreation READ manualSurfaceCreation WRITE setManualSurfaceCreation NOTIFY manualSurfaceCreationChanged)
41 Q_PROPERTY(bool manualSurfaceCreation READ manualSurfaceCreation WRITE setManualSurfaceCreation NOTIFY manualSurfaceCreationChanged)
42
42
43public:
43public:
44− ApplicationInfo(QObject *parent = NULL);
44+ ApplicationInfo(QObject *parent = nullptr);
45− ApplicationInfo(const QString &appId, QObject *parent = NULL);
45+ ApplicationInfo(const QString &appId, QObject *parent = nullptr);
46 ~ApplicationInfo();
46 ~ApplicationInfo();
47
47
48 void setIconId(const QString &iconId);
48 void setIconId(const QString &iconId);
tests/mocks/Unity/Application/ApplicationManager.h+1−1
@@ -46,7 +46,7 @@ class ApplicationManager : public ApplicationManagerInterface {
46 Q_PROPERTY(bool fake READ fake CONSTANT)
46 Q_PROPERTY(bool fake READ fake CONSTANT)
47
47
48 public:
48 public:
49− ApplicationManager(QObject *parent = NULL);
49+ ApplicationManager(QObject *parent = nullptr);
50 virtual ~ApplicationManager();
50 virtual ~ApplicationManager();
51
51
52 static ApplicationManager *singleton();
52 static ApplicationManager *singleton();
tests/mocks/Unity/CMakeLists.txt+2
@@ -24,6 +24,7 @@ set(UnityQML_SOURCES
24 fake_scope.cpp
24 fake_scope.cpp
25 fake_scopes.cpp
25 fake_scopes.cpp
26 fake_scopesoverview.cpp
26 fake_scopesoverview.cpp
27+ fake_settingsmodel.cpp
27 fake_categories.cpp
28 fake_categories.cpp
28 fake_navigation.cpp
29 fake_navigation.cpp
29 fake_resultsmodel.cpp
30 fake_resultsmodel.cpp
@@ -39,6 +40,7 @@ set(UnityQML_SOURCES
39 ${SCOPES_API_INCLUDEDIR}/unity/shell/scopes/ResultsModelInterface.h
40 ${SCOPES_API_INCLUDEDIR}/unity/shell/scopes/ResultsModelInterface.h
40 ${SCOPES_API_INCLUDEDIR}/unity/shell/scopes/ScopeInterface.h
41 ${SCOPES_API_INCLUDEDIR}/unity/shell/scopes/ScopeInterface.h
41 ${SCOPES_API_INCLUDEDIR}/unity/shell/scopes/ScopesInterface.h
42 ${SCOPES_API_INCLUDEDIR}/unity/shell/scopes/ScopesInterface.h
43+ ${SCOPES_API_INCLUDEDIR}/unity/shell/scopes/SettingsModelInterface.h
42)
44)
43
45
44add_library(FakeUnityQml MODULE ${UnityQML_SOURCES})
46add_library(FakeUnityQml MODULE ${UnityQML_SOURCES})
tests/mocks/Unity/fake_navigation.cpp+6−1
@@ -32,6 +32,7 @@ Navigation::Navigation(const QString& navigationId, const QString& label, const
32{
32{
33 QTimer::singleShot(1500, this, SLOT(slotLoaded()));
33 QTimer::singleShot(1500, this, SLOT(slotLoaded()));
34 connect(scope, SIGNAL(currentNavigationIdChanged()), this, SLOT(slotCurrentNavigationChanged()));
34 connect(scope, SIGNAL(currentNavigationIdChanged()), this, SLOT(slotCurrentNavigationChanged()));
35+ connect(scope, SIGNAL(currentAltNavigationIdChanged()), this, SLOT(slotCurrentNavigationChanged()));
35}
36}
36
37
37QString Navigation::navigationId() const
38QString Navigation::navigationId() const
@@ -106,7 +107,11 @@ QVariant Navigation::data(const QModelIndex &index, int role) const
106 case RoleHasChildren:
107 case RoleHasChildren:
107 return m_navigationId == "root" && index.row() != 3;
108 return m_navigationId == "root" && index.row() != 3;
108 case RoleIsActive:
109 case RoleIsActive:
110+ if (m_navigationId.startsWith("alt")) {
111+ return m_scope->currentAltNavigationId() == data(index, RoleNavigationId);
112+ } else {
109− return m_scope->currentNavigationId() == data(index, RoleNavigationId);
113+ return m_scope->currentNavigationId() == data(index, RoleNavigationId);
114+ }
110 }
115 }
111 return QVariant();
116 return QVariant();
112}
117}
tests/mocks/Unity/fake_scope.cpp+18−3
@@ -22,6 +22,7 @@
22#include "fake_navigation.h"
22#include "fake_navigation.h"
23#include "fake_resultsmodel.h"
23#include "fake_resultsmodel.h"
24#include "fake_scopes.h"
24#include "fake_scopes.h"
25+#include "fake_settingsmodel.h"
25
26
26Scope::Scope(Scopes* parent) : Scope(QString(), QString(), false, parent)
27Scope::Scope(Scopes* parent) : Scope(QString(), QString(), false, parent)
27{
28{
@@ -39,6 +40,7 @@ Scope::Scope(QString const& id, QString const& name, bool favorite, Scopes* pare
39 , m_previewRendererName("preview-generic")
40 , m_previewRendererName("preview-generic")
40 , m_categories(new Categories(categories, this))
41 , m_categories(new Categories(categories, this))
41 , m_openScope(nullptr)
42 , m_openScope(nullptr)
43+ , m_settings(new SettingsModel(this))
42{
44{
43}
45}
44
46
@@ -94,7 +96,7 @@ unity::shell::scopes::CategoriesInterface* Scope::categories() const
94
96
95unity::shell::scopes::SettingsModelInterface* Scope::settings() const
97unity::shell::scopes::SettingsModelInterface* Scope::settings() const
96{
98{
97− return nullptr;
99+ return m_settings;
98}
100}
99
101
100QString Scope::noResultsHint() const
102QString Scope::noResultsHint() const
@@ -224,9 +226,17 @@ QVariantMap Scope::customizations() const
224 m["background-color"] = "red";
226 m["background-color"] = "red";
225 m["foreground-color"] = "blue";
227 m["foreground-color"] = "blue";
226 m["page-header"] = h;
228 m["page-header"] = h;
229+ } else if (m_id == "MockScope4") {
230+ h["navigation-background"] = QUrl("../../../tests/qmltests/Dash/artwork/background.png");
231+ m["page-header"] = h;
227 } else if (m_id == "MockScope5") {
232 } else if (m_id == "MockScope5") {
228 h["background"] = "gradient:///lightgrey/grey";
233 h["background"] = "gradient:///lightgrey/grey";
229 h["logo"] = QUrl("../../../tests/qmltests/Dash/tst_PageHeader/logo-ubuntu-orange.svg");
234 h["logo"] = QUrl("../../../tests/qmltests/Dash/tst_PageHeader/logo-ubuntu-orange.svg");
235+ h["divider-color"] = "red";
236+ h["navigation-background"] = "color:///black";
237+ m["page-header"] = h;
238+ } else if (m_id == "MockScope6") {
239+ h["navigation-background"] = "gradient:///blue/red";
230 m["page-header"] = h;
240 m["page-header"] = h;
231 }
241 }
232 return m;
242 return m;
@@ -261,11 +271,16 @@ unity::shell::scopes::NavigationInterface* Scope::getAltNavigation(QString const
261
271
262 QString parentId;
272 QString parentId;
263 QString parentLabel;
273 QString parentLabel;
264− if (id.startsWith("altmiddle")) {
274+ if (id != "altroot") {
265 parentId = "altroot";
275 parentId = "altroot";
266 parentLabel = "altroot";
276 parentLabel = "altroot";
267 }
277 }
268− return new Navigation(id, id, "all"+id, parentId, parentLabel, this);
278+ auto result = new Navigation(id, id, "all"+id, parentId, parentLabel, this);
279+ if (id == "altroot") {
280+ m_currentAltNavigationId = "altrootChild1";
281+ Q_EMIT currentAltNavigationIdChanged();
282+ }
283+ return result;
269}
284}
270
285
271void Scope::setNavigationState(const QString &navigationId, bool isAltNavigation)
286void Scope::setNavigationState(const QString &navigationId, bool isAltNavigation)
tests/mocks/Unity/fake_scope.h+1
@@ -96,6 +96,7 @@ protected:
96
96
97 unity::shell::scopes::CategoriesInterface* m_categories;
97 unity::shell::scopes::CategoriesInterface* m_categories;
98 unity::shell::scopes::ScopeInterface* m_openScope;
98 unity::shell::scopes::ScopeInterface* m_openScope;
99+ unity::shell::scopes::SettingsModelInterface* m_settings;
99};
100};
100
101
101#endif // FAKE_SCOPE_H
102#endif // FAKE_SCOPE_H
tests/mocks/Unity/fake_scopes.h+1−1
@@ -56,7 +56,7 @@ public:
56 // This is used as part of implementation of the other C++ code, not API
56 // This is used as part of implementation of the other C++ code, not API
57 QList<Scope*> scopes() const;
57 QList<Scope*> scopes() const;
58 QList<Scope*> allScopes() const;
58 QList<Scope*> allScopes() const;
59− Scope* getScopeFromAll(const QString& scope_id) const;
59+ Q_INVOKABLE Scope* getScopeFromAll(const QString& scope_id) const;
60
60
61private Q_SLOTS:
61private Q_SLOTS:
62 void updateScopes();
62 void updateScopes();
tests/mocks/Unity/fake_settingsmodel.cppnew file+95
@@ -0,0 +1,95 @@
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 "fake_settingsmodel.h"
18+
19+SettingsModel::SettingsModel(QObject* parent) :
20+ SettingsModelInterface(parent) {
21+ {
22+ QVariantMap parameters;
23+ m_data << QSharedPointer<Data>(new Data("boolean-setting", "Boolean Setting", "boolean", parameters, true));
24+ }
25+ {
26+ QVariantMap parameters;
27+ parameters["values"] = QVariantList() << "First" << "Second" << "Third";
28+ m_data << QSharedPointer<Data>(new Data("list-setting", "List Setting", "list", parameters, 1));
29+ }
30+ {
31+ QVariantMap parameters;
32+ m_data << QSharedPointer<Data>(new Data("number-setting", "Number Setting", "number", parameters, 1.23));
33+ }
34+ {
35+ QVariantMap parameters;
36+ m_data << QSharedPointer<Data>(new Data("string-setting", "String Setting", "string", parameters, "flibble"));
37+ }
38+}
39+
40+QVariant SettingsModel::data(const QModelIndex& index, int role) const {
41+ int row = index.row();
42+ QVariant result;
43+
44+ if (row < m_data.size()) {
45+ auto data = m_data[row];
46+
47+ switch (role) {
48+ case Roles::RoleSettingId:
49+ result = data->id;
50+ break;
51+ case Roles::RoleDisplayName:
52+ result = data->displayName;
53+ break;
54+ case Roles::RoleType:
55+ result = data->type;
56+ break;
57+ case Roles::RoleProperties:
58+ result = data->properties;
59+ break;
60+ case Roles::RoleValue: {
61+ result = data->value;
62+ break;
63+ }
64+ default:
65+ break;
66+ }
67+ }
68+
69+ return result;
70+}
71+
72+bool SettingsModel::setData(const QModelIndex &index, const QVariant &value, int role) {
73+ int row = index.row();
74+ if (row < m_data.size()) {
75+ switch (role) {
76+ case SettingsModelInterface::RoleValue: {
77+ auto data = m_data[row];
78+ data->value = value;
79+ return true;
80+ }
81+ default:
82+ break;
83+ }
84+ }
85+
86+ return false;
87+}
88+
89+int SettingsModel::rowCount(const QModelIndex&) const {
90+ return count();
91+}
92+
93+int SettingsModel::count() const {
94+ return m_data.size();
95+}
tests/mocks/Unity/fake_settingsmodel.hnew file+54
@@ -0,0 +1,54 @@
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 FAKE_SETTINGSMODEL_H
18+#define FAKE_SETTINGSMODEL_H
19+
20+#include <unity/shell/scopes/SettingsModelInterface.h>
21+
22+#include <QList>
23+#include <QSharedPointer>
24+
25+class SettingsModel: public unity::shell::scopes::SettingsModelInterface {
26+Q_OBJECT
27+
28+ struct Data {
29+ QString id;
30+ QString displayName;
31+ QString type;
32+ QVariant properties;
33+ QVariant value;
34+
35+ Data(QString const& id_, QString const& displayName_,
36+ QString const& type_, QVariant const& properties_,
37+ QVariant const& value_) :
38+ id(id_), displayName(displayName_), type(type_),
39+ properties(properties_), value(value_) {}
40+ };
41+
42+public:
43+ explicit SettingsModel(QObject* parent = 0);
44+ ~SettingsModel() = default;
45+ QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
46+ bool setData(const QModelIndex&index, const QVariant& value, int role = Qt::EditRole) override;
47+ int rowCount(const QModelIndex& parent = QModelIndex()) const override;
48+ int count() const override;
49+
50+protected:
51+ QList<QSharedPointer<Data>> m_data;
52+};
53+
54+#endif // FAKE_SETTINGSMODEL_H
tests/mocks/Unity/fake_unity_plugin.cpp+2
@@ -26,6 +26,7 @@
26#include "fake_previewmodel.h"
26#include "fake_previewmodel.h"
27#include "fake_previewwidgetmodel.h"
27#include "fake_previewwidgetmodel.h"
28#include "fake_resultsmodel.h"
28#include "fake_resultsmodel.h"
29+#include "fake_settingsmodel.h"
29
30
30// External
31// External
31#include <glib-object.h>
32#include <glib-object.h>
@@ -43,6 +44,7 @@ void FakeUnityPlugin::registerTypes(const char *uri)
43 qmlRegisterType<Scopes>(uri, 0, 2, "Scopes");
44 qmlRegisterType<Scopes>(uri, 0, 2, "Scopes");
44 qmlRegisterType<Scope>(uri, 0, 2, "MockScope");
45 qmlRegisterType<Scope>(uri, 0, 2, "MockScope");
45 qmlRegisterUncreatableType<unity::shell::scopes::ScopeInterface>(uri, 0, 2, "Scope", "Can't create Scope object in QML.");
46 qmlRegisterUncreatableType<unity::shell::scopes::ScopeInterface>(uri, 0, 2, "Scope", "Can't create Scope object in QML.");
47+ qmlRegisterUncreatableType<unity::shell::scopes::SettingsModelInterface>(uri, 0, 2, "SettingsModel", "Can't create SettingsModel object in QML.");
46 qmlRegisterUncreatableType<unity::shell::scopes::NavigationInterface>(uri, 0, 2, "Navigation", "Can't create Navigation object in QML.");
48 qmlRegisterUncreatableType<unity::shell::scopes::NavigationInterface>(uri, 0, 2, "Navigation", "Can't create Navigation object in QML.");
47 qmlRegisterUncreatableType<unity::shell::scopes::CategoriesInterface>(uri, 0, 2, "Categories", "Can't create Categories object in QML.");
49 qmlRegisterUncreatableType<unity::shell::scopes::CategoriesInterface>(uri, 0, 2, "Categories", "Can't create Categories object in QML.");
48 qmlRegisterUncreatableType<unity::shell::scopes::PreviewModelInterface>(uri, 0, 2, "PreviewModel", "Can't create new PreviewModel in QML. Get them from PreviewStack instance.");
50 qmlRegisterUncreatableType<unity::shell::scopes::PreviewModelInterface>(uri, 0, 2, "PreviewModel", "Can't create new PreviewModel in QML. Get them from PreviewStack instance.");
tests/plugins/Dash/cardcreator/2.res+3−3
@@ -26,7 +26,7 @@ Loader {
26 gradientColor: getColor(1) || color;
26 gradientColor: getColor(1) || color;
27 anchors.fill: parent;
27 anchors.fill: parent;
28 image: backgroundImage.source ? backgroundImage : null;
28 image: backgroundImage.source ? backgroundImage : null;
29− property real luminance: 0.2126 * color.r + 0.7152 * color.g + 0.0722 * color.b;
29+ property real luminance: Style.luminance(color);
30 property Image backgroundImage: Image {
30 property Image backgroundImage: Image {
31 objectName: "backgroundImage";
31 objectName: "backgroundImage";
32 source: {
32 source: {
@@ -94,7 +94,7 @@ Image {
94 wrapMode: Text.Wrap;
94 wrapMode: Text.Wrap;
95 maximumLineCount: 2;
95 maximumLineCount: 2;
96 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
96 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
97− color: backgroundLoader.active && backgroundLoader.item && backgroundLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : Theme.palette.normal.baseText);
97+ color: backgroundLoader.active && backgroundLoader.item && root.scopeStyle ? root.scopeStyle.getTextColor(backgroundLoader.item.luminance) : (backgroundLoader.item.luminance > 0.7 ? Theme.palette.normal.baseText : "white");
98 visible: showHeader ;
98 visible: showHeader ;
99 text: root.title;
99 text: root.title;
100 font.weight: components && components["subtitle"] ? Font.DemiBold : Font.Normal;
100 font.weight: components && components["subtitle"] ? Font.DemiBold : Font.Normal;
@@ -112,7 +112,7 @@ Image {
112 elide: Text.ElideRight;
112 elide: Text.ElideRight;
113 fontSize: "small";
113 fontSize: "small";
114 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
114 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
115− color: backgroundLoader.active && backgroundLoader.item && backgroundLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : Theme.palette.normal.baseText);
115+ color: backgroundLoader.active && backgroundLoader.item && root.scopeStyle ? root.scopeStyle.getTextColor(backgroundLoader.item.luminance) : (backgroundLoader.item.luminance > 0.7 ? Theme.palette.normal.baseText : "white");
116 visible: titleLabel.visible && titleLabel.text;
116 visible: titleLabel.visible && titleLabel.text;
117 text: cardData && cardData["subtitle"] || "";
117 text: cardData && cardData["subtitle"] || "";
118 font.weight: Font.Light;
118 font.weight: Font.Light;
tests/plugins/Dash/cardcreator/5.res+5−3
@@ -69,7 +69,7 @@ Loader {
69 sourceComponent: ShaderEffect {
69 sourceComponent: ShaderEffect {
70 id: overlay;
70 id: overlay;
71 height: (fixedHeaderHeight > 0 ? fixedHeaderHeight : headerHeight) + units.gu(2);
71 height: (fixedHeaderHeight > 0 ? fixedHeaderHeight : headerHeight) + units.gu(2);
72− property real luminance: 0.2126 * overlayColor.r + 0.7152 * overlayColor.g + 0.0722 * overlayColor.b;
72+ property real luminance: Style.luminance(overlayColor);
73 property color overlayColor: cardData && cardData["overlayColor"] || "#99000000";
73 property color overlayColor: cardData && cardData["overlayColor"] || "#99000000";
74 property var source: ShaderEffectSource {
74 property var source: ShaderEffectSource {
75 id: shaderSource;
75 id: shaderSource;
@@ -103,6 +103,7 @@ Label {
103 id: titleLabel;
103 id: titleLabel;
104 objectName: "titleLabel";
104 objectName: "titleLabel";
105 anchors { right: parent.right;
105 anchors { right: parent.right;
106+ rightMargin: units.gu(1);
106 left: parent.left;
107 left: parent.left;
107 leftMargin: units.gu(1);
108 leftMargin: units.gu(1);
108 top: overlayLoader.top;
109 top: overlayLoader.top;
@@ -113,7 +114,7 @@ Label {
113 wrapMode: Text.Wrap;
114 wrapMode: Text.Wrap;
114 maximumLineCount: 2;
115 maximumLineCount: 2;
115 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
116 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
116− color: overlayLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : Theme.palette.normal.baseText);
117+ color: root.scopeStyle ? root.scopeStyle.getTextColor(overlayLoader.item.luminance) : (overlayLoader.item.luminance > 0.7 ? Theme.palette.normal.baseText : "white");
117 visible: showHeader && overlayLoader.active;
118 visible: showHeader && overlayLoader.active;
118 text: root.title;
119 text: root.title;
119 font.weight: components && components["subtitle"] ? Font.DemiBold : Font.Normal;
120 font.weight: components && components["subtitle"] ? Font.DemiBold : Font.Normal;
@@ -124,6 +125,7 @@ Label {
124 objectName: "subtitleLabel";
125 objectName: "subtitleLabel";
125 anchors { left: titleLabel.left;
126 anchors { left: titleLabel.left;
126 leftMargin: titleLabel.leftMargin;
127 leftMargin: titleLabel.leftMargin;
128+ rightMargin: units.gu(1);
127 right: titleLabel.right;
129 right: titleLabel.right;
128 top: titleLabel.bottom;
130 top: titleLabel.bottom;
129 }
131 }
@@ -131,7 +133,7 @@ Label {
131 elide: Text.ElideRight;
133 elide: Text.ElideRight;
132 fontSize: "small";
134 fontSize: "small";
133 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
135 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
134− color: overlayLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : Theme.palette.normal.baseText);
136+ color: root.scopeStyle ? root.scopeStyle.getTextColor(overlayLoader.item.luminance) : (overlayLoader.item.luminance > 0.7 ? Theme.palette.normal.baseText : "white");
135 visible: titleLabel.visible && titleLabel.text;
137 visible: titleLabel.visible && titleLabel.text;
136 text: cardData && cardData["subtitle"] || "";
138 text: cardData && cardData["subtitle"] || "";
137 font.weight: Font.Light;
139 font.weight: Font.Light;
tests/plugins/Dash/cardcreator/6.res+4−4
@@ -26,7 +26,7 @@ Loader {
26 gradientColor: getColor(1) || color;
26 gradientColor: getColor(1) || color;
27 anchors.fill: parent;
27 anchors.fill: parent;
28 image: backgroundImage.source ? backgroundImage : null;
28 image: backgroundImage.source ? backgroundImage : null;
29− property real luminance: 0.2126 * color.r + 0.7152 * color.g + 0.0722 * color.b;
29+ property real luminance: Style.luminance(color);
30 property Image backgroundImage: Image {
30 property Image backgroundImage: Image {
31 objectName: "backgroundImage";
31 objectName: "backgroundImage";
32 source: {
32 source: {
@@ -70,7 +70,7 @@ Item {
70 wrapMode: Text.Wrap;
70 wrapMode: Text.Wrap;
71 maximumLineCount: 2;
71 maximumLineCount: 2;
72 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
72 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
73− color: backgroundLoader.active && backgroundLoader.item && backgroundLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : Theme.palette.normal.baseText);
73+ color: backgroundLoader.active && backgroundLoader.item && root.scopeStyle ? root.scopeStyle.getTextColor(backgroundLoader.item.luminance) : (backgroundLoader.item.luminance > 0.7 ? Theme.palette.normal.baseText : "white");
74 visible: showHeader ;
74 visible: showHeader ;
75 text: root.title;
75 text: root.title;
76 font.weight: components && components["subtitle"] ? Font.DemiBold : Font.Normal;
76 font.weight: components && components["subtitle"] ? Font.DemiBold : Font.Normal;
@@ -88,7 +88,7 @@ Item {
88 elide: Text.ElideRight;
88 elide: Text.ElideRight;
89 fontSize: "small";
89 fontSize: "small";
90 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
90 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
91− color: backgroundLoader.active && backgroundLoader.item && backgroundLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : Theme.palette.normal.baseText);
91+ color: backgroundLoader.active && backgroundLoader.item && root.scopeStyle ? root.scopeStyle.getTextColor(backgroundLoader.item.luminance) : (backgroundLoader.item.luminance > 0.7 ? Theme.palette.normal.baseText : "white");
92 visible: titleLabel.visible && titleLabel.text;
92 visible: titleLabel.visible && titleLabel.text;
93 text: cardData && cardData["subtitle"] || "";
93 text: cardData && cardData["subtitle"] || "";
94 font.weight: Font.Light;
94 font.weight: Font.Light;
@@ -103,7 +103,7 @@ Item {
103 rightMargin: units.gu(1);
103 rightMargin: units.gu(1);
104 }
104 }
105 source: cardData && cardData["emblem"] || "";
105 source: cardData && cardData["emblem"] || "";
106− color: backgroundLoader.active && backgroundLoader.item && backgroundLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : Theme.palette.normal.baseText);
106+ color: backgroundLoader.active && backgroundLoader.item && root.scopeStyle ? root.scopeStyle.getTextColor(backgroundLoader.item.luminance) : (backgroundLoader.item.luminance > 0.7 ? Theme.palette.normal.baseText : "white");
107 width: height;
107 width: height;
108 height: source != "" ? titleLabel.font.pixelSize : 0;
108 height: source != "" ? titleLabel.font.pixelSize : 0;
109 }
109 }
tests/plugins/Dash/cardcreator/7.res+5−4
@@ -26,7 +26,7 @@ Loader {
26 gradientColor: getColor(1) || color;
26 gradientColor: getColor(1) || color;
27 anchors.fill: parent;
27 anchors.fill: parent;
28 image: backgroundImage.source ? backgroundImage : null;
28 image: backgroundImage.source ? backgroundImage : null;
29− property real luminance: 0.2126 * color.r + 0.7152 * color.g + 0.0722 * color.b;
29+ property real luminance: Style.luminance(color);
30 property Image backgroundImage: Image {
30 property Image backgroundImage: Image {
31 objectName: "backgroundImage";
31 objectName: "backgroundImage";
32 source: {
32 source: {
@@ -95,7 +95,7 @@ Image {
95 wrapMode: Text.Wrap;
95 wrapMode: Text.Wrap;
96 maximumLineCount: 2;
96 maximumLineCount: 2;
97 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
97 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
98− color: backgroundLoader.active && backgroundLoader.item && backgroundLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : Theme.palette.normal.baseText);
98+ color: backgroundLoader.active && backgroundLoader.item && root.scopeStyle ? root.scopeStyle.getTextColor(backgroundLoader.item.luminance) : (backgroundLoader.item.luminance > 0.7 ? Theme.palette.normal.baseText : "white");
99 visible: showHeader ;
99 visible: showHeader ;
100 text: root.title;
100 text: root.title;
101 font.weight: components && components["subtitle"] ? Font.DemiBold : Font.Normal;
101 font.weight: components && components["subtitle"] ? Font.DemiBold : Font.Normal;
@@ -113,7 +113,7 @@ Image {
113 elide: Text.ElideRight;
113 elide: Text.ElideRight;
114 fontSize: "small";
114 fontSize: "small";
115 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
115 font.pixelSize: Math.round(FontUtils.sizeToPixels(fontSize) * fontScale);
116− color: backgroundLoader.active && backgroundLoader.item && backgroundLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : Theme.palette.normal.baseText);
116+ color: backgroundLoader.active && backgroundLoader.item && root.scopeStyle ? root.scopeStyle.getTextColor(backgroundLoader.item.luminance) : (backgroundLoader.item.luminance > 0.7 ? Theme.palette.normal.baseText : "white");
117 visible: titleLabel.visible && titleLabel.text;
117 visible: titleLabel.visible && titleLabel.text;
118 text: cardData && cardData["subtitle"] || "";
118 text: cardData && cardData["subtitle"] || "";
119 font.weight: Font.Light;
119 font.weight: Font.Light;
@@ -127,7 +127,8 @@ Image {
127 rightMargin: units.gu(1);
127 rightMargin: units.gu(1);
128 top: subtitleLabel.bottom;
128 top: subtitleLabel.bottom;
129 }
129 }
130− color: backgroundLoader.active && backgroundLoader.item && backgroundLoader.item.luminance < (root.scopeStyle ? root.scopeStyle.threshold : 0.7) ? (root.scopeStyle ? root.scopeStyle.light : "white") : (root.scopeStyle ? root.scopeStyle.dark : Theme.palette.normal.baseText);
130+ color: backgroundLoader.active && backgroundLoader.item && root.scopeStyle ? root.scopeStyle.getTextColor(backgroundLoader.item.luminance) : (backgroundLoader.item.luminance > 0.7 ? Theme.palette.normal.baseText : "white");
131+ fontScale: root.fontScale;
131 model: cardData && cardData["attributes"];
132 model: cardData && cardData["attributes"];
132 }
133 }
133
134
tests/plugins/Dash/tst_CardAttributes.qml+4−1
@@ -26,7 +26,8 @@ Item {
26 [{"value":"text1","icon":"image://theme/ok"},{"value":"text2","icon":"image://theme/cancel"}],
26 [{"value":"text1","icon":"image://theme/ok"},{"value":"text2","icon":"image://theme/cancel"}],
27 [{"value":"text1","icon":"image://theme/ok"},{"value":"text2","icon":"image://theme/cancel"},{"value":"text3"}],
27 [{"value":"text1","icon":"image://theme/ok"},{"value":"text2","icon":"image://theme/cancel"},{"value":"text3"}],
28 [{"value":"text1","icon":"image://theme/ok"},{"value":"text2","icon":"image://theme/cancel"},{"value":"text3"},{"value":"text4"}],
28 [{"value":"text1","icon":"image://theme/ok"},{"value":"text2","icon":"image://theme/cancel"},{"value":"text3"},{"value":"text4"}],
29− [{"value":"text1","icon":"image://theme/ok"},{"value":"text2","icon":"image://theme/cancel"},{"value":"text3","style":"highlighted"},{"value":"text4","icon":"image://theme/close","style":"highlighted"},{"value":"text5"}]
29+ [{"value":"text1","icon":"image://theme/ok"},{"value":"text2","icon":"image://theme/cancel"},{"value":"text3","style":"highlighted"},{"value":"text4","icon":"image://theme/close","style":"highlighted"},{"value":"text5"}],
30+ [{"value":"text1","icon":"image://theme/ok"},{},{},{},{"value":"text5", "icon": "image://theme/search"}],
30 ]
31 ]
31
32
32 CardAttributes {
33 CardAttributes {
@@ -49,6 +50,8 @@ Item {
49 function test_columns(data) {
50 function test_columns(data) {
50 cardAttributes.model = data;
51 cardAttributes.model = data;
51 compare(cardAttributes.columns, 2 + data.length % 2);
52 compare(cardAttributes.columns, 2 + data.length % 2);
53+ var rows = Math.ceil(data.length / 3);
54+ tryCompare(cardAttributes, "height", rows * units.gu(2) + (rows - 1) * cardAttributes.rowSpacing);
52 }
55 }
53 }
56 }
54}
57}
tests/plugins/Dash/tst_ScopeStyle.qml+73−68
@@ -18,6 +18,7 @@ import QtQuick 2.2
18import QtTest 1.0
18import QtTest 1.0
19import Dash 0.1
19import Dash 0.1
20import Ubuntu.Components 1.1
20import Ubuntu.Components 1.1
21+import Utils 0.1
21
22
22Rectangle {
23Rectangle {
23 width: units.gu(40)
24 width: units.gu(40)
@@ -35,39 +36,23 @@ Rectangle {
35 property color color
36 property color color
36 property var styles: [
37 property var styles: [
37 {},
38 {},
38− { "foreground-color": "red", "background-color": "black", "page-header": { "logo": "/foo/bar" } },
39+ { "foreground-color": "red", "background-color": "black", "page-header": { "logo": "/foo/bar" },
40+ "preview-button-color": "red"},
39− { "foreground-color": "green", "background-color": "white", "page-header": { "foreground-color": "black" } },
41+ { "foreground-color": "green", "background-color": "white",
42+ "page-header": { "foreground-color": "black",
43+ "divider-color": "blue" } },
40− { "foreground-color": "blue", "background-color": "darkgrey", "page-header": { "background": "gradient:///white/blue" } },
44+ { "foreground-color": "blue", "background-color": "darkgrey",
45+ "page-header": { "background": "gradient:///white/blue",
46+ "navigation-background": "gradient:///white/blue" } },
41 ]
47 ]
42
48
43 function cleanup() {
49 function cleanup() {
44 testCase.color = "transparent";
50 testCase.color = "transparent";
45 }
51 }
46
52
47− function test_luminance_data() {
48− return [
49− { tag: "#F00", luminance: 0.2126 },
50− { tag: "#0F0", luminance: 0.7152 },
51− { tag: "#00F", luminance: 0.0722 },
52− { tag: "white", luminance: 1.0 },
53− { tag: "black", luminance: 0.0 },
54− { tag: "lightgrey", luminance: 0.8275 },
55− { tag: "grey", luminance: 0.5020 },
56− { tag: "darkgrey", luminance: 0.6627 },
57− { tag: "red", luminance: 0.2126 },
58− { tag: "green", luminance: 0.3590 },
59− { tag: "blue", luminance: 0.0722 },
60− ];
61− }
62−
63− function test_luminance(data) {
64− testCase.color = data.tag;
65− compare(tool.luminance(testCase.color).toFixed(4), data.luminance.toFixed(4));
66− }
67−
68 function test_foreground_data() {
53 function test_foreground_data() {
69 return [
54 return [
70− { tag: "default", index: 0, foreground: Theme.palette.normal.foreground, luminance: 0.5725 },
55+ { tag: "default", index: 0, foreground: UbuntuColors.darkGrey, luminance: 0.3647 },
71 { tag: "red on black", index: 1, foreground: "red", luminance: 0.2126 },
56 { tag: "red on black", index: 1, foreground: "red", luminance: 0.2126 },
72 { tag: "green on white", index: 2, foreground: "green", luminance: 0.3590 },
57 { tag: "green on white", index: 2, foreground: "green", luminance: 0.3590 },
73 { tag: "blue on darkgrey", index: 3, foreground: "blue", luminance: 0.0722 },
58 { tag: "blue on darkgrey", index: 3, foreground: "blue", luminance: 0.0722 },
@@ -83,7 +68,7 @@ Rectangle {
83
68
84 function test_background_data() {
69 function test_background_data() {
85 return [
70 return [
86− { tag: "default", index: 0, background: "transparent" },
71+ { tag: "default", index: 0, background: "#00f5f5f5", luminance: 0.9608 },
87 { tag: "red on black", index: 1, background: "black", luminance: 0 },
72 { tag: "red on black", index: 1, background: "black", luminance: 0 },
88 { tag: "green on white", index: 2, background: "white", luminance: 1 },
73 { tag: "green on white", index: 2, background: "white", luminance: 1 },
89 { tag: "blue on darkgrey", index: 3, background: "darkgrey", luminance: 0.6627 },
74 { tag: "blue on darkgrey", index: 3, background: "darkgrey", luminance: 0.6627 },
@@ -94,53 +79,35 @@ Rectangle {
94 tool.style = testCase.styles[data.index];
79 tool.style = testCase.styles[data.index];
95 verify(Qt.colorEqual(tool.background, data.background),
80 verify(Qt.colorEqual(tool.background, data.background),
96 "Background color not equal: %1 != %2".arg(tool.background).arg(data.background));
81 "Background color not equal: %1 != %2".arg(tool.background).arg(data.background));
97− if (data.hasOwnProperty("luminance")) {
98− compare(tool.backgroundLuminance.toFixed(4), data.luminance.toFixed(4));
82+ compare(tool.backgroundLuminance.toFixed(4), data.luminance.toFixed(4));
99− }
100 }
83 }
101
84
102− function test_threshold_data() {
85+ function test_getTextColor_data() {
103 return [
86 return [
104− { tag: "default", index: 0, threshold: 0.7863 },
87+ { tag: "default on black", background: "black", index: 0, textColor: "white" },
105− { tag: "red on black", index: 1, threshold: 0.1063 },
88+ { tag: "default on lightgrey", background: "lightgrey", index: 0, textColor: UbuntuColors.darkGrey },
106− { tag: "green on white", index: 2, threshold: 0.6795 },
89+ { tag: "default on white", background: "white", index: 0, textColor: UbuntuColors.darkGrey },
107− { tag: "blue on darkgrey", index: 3, threshold: 0.3675 },
90+ { tag: "default on yellow", background: "yellow", index: 0, textColor: UbuntuColors.darkGrey },
91+ { tag: "red/black on black", background: "black", index: 1, textColor: "red" },
92+ { tag: "red/black on lightgrey", background: "lightgrey", index: 1, textColor: "black" },
93+ { tag: "red/black on white", background: "white", index: 1, textColor: "black" },
94+ { tag: "red/black on yellow", background: "yellow", index: 1, textColor: "black" },
95+ { tag: "green/white on black", background: "black", index: 2, textColor: "white" },
96+ { tag: "green/white on lightgrey", background: "lightgrey", index: 2, textColor: "green" },
97+ { tag: "green/white on white", background: "white", index: 2, textColor: "green" },
98+ { tag: "green/white on yellow", background: "yellow", index: 2, textColor: "green" },
99+ { tag: "blue/darkgrey on black", background: "black", index: 3, textColor: "darkgrey" },
100+ { tag: "blue/darkgrey on lightgrey", background: "lightgrey", index: 3, textColor: "blue" },
101+ { tag: "blue/darkgrey on white", background: "white", index: 3, textColor: "blue" },
102+ { tag: "blue/darkgrey on yellow", background: "yellow", index: 3, textColor: "blue" },
108 ];
103 ];
109 }
104 }
110
105
111− function test_threshold(data) {
106+ function test_getTextColor(data) {
112 tool.style = testCase.styles[data.index];
107 tool.style = testCase.styles[data.index];
113− compare(tool.threshold.toFixed(4), data.threshold.toFixed(4), "Luminance threshold was incorrect.");
108+ var textColor = tool.getTextColor(Style.luminance(data.background));
114− }
115−
116− function test_light_data() {
117− return [
118− { tag: "default", index: 0, light: "white" },
119− { tag: "red on black", index: 1, light: "red" },
120− { tag: "green on white", index: 2, light: "white" },
121− { tag: "blue on darkgrey", index: 3, light: "darkgrey" },
122− ];
123− }
124−
125− function test_light(data) {
126− tool.style = testCase.styles[data.index];
127− verify(Qt.colorEqual(tool.light, data.light),
128− "Light color not equal: %1 != %2".arg(tool.light).arg(data.light));
129− }
130−
131− function test_dark_data() {
132− return [
133− { tag: "default", index: 0, dark: Theme.palette.normal.baseText },
134− { tag: "red on black", index: 1, dark: "black" },
135− { tag: "green on white", index: 2, dark: "green" },
136− { tag: "blue on darkgrey", index: 3, dark: "blue" },
137− ];
138− }
139−
140− function test_dark(data) {
141− tool.style = testCase.styles[data.index];
142− verify(Qt.colorEqual(tool.dark, data.dark),
109+ verify(Qt.colorEqual(textColor, data.textColor),
143− "Dark color not equal: %1 != %2".arg(tool.dark).arg(data.dark));
110+ "TextColor not equal: %1 != %2".arg(textColor).arg(data.textColor));
144 }
111 }
145
112
146 function test_headerLogo_data() {
113 function test_headerLogo_data() {
@@ -157,7 +124,7 @@ Rectangle {
157
124
158 function test_headerForeground_data() {
125 function test_headerForeground_data() {
159 return [
126 return [
160− { tag: "default", index: 0, headerForeground: Theme.palette.normal.baseText },
127+ { tag: "default", index: 0, headerForeground: UbuntuColors.darkGrey },
161 { tag: "black", index: 2, headerForeground: "black" },
128 { tag: "black", index: 2, headerForeground: "black" },
162 ];
129 ];
163 }
130 }
@@ -170,7 +137,7 @@ Rectangle {
170
137
171 function test_headerBackground_data() {
138 function test_headerBackground_data() {
172 return [
139 return [
173− { tag: "default", index: 0, headerBackground: "" },
140+ { tag: "default", index: 0, headerBackground: "color:///#f5f5f5" },
174 { tag: "black", index: 3, headerBackground: "gradient:///white/blue" },
141 { tag: "black", index: 3, headerBackground: "gradient:///white/blue" },
175 ];
142 ];
176 }
143 }
@@ -179,5 +146,43 @@ Rectangle {
179 tool.style = testCase.styles[data.index];
146 tool.style = testCase.styles[data.index];
180 compare(tool.headerBackground, data.headerBackground, "Header background was incorrect.");
147 compare(tool.headerBackground, data.headerBackground, "Header background was incorrect.");
181 }
148 }
149+
150+ function test_headerDividerColor_data() {
151+ return [
152+ { tag: "default", index: 0, headerDividerColor: "#e0e0e0" },
153+ { tag: "blue", index: 2, headerDividerColor: "blue" },
154+ ];
155+ }
156+
157+ function test_headerDividerColor(data) {
158+ tool.style = testCase.styles[data.index];
159+ verify(Qt.colorEqual(tool.headerDividerColor, data.headerDividerColor),
160+ "Header divider color not equal: %1 != %2".arg(tool.headerDividerColor).arg(data.headerDividerColor));
161+ }
162+
163+ function test_navigationBackground_data() {
164+ return [
165+ { tag: "default", index: 0, navigationBackground: "color:///#f5f5f5" },
166+ { tag: "black", index: 3, navigationBackground: "gradient:///white/blue" },
167+ ];
168+ }
169+
170+ function test_navigationBackground(data) {
171+ tool.style = testCase.styles[data.index];
172+ compare(tool.navigationBackground, data.navigationBackground, "Navigation background was incorrect.");
173+ }
174+
175+ function test_previewButtonColor_data() {
176+ return [
177+ { tag: "default", index: 0, previewButtonColor: Theme.palette.selected.foreground },
178+ { tag: "red", index: 1, previewButtonColor: "red" },
179+ ];
180+ }
181+
182+ function test_previewButtonColor(data) {
183+ tool.style = testCase.styles[data.index];
184+ verify(Qt.colorEqual(tool.previewButtonColor, data.previewButtonColor),
185+ "Preview button color not equal: %1 != %2".arg(tool.previewButtonColor).arg(data.previewButtonColor));
186+ }
182 }
187 }
183}
188}
tests/plugins/Unity/Indicators/rootactionstatetest.cpp+4−4
@@ -50,7 +50,7 @@ private Q_SLOTS:
50
50
51 QCOMPARE(rootState->menu(), menuModel);
51 QCOMPARE(rootState->menu(), menuModel);
52 delete menuModel;
52 delete menuModel;
53− QVERIFY(rootState->menu() == NULL);
53+ QVERIFY(rootState->menu() == nullptr);
54 delete rootState;
54 delete rootState;
55 }
55 }
56
56
@@ -60,8 +60,8 @@ private Q_SLOTS:
60 g_variant_builder_init(&builderIcons, G_VARIANT_TYPE("av"));
60 g_variant_builder_init(&builderIcons, G_VARIANT_TYPE("av"));
61 for (int i = 0; i < 3; i ++) {
61 for (int i = 0; i < 3; i ++) {
62
62
63− GIcon* icon = NULL;
63+ GIcon* icon = nullptr;
64− icon = g_icon_new_for_string (QString("testIcon%1").arg(i).toUtf8().constData(), NULL);
64+ icon = g_icon_new_for_string (QString("testIcon%1").arg(i).toUtf8().constData(), nullptr);
65
65
66 g_variant_builder_add(&builderIcons,
66 g_variant_builder_add(&builderIcons,
67 "v",
67 "v",
@@ -73,7 +73,7 @@ private Q_SLOTS:
73 g_variant_builder_init(&builderParams, G_VARIANT_TYPE_ARRAY);
73 g_variant_builder_init(&builderParams, G_VARIANT_TYPE_ARRAY);
74 GVariant* icons = g_variant_builder_end (&builderIcons);
74 GVariant* icons = g_variant_builder_end (&builderIcons);
75 g_variant_ref_sink (icons);
75 g_variant_ref_sink (icons);
76− g_variant_builder_add (&builderParams, "{sv}", g_strdup ("icons"), icons, NULL);
76+ g_variant_builder_add (&builderParams, "{sv}", g_strdup ("icons"), icons, nullptr);
77
77
78 GVariant* params = g_variant_builder_end (&builderParams);
78 GVariant* params = g_variant_builder_end (&builderParams);
79
79
tests/plugins/Unity/Indicators/unitymenumodelstacktest.cpp+1−1
@@ -42,7 +42,7 @@ private Q_SLOTS:
42 void cleanup()
42 void cleanup()
43 {
43 {
44 delete m_model;
44 delete m_model;
45− m_model = NULL;
45+ m_model = nullptr;
46 }
46 }
47
47
48 void testHeadOnSetHead()
48 void testHeadOnSetHead()
tests/plugins/Utils/CMakeLists.txt+5
@@ -27,3 +27,8 @@ run_tests(
27 qsortfilterproxymodeltest
27 qsortfilterproxymodeltest
28 timeformattertest
28 timeformattertest
29 )
29 )
30+
31+# plain qml test
32+set(qmltest_DEFAULT_TARGETS qmltests)
33+set(qmltest_DEFAULT_PROPERTIES ENVIRONMENT "QT_QPA_PLATFORM=minimal")
34+add_qml_test(. UtilsStyle IMPORT_PATHS ${CMAKE_BINARY_DIR}/plugins)
tests/plugins/Utils/tst_UtilsStyle.qmlnew file+47
@@ -0,0 +1,47 @@
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+import QtQuick 2.2
18+import QtTest 1.0
19+import Utils 0.1
20+
21+TestCase {
22+ id: testCase
23+ name: "UtilsStyle"
24+
25+ property color color
26+
27+ function test_luminance_data() {
28+ return [
29+ { tag: "#F00", luminance: 0.2126 },
30+ { tag: "#0F0", luminance: 0.7152 },
31+ { tag: "#00F", luminance: 0.0722 },
32+ { tag: "white", luminance: 1.0 },
33+ { tag: "black", luminance: 0.0 },
34+ { tag: "lightgrey", luminance: 0.8275 },
35+ { tag: "grey", luminance: 0.5020 },
36+ { tag: "darkgrey", luminance: 0.6627 },
37+ { tag: "red", luminance: 0.2126 },
38+ { tag: "green", luminance: 0.3590 },
39+ { tag: "blue", luminance: 0.0722 },
40+ ];
41+ }
42+
43+ function test_luminance(data) {
44+ testCase.color = data.tag;
45+ compare(Style.luminance(testCase.color).toFixed(4), data.luminance.toFixed(4));
46+ }
47+}
tests/qmltests/CMakeLists.txt+6
@@ -50,10 +50,16 @@ add_qml_test(Dash/Previews PreviewPayments)
50add_qml_test(Dash/Previews PreviewProgress)
50add_qml_test(Dash/Previews PreviewProgress)
51add_qml_test(Dash/Previews PreviewRatingDisplay)
51add_qml_test(Dash/Previews PreviewRatingDisplay)
52add_qml_test(Dash/Previews PreviewRatingInput)
52add_qml_test(Dash/Previews PreviewRatingInput)
53+add_qml_test(Dash/Previews PreviewTable)
53add_qml_test(Dash/Previews PreviewTextSummary)
54add_qml_test(Dash/Previews PreviewTextSummary)
54add_qml_test(Dash/Previews PreviewVideoPlayback)
55add_qml_test(Dash/Previews PreviewVideoPlayback)
55add_qml_test(Dash/Previews PreviewWidgetFactory)
56add_qml_test(Dash/Previews PreviewWidgetFactory)
56add_qml_test(Dash/Previews PreviewZoomableImage)
57add_qml_test(Dash/Previews PreviewZoomableImage)
58+add_qml_test(Dash/ScopeSettings ScopeSettingBoolean)
59+add_qml_test(Dash/ScopeSettings ScopeSettingList)
60+add_qml_test(Dash/ScopeSettings ScopeSettingNumber)
61+add_qml_test(Dash/ScopeSettings ScopeSettingString)
62+add_qml_test(Dash/ScopeSettings ScopeSettingsWidgetFactory)
57add_qml_test(Greeter Lockscreen ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/tests/mocks/libusermetrics:${CMAKE_BINARY_DIR}/tests/mocks/LightDM/full")
63add_qml_test(Greeter Lockscreen ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/tests/mocks/libusermetrics:${CMAKE_BINARY_DIR}/tests/mocks/LightDM/full")
58add_qml_test(Greeter MultiGreeter ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/tests/mocks/libusermetrics:${CMAKE_BINARY_DIR}/tests/mocks/LightDM/full")
64add_qml_test(Greeter MultiGreeter ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/tests/mocks/libusermetrics:${CMAKE_BINARY_DIR}/tests/mocks/LightDM/full")
59add_qml_test(Greeter SingleGreeter ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/tests/mocks/libusermetrics:${CMAKE_BINARY_DIR}/tests/mocks/LightDM/single")
65add_qml_test(Greeter SingleGreeter ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/tests/mocks/libusermetrics:${CMAKE_BINARY_DIR}/tests/mocks/LightDM/single")
tests/qmltests/Components/tst_Background.qml+5−4
@@ -46,10 +46,10 @@ Rectangle {
46
46
47 function test_style_data() {
47 function test_style_data() {
48 return [
48 return [
49− { tag: "empty", style: "" },
49+ { tag: "empty", style: "", luminance: 0.5 },
50− { tag: "solid", style: "color:///black" },
50+ { tag: "solid", style: "color:///black", luminance: 0 },
51− { tag: "gradient", style: "gradient:///black/red" },
51+ { tag: "gradient", style: "gradient:///black/red", luminance: 0.1063 },
52− { tag: "image", style: "/some/path" },
52+ { tag: "image", style: "/some/path", luminance: 0.5 },
53 ];
53 ];
54 }
54 }
55
55
@@ -58,6 +58,7 @@ Rectangle {
58 expectFail("empty", "Empty style should not create a background.");
58 expectFail("empty", "Empty style should not create a background.");
59 loadedSpy.wait();
59 loadedSpy.wait();
60 compare(background.item.objectName, data.tag, "Background should be %1".arg(data.style));
60 compare(background.item.objectName, data.tag, "Background should be %1".arg(data.style));
61+ compare(background.luminance, data.luminance);
61 }
62 }
62
63
63 function test_solid() {
64 function test_solid() {
tests/qmltests/Dash/Previews/tst_PreviewActions.qml+8−8
@@ -27,21 +27,21 @@ Rectangle {
27 height: units.gu(80)
27 height: units.gu(80)
28
28
29 property var actionDataOneAction: {
29 property var actionDataOneAction: {
30− "actions": [{"label": "Some Label", "icon": "../graphics/play_button.png", "id": "someid"}]
30+ "actions": [{"label": "Some Label", "id": "someid"}]
31 }
31 }
32
32
33 property var actionDataTwoActions: {
33 property var actionDataTwoActions: {
34− "actions": [{"label": "Some Label A", "icon": "../graphics/icon_clear.png", "id": "someid1"},
34+ "actions": [{"label": "Some Label A", "id": "someid1"},
35− {"label": "Some Label B", "icon": "../graphics/play_button.png", "id": "someid2"}
35+ {"label": "Some Label B", "id": "someid2"}
36 ]
36 ]
37 }
37 }
38
38
39 property var actionDataFiveActions: {
39 property var actionDataFiveActions: {
40− "actions": [{"label": "Some Label C", "icon": "../graphics/play_button.png", "id": "someid3"},
40+ "actions": [{"label": "Some Label C", "id": "someid3"},
41− {"label": "Some Label D", "icon": "../graphics/icon_clear.png", "id": "someid4"},
41+ {"label": "Some Label D", "id": "someid4"},
42− {"label": "Some Label E", "icon": "../graphics/play_button.png", "id": "someid5"},
42+ {"label": "Some Label E", "id": "someid5"},
43− {"label": "Some Label F", "icon": "../graphics/icon_clear.png", "id": "someid6"},
43+ {"label": "Some Label F", "id": "someid6"},
44− {"label": "Some Label G", "icon": "../graphics/play_button.png", "id": "someid7"}
44+ {"label": "Some Label G", "id": "someid7"}
45 ]
45 ]
46 }
46 }
47
47
tests/qmltests/Dash/Previews/tst_PreviewExpandable.qml+5−1
@@ -30,6 +30,10 @@ Rectangle {
30 property string longText2: "This is a very very very long text. 1 This is a very very very long text. 2 This is a very very very long text. 3 This is a very very very long text. 4 This is a very very very long text. 5 This is a very very very long text. 6 This is a very very very long text. 7 This is a very very very long text. 8 This is a very very very long text. 9 This is a very very very long text. 10 This is a very very very long text. 11 This is a very very very long text."
30 property string longText2: "This is a very very very long text. 1 This is a very very very long text. 2 This is a very very very long text. 3 This is a very very very long text. 4 This is a very very very long text. 5 This is a very very very long text. 6 This is a very very very long text. 7 This is a very very very long text. 8 This is a very very very long text. 9 This is a very very very long text. 10 This is a very very very long text. 11 This is a very very very long text."
31 property string shortText: "This is a short text :)"
31 property string shortText: "This is a short text :)"
32
32
33+ property var tableData: {
34+ "values": [ [ "Long Label 1", "Value 1"], [ "Label 2", "Long Value 2"], [ "Label 3", "Value 3"], [ "Label 4", "Value 4"], [ "Label 5", "Value 5"] ]
35+ }
36+
33 ListModel {
37 ListModel {
34 id: widgetsModel
38 id: widgetsModel
35 }
39 }
@@ -42,7 +46,7 @@ Rectangle {
42
46
43 Component.onCompleted: {
47 Component.onCompleted: {
44 widgetsModel.append({"type": "text", "widgetId": "text1", "properties": { "text": longText }});
48 widgetsModel.append({"type": "text", "widgetId": "text1", "properties": { "text": longText }});
45− widgetsModel.append({"type": "text", "widgetId": "text2", "properties": { "text": longText2 }});
49+ widgetsModel.append({"type": "text", "widgetId": "table1", "properties": { "text": tableData }});
46 widgetsModel.append({"type": "text", "widgetId": "text3", "properties": { "text": shortText }});
50 widgetsModel.append({"type": "text", "widgetId": "text3", "properties": { "text": shortText }});
47 widgetsModel.append({"type": "text", "widgetId": "text4", "properties": { "text": longText }});
51 widgetsModel.append({"type": "text", "widgetId": "text4", "properties": { "text": longText }});
48 }
52 }
tests/qmltests/Dash/Previews/tst_PreviewTable.qmlnew file+114
@@ -0,0 +1,114 @@
1+/*
2+ * Copyright 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+import QtQuick 2.0
18+import QtTest 1.0
19+import Ubuntu.Components 0.1
20+import "../../../../qml/Dash/Previews"
21+import Unity.Test 0.1 as UT
22+
23+Rectangle {
24+ id: root
25+ width: units.gu(40)
26+ height: units.gu(80)
27+ color: Theme.palette.selected.background
28+
29+ property var widgetDataComplete: {
30+ "title": "Title here",
31+ "values": [ [ "Long Label 1", "Value 1"], [ "Label 2", "Long Value 2"], [ "Label 3", "Value 3"], [ "Label 4", "Value 4"], [ "Label 5", "Value 5"] ]
32+ }
33+
34+ property var widgetDataNoTitle: {
35+ "values": [ [ "Long Label 1", "Value 1"], [ "Label 2", "Long Value 2"], [ "Label 3", "Value 3"], [ "Label 4", "Value 4"], [ "Label 5", "Value 5"] ]
36+ }
37+
38+ PreviewTable {
39+ id: previewTable
40+ anchors { left: parent.left; right: parent.right }
41+ widgetData: widgetDataComplete
42+
43+ Rectangle {
44+ color: "red"
45+ anchors.fill: parent
46+ opacity: 0.5
47+ }
48+ }
49+
50+ UT.UnityTestCase {
51+ name: "PreviewTableTest"
52+ when: windowShown
53+
54+ function init() {
55+ previewTable.widgetData = widgetDataComplete;
56+ }
57+
58+ function test_values() {
59+ compare(findChild(previewTable, "label00").text, "Long Label 1");
60+ compare(findChild(previewTable, "label01").text, "Value 1");
61+ compare(findChild(previewTable, "label10").text, "Label 2");
62+ compare(findChild(previewTable, "label11").text, "Long Value 2");
63+ compare(findChild(previewTable, "label20").text, "Label 3");
64+ compare(findChild(previewTable, "label21").text, "Value 3");
65+ compare(findChild(previewTable, "label30").text, "Label 4");
66+ compare(findChild(previewTable, "label31").text, "Value 4");
67+ compare(findChild(previewTable, "label40").text, "Label 5");
68+ compare(findChild(previewTable, "label41").text, "Value 5");
69+ }
70+
71+ function test_optional_title() {
72+ var titleLabel = findChild(previewTable, "titleLabel");
73+ compare(titleLabel.visible, true);
74+ var titleHeight = titleLabel.height;
75+ var prevHeight = previewTable.height;
76+
77+ previewTable.widgetData = widgetDataNoTitle;
78+ var column = findChild(previewTable, "column");
79+ tryCompare(previewTable, "height", prevHeight - titleHeight - column.spacing );
80+ }
81+
82+ function test_show_collapsed() {
83+ verify(findChild(previewTable, "label00").visible);
84+ verify(findChild(previewTable, "label01").visible);
85+ verify(findChild(previewTable, "label10").visible);
86+ verify(findChild(previewTable, "label11").visible);
87+ verify(findChild(previewTable, "label20").visible);
88+ verify(findChild(previewTable, "label21").visible);
89+ verify(findChild(previewTable, "label30").visible);
90+ verify(findChild(previewTable, "label31").visible);
91+ verify(findChild(previewTable, "label40").visible);
92+ verify(findChild(previewTable, "label41").visible);
93+
94+ waitForRendering(previewTable);
95+ var prevHeight = previewTable.height;
96+ previewTable.expanded = false;
97+
98+ verify(findChild(previewTable, "label00").visible);
99+ verify(findChild(previewTable, "label01").visible);
100+ verify(findChild(previewTable, "label10").visible);
101+ verify(findChild(previewTable, "label11").visible);
102+ verify(findChild(previewTable, "label20").visible);
103+ verify(findChild(previewTable, "label21").visible);
104+ verify(!findChild(previewTable, "label30").visible);
105+ verify(!findChild(previewTable, "label31").visible);
106+ verify(!findChild(previewTable, "label40").visible);
107+ verify(!findChild(previewTable, "label41").visible);
108+
109+ var labelHeight = findChild(previewTable, "label00").height;
110+ var gridLayout = findChild(previewTable, "gridLayout");
111+ tryCompare(previewTable, "height", prevHeight - labelHeight * 2 - gridLayout.rowSpacing * 2);
112+ }
113+ }
114+}
tests/qmltests/Dash/Previews/tst_PreviewWidgetFactory.qml+2−1
@@ -84,6 +84,7 @@ Rectangle {
84 { tag: "Progress", type: "progress", source: "PreviewProgress.qml" },
84 { tag: "Progress", type: "progress", source: "PreviewProgress.qml" },
85 { tag: "Rating Input", type: "rating-input", source: "PreviewRatingInput.qml" },
85 { tag: "Rating Input", type: "rating-input", source: "PreviewRatingInput.qml" },
86 { tag: "Rating Display", type: "reviews", source: "PreviewRatingDisplay.qml" },
86 { tag: "Rating Display", type: "reviews", source: "PreviewRatingDisplay.qml" },
87+ { tag: "Table", type: "table", source: "PreviewTable.qml" },
87 { tag: "Text", type: "text", source: "PreviewTextSummary.qml" },
88 { tag: "Text", type: "text", source: "PreviewTextSummary.qml" },
88 { tag: "Video", type: "video", source: "PreviewVideoPlayback.qml" },
89 { tag: "Video", type: "video", source: "PreviewVideoPlayback.qml" },
89 ];
90 ];
@@ -93,7 +94,7 @@ Rectangle {
93 factory.widgetData = { type: data.type };
94 factory.widgetData = { type: data.type };
94 factory.widgetType = data.type;
95 factory.widgetType = data.type;
95
96
96− verify(("" + factory.source).indexOf(data.source) != -1);
97+ verify((String(factory.source)).indexOf(data.source) != -1);
97 }
98 }
98 }
99 }
99}
100}
tests/qmltests/Dash/ScopeSettings/tst_ScopeSettingBoolean.qmlnew file+62
@@ -0,0 +1,62 @@
1+/*
2+ * Copyright 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+import QtQuick 2.0
18+import Ubuntu.Components 1.1
19+import QtTest 1.0
20+import "../../../../qml/Dash/ScopeSettings"
21+import Unity.Test 0.1 as UT
22+
23+Rectangle {
24+ id: root
25+ width: units.gu(40)
26+ height: units.gu(80)
27+
28+ property var settingData: {
29+ "displayName" : "Mock boolean setting",
30+ "value": true
31+ }
32+
33+ ScopeSettingBoolean {
34+ id: scopeSetting
35+ widgetData: settingData
36+ width: parent.width
37+ }
38+
39+ SignalSpy {
40+ id: spy
41+ target: scopeSetting
42+ signalName: "updated"
43+ }
44+
45+ UT.UnityTestCase {
46+ id: testCase
47+ name: "ScopeSettingBoolean"
48+ when: windowShown
49+
50+ function test_updated() {
51+ var control = findChild(scopeSetting, "control");
52+ mouseClick(control, control.width / 2, control.height / 2);
53+ spy.wait();
54+ compare(spy.signalArguments[0][0], false);
55+
56+ spy.clear();
57+ mouseClick(scopeSetting, scopeSetting.width / 2, scopeSetting.height / 2);
58+ spy.wait();
59+ compare(spy.signalArguments[0][0], true);
60+ }
61+ }
62+}
tests/qmltests/Dash/ScopeSettings/tst_ScopeSettingList.qmlnew file+84
@@ -0,0 +1,84 @@
1+/*
2+ * Copyright 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+import QtQuick 2.0
18+import Ubuntu.Components 1.1
19+import QtTest 1.0
20+import "../../../../qml/Dash/ScopeSettings"
21+import Unity.Test 0.1 as UT
22+
23+Rectangle {
24+ id: root
25+ width: units.gu(40)
26+ height: units.gu(80)
27+
28+ property var settingData: {
29+ "displayName" : "Mock list setting",
30+ "properties": { "values" : [ "first", "second", "third" ] }
31+ }
32+
33+ ScopeSettingList {
34+ id: scopeSetting
35+ width: parent.width
36+ widgetData: settingData
37+ }
38+
39+ SignalSpy {
40+ id: spy
41+ target: scopeSetting
42+ signalName: "updated"
43+ }
44+
45+ UT.UnityTestCase {
46+ id: testCase
47+ name: "ScopeSettingList"
48+ when: windowShown
49+
50+ property var control: findChild(scopeSetting, "control")
51+
52+ function cleanup() {
53+ control.selectedIndex = 0;
54+ spy.clear();
55+ }
56+
57+ function test_initialValue() {
58+ // there's no initialIndex, so we workaround, testing is difficult too https://bugs.launchpad.net/ubuntu-ui-toolkit/+bug/1362031
59+ var newObject = Qt.createQmlObject('import "../../../../qml/Dash/ScopeSettings" \n\
60+ ScopeSettingList { initialValue: 2; }', root, "dynamicScopeSettingList");
61+ newObject.widgetData = settingData;
62+ var controlDynamic = findChild(newObject, "control");
63+ tryCompare(controlDynamic, "selectedIndex", 2);
64+ }
65+
66+ function test_updated_data() {
67+ return [
68+ { tag: "current", index: 0, updated: false },
69+ { tag: "second", index: 1, updated: true },
70+ { tag: "third", index: 2, updated: true }
71+ ]
72+ }
73+
74+ function test_updated(data) {
75+ control.selectedIndex = data.index;
76+ if (data.updated) {
77+ spy.wait();
78+ compare(spy.signalArguments[0][0], data.index);
79+ } else {
80+ compare(spy.count, 0);
81+ }
82+ }
83+ }
84+}
tests/qmltests/Dash/ScopeSettings/tst_ScopeSettingNumber.qmlnew file+98
@@ -0,0 +1,98 @@
1+/*
2+ * Copyright 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+import QtQuick 2.0
18+import Ubuntu.Components 1.1
19+import QtTest 1.0
20+import "../../../../qml/Dash/ScopeSettings"
21+import Unity.Test 0.1 as UT
22+
23+Rectangle {
24+ id: root
25+ width: units.gu(40)
26+ height: units.gu(80)
27+
28+ property var settingData: {
29+ "displayName" : "Mock number setting",
30+ "value": 0.2
31+ }
32+
33+ ScopeSettingNumber {
34+ id: scopeSetting
35+ widgetData: settingData
36+ width: parent.width
37+ }
38+
39+ SignalSpy {
40+ id: spy
41+ target: scopeSetting
42+ signalName: "updated"
43+ }
44+
45+ UT.UnityTestCase {
46+ id: testCase
47+ name: "ScopeSettingNumber"
48+ when: windowShown
49+
50+ property var control: findChild(scopeSetting, "control")
51+ property real newNumber: 11.7
52+
53+ function cleanup() {
54+ control.focus = false;
55+ control.text = settingData.value;
56+ spy.clear();
57+ }
58+
59+ function test_updated_on_unfocus() {
60+ mouseClick(control, control.width / 2, control.height / 2);
61+ control.selectAll();
62+ control.cut();
63+ control.insert(0, newNumber);
64+ control.focus = false;
65+ spy.wait();
66+ verify(spy.signalArguments[0][0] == newNumber);
67+ }
68+
69+ function test_updated_on_accepted() {
70+ mouseClick(control, control.width / 2, control.height / 2);
71+ control.selectAll();
72+ control.cut();
73+ control.insert(0, newNumber);
74+ control.accepted();
75+ spy.wait();
76+ verify(spy.signalArguments[0][0] == newNumber);
77+ }
78+
79+ function test_selection_on_listitem_click() {
80+ mouseClick(scopeSetting, 0, scopeSetting.height / 2);
81+ compare(control.focus, true);
82+ // we're checking that selectAll() is being called by omitting it here
83+ control.cut();
84+ control.insert(0, newNumber);
85+ verify(control.displayText == newNumber);
86+ }
87+
88+ function test_unacceptable_input() {
89+ mouseClick(control, control.width / 2, control.height / 2);
90+ control.selectAll();
91+ control.cut();
92+ control.insert(0, "not valid");
93+ control.accepted();
94+ compare(spy.count, 0);
95+ compare(control.displayText, "");
96+ }
97+ }
98+}
tests/qmltests/Dash/ScopeSettings/tst_ScopeSettingString.qmlnew file+88
@@ -0,0 +1,88 @@
1+/*
2+ * Copyright 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+import QtQuick 2.0
18+import Ubuntu.Components 1.1
19+import QtTest 1.0
20+import "../../../../qml/Dash/ScopeSettings"
21+import Unity.Test 0.1 as UT
22+
23+Rectangle {
24+ id: root
25+ width: units.gu(40)
26+ height: units.gu(80)
27+
28+ property var settingData: {
29+ "displayName" : "Mock string setting",
30+ "value": "mock string"
31+ }
32+
33+ ScopeSettingString {
34+ id: scopeSetting
35+ widgetData: settingData
36+ width: parent.width
37+ }
38+
39+ SignalSpy {
40+ id: spy
41+ target: scopeSetting
42+ signalName: "updated"
43+ }
44+
45+ UT.UnityTestCase {
46+ id: testCase
47+ name: "ScopeSettingString"
48+ when: windowShown
49+
50+ property var control: findChild(scopeSetting, "control")
51+ property string newText: "new text to compare"
52+
53+ function cleanup() {
54+ control.focus = false;
55+ control.text = settingData.value;
56+ spy.clear();
57+ }
58+
59+ function test_updated_on_unfocus() {
60+ mouseClick(control, control.width / 2, control.height / 2);
61+ control.selectAll();
62+ control.cut();
63+ control.insert(0, newText);
64+ control.focus = false;
65+ spy.wait();
66+ compare(spy.signalArguments[0][0], newText);
67+ }
68+
69+ function test_updated_on_accepted() {
70+ mouseClick(control, control.width / 2, control.height / 2);
71+ control.selectAll();
72+ control.cut();
73+ control.insert(0, newText);
74+ control.accepted();
75+ spy.wait();
76+ compare(spy.signalArguments[0][0], newText);
77+ }
78+
79+ function test_selection_on_listitem_click() {
80+ mouseClick(scopeSetting, 0, scopeSetting.height / 2);
81+ compare(control.focus, true);
82+ // we're checking that selectAll() is being called by omitting it here
83+ control.cut();
84+ control.insert(0, newText);
85+ compare(control.displayText, newText);
86+ }
87+ }
88+}
tests/qmltests/Dash/ScopeSettings/tst_ScopeSettingsWidgetFactory.qmlnew file+65
@@ -0,0 +1,65 @@
1+/*
2+ * Copyright 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+import QtQuick 2.0
18+import Ubuntu.Components 1.1
19+import QtTest 1.0
20+import "../../../../qml/Dash/ScopeSettings"
21+import Unity.Test 0.1 as UT
22+
23+Rectangle {
24+ id: root
25+ width: units.gu(40)
26+ height: units.gu(80)
27+
28+ property var settingData: {
29+ "type": "",
30+ "displayName" : "Mock setting",
31+ "value": "1",
32+ "properties": { "values" : [ "first", "second", "third" ] }
33+ }
34+
35+ ScopeSettingsWidgetFactory {
36+ id: scopeSettingsWidgetFactory
37+ anchors {
38+ left: parent.left
39+ right: parent.right
40+ }
41+ }
42+
43+ UT.UnityTestCase {
44+ id: testCase
45+ name: "ScopeSettingWidgetFactory"
46+ when: windowShown
47+
48+ function test_mapping_data() {
49+ return [
50+ { tag: "Boolean", type: "boolean", source: "ScopeSettingBoolean.qml" },
51+ { tag: "List", type: "list", source: "ScopeSettingList.qml" },
52+ { tag: "Number", type: "number", source: "ScopeSettingNumber.qml" },
53+ { tag: "String", type: "string", source: "ScopeSettingString.qml" }
54+ ];
55+ }
56+
57+ function test_mapping(data) {
58+ var newSettingData = settingData;
59+ newSettingData.type = data.type;
60+ scopeSettingsWidgetFactory.widgetData = newSettingData;
61+
62+ verify((String(scopeSettingsWidgetFactory.source)).indexOf(data.source) != -1);
63+ }
64+ }
65+}
tests/qmltests/Dash/artwork/background.pngnew file

Binary file not shown.

tests/qmltests/Dash/tst_Card.qml+62−1
@@ -96,6 +96,11 @@ Rectangle {
96 "layout": { "template": { "card-background": Qt.resolvedUrl("artwork/checkers.png") },
96 "layout": { "template": { "card-background": Qt.resolvedUrl("artwork/checkers.png") },
97 "components": JSON.parse(Helpers.fullMapping) }
97 "components": JSON.parse(Helpers.fullMapping) }
98 },
98 },
99+ {
100+ "name": "Art, title - overlaid",
101+ "layout": { "template": { "overlay": true },
102+ "components": { "art": "art", "title": "title" } }
103+ },
99 ]
104 ]
100
105
101 CardTool {
106 CardTool {
@@ -217,6 +222,7 @@ Rectangle {
217
222
218 function test_card_binding(data) {
223 function test_card_binding(data) {
219 selector.selectedIndex = data.index;
224 selector.selectedIndex = data.index;
225+ waitForRendering(selector);
220 waitForRendering(card);
226 waitForRendering(card);
221
227
222 tryCompareFunction(function() { return testCase[data.object] !== null }, true);
228 tryCompareFunction(function() { return testCase[data.object] !== null }, true);
@@ -247,6 +253,8 @@ Rectangle {
247
253
248 function test_card_size(data) {
254 function test_card_size(data) {
249 selector.selectedIndex = data.index;
255 selector.selectedIndex = data.index;
256+ waitForRendering(selector);
257+ waitForRendering(card);
250
258
251 if (data.hasOwnProperty("card_layout")) {
259 if (data.hasOwnProperty("card_layout")) {
252 cardTool.template['card-layout'] = data.card_layout;
260 cardTool.template['card-layout'] = data.card_layout;
@@ -279,6 +287,7 @@ Rectangle {
279
287
280 function test_art_size(data) {
288 function test_art_size(data) {
281 selector.selectedIndex = data.index;
289 selector.selectedIndex = data.index;
290+ waitForRendering(selector);
282 if (data.hasOwnProperty("size")) {
291 if (data.hasOwnProperty("size")) {
283 cardTool.template['card-size'] = data.size;
292 cardTool.template['card-size'] = data.size;
284 cardTool.templateChanged();
293 cardTool.templateChanged();
@@ -310,6 +319,7 @@ Rectangle {
310
319
311 function test_art_shape_fixed_size() {
320 function test_art_shape_fixed_size() {
312 selector.selectedIndex = 6;
321 selector.selectedIndex = 6;
322+ waitForRendering(selector);
313 card.fixedArtShapeSize = Qt.size( units.gu(8), units.gu(4) );
323 card.fixedArtShapeSize = Qt.size( units.gu(8), units.gu(4) );
314 waitForRendering(card);
324 waitForRendering(card);
315 tryCompare(art, "width", units.gu(8));
325 tryCompare(art, "width", units.gu(8));
@@ -326,6 +336,7 @@ Rectangle {
326
336
327 function test_art_layout(data) {
337 function test_art_layout(data) {
328 selector.selectedIndex = data.index;
338 selector.selectedIndex = data.index;
339+ waitForRendering(selector);
329 waitForRendering(card);
340 waitForRendering(card);
330
341
331 tryCompare(headerRow, "x", data.left());
342 tryCompare(headerRow, "x", data.left());
@@ -344,6 +355,7 @@ Rectangle {
344
355
345 function test_header_layout(data) {
356 function test_header_layout(data) {
346 selector.selectedIndex = data.index;
357 selector.selectedIndex = data.index;
358+ waitForRendering(selector);
347 waitForRendering(card);
359 waitForRendering(card);
348
360
349 tryCompareFunction(function() { return testCase.headerRow.y === data.top() }, true);
361 tryCompareFunction(function() { return testCase.headerRow.y === data.top() }, true);
@@ -359,7 +371,7 @@ Rectangle {
359
371
360 function test_summary_layout(data) {
372 function test_summary_layout(data) {
361 selector.selectedIndex = data.index;
373 selector.selectedIndex = data.index;
362−
374+ waitForRendering(selector);
363 waitForRendering(card);
375 waitForRendering(card);
364
376
365 tryCompareFunction(function() { return art.height > 0 && testCase.summary.y === data.top() }, true);
377 tryCompareFunction(function() { return art.height > 0 && testCase.summary.y === data.top() }, true);
@@ -367,6 +379,8 @@ Rectangle {
367
379
368 function test_art_visibility() {
380 function test_art_visibility() {
369 selector.selectedIndex = 8;
381 selector.selectedIndex = 8;
382+ waitForRendering(selector);
383+ waitForRendering(card);
370
384
371 compare(testCase.artImage, null);
385 compare(testCase.artImage, null);
372 compare(testCase.art, null);
386 compare(testCase.art, null);
@@ -389,6 +403,7 @@ Rectangle {
389
403
390 function test_background(data) {
404 function test_background(data) {
391 selector.selectedIndex = data.index;
405 selector.selectedIndex = data.index;
406+ waitForRendering(selector);
392
407
393 if (data.hasOwnProperty("background")) {
408 if (data.hasOwnProperty("background")) {
394 card.cardData["background"] = data.background;
409 card.cardData["background"] = data.background;
@@ -425,6 +440,8 @@ Rectangle {
425
440
426 function test_font_weights(data) {
441 function test_font_weights(data) {
427 selector.selectedIndex = data.index;
442 selector.selectedIndex = data.index;
443+ waitForRendering(selector);
444+ waitForRendering(card);
428
445
429 tryCompare(testCase.title.font, "weight", data.weight);
446 tryCompare(testCase.title.font, "weight", data.weight);
430 }
447 }
@@ -448,6 +465,7 @@ Rectangle {
448
465
449 function test_fontColor(data) {
466 function test_fontColor(data) {
450 selector.selectedIndex = 10;
467 selector.selectedIndex = 10;
468+ waitForRendering(selector);
451 waitForRendering(card);
469 waitForRendering(card);
452
470
453 background.color = data.tag;
471 background.color = data.tag;
@@ -470,6 +488,7 @@ Rectangle {
470
488
471 function test_emblemIcon(data) {
489 function test_emblemIcon(data) {
472 selector.selectedIndex = data.index;
490 selector.selectedIndex = data.index;
491+ waitForRendering(selector);
473 waitForRendering(card);
492 waitForRendering(card);
474
493
475 var emblemIcon = findChild(card, "emblemIcon");
494 var emblemIcon = findChild(card, "emblemIcon");
@@ -486,6 +505,7 @@ Rectangle {
486
505
487 function test_mascotShape(data) {
506 function test_mascotShape(data) {
488 selector.selectedIndex = data.index;
507 selector.selectedIndex = data.index;
508+ waitForRendering(selector);
489 waitForRendering(card);
509 waitForRendering(card);
490
510
491 var shape = findChild(card, "mascotShapeLoader");
511 var shape = findChild(card, "mascotShapeLoader");
@@ -496,6 +516,8 @@ Rectangle {
496
516
497 function test_touchdown_visibility() {
517 function test_touchdown_visibility() {
498 selector.selectedIndex = 0;
518 selector.selectedIndex = 0;
519+ waitForRendering(selector);
520+ waitForRendering(card);
499
521
500 var touchdown = findChild(card, "touchdown");
522 var touchdown = findChild(card, "touchdown");
501
523
@@ -505,5 +527,44 @@ Rectangle {
505 mouseRelease(card, card.width/2, card.height/2);
527 mouseRelease(card, card.width/2, card.height/2);
506 compare(touchdown.visible, false);
528 compare(touchdown.visible, false);
507 }
529 }
530+
531+ function test_paddings_data() {
532+ return [
533+ { tag: "Art and summary", index: 0 },
534+ { tag: "No Summary", index: 6 },
535+ { tag: "No header", index: 7 },
536+ { tag: "Header only", index: 8 },
537+ { tag: "Art, header, summary - overlaid", index: 9 },
538+ { tag: "Art, title - overlaid", index: 13 },
539+ ];
540+ }
541+
542+ function test_paddings(data) {
543+ selector.selectedIndex = data.index;
544+ waitForRendering(selector);
545+ waitForRendering(card);
546+
547+ if (title) var titleToCard = title.mapToItem(card, 0, 0, title.width, title.height);
548+
549+ // left margin
550+ if (mascotImage) {
551+ var mascotToCard = mascotImage.mapToItem(card, 0, 0, mascotImage.width, mascotImage.height);
552+ verify(mascotToCard.x === units.gu(1));
553+ if (title) {
554+ verify((titleToCard.x - mascotToCard.x - mascotToCard.width) === units.gu(1));
555+ }
556+ } else if (title) {
557+ verify(titleToCard.x === units.gu(1));
558+ }
559+
560+ // right margin
561+ var emblemIcon = findChild(card, "emblemIcon");
562+ if (emblemIcon) {
563+ var emblemToCard = emblemIcon.mapToItem(card, 0, 0, emblemIcon.width, emblemIcon.height);
564+ verify((card.width - emblemToCard.x - emblemToCard.width) === units.gu(1));
565+ } else if (title) {
566+ verify((card.width - titleToCard.x - titleToCard.width) === units.gu(1));
567+ }
568+ }
508 }
569 }
509}
570}
tests/qmltests/Dash/tst_DashContent.qml+152−48
@@ -200,8 +200,12 @@ Item {
200 dashContent.setCurrentScopeAtIndex(data.index, true, false);
200 dashContent.setCurrentScopeAtIndex(data.index, true, false);
201 tryCompareFunction(get_current_item_object_name, data.objectName)
201 tryCompareFunction(get_current_item_object_name, data.objectName)
202 var scopeView = findChild(dashContent, data.objectName);
202 var scopeView = findChild(dashContent, data.objectName);
203+ verify(scopeView, "Could not find the scope view.");
203− var pageHeader = findChild(scopeView, "innerPageHeader");
204+ var pageHeader = findChild(scopeView, "scopePageHeader");
205+ verify(pageHeader, "Could not find the scope page header.");
206+ var innerHeader = findChild(pageHeader, "innerPageHeader");
207+ verify(innerHeader, "Could not find the scope page header.");
204− compare(pageHeader.title, scopesModel.getScope(data.index).name);
208+ compare(innerHeader.title, scopesModel.getScope(data.index).name);
205 }
209 }
206
210
207 function test_is_active_data() {
211 function test_is_active_data() {
@@ -266,56 +270,57 @@ Item {
266 verify(carouselLV.tileWidth / carouselLV.tileHeight == cardTool.components["art"]["aspect-ratio"]);
270 verify(carouselLV.tileWidth / carouselLV.tileHeight == cardTool.components["art"]["aspect-ratio"]);
267 }
271 }
268
272
269− function test_navigations() {
273+ function test_mainNavigation() {
270 var dashContentList = findChild(dashContent, "dashContentList");
274 var dashContentList = findChild(dashContent, "dashContentList");
271 tryCompareFunction(function() { return findChild(dashContentList.currentItem, "dashNavigation") != null; }, true);
275 tryCompareFunction(function() { return findChild(dashContentList.currentItem, "dashNavigation") != null; }, true);
272 var dashNavigation = findChild(dashContentList.currentItem, "dashNavigation");
276 var dashNavigation = findChild(dashContentList.currentItem, "dashNavigation");
273 tryCompare(dashNavigation, "visible", true);
277 tryCompare(dashNavigation, "visible", true);
278+ var dashNavigationButton = findChild(dashContentList.currentItem, "navigationButton");
274− compare(dashNavigation.showList, false);
279+ compare(dashNavigationButton.showList, false);
275− waitForRendering(dashNavigation);
280+ waitForRendering(dashNavigationButton);
276− mouseClick(dashNavigation, 0, 0);
281+ mouseClick(dashNavigationButton, 0, 0);
277− compare(dashNavigation.showList, true);
282+ compare(dashNavigationButton.showList, true);
278
283
279− var navigationListView = findChild(dashNavigation, "navigationListView");
284+ var navigationListView = findChild(dashNavigationButton, "navigationListView");
280 compare(navigationListView.count, 1);
285 compare(navigationListView.count, 1);
281 tryCompare(navigationListView.currentItem.navigation, "loaded", true);
286 tryCompare(navigationListView.currentItem.navigation, "loaded", true);
282
287
283 waitForRendering(navigationListView);
288 waitForRendering(navigationListView);
284 waitForRendering(navigationListView.currentItem);
289 waitForRendering(navigationListView.currentItem);
285
290
286− var allButton = findChild(dashNavigation, "allButton");
291+ var allButton = findChild(dashNavigationButton, "allButton");
287 compare(allButton.visible, false);
292 compare(allButton.visible, false);
288
293
289− var navigation = findChild(dashNavigation, "navigation0child3");
294+ var navigation = findChild(dashNavigationButton, "navigation0child3");
290 mouseClick(navigation, 0, 0);
295 mouseClick(navigation, 0, 0);
291− compare(dashNavigation.showList, false);
296+ compare(dashNavigationButton.showList, false);
292− tryCompare(dashNavigation.currentNavigation, "navigationId", "middle3");
297+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "middle3");
293 tryCompare(navigationListView.currentItem.navigation, "navigationId", "root");
298 tryCompare(navigationListView.currentItem.navigation, "navigationId", "root");
294
299
295− mouseClick(dashNavigation, 0, 0);
300+ mouseClick(dashNavigationButton, 0, 0);
296− compare(dashNavigation.showList, true);
301+ compare(dashNavigationButton.showList, true);
297 waitForRendering(navigationListView);
302 waitForRendering(navigationListView);
298 waitForRendering(navigationListView.currentItem);
303 waitForRendering(navigationListView.currentItem);
299 compare(allButton.visible, true);
304 compare(allButton.visible, true);
300
305
301 mouseClick(allButton, 0, 0);
306 mouseClick(allButton, 0, 0);
302− compare(dashNavigation.showList, false);
307+ compare(dashNavigationButton.showList, false);
303− tryCompare(dashNavigation.currentNavigation, "navigationId", "root");
308+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "root");
304 tryCompare(navigationListView.currentItem.navigation, "navigationId", "root");
309 tryCompare(navigationListView.currentItem.navigation, "navigationId", "root");
305
310
306− mouseClick(dashNavigation, 0, 0);
311+ mouseClick(dashNavigationButton, 0, 0);
307− compare(dashNavigation.showList, true);
312+ compare(dashNavigationButton.showList, true);
308 waitForRendering(navigationListView);
313 waitForRendering(navigationListView);
309 waitForRendering(navigationListView.currentItem);
314 waitForRendering(navigationListView.currentItem);
310 compare(allButton.visible, false);
315 compare(allButton.visible, false);
311
316
312− navigation = findChild(dashNavigation, "navigation0child2");
317+ navigation = findChild(dashNavigationButton, "navigation0child2");
313 mouseClick(navigation, 0, 0);
318 mouseClick(navigation, 0, 0);
314− compare(dashNavigation.showList, true);
319+ compare(dashNavigationButton.showList, true);
315− tryCompare(dashNavigation.currentNavigation, "navigationId", "middle2");
320+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "middle2");
316 tryCompare(navigationListView.currentItem.navigation, "navigationId", "middle2");
321 tryCompare(navigationListView.currentItem.navigation, "navigationId", "middle2");
317
322
318− var navigationList1 = findChild(dashNavigation, "navigation1");
323+ var navigationList1 = findChild(dashNavigationButton, "navigation1");
319 allButton = findChild(navigationList1, "allButton");
324 allButton = findChild(navigationList1, "allButton");
320 var backButton = findChild(findChild(navigationList1, "navigation1"), "backButton");
325 var backButton = findChild(findChild(navigationList1, "navigation1"), "backButton");
321 compare(allButton.visible, true);
326 compare(allButton.visible, true);
@@ -324,61 +329,160 @@ Item {
324 tryCompare(navigationListView, "contentX", navigationList1.x);
329 tryCompare(navigationListView, "contentX", navigationList1.x);
325 waitForRendering(navigationListView);
330 waitForRendering(navigationListView);
326 mouseClick(allButton, 0, 0);
331 mouseClick(allButton, 0, 0);
327− compare(dashNavigation.showList, false);
332+ compare(dashNavigationButton.showList, false);
328− tryCompare(dashNavigation.currentNavigation, "navigationId", "middle2");
333+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "middle2");
329 tryCompare(navigationListView.currentItem.navigation, "navigationId", "middle2");
334 tryCompare(navigationListView.currentItem.navigation, "navigationId", "middle2");
330
335
331− mouseClick(dashNavigation, 0, 0);
336+ mouseClick(dashNavigationButton, 0, 0);
332− compare(dashNavigation.showList, true);
337+ compare(dashNavigationButton.showList, true);
333 waitForRendering(navigationListView);
338 waitForRendering(navigationListView);
334 waitForRendering(navigationListView.currentItem);
339 waitForRendering(navigationListView.currentItem);
335 compare(allButton.visible, true);
340 compare(allButton.visible, true);
336 compare(backButton.visible, true);
341 compare(backButton.visible, true);
337
342
338 tryCompare(navigationList1.navigation, "loaded", true);
343 tryCompare(navigationList1.navigation, "loaded", true);
339− navigation = findChild(dashNavigation, "navigation1child2");
344+ navigation = findChild(dashNavigationButton, "navigation1child2");
340 mouseClick(navigation, 0, 0);
345 mouseClick(navigation, 0, 0);
341− compare(dashNavigation.showList, false);
346+ compare(dashNavigationButton.showList, false);
342− tryCompare(dashNavigation.currentNavigation, "navigationId", "childmiddle22");
347+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "childmiddle22");
343 tryCompare(navigationListView.currentItem.navigation, "navigationId", "middle2");
348 tryCompare(navigationListView.currentItem.navigation, "navigationId", "middle2");
344
349
345− mouseClick(dashNavigation, 0, 0);
350+ mouseClick(dashNavigationButton, 0, 0);
346− compare(dashNavigation.showList, true);
351+ compare(dashNavigationButton.showList, true);
347 waitForRendering(navigationListView);
352 waitForRendering(navigationListView);
348 waitForRendering(navigationListView.currentItem);
353 waitForRendering(navigationListView.currentItem);
349
354
350 tryCompare(navigationList1.navigation, "loaded", true);
355 tryCompare(navigationList1.navigation, "loaded", true);
351− navigation = findChild(dashNavigation, "navigation1child3");
356+ navigation = findChild(dashNavigationButton, "navigation1child3");
352 mouseClick(navigation, 0, 0);
357 mouseClick(navigation, 0, 0);
353− compare(dashNavigation.showList, false);
358+ compare(dashNavigationButton.showList, false);
354− tryCompare(dashNavigation.currentNavigation, "navigationId", "childmiddle23");
359+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "childmiddle23");
355 tryCompare(navigationListView.currentItem.navigation, "navigationId", "middle2");
360 tryCompare(navigationListView.currentItem.navigation, "navigationId", "middle2");
356
361
357− mouseClick(dashNavigation, 0, 0);
362+ mouseClick(dashNavigationButton, 0, 0);
358− compare(dashNavigation.showList, true);
363+ compare(dashNavigationButton.showList, true);
359 waitForRendering(navigationListView);
364 waitForRendering(navigationListView);
360 waitForRendering(navigationListView.currentItem);
365 waitForRendering(navigationListView.currentItem);
361 mouseClick(backButton, 0, 0);
366 mouseClick(backButton, 0, 0);
362
367
363− tryCompare(dashNavigation.currentNavigation, "navigationId", "root");
368+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "root");
364 tryCompare(navigationListView.currentItem.navigation, "navigationId", "root");
369 tryCompare(navigationListView.currentItem.navigation, "navigationId", "root");
365− compare(dashNavigation.showList, true);
370+ compare(dashNavigationButton.showList, true);
366− mouseClick(dashNavigation, 0, 0);
371+ mouseClick(dashNavigationButton, 0, 0);
367− compare(dashNavigation.showList, false);
372+ compare(dashNavigationButton.showList, false);
368
373
369− mouseClick(dashNavigation, 0, 0);
374+ mouseClick(dashNavigationButton, 0, 0);
370− compare(dashNavigation.showList, true);
375+ compare(dashNavigationButton.showList, true);
371 tryCompare(navigationListView.currentItem.navigation, "loaded", true);
376 tryCompare(navigationListView.currentItem.navigation, "loaded", true);
372− navigation = findChild(dashNavigation, "navigation0child2");
377+ navigation = findChild(dashNavigationButton, "navigation0child2");
373 mouseClick(navigation, 0, 0);
378 mouseClick(navigation, 0, 0);
374− compare(dashNavigation.showList, true);
379+ compare(dashNavigationButton.showList, true);
375− navigationList1 = findChild(dashNavigation, "navigation1");
380+ navigationList1 = findChild(dashNavigationButton, "navigation1");
376 compare(navigationList1.navigation.loaded, false);
381 compare(navigationList1.navigation.loaded, false);
377− tryCompare(dashNavigation.currentNavigation, "navigationId", "middle2");
382+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "middle2");
378 allButton = findChild(navigationList1, "allButton");
383 allButton = findChild(navigationList1, "allButton");
379− tryCompare(dashNavigation.currentNavigation, "navigationId", "middle2");
384+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "middle2");
380 mouseClick(allButton, 0, 0);
385 mouseClick(allButton, 0, 0);
381− tryCompare(dashNavigation.currentNavigation, "navigationId", "middle2");
386+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "middle2");
387+ }
388+
389+ function test_altNavigation() {
390+ var dashContentList = findChild(dashContent, "dashContentList");
391+ tryCompareFunction(function() { return findChild(dashContentList.currentItem, "dashNavigation") != null; }, true);
392+ var dashNavigation = findChild(dashContentList.currentItem, "dashNavigation");
393+ tryCompare(dashNavigation, "visible", true);
394+ var dashNavigationButton = findChild(dashContentList.currentItem, "altNavigationButton");
395+ verify(dashNavigationButton, "Can't find navigation button");
396+
397+ compare(dashNavigationButton.showList, false);
398+ waitForRendering(dashNavigationButton);
399+ mouseClick(dashNavigationButton, 0, 0);
400+ compare(dashNavigationButton.showList, true);
401+
402+ var navigationListView = findChild(dashNavigationButton, "navigationListView");
403+ compare(navigationListView.count, 1);
404+ tryCompare(navigationListView.currentItem.navigation, "loaded", true);
405+
406+ waitForRendering(navigationListView);
407+ waitForRendering(navigationListView.currentItem);
408+
409+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "altrootChild1");
410+ tryCompare(navigationListView.currentItem.navigation, "navigationId", "altroot");
411+
412+ var allButton = findChild(dashNavigationButton, "allButton");
413+ compare(allButton.visible, false);
414+ var backButton = findChild(navigationListView, "backButton");
415+ compare(backButton.visible, false);
416+
417+ var navigation = findChild(dashNavigationButton, "navigation0child3");
418+ mouseClick(navigation, 0, 0);
419+ compare(dashNavigationButton.showList, false);
420+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "altrootChild3");
421+ tryCompare(navigationListView.currentItem.navigation, "navigationId", "altroot");
422+
423+ mouseClick(dashNavigationButton, 0, 0);
424+ compare(dashNavigationButton.showList, true);
425+ waitForRendering(navigationListView);
426+ waitForRendering(navigationListView.currentItem);
427+ compare(allButton.visible, false);
428+
429+ navigation = findChild(dashNavigationButton, "navigation0child2");
430+ mouseClick(navigation, 0, 0);
431+ compare(dashNavigationButton.showList, false);
432+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "altrootChild2");
433+ tryCompare(navigationListView.currentItem.navigation, "navigationId", "altroot");
434+
435+ mouseClick(dashNavigationButton, 0, 0);
436+ compare(dashNavigationButton.showList, true);
437+ waitForRendering(navigationListView);
438+ waitForRendering(navigationListView.currentItem);
439+ verify(!backButton.visible, "Back button should not be visible");
440+
441+ compare(navigationListView.count, 1, "There should be no second-level navigation");
442+
443+ mouseClick(dashNavigationButton, 0, 0);
444+ compare(dashNavigationButton.showList, false);
445+ }
446+
447+ function test_navigationsClosing() {
448+ var dashContentList = findChild(dashContent, "dashContentList");
449+ tryCompareFunction(function() { return findChild(dashContentList.currentItem, "dashNavigation") != null; }, true);
450+ var dashNavigation = findChild(dashContentList.currentItem, "dashNavigation");
451+ tryCompare(dashNavigation, "visible", true);
452+ var dashNavigationButton = findChild(dashContentList.currentItem, "navigationButton");
453+ verify(dashNavigationButton, "Can't find navigation button");
454+ var dashAltNavigationButton = findChild(dashContentList.currentItem, "altNavigationButton");
455+ verify(dashAltNavigationButton, "Can't find alternative navigation button");
456+
457+ waitForRendering(dashNavigationButton);
458+ waitForRendering(dashAltNavigationButton);
459+
460+ compare(dashNavigationButton.showList, false);
461+ compare(dashAltNavigationButton.showList, false);
462+
463+ mouseClick(dashNavigation, 0, 0);
464+ compare(dashNavigationButton.showList, false);
465+ compare(dashAltNavigationButton.showList, true);
466+
467+ var navigationListView = findChild(dashAltNavigationButton, "navigationListView");
468+ tryCompare(navigationListView.currentItem.navigation, "loaded", true);
469+
470+ mouseClick(dashNavigation, dashNavigationButton.x, 0);
471+ compare(dashNavigationButton.showList, false);
472+ compare(dashAltNavigationButton.showList, false);
473+
474+ tryCompare(navigationListView, "visible", false);
475+
476+ mouseClick(dashNavigation, dashNavigationButton.x, 0);
477+ compare(dashNavigationButton.showList, true);
478+ compare(dashAltNavigationButton.showList, false);
479+
480+ navigationListView = findChild(dashNavigationButton, "navigationListView");
481+ tryCompare(navigationListView.currentItem.navigation, "loaded", true);
482+
483+ mouseClick(dashNavigation, 0, 0);
484+ compare(dashNavigationButton.showList, false);
485+ compare(dashAltNavigationButton.showList, false);
382 }
486 }
383
487
384 function test_searchHint() {
488 function test_searchHint() {
tests/qmltests/Dash/tst_GenericScopeView.qml+102−39
@@ -20,7 +20,7 @@ import Unity 0.2
20import ".."
20import ".."
21import "../../../qml/Dash"
21import "../../../qml/Dash"
22import "../../../qml/Components"
22import "../../../qml/Components"
23−import Ubuntu.Components 0.1
23+import Ubuntu.Components 1.1
24import Unity.Test 0.1 as UT
24import Unity.Test 0.1 as UT
25
25
26Item {
26Item {
@@ -39,6 +39,8 @@ Item {
39
39
40 Scopes {
40 Scopes {
41 id: scopes
41 id: scopes
42+ // for tryGenericScopeView
43+ onLoadedChanged: if (loaded) genericScopeView.scope = scopes.getScope(2);
42 }
44 }
43
45
44 SignalSpy {
46 SignalSpy {
@@ -59,7 +61,7 @@ Item {
59 name: "GenericScopeView"
61 name: "GenericScopeView"
60 when: scopes.loaded && windowShown
62 when: scopes.loaded && windowShown
61
63
62− property Item previewListView: findChild(genericScopeView, "previewListView")
64+ property Item subPageLoader: findChild(genericScopeView, "subPageLoader")
63 property Item header: findChild(genericScopeView, "scopePageHeader")
65 property Item header: findChild(genericScopeView, "scopePageHeader")
64
66
65 function init() {
67 function init() {
@@ -94,24 +96,24 @@ Item {
94 tryCompare(genericScopeView.scope, "isActive", false)
96 tryCompare(genericScopeView.scope, "isActive", false)
95 genericScopeView.isCurrent = true
97 genericScopeView.isCurrent = true
96 tryCompare(genericScopeView.scope, "isActive", true)
98 tryCompare(genericScopeView.scope, "isActive", true)
97− testCase.previewListView.open = true
99+ testCase.subPageLoader.open = true
98 tryCompare(genericScopeView.scope, "isActive", false)
100 tryCompare(genericScopeView.scope, "isActive", false)
99− testCase.previewListView.open = false
101+ testCase.subPageLoader.open = false
100 tryCompare(genericScopeView.scope, "isActive", true)
102 tryCompare(genericScopeView.scope, "isActive", true)
101 genericScopeView.isCurrent = false
103 genericScopeView.isCurrent = false
102 tryCompare(genericScopeView.scope, "isActive", false)
104 tryCompare(genericScopeView.scope, "isActive", false)
103 }
105 }
104
106
105 function test_showDash() {
107 function test_showDash() {
106− testCase.previewListView.open = true;
108+ testCase.subPageLoader.open = true;
107 genericScopeView.scope.showDash();
109 genericScopeView.scope.showDash();
108− tryCompare(testCase.previewListView, "open", false);
110+ tryCompare(testCase.subPageLoader, "open", false);
109 }
111 }
110
112
111 function test_hideDash() {
113 function test_hideDash() {
112− testCase.previewListView.open = true;
114+ testCase.subPageLoader.open = true;
113 genericScopeView.scope.hideDash();
115 genericScopeView.scope.hideDash();
114− tryCompare(testCase.previewListView, "open", false);
116+ tryCompare(testCase.subPageLoader, "open", false);
115 }
117 }
116
118
117 function test_searchQuery() {
119 function test_searchQuery() {
@@ -214,7 +216,7 @@ Item {
214
216
215 openPreview(4, 0);
217 openPreview(4, 0);
216
218
217− compare(testCase.previewListView.count, 12, "There should only be 12 items in preview.");
219+ compare(testCase.subPageLoader.count, 12, "There should only be 12 items in preview.");
218
220
219 closePreview();
221 closePreview();
220 }
222 }
@@ -227,11 +229,15 @@ Item {
227 shell.width = units.gu(20)
229 shell.width = units.gu(20)
228 var categoryListView = findChild(genericScopeView, "categoryListView");
230 var categoryListView = findChild(genericScopeView, "categoryListView");
229 categoryListView.contentY = units.gu(20);
231 categoryListView.contentY = units.gu(20);
230− var seeAll = findChild(category, "seeAll")
232+ var seeAll = findChild(category, "seeAll");
233+ var floatingSeeLess = findChild(genericScopeView, "floatingSeeLess");
231 mouseClick(seeAll, seeAll.width / 2, seeAll.height / 2);
234 mouseClick(seeAll, seeAll.width / 2, seeAll.height / 2);
232 tryCompare(category, "expanded", true);
235 tryCompare(category, "expanded", true);
236+ tryCompareFunction(function() {
237+ return category.item.height + floatingSeeLess.height ==
233− tryCompareFunction(function() { return category.item.height == genericScopeView.height - category.item.displayMarginBeginning - category.item.displayMarginEnd; }, true);
238+ genericScopeView.height - category.item.displayMarginBeginning - category.item.displayMarginEnd;
239+ }, true);
234− mouseClick(seeAll, seeAll.width / 2, seeAll.height / 2);
240+ mouseClick(floatingSeeLess, floatingSeeLess.width / 2, floatingSeeLess.height / 2);
235 tryCompare(category, "expanded", false);
241 tryCompare(category, "expanded", false);
236 }
242 }
237
243
@@ -272,19 +278,21 @@ Item {
272 true);
278 true);
273 var tile = findChild(findChild(genericScopeView, category), "delegate"+delegate);
279 var tile = findChild(findChild(genericScopeView, category), "delegate"+delegate);
274 mouseClick(tile, tile.width / 2, tile.height / 2);
280 mouseClick(tile, tile.width / 2, tile.height / 2);
275− tryCompare(testCase.previewListView, "open", true);
281+ tryCompare(testCase.subPageLoader, "open", true);
276− tryCompare(testCase.previewListView, "x", 0);
282+ tryCompare(testCase.subPageLoader, "x", 0);
277 }
283 }
278
284
279 function closePreview() {
285 function closePreview() {
280− var closePreviewMouseArea = findChild(genericScopeView, "innerPageHeader");
286+ var closePreviewMouseArea = findChild(subPageLoader.item, "pageHeader");
281 mouseClick(closePreviewMouseArea, units.gu(2), units.gu(2));
287 mouseClick(closePreviewMouseArea, units.gu(2), units.gu(2));
282
288
283− tryCompare(testCase.previewListView, "open", false);
289+ tryCompare(testCase.subPageLoader, "open", false);
290+ tryCompare(testCase.subPageLoader, "visible", false);
284 }
291 }
285
292
286 function test_previewOpenClose() {
293 function test_previewOpenClose() {
287− tryCompare(testCase.previewListView, "open", false);
294+ tryCompare(testCase.subPageLoader, "open", false);
295+ tryCompare(testCase.subPageLoader, "visible", false);
288
296
289 var categoryListView = findChild(genericScopeView, "categoryListView");
297 var categoryListView = findChild(genericScopeView, "categoryListView");
290 categoryListView.positionAtBeginning();
298 categoryListView.positionAtBeginning();
@@ -296,7 +304,7 @@ Item {
296 function test_showPreviewCarousel() {
304 function test_showPreviewCarousel() {
297 var category = scrollToCategory("dashCategory1");
305 var category = scrollToCategory("dashCategory1");
298
306
299− tryCompare(testCase.previewListView, "open", false);
307+ tryCompare(testCase.subPageLoader, "open", false);
300
308
301 var tile = findChild(category, "carouselDelegate1");
309 var tile = findChild(category, "carouselDelegate1");
302 verify(tile, "Could not find delegate");
310 verify(tile, "Could not find delegate");
@@ -304,14 +312,14 @@ Item {
304 mouseClick(tile, tile.width / 2, tile.height / 2);
312 mouseClick(tile, tile.width / 2, tile.height / 2);
305 tryCompare(tile, "explicitlyScaled", true);
313 tryCompare(tile, "explicitlyScaled", true);
306 mouseClick(tile, tile.width / 2, tile.height / 2);
314 mouseClick(tile, tile.width / 2, tile.height / 2);
307− tryCompare(testCase.previewListView, "open", true);
315+ tryCompare(testCase.subPageLoader, "open", true);
308− tryCompare(testCase.previewListView, "x", 0);
316+ tryCompare(testCase.subPageLoader, "x", 0);
309
317
310 closePreview();
318 closePreview();
311
319
312 mousePress(tile, tile.width / 2, tile.height / 2);
320 mousePress(tile, tile.width / 2, tile.height / 2);
313− tryCompare(testCase.previewListView, "open", true);
321+ tryCompare(testCase.subPageLoader, "open", true);
314− tryCompare(testCase.previewListView, "x", 0);
322+ tryCompare(testCase.subPageLoader, "x", 0);
315 mouseRelease(tile, tile.width / 2, tile.height / 2);
323 mouseRelease(tile, tile.width / 2, tile.height / 2);
316
324
317 closePreview();
325 closePreview();
@@ -320,20 +328,20 @@ Item {
320 function test_showPreviewHorizontalList() {
328 function test_showPreviewHorizontalList() {
321 var category = scrollToCategory("dashCategory18");
329 var category = scrollToCategory("dashCategory18");
322
330
323− tryCompare(testCase.previewListView, "open", false);
331+ tryCompare(testCase.subPageLoader, "open", false);
324
332
325 var tile = findChild(category, "delegate1");
333 var tile = findChild(category, "delegate1");
326 verify(tile, "Could not find delegate");
334 verify(tile, "Could not find delegate");
327
335
328 mouseClick(tile, tile.width / 2, tile.height / 2);
336 mouseClick(tile, tile.width / 2, tile.height / 2);
329− tryCompare(testCase.previewListView, "open", true);
337+ tryCompare(testCase.subPageLoader, "open", true);
330− tryCompare(testCase.previewListView, "x", 0);
338+ tryCompare(testCase.subPageLoader, "x", 0);
331
339
332 closePreview();
340 closePreview();
333
341
334 mousePress(tile, tile.width / 2, tile.height / 2);
342 mousePress(tile, tile.width / 2, tile.height / 2);
335− tryCompare(testCase.previewListView, "open", true);
343+ tryCompare(testCase.subPageLoader, "open", true);
336− tryCompare(testCase.previewListView, "x", 0);
344+ tryCompare(testCase.subPageLoader, "x", 0);
337 mouseRelease(tile, tile.width / 2, tile.height / 2);
345 mouseRelease(tile, tile.width / 2, tile.height / 2);
338
346
339 closePreview();
347 closePreview();
@@ -343,30 +351,57 @@ Item {
343 var categoryListView = findChild(genericScopeView, "categoryListView");
351 var categoryListView = findChild(genericScopeView, "categoryListView");
344 categoryListView.positionAtBeginning();
352 categoryListView.positionAtBeginning();
345
353
346− tryCompare(testCase.previewListView, "open", false);
354+ tryCompare(testCase.subPageLoader, "open", false);
347− var previewListViewList = findChild(previewListView, "listView");
348
355
349 openPreview();
356 openPreview();
357+ var previewListViewList = findChild(subPageLoader.item, "listView");
350
358
351 // flick to the next previews
359 // flick to the next previews
352− tryCompare(testCase.previewListView, "count", 15);
360+ tryCompare(testCase.subPageLoader, "count", 15);
353− for (var i = 1; i < testCase.previewListView.count; ++i) {
361+ for (var i = 1; i < testCase.subPageLoader.count; ++i) {
354− mouseFlick(testCase.previewListView, testCase.previewListView.width - units.gu(1),
362+ mouseFlick(testCase.subPageLoader.item, testCase.subPageLoader.width - units.gu(1),
355− testCase.previewListView.height / 2,
363+ testCase.subPageLoader.height / 2,
356 units.gu(2),
364 units.gu(2),
357− testCase.previewListView.height / 2);
365+ testCase.subPageLoader.height / 2);
358 tryCompare(previewListViewList, "moving", false);
366 tryCompare(previewListViewList, "moving", false);
359− tryCompare(testCase.previewListView.currentItem, "objectName", "preview" + i);
367+ tryCompare(testCase.subPageLoader.currentItem, "objectName", "preview" + i);
360−
361 }
368 }
362 closePreview();
369 closePreview();
363 }
370 }
364
371
372+ function test_settingsOpenClose() {
373+ waitForRendering(genericScopeView);
374+ verify(header, "Could not find the header.");
375+ var innerHeader = findChild(header, "innerPageHeader");
376+ verify(innerHeader, "Could not find the inner header");
377+
378+ // open
379+ tryCompare(testCase.subPageLoader, "open", false);
380+ tryCompare(testCase.subPageLoader, "visible", false);
381+ var settings = findChild(innerHeader, "settings_header_button");
382+ mouseClick(settings, settings.width / 2, settings.height / 2);
383+ tryCompare(testCase.subPageLoader, "open", true);
384+ tryCompareFunction(function() { return (String(subPageLoader.source)).indexOf("ScopeSettingsPage.qml") != -1; }, true);
385+ tryCompare(genericScopeView, "subPageShown", true);
386+ compare(testCase.subPageLoader.subPage, "settings");
387+ tryCompare(testCase.subPageLoader, "x", 0);
388+
389+ // close
390+ var settingsHeader = findChild(testCase.subPageLoader.item, "pageHeader");
391+ mouseClick(settingsHeader, units.gu(2), units.gu(2));
392+ tryCompare(testCase.subPageLoader, "open", false);
393+ tryCompare(genericScopeView, "subPageShown", false);
394+ var categoryListView = findChild(genericScopeView, "categoryListView");
395+ tryCompare(categoryListView, "x", 0);
396+ tryCompare(testCase.subPageLoader, "visible", false);
397+ tryCompare(testCase.subPageLoader, "source", "");
398+ }
399+
365 function test_header_style_data() {
400 function test_header_style_data() {
366 return [
401 return [
367− { tag: "Default", index: 0, foreground: Theme.palette.normal.baseText, background: "", logo: "" },
402+ { tag: "Default", index: 0, foreground: UbuntuColors.darkGrey, background: "color:///#f5f5f5", logo: "" },
368− { tag: "Foreground", index: 1, foreground: "yellow", background: "", logo: "" },
403+ { tag: "Foreground", index: 1, foreground: "yellow", background: "color:///#f5f5f5", logo: "" },
369− { tag: "Logo+Background", index: 2, foreground: Theme.palette.normal.baseText, background: "gradient:///lightgrey/grey",
404+ { tag: "Logo+Background", index: 2, foreground: UbuntuColors.darkGrey, background: "gradient:///lightgrey/grey",
370 logo: Qt.resolvedUrl("../Dash/tst_PageHeader/logo-ubuntu-orange.svg") },
405 logo: Qt.resolvedUrl("../Dash/tst_PageHeader/logo-ubuntu-orange.svg") },
371 ];
406 ];
372 }
407 }
@@ -390,6 +425,34 @@ Item {
390 verify(image, "Could not find the title image.");
425 verify(image, "Could not find the title image.");
391 compare(image.source, data.logo, "Title image has the wrong source");
426 compare(image.source, data.logo, "Title image has the wrong source");
392 }
427 }
428+
429+ function test_favorite_data() {
430+ return [
431+ { tag: "People", id: "MockScope1", favorite: true },
432+ { tag: "Music", id: "MockScope2", favorite: false },
433+ { tag: "Apps", id: "clickscope", favorite: true },
434+ ];
435+ }
436+
437+ function test_favorite(data) {
438+ genericScopeView.scope = scopes.getScopeFromAll(data.id);
439+ waitForRendering(genericScopeView);
440+ verify(header, "Could not find the header.");
441+
442+ compare(genericScopeView.scope.favorite, data.favorite, "Unexpected initial favorite value");
443+
444+ var innerHeader = findChild(header, "innerPageHeader");
445+ verify(innerHeader, "Could not find the inner header");
446+
447+ expectFail("Apps", "Click scope should not have a favorite button");
448+ var favoriteAction = findChild(innerHeader, "favorite_header_button");
449+ verify(favoriteAction, "Could not find the favorite action.");
450+ mouseClick(favoriteAction, favoriteAction.width / 2, favoriteAction.height / 2);
451+
452+ tryCompare(genericScopeView.scope, "favorite", !data.favorite);
453+
454+ genericScopeView.scope = !genericScopeView.scope;
455+ }
393 }
456 }
394 }
457 }
395}
458}
tests/qmltests/Dash/tst_PageHeader.qml+3−1
@@ -94,7 +94,7 @@ Item {
94 typeString("humppa1")
94 typeString("humppa1")
95 pageHeader.resetSearch()
95 pageHeader.resetSearch()
96
96
97− compare(pageHeader.searchHistory.count, 1)
97+ tryCompare(pageHeader.searchHistory, "count", 1)
98 compare(pageHeader.searchHistory.get(0).query, "humppa1")
98 compare(pageHeader.searchHistory.get(0).query, "humppa1")
99
99
100 pageHeader.triggerSearch()
100 pageHeader.triggerSearch()
@@ -155,6 +155,8 @@ Item {
155 compare(searchTextField.focus, true);
155 compare(searchTextField.focus, true);
156
156
157 var recentSearches = findChild(headerContainer.popover, "recentSearches");
157 var recentSearches = findChild(headerContainer.popover, "recentSearches");
158+ verify(recentSearches, "Could not find recent searches in the popover");
159+ waitForRendering(recentSearches);
158 mouseClick(recentSearches.itemAt(0), 0, 0);
160 mouseClick(recentSearches.itemAt(0), 0, 0);
159
161
160 compare(pageHeader.searchQuery, "Search2");
162 compare(pageHeader.searchQuery, "Search2");
tests/qmltests/tst_Shell.qml+3−2
@@ -389,13 +389,14 @@ Item {
389 tryCompare(indicators, "fullyClosed", true);
389 tryCompare(indicators, "fullyClosed", true);
390 }
390 }
391
391
392−
392+ function test_showAndHideGreeterDBusCalls() {
393− function test_showGreeterDBusCall() {
394 var greeter = findChild(shell, "greeter")
393 var greeter = findChild(shell, "greeter")
395 tryCompare(greeter, "showProgress", 0)
394 tryCompare(greeter, "showProgress", 0)
396 waitForRendering(greeter);
395 waitForRendering(greeter);
397 LightDM.Greeter.showGreeter()
396 LightDM.Greeter.showGreeter()
398 tryCompare(greeter, "showProgress", 1)
397 tryCompare(greeter, "showProgress", 1)
398+ LightDM.Greeter.hideGreeter()
399+ tryCompare(greeter, "showProgress", 0)
399 }
400 }
400
401
401 function test_login() {
402 function test_login() {
tests/qmltests/tst_ShellWithPin.qml+12−7
@@ -90,6 +90,8 @@ Item {
90 swipeAwayGreeter()
90 swipeAwayGreeter()
91 shell.failedLoginsDelayAttempts = -1
91 shell.failedLoginsDelayAttempts = -1
92 maxRetriesTextField.text = "-1"
92 maxRetriesTextField.text = "-1"
93+ AccountsService.enableLauncherWhileLocked = true
94+ AccountsService.enableIndicatorsWhileLocked = true
93 }
95 }
94
96
95 function cleanup() {
97 function cleanup() {
@@ -145,9 +147,13 @@ Item {
145
147
146 function test_disabledEdges() {
148 function test_disabledEdges() {
147 var launcher = findChild(shell, "launcher")
149 var launcher = findChild(shell, "launcher")
150+ tryCompare(launcher, "available", true)
151+ AccountsService.enableLauncherWhileLocked = false
148 tryCompare(launcher, "available", false)
152 tryCompare(launcher, "available", false)
149
153
150 var indicators = findChild(shell, "indicators")
154 var indicators = findChild(shell, "indicators")
155+ tryCompare(indicators, "available", true)
156+ AccountsService.enableIndicatorsWhileLocked = false
151 tryCompare(indicators, "available", false)
157 tryCompare(indicators, "available", false)
152 }
158 }
153
159
@@ -165,12 +171,9 @@ Item {
165 tryCompare(greeter, "fakeActiveForApp", "dialer-app")
171 tryCompare(greeter, "fakeActiveForApp", "dialer-app")
166 tryCompare(lockscreen, "shown", false)
172 tryCompare(lockscreen, "shown", false)
167 tryCompare(panel, "fullscreenMode", true)
173 tryCompare(panel, "fullscreenMode", true)
168− tryCompare(stage, "spreadEnabled", false)
169−
170− // These are normally false anyway, but confirm they remain so in
171− // emergency mode.
172− tryCompare(launcher, "available", false)
173 tryCompare(indicators, "available", false)
174 tryCompare(indicators, "available", false)
175+ tryCompare(launcher, "available", false)
176+ tryCompare(stage, "spreadEnabled", false)
174
177
175 // Cancel emergency mode, and go back to normal
178 // Cancel emergency mode, and go back to normal
176 waitForRendering(greeter)
179 waitForRendering(greeter)
@@ -180,6 +183,8 @@ Item {
180 tryCompare(greeter, "fakeActiveForApp", "")
183 tryCompare(greeter, "fakeActiveForApp", "")
181 tryCompare(lockscreen, "shown", true)
184 tryCompare(lockscreen, "shown", true)
182 tryCompare(panel, "fullscreenMode", false)
185 tryCompare(panel, "fullscreenMode", false)
186+ tryCompare(indicators, "available", true)
187+ tryCompare(launcher, "available", true)
183 tryCompare(stage, "spreadEnabled", true)
188 tryCompare(stage, "spreadEnabled", true)
184 }
189 }
185
190
@@ -220,10 +225,10 @@ Item {
220 tryCompare(placeHolder, "text", "")
225 tryCompare(placeHolder, "text", "")
221
226
222 enterPin("1111")
227 enterPin("1111")
223− tryCompare(placeHolder, "text", "Sorry, incorrect PIN")
228+ tryCompare(placeHolder, "text", "Sorry, incorrect passcode")
224
229
225 enterPin("1111")
230 enterPin("1111")
226− tryCompare(placeHolder, "text", "Sorry, incorrect PIN")
231+ tryCompare(placeHolder, "text", "Sorry, incorrect passcode")
227
232
228 enterPin("1111")
233 enterPin("1111")
229 tryCompare(placeHolder, "text", "Too many incorrect attempts")
234 tryCompare(placeHolder, "text", "Too many incorrect attempts")
tests/uqmlscene/main.cpp+1−1
@@ -495,7 +495,7 @@ int main(int argc, char ** argv)
495 if (!window) {
495 if (!window) {
496 QQuickItem *contentItem = qobject_cast<QQuickItem *>(topLevel);
496 QQuickItem *contentItem = qobject_cast<QQuickItem *>(topLevel);
497 if (contentItem) {
497 if (contentItem) {
498− qxView = new QQuickView(&engine, NULL);
498+ qxView = new QQuickView(&engine, nullptr);
499 window = qxView;
499 window = qxView;
500 // Set window default properties; the qml can still override them
500 // Set window default properties; the qml can still override them
501 QString oname = contentItem->objectName();
501 QString oname = contentItem->objectName();
tools/unlock-device+8−13
@@ -4,7 +4,7 @@
4# Our goal here is to get an Ubuntu Touch device into a testable unlocked state.
4# Our goal here is to get an Ubuntu Touch device into a testable unlocked state.
5# This will include a reboot.
5# This will include a reboot.
6
6
7−WAIT_COMMAND="adb reboot; sleep 5; adb wait-for-device; sleep 20"
7+WAIT_COMMAND="adb reboot; sleep 5; adb wait-for-device"
8
8
9while getopts s:w: opt; do
9while getopts s:w: opt; do
10 case $opt in
10 case $opt in
@@ -17,20 +17,15 @@ while getopts s:w: opt; do
17 esac
17 esac
18done
18done
19
19
20−UNLOCK_SCRIPT='
21−import dbus, logging;
22−from unity8 import process_helpers as helpers;
23−logging.basicConfig(level=logging.INFO);
24−bus = dbus.SystemBus().get_object("com.canonical.powerd", "/com/canonical/powerd");
25−cookie = bus.requestSysState("unlock-device-hold", 1, dbus_interface="com.canonical.powerd");
26−helpers.restart_unity_with_testability();
27−bus.clearSysState(cookie, dbus_interface="com.canonical.powerd");
28−helpers.unlock_unity()
29−'
30−
31eval "$WAIT_COMMAND"
20eval "$WAIT_COMMAND"
32
21
22+# Force a sleep of twenty no matter what, since we may need to wait for unity8
23+# to finish coming up (it's hard to tell when the greeter is actually rendered)
24+sleep 20
25+
26+GDBUS_CMD="gdbus call --session --dest com.canonical.UnityGreeter --object-path / --method com.canonical.UnityGreeter.HideGreeter && echo Greeter unlocked"
27+
33−UNLOCK_OUTPUT=$(adb shell "sudo -u phablet -i python3 -c '$UNLOCK_SCRIPT'" 2>&1)
28+UNLOCK_OUTPUT=$(adb shell "if [ \"\$(id -u)\" = 0 ]; then sudo -u phablet -i $GDBUS_CMD; else $GDBUS_CMD; fi" 2>&1)
34if echo "$UNLOCK_OUTPUT" | grep 'Greeter unlocked' >/dev/null; then
29if echo "$UNLOCK_OUTPUT" | grep 'Greeter unlocked' >/dev/null; then
35 echo "I: Unlock passed"
30 echo "I: Unlock passed"
36 exit 0
31 exit 0