on xenial help sign in
Merge from trunk
78ccb79Michael Terry
Bottombar/Bottombar.qml+60−6
@@ -18,6 +18,7 @@ import QtQuick 2.0
18import "../Components"
18import "../Components"
19import "../Components/Math.js" as MathLocal
19import "../Components/Math.js" as MathLocal
20import Unity 0.1
20import Unity 0.1
21+import Ubuntu.Application 0.1
21import Ubuntu.Gestures 0.1
22import Ubuntu.Gestures 0.1
22
23
23Item {
24Item {
@@ -28,15 +29,46 @@ Item {
28
29
29 property variant theHud
30 property variant theHud
30 property bool enabled: false
31 property bool enabled: false
32+ property bool preventHiding: dragArea.dragging
31 readonly property real bottomEdgeButtonCenterDistance: units.gu(34)
33 readonly property real bottomEdgeButtonCenterDistance: units.gu(34)
32
34
33− state: dragArea.status === DirectionalDragArea.Recognized ? "shown" : "hidden"
35+ state: "hidden"
36+
37+ onStateChanged: {
38+ if (state == "hidden") {
39+ dismissTimer.stop()
40+ } else {
41+ dismissTimer.restart()
42+ }
43+ }
44+
45+ onPreventHidingChanged: {
46+ if (dismissTimer.running) {
47+ dismissTimer.restart();
48+ }
49+ }
50+
51+ Timer {
52+ id: dismissTimer
53+ interval: 5000
54+ onTriggered: {
55+ if (!bottombar.preventHiding) {
56+ bottombar.state = "hidden"
57+ } else {
58+ dismissTimer.restart()
59+ }
60+ }
61+ }
34
62
35 HudButton {
63 HudButton {
36 id: hudButton
64 id: hudButton
37
65
66+ readonly property bool centeredHud: parent.width < units.gu(68) // Nexus 7 has 67 gu width
67+
38− x: MathLocal.clamp(dragArea.touchStartX - (width / 2), 0, bottombar.width - width)
68+ x: centeredHud ? parent.width / 2 - width / 2 : MathLocal.clamp(dragArea.touchStartX - (width / 2), 0, bottombar.width - width)
39 y: bottombar.height - bottomEdgeButtonCenterDistance - (height / 2) - bottomMargin
69 y: bottombar.height - bottomEdgeButtonCenterDistance - (height / 2) - bottomMargin
70+ z: 1
71+ visible: opacity != 0
40
72
41 mouseOver: {
73 mouseOver: {
42 if (dragArea.status === DirectionalDragArea.Recognized) {
74 if (dragArea.status === DirectionalDragArea.Recognized) {
@@ -55,13 +87,18 @@ Item {
55 }
87 }
56
88
57 Behavior on opacity {
89 Behavior on opacity {
58− NumberAnimation{ duration: 200; easing.type: Easing.OutCubic}
90+ NumberAnimation{duration: 200; easing.type: Easing.OutCubic}
59 }
91 }
60 }
92 }
61
93
62 Connections {
94 Connections {
63 target: theHud
95 target: theHud
96+ onShownChanged: {
64− onShownChanged: bottomBarVisibilityCommunicatorShell.forceHidden = theHud.shown
97+ bottomBarVisibilityCommunicatorShell.forceHidden = theHud.shown
98+ if (theHud.shown) {
99+ bottombar.state = "hidden"
100+ }
101+ }
65 }
102 }
66
103
67 EdgeDragArea {
104 EdgeDragArea {
@@ -70,6 +107,7 @@ Item {
70 height: distanceThreshold
107 height: distanceThreshold
71 anchors.bottom: parent.bottom
108 anchors.bottom: parent.bottom
72
109
110+ distanceThreshold: units.gu(8)
73 enabled: !theHud.shown && bottombar.enabled && applicationIsOnForeground
111 enabled: !theHud.shown && bottombar.enabled && applicationIsOnForeground
74 direction: Direction.Upwards
112 direction: Direction.Upwards
75
113
@@ -84,12 +122,29 @@ Item {
84 }
122 }
85 }
123 }
86 } else if (status === DirectionalDragArea.Undecided) {
124 } else if (status === DirectionalDragArea.Undecided) {
125+ if (!hudButton.centeredHud) {
87− touchStartX = touchX
126+ touchStartX = touchX
127+ }
128+ } else if (status === DirectionalDragArea.Recognized) {
129+ bottombar.state = "shown"
88 }
130 }
89 previousStatus = status
131 previousStatus = status
90 }
132 }
91 }
133 }
92
134
135+ MouseArea {
136+ anchors.fill: parent
137+ enabled: bottombar.state == "shown"
138+ onPressed: {
139+ bottombar.state = "hidden"
140+ }
141+ }
142+
143+ InputFilterArea {
144+ anchors.fill: parent
145+ blockInput: hudButton.visible
146+ }
147+
93 states: [
148 states: [
94 State {
149 State {
95 name: "hidden"
150 name: "hidden"
@@ -102,5 +157,4 @@ Item {
102 PropertyChanges { target: hudButton; bottomMargin: units.gu(0)}
157 PropertyChanges { target: hudButton; bottomMargin: units.gu(0)}
103 }
158 }
104 ]
159 ]
105−
106}
160}
Bottombar/HudButton.qml+8−8
@@ -33,24 +33,24 @@ Item {
33
33
34 Item {
34 Item {
35 id: hudButton
35 id: hudButton
36− property alias actionButton: actionButton
37
36
38 anchors.centerIn: parent
37 anchors.centerIn: parent
39 height: units.gu(12)
38 height: units.gu(12)
40 width: height
39 width: height
41− opacity: item.mouseOver ? 1 : 0.7
40+ opacity: item.mouseOver || abstractButton.pressed ? 1 : 0.7
42− scale: item.mouseOver ? scaleOnMouseOver : 1
41+ scale: item.mouseOver || abstractButton.pressed ? scaleOnMouseOver : 1
43 Behavior on opacity {NumberAnimation{duration: 200; easing.type: Easing.OutQuart}}
42 Behavior on opacity {NumberAnimation{duration: 200; easing.type: Easing.OutQuart}}
44 Behavior on scale {NumberAnimation{duration: 200; easing.type: Easing.OutQuart}}
43 Behavior on scale {NumberAnimation{duration: 200; easing.type: Easing.OutQuart}}
45
44
46− UbuntuShape {
45+ AbstractButton {
47− id: actionButton
46+ id: abstractButton
48 anchors.fill: parent
47 anchors.fill: parent
49−
50− borderSource: ""
51− image: Image {
48+ style: Image {
49+ anchors.fill: parent
52 source: "graphics/hud_invoke_button_active.png"
50 source: "graphics/hud_invoke_button_active.png"
53 }
51 }
52+
53+ onClicked: item.clicked()
54 }
54 }
55
55
56 Image {
56 Image {
Components/EdgeDemo.qmlnew file+174
@@ -0,0 +1,174 @@
1+/*
2+ * Copyright (C) 2013 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import AccountsService 0.1
18+import QtQuick 2.0
19+
20+Item {
21+ id: demo
22+
23+ property Item dash
24+ property Item launcher
25+ property Item indicators
26+ property Item underlay
27+
28+ property bool launcherEnabled: true
29+ property bool dashEnabled: true
30+ property bool panelEnabled: true
31+ property bool panelContentEnabled: true
32+
33+ property bool paused: false
34+
35+ onPausedChanged: {
36+ if (d.topEdgeDemo) d.topEdgeDemo.paused = paused
37+ if (d.bottomEdgeDemo) d.bottomEdgeDemo.paused = paused
38+ if (d.leftEdgeDemo) d.leftEdgeDemo.paused = paused
39+ if (d.finalEdgeDemo) d.finalEdgeDemo.paused = paused
40+ }
41+
42+ function hideEdgeDemoInShell() {
43+ AccountsService.setUserProperty(user, "demo-edges", false);
44+ d.showEdgeDemo = false;
45+ stopDemo();
46+ }
47+
48+ function stopDemo() {
49+ launcherEnabled = true
50+ dashEnabled = true
51+ panelEnabled = true
52+ panelContentEnabled = true
53+ if (d.topEdgeDemo) d.topEdgeDemo.destroy()
54+ if (d.bottomEdgeDemo) d.bottomEdgeDemo.destroy()
55+ if (d.leftEdgeDemo) d.leftEdgeDemo.destroy()
56+ if (d.finalEdgeDemo) d.finalEdgeDemo.destroy()
57+ }
58+
59+ QtObject {
60+ id: d
61+ property Component overlay
62+ property QtObject topEdgeDemo
63+ property QtObject bottomEdgeDemo
64+ property QtObject leftEdgeDemo
65+ property QtObject finalEdgeDemo
66+ property bool showEdgeDemo: AccountsService.getUserProperty(user, "demo-edges")
67+
68+ onShowEdgeDemoChanged: {
69+ if (!d.overlay && d.showEdgeDemo) {
70+ d.overlay = Qt.createComponent("EdgeDemoOverlay.qml")
71+ startTopEdgeDemo()
72+ }
73+ }
74+ }
75+
76+ function startTopEdgeDemo() {
77+ demo.panelEnabled = true;
78+ if (demo.dash && demo.underlay) {
79+ d.topEdgeDemo = d.overlay.createObject(demo.underlay, {
80+ "edge": "top",
81+ "title": i18n.tr("Top edge"),
82+ "text": i18n.tr("Try swiping from the top edge to access the indicators"),
83+ "anchors.fill": demo.dash,
84+ });
85+ }
86+ if (d.topEdgeDemo) {
87+ d.topEdgeDemo.onSkip.connect(demo.hideEdgeDemoInShell)
88+ } else {
89+ stopDemo();
90+ }
91+ }
92+
93+ Connections {
94+ target: demo.indicators
95+ onFullyOpenedChanged: {
96+ if (d.topEdgeDemo && d.topEdgeDemo.available && demo.indicators.fullyOpened) {
97+ d.topEdgeDemo.hideNow()
98+ startBottomEdgeDemo()
99+ }
100+ }
101+ }
102+
103+ function startBottomEdgeDemo() {
104+ if (demo.indicators) {
105+ d.bottomEdgeDemo = d.overlay.createObject(demo.indicators, {
106+ "edge": "bottom",
107+ "title": i18n.tr("Close"),
108+ "text": i18n.tr("Swipe up again to close the settings screen"),
109+ "anchors.fill": demo.indicators,
110+ });
111+ }
112+ if (d.bottomEdgeDemo) {
113+ d.bottomEdgeDemo.onSkip.connect(demo.hideEdgeDemoInShell)
114+ } else {
115+ stopDemo();
116+ }
117+ }
118+
119+ Connections {
120+ target: demo.indicators
121+ onPartiallyOpenedChanged: {
122+ if (d.bottomEdgeDemo && d.bottomEdgeDemo.available && !demo.indicators.partiallyOpened && !demo.indicators.fullyOpened) {
123+ d.bottomEdgeDemo.hideNow()
124+ startLeftEdgeDemo()
125+ }
126+ }
127+ }
128+
129+ function startLeftEdgeDemo() {
130+ demo.panelEnabled = false;
131+ demo.launcherEnabled = true;
132+ if (demo.dash && demo.underlay) {
133+ d.leftEdgeDemo = d.overlay.createObject(demo.underlay, {
134+ "edge": "left",
135+ "title": i18n.tr("Left edge"),
136+ "text": i18n.tr("Swipe from the left to reveal the launcher for quick access to apps"),
137+ "anchors.fill": demo.dash,
138+ });
139+ }
140+ if (d.leftEdgeDemo) {
141+ d.leftEdgeDemo.onSkip.connect(demo.hideEdgeDemoInShell)
142+ } else {
143+ stopDemo();
144+ }
145+ }
146+
147+ Connections {
148+ target: demo.launcher
149+ onStateChanged: {
150+ if (d.leftEdgeDemo && d.leftEdgeDemo.available && launcher.state == "visible") {
151+ d.leftEdgeDemo.hide()
152+ launcher.hide()
153+ startFinalEdgeDemo()
154+ }
155+ }
156+ }
157+
158+ function startFinalEdgeDemo() {
159+ demo.launcherEnabled = false;
160+ if (demo.dash && demo.underlay) {
161+ d.finalEdgeDemo = d.overlay.createObject(demo.underlay, {
162+ "edge": "none",
163+ "title": i18n.tr("Well done"),
164+ "text": i18n.tr("You have now mastered the edge gestures and can start using the phone"),
165+ "anchors.fill": demo.dash,
166+ });
167+ }
168+ if (d.finalEdgeDemo) {
169+ d.finalEdgeDemo.onSkip.connect(demo.hideEdgeDemoInShell)
170+ } else {
171+ stopDemo();
172+ }
173+ }
174+}
Components/EdgeDemoOverlay.qmlnew file+256
@@ -0,0 +1,256 @@
1+/*
2+ * Copyright (C) 2013 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import Powerd 0.1
18+import QtQuick 2.0
19+import QtGraphicalEffects 1.0
20+import Ubuntu.Application 0.1
21+import Ubuntu.Components 0.1
22+
23+Showable {
24+ id: overlay
25+
26+ /*
27+ * Valid values are "left", "right", "top", "bottom", or "none".
28+ */
29+ property string edge: "top"
30+
31+ /*
32+ * This is the header displayed, like "Right edge".
33+ */
34+ property alias title: titleLabel.text
35+
36+ /*
37+ * This is the block of text displayed below the header.
38+ */
39+ property alias text: textLabel.text
40+
41+ /*
42+ * This is the text for the skip button.
43+ */
44+ property alias skipText: skipLabel.text
45+
46+ /*
47+ * Whether this demo is running currently.
48+ */
49+ readonly property bool active: available && visible
50+
51+ /*
52+ * Whether animations are paused.
53+ */
54+ property alias paused: wholeAnimation.paused
55+
56+ /*
57+ * Whether animations are running.
58+ */
59+ readonly property alias running: wholeAnimation.running
60+
61+ signal skip()
62+
63+ function doSkip() {
64+ d.skipOnHide = true;
65+ hide();
66+ }
67+
68+ function hideNow() {
69+ overlay.visible = false;
70+ overlay.available = false;
71+ if (d.skipOnHide) {
72+ overlay.skip();
73+ }
74+ }
75+
76+ showAnimation: StandardAnimation {
77+ property: "opacity"
78+ to: 1
79+ onRunningChanged: if (running) overlay.visible = true
80+ }
81+ hideAnimation: StandardAnimation {
82+ property: "opacity"
83+ to: 0
84+ duration: UbuntuAnimation.BriskDuration
85+ onRunningChanged: if (!running) overlay.hideNow()
86+ }
87+
88+ QtObject {
89+ id: d
90+ property bool skipOnHide: false
91+ property int edgeMargin: units.gu(4)
92+ }
93+
94+ Rectangle {
95+ objectName: "backgroundShade"
96+
97+ anchors.fill: parent
98+ color: "black"
99+ opacity: 0.8
100+ visible: overlay.active
101+
102+ MouseArea {
103+ anchors.fill: parent
104+ enabled: overlay.edge == "none" && overlay.opacity == 1.0
105+ onClicked: overlay.doSkip()
106+ }
107+ }
108+
109+ Item {
110+ id: hintGroup
111+ x: 0
112+ y: 0
113+ width: parent.width
114+ height: parent.height
115+ visible: overlay.active
116+
117+ Column {
118+ id: labelGroup
119+ layer.enabled: true // otherwise the underlining on "Skip intro" jumps
120+ spacing: units.gu(3)
121+
122+ anchors {
123+ margins: d.edgeMargin
124+ left: parent.left
125+ top: overlay.edge == "bottom" ? undefined : parent.top
126+ bottom: overlay.edge == "bottom" ? parent.bottom : undefined
127+ }
128+
129+ Label {
130+ id: titleLabel
131+ fontSize: "x-large"
132+ width: units.gu(25)
133+ wrapMode: Text.WordWrap
134+ }
135+
136+ Label {
137+ id: textLabel
138+ width: units.gu(25)
139+ wrapMode: Text.WordWrap
140+ }
141+
142+ Label {
143+ id: skipLabel
144+ objectName: "skipLabel"
145+ text: i18n.tr("Skip intro")
146+ color: UbuntuColors.orange
147+ fontSize: "small"
148+ font.underline: true
149+
150+ MouseArea {
151+ anchors.fill: parent
152+ onClicked: overlay.doSkip()
153+ }
154+ }
155+ }
156+
157+ LinearGradient {
158+ id: edgeHint
159+ property int size: 1
160+ cached: false
161+ visible: overlay.edge != "none"
162+ gradient: Gradient {
163+ GradientStop {
164+ position: 0.0
165+ color: Qt.hsla(16.0/360.0, 0.83, 0.47, 0.4) // UbuntuColors.orange, but transparent
166+ }
167+ GradientStop {
168+ position: 1.0
169+ color: "transparent"
170+ }
171+ }
172+ anchors.fill: parent
173+ start: {
174+ if (overlay.edge == "right") {
175+ return Qt.point(width, 0);
176+ } else if (overlay.edge == "left") {
177+ return Qt.point(0, 0);
178+ } else if (overlay.edge == "top") {
179+ return Qt.point(0, 0);
180+ } else {
181+ return Qt.point(0, height);
182+ }
183+ }
184+ end: {
185+ if (overlay.edge == "right") {
186+ return Qt.point(width - size, 0);
187+ } else if (overlay.edge == "left") {
188+ return Qt.point(size, 0);
189+ } else if (overlay.edge == "top") {
190+ return Qt.point(0, size);
191+ } else {
192+ return Qt.point(0, height - size);
193+ }
194+ }
195+ }
196+ }
197+
198+ SequentialAnimation {
199+ id: wholeAnimation
200+ objectName: "wholeAnimation"
201+ running: overlay.active
202+
203+ ParallelAnimation {
204+ id: fadeInAnimation
205+
206+ StandardAnimation {
207+ target: labelGroup
208+ property: {
209+ if (overlay.edge == "right" || overlay.edge == "left") {
210+ return "anchors.leftMargin";
211+ } else if (overlay.edge == "bottom") {
212+ return "anchors.bottomMargin";
213+ } else {
214+ return "anchors.topMargin";
215+ }
216+ }
217+ from: {
218+ if (overlay.edge == "right") {
219+ return d.edgeMargin + units.gu(3)
220+ } else {
221+ return d.edgeMargin - units.gu(3)
222+ }
223+ }
224+ to: d.edgeMargin
225+ duration: overlay.edge == "none" ? 0 : UbuntuAnimation.SleepyDuration
226+ }
227+ StandardAnimation {
228+ target: overlay
229+ property: "opacity"
230+ from: 0.0
231+ to: 1.0
232+ duration: UbuntuAnimation.SleepyDuration
233+ }
234+ }
235+
236+ SequentialAnimation {
237+ id: hintAnimation
238+ loops: Animation.Infinite
239+ property string prop: (overlay.edge == "left" || overlay.edge == "right") ? "x" : "y"
240+ property double endVal: units.dp(5) * ((overlay.edge == "left" || overlay.edge == "top") ? 1 : -1)
241+ property double maxGlow: units.dp(20)
242+ property int duration: overlay.edge == "none" ? 0 : UbuntuAnimation.SleepyDuration
243+
244+ ParallelAnimation {
245+ StandardAnimation { target: hintGroup; property: hintAnimation.prop; from: 0; to: hintAnimation.endVal; duration: hintAnimation.duration }
246+ StandardAnimation { target: edgeHint; property: "size"; from: 1; to: hintAnimation.maxGlow; duration: hintAnimation.duration }
247+ }
248+
249+ // Undo the above
250+ ParallelAnimation {
251+ StandardAnimation { target: hintGroup; property: hintAnimation.prop; from: hintAnimation.endVal; to: 0; duration: hintAnimation.duration }
252+ StandardAnimation { target: edgeHint; property: "size"; from: hintAnimation.maxGlow; to: 1; duration: hintAnimation.duration }
253+ }
254+ }
255+ }
256+}
Dash/Apps/FrequentlyUsedAppsModel.qml+38−8
@@ -18,23 +18,43 @@ import QtQuick 2.0
18
18
19ListModel {
19ListModel {
20 ListElement {
20 ListElement {
21− uri: "application:///usr/share/applications/camera-app.desktop"
21+ uri: "application:///usr/share/applications/dialer-app.desktop"
22− icon: "../../graphics/applicationIcons/camera.png"
22+ icon: "../../graphics/applicationIcons/phone-app.png"
23 category: 0
23 category: 0
24 mimetype: "application/x-desktop"
24 mimetype: "application/x-desktop"
25− title: "Camera"
25+ title: "Dialer"
26 comment: ""
26 comment: ""
27− dndUri: "file:///usr/share/applications/camera-app.desktop"
27+ dndUri: "file:///usr/share/applications/dialer-app.desktop"
28 metadata: ""
28 metadata: ""
29 }
29 }
30 ListElement {
30 ListElement {
31− uri: "application:///usr/share/applications/phone-app.desktop"
31+ uri: "application:///usr/share/applications/messaging-app.desktop"
32+ icon: "../../graphics/applicationIcons/messages-app.png"
33+ category: 0
34+ mimetype: "application/x-desktop"
35+ title: "Messaging"
36+ comment: ""
37+ dndUri: "file:///usr/share/applications/messaging-app.desktop"
38+ metadata: ""
39+ }
40+ ListElement {
41+ uri: "application:///usr/share/applications/address-book-app.desktop"
32− icon: "../../graphics/applicationIcons/phone-app.png"
42+ icon: "../../graphics/applicationIcons/contacts-app.png"
43+ category: 0
44+ mimetype: "application/x-desktop"
45+ title: "Contacts"
46+ comment: ""
47+ dndUri: "file:///usr/share/applications/address-book-app.desktop"
48+ metadata: ""
49+ }
50+ ListElement {
51+ uri: "application:///usr/share/applications/camera-app.desktop"
52+ icon: "../../graphics/applicationIcons/camera.png"
33 category: 0
53 category: 0
34 mimetype: "application/x-desktop"
54 mimetype: "application/x-desktop"
35− title: "Phone"
55+ title: "Camera"
36 comment: ""
56 comment: ""
37− dndUri: "file:///usr/share/applications/phone-app.desktop"
57+ dndUri: "file:///usr/share/applications/camera-app.desktop"
38 metadata: ""
58 metadata: ""
39 }
59 }
40 ListElement {
60 ListElement {
@@ -77,4 +97,14 @@ ListModel {
77 dndUri: "file:///usr/share/applications/gmail-webapp.desktop"
97 dndUri: "file:///usr/share/applications/gmail-webapp.desktop"
78 metadata: ""
98 metadata: ""
79 }
99 }
100+ ListElement {
101+ uri: "application:///usr/share/applications/ubuntu-system-settings.desktop"
102+ icon: "../../graphics/applicationIcons/system-settings.png"
103+ category: 0
104+ mimetype: "application/x-desktop"
105+ title: "System Settings"
106+ comment: ""
107+ dndUri: "file:///usr/share/applications/ubuntu-system-settings.desktop"
108+ metadata: ""
109+ }
80}
110}
Dash/GenericScopeView.qml+6
@@ -80,6 +80,12 @@ ScopeView {
80 item.model = results
80 item.model = results
81 }
81 }
82 item.objectName = categoryId
82 item.objectName = categoryId
83+ if (item.expandable) {
84+ var shouldFilter = index != categoryView.expandedIndex;
85+ if (shouldFilter != item.filter) {
86+ item.filter = shouldFilter;
87+ }
88+ }
83 }
89 }
84
90
85 Connections {
91 Connections {
Greeter/Greeter.qml+6−2
@@ -44,6 +44,8 @@ Showable {
44 readonly property bool rightTeaserPressed: greeterContentLoader.status == Loader.Ready &&
44 readonly property bool rightTeaserPressed: greeterContentLoader.status == Loader.Ready &&
45 greeterContentLoader.item.rightTeaserPressed
45 greeterContentLoader.item.rightTeaserPressed
46
46
47+ readonly property int currentIndex: greeterContentLoader.currentIndex
48+
47 signal selected(int uid)
49 signal selected(int uid)
48 signal unlocked(int uid)
50 signal unlocked(int uid)
49
51
@@ -63,11 +65,13 @@ Showable {
63
65
64 source: required ? "GreeterContent.qml" : ""
66 source: required ? "GreeterContent.qml" : ""
65
67
66−
67 Connections {
68 Connections {
68 target: greeterContentLoader.item
69 target: greeterContentLoader.item
69
70
71+ onSelected: {
70− onSelected: greeter.selected(uid);
72+ greeter.selected(uid);
73+ greeterContentLoader.currentIndex = uid;
74+ }
71 onUnlocked: greeter.unlocked(uid);
75 onUnlocked: greeter.unlocked(uid);
72 }
76 }
73 }
77 }
Greeter/GreeterContent.qml+8−1
@@ -23,7 +23,7 @@ MouseArea {
23 id: root
23 id: root
24 anchors.fill: parent
24 anchors.fill: parent
25
25
26− property bool ready: wallpaper.status == Image.Ready
26+ property bool ready: wallpaper.source == "" || wallpaper.status == Image.Ready || wallpaper.status == Image.Error
27 property bool leftTeaserPressed: teasingMouseArea.pressed &&
27 property bool leftTeaserPressed: teasingMouseArea.pressed &&
28 teasingMouseArea.mouseX < teasingMouseArea.width / 2
28 teasingMouseArea.mouseX < teasingMouseArea.width / 2
29 property bool rightTeaserPressed: teasingMouseArea.pressed &&
29 property bool rightTeaserPressed: teasingMouseArea.pressed &&
@@ -32,6 +32,13 @@ MouseArea {
32 signal selected(int uid)
32 signal selected(int uid)
33 signal unlocked(int uid)
33 signal unlocked(int uid)
34
34
35+ Rectangle {
36+ // In case wallpaper fails to load
37+ id: wallpaperBackup
38+ anchors.fill: parent
39+ color: "black"
40+ }
41+
35 CrossFadeImage {
42 CrossFadeImage {
36 id: wallpaper
43 id: wallpaper
37
44
Greeter/GreeterEdgeDemo.qmlnew file+98
@@ -0,0 +1,98 @@
1+/*
2+ * Copyright (C) 2013 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import AccountsService 0.1
18+import LightDM 0.1 as LightDM
19+import QtQuick 2.0
20+
21+Item {
22+ id: demo
23+
24+ property Item greeter
25+
26+ property bool active: true
27+ property bool paused: false
28+
29+ onPausedChanged: {
30+ if (d.rightEdgeDemo) d.rightEdgeDemo.paused = paused
31+ }
32+
33+ function hideEdgeDemoInShell() {
34+ var user = LightDM.Users.data(greeter.currentIndex, LightDM.UserRoles.NameRole);
35+ AccountsService.setUserProperty(user, "demo-edges", false);
36+ }
37+
38+ function hideEdgeDemoInGreeter() {
39+ AccountsService.setUserProperty("lightdm", "demo-edges", false);
40+ d.showEdgeDemoInGreeter = false;
41+ stopDemo();
42+ }
43+
44+ function hideEdgeDemos() {
45+ hideEdgeDemoInGreeter();
46+ hideEdgeDemoInShell();
47+ }
48+
49+ function stopDemo() {
50+ active = false
51+ if (d.rightEdgeDemo) d.rightEdgeDemo.destroy()
52+ }
53+
54+ QtObject {
55+ id: d
56+ property Component overlay
57+ property QtObject rightEdgeDemo
58+ property bool showEdgeDemoInGreeter: AccountsService.getUserProperty("lightdm", "demo-edges")
59+
60+ onShowEdgeDemoInGreeterChanged: {
61+ if (!d.overlay && d.showEdgeDemoInGreeter) {
62+ d.overlay = Qt.createComponent("EdgeDemoOverlay.qml")
63+ startRightEdgeDemo()
64+ }
65+ }
66+ }
67+
68+ function startRightEdgeDemo() {
69+ active = true;
70+ if (demo.greeter) {
71+ d.rightEdgeDemo = d.overlay.createObject(demo.greeter, {
72+ "edge": "right",
73+ "title": i18n.tr("Right edge"),
74+ "text": i18n.tr("Try swiping from the right edge to unlock the phone"),
75+ "anchors.fill": demo.greeter,
76+ });
77+ }
78+ if (d.rightEdgeDemo) {
79+ d.rightEdgeDemo.onSkip.connect(demo.hideEdgeDemos)
80+ } else {
81+ stopDemo();
82+ }
83+ }
84+
85+ Connections {
86+ target: demo.greeter
87+
88+ function hide() {
89+ if (d.rightEdgeDemo && d.rightEdgeDemo.available) {
90+ d.rightEdgeDemo.hide()
91+ hideEdgeDemoInGreeter()
92+ }
93+ }
94+
95+ onUnlocked: hide()
96+ onShownChanged: if (!greeter.shown) hide()
97+ }
98+}
Greeter/Lockscreen.qml+8
@@ -53,7 +53,15 @@ Showable {
53 pinPadLoader.resetting = false;
53 pinPadLoader.resetting = false;
54 }
54 }
55
55
56+ Rectangle {
57+ // In case wallpaper fails to load or is undefined
58+ id: wallpaperBackup
59+ anchors.fill: parent
60+ color: "black"
61+ }
62+
56 Image {
63 Image {
64+ id: wallpaper
57 anchors.fill: parent
65 anchors.fill: parent
58 source: root.required ? root.background : ""
66 source: root.required ? root.background : ""
59 fillMode: Image.PreserveAspectCrop
67 fillMode: Image.PreserveAspectCrop
GreeterShell.qml+14−1
@@ -50,6 +50,7 @@ BasicShell {
50 Component.onCompleted: {
50 Component.onCompleted: {
51 if (LightDM.Users.count == 1) {
51 if (LightDM.Users.count == 1) {
52 LightDM.Greeter.authenticate(LightDM.Users.data(0, LightDM.UserRoles.NameRole))
52 LightDM.Greeter.authenticate(LightDM.Users.data(0, LightDM.UserRoles.NameRole))
53+ greeter.selected(0)
53 }
54 }
54 }
55 }
55 }
56 }
@@ -97,6 +98,7 @@ BasicShell {
97 // If there are more users, the Greeter will handle that
98 // If there are more users, the Greeter will handle that
98 if (LightDM.Users.count == 1) {
99 if (LightDM.Users.count == 1) {
99 LightDM.Greeter.authenticate(LightDM.Users.data(0, LightDM.UserRoles.NameRole));
100 LightDM.Greeter.authenticate(LightDM.Users.data(0, LightDM.UserRoles.NameRole));
101+ greeter.selected(0);
100 }
102 }
101 greeter.forceActiveFocus();
103 greeter.forceActiveFocus();
102 }
104 }
@@ -105,6 +107,11 @@ BasicShell {
105 }
107 }
106
108
107 onUnlocked: login()
109 onUnlocked: login()
110+ onSelected: {
111+ // Update launcher items for new user
112+ var user = LightDM.Users.data(uid, LightDM.UserRoles.NameRole);
113+ LauncherModel.setUser(user);
114+ }
108
115
109 onLeftTeaserPressedChanged: {
116 onLeftTeaserPressedChanged: {
110 if (leftTeaserPressed) {
117 if (leftTeaserPressed) {
@@ -142,6 +149,7 @@ BasicShell {
142 indicatorsMenuWidth: parent.width > units.gu(60) ? units.gu(40) : parent.width
149 indicatorsMenuWidth: parent.width > units.gu(60) ? units.gu(40) : parent.width
143 indicators {
150 indicators {
144 hides: [launcher]
151 hides: [launcher]
152+ available: !edgeDemo.active
145 }
153 }
146 fullscreenMode: false
154 fullscreenMode: false
147 searchVisible: false
155 searchVisible: false
@@ -154,7 +162,7 @@ BasicShell {
154 anchors.bottom: parent.bottom
162 anchors.bottom: parent.bottom
155 width: parent.width
163 width: parent.width
156 dragAreaWidth: shell.edgeSize
164 dragAreaWidth: shell.edgeSize
157− available: greeter.narrowMode
165+ available: greeter.narrowMode && !edgeDemo.active
158 onLauncherApplicationSelected: {
166 onLauncherApplicationSelected: {
159 shell.activateApplication(name)
167 shell.activateApplication(name)
160 }
168 }
@@ -165,4 +173,9 @@ BasicShell {
165 }
173 }
166 }
174 }
167 }
175 }
176+
177+ GreeterEdgeDemo {
178+ id: edgeDemo
179+ greeter: greeter
180+ }
168}
181}
Launcher/Launcher.qml+12−2
@@ -28,7 +28,9 @@ Item {
28
28
29 property int panelWidth: units.gu(8)
29 property int panelWidth: units.gu(8)
30 property int dragAreaWidth: units.gu(1)
30 property int dragAreaWidth: units.gu(1)
31+ property int minimizeDistance: panelWidth * 2.5
31− property real progress: dragArea.dragging && dragArea.touchX > panel.width ? dragArea.touchX : 0
32+ property real progress: dragArea.dragging && dragArea.touchX > panelWidth ?
33+ (width * (dragArea.touchX-panelWidth) / (width - panelWidth)) : 0
32
34
33 readonly property bool shown: panel.x > -panel.width
35 readonly property bool shown: panel.x > -panel.width
34
36
@@ -143,12 +145,14 @@ Item {
143 LauncherPanel {
145 LauncherPanel {
144 id: panel
146 id: panel
145 objectName: "launcherPanel"
147 objectName: "launcherPanel"
148+ enabled: root.available
146 width: root.panelWidth
149 width: root.panelWidth
147 anchors {
150 anchors {
148 top: parent.top
151 top: parent.top
149 bottom: parent.bottom
152 bottom: parent.bottom
150 }
153 }
151 x: -width
154 x: -width
155+ opacity: (x == -width && dragArea.status === DirectionalDragArea.WaitingForTouch) ? 0 : 1
152 model: LauncherModel
156 model: LauncherModel
153
157
154 property bool animate: true
158 property bool animate: true
@@ -175,6 +179,12 @@ Item {
175 easing.type: Easing.OutCubic
179 easing.type: Easing.OutCubic
176 }
180 }
177 }
181 }
182+
183+ Behavior on opacity {
184+ NumberAnimation {
185+ duration: UbuntuAnimation.FastDuration; easing.type: Easing.OutCubic
186+ }
187+ }
178 }
188 }
179
189
180 EdgeDragArea {
190 EdgeDragArea {
@@ -206,7 +216,7 @@ Item {
206 if (!dragging) {
216 if (!dragging) {
207 if (distance > panel.width / 2) {
217 if (distance > panel.width / 2) {
208 root.switchToNextState("visible")
218 root.switchToNextState("visible")
209− if (distance > panel.width * 2) {
219+ if (distance > minimizeDistance) {
210 root.dash()
220 root.dash()
211 }
221 }
212 } else {
222 } else {
Launcher/LauncherDelegate.qml+1−1
@@ -60,7 +60,7 @@ Item {
60 id: iconImage
60 id: iconImage
61 sourceSize.width: iconShape.width
61 sourceSize.width: iconShape.width
62 sourceSize.height: iconShape.height
62 sourceSize.height: iconShape.height
63− source: "../graphics/applicationIcons/" + root.iconName + ".png"
63+ source: root.iconName
64 }
64 }
65 }
65 }
66
66
Launcher/LauncherPanel.qml+20−2
@@ -110,7 +110,20 @@ Item {
110 // destroyed when dragging them outside the list. This needs to be at least
110 // destroyed when dragging them outside the list. This needs to be at least
111 // itemHeight to prevent folded items from disappearing and DragArea limits
111 // itemHeight to prevent folded items from disappearing and DragArea limits
112 // need to be smaller than this size to avoid breakage.
112 // need to be smaller than this size to avoid breakage.
113− property int extensionSize: itemHeight * 3
113+ property int extensionSize: 0
114+
115+ // Setting extensionSize after the list has been populated because it has
116+ // the potential to mess up with the intial positioning in combination
117+ // with snapping to the center of the list. This catches all the cases
118+ // where the item would be outside the list for more than itemHeight / 2.
119+ // For the rest, give it a flick to scroll to the beginning. Note that
120+ // the flicking alone isn't enough because in some cases it's not strong
121+ // enough to overcome the snapping.
122+ // https://bugreports.qt-project.org/browse/QTBUG-32251
123+ Component.onCompleted: {
124+ extensionSize = itemHeight * 3
125+ flick(0, clickFlickSpeed)
126+ }
114
127
115 // The height of the area where icons start getting folded
128 // The height of the area where icons start getting folded
116 property int foldingStartHeight: units.gu(6.5)
129 property int foldingStartHeight: units.gu(6.5)
@@ -476,6 +489,7 @@ Item {
476 property var model
489 property var model
477 property string appId
490 property string appId
478 contentWidth: quickListColumn.width
491 contentWidth: quickListColumn.width
492+ foregroundStyle: QuicklistForegroundStyle {}
479
493
480 // FIXME: There's a bug in the Popover positioning that it covers the item in case it is rotated.
494 // FIXME: There's a bug in the Popover positioning that it covers the item in case it is rotated.
481 // https://bugs.launchpad.net/ubuntu-ui-toolkit/+bug/1204470
495 // https://bugs.launchpad.net/ubuntu-ui-toolkit/+bug/1204470
@@ -491,6 +505,7 @@ Item {
491 height: childrenRect.height
505 height: childrenRect.height
492
506
493 Repeater {
507 Repeater {
508+ id: popoverRepeater
494 model: popover.model
509 model: popover.model
495
510
496 ListItems.Standard {
511 ListItems.Standard {
@@ -501,8 +516,11 @@ Item {
501 if (!model.clickable) {
516 if (!model.clickable) {
502 return;
517 return;
503 }
518 }
504− LauncherModel.quickListActionInvoked(appId, index);
505 PopupUtils.close(popover);
519 PopupUtils.close(popover);
520+ // Unsetting model to prevent showing changing entries during fading out
521+ // that may happen because of triggering an action.
522+ LauncherModel.quickListActionInvoked(appId, index);
523+ popoverRepeater.model = undefined;
506 }
524 }
507 }
525 }
508 }
526 }
Launcher/QuicklistForegroundStyle.qmlnew file+23
@@ -0,0 +1,23 @@
1+/*
2+ * Copyright (C) 2013 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import Ubuntu.Components.Themes.Ambiance 0.1
18+
19+PopoverForegroundStyle {
20+ bubbleColor: "#221e1c"
21+ bubbleOpacity: 0.9
22+ arrowSource: "graphics/quicklist_tooltip.png"
23+}
Launcher/graphics/quicklist_tooltip@30.pngnew file

Binary file not shown.

Panel/Indicators.qml+4−2
@@ -34,6 +34,7 @@ Showable {
34 property bool fullyOpened: height == openedHeight
34 property bool fullyOpened: height == openedHeight
35 property bool partiallyOpened: height > panelHeight && !fullyOpened
35 property bool partiallyOpened: height > panelHeight && !fullyOpened
36 property real visualBottom: Math.max(y+height, y+indicatorRow.y+indicatorRow.height)
36 property real visualBottom: Math.max(y+height, y+indicatorRow.y+indicatorRow.height)
37+ property bool contentEnabled: true
37
38
38 // TODO: Perhaps we need a animation standard for showing/hiding? Each showable seems to
39 // TODO: Perhaps we need a animation standard for showing/hiding? Each showable seems to
39 // use its own values. Need to ask design about this.
40 // use its own values. Need to ask design about this.
@@ -178,6 +179,7 @@ Showable {
178 indicatorsModel: indicatorsModel
179 indicatorsModel: indicatorsModel
179 clip: !indicators.fullyOpened
180 clip: !indicators.fullyOpened
180 activeHeader: indicators.state == "hint" || indicators.state == "reveal"
181 activeHeader: indicators.state == "hint" || indicators.state == "reveal"
182+ enabled: contentEnabled
181
183
182 Connections {
184 Connections {
183 target: indicatorRow
185 target: indicatorRow
@@ -301,7 +303,7 @@ Showable {
301 anchors.right: parent.right
303 anchors.right: parent.right
302 height: panelHeight
304 height: panelHeight
303 direction: Direction.Downwards
305 direction: Direction.Downwards
304− enabled: !indicators.shown
306+ enabled: !indicators.shown && indicators.available
305 hintDisplacement: pinnedMode ? indicators.hintValue : 0
307 hintDisplacement: pinnedMode ? indicators.hintValue : 0
306 autoCompleteDragThreshold: maxTotalDragDistance / 2
308 autoCompleteDragThreshold: maxTotalDragDistance / 2
307 stretch: true
309 stretch: true
@@ -318,7 +320,7 @@ Showable {
318 id: hideDragHandle
320 id: hideDragHandle
319 anchors.fill: handle
321 anchors.fill: handle
320 direction: Direction.Upwards
322 direction: Direction.Upwards
321− enabled: indicators.shown
323+ enabled: indicators.shown && indicators.available
322 hintDisplacement: indicators.hintValue
324 hintDisplacement: indicators.hintValue
323 autoCompleteDragThreshold: maxTotalDragDistance / 6
325 autoCompleteDragThreshold: maxTotalDragDistance / 6
324 stretch: true
326 stretch: true
Panel/IndicatorsDataModel.qml+6
@@ -27,6 +27,12 @@ Indicators.IndicatorsModel {
27 Component.onCompleted: load()
27 Component.onCompleted: load()
28
28
29 indicatorData : {
29 indicatorData : {
30+ 'indicator-location' : {
31+ 'title': 'Location',
32+ 'description' : '',
33+ 'widgetSource' : ApplicationPaths.shellAppDirectory()+'/Panel/Indicators/DefaultIndicatorWidget2.qml',
34+ 'pageSource' : ApplicationPaths.shellAppDirectory()+'/Panel/Indicators/DefaultIndicatorPage2.qml'
35+ },
30 'indicator-bluetooth' : {
36 'indicator-bluetooth' : {
31 'title': 'Bluetooth',
37 'title': 'Bluetooth',
32 'description' : '',
38 'description' : '',
Shell.qml+29−5
@@ -18,6 +18,7 @@ import QtQuick 2.0
18import Ubuntu.Application 0.1
18import Ubuntu.Application 0.1
19import Ubuntu.Components 0.1
19import Ubuntu.Components 0.1
20import Ubuntu.Gestures 0.1
20import Ubuntu.Gestures 0.1
21+import Unity.Launcher 0.1
21import Powerd 0.1
22import Powerd 0.1
22import SessionManager 0.1
23import SessionManager 0.1
23import "Dash"
24import "Dash"
@@ -109,10 +110,14 @@ BasicShell {
109 // Whether the underlay is fully covered by opaque UI elements.
110 // Whether the underlay is fully covered by opaque UI elements.
110 property bool fullyCovered: panel.indicators.fullyOpened && shell.width <= panel.indicatorsMenuWidth
111 property bool fullyCovered: panel.indicators.fullyOpened && shell.width <= panel.indicatorsMenuWidth
111
112
113+ readonly property bool applicationRunning: ((mainStage.applications && mainStage.applications.count > 0)
114+ || (sideStage.applications && sideStage.applications.count > 0))
115+
112 // Whether the user should see the topmost application surface (if there's one at all).
116 // Whether the user should see the topmost application surface (if there's one at all).
113− property bool applicationSurfaceShouldBeSeen:
117+ readonly property bool applicationSurfaceShouldBeSeen: applicationRunning && !stages.fullyHidden
114− (mainStage.applications && mainStage.applications.count > 0)
115− && (!stages.fullyHidden && !mainStage.usingScreenshots)
118+ && !mainStage.usingScreenshots // but want sideStage animating over app surface
119+
120+
116
121
117 // NB! Application surfaces are stacked behing the shell one. So they can only be seen by the user
122 // NB! Application surfaces are stacked behing the shell one. So they can only be seen by the user
118 // through the translucent parts of the shell surface.
123 // through the translucent parts of the shell surface.
@@ -138,7 +143,7 @@ BasicShell {
138
143
139 hides: [stages, launcher, panel.indicators]
144 hides: [stages, launcher, panel.indicators]
140 shown: disappearingAnimationProgress !== 1.0
145 shown: disappearingAnimationProgress !== 1.0
141− enabled: disappearingAnimationProgress === 0.0
146+ enabled: disappearingAnimationProgress === 0.0 && edgeDemo.dashEnabled
142 // FIXME: unfocus all applications when going back to the dash
147 // FIXME: unfocus all applications when going back to the dash
143 onEnabledChanged: {
148 onEnabledChanged: {
144 if (enabled) {
149 if (enabled) {
@@ -322,6 +327,7 @@ BasicShell {
322
327
323 width: shell.edgeSize
328 width: shell.edgeSize
324 direction: Direction.Leftwards
329 direction: Direction.Leftwards
330+ enabled: edgeDemo.dashEnabled
325 property bool haveApps: mainStage.applications.count > 0 || sideStage.applications.count > 0
331 property bool haveApps: mainStage.applications.count > 0 || sideStage.applications.count > 0
326
332
327 maxTotalDragDistance: haveApps ? parent.width : parent.width * 0.7
333 maxTotalDragDistance: haveApps ? parent.width : parent.width * 0.7
@@ -366,6 +372,13 @@ BasicShell {
366 } else if (status == Powerd.On) {
372 } else if (status == Powerd.On) {
367 powerConnection.setFocused(true);
373 powerConnection.setFocused(true);
368 }
374 }
375+
376+ // No reason to chew demo CPU when user isn't watching
377+ if (status == Powerd.Off) {
378+ edgeDemo.paused = true;
379+ } else if (status == Powerd.On) {
380+ edgeDemo.paused = false;
381+ }
369 }
382 }
370 }
383 }
371
384
@@ -380,6 +393,8 @@ BasicShell {
380 indicatorsMenuWidth: parent.width > units.gu(60) ? units.gu(40) : parent.width
393 indicatorsMenuWidth: parent.width > units.gu(60) ? units.gu(40) : parent.width
381 indicators {
394 indicators {
382 hides: [launcher]
395 hides: [launcher]
396+ available: edgeDemo.panelEnabled
397+ contentEnabled: edgeDemo.panelContentEnabled
383 }
398 }
384 fullscreenMode: shell.fullscreenMode
399 fullscreenMode: shell.fullscreenMode
385
400
@@ -395,7 +410,7 @@ BasicShell {
395 width: parent.width > units.gu(60) ? units.gu(40) : parent.width
410 width: parent.width > units.gu(60) ? units.gu(40) : parent.width
396 height: parent.height
411 height: parent.height
397
412
398− available: !panel.indicators.shown
413+ available: !panel.indicators.shown && edgeDemo.dashEnabled
399 shown: false
414 shown: false
400 showAnimation: StandardAnimation { property: "y"; duration: hud.showableAnimationDuration; to: 0; easing.type: Easing.Linear }
415 showAnimation: StandardAnimation { property: "y"; duration: hud.showableAnimationDuration; to: 0; easing.type: Easing.Linear }
401 hideAnimation: StandardAnimation { property: "y"; duration: hud.showableAnimationDuration; to: hudRevealer.closedValue; easing.type: Easing.Linear }
416 hideAnimation: StandardAnimation { property: "y"; duration: hud.showableAnimationDuration; to: hudRevealer.closedValue; easing.type: Easing.Linear }
@@ -453,6 +468,7 @@ BasicShell {
453 anchors.bottom: parent.bottom
468 anchors.bottom: parent.bottom
454 width: parent.width
469 width: parent.width
455 dragAreaWidth: shell.edgeSize
470 dragAreaWidth: shell.edgeSize
471+ available: edgeDemo.launcherEnabled
456 onDashItemSelected: {
472 onDashItemSelected: {
457 // Animate if moving between application and dash
473 // Animate if moving between application and dash
458 if (!stages.shown) {
474 if (!stages.shown) {
@@ -549,4 +565,12 @@ BasicShell {
549 rotation: -45
565 rotation: -45
550 scale: Math.min(parent.width, parent.height) / width
566 scale: Math.min(parent.width, parent.height) / width
551 }
567 }
568+
569+ EdgeDemo {
570+ id: edgeDemo
571+ launcher: launcher
572+ dash: dash
573+ indicators: panel.indicators
574+ underlay: underlay
575+ }
552}
576}
debian/changelog+155
@@ -1,3 +1,158 @@
1+unity8 (7.81.3+13.10.20130830-0ubuntu1) saucy; urgency=low
2+
3+ [ Pawel Stolowski ]
4+ * Implement a virtual 'All' filter option.
5+
6+ [ Ubuntu daily release ]
7+ * Automatic snapshot from revision 275
8+
9+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Fri, 30 Aug 2013 12:44:40 +0000
10+
11+unity8 (7.81.3+13.10.20130829.2-0ubuntu1) saucy; urgency=low
12+
13+ [ Michael Terry ]
14+ * Implement launcher item backend via AccountsService.
15+
16+ [ Ubuntu daily release ]
17+ * Automatic snapshot from revision 272
18+
19+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Thu, 29 Aug 2013 19:09:44 +0000
20+
21+unity8 (7.81.3+13.10.20130829.1-0ubuntu1) saucy; urgency=low
22+
23+ [ Michael Terry ]
24+ * Make sure greeter and lockscreen backgrounds are always defined,
25+ even if the wallpaper preference string is bogus. (LP: #1208889,
26+ #1208894)
27+
28+ [ Ubuntu daily release ]
29+ * Automatic snapshot from revision 270
30+
31+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Thu, 29 Aug 2013 11:09:43 +0000
32+
33+unity8 (7.81.3+13.10.20130829-0ubuntu1) saucy; urgency=low
34+
35+ [ Andrea Cimitan ]
36+ * Streamline some new HUD interactions to be more consistent with the
37+ Unity Launcher.
38+
39+ [ Michael Zanetti ]
40+ * setting the launcher's extensionSize delayed to position the view
41+ correctly at the beginning .
42+
43+ [ Bill Filler ]
44+ * add new telephony apps (dialer, messaging, contacts) to launcher and
45+ Home scope.
46+
47+ [ Michael Terry ]
48+ * Implement edge demos on first boot. Build-Depends: +dbus-test-
49+ runner, +qtbase5-dev-tools.
50+
51+ [ Ubuntu daily release ]
52+ * Automatic snapshot from revision 267
53+
54+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Thu, 29 Aug 2013 02:10:38 +0000
55+
56+unity8 (7.81.3+13.10.20130828.1-0ubuntu1) saucy; urgency=low
57+
58+ [ Andrea Cimitan ]
59+ * Hide the LauncherPanel when it's really hidden, by changing visible
60+ to false.
61+
62+ [ Gerry Boland ]
63+ * Fix sidestage applications - they were being ignored in the show-
64+ application-surface logic. (LP: #1217027, #1210079)
65+
66+ [ Michał Sawicz ]
67+ * Raise the exception if typing failed in autopilot.
68+
69+ [ Nick Dedekind ]
70+ * Added location indicator defaults.
71+
72+ [ Michael Zanetti ]
73+ * increase minimal dragging width for dismissing apps with left edge
74+ make it a configurable parameter and adjust animation to look like
75+ requested in the bug report . (LP: #1213153)
76+
77+ [ Ubuntu daily release ]
78+ * Automatic snapshot from revision 262
79+
80+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Wed, 28 Aug 2013 11:55:46 +0000
81+
82+unity8 (7.81.3+13.10.20130827.1-0ubuntu1) saucy; urgency=low
83+
84+ [ Michael Zanetti ]
85+ * unset model in quicklist before closing it.
86+
87+ [ Ubuntu daily release ]
88+ * Automatic snapshot from revision 256
89+
90+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Tue, 27 Aug 2013 10:49:17 +0000
91+
92+unity8 (7.81.3+13.10.20130827-0ubuntu1) saucy; urgency=low
93+
94+ [ Michael Zanetti ]
95+ * Theme the Quicklist Popover.
96+
97+ [ Albert Astals ]
98+ * Apply expandedIndex on delegate creation bug #1213033. (LP:
99+ #1213033)
100+
101+ [ Ubuntu daily release ]
102+ * Automatic snapshot from revision 254
103+
104+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Tue, 27 Aug 2013 02:10:43 +0000
105+
106+unity8 (7.81.3+13.10.20130826.5-0ubuntu1) saucy; urgency=low
107+
108+ [ Michael Zanetti ]
109+ * tweak launcher folding and visuals according to feedback from
110+ design: - increase foldingStartHeight - Introduces a
111+ foldingStopHeight. Folding only happens between the
112+ foldingStartHeight and the foldingStopHeight. - Only change
113+ brightness while folding - remove highlight of pressed icon -
114+ decrease launcher's width by half a grid unit.
115+
116+ [ Ubuntu daily release ]
117+ * Automatic snapshot from revision 251
118+
119+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Mon, 26 Aug 2013 22:09:43 +0000
120+
121+unity8 (7.81.3+13.10.20130826.4-0ubuntu1) saucy; urgency=low
122+
123+ [ Michał Sawicz ]
124+ * Add module entry in HudClient's qmldir.
125+
126+ [ Jussi Pakkanen ]
127+ * Let Ninja parallelize itself.
128+
129+ [ Nick Dedekind ]
130+ * Abstraction of indicator menu item properties prior to move into
131+ common components library.
132+
133+ [ Christopher Lee ]
134+ * Added autopilot-tests for ephemeral, interactive and snap-decision
135+ notifications.
136+
137+ [ Mirco Müller ]
138+ * Added autopilot-tests for ephemeral, interactive and snap-decision
139+ notifications.
140+
141+ [ Michael Zanetti ]
142+ * only search visible children in findChild, add findInvisibleChild
143+ for others.
144+ * Added autopilot-tests for ephemeral, interactive and snap-decision
145+ notifications.
146+
147+ [ Thomi Richards ]
148+ * Added autopilot-tests for ephemeral, interactive and snap-decision
149+ notifications.
150+
151+ [ Ubuntu daily release ]
152+ * Automatic snapshot from revision 249
153+
154+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Mon, 26 Aug 2013 18:34:44 +0000
155+
1unity8 (7.81.3+13.10.20130826.2-0ubuntu1) saucy; urgency=low
156unity8 (7.81.3+13.10.20130826.2-0ubuntu1) saucy; urgency=low
2
157
3 [ Albert Astals ]
158 [ Albert Astals ]
debian/rules+5
@@ -16,6 +16,11 @@ override_dh_auto_clean:
16 dh_auto_clean
16 dh_auto_clean
17 rm -rf builddir
17 rm -rf builddir
18
18
19+override_dh_auto_configure:
20+ # Debian defines CMAKE_INSTALL_LOCALSTATEDIR as /usr/var, which is wrong.
21+ # So until Debian bug 719148 is fixed, do it ourselves.
22+ dh_auto_configure -- -DCMAKE_INSTALL_LOCALSTATEDIR="/var"
23+
19override_dh_install:
24override_dh_install:
20 # install autopilot tests
25 # install autopilot tests
21 cd tests/autopilot; \
26 cd tests/autopilot; \
debian/unity8-private.install+5
@@ -1,3 +1,4 @@
1+usr/lib/*/unity8/qml/AccountsService
1usr/lib/*/unity8/qml/HudClient
2usr/lib/*/unity8/qml/HudClient
2usr/lib/*/unity8/qml/LightDM
3usr/lib/*/unity8/qml/LightDM
3usr/lib/*/unity8/qml/ListViewWithPageHeader
4usr/lib/*/unity8/qml/ListViewWithPageHeader
@@ -6,3 +7,7 @@ usr/lib/*/unity8/qml/SessionManager
6usr/lib/*/unity8/qml/Ubuntu
7usr/lib/*/unity8/qml/Ubuntu
7usr/lib/*/unity8/qml/Unity
8usr/lib/*/unity8/qml/Unity
8usr/lib/*/unity8/qml/Utils
9usr/lib/*/unity8/qml/Utils
10+usr/share/accountsservice/interfaces
11+usr/share/dbus-1/interfaces
12+usr/share/polkit-1
13+var/lib/polkit-1
graphics/applicationIcons/contacts-app@18.pngnew file

Binary file not shown.

graphics/applicationIcons/messages-app@18.pngnew file

Binary file not shown.

graphics/applicationIcons/system-settings@18.pngnew file

Binary file not shown.

plugins/AccountsService/50-com.canonical.unity.AccountsService.pklanew file+6
@@ -0,0 +1,6 @@
1+[Allow LightDM to set Unity AccountsService fields]
2+Identity=unix-user:lightdm
3+Action=com.canonical.unity.AccountsService.ModifyAnyUser
4+ResultActive=yes
5+ResultInactive=yes
6+ResultAny=yes
plugins/AccountsService/AccountsService.cppnew file+74
@@ -0,0 +1,74 @@
1+/*
2+ * Copyright (C) 2013 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ *
16+ * Author: Michael Terry <michael.terry@canonical.com>
17+ */
18+
19+#include "AccountsService.h"
20+#include <QDBusConnection>
21+#include <QDBusConnectionInterface>
22+#include <QDBusMessage>
23+#include <QDBusVariant>
24+
25+AccountsService::AccountsService(QObject* parent)
26+ : QObject(parent),
27+ accounts_manager(NULL),
28+ users()
29+{
30+ auto connection = QDBusConnection::SM_BUSNAME();
31+ auto interface = connection.interface();
32+ interface->startService("org.freedesktop.Accounts");
33+ accounts_manager = new QDBusInterface("org.freedesktop.Accounts",
34+ "/org/freedesktop/Accounts",
35+ "org.freedesktop.Accounts",
36+ connection, this);
37+}
38+
39+QVariant AccountsService::getUserProperty(const QString &user, const QString &property)
40+{
41+ auto iface = getUserInterface(user);
42+ if (iface != nullptr && iface->isValid()) {
43+ auto answer = iface->call("Get", "com.canonical.unity.AccountsService", property);
44+ if (answer.type() == QDBusMessage::ReplyMessage) {
45+ return answer.arguments()[0].value<QDBusVariant>().variant();
46+ }
47+ }
48+ return QVariant();
49+}
50+
51+void AccountsService::setUserProperty(const QString &user, const QString &property, const QVariant &value)
52+{
53+ auto iface = getUserInterface(user);
54+ if (iface != nullptr && iface->isValid()) {
55+ // The value needs to be carefully wrapped
56+ iface->call("Set", "com.canonical.unity.AccountsService", property, QVariant::fromValue(QDBusVariant(value)));
57+ }
58+}
59+
60+QDBusInterface *AccountsService::getUserInterface(const QString &user)
61+{
62+ auto iface = users.value(user);
63+ if (iface == nullptr && accounts_manager->isValid()) {
64+ auto answer = accounts_manager->call("FindUserByName", user);
65+ if (answer.type() == QDBusMessage::ReplyMessage) {
66+ iface = new QDBusInterface("org.freedesktop.Accounts",
67+ answer.arguments()[0].value<QDBusObjectPath>().path(),
68+ "org.freedesktop.DBus.Properties",
69+ accounts_manager->connection(), this);
70+ users.insert(user, iface);
71+ }
72+ }
73+ return iface;
74+}
plugins/AccountsService/AccountsService.hnew file+44
@@ -0,0 +1,44 @@
1+/*
2+ * Copyright (C) 2012,2013 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ *
16+ * Authors: Michael Terry <michael.terry@canonical.com>
17+ */
18+
19+#ifndef UNITY_ACCOUNTSSERVICE_H
20+#define UNITY_ACCOUNTSSERVICE_H
21+
22+#include <QDBusInterface>
23+#include <QMap>
24+#include <QObject>
25+#include <QString>
26+
27+class AccountsService: public QObject
28+{
29+ Q_OBJECT
30+
31+public:
32+ explicit AccountsService(QObject *parent = 0);
33+
34+ Q_INVOKABLE QVariant getUserProperty(const QString &user, const QString &property);
35+ Q_INVOKABLE void setUserProperty(const QString &user, const QString &property, const QVariant &value);
36+
37+private:
38+ QDBusInterface *getUserInterface(const QString &user);
39+
40+ QDBusInterface *accounts_manager;
41+ QMap<QString, QDBusInterface *> users;
42+};
43+
44+#endif
plugins/AccountsService/CMakeLists.txtnew file+36
@@ -0,0 +1,36 @@
1+include(Plugins)
2+
3+add_definitions(-DSM_BUSNAME=systemBus)
4+
5+add_library(AccountsService-qml MODULE
6+ AccountsService.cpp
7+ plugin.cpp
8+ )
9+
10+qt5_use_modules(AccountsService-qml DBus Qml)
11+
12+export_qmlfiles(AccountsService AccountsService)
13+export_qmlplugin(AccountsService 0.1 AccountsService TARGETS AccountsService-qml)
14+
15+set(POLKIT_LIB_DIR "${CMAKE_INSTALL_LOCALSTATEDIR}/lib/polkit-1")
16+set(POLKIT_DATA_DIR "${CMAKE_INSTALL_PREFIX}/share/polkit-1")
17+set(DBUS_IFACE_DIR "${CMAKE_INSTALL_PREFIX}/share/dbus-1/interfaces")
18+set(ACCOUNTS_IFACE_DIR "${CMAKE_INSTALL_PREFIX}/share/accountsservice/interfaces")
19+
20+install(FILES com.canonical.unity.AccountsService.xml
21+ DESTINATION "${DBUS_IFACE_DIR}"
22+ )
23+
24+# Create accountsservice symlink for above dbus interface
25+install(CODE "
26+execute_process(COMMAND mkdir -p \"\$ENV{DESTDIR}${ACCOUNTS_IFACE_DIR}\")
27+execute_process(COMMAND ln -sf ../../dbus-1/interfaces/com.canonical.unity.AccountsService.xml \"\$ENV{DESTDIR}${ACCOUNTS_IFACE_DIR}\")
28+ ")
29+
30+install(FILES com.canonical.unity.AccountsService.policy
31+ DESTINATION "${POLKIT_DATA_DIR}/actions"
32+ )
33+
34+install(FILES 50-com.canonical.unity.AccountsService.pkla
35+ DESTINATION "${POLKIT_LIB_DIR}/localauthority/10-vendor.d"
36+ )
plugins/AccountsService/com.canonical.unity.AccountsService.policynew file+24
@@ -0,0 +1,24 @@
1+<?xml version="1.0" encoding="UTF-8"?>
2+
3+<policyconfig>
4+ <action id="com.canonical.unity.AccountsService.ModifyOwnUser">
5+ <description>Set properties of own user</description>
6+ <message>Authentication is required to set one's own unity properties.</message>
7+ <defaults>
8+ <allow_any>yes</allow_any>
9+ <allow_inactive>yes</allow_inactive>
10+ <allow_active>yes</allow_active>
11+ </defaults>
12+ </action>
13+
14+ <action id="com.canonical.unity.AccountsService.ModifyAnyUser">
15+ <description>Set properties of any user</description>
16+ <message>Authentication is required to set another user's unity
17+properties.</message>
18+ <defaults>
19+ <allow_any>no</allow_any>
20+ <allow_inactive>no</allow_inactive>
21+ <allow_active>no</allow_active>
22+ </defaults>
23+ </action>
24+</policyconfig>
plugins/AccountsService/com.canonical.unity.AccountsService.xmlnew file+24
@@ -0,0 +1,24 @@
1+<node>
2+ <interface name="com.canonical.unity.AccountsService">
3+
4+ <annotation name="org.freedesktop.Accounts.VendorExtension" value="true"/>
5+
6+ <annotation name="org.freedesktop.Accounts.Authentication.ChangeOwn"
7+ value="com.canonical.unity.AccountsService.ModifyOwnUser"/>
8+
9+ <annotation name="org.freedesktop.Accounts.Authentication.ReadAny"
10+ value="com.canonical.unity.AccountsService.ModifyAnyUser"/>
11+
12+ <annotation name="org.freedesktop.Accounts.Authentication.ChangeAny"
13+ value="com.canonical.unity.AccountsService.ModifyAnyUser"/>
14+
15+ <property name="demo-edges" type="b" access="readwrite">
16+ <annotation name="org.freedesktop.Accounts.DefaultValue" value="true"/>
17+ </property>
18+
19+ <property name="launcher-items" type="aa{sv}" access="readwrite">
20+ <annotation name="org.freedesktop.Accounts.DefaultValue" value="[{'defaults': <true>}]"/>
21+ </property>
22+
23+ </interface>
24+</node>
plugins/AccountsService/plugin.cppnew file+37
@@ -0,0 +1,37 @@
1+/*
2+ * Copyright (C) 2012,2013 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ *
16+ * Authors: Michael Terry <michael.terry@canonical.com>
17+ */
18+
19+#include "plugin.h"
20+#include "AccountsService.h"
21+
22+#include <QDBusMetaType>
23+#include <QtQml>
24+
25+static QObject *service_provider(QQmlEngine *engine, QJSEngine *scriptEngine)
26+{
27+ Q_UNUSED(engine)
28+ Q_UNUSED(scriptEngine)
29+ return new AccountsService();
30+}
31+
32+void AccountsServicePlugin::registerTypes(const char *uri)
33+{
34+ Q_ASSERT(uri == QLatin1String("AccountsService"));
35+ qDBusRegisterMetaType<QList<QVariantMap>>();
36+ qmlRegisterSingletonType<AccountsService>(uri, 0, 1, "AccountsService", service_provider);
37+}
plugins/AccountsService/plugin.hnew file+34
@@ -0,0 +1,34 @@
1+/*
2+ * Copyright (C) 2012,2013 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ *
16+ * Authors: Michael Terry <michael.terry@canonical.com>
17+ */
18+
19+#ifndef ACCOUNTSSERVICE_PLUGIN_H
20+#define ACCOUNTSSERVICE_PLUGIN_H
21+
22+#include <QQmlEngine>
23+#include <QQmlExtensionPlugin>
24+
25+class AccountsServicePlugin : public QQmlExtensionPlugin
26+{
27+ Q_OBJECT
28+ Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
29+
30+public:
31+ void registerTypes(const char *uri);
32+};
33+
34+#endif
plugins/AccountsService/qmldirnew file+3
@@ -0,0 +1,3 @@
1+module AccountsService
2+plugin AccountsService-qml
3+typeinfo plugin.qmltypes
plugins/CMakeLists.txt+1
@@ -1,3 +1,4 @@
1+add_subdirectory(AccountsService)
1add_subdirectory(HudClient)
2add_subdirectory(HudClient)
2add_subdirectory(LightDM)
3add_subdirectory(LightDM)
3add_subdirectory(ListViewWithPageHeader)
4add_subdirectory(ListViewWithPageHeader)
plugins/Unity/CMakeLists.txt+1
@@ -43,6 +43,7 @@ set(QMLPLUGIN_SRC
43 preview.cpp
43 preview.cpp
44 previewaction.cpp
44 previewaction.cpp
45 previewinfohint.cpp
45 previewinfohint.cpp
46+ showallfilteroption.cpp
46 signalslist.cpp
47 signalslist.cpp
47 socialpreview.cpp
48 socialpreview.cpp
48 socialpreviewcomment.cpp
49 socialpreviewcomment.cpp
plugins/Unity/Indicators/indicatorsmodel.cpp+2−2
@@ -229,9 +229,9 @@ QVariant IndicatorsModel::defaultData(Indicator::Ptr indicator, int role)
229 case IndicatorsModelRole::Description:
229 case IndicatorsModelRole::Description:
230 return "";
230 return "";
231 case IndicatorsModelRole::WidgetSource:
231 case IndicatorsModelRole::WidgetSource:
232− return shellAppDirectory()+"/Panel/Indicators/DefaultIndicatorWidget.qml";
232+ return shellAppDirectory()+"/Panel/Indicators/DefaultIndicatorWidget2.qml";
233 case IndicatorsModelRole::PageSource:
233 case IndicatorsModelRole::PageSource:
234− return shellAppDirectory()+"/Panel/Indicators/DefaultIndicatorPage.qml";
234+ return shellAppDirectory()+"/Panel/Indicators/DefaultIndicatorPage2.qml";
235 }
235 }
236 return QVariant();
236 return QVariant();
237}
237}
plugins/Unity/Launcher/CMakeLists.txt+5−1
@@ -1,8 +1,11 @@
1include(FindPkgConfig)
1include(FindPkgConfig)
2pkg_check_modules(LAUNCHER_API REQUIRED unity-shell-launcher=2)
2pkg_check_modules(LAUNCHER_API REQUIRED unity-shell-launcher=2)
3
3
4+add_definitions(-DSM_BUSNAME=systemBus)
5+
4include_directories(
6include_directories(
5 ${CMAKE_CURRENT_SOURCE_DIR}
7 ${CMAKE_CURRENT_SOURCE_DIR}
8+ ${CMAKE_SOURCE_DIR}/plugins/AccountsService
6)
9)
7
10
8set(QMLLAUNCHERPLUGIN_SRC
11set(QMLLAUNCHERPLUGIN_SRC
@@ -12,6 +15,7 @@ set(QMLLAUNCHERPLUGIN_SRC
12 quicklistmodel.cpp
15 quicklistmodel.cpp
13 common/quicklistentry.cpp
16 common/quicklistentry.cpp
14 backend/launcherbackend.cpp
17 backend/launcherbackend.cpp
18+ ${CMAKE_SOURCE_DIR}/plugins/AccountsService/AccountsService.cpp
15 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/launcher/LauncherItemInterface.h
19 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/launcher/LauncherItemInterface.h
16 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/launcher/LauncherModelInterface.h
20 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/launcher/LauncherModelInterface.h
17 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/launcher/QuickListModelInterface.h
21 ${LAUNCHER_API_INCLUDEDIR}/unity/shell/launcher/QuickListModelInterface.h
@@ -21,7 +25,7 @@ add_library(UnityLauncher-qml MODULE
21 ${QMLLAUNCHERPLUGIN_SRC}
25 ${QMLLAUNCHERPLUGIN_SRC}
22 )
26 )
23
27
24−qt5_use_modules(UnityLauncher-qml Qml)
28+qt5_use_modules(UnityLauncher-qml DBus Qml)
25
29
26# export the qmldir and qmltypes files
30# export the qmldir and qmltypes files
27export_qmlfiles(Unity.Launcher Unity/Launcher)
31export_qmlfiles(Unity.Launcher Unity/Launcher)
plugins/Unity/Launcher/backend/launcherbackend.cpp+171−55
@@ -2,6 +2,7 @@
2 * Copyright (C) 2013 Canonical, Ltd.
2 * Copyright (C) 2013 Canonical, Ltd.
3 *
3 *
4 * Authors:
4 * Authors:
5+ * Michael Terry <michael.terry@canonical.com>
5 * Michael Zanetti <michael.zanetti@canonical.com>
6 * Michael Zanetti <michael.zanetti@canonical.com>
6 *
7 *
7 * This program is free software; you can redistribute it and/or modify
8 * This program is free software; you can redistribute it and/or modify
@@ -17,98 +18,111 @@
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19 */
19
20
21+#include "AccountsService.h"
20#include "launcherbackend.h"
22#include "launcherbackend.h"
21
23
22−#include <QHash>
24+#include <QDir>
25+#include <QDBusArgument>
26+#include <QFileInfo>
23
27
24−LauncherBackend::LauncherBackend(QObject *parent):
28+LauncherBackend::LauncherBackend(bool useStorage, QObject *parent):
25− QObject(parent)
29+ QObject(parent),
30+ m_accounts(nullptr)
26{
31{
27−
32+ if (useStorage) {
28− // TODO: load default pinned ones from default config, instead of hardcoding here...
33+ m_accounts = new AccountsService(this);
29−
34+ }
30− m_storedApps <<
35+ setUser(qgetenv("USER"));
31− QLatin1String("phone-app.desktop") <<
32− QLatin1String("camera-app.desktop") <<
33− QLatin1String("gallery-app.desktop") <<
34− QLatin1String("facebook-webapp.desktop") <<
35− QLatin1String("webbrowser-app.desktop") <<
36− QLatin1String("twitter-webapp.desktop") <<
37− QLatin1String("gmail-webapp.desktop") <<
38− QLatin1String("ubuntu-weather-app.desktop") <<
39− QLatin1String("notes-app.desktop") <<
40− QLatin1String("calendar-app.desktop");
41−
42− // TODO: get stuff from desktop files instead this hardcoded map
43− m_displayNameMap.insert("phone-app.desktop", "Phone");
44− m_displayNameMap.insert("camera-app.desktop", "Camera");
45− m_displayNameMap.insert("gallery-app.desktop", "Gallery");
46− m_displayNameMap.insert("facebook-webapp.desktop", "Facebook");
47− m_displayNameMap.insert("webbrowser-app.desktop", "Browser");
48− m_displayNameMap.insert("twitter-webapp.desktop", "Twitter");
49− m_displayNameMap.insert("gmail-webapp.desktop", "GMail");
50− m_displayNameMap.insert("ubuntu-weather-app.desktop", "Weather");
51− m_displayNameMap.insert("notes-app.desktop", "Notes");
52− m_displayNameMap.insert("calendar-app.desktop", "Calendar");
53−
54− // TODO: get stuff from desktop files instead this hardcoded map
55− m_iconMap.insert("phone-app.desktop", "phone-app");
56− m_iconMap.insert("camera-app.desktop", "camera");
57− m_iconMap.insert("gallery-app.desktop", "gallery");
58− m_iconMap.insert("facebook-webapp.desktop", "facebook");
59− m_iconMap.insert("webbrowser-app.desktop", "browser");
60− m_iconMap.insert("twitter-webapp.desktop", "twitter");
61− m_iconMap.insert("gmail-webapp.desktop", "gmail");
62− m_iconMap.insert("ubuntu-weather-app.desktop", "weather");
63− m_iconMap.insert("notes-app.desktop", "notepad");
64− m_iconMap.insert("calendar-app.desktop", "calendar");
65−
66}
36}
67
37
68LauncherBackend::~LauncherBackend()
38LauncherBackend::~LauncherBackend()
69{
39{
40+ clearItems();
41+}
70
42
43+void LauncherBackend::clearItems()
44+{
45+ for (LauncherBackendItem &app: m_storedApps) {
46+ delete app.settings;
47+ }
48+ m_storedApps.clear();
71}
49}
72
50
73QStringList LauncherBackend::storedApplications() const
51QStringList LauncherBackend::storedApplications() const
74{
52{
53+ auto files = QStringList();
75− return m_storedApps;
54+ for (const LauncherBackendItem &app: m_storedApps) {
55+ files << app.settings->fileName();
56+ }
57+ return files;
76}
58}
77
59
78void LauncherBackend::setStoredApplications(const QStringList &appIds)
60void LauncherBackend::setStoredApplications(const QStringList &appIds)
79{
61{
80− m_storedApps = appIds;
62+ // Record all existing pinned apps, so we can notice them in new list
81− // TODO: Cleanup pinned state from settings for apps not in list any more.
63+ auto pinnedItems = QStringList();
64+ for (LauncherBackendItem &app: m_storedApps) {
65+ if (app.pinned) {
66+ pinnedItems.append(app.settings->fileName());
67+ }
68+ }
69+
70+ clearItems();
71+
72+ for (const QString &appId: appIds) {
73+ loadApp(makeAppDetails(appId, pinnedItems.contains(desktopFile(appId))));
74+ }
75+
76+ syncToAccounts();
82}
77}
83
78
84QString LauncherBackend::desktopFile(const QString &appId) const
79QString LauncherBackend::desktopFile(const QString &appId) const
85{
80{
86− // TODO: return real path instead of this hardcoded one
87− return QLatin1String("/usr/share/applications/") + appId;
81+ QFileInfo fileInfo(QDir("/usr/share/applications"), appId);
82+ return fileInfo.absoluteFilePath();
88}
83}
89
84
90QString LauncherBackend::displayName(const QString &appId) const
85QString LauncherBackend::displayName(const QString &appId) const
91{
86{
92− return m_displayNameMap.value(appId);
87+ auto desktopFile = parseDesktopFile(appId);
88+ auto displayName = desktopFile->value("Desktop Entry/Name").toString();
89+ delete desktopFile;
90+ return displayName;
93}
91}
94
92
95QString LauncherBackend::icon(const QString &appId) const
93QString LauncherBackend::icon(const QString &appId) const
96{
94{
97− return m_iconMap.value(appId);
95+ auto desktopFile = parseDesktopFile(appId);
96+ auto iconName = desktopFile->value("Desktop Entry/Icon").toString();
97+ delete desktopFile;
98+
99+ if (!iconName.isEmpty()) {
100+ QFileInfo iconFileInfo(iconName);
101+ if (iconFileInfo.isRelative()) {
102+ iconName = "image://gicon/" + iconName;
103+ }
104+ }
105+
106+ return iconName;
98}
107}
99
108
100bool LauncherBackend::isPinned(const QString &appId) const
109bool LauncherBackend::isPinned(const QString &appId) const
101{
110{
102− // TODO: return app's pinned state from settings
111+ auto index = findItem(appId);
103− Q_UNUSED(appId)
112+ if (index < 0) {
104− return false;
113+ return false;
114+ } else {
115+ return m_storedApps[index].pinned;
116+ }
105}
117}
106
118
107void LauncherBackend::setPinned(const QString &appId, bool pinned)
119void LauncherBackend::setPinned(const QString &appId, bool pinned)
108{
120{
109− // TODO: Store pinned state in settings.
121+ auto index = findItem(appId);
110− Q_UNUSED(appId)
122+ if (index >= 0 && !m_storedApps[index].pinned) {
111− Q_UNUSED(pinned)
123+ m_storedApps[index].pinned = pinned;
124+ syncToAccounts();
125+ }
112}
126}
113
127
114QList<QuickListEntry> LauncherBackend::quickList(const QString &appId) const
128QList<QuickListEntry> LauncherBackend::quickList(const QString &appId) const
@@ -137,9 +151,111 @@ int LauncherBackend::count(const QString &appId) const
137 return 0;
151 return 0;
138}
152}
139
153
154+void LauncherBackend::setUser(const QString &username)
155+{
156+ m_user = username;
157+ syncFromAccounts();
158+}
159+
140void LauncherBackend::triggerQuickListAction(const QString &appId, const QString &quickListId)
160void LauncherBackend::triggerQuickListAction(const QString &appId, const QString &quickListId)
141{
161{
142 // TODO: execute the given quicklist action
162 // TODO: execute the given quicklist action
143 Q_UNUSED(appId)
163 Q_UNUSED(appId)
144 Q_UNUSED(quickListId)
164 Q_UNUSED(quickListId)
145}
165}
166+
167+void LauncherBackend::syncFromAccounts()
168+{
169+ QList<QVariantMap> apps;
170+ bool defaults = true;
171+
172+ clearItems();
173+
174+ if (m_user != "" && m_accounts != nullptr) {
175+ auto variant = m_accounts->getUserProperty(m_user, "launcher-items");
176+ apps = qdbus_cast<QList<QVariantMap>>(variant.value<QDBusArgument>());
177+ defaults = isDefaultsItem(apps);
178+ }
179+
180+ // TODO: load default pinned ones from default config, instead of hardcoding here...
181+ if (defaults) {
182+ apps <<
183+ makeAppDetails("dialer-app.desktop", true) <<
184+ makeAppDetails("messaging-app.desktop", true) <<
185+ makeAppDetails("address-book-app.desktop", true) <<
186+ makeAppDetails("camera-app.desktop", true) <<
187+ makeAppDetails("gallery-app.desktop", true) <<
188+ makeAppDetails("facebook-webapp.desktop", true) <<
189+ makeAppDetails("webbrowser-app.desktop", true) <<
190+ makeAppDetails("twitter-webapp.desktop", true) <<
191+ makeAppDetails("gmail-webapp.desktop", true) <<
192+ makeAppDetails("ubuntu-weather-app.desktop", true) <<
193+ makeAppDetails("notes-app.desktop", true) <<
194+ makeAppDetails("calendar-app.desktop", true);
195+ }
196+
197+ for (const QVariant &app: apps) {
198+ loadApp(app.toMap());
199+ }
200+}
201+
202+void LauncherBackend::syncToAccounts()
203+{
204+ if (m_user != "" && m_accounts != nullptr) {
205+ QList<QVariantMap> items;
206+
207+ for (LauncherBackendItem &app: m_storedApps) {
208+ items << makeAppDetails(app.settings->fileName(), app.pinned);
209+ }
210+
211+ m_accounts->setUserProperty(m_user, "launcher-items", QVariant::fromValue(items));
212+ }
213+}
214+
215+QSettings *LauncherBackend::parseDesktopFile(const QString &appId) const
216+{
217+ auto fullAppId = desktopFile(appId);
218+ return new QSettings(fullAppId, QSettings::IniFormat);
219+}
220+
221+void LauncherBackend::loadApp(const QVariantMap &details)
222+{
223+ auto appId = details.value("id").toString();
224+ auto isPinned = details.value("is-pinned").toBool();
225+
226+ if (appId.isEmpty()) {
227+ return;
228+ }
229+
230+ LauncherBackendItem item;
231+ item.settings = parseDesktopFile(appId);
232+ item.pinned = isPinned;
233+ m_storedApps.append(item);
234+}
235+
236+QVariantMap LauncherBackend::makeAppDetails(const QString &appId, bool pinned) const
237+{
238+ QVariantMap details;
239+ details.insert("id", appId);
240+ details.insert("is-pinned", pinned);
241+ return details;
242+}
243+
244+bool LauncherBackend::isDefaultsItem(const QList<QVariantMap> &apps) const
245+{
246+ // To differentiate between an empty list and a list that hasn't been set
247+ // yet (and should thus be populated with the defaults), we use a special
248+ // list of one item with the 'defaults' field set to true.
249+ return (apps.size() == 1 && apps[0].value("defaults").toBool());
250+}
251+
252+int LauncherBackend::findItem(const QString &appId) const
253+{
254+ auto fullAppId = desktopFile(appId);
255+ for (int i = 0; i < m_storedApps.size(); ++i) {
256+ if (m_storedApps[i].settings->fileName() == fullAppId) {
257+ return i;
258+ }
259+ }
260+ return -1;
261+}
plugins/Unity/Launcher/backend/launcherbackend.h+38−5
@@ -22,8 +22,10 @@
22#include "common/quicklistentry.h"
22#include "common/quicklistentry.h"
23
23
24#include <QObject>
24#include <QObject>
25+#include <QSettings>
25#include <QStringList>
26#include <QStringList>
26−#include <QHash>
27+
28+class AccountsService;
27
29
28/**
30/**
29 * @brief An interface that provides all the data needed by the launcher.
31 * @brief An interface that provides all the data needed by the launcher.
@@ -35,7 +37,7 @@ class LauncherBackend : public QObject
35
37
36
38
37public:
39public:
38− LauncherBackend(QObject *parent = 0);
40+ LauncherBackend(bool useStorage = true, QObject *parent = 0);
39 virtual ~LauncherBackend();
41 virtual ~LauncherBackend();
40
42
41 /**
43 /**
@@ -57,12 +59,18 @@ public:
57
59
58 /**
60 /**
59 * @brief Get the full path to the .desktop file.
61 * @brief Get the full path to the .desktop file.
62+ *
63+ * The application does not need to be in the list of stored applications.
64+ *
60 * @returns The full path to the .dekstop file.
65 * @returns The full path to the .dekstop file.
61 */
66 */
62 QString desktopFile(const QString &appId) const;
67 QString desktopFile(const QString &appId) const;
63
68
64 /**
69 /**
65 * @brief Get the user friendly name of an application.
70 * @brief Get the user friendly name of an application.
71+ *
72+ * The application does not need to be in the list of stored applications.
73+ *
66 * @param appId The ID of the application.
74 * @param appId The ID of the application.
67 * @returns The user friendly name of the application.
75 * @returns The user friendly name of the application.
68 */
76 */
@@ -70,6 +78,9 @@ public:
70
78
71 /**
79 /**
72 * @brief Get the icon of an application.
80 * @brief Get the icon of an application.
81+ *
82+ * The application does not need to be in the list of stored applications.
83+ *
73 * @param appId The ID of the application.
84 * @param appId The ID of the application.
74 * @returns The full path to the icon for the application.
85 * @returns The full path to the icon for the application.
75 */
86 */
@@ -118,15 +129,37 @@ public:
118 */
129 */
119 int count(const QString &appId) const;
130 int count(const QString &appId) const;
120
131
132+ /**
133+ * @brief Sets the username for which to look up launcher items.
134+ * @param username The username to use.
135+ */
136+ void setUser(const QString &username);
137+
121Q_SIGNALS:
138Q_SIGNALS:
122 void quickListChanged(const QString &appId, const QList<QuickListEntry> &quickList);
139 void quickListChanged(const QString &appId, const QList<QuickListEntry> &quickList);
123 void progressChanged(const QString &appId, int progress);
140 void progressChanged(const QString &appId, int progress);
124 void countChanged(const QString &appId, int count);
141 void countChanged(const QString &appId, int count);
125
142
126private:
143private:
144+ QSettings *parseDesktopFile(const QString &appId) const;
145+ QVariantMap makeAppDetails(const QString &appId, bool pinned) const;
146+ void loadApp(const QVariantMap &details);
147+ int findItem(const QString &appId) const;
148+ bool isDefaultsItem(const QList<QVariantMap> &apps) const;
149+ void syncFromAccounts();
150+ void syncToAccounts();
151+ void clearItems();
152+
153+ class LauncherBackendItem
154+ {
155+ public:
156+ QSettings *settings;
157+ bool pinned;
158+ };
159+
127− QStringList m_storedApps;
160+ QList<LauncherBackendItem> m_storedApps;
128− QHash<QString, QString> m_displayNameMap;
161+ AccountsService *m_accounts;
129− QHash<QString, QString> m_iconMap;
162+ QString m_user;
130};
163};
131
164
132#endif // LAUNCHERBACKEND_H
165#endif // LAUNCHERBACKEND_H
plugins/Unity/Launcher/launchermodel.cpp+4−3
@@ -23,7 +23,7 @@
23
23
24LauncherModel::LauncherModel(QObject *parent):
24LauncherModel::LauncherModel(QObject *parent):
25 LauncherModelInterface(parent),
25 LauncherModelInterface(parent),
26− m_backend(new LauncherBackend(this))
26+ m_backend(new LauncherBackend(true, this))
27{
27{
28 connect(m_backend, SIGNAL(countChanged(QString,int)), SLOT(countChanged(QString,int)));
28 connect(m_backend, SIGNAL(countChanged(QString,int)), SLOT(countChanged(QString,int)));
29 connect(m_backend, SIGNAL(progressChanged(QString,int)), SLOT(progressChanged(QString,int)));
29 connect(m_backend, SIGNAL(progressChanged(QString,int)), SLOT(progressChanged(QString,int)));
@@ -123,6 +123,7 @@ void LauncherModel::pin(const QString &appId, int index)
123 if (currentIndex >= 0) {
123 if (currentIndex >= 0) {
124 if (index == -1 || index == currentIndex) {
124 if (index == -1 || index == currentIndex) {
125 m_list.at(currentIndex)->setPinned(true);
125 m_list.at(currentIndex)->setPinned(true);
126+ m_backend->setPinned(appId, true);
126 QModelIndex modelIndex = this->index(currentIndex);
127 QModelIndex modelIndex = this->index(currentIndex);
127 Q_EMIT dataChanged(modelIndex, modelIndex);
128 Q_EMIT dataChanged(modelIndex, modelIndex);
128 } else {
129 } else {
@@ -138,6 +139,7 @@ void LauncherModel::pin(const QString &appId, int index)
138 m_backend->displayName(appId),
139 m_backend->displayName(appId),
139 m_backend->icon(appId));
140 m_backend->icon(appId));
140 item->setPinned(true);
141 item->setPinned(true);
142+ m_backend->setPinned(appId, true);
141 m_list.insert(index, item);
143 m_list.insert(index, item);
142 endInsertRows();
144 endInsertRows();
143 }
145 }
@@ -186,8 +188,7 @@ void LauncherModel::quickListActionInvoked(const QString &appId, int actionIndex
186
188
187void LauncherModel::setUser(const QString &username)
189void LauncherModel::setUser(const QString &username)
188{
190{
189− Q_UNUSED(username)
191+ m_backend->setUser(username);
190− // TODO: Implement this...
191}
192}
192
193
193void LauncherModel::storeAppList()
194void LauncherModel::storeAppList()
plugins/Unity/Launcher/launchermodel.h+1−1
@@ -17,7 +17,7 @@
17 * Michael Zanetti <michael.zanetti@canonical.com>
17 * Michael Zanetti <michael.zanetti@canonical.com>
18 */
18 */
19
19
20−#ifndef LAUNCHERMODELH
20+#ifndef LAUNCHERMODEL_H
21#define LAUNCHERMODEL_H
21#define LAUNCHERMODEL_H
22
22
23// unity-api
23// unity-api
plugins/Unity/checkoptionfilter.cpp+3−1
@@ -52,9 +52,11 @@ void CheckOptionFilter::onOptionsChanged(unity::dash::CheckOptionFilter::CheckOp
52
52
53 m_options = new UnityOptionsModel(this, options,
53 m_options = new UnityOptionsModel(this, options,
54 m_unityCheckOptionFilter->option_added,
54 m_unityCheckOptionFilter->option_added,
55− m_unityCheckOptionFilter->option_removed);
55+ m_unityCheckOptionFilter->option_removed,
56+ m_unityCheckOptionFilter->show_all_button);
56
57
57 connect(m_options, SIGNAL(activeChanged(AbstractFilterOption *)), m_options, SLOT(ensureTheOnlyActive(AbstractFilterOption *)));
58 connect(m_options, SIGNAL(activeChanged(AbstractFilterOption *)), m_options, SLOT(ensureTheOnlyActive(AbstractFilterOption *)));
59+ connect(m_options, SIGNAL(showAllActivated()), this, SLOT(clear()));
58
60
59 /* Property change signals */
61 /* Property change signals */
60 m_signals << m_unityCheckOptionFilter->options.changed.connect(sigc::mem_fun(this, &CheckOptionFilter::onOptionsChanged));
62 m_signals << m_unityCheckOptionFilter->options.changed.connect(sigc::mem_fun(this, &CheckOptionFilter::onOptionsChanged));
plugins/Unity/filter.h+3−2
@@ -56,11 +56,12 @@ public:
56 bool filtering() const;
56 bool filtering() const;
57 virtual GenericOptionsModel* options() const = 0;
57 virtual GenericOptionsModel* options() const = 0;
58
58
59− Q_INVOKABLE void clear();
60−
61 static Filter* newFromUnityFilter(unity::dash::Filter::Ptr unityFilter);
59 static Filter* newFromUnityFilter(unity::dash::Filter::Ptr unityFilter);
62 bool hasUnityFilter(unity::dash::Filter::Ptr unityFilter) const;
60 bool hasUnityFilter(unity::dash::Filter::Ptr unityFilter) const;
63
61
62+public Q_SLOTS:
63+ void clear();
64+
64Q_SIGNALS:
65Q_SIGNALS:
65 void optionsChanged();
66 void optionsChanged();
66
67
plugins/Unity/genericoptionsmodel.cpp+20−3
@@ -22,10 +22,18 @@
22
22
23// local
23// local
24#include "abstractfilteroption.h"
24#include "abstractfilteroption.h"
25+#include "showallfilteroption.h"
25
26
26−GenericOptionsModel::GenericOptionsModel(QObject *parent)
27+GenericOptionsModel::GenericOptionsModel(bool showAllOption, QObject *parent)
27 : QAbstractListModel(parent)
28 : QAbstractListModel(parent)
28{
29{
30+ if (showAllOption)
31+ {
32+ auto showAll = new ShowAllFilterOption(this);
33+ connect(showAll, SIGNAL(activeChanged(bool)), this, SLOT(onOptionChanged()));
34+ connect(showAll, SIGNAL(activeChanged(bool)), this, SLOT(onShowAllClicked(bool)));
35+ addOption(showAll);
36+ }
29}
37}
30
38
31GenericOptionsModel::~GenericOptionsModel()
39GenericOptionsModel::~GenericOptionsModel()
@@ -73,7 +81,7 @@ QVariant GenericOptionsModel::data(const QModelIndex& index, int role) const
73
81
74int GenericOptionsModel::rowCount(const QModelIndex& /* parent */) const
82int GenericOptionsModel::rowCount(const QModelIndex& /* parent */) const
75{
83{
76− return m_options.size ();
84+ return m_options.size();
77}
85}
78
86
79void GenericOptionsModel::setActive(int idx, bool value)
87void GenericOptionsModel::setActive(int idx, bool value)
@@ -117,7 +125,10 @@ void GenericOptionsModel::ensureTheOnlyActive(AbstractFilterOption *activeOption
117
125
118void GenericOptionsModel::addOption(AbstractFilterOption *option, int index)
126void GenericOptionsModel::addOption(AbstractFilterOption *option, int index)
119{
127{
128+ if (index >= 0)
120− m_options.insert(index, option);
129+ m_options.insert(index, option);
130+ else
131+ m_options.append(option);
121
132
122 connect(option, SIGNAL(idChanged(const QString &)), this, SLOT(onOptionChanged()));
133 connect(option, SIGNAL(idChanged(const QString &)), this, SLOT(onOptionChanged()));
123 connect(option, SIGNAL(nameChanged(const QString &)), this, SLOT(onOptionChanged()));
134 connect(option, SIGNAL(nameChanged(const QString &)), this, SLOT(onOptionChanged()));
@@ -168,3 +179,9 @@ void GenericOptionsModel::onActiveChanged()
168 Q_EMIT activeChanged(option);
179 Q_EMIT activeChanged(option);
169 }
180 }
170}
181}
182+
183+void GenericOptionsModel::onShowAllClicked(bool active)
184+{
185+ if (active)
186+ Q_EMIT showAllActivated();
187+}
plugins/Unity/genericoptionsmodel.h+4−2
@@ -35,7 +35,7 @@ class Q_DECL_EXPORT GenericOptionsModel : public QAbstractListModel
35 Q_ENUMS(Roles)
35 Q_ENUMS(Roles)
36
36
37public:
37public:
38− GenericOptionsModel(QObject *parent = nullptr);
38+ GenericOptionsModel(bool showAllOption = false, QObject *parent = nullptr);
39 ~GenericOptionsModel();
39 ~GenericOptionsModel();
40
40
41 enum Roles {
41 enum Roles {
@@ -59,13 +59,15 @@ public Q_SLOTS:
59
59
60Q_SIGNALS:
60Q_SIGNALS:
61 void activeChanged(AbstractFilterOption *option);
61 void activeChanged(AbstractFilterOption *option);
62+ void showAllActivated();
62
63
63protected Q_SLOTS:
64protected Q_SLOTS:
64 void onOptionChanged();
65 void onOptionChanged();
65 void onActiveChanged();
66 void onActiveChanged();
67+ void onShowAllClicked(bool active);
66
68
67protected:
69protected:
68− void addOption(AbstractFilterOption *option, int index);
70+ void addOption(AbstractFilterOption *option, int index = -1);
69 void removeOption(int index);
71 void removeOption(int index);
70 int indexOf(const QString &option_id);
72 int indexOf(const QString &option_id);
71
73
plugins/Unity/multirangefilter.cpp+3−1
@@ -52,9 +52,11 @@ void MultiRangeFilter::onOptionsChanged(unity::dash::MultiRangeFilter::Options o
52
52
53 m_options = new UnityOptionsModel(this, options,
53 m_options = new UnityOptionsModel(this, options,
54 m_unityMultiRangeFilter->option_added,
54 m_unityMultiRangeFilter->option_added,
55− m_unityMultiRangeFilter->option_removed);
55+ m_unityMultiRangeFilter->option_removed,
56+ m_unityMultiRangeFilter->show_all_button);
56
57
57 connect(m_options, SIGNAL(activeChanged(AbstractFilterOption *)), m_options, SLOT(ensureTheOnlyActive(AbstractFilterOption *)));
58 connect(m_options, SIGNAL(activeChanged(AbstractFilterOption *)), m_options, SLOT(ensureTheOnlyActive(AbstractFilterOption *)));
59+ connect(m_options, SIGNAL(showAllActivated()), this, SLOT(clear()));
58
60
59 /* Property change signals */
61 /* Property change signals */
60 m_signals << m_unityMultiRangeFilter->options.changed.connect(sigc::mem_fun(this, &MultiRangeFilter::onOptionsChanged));
62 m_signals << m_unityMultiRangeFilter->options.changed.connect(sigc::mem_fun(this, &MultiRangeFilter::onOptionsChanged));
plugins/Unity/radiooptionfilter.cpp+3−1
@@ -51,7 +51,9 @@ void RadioOptionFilter::onOptionsChanged(unity::dash::RadioOptionFilter::RadioOp
51 }
51 }
52 m_options = new UnityOptionsModel(this, m_unityRadioOptionFilter->options,
52 m_options = new UnityOptionsModel(this, m_unityRadioOptionFilter->options,
53 m_unityRadioOptionFilter->option_added,
53 m_unityRadioOptionFilter->option_added,
54− m_unityRadioOptionFilter->option_removed);
54+ m_unityRadioOptionFilter->option_removed,
55+ m_unityRadioOptionFilter->show_all_button);
56+ connect(m_options, SIGNAL(showAllActivated()), this, SLOT(clear()));
55
57
56 m_signals << m_unityRadioOptionFilter->options.changed.connect(sigc::mem_fun(this, &RadioOptionFilter::onOptionsChanged));
58 m_signals << m_unityRadioOptionFilter->options.changed.connect(sigc::mem_fun(this, &RadioOptionFilter::onOptionsChanged));
57
59
plugins/Unity/ratingoptionsmodel.cpp+3−3
@@ -23,11 +23,11 @@
23// local
23// local
24#include "ratingfilteroption.h"
24#include "ratingfilteroption.h"
25
25
26−RatingOptionsModel::RatingOptionsModel(QObject *parent) :
26+RatingOptionsModel::RatingOptionsModel(bool showAllOption, QObject *parent) :
27− GenericOptionsModel(parent)
27+ GenericOptionsModel(showAllOption, parent)
28{
28{
29 for (int i=1; i<=5; i++) {
29 for (int i=1; i<=5; i++) {
30 auto opt = new RatingFilterOption(QString::number(i), i*0.2f, this);
30 auto opt = new RatingFilterOption(QString::number(i), i*0.2f, this);
31− addOption(opt, i-1);
31+ addOption(opt);
32 }
32 }
33}
33}
plugins/Unity/ratingoptionsmodel.h+1−1
@@ -27,7 +27,7 @@ class RatingOptionsModel : public GenericOptionsModel
27 Q_OBJECT
27 Q_OBJECT
28
28
29public:
29public:
30− RatingOptionsModel(QObject *parent);
30+ RatingOptionsModel(bool showAllOption, QObject *parent);
31};
31};
32
32
33#endif // RATINGOPTIONSMODEL_H
33#endif // RATINGOPTIONSMODEL_H
plugins/Unity/ratingsfilter.cpp+2−1
@@ -53,9 +53,10 @@ void RatingsFilter::setUnityFilter(unity::dash::Filter::Ptr filter)
53
53
54 delete m_options;
54 delete m_options;
55
55
56− m_options = new RatingOptionsModel(this);
56+ m_options = new RatingOptionsModel(m_unityRatingsFilter->show_all_button, this);
57 connect(m_options, SIGNAL(activeChanged(AbstractFilterOption *)), m_options, SLOT(ensureTheOnlyActive(AbstractFilterOption *)));
57 connect(m_options, SIGNAL(activeChanged(AbstractFilterOption *)), m_options, SLOT(ensureTheOnlyActive(AbstractFilterOption *)));
58 connect(m_options, SIGNAL(activeChanged(AbstractFilterOption *)), this, SLOT(onActiveChanged(AbstractFilterOption *)));
58 connect(m_options, SIGNAL(activeChanged(AbstractFilterOption *)), this, SLOT(onActiveChanged(AbstractFilterOption *)));
59+ connect(m_options, SIGNAL(showAllActivated()), this, SLOT(clear()));
59
60
60 Q_EMIT optionsChanged();
61 Q_EMIT optionsChanged();
61}
62}
plugins/Unity/showallfilteroption.cppnew file+60
@@ -0,0 +1,60 @@
1+/*
2+ * Copyright (C) 2013 Canonical, Ltd.
3+ *
4+ * Authors:
5+ * Pawel Stolowski <pawel.stolowski@canonical.com>
6+ *
7+ * This program is free software; you can redistribute it and/or modify
8+ * it under the terms of the GNU General Public License as published by
9+ * the Free Software Foundation; version 3.
10+ *
11+ * This program is distributed in the hope that it will be useful,
12+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
13+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+ * GNU General Public License for more details.
15+ *
16+ * You should have received a copy of the GNU General Public License
17+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
18+ */
19+
20+// self
21+#include "showallfilteroption.h"
22+
23+#include <libintl.h>
24+
25+unsigned int ShowAllFilterOption::m_showAllCount = 0;
26+
27+ShowAllFilterOption::ShowAllFilterOption(QObject *parent) :
28+ AbstractFilterOption(parent),
29+ m_active(false)
30+{
31+ m_id = QString("show_all::%1").arg(m_showAllCount++);
32+}
33+
34+QString ShowAllFilterOption::id() const
35+{
36+ return m_id;
37+}
38+
39+QString ShowAllFilterOption::name() const
40+{
41+ return QString::fromUtf8(dgettext("unity", "All"));
42+}
43+
44+QString ShowAllFilterOption::iconHint() const
45+{
46+ return QString::Null();
47+}
48+
49+bool ShowAllFilterOption::active() const
50+{
51+ return m_active;
52+}
53+
54+void ShowAllFilterOption::setActive(bool active)
55+{
56+ if (active != m_active) {
57+ m_active = active;
58+ Q_EMIT activeChanged(m_active);
59+ }
60+}
plugins/Unity/showallfilteroption.hnew file+51
@@ -0,0 +1,51 @@
1+/*
2+ * Copyright (C) 2013 Canonical, Ltd.
3+ *
4+ * Authors:
5+ * Pawel Stolowski <pawel.stolowski@canonical.com>
6+ *
7+ * This program is free software; you can redistribute it and/or modify
8+ * it under the terms of the GNU General Public License as published by
9+ * the Free Software Foundation; version 3.
10+ *
11+ * This program is distributed in the hope that it will be useful,
12+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
13+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+ * GNU General Public License for more details.
15+ *
16+ * You should have received a copy of the GNU General Public License
17+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
18+ */
19+
20+#ifndef SHOWALLFILTEROPTION_H
21+#define SHOWALLFILTEROPTION_H
22+
23+// local
24+#include "abstractfilteroption.h"
25+
26+class Q_DECL_EXPORT ShowAllFilterOption : public AbstractFilterOption
27+{
28+ Q_OBJECT
29+
30+public:
31+ explicit ShowAllFilterOption(QObject *parent = nullptr);
32+
33+ /* getters */
34+ QString id() const override;
35+ QString name() const override;
36+ QString iconHint() const override;
37+ bool active() const override;
38+
39+ /* setters */
40+ void setActive(bool active) override;
41+
42+private:
43+ bool m_active;
44+ QString m_id;
45+
46+ static unsigned int m_showAllCount;
47+};
48+
49+Q_DECLARE_METATYPE(ShowAllFilterOption*)
50+
51+#endif // SHOWALLFILTEROPTION_H
plugins/Unity/unityoptionsmodel.cpp+5−4
@@ -26,8 +26,9 @@
26UnityOptionsModel::UnityOptionsModel(QObject *parent,
26UnityOptionsModel::UnityOptionsModel(QObject *parent,
27 const std::vector<unity::dash::FilterOption::Ptr> options,
27 const std::vector<unity::dash::FilterOption::Ptr> options,
28 sigc::signal<void, unity::dash::FilterOption::Ptr> optionAdded,
28 sigc::signal<void, unity::dash::FilterOption::Ptr> optionAdded,
29− sigc::signal<void, unity::dash::FilterOption::Ptr> optionRemoved) :
29+ sigc::signal<void, unity::dash::FilterOption::Ptr> optionRemoved,
30+ bool showAllOption) :
30− GenericOptionsModel(parent)
31+ GenericOptionsModel(showAllOption, parent)
31{
32{
32 setOptions(options, optionAdded, optionRemoved);
33 setOptions(options, optionAdded, optionRemoved);
33}
34}
@@ -38,7 +39,7 @@ void UnityOptionsModel::setOptions(const std::vector<unity::dash::FilterOption::
38{
39{
39 for (unsigned int i=0; i<options.size(); i++)
40 for (unsigned int i=0; i<options.size(); i++)
40 {
41 {
41− addOption(new FilterOption(options[i], this), i);
42+ addOption(new FilterOption(options[i], this));
42 }
43 }
43 optionAdded.connect(sigc::mem_fun(this, &UnityOptionsModel::onOptionAdded));
44 optionAdded.connect(sigc::mem_fun(this, &UnityOptionsModel::onOptionAdded));
44 optionRemoved.connect(sigc::mem_fun(this, &UnityOptionsModel::onOptionRemoved));
45 optionRemoved.connect(sigc::mem_fun(this, &UnityOptionsModel::onOptionRemoved));
@@ -50,7 +51,7 @@ void UnityOptionsModel::onOptionAdded(unity::dash::FilterOption::Ptr option)
50 if (index >= 0)
51 if (index >= 0)
51 {
52 {
52 beginInsertRows(QModelIndex(), index, index);
53 beginInsertRows(QModelIndex(), index, index);
53− addOption(new FilterOption(option, this), index);
54+ addOption(new FilterOption(option, this));
54 endInsertRows();
55 endInsertRows();
55 }
56 }
56}
57}
plugins/Unity/unityoptionsmodel.h+2−1
@@ -35,7 +35,8 @@ public:
35 UnityOptionsModel(QObject *parent,
35 UnityOptionsModel(QObject *parent,
36 const std::vector<unity::dash::FilterOption::Ptr> options,
36 const std::vector<unity::dash::FilterOption::Ptr> options,
37 sigc::signal<void, unity::dash::FilterOption::Ptr> optionAdded,
37 sigc::signal<void, unity::dash::FilterOption::Ptr> optionAdded,
38− sigc::signal<void, unity::dash::FilterOption::Ptr> optionRemoved);
38+ sigc::signal<void, unity::dash::FilterOption::Ptr> optionRemoved,
39+ bool showAllOption);
39
40
40private:
41private:
41 void setOptions(const std::vector<unity::dash::FilterOption::Ptr> options,
42 void setOptions(const std::vector<unity::dash::FilterOption::Ptr> options,
po/ar.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-26 23:26+0000\n"
11"PO-Revision-Date: 2013-06-26 23:26+0000\n"
12"Last-Translator: Ibrahim Saed <ibraheem5000@gmail.com>\n"
12"Last-Translator: Ibrahim Saed <ibraheem5000@gmail.com>\n"
13"Language-Team: Arabic <ar@li.org>\n"
13"Language-Team: Arabic <ar@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= "
17"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= "
18"3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n"
18"3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n"
19−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
19+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
20−"X-Generator: Launchpad (build 16734)\n"
20+"X-Generator: Launchpad (build 16750)\n"
21
21
22#: Applications/applications.js:23
22#: Applications/applications.js:23
23msgid "Phone"
23msgid "Phone"
@@ -87,25 +87,69 @@ msgstr "ويكيبيديا"
87msgid "YouTube"
87msgid "YouTube"
88msgstr "يوتيوب"
88msgstr "يوتيوب"
89
89
90+#: Components/EdgeDemoOverlay.qml:145
91+msgid "Skip intro"
92+msgstr ""
93+
94+#: Components/EdgeDemo.qml:98
95+msgid "Right edge"
96+msgstr ""
97+
98+#: Components/EdgeDemo.qml:99
99+msgid "Try swiping from the right edge to unlock the phone"
100+msgstr ""
101+
102+#: Components/EdgeDemo.qml:135
103+msgid "Top edge"
104+msgstr ""
105+
106+#: Components/EdgeDemo.qml:136
107+msgid "Try swiping from the top edge to access the indicators"
108+msgstr ""
109+
110+#: Components/EdgeDemo.qml:161
111+msgid "Close"
112+msgstr ""
113+
114+#: Components/EdgeDemo.qml:162
115+msgid "Swipe up again to close the settings screen"
116+msgstr ""
117+
118+#: Components/EdgeDemo.qml:189
119+msgid "Left edge"
120+msgstr ""
121+
122+#: Components/EdgeDemo.qml:190
123+msgid "Swipe from the left to reveal the launcher for quick access to apps"
124+msgstr ""
125+
126+#: Components/EdgeDemo.qml:217
127+msgid "Well done"
128+msgstr ""
129+
130+#: Components/EdgeDemo.qml:218
131+msgid "You have now mastered the edge gestures and can start using the phone"
132+msgstr ""
133+
90#: Components/PageHeader.qml:298
134#: Components/PageHeader.qml:298
91msgid "Recent searches"
135msgid "Recent searches"
92msgstr "عمليات البحث الأخيرة"
136msgstr "عمليات البحث الأخيرة"
93
137
94#. TRANSLATORS: Number of persons who rated this app
138#. TRANSLATORS: Number of persons who rated this app
95−#: Dash/Apps/AppInfo.qml:72
139+#: Dash/Apps/AppInfo.qml:73
96#, qt-format
140#, qt-format
97msgid "(%1)"
141msgid "(%1)"
98msgstr ""
142msgstr ""
99
143
100#. TRANSLATORS: Number of persons who wrote reviews for this app
144#. TRANSLATORS: Number of persons who wrote reviews for this app
101−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
145+#: Dash/Apps/AppInfo.qml:85
102#, qt-format
146#, qt-format
103msgid "%1 review"
147msgid "%1 review"
104msgid_plural "%1 reviews"
148msgid_plural "%1 reviews"
105msgstr[0] ""
149msgstr[0] ""
106msgstr[1] ""
150msgstr[1] ""
107
151
108−#: Dash/Apps/AppPreview.qml:181
152+#: Dash/Apps/AppPreview.qml:175
109msgid "Rate this"
153msgid "Rate this"
110msgstr ""
154msgstr ""
111
155
@@ -125,42 +169,6 @@ msgstr ""
125msgid "Comments:"
169msgid "Comments:"
126msgstr ""
170msgstr ""
127
171
128−#: Dash/DashApps.qml:65
129−msgid "Running apps"
130−msgstr "البرامج المُشغّلة"
131−
132−#: Dash/DashApps.qml:68
133−msgid "Frequently used"
134−msgstr "مُستخدمة بكثرة"
135−
136−#: Dash/DashApps.qml:71
137−msgid "Installed"
138−msgstr "مُثبّتة"
139−
140−#: Dash/DashApps.qml:74
141−msgid "Available for download"
142−msgstr "متوفرة للتنزيل"
143−
144−#: Dash/DashApps.qml:168
145−msgid "Apps"
146−msgstr "تطبيقات"
147−
148−#: Dash/DashHome.qml:41
149−msgid "Frequent Apps"
150−msgstr "تطبيقات مألوفة"
151−
152−#: Dash/DashHome.qml:44
153−msgid "Recent Music"
154−msgstr "آخر الصوتيات المشغلة"
155−
156−#: Dash/DashHome.qml:47
157−msgid "Videos Popular Online"
158−msgstr "فيديوهات رائجة على الإنترنت"
159−
160−#: Dash/DashHome.qml:151
161−msgid "Home"
162−msgstr "الرئيسية"
163−
164#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
172#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
165msgid "Featured"
173msgid "Featured"
166msgstr "المميز"
174msgstr "المميز"
@@ -201,7 +209,7 @@ msgstr "النجوم:"
201msgid "Author:"
209msgid "Author:"
202msgstr "المؤلف:"
210msgstr "المؤلف:"
203
211
204−#: Greeter/Lockscreen.qml:133
212+#: Greeter/Lockscreen.qml:134
205msgid "Emergency Call"
213msgid "Emergency Call"
206msgstr ""
214msgstr ""
207
215
@@ -238,11 +246,11 @@ msgstr "تتكلم الآن..."
238msgid "Search"
246msgid "Search"
239msgstr "ابحث"
247msgstr "ابحث"
240
248
241−#: plugins/Unity/scope.cpp:298
249+#: plugins/Unity/scope.cpp:317
242msgid "Sorry, there is nothing that matches your search."
250msgid "Sorry, there is nothing that matches your search."
243msgstr "عذراً، لا يوجد ما يطابق بحثك."
251msgstr "عذراً، لا يوجد ما يطابق بحثك."
244
252
245−#: Shell.qml:399
253+#: Shell.qml:429
246#, qt-format
254#, qt-format
247msgid "Please enter %1"
255msgid "Please enter %1"
248msgstr ""
256msgstr ""
po/az.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-26 23:48+0000\n"
11"PO-Revision-Date: 2013-06-26 23:48+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: Azerbaijani <az@li.org>\n"
13"Language-Team: Azerbaijani <az@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr "Son axtarışlar"
135msgstr "Son axtarışlar"
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr ""
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr ""
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr ""
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr ""
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr "Tətbiqlər"
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr ""
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr ""
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr ""
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr "Ev"
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr ""
173msgstr ""
@@ -200,7 +208,7 @@ msgstr ""
200msgid "Author:"
208msgid "Author:"
201msgstr ""
209msgstr ""
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr "Söylənilir..."
237msgid "Search"
245msgid "Search"
238msgstr "Axtar"
246msgstr "Axtar"
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr "Bağışlayın, amma axtarışınıza heç bir nəticə uyğun gəlmir."
250msgstr "Bağışlayın, amma axtarışınıza heç bir nəticə uyğun gəlmir."
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/bg.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-27 00:06+0000\n"
11"PO-Revision-Date: 2013-06-27 00:06+0000\n"
12"Last-Translator: Miroslav E. Hadzhiev (Хаджиев) "
12"Last-Translator: Miroslav E. Hadzhiev (Хаджиев) "
13"<miroslav.hadzhiev@gmail.com>\n"
13"<miroslav.hadzhiev@gmail.com>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Type: text/plain; charset=UTF-8\n"
17"Content-Transfer-Encoding: 8bit\n"
17"Content-Transfer-Encoding: 8bit\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
18"Plural-Forms: nplurals=2; plural=n != 1;\n"
19−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
19+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
20−"X-Generator: Launchpad (build 16734)\n"
20+"X-Generator: Launchpad (build 16750)\n"
21
21
22#: Applications/applications.js:23
22#: Applications/applications.js:23
23msgid "Phone"
23msgid "Phone"
@@ -87,25 +87,69 @@ msgstr "Уикипедия"
87msgid "YouTube"
87msgid "YouTube"
88msgstr "YouTube"
88msgstr "YouTube"
89
89
90+#: Components/EdgeDemoOverlay.qml:145
91+msgid "Skip intro"
92+msgstr ""
93+
94+#: Components/EdgeDemo.qml:98
95+msgid "Right edge"
96+msgstr ""
97+
98+#: Components/EdgeDemo.qml:99
99+msgid "Try swiping from the right edge to unlock the phone"
100+msgstr ""
101+
102+#: Components/EdgeDemo.qml:135
103+msgid "Top edge"
104+msgstr ""
105+
106+#: Components/EdgeDemo.qml:136
107+msgid "Try swiping from the top edge to access the indicators"
108+msgstr ""
109+
110+#: Components/EdgeDemo.qml:161
111+msgid "Close"
112+msgstr ""
113+
114+#: Components/EdgeDemo.qml:162
115+msgid "Swipe up again to close the settings screen"
116+msgstr ""
117+
118+#: Components/EdgeDemo.qml:189
119+msgid "Left edge"
120+msgstr ""
121+
122+#: Components/EdgeDemo.qml:190
123+msgid "Swipe from the left to reveal the launcher for quick access to apps"
124+msgstr ""
125+
126+#: Components/EdgeDemo.qml:217
127+msgid "Well done"
128+msgstr ""
129+
130+#: Components/EdgeDemo.qml:218
131+msgid "You have now mastered the edge gestures and can start using the phone"
132+msgstr ""
133+
90#: Components/PageHeader.qml:298
134#: Components/PageHeader.qml:298
91msgid "Recent searches"
135msgid "Recent searches"
92msgstr "Скорошни търсения"
136msgstr "Скорошни търсения"
93
137
94#. TRANSLATORS: Number of persons who rated this app
138#. TRANSLATORS: Number of persons who rated this app
95−#: Dash/Apps/AppInfo.qml:72
139+#: Dash/Apps/AppInfo.qml:73
96#, qt-format
140#, qt-format
97msgid "(%1)"
141msgid "(%1)"
98msgstr ""
142msgstr ""
99
143
100#. TRANSLATORS: Number of persons who wrote reviews for this app
144#. TRANSLATORS: Number of persons who wrote reviews for this app
101−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
145+#: Dash/Apps/AppInfo.qml:85
102#, qt-format
146#, qt-format
103msgid "%1 review"
147msgid "%1 review"
104msgid_plural "%1 reviews"
148msgid_plural "%1 reviews"
105msgstr[0] ""
149msgstr[0] ""
106msgstr[1] ""
150msgstr[1] ""
107
151
108−#: Dash/Apps/AppPreview.qml:181
152+#: Dash/Apps/AppPreview.qml:175
109msgid "Rate this"
153msgid "Rate this"
110msgstr ""
154msgstr ""
111
155
@@ -125,42 +169,6 @@ msgstr ""
125msgid "Comments:"
169msgid "Comments:"
126msgstr ""
170msgstr ""
127
171
128−#: Dash/DashApps.qml:65
129−msgid "Running apps"
130−msgstr ""
131−
132−#: Dash/DashApps.qml:68
133−msgid "Frequently used"
134−msgstr ""
135−
136−#: Dash/DashApps.qml:71
137−msgid "Installed"
138−msgstr "Инсталирани"
139−
140−#: Dash/DashApps.qml:74
141−msgid "Available for download"
142−msgstr ""
143−
144−#: Dash/DashApps.qml:168
145−msgid "Apps"
146−msgstr "Приложения"
147−
148−#: Dash/DashHome.qml:41
149−msgid "Frequent Apps"
150−msgstr ""
151−
152−#: Dash/DashHome.qml:44
153−msgid "Recent Music"
154−msgstr ""
155−
156−#: Dash/DashHome.qml:47
157−msgid "Videos Popular Online"
158−msgstr ""
159−
160−#: Dash/DashHome.qml:151
161−msgid "Home"
162−msgstr "Начало"
163−
164#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
172#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
165msgid "Featured"
173msgid "Featured"
166msgstr "Най-отличени"
174msgstr "Най-отличени"
@@ -201,7 +209,7 @@ msgstr ""
201msgid "Author:"
209msgid "Author:"
202msgstr "Автор:"
210msgstr "Автор:"
203
211
204−#: Greeter/Lockscreen.qml:133
212+#: Greeter/Lockscreen.qml:134
205msgid "Emergency Call"
213msgid "Emergency Call"
206msgstr ""
214msgstr ""
207
215
@@ -238,11 +246,11 @@ msgstr ""
238msgid "Search"
246msgid "Search"
239msgstr "Търсене"
247msgstr "Търсене"
240
248
241−#: plugins/Unity/scope.cpp:298
249+#: plugins/Unity/scope.cpp:317
242msgid "Sorry, there is nothing that matches your search."
250msgid "Sorry, there is nothing that matches your search."
243msgstr "Съжаляваме, няма нищо, което да отговаря на вашето търсене."
251msgstr "Съжаляваме, няма нищо, което да отговаря на вашето търсене."
244
252
245−#: Shell.qml:399
253+#: Shell.qml:429
246#, qt-format
254#, qt-format
247msgid "Please enter %1"
255msgid "Please enter %1"
248msgstr ""
256msgstr ""
po/ca.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-27 00:24+0000\n"
11"PO-Revision-Date: 2013-06-27 00:24+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: Catalan <ca@li.org>\n"
13"Language-Team: Catalan <ca@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr "Cerques recents"
135msgstr "Cerques recents"
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr "Aplications actives"
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr "Les més freqüents"
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr "Instal·lades"
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr "Disponibles per baixar"
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr "Aplicacions"
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr "Aplicacions freqüents"
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr "Música recent"
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr "Vídeos populars en línia"
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr "Inici"
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr ""
173msgstr ""
@@ -200,7 +208,7 @@ msgstr ""
200msgid "Author:"
208msgid "Author:"
201msgstr ""
209msgstr ""
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr "S'està parlant..."
237msgid "Search"
245msgid "Search"
238msgstr "Cerca"
246msgstr "Cerca"
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr "No hi ha res que coincideixi amb la cerca"
250msgstr "No hi ha res que coincideixi amb la cerca"
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/de.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-27 00:37+0000\n"
11"PO-Revision-Date: 2013-06-27 00:37+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: German <de@li.org>\n"
13"Language-Team: German <de@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr "Wikipedia"
86msgid "YouTube"
86msgid "YouTube"
87msgstr "YouTube"
87msgstr "YouTube"
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr "Letzte Suchbegriffe"
135msgstr "Letzte Suchbegriffe"
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr "Aktive Anwendungen"
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr "Häufig verwendet"
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr "Installiert"
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr "Zum Herunterladen verfügbar"
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr "Anwendungen"
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr "Häufig genutzte Anwendungen"
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr "Zuletzt gehörte Musik"
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr "Beliebte Online-Videos"
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr "Start"
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr "Empfehlungen"
173msgstr "Empfehlungen"
@@ -200,7 +208,7 @@ msgstr "Darsteller:"
200msgid "Author:"
208msgid "Author:"
201msgstr "Autor:"
209msgstr "Autor:"
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr "Sie sprechen …"
237msgid "Search"
245msgid "Search"
238msgstr "Suchen"
246msgstr "Suchen"
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr "Entschuldigung, es wurden keine Treffer erzielt."
250msgstr "Entschuldigung, es wurden keine Treffer erzielt."
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/el.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-27 00:53+0000\n"
11"PO-Revision-Date: 2013-06-27 00:53+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: Greek <el@li.org>\n"
13"Language-Team: Greek <el@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr "Πρόσφατες αναζητήσεις"
135msgstr "Πρόσφατες αναζητήσεις"
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr ""
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr ""
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr ""
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr ""
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr "Εφαρμογές"
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr ""
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr ""
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr ""
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr "Αρχή"
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr ""
173msgstr ""
@@ -200,7 +208,7 @@ msgstr ""
200msgid "Author:"
208msgid "Author:"
201msgstr ""
209msgstr ""
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr "Ομιλία..."
237msgid "Search"
245msgid "Search"
238msgstr "Αναζήτηση"
246msgstr "Αναζήτηση"
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr "Λυπούμαστε, δεν υπάρχει τίποτα που να ταιριάζει στην αναζήτησή σας."
250msgstr "Λυπούμαστε, δεν υπάρχει τίποτα που να ταιριάζει στην αναζήτησή σας."
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/en_AU.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-27 01:13+0000\n"
11"PO-Revision-Date: 2013-06-27 01:13+0000\n"
12"Last-Translator: Jackson Doak <Doak.jackson@gmail.com>\n"
12"Last-Translator: Jackson Doak <Doak.jackson@gmail.com>\n"
13"Language-Team: English (Australia) <en_AU@li.org>\n"
13"Language-Team: English (Australia) <en_AU@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr "Wikipedia"
86msgid "YouTube"
86msgid "YouTube"
87msgstr "YouTube"
87msgstr "YouTube"
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr "Recent searches"
135msgstr "Recent searches"
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr "Running apps"
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr "Frequently used"
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr "Installed"
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr "Available for download"
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr "Apps"
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr "Frequent Apps"
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr "Recent Music"
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr "Videos Popular Online"
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr "Home"
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr "Featured"
173msgstr "Featured"
@@ -200,7 +208,7 @@ msgstr "Starring:"
200msgid "Author:"
208msgid "Author:"
201msgstr "Author:"
209msgstr "Author:"
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr "Speaking..."
237msgid "Search"
245msgid "Search"
238msgstr "Search"
246msgstr "Search"
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr "Sorry, there is nothing that matches your search."
250msgstr "Sorry, there is nothing that matches your search."
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/en_GB.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-27 08:53+0000\n"
11"PO-Revision-Date: 2013-06-27 08:53+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: English (United Kingdom) <en_GB@li.org>\n"
13"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr "Wikipedia"
86msgid "YouTube"
86msgid "YouTube"
87msgstr "YouTube"
87msgstr "YouTube"
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr "Recent searches"
135msgstr "Recent searches"
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr "Running apps"
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr "Frequently used"
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr "Installed"
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr "Available for download"
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr "Apps"
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr "Frequent Apps"
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr "Recent Music"
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr "Videos Popular Online"
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr "Home"
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr "Featured"
173msgstr "Featured"
@@ -200,7 +208,7 @@ msgstr "Starring:"
200msgid "Author:"
208msgid "Author:"
201msgstr "Author:"
209msgstr "Author:"
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr "Speaking..."
237msgid "Search"
245msgid "Search"
238msgstr "Search"
246msgstr "Search"
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr "Sorry, there is nothing that matches your search."
250msgstr "Sorry, there is nothing that matches your search."
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr "Please enter %1"
255msgstr "Please enter %1"
po/eo.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\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"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr ""
135msgstr ""
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr ""
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr ""
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr ""
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr ""
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr ""
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr ""
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr ""
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr ""
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr ""
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr ""
173msgstr ""
@@ -200,7 +208,7 @@ msgstr ""
200msgid "Author:"
208msgid "Author:"
201msgstr ""
209msgstr ""
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr ""
237msgid "Search"
245msgid "Search"
238msgstr ""
246msgstr ""
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr ""
250msgstr ""
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/es.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-07-08 07:25+0000\n"
11"PO-Revision-Date: 2013-07-08 07:25+0000\n"
12"Last-Translator: Adolfo Jayme Barrientos <fitoschido@gmail.com>\n"
12"Last-Translator: Adolfo Jayme Barrientos <fitoschido@gmail.com>\n"
13"Language-Team: Spanish <es@li.org>\n"
13"Language-Team: Spanish <es@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr "Wikipedia"
86msgid "YouTube"
86msgid "YouTube"
87msgstr "YouTube"
87msgstr "YouTube"
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr "Búsquedas recientes"
135msgstr "Búsquedas recientes"
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr "Aplicaciones en ejecución"
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr "Usadas frecuentemente"
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr "Instaladas"
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr "Disponibles para descargar"
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr "Aplicaciones"
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr "Aplicaciones frecuentes"
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr "Música reciente"
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr "Vídeos populares en línea"
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr "Inicio"
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr "Destacados"
173msgstr "Destacados"
@@ -200,7 +208,7 @@ msgstr "Protagonistas:"
200msgid "Author:"
208msgid "Author:"
201msgstr "Autor:"
209msgstr "Autor:"
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr "Hablando…"
237msgid "Search"
245msgid "Search"
238msgstr "Buscar"
246msgstr "Buscar"
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr "No hay nada que coincida con su búsqueda."
250msgstr "No hay nada que coincida con su búsqueda."
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr "Introduzca %1"
255msgstr "Introduzca %1"
po/fi.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-08-23 16:15+0000\n"
11"PO-Revision-Date: 2013-08-23 16:15+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"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2013-08-24 05:59+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16738)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr "Wikipedia"
86msgid "YouTube"
86msgid "YouTube"
87msgstr "YouTube"
87msgstr "YouTube"
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr "Viimeisimmät haut"
135msgstr "Viimeisimmät haut"
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr "(%1)"
141msgstr "(%1)"
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] "%1 arvostelu"
148msgstr[0] "%1 arvostelu"
105msgstr[1] "%1 arvostelua"
149msgstr[1] "%1 arvostelua"
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr "Arvioi tämä"
153msgstr "Arvioi tämä"
110
154
@@ -124,42 +168,6 @@ msgstr "Lähetä"
124msgid "Comments:"
168msgid "Comments:"
125msgstr "Kommentit:"
169msgstr "Kommentit:"
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr "Käynnissä olevat sovellukset"
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr "Usein käytetyt"
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr "Asennetut"
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr "Ladattavissa"
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr "Sovellukset"
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr "Yleisimmät sovellukset"
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr "Viimeisin musiikki"
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr "Suositut verkkovideot"
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr "Kotinäyttö"
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr "Suositellut"
173msgstr "Suositellut"
@@ -200,7 +208,7 @@ msgstr "Pääosissa:"
200msgid "Author:"
208msgid "Author:"
201msgstr "Tekijä:"
209msgstr "Tekijä:"
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr "Hätäpuhelu"
213msgstr "Hätäpuhelu"
206
214
@@ -237,11 +245,11 @@ msgstr "Puhutaan..."
237msgid "Search"
245msgid "Search"
238msgstr "Hae"
246msgstr "Hae"
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr "Hakuun täsmääviä tuloksia ei löydy."
250msgstr "Hakuun täsmääviä tuloksia ei löydy."
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr "Kirjoita %1"
255msgstr "Kirjoita %1"
po/fo.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-27 02:57+0000\n"
11"PO-Revision-Date: 2013-06-27 02:57+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: Faroese <fo@li.org>\n"
13"Language-Team: Faroese <fo@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr ""
135msgstr ""
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr ""
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr ""
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr ""
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr ""
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr "Nýtsluskipanir"
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr ""
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr ""
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr ""
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr "Heim"
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr ""
173msgstr ""
@@ -200,7 +208,7 @@ msgstr ""
200msgid "Author:"
208msgid "Author:"
201msgstr ""
209msgstr ""
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr "Snakkar..."
237msgid "Search"
245msgid "Search"
238msgstr "Leita"
246msgstr "Leita"
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr "Tíanverri er tað einki sum hóskar til tína leiting."
250msgstr "Tíanverri er tað einki sum hóskar til tína leiting."
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/fr.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-27 03:21+0000\n"
11"PO-Revision-Date: 2013-06-27 03:21+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: French <fr@li.org>\n"
13"Language-Team: French <fr@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr ""
135msgstr ""
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr ""
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr ""
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr ""
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr ""
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr "Applications"
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr ""
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr ""
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr ""
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr ""
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr ""
173msgstr ""
@@ -200,7 +208,7 @@ msgstr ""
200msgid "Author:"
208msgid "Author:"
201msgstr ""
209msgstr ""
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr ""
237msgid "Search"
245msgid "Search"
238msgstr ""
246msgstr ""
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr ""
250msgstr ""
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/gl.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-27 03:38+0000\n"
11"PO-Revision-Date: 2013-06-27 03:38+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: Galician <gl@li.org>\n"
13"Language-Team: Galician <gl@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr "Buscas recentes"
135msgstr "Buscas recentes"
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr "Aplicativos en execución"
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr "Usadas frecuentemente"
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr "Instalado"
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr "Dispoñíbel para descargar"
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr "Aplicativos"
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr "Aplicativos frecuentes"
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr "Música recente"
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr "Vídeos populares en liña"
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr "Cartafol persoal"
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr ""
173msgstr ""
@@ -200,7 +208,7 @@ msgstr ""
200msgid "Author:"
208msgid "Author:"
201msgstr ""
209msgstr ""
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr "Falando…"
237msgid "Search"
245msgid "Search"
238msgstr "Buscar"
246msgstr "Buscar"
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr "Sentímolo, non hai nada que coincida con esta busca."
250msgstr "Sentímolo, non hai nada que coincida con esta busca."
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/he.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-27 03:54+0000\n"
11"PO-Revision-Date: 2013-06-27 03:54+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: Hebrew <he@li.org>\n"
13"Language-Team: Hebrew <he@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr "חיפושים אחרונים"
135msgstr "חיפושים אחרונים"
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr ""
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr ""
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr ""
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr ""
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr "יישומים"
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr ""
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr ""
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr ""
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr "בית"
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr ""
173msgstr ""
@@ -200,7 +208,7 @@ msgstr ""
200msgid "Author:"
208msgid "Author:"
201msgstr ""
209msgstr ""
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr "מושמע דיבור..."
237msgid "Search"
245msgid "Search"
238msgstr "חיפוש"
246msgstr "חיפוש"
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr "שום דבר אינו תואם לחיפוש שלך, עמך הסליחה."
250msgstr "שום דבר אינו תואם לחיפוש שלך, עמך הסליחה."
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/hr.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\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"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
19+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
20−"X-Generator: Launchpad (build 16734)\n"
20+"X-Generator: Launchpad (build 16750)\n"
21
21
22#: Applications/applications.js:23
22#: Applications/applications.js:23
23msgid "Phone"
23msgid "Phone"
@@ -87,25 +87,69 @@ msgstr ""
87msgid "YouTube"
87msgid "YouTube"
88msgstr ""
88msgstr ""
89
89
90+#: Components/EdgeDemoOverlay.qml:145
91+msgid "Skip intro"
92+msgstr ""
93+
94+#: Components/EdgeDemo.qml:98
95+msgid "Right edge"
96+msgstr ""
97+
98+#: Components/EdgeDemo.qml:99
99+msgid "Try swiping from the right edge to unlock the phone"
100+msgstr ""
101+
102+#: Components/EdgeDemo.qml:135
103+msgid "Top edge"
104+msgstr ""
105+
106+#: Components/EdgeDemo.qml:136
107+msgid "Try swiping from the top edge to access the indicators"
108+msgstr ""
109+
110+#: Components/EdgeDemo.qml:161
111+msgid "Close"
112+msgstr ""
113+
114+#: Components/EdgeDemo.qml:162
115+msgid "Swipe up again to close the settings screen"
116+msgstr ""
117+
118+#: Components/EdgeDemo.qml:189
119+msgid "Left edge"
120+msgstr ""
121+
122+#: Components/EdgeDemo.qml:190
123+msgid "Swipe from the left to reveal the launcher for quick access to apps"
124+msgstr ""
125+
126+#: Components/EdgeDemo.qml:217
127+msgid "Well done"
128+msgstr ""
129+
130+#: Components/EdgeDemo.qml:218
131+msgid "You have now mastered the edge gestures and can start using the phone"
132+msgstr ""
133+
90#: Components/PageHeader.qml:298
134#: Components/PageHeader.qml:298
91msgid "Recent searches"
135msgid "Recent searches"
92msgstr "Nedavne pretrage"
136msgstr "Nedavne pretrage"
93
137
94#. TRANSLATORS: Number of persons who rated this app
138#. TRANSLATORS: Number of persons who rated this app
95−#: Dash/Apps/AppInfo.qml:72
139+#: Dash/Apps/AppInfo.qml:73
96#, qt-format
140#, qt-format
97msgid "(%1)"
141msgid "(%1)"
98msgstr ""
142msgstr ""
99
143
100#. TRANSLATORS: Number of persons who wrote reviews for this app
144#. TRANSLATORS: Number of persons who wrote reviews for this app
101−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
145+#: Dash/Apps/AppInfo.qml:85
102#, qt-format
146#, qt-format
103msgid "%1 review"
147msgid "%1 review"
104msgid_plural "%1 reviews"
148msgid_plural "%1 reviews"
105msgstr[0] ""
149msgstr[0] ""
106msgstr[1] ""
150msgstr[1] ""
107
151
108−#: Dash/Apps/AppPreview.qml:181
152+#: Dash/Apps/AppPreview.qml:175
109msgid "Rate this"
153msgid "Rate this"
110msgstr ""
154msgstr ""
111
155
@@ -125,42 +169,6 @@ msgstr ""
125msgid "Comments:"
169msgid "Comments:"
126msgstr ""
170msgstr ""
127
171
128−#: Dash/DashApps.qml:65
129−msgid "Running apps"
130−msgstr ""
131−
132−#: Dash/DashApps.qml:68
133−msgid "Frequently used"
134−msgstr ""
135−
136−#: Dash/DashApps.qml:71
137−msgid "Installed"
138−msgstr ""
139−
140−#: Dash/DashApps.qml:74
141−msgid "Available for download"
142−msgstr ""
143−
144−#: Dash/DashApps.qml:168
145−msgid "Apps"
146−msgstr "Aplikacije"
147−
148−#: Dash/DashHome.qml:41
149−msgid "Frequent Apps"
150−msgstr ""
151−
152−#: Dash/DashHome.qml:44
153−msgid "Recent Music"
154−msgstr ""
155−
156−#: Dash/DashHome.qml:47
157−msgid "Videos Popular Online"
158−msgstr ""
159−
160−#: Dash/DashHome.qml:151
161−msgid "Home"
162−msgstr "Početna"
163−
164#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
172#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
165msgid "Featured"
173msgid "Featured"
166msgstr ""
174msgstr ""
@@ -201,7 +209,7 @@ msgstr ""
201msgid "Author:"
209msgid "Author:"
202msgstr ""
210msgstr ""
203
211
204−#: Greeter/Lockscreen.qml:133
212+#: Greeter/Lockscreen.qml:134
205msgid "Emergency Call"
213msgid "Emergency Call"
206msgstr ""
214msgstr ""
207
215
@@ -238,11 +246,11 @@ msgstr "Govor..."
238msgid "Search"
246msgid "Search"
239msgstr "Pretraživanje"
247msgstr "Pretraživanje"
240
248
241−#: plugins/Unity/scope.cpp:298
249+#: plugins/Unity/scope.cpp:317
242msgid "Sorry, there is nothing that matches your search."
250msgid "Sorry, there is nothing that matches your search."
243msgstr "Nažalost, ne postoji ništa što odgovara vašoj pretrazi."
251msgstr "Nažalost, ne postoji ništa što odgovara vašoj pretrazi."
244
252
245−#: Shell.qml:399
253+#: Shell.qml:429
246#, qt-format
254#, qt-format
247msgid "Please enter %1"
255msgid "Please enter %1"
248msgstr ""
256msgstr ""
po/hu.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-27 04:28+0000\n"
11"PO-Revision-Date: 2013-06-27 04:28+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: Hungarian <hu@li.org>\n"
13"Language-Team: Hungarian <hu@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr "Legutóbbi keresések"
135msgstr "Legutóbbi keresések"
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr "Futó alkalmazások"
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr "Gyakran használt"
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr "Telepített"
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr ""
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr "Alkalmazások"
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr ""
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr ""
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr ""
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr "Kezdőoldal"
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr ""
173msgstr ""
@@ -200,7 +208,7 @@ msgstr ""
200msgid "Author:"
208msgid "Author:"
201msgstr ""
209msgstr ""
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr "Beszéd…"
237msgid "Search"
245msgid "Search"
238msgstr "Keresés"
246msgstr "Keresés"
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr "Elnézést, nincs találat a keresésre."
250msgstr "Elnézést, nincs találat a keresésre."
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/hy.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\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"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr "Վերջին որոնումներ"
135msgstr "Վերջին որոնումներ"
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr "Բացած ծրագրեր"
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr "Վերջին բացածները"
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr "Տեղադրված"
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr "Հասանելի ծրագրեր"
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr "Ծրագրեր"
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr "Հաճախակի ծրագրերը"
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr "Վերջին երգերը"
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr "Հայտնի օնլայն վիդեոներ"
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr "Տուն"
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr ""
173msgstr ""
@@ -200,7 +208,7 @@ msgstr ""
200msgid "Author:"
208msgid "Author:"
201msgstr ""
209msgstr ""
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr "Խոսում եմ..."
237msgid "Search"
245msgid "Search"
238msgstr "Որոնում"
246msgstr "Որոնում"
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr "Կներերք, բայց Ձեր հարցումով ոչինչ չկար"
250msgstr "Կներերք, բայց Ձեր հարցումով ոչինչ չկար"
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/id.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-26 22:35+0000\n"
11"PO-Revision-Date: 2013-06-26 22:35+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Indonesian <id@li.org>\n"
13"Language-Team: Indonesian <id@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr ""
135msgstr ""
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr ""
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr ""
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr ""
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr ""
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr ""
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr ""
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr ""
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr ""
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr ""
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr ""
173msgstr ""
@@ -200,7 +208,7 @@ msgstr ""
200msgid "Author:"
208msgid "Author:"
201msgstr ""
209msgstr ""
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr ""
237msgid "Search"
245msgid "Search"
238msgstr ""
246msgstr ""
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr ""
250msgstr ""
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/it.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-27 05:14+0000\n"
11"PO-Revision-Date: 2013-06-27 05: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: Italian <it@li.org>\n"
13"Language-Team: Italian <it@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr "Ricerche recenti"
135msgstr "Ricerche recenti"
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr ""
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr ""
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr ""
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr ""
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr "Applicazioni"
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr ""
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr ""
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr ""
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr "Home"
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr ""
173msgstr ""
@@ -200,7 +208,7 @@ msgstr ""
200msgid "Author:"
208msgid "Author:"
201msgstr ""
209msgstr ""
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr "Sto parlando..."
237msgid "Search"
245msgid "Search"
238msgstr "Cerca"
246msgstr "Cerca"
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr "Nessun risultato corrispondente alla ricerca."
250msgstr "Nessun risultato corrispondente alla ricerca."
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/ja.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\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: Japanese <ja@li.org>\n"
13"Language-Team: Japanese <ja@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr ""
135msgstr ""
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr ""
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr ""
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr ""
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr ""
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr ""
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr ""
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr ""
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr ""
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr ""
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr ""
173msgstr ""
@@ -200,7 +208,7 @@ msgstr ""
200msgid "Author:"
208msgid "Author:"
201msgstr ""
209msgstr ""
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr ""
237msgid "Search"
245msgid "Search"
238msgstr ""
246msgstr ""
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr ""
250msgstr ""
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/kn.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-27 05:43+0000\n"
11"PO-Revision-Date: 2013-06-27 05:43+0000\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
13"Language-Team: Kannada <kn@li.org>\n"
13"Language-Team: Kannada <kn@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr "ಇತ್ತೀಚಿನ ಹುಡುಕಾಟಗಳು"
135msgstr "ಇತ್ತೀಚಿನ ಹುಡುಕಾಟಗಳು"
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr ""
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr ""
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr ""
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr ""
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr "ಅಪ್ಲಿಕೇಶನ್‌ಗಳು"
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr ""
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr ""
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr ""
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr "ಮನೆ (Home)"
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr ""
173msgstr ""
@@ -200,7 +208,7 @@ msgstr ""
200msgid "Author:"
208msgid "Author:"
201msgstr ""
209msgstr ""
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr "ಮಾತನಾಡುತಿದ್ದೀರಿ"
237msgid "Search"
245msgid "Search"
238msgstr "ಹುಡುಕು"
246msgstr "ಹುಡುಕು"
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr "ಕ್ಷಮಿಸಿ ನಿಮ್ಮ ಶೋಧನೆಗೆ ಸರಿಯಾದ ಹೊಂದಾಣಿಕೆಗಳು ದೊರಕುತ್ತಿಲ್ಲ"
250msgstr "ಕ್ಷಮಿಸಿ ನಿಮ್ಮ ಶೋಧನೆಗೆ ಸರಿಯಾದ ಹೊಂದಾಣಿಕೆಗಳು ದೊರಕುತ್ತಿಲ್ಲ"
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/ko.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-27 05:59+0000\n"
11"PO-Revision-Date: 2013-06-27 05:59+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: Korean <ko@li.org>\n"
13"Language-Team: Korean <ko@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr "요즈음 찿은 것들"
135msgstr "요즈음 찿은 것들"
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr "돌아가고 있는 앱"
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr "자주 쓰는 것들"
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr "깔림"
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr "내려받을 수 있음"
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr "앱"
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr "자주 쓰는 앱"
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr "요즈음 찾는 음악"
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr ""
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr ""
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr ""
173msgstr ""
@@ -200,7 +208,7 @@ msgstr ""
200msgid "Author:"
208msgid "Author:"
201msgstr ""
209msgstr ""
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr ""
237msgid "Search"
245msgid "Search"
238msgstr "찾기"
246msgstr "찾기"
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr ""
250msgstr ""
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/ky.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-27 06:17+0000\n"
11"PO-Revision-Date: 2013-06-27 06:17+0000\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
13"Language-Team: Kirghiz <ky@li.org>\n"
13"Language-Team: Kirghiz <ky@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr "Соңку издөөлөр"
135msgstr "Соңку издөөлөр"
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr ""
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr ""
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr ""
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr ""
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr "Тиркемелер"
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr ""
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr ""
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr ""
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr "Үй папкасы"
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr ""
173msgstr ""
@@ -200,7 +208,7 @@ msgstr ""
200msgid "Author:"
208msgid "Author:"
201msgstr ""
209msgstr ""
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr "Сүйлөнүүдө..."
237msgid "Search"
245msgid "Search"
238msgstr "Издөө"
246msgstr "Издөө"
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr "Тилекке каршы, сиздин издөөңүзгө эч нерсе дал келген жок."
250msgstr "Тилекке каршы, сиздин издөөңүзгө эч нерсе дал келген жок."
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/lv.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-27 06:31+0000\n"
11"PO-Revision-Date: 2013-06-27 06:31+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: Latvian <lv@li.org>\n"
13"Language-Team: Latvian <lv@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr "Nesen veiktās meklēšanas"
135msgstr "Nesen veiktās meklēšanas"
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr ""
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr ""
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr ""
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr ""
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr "Lietotnes"
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr ""
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr ""
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr ""
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr "Mājas"
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr ""
173msgstr ""
@@ -200,7 +208,7 @@ msgstr ""
200msgid "Author:"
208msgid "Author:"
201msgstr ""
209msgstr ""
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr "Runa..."
237msgid "Search"
245msgid "Search"
238msgstr "Meklēt"
246msgstr "Meklēt"
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr "Diemžēl nekas neatbilst jūsu meklētajam."
250msgstr "Diemžēl nekas neatbilst jūsu meklētajam."
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/my.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-27 06:47+0000\n"
11"PO-Revision-Date: 2013-06-27 06:47+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: Burmese <my@li.org>\n"
13"Language-Team: Burmese <my@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr "မကြာသေးခင်က ရှာဖွေခြင်း"
135msgstr "မကြာသေးခင်က ရှာဖွေခြင်း"
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr ""
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr ""
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr ""
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr ""
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr "Apps"
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr ""
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr ""
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr ""
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr "ပင်မ"
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr ""
173msgstr ""
@@ -200,7 +208,7 @@ msgstr ""
200msgid "Author:"
208msgid "Author:"
201msgstr ""
209msgstr ""
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr "ပြောနေသည်"
237msgid "Search"
245msgid "Search"
238msgstr "ရှာဖွေ"
246msgstr "ရှာဖွေ"
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr "ဆောရီး၊ သင်၏ရှာဖွေမူနှင့်တူညီတာဘာမှမရှိပါ။"
250msgstr "ဆောရီး၊ သင်၏ရှာဖွေမူနှင့်တူညီတာဘာမှမရှိပါ။"
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/nb.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-27 07:02+0000\n"
11"PO-Revision-Date: 2013-06-27 07:02+0000\n"
12"Last-Translator: Joakim Langvand <jlangvand@gmail.com>\n"
12"Last-Translator: Joakim Langvand <jlangvand@gmail.com>\n"
13"Language-Team: Norwegian Bokmal <nb@li.org>\n"
13"Language-Team: Norwegian Bokmal <nb@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr "Siste søk"
135msgstr "Siste søk"
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr ""
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr "Ofte brukt"
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr "Installert"
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr "Tilgjengelig for nedlasting"
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr "Programmer"
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr ""
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr ""
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr ""
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr "Hjem"
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr ""
173msgstr ""
@@ -200,7 +208,7 @@ msgstr ""
200msgid "Author:"
208msgid "Author:"
201msgstr ""
209msgstr ""
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr "Snakker …"
237msgid "Search"
245msgid "Search"
238msgstr "Søk"
246msgstr "Søk"
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr "Søket ga ingen treff."
250msgstr "Søket ga ingen treff."
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/nl.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-27 07:19+0000\n"
11"PO-Revision-Date: 2013-06-27 07:19+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: Dutch <nl@li.org>\n"
13"Language-Team: Dutch <nl@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr "Recente zoekopdrachten"
135msgstr "Recente zoekopdrachten"
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr ""
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr ""
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr ""
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr ""
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr "Apps"
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr ""
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr ""
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr ""
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr "Hoofdvenster"
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr ""
173msgstr ""
@@ -200,7 +208,7 @@ msgstr ""
200msgid "Author:"
208msgid "Author:"
201msgstr ""
209msgstr ""
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr "Inspreken…"
237msgid "Search"
245msgid "Search"
238msgstr "Zoeken"
246msgstr "Zoeken"
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr "Er is helaas niets dat met uw zoekopdracht overeenkomt."
250msgstr "Er is helaas niets dat met uw zoekopdracht overeenkomt."
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/pl.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-27 08:52+0000\n"
11"PO-Revision-Date: 2013-06-27 08:52+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: Polish <pl@li.org>\n"
13"Language-Team: Polish <pl@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
17"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
18"|| n%100>=20) ? 1 : 2;\n"
18"|| n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
19+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
20−"X-Generator: Launchpad (build 16734)\n"
20+"X-Generator: Launchpad (build 16750)\n"
21
21
22#: Applications/applications.js:23
22#: Applications/applications.js:23
23msgid "Phone"
23msgid "Phone"
@@ -87,25 +87,69 @@ msgstr "Wikipedia"
87msgid "YouTube"
87msgid "YouTube"
88msgstr "YouTube"
88msgstr "YouTube"
89
89
90+#: Components/EdgeDemoOverlay.qml:145
91+msgid "Skip intro"
92+msgstr ""
93+
94+#: Components/EdgeDemo.qml:98
95+msgid "Right edge"
96+msgstr ""
97+
98+#: Components/EdgeDemo.qml:99
99+msgid "Try swiping from the right edge to unlock the phone"
100+msgstr ""
101+
102+#: Components/EdgeDemo.qml:135
103+msgid "Top edge"
104+msgstr ""
105+
106+#: Components/EdgeDemo.qml:136
107+msgid "Try swiping from the top edge to access the indicators"
108+msgstr ""
109+
110+#: Components/EdgeDemo.qml:161
111+msgid "Close"
112+msgstr ""
113+
114+#: Components/EdgeDemo.qml:162
115+msgid "Swipe up again to close the settings screen"
116+msgstr ""
117+
118+#: Components/EdgeDemo.qml:189
119+msgid "Left edge"
120+msgstr ""
121+
122+#: Components/EdgeDemo.qml:190
123+msgid "Swipe from the left to reveal the launcher for quick access to apps"
124+msgstr ""
125+
126+#: Components/EdgeDemo.qml:217
127+msgid "Well done"
128+msgstr ""
129+
130+#: Components/EdgeDemo.qml:218
131+msgid "You have now mastered the edge gestures and can start using the phone"
132+msgstr ""
133+
90#: Components/PageHeader.qml:298
134#: Components/PageHeader.qml:298
91msgid "Recent searches"
135msgid "Recent searches"
92msgstr "Ostatnie wyszukiwania"
136msgstr "Ostatnie wyszukiwania"
93
137
94#. TRANSLATORS: Number of persons who rated this app
138#. TRANSLATORS: Number of persons who rated this app
95−#: Dash/Apps/AppInfo.qml:72
139+#: Dash/Apps/AppInfo.qml:73
96#, qt-format
140#, qt-format
97msgid "(%1)"
141msgid "(%1)"
98msgstr ""
142msgstr ""
99
143
100#. TRANSLATORS: Number of persons who wrote reviews for this app
144#. TRANSLATORS: Number of persons who wrote reviews for this app
101−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
145+#: Dash/Apps/AppInfo.qml:85
102#, qt-format
146#, qt-format
103msgid "%1 review"
147msgid "%1 review"
104msgid_plural "%1 reviews"
148msgid_plural "%1 reviews"
105msgstr[0] ""
149msgstr[0] ""
106msgstr[1] ""
150msgstr[1] ""
107
151
108−#: Dash/Apps/AppPreview.qml:181
152+#: Dash/Apps/AppPreview.qml:175
109msgid "Rate this"
153msgid "Rate this"
110msgstr ""
154msgstr ""
111
155
@@ -125,42 +169,6 @@ msgstr ""
125msgid "Comments:"
169msgid "Comments:"
126msgstr ""
170msgstr ""
127
171
128−#: Dash/DashApps.qml:65
129−msgid "Running apps"
130−msgstr "Uruchomione aplikacje"
131−
132−#: Dash/DashApps.qml:68
133−msgid "Frequently used"
134−msgstr "Najczęściej używane"
135−
136−#: Dash/DashApps.qml:71
137−msgid "Installed"
138−msgstr "Zainstalowane"
139−
140−#: Dash/DashApps.qml:74
141−msgid "Available for download"
142−msgstr "Dostępne do pobrania"
143−
144−#: Dash/DashApps.qml:168
145−msgid "Apps"
146−msgstr "Aplikacje"
147−
148−#: Dash/DashHome.qml:41
149−msgid "Frequent Apps"
150−msgstr "Często używane aplikacje"
151−
152−#: Dash/DashHome.qml:44
153−msgid "Recent Music"
154−msgstr "Najnowsza muzyka"
155−
156−#: Dash/DashHome.qml:47
157−msgid "Videos Popular Online"
158−msgstr "Wideo popularne online"
159−
160−#: Dash/DashHome.qml:151
161−msgid "Home"
162−msgstr "Dom"
163−
164#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
172#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
165msgid "Featured"
173msgid "Featured"
166msgstr "Polecane"
174msgstr "Polecane"
@@ -201,7 +209,7 @@ msgstr "Obsada:"
201msgid "Author:"
209msgid "Author:"
202msgstr "Autor:"
210msgstr "Autor:"
203
211
204−#: Greeter/Lockscreen.qml:133
212+#: Greeter/Lockscreen.qml:134
205msgid "Emergency Call"
213msgid "Emergency Call"
206msgstr ""
214msgstr ""
207
215
@@ -238,11 +246,11 @@ msgstr "Rozpoznanie..."
238msgid "Search"
246msgid "Search"
239msgstr "Szukaj"
247msgstr "Szukaj"
240
248
241−#: plugins/Unity/scope.cpp:298
249+#: plugins/Unity/scope.cpp:317
242msgid "Sorry, there is nothing that matches your search."
250msgid "Sorry, there is nothing that matches your search."
243msgstr "Nie znaleziono pasujących wyników."
251msgstr "Nie znaleziono pasujących wyników."
244
252
245−#: Shell.qml:399
253+#: Shell.qml:429
246#, qt-format
254#, qt-format
247msgid "Please enter %1"
255msgid "Please enter %1"
248msgstr "Wprowadź %1"
256msgstr "Wprowadź %1"
po/pt_BR.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-27 07:39+0000\n"
11"PO-Revision-Date: 2013-06-27 07:39+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: Brazilian Portuguese <pt_BR@li.org>\n"
13"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr "Pesquisas recentes"
135msgstr "Pesquisas recentes"
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr ""
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr ""
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr ""
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr ""
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr "Aplicativos"
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr ""
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr ""
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr ""
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr "Início"
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr ""
173msgstr ""
@@ -200,7 +208,7 @@ msgstr ""
200msgid "Author:"
208msgid "Author:"
201msgstr ""
209msgstr ""
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr "Falando..."
237msgid "Search"
245msgid "Search"
238msgstr "Pesquisar"
246msgstr "Pesquisar"
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr "Desculpe, não há nada que corresponda à sua pesquisa."
250msgstr "Desculpe, não há nada que corresponda à sua pesquisa."
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/ro.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-27 07:53+0000\n"
11"PO-Revision-Date: 2013-06-27 07:53+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: Romanian <ro@li.org>\n"
13"Language-Team: Romanian <ro@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=(n == 1 ? 0: (((n % 100 > 19) || ((n % 100 "
17"Plural-Forms: nplurals=3; plural=(n == 1 ? 0: (((n % 100 > 19) || ((n % 100 "
18"== 0) && (n != 0))) ? 2: 1));\n"
18"== 0) && (n != 0))) ? 2: 1));\n"
19−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
19+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
20−"X-Generator: Launchpad (build 16734)\n"
20+"X-Generator: Launchpad (build 16750)\n"
21
21
22#: Applications/applications.js:23
22#: Applications/applications.js:23
23msgid "Phone"
23msgid "Phone"
@@ -87,25 +87,69 @@ msgstr ""
87msgid "YouTube"
87msgid "YouTube"
88msgstr ""
88msgstr ""
89
89
90+#: Components/EdgeDemoOverlay.qml:145
91+msgid "Skip intro"
92+msgstr ""
93+
94+#: Components/EdgeDemo.qml:98
95+msgid "Right edge"
96+msgstr ""
97+
98+#: Components/EdgeDemo.qml:99
99+msgid "Try swiping from the right edge to unlock the phone"
100+msgstr ""
101+
102+#: Components/EdgeDemo.qml:135
103+msgid "Top edge"
104+msgstr ""
105+
106+#: Components/EdgeDemo.qml:136
107+msgid "Try swiping from the top edge to access the indicators"
108+msgstr ""
109+
110+#: Components/EdgeDemo.qml:161
111+msgid "Close"
112+msgstr ""
113+
114+#: Components/EdgeDemo.qml:162
115+msgid "Swipe up again to close the settings screen"
116+msgstr ""
117+
118+#: Components/EdgeDemo.qml:189
119+msgid "Left edge"
120+msgstr ""
121+
122+#: Components/EdgeDemo.qml:190
123+msgid "Swipe from the left to reveal the launcher for quick access to apps"
124+msgstr ""
125+
126+#: Components/EdgeDemo.qml:217
127+msgid "Well done"
128+msgstr ""
129+
130+#: Components/EdgeDemo.qml:218
131+msgid "You have now mastered the edge gestures and can start using the phone"
132+msgstr ""
133+
90#: Components/PageHeader.qml:298
134#: Components/PageHeader.qml:298
91msgid "Recent searches"
135msgid "Recent searches"
92msgstr "Căutări recente"
136msgstr "Căutări recente"
93
137
94#. TRANSLATORS: Number of persons who rated this app
138#. TRANSLATORS: Number of persons who rated this app
95−#: Dash/Apps/AppInfo.qml:72
139+#: Dash/Apps/AppInfo.qml:73
96#, qt-format
140#, qt-format
97msgid "(%1)"
141msgid "(%1)"
98msgstr ""
142msgstr ""
99
143
100#. TRANSLATORS: Number of persons who wrote reviews for this app
144#. TRANSLATORS: Number of persons who wrote reviews for this app
101−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
145+#: Dash/Apps/AppInfo.qml:85
102#, qt-format
146#, qt-format
103msgid "%1 review"
147msgid "%1 review"
104msgid_plural "%1 reviews"
148msgid_plural "%1 reviews"
105msgstr[0] ""
149msgstr[0] ""
106msgstr[1] ""
150msgstr[1] ""
107
151
108−#: Dash/Apps/AppPreview.qml:181
152+#: Dash/Apps/AppPreview.qml:175
109msgid "Rate this"
153msgid "Rate this"
110msgstr ""
154msgstr ""
111
155
@@ -125,42 +169,6 @@ msgstr ""
125msgid "Comments:"
169msgid "Comments:"
126msgstr ""
170msgstr ""
127
171
128−#: Dash/DashApps.qml:65
129−msgid "Running apps"
130−msgstr ""
131−
132−#: Dash/DashApps.qml:68
133−msgid "Frequently used"
134−msgstr ""
135−
136−#: Dash/DashApps.qml:71
137−msgid "Installed"
138−msgstr ""
139−
140−#: Dash/DashApps.qml:74
141−msgid "Available for download"
142−msgstr ""
143−
144−#: Dash/DashApps.qml:168
145−msgid "Apps"
146−msgstr "Aplicații"
147−
148−#: Dash/DashHome.qml:41
149−msgid "Frequent Apps"
150−msgstr ""
151−
152−#: Dash/DashHome.qml:44
153−msgid "Recent Music"
154−msgstr ""
155−
156−#: Dash/DashHome.qml:47
157−msgid "Videos Popular Online"
158−msgstr ""
159−
160−#: Dash/DashHome.qml:151
161−msgid "Home"
162−msgstr "Acasă"
163−
164#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
172#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
165msgid "Featured"
173msgid "Featured"
166msgstr ""
174msgstr ""
@@ -201,7 +209,7 @@ msgstr ""
201msgid "Author:"
209msgid "Author:"
202msgstr ""
210msgstr ""
203
211
204−#: Greeter/Lockscreen.qml:133
212+#: Greeter/Lockscreen.qml:134
205msgid "Emergency Call"
213msgid "Emergency Call"
206msgstr ""
214msgstr ""
207
215
@@ -238,12 +246,12 @@ msgstr "Vorbire..."
238msgid "Search"
246msgid "Search"
239msgstr "Căutare"
247msgstr "Căutare"
240
248
241−#: plugins/Unity/scope.cpp:298
249+#: plugins/Unity/scope.cpp:317
242msgid "Sorry, there is nothing that matches your search."
250msgid "Sorry, there is nothing that matches your search."
243msgstr ""
251msgstr ""
244"Ne pare rău, nu este nimic care se potrivește căutării dumneavoastră."
252"Ne pare rău, nu este nimic care se potrivește căutării dumneavoastră."
245
253
246−#: Shell.qml:399
254+#: Shell.qml:429
247#, qt-format
255#, qt-format
248msgid "Please enter %1"
256msgid "Please enter %1"
249msgstr ""
257msgstr ""
po/ru.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-28 06:40+0000\n"
11"PO-Revision-Date: 2013-06-28 06:40+0000\n"
12"Last-Translator: Eugene Marshal <Unknown>\n"
12"Last-Translator: Eugene Marshal <Unknown>\n"
13"Language-Team: Russian <ru@li.org>\n"
13"Language-Team: Russian <ru@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
19+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
20−"X-Generator: Launchpad (build 16734)\n"
20+"X-Generator: Launchpad (build 16750)\n"
21
21
22#: Applications/applications.js:23
22#: Applications/applications.js:23
23msgid "Phone"
23msgid "Phone"
@@ -87,25 +87,69 @@ msgstr "Википедия"
87msgid "YouTube"
87msgid "YouTube"
88msgstr "YouTube"
88msgstr "YouTube"
89
89
90+#: Components/EdgeDemoOverlay.qml:145
91+msgid "Skip intro"
92+msgstr ""
93+
94+#: Components/EdgeDemo.qml:98
95+msgid "Right edge"
96+msgstr ""
97+
98+#: Components/EdgeDemo.qml:99
99+msgid "Try swiping from the right edge to unlock the phone"
100+msgstr ""
101+
102+#: Components/EdgeDemo.qml:135
103+msgid "Top edge"
104+msgstr ""
105+
106+#: Components/EdgeDemo.qml:136
107+msgid "Try swiping from the top edge to access the indicators"
108+msgstr ""
109+
110+#: Components/EdgeDemo.qml:161
111+msgid "Close"
112+msgstr ""
113+
114+#: Components/EdgeDemo.qml:162
115+msgid "Swipe up again to close the settings screen"
116+msgstr ""
117+
118+#: Components/EdgeDemo.qml:189
119+msgid "Left edge"
120+msgstr ""
121+
122+#: Components/EdgeDemo.qml:190
123+msgid "Swipe from the left to reveal the launcher for quick access to apps"
124+msgstr ""
125+
126+#: Components/EdgeDemo.qml:217
127+msgid "Well done"
128+msgstr ""
129+
130+#: Components/EdgeDemo.qml:218
131+msgid "You have now mastered the edge gestures and can start using the phone"
132+msgstr ""
133+
90#: Components/PageHeader.qml:298
134#: Components/PageHeader.qml:298
91msgid "Recent searches"
135msgid "Recent searches"
92msgstr "Последние поисковые запросы"
136msgstr "Последние поисковые запросы"
93
137
94#. TRANSLATORS: Number of persons who rated this app
138#. TRANSLATORS: Number of persons who rated this app
95−#: Dash/Apps/AppInfo.qml:72
139+#: Dash/Apps/AppInfo.qml:73
96#, qt-format
140#, qt-format
97msgid "(%1)"
141msgid "(%1)"
98msgstr ""
142msgstr ""
99
143
100#. TRANSLATORS: Number of persons who wrote reviews for this app
144#. TRANSLATORS: Number of persons who wrote reviews for this app
101−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
145+#: Dash/Apps/AppInfo.qml:85
102#, qt-format
146#, qt-format
103msgid "%1 review"
147msgid "%1 review"
104msgid_plural "%1 reviews"
148msgid_plural "%1 reviews"
105msgstr[0] ""
149msgstr[0] ""
106msgstr[1] ""
150msgstr[1] ""
107
151
108−#: Dash/Apps/AppPreview.qml:181
152+#: Dash/Apps/AppPreview.qml:175
109msgid "Rate this"
153msgid "Rate this"
110msgstr ""
154msgstr ""
111
155
@@ -125,42 +169,6 @@ msgstr ""
125msgid "Comments:"
169msgid "Comments:"
126msgstr ""
170msgstr ""
127
171
128−#: Dash/DashApps.qml:65
129−msgid "Running apps"
130−msgstr "Запущенные приложения"
131−
132−#: Dash/DashApps.qml:68
133−msgid "Frequently used"
134−msgstr "Часто используемые"
135−
136−#: Dash/DashApps.qml:71
137−msgid "Installed"
138−msgstr "Установленные"
139−
140−#: Dash/DashApps.qml:74
141−msgid "Available for download"
142−msgstr "Доступно для загрузки"
143−
144−#: Dash/DashApps.qml:168
145−msgid "Apps"
146−msgstr "Приложения"
147−
148−#: Dash/DashHome.qml:41
149−msgid "Frequent Apps"
150−msgstr "Часто используемые приложения"
151−
152−#: Dash/DashHome.qml:44
153−msgid "Recent Music"
154−msgstr "Недавно прослушанная музыка"
155−
156−#: Dash/DashHome.qml:47
157−msgid "Videos Popular Online"
158−msgstr "Популярные видео из сети"
159−
160−#: Dash/DashHome.qml:151
161−msgid "Home"
162−msgstr "Главная"
163−
164#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
172#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
165msgid "Featured"
173msgid "Featured"
166msgstr ""
174msgstr ""
@@ -201,7 +209,7 @@ msgstr "В главных ролях"
201msgid "Author:"
209msgid "Author:"
202msgstr "Автор:"
210msgstr "Автор:"
203
211
204−#: Greeter/Lockscreen.qml:133
212+#: Greeter/Lockscreen.qml:134
205msgid "Emergency Call"
213msgid "Emergency Call"
206msgstr ""
214msgstr ""
207
215
@@ -238,11 +246,11 @@ msgstr "Говорите..."
238msgid "Search"
246msgid "Search"
239msgstr "Поиск"
247msgstr "Поиск"
240
248
241−#: plugins/Unity/scope.cpp:298
249+#: plugins/Unity/scope.cpp:317
242msgid "Sorry, there is nothing that matches your search."
250msgid "Sorry, there is nothing that matches your search."
243msgstr "Извините, поиск не дал результатов."
251msgstr "Извините, поиск не дал результатов."
244
252
245−#: Shell.qml:399
253+#: Shell.qml:429
246#, qt-format
254#, qt-format
247msgid "Please enter %1"
255msgid "Please enter %1"
248msgstr "Пожалуйста, введите %1"
256msgstr "Пожалуйста, введите %1"
po/si.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-26 22:36+0000\n"
11"PO-Revision-Date: 2013-06-26 22:36+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Sinhalese <si@li.org>\n"
13"Language-Team: Sinhalese <si@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr ""
135msgstr ""
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr ""
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr ""
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr ""
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr ""
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr ""
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr ""
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr ""
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr ""
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr ""
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr ""
173msgstr ""
@@ -200,7 +208,7 @@ msgstr ""
200msgid "Author:"
208msgid "Author:"
201msgstr ""
209msgstr ""
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr ""
237msgid "Search"
245msgid "Search"
238msgstr ""
246msgstr ""
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr ""
250msgstr ""
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/sl.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-07-02 12:59+0000\n"
11"PO-Revision-Date: 2013-07-02 12:59+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"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || "
17"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || "
18"n%100==4 ? 3 : 0);\n"
18"n%100==4 ? 3 : 0);\n"
19−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
19+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
20−"X-Generator: Launchpad (build 16734)\n"
20+"X-Generator: Launchpad (build 16750)\n"
21
21
22#: Applications/applications.js:23
22#: Applications/applications.js:23
23msgid "Phone"
23msgid "Phone"
@@ -87,25 +87,69 @@ msgstr "Wikipedija"
87msgid "YouTube"
87msgid "YouTube"
88msgstr "YouTube"
88msgstr "YouTube"
89
89
90+#: Components/EdgeDemoOverlay.qml:145
91+msgid "Skip intro"
92+msgstr ""
93+
94+#: Components/EdgeDemo.qml:98
95+msgid "Right edge"
96+msgstr ""
97+
98+#: Components/EdgeDemo.qml:99
99+msgid "Try swiping from the right edge to unlock the phone"
100+msgstr ""
101+
102+#: Components/EdgeDemo.qml:135
103+msgid "Top edge"
104+msgstr ""
105+
106+#: Components/EdgeDemo.qml:136
107+msgid "Try swiping from the top edge to access the indicators"
108+msgstr ""
109+
110+#: Components/EdgeDemo.qml:161
111+msgid "Close"
112+msgstr ""
113+
114+#: Components/EdgeDemo.qml:162
115+msgid "Swipe up again to close the settings screen"
116+msgstr ""
117+
118+#: Components/EdgeDemo.qml:189
119+msgid "Left edge"
120+msgstr ""
121+
122+#: Components/EdgeDemo.qml:190
123+msgid "Swipe from the left to reveal the launcher for quick access to apps"
124+msgstr ""
125+
126+#: Components/EdgeDemo.qml:217
127+msgid "Well done"
128+msgstr ""
129+
130+#: Components/EdgeDemo.qml:218
131+msgid "You have now mastered the edge gestures and can start using the phone"
132+msgstr ""
133+
90#: Components/PageHeader.qml:298
134#: Components/PageHeader.qml:298
91msgid "Recent searches"
135msgid "Recent searches"
92msgstr "Nedavna iskanja"
136msgstr "Nedavna iskanja"
93
137
94#. TRANSLATORS: Number of persons who rated this app
138#. TRANSLATORS: Number of persons who rated this app
95−#: Dash/Apps/AppInfo.qml:72
139+#: Dash/Apps/AppInfo.qml:73
96#, qt-format
140#, qt-format
97msgid "(%1)"
141msgid "(%1)"
98msgstr ""
142msgstr ""
99
143
100#. TRANSLATORS: Number of persons who wrote reviews for this app
144#. TRANSLATORS: Number of persons who wrote reviews for this app
101−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
145+#: Dash/Apps/AppInfo.qml:85
102#, qt-format
146#, qt-format
103msgid "%1 review"
147msgid "%1 review"
104msgid_plural "%1 reviews"
148msgid_plural "%1 reviews"
105msgstr[0] ""
149msgstr[0] ""
106msgstr[1] ""
150msgstr[1] ""
107
151
108−#: Dash/Apps/AppPreview.qml:181
152+#: Dash/Apps/AppPreview.qml:175
109msgid "Rate this"
153msgid "Rate this"
110msgstr ""
154msgstr ""
111
155
@@ -125,42 +169,6 @@ msgstr ""
125msgid "Comments:"
169msgid "Comments:"
126msgstr ""
170msgstr ""
127
171
128−#: Dash/DashApps.qml:65
129−msgid "Running apps"
130−msgstr ""
131−
132−#: Dash/DashApps.qml:68
133−msgid "Frequently used"
134−msgstr "Pogosto uporabljano"
135−
136−#: Dash/DashApps.qml:71
137−msgid "Installed"
138−msgstr "Nameščeno"
139−
140−#: Dash/DashApps.qml:74
141−msgid "Available for download"
142−msgstr "Na voljo za prejem"
143−
144−#: Dash/DashApps.qml:168
145−msgid "Apps"
146−msgstr "Programi"
147−
148−#: Dash/DashHome.qml:41
149−msgid "Frequent Apps"
150−msgstr "Pogosto uporabljani programi"
151−
152−#: Dash/DashHome.qml:44
153−msgid "Recent Music"
154−msgstr "Nedavna glasba"
155−
156−#: Dash/DashHome.qml:47
157−msgid "Videos Popular Online"
158−msgstr ""
159−
160−#: Dash/DashHome.qml:151
161−msgid "Home"
162−msgstr "Domov"
163−
164#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
172#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
165msgid "Featured"
173msgid "Featured"
166msgstr "Predstavljeno"
174msgstr "Predstavljeno"
@@ -201,7 +209,7 @@ msgstr ""
201msgid "Author:"
209msgid "Author:"
202msgstr ""
210msgstr ""
203
211
204−#: Greeter/Lockscreen.qml:133
212+#: Greeter/Lockscreen.qml:134
205msgid "Emergency Call"
213msgid "Emergency Call"
206msgstr ""
214msgstr ""
207
215
@@ -238,11 +246,11 @@ msgstr "Govorjenje ..."
238msgid "Search"
246msgid "Search"
239msgstr "Iskanje"
247msgstr "Iskanje"
240
248
241−#: plugins/Unity/scope.cpp:298
249+#: plugins/Unity/scope.cpp:317
242msgid "Sorry, there is nothing that matches your search."
250msgid "Sorry, there is nothing that matches your search."
243msgstr "Nič se ne ujema z vašim iskalnim nizom."
251msgstr "Nič se ne ujema z vašim iskalnim nizom."
244
252
245−#: Shell.qml:399
253+#: Shell.qml:429
246#, qt-format
254#, qt-format
247msgid "Please enter %1"
255msgid "Please enter %1"
248msgstr ""
256msgstr ""
po/sr.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-27 09:19+0000\n"
11"PO-Revision-Date: 2013-06-27 09:19+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: Serbian <sr@li.org>\n"
13"Language-Team: Serbian <sr@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
19+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
20−"X-Generator: Launchpad (build 16734)\n"
20+"X-Generator: Launchpad (build 16750)\n"
21
21
22#: Applications/applications.js:23
22#: Applications/applications.js:23
23msgid "Phone"
23msgid "Phone"
@@ -87,25 +87,69 @@ msgstr ""
87msgid "YouTube"
87msgid "YouTube"
88msgstr ""
88msgstr ""
89
89
90+#: Components/EdgeDemoOverlay.qml:145
91+msgid "Skip intro"
92+msgstr ""
93+
94+#: Components/EdgeDemo.qml:98
95+msgid "Right edge"
96+msgstr ""
97+
98+#: Components/EdgeDemo.qml:99
99+msgid "Try swiping from the right edge to unlock the phone"
100+msgstr ""
101+
102+#: Components/EdgeDemo.qml:135
103+msgid "Top edge"
104+msgstr ""
105+
106+#: Components/EdgeDemo.qml:136
107+msgid "Try swiping from the top edge to access the indicators"
108+msgstr ""
109+
110+#: Components/EdgeDemo.qml:161
111+msgid "Close"
112+msgstr ""
113+
114+#: Components/EdgeDemo.qml:162
115+msgid "Swipe up again to close the settings screen"
116+msgstr ""
117+
118+#: Components/EdgeDemo.qml:189
119+msgid "Left edge"
120+msgstr ""
121+
122+#: Components/EdgeDemo.qml:190
123+msgid "Swipe from the left to reveal the launcher for quick access to apps"
124+msgstr ""
125+
126+#: Components/EdgeDemo.qml:217
127+msgid "Well done"
128+msgstr ""
129+
130+#: Components/EdgeDemo.qml:218
131+msgid "You have now mastered the edge gestures and can start using the phone"
132+msgstr ""
133+
90#: Components/PageHeader.qml:298
134#: Components/PageHeader.qml:298
91msgid "Recent searches"
135msgid "Recent searches"
92msgstr "Скорашње претраге"
136msgstr "Скорашње претраге"
93
137
94#. TRANSLATORS: Number of persons who rated this app
138#. TRANSLATORS: Number of persons who rated this app
95−#: Dash/Apps/AppInfo.qml:72
139+#: Dash/Apps/AppInfo.qml:73
96#, qt-format
140#, qt-format
97msgid "(%1)"
141msgid "(%1)"
98msgstr ""
142msgstr ""
99
143
100#. TRANSLATORS: Number of persons who wrote reviews for this app
144#. TRANSLATORS: Number of persons who wrote reviews for this app
101−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
145+#: Dash/Apps/AppInfo.qml:85
102#, qt-format
146#, qt-format
103msgid "%1 review"
147msgid "%1 review"
104msgid_plural "%1 reviews"
148msgid_plural "%1 reviews"
105msgstr[0] ""
149msgstr[0] ""
106msgstr[1] ""
150msgstr[1] ""
107
151
108−#: Dash/Apps/AppPreview.qml:181
152+#: Dash/Apps/AppPreview.qml:175
109msgid "Rate this"
153msgid "Rate this"
110msgstr ""
154msgstr ""
111
155
@@ -125,42 +169,6 @@ msgstr ""
125msgid "Comments:"
169msgid "Comments:"
126msgstr ""
170msgstr ""
127
171
128−#: Dash/DashApps.qml:65
129−msgid "Running apps"
130−msgstr ""
131−
132−#: Dash/DashApps.qml:68
133−msgid "Frequently used"
134−msgstr ""
135−
136−#: Dash/DashApps.qml:71
137−msgid "Installed"
138−msgstr ""
139−
140−#: Dash/DashApps.qml:74
141−msgid "Available for download"
142−msgstr ""
143−
144−#: Dash/DashApps.qml:168
145−msgid "Apps"
146−msgstr "Програми"
147−
148−#: Dash/DashHome.qml:41
149−msgid "Frequent Apps"
150−msgstr ""
151−
152−#: Dash/DashHome.qml:44
153−msgid "Recent Music"
154−msgstr ""
155−
156−#: Dash/DashHome.qml:47
157−msgid "Videos Popular Online"
158−msgstr ""
159−
160−#: Dash/DashHome.qml:151
161−msgid "Home"
162−msgstr "Почетна"
163−
164#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
172#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
165msgid "Featured"
173msgid "Featured"
166msgstr ""
174msgstr ""
@@ -201,7 +209,7 @@ msgstr ""
201msgid "Author:"
209msgid "Author:"
202msgstr ""
210msgstr ""
203
211
204−#: Greeter/Lockscreen.qml:133
212+#: Greeter/Lockscreen.qml:134
205msgid "Emergency Call"
213msgid "Emergency Call"
206msgstr ""
214msgstr ""
207
215
@@ -238,11 +246,11 @@ msgstr "Говор..."
238msgid "Search"
246msgid "Search"
239msgstr "Претрага"
247msgstr "Претрага"
240
248
241−#: plugins/Unity/scope.cpp:298
249+#: plugins/Unity/scope.cpp:317
242msgid "Sorry, there is nothing that matches your search."
250msgid "Sorry, there is nothing that matches your search."
243msgstr "Нажалост, претрага није наишла на икакво подударање."
251msgstr "Нажалост, претрага није наишла на икакво подударање."
244
252
245−#: Shell.qml:399
253+#: Shell.qml:429
246#, qt-format
254#, qt-format
247msgid "Please enter %1"
255msgid "Please enter %1"
248msgstr ""
256msgstr ""
po/sv.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\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: Swedish <sv@li.org>\n"
13"Language-Team: Swedish <sv@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr ""
135msgstr ""
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr ""
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr ""
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr ""
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr ""
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr ""
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr ""
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr ""
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr ""
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr ""
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr ""
173msgstr ""
@@ -200,7 +208,7 @@ msgstr ""
200msgid "Author:"
208msgid "Author:"
201msgstr ""
209msgstr ""
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr ""
237msgid "Search"
245msgid "Search"
238msgstr ""
246msgstr ""
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr ""
250msgstr ""
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/te.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-27 09:57+0000\n"
11"PO-Revision-Date: 2013-06-27 09:57+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: Telugu <te@li.org>\n"
13"Language-Team: Telugu <te@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr ""
135msgstr ""
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr ""
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr ""
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr ""
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr ""
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr ""
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr ""
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr ""
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr ""
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr "నివాసం"
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr ""
173msgstr ""
@@ -200,7 +208,7 @@ msgstr ""
200msgid "Author:"
208msgid "Author:"
201msgstr ""
209msgstr ""
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr ""
237msgid "Search"
245msgid "Search"
238msgstr ""
246msgstr ""
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr ""
250msgstr ""
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/tr.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-27 10:08+0000\n"
11"PO-Revision-Date: 2013-06-27 10:08+0000\n"
12"Last-Translator: Adar Cem EREN <adarcemeren34@gmail.com>\n"
12"Last-Translator: Adar Cem EREN <adarcemeren34@gmail.com>\n"
13"Language-Team: Turkish <tr@li.org>\n"
13"Language-Team: Turkish <tr@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr "Vikipedi"
86msgid "YouTube"
86msgid "YouTube"
87msgstr "YouTube"
87msgstr "YouTube"
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr "Son Arananlar"
135msgstr "Son Arananlar"
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr "Çalışan uygulamalar"
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr "Sıkça kullanılanlar"
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr "Yüklenenler"
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr "İndirilebilir durumda"
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr "Uygulamalar"
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr "Sıkça Kullanılan Uygulamalar"
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr "En Son Müzik"
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr "Çevrimiçi Yaygın Videolar"
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr "Ana Sayfa"
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr "Öne Çıkanlar"
173msgstr "Öne Çıkanlar"
@@ -200,7 +208,7 @@ msgstr ""
200msgid "Author:"
208msgid "Author:"
201msgstr "Yazar:"
209msgstr "Yazar:"
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr "Konuşuyor..."
237msgid "Search"
245msgid "Search"
238msgstr "Ara"
246msgstr "Ara"
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr "Üzgünüz, aramanızla eşleşen hiçbir şey yok."
250msgstr "Üzgünüz, aramanızla eşleşen hiçbir şey yok."
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/ug.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-27 11:02+0000\n"
11"PO-Revision-Date: 2013-06-27 11:02+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: Uyghur <ug@li.org>\n"
13"Language-Team: Uyghur <ug@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr "ۋىكىپېدىيە"
86msgid "YouTube"
86msgid "YouTube"
87msgstr "YouTube"
87msgstr "YouTube"
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr "يېقىنقى ئىزدەشلەر"
135msgstr "يېقىنقى ئىزدەشلەر"
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr "ئىجرا بولۇۋاتقان ئەپلەر"
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr "كوپ ئىشلىتىلگەنلىرى"
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr "ئورنىتىلغانلىرى"
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr "چۈشۈرگىلى بولىدىغانلىرى"
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr "ئەپلەر"
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr "دائىم ئىشلىتىلىدىغان ئەپلەر"
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr "يېقىندا ئاڭلىغان مۇزىكىلار"
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr "توردىكى ئالقىشقا ئېرىشكەن سىنلار"
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr "ماكان"
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr "داڭلىق"
173msgstr "داڭلىق"
@@ -200,7 +208,7 @@ msgstr ""
200msgid "Author:"
208msgid "Author:"
201msgstr "ئاپتور:"
209msgstr "ئاپتور:"
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr "سۆزلەۋاتىسىز…"
237msgid "Search"
245msgid "Search"
238msgstr "ئىزدە"
246msgstr "ئىزدە"
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr "كەچۈرۈڭ، ئىزدىگىنىڭىزگە ماس نەتىجە تېپىلمىدى."
250msgstr "كەچۈرۈڭ، ئىزدىگىنىڭىزگە ماس نەتىجە تېپىلمىدى."
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/uk.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-07-21 05:47+0000\n"
11"PO-Revision-Date: 2013-07-21 05:47+0000\n"
12"Last-Translator: Ярослав Смук <Smuk.Slavko@yandex.ua>\n"
12"Last-Translator: Ярослав Смук <Smuk.Slavko@yandex.ua>\n"
13"Language-Team: Ukrainian <uk@li.org>\n"
13"Language-Team: Ukrainian <uk@li.org>\n"
@@ -16,8 +16,8 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
17"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
18"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
19+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
20−"X-Generator: Launchpad (build 16734)\n"
20+"X-Generator: Launchpad (build 16750)\n"
21
21
22#: Applications/applications.js:23
22#: Applications/applications.js:23
23msgid "Phone"
23msgid "Phone"
@@ -87,25 +87,69 @@ msgstr "Вікіпедія"
87msgid "YouTube"
87msgid "YouTube"
88msgstr "YouTube"
88msgstr "YouTube"
89
89
90+#: Components/EdgeDemoOverlay.qml:145
91+msgid "Skip intro"
92+msgstr ""
93+
94+#: Components/EdgeDemo.qml:98
95+msgid "Right edge"
96+msgstr ""
97+
98+#: Components/EdgeDemo.qml:99
99+msgid "Try swiping from the right edge to unlock the phone"
100+msgstr ""
101+
102+#: Components/EdgeDemo.qml:135
103+msgid "Top edge"
104+msgstr ""
105+
106+#: Components/EdgeDemo.qml:136
107+msgid "Try swiping from the top edge to access the indicators"
108+msgstr ""
109+
110+#: Components/EdgeDemo.qml:161
111+msgid "Close"
112+msgstr ""
113+
114+#: Components/EdgeDemo.qml:162
115+msgid "Swipe up again to close the settings screen"
116+msgstr ""
117+
118+#: Components/EdgeDemo.qml:189
119+msgid "Left edge"
120+msgstr ""
121+
122+#: Components/EdgeDemo.qml:190
123+msgid "Swipe from the left to reveal the launcher for quick access to apps"
124+msgstr ""
125+
126+#: Components/EdgeDemo.qml:217
127+msgid "Well done"
128+msgstr ""
129+
130+#: Components/EdgeDemo.qml:218
131+msgid "You have now mastered the edge gestures and can start using the phone"
132+msgstr ""
133+
90#: Components/PageHeader.qml:298
134#: Components/PageHeader.qml:298
91msgid "Recent searches"
135msgid "Recent searches"
92msgstr "Нещодавні пошуки"
136msgstr "Нещодавні пошуки"
93
137
94#. TRANSLATORS: Number of persons who rated this app
138#. TRANSLATORS: Number of persons who rated this app
95−#: Dash/Apps/AppInfo.qml:72
139+#: Dash/Apps/AppInfo.qml:73
96#, qt-format
140#, qt-format
97msgid "(%1)"
141msgid "(%1)"
98msgstr ""
142msgstr ""
99
143
100#. TRANSLATORS: Number of persons who wrote reviews for this app
144#. TRANSLATORS: Number of persons who wrote reviews for this app
101−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
145+#: Dash/Apps/AppInfo.qml:85
102#, qt-format
146#, qt-format
103msgid "%1 review"
147msgid "%1 review"
104msgid_plural "%1 reviews"
148msgid_plural "%1 reviews"
105msgstr[0] ""
149msgstr[0] ""
106msgstr[1] ""
150msgstr[1] ""
107
151
108−#: Dash/Apps/AppPreview.qml:181
152+#: Dash/Apps/AppPreview.qml:175
109msgid "Rate this"
153msgid "Rate this"
110msgstr ""
154msgstr ""
111
155
@@ -125,42 +169,6 @@ msgstr ""
125msgid "Comments:"
169msgid "Comments:"
126msgstr ""
170msgstr ""
127
171
128−#: Dash/DashApps.qml:65
129−msgid "Running apps"
130−msgstr "Запущені програми"
131−
132−#: Dash/DashApps.qml:68
133−msgid "Frequently used"
134−msgstr "Найчастіше використовувані"
135−
136−#: Dash/DashApps.qml:71
137−msgid "Installed"
138−msgstr "Встановлені"
139−
140−#: Dash/DashApps.qml:74
141−msgid "Available for download"
142−msgstr "Доступно до завантаження"
143−
144−#: Dash/DashApps.qml:168
145−msgid "Apps"
146−msgstr "Програми"
147−
148−#: Dash/DashHome.qml:41
149−msgid "Frequent Apps"
150−msgstr "Часто використовувані програми"
151−
152−#: Dash/DashHome.qml:44
153−msgid "Recent Music"
154−msgstr "Нещодавно прослухана музика"
155−
156−#: Dash/DashHome.qml:47
157−msgid "Videos Popular Online"
158−msgstr "Популярні в мережі відео"
159−
160−#: Dash/DashHome.qml:151
161−msgid "Home"
162−msgstr "Домівка"
163−
164#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
172#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
165msgid "Featured"
173msgid "Featured"
166msgstr "Рекомендовані"
174msgstr "Рекомендовані"
@@ -201,7 +209,7 @@ msgstr "Актори:"
201msgid "Author:"
209msgid "Author:"
202msgstr "Автор:"
210msgstr "Автор:"
203
211
204−#: Greeter/Lockscreen.qml:133
212+#: Greeter/Lockscreen.qml:134
205msgid "Emergency Call"
213msgid "Emergency Call"
206msgstr ""
214msgstr ""
207
215
@@ -238,11 +246,11 @@ msgstr "Мовлення…"
238msgid "Search"
246msgid "Search"
239msgstr "Пошук"
247msgstr "Пошук"
240
248
241−#: plugins/Unity/scope.cpp:298
249+#: plugins/Unity/scope.cpp:317
242msgid "Sorry, there is nothing that matches your search."
250msgid "Sorry, there is nothing that matches your search."
243msgstr "Вибачте, для вказаних вами ключових слів нічого не знайдено."
251msgstr "Вибачте, для вказаних вами ключових слів нічого не знайдено."
244
252
245−#: Shell.qml:399
253+#: Shell.qml:429
246#, qt-format
254#, qt-format
247msgid "Please enter %1"
255msgid "Please enter %1"
248msgstr "Будь ласка, введіть %1"
256msgstr "Будь ласка, введіть %1"
po/unity8.pot+51−43
@@ -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: 2013-08-09 12:18+0200\n"
11+"POT-Creation-Date: 2013-08-27 13:36-0400\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"
@@ -86,25 +86,69 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr ""
135msgstr ""
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr ""
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr ""
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr ""
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr ""
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr ""
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr ""
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr ""
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr ""
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr ""
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr ""
173msgstr ""
@@ -200,7 +208,7 @@ msgstr ""
200msgid "Author:"
208msgid "Author:"
201msgstr ""
209msgstr ""
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr ""
237msgid "Search"
245msgid "Search"
238msgstr ""
246msgstr ""
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr ""
250msgstr ""
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/zh_CN.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-27 10:33+0000\n"
11"PO-Revision-Date: 2013-06-27 10:33+0000\n"
12"Last-Translator: Anthony Wong <anthony.wong@canonical.com>\n"
12"Last-Translator: Anthony Wong <anthony.wong@canonical.com>\n"
13"Language-Team: Chinese (Simplified) <zh_CN@li.org>\n"
13"Language-Team: Chinese (Simplified) <zh_CN@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr "维基百科"
86msgid "YouTube"
86msgid "YouTube"
87msgstr "YouTube"
87msgstr "YouTube"
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr "近期搜索"
135msgstr "近期搜索"
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr "正在运行的应用程序"
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr "常用"
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr "已安装"
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr "可供下载"
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr "应用程序"
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr "常用软件"
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr "近期听过的音乐"
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr "热门在线视频"
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr "主页"
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr "推荐"
173msgstr "推荐"
@@ -200,7 +208,7 @@ msgstr "主演:"
200msgid "Author:"
208msgid "Author:"
201msgstr "作者:"
209msgstr "作者:"
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr "讲话中..."
237msgid "Search"
245msgid "Search"
238msgstr "搜索"
246msgstr "搜索"
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr "对不起,没有找到您想要的结果。"
250msgstr "对不起,没有找到您想要的结果。"
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
po/zh_TW.po+53−45
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-09 12:18+0200\n"
10+"POT-Creation-Date: 2013-08-27 13:36-0400\n"
11"PO-Revision-Date: 2013-06-27 10:24+0000\n"
11"PO-Revision-Date: 2013-06-27 10:24+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: Chinese (Traditional) <zh_TW@li.org>\n"
13"Language-Team: Chinese (Traditional) <zh_TW@li.org>\n"
@@ -15,8 +15,8 @@ msgstr ""
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2013-08-22 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
19−"X-Generator: Launchpad (build 16734)\n"
19+"X-Generator: Launchpad (build 16750)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,25 +86,69 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89+#: Components/EdgeDemoOverlay.qml:145
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:98
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:99
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:135
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:136
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:161
110+msgid "Close"
111+msgstr ""
112+
113+#: Components/EdgeDemo.qml:162
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:189
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:190
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:217
126+msgid "Well done"
127+msgstr ""
128+
129+#: Components/EdgeDemo.qml:218
130+msgid "You have now mastered the edge gestures and can start using the phone"
131+msgstr ""
132+
89#: Components/PageHeader.qml:298
133#: Components/PageHeader.qml:298
90msgid "Recent searches"
134msgid "Recent searches"
91msgstr "最近搜尋"
135msgstr "最近搜尋"
92
136
93#. TRANSLATORS: Number of persons who rated this app
137#. TRANSLATORS: Number of persons who rated this app
94−#: Dash/Apps/AppInfo.qml:72
138+#: Dash/Apps/AppInfo.qml:73
95#, qt-format
139#, qt-format
96msgid "(%1)"
140msgid "(%1)"
97msgstr ""
141msgstr ""
98
142
99#. TRANSLATORS: Number of persons who wrote reviews for this app
143#. TRANSLATORS: Number of persons who wrote reviews for this app
100−#: Dash/Apps/AppInfo.qml:84 tests/qmltests/Dash/Apps/tst_AppPreview.qml:115
144+#: Dash/Apps/AppInfo.qml:85
101#, qt-format
145#, qt-format
102msgid "%1 review"
146msgid "%1 review"
103msgid_plural "%1 reviews"
147msgid_plural "%1 reviews"
104msgstr[0] ""
148msgstr[0] ""
105msgstr[1] ""
149msgstr[1] ""
106
150
107−#: Dash/Apps/AppPreview.qml:181
151+#: Dash/Apps/AppPreview.qml:175
108msgid "Rate this"
152msgid "Rate this"
109msgstr ""
153msgstr ""
110
154
@@ -124,42 +168,6 @@ msgstr ""
124msgid "Comments:"
168msgid "Comments:"
125msgstr ""
169msgstr ""
126
170
127−#: Dash/DashApps.qml:65
128−msgid "Running apps"
129−msgstr "執行中的程式"
130−
131−#: Dash/DashApps.qml:68
132−msgid "Frequently used"
133−msgstr "最常使用"
134−
135−#: Dash/DashApps.qml:71
136−msgid "Installed"
137−msgstr "已安裝"
138−
139−#: Dash/DashApps.qml:74
140−msgid "Available for download"
141−msgstr "可供下載"
142−
143−#: Dash/DashApps.qml:168
144−msgid "Apps"
145−msgstr "程式"
146−
147−#: Dash/DashHome.qml:41
148−msgid "Frequent Apps"
149−msgstr "常用的程式"
150−
151−#: Dash/DashHome.qml:44
152−msgid "Recent Music"
153−msgstr "最近聽過的音樂"
154−
155−#: Dash/DashHome.qml:47
156−msgid "Videos Popular Online"
157−msgstr "線上熱門的影片"
158−
159−#: Dash/DashHome.qml:151
160−msgid "Home"
161−msgstr "家屋"
162−
163#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164msgid "Featured"
172msgid "Featured"
165msgstr ""
173msgstr ""
@@ -200,7 +208,7 @@ msgstr ""
200msgid "Author:"
208msgid "Author:"
201msgstr ""
209msgstr ""
202
210
203−#: Greeter/Lockscreen.qml:133
211+#: Greeter/Lockscreen.qml:134
204msgid "Emergency Call"
212msgid "Emergency Call"
205msgstr ""
213msgstr ""
206
214
@@ -237,11 +245,11 @@ msgstr "說話中..."
237msgid "Search"
245msgid "Search"
238msgstr "搜尋"
246msgstr "搜尋"
239
247
240−#: plugins/Unity/scope.cpp:298
248+#: plugins/Unity/scope.cpp:317
241msgid "Sorry, there is nothing that matches your search."
249msgid "Sorry, there is nothing that matches your search."
242msgstr "很抱歉,找不到符合您想搜尋的結果。"
250msgstr "很抱歉,找不到符合您想搜尋的結果。"
243
251
244−#: Shell.qml:399
252+#: Shell.qml:429
245#, qt-format
253#, qt-format
246msgid "Please enter %1"
254msgid "Please enter %1"
247msgstr ""
255msgstr ""
tests/autopilot/unity8/shell/tests/test_lock_screen.py+2
@@ -178,3 +178,5 @@ class TestLockscreen(UnityTestCase):
178 except AssertionError:
178 except AssertionError:
179 if retries > 0:
179 if retries > 0:
180 self._type_character(character, prompt, retries-1)
180 self._type_character(character, prompt, retries-1)
181+ else:
182+ raise
tests/mocks/AccountsService/AccountsService.cppnew file+33
@@ -0,0 +1,33 @@
1+/*
2+ * Copyright (C) 2013 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ *
16+ * Author: Michael Terry <michael.terry@canonical.com>
17+ */
18+
19+#include "AccountsService.h"
20+
21+AccountsService::AccountsService(QObject* parent)
22+ : QObject(parent)
23+{
24+}
25+
26+QVariant AccountsService::getUserProperty(const QString &, const QString &)
27+{
28+ return QVariant(false);
29+}
30+
31+void AccountsService::setUserProperty(const QString &, const QString &, const QVariant &)
32+{
33+}
tests/mocks/AccountsService/AccountsService.hnew file+38
@@ -0,0 +1,38 @@
1+/*
2+ * Copyright (C) 2012,2013 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ *
16+ * Authors: Gerry Boland <gerry.boland@canonical.com>
17+ * Michael Terry <michael.terry@canonical.com>
18+ */
19+
20+#ifndef UNITY_MOCK_ACCOUNTSSERVICE_H
21+#define UNITY_MOCK_ACCOUNTSSERVICE_H
22+
23+#include <QObject>
24+#include <QString>
25+#include <QVariant>
26+
27+class AccountsService: public QObject
28+{
29+ Q_OBJECT
30+
31+public:
32+ explicit AccountsService(QObject *parent = 0);
33+
34+ Q_INVOKABLE QVariant getUserProperty(const QString &user, const QString &property);
35+ Q_INVOKABLE void setUserProperty(const QString &user, const QString &property, const QVariant &value);
36+};
37+
38+#endif
tests/mocks/AccountsService/CMakeLists.txtnew file+19
@@ -0,0 +1,19 @@
1+add_library(MockAccountsService-qml MODULE
2+ AccountsService.cpp
3+ plugin.cpp
4+ )
5+
6+qt5_use_modules(MockAccountsService-qml DBus Qml)
7+
8+# copy files into build directory for shadow builds
9+file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/qmldir"
10+ DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
11+ )
12+
13+install(TARGETS MockAccountsService-qml
14+ DESTINATION ${SHELL_PRIVATE_LIBDIR}/qml/mocks/AccountsService
15+ )
16+
17+install(FILES qmldir
18+ DESTINATION ${SHELL_PRIVATE_LIBDIR}/qml/mocks/AccountsService
19+ )
tests/mocks/AccountsService/plugin.cppnew file+36
@@ -0,0 +1,36 @@
1+/*
2+ * Copyright (C) 2012,2013 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ *
16+ * Authors: Gerry Boland <gerry.boland@canonical.com>
17+ * Michael Terry <michael.terry@canonical.com>
18+ */
19+
20+#include "plugin.h"
21+#include "AccountsService.h"
22+
23+#include <QtQml>
24+
25+static QObject *service_provider(QQmlEngine *engine, QJSEngine *scriptEngine)
26+{
27+ Q_UNUSED(engine)
28+ Q_UNUSED(scriptEngine)
29+ return new AccountsService();
30+}
31+
32+void AccountsServicePlugin::registerTypes(const char *uri)
33+{
34+ Q_ASSERT(uri == QLatin1String("AccountsService"));
35+ qmlRegisterSingletonType<AccountsService>(uri, 0, 1, "AccountsService", service_provider);
36+}
tests/mocks/AccountsService/plugin.hnew file+35
@@ -0,0 +1,35 @@
1+/*
2+ * Copyright (C) 2012,2013 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ *
16+ * Authors: Gerry Boland <gerry.boland@canonical.com>
17+ * Michael Terry <michael.terry@canonical.com>
18+ */
19+
20+#ifndef MOCK_ACCOUNTSSERVICE_PLUGIN_H
21+#define MOCK_ACCOUNTSSERVICE_PLUGIN_H
22+
23+#include <QQmlEngine>
24+#include <QQmlExtensionPlugin>
25+
26+class AccountsServicePlugin : public QQmlExtensionPlugin
27+{
28+ Q_OBJECT
29+ Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
30+
31+public:
32+ void registerTypes(const char *uri);
33+};
34+
35+#endif
tests/mocks/AccountsService/qmldirnew file+2
@@ -0,0 +1,2 @@
1+module AccountsService
2+plugin MockAccountsService-qml
tests/mocks/CMakeLists.txt+1
@@ -1,3 +1,4 @@
1+add_subdirectory(AccountsService)
1add_subdirectory(GSettings.1.0)
2add_subdirectory(GSettings.1.0)
2add_subdirectory(HudClient)
3add_subdirectory(HudClient)
3add_subdirectory(liblightdm)
4add_subdirectory(liblightdm)
tests/mocks/Unity/Launcher/CMakeLists.txt+2
@@ -1,6 +1,8 @@
1include(FindPkgConfig)
1include(FindPkgConfig)
2pkg_check_modules(LAUNCHER_API REQUIRED unity-shell-launcher=2)
2pkg_check_modules(LAUNCHER_API REQUIRED unity-shell-launcher=2)
3
3
4+add_definitions(-DTOP_SRCDIR="${CMAKE_SOURCE_DIR}")
5+
4include_directories(
6include_directories(
5 ${CMAKE_CURRENT_SOURCE_DIR}
7 ${CMAKE_CURRENT_SOURCE_DIR}
6)
8)
tests/mocks/Unity/Launcher/MockLauncherItem.cpp+1−1
@@ -27,7 +27,7 @@ MockLauncherItem::MockLauncherItem(const QString &appId, const QString& desktopF
27 m_appId(appId),
27 m_appId(appId),
28 m_desktopFile(desktopFile),
28 m_desktopFile(desktopFile),
29 m_name(name),
29 m_name(name),
30− m_icon(icon),
30+ m_icon(TOP_SRCDIR "/graphics/applicationIcons/" + icon + ".png"),
31 m_pinned(false),
31 m_pinned(false),
32 m_running(false),
32 m_running(false),
33 m_recent(false),
33 m_recent(false),
tests/plugins/AccountsService/AccountsServer.cppnew file+35
@@ -0,0 +1,35 @@
1+/*
2+ * Copyright 2013 Canonical Ltd.
3+ *
4+ * This program is free software: you can redistribute it and/or modify it
5+ * under the terms of the GNU General Public License version 3, as published
6+ * by the Free Software Foundation.
7+ *
8+ * This program is distributed in the hope that it will be useful, but
9+ * WITHOUT ANY WARRANTY; without even the implied warranties of
10+ * MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR
11+ * PURPOSE. See the GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * version 3 along with this program. If not, see
15+ * <http://www.gnu.org/licenses/>
16+ *
17+ * Authored by: Michael Terry <michael.terry@canonical.com>
18+ */
19+
20+#include "AccountsServer.h"
21+
22+AccountsServer::AccountsServer(QObject *parent)
23+ : QObject(parent)
24+{
25+}
26+
27+QDBusObjectPath AccountsServer::FindUserByName(const QString &user)
28+{
29+ if (user == "testuser") {
30+ return QDBusObjectPath("/user");
31+ } else {
32+ sendErrorReply(QDBusError::InvalidArgs, "Bad user");
33+ return QDBusObjectPath("/");
34+ }
35+}
tests/plugins/AccountsService/AccountsServer.hnew file+39
@@ -0,0 +1,39 @@
1+/*
2+ * Copyright 2013 Canonical Ltd.
3+ *
4+ * This program is free software: you can redistribute it and/or modify it
5+ * under the terms of the GNU General Public License version 3, as published
6+ * by the Free Software Foundation.
7+ *
8+ * This program is distributed in the hope that it will be useful, but
9+ * WITHOUT ANY WARRANTY; without even the implied warranties of
10+ * MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR
11+ * PURPOSE. See the GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * version 3 along with this program. If not, see
15+ * <http://www.gnu.org/licenses/>
16+ *
17+ * Authored by: Michael Terry <michael.terry@canonical.com>
18+ */
19+
20+#ifndef UNITY_ACCOUNTSSERVER_H
21+#define UNITY_ACCOUNTSSERVER_H
22+
23+#include <QDBusContext>
24+#include <QDBusObjectPath>
25+#include <QObject>
26+#include <QString>
27+
28+class AccountsServer: public QObject, protected QDBusContext
29+{
30+ Q_OBJECT
31+
32+public:
33+ explicit AccountsServer(QObject *parent = 0);
34+
35+public Q_SLOTS:
36+ QDBusObjectPath FindUserByName(const QString &user);
37+};
38+
39+#endif
tests/plugins/AccountsService/CMakeLists.txtnew file+40
@@ -0,0 +1,40 @@
1+macro(make_dbus_class NAME INTERFACE)
2+ if(${CMAKE_CURRENT_SOURCE_DIR}/interfaces.xml IS_NEWER_THAN ${CMAKE_CURRENT_BINARY_DIR}/${NAME}Adaptor.h)
3+ execute_process(COMMAND qdbusxml2cpp -c ${NAME}Adaptor -a ${CMAKE_CURRENT_BINARY_DIR}/${NAME}Adaptor ${CMAKE_CURRENT_SOURCE_DIR}/interfaces.xml ${INTERFACE})
4+ endif()
5+endmacro(make_dbus_class)
6+
7+make_dbus_class(Accounts org.freedesktop.Accounts)
8+make_dbus_class(Properties org.freedesktop.DBus.Properties)
9+
10+include_directories(
11+ ${CMAKE_CURRENT_BINARY_DIR}
12+ ${CMAKE_SOURCE_DIR}/plugins/AccountsService
13+ )
14+
15+add_definitions(-DSM_BUSNAME=sessionBus)
16+
17+add_executable(mock-server
18+ ${CMAKE_CURRENT_BINARY_DIR}/AccountsAdaptor.cpp
19+ ${CMAKE_CURRENT_BINARY_DIR}/PropertiesAdaptor.cpp
20+ server.cpp
21+ AccountsServer.cpp
22+ PropertiesServer.cpp
23+ )
24+qt5_use_modules(mock-server Core DBus)
25+
26+add_executable(test-accountsservice
27+ ${CMAKE_SOURCE_DIR}/plugins/AccountsService/AccountsService.cpp
28+ client.cpp
29+ )
30+qt5_use_modules(test-accountsservice Core DBus Test)
31+
32+add_test(NAME test-accountsservice
33+ COMMAND dbus-test-runner
34+ --task ${CMAKE_CURRENT_BINARY_DIR}/mock-server
35+ --task-name server
36+ --ignore-return
37+ --task ${CMAKE_CURRENT_BINARY_DIR}/test-accountsservice
38+ --task-name client
39+ --wait-for org.freedesktop.Accounts
40+ )
tests/plugins/AccountsService/PropertiesServer.cppnew file+45
@@ -0,0 +1,45 @@
1+/*
2+ * Copyright 2013 Canonical Ltd.
3+ *
4+ * This program is free software: you can redistribute it and/or modify it
5+ * under the terms of the GNU General Public License version 3, as published
6+ * by the Free Software Foundation.
7+ *
8+ * This program is distributed in the hope that it will be useful, but
9+ * WITHOUT ANY WARRANTY; without even the implied warranties of
10+ * MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR
11+ * PURPOSE. See the GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * version 3 along with this program. If not, see
15+ * <http://www.gnu.org/licenses/>
16+ *
17+ * Authored by: Michael Terry <michael.terry@canonical.com>
18+ */
19+
20+#include "PropertiesServer.h"
21+
22+PropertiesServer::PropertiesServer(QObject *parent)
23+ : QObject(parent),
24+ edge_demo(true)
25+{
26+}
27+
28+QDBusVariant PropertiesServer::Get(const QString &interface, const QString &property)
29+{
30+ if (interface == "com.canonical.unity.AccountsService" && property == "demo-edges") {
31+ return QDBusVariant(QVariant(edge_demo));
32+ } else {
33+ sendErrorReply(QDBusError::InvalidArgs, "Bad interface or property");
34+ return QDBusVariant(QVariant());
35+ }
36+}
37+
38+void PropertiesServer::Set(const QString &interface, const QString &property, const QDBusVariant &variant)
39+{
40+ if (interface == "com.canonical.unity.AccountsService" && property == "demo-edges") {
41+ edge_demo = variant.variant().toBool();
42+ } else {
43+ sendErrorReply(QDBusError::InvalidArgs, "Bad interface or property");
44+ }
45+}
tests/plugins/AccountsService/PropertiesServer.hnew file+44
@@ -0,0 +1,44 @@
1+/*
2+ * Copyright 2013 Canonical Ltd.
3+ *
4+ * This program is free software: you can redistribute it and/or modify it
5+ * under the terms of the GNU General Public License version 3, as published
6+ * by the Free Software Foundation.
7+ *
8+ * This program is distributed in the hope that it will be useful, but
9+ * WITHOUT ANY WARRANTY; without even the implied warranties of
10+ * MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR
11+ * PURPOSE. See the GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * version 3 along with this program. If not, see
15+ * <http://www.gnu.org/licenses/>
16+ *
17+ * Authored by: Michael Terry <michael.terry@canonical.com>
18+ */
19+
20+#ifndef UNITY_PROPERTIESSERVER_H
21+#define UNITY_PROPERTIESSERVER_H
22+
23+#include "PropertiesServer.h"
24+#include <QDBusContext>
25+#include <QDBusVariant>
26+#include <QObject>
27+#include <QString>
28+
29+class PropertiesServer: public QObject, protected QDBusContext
30+{
31+ Q_OBJECT
32+
33+public:
34+ explicit PropertiesServer(QObject *parent = 0);
35+
36+public Q_SLOTS:
37+ QDBusVariant Get(const QString &interface, const QString &property);
38+ void Set(const QString &interface, const QString &property, const QDBusVariant &variant);
39+
40+private:
41+ bool edge_demo;
42+};
43+
44+#endif
tests/plugins/AccountsService/client.cppnew file+49
@@ -0,0 +1,49 @@
1+/*
2+ * Copyright 2013 Canonical Ltd.
3+ *
4+ * This program is free software: you can redistribute it and/or modify it
5+ * under the terms of the GNU General Public License version 3, as published
6+ * by the Free Software Foundation.
7+ *
8+ * This program is distributed in the hope that it will be useful, but
9+ * WITHOUT ANY WARRANTY; without even the implied warranties of
10+ * MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR
11+ * PURPOSE. See the GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * version 3 along with this program. If not, see
15+ * <http://www.gnu.org/licenses/>
16+ *
17+ * Authored by: Michael Terry <michael.terry@canonical.com>
18+ */
19+
20+#include "AccountsService.h"
21+#include <QSignalSpy>
22+#include <QTest>
23+
24+class AccountsServiceTest : public QObject
25+{
26+ Q_OBJECT
27+
28+private Q_SLOTS:
29+
30+ void testInvalids()
31+ {
32+ // Test various invalid calls
33+ AccountsService session;
34+ QCOMPARE(session.getUserProperty("NOPE", "demo-edges"), QVariant());
35+ QCOMPARE(session.getUserProperty("testuser", "NOPE"), QVariant());
36+ }
37+
38+ void testGetSet()
39+ {
40+ AccountsService session;
41+ QCOMPARE(session.getUserProperty("testuser", "demo-edges"), QVariant(true));
42+ session.setUserProperty("testuser", "demo-edges", QVariant(false));
43+ QCOMPARE(session.getUserProperty("testuser", "demo-edges"), QVariant(false));
44+ }
45+};
46+
47+QTEST_MAIN(AccountsServiceTest)
48+
49+#include "client.moc"
tests/plugins/AccountsService/interfaces.xmlnew file+20
@@ -0,0 +1,20 @@
1+<node>
2+ <interface name="org.freedesktop.DBus.Properties">
3+ <method name="Get">
4+ <arg name="interface" type="s" direction="in" />
5+ <arg name="property" type="s" direction="in" />
6+ <arg name="value" type="v" direction="out" />
7+ </method>
8+ <method name="Set">
9+ <arg name="interface" type="s" direction="in" />
10+ <arg name="property" type="s" direction="in" />
11+ <arg name="value" type="v" direction="in" />
12+ </method>
13+ </interface>
14+ <interface name="org.freedesktop.Accounts">
15+ <method name="FindUserByName">
16+ <arg name="user" type="s" direction="in" />
17+ <arg name="path" type="o" direction="out" />
18+ </method>
19+ </interface>
20+</node>
tests/plugins/AccountsService/server.cppnew file+46
@@ -0,0 +1,46 @@
1+/*
2+ * Copyright 2013 Canonical Ltd.
3+ *
4+ * This program is free software: you can redistribute it and/or modify it
5+ * under the terms of the GNU General Public License version 3, as published
6+ * by the Free Software Foundation.
7+ *
8+ * This program is distributed in the hope that it will be useful, but
9+ * WITHOUT ANY WARRANTY; without even the implied warranties of
10+ * MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR
11+ * PURPOSE. See the GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * version 3 along with this program. If not, see
15+ * <http://www.gnu.org/licenses/>
16+ *
17+ * Authored by: Michael Terry <michael.terry@canonical.com>
18+ */
19+
20+#include "AccountsAdaptor.h"
21+#include "AccountsServer.h"
22+#include "PropertiesAdaptor.h"
23+#include "PropertiesServer.h"
24+#include <QCoreApplication>
25+
26+int main(int argc, char *argv[])
27+{
28+ QCoreApplication a(argc, argv);
29+
30+ auto accounts = new AccountsServer();
31+ new AccountsAdaptor(accounts);
32+
33+ auto props = new PropertiesServer();
34+ new PropertiesAdaptor(props);
35+
36+ // We use the session bus for testing. The real plugin uses the system bus
37+ auto connection = QDBusConnection::sessionBus();
38+ if (!connection.registerObject("/org/freedesktop/Accounts", accounts))
39+ return 1;
40+ if (!connection.registerObject("/user", props))
41+ return 1;
42+ if (!connection.registerService("org.freedesktop.Accounts"))
43+ return 1;
44+
45+ return a.exec();
46+}
tests/plugins/CMakeLists.txt+3−2
@@ -1,5 +1,6 @@
1+add_subdirectory(AccountsService)
2+add_subdirectory(ListViewWithPageHeader)
1add_subdirectory(SessionManager)
3add_subdirectory(SessionManager)
2−add_subdirectory(Utils)
3add_subdirectory(Ubuntu)
4add_subdirectory(Ubuntu)
4add_subdirectory(Unity)
5add_subdirectory(Unity)
5−add_subdirectory(ListViewWithPageHeader)
6+add_subdirectory(Utils)
tests/plugins/Unity/CMakeLists.txt+1
@@ -1,4 +1,5 @@
1add_subdirectory(Indicators)
1add_subdirectory(Indicators)
2+add_subdirectory(Launcher)
2
3
3pkg_check_modules(UNITYCORE REQUIRED unity-core-6.0)
4pkg_check_modules(UNITYCORE REQUIRED unity-core-6.0)
4pkg_check_modules(LIBUNITYPROTO REQUIRED unity-protocol-private)
5pkg_check_modules(LIBUNITYPROTO REQUIRED unity-protocol-private)
tests/plugins/Unity/Launcher/CMakeLists.txtnew file+22
@@ -0,0 +1,22 @@
1+include_directories(
2+ ${CMAKE_CURRENT_BINARY_DIR}
3+ ${CMAKE_SOURCE_DIR}/plugins/AccountsService
4+ ${CMAKE_SOURCE_DIR}/plugins/Unity/Launcher
5+ ${CMAKE_SOURCE_DIR}/plugins/Unity/Launcher/backend
6+ )
7+
8+add_definitions(-DSM_BUSNAME=sessionBus)
9+add_definitions(-DSRCDIR="${CMAKE_CURRENT_SOURCE_DIR}")
10+
11+set(testCommand ${CMAKE_CURRENT_BINARY_DIR}/launcherbackendtestExec
12+ -o ${CMAKE_BINARY_DIR}/launcherbackendtest.xml,xunitxml
13+ -o -,txt)
14+add_test(NAME launcherbackendtest COMMAND ${testCommand})
15+add_custom_target(launcherbackendtest ${testCommand})
16+add_executable(launcherbackendtestExec
17+ launcherbackendtest.cpp
18+ ${CMAKE_SOURCE_DIR}/plugins/AccountsService/AccountsService.cpp
19+ ${CMAKE_SOURCE_DIR}/plugins/Unity/Launcher/backend/launcherbackend.cpp
20+ ${CMAKE_SOURCE_DIR}/plugins/Unity/Launcher/common/quicklistentry.cpp
21+ )
22+qt5_use_modules(launcherbackendtestExec Test Core DBus)
tests/plugins/Unity/Launcher/abs-icon.desktopnew file+3
@@ -0,0 +1,3 @@
1+[Desktop Entry]
2+Name=Absolute Icon
3+Icon=/path/to/icon.png
tests/plugins/Unity/Launcher/launcherbackendtest.cppnew file+94
@@ -0,0 +1,94 @@
1+/*
2+ * Copyright 2013 Canonical Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU Lesser General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ *
16+ * Authors:
17+ * Michael Terry <michael.terry@canonical.com>
18+ */
19+
20+#include "launcherbackend.h"
21+
22+#include <QtTest>
23+#include <QDebug>
24+
25+class LauncherBackendTest : public QObject
26+{
27+ Q_OBJECT
28+
29+private Q_SLOTS:
30+ void testFileNames()
31+ {
32+ LauncherBackend backend(false);
33+
34+ backend.setStoredApplications(QStringList() << "relative.path" << "/full/path");
35+ QCOMPARE(backend.storedApplications(), QStringList() << "/usr/share/applications/relative.path" << "/full/path");
36+
37+ QCOMPARE(backend.desktopFile("one.desktop"), QString("/usr/share/applications/one.desktop"));
38+ QCOMPARE(backend.desktopFile("two"), QString("/usr/share/applications/two"));
39+ QCOMPARE(backend.desktopFile("/full"), QString("/full"));
40+
41+ QCOMPARE(backend.desktopFile("/usr/share/applications/one.desktop"), QString("/usr/share/applications/one.desktop"));
42+ }
43+
44+ void testDesktopReading()
45+ {
46+ LauncherBackend backend(false);
47+
48+ QCOMPARE(backend.displayName(SRCDIR "/rel-icon.desktop"), QString("Relative Icon"));
49+ QCOMPARE(backend.icon(SRCDIR "/rel-icon.desktop"), QString("image://gicon/rel-icon"));
50+
51+ QCOMPARE(backend.displayName(SRCDIR "/abs-icon.desktop"), QString("Absolute Icon"));
52+ QCOMPARE(backend.icon(SRCDIR "/abs-icon.desktop"), QString("/path/to/icon.png"));
53+
54+ QCOMPARE(backend.displayName(SRCDIR "/no-icon.desktop"), QString("No Icon"));
55+ QCOMPARE(backend.icon(SRCDIR "/no-icon.desktop"), QString(""));
56+
57+ QCOMPARE(backend.displayName(SRCDIR "/no-name.desktop"), QString(""));
58+ QCOMPARE(backend.icon(SRCDIR "/no-name.desktop"), QString("image://gicon/no-name"));
59+
60+ QCOMPARE(backend.displayName(SRCDIR "/no-exist.desktop"), QString(""));
61+ QCOMPARE(backend.icon(SRCDIR "/no-exist.desktop"), QString(""));
62+ }
63+
64+ void testPinning()
65+ {
66+ LauncherBackend backend(false);
67+
68+ // Confirm that default entries are all pinned
69+ auto defaultApps = backend.storedApplications();
70+ QVERIFY(defaultApps.size() > 0);
71+ for (auto app: defaultApps) {
72+ QCOMPARE(backend.isPinned(app), true);
73+ }
74+
75+ backend.setStoredApplications(QStringList() << "one" << "two");
76+ QCOMPARE(backend.isPinned("one"), false);
77+ QCOMPARE(backend.isPinned("two"), false);
78+
79+ backend.setPinned("two", true);
80+ QCOMPARE(backend.isPinned("two"), true);
81+
82+ backend.setStoredApplications(QStringList() << "one" << "two" << "three");
83+ QCOMPARE(backend.isPinned("two"), true);
84+ QCOMPARE(backend.isPinned("three"), false);
85+
86+ backend.setPinned("three", true);
87+ backend.setStoredApplications(QStringList() << "one" << "two");
88+ QCOMPARE(backend.isPinned("two"), true);
89+ QCOMPARE(backend.isPinned("three"), false); // doesn't exist anymore!
90+ }
91+};
92+
93+QTEST_GUILESS_MAIN(LauncherBackendTest)
94+#include "launcherbackendtest.moc"
tests/plugins/Unity/Launcher/no-icon.desktopnew file+2
@@ -0,0 +1,2 @@
1+[Desktop Entry]
2+Name=No Icon
tests/plugins/Unity/Launcher/no-name.desktopnew file+2
@@ -0,0 +1,2 @@
1+[Desktop Entry]
2+Icon=no-name
tests/plugins/Unity/Launcher/rel-icon.desktopnew file+3
@@ -0,0 +1,3 @@
1+[Desktop Entry]
2+Name=Relative Icon
3+Icon=rel-icon
tests/plugins/Unity/filtersbindingstest.cpp+61−30
@@ -65,17 +65,17 @@ DeeModel* FiltersBindingsTest::createFilterModel()
65
65
66void FiltersBindingsTest::createMultiRangeFilter(DeeModel *model, const std::string &id, const std::string &name, int optionCount)
66void FiltersBindingsTest::createMultiRangeFilter(DeeModel *model, const std::string &id, const std::string &name, int optionCount)
67{
67{
68− createFilter(model, "filter-multirange", id, name, optionCount);
68+ createFilter(model, "filter-multirange", id, name, optionCount, true);
69}
69}
70
70
71void FiltersBindingsTest::createRadioOptionFilter(DeeModel *model, const std::string &id, const std::string &name, int optionCount)
71void FiltersBindingsTest::createRadioOptionFilter(DeeModel *model, const std::string &id, const std::string &name, int optionCount)
72{
72{
73− createFilter(model, "filter-radiooption", id, name, optionCount);
73+ createFilter(model, "filter-radiooption", id, name, optionCount, true);
74}
74}
75
75
76void FiltersBindingsTest::createCheckOptionFilter(DeeModel *model, const std::string &id, const std::string &name, int optionCount)
76void FiltersBindingsTest::createCheckOptionFilter(DeeModel *model, const std::string &id, const std::string &name, int optionCount)
77{
77{
78− createFilter(model, "filter-checkoption", id, name, optionCount);
78+ createFilter(model, "filter-checkoption", id, name, optionCount, true);
79}
79}
80
80
81void FiltersBindingsTest::createRatingsFilter(DeeModel *model, const std::string &id, const std::string &name)
81void FiltersBindingsTest::createRatingsFilter(DeeModel *model, const std::string &id, const std::string &name)
@@ -90,7 +90,7 @@ void FiltersBindingsTest::createRatingsFilter(DeeModel *model, const std::string
90 GVariant *children[2];
90 GVariant *children[2];
91 GVariant *key1 = g_variant_new_string("show-all-button");
91 GVariant *key1 = g_variant_new_string("show-all-button");
92 GVariant *key2 = g_variant_new_string("rating");
92 GVariant *key2 = g_variant_new_string("rating");
93− children[0] = g_variant_new_dict_entry(key1, g_variant_new_variant(g_variant_new_boolean(false)));
93+ children[0] = g_variant_new_dict_entry(key1, g_variant_new_variant(g_variant_new_boolean(true)));
94 children[1] = g_variant_new_dict_entry(key2, g_variant_new_variant(g_variant_new_double(0.0f)));
94 children[1] = g_variant_new_dict_entry(key2, g_variant_new_variant(g_variant_new_double(0.0f)));
95 auto fhints = g_variant_new_array(G_VARIANT_TYPE("{sv}"), children, 2);
95 auto fhints = g_variant_new_array(G_VARIANT_TYPE("{sv}"), children, 2);
96
96
@@ -102,7 +102,7 @@ void FiltersBindingsTest::createRatingsFilter(DeeModel *model, const std::string
102 dee_model_append_row(model, row);
102 dee_model_append_row(model, row);
103}
103}
104
104
105−void FiltersBindingsTest::createFilter(DeeModel *model, const std::string &renderer, const std::string &id, const std::string &name, int optionCount)
105+void FiltersBindingsTest::createFilter(DeeModel *model, const std::string &renderer, const std::string &id, const std::string &name, int optionCount, bool showAll)
106{
106{
107 GVariant* row[8];
107 GVariant* row[8];
108
108
@@ -114,7 +114,7 @@ void FiltersBindingsTest::createFilter(DeeModel *model, const std::string &rende
114 GVariant *children[2];
114 GVariant *children[2];
115 GVariant *key1 = g_variant_new_string("show-all-button");
115 GVariant *key1 = g_variant_new_string("show-all-button");
116 GVariant *key2 = g_variant_new_string("options");
116 GVariant *key2 = g_variant_new_string("options");
117− children[0] = g_variant_new_dict_entry(key1, g_variant_new_variant(g_variant_new_boolean(false)));
117+ children[0] = g_variant_new_dict_entry(key1, g_variant_new_variant(g_variant_new_boolean(showAll)));
118 children[1] = g_variant_new_dict_entry(key2, g_variant_new_variant(createOptions(optionCount)));
118 children[1] = g_variant_new_dict_entry(key2, g_variant_new_variant(createOptions(optionCount)));
119 auto fhints = g_variant_new_array(G_VARIANT_TYPE("{sv}"), children, 2);
119 auto fhints = g_variant_new_array(G_VARIANT_TYPE("{sv}"), children, 2);
120
120
@@ -143,9 +143,9 @@ void FiltersBindingsTest::testMultiRangeFilter()
143 auto multi_filter = dynamic_cast<MultiRangeFilter*>(bind_filter);
143 auto multi_filter = dynamic_cast<MultiRangeFilter*>(bind_filter);
144 QVERIFY(multi_filter != nullptr);
144 QVERIFY(multi_filter != nullptr);
145 auto options = multi_filter->options();
145 auto options = multi_filter->options();
146− QCOMPARE(options->rowCount(), 1);
146+ QCOMPARE(options->rowCount(), 2);
147
147
148− auto idx = options->index(0);
148+ auto idx = options->index(1);
149 QVariant id_var = options->data(idx, GenericOptionsModel::RoleId);
149 QVariant id_var = options->data(idx, GenericOptionsModel::RoleId);
150 QVariant name_var = options->data(idx, GenericOptionsModel::RoleName);
150 QVariant name_var = options->data(idx, GenericOptionsModel::RoleName);
151 QVariant icon_var = options->data(idx, GenericOptionsModel::RoleIconHint);
151 QVariant icon_var = options->data(idx, GenericOptionsModel::RoleIconHint);
@@ -168,9 +168,9 @@ void FiltersBindingsTest::testMultiRangeFilter()
168 auto multi_filter = dynamic_cast<MultiRangeFilter*>(bind_filter);
168 auto multi_filter = dynamic_cast<MultiRangeFilter*>(bind_filter);
169 QVERIFY(multi_filter != nullptr);
169 QVERIFY(multi_filter != nullptr);
170 auto options = multi_filter->options();
170 auto options = multi_filter->options();
171− QCOMPARE(options->rowCount(), 2);
171+ QCOMPARE(options->rowCount(), 3);
172
172
173− auto idx = options->index(0);
173+ auto idx = options->index(1);
174 QVariant id_var = options->data(idx, GenericOptionsModel::RoleId);
174 QVariant id_var = options->data(idx, GenericOptionsModel::RoleId);
175 QVariant name_var = options->data(idx, GenericOptionsModel::RoleName);
175 QVariant name_var = options->data(idx, GenericOptionsModel::RoleName);
176 QVariant icon_var = options->data(idx, GenericOptionsModel::RoleIconHint);
176 QVariant icon_var = options->data(idx, GenericOptionsModel::RoleIconHint);
@@ -181,10 +181,10 @@ void FiltersBindingsTest::testMultiRangeFilter()
181 QCOMPARE(icon_var.toString(), QString(""));
181 QCOMPARE(icon_var.toString(), QString(""));
182 QCOMPARE(active_var.toBool(), false);
182 QCOMPARE(active_var.toBool(), false);
183
183
184− AbstractFilterOption* opt1 = options->getRawOption(0);
184+ AbstractFilterOption* opt1 = options->getRawOption(1);
185 QCOMPARE(opt1->id(), QString("opt0"));
185 QCOMPARE(opt1->id(), QString("opt0"));
186
186
187− AbstractFilterOption* opt2 = options->getRawOption(1);
187+ AbstractFilterOption* opt2 = options->getRawOption(2);
188 QCOMPARE(opt2->id(), QString("opt1"));
188 QCOMPARE(opt2->id(), QString("opt1"));
189
189
190 delete multi_filter;
190 delete multi_filter;
@@ -199,18 +199,21 @@ void FiltersBindingsTest::testMultiRangeFilter()
199 auto multi_filter = dynamic_cast<MultiRangeFilter*>(bind_filter);
199 auto multi_filter = dynamic_cast<MultiRangeFilter*>(bind_filter);
200 QVERIFY(multi_filter != nullptr);
200 QVERIFY(multi_filter != nullptr);
201 auto options = multi_filter->options();
201 auto options = multi_filter->options();
202− QCOMPARE(options->rowCount(), 3);
202+ QCOMPARE(options->rowCount(), 4);
203+
204+ AbstractFilterOption* showAll = options->getRawOption(0);
205+ QVERIFY(showAll->id().startsWith("show_all::"));
203
206
204− AbstractFilterOption* opt0 = options->getRawOption(0);
207+ AbstractFilterOption* opt0 = options->getRawOption(1);
205 QCOMPARE(opt0->id(), QString("opt0"));
208 QCOMPARE(opt0->id(), QString("opt0"));
206
209
207− AbstractFilterOption* opt1 = options->getRawOption(1);
210+ AbstractFilterOption* opt1 = options->getRawOption(2);
208 QCOMPARE(opt1->id(), QString("opt1"));
211 QCOMPARE(opt1->id(), QString("opt1"));
209
212
210− AbstractFilterOption* opt2 = options->getRawOption(2);
213+ AbstractFilterOption* opt2 = options->getRawOption(3);
211 QCOMPARE(opt2->id(), QString("opt2"));
214 QCOMPARE(opt2->id(), QString("opt2"));
212
215
213− // verify combined filter options are bound to correct underlying unity options
216+ // verify filter options are bound to correct underlying unity options
214 auto core_multi_filter = std::dynamic_pointer_cast<unity::dash::MultiRangeFilter>(core_filter);
217 auto core_multi_filter = std::dynamic_pointer_cast<unity::dash::MultiRangeFilter>(core_filter);
215 QCOMPARE(QString::fromStdString(core_multi_filter->options()[0]->id()), QString("opt0"));
218 QCOMPARE(QString::fromStdString(core_multi_filter->options()[0]->id()), QString("opt0"));
216 QCOMPARE(QString::fromStdString(core_multi_filter->options()[1]->id()), QString("opt1"));
219 QCOMPARE(QString::fromStdString(core_multi_filter->options()[1]->id()), QString("opt1"));
@@ -274,7 +277,7 @@ void FiltersBindingsTest::testCheckOptionFilter()
274 auto check_filter = dynamic_cast<CheckOptionFilter*>(bind_filter);
277 auto check_filter = dynamic_cast<CheckOptionFilter*>(bind_filter);
275 QVERIFY(check_filter != nullptr);
278 QVERIFY(check_filter != nullptr);
276 auto options = check_filter->options();
279 auto options = check_filter->options();
277− QCOMPARE(options->rowCount(), 3);
280+ QCOMPARE(options->rowCount(), 4);
278
281
279 QCOMPARE(check_filter->id(), QString("f1"));
282 QCOMPARE(check_filter->id(), QString("f1"));
280 QCOMPARE(check_filter->name(), QString("Filter1"));
283 QCOMPARE(check_filter->name(), QString("Filter1"));
@@ -284,7 +287,7 @@ void FiltersBindingsTest::testCheckOptionFilter()
284 QCOMPARE(check_filter->collapsed(), false);
287 QCOMPARE(check_filter->collapsed(), false);
285 QCOMPARE(check_filter->filtering(), false);
288 QCOMPARE(check_filter->filtering(), false);
286
289
287− auto idx = options->index(0);
290+ auto idx = options->index(1);
288 QVariant id_var = options->data(idx, GenericOptionsModel::RoleId);
291 QVariant id_var = options->data(idx, GenericOptionsModel::RoleId);
289 QVariant name_var = options->data(idx, GenericOptionsModel::RoleName);
292 QVariant name_var = options->data(idx, GenericOptionsModel::RoleName);
290 QVariant icon_var = options->data(idx, GenericOptionsModel::RoleIconHint);
293 QVariant icon_var = options->data(idx, GenericOptionsModel::RoleIconHint);
@@ -295,7 +298,7 @@ void FiltersBindingsTest::testCheckOptionFilter()
295 QCOMPARE(icon_var.toString(), QString(""));
298 QCOMPARE(icon_var.toString(), QString(""));
296 QCOMPARE(active_var.toBool(), false);
299 QCOMPARE(active_var.toBool(), false);
297
300
298− idx = options->index(1);
301+ idx = options->index(2);
299 id_var = options->data(idx, GenericOptionsModel::RoleId);
302 id_var = options->data(idx, GenericOptionsModel::RoleId);
300 name_var = options->data(idx, GenericOptionsModel::RoleName);
303 name_var = options->data(idx, GenericOptionsModel::RoleName);
301 icon_var = options->data(idx, GenericOptionsModel::RoleIconHint);
304 icon_var = options->data(idx, GenericOptionsModel::RoleIconHint);
@@ -306,38 +309,55 @@ void FiltersBindingsTest::testCheckOptionFilter()
306 QCOMPARE(icon_var.toString(), QString(""));
309 QCOMPARE(icon_var.toString(), QString(""));
307 QCOMPARE(active_var.toBool(), false);
310 QCOMPARE(active_var.toBool(), false);
308
311
312+ AbstractFilterOption* showAll = options->getRawOption(0);
309− AbstractFilterOption* opt0 = options->getRawOption(0);
313+ AbstractFilterOption* opt0 = options->getRawOption(1);
310− AbstractFilterOption* opt1 = options->getRawOption(1);
314+ AbstractFilterOption* opt1 = options->getRawOption(2);
311− AbstractFilterOption* opt2 = options->getRawOption(2);
315+ AbstractFilterOption* opt2 = options->getRawOption(3);
312
316
317+ QSignalSpy showAllSpy(showAll, SIGNAL(activeChanged(bool)));
313 QSignalSpy opt0spy(opt0, SIGNAL(activeChanged(bool)));
318 QSignalSpy opt0spy(opt0, SIGNAL(activeChanged(bool)));
314 QSignalSpy opt1spy(opt1, SIGNAL(activeChanged(bool)));
319 QSignalSpy opt1spy(opt1, SIGNAL(activeChanged(bool)));
315 QSignalSpy opt2spy(opt2, SIGNAL(activeChanged(bool)));
320 QSignalSpy opt2spy(opt2, SIGNAL(activeChanged(bool)));
316 QSignalSpy dataChangedSpy(options, SIGNAL(dataChanged(const QModelIndex&, const QModelIndex&, const QVector<int>&)));
321 QSignalSpy dataChangedSpy(options, SIGNAL(dataChanged(const QModelIndex&, const QModelIndex&, const QVector<int>&)));
317
322
318 // test active property changes
323 // test active property changes
324+ QCOMPARE(showAll->active(), false);
319 QCOMPARE(opt0->active(), false);
325 QCOMPARE(opt0->active(), false);
320 QCOMPARE(opt1->active(), false);
326 QCOMPARE(opt1->active(), false);
321 QCOMPARE(opt2->active(), false);
327 QCOMPARE(opt2->active(), false);
322
328
323 opt0->setActive(true);
329 opt0->setActive(true);
330+ QCOMPARE(showAllSpy.count(), 0);
324 QCOMPARE(opt0spy.count(), 1);
331 QCOMPARE(opt0spy.count(), 1);
325 QCOMPARE(opt1spy.count(), 0);
332 QCOMPARE(opt1spy.count(), 0);
326 QCOMPARE(opt2spy.count(), 0);
333 QCOMPARE(opt2spy.count(), 0);
334+ QCOMPARE(showAll->active(), false);
327 QCOMPARE(opt0->active(), true);
335 QCOMPARE(opt0->active(), true);
328 QCOMPARE(opt1->active(), false);
336 QCOMPARE(opt1->active(), false);
329 QCOMPARE(opt2->active(), false);
337 QCOMPARE(opt2->active(), false);
330
338
331 opt1->setActive(true);
339 opt1->setActive(true);
340+ QCOMPARE(showAllSpy.count(), 0);
332 QCOMPARE(opt0spy.count(), 2);
341 QCOMPARE(opt0spy.count(), 2);
333 QCOMPARE(opt1spy.count(), 1);
342 QCOMPARE(opt1spy.count(), 1);
334 QCOMPARE(opt2spy.count(), 0);
343 QCOMPARE(opt2spy.count(), 0);
344+ QCOMPARE(showAll->active(), false);
335 QCOMPARE(opt0->active(), false);
345 QCOMPARE(opt0->active(), false);
336 QCOMPARE(opt1->active(), true);
346 QCOMPARE(opt1->active(), true);
337 QCOMPARE(opt2->active(), false);
347 QCOMPARE(opt2->active(), false);
338
348
339 QCOMPARE(dataChangedSpy.count(), 3);
349 QCOMPARE(dataChangedSpy.count(), 3);
340
350
351+ showAll->setActive(true);
352+ QCOMPARE(showAllSpy.count(), 1);
353+ QCOMPARE(opt0spy.count(), 2);
354+ QCOMPARE(opt1spy.count(), 2);
355+ QCOMPARE(opt2spy.count(), 0);
356+ QCOMPARE(showAll->active(), true);
357+ QCOMPARE(opt0->active(), false);
358+ QCOMPARE(opt1->active(), false);
359+ QCOMPARE(opt2->active(), false);
360+
341 delete check_filter;
361 delete check_filter;
342 }
362 }
343}
363}
@@ -357,7 +377,7 @@ void FiltersBindingsTest::testRadioOptionFilter()
357 auto radio_filter = dynamic_cast<RadioOptionFilter*>(bind_filter);
377 auto radio_filter = dynamic_cast<RadioOptionFilter*>(bind_filter);
358 QVERIFY(radio_filter != nullptr);
378 QVERIFY(radio_filter != nullptr);
359 auto options = radio_filter->options();
379 auto options = radio_filter->options();
360− QCOMPARE(options->rowCount(), 3);
380+ QCOMPARE(options->rowCount(), 4);
361
381
362 auto idx = options->index(0);
382 auto idx = options->index(0);
363 QVariant id_var = options->data(idx, GenericOptionsModel::RoleId);
383 QVariant id_var = options->data(idx, GenericOptionsModel::RoleId);
@@ -365,12 +385,23 @@ void FiltersBindingsTest::testRadioOptionFilter()
365 QVariant icon_var = options->data(idx, GenericOptionsModel::RoleIconHint);
385 QVariant icon_var = options->data(idx, GenericOptionsModel::RoleIconHint);
366 QVariant active_var = options->data(idx, GenericOptionsModel::RoleActive);
386 QVariant active_var = options->data(idx, GenericOptionsModel::RoleActive);
367
387
388+ QVERIFY(id_var.toString().startsWith("show_all::"));
389+ QVERIFY(name_var.toString().size() > 0);
390+ QCOMPARE(icon_var.toString(), QString(""));
391+ QCOMPARE(active_var.toBool(), false);
392+
393+ idx = options->index(1);
394+ id_var = options->data(idx, GenericOptionsModel::RoleId);
395+ name_var = options->data(idx, GenericOptionsModel::RoleName);
396+ icon_var = options->data(idx, GenericOptionsModel::RoleIconHint);
397+ active_var = options->data(idx, GenericOptionsModel::RoleActive);
398+
368 QCOMPARE(id_var.toString(), QString("opt0"));
399 QCOMPARE(id_var.toString(), QString("opt0"));
369 QCOMPARE(name_var.toString(), QString("Option 0"));
400 QCOMPARE(name_var.toString(), QString("Option 0"));
370 QCOMPARE(icon_var.toString(), QString(""));
401 QCOMPARE(icon_var.toString(), QString(""));
371 QCOMPARE(active_var.toBool(), false);
402 QCOMPARE(active_var.toBool(), false);
372
403
373− idx = options->index(1);
404+ idx = options->index(2);
374 id_var = options->data(idx, GenericOptionsModel::RoleId);
405 id_var = options->data(idx, GenericOptionsModel::RoleId);
375 name_var = options->data(idx, GenericOptionsModel::RoleName);
406 name_var = options->data(idx, GenericOptionsModel::RoleName);
376 icon_var = options->data(idx, GenericOptionsModel::RoleIconHint);
407 icon_var = options->data(idx, GenericOptionsModel::RoleIconHint);
@@ -381,9 +412,9 @@ void FiltersBindingsTest::testRadioOptionFilter()
381 QCOMPARE(icon_var.toString(), QString(""));
412 QCOMPARE(icon_var.toString(), QString(""));
382 QCOMPARE(active_var.toBool(), false);
413 QCOMPARE(active_var.toBool(), false);
383
414
384− AbstractFilterOption* opt0 = options->getRawOption(0);
415+ AbstractFilterOption* opt0 = options->getRawOption(1);
385− AbstractFilterOption* opt1 = options->getRawOption(1);
416+ AbstractFilterOption* opt1 = options->getRawOption(2);
386− AbstractFilterOption* opt2 = options->getRawOption(2);
417+ AbstractFilterOption* opt2 = options->getRawOption(3);
387
418
388 QSignalSpy opt0spy(opt0, SIGNAL(activeChanged(bool)));
419 QSignalSpy opt0spy(opt0, SIGNAL(activeChanged(bool)));
389 QSignalSpy opt1spy(opt1, SIGNAL(activeChanged(bool)));
420 QSignalSpy opt1spy(opt1, SIGNAL(activeChanged(bool)));
@@ -432,11 +463,11 @@ void FiltersBindingsTest::testRatingsFilter()
432 auto rating_filter = dynamic_cast<RatingsFilter*>(bind_filter);
463 auto rating_filter = dynamic_cast<RatingsFilter*>(bind_filter);
433 QVERIFY(rating_filter != nullptr);
464 QVERIFY(rating_filter != nullptr);
434 auto options = rating_filter->options();
465 auto options = rating_filter->options();
435− QCOMPARE(options->rowCount(), 5);
466+ QCOMPARE(options->rowCount(), 6);
436
467
437 RatingFilterOption* opt[5];
468 RatingFilterOption* opt[5];
438 for (int i = 0; i<5; i++) {
469 for (int i = 0; i<5; i++) {
439− opt[i] = dynamic_cast<RatingFilterOption *>(options->getRawOption(i));
470+ opt[i] = dynamic_cast<RatingFilterOption *>(options->getRawOption(i+1));
440 }
471 }
441
472
442 QSignalSpy opt0spy(opt[0], SIGNAL(activeChanged(bool)));
473 QSignalSpy opt0spy(opt[0], SIGNAL(activeChanged(bool)));
tests/plugins/Unity/filtersbindingstest.h+1−1
@@ -41,7 +41,7 @@ class FiltersBindingsTest : public QObject
41 void createCheckOptionFilter(DeeModel *model, const std::string &id, const std::string &name, int optionCount);
41 void createCheckOptionFilter(DeeModel *model, const std::string &id, const std::string &name, int optionCount);
42 void createRadioOptionFilter(DeeModel *model, const std::string &id, const std::string &name, int optionCount);
42 void createRadioOptionFilter(DeeModel *model, const std::string &id, const std::string &name, int optionCount);
43 void createRatingsFilter(DeeModel *model, const std::string &id, const std::string &name);
43 void createRatingsFilter(DeeModel *model, const std::string &id, const std::string &name);
44− void createFilter(DeeModel *model, const std::string &renderer, const std::string &id, const std::string &name, int optionCount);
44+ void createFilter(DeeModel *model, const std::string &renderer, const std::string &id, const std::string &name, int optionCount, bool showAll);
45};
45};
46
46
47#endif // FILTERSBINDINGSTEST_H
47#endif // FILTERSBINDINGSTEST_H
tests/qmltests/CMakeLists.txt+1
@@ -31,6 +31,7 @@ add_qml_test(. Shell IMPORT_PATHS ${CMAKE_BINARY_DIR}/plugins ${qmltest_DEFAULT_
31 ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/tests/mocks/liblightdm/single")
31 ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/tests/mocks/liblightdm/single")
32add_manual_qml_test(Components DragHandle IMPORT_PATHS ${CMAKE_BINARY_DIR}/plugins)
32add_manual_qml_test(Components DragHandle IMPORT_PATHS ${CMAKE_BINARY_DIR}/plugins)
33add_qml_test(Components DraggingArea)
33add_qml_test(Components DraggingArea)
34+add_qml_test(Components EdgeDemoOverlay)
34add_qml_test(Components FilterGrid)
35add_qml_test(Components FilterGrid)
35add_qml_test(Components ResponsiveFlowView)
36add_qml_test(Components ResponsiveFlowView)
36add_qml_test(Components ResponsiveGridView)
37add_qml_test(Components ResponsiveGridView)
tests/qmltests/Components/tst_EdgeDemoOverlay.qmlnew file+123
@@ -0,0 +1,123 @@
1+/*
2+ * Copyright 2013 Canonical Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import QtQuick 2.0
18+import QtTest 1.0
19+import Unity.Test 0.1 as UT
20+import "../../../Components"
21+
22+Item {
23+ id: root
24+ width: boxWidth * 3
25+ height: boxHeight * 2
26+
27+ property int boxWidth: 250
28+ property int boxHeight: 250
29+
30+ EdgeDemoOverlay {
31+ id: top
32+ edge: "top"
33+ title: "Top"
34+ text: "Displayed on top left"
35+ anchors.left: parent.left
36+ anchors.top: parent.top
37+ width: boxWidth
38+ height: boxHeight
39+ }
40+
41+ EdgeDemoOverlay {
42+ id: right
43+ edge: "right"
44+ title: "Right"
45+ text: "Displayed on top right"
46+ anchors.right: parent.right
47+ anchors.top: parent.top
48+ width: boxWidth
49+ height: boxHeight
50+ }
51+
52+ EdgeDemoOverlay {
53+ id: left
54+ edge: "left"
55+ title: "Left"
56+ text: "Displayed on bottom right"
57+ anchors.right: parent.right
58+ anchors.bottom: parent.bottom
59+ width: boxWidth
60+ height: boxHeight
61+ available: false
62+ }
63+
64+ EdgeDemoOverlay {
65+ id: bottom
66+ edge: "bottom"
67+ title: "Bottom"
68+ text: "Displayed on bottom left"
69+ anchors.left: parent.left
70+ anchors.bottom: parent.bottom
71+ width: boxWidth
72+ height: boxHeight
73+ }
74+
75+ EdgeDemoOverlay {
76+ id: none
77+ edge: "none"
78+ title: "None"
79+ text: "Displayed on top middle"
80+ anchors.horizontalCenter: parent.horizontalCenter
81+ anchors.top: parent.top
82+ width: boxWidth
83+ height: boxHeight
84+ }
85+
86+ SignalSpy {
87+ id: signalSpy
88+ }
89+
90+ UT.UnityTestCase {
91+ name: "EdgeDemoOverlay"
92+ when: windowShown
93+
94+ function test_animations() {
95+ compare(right.running, true)
96+
97+ compare(left.running, false)
98+ left.available = true
99+ compare(left.running, true)
100+ }
101+
102+ function test_skip() {
103+ signalSpy.target = bottom
104+ signalSpy.signalName = "skip"
105+ signalSpy.clear()
106+ var bottomSkip = findChild(bottom, "skipLabel")
107+ mousePress(bottomSkip, 1, 1)
108+ mouseRelease(bottomSkip, 1, 1)
109+ signalSpy.wait()
110+ compare(bottom.available, false)
111+
112+ // Test that the 'none' edge skips anywhere
113+ signalSpy.target = none
114+ signalSpy.clear()
115+ var backgroundShade = findChild(none, "backgroundShade")
116+ tryCompare(none, "opacity", 1)
117+ mousePress(backgroundShade, 1, 1)
118+ mouseRelease(backgroundShade, 1, 1)
119+ signalSpy.wait()
120+ compare(none.available, false)
121+ }
122+ }
123+}
tests/qmltests/Launcher/tst_Launcher.qml+4−6
@@ -249,11 +249,10 @@ Item {
249 name: "LauncherInit"
249 name: "LauncherInit"
250 when: windowShown
250 when: windowShown
251
251
252− /*
252+ function initTestCase() {
253− * FIXME: There is a bug in ListView which makes it snap to an item
253+ var listView = findChild(launcher, "launcherListView");
254− * instead of the edge at startup. Enable this test once our patch for
254+ tryCompare(listView, "flicking", false)
255− * ListView has landed upstream.
255+ }
256− * https://bugreports.qt-project.org/browse/QTBUG-32251
257
256
258 function test_initFirstUnfolded() {
257 function test_initFirstUnfolded() {
259
258
@@ -267,7 +266,6 @@ Item {
267 // Now do check that snapping is in fact enabled
266 // Now do check that snapping is in fact enabled
268 compare(listView.snapMode, ListView.SnapToItem, "Snapping is not enabled");
267 compare(listView.snapMode, ListView.SnapToItem, "Snapping is not enabled");
269 }
268 }
270− */
271 }
269 }
272
270
273 UT.UnityTestCase {
271 UT.UnityTestCase {