on xenial help sign in
Merged trunk.
332ca77Pawel Stolowski
Bottombar/Bottombar.qml+81−16
@@ -34,15 +34,32 @@ Item {
34
34
35 state: "hidden"
35 state: "hidden"
36
36
37+ function hide() {
38+ dismissTimer.stop()
39+ bottombar.state = "hidden"
40+ }
41+
42+ onApplicationIsOnForegroundChanged: {
43+ if (!applicationIsOnForeground) {
44+ hide()
45+ }
46+ }
47+
37 onStateChanged: {
48 onStateChanged: {
38 if (state == "hidden") {
49 if (state == "hidden") {
39 dismissTimer.stop()
50 dismissTimer.stop()
51+ bottomBarVisibilityCommunicatorShell.forceHidden = false
40 } else {
52 } else {
41 dismissTimer.restart()
53 dismissTimer.restart()
42 }
54 }
43 }
55 }
44
56
45 onPreventHidingChanged: {
57 onPreventHidingChanged: {
58+ if (!preventHiding) {
59+ if (state == "hint" || state == "reveal")
60+ hide()
61+ }
62+
46 if (dismissTimer.running) {
63 if (dismissTimer.running) {
47 dismissTimer.restart();
64 dismissTimer.restart();
48 }
65 }
@@ -50,7 +67,7 @@ Item {
50
67
51 Timer {
68 Timer {
52 id: dismissTimer
69 id: dismissTimer
53− interval: 5000
70+ interval: 1000
54 onTriggered: {
71 onTriggered: {
55 if (!bottombar.preventHiding) {
72 if (!bottombar.preventHiding) {
56 bottombar.state = "hidden"
73 bottombar.state = "hidden"
@@ -103,24 +120,29 @@ Item {
103
120
104 EdgeDragArea {
121 EdgeDragArea {
105 id: dragArea
122 id: dragArea
123+ objectName: "hudDragArea"
106 width: parent.width
124 width: parent.width
107 height: distanceThreshold
125 height: distanceThreshold
108 anchors.bottom: parent.bottom
126 anchors.bottom: parent.bottom
109
127
110− distanceThreshold: units.gu(1)
128+ distanceThreshold: units.gu(8)
111 enabled: !theHud.shown && bottombar.enabled && applicationIsOnForeground
129 enabled: !theHud.shown && bottombar.enabled && applicationIsOnForeground
112 direction: Direction.Upwards
130 direction: Direction.Upwards
131+ maxSilenceTime: 2000
113
132
114 property int previousStatus: -1
133 property int previousStatus: -1
115 property real touchStartX: -1
134 property real touchStartX: -1
116
135
136+ readonly property real distanceFromThreshold: (-distance) - distanceThreshold // distance is negative
137+ readonly property real revealDistance: units.gu(2)
138+ readonly property real commitDistance: units.gu(6)
139+ readonly property real commitProgress: MathLocal.clamp(distanceFromThreshold / commitDistance, 0, 1)
140+
117 onStatusChanged: {
141 onStatusChanged: {
118 if (status === DirectionalDragArea.WaitingForTouch) {
142 if (status === DirectionalDragArea.WaitingForTouch) {
119 if (previousStatus == DirectionalDragArea.Recognized) {
143 if (previousStatus == DirectionalDragArea.Recognized) {
120 if (hudButton.mouseOver) {
144 if (hudButton.mouseOver) {
121 hudButton.clicked()
145 hudButton.clicked()
122− } else {
123− bottombar.state = "hidden"
124 }
146 }
125 }
147 }
126 } else if (status === DirectionalDragArea.Undecided) {
148 } else if (status === DirectionalDragArea.Undecided) {
@@ -128,35 +150,78 @@ Item {
128 touchStartX = touchX
150 touchStartX = touchX
129 }
151 }
130 } else if (status === DirectionalDragArea.Recognized) {
152 } else if (status === DirectionalDragArea.Recognized) {
131− bottombar.state = "shown"
153+ bottombar.state = "hint"
132 }
154 }
133 previousStatus = status
155 previousStatus = status
134 }
156 }
157+
158+ onDistanceChanged: {
159+ if (status === DirectionalDragArea.Recognized) {
160+ if (distanceFromThreshold > commitDistance)
161+ bottombar.state = "shown"
162+ else if (distanceFromThreshold > revealDistance)
163+ bottombar.state = "reveal"
164+ }
165+ }
166+ }
167+
168+ Item {
169+ id: dismissArea
170+ anchors {
171+ top: parent.top
172+ left: parent.left
173+ right: parent.right
174+ }
175+ height: parent.height - bottomBarVisibilityCommunicatorShell.position
176+
177+ MouseArea {
178+ anchors.fill: parent
179+ enabled: bottombar.state == "shown"
180+ onPressed: {
181+ bottomBarVisibilityCommunicatorShell.forceHidden = true
182+ bottombar.state = "hidden"
183+ }
184+ }
185+
186+ InputFilterArea {
187+ anchors.fill: parent
188+ blockInput: (hudButton.opacity == 1)
189+ }
135 }
190 }
136
191
137 MouseArea {
192 MouseArea {
138− anchors.fill: parent
193+ anchors {
194+ top: dismissArea.bottom
195+ left: parent.left
196+ right: parent.right
197+ bottom: parent.bottom
198+ }
139− enabled: bottombar.state == "shown"
199+ enabled: bottombar.state == "shown" && bottomBarVisibilityCommunicatorShell.position > 0
140 onPressed: {
200 onPressed: {
141 bottombar.state = "hidden"
201 bottombar.state = "hidden"
142 }
202 }
143 }
203 }
144
204
145− InputFilterArea {
146− anchors.fill: parent
147− blockInput: (hudButton.opacity == 1)
148− }
149−
150 states: [
205 states: [
151 State {
206 State {
152 name: "hidden"
207 name: "hidden"
153− PropertyChanges { target: hudButton; opacity: 0}
208+ PropertyChanges { target: hudButton; opacity: 0 }
154− PropertyChanges { target: hudButton; bottomMargin: units.gu(-1)}
209+ PropertyChanges { target: hudButton; bottomMargin: units.gu(-2) }
210+ },
211+ State {
212+ name: "hint"
213+ extend: "hidden"
214+ PropertyChanges { target: hudButton; opacity: 0.5 }
215+ },
216+ State {
217+ name: "reveal"
218+ extend: "hint"
219+ PropertyChanges { target: hudButton; bottomMargin: units.gu(-2) + units.gu(2) * dragArea.commitProgress }
155 },
220 },
156 State {
221 State {
157 name: "shown"
222 name: "shown"
158− PropertyChanges { target: hudButton; opacity: 1}
223+ PropertyChanges { target: hudButton; opacity: 1 }
159− PropertyChanges { target: hudButton; bottomMargin: units.gu(0)}
224+ PropertyChanges { target: hudButton; bottomMargin: units.gu(0) }
160 }
225 }
161 ]
226 ]
162}
227}
Components/EdgeDemoOverlay.qml+9−2
@@ -121,7 +121,6 @@ Showable {
121
121
122 Column {
122 Column {
123 id: labelGroup
123 id: labelGroup
124− layer.enabled: true // otherwise the underlining on "Skip intro" jumps
125 spacing: units.gu(3)
124 spacing: units.gu(3)
126
125
127 anchors {
126 anchors {
@@ -150,7 +149,15 @@ Showable {
150 text: i18n.tr("Skip intro")
149 text: i18n.tr("Skip intro")
151 color: UbuntuColors.orange
150 color: UbuntuColors.orange
152 fontSize: "small"
151 fontSize: "small"
153− font.underline: true
152+
153+ Icon {
154+ anchors.left: parent.right
155+ anchors.verticalCenter: parent.verticalCenter
156+ height: units.dp(12)
157+ width: units.dp(12)
158+ name: "chevron"
159+ color: UbuntuColors.orange
160+ }
154
161
155 MouseArea {
162 MouseArea {
156 // Make clickable area bigger than just the link because
163 // Make clickable area bigger than just the link because
Components/PageHeader.qml+44−1
@@ -18,6 +18,7 @@ import QtQuick 2.0
18import Ubuntu.Components 0.1
18import Ubuntu.Components 0.1
19import Ubuntu.Components.Popups 0.1
19import Ubuntu.Components.Popups 0.1
20import Ubuntu.Components.ListItems 0.1 as ListItem
20import Ubuntu.Components.ListItems 0.1 as ListItem
21+import Unity 0.1
21
22
22Item {
23Item {
23 /*!
24 /*!
@@ -30,6 +31,7 @@ Item {
30 property bool searchEntryEnabled: false
31 property bool searchEntryEnabled: false
31 property alias searchQuery: searchField.text
32 property alias searchQuery: searchField.text
32 property ListModel searchHistory: SearchHistoryModel {}
33 property ListModel searchHistory: SearchHistoryModel {}
34+ property Scope scope
33
35
34 height: units.gu(8.5)
36 height: units.gu(8.5)
35 implicitHeight: units.gu(8.5)
37 implicitHeight: units.gu(8.5)
@@ -148,7 +150,7 @@ Item {
148 hasClearButton: false
150 hasClearButton: false
149
151
150 primaryItem: AbstractButton {
152 primaryItem: AbstractButton {
151− enabled: searchField.text != ""
153+ enabled: searchField.text != "" && !searchIndicator.running
152 onClicked: {
154 onClicked: {
153 if (searchField.text != "") {
155 if (searchField.text != "") {
154 searchHistory.addQuery(searchField.text)
156 searchHistory.addQuery(searchField.text)
@@ -158,8 +160,22 @@ Item {
158 height: parent.height
160 height: parent.height
159 width: height
161 width: height
160
162
163+ ActivityIndicator {
164+ id: searchIndicator
165+ objectName: "searchIndicator"
166+
167+ anchors {
168+ verticalCenter: parent.verticalCenter
169+ left: parent.left
170+ leftMargin: units.gu(0.5)
171+ }
172+
173+ running: opacity > 0
174+ }
175+
161 Image {
176 Image {
162 id: primaryImage
177 id: primaryImage
178+ objectName: "primaryImage"
163 anchors {
179 anchors {
164 verticalCenter: parent.verticalCenter
180 verticalCenter: parent.verticalCenter
165 left: parent.left
181 left: parent.left
@@ -167,6 +183,7 @@ Item {
167 }
183 }
168 width: units.gu(3)
184 width: units.gu(3)
169 height: units.gu(3)
185 height: units.gu(3)
186+ visible: opacity > 0
170 }
187 }
171
188
172 Item {
189 Item {
@@ -185,6 +202,32 @@ Item {
185 onActiveFocusChanged: {
202 onActiveFocusChanged: {
186 if (!activeFocus) searchContainer.closePopover()
203 if (!activeFocus) searchContainer.closePopover()
187 }
204 }
205+
206+ states: [
207+ State {
208+ name: "searching"
209+ when: scope.searchInProgress && searchField.text !== ""
210+ PropertyChanges { target: searchIndicator; running: true; opacity: 1 }
211+ PropertyChanges { target: primaryImage; opacity: 0 }
212+ },
213+ State {
214+ name: "idle"
215+ when: !scope.searchInProgress || searchField.text === ""
216+ PropertyChanges { target: searchIndicator; opacity: 0 }
217+ PropertyChanges { target: primaryImage; opacity: 1 }
218+ }
219+ ]
220+
221+ transitions: [
222+ Transition {
223+ to: "searching"
224+ reversible: true
225+ SequentialAnimation {
226+ NumberAnimation { target: primaryImage; property: "opacity"; duration: UbuntuAnimation.FastDuration; easing.type: Easing.Linear }
227+ NumberAnimation { target: searchIndicator; property: "opacity"; duration: UbuntuAnimation.FastDuration; easing.type: Easing.Linear }
228+ }
229+ }
230+ ]
188 }
231 }
189
232
190 states: [
233 states: [
Greeter/PinPadButton.qml → Components/PinPadButton.qmlrenamed

The content is the same.

Components/Stage.qml+4−1
@@ -97,7 +97,9 @@ Showable {
97 if (shouldUseScreenshots) {
97 if (shouldUseScreenshots) {
98 stage.__focusApplicationUsingScreenshots(stage.focusedApplication);
98 stage.__focusApplicationUsingScreenshots(stage.focusedApplication);
99 } else {
99 } else {
100+ if (stage.focusedApplicationWhenUsingScreenshots) {
100− stage.__focusActualApplication(stage.focusedApplicationWhenUsingScreenshots);
101+ stage.__focusActualApplication(stage.focusedApplicationWhenUsingScreenshots);
102+ }
101 }
103 }
102 }
104 }
103
105
@@ -244,6 +246,7 @@ Showable {
244 */
246 */
245 delayedHideScreenshots.start();
247 delayedHideScreenshots.start();
246 } else {
248 } else {
249+ stage.focusedApplicationWhenUsingScreenshots = null;
247 stage.__hideScreenshots();
250 stage.__hideScreenshots();
248 }
251 }
249 }
252 }
Components/Tile.qml+7−63
@@ -18,70 +18,14 @@ import QtQuick 2.0
18import Ubuntu.Components 0.1
18import Ubuntu.Components 0.1
19
19
20AbstractButton {
20AbstractButton {
21− id: root
22− property alias source: image.source
21+ property url source
23− property alias fillMode: image.fillMode
22+ property int fillMode: Image.PreserveAspectCrop
24− property alias horizontalAlignment: image.horizontalAlignment
23+ property int horizontalAlignment: Image.AlignHCenter
25− property alias verticalAlignment: image.verticalAlignment
24+ property int verticalAlignment: Image.AlignVCenter
26− property alias text: label.text
25+ property string text
27 property int imageWidth
26 property int imageWidth
28 property int imageHeight
27 property int imageHeight
28+ property int maximumLineCount: 1
29
29
30− UbuntuShape {
30+ style: TileStyle {}
31− id: icon
32− anchors {
33− top: parent.top
34− horizontalCenter: parent.horizontalCenter
35− }
36− radius: "medium"
37− width: imageWidth
38− height: imageHeight
39− image: Image {
40− id: image
41− objectName: "image"
42− sourceSize { width: icon.width; height: icon.height }
43− asynchronous: true
44− cache: false
45− }
46− }
47−
48− UbuntuShape {
49− id: borderPressed
50− objectName: "borderPressed"
51−
52− anchors.fill: icon
53− radius: "medium"
54− borderSource: "radius_pressed.sci"
55− opacity: root.pressed ? 1.0 : 0.0
56− Behavior on opacity { NumberAnimation { duration: 200; easing.type: Easing.OutQuint } }
57− }
58−
59− Item {
60− anchors {
61− left: parent.left
62− right: parent.right
63− top: icon.bottom
64− }
65− height: units.gu(2)
66−
67− Label {
68− id: label
69− objectName: "label"
70− anchors {
71− baseline: parent.bottom
72− left: parent.left
73− right: parent.right
74− leftMargin: units.gu(1)
75− rightMargin: units.gu(1)
76− }
77−
78− color: Theme.palette.selected.backgroundText
79− opacity: 0.9
80− style: Text.Raised
81− styleColor: "black"
82− fontSize: "small"
83− elide: Text.ElideMiddle
84− horizontalAlignment: Text.AlignHCenter
85− }
86− }
87}
31}
Components/TileStyle.qmlnew file+80
@@ -0,0 +1,80 @@
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 QtQuick 2.0
18+import Ubuntu.Components 0.1
19+
20+Item {
21+ id: tile
22+
23+ anchors.fill: parent
24+
25+ UbuntuShape {
26+ id: icon
27+ anchors {
28+ top: parent.top
29+ horizontalCenter: parent.horizontalCenter
30+ }
31+ radius: "medium"
32+ width: styledItem.imageWidth
33+ height: styledItem.imageHeight
34+ image: Image {
35+ id: image
36+ objectName: "image"
37+ sourceSize { width: icon.width; height: icon.height }
38+ asynchronous: true
39+ cache: false
40+ source: styledItem.source
41+ fillMode: styledItem.fillMode
42+ horizontalAlignment: styledItem.horizontalAlignment
43+ verticalAlignment: styledItem.verticalAlignment
44+ }
45+ }
46+
47+ UbuntuShape {
48+ id: borderPressed
49+ objectName: "borderPressed"
50+
51+ anchors.fill: icon
52+ radius: "medium"
53+ borderSource: "radius_pressed.sci"
54+ opacity: styledItem.pressed ? 1.0 : 0.0
55+ Behavior on opacity { NumberAnimation { duration: 200; easing.type: Easing.OutQuint } }
56+ }
57+
58+ Label {
59+ id: label
60+ objectName: "label"
61+ anchors {
62+ baseline: icon.bottom
63+ baselineOffset: units.gu(2)
64+ left: parent.left
65+ right: parent.right
66+ leftMargin: units.gu(1)
67+ rightMargin: units.gu(1)
68+ }
69+
70+ color: Theme.palette.selected.backgroundText
71+ opacity: 0.9
72+ style: Text.Raised
73+ styleColor: "black"
74+ fontSize: "small"
75+ elide: Text.ElideMiddle
76+ horizontalAlignment: Text.AlignHCenter
77+ text: styledItem.text
78+ maximumLineCount: styledItem.maximumLineCount
79+ }
80+}
Dash/Apps/DashPluginFilterGrid.qmlnew file+49
@@ -0,0 +1,49 @@
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 QtQuick 2.0
18+import Ubuntu.Components 0.1
19+import "../../Components"
20+import "../Generic"
21+
22+GenericFilterGrid {
23+ id: filtergrid
24+
25+ delegate: Tile {
26+ id: tile
27+ objectName: "delegate" + index
28+ width: filtergrid.cellWidth
29+ height: filtergrid.cellHeight
30+ text: model.title
31+ imageWidth: filtergrid.iconWidth
32+ imageHeight: filtergrid.iconHeight
33+ source: model.icon
34+
35+ style: FlatTileStyle {
36+ disabled: model.rendererHints['scope_disabled'] === 1;
37+ }
38+
39+ onClicked: {
40+ var data = { model: model }
41+ filtergrid.clicked(index, data, tile.y)
42+ }
43+
44+ onPressAndHold: {
45+ var data = { model: model }
46+ filtergrid.pressAndHold(index, data, tile.y)
47+ }
48+ }
49+}
Dash/Apps/RunningApplicationsGrid.qml+20−1
@@ -22,6 +22,8 @@ ResponsiveFlowView {
22 clip: true
22 clip: true
23
23
24 signal updateScreenshots
24 signal updateScreenshots
25+ property alias enableHeightBehavior: heightBehaviour.enabled
26+ property bool enableHeightBehaviorOnNextCreation: firstModel.count + secondModel.count == 0
25
27
26 Connections {
28 Connections {
27 target: shell
29 target: shell
@@ -29,7 +31,24 @@ ResponsiveFlowView {
29 onStageScreenshotsReadyChanged: if (shell.dashShown && shell.stageScreenshotsReady) updateScreenshots();
31 onStageScreenshotsReadyChanged: if (shell.dashShown && shell.stageScreenshotsReady) updateScreenshots();
30 }
32 }
31
33
34+ Behavior on height {
35+ id: heightBehaviour
36+ enabled: false
32− Behavior on height { NumberAnimation { duration: 200; easing.type: Easing.InOutQuad } }
37+ NumberAnimation { duration: 200; easing.type: Easing.InOutQuad }
38+ }
39+
40+ Connections {
41+ target: root.firstModel
42+ onCountChanged: {
43+ heightBehaviour.enabled = true;
44+ }
45+ }
46+ Connections {
47+ target: root.secondModel
48+ onCountChanged: {
49+ heightBehaviour.enabled = true;
50+ }
51+ }
33
52
34 property bool canEnableTerminationMode: true
53 property bool canEnableTerminationMode: true
35
54
Dash/DashApps.qml+2
@@ -24,6 +24,7 @@ import "Apps"
24
24
25GenericScopeView {
25GenericScopeView {
26 id: scopeView
26 id: scopeView
27+ objectName: "DashApps"
27
28
28 // FIXME: a way to aggregate these models would be ideal
29 // FIXME: a way to aggregate these models would be ideal
29 property var mainStageApplicationsModel: shell.applicationManager.mainStageApplications
30 property var mainStageApplicationsModel: shell.applicationManager.mainStageApplications
@@ -51,5 +52,6 @@ GenericScopeView {
51
52
52 onScopeChanged: {
53 onScopeChanged: {
53 scopeView.scope.categories.overrideResults("recent", runningApplicationsModel);
54 scopeView.scope.categories.overrideResults("recent", runningApplicationsModel);
55+ enableHeightBehaviorOnNextCreation = (mainStageApplicationsModel.count + sideStageApplicationModel.count == 0)
54 }
56 }
55}
57}
Dash/DashContent.qml+1
@@ -114,6 +114,7 @@ Item {
114 height: ListView.view.height
114 height: ListView.view.height
115 asynchronous: true
115 asynchronous: true
116 source: scopeMapper.map(scope.id)
116 source: scopeMapper.map(scope.id)
117+ objectName: scope.id + " loader"
117
118
118 // these are needed for autopilot tests
119 // these are needed for autopilot tests
119 readonly property string scopeId: scope.id
120 readonly property string scopeId: scope.id
Dash/Generic/FlatTileStyle.qmlnew file+78
@@ -0,0 +1,78 @@
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 QtQuick 2.0
18+import Ubuntu.Components 0.1
19+
20+Item {
21+ id: tile
22+
23+ property bool disabled: false
24+
25+ anchors.fill: parent
26+
27+ Image {
28+ id: icon
29+ objectName: "image"
30+ width: styledItem.imageWidth
31+ height: styledItem.imageHeight
32+
33+ anchors.horizontalCenter: parent.horizontalCenter
34+
35+ sourceSize { width: width; height: height }
36+ asynchronous: true
37+ cache: false
38+ source: styledItem.source
39+ fillMode: styledItem.fillMode
40+ opacity: tile.disabled ? 0.3 : 1.0
41+ horizontalAlignment: styledItem.horizontalAlignment
42+ verticalAlignment: styledItem.verticalAlignment
43+ }
44+
45+ UbuntuShape {
46+ id: borderPressed
47+ objectName: "borderPressed"
48+
49+ anchors.fill: icon
50+ radius: "medium"
51+ borderSource: "radius_pressed.sci"
52+ opacity: styledItem.pressed ? 1.0 : 0.0
53+ Behavior on opacity { NumberAnimation { duration: 200; easing.type: Easing.OutQuint } }
54+ }
55+
56+ Label {
57+ id: label
58+ objectName: "label"
59+ anchors {
60+ baseline: icon.bottom
61+ baselineOffset: units.gu(2)
62+ left: parent.left
63+ right: parent.right
64+ leftMargin: units.gu(1)
65+ rightMargin: units.gu(1)
66+ }
67+
68+ color: Theme.palette.selected.backgroundText
69+ opacity: 0.9
70+ style: Text.Raised
71+ styleColor: "black"
72+ fontSize: "small"
73+ elide: Text.ElideMiddle
74+ horizontalAlignment: Text.AlignHCenter
75+ text: styledItem.text
76+ maximumLineCount: styledItem.maximumLineCount
77+ }
78+}
Dash/Generic/GenericFilterGrid.qml−3
@@ -39,11 +39,8 @@ FilterGrid {
39 text: model.title
39 text: model.title
40 imageWidth: filtergrid.iconWidth
40 imageWidth: filtergrid.iconWidth
41 imageHeight: filtergrid.iconHeight
41 imageHeight: filtergrid.iconHeight
42−
43 source: model.icon
42 source: model.icon
44
43
45− fillMode: Image.PreserveAspectCrop
46−
47 onClicked: {
44 onClicked: {
48 var data = { model: model }
45 var data = { model: model }
49 filtergrid.clicked(index, data, tile.y)
46 filtergrid.clicked(index, data, tile.y)
Dash/Generic/WeatherFilterGrid.qmlnew file+49
@@ -0,0 +1,49 @@
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 QtQuick 2.0
18+import Ubuntu.Components 0.1
19+import "../../Components"
20+
21+GenericFilterGrid {
22+ id: filtergrid
23+
24+ delegateHeight: units.gu(11.5)
25+
26+ delegate: Tile {
27+ id: tile
28+ objectName: "delegate" + index
29+ width: filtergrid.cellWidth
30+ height: filtergrid.cellHeight
31+ text: model.title
32+ imageWidth: filtergrid.iconWidth
33+ imageHeight: filtergrid.iconHeight
34+ source: model.icon
35+ maximumLineCount: 2
36+
37+ style: FlatTileStyle {}
38+
39+ onClicked: {
40+ var data = { model: model }
41+ filtergrid.clicked(index, data, tile.y)
42+ }
43+
44+ onPressAndHold: {
45+ var data = { model: model }
46+ filtergrid.pressAndHold(index, data, tile.y)
47+ }
48+ }
49+}
Dash/GenericScopeView.qml+30−3
@@ -22,6 +22,7 @@ import "../Components/ListItems" as ListItems
22ScopeView {
22ScopeView {
23 id: scopeView
23 id: scopeView
24 readonly property alias previewShown: previewLoader.onScreen
24 readonly property alias previewShown: previewLoader.onScreen
25+ property bool enableHeightBehaviorOnNextCreation: false
25
26
26 onIsCurrentChanged: {
27 onIsCurrentChanged: {
27 pageHeader.resetSearch();
28 pageHeader.resetSearch();
@@ -30,6 +31,8 @@ ScopeView {
30
31
31 onMovementStarted: categoryView.showHeader()
32 onMovementStarted: categoryView.showHeader()
32
33
34+ onPositionedAtBeginning: categoryView.positionAtBeginning()
35+
33 Binding {
36 Binding {
34 target: scopeView.scope
37 target: scopeView.scope
35 property: "searchQuery"
38 property: "searchQuery"
@@ -58,6 +61,7 @@ ScopeView {
58
61
59 ScopeListView {
62 ScopeListView {
60 id: categoryView
63 id: categoryView
64+ objectName: "categoryListView"
61 anchors.fill: parent
65 anchors.fill: parent
62 model: scopeView.categories
66 model: scopeView.categories
63 forceNoClip: previewLoader.onScreen
67 forceNoClip: previewLoader.onScreen
@@ -82,9 +86,13 @@ ScopeView {
82 right: parent.right
86 right: parent.right
83 }
87 }
84
88
85− source: getRenderer(model.renderer, model.contentType)
89+ source: getRenderer(model.renderer, model.contentType, model.rendererHint)
86
90
87 onLoaded: {
91 onLoaded: {
92+ if (item.enableHeightBehavior !== undefined && item.enableHeightBehaviorOnNextCreation !== undefined) {
93+ item.enableHeightBehavior = scopeView.enableHeightBehaviorOnNextCreation;
94+ scopeView.enableHeightBehaviorOnNextCreation = false;
95+ }
88 if (source.toString().indexOf("Apps/RunningApplicationsGrid.qml") != -1) {
96 if (source.toString().indexOf("Apps/RunningApplicationsGrid.qml") != -1) {
89 // TODO: the running apps grid doesn't support standard scope results model yet
97 // TODO: the running apps grid doesn't support standard scope results model yet
90 item.firstModel = Qt.binding(function() { return results.firstModel })
98 item.firstModel = Qt.binding(function() { return results.firstModel })
@@ -101,6 +109,12 @@ ScopeView {
101 }
109 }
102 }
110 }
103
111
112+ Component.onDestruction: {
113+ if (item.enableHeightBehavior !== undefined && item.enableHeightBehaviorOnNextCreation !== undefined) {
114+ scopeView.enableHeightBehaviorOnNextCreation = item.enableHeightBehaviorOnNextCreation;
115+ }
116+ }
117+
104 Connections {
118 Connections {
105 target: rendererLoader.item
119 target: rendererLoader.item
106 onClicked: {
120 onClicked: {
@@ -176,6 +190,7 @@ ScopeView {
176 width: categoryView.width
190 width: categoryView.width
177 text: scopeView.scope.name
191 text: scopeView.scope.name
178 searchEntryEnabled: true
192 searchEntryEnabled: true
193+ scope: scopeView.scope
179 }
194 }
180 }
195 }
181
196
@@ -185,7 +200,7 @@ ScopeView {
185 }
200 }
186 }
201 }
187
202
188− function getRenderer(rendererId, contentType) {
203+ function getRenderer(rendererId, contentType, rendererHint) {
189 if (rendererId == "default") {
204 if (rendererId == "default") {
190 rendererId = getDefaultRendererId(contentType);
205 rendererId = getDefaultRendererId(contentType);
191 }
206 }
@@ -194,10 +209,22 @@ ScopeView {
194 switch (contentType) {
209 switch (contentType) {
195 case "video": return "Generic/GenericFilterGridPotrait.qml";
210 case "video": return "Generic/GenericFilterGridPotrait.qml";
196 case "music": return "Music/MusicFilterGrid.qml";
211 case "music": return "Music/MusicFilterGrid.qml";
212+ case "apps": {
213+ if (rendererHint == "toggled")
214+ return "Apps/DashPluginFilterGrid.qml";
215+ else
216+ return "Generic/GenericFilterGrid.qml";
217+ }
218+ case "weather": return "Generic/WeatherFilterGrid.qml";
197 default: return "Generic/GenericFilterGrid.qml";
219 default: return "Generic/GenericFilterGrid.qml";
198 }
220 }
199 }
221 }
222+ case "carousel": {
223+ switch (contentType) {
224+ case "music": return "Music/MusicCarousel.qml";
200− case "carousel": return "Generic/GenericCarousel.qml";
225+ default: return "Generic/GenericCarousel.qml";
226+ }
227+ }
201 case "special": {
228 case "special": {
202 switch (contentType) {
229 switch (contentType) {
203 case "apps": return "Apps/RunningApplicationsGrid.qml";
230 case "apps": return "Apps/RunningApplicationsGrid.qml";
Greeter/Gradient.js+7−3
@@ -15,8 +15,12 @@
15 */
15 */
16
16
17function threeColorByIndex(index, total, colors) {
17function threeColorByIndex(index, total, colors) {
18− var red, green, blue
18+ var red, green, blue;
19+ var p = 0.0;
20+
21+ if(total > 0) {
19− var p = index / total
22+ p = index / total;
23+ }
20
24
21 if (p < 0.5) {
25 if (p < 0.5) {
22 red = (colors.main.r * p * 2.0) + colors.start.r * (0.5 - p) * 2.0;
26 red = (colors.main.r * p * 2.0) + colors.start.r * (0.5 - p) * 2.0;
@@ -28,5 +32,5 @@ function threeColorByIndex(index, total, colors) {
28 blue = colors.end.b * (p - 0.5) * 2.0 + colors.main.b * (1.0 - p) * 2.0;
32 blue = colors.end.b * (p - 0.5) * 2.0 + colors.main.b * (1.0 - p) * 2.0;
29 }
33 }
30
34
31− return Qt.rgba(red, green, blue, 1)
35+ return Qt.rgba(red, green, blue, 1);
32}
36}
Greeter/GreeterContent.qml+11−7
@@ -135,19 +135,23 @@ MouseArea {
135
135
136 Infographics {
136 Infographics {
137 id: infographics
137 id: infographics
138+ objectName: "infographics"
138 height: narrowMode ? parent.height : 0.75 * parent.height
139 height: narrowMode ? parent.height : 0.75 * parent.height
139 model: greeterContentLoader.infographicModel
140 model: greeterContentLoader.infographicModel
140
141
141− Component.onCompleted: infographics.updateUsername(greeterContentLoader.currentIndex)
142+ property string selectedUser
143+ property string infographicUser: AccountsService.statsWelcomeScreen ? selectedUser : ""
144+ onInfographicUserChanged: greeterContentLoader.infographicModel.username = infographicUser
142
145
143− Connections {
146+ Component.onCompleted: {
144− target: root
147+ selectedUser = greeterContentLoader.model.data(greeterContentLoader.currentIndex, LightDM.UserRoles.NameRole)
145− onSelected: infographics.updateUsername(uid)
148+ greeterContentLoader.infographicModel.username = infographicUser
149+ greeterContentLoader.infographicModel.readyForDataChange()
146 }
150 }
147
151
148− function updateUsername(uid) {
152+ Connections {
153+ target: root
149− greeterContentLoader.infographicModel.username = greeterContentLoader.model.data(uid, LightDM.UserRoles.NameRole)
154+ onSelected: infographics.selectedUser = greeterContentLoader.model.data(uid, LightDM.UserRoles.NameRole)
150− greeterContentLoader.infographicModel.readyForDataChangeSlot();
151 }
155 }
152
156
153 anchors {
157 anchors {
Greeter/Infographics.qml+10−1
@@ -29,21 +29,30 @@ Item {
29 Connections {
29 Connections {
30 target: model
30 target: model
31
31
32+ onDataAboutToAppear: startHideAnimation() // hide "no data" label
32 onDataAppeared: startShowAnimation()
33 onDataAppeared: startShowAnimation()
33
34
34 onDataAboutToChange: startHideAnimation()
35 onDataAboutToChange: startHideAnimation()
35−
36 onDataChanged: startShowAnimation()
36 onDataChanged: startShowAnimation()
37
37
38 onDataAboutToDisappear: startHideAnimation()
38 onDataAboutToDisappear: startHideAnimation()
39+ onDataDisappeared: startShowAnimation() // show "no data" label
39 }
40 }
40
41
41 function startShowAnimation() {
42 function startShowAnimation() {
43+ dotHideAnimTimer.stop()
44+ circleShrinkAnimTimer.stop()
45+ notification.hideAnim.stop()
46+
42 dotShowAnimTimer.startFromBeginning()
47 dotShowAnimTimer.startFromBeginning()
43 notification.showAnim.start()
48 notification.showAnim.start()
44 }
49 }
45
50
46 function startHideAnimation() {
51 function startHideAnimation() {
52+ dotShowAnimTimer.stop()
53+ circleGrowAnimTimer.stop()
54+ notification.showAnim.stop()
55+
47 dotHideAnimTimer.startFromBeginning()
56 dotHideAnimTimer.startFromBeginning()
48 notification.hideAnim.start()
57 notification.hideAnim.start()
49 }
58 }
Notifications/Notification.qml+42−1
@@ -17,6 +17,8 @@
17import QtQuick 2.0
17import QtQuick 2.0
18import Ubuntu.Components 0.1
18import Ubuntu.Components 0.1
19import Unity.Notifications 1.0
19import Unity.Notifications 1.0
20+import QMenuModel 0.1
21+import Utils 0.1
20
22
21UbuntuShape {
23UbuntuShape {
22 id: notification
24 id: notification
@@ -38,6 +40,24 @@ UbuntuShape {
38
40
39 clip: true
41 clip: true
40
42
43+ UnityMenuModelPaths {
44+ id: paths
45+
46+ source: hints["x-canonical-private-menu-model"]
47+
48+ busNameHint: "busName"
49+ actionsHint: "actions"
50+ menuObjectPathHint: "menuPath"
51+ }
52+
53+ UnityMenuModel {
54+ id: unityMenuModel
55+
56+ busName: paths.busName
57+ actions: paths.actions
58+ menuObjectPath: paths.menuObjectPath
59+ }
60+
41 Behavior on implicitHeight {
61 Behavior on implicitHeight {
42 id: heightBehavior
62 id: heightBehavior
43
63
@@ -141,6 +161,27 @@ UbuntuShape {
141 }
161 }
142 }
162 }
143
163
164+ Column {
165+ objectName: "dialogListView"
166+ spacing: units.gu(2)
167+
168+ visible: count > 0
169+
170+ anchors.left: parent.left; anchors.right: parent.right
171+
172+ Repeater {
173+ model: unityMenuModel
174+
175+ NotificationMenuItemFactory {
176+ anchors.left: parent.left; anchors.right: parent.right
177+
178+ menuModel: unityMenuModel
179+ menuData: model
180+ menuIndex: index
181+ }
182+ }
183+ }
184+
144 Item {
185 Item {
145 id: buttonRow
186 id: buttonRow
146
187
@@ -195,7 +236,7 @@ UbuntuShape {
195 top: parent.top
236 top: parent.top
196 bottom: parent.bottom
237 bottom: parent.bottom
197 }
238 }
198− gradient: notification.hints == Notification.ButtonTint ? UbuntuColors.orangeGradient : UbuntuColors.greyGradient
239+ gradient: notification.hints["x-canonical-private-button-tint"] == "true" ? UbuntuColors.orangeGradient : UbuntuColors.greyGradient
199 visible: width > 0
240 visible: width > 0
200 onClicked: notification.notification.invokeAction(actionRepeater.itemAt(0).actionId)
241 onClicked: notification.notification.invokeAction(actionRepeater.itemAt(0).actionId)
201 }
242 }
Notifications/NotificationMenuItemFactory.qmlnew file+97
@@ -0,0 +1,97 @@
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+ * Nick Dedekind <nick.dedekind@canonical.com>
18+ */
19+
20+import QtQuick 2.0
21+import Ubuntu.Components 0.1
22+import "../Components"
23+import "../Greeter"
24+
25+Loader {
26+ id: menuFactory
27+
28+ property QtObject menuModel: null
29+ property QtObject menuData: null
30+ property int menuIndex
31+ property var notification
32+
33+ property var _map: {
34+ "com.canonical.snapdecision.textfield": textfield,
35+ "com.canonical.snapdecision.pinlock" : pinLock,
36+ }
37+
38+ sourceComponent: {
39+ if (menuData.type !== undefined) {
40+ var component = _map[menuData.type];
41+ if (component !== undefined) {
42+ return component;
43+ }
44+ } else {
45+ if (menuData.isSeparator) {
46+ return divMenu;
47+ }
48+ }
49+ return standardMenu;
50+ }
51+
52+ Component {
53+ id: textfield
54+
55+ Column {
56+ spacing: units.gu(.5)
57+
58+ anchors.left: parent.left; anchors.right: parent.right
59+
60+ Component.onCompleted: {
61+ menuModel.loadExtendedAttributes(menuIndex, {"x-echo-mode-password": "bool"});
62+ textfield.echoMode = menuData.ext.xEchoModePassword ? TextInput.Password : TextInput.Normal
63+ }
64+
65+ Label {
66+ fontSize: "medium"
67+ color: "white"
68+ text: menuData.label
69+ }
70+
71+ TextField {
72+ id: textfield
73+
74+ anchors.left: parent.left; anchors.right: parent.right
75+
76+ onTextChanged: {
77+ menuModel.changeState(menuIndex, text);
78+ }
79+ }
80+ }
81+ }
82+
83+ Component {
84+ id: pinLock
85+ PinLockscreen {
86+ anchors.left: parent.left; anchors.right: parent.right
87+
88+ onEntered: {
89+ menuModel.changeState(menuIndex, passphrase);
90+ }
91+
92+ onCancel: {
93+ menuModel.activate(menuIndex, false);
94+ }
95+ }
96+ }
97+}
Panel/Indicators.qml+4−1
@@ -17,6 +17,7 @@
17import QtQuick 2.0
17import QtQuick 2.0
18import Ubuntu.Components 0.1
18import Ubuntu.Components 0.1
19import Ubuntu.Gestures 0.1
19import Ubuntu.Gestures 0.1
20+import Unity.Indicators 0.1 as Indicators
20
21
21import "../Components"
22import "../Components"
22import "../Components/ListItems"
23import "../Components/ListItems"
@@ -249,8 +250,10 @@ Showable {
249 anchors.fill: indicatorRow
250 anchors.fill: indicatorRow
250 }
251 }
251
252
252− IndicatorsDataModel {
253+ Indicators.IndicatorsModel {
253 id: indicatorsModel
254 id: indicatorsModel
255+
256+ Component.onCompleted: load()
254 }
257 }
255
258
256 IndicatorRow {
259 IndicatorRow {
Panel/Indicators/DatetimeIndicatorPage.qmldeleted−97
@@ -1,97 +0,0 @@
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− * Renato Araujo Oliveira Filho <renato@canonical.com>
18− * Ubo Riboni <ugo.riboni@canonical.com>
19− */
20−
21−import QtQuick 2.0
22−import Ubuntu.Components 0.1
23−
24−Flickable {
25− id: page
26−
27− contentHeight: image.height
28−
29− Image {
30− id: image
31− anchors {
32− left: parent.left
33− right: parent.right
34− }
35− source: "../graphics/time_and_date@18.png"
36− fillMode: Image.PreserveAspectFit
37− }
38−
39− Item {
40− anchors {
41− top: parent.top
42− topMargin: units.gu(5)
43− left: parent.left
44− right: parent.right
45− }
46−
47− height: units.gu(30)
48−
49− Label {
50− id: timeLabel
51− anchors {
52− horizontalCenter: parent.horizontalCenter
53− verticalCenter: parent.verticalCenter
54− }
55−
56− text: ""
57− color: Theme.palette.selected.backgroundText
58− font.weight: Font.Light
59− font.pixelSize: units.gu(6)
60− }
61−
62− Label {
63− id: dateLabel
64−
65− anchors {
66− left: parent.left
67− leftMargin: units.gu(2)
68− bottom: parent.bottom
69− bottomMargin: units.gu(1.5)
70− }
71− text: ""
72− color: Theme.palette.selected.backgroundText
73− fontSize: "small"
74− }
75− }
76−
77− Timer {
78− interval: 1000 * 10 // 10 seconds
79− running: true
80− repeat: true
81− triggeredOnStart: true
82− onTriggered: updateTime();
83− }
84−
85− function updateTime() {
86− var dt = new Date();
87− var time = Qt.formatTime(dt);
88− var space = time.indexOf(" ");
89− timeLabel.text = time.substr(0, space > 0 ? space : 5);
90− dateLabel.text = Qt.formatDateTime(dt, "dddd,\ndd MMMM");
91− }
92−
93− // Make it compatible with the PluginItem interface
94− function start() {}
95− function stop() {}
96− function reset() {}
97−}
Panel/Indicators/DatetimeIndicatorWidget.qmldeleted−67
@@ -1,67 +0,0 @@
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− * Nick Dedekind <nick.dedekind@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−import Ubuntu.Components 0.1
22−import Unity.IndicatorsLegacy 0.1 as Indicators
23−
24−Indicators.IndicatorWidget {
25− id: indicatorWidget
26−
27− width: timeLabel.width + units.gu(1)
28− rootMenuType: "com.canonical.indicator.root.time"
29−
30− property alias label: timeLabel.text
31−
32− Label {
33− id: timeLabel
34− objectName: "timeLabel"
35− color: Theme.palette.selected.backgroundText
36− opacity: 0.8
37− font.family: "Ubuntu"
38− fontSize: "medium"
39− anchors.centerIn: parent
40− text: Qt.formatTime(timer.dateNow)
41− }
42−
43− Timer {
44− id: timer
45− interval: 1000 * 10
46− running: indicatorWidget.visible
47− repeat: true
48− triggeredOnStart: true
49− property date dateNow
50−
51− onTriggered: dateNow = new Date
52− }
53−
54− onActionStateChanged: {
55− if (action == undefined || !action.valid) {
56− enabled = false;
57− return;
58− }
59−
60− if (action.state == undefined) {
61− enabled = false;
62− return;
63− }
64−
65− enabled = action.state[3];
66− }
67−}
Panel/Indicators/DefaultIndicatorPage.qml+1−1
@@ -18,7 +18,7 @@
18 */
18 */
19
19
20import QtQuick 2.0
20import QtQuick 2.0
21−import Unity.IndicatorsLegacy 0.1 as Indicators
21+import Unity.Indicators 0.1 as Indicators
22
22
23Indicators.IndicatorPage {
23Indicators.IndicatorPage {
24 anchors.fill: parent
24 anchors.fill: parent
Panel/Indicators/DefaultIndicatorPage2.qmldeleted−25
@@ -1,25 +0,0 @@
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− * Nick Dedekind <nick.dedekind@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−import Unity.Indicators 0.1 as Indicators
22−
23−Indicators.IndicatorPage {
24− anchors.fill: parent
25−}
Panel/Indicators/DefaultIndicatorWidget.qml+47−21
@@ -19,16 +19,16 @@
19
19
20import QtQuick 2.0
20import QtQuick 2.0
21import Ubuntu.Components 0.1
21import Ubuntu.Components 0.1
22−import Unity.IndicatorsLegacy 0.1 as Indicators
22+import Unity.Indicators 0.1 as Indicators
23
23
24Indicators.IndicatorWidget {
24Indicators.IndicatorWidget {
25 id: indicatorWidget
25 id: indicatorWidget
26
26
27− enabled:true
28 width: itemRow.width + units.gu(0.5)
27 width: itemRow.width + units.gu(0.5)
29
28
30− property alias label: itemLabel.text
29+ property alias leftLabel: itemLeftLabel.text
31− property alias iconSource: itemImage.source
30+ property alias rightLabel: itemRightLabel.text
31+ property var icons: undefined
32
32
33 Row {
33 Row {
34 id: itemRow
34 id: itemRow
@@ -40,19 +40,43 @@ Indicators.IndicatorWidget {
40 }
40 }
41 spacing: units.gu(0.5)
41 spacing: units.gu(0.5)
42
42
43− // FIXME : Should us Ubuntu.Icon . results in low res images
43+ Label {
44− Image {
44+ id: itemLeftLabel
45− id: itemImage
46− objectName: "itemImage"
45+ objectName: "leftLabel"
47− visible: source != ""
46+ color: Theme.palette.selected.backgroundText
48− height: indicatorWidget.iconSize
47+ opacity: 0.8
49− width: indicatorWidget.iconSize
48+ font.family: "Ubuntu"
49+ fontSize: "medium"
50 anchors.verticalCenter: parent.verticalCenter
50 anchors.verticalCenter: parent.verticalCenter
51+ visible: text != ""
52+ }
53+
54+ Row {
55+ width: childrenRect.width
56+ anchors {
57+ top: parent.top
58+ bottom: parent.bottom
59+ }
60+ spacing: units.gu(0.5)
61+
62+ Repeater {
63+ model: indicatorWidget.icons
64+
65+ Image {
66+ id: itemImage
67+ objectName: "itemImage"
68+ visible: source != ""
69+ source: modelData
70+ height: indicatorWidget.iconSize
71+ width: indicatorWidget.iconSize
72+ anchors.verticalCenter: parent.verticalCenter
73+ }
74+ }
51 }
75 }
52
76
53 Label {
77 Label {
54− id: itemLabel
78+ id: itemRightLabel
55− objectName: "itemLabel"
79+ objectName: "rightLabel"
56 color: Theme.palette.selected.backgroundText
80 color: Theme.palette.selected.backgroundText
57 opacity: 0.8
81 opacity: 0.8
58 font.family: "Ubuntu"
82 font.family: "Ubuntu"
@@ -62,16 +86,18 @@ Indicators.IndicatorWidget {
62 }
86 }
63 }
87 }
64
88
65− onActionStateChanged: {
89+ onRootActionStateChanged: {
66− if (action == undefined || !action.valid) {
90+ if (rootActionState == undefined) {
67− return;
91+ leftLabel = "";
68− }
92+ rightLabel = "";
69−
93+ icons = undefined;
70− if (action.state == undefined) {
94+ enabled = false;
71 return;
95 return;
72 }
96 }
73
97
74− label = action.state[Indicators.ActionState.Label];
98+ leftLabel = rootActionState.leftLabel ? rootActionState.leftLabel : "";
75− iconSource = "image://theme/" + action.state[Indicators.ActionState.IconSource];
99+ rightLabel = rootActionState.rightLabel ? rootActionState.rightLabel : "";
100+ icons = rootActionState.icons;
101+ enabled = rootActionState.visible;
76 }
102 }
77}
103}
Panel/Indicators/DefaultIndicatorWidget2.qmldeleted−103
@@ -1,103 +0,0 @@
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− * Nick Dedekind <nick.dedekind@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−import Ubuntu.Components 0.1
22−import Unity.Indicators 0.1 as Indicators
23−
24−Indicators.IndicatorWidget {
25− id: indicatorWidget
26−
27− width: itemRow.width + units.gu(0.5)
28−
29− property alias leftLabel: itemLeftLabel.text
30− property alias rightLabel: itemRightLabel.text
31− property var icons: undefined
32−
33− Row {
34− id: itemRow
35− objectName: "itemRow"
36− anchors {
37− top: parent.top
38− bottom: parent.bottom
39− horizontalCenter: parent.horizontalCenter
40− }
41− spacing: units.gu(0.5)
42−
43− Label {
44− id: itemLeftLabel
45− objectName: "leftLabel"
46− color: Theme.palette.selected.backgroundText
47− opacity: 0.8
48− font.family: "Ubuntu"
49− fontSize: "medium"
50− anchors.verticalCenter: parent.verticalCenter
51− visible: text != ""
52− }
53−
54− Row {
55− width: childrenRect.width
56− anchors {
57− top: parent.top
58− bottom: parent.bottom
59− }
60− spacing: units.gu(0.5)
61−
62− Repeater {
63− model: indicatorWidget.icons
64−
65− Image {
66− id: itemImage
67− objectName: "itemImage"
68− visible: source != ""
69− source: modelData
70− height: indicatorWidget.iconSize
71− width: indicatorWidget.iconSize
72− anchors.verticalCenter: parent.verticalCenter
73− }
74− }
75− }
76−
77− Label {
78− id: itemRightLabel
79− objectName: "rightLabel"
80− color: Theme.palette.selected.backgroundText
81− opacity: 0.8
82− font.family: "Ubuntu"
83− fontSize: "medium"
84− anchors.verticalCenter: parent.verticalCenter
85− visible: text != ""
86− }
87− }
88−
89− onActionStateChanged: {
90− if (actionState == undefined) {
91− leftLabel = "";
92− rightLabel = "";
93− icons = undefined;
94− enabled = false;
95− return;
96− }
97−
98− leftLabel = actionState.leftLabel ? actionState.leftLabel : "";
99− rightLabel = actionState.rightLabel ? actionState.rightLabel : "";
100− icons = actionState.icons;
101− enabled = actionState.visible;
102− }
103−}
Panel/Indicators/MessagingIndicatorPage.qmldeleted−35
@@ -1,35 +0,0 @@
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− * Nick Dedekind <nick.dedekind@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−import Ubuntu.Components 0.1
22−import Unity.IndicatorsLegacy 0.1 as Indicators
23−
24−Indicators.IndicatorPage {
25− anchors.fill: parent
26−
27− highlightFollowsCurrentItem: false
28− emptyText: "You have no more outstanding messages."
29−
30− function stop() {
31− // never stops the service
32− // this will keep all objects in memory, consume more memory
33− // but will optimize the menu contruction on the screen
34− }
35−}
Panel/Indicators/MessagingIndicatorWidget.qmldeleted−25
@@ -1,25 +0,0 @@
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− * Nick Dedekind <nick.dedekind@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−
22−DefaultIndicatorWidget {
23− // default the icon so we have something to show when we don't have the bus.
24− iconSource: "image://theme/indicator-messages"
25−}
Panel/Indicators/NetworkIndicatorPage.qmldeleted−83
@@ -1,83 +0,0 @@
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− * Renato Araujo Oliveira Filho <renato@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−import Unity.IndicatorsLegacy 0.1 as Indicators
22−import Unity.IndicatorsLegacy.Network 0.1 as ICNetwork
23−import Ubuntu.Components 0.1
24−
25−PageStack {
26− id: networkPage
27− // Stops the search for a parent tree node.
28− // We don't want it going up to the indicator tabs.
29− // FIXME: need a better way of doing this.
30− // https://bugs.launchpad.net/ubuntu-ui-toolkit/+bug/1211704
31− __propagated: null
32−
33− property alias title: _mainPage.title
34− property alias emptyText: pluginItem.emptyText
35− property alias busType: pluginItem.busType
36− property alias busName: pluginItem.busName
37− property alias actionsObjectPath : pluginItem.actionsObjectPath
38− property alias menuObjectPaths : pluginItem.menuObjectPaths
39−
40− anchors.fill: parent
41−
42− Page {
43− id: _mainPage
44−
45− Indicators.IndicatorPage {
46− id: pluginItem
47− anchors.fill: parent
48− }
49− }
50−
51− Component {
52− id: passwordPageComponent
53−
54− ICNetwork.PasswordPage {
55− agent: networkAgent
56− }
57− }
58−
59− ICNetwork.NetworkAgent {
60− id: networkAgent
61−
62− onSecretRequested: {
63− networkPage.push(passwordPageComponent, {"token": token});
64− }
65− }
66−
67− function start()
68− {
69− push(_mainPage);
70− pluginItem.start();
71− }
72−
73− function stop()
74− {
75− clear();
76− pluginItem.stop();
77− }
78−
79− function reset()
80− {
81− pluginItem.reset();
82− }
83−}
Panel/Indicators/NetworkIndicatorPage2.qmldeleted−82
@@ -1,82 +0,0 @@
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− * Renato Araujo Oliveira Filho <renato@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−import Unity.Indicators 0.1 as Indicators
22−import Unity.Indicators.Network 0.1 as ICNetwork
23−import Ubuntu.Components 0.1
24−
25−PageStack {
26− id: networkPage
27− // Stops the search for a parent tree node.
28− // We don't want it going up to the indicator tabs.
29− // FIXME: need a better way of doing this.
30− // https://bugs.launchpad.net/ubuntu-ui-toolkit/+bug/1211704
31− __propagated: null
32−
33− property alias title: _mainPage.title
34− property alias emptyText: pluginItem.emptyText
35− property alias busName: pluginItem.busName
36− property alias actionsObjectPath : pluginItem.actionsObjectPath
37− property alias menuObjectPaths : pluginItem.menuObjectPaths
38−
39− anchors.fill: parent
40−
41− Page {
42− id: _mainPage
43−
44− Indicators.IndicatorPage {
45− id: pluginItem
46− anchors.fill: parent
47− }
48− }
49−
50− Component {
51− id: passwordPageComponent
52−
53− ICNetwork.PasswordPage {
54− agent: networkAgent
55− }
56− }
57−
58− ICNetwork.NetworkAgent {
59− id: networkAgent
60−
61− onSecretRequested: {
62− networkPage.push(passwordPageComponent, {"token": token});
63− }
64− }
65−
66− function start()
67− {
68− push(_mainPage);
69− pluginItem.start();
70− }
71−
72− function stop()
73− {
74− clear();
75− pluginItem.stop();
76− }
77−
78− function reset()
79− {
80− pluginItem.reset();
81− }
82−}
Panel/Indicators/NetworkIndicatorWidget.qmldeleted−112
@@ -1,112 +0,0 @@
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− * Nick Dedekind <nick.dedekind@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−import Ubuntu.Components 0.1
22−import Unity.IndicatorsLegacy 0.1 as Indicators
23−
24−Indicators.IndicatorWidget {
25− id: indicatorWidget
26−
27− width: networkIcon.width + units.gu(0.5)
28−
29− property int signalStrength: 0
30− property int connectionState: Indicators.NetworkConnection.Initial
31− rootMenuType: "com.canonical.indicator.root.network"
32−
33− // FIXME : Should us Ubuntu.Icon . results in low res images
34− Image {
35− id: networkIcon
36− objectName: "itemImage"
37− source: get_icon_for_signal(connectionState, signalStrength)
38− visible: source != ""
39− height: indicatorWidget.iconSize
40− width: indicatorWidget.iconSize
41− anchors.centerIn: parent
42− }
43−
44− onActionStateChanged: {
45− if (action == undefined || !action.valid) {
46− enabled = false;
47− return;
48− }
49−
50− if (action.state == undefined) {
51− enabled = false;
52− connectionState = 0;
53− return;
54− }
55−
56− enabled = true;
57− connectionState = action.state[Indicators.NetworkActionState.Connection];
58− if (connectionState == Indicators.NetworkConnection.Activated) {
59− signalStrength = action.state[Indicators.NetworkActionState.SignalStrength];
60− }
61− }
62−
63− NumberAnimation {
64− id: activation_animation
65− target: indicatorWidget
66− property: "signalStrength"
67− from: 0
68− to: 100
69− duration: 2500 // 5 states in 2.5 seconds
70− loops: Animation.Infinite
71− }
72−
73− states: [
74− State {
75− name: "unknown"
76− when: connectionState < Indicators.NetworkConnection.Activating || connectionState > Indicators.NetworkConnection.Deactivating
77− PropertyChanges { target: activation_animation; running: false }
78− },
79− State {
80− name: "activating"
81− when: connectionState == Indicators.NetworkConnection.Activating
82− PropertyChanges { target: activation_animation; running: true }
83− },
84− State {
85− name: "activated"
86− when: connectionState == Indicators.NetworkConnection.Activated
87− PropertyChanges { target: activation_animation; running: false }
88− },
89− State {
90− name: "deactivating"
91− when: connectionState == Indicators.NetworkConnection.Deactivating
92− PropertyChanges { target: activation_animation; running: true }
93− }
94− ]
95−
96−
97− function get_icon_for_signal(con_state, value) {
98− if (con_state >= Indicators.NetworkConnection.Activating && con_state <= Indicators.NetworkConnection.Deactivating) {
99− if (value == 0) {
100− return "image://theme/nm-signal-00";
101− } else if (value <= 25) {
102− return "image://theme/nm-signal-25";
103− } else if (value <= 50) {
104− return "image://theme/nm-signal-50";
105− } else if (value <= 75) {
106− return "image://theme/nm-signal-75";
107− }
108− return "image://theme/nm-signal-100";
109− }
110− return "image://theme/wifi-none";
111− }
112−}
Panel/Indicators/SoundIndicatorWidget.qmldeleted−26
@@ -1,26 +0,0 @@
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− * Nick Dedekind <nick.dedekind@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−
22−DefaultIndicatorWidget {
23− // default the icon so we have something to show when we don't have the bus.
24− iconSource: "image://theme/audio-volume-high"
25− enabled: true
26−}
Panel/Indicators/client/IndicatorsList.qml+16−14
@@ -20,7 +20,7 @@
20import QtQuick 2.0
20import QtQuick 2.0
21import Ubuntu.Components 0.1
21import Ubuntu.Components 0.1
22import Ubuntu.Components.ListItems 0.1 as ListItem
22import Ubuntu.Components.ListItems 0.1 as ListItem
23−import Unity.IndicatorsLegacy 0.1 as Indicators
23+import Unity.Indicators 0.1 as Indicators
24import "../.."
24import "../.."
25
25
26Page {
26Page {
@@ -28,8 +28,10 @@ Page {
28 anchors.fill: parent
28 anchors.fill: parent
29 title: "Plugin list"
29 title: "Plugin list"
30
30
31− IndicatorsDataModel {
31+ Indicators.IndicatorsModel {
32 id: indicatorsModel
32 id: indicatorsModel
33+
34+ Component.onCompleted: load()
33 }
35 }
34
36
35 ListView {
37 ListView {
@@ -38,24 +40,24 @@ Page {
38 anchors.fill: parent
40 anchors.fill: parent
39 model: indicatorsModel
41 model: indicatorsModel
40
42
41− delegate: Indicators.MenuItem {
43+ delegate: Indicators.FramedMenuItem {
42 anchors.left: parent.left
44 anchors.left: parent.left
43 anchors.right: parent.right
45 anchors.right: parent.right
44− progression: isValid
45 objectName: identifier
46 objectName: identifier
46
47
47− Label {
48− anchors.left: parent.left
49− anchors.leftMargin: units.gu(0.5)
50− anchors.verticalCenter: parent.verticalCenter
51− text: title
48+ text: title
52− }
53
49
54 onClicked: {
50 onClicked: {
55− if (progression) {
56− var new_page = Qt.createComponent("IndicatorsPage.qml");
51+ var new_page = Qt.createComponent("IndicatorsPage.qml");
57− page.pageStack.push(new_page.createObject(pages), {"indicatorProperties" : model.indicatorProperties, "pageSource" : model.pageSource});
52+ page.pageStack.push(new_page.createObject(pages), {"indicatorProperties" : model.indicatorProperties, "pageSource" : model.pageSource});
58− }
53+ }
54+
55+ Rectangle {
56+ id: background
57+
58+ anchors.fill: parent
59+ color: "#221e1c"
60+ z: -1
59 }
61 }
60 }
62 }
61 }
63 }
Panel/Indicators/client/IndicatorsTree.qml+4
@@ -44,6 +44,10 @@ Page {
44 menuObjectPath: page.deviceMenuObjectPath
44 menuObjectPath: page.deviceMenuObjectPath
45 }
45 }
46
46
47+ Indicators.RootActionState {
48+ menu: unityModel
49+ }
50+
47 Indicators.ModelPrinter {
51 Indicators.ModelPrinter {
48 id: printer
52 id: printer
49 model: unityModel
53 model: unityModel
Panel/IndicatorsDataModel.qmldeleted−79
@@ -1,79 +0,0 @@
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− * Renato Araujo Oliveira Filho <renato@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−import Unity.Indicators 0.1 as Indicators
22−import Utils 0.1
23−
24−Indicators.IndicatorsModel {
25− id: ic_model
26−
27− Component.onCompleted: load()
28−
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− },
36− 'indicator-bluetooth' : {
37− 'title': 'Bluetooth',
38− 'description' : '',
39− 'widgetSource' : ApplicationPaths.shellAppDirectory()+'/Panel/Indicators/DefaultIndicatorWidget2.qml',
40− 'pageSource' : ApplicationPaths.shellAppDirectory()+'/Panel/Indicators/DefaultIndicatorPage2.qml'
41− },
42− 'indicator-messages' : {
43− 'title': 'Messaging',
44− 'description' : '',
45− 'widgetSource' : ApplicationPaths.shellAppDirectory()+'/Panel/Indicators/DefaultIndicatorWidget2.qml',
46− 'pageSource' : ApplicationPaths.shellAppDirectory()+'/Panel/Indicators/DefaultIndicatorPage2.qml'
47− },
48− 'indicator-sound' : {
49− 'title': 'Sound',
50− 'description' : '',
51− 'widgetSource' : ApplicationPaths.shellAppDirectory()+'/Panel/Indicators/DefaultIndicatorWidget2.qml',
52− 'pageSource' : ApplicationPaths.shellAppDirectory()+'/Panel/Indicators/DefaultIndicatorPage2.qml'
53− },
54− 'indicator-network' : {
55− 'title': 'Networks',
56− 'description' : '',
57− 'widgetSource' : ApplicationPaths.shellAppDirectory()+'/Panel/Indicators/DefaultIndicatorWidget2.qml',
58− 'pageSource' : ApplicationPaths.shellAppDirectory()+'/Panel/Indicators/NetworkIndicatorPage2.qml'
59− },
60− 'indicator-power' : {
61− 'title': 'Battery',
62− 'description' : '',
63− 'widgetSource' : ApplicationPaths.shellAppDirectory()+'/Panel/Indicators/DefaultIndicatorWidget2.qml',
64− 'pageSource' : ApplicationPaths.shellAppDirectory()+'/Panel/Indicators/DefaultIndicatorPage2.qml'
65− },
66− 'indicator-session' : {
67− 'title': 'Session',
68− 'description' : '',
69− 'widgetSource' : ApplicationPaths.shellAppDirectory()+'/Panel/Indicators/DefaultIndicatorWidget2.qml',
70− 'pageSource' : ApplicationPaths.shellAppDirectory()+'/Panel/Indicators/DefaultIndicatorPage2.qml'
71− },
72− 'indicator-datetime' : {
73− 'title': 'Date and Time',
74− 'description' : '',
75− 'widgetSource' : ApplicationPaths.shellAppDirectory()+'/Panel/Indicators/DefaultIndicatorWidget2.qml',
76− 'pageSource' : ApplicationPaths.shellAppDirectory()+'/Panel/Indicators/DefaultIndicatorPage2.qml'
77− }
78− }
79−}
Panel/MenuContent.qml+9−2
@@ -100,16 +100,17 @@ MainView {
100 Tab {
100 Tab {
101 id: tab
101 id: tab
102 objectName: model.identifier
102 objectName: model.identifier
103− title: model.title
104
103
105 page: Page {
104 page: Page {
106 Loader {
105 Loader {
106+ id: loader
107 clip: true
107 clip: true
108 anchors.fill: parent
108 anchors.fill: parent
109 source: pageSource
109 source: pageSource
110 asynchronous: true
110 asynchronous: true
111
111
112− property bool contentActive: content.__contentActive && menuActivator.content[index].active
112+ readonly property bool indexActive: index >= 0 && index < menuActivator.count && menuActivator.content[index].active
113+ readonly property bool contentActive: content.__contentActive && indexActive
113
114
114 onContentActiveChanged: {
115 onContentActiveChanged: {
115 if (contentActive && item) {
116 if (contentActive && item) {
@@ -136,6 +137,12 @@ MainView {
136 item.start()
137 item.start()
137 }
138 }
138 }
139 }
140+
141+ Binding {
142+ target: tab
143+ property: "title"
144+ value: loader.item && loader.item.hasOwnProperty("title") && loader.item.title !== "" ? loader.item.title : model.identifier
145+ }
139 }
146 }
140 }
147 }
141 }
148 }
Shell.qml+3−1
@@ -623,6 +623,7 @@ FocusScope {
623 }
623 }
624
624
625 Bottombar {
625 Bottombar {
626+ id: bottombar
626 theHud: hud
627 theHud: hud
627 anchors.fill: parent
628 anchors.fill: parent
628 enabled: hud.available
629 enabled: hud.available
@@ -650,7 +651,7 @@ FocusScope {
650 onDashItemSelected: showHome()
651 onDashItemSelected: showHome()
651 onDash: {
652 onDash: {
652 if (stages.shown) {
653 if (stages.shown) {
653− dash.setCurrentScope("applications.scope", true, false)
654+ dash.setCurrentScope("applications.scope", true /* animate */, true /* reset */)
654 stages.hide();
655 stages.hide();
655 launcher.hide();
656 launcher.hide();
656 }
657 }
@@ -663,6 +664,7 @@ FocusScope {
663 if (shown) {
664 if (shown) {
664 panel.indicators.hide()
665 panel.indicators.hide()
665 hud.hide()
666 hud.hide()
667+ bottombar.hide()
666 }
668 }
667 }
669 }
668 }
670 }
debian/changelog+81
@@ -1,3 +1,84 @@
1+unity8 (7.82+13.10.20131004.1-0ubuntu1) saucy; urgency=low
2+
3+ [ Michał Sawicz ]
4+ * Bump to indicate support for extended snap decisions.
5+ * Make Tile themeable, add renderers for Dash Plugins and weather.
6+ (LP: #1231948)
7+ * Drop network agents now that they're in indicator-network instead.
8+
9+ [ Michal Hruby ]
10+ * Differentiate generic and music carousels.
11+ * Use the thumbnailer image provider for scope results that don't
12+ specify icon as well as for previews.
13+ * Added an indicator which is displayed in the search bar whenever a
14+ search is in progress. Added accompanying test in tst_PageHeader.
15+ * Expose rendererHint to shell.
16+
17+ [ Albert Astals ]
18+ * Update pot file. (LP: #1232374)
19+ * Only enable the animation when the item is on screen (i.e. !culled)
20+ . (LP: #1200374)
21+ * Do not crash on positionAtBeginning if the list is empty .
22+ * Enable/disable running apps height animation in a less error prone
23+ way.
24+
25+ [ Michael Terry ]
26+ * Use a chevron after 'Skip intro' and drop the underlining.
27+ * Load testability driver when QT_LOAD_TESTABILITY is set. (LP:
28+ #1226234)
29+ * Listen to the system setting StatsWelcomeScreen, which tells us
30+ whether to show user-specific infographic data in the greeter. (LP:
31+ #1207857)
32+
33+ [ Gerry Boland ]
34+ * WM: ensure focusedApplicationWhenUsingScreenshots reset when unused,
35+ and only used when set. Fixes window focus conflict between shell
36+ and ApplicationManager.
37+
38+ [ Nick Dedekind ]
39+ * Removed deprecated Unity.IndicatorsLegacy plugin.
40+ * Added actionState parser to the indicators-client text printer so
41+ that we get the icon.
42+ * Moved indicator page titles to the root action state of menu model.
43+ (LP: #1223635)
44+
45+ [ Mirco Müller ]
46+ * Added rendering- and interaction-support for the first three
47+ extended snap-decision dialog-cases password-entry, user-
48+ authentication and simunlock.
49+
50+ [ Daniel d'Andrada ]
51+ * Revert the reversion of r304 since it doesn't seem to crash anymore
52+ Original commit was Reset apps scope when returning from app to dash
53+ (LP #1193419) If an app is on foreground and you perform a long
54+ left-edge swipe to minimize it, and therefore return to the dash,
55+ the dash should be in the Applications scope and showing the
56+ running/recents applications. (LP: #1193419)
57+
58+ [ Andrea Cimitan ]
59+ * Add behaviours to the hud reveal. (LP: #1224480, #1224633)
60+ * Make Tile themeable, add renderers for Dash Plugins and weather.
61+ (LP: #1231948)
62+
63+ [ Michael Zanetti ]
64+ * fix inserting into quicklistmodel.
65+ * Drop useStorage argument and use exising LAUNCHER_TESTING define for
66+ this decision.
67+
68+ [ Omer Akram ]
69+ * Make the volume/brightness slider changes realtime. (LP: #1227595)
70+
71+ [ Nicolas d'Offay ]
72+ * Fixed black colour on the first of the month due to division. (LP:
73+ #1233657)
74+ * Added an indicator which is displayed in the search bar whenever a
75+ search is in progress. Added accompanying test in tst_PageHeader.
76+
77+ [ Ubuntu daily release ]
78+ * Automatic snapshot from revision 390
79+
80+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Fri, 04 Oct 2013 06:55:16 +0000
81+
1unity8 (7.81.3+13.10.20130927.3-0ubuntu1) saucy; urgency=low
82unity8 (7.81.3+13.10.20130927.3-0ubuntu1) saucy; urgency=low
2
83
3 [ Michal Hruby ]
84 [ Michal Hruby ]
debian/control+3−7
@@ -14,8 +14,6 @@ Build-Depends: cmake,
14 libjson-perl,
14 libjson-perl,
15 libnih-dbus-dev,
15 libnih-dbus-dev,
16 libnih-dev,
16 libnih-dev,
17− libnm-glib-dev,
18− libnm-util-dev,
19 libpulse-dev,
17 libpulse-dev,
20 libqmenumodel-dev (>= 0.2.7),
18 libqmenumodel-dev (>= 0.2.7),
21 libqt5v8-5-private-dev,
19 libqt5v8-5-private-dev,
@@ -74,16 +72,14 @@ Depends: gsettings-desktop-schemas,
74 qtdeclarative5-unity-notifications-plugin | unity-notifications-impl,
72 qtdeclarative5-unity-notifications-plugin | unity-notifications-impl,
75 qtdeclarative5-xmllistmodel-plugin,
73 qtdeclarative5-xmllistmodel-plugin,
76 unity-launcher-impl-3,
74 unity-launcher-impl-3,
77− unity-notifications-impl-1,
75+ unity-notifications-impl-2,
78 unity8-fake-env | qtubuntu-shell,
76 unity8-fake-env | qtubuntu-shell,
79 unity8-private (= ${binary:Version}),
77 unity8-private (= ${binary:Version}),
80 unity8-private | unity-launcher-impl,
78 unity8-private | unity-launcher-impl,
81 ${misc:Depends},
79 ${misc:Depends},
82 ${shlibs:Depends},
80 ${shlibs:Depends},
83−Recommends: indicator-battery,
84− indicator-messages,
85− indicator-time,
86− ${unity-default-masterscopes},
81+Recommends: ${unity-default-masterscopes},
82+Breaks: indicator-network (<< 0.5.1)
87Description: Unity 8 shell
83Description: Unity 8 shell
88 The Unity 8 shell is the primary user interface for Ubuntu devices.
84 The Unity 8 shell is the primary user interface for Ubuntu devices.
89
85
main.cpp+1−1
@@ -113,7 +113,7 @@ int startShell(int argc, const char** argv, void* server)
113
113
114 // The testability driver is only loaded by QApplication but not by QGuiApplication.
114 // The testability driver is only loaded by QApplication but not by QGuiApplication.
115 // However, QApplication depends on QWidget which would add some unneeded overhead => Let's load the testability driver on our own.
115 // However, QApplication depends on QWidget which would add some unneeded overhead => Let's load the testability driver on our own.
116− if (args.contains(QLatin1String("-testability"))) {
116+ if (args.contains(QLatin1String("-testability")) || getenv("QT_LOAD_TESTABILITY")) {
117 QLibrary testLib(QLatin1String("qttestability"));
117 QLibrary testLib(QLatin1String("qttestability"));
118 if (testLib.load()) {
118 if (testLib.load()) {
119 typedef void (*TasInitialize)(void);
119 typedef void (*TasInitialize)(void);
plugins/AccountsService/AccountsService.cpp+19
@@ -44,6 +44,7 @@ void AccountsService::setUser(const QString &user)
44
44
45 updateDemoEdges();
45 updateDemoEdges();
46 updateBackgroundFile();
46 updateBackgroundFile();
47+ updateStatsWelcomeScreen();
47}
48}
48
49
49bool AccountsService::demoEdges() const
50bool AccountsService::demoEdges() const
@@ -62,6 +63,11 @@ QString AccountsService::backgroundFile() const
62 return m_backgroundFile;
63 return m_backgroundFile;
63}
64}
64
65
66+bool AccountsService::statsWelcomeScreen() const
67+{
68+ return m_statsWelcomeScreen;
69+}
70+
65void AccountsService::updateDemoEdges()
71void AccountsService::updateDemoEdges()
66{
72{
67 auto demoEdges = m_service->getUserProperty(m_user, "com.canonical.unity.AccountsService", "demo-edges").toBool();
73 auto demoEdges = m_service->getUserProperty(m_user, "com.canonical.unity.AccountsService", "demo-edges").toBool();
@@ -80,6 +86,15 @@ void AccountsService::updateBackgroundFile()
80 }
86 }
81}
87}
82
88
89+void AccountsService::updateStatsWelcomeScreen()
90+{
91+ bool statsWelcomeScreen = m_service->getUserProperty(m_user, "com.ubuntu.touch.AccountsService.SecurityPrivacy", "StatsWelcomeScreen").toBool();
92+ if (m_statsWelcomeScreen != statsWelcomeScreen) {
93+ m_statsWelcomeScreen = statsWelcomeScreen;
94+ Q_EMIT statsWelcomeScreenChanged();
95+ }
96+}
97+
83void AccountsService::propertiesChanged(const QString &user, const QString &interface, const QStringList &changed)
98void AccountsService::propertiesChanged(const QString &user, const QString &interface, const QStringList &changed)
84{
99{
85 if (m_user != user) {
100 if (m_user != user) {
@@ -90,6 +105,10 @@ void AccountsService::propertiesChanged(const QString &user, const QString &inte
90 if (changed.contains("demo-edges")) {
105 if (changed.contains("demo-edges")) {
91 updateDemoEdges();
106 updateDemoEdges();
92 }
107 }
108+ } else if (interface == "com.ubuntu.touch.AccountsService.SecurityPrivacy") {
109+ if (changed.contains("StatsWelcomeScreen")) {
110+ updateStatsWelcomeScreen();
111+ }
93 }
112 }
94}
113}
95
114
plugins/AccountsService/AccountsService.h+7
@@ -38,6 +38,9 @@ class AccountsService: public QObject
38 Q_PROPERTY (QString backgroundFile
38 Q_PROPERTY (QString backgroundFile
39 READ backgroundFile
39 READ backgroundFile
40 NOTIFY backgroundFileChanged)
40 NOTIFY backgroundFileChanged)
41+ Q_PROPERTY (bool statsWelcomeScreen
42+ READ statsWelcomeScreen
43+ NOTIFY statsWelcomeScreenChanged)
41
44
42public:
45public:
43 explicit AccountsService(QObject *parent = 0);
46 explicit AccountsService(QObject *parent = 0);
@@ -47,11 +50,13 @@ public:
47 bool demoEdges() const;
50 bool demoEdges() const;
48 void setDemoEdges(bool demoEdges);
51 void setDemoEdges(bool demoEdges);
49 QString backgroundFile() const;
52 QString backgroundFile() const;
53+ bool statsWelcomeScreen() const;
50
54
51Q_SIGNALS:
55Q_SIGNALS:
52 void userChanged();
56 void userChanged();
53 void demoEdgesChanged();
57 void demoEdgesChanged();
54 void backgroundFileChanged();
58 void backgroundFileChanged();
59+ void statsWelcomeScreenChanged();
55
60
56private Q_SLOTS:
61private Q_SLOTS:
57 void propertiesChanged(const QString &user, const QString &interface, const QStringList &changed);
62 void propertiesChanged(const QString &user, const QString &interface, const QStringList &changed);
@@ -60,11 +65,13 @@ private Q_SLOTS:
60private:
65private:
61 void updateDemoEdges();
66 void updateDemoEdges();
62 void updateBackgroundFile();
67 void updateBackgroundFile();
68+ void updateStatsWelcomeScreen();
63
69
64 AccountsServiceDBusAdaptor *m_service;
70 AccountsServiceDBusAdaptor *m_service;
65 QString m_user;
71 QString m_user;
66 bool m_demoEdges;
72 bool m_demoEdges;
67 QString m_backgroundFile;
73 QString m_backgroundFile;
74+ bool m_statsWelcomeScreen;
68};
75};
69
76
70#endif
77#endif
plugins/ListViewWithPageHeader/listviewwithpageheader.cpp+3
@@ -327,6 +327,9 @@ void ListViewWithPageHeader::setForceNoClip(bool noClip)
327
327
328void ListViewWithPageHeader::positionAtBeginning()
328void ListViewWithPageHeader::positionAtBeginning()
329{
329{
330+ if (m_delegateModel->count() <= 0)
331+ return;
332+
330 qreal headerHeight = (m_headerItem ? m_headerItem->height() : 0);
333 qreal headerHeight = (m_headerItem ? m_headerItem->height() : 0);
331 if (m_firstVisibleIndex != 0) {
334 if (m_firstVisibleIndex != 0) {
332 // TODO This could be optimized by trying to reuse the interesection
335 // TODO This could be optimized by trying to reuse the interesection
plugins/Unity/CMakeLists.txt−1
@@ -2,7 +2,6 @@
2include(Plugins)
2include(Plugins)
3
3
4add_subdirectory(Indicators)
4add_subdirectory(Indicators)
5−add_subdirectory(IndicatorsLegacy)
6
5
7# Dependencies
6# Dependencies
8include(FindPkgConfig)
7include(FindPkgConfig)
plugins/Unity/Indicators/Messaging/qml/QuickReply.qml+1−1
@@ -20,7 +20,7 @@
20
20
21import QtQuick 2.0
21import QtQuick 2.0
22import Ubuntu.Components 0.1
22import Ubuntu.Components 0.1
23−import Unity.IndicatorsLegacy 0.1 as Indicators
23+import Unity.Indicators 0.1 as Indicators
24
24
25Item {
25Item {
26 id: quickReply
26 id: quickReply
plugins/Unity/Indicators/Network/CMakeLists.txt−44
@@ -1,45 +1 @@
1−# export_qmlplugin macro
2−include(Plugins)
3−
4−project(IndicatorsNetworkQml)
5−
6−pkg_check_modules(GLIB glib-2.0>=2.32)
7−pkg_check_modules(LIBNM_GLIB libnm-glib>=0.9.6)
8−pkg_check_modules(LIBNM_UTIL libnm-util>=0.9.6)
9−
10−if(LIBNM_GLIB_FOUND AND LIBNM_UTIL_FOUND AND GLIB_FOUND)
11− set(INDICATORS_NETWORK_SRC
12− networkagent.cpp
13− plugin.cpp
14− secret-agent.c
15− )
16−
17− add_library(IndicatorsNetworkQml MODULE
18− ${INDICATORS_NETWORK_SRC}
19− )
20−
21− qt5_use_modules(IndicatorsNetworkQml Core Qml Widgets)
22−
23− set_target_properties(IndicatorsNetworkQml PROPERTIES COMPILE_FLAGS -fPIC)
24−
25− include_directories(
26− ${CMAKE_CURRENT_SOURCE_DIR}
27− ${GLIB_INCLUDE_DIRS}
28− ${LIBNM_GLIB_INCLUDE_DIRS}
29− ${LIBNM_UTIL_INCLUDE_DIRS}
30− )
31−
32− target_link_libraries(IndicatorsNetworkQml
33− ${GLIB_LIBRARIES}
34− ${LIBNM_GLIB_LIBRARIES}
35− ${LIBNM_UTIL_LIBRARIES}
36− )
37−
38− # export the qmltypes and plugin files
39− export_qmlplugin(Unity.Indicators.Network 0.1 Unity/Indicators/Network TARGETS IndicatorsNetworkQml)
40−
41−else()
42− message(WARNING "Missing glib or libnm dependency for the network plugin, not building")
43−endif()
44−
45add_subdirectory(qml)
1add_subdirectory(qml)
plugins/Unity/Indicators/Network/networkagent.cppdeleted−146
@@ -1,146 +0,0 @@
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− * Alberto Ruiz <alberto.ruiz@canonical.com>
18− * Renato Araujo Oliveira Filho <renato@canonical.com>
19− */
20−
21−#include "networkagent.h"
22−
23−#include <QVariant>
24−#include <QApplication>
25−#include <QDebug>
26−
27−class NetworkAgentToken
28−{
29−public:
30− NMConnection *connection;
31− NMSettingWirelessSecurity *wisec;
32− guint id;
33− QByteArray keyMgmt;
34−
35− NetworkAgentToken(NMConnection *connection,
36− NMSettingWirelessSecurity *wisec,
37− guint id,
38− QByteArray keyMgmt)
39− : connection(connection),
40− wisec(wisec),
41− id(id),
42− keyMgmt(keyMgmt)
43− {
44− if (connection) {
45− g_object_ref(connection);
46− } else {
47− qWarning() << "invalid connection object";
48− }
49− }
50−
51− ~NetworkAgentToken()
52− {
53− if (connection) {
54− g_object_unref(connection);
55− }
56− }
57−};
58−
59−NetworkAgent::NetworkAgent(QObject *parent)
60− : QObject(parent)
61−{
62− m_agent = unity_settings_secret_agent_new();
63− g_signal_connect(G_OBJECT(m_agent),
64− UNITY_SETTINGS_SECRET_AGENT_SECRET_REQUESTED,
65− G_CALLBACK(onSecretRequested),
66− this);
67−
68− g_signal_connect(G_OBJECT(m_agent),
69− UNITY_SETTINGS_SECRET_AGENT_REQUEST_CANCELLED,
70− G_CALLBACK(onSecretRequestCancelled),
71− this);
72−}
73−
74−NetworkAgent::~NetworkAgent()
75−{
76− nm_secret_agent_unregister(NM_SECRET_AGENT(m_agent));
77− g_object_unref(m_agent);
78−}
79−
80−void NetworkAgent::authenticate(const QVariant &token, const QString &key)
81−{
82− NetworkAgentToken *pToken = (NetworkAgentToken *) token.value<void *>();
83− if (pToken == NULL) {
84− return;
85− }
86−
87− if ((pToken->keyMgmt == "wpa-none") || (pToken->keyMgmt == "wpa-psk")) {
88− g_object_set(G_OBJECT(pToken->wisec),
89− NM_SETTING_WIRELESS_SECURITY_PSK, qPrintable(key),
90− NULL);
91− } else if (pToken->keyMgmt == "none") {
92− g_object_set(G_OBJECT(pToken->wisec),
93− NM_SETTING_WIRELESS_SECURITY_WEP_KEY0, qPrintable(key),
94− NULL);
95− }
96−
97− GHashTable *settings = nm_connection_to_hash(pToken->connection,
98− NM_SETTING_HASH_FLAG_ALL);
99−
100− unity_settings_secret_agent_provide_secret(m_agent,
101− pToken->id, settings);
102− g_hash_table_unref(settings);
103− delete pToken;
104−}
105−
106−void NetworkAgent::cancel(const QVariant &token)
107−{
108− NetworkAgentToken *pToken = (NetworkAgentToken *) token.value<void *>();
109− if (pToken != NULL) {
110− unity_settings_secret_agent_cancel_request(m_agent, pToken->id);
111− delete pToken;
112− }
113−}
114−
115−void NetworkAgent::onSecretRequested(UnitySettingsSecretAgent* /*agent*/,
116− guint id,
117− NMConnection* connection,
118− const char* /*setting_name*/,
119− const char** /*hints*/,
120− NMSecretAgentGetSecretsFlags /*flags*/,
121− NetworkAgent* self)
122−{
123− NetworkAgentToken *token = new NetworkAgentToken(connection,
124− NULL,
125− id,
126− NULL);
127−
128− token->wisec = nm_connection_get_setting_wireless_security(connection);
129− if (token->wisec) {
130− token->keyMgmt = nm_setting_wireless_security_get_key_mgmt(token->wisec);
131− }
132−
133− QVariant varToken = qVariantFromValue((void *) token);
134− Q_EMIT self->secretRequested(varToken);
135−}
136−
137−void NetworkAgent::onSecretRequestCancelled(UnitySettingsSecretAgent* /*agent*/,
138− guint /*id*/,
139− NMConnection* /*connection*/,
140− const char* /*setting_name*/,
141− const char** /*hints*/,
142− NMSecretAgentGetSecretsFlags /*flags*/,
143− NetworkAgent* /*self*/)
144−{
145− //Do nothing for now
146−}
plugins/Unity/Indicators/Network/networkagent.hdeleted−65
@@ -1,65 +0,0 @@
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− * Alberto Ruiz <alberto.ruiz@canonical.com>
18− * Renato Araujo Oliveira Filho <renato@canonical.com>
19− */
20−
21−#ifndef NETWORKAGENT_H
22−#define NETWORKAGENT_H
23−
24−#include "secret-agent.h"
25−
26−#include <QObject>
27−
28−class NetworkAgentToken;
29−
30−class NetworkAgent : public QObject
31−{
32− Q_OBJECT
33−public:
34− NetworkAgent(QObject *parent=0);
35− ~NetworkAgent();
36−
37− Q_INVOKABLE void authenticate(const QVariant &token, const QString &key);
38− Q_INVOKABLE void cancel(const QVariant &token);
39−
40−Q_SIGNALS:
41− void secretRequested(const QVariant &token);
42− void secretRequestCancelled();
43−
44−private:
45− UnitySettingsSecretAgent *m_agent;
46−
47− static void onSecretRequested(UnitySettingsSecretAgent *agent,
48− guint id,
49− NMConnection *connection,
50− const char *setting_name,
51− const char **hints,
52− NMSecretAgentGetSecretsFlags flags,
53− NetworkAgent *self);
54−
55− static void onSecretRequestCancelled(UnitySettingsSecretAgent *agent,
56− guint id,
57− NMConnection *connection,
58− const char *setting_name,
59− const char **hints,
60− NMSecretAgentGetSecretsFlags flags,
61− NetworkAgent *self);
62−
63−};
64−
65−#endif
plugins/Unity/Indicators/Network/plugin.hdeleted−32
@@ -1,32 +0,0 @@
1−/*
2− * Copyright (C) 2012 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: Nick Dedekind <nick.dedekind@canonical.com>
17− */
18−
19−#ifndef INDICATORS_NETWORK_PLUGIN_H
20−#define INDICATORS_NETWORK_PLUGIN_H
21−
22−#include <QtQml/QQmlExtensionPlugin>
23−
24−class IndicatorsNetworkPlugin : public QQmlExtensionPlugin
25−{
26− Q_OBJECT
27− Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
28−public:
29− void registerTypes(const char *uri);
30−};
31−
32−#endif // INDICATORS_NETWORK_PLUGIN_H
plugins/Unity/Indicators/Network/qml/PasswordPage.qmldeleted−88
@@ -1,88 +0,0 @@
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− * Renato Araujo Oliveira Filho <renato@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−import Ubuntu.Components 0.1
22−import Ubuntu.Components.ListItems 0.1 as ListItem
23−import Unity.Indicators 0.1 as Indicators
24−
25−Page {
26− id: pagePassword
27−
28− property variant agent
29− property variant token
30−
31− anchors.fill: parent
32− title: "Network Authentication"
33−
34− Column {
35− anchors {
36− left: parent.left
37− right: parent.right
38− }
39−
40− Indicators.SectionMenuItem {
41− text: "Authentication"
42− }
43−
44− Indicators.FramedMenuItem {
45− implicitHeight: password.height + units.gu(1)
46−
47− PasswordTextField {
48− id: password
49− anchors {
50− left: parent.left
51− right: parent.right
52− margins: units.gu(3)
53− verticalCenter: parent.verticalCenter
54− }
55− }
56− }
57−
58− Indicators.FramedMenuItem {
59− Row {
60− anchors {
61− right: parent.right
62− verticalCenter: parent.verticalCenter
63− margins: units.gu(3)
64− }
65−
66− spacing: units.gu(1)
67−
68− Button {
69− text: "Cancel"
70− width: units.gu(10)
71− onClicked: {
72− agent.cancel(token);
73− pageStack.pop();
74− }
75− }
76−
77− Button {
78− text: "OK"
79− width: units.gu(10)
80− onClicked: {
81− agent.authenticate(token, password.text);
82− pageStack.pop();
83− }
84− }
85− }
86− }
87− }
88−}
plugins/Unity/Indicators/Network/qml/PasswordTextField.qmldeleted−68
@@ -1,68 +0,0 @@
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− * Renato Araujo Oliveira Filho <renato@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−import Ubuntu.Components 0.1
22−
23−Item {
24− id: textMenu
25−
26− property alias text: textField.text
27−
28− height: contentColumn.height
29−
30− Column {
31− id: contentColumn
32− spacing: units.gu(0.5)
33− anchors {
34− left: parent.left
35− right: parent.right
36− }
37−
38− TextField {
39− id: textField
40−
41− anchors {
42− left: parent.left
43− right: parent.right
44− }
45−
46− placeholderText: "Password"
47− echoMode: showPassword.checked ? TextInput.Normal : TextInput.Password
48− }
49−
50− Row {
51− anchors {
52− left: parent.left
53− right: parent.right
54− }
55−
56− spacing: units.gu(1)
57−
58− CheckBox {
59− id: showPassword
60− }
61−
62− Label {
63− text: "Show password"
64− anchors.verticalCenter: showPassword.verticalCenter
65− }
66− }
67− }
68−}
plugins/Unity/Indicators/Network/qml/qmldir−5
@@ -1,8 +1,3 @@
1module Unity.Indicators.Network
1module Unity.Indicators.Network
2−plugin IndicatorsNetworkQml
3−typeinfo plugin.qmltypes
4
2
5−NetworkPage 0.1 NetworkPage.qml
6AccessPoint 0.1 AccessPoint.qml
3AccessPoint 0.1 AccessPoint.qml
7−PasswordPage 0.1 PasswordPage.qml
8−PasswordTextField 0.1 PasswordTextField.qml
plugins/Unity/Indicators/Network/secret-agent.cdeleted−382
@@ -1,382 +0,0 @@
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− * Alberto Ruiz <alberto.ruiz@canonical.com>
18− * Renato Araujo Oliveira Filho <renato@canonical.com>
19− */
20−
21−
22−#include <glib.h>
23−#include <glib-object.h>
24−#include <nm-secret-agent.h>
25−#include "secret-agent.h"
26−
27−#define UNITY_SETTINGS_TYPE_SECRET_AGENT (unity_settings_secret_agent_get_type ())
28−#define UNITY_SETTINGS_SECRET_AGENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UNITY_SETTINGS_TYPE_SECRET_AGENT, UnitySettingsSecretAgent))
29−#define UNITY_SETTINGS_SECRET_AGENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UNITY_SETTINGS_TYPE_SECRET_AGENT, UnitySettingsSecretAgentClass))
30−#define UNITY_SETTINGS_IS_SECRET_AGENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), UNITY_SETTINGS_TYPE_SECRET_AGENT))
31−#define UNITY_SETTINGS_IS_SECRET_AGENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), UNITY_SETTINGS_TYPE_SECRET_AGENT))
32−#define UNITY_SETTINGS_SECRET_AGENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), UNITY_SETTINGS_TYPE_SECRET_AGENT, UnitySettingsSecretAgentClass))
33−#define UNITY_SETTINGS_SECRET_AGENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), UNITY_SETTINGS_TYPE_SECRET_AGENT, UnitySettingsSecretAgentPrivate))
34−
35−#define AGENT_ID "com.canonical.settings.network.nm-agent"
36−
37−static gpointer unity_settings_secret_agent_parent_class = NULL;
38−
39−typedef struct _UnitySettingsSecretAgentPrivate UnitySettingsSecretAgentPrivate;
40−
41−struct _UnitySettingsSecretAgentPrivate {
42− GQueue *requests;
43−};
44−
45−typedef struct _SecretRequest {
46− gint id;
47− NMSecretAgent *agent;
48− NMConnection *connection;
49− const char *connection_path;
50− const char *setting_name;
51− const char **hints;
52− NMSecretAgentGetSecretsFlags flags;
53− NMSecretAgentGetSecretsFunc callback;
54− gpointer callback_data;
55−} SecretRequest;
56−
57−GType unity_settings_secret_agent_get_type (void) G_GNUC_CONST;
58−enum {
59− UNITY_SETTINGS_SECRET_AGENT_DUMMY_PROPERTY
60−};
61−
62−enum {
63− SECRET_REQUESTED,
64− REQUEST_CANCELLED,
65− LAST_SIGNAL
66−};
67−
68−static guint signals[LAST_SIGNAL] = { 0 };
69−
70−UnitySettingsSecretAgent* unity_settings_secret_agent_new (void);
71−UnitySettingsSecretAgent* unity_settings_secret_agent_construct (GType object_type);
72−
73−int
74−secret_request_find (SecretRequest *req,
75− guint *id)
76−{
77− if (req->id > *id)
78− return -1;
79−
80− if (req->id < *id)
81− return 1;
82−
83− return 0;
84−}
85−
86−void
87−unity_settings_secret_agent_provide_secret (UnitySettingsSecretAgent *agent,
88− guint request,
89− GHashTable *secrets)
90−{
91− GList *iter;
92− SecretRequest *req;
93− UnitySettingsSecretAgentPrivate *priv = agent->priv;
94−
95− iter = g_queue_find_custom (priv->requests,
96− &request,
97− (GCompareFunc)secret_request_find);
98−
99− if (iter == NULL || iter->data == NULL)
100− {
101− g_warning ("Secret request with id <%d> was not found", (int)request);
102− return;
103− }
104−
105− req = iter->data;
106−
107− req->callback (NM_SECRET_AGENT (agent),
108− req->connection,
109− secrets,
110− NULL,
111− req->callback_data);
112−
113− g_queue_remove_all (priv->requests, req);
114− g_free (req);
115− return;
116−}
117−
118−void
119−free_request (SecretRequest *req)
120−{
121− g_object_unref (req->connection);
122− g_free (req);
123−}
124−
125−void
126−unity_settings_secret_agent_cancel_request (UnitySettingsSecretAgent *agent,
127− guint request)
128−{
129− GList *iter;
130− SecretRequest *req;
131− UnitySettingsSecretAgentPrivate *priv = agent->priv;
132− GError *error;
133−
134− iter = g_queue_find_custom (priv->requests,
135− &request,
136− (GCompareFunc)secret_request_find);
137−
138− if (iter == NULL || iter->data == NULL)
139− {
140− g_warning ("Secret request with id <%d> was not found", (int)request);
141− return;
142− }
143−
144− req = iter->data;
145− error = g_error_new (NM_SECRET_AGENT_ERROR,
146− NM_SECRET_AGENT_ERROR_INTERNAL_ERROR,
147− "This secret request was canceled by the user.");
148−
149− req->callback (NM_SECRET_AGENT (agent),
150− req->connection,
151− NULL,
152− error,
153− req->callback_data);
154−
155− g_queue_remove_all (priv->requests, req);
156− free_request (req);
157− return;
158−}
159−
160−static void
161−delete_secrets (NMSecretAgent *agent,
162− NMConnection *connection,
163− const char *connection_path,
164− NMSecretAgentDeleteSecretsFunc callback,
165− gpointer callback_data)
166−{
167− g_debug ("delete secrets");
168−}
169−
170−/* If it returns G_MAXUINT it's considered an error */
171−static guint
172−find_available_id (UnitySettingsSecretAgentPrivate *priv)
173−{
174− guint i = 0;
175− guint candidate = 0;
176−
177− if (g_queue_get_length (priv->requests) == G_MAXUINT)
178− return G_MAXUINT;
179−
180− while (i < g_queue_get_length (priv->requests))
181− {
182− SecretRequest *req = (SecretRequest*)g_queue_peek_nth (priv->requests, i);
183−
184− if (req->id == candidate)
185− {
186− candidate++;
187− i = 0;
188− }
189− else
190− {
191− i++;
192− }
193− }
194−
195− return i;
196−}
197−
198−static void
199−get_secrets (NMSecretAgent *agent,
200− NMConnection *connection,
201− const char *connection_path,
202− const char *setting_name,
203− const char **hints,
204− NMSecretAgentGetSecretsFlags flags,
205− NMSecretAgentGetSecretsFunc callback,
206− gpointer callback_data)
207−{
208− guint id;
209− UnitySettingsSecretAgentPrivate *priv = UNITY_SETTINGS_SECRET_AGENT_GET_PRIVATE (agent);
210− SecretRequest *req = NULL;
211−
212− if (flags == NM_SECRET_AGENT_GET_SECRETS_FLAG_NONE)
213− {
214− GError *error = g_error_new (NM_SECRET_AGENT_ERROR,
215− NM_SECRET_AGENT_ERROR_INTERNAL_ERROR,
216− "No password found for this connection.");
217− callback (agent, connection, NULL, error, callback_data);
218− g_error_free (error);
219− return;
220− }
221−
222− id = find_available_id (priv);
223− if (id == G_MAXUINT)
224− {
225− GError *error = g_error_new (NM_SECRET_AGENT_ERROR,
226− NM_SECRET_AGENT_ERROR_INTERNAL_ERROR,
227− "Reached maximum number of requests.");
228− callback (agent, connection, NULL, error, callback_data);
229− g_error_free (error);
230− return;
231− }
232−
233− /* Adding a request */
234− req = (SecretRequest*) g_malloc0 (sizeof (SecretRequest));
235− *req = ((SecretRequest)
236− { id,
237− agent,
238− connection,
239− connection_path,
240− setting_name,
241− hints,
242− flags,
243− callback,
244− callback_data });
245−
246− g_object_ref (connection);
247−
248− g_queue_push_tail (priv->requests, req);
249−
250− g_signal_emit_by_name (agent,
251− UNITY_SETTINGS_SECRET_AGENT_SECRET_REQUESTED,
252− id,
253− connection,
254− setting_name,
255− hints,
256− flags);
257−}
258−
259−static void
260−save_secrets (NMSecretAgent *agent,
261− NMConnection *connection,
262− const char *connection_path,
263− NMSecretAgentSaveSecretsFunc callback,
264− gpointer callback_data)
265−{
266− g_debug ("save secrets");
267−}
268−
269−static void
270−cancel_get_secrets (NMSecretAgent *agent,
271− const char *connection_path,
272− const char *setting_name)
273−{
274− g_debug ("cancel get secrets");
275−}
276−
277−UnitySettingsSecretAgent*
278−unity_settings_secret_agent_construct (GType object_type)
279−{
280− UnitySettingsSecretAgent * self = NULL;
281− self = (UnitySettingsSecretAgent*) g_object_new (object_type,
282− NM_SECRET_AGENT_IDENTIFIER, AGENT_ID,
283− NULL);
284− return self;
285−}
286−
287−
288−UnitySettingsSecretAgent*
289−unity_settings_secret_agent_new (void)
290−{
291− return unity_settings_secret_agent_construct (UNITY_SETTINGS_TYPE_SECRET_AGENT);
292−}
293−
294−static void
295−destroy_pending_request (gpointer data)
296−{
297− SecretRequest* req = (SecretRequest*)data;
298− /* Reporting the cancellation of all pending requests */
299− g_signal_emit_by_name (req->agent,
300− UNITY_SETTINGS_SECRET_AGENT_REQUEST_CANCELLED,
301− req->id);
302−
303− free_request (req);
304−}
305−
306−static void
307−unity_settings_secret_agent_finalize (GObject *agent)
308−{
309− UnitySettingsSecretAgentPrivate *priv = UNITY_SETTINGS_SECRET_AGENT_GET_PRIVATE (agent);
310−
311− g_queue_free_full (priv->requests, destroy_pending_request);
312−}
313−
314−static void
315−unity_settings_secret_agent_class_init (UnitySettingsSecretAgentClass *klass)
316−{
317− unity_settings_secret_agent_parent_class = g_type_class_peek_parent (klass);
318− NMSecretAgentClass *parent_class = NM_SECRET_AGENT_CLASS (klass);
319− parent_class->get_secrets = get_secrets;
320− parent_class->save_secrets = save_secrets;
321− parent_class->delete_secrets = delete_secrets;
322− parent_class->cancel_get_secrets = cancel_get_secrets;
323−
324− g_type_class_add_private (klass, sizeof(UnitySettingsSecretAgentPrivate));
325− G_OBJECT_CLASS (klass)->finalize = unity_settings_secret_agent_finalize;
326−
327−
328− signals[SECRET_REQUESTED] = g_signal_new (UNITY_SETTINGS_SECRET_AGENT_SECRET_REQUESTED,
329− G_OBJECT_CLASS_TYPE (G_OBJECT_CLASS (klass)),
330− G_SIGNAL_RUN_FIRST,
331− G_STRUCT_OFFSET (UnitySettingsSecretAgentClass, secret_requested),
332− NULL, NULL, NULL,
333− G_TYPE_NONE, 5,
334− G_TYPE_UINT, G_TYPE_POINTER, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_UINT);
335−
336− signals[REQUEST_CANCELLED] = g_signal_new (UNITY_SETTINGS_SECRET_AGENT_REQUEST_CANCELLED,
337− G_OBJECT_CLASS_TYPE (G_OBJECT_CLASS (klass)),
338− G_SIGNAL_RUN_FIRST,
339− G_STRUCT_OFFSET (UnitySettingsSecretAgentClass, request_cancelled),
340− NULL, NULL, NULL,
341− G_TYPE_NONE, 1,
342− G_TYPE_UINT);
343−}
344−
345−
346−static void
347−unity_settings_secret_agent_instance_init (UnitySettingsSecretAgent *self)
348−{
349− self->priv = UNITY_SETTINGS_SECRET_AGENT_GET_PRIVATE (self);
350− self->priv->requests = g_queue_new ();
351−}
352−
353−GType
354−unity_settings_secret_agent_get_type (void)
355−{
356− static volatile gsize unity_settings_secret_agent_type_id__volatile = 0;
357− if (g_once_init_enter (&unity_settings_secret_agent_type_id__volatile))
358− {
359− static const GTypeInfo g_define_type_info =
360− {
361− sizeof (UnitySettingsSecretAgentClass),
362− (GBaseInitFunc) NULL,
363− (GBaseFinalizeFunc) NULL,
364− (GClassInitFunc) unity_settings_secret_agent_class_init,
365− (GClassFinalizeFunc) NULL,
366− NULL,
367− sizeof (UnitySettingsSecretAgent),
368− 0,
369− (GInstanceInitFunc) unity_settings_secret_agent_instance_init,
370− NULL
371− };
372− GType unity_settings_secret_agent_type_id;
373− unity_settings_secret_agent_type_id = g_type_register_static (NM_TYPE_SECRET_AGENT,
374− "UnitySettingsSecretAgent",
375− &g_define_type_info,
376− 0);
377− g_once_init_leave (&unity_settings_secret_agent_type_id__volatile,
378− unity_settings_secret_agent_type_id);
379− }
380−
381− return unity_settings_secret_agent_type_id__volatile;
382−}
plugins/Unity/Indicators/Network/secret-agent.hdeleted−102
@@ -1,102 +0,0 @@
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− * Alberto Ruiz <alberto.ruiz@canonical.com>
18− * Renato Araujo Oliveira Filho <renato@canonical.com>
19− */
20−
21−#ifndef __SECRET_AGENT_H__
22−#define __SECRET_AGENT_H__
23−
24−#include <glib.h>
25−#include <glib-object.h>
26−#include <nm-secret-agent.h>
27−
28−/*
29− * This class is a basic implementation of the NetworkManager SecretAgent base class.
30− *
31− * The purpose of this class is to handle credential requests from the network,
32− * for example, from a WiFi hotspot or a VPN network.
33− *
34− * It queues requests objects (SecretRequest) on a GQueue in the private struct
35− * of the class. And notifies the consumer of the class through the "secret-request"
36− * and the "request-cancelled" signals with the following callback prototypes:
37− *
38− * void (*secret_requested) (UnitySettingsSecretAgent *self,
39− * guint id,
40− * NMConnection *connection,
41− * const char *setting_name,
42− * const char **hints,
43− * NMSecretAgentGetSecretsFlags flags,
44− * gpointer user_data);
45− *
46− * void (*request_cancelled) (UnitySettingsSecretAgent *self,
47− * guint id,
48− * gpointer user_data);
49− *
50− */
51−
52−
53−G_BEGIN_DECLS
54−
55−
56−#define UNITY_SETTINGS_TYPE_SECRET_AGENT (unity_settings_secret_agent_get_type ())
57−#define UNITY_SETTINGS_SECRET_AGENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UNITY_SETTINGS_TYPE_SECRET_AGENT, UnitySettingsSecretAgent))
58−#define UNITY_SETTINGS_SECRET_AGENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UNITY_SETTINGS_TYPE_SECRET_AGENT, UnitySettingsSecretAgentClass))
59−#define UNITY_SETTINGS_IS_SECRET_AGENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), UNITY_SETTINGS_TYPE_SECRET_AGENT))
60−#define UNITY_SETTINGS_IS_SECRET_AGENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), UNITY_SETTINGS_TYPE_SECRET_AGENT))
61−#define UNITY_SETTINGS_SECRET_AGENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), UNITY_SETTINGS_TYPE_SECRET_AGENT, UnitySettingsSecretAgentClass))
62−
63−#define UNITY_SETTINGS_SECRET_AGENT_SECRET_REQUESTED "secret-requested"
64−#define UNITY_SETTINGS_SECRET_AGENT_REQUEST_CANCELLED "request-cancelled"
65−
66−typedef struct _UnitySettingsSecretAgent UnitySettingsSecretAgent;
67−typedef struct _UnitySettingsSecretAgentClass UnitySettingsSecretAgentClass;
68−typedef struct _UnitySettingsSecretAgentPrivate UnitySettingsSecretAgentPrivate;
69−
70−struct _UnitySettingsSecretAgent {
71− NMSecretAgent parent_instance;
72− UnitySettingsSecretAgentPrivate * priv;
73−};
74−
75−struct _UnitySettingsSecretAgentClass {
76− NMSecretAgentClass parent_class;
77−
78− void (*secret_requested) (UnitySettingsSecretAgent *self,
79− guint id,
80− NMConnection *connection,
81− const char *setting_name,
82− const char **hints,
83− NMSecretAgentGetSecretsFlags flags);
84−
85− void (*request_cancelled) (UnitySettingsSecretAgent *self,
86− guint id);
87−};
88−
89−
90−GType unity_settings_secret_agent_get_type (void) G_GNUC_CONST;
91−UnitySettingsSecretAgent* unity_settings_secret_agent_new (void);
92−UnitySettingsSecretAgent* unity_settings_secret_agent_construct (GType object_type);
93−
94−void unity_settings_secret_agent_provide_secret (UnitySettingsSecretAgent *agent,
95− guint request,
96− GHashTable *secrets);
97−void unity_settings_secret_agent_cancel_request (UnitySettingsSecretAgent *agent,
98− guint request);
99−
100−G_END_DECLS
101−
102−#endif
plugins/Unity/Indicators/indicators.h−2
@@ -74,8 +74,6 @@ public:
74 enum Roles {
74 enum Roles {
75 Identifier = 0,
75 Identifier = 0,
76 Position,
76 Position,
77− Title,
78− Description,
79 WidgetSource,
77 WidgetSource,
80 PageSource,
78 PageSource,
81 IndicatorProperties,
79 IndicatorProperties,
plugins/Unity/Indicators/indicatorsmodel.cpp+2−55
@@ -201,8 +201,6 @@ QHash<int, QByteArray> IndicatorsModel::roleNames() const
201 {
201 {
202 roles[IndicatorsModelRole::Identifier] = "identifier";
202 roles[IndicatorsModelRole::Identifier] = "identifier";
203 roles[IndicatorsModelRole::Position] = "position";
203 roles[IndicatorsModelRole::Position] = "position";
204− roles[IndicatorsModelRole::Title] = "title";
205− roles[IndicatorsModelRole::Description] = "description";
206 roles[IndicatorsModelRole::WidgetSource] = "widgetSource";
204 roles[IndicatorsModelRole::WidgetSource] = "widgetSource";
207 roles[IndicatorsModelRole::PageSource] = "pageSource";
205 roles[IndicatorsModelRole::PageSource] = "pageSource";
208 roles[IndicatorsModelRole::IndicatorProperties] = "indicatorProperties";
206 roles[IndicatorsModelRole::IndicatorProperties] = "indicatorProperties";
@@ -216,25 +214,6 @@ int IndicatorsModel::columnCount(const QModelIndex &) const
216 return 1;
214 return 1;
217}
215}
218
216
219−/*! \internal */
220−QVariant IndicatorsModel::defaultData(Indicator::Ptr indicator, int role)
221−{
222− switch (role)
223− {
224− case IndicatorsModelRole::Position:
225− return 0;
226− case IndicatorsModelRole::Title:
227− return indicator ? indicator->identifier() : "Unknown";
228− case IndicatorsModelRole::Description:
229− return "";
230− case IndicatorsModelRole::WidgetSource:
231− return shellAppDirectory()+"/Panel/Indicators/DefaultIndicatorWidget2.qml";
232− case IndicatorsModelRole::PageSource:
233− return shellAppDirectory()+"/Panel/Indicators/DefaultIndicatorPage2.qml";
234− }
235− return QVariant();
236−}
237−
238Q_INVOKABLE QVariant IndicatorsModel::data(int row, int role) const
217Q_INVOKABLE QVariant IndicatorsModel::data(int row, int role) const
239{
218{
240 return data(index(row, 0), role);
219 return data(index(row, 0), role);
@@ -268,27 +247,16 @@ QVariant IndicatorsModel::data(const QModelIndex &index, int role) const
268 return QVariant(indicator->indicatorProperties());
247 return QVariant(indicator->indicatorProperties());
269 }
248 }
270 break;
249 break;
271− case IndicatorsModelRole::Title:
272− case IndicatorsModelRole::Description:
273 case IndicatorsModelRole::WidgetSource:
250 case IndicatorsModelRole::WidgetSource:
251+ return shellAppDirectory()+"/Panel/Indicators/DefaultIndicatorWidget.qml";
274 case IndicatorsModelRole::PageSource:
252 case IndicatorsModelRole::PageSource:
275− return indicatorData(indicator, role);
253+ return shellAppDirectory()+"/Panel/Indicators/DefaultIndicatorPage.qml";
276 default:
254 default:
277 break;
255 break;
278 }
256 }
279 return QVariant();
257 return QVariant();
280}
258}
281
259
282−QVariant IndicatorsModel::indicatorData(const Indicator::Ptr& indicator, int role) const
283−{
284− if (indicator && m_parsed_indicator_data.contains(indicator->identifier()))
285− {
286− QVariantMap data = m_parsed_indicator_data[indicator->identifier()];
287− return data.value(roleNames()[role], QVariant());
288− }
289− return defaultData(indicator, role);
290−}
291−
292/*! \internal */
260/*! \internal */
293QModelIndex IndicatorsModel::parent(const QModelIndex&) const
261QModelIndex IndicatorsModel::parent(const QModelIndex&) const
294{
262{
@@ -300,24 +268,3 @@ int IndicatorsModel::rowCount(const QModelIndex&) const
300{
268{
301 return m_indicators.count();
269 return m_indicators.count();
302}
270}
303−
304−void IndicatorsModel::setIndicatorData(const QVariant& data)
305−{
306− m_indicator_data = data;
307−
308− m_parsed_indicator_data.clear();
309− QMap<QString, QVariant> map = data.toMap();
310− QMapIterator<QString, QVariant> iter(map);
311− while(iter.hasNext())
312− {
313− iter.next();
314− m_parsed_indicator_data[iter.key()] = iter.value().toMap();
315− }
316−
317− Q_EMIT indicatorDataChanged(m_indicator_data);
318−}
319−
320−QVariant IndicatorsModel::indicatorData() const
321−{
322− return m_indicator_data;
323−}
plugins/Unity/Indicators/indicatorsmodel.h−8
@@ -34,7 +34,6 @@ class UNITYINDICATORS_EXPORT IndicatorsModel : public QAbstractListModel
34 Q_OBJECT
34 Q_OBJECT
35 Q_ENUMS(Roles)
35 Q_ENUMS(Roles)
36 Q_PROPERTY(int count READ count NOTIFY countChanged)
36 Q_PROPERTY(int count READ count NOTIFY countChanged)
37− Q_PROPERTY(QVariant indicatorData READ indicatorData WRITE setIndicatorData NOTIFY indicatorDataChanged)
38
37
39public:
38public:
40
39
@@ -53,9 +52,6 @@ public:
53 QModelIndex parent (const QModelIndex &index) const;
52 QModelIndex parent (const QModelIndex &index) const;
54 int rowCount(const QModelIndex &parent = QModelIndex()) const;
53 int rowCount(const QModelIndex &parent = QModelIndex()) const;
55
54
56− void setIndicatorData(const QVariant& data);
57− QVariant indicatorData() const;
58−
59
55
60Q_SIGNALS:
56Q_SIGNALS:
61 void countChanged();
57 void countChanged();
@@ -71,13 +67,9 @@ private:
71 IndicatorsManager *m_manager;
67 IndicatorsManager *m_manager;
72
68
73 QList<Indicator::Ptr> m_indicators;
69 QList<Indicator::Ptr> m_indicators;
74− QVariant m_indicator_data;
75− QMap<QString, QVariantMap> m_parsed_indicator_data;
76
70
77 void notifyDataChanged(QObject *sender, int role);
71 void notifyDataChanged(QObject *sender, int role);
78 int count() const;
72 int count() const;
79− QVariant indicatorData(const Indicator::Ptr& indicator, int role) const;
80− static QVariant defaultData(Indicator::Ptr indicator, int role);
81};
73};
82
74
83#endif // INDICATORSMODEL_H
75#endif // INDICATORSMODEL_H
plugins/Unity/Indicators/qml/IndicatorBase.qml+8−5
@@ -27,13 +27,11 @@ Item {
27 enabled: menuObjectPaths.hasOwnProperty(device)
27 enabled: menuObjectPaths.hasOwnProperty(device)
28
28
29 //const
29 //const
30− property string title
31 property string busName
30 property string busName
32 property string actionsObjectPath
31 property string actionsObjectPath
33 property var menuObjectPaths: undefined
32 property var menuObjectPaths: undefined
34 readonly property string device: "phone"
33 readonly property string device: "phone"
35 property string rootMenuType: "com.canonical.indicator.root"
34 property string rootMenuType: "com.canonical.indicator.root"
36− property bool active: false
37
35
38 property string deviceMenuObjectPath: menuObjectPaths.hasOwnProperty(device) ? menuObjectPaths[device] : ""
36 property string deviceMenuObjectPath: menuObjectPaths.hasOwnProperty(device) ? menuObjectPaths[device] : ""
39
37
@@ -41,8 +39,13 @@ Item {
41
39
42 CachedUnityMenuModel {
40 CachedUnityMenuModel {
43 id: cachedModel
41 id: cachedModel
44− busName: active ? indicatorItem.busName : ""
42+ busName: indicatorItem.busName
45− actionsObjectPath: active ? indicatorItem.actionsObjectPath : ""
43+ actionsObjectPath: indicatorItem.actionsObjectPath
46− menuObjectPath: active ? indicatorItem.deviceMenuObjectPath : ""
44+ menuObjectPath: indicatorItem.deviceMenuObjectPath
45+ }
46+
47+ property var rootActionState: Indicators.RootActionState {
48+ menu: menuModel
49+ onUpdated: indicatorItem.rootActionStateChanged()
47 }
50 }
48}
51}
plugins/Unity/Indicators/qml/IndicatorPage.qml+7−5
@@ -26,12 +26,14 @@ IndicatorBase {
26 id: main
26 id: main
27
27
28 //const
28 //const
29+ property bool contentActive: false
30+ property string title: rootActionState.title
29 property alias emptyText: emptyLabel.text
31 property alias emptyText: emptyLabel.text
30 property alias highlightFollowsCurrentItem : mainMenu.highlightFollowsCurrentItem
32 property alias highlightFollowsCurrentItem : mainMenu.highlightFollowsCurrentItem
31
33
32 Indicators.UnityMenuModelStack {
34 Indicators.UnityMenuModelStack {
33 id: menuStack
35 id: menuStack
34− head: main.menuModel
36+ head: contentActive ? main.menuModel : null
35 }
37 }
36
38
37 ListView {
39 ListView {
@@ -162,15 +164,15 @@ IndicatorBase {
162 function start()
164 function start()
163 {
165 {
164 reset()
166 reset()
165− if (!active) {
167+ if (!contentActive) {
166− active = true;
168+ contentActive = true;
167 }
169 }
168 }
170 }
169
171
170 function stop()
172 function stop()
171 {
173 {
172− if (active) {
174+ if (contentActive) {
173− active = false;
175+ contentActive = false;
174 }
176 }
175 }
177 }
176
178
plugins/Unity/Indicators/qml/IndicatorWidget.qml−6
@@ -23,12 +23,6 @@ import Unity.Indicators 0.1 as Indicators
23IndicatorBase {
23IndicatorBase {
24 id: indicatorWidget
24 id: indicatorWidget
25
25
26− active: true
27 enabled: false
26 enabled: false
28 property int iconSize: height - units.gu(0.5)
27 property int iconSize: height - units.gu(0.5)
29−
30− property var actionState: Indicators.RootActionState {
31− menu: menuModel
32− onUpdated: indicatorWidget.actionStateChanged()
33− }
34}
28}
plugins/Unity/Indicators/qml/SliderMenuItem.qml+1−1
@@ -71,7 +71,7 @@ FramedMenuItem {
71 leftMargin: leftImage.visible ? units.gu(0.5) : 0
71 leftMargin: leftImage.visible ? units.gu(0.5) : 0
72 rightMargin: rightImage.visible ? units.gu(0.5) : 0
72 rightMargin: rightImage.visible ? units.gu(0.5) : 0
73 }
73 }
74− live: false
74+ live: true
75
75
76 Component.onCompleted: {
76 Component.onCompleted: {
77 value = menuItem.value
77 value = menuItem.value
plugins/Unity/Indicators/rootactionstate.cpp+7−1
@@ -102,12 +102,18 @@ void RootActionState::updateActionState()
102 Q_EMIT updated();
102 Q_EMIT updated();
103}
103}
104
104
105−
106bool RootActionState::isValid() const
105bool RootActionState::isValid() const
107{
106{
108 return m_menu && m_menu->rowCount() > 0;
107 return m_menu && m_menu->rowCount() > 0;
109}
108}
110
109
110+QString RootActionState::title() const
111+{
112+ if (!isValid()) return QString();
113+
114+ return m_cachedState.value("title", QVariant::fromValue(QString())).toString();
115+}
116+
111QString RootActionState::leftLabel() const
117QString RootActionState::leftLabel() const
112{
118{
113 if (!isValid()) return QString();
119 if (!isValid()) return QString();
plugins/Unity/Indicators/rootactionstate.h+3
@@ -32,6 +32,7 @@ class UNITYINDICATORS_EXPORT RootActionState : public ActionStateParser
32 Q_PROPERTY(UnityMenuModel* menu READ menu WRITE setMenu NOTIFY menuChanged)
32 Q_PROPERTY(UnityMenuModel* menu READ menu WRITE setMenu NOTIFY menuChanged)
33
33
34 Q_PROPERTY(bool valid READ isValid NOTIFY validChanged)
34 Q_PROPERTY(bool valid READ isValid NOTIFY validChanged)
35+ Q_PROPERTY(QString title READ title NOTIFY titleChanged)
35 Q_PROPERTY(QString leftLabel READ leftLabel NOTIFY leftLabelChanged)
36 Q_PROPERTY(QString leftLabel READ leftLabel NOTIFY leftLabelChanged)
36 Q_PROPERTY(QString rightLabel READ rightLabel NOTIFY rightLabelChanged)
37 Q_PROPERTY(QString rightLabel READ rightLabel NOTIFY rightLabelChanged)
37 Q_PROPERTY(QStringList icons READ icons NOTIFY iconsChanged)
38 Q_PROPERTY(QStringList icons READ icons NOTIFY iconsChanged)
@@ -48,6 +49,7 @@ public:
48 void setIndex(int index);
49 void setIndex(int index);
49
50
50 bool isValid() const;
51 bool isValid() const;
52+ QString title() const;
51 QString leftLabel() const;
53 QString leftLabel() const;
52 QString rightLabel() const;
54 QString rightLabel() const;
53 QStringList icons() const;
55 QStringList icons() const;
@@ -64,6 +66,7 @@ Q_SIGNALS:
64 void indexChanged();
66 void indexChanged();
65
67
66 void validChanged();
68 void validChanged();
69+ void titleChanged();
67 void leftLabelChanged();
70 void leftLabelChanged();
68 void rightLabelChanged();
71 void rightLabelChanged();
69 void iconsChanged();
72 void iconsChanged();
plugins/Unity/Indicators/visibleindicatorsmodel.cpp−2
@@ -33,8 +33,6 @@ QHash<int, QByteArray> VisibleIndicatorsModel::roleNames() const
33 {
33 {
34 roles[IndicatorsModelRole::Identifier] = "identifier";
34 roles[IndicatorsModelRole::Identifier] = "identifier";
35 roles[IndicatorsModelRole::Position] = "position";
35 roles[IndicatorsModelRole::Position] = "position";
36− roles[IndicatorsModelRole::Title] = "title";
37− roles[IndicatorsModelRole::Description] = "description";
38 roles[IndicatorsModelRole::WidgetSource] = "widgetSource";
36 roles[IndicatorsModelRole::WidgetSource] = "widgetSource";
39 roles[IndicatorsModelRole::PageSource] = "pageSource";
37 roles[IndicatorsModelRole::PageSource] = "pageSource";
40 roles[IndicatorsModelRole::IndicatorProperties] = "indicatorProperties";
38 roles[IndicatorsModelRole::IndicatorProperties] = "indicatorProperties";
plugins/Unity/IndicatorsLegacy/CMakeLists.txtdeleted−48
@@ -1,48 +0,0 @@
1−# export_qmlplugin macro
2−include(Plugins)
3−
4−project(IndicatorsLegacyQml)
5−
6−pkg_check_modules(QMENUMODEL REQUIRED qmenumodel)
7−find_package(Qt5Core REQUIRED)
8−find_package(Qt5Quick REQUIRED)
9−
10−add_subdirectory(qml)
11−add_subdirectory(Network)
12−
13−include_directories(
14− ${CMAKE_CURRENT_SOURCE_DIR}
15− ${CMAKE_CURRENT_BINARY_DIR}
16− ${QMENUMODEL_INCLUDE_DIRS}
17− ${CMAKE_SOURCE_DIR}/plugins/Unity/Indicators
18−)
19−
20−set(IndicatorsLegacyQML_SOURCES
21− ${CMAKE_SOURCE_DIR}/plugins/Unity/Indicators/indicators.h
22− flatmenuproxymodel.cpp
23− modelprinter.cpp
24− plugin.cpp
25−)
26−add_definitions(-DUNITYINDICATORS_LIBRARY)
27−
28−set(IndicatorsLegacyQML_RESOURCES
29− resources/indicators.qrc
30−)
31−
32−qt5_add_resources(IndicatorsLegacyQML_RESOURCES_RCC
33− ${IndicatorsLegacyQML_RESOURCES}
34−)
35−
36−add_library(IndicatorsLegacyQml SHARED
37− ${IndicatorsLegacyQML_RESOURCES_RCC}
38− ${IndicatorsLegacyQML_SOURCES}
39−)
40−
41−target_link_libraries(IndicatorsLegacyQml
42− ${QMENUMODEL_LDFLAGS}
43−)
44−
45−qt5_use_modules(IndicatorsLegacyQml Core Qml Quick)
46−
47−# export the qmltypes and plugin files
48−export_qmlplugin(Unity.IndicatorsLegacy 0.1 Unity/IndicatorsLegacy TARGETS IndicatorsLegacyQml)
plugins/Unity/IndicatorsLegacy/Network/CMakeLists.txtdeleted−45
@@ -1,45 +0,0 @@
1−# export_qmlplugin macro
2−include(Plugins)
3−
4−project(IndicatorsLegacyNetworkQml)
5−
6−pkg_check_modules(GLIB glib-2.0>=2.32)
7−pkg_check_modules(LIBNM_GLIB libnm-glib>=0.9.6)
8−pkg_check_modules(LIBNM_UTIL libnm-util>=0.9.6)
9−
10−if(LIBNM_GLIB_FOUND AND LIBNM_UTIL_FOUND AND GLIB_FOUND)
11− set(INDICATORS_LEGACY_NETWORK_SRC
12− networkagent.cpp
13− plugin.cpp
14− secret-agent.c
15− )
16−
17− add_library(IndicatorsLegacyNetworkQml MODULE
18− ${INDICATORS_LEGACY_NETWORK_SRC}
19− )
20−
21− qt5_use_modules(IndicatorsLegacyNetworkQml Core Qml Widgets)
22−
23− set_target_properties(IndicatorsLegacyNetworkQml PROPERTIES COMPILE_FLAGS -fPIC)
24−
25− include_directories(
26− ${CMAKE_CURRENT_SOURCE_DIR}
27− ${GLIB_INCLUDE_DIRS}
28− ${LIBNM_GLIB_INCLUDE_DIRS}
29− ${LIBNM_UTIL_INCLUDE_DIRS}
30− )
31−
32− target_link_libraries(IndicatorsLegacyNetworkQml
33− ${GLIB_LIBRARIES}
34− ${LIBNM_GLIB_LIBRARIES}
35− ${LIBNM_UTIL_LIBRARIES}
36− )
37−
38− # export the qmltypes and plugin files
39− export_qmlplugin(Unity.IndicatorsLegacy.Network 0.1 Unity/IndicatorsLegacy/Network TARGETS IndicatorsLegacyNetworkQml)
40−
41−else()
42− message(WARNING "Missing glib or libnm dependency for the network plugin, not building")
43−endif()
44−
45−add_subdirectory(qml)
plugins/Unity/IndicatorsLegacy/Network/networkagent.cppdeleted−146
@@ -1,146 +0,0 @@
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− * Alberto Ruiz <alberto.ruiz@canonical.com>
18− * Renato Araujo Oliveira Filho <renato@canonical.com>
19− */
20−
21−#include "networkagent.h"
22−
23−#include <QVariant>
24−#include <QApplication>
25−#include <QDebug>
26−
27−class NetworkAgentToken
28−{
29−public:
30− NMConnection *connection;
31− NMSettingWirelessSecurity *wisec;
32− guint id;
33− QByteArray keyMgmt;
34−
35− NetworkAgentToken(NMConnection *connection,
36− NMSettingWirelessSecurity *wisec,
37− guint id,
38− QByteArray keyMgmt)
39− : connection(connection),
40− wisec(wisec),
41− id(id),
42− keyMgmt(keyMgmt)
43− {
44− if (connection) {
45− g_object_ref(connection);
46− } else {
47− qWarning() << "invalid connection object";
48− }
49− }
50−
51− ~NetworkAgentToken()
52− {
53− if (connection) {
54− g_object_unref(connection);
55− }
56− }
57−};
58−
59−NetworkAgent::NetworkAgent(QObject *parent)
60− : QObject(parent)
61−{
62− m_agent = unity_settings_secret_agent_new();
63− g_signal_connect(G_OBJECT(m_agent),
64− UNITY_SETTINGS_SECRET_AGENT_SECRET_REQUESTED,
65− G_CALLBACK(onSecretRequested),
66− this);
67−
68− g_signal_connect(G_OBJECT(m_agent),
69− UNITY_SETTINGS_SECRET_AGENT_REQUEST_CANCELLED,
70− G_CALLBACK(onSecretRequestCancelled),
71− this);
72−}
73−
74−NetworkAgent::~NetworkAgent()
75−{
76− nm_secret_agent_unregister(NM_SECRET_AGENT(m_agent));
77− g_object_unref(m_agent);
78−}
79−
80−void NetworkAgent::authenticate(const QVariant &token, const QString &key)
81−{
82− NetworkAgentToken *pToken = (NetworkAgentToken *) token.value<void *>();
83− if (pToken == NULL) {
84− return;
85− }
86−
87− if ((pToken->keyMgmt == "wpa-none") || (pToken->keyMgmt == "wpa-psk")) {
88− g_object_set(G_OBJECT(pToken->wisec),
89− NM_SETTING_WIRELESS_SECURITY_PSK, qPrintable(key),
90− NULL);
91− } else if (pToken->keyMgmt == "none") {
92− g_object_set(G_OBJECT(pToken->wisec),
93− NM_SETTING_WIRELESS_SECURITY_WEP_KEY0, qPrintable(key),
94− NULL);
95− }
96−
97− GHashTable *settings = nm_connection_to_hash(pToken->connection,
98− NM_SETTING_HASH_FLAG_ALL);
99−
100− unity_settings_secret_agent_provide_secret(m_agent,
101− pToken->id, settings);
102− g_hash_table_unref(settings);
103− delete pToken;
104−}
105−
106−void NetworkAgent::cancel(const QVariant &token)
107−{
108− NetworkAgentToken *pToken = (NetworkAgentToken *) token.value<void *>();
109− if (pToken != NULL) {
110− unity_settings_secret_agent_cancel_request(m_agent, pToken->id);
111− delete pToken;
112− }
113−}
114−
115−void NetworkAgent::onSecretRequested(UnitySettingsSecretAgent* /*agent*/,
116− guint id,
117− NMConnection* connection,
118− const char* /*setting_name*/,
119− const char** /*hints*/,
120− NMSecretAgentGetSecretsFlags /*flags*/,
121− NetworkAgent* self)
122−{
123− NetworkAgentToken *token = new NetworkAgentToken(connection,
124− NULL,
125− id,
126− NULL);
127−
128− token->wisec = nm_connection_get_setting_wireless_security(connection);
129− if (token->wisec) {
130− token->keyMgmt = nm_setting_wireless_security_get_key_mgmt(token->wisec);
131− }
132−
133− QVariant varToken = qVariantFromValue((void *) token);
134− Q_EMIT self->secretRequested(varToken);
135−}
136−
137−void NetworkAgent::onSecretRequestCancelled(UnitySettingsSecretAgent* /*agent*/,
138− guint /*id*/,
139− NMConnection* /*connection*/,
140− const char* /*setting_name*/,
141− const char** /*hints*/,
142− NMSecretAgentGetSecretsFlags /*flags*/,
143− NetworkAgent* /*self*/)
144−{
145− //Do nothing for now
146−}
plugins/Unity/IndicatorsLegacy/Network/networkagent.hdeleted−65
@@ -1,65 +0,0 @@
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− * Alberto Ruiz <alberto.ruiz@canonical.com>
18− * Renato Araujo Oliveira Filho <renato@canonical.com>
19− */
20−
21−#ifndef NETWORKAGENT_H
22−#define NETWORKAGENT_H
23−
24−#include "secret-agent.h"
25−
26−#include <QObject>
27−
28−class NetworkAgentToken;
29−
30−class NetworkAgent : public QObject
31−{
32− Q_OBJECT
33−public:
34− NetworkAgent(QObject *parent=0);
35− ~NetworkAgent();
36−
37− Q_INVOKABLE void authenticate(const QVariant &token, const QString &key);
38− Q_INVOKABLE void cancel(const QVariant &token);
39−
40−Q_SIGNALS:
41− void secretRequested(const QVariant &token);
42− void secretRequestCancelled();
43−
44−private:
45− UnitySettingsSecretAgent *m_agent;
46−
47− static void onSecretRequested(UnitySettingsSecretAgent *agent,
48− guint id,
49− NMConnection *connection,
50− const char *setting_name,
51− const char **hints,
52− NMSecretAgentGetSecretsFlags flags,
53− NetworkAgent *self);
54−
55− static void onSecretRequestCancelled(UnitySettingsSecretAgent *agent,
56− guint id,
57− NMConnection *connection,
58− const char *setting_name,
59− const char **hints,
60− NMSecretAgentGetSecretsFlags flags,
61− NetworkAgent *self);
62−
63−};
64−
65−#endif
plugins/Unity/IndicatorsLegacy/Network/plugin.cppdeleted−31
@@ -1,31 +0,0 @@
1−/*
2− * Copyright (C) 2012 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: Nick Dedekind <nick.dedekind@canonical.com>
17− */
18−
19−// Qt
20−#include <QtQml/qqml.h>
21−
22−// self
23−#include "plugin.h"
24−
25−// local
26−#include "networkagent.h"
27−
28−void IndicatorsNetworkPlugin::registerTypes(const char *uri)
29−{
30− qmlRegisterType<NetworkAgent>(uri, 0, 1, "NetworkAgent");
31−}
plugins/Unity/IndicatorsLegacy/Network/plugin.hdeleted−32
@@ -1,32 +0,0 @@
1−/*
2− * Copyright (C) 2012 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: Nick Dedekind <nick.dedekind@canonical.com>
17− */
18−
19−#ifndef INDICATORS_NETWORK_PLUGIN_H
20−#define INDICATORS_NETWORK_PLUGIN_H
21−
22−#include <QtQml/QQmlExtensionPlugin>
23−
24−class IndicatorsNetworkPlugin : public QQmlExtensionPlugin
25−{
26− Q_OBJECT
27− Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
28−public:
29− void registerTypes(const char *uri);
30−};
31−
32−#endif // INDICATORS_NETWORK_PLUGIN_H
plugins/Unity/IndicatorsLegacy/Network/qml/AccessPoint.qmldeleted−68
@@ -1,68 +0,0 @@
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− * Renato Araujo Oliveira Filho <renato@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−import Ubuntu.Components 0.1
22−import Ubuntu.Components.ListItems 0.1 as ListItem
23−import Unity.IndicatorsLegacy 0.1 as Indicators
24−
25−Indicators.MenuItem {
26− id: accessPoint
27− property variant actionWifiApStrength : menu && actionGroup ? actionGroup.action(menu.extra.canonical_wifi_ap_strength_action) : null
28− property variant wifiApStrength : actionWifiApStrength && actionWifiApStrength.valid ? actionWifiApStrength.state : "0"
29−
30− function getNetworkIcon(data) {
31− var imageName = "nm-signal-100"
32− var signalStrength = parseInt(wifiApStrength)
33−
34− if (data.extra.canonical_wifi_ap_is_adhoc) {
35− imageName = "nm-adhoc";
36− } else if (signalStrength == 0) {
37− imageName = "nm-signal-00";
38− } else if (signalStrength <= 25) {
39− imageName = "nm-signal-25";
40− } else if (signalStrength <= 50) {
41− imageName = "nm-signal-50";
42− } else if (signalStrength <= 75) {
43− imageName = "nm-signal-75";
44− }
45−
46− if (data.extra.canonical_wifi_ap_is_secure) {
47− imageName += "-secure";
48− }
49−
50− return "image://theme/" + imageName;
51− }
52−
53− icon: menu && wifiApStrength ? getNetworkIcon(menu) : "image://theme/wifi-none"
54− iconFrame: false
55− control: CheckBox {
56− id: checkBoxActive
57− height: units.gu(4)
58− width: units.gu(4)
59− anchors.centerIn: parent
60− }
61−
62− Indicators.MenuActionBinding {
63− actionGroup: accessPoint.actionGroup
64− action: menu ? menu.action : ""
65− target: checkBoxActive
66− property: "checked"
67− }
68−}
plugins/Unity/IndicatorsLegacy/Network/qml/CMakeLists.txtdeleted−5
@@ -1,5 +0,0 @@
1−# export_qmlplugin macro
2−include(Plugins)
3−
4−# export the qmldir, *.qml files.
5−export_qmlfiles(Unity.IndicatorsLegacy.Network Unity/IndicatorsLegacy/Network)
plugins/Unity/IndicatorsLegacy/Network/qml/PasswordPage.qmldeleted−88
@@ -1,88 +0,0 @@
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− * Renato Araujo Oliveira Filho <renato@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−import Ubuntu.Components 0.1
22−import Ubuntu.Components.ListItems 0.1 as ListItem
23−import Unity.IndicatorsLegacy 0.1 as Indicators
24−
25−Page {
26− id: pagePassword
27−
28− property variant agent
29− property variant token
30−
31− anchors.fill: parent
32− title: "Network Authentication"
33−
34− Column {
35− anchors {
36− left: parent.left
37− right: parent.right
38− }
39−
40− Indicators.SectionMenuItem {
41− label: "Authentication"
42− }
43−
44− Indicators.MenuItem {
45− implicitHeight: password.height + units.gu(1)
46−
47− PasswordTextField {
48− id: password
49− anchors {
50− left: parent.left
51− right: parent.right
52− margins: units.gu(3)
53− verticalCenter: parent.verticalCenter
54− }
55− }
56− }
57−
58− Indicators.MenuItem {
59− Row {
60− anchors {
61− right: parent.right
62− verticalCenter: parent.verticalCenter
63− margins: units.gu(3)
64− }
65−
66− spacing: units.gu(1)
67−
68− Button {
69− text: "Cancel"
70− width: units.gu(10)
71− onClicked: {
72− agent.cancel(token);
73− pageStack.pop();
74− }
75− }
76−
77− Button {
78− text: "OK"
79− width: units.gu(10)
80− onClicked: {
81− agent.authenticate(token, password.text);
82− pageStack.pop();
83− }
84− }
85− }
86− }
87− }
88−}
plugins/Unity/IndicatorsLegacy/Network/qml/PasswordTextField.qmldeleted−68
@@ -1,68 +0,0 @@
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− * Renato Araujo Oliveira Filho <renato@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−import Ubuntu.Components 0.1
22−
23−Item {
24− id: textMenu
25−
26− property alias text: textField.text
27−
28− height: contentColumn.height
29−
30− Column {
31− id: contentColumn
32− spacing: units.gu(0.5)
33− anchors {
34− left: parent.left
35− right: parent.right
36− }
37−
38− TextField {
39− id: textField
40−
41− anchors {
42− left: parent.left
43− right: parent.right
44− }
45−
46− placeholderText: "Password"
47− echoMode: showPassword.checked ? TextInput.Normal : TextInput.Password
48− }
49−
50− Row {
51− anchors {
52− left: parent.left
53− right: parent.right
54− }
55−
56− spacing: units.gu(1)
57−
58− CheckBox {
59− id: showPassword
60− }
61−
62− Label {
63− text: "Show password"
64− anchors.verticalCenter: showPassword.verticalCenter
65− }
66− }
67− }
68−}
plugins/Unity/IndicatorsLegacy/Network/qml/WifiSection.qmldeleted−34
@@ -1,34 +0,0 @@
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− * Renato Araujo Oliveira Filho <renato@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−import Ubuntu.Components 0.1
22−import Unity.IndicatorsLegacy 0.1 as Indicators
23−
24−Indicators.SectionMenuItem {
25− id: wifiSectionMenu
26−
27− Indicators.MenuAction {
28− id: busyAction
29− actionGroup: wifiSectionMenu.actionGroup
30− action: menu ? menu.extra.canonical_busy_action : ""
31− }
32−
33− busy: busyAction.valid ? busyAction.state : false
34−}
plugins/Unity/IndicatorsLegacy/Network/qml/qmldirdeleted−9
@@ -1,9 +0,0 @@
1−module Unity.IndicatorsLegacy.Network
2−plugin IndicatorsLegacyNetworkQml
3−typeinfo plugin.qmltypes
4−
5−NetworkPage 0.1 NetworkPage.qml
6−AccessPoint 0.1 AccessPoint.qml
7−PasswordPage 0.1 PasswordPage.qml
8−PasswordTextField 0.1 PasswordTextField.qml
9−WifiSection 0.1 WifiSection.qml
plugins/Unity/IndicatorsLegacy/Network/secret-agent.cdeleted−382
@@ -1,382 +0,0 @@
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− * Alberto Ruiz <alberto.ruiz@canonical.com>
18− * Renato Araujo Oliveira Filho <renato@canonical.com>
19− */
20−
21−
22−#include <glib.h>
23−#include <glib-object.h>
24−#include <nm-secret-agent.h>
25−#include "secret-agent.h"
26−
27−#define UNITY_SETTINGS_TYPE_SECRET_AGENT (unity_settings_secret_agent_get_type ())
28−#define UNITY_SETTINGS_SECRET_AGENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UNITY_SETTINGS_TYPE_SECRET_AGENT, UnitySettingsSecretAgent))
29−#define UNITY_SETTINGS_SECRET_AGENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UNITY_SETTINGS_TYPE_SECRET_AGENT, UnitySettingsSecretAgentClass))
30−#define UNITY_SETTINGS_IS_SECRET_AGENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), UNITY_SETTINGS_TYPE_SECRET_AGENT))
31−#define UNITY_SETTINGS_IS_SECRET_AGENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), UNITY_SETTINGS_TYPE_SECRET_AGENT))
32−#define UNITY_SETTINGS_SECRET_AGENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), UNITY_SETTINGS_TYPE_SECRET_AGENT, UnitySettingsSecretAgentClass))
33−#define UNITY_SETTINGS_SECRET_AGENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), UNITY_SETTINGS_TYPE_SECRET_AGENT, UnitySettingsSecretAgentPrivate))
34−
35−#define AGENT_ID "com.canonical.settings.network.nm-agent"
36−
37−static gpointer unity_settings_secret_agent_parent_class = NULL;
38−
39−typedef struct _UnitySettingsSecretAgentPrivate UnitySettingsSecretAgentPrivate;
40−
41−struct _UnitySettingsSecretAgentPrivate {
42− GQueue *requests;
43−};
44−
45−typedef struct _SecretRequest {
46− gint id;
47− NMSecretAgent *agent;
48− NMConnection *connection;
49− const char *connection_path;
50− const char *setting_name;
51− const char **hints;
52− NMSecretAgentGetSecretsFlags flags;
53− NMSecretAgentGetSecretsFunc callback;
54− gpointer callback_data;
55−} SecretRequest;
56−
57−GType unity_settings_secret_agent_get_type (void) G_GNUC_CONST;
58−enum {
59− UNITY_SETTINGS_SECRET_AGENT_DUMMY_PROPERTY
60−};
61−
62−enum {
63− SECRET_REQUESTED,
64− REQUEST_CANCELLED,
65− LAST_SIGNAL
66−};
67−
68−static guint signals[LAST_SIGNAL] = { 0 };
69−
70−UnitySettingsSecretAgent* unity_settings_secret_agent_new (void);
71−UnitySettingsSecretAgent* unity_settings_secret_agent_construct (GType object_type);
72−
73−int
74−secret_request_find (SecretRequest *req,
75− guint *id)
76−{
77− if (req->id > *id)
78− return -1;
79−
80− if (req->id < *id)
81− return 1;
82−
83− return 0;
84−}
85−
86−void
87−unity_settings_secret_agent_provide_secret (UnitySettingsSecretAgent *agent,
88− guint request,
89− GHashTable *secrets)
90−{
91− GList *iter;
92− SecretRequest *req;
93− UnitySettingsSecretAgentPrivate *priv = agent->priv;
94−
95− iter = g_queue_find_custom (priv->requests,
96− &request,
97− (GCompareFunc)secret_request_find);
98−
99− if (iter == NULL || iter->data == NULL)
100− {
101− g_warning ("Secret request with id <%d> was not found", (int)request);
102− return;
103− }
104−
105− req = iter->data;
106−
107− req->callback (NM_SECRET_AGENT (agent),
108− req->connection,
109− secrets,
110− NULL,
111− req->callback_data);
112−
113− g_queue_remove_all (priv->requests, req);
114− g_free (req);
115− return;
116−}
117−
118−void
119−free_request (SecretRequest *req)
120−{
121− g_object_unref (req->connection);
122− g_free (req);
123−}
124−
125−void
126−unity_settings_secret_agent_cancel_request (UnitySettingsSecretAgent *agent,
127− guint request)
128−{
129− GList *iter;
130− SecretRequest *req;
131− UnitySettingsSecretAgentPrivate *priv = agent->priv;
132− GError *error;
133−
134− iter = g_queue_find_custom (priv->requests,
135− &request,
136− (GCompareFunc)secret_request_find);
137−
138− if (iter == NULL || iter->data == NULL)
139− {
140− g_warning ("Secret request with id <%d> was not found", (int)request);
141− return;
142− }
143−
144− req = iter->data;
145− error = g_error_new (NM_SECRET_AGENT_ERROR,
146− NM_SECRET_AGENT_ERROR_INTERNAL_ERROR,
147− "This secret request was canceled by the user.");
148−
149− req->callback (NM_SECRET_AGENT (agent),
150− req->connection,
151− NULL,
152− error,
153− req->callback_data);
154−
155− g_queue_remove_all (priv->requests, req);
156− free_request (req);
157− return;
158−}
159−
160−static void
161−delete_secrets (NMSecretAgent *agent,
162− NMConnection *connection,
163− const char *connection_path,
164− NMSecretAgentDeleteSecretsFunc callback,
165− gpointer callback_data)
166−{
167− g_debug ("delete secrets");
168−}
169−
170−/* If it returns G_MAXUINT it's considered an error */
171−static guint
172−find_available_id (UnitySettingsSecretAgentPrivate *priv)
173−{
174− guint i = 0;
175− guint candidate = 0;
176−
177− if (g_queue_get_length (priv->requests) == G_MAXUINT)
178− return G_MAXUINT;
179−
180− while (i < g_queue_get_length (priv->requests))
181− {
182− SecretRequest *req = (SecretRequest*)g_queue_peek_nth (priv->requests, i);
183−
184− if (req->id == candidate)
185− {
186− candidate++;
187− i = 0;
188− }
189− else
190− {
191− i++;
192− }
193− }
194−
195− return i;
196−}
197−
198−static void
199−get_secrets (NMSecretAgent *agent,
200− NMConnection *connection,
201− const char *connection_path,
202− const char *setting_name,
203− const char **hints,
204− NMSecretAgentGetSecretsFlags flags,
205− NMSecretAgentGetSecretsFunc callback,
206− gpointer callback_data)
207−{
208− guint id;
209− UnitySettingsSecretAgentPrivate *priv = UNITY_SETTINGS_SECRET_AGENT_GET_PRIVATE (agent);
210− SecretRequest *req = NULL;
211−
212− if (flags == NM_SECRET_AGENT_GET_SECRETS_FLAG_NONE)
213− {
214− GError *error = g_error_new (NM_SECRET_AGENT_ERROR,
215− NM_SECRET_AGENT_ERROR_INTERNAL_ERROR,
216− "No password found for this connection.");
217− callback (agent, connection, NULL, error, callback_data);
218− g_error_free (error);
219− return;
220− }
221−
222− id = find_available_id (priv);
223− if (id == G_MAXUINT)
224− {
225− GError *error = g_error_new (NM_SECRET_AGENT_ERROR,
226− NM_SECRET_AGENT_ERROR_INTERNAL_ERROR,
227− "Reached maximum number of requests.");
228− callback (agent, connection, NULL, error, callback_data);
229− g_error_free (error);
230− return;
231− }
232−
233− /* Adding a request */
234− req = (SecretRequest*) g_malloc0 (sizeof (SecretRequest));
235− *req = ((SecretRequest)
236− { id,
237− agent,
238− connection,
239− connection_path,
240− setting_name,
241− hints,
242− flags,
243− callback,
244− callback_data });
245−
246− g_object_ref (connection);
247−
248− g_queue_push_tail (priv->requests, req);
249−
250− g_signal_emit_by_name (agent,
251− UNITY_SETTINGS_SECRET_AGENT_SECRET_REQUESTED,
252− id,
253− connection,
254− setting_name,
255− hints,
256− flags);
257−}
258−
259−static void
260−save_secrets (NMSecretAgent *agent,
261− NMConnection *connection,
262− const char *connection_path,
263− NMSecretAgentSaveSecretsFunc callback,
264− gpointer callback_data)
265−{
266− g_debug ("save secrets");
267−}
268−
269−static void
270−cancel_get_secrets (NMSecretAgent *agent,
271− const char *connection_path,
272− const char *setting_name)
273−{
274− g_debug ("cancel get secrets");
275−}
276−
277−UnitySettingsSecretAgent*
278−unity_settings_secret_agent_construct (GType object_type)
279−{
280− UnitySettingsSecretAgent * self = NULL;
281− self = (UnitySettingsSecretAgent*) g_object_new (object_type,
282− NM_SECRET_AGENT_IDENTIFIER, AGENT_ID,
283− NULL);
284− return self;
285−}
286−
287−
288−UnitySettingsSecretAgent*
289−unity_settings_secret_agent_new (void)
290−{
291− return unity_settings_secret_agent_construct (UNITY_SETTINGS_TYPE_SECRET_AGENT);
292−}
293−
294−static void
295−destroy_pending_request (gpointer data)
296−{
297− SecretRequest* req = (SecretRequest*)data;
298− /* Reporting the cancellation of all pending requests */
299− g_signal_emit_by_name (req->agent,
300− UNITY_SETTINGS_SECRET_AGENT_REQUEST_CANCELLED,
301− req->id);
302−
303− free_request (req);
304−}
305−
306−static void
307−unity_settings_secret_agent_finalize (GObject *agent)
308−{
309− UnitySettingsSecretAgentPrivate *priv = UNITY_SETTINGS_SECRET_AGENT_GET_PRIVATE (agent);
310−
311− g_queue_free_full (priv->requests, destroy_pending_request);
312−}
313−
314−static void
315−unity_settings_secret_agent_class_init (UnitySettingsSecretAgentClass *klass)
316−{
317− unity_settings_secret_agent_parent_class = g_type_class_peek_parent (klass);
318− NMSecretAgentClass *parent_class = NM_SECRET_AGENT_CLASS (klass);
319− parent_class->get_secrets = get_secrets;
320− parent_class->save_secrets = save_secrets;
321− parent_class->delete_secrets = delete_secrets;
322− parent_class->cancel_get_secrets = cancel_get_secrets;
323−
324− g_type_class_add_private (klass, sizeof(UnitySettingsSecretAgentPrivate));
325− G_OBJECT_CLASS (klass)->finalize = unity_settings_secret_agent_finalize;
326−
327−
328− signals[SECRET_REQUESTED] = g_signal_new (UNITY_SETTINGS_SECRET_AGENT_SECRET_REQUESTED,
329− G_OBJECT_CLASS_TYPE (G_OBJECT_CLASS (klass)),
330− G_SIGNAL_RUN_FIRST,
331− G_STRUCT_OFFSET (UnitySettingsSecretAgentClass, secret_requested),
332− NULL, NULL, NULL,
333− G_TYPE_NONE, 5,
334− G_TYPE_UINT, G_TYPE_POINTER, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_UINT);
335−
336− signals[REQUEST_CANCELLED] = g_signal_new (UNITY_SETTINGS_SECRET_AGENT_REQUEST_CANCELLED,
337− G_OBJECT_CLASS_TYPE (G_OBJECT_CLASS (klass)),
338− G_SIGNAL_RUN_FIRST,
339− G_STRUCT_OFFSET (UnitySettingsSecretAgentClass, request_cancelled),
340− NULL, NULL, NULL,
341− G_TYPE_NONE, 1,
342− G_TYPE_UINT);
343−}
344−
345−
346−static void
347−unity_settings_secret_agent_instance_init (UnitySettingsSecretAgent *self)
348−{
349− self->priv = UNITY_SETTINGS_SECRET_AGENT_GET_PRIVATE (self);
350− self->priv->requests = g_queue_new ();
351−}
352−
353−GType
354−unity_settings_secret_agent_get_type (void)
355−{
356− static volatile gsize unity_settings_secret_agent_type_id__volatile = 0;
357− if (g_once_init_enter (&unity_settings_secret_agent_type_id__volatile))
358− {
359− static const GTypeInfo g_define_type_info =
360− {
361− sizeof (UnitySettingsSecretAgentClass),
362− (GBaseInitFunc) NULL,
363− (GBaseFinalizeFunc) NULL,
364− (GClassInitFunc) unity_settings_secret_agent_class_init,
365− (GClassFinalizeFunc) NULL,
366− NULL,
367− sizeof (UnitySettingsSecretAgent),
368− 0,
369− (GInstanceInitFunc) unity_settings_secret_agent_instance_init,
370− NULL
371− };
372− GType unity_settings_secret_agent_type_id;
373− unity_settings_secret_agent_type_id = g_type_register_static (NM_TYPE_SECRET_AGENT,
374− "UnitySettingsSecretAgent",
375− &g_define_type_info,
376− 0);
377− g_once_init_leave (&unity_settings_secret_agent_type_id__volatile,
378− unity_settings_secret_agent_type_id);
379− }
380−
381− return unity_settings_secret_agent_type_id__volatile;
382−}
plugins/Unity/IndicatorsLegacy/Network/secret-agent.hdeleted−102
@@ -1,102 +0,0 @@
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− * Alberto Ruiz <alberto.ruiz@canonical.com>
18− * Renato Araujo Oliveira Filho <renato@canonical.com>
19− */
20−
21−#ifndef __SECRET_AGENT_H__
22−#define __SECRET_AGENT_H__
23−
24−#include <glib.h>
25−#include <glib-object.h>
26−#include <nm-secret-agent.h>
27−
28−/*
29− * This class is a basic implementation of the NetworkManager SecretAgent base class.
30− *
31− * The purpose of this class is to handle credential requests from the network,
32− * for example, from a WiFi hotspot or a VPN network.
33− *
34− * It queues requests objects (SecretRequest) on a GQueue in the private struct
35− * of the class. And notifies the consumer of the class through the "secret-request"
36− * and the "request-cancelled" signals with the following callback prototypes:
37− *
38− * void (*secret_requested) (UnitySettingsSecretAgent *self,
39− * guint id,
40− * NMConnection *connection,
41− * const char *setting_name,
42− * const char **hints,
43− * NMSecretAgentGetSecretsFlags flags,
44− * gpointer user_data);
45− *
46− * void (*request_cancelled) (UnitySettingsSecretAgent *self,
47− * guint id,
48− * gpointer user_data);
49− *
50− */
51−
52−
53−G_BEGIN_DECLS
54−
55−
56−#define UNITY_SETTINGS_TYPE_SECRET_AGENT (unity_settings_secret_agent_get_type ())
57−#define UNITY_SETTINGS_SECRET_AGENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UNITY_SETTINGS_TYPE_SECRET_AGENT, UnitySettingsSecretAgent))
58−#define UNITY_SETTINGS_SECRET_AGENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UNITY_SETTINGS_TYPE_SECRET_AGENT, UnitySettingsSecretAgentClass))
59−#define UNITY_SETTINGS_IS_SECRET_AGENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), UNITY_SETTINGS_TYPE_SECRET_AGENT))
60−#define UNITY_SETTINGS_IS_SECRET_AGENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), UNITY_SETTINGS_TYPE_SECRET_AGENT))
61−#define UNITY_SETTINGS_SECRET_AGENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), UNITY_SETTINGS_TYPE_SECRET_AGENT, UnitySettingsSecretAgentClass))
62−
63−#define UNITY_SETTINGS_SECRET_AGENT_SECRET_REQUESTED "secret-requested"
64−#define UNITY_SETTINGS_SECRET_AGENT_REQUEST_CANCELLED "request-cancelled"
65−
66−typedef struct _UnitySettingsSecretAgent UnitySettingsSecretAgent;
67−typedef struct _UnitySettingsSecretAgentClass UnitySettingsSecretAgentClass;
68−typedef struct _UnitySettingsSecretAgentPrivate UnitySettingsSecretAgentPrivate;
69−
70−struct _UnitySettingsSecretAgent {
71− NMSecretAgent parent_instance;
72− UnitySettingsSecretAgentPrivate * priv;
73−};
74−
75−struct _UnitySettingsSecretAgentClass {
76− NMSecretAgentClass parent_class;
77−
78− void (*secret_requested) (UnitySettingsSecretAgent *self,
79− guint id,
80− NMConnection *connection,
81− const char *setting_name,
82− const char **hints,
83− NMSecretAgentGetSecretsFlags flags);
84−
85− void (*request_cancelled) (UnitySettingsSecretAgent *self,
86− guint id);
87−};
88−
89−
90−GType unity_settings_secret_agent_get_type (void) G_GNUC_CONST;
91−UnitySettingsSecretAgent* unity_settings_secret_agent_new (void);
92−UnitySettingsSecretAgent* unity_settings_secret_agent_construct (GType object_type);
93−
94−void unity_settings_secret_agent_provide_secret (UnitySettingsSecretAgent *agent,
95− guint request,
96− GHashTable *secrets);
97−void unity_settings_secret_agent_cancel_request (UnitySettingsSecretAgent *agent,
98− guint request);
99−
100−G_END_DECLS
101−
102−#endif
plugins/Unity/IndicatorsLegacy/flatmenuproxymodel.cppdeleted−288
@@ -1,288 +0,0 @@
1−/*
2− * Copyright 2012 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− * Renato Araujo Oliveira Filho <renato@canonical.com>
18− */
19−
20−extern "C" {
21−#include <gio/gio.h>
22−}
23−
24−#include "flatmenuproxymodel.h"
25−#include <QString>
26−#include <QStringList>
27−
28−FlatMenuProxyModel::FlatMenuProxyModel(QAbstractItemModel *source)
29− : QAbstractProxyModel(source),
30− m_rowCount(0)
31−{
32− m_model = new QDBusMenuModel;
33− setSourceModel(m_model);
34−}
35−
36−/*! \internal */
37−FlatMenuProxyModel::~FlatMenuProxyModel()
38−{
39− delete m_model;
40−}
41−
42−void FlatMenuProxyModel::setSourceModel(QAbstractItemModel *source)
43−{
44− if (sourceModel()) {
45− QAbstractItemModel *oldSource = sourceModel();
46− if (oldSource == source) {
47− return;
48− }
49−
50− oldSource->disconnect(this);
51− }
52−
53− QAbstractProxyModel::setSourceModel(source);
54−
55− if (source) {
56−
57− // FIXME - not working correctly with dynamic inserts/removes
58− // FIXME 2 - We're using Queud connections as a workaround to QTBUG-32859
59− // The signals from qmenumodel are coming straight off the glib event loop,
60− // which is not supported and has the effect of listview delegates not to be deleted.
61−
62− connect(source,
63− SIGNAL(rowsAboutToBeInserted(QModelIndex,int,int)),
64− SLOT(onModelAboutToBeReset()), Qt::QueuedConnection);
65− connect(source,
66− SIGNAL(rowsInserted(QModelIndex,int,int)),
67− SLOT(onModelReset()), Qt::QueuedConnection);
68−
69− connect(source,
70− SIGNAL(rowsAboutToBeRemoved(QModelIndex,int,int)),
71− SLOT(onModelAboutToBeReset()), Qt::QueuedConnection);
72− connect(source,
73− SIGNAL(rowsRemoved(QModelIndex,int,int)),
74− SLOT(onModelReset()), Qt::QueuedConnection);
75−
76− connect(source,
77− SIGNAL(modelAboutToBeReset()),
78− SLOT(onModelAboutToBeReset()), Qt::QueuedConnection);
79− connect(source,
80− SIGNAL(modelReset()),
81− SLOT(onModelReset()), Qt::QueuedConnection);
82−
83− //Connection args
84− connect(source,
85− SIGNAL(busTypeChanged(DBusEnums::BusType)),
86− SIGNAL(busTypeChanged()));
87−
88− connect(source,
89− SIGNAL(busNameChanged(const QString&)),
90− SIGNAL(busNameChanged()));
91−
92− connect(source,
93− SIGNAL(objectPathChanged(const QString&)),
94− SIGNAL(objectPathChanged()));
95−
96− connect(source,
97− SIGNAL(statusChanged(DBusEnums::ConnectionStatus)),
98− SIGNAL(statusChanged()), Qt::QueuedConnection);
99−
100− // initiliaze rowCount
101− QModelIndex lastItem = source->index(source->rowCount() - 1, 0);
102− m_rowCount = recursiveRowCount(lastItem);
103− } else {
104− m_rowCount = 0;
105− }
106−
107− Q_EMIT countChanged();
108−}
109−
110−void FlatMenuProxyModel::setBusName(const QString &busName)
111−{
112− m_model->setBusName(busName);
113−}
114−
115−QString FlatMenuProxyModel::busName() const
116−{
117− return m_model->busName();
118−}
119−
120−void FlatMenuProxyModel::setObjectPath(const QString &busPath)
121−{
122− m_model->setObjectPath(busPath);
123−}
124−
125−QString FlatMenuProxyModel::objectPath() const
126−{
127− return m_model->objectPath();
128−}
129−
130−int FlatMenuProxyModel::status() const
131−{
132− return m_model->status();
133−}
134−
135−DBusEnums::BusType FlatMenuProxyModel::busType() const
136−{
137− return m_model->busType();
138−}
139−
140−void FlatMenuProxyModel::setIntBusType(int type)
141−{
142− m_model->setBusType((DBusEnums::BusType) type);
143−}
144−
145−void FlatMenuProxyModel::start()
146−{
147− m_model->start();
148−}
149−
150−void FlatMenuProxyModel::stop()
151−{
152− m_model->stop();
153−}
154−
155−QModelIndex FlatMenuProxyModel::mapFromSource(const QModelIndex &index) const
156−{
157− if (!index.isValid()) {
158− return QModelIndex();
159− }
160−
161− QModelIndex result = createIndex(rowOffsetOf(index, index.row()), 0);
162− return result;
163−}
164−
165−QModelIndex FlatMenuProxyModel::mapToSource(const QModelIndex &index) const
166−{
167− if (sourceModel() && m_indexCache.contains(index.row())) {
168− QString key = m_indexCache.value(index.row());
169− QStringList sections = key.split('.', QString::SkipEmptyParts);
170− QModelIndex sourceIndex = QModelIndex();
171− for(int i=0; i < sections.size(); i++) {
172− sourceIndex = sourceModel()->index(sections.at(i).toInt(), 9, sourceIndex);
173− }
174− return sourceIndex;
175− } else {
176− return QModelIndex();
177− }
178−}
179−
180−QModelIndex FlatMenuProxyModel::index(int row, int sectionRow, const QModelIndex &parent, const QString &key) const
181−{
182− for (int i = 0, count = 0; i < sourceModel()->rowCount(parent); i++) {
183− QModelIndex sourceIndex = sourceModel()->index(i, 0, parent);
184− int indexCount = recursiveRowCount(sourceIndex);
185−
186− if (count == sectionRow) {
187− QString sectionKey = key + "." + QString::number(i);
188− m_indexCache.insert(row, sectionKey);
189− return createIndex(row, 0);
190− } else if ((count + indexCount) >= sectionRow) {
191− count++;
192− return index(row, sectionRow - count, sourceIndex, key + "." + QString::number(i));
193− }
194−
195− count += indexCount + 1;
196− }
197− return QModelIndex();
198−}
199−
200−QModelIndex FlatMenuProxyModel::index(int row, int, const QModelIndex &) const
201−{
202− return index(row, row, QModelIndex(), "");
203−}
204−
205−QModelIndex FlatMenuProxyModel::parent(const QModelIndex &) const
206−{
207− return QModelIndex();
208−}
209−
210−int FlatMenuProxyModel::columnCount(const QModelIndex &) const
211−{
212− return 1;
213−}
214−
215−int FlatMenuProxyModel::rowCount(const QModelIndex &) const
216−{
217− return m_rowCount;
218−}
219−
220−int FlatMenuProxyModel::count() const
221−{
222− return rowCount(QModelIndex());
223−}
224−
225−void FlatMenuProxyModel::onModelAboutToBeReset()
226−{
227− beginResetModel();
228−}
229−
230−void FlatMenuProxyModel::onModelReset()
231−{
232− // initiliaze rowCount
233− m_rowCount = 0;
234− for (int i = 0, iMax = sourceModel()->rowCount(); i < iMax; i++) {
235− QModelIndex index = sourceModel()->index(i, 0);
236− m_rowCount += recursiveRowCount(index) + 1;
237− }
238− m_indexCache.clear();
239− endResetModel();
240− Q_EMIT countChanged();
241−}
242−
243−int FlatMenuProxyModel::recursiveRowCount(const QModelIndex &index) const
244−{
245− int size = sourceModel()->rowCount(index);
246− for (int i=0, iMax=size; i < iMax; i++) {
247− QModelIndex currentIndex = sourceModel()->index(i, 0, index);
248− size += recursiveRowCount(currentIndex);
249− }
250−
251− return size;
252−}
253−
254−int FlatMenuProxyModel::rowOffsetOf(const QModelIndex &index, int row, bool inclusive) const
255−{
256− int offset = 0;
257−
258− QModelIndex parent = index.parent();
259−
260− // Check row 0 offset
261− while(parent.isValid()) {
262− offset += 1;
263− for (int i = 0; i < parent.row(); i++) {
264− QModelIndex currentIndex = sourceModel()->index(i, 0, parent);
265− offset += recursiveRowCount(currentIndex) + 1;
266− }
267− parent = parent.parent();
268− }
269−
270− // Check index.row() offset
271− for(int i = 0; i < row; i++) {
272− QModelIndex currentIndex = sourceModel()->index(i, 0, index.parent());
273− offset += recursiveRowCount(currentIndex) + 1;
274− }
275−
276− if (inclusive) {
277− // itself
278− QModelIndex currentIndex = sourceModel()->index(row, 0, index.parent());
279− offset += recursiveRowCount(currentIndex);
280− }
281−
282− return offset;
283−}
284−
285−QVariant FlatMenuProxyModel::data(int row, int role) const
286−{
287− return QAbstractProxyModel::data(index(row, 0), role);
288−}
plugins/Unity/IndicatorsLegacy/flatmenuproxymodel.hdeleted−93
@@ -1,93 +0,0 @@
1−/*
2− * Copyright 2012 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− * Renato Araujo Oliveira Filho <renato@canonical.com>
18− */
19−
20−#ifndef FLATMENUPROXYMODEL_H
21−#define FLATMENUPROXYMODEL_H
22−
23−#include "unityindicatorsglobal.h"
24−
25−#include <QAbstractProxyModel>
26−#include <qdbusmenumodel.h>
27−
28−class SectionInfo;
29−
30−class UNITYINDICATORS_EXPORT FlatMenuProxyModel : public QAbstractProxyModel
31−{
32− Q_OBJECT
33− Q_PROPERTY(int count READ count NOTIFY countChanged)
34− Q_PROPERTY(int busType READ busType WRITE setIntBusType NOTIFY busTypeChanged)
35− Q_PROPERTY(QString busName READ busName WRITE setBusName NOTIFY busNameChanged)
36− Q_PROPERTY(QString objectPath READ objectPath WRITE setObjectPath NOTIFY objectPathChanged)
37− Q_PROPERTY(int status READ status NOTIFY statusChanged)
38−
39− Q_ENUMS(Roles)
40−public:
41− FlatMenuProxyModel(QAbstractItemModel *source=0);
42− ~FlatMenuProxyModel();
43−
44− void setSourceModel(QAbstractItemModel * sourceModel);
45−
46− Q_INVOKABLE QVariant data(int row, int role = Qt::DisplayRole) const;
47−
48− QModelIndex mapFromSource(const QModelIndex &index) const;
49− QModelIndex mapToSource(const QModelIndex &index) const;
50−
51− QModelIndex index(int row, int column = 0, const QModelIndex &parent = QModelIndex()) const;
52− QModelIndex parent(const QModelIndex &index) const;
53− int rowCount(const QModelIndex &parent = QModelIndex()) const;
54− int count() const;
55− int columnCount(const QModelIndex &parent) const;
56−
57− void setBusName(const QString &busName);
58− QString busName() const;
59−
60− void setObjectPath(const QString &busName);
61− QString objectPath() const;
62−
63− DBusEnums::BusType busType() const;
64− void setIntBusType(int type);
65−
66− int status() const;
67−
68−public Q_SLOTS:
69− void onModelAboutToBeReset();
70− void onModelReset();
71−
72− void start();
73− void stop();
74−
75−Q_SIGNALS:
76− void countChanged();
77−
78− void busTypeChanged();
79− void busNameChanged();
80− void objectPathChanged();
81− void statusChanged();
82−
83−private:
84− QDBusMenuModel *m_model;
85− mutable QMap<int, QString> m_indexCache;
86− int m_rowCount;
87−
88− int rowOffsetOf(const QModelIndex &index, int row, bool inclusive = false) const;
89− int recursiveRowCount(const QModelIndex &index) const;
90− QModelIndex index(int row, int rowCount, const QModelIndex &parent, const QString &key) const;
91−};
92−
93−#endif
plugins/Unity/IndicatorsLegacy/modelprinter.cppdeleted−114
@@ -1,114 +0,0 @@
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− * Nick Dedekind <nick.dedekind@canonical.com>
18− */
19−
20−// self
21−#include "modelprinter.h"
22−
23−// Qt
24−#include <QTextStream>
25−
26−ModelPrinter::ModelPrinter(QObject *parent)
27− : QObject(parent)
28− , m_model(NULL)
29−{
30−}
31−
32−void ModelPrinter::setSourceModel(QAbstractItemModel * sourceModel)
33−{
34− if (m_model != NULL) {
35− disconnect(m_model);
36− }
37− if (m_model != sourceModel) {
38− m_model = sourceModel;
39− Q_EMIT modelChanged();
40− Q_EMIT textChanged();
41− }
42− if (m_model != NULL) {
43− connect(m_model, SIGNAL(modelReset()), this, SIGNAL(textChanged()));
44− connect(m_model, SIGNAL(rowsInserted(QModelIndex,int,int)), this, SIGNAL(textChanged()));
45− connect(m_model, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SIGNAL(textChanged()));
46− }
47−}
48−
49−QAbstractItemModel* ModelPrinter::sourceModel() const
50−{
51− return m_model;
52−}
53−
54−QString ModelPrinter::text(const QModelIndex& index) const
55−{
56− return recurseString(index, 0);
57−}
58−
59−QString tabify(int level) { QString str;
60− for (int i = 0; i < level; i++) {
61− str += " ";
62− }
63− return str;
64−}
65−
66−QString ModelPrinter::recurseString(const QModelIndex& index, int level) const
67−{
68− if (!m_model)
69− return "";
70−
71− QString str;
72− QTextStream stream(&str);
73−
74− QHash<int, QByteArray> roleNames = m_model->roleNames();
75− QList<int> roles = roleNames.keys();
76− qSort(roles);
77− Q_FOREACH(int role, roles) {
78− QVariant vData = m_model->data(index, role);
79− if (vData.canConvert(QMetaType::QVariantMap)) {
80− QMapIterator<QString, QVariant> iter(vData.toMap());
81− while (iter.hasNext()) {
82− iter.next();
83− stream << tabify(level)
84− << roleNames[role]
85− << "."
86− << iter.key()
87− << ": "
88− << iter.value().toString()
89− << endl;
90− }
91− }
92− else {
93− stream << tabify(level)
94− << roleNames[role]
95− << ": "
96− << vData.toString()
97− << endl;
98− }
99− }
100−
101− int rowCount = m_model->rowCount(index);
102− stream << tabify(level)
103− << "child count"
104− << ": "
105− << rowCount
106− << endl
107− << endl;
108−
109− for (int i = 0; i < rowCount; i++) {
110− QModelIndex child = m_model->index(i, 0, index);
111− str += recurseString(child, level+1);
112− }
113− return str;
114−}
plugins/Unity/IndicatorsLegacy/modelprinter.hdeleted−50
@@ -1,50 +0,0 @@
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− * Nick Dedekind <nick.dedekind@canonical.com>
18− */
19−
20−#ifndef MODELPRINTER_H
21−#define MODELPRINTER_H
22−
23−#include <QSortFilterProxyModel>
24−
25−// This class acts as a namespace only, with the addition that its enums
26−// are registered to be exposed on the QML side.
27−class ModelPrinter : public QObject
28−{
29− Q_OBJECT
30−
31− Q_PROPERTY(QAbstractItemModel* model READ sourceModel WRITE setSourceModel NOTIFY modelChanged)
32− Q_PROPERTY(QString text READ text NOTIFY textChanged)
33−public:
34− ModelPrinter(QObject* parent=0);
35−
36− void setSourceModel(QAbstractItemModel* sourceModel);
37− QAbstractItemModel* sourceModel() const;
38−
39− Q_INVOKABLE QString text(const QModelIndex& index = QModelIndex()) const;
40−
41−Q_SIGNALS:
42− void modelChanged();
43− void textChanged();
44−
45−private:
46− QString recurseString(const QModelIndex& index, int level) const;
47− QAbstractItemModel* m_model;
48−};
49−
50−#endif // MODELPRINTER_H
plugins/Unity/IndicatorsLegacy/plugin.cppdeleted−42
@@ -1,42 +0,0 @@
1−/*
2− * Copyright (C) 2012 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: Nick Dedekind <nick.dedekind@canonical.com>
17− */
18−
19−// Qt
20−#include <QtQml/qqml.h>
21−
22−// self
23−#include "plugin.h"
24−
25−// local
26−#include "flatmenuproxymodel.h"
27−#include "indicators.h"
28−#include "modelprinter.h"
29−
30−void IndicatorsPlugin::registerTypes(const char *uri)
31−{
32− Q_INIT_RESOURCE(indicators);
33−
34− qmlRegisterType<FlatMenuProxyModel>(uri, 0, 1, "FlatMenuProxyModel");
35− qmlRegisterType<ModelPrinter>(uri, 0, 1, "ModelPrinter");
36−
37− qmlRegisterUncreatableType<ActionState>(uri, 0, 1, "ActionState", "Can't create ActionState class");
38− qmlRegisterUncreatableType<NetworkActionState>(uri, 0, 1, "NetworkActionState", "Can't create NetworkActionState class");
39− qmlRegisterUncreatableType<NetworkConnection>(uri, 0, 1, "NetworkConnection", "Can't create NetworkConnection class");
40− qmlRegisterUncreatableType<IndicatorsModelRole>(uri, 0, 1, "IndicatorsModelRole", "Can't create IndicatorsModelRole class");
41− qmlRegisterUncreatableType<FlatMenuProxyModelRole>(uri, 0, 1, "FlatMenuProxyModelRole", "Can't create FlatMenuProxyModelRole class");
42−}
plugins/Unity/IndicatorsLegacy/plugin.hdeleted−32
@@ -1,32 +0,0 @@
1−/*
2− * Copyright (C) 2012 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: Nick Dedekind <nick.dedekind@canonical.com>
17− */
18−
19−#ifndef INDICATORS_PLUGIN_H
20−#define INDICATORS_PLUGIN_H
21−
22−#include <QtQml/QQmlExtensionPlugin>
23−
24−class IndicatorsPlugin : public QQmlExtensionPlugin
25−{
26− Q_OBJECT
27− Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
28−public:
29− void registerTypes(const char *uri);
30−};
31−
32−#endif // INDICATORS_PLUGIN_H
plugins/Unity/IndicatorsLegacy/qml/BasicMenuItem.qmldeleted−48
@@ -1,48 +0,0 @@
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− * Renato Araujo Oliveira Filho <renato@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−import Ubuntu.Components.ListItems 0.1 as ListItem
22−
23−ListItem.Standard {
24− id: stdListItem
25−
26− property bool menuActivated: false
27− property QtObject menu
28− property QtObject actionGroup
29− property alias color: background.color
30−
31− signal activateMenu()
32− signal deactivateMenu()
33−
34− showDivider: false
35− __foregroundColor: "#e8e1d0"
36−
37− backgroundIndicator: RemoveBackground {
38− state: stdListItem.swipingState
39− }
40−
41− Rectangle {
42− id: background
43−
44− anchors.fill: parent
45− color: "#221e1c"
46− z: -1
47− }
48−}
plugins/Unity/IndicatorsLegacy/qml/ButtonMenuItem.qmldeleted−47
@@ -1,47 +0,0 @@
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− * Renato Araujo Oliveira Filho <renato@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−import Ubuntu.Components 0.1
22−
23−BasicMenuItem {
24− id: buttonMenu
25− color: "#221e1b"
26− implicitHeight: units.gu(7)
27−
28− Button {
29− id: button
30− enabled: menuAction.valid
31− text: menu ? menu.label : ""
32− anchors.centerIn: parent
33− height: units.gu(4)
34− width: units.gu(16)
35− color: "#1b1817"
36−
37− onClicked: {
38− menuAction.activate()
39− }
40− }
41−
42− MenuAction {
43− id: menuAction
44− actionGroup: buttonMenu.actionGroup
45− action: menu ? menu.action : ""
46− }
47−}
plugins/Unity/IndicatorsLegacy/qml/CMakeLists.txtdeleted−5
@@ -1,5 +0,0 @@
1−# export_qmlplugin macro
2−include(Plugins)
3−
4−# export the qmldir, *.qml files.
5−export_qmlfiles(Unity.IndicatorsLegacy Unity/IndicatorsLegacy)
plugins/Unity/IndicatorsLegacy/qml/DivMenuItem.qmldeleted−26
@@ -1,26 +0,0 @@
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− * Olivier Tilloy <olivier.tilloy@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−import Ubuntu.Components 0.1
22−
23−Rectangle {
24− color: "#181514"
25− implicitHeight: units.gu(1)
26−}
plugins/Unity/IndicatorsLegacy/qml/HLine.qmldeleted−29
@@ -1,29 +0,0 @@
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− * Renato Araujo Oliveira Filho <renato@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−import Ubuntu.Components 0.1
22−
23−Rectangle {
24− height: units.dp(1)
25− anchors {
26− left: parent.left
27− right: parent.right
28− }
29−}
plugins/Unity/IndicatorsLegacy/qml/IndicatorBase.qmldeleted−59
@@ -1,59 +0,0 @@
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− * Renato Araujo Oliveira Filho <renato@canonical.com>
18− * Nick Dedekind <nick.dedekind@canonical.com>
19− */
20−
21−import QtQuick 2.0
22−import QMenuModel 0.1
23−import Unity.IndicatorsLegacy 0.1 as Indicators
24−
25−Item {
26− id: indicatorItem
27−
28− //const
29− property string title
30− property int busType
31− property string busName
32− property string actionsObjectPath
33− property var menuObjectPaths: undefined
34− readonly property string device: "phone"
35−
36− property string deviceMenuObjectPath: menuObjectPaths.hasOwnProperty(device) ? menuObjectPaths[device] : ""
37−
38− signal actionGroupUpdated()
39− signal modelUpdated()
40−
41− property var actionGroup: QDBusActionGroup {
42− busType: indicatorItem.busType
43− busName: indicatorItem.busName
44− objectPath: indicatorItem.actionsObjectPath
45−
46− onActionAppear: indicatorItem.actionGroupUpdated();
47− }
48−
49− property var proxyModel: Indicators.FlatMenuProxyModel {
50− busType: indicatorItem.busType
51− busName: indicatorItem.busName
52− objectPath: indicatorItem.deviceMenuObjectPath
53−
54− onStatusChanged: indicatorItem.modelUpdated();
55− onRowsInserted: indicatorItem.modelUpdated();
56− onRowsRemoved: indicatorItem.modelUpdated();
57− onDataChanged: indicatorItem.modelUpdated();
58− }
59−}
plugins/Unity/IndicatorsLegacy/qml/IndicatorPage.qmldeleted−191
@@ -1,191 +0,0 @@
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− * Renato Araujo Oliveira Filho <renato@canonical.com>
18− * Nick Dedekind <nick.dedekind@canonical.com>
19− */
20−
21−import QtQuick 2.0
22−import Ubuntu.Components 0.1 as Components
23−
24−IndicatorBase {
25− id: main
26−
27− //const
28− property alias emptyText: emptyLabel.text
29− property alias highlightFollowsCurrentItem : mainMenu.highlightFollowsCurrentItem
30− property bool __active: false
31−
32− ListView {
33− id: mainMenu
34−
35− property int visibleItems: 0
36−
37− model: proxyModel
38− anchors {
39− fill: parent
40− bottomMargin: Qt.inputMethod.visible ? (Qt.inputMethod.keyboardRectangle.height - main.anchors.bottomMargin) : 0
41−
42− Behavior on bottomMargin {
43− NumberAnimation {
44− duration: 175
45− easing.type: Easing.OutQuad
46− }
47− }
48− // TODO - does ever frame.
49− onBottomMarginChanged: {
50− mainMenu.positionViewAtIndex(mainMenu.currentIndex, ListView.End)
51− }
52− }
53−
54− // Ensure all delegates are cached in order to improve smoothness of scrolling
55− cacheBuffer: 10000
56−
57− // Only allow flicking if the content doesn't fit on the page
58− interactive: contentHeight > height
59−
60− currentIndex: -1
61− delegate: Item {
62− id: item
63− property bool ready: false
64− property alias empty: factory.empty
65−
66− anchors {
67− left: parent.left
68− right: parent.right
69− }
70− height: div.height + factory.implicitHeight
71− visible: height > 0
72−
73− Component.onCompleted: {
74− if (!item.empty) {
75− mainMenu.visibleItems += 1;
76− }
77− ready = true;
78− }
79− Component.onDestruction: {
80− if (!item.empty) {
81− mainMenu.visibleItems -= 1;
82− }
83− ready = false;
84− }
85−
86− onEmptyChanged: {
87− if (!ready) {
88− return;
89− }
90− if (empty) {
91− mainMenu.visibleItems -= 1;
92− } else {
93− mainMenu.visibleItems += 1;
94− }
95− }
96−
97− ListView.onRemove: {
98− if (!highlightFollowsCurrentItem) {
99− mainMenu.currentIndex = -1;
100− }
101− }
102−
103− Column {
104− id: contents
105−
106− anchors.fill: parent
107−
108− DivMenuItem {
109− id: div
110−
111− anchors.left: parent.left
112− anchors.right: parent.right
113− // only visible if is a root or a section header element and the factory is visible
114− height: {
115− // skipe first item
116− if (item.y == 0) {
117− return 0;
118− }
119− if (hasSection || ((depth == 0) && (!factory.empty))) {
120− return implicitHeight;
121− } else {
122− return 0;
123− }
124− }
125− }
126−
127− MenuItemFactory {
128− id: factory
129−
130− actionGroup: main.actionGroup
131− isCurrentItem: item.ListView.isCurrentItem
132− anchors {
133− left: parent.left
134− right: parent.right
135− }
136− menu: model
137−
138− Connections {
139− target : factory
140− onActivated: item.ListView.view.currentIndex = index
141− onDeactivated: item.ListView.view.currentIndex = -1
142− }
143− }
144− }
145− }
146− }
147−
148− Components.Label {
149− id: emptyLabel
150− visible: (mainMenu.visibleItems === 0)
151− anchors {
152− top: parent.top
153− left: parent.left
154− right: parent.right
155− topMargin: units.gu(2)
156− }
157− wrapMode: Text.WordWrap
158− horizontalAlignment: Text.AlignHCenter
159−
160− //style
161− color: "#e8e1d0"
162− fontSize: "medium"
163−
164− text: "Empty!"
165− }
166−
167− function start()
168− {
169− reset()
170− if (!__active) {
171− proxyModel.start();
172− actionGroup.start();
173− __active = true;
174− }
175− }
176−
177− function stop()
178− {
179− if (__active) {
180− __active = false;
181− proxyModel.stop();
182− actionGroup.stop();
183− }
184− }
185−
186− function reset()
187− {
188− mainMenu.currentIndex = -1;
189− mainMenu.positionViewAtBeginning();
190− }
191−}
plugins/Unity/IndicatorsLegacy/qml/IndicatorWidget.qmldeleted−68
@@ -1,68 +0,0 @@
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− * Nick Dedekind <nick.dedekind@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−import Unity.IndicatorsLegacy 0.1 as Indicators
22−
23−IndicatorBase {
24− id: indicatorWidget
25−
26− enabled: false
27− property var action: undefined
28− property bool started: (busType != 0) && (busName != "") && (deviceMenuObjectPath != "")
29− property int iconSize: height - units.gu(0.5)
30− property string rootMenuType: "com.canonical.indicator.root"
31−
32− signal actionStateChanged()
33−
34− onStartedChanged: {
35− if (started) {
36− proxyModel.start();
37− actionGroup.start();
38− } else {
39− proxyModel.stop();
40− actionGroup.stop();
41− }
42− }
43− onActionGroupUpdated: update_state()
44− onModelUpdated: update_state()
45−
46−
47− function update_state() {
48− var extra = proxyModel.data(0, Indicators.FlatMenuProxyModelRole.Extra);
49− if (extra == undefined) {
50− return;
51− }
52−
53− if (!extra.hasOwnProperty("canonical_type")) {
54− return;
55− }
56−
57− if (extra.canonical_type === rootMenuType) {
58− action = actionGroup.action(proxyModel.data(0, Indicators.FlatMenuProxyModelRole.Action));
59− actionStateChanged();
60− }
61− }
62−
63− Connections {
64− target: action == undefined ? null : action
65− onStateChanged: actionStateChanged()
66− onValidChanged: actionStateChanged()
67− }
68−}
plugins/Unity/IndicatorsLegacy/qml/MenuAction.qmldeleted−86
@@ -1,86 +0,0 @@
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− * Renato Araujo Oliveira Filho <renato@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−
22−/*!
23− \qmltype MenuAction
24− \inqmlmodule Indicators 0.1
25− \brief Helper class to connect to a qmenumodel action
26−
27− Example:
28− \qml
29− Button {
30− id: slide
31− onClick: { action.activate() }
32− }
33− MenuAction {
34− id: action
35− actionGroup: menuItem.actionGroup
36− action: "/ubuntu/sound/enabled"
37− }
38− \endqml
39−*/
40−
41−Item {
42− id: menuAction
43−
44− /*!
45− \preliminary
46− The dbus action name
47− */
48− property string action: ""
49−
50− /*!
51− \preliminary
52− The dbus action group object
53− */
54− property QtObject actionGroup: null
55−
56− /*!
57− \preliminary
58− This is a read-only property with the current validity of the action
59− */
60− readonly property bool valid: actionObject ? actionObject.valid : false
61−
62− readonly property var state: actionObject ? actionObject.state : undefined
63−
64− // internal
65− property QtObject actionObject: null
66−
67− function activate(param) {
68− if (valid) {
69− actionObject.activate(param);
70− }
71− }
72−
73− onActionGroupChanged: updateAction()
74− onActionChanged: updateAction()
75−
76− Connections {
77− target: menuAction.actionGroup != undefined ? menuAction.actionGroup : null
78− onActionAppear: menuAction.updateAction();
79− onActionVanish: menuAction.updateAction();
80− onStatusChanged: menuAction.updateAction();
81− }
82−
83− function updateAction() {
84− actionObject = action !== "" && actionGroup ? actionGroup.action(action) : null
85− }
86−}
plugins/Unity/IndicatorsLegacy/qml/MenuActionBinding.qmldeleted−106
@@ -1,106 +0,0 @@
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− * Renato Araujo Oliveira Filho <renato@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−
22−/*!
23− \qmltype MenuActionBinding
24− \inqmlmodule Indicators 0.1
25− \brief Helper class to connect a qmenumodel action state with a qml components property
26−
27− Example:
28− \qml
29− Slider {
30− id: slide
31− }
32− MenuActionBinding {
33− actionGroup: menuItem.actionGroup
34− action: "/ubuntu/sound/volume"
35− target: slider
36− property: "value"
37− }
38− \endqml
39−*/
40−
41−MenuAction {
42− id: menuAction
43−
44− /*!
45− \preliminary
46− The component which will have the property changed by action
47− */
48− property QtObject target: null
49−
50− /*!
51− \preliminary
52− The property name of \l target component which will be linked with action state
53− */
54− property string property
55−
56− /*!
57− \preliminary
58− Use this to enable or disable the action state propagation to component property.
59− */
60− property bool active: true
61−
62− Component.onCompleted: connectViewChanges()
63− onTargetChanged: connectViewChanges()
64− onPropertyChanged: connectViewChanges()
65−
66− Item {
67− id: d
68− property var currentTarget: undefined
69− property string currentSignal
70− }
71−
72− Binding {
73− id: propertyBinding
74− target: menuAction.target
75− property: menuAction.property
76− value: menuAction.state
77− when: menuAction.actionObject && menuAction.active
78− }
79−
80− // TODO - re-evaluate in c++
81− function connectViewChanges() {
82− if (d.currentTarget != undefined && d.currentSignal !== "") {
83− if (d.currentTarget[d.currentSignal] !== undefined) {
84− d.currentTarget[d.currentSignal].disconnect(onViewValueChanged);
85− }
86− }
87−
88− d.currentTarget = null;
89− d.currentSignal = "";
90− if (target) {
91− var signal = "on%1Changed".arg(property.charAt(0).toUpperCase() + property.slice(1));
92− if (target[signal] !== undefined) {
93− target[signal].connect(onViewValueChanged);
94− d.currentTarget = target;
95− d.currentSignal = signal;
96− }
97− }
98− }
99−
100− function onViewValueChanged() {
101− if (valid) {
102− var propertyValue = target[property];
103− actionObject.updateState(propertyValue);
104− }
105− }
106−}
plugins/Unity/IndicatorsLegacy/qml/MenuItem.qmldeleted−40
@@ -1,40 +0,0 @@
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− * Renato Araujo Oliveira Filho <renato@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−import Ubuntu.Components 0.1
22−import Ubuntu.Components.ListItems 0.1 as ListItem
23−
24−BasicMenuItem {
25− objectName: menu ? menu.action : ""
26− progression: menu && (menu.linkSubMenu !== undefined)
27− text: menu && menu.label ? menu.label : ""
28− color: "#221e1c"
29− implicitHeight: units.gu(7)
30−
31− HLine {
32− anchors.top: parent.top
33− color: "#403b37"
34− }
35−
36− HLine {
37− anchors.bottom: parent.bottom
38− color: "#060606"
39− }
40−}
plugins/Unity/IndicatorsLegacy/qml/MenuItemFactory.qmldeleted−102
@@ -1,102 +0,0 @@
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− * Nick Dedekind <nick.dedekind@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−import Unity.IndicatorsLegacy 0.1 as Indicators
22−import Unity.IndicatorsLegacy.Network 0.1 as ICNetwork
23−
24−Item {
25− id: menuFactory
26−
27− property QtObject menu
28− property QtObject listView
29− property QtObject actionGroup
30− property bool isCurrentItem
31− readonly property bool empty: (loader.item !== undefined && loader.status == Loader.Ready) ? loader.item.state === "EMPTY" : true
32−
33− implicitHeight: loader.height
34−
35− signal activated()
36− signal deactivated()
37−
38− property var _map: {
39− "unity.widgets.systemsettings.tablet.volumecontrol" : sliderMenu,
40− "unity.widgets.systemsettings.tablet.switch" : switchMenu,
41−
42− "com.canonical.indicator.button" : buttonMenu,
43− "com.canonical.indicator.div" : divMenu,
44− "com.canonical.indicator.section" : sectionMenu,
45− "com.canonical.indicator.progress" : progressMenu,
46− "com.canonical.indicator.slider" : sliderMenu,
47− "com.canonical.indicator.switch" : switchMenu,
48−
49− "unity.widget.systemsettings.tablet.sectiontitle" : wifiSection,
50− "unity.widgets.systemsettings.tablet.wifisection" : wifiSection,
51− "unity.widgets.systemsettings.tablet.accesspoint" : accessPoint,
52− }
53−
54− Component { id: sliderMenu; Indicators.SliderMenuItem {} }
55− Component { id: switchMenu; Indicators.SwitchMenuItem {} }
56− Component { id: buttonMenu; Indicators.ButtonMenuItem {} }
57− Component { id: divMenu; Indicators.DivMenuItem {} }
58− Component { id: sectionMenu; Indicators.SectionMenuItem {} }
59− Component { id: progressMenu; Indicators.ProgressMenuItem {} }
60− Component { id: wifiSection; ICNetwork.WifiSection {} }
61− Component { id: accessPoint; ICNetwork.AccessPoint {} }
62− Component { id: indicatorMenu; Indicators.MenuItem {} }
63−
64− Loader {
65− id: loader
66− asynchronous: true
67−
68− anchors {
69− left: parent.left
70− right: parent.right
71− }
72−
73− sourceComponent: {
74− if (!menuFactory.menu || !menuFactory.menu.extra) {
75− return undefined;
76− }
77−
78− var widgetType = menuFactory.menu.extra.canonical_type;
79− if (widgetType) {
80− return _map[widgetType];
81− } else {
82− if (widgetType === "com.canonical.indicator.root") {
83− return undefined;
84− // Try discovery the item based on the basic properties
85− } else if (menu.hasSection) {
86− return sectionMenu;
87− } else {
88− return indicatorMenu;
89− }
90− }
91− }
92−
93− onLoaded: {
94− item.menuActivated = Qt.binding(function() { return isCurrentItem; });
95− item.actionGroup = Qt.binding(function() { return menuFactory.actionGroup; });
96− item.menu = Qt.binding(function() { return menuFactory.menu; });
97−
98− item.activateMenu.connect(function() { menuFactory.activated(); });
99− item.deactivateMenu.connect(function() { menuFactory.deactivated(); });
100− }
101− }
102−}
plugins/Unity/IndicatorsLegacy/qml/ProgressMenuItem.qmldeleted−65
@@ -1,65 +0,0 @@
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 Zanetti <michael.zanetti@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−import Ubuntu.Components 0.1
22−
23−MenuItem {
24− id: progressMenu
25− property alias value : progressBar.value
26−
27− // TODO: Replace this with the official ProgressBar component as soon as
28− // it is available. For now, this rebuilds the Mockup as close as possible.
29− UbuntuShape {
30− id: progressBar
31− anchors {
32− right: parent.right
33− rightMargin: units.gu(2)
34− left: parent.left
35− leftMargin: units.gu(2)
36− }
37− height: units.gu(4)
38− anchors.verticalCenter: parent.verticalCenter
39− color: "transparent"
40−
41− property int minimumValue: 0
42− property int maximumValue: 100
43− property int value: 50
44−
45− UbuntuShape {
46− anchors.fill: parent
47− anchors.rightMargin: parent.width - (parent.width * parent.value / parent.maximumValue)
48− color: "#c94212"
49− }
50−
51− Label {
52− anchors.centerIn: parent
53− text: parent.value + " %"
54− fontSize: "medium"
55− color: "#e8e1d0"
56− }
57− }
58−
59− MenuActionBinding {
60− actionGroup: progressMenu.actionGroup
61− action: menu ? menu.action : ""
62− target: progressBar
63− property: "value"
64− }
65−}
plugins/Unity/IndicatorsLegacy/qml/RemoveBackground.qmldeleted−55
@@ -1,55 +0,0 @@
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−
17−import QtQuick 2.0
18−import Ubuntu.Components 0.1
19−
20−Rectangle {
21− anchors.fill: parent
22− color: "#333130"
23− Label {
24− id: backgroundText
25−
26− anchors.fill: parent
27− verticalAlignment: Text.AlignVCenter
28− text: "Clear"
29− fontSize: "medium"
30− color: "#e8e1d0"
31− font.bold: true
32− }
33−
34− states: [
35− State {
36− name: "SwipingRight"
37− PropertyChanges {
38− target: backgroundText
39− anchors.rightMargin: units.gu(3)
40− anchors.leftMargin: 0
41− horizontalAlignment: Text.AlignRight
42−
43− }
44− },
45− State {
46− name: "SwipingLeft"
47− PropertyChanges {
48− target: backgroundText
49− anchors.rightMargin: 0
50− anchors.leftMargin: units.gu(3)
51− horizontalAlignment: Text.AlignLeft
52− }
53− }
54− ]
55−}
plugins/Unity/IndicatorsLegacy/qml/SectionMenuItem.qmldeleted−57
@@ -1,57 +0,0 @@
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− * Renato Araujo Oliveira Filho <renato@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−import Ubuntu.Components 0.1
22−import Ubuntu.Components.ListItems 0.1 as ListItem
23−
24−BasicMenuItem {
25− property string label: menu && menu.label ? menu.label : ""
26− property bool busy: false
27− property int count: menu && menu.linkSection ? menu.linkSection.count : 0
28−
29− color: "#221e1b"
30− implicitHeight: label !== "" ? __header.height : 0
31− state: count === 0 ? "EMPTY" : ""
32−
33− ListItem.Header {
34− id: __header
35−
36− text: label
37− height: units.gu(4)
38− anchors {
39− left: parent.left
40− right: parent.right
41− top: parent.top
42− }
43− visible: text != ""
44−
45− ActivityIndicator {
46− id: indicator
47− running: busy
48− anchors {
49− margins: units.gu(0.5)
50− right: parent.right
51− }
52− height: parent.height - (anchors.margins * 2)
53− width: height
54− anchors.verticalCenter: parent.verticalCenter
55− }
56− }
57−}
plugins/Unity/IndicatorsLegacy/qml/SliderMenuItem.qmldeleted−64
@@ -1,64 +0,0 @@
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− * Renato Araujo Oliveira Filho <renato@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−import Ubuntu.Components 0.1
22−
23−MenuItem {
24− id: _sliderMenu
25−
26− property alias minimumValue: slider.minimumValue
27− property alias maximumValue: slider.maximumValue
28− property alias value: slider.value
29−
30− control: Slider {
31− id: slider
32− enabled: menuAction.valid
33− width: _sliderMenu.text ? units.gu(20) : _sliderMenu.width - units.gu(4)
34− anchors.verticalCenter: parent.verticalCenter
35− live: false
36− // FIXME: The interval should be [0.0 - 1.0]. Unfortunately, when
37− // reaching the boundaries (0.0 or 1.0), the value is converted
38− // to an integer when automatically wrapped in a variant when
39− // passed to QStateAction::updateState(…). The server chokes on
40− // those values, complaining that they’re not of the right type…
41− minimumValue: menu.extra.canonical_min ? menu.extra.canonical_min * 1.000001 : 0.0000001
42− maximumValue: {
43− var maximum = menu.extra.canonical_max ? menu.extra.canonical_max * 1.000001 : 0.9999999
44− if (maximum <= minimumValue) {
45− return minimumValue + 1;
46− }
47− return maximum;
48− }
49−
50− // FIXME - to be deprecated in Ubuntu.Components.
51− // Use this to disable the label, since there is not way to do it on the component.
52− function formatValue(v) {
53− return "";
54− }
55− }
56−
57− MenuActionBinding {
58− id: menuAction
59− actionGroup: _sliderMenu.actionGroup
60− action: menu ? menu.action : ""
61− target: slider
62− property: "value"
63− }
64−}
plugins/Unity/IndicatorsLegacy/qml/SwitchMenuItem.qmldeleted−43
@@ -1,43 +0,0 @@
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− * Renato Araujo Oliveira Filho <renato@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−import Ubuntu.Components 0.1
22−
23−MenuItem {
24− id: switchMenu
25−
26− property alias checked: switcher.checked
27−
28− control: Switch {
29− id: switcher
30− enabled: menuAction.valid
31−
32− anchors.verticalCenter: parent.verticalCenter
33− anchors.right: parent.right
34− }
35−
36− MenuActionBinding {
37− id: menuAction
38− actionGroup: switchMenu.actionGroup
39− action: menu ? menu.action : ""
40− target: switcher
41− property: "checked"
42− }
43−}
plugins/Unity/IndicatorsLegacy/qml/qmldirdeleted−21
@@ -1,21 +0,0 @@
1−module Unity.IndicatorsLegacy
2−plugin IndicatorsLegacyQml
3−typeinfo plugin.qmltypes
4−
5−BasicMenuItem 0.1 BasicMenuItem.qml
6−ButtonMenuItem 0.1 ButtonMenuItem.qml
7−DivMenuItem 0.1 DivMenuItem.qml
8−HLine 0.1 HLine.qml
9−IndicatorBase 0.1 IndicatorBase.qml
10−IndicatorPage 0.1 IndicatorPage.qml
11−IndicatorWidget 0.1 IndicatorWidget.qml
12−MenuItem 0.1 MenuItem.qml
13−MenuAction 0.1 MenuAction.qml
14−MenuActionBinding 0.1 MenuActionBinding.qml
15−MenuItemFactory 0.1 MenuItemFactory.qml
16−ProgressMenuItem 0.1 ProgressMenuItem.qml
17−SectionMenuItem 0.1 SectionMenuItem.qml
18−SliderMenuItem 0.1 SliderMenuItem.qml
19−SwitchMenuItem 0.1 SwitchMenuItem.qml
20−
21−internal RemoveBackground RemoveBackground.qml
plugins/Unity/IndicatorsLegacy/resources/indicators.qrcdeleted−4
@@ -1,4 +0,0 @@
1−<RCC>
2− <qresource prefix="/indicators">
3− </qresource>
4−</RCC>
plugins/Unity/Launcher/backend/launcherbackend.cpp+4−4
@@ -38,13 +38,13 @@ public:
38 bool pinned;
38 bool pinned;
39};
39};
40
40
41−LauncherBackend::LauncherBackend(bool useStorage, QObject *parent):
41+LauncherBackend::LauncherBackend(QObject *parent):
42 QObject(parent),
42 QObject(parent),
43 m_accounts(nullptr)
43 m_accounts(nullptr)
44{
44{
45− if (useStorage) {
45+#ifndef LAUNCHER_TESTING
46− m_accounts = new AccountsServiceDBusAdaptor(this);
46+ m_accounts = new AccountsServiceDBusAdaptor(this);
47− }
47+#endif
48 m_user = qgetenv("USER");
48 m_user = qgetenv("USER");
49 syncFromAccounts();
49 syncFromAccounts();
50}
50}
plugins/Unity/Launcher/backend/launcherbackend.h+1−1
@@ -39,7 +39,7 @@ class LauncherBackend : public QObject
39
39
40
40
41public:
41public:
42− LauncherBackend(bool useStorage = true, QObject *parent = 0);
42+ LauncherBackend(QObject *parent = 0);
43 virtual ~LauncherBackend();
43 virtual ~LauncherBackend();
44
44
45 /**
45 /**
plugins/Unity/Launcher/launchermodel.cpp+1−1
@@ -27,7 +27,7 @@ using namespace unity::shell::application;
27
27
28LauncherModel::LauncherModel(QObject *parent):
28LauncherModel::LauncherModel(QObject *parent):
29 LauncherModelInterface(parent),
29 LauncherModelInterface(parent),
30− m_backend(new LauncherBackend(true, this)),
30+ m_backend(new LauncherBackend(this)),
31 m_appManager(0)
31 m_appManager(0)
32{
32{
33 connect(m_backend, SIGNAL(countChanged(QString,int)), SLOT(countChanged(QString,int)));
33 connect(m_backend, SIGNAL(countChanged(QString,int)), SLOT(countChanged(QString,int)));
plugins/Unity/Launcher/quicklistmodel.cpp+1−1
@@ -32,7 +32,7 @@ QuickListModel::~QuickListModel()
32
32
33void QuickListModel::appendAction(const QuickListEntry &entry)
33void QuickListModel::appendAction(const QuickListEntry &entry)
34{
34{
35− beginInsertRows(QModelIndex(), m_list.count() - 1, m_list.count() -1);
35+ beginInsertRows(QModelIndex(), m_list.count(), m_list.count());
36 m_list.append(entry);
36 m_list.append(entry);
37 endInsertRows();
37 endInsertRows();
38}
38}
plugins/Unity/bottombarvisibilitycommunicatorshell.cpp+15−1
@@ -17,7 +17,8 @@
17#include "bottombarvisibilitycommunicatorshell.h"
17#include "bottombarvisibilitycommunicatorshell.h"
18
18
19BottomBarVisibilityCommunicatorShell::BottomBarVisibilityCommunicatorShell()
19BottomBarVisibilityCommunicatorShell::BottomBarVisibilityCommunicatorShell()
20− : m_forceHidden(false)
20+ : m_forceHidden(false),
21+ m_position(0)
21{
22{
22}
23}
23
24
@@ -26,6 +27,11 @@ bool BottomBarVisibilityCommunicatorShell::forceHidden() const
26 return m_forceHidden;
27 return m_forceHidden;
27}
28}
28
29
30+double BottomBarVisibilityCommunicatorShell::position() const
31+{
32+ return m_position;
33+}
34+
29void BottomBarVisibilityCommunicatorShell::setForceHidden(bool forceHidden)
35void BottomBarVisibilityCommunicatorShell::setForceHidden(bool forceHidden)
30{
36{
31 if (forceHidden != m_forceHidden) {
37 if (forceHidden != m_forceHidden) {
@@ -33,3 +39,11 @@ void BottomBarVisibilityCommunicatorShell::setForceHidden(bool forceHidden)
33 Q_EMIT forceHiddenChanged(forceHidden);
39 Q_EMIT forceHiddenChanged(forceHidden);
34 }
40 }
35}
41}
42+
43+void BottomBarVisibilityCommunicatorShell::setPosition(double position)
44+{
45+ if (position != m_position) {
46+ m_position = position;
47+ Q_EMIT positionChanged(position);
48+ }
49+}
plugins/Unity/bottombarvisibilitycommunicatorshell.h+6
@@ -30,6 +30,7 @@ class BottomBarVisibilityCommunicatorShell : public QObject
30{
30{
31 Q_OBJECT
31 Q_OBJECT
32 Q_PROPERTY(bool forceHidden READ forceHidden WRITE setForceHidden NOTIFY forceHiddenChanged)
32 Q_PROPERTY(bool forceHidden READ forceHidden WRITE setForceHidden NOTIFY forceHiddenChanged)
33+ Q_PROPERTY(double position READ position WRITE setPosition NOTIFY positionChanged)
33
34
34 Q_CLASSINFO("D-Bus Interface", "com.canonical.Shell.BottomBarVisibilityCommunicator")
35 Q_CLASSINFO("D-Bus Interface", "com.canonical.Shell.BottomBarVisibilityCommunicator")
35public:
36public:
@@ -41,13 +42,18 @@ public:
41 bool forceHidden() const;
42 bool forceHidden() const;
42 void setForceHidden(bool forceHidden);
43 void setForceHidden(bool forceHidden);
43
44
45+ double position() const;
46+ void setPosition(double position);
47+
44Q_SIGNALS:
48Q_SIGNALS:
45 void forceHiddenChanged(bool forceHidden);
49 void forceHiddenChanged(bool forceHidden);
50+ void positionChanged(double position);
46
51
47private:
52private:
48 BottomBarVisibilityCommunicatorShell();
53 BottomBarVisibilityCommunicatorShell();
49
54
50 bool m_forceHidden;
55 bool m_forceHidden;
56+ double m_position;
51};
57};
52
58
53#endif
59#endif
plugins/Unity/categories.cpp+6
@@ -43,6 +43,7 @@ Categories::Categories(QObject* parent)
43 m_roles[Categories::RoleIcon] = "icon";
43 m_roles[Categories::RoleIcon] = "icon";
44 m_roles[Categories::RoleRenderer] = "renderer";
44 m_roles[Categories::RoleRenderer] = "renderer";
45 m_roles[Categories::RoleContentType] = "contentType";
45 m_roles[Categories::RoleContentType] = "contentType";
46+ m_roles[Categories::RoleRendererHint] = "rendererHint";
46 m_roles[Categories::RoleProgressSource] = "progressSource";
47 m_roles[Categories::RoleProgressSource] = "progressSource";
47 m_roles[Categories::RoleHints] = "hints";
48 m_roles[Categories::RoleHints] = "hints";
48 m_roles[Categories::RoleResults] = "results";
49 m_roles[Categories::RoleResults] = "results";
@@ -261,6 +262,11 @@ Categories::data(const QModelIndex& index, int role) const
261 auto hints = DeeListModel::data(realIndex, CategoryColumn::HINTS).toHash();
262 auto hints = DeeListModel::data(realIndex, CategoryColumn::HINTS).toHash();
262 return hints.contains("content-type") ? hints["content-type"] : QVariant(QString("default"));
263 return hints.contains("content-type") ? hints["content-type"] : QVariant(QString("default"));
263 }
264 }
265+ case RoleRendererHint:
266+ {
267+ auto hints = DeeListModel::data(index, CategoryColumn::HINTS).toHash();
268+ return hints.contains("renderer-hint") ? hints["renderer-hint"] : QVariant(QString());
269+ }
264 case RoleProgressSource:
270 case RoleProgressSource:
265 {
271 {
266 auto hints = DeeListModel::data(realIndex, CategoryColumn::HINTS).toHash();
272 auto hints = DeeListModel::data(realIndex, CategoryColumn::HINTS).toHash();
plugins/Unity/categories.h+1
@@ -50,6 +50,7 @@ public:
50 RoleIcon,
50 RoleIcon,
51 RoleRenderer,
51 RoleRenderer,
52 RoleContentType,
52 RoleContentType,
53+ RoleRendererHint,
53 RoleProgressSource,
54 RoleProgressSource,
54 RoleHints,
55 RoleHints,
55 RoleResults,
56 RoleResults,
plugins/Unity/categoryresults.cpp+21
@@ -46,6 +46,7 @@ CategoryResults::CategoryResults(QObject* parent)
46 m_roles[CategoryResults::RoleComment] = "comment";
46 m_roles[CategoryResults::RoleComment] = "comment";
47 m_roles[CategoryResults::RoleDndUri] = "dndUri";
47 m_roles[CategoryResults::RoleDndUri] = "dndUri";
48 m_roles[CategoryResults::RoleMetadata] = "metadata";
48 m_roles[CategoryResults::RoleMetadata] = "metadata";
49+ m_roles[CategoryResults::RoleRendererHints] = "rendererHints";
49}
50}
50
51
51int CategoryResults::categoryIndex() const
52int CategoryResults::categoryIndex() const
@@ -79,6 +80,13 @@ CategoryResults::data(const QModelIndex& index, int role) const
79 return DeeListModel::data(index, ResultsColumn::URI);
80 return DeeListModel::data(index, ResultsColumn::URI);
80 case RoleIconHint: {
81 case RoleIconHint: {
81 QString giconString(DeeListModel::data(index, ResultsColumn::ICON_HINT).toString());
82 QString giconString(DeeListModel::data(index, ResultsColumn::ICON_HINT).toString());
83+ if (giconString.isEmpty()) {
84+ QString uri(DeeListModel::data(index, ResultsColumn::URI).toString());
85+ QString thumbnailerUri(uriToThumbnailerProviderString(uri));
86+ if (!thumbnailerUri.isNull()) {
87+ return QVariant::fromValue(thumbnailerUri);
88+ }
89+ }
82 return QVariant::fromValue(gIconToDeclarativeImageProviderString(giconString));
90 return QVariant::fromValue(gIconToDeclarativeImageProviderString(giconString));
83 }
91 }
84 case RoleCategory:
92 case RoleCategory:
@@ -93,6 +101,19 @@ CategoryResults::data(const QModelIndex& index, int role) const
93 return DeeListModel::data(index, ResultsColumn::DND_URI);
101 return DeeListModel::data(index, ResultsColumn::DND_URI);
94 case RoleMetadata:
102 case RoleMetadata:
95 return DeeListModel::data(index, ResultsColumn::METADATA);
103 return DeeListModel::data(index, ResultsColumn::METADATA);
104+ case RoleRendererHints:
105+ {
106+ QVariantHash hash(DeeListModel::data(index, ResultsColumn::METADATA).toHash());
107+ if (hash.contains("content")) {
108+ QVariantMap hints;
109+ QVariantHash innerHash(hash["content"].toHash());
110+ if (innerHash.contains("scope_disabled")) {
111+ hints["scope_disabled"] = innerHash["scope_disabled"];
112+ }
113+ return hints.empty() ? QVariant() : QVariant::fromValue(hints);
114+ }
115+ return QVariant();
116+ }
96 default:
117 default:
97 return QVariant();
118 return QVariant();
98 }
119 }
plugins/Unity/categoryresults.h+2−1
@@ -43,7 +43,8 @@ public:
43 RoleTitle,
43 RoleTitle,
44 RoleComment,
44 RoleComment,
45 RoleDndUri,
45 RoleDndUri,
46− RoleMetadata
46+ RoleMetadata,
47+ RoleRendererHints
47 };
48 };
48
49
49 QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const;
50 QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const;
plugins/Unity/iconutils.cpp+12
@@ -24,6 +24,7 @@
24#include "iconutils.h"
24#include "iconutils.h"
25
25
26#define BASE_THEME_ICON_URI "image://theme/"
26#define BASE_THEME_ICON_URI "image://theme/"
27+#define BASE_THUMBNAILER_URI "image://thumbnailer/"
27
28
28QString gIconToDeclarativeImageProviderString(QString const &giconString)
29QString gIconToDeclarativeImageProviderString(QString const &giconString)
29{
30{
@@ -89,3 +90,14 @@ QString gIconToDeclarativeImageProviderString(QString const &giconString)
89
90
90 return result;
91 return result;
91}
92}
93+
94+QString uriToThumbnailerProviderString(QString const &uri)
95+{
96+ if (uri.startsWith(QLatin1String("file:///"))) {
97+ QString thumbnailerUri(BASE_THUMBNAILER_URI);
98+ thumbnailerUri.append(uri.midRef(7));
99+ return thumbnailerUri;
100+ }
101+
102+ return QString::null;
103+}
plugins/Unity/iconutils.h+1
@@ -23,5 +23,6 @@
23#include <QString>
23#include <QString>
24
24
25QString gIconToDeclarativeImageProviderString(QString const &giconString);
25QString gIconToDeclarativeImageProviderString(QString const &giconString);
26+QString uriToThumbnailerProviderString(QString const &uri);
26
27
27#endif
28#endif
plugins/Unity/preview.cpp+10−14
@@ -106,20 +106,16 @@ QVariantMap Preview::infoHintsHash() const
106QString Preview::image() const
106QString Preview::image() const
107{
107{
108 if (m_unityPreview) {
108 if (m_unityPreview) {
109+ if (m_unityPreview->image() != nullptr) {
109− auto giconString = g_icon_to_string(m_unityPreview->image());
110+ auto giconString = g_icon_to_string(m_unityPreview->image());
110− QString result(gIconToDeclarativeImageProviderString(QString::fromUtf8(giconString)));
111+ QString result(gIconToDeclarativeImageProviderString(QString::fromUtf8(giconString)));
111− g_free(giconString);
112+ g_free(giconString);
112− return result;
113+ return result;
113− } else {
114+ } else {
114− qWarning() << "Preview not set";
115− }
116− return QString::null;
117−}
118−
119−QString Preview::imageSourceUri() const
120−{
121− if (m_unityPreview) {
122− return QString::fromStdString(m_unityPreview->image_source_uri());
115+ QString sourceMedia(QString::fromStdString(m_unityPreview->image_source_uri()));
116+ QString thumbnailUri(uriToThumbnailerProviderString(sourceMedia));
117+ if (!thumbnailUri.isNull()) return thumbnailUri;
118+ }
123 } else {
119 } else {
124 qWarning() << "Preview not set";
120 qWarning() << "Preview not set";
125 }
121 }
plugins/Unity/preview.h−2
@@ -47,7 +47,6 @@ class Q_DECL_EXPORT Preview : public QObject
47 Q_PROPERTY(QVariant infoHints READ infoHints NOTIFY previewChanged)
47 Q_PROPERTY(QVariant infoHints READ infoHints NOTIFY previewChanged)
48 Q_PROPERTY(QVariantMap infoMap READ infoHintsHash NOTIFY previewChanged)
48 Q_PROPERTY(QVariantMap infoMap READ infoHintsHash NOTIFY previewChanged)
49 Q_PROPERTY(QString image READ image NOTIFY previewChanged)
49 Q_PROPERTY(QString image READ image NOTIFY previewChanged)
50− Q_PROPERTY(QString imageSourceUri READ imageSourceUri NOTIFY previewChanged)
51 Q_PROPERTY(QVariant result READ result NOTIFY previewChanged)
50 Q_PROPERTY(QVariant result READ result NOTIFY previewChanged)
52
51
53public:
52public:
@@ -62,7 +61,6 @@ public:
62 QVariant infoHints();
61 QVariant infoHints();
63 QVariantMap infoHintsHash() const;
62 QVariantMap infoHintsHash() const;
64 QString image() const;
63 QString image() const;
65− QString imageSourceUri() const;
66 QVariant result() const;
64 QVariant result() const;
67
65
68 Q_INVOKABLE void execute(const QString& actionId, const QHash<QString, QVariant>& hints);
66 Q_INVOKABLE void execute(const QString& actionId, const QHash<QString, QVariant>& hints);
plugins/Unity/scope.cpp+30−5
@@ -33,12 +33,14 @@
33#include <QQmlEngine>
33#include <QQmlEngine>
34
34
35#include <UnityCore/Variant.h>
35#include <UnityCore/Variant.h>
36+#include <UnityCore/GLibWrapper.h>
36
37
37#include <libintl.h>
38#include <libintl.h>
38#include <glib.h>
39#include <glib.h>
39
40
40Scope::Scope(QObject *parent) : QObject(parent)
41Scope::Scope(QObject *parent) : QObject(parent)
41 , m_formFactor("phone")
42 , m_formFactor("phone")
43+ , m_searchInProgress(false)
42{
44{
43 m_categories.reset(new Categories(this));
45 m_categories.reset(new Categories(this));
44}
46}
@@ -68,6 +70,11 @@ QString Scope::searchHint() const
68 return QString::fromStdString(m_unityScope->search_hint());
70 return QString::fromStdString(m_unityScope->search_hint());
69}
71}
70
72
73+bool Scope::searchInProgress() const
74+{
75+ return m_searchInProgress;
76+}
77+
71bool Scope::visible() const
78bool Scope::visible() const
72{
79{
73 return m_unityScope->visible();
80 return m_unityScope->visible();
@@ -115,10 +122,15 @@ void Scope::setSearchQuery(const QString& search_query)
115 string ("") and m_searchQuery is the null string,
122 string ("") and m_searchQuery is the null string,
116 search_query != m_searchQuery is still true.
123 search_query != m_searchQuery is still true.
117 */
124 */
125+ using namespace std::placeholders;
126+
118 if (m_searchQuery.isNull() || search_query != m_searchQuery) {
127 if (m_searchQuery.isNull() || search_query != m_searchQuery) {
119 m_searchQuery = search_query;
128 m_searchQuery = search_query;
129+ m_cancellable.Renew();
130+ m_searchInProgress = true;
120− m_unityScope->Search(search_query.toStdString(), sigc::mem_fun(this, &Scope::searchFinished));
131+ m_unityScope->Search(search_query.toStdString(), std::bind(&Scope::onSearchFinished, this, _1, _2, _3), m_cancellable);
121 Q_EMIT searchQueryChanged();
132 Q_EMIT searchQueryChanged();
133+ Q_EMIT searchInProgressChanged();
122 }
134 }
123}
135}
124
136
@@ -294,8 +306,6 @@ void Scope::setUnityScope(const unity::dash::Scope::Ptr& scope)
294 m_unityScope->visible.changed.connect(sigc::mem_fun(this, &Scope::visibleChanged));
306 m_unityScope->visible.changed.connect(sigc::mem_fun(this, &Scope::visibleChanged));
295 m_unityScope->shortcut.changed.connect(sigc::mem_fun(this, &Scope::shortcutChanged));
307 m_unityScope->shortcut.changed.connect(sigc::mem_fun(this, &Scope::shortcutChanged));
296 m_unityScope->connected.changed.connect(sigc::mem_fun(this, &Scope::connectedChanged));
308 m_unityScope->connected.changed.connect(sigc::mem_fun(this, &Scope::connectedChanged));
297− /* Signals forwarding */
298− connect(this, SIGNAL(searchFinished(const std::string &, unity::glib::HintsMap const &, unity::glib::Error const &)), SLOT(onSearchFinished(const std::string &, unity::glib::HintsMap const &)));
299
309
300 /* FIXME: signal should be forwarded instead of calling the handler directly */
310 /* FIXME: signal should be forwarded instead of calling the handler directly */
301 m_unityScope->activated.connect(sigc::mem_fun(this, &Scope::onActivated));
311 m_unityScope->activated.connect(sigc::mem_fun(this, &Scope::onActivated));
@@ -316,18 +326,33 @@ unity::dash::Scope::Ptr Scope::unityScope() const
316
326
317void Scope::synchronizeStates()
327void Scope::synchronizeStates()
318{
328{
329+ using namespace std::placeholders;
330+
319 if (connected()) {
331 if (connected()) {
320 /* Forward local states to m_unityScope */
332 /* Forward local states to m_unityScope */
321 if (!m_searchQuery.isNull()) {
333 if (!m_searchQuery.isNull()) {
334+ m_cancellable.Renew();
335+ m_searchInProgress = true;
322− m_unityScope->Search(m_searchQuery.toStdString());
336+ m_unityScope->Search(m_searchQuery.toStdString(), std::bind(&Scope::onSearchFinished, this, _1, _2, _3), m_cancellable);
337+ Q_EMIT searchInProgressChanged();
323 }
338 }
324 }
339 }
325}
340}
326
341
327−void Scope::onSearchFinished(const std::string& /* query */, unity::glib::HintsMap const &hints)
342+void Scope::onSearchFinished(std::string const& /* query */, unity::glib::HintsMap const& hints, unity::glib::Error const& err)
328{
343{
329 QString hint;
344 QString hint;
330
345
346+ GError* error = const_cast<unity::glib::Error&>(err);
347+
348+ if (!err || !g_error_matches(error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) {
349+ m_searchInProgress = false;
350+ Q_EMIT searchInProgressChanged();
351+ } else {
352+ // no need to check the results hint, we're still searching
353+ return;
354+ }
355+
331 if (!m_unityScope->results()->count()) {
356 if (!m_unityScope->results()->count()) {
332 unity::glib::HintsMap::const_iterator it = hints.find("no-results-hint");
357 unity::glib::HintsMap::const_iterator it = hints.find("no-results-hint");
333 if (it != hints.end()) {
358 if (it != hints.end()) {
plugins/Unity/scope.h+7−2
@@ -28,6 +28,7 @@
28// libunity-core
28// libunity-core
29#include <UnityCore/Scope.h>
29#include <UnityCore/Scope.h>
30#include <UnityCore/Results.h>
30#include <UnityCore/Results.h>
31+#include <UnityCore/GLibWrapper.h>
31
32
32#include "categories.h"
33#include "categories.h"
33#include "filters.h"
34#include "filters.h"
@@ -43,6 +44,7 @@ class Scope : public QObject
43 Q_PROPERTY(QString iconHint READ iconHint NOTIFY iconHintChanged)
44 Q_PROPERTY(QString iconHint READ iconHint NOTIFY iconHintChanged)
44 Q_PROPERTY(QString description READ description NOTIFY descriptionChanged)
45 Q_PROPERTY(QString description READ description NOTIFY descriptionChanged)
45 Q_PROPERTY(QString searchHint READ searchHint NOTIFY searchHintChanged)
46 Q_PROPERTY(QString searchHint READ searchHint NOTIFY searchHintChanged)
47+ Q_PROPERTY(bool searchInProgress READ searchInProgress NOTIFY searchInProgressChanged)
46 Q_PROPERTY(bool visible READ visible NOTIFY visibleChanged)
48 Q_PROPERTY(bool visible READ visible NOTIFY visibleChanged)
47 Q_PROPERTY(QString shortcut READ shortcut NOTIFY shortcutChanged)
49 Q_PROPERTY(QString shortcut READ shortcut NOTIFY shortcutChanged)
48 Q_PROPERTY(bool connected READ connected NOTIFY connectedChanged)
50 Q_PROPERTY(bool connected READ connected NOTIFY connectedChanged)
@@ -65,6 +67,7 @@ public:
65 bool visible() const;
67 bool visible() const;
66 QString shortcut() const;
68 QString shortcut() const;
67 bool connected() const;
69 bool connected() const;
70+ bool searchInProgress() const;
68 Categories* categories() const;
71 Categories* categories() const;
69 Filters* filters() const;
72 Filters* filters() const;
70 QString searchQuery() const;
73 QString searchQuery() const;
@@ -95,11 +98,11 @@ Q_SIGNALS:
95 void iconHintChanged(const std::string&);
98 void iconHintChanged(const std::string&);
96 void descriptionChanged(const std::string&);
99 void descriptionChanged(const std::string&);
97 void searchHintChanged(const std::string&);
100 void searchHintChanged(const std::string&);
101+ void searchInProgressChanged();
98 void visibleChanged(bool);
102 void visibleChanged(bool);
99 void shortcutChanged(const std::string&);
103 void shortcutChanged(const std::string&);
100 void connectedChanged(bool);
104 void connectedChanged(bool);
101 void categoriesChanged();
105 void categoriesChanged();
102− void searchFinished(const std::string&, unity::glib::HintsMap const&, unity::glib::Error const&);
103 void searchQueryChanged();
106 void searchQueryChanged();
104 void noResultsHintChanged();
107 void noResultsHintChanged();
105 void formFactorChanged();
108 void formFactorChanged();
@@ -115,7 +118,7 @@ Q_SIGNALS:
115
118
116private Q_SLOTS:
119private Q_SLOTS:
117 void synchronizeStates();
120 void synchronizeStates();
118− void onSearchFinished(const std::string &, unity::glib::HintsMap const &);
121+ void onSearchFinished(std::string const &, unity::glib::HintsMap const &, unity::glib::Error const&);
119
122
120private:
123private:
121 unity::dash::LocalResult createLocalResult(const QVariant &uri, const QVariant &icon_hint,
124 unity::dash::LocalResult createLocalResult(const QVariant &uri, const QVariant &icon_hint,
@@ -133,6 +136,8 @@ private:
133 QString m_searchQuery;
136 QString m_searchQuery;
134 QString m_noResultsHint;
137 QString m_noResultsHint;
135 QString m_formFactor;
138 QString m_formFactor;
139+ bool m_searchInProgress;
140+ unity::glib::Cancellable m_cancellable;
136 unity::glib::Cancellable m_previewCancellable;
141 unity::glib::Cancellable m_previewCancellable;
137};
142};
138
143
plugins/Utils/CMakeLists.txt+2−1
@@ -9,6 +9,7 @@ set(QMLPLUGIN_SRC
9 qlimitproxymodelqml.cpp
9 qlimitproxymodelqml.cpp
10 qsortfilterproxymodelqml.cpp
10 qsortfilterproxymodelqml.cpp
11 ubuntuwindow.cpp
11 ubuntuwindow.cpp
12+ unitymenumodelpaths.cpp
12 plugin.cpp
13 plugin.cpp
13 )
14 )
14
15
@@ -21,7 +22,7 @@ add_library(Utils-qml SHARED
21# files directly in targets.
22# files directly in targets.
22set_target_properties(Utils-qml PROPERTIES COMPILE_FLAGS -fvisibility=default)
23set_target_properties(Utils-qml PROPERTIES COMPILE_FLAGS -fvisibility=default)
23
24
24−qt5_use_modules(Utils-qml Qml Quick)
25+qt5_use_modules(Utils-qml Qml Quick DBus)
25
26
26# export the qmldir qmltypes and plugin files
27# export the qmldir qmltypes and plugin files
27export_qmlfiles(Utils Utils)
28export_qmlfiles(Utils Utils)
plugins/Utils/plugin.cpp+2
@@ -28,6 +28,7 @@
28#include "qlimitproxymodelqml.h"
28#include "qlimitproxymodelqml.h"
29#include "qsortfilterproxymodelqml.h"
29#include "qsortfilterproxymodelqml.h"
30#include "ubuntuwindow.h"
30#include "ubuntuwindow.h"
31+#include "unitymenumodelpaths.h"
31
32
32static QObject* applicationsPathsSingleton(QQmlEngine* engine, QJSEngine* scriptEngine) {
33static QObject* applicationsPathsSingleton(QQmlEngine* engine, QJSEngine* scriptEngine) {
33 Q_UNUSED(engine);
34 Q_UNUSED(engine);
@@ -41,6 +42,7 @@ void UtilsPlugin::registerTypes(const char *uri)
41 qmlRegisterType<QAbstractItemModel>();
42 qmlRegisterType<QAbstractItemModel>();
42 qmlRegisterType<QLimitProxyModelQML>(uri, 0, 1, "LimitProxyModel");
43 qmlRegisterType<QLimitProxyModelQML>(uri, 0, 1, "LimitProxyModel");
43 qmlRegisterType<QSortFilterProxyModelQML>(uri, 0, 1, "SortFilterProxyModel");
44 qmlRegisterType<QSortFilterProxyModelQML>(uri, 0, 1, "SortFilterProxyModel");
45+ qmlRegisterType<UnityMenuModelPaths>(uri, 0, 1, "UnityMenuModelPaths");
44 qmlRegisterExtendedType<QQuickWindow, UbuntuWindow>(uri, 0, 1, "Window");
46 qmlRegisterExtendedType<QQuickWindow, UbuntuWindow>(uri, 0, 1, "Window");
45 qmlRegisterSingletonType<ApplicationPaths>(uri, 0, 1, "ApplicationPaths", applicationsPathsSingleton);
47 qmlRegisterSingletonType<ApplicationPaths>(uri, 0, 1, "ApplicationPaths", applicationsPathsSingleton);
46}
48}
plugins/Utils/unitymenumodelpaths.cppnew file+182
@@ -0,0 +1,182 @@
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: Nick Dedekind <nick.dedekind@canonical.com>
17+ */
18+
19+
20+#include "unitymenumodelpaths.h"
21+#include <QDBusArgument>
22+
23+static QVariant parseVariantData(const QVariant& var);
24+
25+const QDBusArgument &operator>>(const QDBusArgument &arg, QVariantMap &map)
26+{
27+ arg.beginMap();
28+ map.clear();
29+ while (!arg.atEnd()) {
30+ QString key;
31+ QVariant value;
32+ arg.beginMapEntry();
33+
34+ arg >> key >> value;
35+ map.insertMulti(key, parseVariantData(value)); // re-parse for qdbusargument
36+
37+ arg.endMapEntry();
38+ }
39+ arg.endMap();
40+ return arg;
41+}
42+
43+static QVariant parseVariantData(const QVariant& var) {
44+ if ((int)var.type() == QMetaType::User && var.userType() == qMetaTypeId<QDBusArgument>()) {
45+ QDBusArgument arg(var.value<QDBusArgument>());
46+ if (arg.currentType() == QDBusArgument::MapType) {
47+ QVariantMap map;
48+ arg >> map;
49+ return map;
50+ }
51+ return arg.asVariant();
52+ }
53+
54+ return var;
55+}
56+
57+UnityMenuModelPaths::UnityMenuModelPaths(QObject *parent)
58+ : QObject(parent)
59+{
60+}
61+
62+QVariant UnityMenuModelPaths::source() const
63+{
64+ return m_sourceData;
65+}
66+
67+void UnityMenuModelPaths::setSource(const QVariant& data)
68+{
69+ if (m_sourceData != data) {
70+ m_sourceData = data;
71+ Q_EMIT sourceChanged();
72+
73+ updateData();
74+ }
75+}
76+
77+void UnityMenuModelPaths::updateData()
78+{
79+ QVariantMap dataMap = parseVariantData(m_sourceData).toMap();
80+
81+ if (!m_busNameHint.isEmpty() && dataMap.contains(m_busNameHint)) {
82+ setBusName(dataMap[m_busNameHint].toByteArray());
83+ } else {
84+ setBusName("");
85+ }
86+
87+ if (!m_menuObjectPathHint.isEmpty() && dataMap.contains(m_menuObjectPathHint)) {
88+ setMenuObjectPath(dataMap[m_menuObjectPathHint].toByteArray());
89+ } else {
90+ setMenuObjectPath("");
91+ }
92+
93+ if (!m_actionsHint.isEmpty() && dataMap.contains(m_actionsHint)) {
94+ setActions(dataMap[m_actionsHint].toMap());
95+ } else {
96+ setActions(QVariantMap());
97+ }
98+}
99+
100+QByteArray UnityMenuModelPaths::busName() const
101+{
102+ return m_busName;
103+}
104+
105+void UnityMenuModelPaths::setBusName(const QByteArray &name)
106+{
107+ if (m_busName != name) {
108+ m_busName = name;
109+ Q_EMIT busNameChanged();
110+ }
111+}
112+
113+QVariantMap UnityMenuModelPaths::actions() const
114+{
115+ return m_actions;
116+}
117+
118+void UnityMenuModelPaths::setActions(const QVariantMap &actions)
119+{
120+ if (m_actions != actions) {
121+ m_actions = actions;
122+ Q_EMIT actionsChanged();
123+ }
124+}
125+
126+QByteArray UnityMenuModelPaths::menuObjectPath() const
127+{
128+ return m_menuObjectPath;
129+}
130+
131+void UnityMenuModelPaths::setMenuObjectPath(const QByteArray &path)
132+{
133+ if (m_menuObjectPath != path) {
134+ m_menuObjectPath = path;
135+ Q_EMIT menuObjectPathChanged();
136+ }
137+}
138+
139+QByteArray UnityMenuModelPaths::busNameHint() const
140+{
141+ return m_busNameHint;
142+}
143+
144+void UnityMenuModelPaths::setBusNameHint(const QByteArray &nameHint)
145+{
146+ if (m_busNameHint != nameHint) {
147+ m_busNameHint = nameHint;
148+ Q_EMIT busNameHintChanged();
149+
150+ updateData();
151+ }
152+}
153+
154+QByteArray UnityMenuModelPaths::actionsHint() const
155+{
156+ return m_actionsHint;
157+}
158+
159+void UnityMenuModelPaths::setActionsHint(const QByteArray &actionsHint)
160+{
161+ if (m_actionsHint != actionsHint) {
162+ m_actionsHint = actionsHint;
163+ Q_EMIT actionsHintChanged();
164+
165+ updateData();
166+ }
167+}
168+
169+QByteArray UnityMenuModelPaths::menuObjectPathHint() const
170+{
171+ return m_menuObjectPathHint;
172+}
173+
174+void UnityMenuModelPaths::setMenuObjectPathHint(const QByteArray &pathHint)
175+{
176+ if (m_menuObjectPathHint != pathHint) {
177+ m_menuObjectPathHint = pathHint;
178+ Q_EMIT menuObjectPathHintChanged();
179+
180+ updateData();
181+ }
182+}
plugins/Utils/unitymenumodelpaths.hnew file+82
@@ -0,0 +1,82 @@
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: Nick Dedekind <nick.dedekind@canonical.com>
17+ */
18+
19+#ifndef UNITY_MENU_MODEL_PATHS_H
20+#define UNITY_MENU_MODEL_PATHS_H
21+
22+#include <QVariant>
23+
24+class UnityMenuModelPaths : public QObject
25+{
26+ Q_OBJECT
27+
28+ Q_PROPERTY(QVariant source READ source WRITE setSource NOTIFY sourceChanged)
29+ Q_PROPERTY(QByteArray busName READ busName NOTIFY busNameChanged)
30+ Q_PROPERTY(QVariantMap actions READ actions NOTIFY actionsChanged)
31+ Q_PROPERTY(QByteArray menuObjectPath READ menuObjectPath NOTIFY menuObjectPathChanged)
32+
33+ Q_PROPERTY(QByteArray busNameHint READ busNameHint WRITE setBusNameHint NOTIFY busNameHintChanged)
34+ Q_PROPERTY(QByteArray actionsHint READ actionsHint WRITE setActionsHint NOTIFY actionsHintChanged)
35+ Q_PROPERTY(QByteArray menuObjectPathHint READ menuObjectPathHint WRITE setMenuObjectPathHint NOTIFY menuObjectPathHintChanged)
36+
37+public:
38+ explicit UnityMenuModelPaths(QObject *parent = 0);
39+
40+ QVariant source() const;
41+ void setSource(const QVariant& data);
42+
43+ QByteArray busName() const;
44+ QVariantMap actions() const;
45+ QByteArray menuObjectPath() const;
46+
47+ QByteArray busNameHint() const;
48+ QByteArray actionsHint() const;
49+ QByteArray menuObjectPathHint() const;
50+
51+Q_SIGNALS:
52+ void sourceChanged();
53+ void busNameChanged();
54+ void actionsChanged();
55+ void menuObjectPathChanged();
56+
57+ void busNameHintChanged();
58+ void actionsHintChanged();
59+ void menuObjectPathHintChanged();
60+
61+private:
62+ void setBusName(const QByteArray &name);
63+ void setActions(const QVariantMap& actions);
64+ void setMenuObjectPath(const QByteArray &path);
65+
66+ void setBusNameHint(const QByteArray& nameHint);
67+ void setActionsHint(const QByteArray &actionsHint);
68+ void setMenuObjectPathHint(const QByteArray &pathHint);
69+
70+ void updateData();
71+
72+ QVariant m_sourceData;
73+ QByteArray m_busName;
74+ QVariantMap m_actions;
75+ QByteArray m_menuObjectPath;
76+
77+ QByteArray m_busNameHint;
78+ QByteArray m_actionsHint;
79+ QByteArray m_menuObjectPathHint;
80+};
81+
82+#endif // UNITY_MENU_MODEL_PATHS_H
po/ar.po+29−23
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\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-30 05:37+0000\n"
19+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
20−"X-Generator: Launchpad (build 16750)\n"
20+"X-Generator: Launchpad (build 16774)\n"
21
21
22#: Applications/applications.js:23
22#: Applications/applications.js:23
23msgid "Phone"
23msgid "Phone"
@@ -87,48 +87,50 @@ msgstr "ويكيبيديا"
87msgid "YouTube"
87msgid "YouTube"
88msgstr "يوتيوب"
88msgstr "يوتيوب"
89
89
90−#: Components/EdgeDemoOverlay.qml:145
90+#: Components/EdgeDemoOverlay.qml:150
91msgid "Skip intro"
91msgid "Skip intro"
92msgstr ""
92msgstr ""
93
93
94−#: Components/EdgeDemo.qml:98
94+#: Components/EdgeDemo.qml:112
95msgid "Right edge"
95msgid "Right edge"
96msgstr ""
96msgstr ""
97
97
98−#: Components/EdgeDemo.qml:99
98+#: Components/EdgeDemo.qml:113
99msgid "Try swiping from the right edge to unlock the phone"
99msgid "Try swiping from the right edge to unlock the phone"
100msgstr ""
100msgstr ""
101
101
102−#: Components/EdgeDemo.qml:135
102+#: Components/EdgeDemo.qml:144
103msgid "Top edge"
103msgid "Top edge"
104msgstr ""
104msgstr ""
105
105
106−#: Components/EdgeDemo.qml:136
106+#: Components/EdgeDemo.qml:145
107msgid "Try swiping from the top edge to access the indicators"
107msgid "Try swiping from the top edge to access the indicators"
108msgstr ""
108msgstr ""
109
109
110−#: Components/EdgeDemo.qml:161
110+#: Components/EdgeDemo.qml:170
111msgid "Close"
111msgid "Close"
112msgstr ""
112msgstr ""
113
113
114−#: Components/EdgeDemo.qml:162
114+#: Components/EdgeDemo.qml:171
115msgid "Swipe up again to close the settings screen"
115msgid "Swipe up again to close the settings screen"
116msgstr ""
116msgstr ""
117
117
118−#: Components/EdgeDemo.qml:189
118+#: Components/EdgeDemo.qml:198
119msgid "Left edge"
119msgid "Left edge"
120msgstr ""
120msgstr ""
121
121
122−#: Components/EdgeDemo.qml:190
122+#: Components/EdgeDemo.qml:199
123msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgid "Swipe from the left to reveal the launcher for quick access to apps"
124msgstr ""
124msgstr ""
125
125
126−#: Components/EdgeDemo.qml:217
126+#: Components/EdgeDemo.qml:226
127msgid "Well done"
127msgid "Well done"
128msgstr ""
128msgstr ""
129
129
130−#: Components/EdgeDemo.qml:218
130+#: Components/EdgeDemo.qml:227
131+msgid ""
131−msgid "You have now mastered the edge gestures and can start using the phone"
132+"You have now mastered the edge gestures and can start using the "
133+"phone<br><br>Tap anywhere to start"
132msgstr ""
134msgstr ""
133
135
134#: Components/PageHeader.qml:298
136#: Components/PageHeader.qml:298
@@ -149,23 +151,23 @@ msgid_plural "%1 reviews"
149msgstr[0] ""
151msgstr[0] ""
150msgstr[1] ""
152msgstr[1] ""
151
153
152−#: Dash/Apps/AppPreview.qml:175
154+#: Dash/Apps/AppPreview.qml:178
153msgid "Rate this"
155msgid "Rate this"
154msgstr ""
156msgstr ""
155
157
156−#: Dash/Apps/AppReviews.qml:72
158+#: Dash/Apps/AppReviews.qml:74
157msgid "Add a review"
159msgid "Add a review"
158msgstr ""
160msgstr ""
159
161
160−#: Dash/Apps/AppReviews.qml:84
162+#: Dash/Apps/AppReviews.qml:86
161msgid "Review"
163msgid "Review"
162msgstr ""
164msgstr ""
163
165
164−#: Dash/Apps/AppReviews.qml:118
166+#: Dash/Apps/AppReviews.qml:121
165msgid "Send"
167msgid "Send"
166msgstr ""
168msgstr ""
167
169
168−#: Dash/Apps/AppReviews.qml:136
170+#: Dash/Apps/AppReviews.qml:139
169msgid "Comments:"
171msgid "Comments:"
170msgstr ""
172msgstr ""
171
173
@@ -209,7 +211,7 @@ msgstr "النجوم:"
209msgid "Author:"
211msgid "Author:"
210msgstr "المؤلف:"
212msgstr "المؤلف:"
211
213
212−#: Greeter/Lockscreen.qml:134
214+#: Greeter/Lockscreen.qml:142
213msgid "Emergency Call"
215msgid "Emergency Call"
214msgstr ""
216msgstr ""
215
217
@@ -246,11 +248,15 @@ msgstr "تتكلم الآن..."
246msgid "Search"
248msgid "Search"
247msgstr "ابحث"
249msgstr "ابحث"
248
250
249−#: plugins/Unity/scope.cpp:317
251+#: plugins/Unity/scope.cpp:336
250msgid "Sorry, there is nothing that matches your search."
252msgid "Sorry, there is nothing that matches your search."
251msgstr "عذراً، لا يوجد ما يطابق بحثك."
253msgstr "عذراً، لا يوجد ما يطابق بحثك."
252
254
255+#: plugins/Unity/showallfilteroption.cpp:41
256+msgid "All"
257+msgstr ""
258+
253−#: Shell.qml:429
259+#: Shell.qml:453
254#, qt-format
260#, qt-format
255msgid "Please enter %1"
261msgid "Please enter %1"
256msgstr ""
262msgstr ""
po/ast.ponew file+265
@@ -0,0 +1,265 @@
1+# Asturian translation for unity8
2+# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
3+# This file is distributed under the same license as the unity8 package.
4+# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
5+#
6+msgid ""
7+msgstr ""
8+"Project-Id-Version: unity8\n"
9+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11+"PO-Revision-Date: 2013-10-03 14:02+0000\n"
12+"Last-Translator: ivarela <ivarela@ubuntu.com>\n"
13+"Language-Team: Asturian <ast@li.org>\n"
14+"MIME-Version: 1.0\n"
15+"Content-Type: text/plain; charset=UTF-8\n"
16+"Content-Transfer-Encoding: 8bit\n"
17+"Plural-Forms: nplurals=2; plural=n != 1;\n"
18+"X-Launchpad-Export-Date: 2013-10-04 06:11+0000\n"
19+"X-Generator: Launchpad (build 16791)\n"
20+
21+#: Applications/applications.js:23
22+msgid "Phone"
23+msgstr "Teléfonu"
24+
25+#: Applications/applications.js:29
26+msgid "Camera"
27+msgstr "Cámara"
28+
29+#: Applications/applications.js:35
30+msgid "Gallery"
31+msgstr "Galería"
32+
33+#: Applications/applications.js:40
34+msgid "Facebook"
35+msgstr "Facebook"
36+
37+#: Applications/applications.js:46
38+msgid "Browser"
39+msgstr "Navegador"
40+
41+#: Applications/applications.js:51
42+msgid "Twitter"
43+msgstr "Twitter"
44+
45+#: Applications/applications.js:57
46+msgid "GMail"
47+msgstr "GMail"
48+
49+#: Applications/applications.js:62
50+msgid "Weather"
51+msgstr "Meteoroloxía"
52+
53+#: Applications/applications.js:68
54+msgid "Notepad"
55+msgstr "Bloc de notes"
56+
57+#: Applications/applications.js:74
58+msgid "Calendar"
59+msgstr "Calendariu"
60+
61+#: Applications/applications.js:80
62+msgid "Media Player"
63+msgstr "Reproductor multimedia"
64+
65+#: Applications/applications.js:86
66+msgid "Evernote"
67+msgstr "Evernote"
68+
69+#: Applications/applications.js:91
70+msgid "Map"
71+msgstr "Map"
72+
73+#: Applications/applications.js:96
74+msgid "Pinterest"
75+msgstr "Pinterest"
76+
77+#: Applications/applications.js:101
78+msgid "SoundCloud"
79+msgstr "SoundCloud"
80+
81+#: Applications/applications.js:106
82+msgid "Wikipedia"
83+msgstr "Wikipedia"
84+
85+#: Applications/applications.js:111
86+msgid "YouTube"
87+msgstr "YouTube"
88+
89+#: Components/EdgeDemoOverlay.qml:150
90+msgid "Skip intro"
91+msgstr "Omitir la intro"
92+
93+#: Components/EdgeDemo.qml:112
94+msgid "Right edge"
95+msgstr "Berbesu drechu"
96+
97+#: Components/EdgeDemo.qml:113
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr "Esliza'l deu dende'l berbesu drechu pa desbloquiar el teléfonu"
100+
101+#: Components/EdgeDemo.qml:144
102+msgid "Top edge"
103+msgstr "Berbesu superior"
104+
105+#: Components/EdgeDemo.qml:145
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr "Esliza'l deu dende'l berbesu superior p'acceder a los menús"
108+
109+#: Components/EdgeDemo.qml:170
110+msgid "Close"
111+msgstr "Zarrar"
112+
113+#: Components/EdgeDemo.qml:171
114+msgid "Swipe up again to close the settings screen"
115+msgstr "Esliza hacia arriba pa zarrar la pantalla d'axustes"
116+
117+#: Components/EdgeDemo.qml:198
118+msgid "Left edge"
119+msgstr "Berbesu esquierdu"
120+
121+#: Components/EdgeDemo.qml:199
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+"Esliza'l deu dende la esquierda p'amosar el llanzador y acceder rápidamente "
125+"a les aplicaciones"
126+
127+#: Components/EdgeDemo.qml:226
128+msgid "Well done"
129+msgstr "Bien fecho"
130+
131+#: Components/EdgeDemo.qml:227
132+msgid ""
133+"You have now mastered the edge gestures and can start using the "
134+"phone<br><br>Tap anywhere to start"
135+msgstr ""
136+"Agora domines los xestos de berbesos y pues usar el teléfonu<br><br>Toca la "
137+"pantalla pa entamar"
138+
139+#: Components/PageHeader.qml:298
140+msgid "Recent searches"
141+msgstr "Busques recientes"
142+
143+#. TRANSLATORS: Number of persons who rated this app
144+#: Dash/Apps/AppInfo.qml:73
145+#, qt-format
146+msgid "(%1)"
147+msgstr "(%1)"
148+
149+#. TRANSLATORS: Number of persons who wrote reviews for this app
150+#: Dash/Apps/AppInfo.qml:85
151+#, qt-format
152+msgid "%1 review"
153+msgid_plural "%1 reviews"
154+msgstr[0] "%1 reseña"
155+msgstr[1] "%1 reseñes"
156+
157+#: Dash/Apps/AppPreview.qml:178
158+msgid "Rate this"
159+msgstr "Valorar esto"
160+
161+#: Dash/Apps/AppReviews.qml:74
162+msgid "Add a review"
163+msgstr "Amestar una reseña"
164+
165+#: Dash/Apps/AppReviews.qml:86
166+msgid "Review"
167+msgstr "Revisar"
168+
169+#: Dash/Apps/AppReviews.qml:121
170+msgid "Send"
171+msgstr "Unviar"
172+
173+#: Dash/Apps/AppReviews.qml:139
174+msgid "Comments:"
175+msgstr "Comentarios:"
176+
177+#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
178+msgid "Featured"
179+msgstr "Destacaos"
180+
181+#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
182+msgid "Recent"
183+msgstr "Recientes"
184+
185+#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
186+msgid "New Releases"
187+msgstr "Llanzamientos nuevos"
188+
189+#: Dash/DashMusic.qml:30
190+msgid "Top Charting"
191+msgstr "Meyor posicionaes"
192+
193+#: Dash/DashMusic.qml:91
194+msgid "Music"
195+msgstr "Música"
196+
197+#: Dash/DashVideos.qml:31
198+msgid "Popular Online"
199+msgstr "Populares en llinia"
200+
201+#: Dash/DashVideos.qml:146
202+msgid "Videos"
203+msgstr "Vídeos"
204+
205+#: Dash/Video/VideoPreview.qml:130
206+msgid "Directed by:"
207+msgstr "Dirixida por:"
208+
209+#: Dash/Video/VideoPreview.qml:153
210+msgid "Starring:"
211+msgstr "Protagonistes:"
212+
213+#: Dash/Video/VideoPreview.qml:176
214+msgid "Author:"
215+msgstr "Autor:"
216+
217+#: Greeter/Lockscreen.qml:142
218+msgid "Emergency Call"
219+msgstr "Llamada d'emerxencia"
220+
221+#: Greeter/PassphraseLockscreen.qml:59
222+#, qt-format
223+msgid "Hello %1"
224+msgstr "Hola %1"
225+
226+#: Greeter/PassphraseLockscreen.qml:59
227+msgid "Hello"
228+msgstr "Hola"
229+
230+#: Hud/HudParametrizedActionsPage.qml:132
231+msgid "Confirm"
232+msgstr "Confirmar"
233+
234+#: Hud/Hud.qml:61 Hud/Hud.qml:99 Hud/Hud.qml:372
235+msgid "Type or say a command"
236+msgstr "Escribi o di una orde"
237+
238+#: Hud/Hud.qml:84
239+msgid "Loading. Please Wait..."
240+msgstr "Cargando, espera…"
241+
242+#: Hud/Hud.qml:89
243+msgid "Speak Now..."
244+msgstr "Fala agora…"
245+
246+#: Hud/Hud.qml:94
247+msgid "Speaking..."
248+msgstr "Falando…"
249+
250+#: Panel/SearchIndicator.qml:27
251+msgid "Search"
252+msgstr "Guetar"
253+
254+#: plugins/Unity/scope.cpp:336
255+msgid "Sorry, there is nothing that matches your search."
256+msgstr "Sentímoslo, nun hai res que concase cola gueta"
257+
258+#: plugins/Unity/showallfilteroption.cpp:41
259+msgid "All"
260+msgstr "Too"
261+
262+#: Shell.qml:453
263+#, qt-format
264+msgid "Please enter %1"
265+msgstr "Introduz %1"
po/az.po+29−23
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\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-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19−"X-Generator: Launchpad (build 16750)\n"
19+"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,48 +86,50 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr ""
91msgstr ""
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr ""
95msgstr ""
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr ""
99msgstr ""
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr ""
103msgstr ""
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr ""
107msgstr ""
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr ""
111msgstr ""
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr ""
115msgstr ""
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr ""
119msgstr ""
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr ""
123msgstr ""
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127msgstr ""
127msgstr ""
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
131msgstr ""
133msgstr ""
132
134
133#: Components/PageHeader.qml:298
135#: Components/PageHeader.qml:298
@@ -148,23 +150,23 @@ msgid_plural "%1 reviews"
148msgstr[0] ""
150msgstr[0] ""
149msgstr[1] ""
151msgstr[1] ""
150
152
151−#: Dash/Apps/AppPreview.qml:175
153+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
154msgid "Rate this"
153msgstr ""
155msgstr ""
154
156
155−#: Dash/Apps/AppReviews.qml:72
157+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
158msgid "Add a review"
157msgstr ""
159msgstr ""
158
160
159−#: Dash/Apps/AppReviews.qml:84
161+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
162msgid "Review"
161msgstr ""
163msgstr ""
162
164
163−#: Dash/Apps/AppReviews.qml:118
165+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
166msgid "Send"
165msgstr ""
167msgstr ""
166
168
167−#: Dash/Apps/AppReviews.qml:136
169+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
170msgid "Comments:"
169msgstr ""
171msgstr ""
170
172
@@ -208,7 +210,7 @@ msgstr ""
208msgid "Author:"
210msgid "Author:"
209msgstr ""
211msgstr ""
210
212
211−#: Greeter/Lockscreen.qml:134
213+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
214msgid "Emergency Call"
213msgstr ""
215msgstr ""
214
216
@@ -245,11 +247,15 @@ msgstr "Söylənilir..."
245msgid "Search"
247msgid "Search"
246msgstr "Axtar"
248msgstr "Axtar"
247
249
248−#: plugins/Unity/scope.cpp:317
250+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
251msgid "Sorry, there is nothing that matches your search."
250msgstr "Bağışlayın, amma axtarışınıza heç bir nəticə uyğun gəlmir."
252msgstr "Bağışlayın, amma axtarışınıza heç bir nəticə uyğun gəlmir."
251
253
254+#: plugins/Unity/showallfilteroption.cpp:41
255+msgid "All"
256+msgstr ""
257+
252−#: Shell.qml:429
258+#: Shell.qml:453
253#, qt-format
259#, qt-format
254msgid "Please enter %1"
260msgid "Please enter %1"
255msgstr ""
261msgstr ""
po/bg.po+29−23
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\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-30 05:37+0000\n"
19+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
20−"X-Generator: Launchpad (build 16750)\n"
20+"X-Generator: Launchpad (build 16774)\n"
21
21
22#: Applications/applications.js:23
22#: Applications/applications.js:23
23msgid "Phone"
23msgid "Phone"
@@ -87,48 +87,50 @@ msgstr "Уикипедия"
87msgid "YouTube"
87msgid "YouTube"
88msgstr "YouTube"
88msgstr "YouTube"
89
89
90−#: Components/EdgeDemoOverlay.qml:145
90+#: Components/EdgeDemoOverlay.qml:150
91msgid "Skip intro"
91msgid "Skip intro"
92msgstr ""
92msgstr ""
93
93
94−#: Components/EdgeDemo.qml:98
94+#: Components/EdgeDemo.qml:112
95msgid "Right edge"
95msgid "Right edge"
96msgstr ""
96msgstr ""
97
97
98−#: Components/EdgeDemo.qml:99
98+#: Components/EdgeDemo.qml:113
99msgid "Try swiping from the right edge to unlock the phone"
99msgid "Try swiping from the right edge to unlock the phone"
100msgstr ""
100msgstr ""
101
101
102−#: Components/EdgeDemo.qml:135
102+#: Components/EdgeDemo.qml:144
103msgid "Top edge"
103msgid "Top edge"
104msgstr ""
104msgstr ""
105
105
106−#: Components/EdgeDemo.qml:136
106+#: Components/EdgeDemo.qml:145
107msgid "Try swiping from the top edge to access the indicators"
107msgid "Try swiping from the top edge to access the indicators"
108msgstr ""
108msgstr ""
109
109
110−#: Components/EdgeDemo.qml:161
110+#: Components/EdgeDemo.qml:170
111msgid "Close"
111msgid "Close"
112msgstr ""
112msgstr ""
113
113
114−#: Components/EdgeDemo.qml:162
114+#: Components/EdgeDemo.qml:171
115msgid "Swipe up again to close the settings screen"
115msgid "Swipe up again to close the settings screen"
116msgstr ""
116msgstr ""
117
117
118−#: Components/EdgeDemo.qml:189
118+#: Components/EdgeDemo.qml:198
119msgid "Left edge"
119msgid "Left edge"
120msgstr ""
120msgstr ""
121
121
122−#: Components/EdgeDemo.qml:190
122+#: Components/EdgeDemo.qml:199
123msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgid "Swipe from the left to reveal the launcher for quick access to apps"
124msgstr ""
124msgstr ""
125
125
126−#: Components/EdgeDemo.qml:217
126+#: Components/EdgeDemo.qml:226
127msgid "Well done"
127msgid "Well done"
128msgstr ""
128msgstr ""
129
129
130−#: Components/EdgeDemo.qml:218
130+#: Components/EdgeDemo.qml:227
131+msgid ""
131−msgid "You have now mastered the edge gestures and can start using the phone"
132+"You have now mastered the edge gestures and can start using the "
133+"phone<br><br>Tap anywhere to start"
132msgstr ""
134msgstr ""
133
135
134#: Components/PageHeader.qml:298
136#: Components/PageHeader.qml:298
@@ -149,23 +151,23 @@ msgid_plural "%1 reviews"
149msgstr[0] ""
151msgstr[0] ""
150msgstr[1] ""
152msgstr[1] ""
151
153
152−#: Dash/Apps/AppPreview.qml:175
154+#: Dash/Apps/AppPreview.qml:178
153msgid "Rate this"
155msgid "Rate this"
154msgstr ""
156msgstr ""
155
157
156−#: Dash/Apps/AppReviews.qml:72
158+#: Dash/Apps/AppReviews.qml:74
157msgid "Add a review"
159msgid "Add a review"
158msgstr ""
160msgstr ""
159
161
160−#: Dash/Apps/AppReviews.qml:84
162+#: Dash/Apps/AppReviews.qml:86
161msgid "Review"
163msgid "Review"
162msgstr ""
164msgstr ""
163
165
164−#: Dash/Apps/AppReviews.qml:118
166+#: Dash/Apps/AppReviews.qml:121
165msgid "Send"
167msgid "Send"
166msgstr ""
168msgstr ""
167
169
168−#: Dash/Apps/AppReviews.qml:136
170+#: Dash/Apps/AppReviews.qml:139
169msgid "Comments:"
171msgid "Comments:"
170msgstr ""
172msgstr ""
171
173
@@ -209,7 +211,7 @@ msgstr ""
209msgid "Author:"
211msgid "Author:"
210msgstr "Автор:"
212msgstr "Автор:"
211
213
212−#: Greeter/Lockscreen.qml:134
214+#: Greeter/Lockscreen.qml:142
213msgid "Emergency Call"
215msgid "Emergency Call"
214msgstr ""
216msgstr ""
215
217
@@ -246,11 +248,15 @@ msgstr ""
246msgid "Search"
248msgid "Search"
247msgstr "Търсене"
249msgstr "Търсене"
248
250
249−#: plugins/Unity/scope.cpp:317
251+#: plugins/Unity/scope.cpp:336
250msgid "Sorry, there is nothing that matches your search."
252msgid "Sorry, there is nothing that matches your search."
251msgstr "Съжаляваме, няма нищо, което да отговаря на вашето търсене."
253msgstr "Съжаляваме, няма нищо, което да отговаря на вашето търсене."
252
254
255+#: plugins/Unity/showallfilteroption.cpp:41
256+msgid "All"
257+msgstr ""
258+
253−#: Shell.qml:429
259+#: Shell.qml:453
254#, qt-format
260#, qt-format
255msgid "Please enter %1"
261msgid "Please enter %1"
256msgstr ""
262msgstr ""
po/ca.po+28−22
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11"PO-Revision-Date: 2013-09-28 07:38+0000\n"
11"PO-Revision-Date: 2013-09-28 07:38+0000\n"
12"Last-Translator: David Planella <david.planella@ubuntu.com>\n"
12"Last-Translator: David Planella <david.planella@ubuntu.com>\n"
13"Language-Team: Catalan <ca@li.org>\n"
13"Language-Team: Catalan <ca@li.org>\n"
@@ -15,7 +15,7 @@ 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-09-29 06:18+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19"X-Generator: Launchpad (build 16774)\n"
19"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -86,54 +86,56 @@ msgstr "Viquipèdia"
86msgid "YouTube"
86msgid "YouTube"
87msgstr "YouTube"
87msgstr "YouTube"
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr "Omet la introducció"
91msgstr "Omet la introducció"
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr "Vora dreta"
95msgstr "Vora dreta"
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr ""
99msgstr ""
100"Proveu de lliscar el dit des de la vora dreta per desblocar el telèfon"
100"Proveu de lliscar el dit des de la vora dreta per desblocar el telèfon"
101
101
102−#: Components/EdgeDemo.qml:135
102+#: Components/EdgeDemo.qml:144
103msgid "Top edge"
103msgid "Top edge"
104msgstr "Vora superior"
104msgstr "Vora superior"
105
105
106−#: Components/EdgeDemo.qml:136
106+#: Components/EdgeDemo.qml:145
107msgid "Try swiping from the top edge to access the indicators"
107msgid "Try swiping from the top edge to access the indicators"
108msgstr ""
108msgstr ""
109"Proveu de lliscar el dit des de la vora superior per accedir als indicadors"
109"Proveu de lliscar el dit des de la vora superior per accedir als indicadors"
110
110
111−#: Components/EdgeDemo.qml:161
111+#: Components/EdgeDemo.qml:170
112msgid "Close"
112msgid "Close"
113msgstr "Tanca"
113msgstr "Tanca"
114
114
115−#: Components/EdgeDemo.qml:162
115+#: Components/EdgeDemo.qml:171
116msgid "Swipe up again to close the settings screen"
116msgid "Swipe up again to close the settings screen"
117msgstr ""
117msgstr ""
118"Llisqueu el dit cap amunt una altra vegada per tancar la pantalla de "
118"Llisqueu el dit cap amunt una altra vegada per tancar la pantalla de "
119"configuració"
119"configuració"
120
120
121−#: Components/EdgeDemo.qml:189
121+#: Components/EdgeDemo.qml:198
122msgid "Left edge"
122msgid "Left edge"
123msgstr "Vora esquerra"
123msgstr "Vora esquerra"
124
124
125−#: Components/EdgeDemo.qml:190
125+#: Components/EdgeDemo.qml:199
126msgid "Swipe from the left to reveal the launcher for quick access to apps"
126msgid "Swipe from the left to reveal the launcher for quick access to apps"
127msgstr ""
127msgstr ""
128"Llisqueu el dit des de la vora esquerra per mostrar el llançador i accedir "
128"Llisqueu el dit des de la vora esquerra per mostrar el llançador i accedir "
129"ràpidament a les aplicacions"
129"ràpidament a les aplicacions"
130
130
131−#: Components/EdgeDemo.qml:217
131+#: Components/EdgeDemo.qml:226
132msgid "Well done"
132msgid "Well done"
133msgstr "Enhorabona!"
133msgstr "Enhorabona!"
134
134
135−#: Components/EdgeDemo.qml:218
135+#: Components/EdgeDemo.qml:227
136+msgid ""
136−msgid "You have now mastered the edge gestures and can start using the phone"
137+"You have now mastered the edge gestures and can start using the "
138+"phone<br><br>Tap anywhere to start"
137msgstr ""
139msgstr ""
138
140
139#: Components/PageHeader.qml:298
141#: Components/PageHeader.qml:298
@@ -154,23 +156,23 @@ msgid_plural "%1 reviews"
154msgstr[0] "%1 ressenya"
156msgstr[0] "%1 ressenya"
155msgstr[1] "%1 ressenyes"
157msgstr[1] "%1 ressenyes"
156
158
157−#: Dash/Apps/AppPreview.qml:175
159+#: Dash/Apps/AppPreview.qml:178
158msgid "Rate this"
160msgid "Rate this"
159msgstr ""
161msgstr ""
160
162
161−#: Dash/Apps/AppReviews.qml:72
163+#: Dash/Apps/AppReviews.qml:74
162msgid "Add a review"
164msgid "Add a review"
163msgstr "Afegiu una ressenya"
165msgstr "Afegiu una ressenya"
164
166
165−#: Dash/Apps/AppReviews.qml:84
167+#: Dash/Apps/AppReviews.qml:86
166msgid "Review"
168msgid "Review"
167msgstr "Ressenya"
169msgstr "Ressenya"
168
170
169−#: Dash/Apps/AppReviews.qml:118
171+#: Dash/Apps/AppReviews.qml:121
170msgid "Send"
172msgid "Send"
171msgstr "Envia"
173msgstr "Envia"
172
174
173−#: Dash/Apps/AppReviews.qml:136
175+#: Dash/Apps/AppReviews.qml:139
174msgid "Comments:"
176msgid "Comments:"
175msgstr "Comentaris:"
177msgstr "Comentaris:"
176
178
@@ -214,7 +216,7 @@ msgstr "Protagonistes:"
214msgid "Author:"
216msgid "Author:"
215msgstr "Autor:"
217msgstr "Autor:"
216
218
217−#: Greeter/Lockscreen.qml:134
219+#: Greeter/Lockscreen.qml:142
218msgid "Emergency Call"
220msgid "Emergency Call"
219msgstr "Trucada d'emergència"
221msgstr "Trucada d'emergència"
220
222
@@ -251,11 +253,15 @@ msgstr "S'està parlant..."
251msgid "Search"
253msgid "Search"
252msgstr "Cerca"
254msgstr "Cerca"
253
255
254−#: plugins/Unity/scope.cpp:317
256+#: plugins/Unity/scope.cpp:336
255msgid "Sorry, there is nothing that matches your search."
257msgid "Sorry, there is nothing that matches your search."
256msgstr "No hi ha res que coincideixi amb la cerca"
258msgstr "No hi ha res que coincideixi amb la cerca"
257
259
260+#: plugins/Unity/showallfilteroption.cpp:41
261+msgid "All"
262+msgstr ""
263+
258−#: Shell.qml:429
264+#: Shell.qml:453
259#, qt-format
265#, qt-format
260msgid "Please enter %1"
266msgid "Please enter %1"
261msgstr "Introduïu %1"
267msgstr "Introduïu %1"
po/de.po+42−36
@@ -7,16 +7,16 @@ 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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11−"PO-Revision-Date: 2013-06-27 00:37+0000\n"
11+"PO-Revision-Date: 2013-10-03 12:13+0000\n"
12−"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
12+"Last-Translator: Phillip Sz <Unknown>\n"
13"Language-Team: German <de@li.org>\n"
13"Language-Team: German <de@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-04 06:11+0000\n"
19−"X-Generator: Launchpad (build 16750)\n"
19+"X-Generator: Launchpad (build 16791)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,48 +86,50 @@ msgstr "Wikipedia"
86msgid "YouTube"
86msgid "YouTube"
87msgstr "YouTube"
87msgstr "YouTube"
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91−msgstr ""
91+msgstr "Überspringe Einführung"
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95−msgstr ""
95+msgstr "Rechter Rand"
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr ""
99msgstr ""
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103−msgstr ""
103+msgstr "Oberer Rand"
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr ""
107msgstr ""
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111−msgstr ""
111+msgstr "Schließen"
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr ""
115msgstr ""
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119−msgstr ""
119+msgstr "Linker Rand"
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr ""
123msgstr ""
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127−msgstr ""
127+msgstr "Gut gemacht"
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
131msgstr ""
133msgstr ""
132
134
133#: Components/PageHeader.qml:298
135#: Components/PageHeader.qml:298
@@ -138,7 +140,7 @@ msgstr "Letzte Suchbegriffe"
138#: Dash/Apps/AppInfo.qml:73
140#: Dash/Apps/AppInfo.qml:73
139#, qt-format
141#, qt-format
140msgid "(%1)"
142msgid "(%1)"
141−msgstr ""
143+msgstr "(%1)"
142
144
143#. TRANSLATORS: Number of persons who wrote reviews for this app
145#. TRANSLATORS: Number of persons who wrote reviews for this app
144#: Dash/Apps/AppInfo.qml:85
146#: Dash/Apps/AppInfo.qml:85
@@ -148,25 +150,25 @@ msgid_plural "%1 reviews"
148msgstr[0] ""
150msgstr[0] ""
149msgstr[1] ""
151msgstr[1] ""
150
152
151−#: Dash/Apps/AppPreview.qml:175
153+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
154msgid "Rate this"
153msgstr ""
155msgstr ""
154
156
155−#: Dash/Apps/AppReviews.qml:72
157+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
158msgid "Add a review"
157msgstr ""
159msgstr ""
158
160
159−#: Dash/Apps/AppReviews.qml:84
161+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
162msgid "Review"
161msgstr ""
163msgstr ""
162
164
163−#: Dash/Apps/AppReviews.qml:118
165+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
166msgid "Send"
165−msgstr ""
167+msgstr "Senden"
166
168
167−#: Dash/Apps/AppReviews.qml:136
169+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
170msgid "Comments:"
169−msgstr ""
171+msgstr "Kommentare:"
170
172
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
173#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
172msgid "Featured"
174msgid "Featured"
@@ -208,9 +210,9 @@ msgstr "Darsteller:"
208msgid "Author:"
210msgid "Author:"
209msgstr "Autor:"
211msgstr "Autor:"
210
212
211−#: Greeter/Lockscreen.qml:134
213+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
214msgid "Emergency Call"
213−msgstr ""
215+msgstr "Notruf"
214
216
215#: Greeter/PassphraseLockscreen.qml:59
217#: Greeter/PassphraseLockscreen.qml:59
216#, qt-format
218#, qt-format
@@ -245,11 +247,15 @@ msgstr "Sie sprechen …"
245msgid "Search"
247msgid "Search"
246msgstr "Suchen"
248msgstr "Suchen"
247
249
248−#: plugins/Unity/scope.cpp:317
250+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
251msgid "Sorry, there is nothing that matches your search."
250msgstr "Entschuldigung, es wurden keine Treffer erzielt."
252msgstr "Entschuldigung, es wurden keine Treffer erzielt."
251
253
254+#: plugins/Unity/showallfilteroption.cpp:41
255+msgid "All"
256+msgstr "Alle"
257+
252−#: Shell.qml:429
258+#: Shell.qml:453
253#, qt-format
259#, qt-format
254msgid "Please enter %1"
260msgid "Please enter %1"
255−msgstr ""
261+msgstr "Bitte geben Sie %1 ein"
po/el.po+29−23
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\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-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19−"X-Generator: Launchpad (build 16750)\n"
19+"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,48 +86,50 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr ""
91msgstr ""
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr ""
95msgstr ""
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr ""
99msgstr ""
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr ""
103msgstr ""
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr ""
107msgstr ""
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr ""
111msgstr ""
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr ""
115msgstr ""
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr ""
119msgstr ""
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr ""
123msgstr ""
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127msgstr ""
127msgstr ""
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
131msgstr ""
133msgstr ""
132
134
133#: Components/PageHeader.qml:298
135#: Components/PageHeader.qml:298
@@ -148,23 +150,23 @@ msgid_plural "%1 reviews"
148msgstr[0] ""
150msgstr[0] ""
149msgstr[1] ""
151msgstr[1] ""
150
152
151−#: Dash/Apps/AppPreview.qml:175
153+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
154msgid "Rate this"
153msgstr ""
155msgstr ""
154
156
155−#: Dash/Apps/AppReviews.qml:72
157+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
158msgid "Add a review"
157msgstr ""
159msgstr ""
158
160
159−#: Dash/Apps/AppReviews.qml:84
161+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
162msgid "Review"
161msgstr ""
163msgstr ""
162
164
163−#: Dash/Apps/AppReviews.qml:118
165+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
166msgid "Send"
165msgstr ""
167msgstr ""
166
168
167−#: Dash/Apps/AppReviews.qml:136
169+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
170msgid "Comments:"
169msgstr ""
171msgstr ""
170
172
@@ -208,7 +210,7 @@ msgstr ""
208msgid "Author:"
210msgid "Author:"
209msgstr ""
211msgstr ""
210
212
211−#: Greeter/Lockscreen.qml:134
213+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
214msgid "Emergency Call"
213msgstr ""
215msgstr ""
214
216
@@ -245,11 +247,15 @@ msgstr "Ομιλία..."
245msgid "Search"
247msgid "Search"
246msgstr "Αναζήτηση"
248msgstr "Αναζήτηση"
247
249
248−#: plugins/Unity/scope.cpp:317
250+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
251msgid "Sorry, there is nothing that matches your search."
250msgstr "Λυπούμαστε, δεν υπάρχει τίποτα που να ταιριάζει στην αναζήτησή σας."
252msgstr "Λυπούμαστε, δεν υπάρχει τίποτα που να ταιριάζει στην αναζήτησή σας."
251
253
254+#: plugins/Unity/showallfilteroption.cpp:41
255+msgid "All"
256+msgstr ""
257+
252−#: Shell.qml:429
258+#: Shell.qml:453
253#, qt-format
259#, qt-format
254msgid "Please enter %1"
260msgid "Please enter %1"
255msgstr ""
261msgstr ""
po/en_AU.po+28−23
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11"PO-Revision-Date: 2013-09-28 07:46+0000\n"
11"PO-Revision-Date: 2013-09-28 07:46+0000\n"
12"Last-Translator: Jared Norris <jarednorris@ubuntu.com>\n"
12"Last-Translator: Jared Norris <jarednorris@ubuntu.com>\n"
13"Language-Team: English (Australia) <en_AU@li.org>\n"
13"Language-Team: English (Australia) <en_AU@li.org>\n"
@@ -15,7 +15,7 @@ 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-09-29 06:18+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19"X-Generator: Launchpad (build 16774)\n"
19"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -86,50 +86,51 @@ msgstr "Wikipedia"
86msgid "YouTube"
86msgid "YouTube"
87msgstr "YouTube"
87msgstr "YouTube"
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr "Skip intro"
91msgstr "Skip intro"
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr "Right edge"
95msgstr "Right edge"
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr "Try swiping from the right edge to unlock the phone"
99msgstr "Try swiping from the right edge to unlock the phone"
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr "Top edge"
103msgstr "Top edge"
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr "Try swiping from the top edge to access the indicators"
107msgstr "Try swiping from the top edge to access the indicators"
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr "Close"
111msgstr "Close"
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr "Swipe up again to close the settings screen"
115msgstr "Swipe up again to close the settings screen"
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr "Left edge"
119msgstr "Left edge"
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr "Swipe from the left to reveal the launcher for quick access to apps"
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127msgstr "Well done"
127msgstr "Well done"
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
131msgstr ""
133msgstr ""
132−"You have now mastered the edge gestures and can start using the phone"
133
134
134#: Components/PageHeader.qml:298
135#: Components/PageHeader.qml:298
135msgid "Recent searches"
136msgid "Recent searches"
@@ -149,23 +150,23 @@ msgid_plural "%1 reviews"
149msgstr[0] "%1 review"
150msgstr[0] "%1 review"
150msgstr[1] "%1 reviews"
151msgstr[1] "%1 reviews"
151
152
152−#: Dash/Apps/AppPreview.qml:175
153+#: Dash/Apps/AppPreview.qml:178
153msgid "Rate this"
154msgid "Rate this"
154msgstr "Rate this"
155msgstr "Rate this"
155
156
156−#: Dash/Apps/AppReviews.qml:72
157+#: Dash/Apps/AppReviews.qml:74
157msgid "Add a review"
158msgid "Add a review"
158msgstr "Add a review"
159msgstr "Add a review"
159
160
160−#: Dash/Apps/AppReviews.qml:84
161+#: Dash/Apps/AppReviews.qml:86
161msgid "Review"
162msgid "Review"
162msgstr "Review"
163msgstr "Review"
163
164
164−#: Dash/Apps/AppReviews.qml:118
165+#: Dash/Apps/AppReviews.qml:121
165msgid "Send"
166msgid "Send"
166msgstr "Send"
167msgstr "Send"
167
168
168−#: Dash/Apps/AppReviews.qml:136
169+#: Dash/Apps/AppReviews.qml:139
169msgid "Comments:"
170msgid "Comments:"
170msgstr "Comments:"
171msgstr "Comments:"
171
172
@@ -209,7 +210,7 @@ msgstr "Starring:"
209msgid "Author:"
210msgid "Author:"
210msgstr "Author:"
211msgstr "Author:"
211
212
212−#: Greeter/Lockscreen.qml:134
213+#: Greeter/Lockscreen.qml:142
213msgid "Emergency Call"
214msgid "Emergency Call"
214msgstr "Emergency Call"
215msgstr "Emergency Call"
215
216
@@ -246,11 +247,15 @@ msgstr "Speaking..."
246msgid "Search"
247msgid "Search"
247msgstr "Search"
248msgstr "Search"
248
249
249−#: plugins/Unity/scope.cpp:317
250+#: plugins/Unity/scope.cpp:336
250msgid "Sorry, there is nothing that matches your search."
251msgid "Sorry, there is nothing that matches your search."
251msgstr "Sorry, there is nothing that matches your search."
252msgstr "Sorry, there is nothing that matches your search."
252
253
254+#: plugins/Unity/showallfilteroption.cpp:41
255+msgid "All"
256+msgstr ""
257+
253−#: Shell.qml:429
258+#: Shell.qml:453
254#, qt-format
259#, qt-format
255msgid "Please enter %1"
260msgid "Please enter %1"
256msgstr "Please enter %1"
261msgstr "Please enter %1"
po/en_GB.po+29−23
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\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-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19−"X-Generator: Launchpad (build 16750)\n"
19+"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,48 +86,50 @@ msgstr "Wikipedia"
86msgid "YouTube"
86msgid "YouTube"
87msgstr "YouTube"
87msgstr "YouTube"
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr ""
91msgstr ""
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr ""
95msgstr ""
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr ""
99msgstr ""
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr ""
103msgstr ""
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr ""
107msgstr ""
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr ""
111msgstr ""
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr ""
115msgstr ""
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr ""
119msgstr ""
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr ""
123msgstr ""
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127msgstr ""
127msgstr ""
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
131msgstr ""
133msgstr ""
132
134
133#: Components/PageHeader.qml:298
135#: Components/PageHeader.qml:298
@@ -148,23 +150,23 @@ msgid_plural "%1 reviews"
148msgstr[0] ""
150msgstr[0] ""
149msgstr[1] ""
151msgstr[1] ""
150
152
151−#: Dash/Apps/AppPreview.qml:175
153+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
154msgid "Rate this"
153msgstr ""
155msgstr ""
154
156
155−#: Dash/Apps/AppReviews.qml:72
157+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
158msgid "Add a review"
157msgstr ""
159msgstr ""
158
160
159−#: Dash/Apps/AppReviews.qml:84
161+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
162msgid "Review"
161msgstr ""
163msgstr ""
162
164
163−#: Dash/Apps/AppReviews.qml:118
165+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
166msgid "Send"
165msgstr ""
167msgstr ""
166
168
167−#: Dash/Apps/AppReviews.qml:136
169+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
170msgid "Comments:"
169msgstr ""
171msgstr ""
170
172
@@ -208,7 +210,7 @@ msgstr "Starring:"
208msgid "Author:"
210msgid "Author:"
209msgstr "Author:"
211msgstr "Author:"
210
212
211−#: Greeter/Lockscreen.qml:134
213+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
214msgid "Emergency Call"
213msgstr ""
215msgstr ""
214
216
@@ -245,11 +247,15 @@ msgstr "Speaking..."
245msgid "Search"
247msgid "Search"
246msgstr "Search"
248msgstr "Search"
247
249
248−#: plugins/Unity/scope.cpp:317
250+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
251msgid "Sorry, there is nothing that matches your search."
250msgstr "Sorry, there is nothing that matches your search."
252msgstr "Sorry, there is nothing that matches your search."
251
253
254+#: plugins/Unity/showallfilteroption.cpp:41
255+msgid "All"
256+msgstr ""
257+
252−#: Shell.qml:429
258+#: Shell.qml:453
253#, qt-format
259#, qt-format
254msgid "Please enter %1"
260msgid "Please enter %1"
255msgstr "Please enter %1"
261msgstr "Please enter %1"
po/eo.po+29−23
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11"PO-Revision-Date: 2013-06-26 22:35+0000\n"
11"PO-Revision-Date: 2013-06-26 22:35+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Esperanto <eo@li.org>\n"
13"Language-Team: Esperanto <eo@li.org>\n"
@@ -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-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19−"X-Generator: Launchpad (build 16750)\n"
19+"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,48 +86,50 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr ""
91msgstr ""
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr ""
95msgstr ""
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr ""
99msgstr ""
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr ""
103msgstr ""
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr ""
107msgstr ""
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr ""
111msgstr ""
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr ""
115msgstr ""
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr ""
119msgstr ""
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr ""
123msgstr ""
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127msgstr ""
127msgstr ""
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
131msgstr ""
133msgstr ""
132
134
133#: Components/PageHeader.qml:298
135#: Components/PageHeader.qml:298
@@ -148,23 +150,23 @@ msgid_plural "%1 reviews"
148msgstr[0] ""
150msgstr[0] ""
149msgstr[1] ""
151msgstr[1] ""
150
152
151−#: Dash/Apps/AppPreview.qml:175
153+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
154msgid "Rate this"
153msgstr ""
155msgstr ""
154
156
155−#: Dash/Apps/AppReviews.qml:72
157+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
158msgid "Add a review"
157msgstr ""
159msgstr ""
158
160
159−#: Dash/Apps/AppReviews.qml:84
161+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
162msgid "Review"
161msgstr ""
163msgstr ""
162
164
163−#: Dash/Apps/AppReviews.qml:118
165+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
166msgid "Send"
165msgstr ""
167msgstr ""
166
168
167−#: Dash/Apps/AppReviews.qml:136
169+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
170msgid "Comments:"
169msgstr ""
171msgstr ""
170
172
@@ -208,7 +210,7 @@ msgstr ""
208msgid "Author:"
210msgid "Author:"
209msgstr ""
211msgstr ""
210
212
211−#: Greeter/Lockscreen.qml:134
213+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
214msgid "Emergency Call"
213msgstr ""
215msgstr ""
214
216
@@ -245,11 +247,15 @@ msgstr ""
245msgid "Search"
247msgid "Search"
246msgstr ""
248msgstr ""
247
249
248−#: plugins/Unity/scope.cpp:317
250+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
251msgid "Sorry, there is nothing that matches your search."
250msgstr ""
252msgstr ""
251
253
254+#: plugins/Unity/showallfilteroption.cpp:41
255+msgid "All"
256+msgstr ""
257+
252−#: Shell.qml:429
258+#: Shell.qml:453
253#, qt-format
259#, qt-format
254msgid "Please enter %1"
260msgid "Please enter %1"
255msgstr ""
261msgstr ""
po/es.po+34−26
@@ -7,16 +7,16 @@ 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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11−"PO-Revision-Date: 2013-09-28 07:35+0000\n"
11+"PO-Revision-Date: 2013-10-02 04:59+0000\n"
12−"Last-Translator: Paco Molinero <paco@byasl.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"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2013-09-29 06:18+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-03 06:08+0000\n"
19−"X-Generator: Launchpad (build 16774)\n"
19+"X-Generator: Launchpad (build 16791)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,51 +86,55 @@ msgstr "Wikipedia"
86msgid "YouTube"
86msgid "YouTube"
87msgstr "YouTube"
87msgstr "YouTube"
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr "Omitir la introducción"
91msgstr "Omitir la introducción"
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr "Borde derecho"
95msgstr "Borde derecho"
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr "Deslice el dedo desde el borde derecho para desbloquear el teléfono"
99msgstr "Deslice el dedo desde el borde derecho para desbloquear el teléfono"
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr "Borde superior"
103msgstr "Borde superior"
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr "Deslice el dedo desde el borde superior para acceder a los menús"
107msgstr "Deslice el dedo desde el borde superior para acceder a los menús"
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr "Cerrar"
111msgstr "Cerrar"
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr "Deslice hacia arriba para cerrar la pantalla de configuración"
115msgstr "Deslice hacia arriba para cerrar la pantalla de configuración"
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr "Borde izquierdo"
119msgstr "Borde izquierdo"
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr ""
123msgstr ""
124"Deslice el dedo desde la izquierda para mostrar el lanzador y acceder "
124"Deslice el dedo desde la izquierda para mostrar el lanzador y acceder "
125"rápidamente a las aplicaciones"
125"rápidamente a las aplicaciones"
126
126
127−#: Components/EdgeDemo.qml:217
127+#: Components/EdgeDemo.qml:226
128msgid "Well done"
128msgid "Well done"
129msgstr "Bien hecho"
129msgstr "Bien hecho"
130
130
131−#: Components/EdgeDemo.qml:218
131+#: Components/EdgeDemo.qml:227
132+msgid ""
132−msgid "You have now mastered the edge gestures and can start using the phone"
133+"You have now mastered the edge gestures and can start using the "
134+"phone<br><br>Tap anywhere to start"
135+msgstr ""
133−msgstr "Ahora domina el uso de gestos de los bordes. Puede usar el teléfono"
136+"Ahora domina los gestos de bordes y puede usar el teléfono<br><br>Toque la "
137+"pantalla para comenzar"
134
138
135#: Components/PageHeader.qml:298
139#: Components/PageHeader.qml:298
136msgid "Recent searches"
140msgid "Recent searches"
@@ -150,23 +154,23 @@ msgid_plural "%1 reviews"
150msgstr[0] "%1 reseña"
154msgstr[0] "%1 reseña"
151msgstr[1] "%1 reseñas"
155msgstr[1] "%1 reseñas"
152
156
153−#: Dash/Apps/AppPreview.qml:175
157+#: Dash/Apps/AppPreview.qml:178
154msgid "Rate this"
158msgid "Rate this"
155msgstr "Valorar esto"
159msgstr "Valorar esto"
156
160
157−#: Dash/Apps/AppReviews.qml:72
161+#: Dash/Apps/AppReviews.qml:74
158msgid "Add a review"
162msgid "Add a review"
159msgstr "Añadir una reseña"
163msgstr "Añadir una reseña"
160
164
161−#: Dash/Apps/AppReviews.qml:84
165+#: Dash/Apps/AppReviews.qml:86
162msgid "Review"
166msgid "Review"
163msgstr "Reseñar"
167msgstr "Reseñar"
164
168
165−#: Dash/Apps/AppReviews.qml:118
169+#: Dash/Apps/AppReviews.qml:121
166msgid "Send"
170msgid "Send"
167msgstr "Enviar"
171msgstr "Enviar"
168
172
169−#: Dash/Apps/AppReviews.qml:136
173+#: Dash/Apps/AppReviews.qml:139
170msgid "Comments:"
174msgid "Comments:"
171msgstr "Comentarios:"
175msgstr "Comentarios:"
172
176
@@ -210,7 +214,7 @@ msgstr "Protagonistas:"
210msgid "Author:"
214msgid "Author:"
211msgstr "Autor:"
215msgstr "Autor:"
212
216
213−#: Greeter/Lockscreen.qml:134
217+#: Greeter/Lockscreen.qml:142
214msgid "Emergency Call"
218msgid "Emergency Call"
215msgstr "Llamada de emergencia"
219msgstr "Llamada de emergencia"
216
220
@@ -247,11 +251,15 @@ msgstr "Hablando…"
247msgid "Search"
251msgid "Search"
248msgstr "Buscar"
252msgstr "Buscar"
249
253
250−#: plugins/Unity/scope.cpp:317
254+#: plugins/Unity/scope.cpp:336
251msgid "Sorry, there is nothing that matches your search."
255msgid "Sorry, there is nothing that matches your search."
252msgstr "No hay nada que coincida con su búsqueda."
256msgstr "No hay nada que coincida con su búsqueda."
253
257
258+#: plugins/Unity/showallfilteroption.cpp:41
259+msgid "All"
260+msgstr "Todo"
261+
254−#: Shell.qml:429
262+#: Shell.qml:453
255#, qt-format
263#, qt-format
256msgid "Please enter %1"
264msgid "Please enter %1"
257msgstr "Introduzca %1"
265msgstr "Introduzca %1"
po/fi.po+33−25
@@ -7,16 +7,16 @@ 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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11−"PO-Revision-Date: 2013-09-26 09:25+0000\n"
11+"PO-Revision-Date: 2013-10-03 09:21+0000\n"
12"Last-Translator: Jiri Grönroos <Unknown>\n"
12"Last-Translator: Jiri Grönroos <Unknown>\n"
13"Language-Team: Finnish <fi@li.org>\n"
13"Language-Team: Finnish <fi@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2013-09-27 06:43+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-04 06:11+0000\n"
19−"X-Generator: Launchpad (build 16774)\n"
19+"X-Generator: Launchpad (build 16791)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,49 +86,53 @@ msgstr "Wikipedia"
86msgid "YouTube"
86msgid "YouTube"
87msgstr "YouTube"
87msgstr "YouTube"
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr "Ohita esittely"
91msgstr "Ohita esittely"
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr "Oikea reuna"
95msgstr "Oikea reuna"
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr "Vedä oikealta avataksesi puhelimen lukituksen"
99msgstr "Vedä oikealta avataksesi puhelimen lukituksen"
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr "Yläreuna"
103msgstr "Yläreuna"
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr "Vedä yläreunasta käyttääksesi ilmaisimia"
107msgstr "Vedä yläreunasta käyttääksesi ilmaisimia"
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr "Sulje"
111msgstr "Sulje"
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr "Vedä uudestaan sulkeaksesi asetusnäkymän"
115msgstr "Vedä uudestaan sulkeaksesi asetusnäkymän"
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr "Vasen reuna"
119msgstr "Vasen reuna"
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr "Vedä vasemmalta saattaaksesi sovellusten käynnistimen esiin"
123msgstr "Vedä vasemmalta saattaaksesi sovellusten käynnistimen esiin"
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127msgstr "Hyvin tehty"
127msgstr "Hyvin tehty"
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
133+msgstr ""
131−msgstr "Hallitset nyt reunaeleet, joten voit aloittaa puhelimen käytön"
134+"Hallitset nyt reunaeleet, joten voit aloittaa puhelimen "
135+"käytön<br><br>Napauta missä tahansa aloittaaksesi"
132
136
133#: Components/PageHeader.qml:298
137#: Components/PageHeader.qml:298
134msgid "Recent searches"
138msgid "Recent searches"
@@ -148,23 +152,23 @@ msgid_plural "%1 reviews"
148msgstr[0] "%1 arvostelu"
152msgstr[0] "%1 arvostelu"
149msgstr[1] "%1 arvostelua"
153msgstr[1] "%1 arvostelua"
150
154
151−#: Dash/Apps/AppPreview.qml:175
155+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
156msgid "Rate this"
153msgstr "Arvioi tämä"
157msgstr "Arvioi tämä"
154
158
155−#: Dash/Apps/AppReviews.qml:72
159+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
160msgid "Add a review"
157msgstr "Lisää arvostelu"
161msgstr "Lisää arvostelu"
158
162
159−#: Dash/Apps/AppReviews.qml:84
163+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
164msgid "Review"
161msgstr "Arvostelu"
165msgstr "Arvostelu"
162
166
163−#: Dash/Apps/AppReviews.qml:118
167+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
168msgid "Send"
165msgstr "Lähetä"
169msgstr "Lähetä"
166
170
167−#: Dash/Apps/AppReviews.qml:136
171+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
172msgid "Comments:"
169msgstr "Kommentit:"
173msgstr "Kommentit:"
170
174
@@ -208,7 +212,7 @@ msgstr "Pääosissa:"
208msgid "Author:"
212msgid "Author:"
209msgstr "Tekijä:"
213msgstr "Tekijä:"
210
214
211−#: Greeter/Lockscreen.qml:134
215+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
216msgid "Emergency Call"
213msgstr "Hätäpuhelu"
217msgstr "Hätäpuhelu"
214
218
@@ -245,11 +249,15 @@ msgstr "Puhutaan..."
245msgid "Search"
249msgid "Search"
246msgstr "Hae"
250msgstr "Hae"
247
251
248−#: plugins/Unity/scope.cpp:317
252+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
253msgid "Sorry, there is nothing that matches your search."
250msgstr "Hakuun täsmääviä tuloksia ei löydy."
254msgstr "Hakuun täsmääviä tuloksia ei löydy."
251
255
256+#: plugins/Unity/showallfilteroption.cpp:41
257+msgid "All"
258+msgstr "Kaikki"
259+
252−#: Shell.qml:429
260+#: Shell.qml:453
253#, qt-format
261#, qt-format
254msgid "Please enter %1"
262msgid "Please enter %1"
255msgstr "Kirjoita %1"
263msgstr "Kirjoita %1"
po/fo.po+41−35
@@ -7,56 +7,56 @@ 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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11−"PO-Revision-Date: 2013-06-27 02:57+0000\n"
11+"PO-Revision-Date: 2013-10-01 15:13+0000\n"
12−"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
12+"Last-Translator: Jógvan Olsen <jeggy@jebster.net>\n"
13"Language-Team: Faroese <fo@li.org>\n"
13"Language-Team: Faroese <fo@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19−"X-Generator: Launchpad (build 16750)\n"
19+"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
23−msgstr ""
23+msgstr "Fartelefon"
24
24
25#: Applications/applications.js:29
25#: Applications/applications.js:29
26msgid "Camera"
26msgid "Camera"
27−msgstr ""
27+msgstr "Myndatól"
28
28
29#: Applications/applications.js:35
29#: Applications/applications.js:35
30msgid "Gallery"
30msgid "Gallery"
31−msgstr ""
31+msgstr "Myndasavn"
32
32
33#: Applications/applications.js:40
33#: Applications/applications.js:40
34msgid "Facebook"
34msgid "Facebook"
35−msgstr ""
35+msgstr "Facebook"
36
36
37#: Applications/applications.js:46
37#: Applications/applications.js:46
38msgid "Browser"
38msgid "Browser"
39−msgstr ""
39+msgstr "Kagi"
40
40
41#: Applications/applications.js:51
41#: Applications/applications.js:51
42msgid "Twitter"
42msgid "Twitter"
43−msgstr ""
43+msgstr "Twitter"
44
44
45#: Applications/applications.js:57
45#: Applications/applications.js:57
46msgid "GMail"
46msgid "GMail"
47−msgstr ""
47+msgstr "GMail"
48
48
49#: Applications/applications.js:62
49#: Applications/applications.js:62
50msgid "Weather"
50msgid "Weather"
51−msgstr ""
51+msgstr "Veðrið"
52
52
53#: Applications/applications.js:68
53#: Applications/applications.js:68
54msgid "Notepad"
54msgid "Notepad"
55−msgstr ""
55+msgstr "Skriviblokkur"
56
56
57#: Applications/applications.js:74
57#: Applications/applications.js:74
58msgid "Calendar"
58msgid "Calendar"
59−msgstr ""
59+msgstr "Kalendari"
60
60
61#: Applications/applications.js:80
61#: Applications/applications.js:80
62msgid "Media Player"
62msgid "Media Player"
@@ -86,48 +86,50 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr ""
91msgstr ""
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr ""
95msgstr ""
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr ""
99msgstr ""
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr ""
103msgstr ""
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr ""
107msgstr ""
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr ""
111msgstr ""
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr ""
115msgstr ""
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr ""
119msgstr ""
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr ""
123msgstr ""
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127msgstr ""
127msgstr ""
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
131msgstr ""
133msgstr ""
132
134
133#: Components/PageHeader.qml:298
135#: Components/PageHeader.qml:298
@@ -148,23 +150,23 @@ msgid_plural "%1 reviews"
148msgstr[0] ""
150msgstr[0] ""
149msgstr[1] ""
151msgstr[1] ""
150
152
151−#: Dash/Apps/AppPreview.qml:175
153+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
154msgid "Rate this"
153msgstr ""
155msgstr ""
154
156
155−#: Dash/Apps/AppReviews.qml:72
157+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
158msgid "Add a review"
157msgstr ""
159msgstr ""
158
160
159−#: Dash/Apps/AppReviews.qml:84
161+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
162msgid "Review"
161msgstr ""
163msgstr ""
162
164
163−#: Dash/Apps/AppReviews.qml:118
165+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
166msgid "Send"
165msgstr ""
167msgstr ""
166
168
167−#: Dash/Apps/AppReviews.qml:136
169+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
170msgid "Comments:"
169msgstr ""
171msgstr ""
170
172
@@ -208,7 +210,7 @@ msgstr ""
208msgid "Author:"
210msgid "Author:"
209msgstr ""
211msgstr ""
210
212
211−#: Greeter/Lockscreen.qml:134
213+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
214msgid "Emergency Call"
213msgstr ""
215msgstr ""
214
216
@@ -245,11 +247,15 @@ msgstr "Snakkar..."
245msgid "Search"
247msgid "Search"
246msgstr "Leita"
248msgstr "Leita"
247
249
248−#: plugins/Unity/scope.cpp:317
250+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
251msgid "Sorry, there is nothing that matches your search."
250msgstr "Tíanverri er tað einki sum hóskar til tína leiting."
252msgstr "Tíanverri er tað einki sum hóskar til tína leiting."
251
253
254+#: plugins/Unity/showallfilteroption.cpp:41
255+msgid "All"
256+msgstr ""
257+
252−#: Shell.qml:429
258+#: Shell.qml:453
253#, qt-format
259#, qt-format
254msgid "Please enter %1"
260msgid "Please enter %1"
255msgstr ""
261msgstr ""
po/fr.po+29−23
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\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-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19−"X-Generator: Launchpad (build 16750)\n"
19+"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,48 +86,50 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr ""
91msgstr ""
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr ""
95msgstr ""
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr ""
99msgstr ""
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr ""
103msgstr ""
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr ""
107msgstr ""
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr ""
111msgstr ""
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr ""
115msgstr ""
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr ""
119msgstr ""
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr ""
123msgstr ""
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127msgstr ""
127msgstr ""
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
131msgstr ""
133msgstr ""
132
134
133#: Components/PageHeader.qml:298
135#: Components/PageHeader.qml:298
@@ -148,23 +150,23 @@ msgid_plural "%1 reviews"
148msgstr[0] ""
150msgstr[0] ""
149msgstr[1] ""
151msgstr[1] ""
150
152
151−#: Dash/Apps/AppPreview.qml:175
153+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
154msgid "Rate this"
153msgstr ""
155msgstr ""
154
156
155−#: Dash/Apps/AppReviews.qml:72
157+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
158msgid "Add a review"
157msgstr ""
159msgstr ""
158
160
159−#: Dash/Apps/AppReviews.qml:84
161+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
162msgid "Review"
161msgstr ""
163msgstr ""
162
164
163−#: Dash/Apps/AppReviews.qml:118
165+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
166msgid "Send"
165msgstr ""
167msgstr ""
166
168
167−#: Dash/Apps/AppReviews.qml:136
169+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
170msgid "Comments:"
169msgstr ""
171msgstr ""
170
172
@@ -208,7 +210,7 @@ msgstr ""
208msgid "Author:"
210msgid "Author:"
209msgstr ""
211msgstr ""
210
212
211−#: Greeter/Lockscreen.qml:134
213+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
214msgid "Emergency Call"
213msgstr ""
215msgstr ""
214
216
@@ -245,11 +247,15 @@ msgstr ""
245msgid "Search"
247msgid "Search"
246msgstr ""
248msgstr ""
247
249
248−#: plugins/Unity/scope.cpp:317
250+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
251msgid "Sorry, there is nothing that matches your search."
250msgstr ""
252msgstr ""
251
253
254+#: plugins/Unity/showallfilteroption.cpp:41
255+msgid "All"
256+msgstr ""
257+
252−#: Shell.qml:429
258+#: Shell.qml:453
253#, qt-format
259#, qt-format
254msgid "Please enter %1"
260msgid "Please enter %1"
255msgstr ""
261msgstr ""
po/gd.po+28−24
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11"PO-Revision-Date: 2013-09-30 10:34+0000\n"
11"PO-Revision-Date: 2013-09-30 10:34+0000\n"
12"Last-Translator: Akerbeltz <fios@akerbeltz.org>\n"
12"Last-Translator: Akerbeltz <fios@akerbeltz.org>\n"
13"Language-Team: Gaelic; Scottish <gd@li.org>\n"
13"Language-Team: Gaelic; Scottish <gd@li.org>\n"
@@ -16,7 +16,7 @@ msgstr ""
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : "
17"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : "
18"(n > 2 && n < 20) ? 2 : 3;\n"
18"(n > 2 && n < 20) ? 2 : 3;\n"
19−"X-Launchpad-Export-Date: 2013-10-01 05:53+0000\n"
19+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
20"X-Generator: Launchpad (build 16774)\n"
20"X-Generator: Launchpad (build 16774)\n"
21
21
22#: Applications/applications.js:23
22#: Applications/applications.js:23
@@ -87,57 +87,57 @@ msgstr "An Uicipeid"
87msgid "YouTube"
87msgid "YouTube"
88msgstr "YouTube"
88msgstr "YouTube"
89
89
90−#: Components/EdgeDemoOverlay.qml:145
90+#: Components/EdgeDemoOverlay.qml:150
91msgid "Skip intro"
91msgid "Skip intro"
92msgstr "Gearr leum thairis air an ro-ràdh"
92msgstr "Gearr leum thairis air an ro-ràdh"
93
93
94−#: Components/EdgeDemo.qml:98
94+#: Components/EdgeDemo.qml:112
95msgid "Right edge"
95msgid "Right edge"
96msgstr "An oir dheas"
96msgstr "An oir dheas"
97
97
98−#: Components/EdgeDemo.qml:99
98+#: Components/EdgeDemo.qml:113
99msgid "Try swiping from the right edge to unlock the phone"
99msgid "Try swiping from the right edge to unlock the phone"
100msgstr ""
100msgstr ""
101"Feuch is dèan grad-shlaighdeadh a-steach on oir dheas gus a' ghlas a thoirt "
101"Feuch is dèan grad-shlaighdeadh a-steach on oir dheas gus a' ghlas a thoirt "
102"far an fhòn"
102"far an fhòn"
103
103
104−#: Components/EdgeDemo.qml:135
104+#: Components/EdgeDemo.qml:144
105msgid "Top edge"
105msgid "Top edge"
106msgstr "An oir aig a' bharr"
106msgstr "An oir aig a' bharr"
107
107
108−#: Components/EdgeDemo.qml:136
108+#: Components/EdgeDemo.qml:145
109msgid "Try swiping from the top edge to access the indicators"
109msgid "Try swiping from the top edge to access the indicators"
110msgstr ""
110msgstr ""
111"Feuch is dèan grad-shlaighdeadh a-steach on oir aig a' bharr gus greim "
111"Feuch is dèan grad-shlaighdeadh a-steach on oir aig a' bharr gus greim "
112"fhaighinn air na taisbeanairean"
112"fhaighinn air na taisbeanairean"
113
113
114−#: Components/EdgeDemo.qml:161
114+#: Components/EdgeDemo.qml:170
115msgid "Close"
115msgid "Close"
116msgstr "Dùin"
116msgstr "Dùin"
117
117
118−#: Components/EdgeDemo.qml:162
118+#: Components/EdgeDemo.qml:171
119msgid "Swipe up again to close the settings screen"
119msgid "Swipe up again to close the settings screen"
120msgstr "Dèan grad-shlaighdeadh a-nìos gus sgrìn nan roghainnean a dhùnadh"
120msgstr "Dèan grad-shlaighdeadh a-nìos gus sgrìn nan roghainnean a dhùnadh"
121
121
122−#: Components/EdgeDemo.qml:189
122+#: Components/EdgeDemo.qml:198
123msgid "Left edge"
123msgid "Left edge"
124msgstr "An oir chlì"
124msgstr "An oir chlì"
125
125
126−#: Components/EdgeDemo.qml:190
126+#: Components/EdgeDemo.qml:199
127msgid "Swipe from the left to reveal the launcher for quick access to apps"
127msgid "Swipe from the left to reveal the launcher for quick access to apps"
128msgstr ""
128msgstr ""
129"Dèan grad-shlaighdeadh on oir chlì air an lòinseir a bheir dhut cothrom "
129"Dèan grad-shlaighdeadh on oir chlì air an lòinseir a bheir dhut cothrom "
130"luath air na h-aplacaidean"
130"luath air na h-aplacaidean"
131
131
132−#: Components/EdgeDemo.qml:217
132+#: Components/EdgeDemo.qml:226
133msgid "Well done"
133msgid "Well done"
134msgstr "Gasta!"
134msgstr "Gasta!"
135
135
136−#: Components/EdgeDemo.qml:218
136+#: Components/EdgeDemo.qml:227
137+msgid ""
137−msgid "You have now mastered the edge gestures and can start using the phone"
138+"You have now mastered the edge gestures and can start using the "
139+"phone<br><br>Tap anywhere to start"
138msgstr ""
140msgstr ""
139−"Dh'ionnsaich thu mar a dh'obraicheas na gluasadan air an oir agus is urrainn "
140−"dhut am fòn a chleachdadh a-nis"
141
141
142#: Components/PageHeader.qml:298
142#: Components/PageHeader.qml:298
143msgid "Recent searches"
143msgid "Recent searches"
@@ -159,23 +159,23 @@ msgstr[1] "%1 lèirmheas"
159msgstr[2] "%1 lèirmheasan"
159msgstr[2] "%1 lèirmheasan"
160msgstr[3] "%1 lèirmheas"
160msgstr[3] "%1 lèirmheas"
161
161
162−#: Dash/Apps/AppPreview.qml:175
162+#: Dash/Apps/AppPreview.qml:178
163msgid "Rate this"
163msgid "Rate this"
164msgstr "Rangaich seo"
164msgstr "Rangaich seo"
165
165
166−#: Dash/Apps/AppReviews.qml:72
166+#: Dash/Apps/AppReviews.qml:74
167msgid "Add a review"
167msgid "Add a review"
168msgstr "Cuir lèirmheas ris"
168msgstr "Cuir lèirmheas ris"
169
169
170−#: Dash/Apps/AppReviews.qml:84
170+#: Dash/Apps/AppReviews.qml:86
171msgid "Review"
171msgid "Review"
172msgstr "Lèirmheas"
172msgstr "Lèirmheas"
173
173
174−#: Dash/Apps/AppReviews.qml:118
174+#: Dash/Apps/AppReviews.qml:121
175msgid "Send"
175msgid "Send"
176msgstr "Cuir"
176msgstr "Cuir"
177
177
178−#: Dash/Apps/AppReviews.qml:136
178+#: Dash/Apps/AppReviews.qml:139
179msgid "Comments:"
179msgid "Comments:"
180msgstr "Beachdan"
180msgstr "Beachdan"
181
181
@@ -219,7 +219,7 @@ msgstr "Leis na daoine a leanas:"
219msgid "Author:"
219msgid "Author:"
220msgstr "Ùghdar:"
220msgstr "Ùghdar:"
221
221
222−#: Greeter/Lockscreen.qml:134
222+#: Greeter/Lockscreen.qml:142
223msgid "Emergency Call"
223msgid "Emergency Call"
224msgstr "Gairm èiginn"
224msgstr "Gairm èiginn"
225
225
@@ -256,11 +256,15 @@ msgstr "A' bruidhinn..."
256msgid "Search"
256msgid "Search"
257msgstr "Lorg"
257msgstr "Lorg"
258
258
259−#: plugins/Unity/scope.cpp:317
259+#: plugins/Unity/scope.cpp:336
260msgid "Sorry, there is nothing that matches your search."
260msgid "Sorry, there is nothing that matches your search."
261msgstr "Tha sinn duilich ach chan eil dad a' freagairt ris na lorg thu."
261msgstr "Tha sinn duilich ach chan eil dad a' freagairt ris na lorg thu."
262
262
263+#: plugins/Unity/showallfilteroption.cpp:41
264+msgid "All"
265+msgstr ""
266+
263−#: Shell.qml:429
267+#: Shell.qml:453
264#, qt-format
268#, qt-format
265msgid "Please enter %1"
269msgid "Please enter %1"
266msgstr "Cuir a-steach %1"
270msgstr "Cuir a-steach %1"
po/gl.po+54−46
@@ -7,16 +7,16 @@ 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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11−"PO-Revision-Date: 2013-09-29 11:14+0000\n"
11+"PO-Revision-Date: 2013-10-03 18:49+0000\n"
12"Last-Translator: Marcos Lans <Unknown>\n"
12"Last-Translator: Marcos Lans <Unknown>\n"
13"Language-Team: Galician <gl@li.org>\n"
13"Language-Team: Galician <gl@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2013-09-30 05:57+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-04 06:11+0000\n"
19−"X-Generator: Launchpad (build 16774)\n"
19+"X-Generator: Launchpad (build 16791)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,49 +86,53 @@ msgstr "Wikipedia"
86msgid "YouTube"
86msgid "YouTube"
87msgstr "YouTube"
87msgstr "YouTube"
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr "Saltar introdución"
91msgstr "Saltar introdución"
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr "Bordo dereito"
95msgstr "Bordo dereito"
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99−msgstr "Probe a arrastrar desde o bordo dereito para desbloquear o teléfono"
99+msgstr "Probe o arrastre desde o bordo dereito para desbloquear o teléfono"
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr "Bordo superior"
103msgstr "Bordo superior"
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107−msgstr ""
107+msgstr "Esvare desde o bordo superior para acceder aos indicadores."
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr "Pechar"
111msgstr "Pechar"
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115−msgstr ""
115+msgstr "Esvare cara a arriba para pechar os axustes"
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr "Bordo esquerdo"
119msgstr "Bordo esquerdo"
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123−msgstr ""
123+msgstr "Esvare desde a esquerda para mostrar o iniciador de acceso rápido"
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127msgstr "Ben feito"
127msgstr "Ben feito"
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
131msgstr ""
133msgstr ""
134+"Xa domina os xestos desde os bordos e pode comezar a usar o "
135+"móbil<br><br>Toque en calquera sitio para comezar"
132
136
133#: Components/PageHeader.qml:298
137#: Components/PageHeader.qml:298
134msgid "Recent searches"
138msgid "Recent searches"
@@ -145,40 +149,40 @@ msgstr "(%1)"
145#, qt-format
149#, qt-format
146msgid "%1 review"
150msgid "%1 review"
147msgid_plural "%1 reviews"
151msgid_plural "%1 reviews"
148−msgstr[0] ""
152+msgstr[0] "%1 opinión"
149−msgstr[1] ""
153+msgstr[1] "%1 opinións"
150
154
151−#: Dash/Apps/AppPreview.qml:175
155+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
156msgid "Rate this"
153−msgstr ""
157+msgstr "Valore isto"
154
158
155−#: Dash/Apps/AppReviews.qml:72
159+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
160msgid "Add a review"
157−msgstr ""
161+msgstr "Engadir unha opinión"
158
162
159−#: Dash/Apps/AppReviews.qml:84
163+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
164msgid "Review"
161−msgstr ""
165+msgstr "Opinión"
162
166
163−#: Dash/Apps/AppReviews.qml:118
167+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
168msgid "Send"
165−msgstr ""
169+msgstr "Enviar"
166
170
167−#: Dash/Apps/AppReviews.qml:136
171+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
172msgid "Comments:"
169−msgstr ""
173+msgstr "Comentarios:"
170
174
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
175#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
172msgid "Featured"
176msgid "Featured"
173−msgstr ""
177+msgstr "Destacado"
174
178
175#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
179#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
176msgid "Recent"
180msgid "Recent"
177−msgstr ""
181+msgstr "Recentes"
178
182
179#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
183#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
180msgid "New Releases"
184msgid "New Releases"
181−msgstr ""
185+msgstr "Novas versións"
182
186
183#: Dash/DashMusic.qml:30
187#: Dash/DashMusic.qml:30
184msgid "Top Charting"
188msgid "Top Charting"
@@ -190,7 +194,7 @@ msgstr "Música"
190
194
191#: Dash/DashVideos.qml:31
195#: Dash/DashVideos.qml:31
192msgid "Popular Online"
196msgid "Popular Online"
193−msgstr ""
197+msgstr "Populares en liña"
194
198
195#: Dash/DashVideos.qml:146
199#: Dash/DashVideos.qml:146
196msgid "Videos"
200msgid "Videos"
@@ -198,28 +202,28 @@ msgstr "Vídeos"
198
202
199#: Dash/Video/VideoPreview.qml:130
203#: Dash/Video/VideoPreview.qml:130
200msgid "Directed by:"
204msgid "Directed by:"
201−msgstr ""
205+msgstr "Dirixido por"
202
206
203#: Dash/Video/VideoPreview.qml:153
207#: Dash/Video/VideoPreview.qml:153
204msgid "Starring:"
208msgid "Starring:"
205−msgstr ""
209+msgstr "Favoritos"
206
210
207#: Dash/Video/VideoPreview.qml:176
211#: Dash/Video/VideoPreview.qml:176
208msgid "Author:"
212msgid "Author:"
209−msgstr ""
213+msgstr "Autor:"
210
214
211−#: Greeter/Lockscreen.qml:134
215+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
216msgid "Emergency Call"
213−msgstr ""
217+msgstr "Chamada de emerxencia"
214
218
215#: Greeter/PassphraseLockscreen.qml:59
219#: Greeter/PassphraseLockscreen.qml:59
216#, qt-format
220#, qt-format
217msgid "Hello %1"
221msgid "Hello %1"
218−msgstr ""
222+msgstr "Ola %1"
219
223
220#: Greeter/PassphraseLockscreen.qml:59
224#: Greeter/PassphraseLockscreen.qml:59
221msgid "Hello"
225msgid "Hello"
222−msgstr ""
226+msgstr "Ola"
223
227
224#: Hud/HudParametrizedActionsPage.qml:132
228#: Hud/HudParametrizedActionsPage.qml:132
225msgid "Confirm"
229msgid "Confirm"
@@ -245,11 +249,15 @@ msgstr "Falando…"
245msgid "Search"
249msgid "Search"
246msgstr "Buscar"
250msgstr "Buscar"
247
251
248−#: plugins/Unity/scope.cpp:317
252+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
253msgid "Sorry, there is nothing that matches your search."
250msgstr "Sentímolo, non hai nada que coincida con esta busca."
254msgstr "Sentímolo, non hai nada que coincida con esta busca."
251
255
256+#: plugins/Unity/showallfilteroption.cpp:41
257+msgid "All"
258+msgstr "Todo"
259+
252−#: Shell.qml:429
260+#: Shell.qml:453
253#, qt-format
261#, qt-format
254msgid "Please enter %1"
262msgid "Please enter %1"
255−msgstr ""
263+msgstr "Introduza %1"
po/he.po+79−73
@@ -7,127 +7,129 @@ 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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11−"PO-Revision-Date: 2013-06-27 03:54+0000\n"
11+"PO-Revision-Date: 2013-10-01 09:19+0000\n"
12−"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
12+"Last-Translator: Yaron <sh.yaron@gmail.com>\n"
13"Language-Team: Hebrew <he@li.org>\n"
13"Language-Team: Hebrew <he@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19−"X-Generator: Launchpad (build 16750)\n"
19+"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
23−msgstr ""
23+msgstr "טלפון"
24
24
25#: Applications/applications.js:29
25#: Applications/applications.js:29
26msgid "Camera"
26msgid "Camera"
27−msgstr ""
27+msgstr "מצלמה"
28
28
29#: Applications/applications.js:35
29#: Applications/applications.js:35
30msgid "Gallery"
30msgid "Gallery"
31−msgstr ""
31+msgstr "גלריה"
32
32
33#: Applications/applications.js:40
33#: Applications/applications.js:40
34msgid "Facebook"
34msgid "Facebook"
35−msgstr ""
35+msgstr "Facebook"
36
36
37#: Applications/applications.js:46
37#: Applications/applications.js:46
38msgid "Browser"
38msgid "Browser"
39−msgstr ""
39+msgstr "דפדפן"
40
40
41#: Applications/applications.js:51
41#: Applications/applications.js:51
42msgid "Twitter"
42msgid "Twitter"
43−msgstr ""
43+msgstr "Twitter"
44
44
45#: Applications/applications.js:57
45#: Applications/applications.js:57
46msgid "GMail"
46msgid "GMail"
47−msgstr ""
47+msgstr "GMail"
48
48
49#: Applications/applications.js:62
49#: Applications/applications.js:62
50msgid "Weather"
50msgid "Weather"
51−msgstr ""
51+msgstr "מזג אוויר"
52
52
53#: Applications/applications.js:68
53#: Applications/applications.js:68
54msgid "Notepad"
54msgid "Notepad"
55−msgstr ""
55+msgstr "פנקס רשימות"
56
56
57#: Applications/applications.js:74
57#: Applications/applications.js:74
58msgid "Calendar"
58msgid "Calendar"
59−msgstr ""
59+msgstr "לוח שנה"
60
60
61#: Applications/applications.js:80
61#: Applications/applications.js:80
62msgid "Media Player"
62msgid "Media Player"
63−msgstr ""
63+msgstr "נגן מדיה"
64
64
65#: Applications/applications.js:86
65#: Applications/applications.js:86
66msgid "Evernote"
66msgid "Evernote"
67−msgstr ""
67+msgstr "Evernote"
68
68
69#: Applications/applications.js:91
69#: Applications/applications.js:91
70msgid "Map"
70msgid "Map"
71−msgstr ""
71+msgstr "מפה"
72
72
73#: Applications/applications.js:96
73#: Applications/applications.js:96
74msgid "Pinterest"
74msgid "Pinterest"
75−msgstr ""
75+msgstr "Pinterest"
76
76
77#: Applications/applications.js:101
77#: Applications/applications.js:101
78msgid "SoundCloud"
78msgid "SoundCloud"
79−msgstr ""
79+msgstr "SoundCloud"
80
80
81#: Applications/applications.js:106
81#: Applications/applications.js:106
82msgid "Wikipedia"
82msgid "Wikipedia"
83−msgstr ""
83+msgstr "ויקיפדיה"
84
84
85#: Applications/applications.js:111
85#: Applications/applications.js:111
86msgid "YouTube"
86msgid "YouTube"
87−msgstr ""
87+msgstr "YouTube"
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91−msgstr ""
91+msgstr "לדלג על הפתיחה"
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95−msgstr ""
95+msgstr "שול ימני"
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99−msgstr ""
99+msgstr "נא לנסות למשוך מהשול הימני כדי לשחרר את נעילת הטלפון"
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103−msgstr ""
103+msgstr "השול העליון"
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107−msgstr ""
107+msgstr "נא לנסות למשוך מהשול העליון כדי לגשת למחוונים"
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111−msgstr ""
111+msgstr "סגירה"
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115−msgstr ""
115+msgstr "ניתן למשוך שוב כדי לסגור את מסך ההגדרות"
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119−msgstr ""
119+msgstr "שול שמאלי"
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123−msgstr ""
123+msgstr "יש למשוך משמאל כדי לחשוף את המשגר לצורך גישה מהירה ליישומים"
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127−msgstr ""
127+msgstr "כל הכבוד"
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
131msgstr ""
133msgstr ""
132
134
133#: Components/PageHeader.qml:298
135#: Components/PageHeader.qml:298
@@ -138,51 +140,51 @@ msgstr "חיפושים אחרונים"
138#: Dash/Apps/AppInfo.qml:73
140#: Dash/Apps/AppInfo.qml:73
139#, qt-format
141#, qt-format
140msgid "(%1)"
142msgid "(%1)"
141−msgstr ""
143+msgstr "(%1)"
142
144
143#. TRANSLATORS: Number of persons who wrote reviews for this app
145#. TRANSLATORS: Number of persons who wrote reviews for this app
144#: Dash/Apps/AppInfo.qml:85
146#: Dash/Apps/AppInfo.qml:85
145#, qt-format
147#, qt-format
146msgid "%1 review"
148msgid "%1 review"
147msgid_plural "%1 reviews"
149msgid_plural "%1 reviews"
148−msgstr[0] ""
150+msgstr[0] "סקירה %1"
149−msgstr[1] ""
151+msgstr[1] "%1 סקירות"
150
152
151−#: Dash/Apps/AppPreview.qml:175
153+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
154msgid "Rate this"
153−msgstr ""
155+msgstr "דירוג היישום"
154
156
155−#: Dash/Apps/AppReviews.qml:72
157+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
158msgid "Add a review"
157−msgstr ""
159+msgstr "הוספת סקירה"
158
160
159−#: Dash/Apps/AppReviews.qml:84
161+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
162msgid "Review"
161−msgstr ""
163+msgstr "סקירה"
162
164
163−#: Dash/Apps/AppReviews.qml:118
165+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
166msgid "Send"
165−msgstr ""
167+msgstr "שליחה"
166
168
167−#: Dash/Apps/AppReviews.qml:136
169+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
170msgid "Comments:"
169−msgstr ""
171+msgstr "הערות:"
170
172
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
173#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
172msgid "Featured"
174msgid "Featured"
173−msgstr ""
175+msgstr "מומלצים"
174
176
175#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
177#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
176msgid "Recent"
178msgid "Recent"
177−msgstr ""
179+msgstr "אחרונים"
178
180
179#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
181#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
180msgid "New Releases"
182msgid "New Releases"
181−msgstr ""
183+msgstr "מהדורות חדשות"
182
184
183#: Dash/DashMusic.qml:30
185#: Dash/DashMusic.qml:30
184msgid "Top Charting"
186msgid "Top Charting"
185−msgstr ""
187+msgstr "בראש הטבלה"
186
188
187#: Dash/DashMusic.qml:91
189#: Dash/DashMusic.qml:91
188msgid "Music"
190msgid "Music"
@@ -190,7 +192,7 @@ msgstr "מוזיקה"
190
192
191#: Dash/DashVideos.qml:31
193#: Dash/DashVideos.qml:31
192msgid "Popular Online"
194msgid "Popular Online"
193−msgstr ""
195+msgstr "פופולריים ברחבי הרשת"
194
196
195#: Dash/DashVideos.qml:146
197#: Dash/DashVideos.qml:146
196msgid "Videos"
198msgid "Videos"
@@ -198,28 +200,28 @@ msgstr "סרטונים"
198
200
199#: Dash/Video/VideoPreview.qml:130
201#: Dash/Video/VideoPreview.qml:130
200msgid "Directed by:"
202msgid "Directed by:"
201−msgstr ""
203+msgstr "בוים ע״י:"
202
204
203#: Dash/Video/VideoPreview.qml:153
205#: Dash/Video/VideoPreview.qml:153
204msgid "Starring:"
206msgid "Starring:"
205−msgstr ""
207+msgstr "בכיכוב:"
206
208
207#: Dash/Video/VideoPreview.qml:176
209#: Dash/Video/VideoPreview.qml:176
208msgid "Author:"
210msgid "Author:"
209−msgstr ""
211+msgstr "יוצר:"
210
212
211−#: Greeter/Lockscreen.qml:134
213+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
214msgid "Emergency Call"
213−msgstr ""
215+msgstr "שיחת חירום"
214
216
215#: Greeter/PassphraseLockscreen.qml:59
217#: Greeter/PassphraseLockscreen.qml:59
216#, qt-format
218#, qt-format
217msgid "Hello %1"
219msgid "Hello %1"
218−msgstr ""
220+msgstr "שלום %1"
219
221
220#: Greeter/PassphraseLockscreen.qml:59
222#: Greeter/PassphraseLockscreen.qml:59
221msgid "Hello"
223msgid "Hello"
222−msgstr ""
224+msgstr "שלום"
223
225
224#: Hud/HudParametrizedActionsPage.qml:132
226#: Hud/HudParametrizedActionsPage.qml:132
225msgid "Confirm"
227msgid "Confirm"
@@ -239,17 +241,21 @@ msgstr "יש לדבר כעת..."
239
241
240#: Hud/Hud.qml:94
242#: Hud/Hud.qml:94
241msgid "Speaking..."
243msgid "Speaking..."
242−msgstr "מושמע דיבור..."
244+msgstr "הדיבור מושמע…"
243
245
244#: Panel/SearchIndicator.qml:27
246#: Panel/SearchIndicator.qml:27
245msgid "Search"
247msgid "Search"
246msgstr "חיפוש"
248msgstr "חיפוש"
247
249
248−#: plugins/Unity/scope.cpp:317
250+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
251msgid "Sorry, there is nothing that matches your search."
250msgstr "שום דבר אינו תואם לחיפוש שלך, עמך הסליחה."
252msgstr "שום דבר אינו תואם לחיפוש שלך, עמך הסליחה."
251
253
254+#: plugins/Unity/showallfilteroption.cpp:41
255+msgid "All"
256+msgstr ""
257+
252−#: Shell.qml:429
258+#: Shell.qml:453
253#, qt-format
259#, qt-format
254msgid "Please enter %1"
260msgid "Please enter %1"
255−msgstr ""
261+msgstr "נא להזין %1"
po/hr.po+29−23
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11"PO-Revision-Date: 2013-06-27 04:14+0000\n"
11"PO-Revision-Date: 2013-06-27 04:14+0000\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
13"Language-Team: Croatian <hr@li.org>\n"
13"Language-Team: Croatian <hr@li.org>\n"
@@ -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-30 05:37+0000\n"
19+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
20−"X-Generator: Launchpad (build 16750)\n"
20+"X-Generator: Launchpad (build 16774)\n"
21
21
22#: Applications/applications.js:23
22#: Applications/applications.js:23
23msgid "Phone"
23msgid "Phone"
@@ -87,48 +87,50 @@ msgstr ""
87msgid "YouTube"
87msgid "YouTube"
88msgstr ""
88msgstr ""
89
89
90−#: Components/EdgeDemoOverlay.qml:145
90+#: Components/EdgeDemoOverlay.qml:150
91msgid "Skip intro"
91msgid "Skip intro"
92msgstr ""
92msgstr ""
93
93
94−#: Components/EdgeDemo.qml:98
94+#: Components/EdgeDemo.qml:112
95msgid "Right edge"
95msgid "Right edge"
96msgstr ""
96msgstr ""
97
97
98−#: Components/EdgeDemo.qml:99
98+#: Components/EdgeDemo.qml:113
99msgid "Try swiping from the right edge to unlock the phone"
99msgid "Try swiping from the right edge to unlock the phone"
100msgstr ""
100msgstr ""
101
101
102−#: Components/EdgeDemo.qml:135
102+#: Components/EdgeDemo.qml:144
103msgid "Top edge"
103msgid "Top edge"
104msgstr ""
104msgstr ""
105
105
106−#: Components/EdgeDemo.qml:136
106+#: Components/EdgeDemo.qml:145
107msgid "Try swiping from the top edge to access the indicators"
107msgid "Try swiping from the top edge to access the indicators"
108msgstr ""
108msgstr ""
109
109
110−#: Components/EdgeDemo.qml:161
110+#: Components/EdgeDemo.qml:170
111msgid "Close"
111msgid "Close"
112msgstr ""
112msgstr ""
113
113
114−#: Components/EdgeDemo.qml:162
114+#: Components/EdgeDemo.qml:171
115msgid "Swipe up again to close the settings screen"
115msgid "Swipe up again to close the settings screen"
116msgstr ""
116msgstr ""
117
117
118−#: Components/EdgeDemo.qml:189
118+#: Components/EdgeDemo.qml:198
119msgid "Left edge"
119msgid "Left edge"
120msgstr ""
120msgstr ""
121
121
122−#: Components/EdgeDemo.qml:190
122+#: Components/EdgeDemo.qml:199
123msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgid "Swipe from the left to reveal the launcher for quick access to apps"
124msgstr ""
124msgstr ""
125
125
126−#: Components/EdgeDemo.qml:217
126+#: Components/EdgeDemo.qml:226
127msgid "Well done"
127msgid "Well done"
128msgstr ""
128msgstr ""
129
129
130−#: Components/EdgeDemo.qml:218
130+#: Components/EdgeDemo.qml:227
131+msgid ""
131−msgid "You have now mastered the edge gestures and can start using the phone"
132+"You have now mastered the edge gestures and can start using the "
133+"phone<br><br>Tap anywhere to start"
132msgstr ""
134msgstr ""
133
135
134#: Components/PageHeader.qml:298
136#: Components/PageHeader.qml:298
@@ -149,23 +151,23 @@ msgid_plural "%1 reviews"
149msgstr[0] ""
151msgstr[0] ""
150msgstr[1] ""
152msgstr[1] ""
151
153
152−#: Dash/Apps/AppPreview.qml:175
154+#: Dash/Apps/AppPreview.qml:178
153msgid "Rate this"
155msgid "Rate this"
154msgstr ""
156msgstr ""
155
157
156−#: Dash/Apps/AppReviews.qml:72
158+#: Dash/Apps/AppReviews.qml:74
157msgid "Add a review"
159msgid "Add a review"
158msgstr ""
160msgstr ""
159
161
160−#: Dash/Apps/AppReviews.qml:84
162+#: Dash/Apps/AppReviews.qml:86
161msgid "Review"
163msgid "Review"
162msgstr ""
164msgstr ""
163
165
164−#: Dash/Apps/AppReviews.qml:118
166+#: Dash/Apps/AppReviews.qml:121
165msgid "Send"
167msgid "Send"
166msgstr ""
168msgstr ""
167
169
168−#: Dash/Apps/AppReviews.qml:136
170+#: Dash/Apps/AppReviews.qml:139
169msgid "Comments:"
171msgid "Comments:"
170msgstr ""
172msgstr ""
171
173
@@ -209,7 +211,7 @@ msgstr ""
209msgid "Author:"
211msgid "Author:"
210msgstr ""
212msgstr ""
211
213
212−#: Greeter/Lockscreen.qml:134
214+#: Greeter/Lockscreen.qml:142
213msgid "Emergency Call"
215msgid "Emergency Call"
214msgstr ""
216msgstr ""
215
217
@@ -246,11 +248,15 @@ msgstr "Govor..."
246msgid "Search"
248msgid "Search"
247msgstr "Pretraživanje"
249msgstr "Pretraživanje"
248
250
249−#: plugins/Unity/scope.cpp:317
251+#: plugins/Unity/scope.cpp:336
250msgid "Sorry, there is nothing that matches your search."
252msgid "Sorry, there is nothing that matches your search."
251msgstr "Nažalost, ne postoji ništa što odgovara vašoj pretrazi."
253msgstr "Nažalost, ne postoji ništa što odgovara vašoj pretrazi."
252
254
255+#: plugins/Unity/showallfilteroption.cpp:41
256+msgid "All"
257+msgstr ""
258+
253−#: Shell.qml:429
259+#: Shell.qml:453
254#, qt-format
260#, qt-format
255msgid "Please enter %1"
261msgid "Please enter %1"
256msgstr ""
262msgstr ""
po/hu.po+29−23
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\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-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19−"X-Generator: Launchpad (build 16750)\n"
19+"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,48 +86,50 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr ""
91msgstr ""
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr ""
95msgstr ""
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr ""
99msgstr ""
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr ""
103msgstr ""
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr ""
107msgstr ""
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr ""
111msgstr ""
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr ""
115msgstr ""
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr ""
119msgstr ""
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr ""
123msgstr ""
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127msgstr ""
127msgstr ""
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
131msgstr ""
133msgstr ""
132
134
133#: Components/PageHeader.qml:298
135#: Components/PageHeader.qml:298
@@ -148,23 +150,23 @@ msgid_plural "%1 reviews"
148msgstr[0] ""
150msgstr[0] ""
149msgstr[1] ""
151msgstr[1] ""
150
152
151−#: Dash/Apps/AppPreview.qml:175
153+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
154msgid "Rate this"
153msgstr ""
155msgstr ""
154
156
155−#: Dash/Apps/AppReviews.qml:72
157+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
158msgid "Add a review"
157msgstr ""
159msgstr ""
158
160
159−#: Dash/Apps/AppReviews.qml:84
161+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
162msgid "Review"
161msgstr ""
163msgstr ""
162
164
163−#: Dash/Apps/AppReviews.qml:118
165+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
166msgid "Send"
165msgstr ""
167msgstr ""
166
168
167−#: Dash/Apps/AppReviews.qml:136
169+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
170msgid "Comments:"
169msgstr ""
171msgstr ""
170
172
@@ -208,7 +210,7 @@ msgstr ""
208msgid "Author:"
210msgid "Author:"
209msgstr ""
211msgstr ""
210
212
211−#: Greeter/Lockscreen.qml:134
213+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
214msgid "Emergency Call"
213msgstr ""
215msgstr ""
214
216
@@ -245,11 +247,15 @@ msgstr "Beszéd…"
245msgid "Search"
247msgid "Search"
246msgstr "Keresés"
248msgstr "Keresés"
247
249
248−#: plugins/Unity/scope.cpp:317
250+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
251msgid "Sorry, there is nothing that matches your search."
250msgstr "Elnézést, nincs találat a keresésre."
252msgstr "Elnézést, nincs találat a keresésre."
251
253
254+#: plugins/Unity/showallfilteroption.cpp:41
255+msgid "All"
256+msgstr ""
257+
252−#: Shell.qml:429
258+#: Shell.qml:453
253#, qt-format
259#, qt-format
254msgid "Please enter %1"
260msgid "Please enter %1"
255msgstr ""
261msgstr ""
po/hy.po+29−23
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11"PO-Revision-Date: 2013-06-27 04:43+0000\n"
11"PO-Revision-Date: 2013-06-27 04:43+0000\n"
12"Last-Translator: iAbaS <sosabazyan@yandex.ru>\n"
12"Last-Translator: iAbaS <sosabazyan@yandex.ru>\n"
13"Language-Team: Armenian <hy@li.org>\n"
13"Language-Team: Armenian <hy@li.org>\n"
@@ -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-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19−"X-Generator: Launchpad (build 16750)\n"
19+"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,48 +86,50 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr ""
91msgstr ""
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr ""
95msgstr ""
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr ""
99msgstr ""
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr ""
103msgstr ""
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr ""
107msgstr ""
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr ""
111msgstr ""
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr ""
115msgstr ""
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr ""
119msgstr ""
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr ""
123msgstr ""
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127msgstr ""
127msgstr ""
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
131msgstr ""
133msgstr ""
132
134
133#: Components/PageHeader.qml:298
135#: Components/PageHeader.qml:298
@@ -148,23 +150,23 @@ msgid_plural "%1 reviews"
148msgstr[0] ""
150msgstr[0] ""
149msgstr[1] ""
151msgstr[1] ""
150
152
151−#: Dash/Apps/AppPreview.qml:175
153+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
154msgid "Rate this"
153msgstr ""
155msgstr ""
154
156
155−#: Dash/Apps/AppReviews.qml:72
157+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
158msgid "Add a review"
157msgstr ""
159msgstr ""
158
160
159−#: Dash/Apps/AppReviews.qml:84
161+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
162msgid "Review"
161msgstr ""
163msgstr ""
162
164
163−#: Dash/Apps/AppReviews.qml:118
165+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
166msgid "Send"
165msgstr ""
167msgstr ""
166
168
167−#: Dash/Apps/AppReviews.qml:136
169+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
170msgid "Comments:"
169msgstr ""
171msgstr ""
170
172
@@ -208,7 +210,7 @@ msgstr ""
208msgid "Author:"
210msgid "Author:"
209msgstr ""
211msgstr ""
210
212
211−#: Greeter/Lockscreen.qml:134
213+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
214msgid "Emergency Call"
213msgstr ""
215msgstr ""
214
216
@@ -245,11 +247,15 @@ msgstr "Խոսում եմ..."
245msgid "Search"
247msgid "Search"
246msgstr "Որոնում"
248msgstr "Որոնում"
247
249
248−#: plugins/Unity/scope.cpp:317
250+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
251msgid "Sorry, there is nothing that matches your search."
250msgstr "Կներերք, բայց Ձեր հարցումով ոչինչ չկար"
252msgstr "Կներերք, բայց Ձեր հարցումով ոչինչ չկար"
251
253
254+#: plugins/Unity/showallfilteroption.cpp:41
255+msgid "All"
256+msgstr ""
257+
252−#: Shell.qml:429
258+#: Shell.qml:453
253#, qt-format
259#, qt-format
254msgid "Please enter %1"
260msgid "Please enter %1"
255msgstr ""
261msgstr ""
po/id.po+29−23
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11"PO-Revision-Date: 2013-06-26 22:35+0000\n"
11"PO-Revision-Date: 2013-06-26 22:35+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Indonesian <id@li.org>\n"
13"Language-Team: Indonesian <id@li.org>\n"
@@ -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-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19−"X-Generator: Launchpad (build 16750)\n"
19+"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,48 +86,50 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr ""
91msgstr ""
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr ""
95msgstr ""
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr ""
99msgstr ""
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr ""
103msgstr ""
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr ""
107msgstr ""
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr ""
111msgstr ""
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr ""
115msgstr ""
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr ""
119msgstr ""
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr ""
123msgstr ""
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127msgstr ""
127msgstr ""
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
131msgstr ""
133msgstr ""
132
134
133#: Components/PageHeader.qml:298
135#: Components/PageHeader.qml:298
@@ -148,23 +150,23 @@ msgid_plural "%1 reviews"
148msgstr[0] ""
150msgstr[0] ""
149msgstr[1] ""
151msgstr[1] ""
150
152
151−#: Dash/Apps/AppPreview.qml:175
153+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
154msgid "Rate this"
153msgstr ""
155msgstr ""
154
156
155−#: Dash/Apps/AppReviews.qml:72
157+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
158msgid "Add a review"
157msgstr ""
159msgstr ""
158
160
159−#: Dash/Apps/AppReviews.qml:84
161+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
162msgid "Review"
161msgstr ""
163msgstr ""
162
164
163−#: Dash/Apps/AppReviews.qml:118
165+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
166msgid "Send"
165msgstr ""
167msgstr ""
166
168
167−#: Dash/Apps/AppReviews.qml:136
169+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
170msgid "Comments:"
169msgstr ""
171msgstr ""
170
172
@@ -208,7 +210,7 @@ msgstr ""
208msgid "Author:"
210msgid "Author:"
209msgstr ""
211msgstr ""
210
212
211−#: Greeter/Lockscreen.qml:134
213+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
214msgid "Emergency Call"
213msgstr ""
215msgstr ""
214
216
@@ -245,11 +247,15 @@ msgstr ""
245msgid "Search"
247msgid "Search"
246msgstr ""
248msgstr ""
247
249
248−#: plugins/Unity/scope.cpp:317
250+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
251msgid "Sorry, there is nothing that matches your search."
250msgstr ""
252msgstr ""
251
253
254+#: plugins/Unity/showallfilteroption.cpp:41
255+msgid "All"
256+msgstr ""
257+
252−#: Shell.qml:429
258+#: Shell.qml:453
253#, qt-format
259#, qt-format
254msgid "Please enter %1"
260msgid "Please enter %1"
255msgstr ""
261msgstr ""
po/is.po+29−23
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11"PO-Revision-Date: 2013-09-18 16:22+0000\n"
11"PO-Revision-Date: 2013-09-18 16:22+0000\n"
12"Last-Translator: Andri Thorlacius <Unknown>\n"
12"Last-Translator: Andri Thorlacius <Unknown>\n"
13"Language-Team: Icelandic <is@li.org>\n"
13"Language-Team: Icelandic <is@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-09-19 05:14+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19−"X-Generator: Launchpad (build 16765)\n"
19+"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,49 +86,51 @@ msgstr "Wikipedia"
86msgid "YouTube"
86msgid "YouTube"
87msgstr "YouTube"
87msgstr "YouTube"
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr "Hoppa yfir kynningu"
91msgstr "Hoppa yfir kynningu"
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr "Hægri brún"
95msgstr "Hægri brún"
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr ""
99msgstr ""
100"Prufaðu að renna puttanum frá hægri brúninni til að aflæsa símanum þínum."
100"Prufaðu að renna puttanum frá hægri brúninni til að aflæsa símanum þínum."
101
101
102−#: Components/EdgeDemo.qml:135
102+#: Components/EdgeDemo.qml:144
103msgid "Top edge"
103msgid "Top edge"
104msgstr "Efri brún"
104msgstr "Efri brún"
105
105
106−#: Components/EdgeDemo.qml:136
106+#: Components/EdgeDemo.qml:145
107msgid "Try swiping from the top edge to access the indicators"
107msgid "Try swiping from the top edge to access the indicators"
108msgstr ""
108msgstr ""
109
109
110−#: Components/EdgeDemo.qml:161
110+#: Components/EdgeDemo.qml:170
111msgid "Close"
111msgid "Close"
112msgstr "Loka"
112msgstr "Loka"
113
113
114−#: Components/EdgeDemo.qml:162
114+#: Components/EdgeDemo.qml:171
115msgid "Swipe up again to close the settings screen"
115msgid "Swipe up again to close the settings screen"
116msgstr ""
116msgstr ""
117
117
118−#: Components/EdgeDemo.qml:189
118+#: Components/EdgeDemo.qml:198
119msgid "Left edge"
119msgid "Left edge"
120msgstr "Vinstri brún"
120msgstr "Vinstri brún"
121
121
122−#: Components/EdgeDemo.qml:190
122+#: Components/EdgeDemo.qml:199
123msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgid "Swipe from the left to reveal the launcher for quick access to apps"
124msgstr ""
124msgstr ""
125
125
126−#: Components/EdgeDemo.qml:217
126+#: Components/EdgeDemo.qml:226
127msgid "Well done"
127msgid "Well done"
128msgstr "Vel gert"
128msgstr "Vel gert"
129
129
130−#: Components/EdgeDemo.qml:218
130+#: Components/EdgeDemo.qml:227
131+msgid ""
131−msgid "You have now mastered the edge gestures and can start using the phone"
132+"You have now mastered the edge gestures and can start using the "
133+"phone<br><br>Tap anywhere to start"
132msgstr ""
134msgstr ""
133
135
134#: Components/PageHeader.qml:298
136#: Components/PageHeader.qml:298
@@ -149,23 +151,23 @@ msgid_plural "%1 reviews"
149msgstr[0] "%1 ummæli"
151msgstr[0] "%1 ummæli"
150msgstr[1] "%1 ummæli"
152msgstr[1] "%1 ummæli"
151
153
152−#: Dash/Apps/AppPreview.qml:175
154+#: Dash/Apps/AppPreview.qml:178
153msgid "Rate this"
155msgid "Rate this"
154msgstr "Gefa þessu einkunn"
156msgstr "Gefa þessu einkunn"
155
157
156−#: Dash/Apps/AppReviews.qml:72
158+#: Dash/Apps/AppReviews.qml:74
157msgid "Add a review"
159msgid "Add a review"
158msgstr "Gefa umsögn"
160msgstr "Gefa umsögn"
159
161
160−#: Dash/Apps/AppReviews.qml:84
162+#: Dash/Apps/AppReviews.qml:86
161msgid "Review"
163msgid "Review"
162msgstr "Umsögn"
164msgstr "Umsögn"
163
165
164−#: Dash/Apps/AppReviews.qml:118
166+#: Dash/Apps/AppReviews.qml:121
165msgid "Send"
167msgid "Send"
166msgstr "Senda"
168msgstr "Senda"
167
169
168−#: Dash/Apps/AppReviews.qml:136
170+#: Dash/Apps/AppReviews.qml:139
169msgid "Comments:"
171msgid "Comments:"
170msgstr "Athugasemdir:"
172msgstr "Athugasemdir:"
171
173
@@ -209,7 +211,7 @@ msgstr "Meðal leikara eru:"
209msgid "Author:"
211msgid "Author:"
210msgstr "Höfundur:"
212msgstr "Höfundur:"
211
213
212−#: Greeter/Lockscreen.qml:134
214+#: Greeter/Lockscreen.qml:142
213msgid "Emergency Call"
215msgid "Emergency Call"
214msgstr "Neyðarsímtal"
216msgstr "Neyðarsímtal"
215
217
@@ -246,11 +248,15 @@ msgstr "Tala..."
246msgid "Search"
248msgid "Search"
247msgstr "Leita"
249msgstr "Leita"
248
250
249−#: plugins/Unity/scope.cpp:317
251+#: plugins/Unity/scope.cpp:336
250msgid "Sorry, there is nothing that matches your search."
252msgid "Sorry, there is nothing that matches your search."
251msgstr "Því miður, það var ekkert sem passaði við leitarorðið þitt."
253msgstr "Því miður, það var ekkert sem passaði við leitarorðið þitt."
252
254
255+#: plugins/Unity/showallfilteroption.cpp:41
256+msgid "All"
257+msgstr ""
258+
253−#: Shell.qml:429
259+#: Shell.qml:453
254#, qt-format
260#, qt-format
255msgid "Please enter %1"
261msgid "Please enter %1"
256msgstr ""
262msgstr ""
po/it.po+28−24
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11"PO-Revision-Date: 2013-09-28 10:05+0000\n"
11"PO-Revision-Date: 2013-09-28 10:05+0000\n"
12"Last-Translator: Claudio Arseni <claudio.arseni@gmail.com>\n"
12"Last-Translator: Claudio Arseni <claudio.arseni@gmail.com>\n"
13"Language-Team: Italian <it@li.org>\n"
13"Language-Team: Italian <it@li.org>\n"
@@ -15,7 +15,7 @@ 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-09-29 06:18+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19"X-Generator: Launchpad (build 16774)\n"
19"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -86,56 +86,56 @@ msgstr "Wikipedia"
86msgid "YouTube"
86msgid "YouTube"
87msgstr "YouTube"
87msgstr "YouTube"
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr "Salta introduzione"
91msgstr "Salta introduzione"
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr "Bordo destro"
95msgstr "Bordo destro"
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr "Provare a far scorrere dal bordo destro per sbloccare il telefono"
99msgstr "Provare a far scorrere dal bordo destro per sbloccare il telefono"
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr "Bordo superiore"
103msgstr "Bordo superiore"
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr ""
107msgstr ""
108"Provare a far scorrere dal bordo in alto per accedere agli indicatori"
108"Provare a far scorrere dal bordo in alto per accedere agli indicatori"
109
109
110−#: Components/EdgeDemo.qml:161
110+#: Components/EdgeDemo.qml:170
111msgid "Close"
111msgid "Close"
112msgstr "Chiudi"
112msgstr "Chiudi"
113
113
114−#: Components/EdgeDemo.qml:162
114+#: Components/EdgeDemo.qml:171
115msgid "Swipe up again to close the settings screen"
115msgid "Swipe up again to close the settings screen"
116msgstr ""
116msgstr ""
117"Far scorrere verso l'alto nuovamente per chiudere la schermata delle "
117"Far scorrere verso l'alto nuovamente per chiudere la schermata delle "
118"impostazioni"
118"impostazioni"
119
119
120−#: Components/EdgeDemo.qml:189
120+#: Components/EdgeDemo.qml:198
121msgid "Left edge"
121msgid "Left edge"
122msgstr "Bordo sinistro"
122msgstr "Bordo sinistro"
123
123
124−#: Components/EdgeDemo.qml:190
124+#: Components/EdgeDemo.qml:199
125msgid "Swipe from the left to reveal the launcher for quick access to apps"
125msgid "Swipe from the left to reveal the launcher for quick access to apps"
126msgstr ""
126msgstr ""
127"Far scorrere il bordo sinistro per mostrare il Launcher e avere un rapido "
127"Far scorrere il bordo sinistro per mostrare il Launcher e avere un rapido "
128"accesso alle applicazioni"
128"accesso alle applicazioni"
129
129
130−#: Components/EdgeDemo.qml:217
130+#: Components/EdgeDemo.qml:226
131msgid "Well done"
131msgid "Well done"
132msgstr "Ben fatto"
132msgstr "Ben fatto"
133
133
134−#: Components/EdgeDemo.qml:218
134+#: Components/EdgeDemo.qml:227
135+msgid ""
135−msgid "You have now mastered the edge gestures and can start using the phone"
136+"You have now mastered the edge gestures and can start using the "
137+"phone<br><br>Tap anywhere to start"
136msgstr ""
138msgstr ""
137−"I gesti sui bordi dello schermo sono ora configurato ed è possibile usare il "
138−"telefono"
139
139
140#: Components/PageHeader.qml:298
140#: Components/PageHeader.qml:298
141msgid "Recent searches"
141msgid "Recent searches"
@@ -155,23 +155,23 @@ msgid_plural "%1 reviews"
155msgstr[0] "%1 recensione"
155msgstr[0] "%1 recensione"
156msgstr[1] "%1 recensioni"
156msgstr[1] "%1 recensioni"
157
157
158−#: Dash/Apps/AppPreview.qml:175
158+#: Dash/Apps/AppPreview.qml:178
159msgid "Rate this"
159msgid "Rate this"
160msgstr "Valuta"
160msgstr "Valuta"
161
161
162−#: Dash/Apps/AppReviews.qml:72
162+#: Dash/Apps/AppReviews.qml:74
163msgid "Add a review"
163msgid "Add a review"
164msgstr "Aggiungi una recensione"
164msgstr "Aggiungi una recensione"
165
165
166−#: Dash/Apps/AppReviews.qml:84
166+#: Dash/Apps/AppReviews.qml:86
167msgid "Review"
167msgid "Review"
168msgstr "Recensisci"
168msgstr "Recensisci"
169
169
170−#: Dash/Apps/AppReviews.qml:118
170+#: Dash/Apps/AppReviews.qml:121
171msgid "Send"
171msgid "Send"
172msgstr "Invia"
172msgstr "Invia"
173
173
174−#: Dash/Apps/AppReviews.qml:136
174+#: Dash/Apps/AppReviews.qml:139
175msgid "Comments:"
175msgid "Comments:"
176msgstr "Commenti:"
176msgstr "Commenti:"
177
177
@@ -215,7 +215,7 @@ msgstr "Valutazioni:"
215msgid "Author:"
215msgid "Author:"
216msgstr "Autore:"
216msgstr "Autore:"
217
217
218−#: Greeter/Lockscreen.qml:134
218+#: Greeter/Lockscreen.qml:142
219msgid "Emergency Call"
219msgid "Emergency Call"
220msgstr "Chiamata di emergenza"
220msgstr "Chiamata di emergenza"
221
221
@@ -252,11 +252,15 @@ msgstr "Sto parlando..."
252msgid "Search"
252msgid "Search"
253msgstr "Cerca"
253msgstr "Cerca"
254
254
255−#: plugins/Unity/scope.cpp:317
255+#: plugins/Unity/scope.cpp:336
256msgid "Sorry, there is nothing that matches your search."
256msgid "Sorry, there is nothing that matches your search."
257msgstr "Nessun risultato corrispondente alla ricerca."
257msgstr "Nessun risultato corrispondente alla ricerca."
258
258
259+#: plugins/Unity/showallfilteroption.cpp:41
260+msgid "All"
261+msgstr ""
262+
259−#: Shell.qml:429
263+#: Shell.qml:453
260#, qt-format
264#, qt-format
261msgid "Please enter %1"
265msgid "Please enter %1"
262msgstr "Inserire %1"
266msgstr "Inserire %1"
po/ja.po+29−23
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11"PO-Revision-Date: 2013-06-26 22:36+0000\n"
11"PO-Revision-Date: 2013-06-26 22:36+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: 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-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19−"X-Generator: Launchpad (build 16750)\n"
19+"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,48 +86,50 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr ""
91msgstr ""
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr ""
95msgstr ""
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr ""
99msgstr ""
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr ""
103msgstr ""
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr ""
107msgstr ""
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr ""
111msgstr ""
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr ""
115msgstr ""
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr ""
119msgstr ""
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr ""
123msgstr ""
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127msgstr ""
127msgstr ""
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
131msgstr ""
133msgstr ""
132
134
133#: Components/PageHeader.qml:298
135#: Components/PageHeader.qml:298
@@ -148,23 +150,23 @@ msgid_plural "%1 reviews"
148msgstr[0] ""
150msgstr[0] ""
149msgstr[1] ""
151msgstr[1] ""
150
152
151−#: Dash/Apps/AppPreview.qml:175
153+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
154msgid "Rate this"
153msgstr ""
155msgstr ""
154
156
155−#: Dash/Apps/AppReviews.qml:72
157+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
158msgid "Add a review"
157msgstr ""
159msgstr ""
158
160
159−#: Dash/Apps/AppReviews.qml:84
161+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
162msgid "Review"
161msgstr ""
163msgstr ""
162
164
163−#: Dash/Apps/AppReviews.qml:118
165+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
166msgid "Send"
165msgstr ""
167msgstr ""
166
168
167−#: Dash/Apps/AppReviews.qml:136
169+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
170msgid "Comments:"
169msgstr ""
171msgstr ""
170
172
@@ -208,7 +210,7 @@ msgstr ""
208msgid "Author:"
210msgid "Author:"
209msgstr ""
211msgstr ""
210
212
211−#: Greeter/Lockscreen.qml:134
213+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
214msgid "Emergency Call"
213msgstr ""
215msgstr ""
214
216
@@ -245,11 +247,15 @@ msgstr ""
245msgid "Search"
247msgid "Search"
246msgstr ""
248msgstr ""
247
249
248−#: plugins/Unity/scope.cpp:317
250+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
251msgid "Sorry, there is nothing that matches your search."
250msgstr ""
252msgstr ""
251
253
254+#: plugins/Unity/showallfilteroption.cpp:41
255+msgid "All"
256+msgstr ""
257+
252−#: Shell.qml:429
258+#: Shell.qml:453
253#, qt-format
259#, qt-format
254msgid "Please enter %1"
260msgid "Please enter %1"
255msgstr ""
261msgstr ""
po/kn.po+29−23
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11"PO-Revision-Date: 2013-06-27 05:43+0000\n"
11"PO-Revision-Date: 2013-06-27 05:43+0000\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
13"Language-Team: Kannada <kn@li.org>\n"
13"Language-Team: Kannada <kn@li.org>\n"
@@ -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-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19−"X-Generator: Launchpad (build 16750)\n"
19+"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,48 +86,50 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr ""
91msgstr ""
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr ""
95msgstr ""
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr ""
99msgstr ""
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr ""
103msgstr ""
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr ""
107msgstr ""
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr ""
111msgstr ""
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr ""
115msgstr ""
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr ""
119msgstr ""
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr ""
123msgstr ""
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127msgstr ""
127msgstr ""
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
131msgstr ""
133msgstr ""
132
134
133#: Components/PageHeader.qml:298
135#: Components/PageHeader.qml:298
@@ -148,23 +150,23 @@ msgid_plural "%1 reviews"
148msgstr[0] ""
150msgstr[0] ""
149msgstr[1] ""
151msgstr[1] ""
150
152
151−#: Dash/Apps/AppPreview.qml:175
153+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
154msgid "Rate this"
153msgstr ""
155msgstr ""
154
156
155−#: Dash/Apps/AppReviews.qml:72
157+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
158msgid "Add a review"
157msgstr ""
159msgstr ""
158
160
159−#: Dash/Apps/AppReviews.qml:84
161+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
162msgid "Review"
161msgstr ""
163msgstr ""
162
164
163−#: Dash/Apps/AppReviews.qml:118
165+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
166msgid "Send"
165msgstr ""
167msgstr ""
166
168
167−#: Dash/Apps/AppReviews.qml:136
169+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
170msgid "Comments:"
169msgstr ""
171msgstr ""
170
172
@@ -208,7 +210,7 @@ msgstr ""
208msgid "Author:"
210msgid "Author:"
209msgstr ""
211msgstr ""
210
212
211−#: Greeter/Lockscreen.qml:134
213+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
214msgid "Emergency Call"
213msgstr ""
215msgstr ""
214
216
@@ -245,11 +247,15 @@ msgstr "ಮಾತನಾಡುತಿದ್ದೀರಿ"
245msgid "Search"
247msgid "Search"
246msgstr "ಹುಡುಕು"
248msgstr "ಹುಡುಕು"
247
249
248−#: plugins/Unity/scope.cpp:317
250+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
251msgid "Sorry, there is nothing that matches your search."
250msgstr "ಕ್ಷಮಿಸಿ ನಿಮ್ಮ ಶೋಧನೆಗೆ ಸರಿಯಾದ ಹೊಂದಾಣಿಕೆಗಳು ದೊರಕುತ್ತಿಲ್ಲ"
252msgstr "ಕ್ಷಮಿಸಿ ನಿಮ್ಮ ಶೋಧನೆಗೆ ಸರಿಯಾದ ಹೊಂದಾಣಿಕೆಗಳು ದೊರಕುತ್ತಿಲ್ಲ"
251
253
254+#: plugins/Unity/showallfilteroption.cpp:41
255+msgid "All"
256+msgstr ""
257+
252−#: Shell.qml:429
258+#: Shell.qml:453
253#, qt-format
259#, qt-format
254msgid "Please enter %1"
260msgid "Please enter %1"
255msgstr ""
261msgstr ""
po/ko.po+29−23
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\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-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19−"X-Generator: Launchpad (build 16750)\n"
19+"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,48 +86,50 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr ""
91msgstr ""
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr ""
95msgstr ""
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr ""
99msgstr ""
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr ""
103msgstr ""
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr ""
107msgstr ""
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr ""
111msgstr ""
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr ""
115msgstr ""
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr ""
119msgstr ""
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr ""
123msgstr ""
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127msgstr ""
127msgstr ""
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
131msgstr ""
133msgstr ""
132
134
133#: Components/PageHeader.qml:298
135#: Components/PageHeader.qml:298
@@ -148,23 +150,23 @@ msgid_plural "%1 reviews"
148msgstr[0] ""
150msgstr[0] ""
149msgstr[1] ""
151msgstr[1] ""
150
152
151−#: Dash/Apps/AppPreview.qml:175
153+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
154msgid "Rate this"
153msgstr ""
155msgstr ""
154
156
155−#: Dash/Apps/AppReviews.qml:72
157+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
158msgid "Add a review"
157msgstr ""
159msgstr ""
158
160
159−#: Dash/Apps/AppReviews.qml:84
161+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
162msgid "Review"
161msgstr ""
163msgstr ""
162
164
163−#: Dash/Apps/AppReviews.qml:118
165+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
166msgid "Send"
165msgstr ""
167msgstr ""
166
168
167−#: Dash/Apps/AppReviews.qml:136
169+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
170msgid "Comments:"
169msgstr ""
171msgstr ""
170
172
@@ -208,7 +210,7 @@ msgstr ""
208msgid "Author:"
210msgid "Author:"
209msgstr ""
211msgstr ""
210
212
211−#: Greeter/Lockscreen.qml:134
213+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
214msgid "Emergency Call"
213msgstr ""
215msgstr ""
214
216
@@ -245,11 +247,15 @@ msgstr ""
245msgid "Search"
247msgid "Search"
246msgstr "찾기"
248msgstr "찾기"
247
249
248−#: plugins/Unity/scope.cpp:317
250+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
251msgid "Sorry, there is nothing that matches your search."
250msgstr ""
252msgstr ""
251
253
254+#: plugins/Unity/showallfilteroption.cpp:41
255+msgid "All"
256+msgstr ""
257+
252−#: Shell.qml:429
258+#: Shell.qml:453
253#, qt-format
259#, qt-format
254msgid "Please enter %1"
260msgid "Please enter %1"
255msgstr ""
261msgstr ""
po/ky.po+29−23
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11"PO-Revision-Date: 2013-06-27 06:17+0000\n"
11"PO-Revision-Date: 2013-06-27 06:17+0000\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
12"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
13"Language-Team: Kirghiz <ky@li.org>\n"
13"Language-Team: Kirghiz <ky@li.org>\n"
@@ -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-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19−"X-Generator: Launchpad (build 16750)\n"
19+"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,48 +86,50 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr ""
91msgstr ""
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr ""
95msgstr ""
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr ""
99msgstr ""
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr ""
103msgstr ""
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr ""
107msgstr ""
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr ""
111msgstr ""
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr ""
115msgstr ""
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr ""
119msgstr ""
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr ""
123msgstr ""
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127msgstr ""
127msgstr ""
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
131msgstr ""
133msgstr ""
132
134
133#: Components/PageHeader.qml:298
135#: Components/PageHeader.qml:298
@@ -148,23 +150,23 @@ msgid_plural "%1 reviews"
148msgstr[0] ""
150msgstr[0] ""
149msgstr[1] ""
151msgstr[1] ""
150
152
151−#: Dash/Apps/AppPreview.qml:175
153+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
154msgid "Rate this"
153msgstr ""
155msgstr ""
154
156
155−#: Dash/Apps/AppReviews.qml:72
157+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
158msgid "Add a review"
157msgstr ""
159msgstr ""
158
160
159−#: Dash/Apps/AppReviews.qml:84
161+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
162msgid "Review"
161msgstr ""
163msgstr ""
162
164
163−#: Dash/Apps/AppReviews.qml:118
165+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
166msgid "Send"
165msgstr ""
167msgstr ""
166
168
167−#: Dash/Apps/AppReviews.qml:136
169+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
170msgid "Comments:"
169msgstr ""
171msgstr ""
170
172
@@ -208,7 +210,7 @@ msgstr ""
208msgid "Author:"
210msgid "Author:"
209msgstr ""
211msgstr ""
210
212
211−#: Greeter/Lockscreen.qml:134
213+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
214msgid "Emergency Call"
213msgstr ""
215msgstr ""
214
216
@@ -245,11 +247,15 @@ msgstr "Сүйлөнүүдө..."
245msgid "Search"
247msgid "Search"
246msgstr "Издөө"
248msgstr "Издөө"
247
249
248−#: plugins/Unity/scope.cpp:317
250+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
251msgid "Sorry, there is nothing that matches your search."
250msgstr "Тилекке каршы, сиздин издөөңүзгө эч нерсе дал келген жок."
252msgstr "Тилекке каршы, сиздин издөөңүзгө эч нерсе дал келген жок."
251
253
254+#: plugins/Unity/showallfilteroption.cpp:41
255+msgid "All"
256+msgstr ""
257+
252−#: Shell.qml:429
258+#: Shell.qml:453
253#, qt-format
259#, qt-format
254msgid "Please enter %1"
260msgid "Please enter %1"
255msgstr ""
261msgstr ""
po/lo.ponew file+261
@@ -0,0 +1,261 @@
1+# Lao translation for unity8
2+# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
3+# This file is distributed under the same license as the unity8 package.
4+# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
5+#
6+msgid ""
7+msgstr ""
8+"Project-Id-Version: unity8\n"
9+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11+"PO-Revision-Date: 2013-10-02 10:00+0000\n"
12+"Last-Translator: Anousak <anousak@gmail.com>\n"
13+"Language-Team: Lao <lo@li.org>\n"
14+"MIME-Version: 1.0\n"
15+"Content-Type: text/plain; charset=UTF-8\n"
16+"Content-Transfer-Encoding: 8bit\n"
17+"Plural-Forms: nplurals=1; plural=0;\n"
18+"X-Launchpad-Export-Date: 2013-10-03 06:08+0000\n"
19+"X-Generator: Launchpad (build 16791)\n"
20+
21+#: Applications/applications.js:23
22+msgid "Phone"
23+msgstr "ໂທລະສັບ"
24+
25+#: Applications/applications.js:29
26+msgid "Camera"
27+msgstr "ກ້ອງ"
28+
29+#: Applications/applications.js:35
30+msgid "Gallery"
31+msgstr "Gallery"
32+
33+#: Applications/applications.js:40
34+msgid "Facebook"
35+msgstr "Facebook"
36+
37+#: Applications/applications.js:46
38+msgid "Browser"
39+msgstr "ບາວເຊິ"
40+
41+#: Applications/applications.js:51
42+msgid "Twitter"
43+msgstr "Twitter"
44+
45+#: Applications/applications.js:57
46+msgid "GMail"
47+msgstr "GMail"
48+
49+#: Applications/applications.js:62
50+msgid "Weather"
51+msgstr "ສະພາບອາກາດ"
52+
53+#: Applications/applications.js:68
54+msgid "Notepad"
55+msgstr "Noetpad"
56+
57+#: Applications/applications.js:74
58+msgid "Calendar"
59+msgstr "ປະຕິທິນ"
60+
61+#: Applications/applications.js:80
62+msgid "Media Player"
63+msgstr ""
64+
65+#: Applications/applications.js:86
66+msgid "Evernote"
67+msgstr ""
68+
69+#: Applications/applications.js:91
70+msgid "Map"
71+msgstr "ເເຜນທີ່"
72+
73+#: Applications/applications.js:96
74+msgid "Pinterest"
75+msgstr ""
76+
77+#: Applications/applications.js:101
78+msgid "SoundCloud"
79+msgstr ""
80+
81+#: Applications/applications.js:106
82+msgid "Wikipedia"
83+msgstr ""
84+
85+#: Applications/applications.js:111
86+msgid "YouTube"
87+msgstr "ິYouTube"
88+
89+#: Components/EdgeDemoOverlay.qml:150
90+msgid "Skip intro"
91+msgstr ""
92+
93+#: Components/EdgeDemo.qml:112
94+msgid "Right edge"
95+msgstr ""
96+
97+#: Components/EdgeDemo.qml:113
98+msgid "Try swiping from the right edge to unlock the phone"
99+msgstr ""
100+
101+#: Components/EdgeDemo.qml:144
102+msgid "Top edge"
103+msgstr ""
104+
105+#: Components/EdgeDemo.qml:145
106+msgid "Try swiping from the top edge to access the indicators"
107+msgstr ""
108+
109+#: Components/EdgeDemo.qml:170
110+msgid "Close"
111+msgstr "ປິດ"
112+
113+#: Components/EdgeDemo.qml:171
114+msgid "Swipe up again to close the settings screen"
115+msgstr ""
116+
117+#: Components/EdgeDemo.qml:198
118+msgid "Left edge"
119+msgstr ""
120+
121+#: Components/EdgeDemo.qml:199
122+msgid "Swipe from the left to reveal the launcher for quick access to apps"
123+msgstr ""
124+
125+#: Components/EdgeDemo.qml:226
126+msgid "Well done"
127+msgstr "ດີຫຼາຍ"
128+
129+#: Components/EdgeDemo.qml:227
130+msgid ""
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
133+msgstr ""
134+
135+#: Components/PageHeader.qml:298
136+msgid "Recent searches"
137+msgstr ""
138+
139+#. TRANSLATORS: Number of persons who rated this app
140+#: Dash/Apps/AppInfo.qml:73
141+#, qt-format
142+msgid "(%1)"
143+msgstr "(%1)"
144+
145+#. TRANSLATORS: Number of persons who wrote reviews for this app
146+#: Dash/Apps/AppInfo.qml:85
147+#, qt-format
148+msgid "%1 review"
149+msgid_plural "%1 reviews"
150+msgstr[0] ""
151+msgstr[1] ""
152+
153+#: Dash/Apps/AppPreview.qml:178
154+msgid "Rate this"
155+msgstr ""
156+
157+#: Dash/Apps/AppReviews.qml:74
158+msgid "Add a review"
159+msgstr ""
160+
161+#: Dash/Apps/AppReviews.qml:86
162+msgid "Review"
163+msgstr ""
164+
165+#: Dash/Apps/AppReviews.qml:121
166+msgid "Send"
167+msgstr "ສົ່ງ"
168+
169+#: Dash/Apps/AppReviews.qml:139
170+msgid "Comments:"
171+msgstr "ຄໍ່ເຫັນ"
172+
173+#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
174+msgid "Featured"
175+msgstr ""
176+
177+#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
178+msgid "Recent"
179+msgstr ""
180+
181+#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
182+msgid "New Releases"
183+msgstr ""
184+
185+#: Dash/DashMusic.qml:30
186+msgid "Top Charting"
187+msgstr ""
188+
189+#: Dash/DashMusic.qml:91
190+msgid "Music"
191+msgstr "ດົນຕີ"
192+
193+#: Dash/DashVideos.qml:31
194+msgid "Popular Online"
195+msgstr ""
196+
197+#: Dash/DashVideos.qml:146
198+msgid "Videos"
199+msgstr "ວິດີໂອ"
200+
201+#: Dash/Video/VideoPreview.qml:130
202+msgid "Directed by:"
203+msgstr ""
204+
205+#: Dash/Video/VideoPreview.qml:153
206+msgid "Starring:"
207+msgstr ""
208+
209+#: Dash/Video/VideoPreview.qml:176
210+msgid "Author:"
211+msgstr ""
212+
213+#: Greeter/Lockscreen.qml:142
214+msgid "Emergency Call"
215+msgstr ""
216+
217+#: Greeter/PassphraseLockscreen.qml:59
218+#, qt-format
219+msgid "Hello %1"
220+msgstr "ສະບາຍດີ %1"
221+
222+#: Greeter/PassphraseLockscreen.qml:59
223+msgid "Hello"
224+msgstr "ສະບາຍດີ"
225+
226+#: Hud/HudParametrizedActionsPage.qml:132
227+msgid "Confirm"
228+msgstr "ຢືນຢັນ"
229+
230+#: Hud/Hud.qml:61 Hud/Hud.qml:99 Hud/Hud.qml:372
231+msgid "Type or say a command"
232+msgstr ""
233+
234+#: Hud/Hud.qml:84
235+msgid "Loading. Please Wait..."
236+msgstr ""
237+
238+#: Hud/Hud.qml:89
239+msgid "Speak Now..."
240+msgstr "ເວົ້າໂລດ"
241+
242+#: Hud/Hud.qml:94
243+msgid "Speaking..."
244+msgstr "ກໍາລັງເວົ້າ"
245+
246+#: Panel/SearchIndicator.qml:27
247+msgid "Search"
248+msgstr "ຊອກຫາ"
249+
250+#: plugins/Unity/scope.cpp:336
251+msgid "Sorry, there is nothing that matches your search."
252+msgstr ""
253+
254+#: plugins/Unity/showallfilteroption.cpp:41
255+msgid "All"
256+msgstr "ທັງໝົດ"
257+
258+#: Shell.qml:453
259+#, qt-format
260+msgid "Please enter %1"
261+msgstr "ກະລູນາປ້ອນ %1"
po/lv.po+28−22
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11"PO-Revision-Date: 2013-09-28 16:29+0000\n"
11"PO-Revision-Date: 2013-09-28 16:29+0000\n"
12"Last-Translator: Jānis-Marks Gailis <jeanmarc.gailis@gmail.com>\n"
12"Last-Translator: Jānis-Marks Gailis <jeanmarc.gailis@gmail.com>\n"
13"Language-Team: Latvian <lv@li.org>\n"
13"Language-Team: Latvian <lv@li.org>\n"
@@ -15,7 +15,7 @@ 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-09-29 06:18+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19"X-Generator: Launchpad (build 16774)\n"
19"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -86,48 +86,50 @@ msgstr "Vikipēdija"
86msgid "YouTube"
86msgid "YouTube"
87msgstr "YouTube"
87msgstr "YouTube"
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr ""
91msgstr ""
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr "Labā mala"
95msgstr "Labā mala"
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr ""
99msgstr ""
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr ""
103msgstr ""
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr ""
107msgstr ""
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr ""
111msgstr ""
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr ""
115msgstr ""
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr ""
119msgstr ""
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr ""
123msgstr ""
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127msgstr ""
127msgstr ""
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
131msgstr ""
133msgstr ""
132
134
133#: Components/PageHeader.qml:298
135#: Components/PageHeader.qml:298
@@ -148,23 +150,23 @@ msgid_plural "%1 reviews"
148msgstr[0] ""
150msgstr[0] ""
149msgstr[1] ""
151msgstr[1] ""
150
152
151−#: Dash/Apps/AppPreview.qml:175
153+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
154msgid "Rate this"
153msgstr ""
155msgstr ""
154
156
155−#: Dash/Apps/AppReviews.qml:72
157+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
158msgid "Add a review"
157msgstr ""
159msgstr ""
158
160
159−#: Dash/Apps/AppReviews.qml:84
161+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
162msgid "Review"
161msgstr ""
163msgstr ""
162
164
163−#: Dash/Apps/AppReviews.qml:118
165+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
166msgid "Send"
165msgstr ""
167msgstr ""
166
168
167−#: Dash/Apps/AppReviews.qml:136
169+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
170msgid "Comments:"
169msgstr ""
171msgstr ""
170
172
@@ -208,7 +210,7 @@ msgstr ""
208msgid "Author:"
210msgid "Author:"
209msgstr ""
211msgstr ""
210
212
211−#: Greeter/Lockscreen.qml:134
213+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
214msgid "Emergency Call"
213msgstr ""
215msgstr ""
214
216
@@ -245,11 +247,15 @@ msgstr "Runa..."
245msgid "Search"
247msgid "Search"
246msgstr "Meklēt"
248msgstr "Meklēt"
247
249
248−#: plugins/Unity/scope.cpp:317
250+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
251msgid "Sorry, there is nothing that matches your search."
250msgstr "Diemžēl nekas neatbilst jūsu meklētajam."
252msgstr "Diemžēl nekas neatbilst jūsu meklētajam."
251
253
254+#: plugins/Unity/showallfilteroption.cpp:41
255+msgid "All"
256+msgstr ""
257+
252−#: Shell.qml:429
258+#: Shell.qml:453
253#, qt-format
259#, qt-format
254msgid "Please enter %1"
260msgid "Please enter %1"
255msgstr ""
261msgstr ""
po/my.po+29−23
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\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-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19−"X-Generator: Launchpad (build 16750)\n"
19+"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,48 +86,50 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr ""
91msgstr ""
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr ""
95msgstr ""
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr ""
99msgstr ""
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr ""
103msgstr ""
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr ""
107msgstr ""
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr ""
111msgstr ""
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr ""
115msgstr ""
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr ""
119msgstr ""
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr ""
123msgstr ""
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127msgstr ""
127msgstr ""
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
131msgstr ""
133msgstr ""
132
134
133#: Components/PageHeader.qml:298
135#: Components/PageHeader.qml:298
@@ -148,23 +150,23 @@ msgid_plural "%1 reviews"
148msgstr[0] ""
150msgstr[0] ""
149msgstr[1] ""
151msgstr[1] ""
150
152
151−#: Dash/Apps/AppPreview.qml:175
153+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
154msgid "Rate this"
153msgstr ""
155msgstr ""
154
156
155−#: Dash/Apps/AppReviews.qml:72
157+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
158msgid "Add a review"
157msgstr ""
159msgstr ""
158
160
159−#: Dash/Apps/AppReviews.qml:84
161+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
162msgid "Review"
161msgstr ""
163msgstr ""
162
164
163−#: Dash/Apps/AppReviews.qml:118
165+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
166msgid "Send"
165msgstr ""
167msgstr ""
166
168
167−#: Dash/Apps/AppReviews.qml:136
169+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
170msgid "Comments:"
169msgstr ""
171msgstr ""
170
172
@@ -208,7 +210,7 @@ msgstr ""
208msgid "Author:"
210msgid "Author:"
209msgstr ""
211msgstr ""
210
212
211−#: Greeter/Lockscreen.qml:134
213+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
214msgid "Emergency Call"
213msgstr ""
215msgstr ""
214
216
@@ -245,11 +247,15 @@ msgstr "ပြောနေသည်"
245msgid "Search"
247msgid "Search"
246msgstr "ရှာဖွေ"
248msgstr "ရှာဖွေ"
247
249
248−#: plugins/Unity/scope.cpp:317
250+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
251msgid "Sorry, there is nothing that matches your search."
250msgstr "ဆောရီး၊ သင်၏ရှာဖွေမူနှင့်တူညီတာဘာမှမရှိပါ။"
252msgstr "ဆောရီး၊ သင်၏ရှာဖွေမူနှင့်တူညီတာဘာမှမရှိပါ။"
251
253
254+#: plugins/Unity/showallfilteroption.cpp:41
255+msgid "All"
256+msgstr ""
257+
252−#: Shell.qml:429
258+#: Shell.qml:453
253#, qt-format
259#, qt-format
254msgid "Please enter %1"
260msgid "Please enter %1"
255msgstr ""
261msgstr ""
po/nb.po+29−23
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\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-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19−"X-Generator: Launchpad (build 16750)\n"
19+"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,48 +86,50 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr ""
91msgstr ""
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr ""
95msgstr ""
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr ""
99msgstr ""
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr ""
103msgstr ""
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr ""
107msgstr ""
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr ""
111msgstr ""
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr ""
115msgstr ""
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr ""
119msgstr ""
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr ""
123msgstr ""
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127msgstr ""
127msgstr ""
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
131msgstr ""
133msgstr ""
132
134
133#: Components/PageHeader.qml:298
135#: Components/PageHeader.qml:298
@@ -148,23 +150,23 @@ msgid_plural "%1 reviews"
148msgstr[0] ""
150msgstr[0] ""
149msgstr[1] ""
151msgstr[1] ""
150
152
151−#: Dash/Apps/AppPreview.qml:175
153+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
154msgid "Rate this"
153msgstr ""
155msgstr ""
154
156
155−#: Dash/Apps/AppReviews.qml:72
157+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
158msgid "Add a review"
157msgstr ""
159msgstr ""
158
160
159−#: Dash/Apps/AppReviews.qml:84
161+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
162msgid "Review"
161msgstr ""
163msgstr ""
162
164
163−#: Dash/Apps/AppReviews.qml:118
165+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
166msgid "Send"
165msgstr ""
167msgstr ""
166
168
167−#: Dash/Apps/AppReviews.qml:136
169+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
170msgid "Comments:"
169msgstr ""
171msgstr ""
170
172
@@ -208,7 +210,7 @@ msgstr ""
208msgid "Author:"
210msgid "Author:"
209msgstr ""
211msgstr ""
210
212
211−#: Greeter/Lockscreen.qml:134
213+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
214msgid "Emergency Call"
213msgstr ""
215msgstr ""
214
216
@@ -245,11 +247,15 @@ msgstr "Snakker …"
245msgid "Search"
247msgid "Search"
246msgstr "Søk"
248msgstr "Søk"
247
249
248−#: plugins/Unity/scope.cpp:317
250+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
251msgid "Sorry, there is nothing that matches your search."
250msgstr "Søket ga ingen treff."
252msgstr "Søket ga ingen treff."
251
253
254+#: plugins/Unity/showallfilteroption.cpp:41
255+msgid "All"
256+msgstr ""
257+
252−#: Shell.qml:429
258+#: Shell.qml:453
253#, qt-format
259#, qt-format
254msgid "Please enter %1"
260msgid "Please enter %1"
255msgstr ""
261msgstr ""
po/nl.po+29−23
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\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-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19−"X-Generator: Launchpad (build 16750)\n"
19+"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,48 +86,50 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr ""
91msgstr ""
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr ""
95msgstr ""
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr ""
99msgstr ""
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr ""
103msgstr ""
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr ""
107msgstr ""
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr ""
111msgstr ""
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr ""
115msgstr ""
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr ""
119msgstr ""
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr ""
123msgstr ""
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127msgstr ""
127msgstr ""
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
131msgstr ""
133msgstr ""
132
134
133#: Components/PageHeader.qml:298
135#: Components/PageHeader.qml:298
@@ -148,23 +150,23 @@ msgid_plural "%1 reviews"
148msgstr[0] ""
150msgstr[0] ""
149msgstr[1] ""
151msgstr[1] ""
150
152
151−#: Dash/Apps/AppPreview.qml:175
153+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
154msgid "Rate this"
153msgstr ""
155msgstr ""
154
156
155−#: Dash/Apps/AppReviews.qml:72
157+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
158msgid "Add a review"
157msgstr ""
159msgstr ""
158
160
159−#: Dash/Apps/AppReviews.qml:84
161+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
162msgid "Review"
161msgstr ""
163msgstr ""
162
164
163−#: Dash/Apps/AppReviews.qml:118
165+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
166msgid "Send"
165msgstr ""
167msgstr ""
166
168
167−#: Dash/Apps/AppReviews.qml:136
169+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
170msgid "Comments:"
169msgstr ""
171msgstr ""
170
172
@@ -208,7 +210,7 @@ msgstr ""
208msgid "Author:"
210msgid "Author:"
209msgstr ""
211msgstr ""
210
212
211−#: Greeter/Lockscreen.qml:134
213+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
214msgid "Emergency Call"
213msgstr ""
215msgstr ""
214
216
@@ -245,11 +247,15 @@ msgstr "Inspreken…"
245msgid "Search"
247msgid "Search"
246msgstr "Zoeken"
248msgstr "Zoeken"
247
249
248−#: plugins/Unity/scope.cpp:317
250+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
251msgid "Sorry, there is nothing that matches your search."
250msgstr "Er is helaas niets dat met uw zoekopdracht overeenkomt."
252msgstr "Er is helaas niets dat met uw zoekopdracht overeenkomt."
251
253
254+#: plugins/Unity/showallfilteroption.cpp:41
255+msgid "All"
256+msgstr ""
257+
252−#: Shell.qml:429
258+#: Shell.qml:453
253#, qt-format
259#, qt-format
254msgid "Please enter %1"
260msgid "Please enter %1"
255msgstr ""
261msgstr ""
po/pl.po+29−23
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\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-30 05:37+0000\n"
19+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
20−"X-Generator: Launchpad (build 16750)\n"
20+"X-Generator: Launchpad (build 16774)\n"
21
21
22#: Applications/applications.js:23
22#: Applications/applications.js:23
23msgid "Phone"
23msgid "Phone"
@@ -87,48 +87,50 @@ msgstr "Wikipedia"
87msgid "YouTube"
87msgid "YouTube"
88msgstr "YouTube"
88msgstr "YouTube"
89
89
90−#: Components/EdgeDemoOverlay.qml:145
90+#: Components/EdgeDemoOverlay.qml:150
91msgid "Skip intro"
91msgid "Skip intro"
92msgstr ""
92msgstr ""
93
93
94−#: Components/EdgeDemo.qml:98
94+#: Components/EdgeDemo.qml:112
95msgid "Right edge"
95msgid "Right edge"
96msgstr ""
96msgstr ""
97
97
98−#: Components/EdgeDemo.qml:99
98+#: Components/EdgeDemo.qml:113
99msgid "Try swiping from the right edge to unlock the phone"
99msgid "Try swiping from the right edge to unlock the phone"
100msgstr ""
100msgstr ""
101
101
102−#: Components/EdgeDemo.qml:135
102+#: Components/EdgeDemo.qml:144
103msgid "Top edge"
103msgid "Top edge"
104msgstr ""
104msgstr ""
105
105
106−#: Components/EdgeDemo.qml:136
106+#: Components/EdgeDemo.qml:145
107msgid "Try swiping from the top edge to access the indicators"
107msgid "Try swiping from the top edge to access the indicators"
108msgstr ""
108msgstr ""
109
109
110−#: Components/EdgeDemo.qml:161
110+#: Components/EdgeDemo.qml:170
111msgid "Close"
111msgid "Close"
112msgstr ""
112msgstr ""
113
113
114−#: Components/EdgeDemo.qml:162
114+#: Components/EdgeDemo.qml:171
115msgid "Swipe up again to close the settings screen"
115msgid "Swipe up again to close the settings screen"
116msgstr ""
116msgstr ""
117
117
118−#: Components/EdgeDemo.qml:189
118+#: Components/EdgeDemo.qml:198
119msgid "Left edge"
119msgid "Left edge"
120msgstr ""
120msgstr ""
121
121
122−#: Components/EdgeDemo.qml:190
122+#: Components/EdgeDemo.qml:199
123msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgid "Swipe from the left to reveal the launcher for quick access to apps"
124msgstr ""
124msgstr ""
125
125
126−#: Components/EdgeDemo.qml:217
126+#: Components/EdgeDemo.qml:226
127msgid "Well done"
127msgid "Well done"
128msgstr ""
128msgstr ""
129
129
130−#: Components/EdgeDemo.qml:218
130+#: Components/EdgeDemo.qml:227
131+msgid ""
131−msgid "You have now mastered the edge gestures and can start using the phone"
132+"You have now mastered the edge gestures and can start using the "
133+"phone<br><br>Tap anywhere to start"
132msgstr ""
134msgstr ""
133
135
134#: Components/PageHeader.qml:298
136#: Components/PageHeader.qml:298
@@ -149,23 +151,23 @@ msgid_plural "%1 reviews"
149msgstr[0] ""
151msgstr[0] ""
150msgstr[1] ""
152msgstr[1] ""
151
153
152−#: Dash/Apps/AppPreview.qml:175
154+#: Dash/Apps/AppPreview.qml:178
153msgid "Rate this"
155msgid "Rate this"
154msgstr ""
156msgstr ""
155
157
156−#: Dash/Apps/AppReviews.qml:72
158+#: Dash/Apps/AppReviews.qml:74
157msgid "Add a review"
159msgid "Add a review"
158msgstr ""
160msgstr ""
159
161
160−#: Dash/Apps/AppReviews.qml:84
162+#: Dash/Apps/AppReviews.qml:86
161msgid "Review"
163msgid "Review"
162msgstr ""
164msgstr ""
163
165
164−#: Dash/Apps/AppReviews.qml:118
166+#: Dash/Apps/AppReviews.qml:121
165msgid "Send"
167msgid "Send"
166msgstr ""
168msgstr ""
167
169
168−#: Dash/Apps/AppReviews.qml:136
170+#: Dash/Apps/AppReviews.qml:139
169msgid "Comments:"
171msgid "Comments:"
170msgstr ""
172msgstr ""
171
173
@@ -209,7 +211,7 @@ msgstr "Obsada:"
209msgid "Author:"
211msgid "Author:"
210msgstr "Autor:"
212msgstr "Autor:"
211
213
212−#: Greeter/Lockscreen.qml:134
214+#: Greeter/Lockscreen.qml:142
213msgid "Emergency Call"
215msgid "Emergency Call"
214msgstr ""
216msgstr ""
215
217
@@ -246,11 +248,15 @@ msgstr "Rozpoznanie..."
246msgid "Search"
248msgid "Search"
247msgstr "Szukaj"
249msgstr "Szukaj"
248
250
249−#: plugins/Unity/scope.cpp:317
251+#: plugins/Unity/scope.cpp:336
250msgid "Sorry, there is nothing that matches your search."
252msgid "Sorry, there is nothing that matches your search."
251msgstr "Nie znaleziono pasujących wyników."
253msgstr "Nie znaleziono pasujących wyników."
252
254
255+#: plugins/Unity/showallfilteroption.cpp:41
256+msgid "All"
257+msgstr ""
258+
253−#: Shell.qml:429
259+#: Shell.qml:453
254#, qt-format
260#, qt-format
255msgid "Please enter %1"
261msgid "Please enter %1"
256msgstr "Wprowadź %1"
262msgstr "Wprowadź %1"
po/pt_BR.po+32−26
@@ -7,15 +7,15 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity\n"
8"Project-Id-Version: unity\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11−"PO-Revision-Date: 2013-09-30 13:01+0000\n"
11+"PO-Revision-Date: 2013-10-01 13:05+0000\n"
12"Last-Translator: Rafael Neri <Unknown>\n"
12"Last-Translator: Rafael Neri <Unknown>\n"
13"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
13"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2013-10-01 05:53+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19"X-Generator: Launchpad (build 16774)\n"
19"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -86,50 +86,52 @@ msgstr "Wikipédia"
86msgid "YouTube"
86msgid "YouTube"
87msgstr "YouTube"
87msgstr "YouTube"
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr "Pular introdução"
91msgstr "Pular introdução"
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr "Borda direita"
95msgstr "Borda direita"
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr "Tente deslizar da borda direita para desbloquear o telefone"
99msgstr "Tente deslizar da borda direita para desbloquear o telefone"
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr "Borda superior"
103msgstr "Borda superior"
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr "Tente deslizar da borda superior para acessar os indicadores"
107msgstr "Tente deslizar da borda superior para acessar os indicadores"
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr "Fechar"
111msgstr "Fechar"
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr "Deslize novamente para cima para fechar a tela de configurações"
115msgstr "Deslize novamente para cima para fechar a tela de configurações"
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr "Borda esquerda"
119msgstr "Borda esquerda"
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr ""
123msgstr ""
124"Deslize da esquerda para revelar o lançador para acesso rápido aos "
124"Deslize da esquerda para revelar o lançador para acesso rápido aos "
125"aplicativos"
125"aplicativos"
126
126
127−#: Components/EdgeDemo.qml:217
127+#: Components/EdgeDemo.qml:226
128msgid "Well done"
128msgid "Well done"
129−msgstr ""
129+msgstr "Bem feito"
130
130
131−#: Components/EdgeDemo.qml:218
131+#: Components/EdgeDemo.qml:227
132+msgid ""
132−msgid "You have now mastered the edge gestures and can start using the phone"
133+"You have now mastered the edge gestures and can start using the "
134+"phone<br><br>Tap anywhere to start"
133msgstr ""
135msgstr ""
134
136
135#: Components/PageHeader.qml:298
137#: Components/PageHeader.qml:298
@@ -150,23 +152,23 @@ msgid_plural "%1 reviews"
150msgstr[0] "%1 análise"
152msgstr[0] "%1 análise"
151msgstr[1] "%1 análises"
153msgstr[1] "%1 análises"
152
154
153−#: Dash/Apps/AppPreview.qml:175
155+#: Dash/Apps/AppPreview.qml:178
154msgid "Rate this"
156msgid "Rate this"
155msgstr "Avaliar isto"
157msgstr "Avaliar isto"
156
158
157−#: Dash/Apps/AppReviews.qml:72
159+#: Dash/Apps/AppReviews.qml:74
158msgid "Add a review"
160msgid "Add a review"
159msgstr "Adicionar uma análise"
161msgstr "Adicionar uma análise"
160
162
161−#: Dash/Apps/AppReviews.qml:84
163+#: Dash/Apps/AppReviews.qml:86
162msgid "Review"
164msgid "Review"
163msgstr "Revisão"
165msgstr "Revisão"
164
166
165−#: Dash/Apps/AppReviews.qml:118
167+#: Dash/Apps/AppReviews.qml:121
166msgid "Send"
168msgid "Send"
167msgstr "Enviar"
169msgstr "Enviar"
168
170
169−#: Dash/Apps/AppReviews.qml:136
171+#: Dash/Apps/AppReviews.qml:139
170msgid "Comments:"
172msgid "Comments:"
171msgstr "Comentários:"
173msgstr "Comentários:"
172
174
@@ -184,7 +186,7 @@ msgstr "Lançamentos"
184
186
185#: Dash/DashMusic.qml:30
187#: Dash/DashMusic.qml:30
186msgid "Top Charting"
188msgid "Top Charting"
187−msgstr ""
189+msgstr "Top gráficos"
188
190
189#: Dash/DashMusic.qml:91
191#: Dash/DashMusic.qml:91
190msgid "Music"
192msgid "Music"
@@ -192,7 +194,7 @@ msgstr "Músicas"
192
194
193#: Dash/DashVideos.qml:31
195#: Dash/DashVideos.qml:31
194msgid "Popular Online"
196msgid "Popular Online"
195−msgstr ""
197+msgstr "Popular Online"
196
198
197#: Dash/DashVideos.qml:146
199#: Dash/DashVideos.qml:146
198msgid "Videos"
200msgid "Videos"
@@ -210,7 +212,7 @@ msgstr "Estrelando:"
210msgid "Author:"
212msgid "Author:"
211msgstr "Autor:"
213msgstr "Autor:"
212
214
213−#: Greeter/Lockscreen.qml:134
215+#: Greeter/Lockscreen.qml:142
214msgid "Emergency Call"
216msgid "Emergency Call"
215msgstr "Chamada de emergência"
217msgstr "Chamada de emergência"
216
218
@@ -247,11 +249,15 @@ msgstr "Falando..."
247msgid "Search"
249msgid "Search"
248msgstr "Pesquisar"
250msgstr "Pesquisar"
249
251
250−#: plugins/Unity/scope.cpp:317
252+#: plugins/Unity/scope.cpp:336
251msgid "Sorry, there is nothing that matches your search."
253msgid "Sorry, there is nothing that matches your search."
252msgstr "Desculpe, não há nada que corresponda à sua pesquisa."
254msgstr "Desculpe, não há nada que corresponda à sua pesquisa."
253
255
256+#: plugins/Unity/showallfilteroption.cpp:41
257+msgid "All"
258+msgstr ""
259+
254−#: Shell.qml:429
260+#: Shell.qml:453
255#, qt-format
261#, qt-format
256msgid "Please enter %1"
262msgid "Please enter %1"
257msgstr "Por favor, digite %1"
263msgstr "Por favor, digite %1"
po/ro.po+29−23
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\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-30 05:37+0000\n"
19+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
20−"X-Generator: Launchpad (build 16750)\n"
20+"X-Generator: Launchpad (build 16774)\n"
21
21
22#: Applications/applications.js:23
22#: Applications/applications.js:23
23msgid "Phone"
23msgid "Phone"
@@ -87,48 +87,50 @@ msgstr ""
87msgid "YouTube"
87msgid "YouTube"
88msgstr ""
88msgstr ""
89
89
90−#: Components/EdgeDemoOverlay.qml:145
90+#: Components/EdgeDemoOverlay.qml:150
91msgid "Skip intro"
91msgid "Skip intro"
92msgstr ""
92msgstr ""
93
93
94−#: Components/EdgeDemo.qml:98
94+#: Components/EdgeDemo.qml:112
95msgid "Right edge"
95msgid "Right edge"
96msgstr ""
96msgstr ""
97
97
98−#: Components/EdgeDemo.qml:99
98+#: Components/EdgeDemo.qml:113
99msgid "Try swiping from the right edge to unlock the phone"
99msgid "Try swiping from the right edge to unlock the phone"
100msgstr ""
100msgstr ""
101
101
102−#: Components/EdgeDemo.qml:135
102+#: Components/EdgeDemo.qml:144
103msgid "Top edge"
103msgid "Top edge"
104msgstr ""
104msgstr ""
105
105
106−#: Components/EdgeDemo.qml:136
106+#: Components/EdgeDemo.qml:145
107msgid "Try swiping from the top edge to access the indicators"
107msgid "Try swiping from the top edge to access the indicators"
108msgstr ""
108msgstr ""
109
109
110−#: Components/EdgeDemo.qml:161
110+#: Components/EdgeDemo.qml:170
111msgid "Close"
111msgid "Close"
112msgstr ""
112msgstr ""
113
113
114−#: Components/EdgeDemo.qml:162
114+#: Components/EdgeDemo.qml:171
115msgid "Swipe up again to close the settings screen"
115msgid "Swipe up again to close the settings screen"
116msgstr ""
116msgstr ""
117
117
118−#: Components/EdgeDemo.qml:189
118+#: Components/EdgeDemo.qml:198
119msgid "Left edge"
119msgid "Left edge"
120msgstr ""
120msgstr ""
121
121
122−#: Components/EdgeDemo.qml:190
122+#: Components/EdgeDemo.qml:199
123msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgid "Swipe from the left to reveal the launcher for quick access to apps"
124msgstr ""
124msgstr ""
125
125
126−#: Components/EdgeDemo.qml:217
126+#: Components/EdgeDemo.qml:226
127msgid "Well done"
127msgid "Well done"
128msgstr ""
128msgstr ""
129
129
130−#: Components/EdgeDemo.qml:218
130+#: Components/EdgeDemo.qml:227
131+msgid ""
131−msgid "You have now mastered the edge gestures and can start using the phone"
132+"You have now mastered the edge gestures and can start using the "
133+"phone<br><br>Tap anywhere to start"
132msgstr ""
134msgstr ""
133
135
134#: Components/PageHeader.qml:298
136#: Components/PageHeader.qml:298
@@ -149,23 +151,23 @@ msgid_plural "%1 reviews"
149msgstr[0] ""
151msgstr[0] ""
150msgstr[1] ""
152msgstr[1] ""
151
153
152−#: Dash/Apps/AppPreview.qml:175
154+#: Dash/Apps/AppPreview.qml:178
153msgid "Rate this"
155msgid "Rate this"
154msgstr ""
156msgstr ""
155
157
156−#: Dash/Apps/AppReviews.qml:72
158+#: Dash/Apps/AppReviews.qml:74
157msgid "Add a review"
159msgid "Add a review"
158msgstr ""
160msgstr ""
159
161
160−#: Dash/Apps/AppReviews.qml:84
162+#: Dash/Apps/AppReviews.qml:86
161msgid "Review"
163msgid "Review"
162msgstr ""
164msgstr ""
163
165
164−#: Dash/Apps/AppReviews.qml:118
166+#: Dash/Apps/AppReviews.qml:121
165msgid "Send"
167msgid "Send"
166msgstr ""
168msgstr ""
167
169
168−#: Dash/Apps/AppReviews.qml:136
170+#: Dash/Apps/AppReviews.qml:139
169msgid "Comments:"
171msgid "Comments:"
170msgstr ""
172msgstr ""
171
173
@@ -209,7 +211,7 @@ msgstr ""
209msgid "Author:"
211msgid "Author:"
210msgstr ""
212msgstr ""
211
213
212−#: Greeter/Lockscreen.qml:134
214+#: Greeter/Lockscreen.qml:142
213msgid "Emergency Call"
215msgid "Emergency Call"
214msgstr ""
216msgstr ""
215
217
@@ -246,12 +248,16 @@ msgstr "Vorbire..."
246msgid "Search"
248msgid "Search"
247msgstr "Căutare"
249msgstr "Căutare"
248
250
249−#: plugins/Unity/scope.cpp:317
251+#: plugins/Unity/scope.cpp:336
250msgid "Sorry, there is nothing that matches your search."
252msgid "Sorry, there is nothing that matches your search."
251msgstr ""
253msgstr ""
252"Ne pare rău, nu este nimic care se potrivește căutării dumneavoastră."
254"Ne pare rău, nu este nimic care se potrivește căutării dumneavoastră."
253
255
256+#: plugins/Unity/showallfilteroption.cpp:41
257+msgid "All"
258+msgstr ""
259+
254−#: Shell.qml:429
260+#: Shell.qml:453
255#, qt-format
261#, qt-format
256msgid "Please enter %1"
262msgid "Please enter %1"
257msgstr ""
263msgstr ""
po/ru.po+32−28
@@ -7,16 +7,16 @@ 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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11−"PO-Revision-Date: 2013-09-29 09:11+0000\n"
11+"PO-Revision-Date: 2013-10-01 05:55+0000\n"
12−"Last-Translator: Устин <ustinershovskiy@yandex.ru>\n"
12+"Last-Translator: Zonov Roman <Unknown>\n"
13"Language-Team: Russian <ru@li.org>\n"
13"Language-Team: Russian <ru@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"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-09-30 05:57+0000\n"
19+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
20"X-Generator: Launchpad (build 16774)\n"
20"X-Generator: Launchpad (build 16774)\n"
21
21
22#: Applications/applications.js:23
22#: Applications/applications.js:23
@@ -69,7 +69,7 @@ msgstr "Evernote"
69
69
70#: Applications/applications.js:91
70#: Applications/applications.js:91
71msgid "Map"
71msgid "Map"
72−msgstr "Карта"
72+msgstr "Карты"
73
73
74#: Applications/applications.js:96
74#: Applications/applications.js:96
75msgid "Pinterest"
75msgid "Pinterest"
@@ -87,56 +87,56 @@ msgstr "Википедия"
87msgid "YouTube"
87msgid "YouTube"
88msgstr "YouTube"
88msgstr "YouTube"
89
89
90−#: Components/EdgeDemoOverlay.qml:145
90+#: Components/EdgeDemoOverlay.qml:150
91msgid "Skip intro"
91msgid "Skip intro"
92msgstr "Пропустить обучение"
92msgstr "Пропустить обучение"
93
93
94−#: Components/EdgeDemo.qml:98
94+#: Components/EdgeDemo.qml:112
95msgid "Right edge"
95msgid "Right edge"
96msgstr "Правый край"
96msgstr "Правый край"
97
97
98−#: Components/EdgeDemo.qml:99
98+#: Components/EdgeDemo.qml:113
99msgid "Try swiping from the right edge to unlock the phone"
99msgid "Try swiping from the right edge to unlock the phone"
100msgstr ""
100msgstr ""
101"Попробуйте переместить палец от правого края к левому для разблокировки "
101"Попробуйте переместить палец от правого края к левому для разблокировки "
102"устройства"
102"устройства"
103
103
104−#: Components/EdgeDemo.qml:135
104+#: Components/EdgeDemo.qml:144
105msgid "Top edge"
105msgid "Top edge"
106msgstr "Верхний край"
106msgstr "Верхний край"
107
107
108−#: Components/EdgeDemo.qml:136
108+#: Components/EdgeDemo.qml:145
109msgid "Try swiping from the top edge to access the indicators"
109msgid "Try swiping from the top edge to access the indicators"
110msgstr ""
110msgstr ""
111"Попробуйте переместить палец от верхнего края вниз для доступа к индикаторам"
111"Попробуйте переместить палец от верхнего края вниз для доступа к индикаторам"
112
112
113−#: Components/EdgeDemo.qml:161
113+#: Components/EdgeDemo.qml:170
114msgid "Close"
114msgid "Close"
115msgstr "Закрыть"
115msgstr "Закрыть"
116
116
117−#: Components/EdgeDemo.qml:162
117+#: Components/EdgeDemo.qml:171
118msgid "Swipe up again to close the settings screen"
118msgid "Swipe up again to close the settings screen"
119msgstr "Снова переместите палец вверх для закрытия экрана настроек"
119msgstr "Снова переместите палец вверх для закрытия экрана настроек"
120
120
121−#: Components/EdgeDemo.qml:189
121+#: Components/EdgeDemo.qml:198
122msgid "Left edge"
122msgid "Left edge"
123msgstr "Левый край"
123msgstr "Левый край"
124
124
125−#: Components/EdgeDemo.qml:190
125+#: Components/EdgeDemo.qml:199
126msgid "Swipe from the left to reveal the launcher for quick access to apps"
126msgid "Swipe from the left to reveal the launcher for quick access to apps"
127msgstr ""
127msgstr ""
128"Переместите палец от левого края вправо для открытия лаунчера для быстрого "
128"Переместите палец от левого края вправо для открытия лаунчера для быстрого "
129"доступа к приложениям"
129"доступа к приложениям"
130
130
131−#: Components/EdgeDemo.qml:217
131+#: Components/EdgeDemo.qml:226
132msgid "Well done"
132msgid "Well done"
133msgstr "Великолепно"
133msgstr "Великолепно"
134
134
135−#: Components/EdgeDemo.qml:218
135+#: Components/EdgeDemo.qml:227
136+msgid ""
136−msgid "You have now mastered the edge gestures and can start using the phone"
137+"You have now mastered the edge gestures and can start using the "
138+"phone<br><br>Tap anywhere to start"
137msgstr ""
139msgstr ""
138−"Теперь вы научились экранным жестам и можете приступить к использованию "
139−"устройства"
140
140
141#: Components/PageHeader.qml:298
141#: Components/PageHeader.qml:298
142msgid "Recent searches"
142msgid "Recent searches"
@@ -155,23 +155,23 @@ msgid "%1 review"
155msgid_plural "%1 reviews"
155msgid_plural "%1 reviews"
156msgstr[0] "%1 отзыв"
156msgstr[0] "%1 отзыв"
157
157
158−#: Dash/Apps/AppPreview.qml:175
158+#: Dash/Apps/AppPreview.qml:178
159msgid "Rate this"
159msgid "Rate this"
160msgstr "Оцените это"
160msgstr "Оцените это"
161
161
162−#: Dash/Apps/AppReviews.qml:72
162+#: Dash/Apps/AppReviews.qml:74
163msgid "Add a review"
163msgid "Add a review"
164msgstr "Добавьте отзыв"
164msgstr "Добавьте отзыв"
165
165
166−#: Dash/Apps/AppReviews.qml:84
166+#: Dash/Apps/AppReviews.qml:86
167msgid "Review"
167msgid "Review"
168msgstr "Отзыв"
168msgstr "Отзыв"
169
169
170−#: Dash/Apps/AppReviews.qml:118
170+#: Dash/Apps/AppReviews.qml:121
171msgid "Send"
171msgid "Send"
172msgstr "Отправить"
172msgstr "Отправить"
173
173
174−#: Dash/Apps/AppReviews.qml:136
174+#: Dash/Apps/AppReviews.qml:139
175msgid "Comments:"
175msgid "Comments:"
176msgstr "Комментарии:"
176msgstr "Комментарии:"
177
177
@@ -209,13 +209,13 @@ msgstr "Режиссёр"
209
209
210#: Dash/Video/VideoPreview.qml:153
210#: Dash/Video/VideoPreview.qml:153
211msgid "Starring:"
211msgid "Starring:"
212−msgstr "В главных ролях"
212+msgstr "В главных ролях:"
213
213
214#: Dash/Video/VideoPreview.qml:176
214#: Dash/Video/VideoPreview.qml:176
215msgid "Author:"
215msgid "Author:"
216msgstr "Автор:"
216msgstr "Автор:"
217
217
218−#: Greeter/Lockscreen.qml:134
218+#: Greeter/Lockscreen.qml:142
219msgid "Emergency Call"
219msgid "Emergency Call"
220msgstr "Экстренный вызов"
220msgstr "Экстренный вызов"
221
221
@@ -252,11 +252,15 @@ msgstr "Говорите..."
252msgid "Search"
252msgid "Search"
253msgstr "Поиск"
253msgstr "Поиск"
254
254
255−#: plugins/Unity/scope.cpp:317
255+#: plugins/Unity/scope.cpp:336
256msgid "Sorry, there is nothing that matches your search."
256msgid "Sorry, there is nothing that matches your search."
257msgstr "Извините, поиск не дал результатов."
257msgstr "Извините, поиск не дал результатов."
258
258
259+#: plugins/Unity/showallfilteroption.cpp:41
260+msgid "All"
261+msgstr ""
262+
259−#: Shell.qml:429
263+#: Shell.qml:453
260#, qt-format
264#, qt-format
261msgid "Please enter %1"
265msgid "Please enter %1"
262msgstr "Пожалуйста, введите %1"
266msgstr "Пожалуйста, введите %1"
po/si.po+29−23
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11"PO-Revision-Date: 2013-06-26 22:36+0000\n"
11"PO-Revision-Date: 2013-06-26 22:36+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Sinhalese <si@li.org>\n"
13"Language-Team: Sinhalese <si@li.org>\n"
@@ -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-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19−"X-Generator: Launchpad (build 16750)\n"
19+"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,48 +86,50 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr ""
91msgstr ""
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr ""
95msgstr ""
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr ""
99msgstr ""
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr ""
103msgstr ""
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr ""
107msgstr ""
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr ""
111msgstr ""
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr ""
115msgstr ""
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr ""
119msgstr ""
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr ""
123msgstr ""
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127msgstr ""
127msgstr ""
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
131msgstr ""
133msgstr ""
132
134
133#: Components/PageHeader.qml:298
135#: Components/PageHeader.qml:298
@@ -148,23 +150,23 @@ msgid_plural "%1 reviews"
148msgstr[0] ""
150msgstr[0] ""
149msgstr[1] ""
151msgstr[1] ""
150
152
151−#: Dash/Apps/AppPreview.qml:175
153+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
154msgid "Rate this"
153msgstr ""
155msgstr ""
154
156
155−#: Dash/Apps/AppReviews.qml:72
157+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
158msgid "Add a review"
157msgstr ""
159msgstr ""
158
160
159−#: Dash/Apps/AppReviews.qml:84
161+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
162msgid "Review"
161msgstr ""
163msgstr ""
162
164
163−#: Dash/Apps/AppReviews.qml:118
165+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
166msgid "Send"
165msgstr ""
167msgstr ""
166
168
167−#: Dash/Apps/AppReviews.qml:136
169+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
170msgid "Comments:"
169msgstr ""
171msgstr ""
170
172
@@ -208,7 +210,7 @@ msgstr ""
208msgid "Author:"
210msgid "Author:"
209msgstr ""
211msgstr ""
210
212
211−#: Greeter/Lockscreen.qml:134
213+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
214msgid "Emergency Call"
213msgstr ""
215msgstr ""
214
216
@@ -245,11 +247,15 @@ msgstr ""
245msgid "Search"
247msgid "Search"
246msgstr ""
248msgstr ""
247
249
248−#: plugins/Unity/scope.cpp:317
250+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
251msgid "Sorry, there is nothing that matches your search."
250msgstr ""
252msgstr ""
251
253
254+#: plugins/Unity/showallfilteroption.cpp:41
255+msgid "All"
256+msgstr ""
257+
252−#: Shell.qml:429
258+#: Shell.qml:453
253#, qt-format
259#, qt-format
254msgid "Please enter %1"
260msgid "Please enter %1"
255msgstr ""
261msgstr ""
po/sl.po+32−25
@@ -7,8 +7,8 @@ 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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11−"PO-Revision-Date: 2013-09-28 09:53+0000\n"
11+"PO-Revision-Date: 2013-10-02 10:55+0000\n"
12"Last-Translator: Damir Jerovšek <Unknown>\n"
12"Last-Translator: Damir Jerovšek <Unknown>\n"
13"Language-Team: Slovenian <sl@li.org>\n"
13"Language-Team: Slovenian <sl@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
@@ -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-09-29 06:18+0000\n"
19+"X-Launchpad-Export-Date: 2013-10-03 06:08+0000\n"
20−"X-Generator: Launchpad (build 16774)\n"
20+"X-Generator: Launchpad (build 16791)\n"
21
21
22#: Applications/applications.js:23
22#: Applications/applications.js:23
23msgid "Phone"
23msgid "Phone"
@@ -87,52 +87,55 @@ msgstr "Wikipedija"
87msgid "YouTube"
87msgid "YouTube"
88msgstr "YouTube"
88msgstr "YouTube"
89
89
90−#: Components/EdgeDemoOverlay.qml:145
90+#: Components/EdgeDemoOverlay.qml:150
91msgid "Skip intro"
91msgid "Skip intro"
92msgstr "Preskoči uvod"
92msgstr "Preskoči uvod"
93
93
94−#: Components/EdgeDemo.qml:98
94+#: Components/EdgeDemo.qml:112
95msgid "Right edge"
95msgid "Right edge"
96msgstr "Desni rob"
96msgstr "Desni rob"
97
97
98−#: Components/EdgeDemo.qml:99
98+#: Components/EdgeDemo.qml:113
99msgid "Try swiping from the right edge to unlock the phone"
99msgid "Try swiping from the right edge to unlock the phone"
100msgstr "Poskusite povleči od desnega roba za odklep telefona"
100msgstr "Poskusite povleči od desnega roba za odklep telefona"
101
101
102−#: Components/EdgeDemo.qml:135
102+#: Components/EdgeDemo.qml:144
103msgid "Top edge"
103msgid "Top edge"
104msgstr "Zgornji rob"
104msgstr "Zgornji rob"
105
105
106−#: Components/EdgeDemo.qml:136
106+#: Components/EdgeDemo.qml:145
107msgid "Try swiping from the top edge to access the indicators"
107msgid "Try swiping from the top edge to access the indicators"
108msgstr "Poskusite povleči od zgornjega roba za dostop do kazalnikov"
108msgstr "Poskusite povleči od zgornjega roba za dostop do kazalnikov"
109
109
110−#: Components/EdgeDemo.qml:161
110+#: Components/EdgeDemo.qml:170
111msgid "Close"
111msgid "Close"
112msgstr "Zapri"
112msgstr "Zapri"
113
113
114−#: Components/EdgeDemo.qml:162
114+#: Components/EdgeDemo.qml:171
115msgid "Swipe up again to close the settings screen"
115msgid "Swipe up again to close the settings screen"
116msgstr "Povlecite ponovno navzgor za zaprtje zaslona z nastavitvami"
116msgstr "Povlecite ponovno navzgor za zaprtje zaslona z nastavitvami"
117
117
118−#: Components/EdgeDemo.qml:189
118+#: Components/EdgeDemo.qml:198
119msgid "Left edge"
119msgid "Left edge"
120msgstr "Levi rob"
120msgstr "Levi rob"
121
121
122−#: Components/EdgeDemo.qml:190
122+#: Components/EdgeDemo.qml:199
123msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgid "Swipe from the left to reveal the launcher for quick access to apps"
124msgstr ""
124msgstr ""
125"Poskusite povleči od leve za razkritje zaganjalnika za hiter dostop do "
125"Poskusite povleči od leve za razkritje zaganjalnika za hiter dostop do "
126"programov"
126"programov"
127
127
128−#: Components/EdgeDemo.qml:217
128+#: Components/EdgeDemo.qml:226
129msgid "Well done"
129msgid "Well done"
130msgstr "Odlično"
130msgstr "Odlično"
131
131
132−#: Components/EdgeDemo.qml:218
132+#: Components/EdgeDemo.qml:227
133+msgid ""
133−msgid "You have now mastered the edge gestures and can start using the phone"
134+"You have now mastered the edge gestures and can start using the "
135+"phone<br><br>Tap anywhere to start"
134msgstr ""
136msgstr ""
135−"Zdaj, ko ste osvojili kretnje z robovi, lahko začnete uporabljati telefon"
137+"Sedaj ste osvojili poteze robov ter lahko začnete uporabljati "
138+"telefon<br><br>Tapnite kjerkoli na začetek"
136
139
137#: Components/PageHeader.qml:298
140#: Components/PageHeader.qml:298
138msgid "Recent searches"
141msgid "Recent searches"
@@ -154,23 +157,23 @@ msgstr[1] "%1 ocena"
154msgstr[2] "%1 oceni"
157msgstr[2] "%1 oceni"
155msgstr[3] "%1 ocene"
158msgstr[3] "%1 ocene"
156
159
157−#: Dash/Apps/AppPreview.qml:175
160+#: Dash/Apps/AppPreview.qml:178
158msgid "Rate this"
161msgid "Rate this"
159msgstr "Ocenite"
162msgstr "Ocenite"
160
163
161−#: Dash/Apps/AppReviews.qml:72
164+#: Dash/Apps/AppReviews.qml:74
162msgid "Add a review"
165msgid "Add a review"
163msgstr "Dodaj oceno"
166msgstr "Dodaj oceno"
164
167
165−#: Dash/Apps/AppReviews.qml:84
168+#: Dash/Apps/AppReviews.qml:86
166msgid "Review"
169msgid "Review"
167msgstr "Ocena"
170msgstr "Ocena"
168
171
169−#: Dash/Apps/AppReviews.qml:118
172+#: Dash/Apps/AppReviews.qml:121
170msgid "Send"
173msgid "Send"
171msgstr "Pošlji"
174msgstr "Pošlji"
172
175
173−#: Dash/Apps/AppReviews.qml:136
176+#: Dash/Apps/AppReviews.qml:139
174msgid "Comments:"
177msgid "Comments:"
175msgstr "Opombe:"
178msgstr "Opombe:"
176
179
@@ -214,7 +217,7 @@ msgstr "Igrajo:"
214msgid "Author:"
217msgid "Author:"
215msgstr "Avtor:"
218msgstr "Avtor:"
216
219
217−#: Greeter/Lockscreen.qml:134
220+#: Greeter/Lockscreen.qml:142
218msgid "Emergency Call"
221msgid "Emergency Call"
219msgstr "Klic v sili"
222msgstr "Klic v sili"
220
223
@@ -251,11 +254,15 @@ msgstr "Govorjenje ..."
251msgid "Search"
254msgid "Search"
252msgstr "Iskanje"
255msgstr "Iskanje"
253
256
254−#: plugins/Unity/scope.cpp:317
257+#: plugins/Unity/scope.cpp:336
255msgid "Sorry, there is nothing that matches your search."
258msgid "Sorry, there is nothing that matches your search."
256msgstr "Nič se ne ujema z vašim iskalnim nizom."
259msgstr "Nič se ne ujema z vašim iskalnim nizom."
257
260
261+#: plugins/Unity/showallfilteroption.cpp:41
262+msgid "All"
263+msgstr "Vse"
264+
258−#: Shell.qml:429
265+#: Shell.qml:453
259#, qt-format
266#, qt-format
260msgid "Please enter %1"
267msgid "Please enter %1"
261msgstr "Vnesite %1"
268msgstr "Vnesite %1"
po/sr.po+29−23
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\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-30 05:37+0000\n"
19+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
20−"X-Generator: Launchpad (build 16750)\n"
20+"X-Generator: Launchpad (build 16774)\n"
21
21
22#: Applications/applications.js:23
22#: Applications/applications.js:23
23msgid "Phone"
23msgid "Phone"
@@ -87,48 +87,50 @@ msgstr ""
87msgid "YouTube"
87msgid "YouTube"
88msgstr ""
88msgstr ""
89
89
90−#: Components/EdgeDemoOverlay.qml:145
90+#: Components/EdgeDemoOverlay.qml:150
91msgid "Skip intro"
91msgid "Skip intro"
92msgstr ""
92msgstr ""
93
93
94−#: Components/EdgeDemo.qml:98
94+#: Components/EdgeDemo.qml:112
95msgid "Right edge"
95msgid "Right edge"
96msgstr ""
96msgstr ""
97
97
98−#: Components/EdgeDemo.qml:99
98+#: Components/EdgeDemo.qml:113
99msgid "Try swiping from the right edge to unlock the phone"
99msgid "Try swiping from the right edge to unlock the phone"
100msgstr ""
100msgstr ""
101
101
102−#: Components/EdgeDemo.qml:135
102+#: Components/EdgeDemo.qml:144
103msgid "Top edge"
103msgid "Top edge"
104msgstr ""
104msgstr ""
105
105
106−#: Components/EdgeDemo.qml:136
106+#: Components/EdgeDemo.qml:145
107msgid "Try swiping from the top edge to access the indicators"
107msgid "Try swiping from the top edge to access the indicators"
108msgstr ""
108msgstr ""
109
109
110−#: Components/EdgeDemo.qml:161
110+#: Components/EdgeDemo.qml:170
111msgid "Close"
111msgid "Close"
112msgstr ""
112msgstr ""
113
113
114−#: Components/EdgeDemo.qml:162
114+#: Components/EdgeDemo.qml:171
115msgid "Swipe up again to close the settings screen"
115msgid "Swipe up again to close the settings screen"
116msgstr ""
116msgstr ""
117
117
118−#: Components/EdgeDemo.qml:189
118+#: Components/EdgeDemo.qml:198
119msgid "Left edge"
119msgid "Left edge"
120msgstr ""
120msgstr ""
121
121
122−#: Components/EdgeDemo.qml:190
122+#: Components/EdgeDemo.qml:199
123msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgid "Swipe from the left to reveal the launcher for quick access to apps"
124msgstr ""
124msgstr ""
125
125
126−#: Components/EdgeDemo.qml:217
126+#: Components/EdgeDemo.qml:226
127msgid "Well done"
127msgid "Well done"
128msgstr ""
128msgstr ""
129
129
130−#: Components/EdgeDemo.qml:218
130+#: Components/EdgeDemo.qml:227
131+msgid ""
131−msgid "You have now mastered the edge gestures and can start using the phone"
132+"You have now mastered the edge gestures and can start using the "
133+"phone<br><br>Tap anywhere to start"
132msgstr ""
134msgstr ""
133
135
134#: Components/PageHeader.qml:298
136#: Components/PageHeader.qml:298
@@ -149,23 +151,23 @@ msgid_plural "%1 reviews"
149msgstr[0] ""
151msgstr[0] ""
150msgstr[1] ""
152msgstr[1] ""
151
153
152−#: Dash/Apps/AppPreview.qml:175
154+#: Dash/Apps/AppPreview.qml:178
153msgid "Rate this"
155msgid "Rate this"
154msgstr ""
156msgstr ""
155
157
156−#: Dash/Apps/AppReviews.qml:72
158+#: Dash/Apps/AppReviews.qml:74
157msgid "Add a review"
159msgid "Add a review"
158msgstr ""
160msgstr ""
159
161
160−#: Dash/Apps/AppReviews.qml:84
162+#: Dash/Apps/AppReviews.qml:86
161msgid "Review"
163msgid "Review"
162msgstr ""
164msgstr ""
163
165
164−#: Dash/Apps/AppReviews.qml:118
166+#: Dash/Apps/AppReviews.qml:121
165msgid "Send"
167msgid "Send"
166msgstr ""
168msgstr ""
167
169
168−#: Dash/Apps/AppReviews.qml:136
170+#: Dash/Apps/AppReviews.qml:139
169msgid "Comments:"
171msgid "Comments:"
170msgstr ""
172msgstr ""
171
173
@@ -209,7 +211,7 @@ msgstr ""
209msgid "Author:"
211msgid "Author:"
210msgstr ""
212msgstr ""
211
213
212−#: Greeter/Lockscreen.qml:134
214+#: Greeter/Lockscreen.qml:142
213msgid "Emergency Call"
215msgid "Emergency Call"
214msgstr ""
216msgstr ""
215
217
@@ -246,11 +248,15 @@ msgstr "Говор..."
246msgid "Search"
248msgid "Search"
247msgstr "Претрага"
249msgstr "Претрага"
248
250
249−#: plugins/Unity/scope.cpp:317
251+#: plugins/Unity/scope.cpp:336
250msgid "Sorry, there is nothing that matches your search."
252msgid "Sorry, there is nothing that matches your search."
251msgstr "Нажалост, претрага није наишла на икакво подударање."
253msgstr "Нажалост, претрага није наишла на икакво подударање."
252
254
255+#: plugins/Unity/showallfilteroption.cpp:41
256+msgid "All"
257+msgstr ""
258+
253−#: Shell.qml:429
259+#: Shell.qml:453
254#, qt-format
260#, qt-format
255msgid "Please enter %1"
261msgid "Please enter %1"
256msgstr ""
262msgstr ""
po/sv.po+29−23
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11"PO-Revision-Date: 2013-06-26 22:36+0000\n"
11"PO-Revision-Date: 2013-06-26 22:36+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: 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-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19−"X-Generator: Launchpad (build 16750)\n"
19+"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,48 +86,50 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr ""
91msgstr ""
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr ""
95msgstr ""
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr ""
99msgstr ""
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr ""
103msgstr ""
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr ""
107msgstr ""
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr ""
111msgstr ""
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr ""
115msgstr ""
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr ""
119msgstr ""
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr ""
123msgstr ""
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127msgstr ""
127msgstr ""
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
131msgstr ""
133msgstr ""
132
134
133#: Components/PageHeader.qml:298
135#: Components/PageHeader.qml:298
@@ -148,23 +150,23 @@ msgid_plural "%1 reviews"
148msgstr[0] ""
150msgstr[0] ""
149msgstr[1] ""
151msgstr[1] ""
150
152
151−#: Dash/Apps/AppPreview.qml:175
153+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
154msgid "Rate this"
153msgstr ""
155msgstr ""
154
156
155−#: Dash/Apps/AppReviews.qml:72
157+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
158msgid "Add a review"
157msgstr ""
159msgstr ""
158
160
159−#: Dash/Apps/AppReviews.qml:84
161+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
162msgid "Review"
161msgstr ""
163msgstr ""
162
164
163−#: Dash/Apps/AppReviews.qml:118
165+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
166msgid "Send"
165msgstr ""
167msgstr ""
166
168
167−#: Dash/Apps/AppReviews.qml:136
169+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
170msgid "Comments:"
169msgstr ""
171msgstr ""
170
172
@@ -208,7 +210,7 @@ msgstr ""
208msgid "Author:"
210msgid "Author:"
209msgstr ""
211msgstr ""
210
212
211−#: Greeter/Lockscreen.qml:134
213+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
214msgid "Emergency Call"
213msgstr ""
215msgstr ""
214
216
@@ -245,11 +247,15 @@ msgstr ""
245msgid "Search"
247msgid "Search"
246msgstr ""
248msgstr ""
247
249
248−#: plugins/Unity/scope.cpp:317
250+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
251msgid "Sorry, there is nothing that matches your search."
250msgstr ""
252msgstr ""
251
253
254+#: plugins/Unity/showallfilteroption.cpp:41
255+msgid "All"
256+msgstr ""
257+
252−#: Shell.qml:429
258+#: Shell.qml:453
253#, qt-format
259#, qt-format
254msgid "Please enter %1"
260msgid "Please enter %1"
255msgstr ""
261msgstr ""
po/te.po+29−23
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\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-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19−"X-Generator: Launchpad (build 16750)\n"
19+"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,48 +86,50 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr ""
91msgstr ""
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr ""
95msgstr ""
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr ""
99msgstr ""
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr ""
103msgstr ""
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr ""
107msgstr ""
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr ""
111msgstr ""
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr ""
115msgstr ""
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr ""
119msgstr ""
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr ""
123msgstr ""
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127msgstr ""
127msgstr ""
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
131msgstr ""
133msgstr ""
132
134
133#: Components/PageHeader.qml:298
135#: Components/PageHeader.qml:298
@@ -148,23 +150,23 @@ msgid_plural "%1 reviews"
148msgstr[0] ""
150msgstr[0] ""
149msgstr[1] ""
151msgstr[1] ""
150
152
151−#: Dash/Apps/AppPreview.qml:175
153+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
154msgid "Rate this"
153msgstr ""
155msgstr ""
154
156
155−#: Dash/Apps/AppReviews.qml:72
157+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
158msgid "Add a review"
157msgstr ""
159msgstr ""
158
160
159−#: Dash/Apps/AppReviews.qml:84
161+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
162msgid "Review"
161msgstr ""
163msgstr ""
162
164
163−#: Dash/Apps/AppReviews.qml:118
165+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
166msgid "Send"
165msgstr ""
167msgstr ""
166
168
167−#: Dash/Apps/AppReviews.qml:136
169+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
170msgid "Comments:"
169msgstr ""
171msgstr ""
170
172
@@ -208,7 +210,7 @@ msgstr ""
208msgid "Author:"
210msgid "Author:"
209msgstr ""
211msgstr ""
210
212
211−#: Greeter/Lockscreen.qml:134
213+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
214msgid "Emergency Call"
213msgstr ""
215msgstr ""
214
216
@@ -245,11 +247,15 @@ msgstr ""
245msgid "Search"
247msgid "Search"
246msgstr ""
248msgstr ""
247
249
248−#: plugins/Unity/scope.cpp:317
250+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
251msgid "Sorry, there is nothing that matches your search."
250msgstr ""
252msgstr ""
251
253
254+#: plugins/Unity/showallfilteroption.cpp:41
255+msgid "All"
256+msgstr ""
257+
252−#: Shell.qml:429
258+#: Shell.qml:453
253#, qt-format
259#, qt-format
254msgid "Please enter %1"
260msgid "Please enter %1"
255msgstr ""
261msgstr ""
po/tr.po+58−51
@@ -7,16 +7,16 @@ 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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11−"PO-Revision-Date: 2013-06-27 10:08+0000\n"
11+"PO-Revision-Date: 2013-10-01 13:21+0000\n"
12−"Last-Translator: Adar Cem EREN <adarcemeren34@gmail.com>\n"
12+"Last-Translator: Volkan Gezer <Unknown>\n"
13"Language-Team: Turkish <tr@li.org>\n"
13"Language-Team: Turkish <tr@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
17"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2013-08-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19−"X-Generator: Launchpad (build 16750)\n"
19+"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -64,7 +64,7 @@ msgstr "Ortam Oynatıcı"
64
64
65#: Applications/applications.js:86
65#: Applications/applications.js:86
66msgid "Evernote"
66msgid "Evernote"
67−msgstr ""
67+msgstr "Evernote"
68
68
69#: Applications/applications.js:91
69#: Applications/applications.js:91
70msgid "Map"
70msgid "Map"
@@ -72,11 +72,11 @@ msgstr "Harita"
72
72
73#: Applications/applications.js:96
73#: Applications/applications.js:96
74msgid "Pinterest"
74msgid "Pinterest"
75−msgstr ""
75+msgstr "Pinterest"
76
76
77#: Applications/applications.js:101
77#: Applications/applications.js:101
78msgid "SoundCloud"
78msgid "SoundCloud"
79−msgstr ""
79+msgstr "SoundCloud"
80
80
81#: Applications/applications.js:106
81#: Applications/applications.js:106
82msgid "Wikipedia"
82msgid "Wikipedia"
@@ -86,48 +86,51 @@ msgstr "Vikipedi"
86msgid "YouTube"
86msgid "YouTube"
87msgstr "YouTube"
87msgstr "YouTube"
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91−msgstr ""
91+msgstr "İntro'yu geç"
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95−msgstr ""
95+msgstr "Sağ kenar"
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99−msgstr ""
99+msgstr "Kilidi açmak için sağ kenara sürüklemeyi deneyin"
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103−msgstr ""
103+msgstr "Üst kenar"
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107−msgstr ""
107+msgstr "Bildiricilere erişmek için üst kenarı sürüklemeyi deneyin"
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111−msgstr ""
111+msgstr "Kapat"
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115−msgstr ""
115+msgstr "Ayarlar ekranını kapatmak için tekrar yukarı kaydırın"
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119−msgstr ""
119+msgstr "Sol kenar"
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr ""
123msgstr ""
124+"Uygulamalara hızlı erişim çalıştırıcısını açmak için sol kenarı sürükleyin"
124
125
125−#: Components/EdgeDemo.qml:217
126+#: Components/EdgeDemo.qml:226
126msgid "Well done"
127msgid "Well done"
127−msgstr ""
128+msgstr "Tebrikler"
128
129
129−#: Components/EdgeDemo.qml:218
130+#: Components/EdgeDemo.qml:227
131+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
132+"You have now mastered the edge gestures and can start using the "
133+"phone<br><br>Tap anywhere to start"
131msgstr ""
134msgstr ""
132
135
133#: Components/PageHeader.qml:298
136#: Components/PageHeader.qml:298
@@ -138,35 +141,35 @@ msgstr "Son Arananlar"
138#: Dash/Apps/AppInfo.qml:73
141#: Dash/Apps/AppInfo.qml:73
139#, qt-format
142#, qt-format
140msgid "(%1)"
143msgid "(%1)"
141−msgstr ""
144+msgstr "(%1)"
142
145
143#. TRANSLATORS: Number of persons who wrote reviews for this app
146#. TRANSLATORS: Number of persons who wrote reviews for this app
144#: Dash/Apps/AppInfo.qml:85
147#: Dash/Apps/AppInfo.qml:85
145#, qt-format
148#, qt-format
146msgid "%1 review"
149msgid "%1 review"
147msgid_plural "%1 reviews"
150msgid_plural "%1 reviews"
148−msgstr[0] ""
151+msgstr[0] "%1 inceleme"
149−msgstr[1] ""
152+msgstr[1] "%1 inceleme"
150
153
151−#: Dash/Apps/AppPreview.qml:175
154+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
155msgid "Rate this"
153−msgstr ""
156+msgstr "Oyla"
154
157
155−#: Dash/Apps/AppReviews.qml:72
158+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
159msgid "Add a review"
157−msgstr ""
160+msgstr "Bir inceleme ekle"
158
161
159−#: Dash/Apps/AppReviews.qml:84
162+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
163msgid "Review"
161−msgstr ""
164+msgstr "İnceleme"
162
165
163−#: Dash/Apps/AppReviews.qml:118
166+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
167msgid "Send"
165−msgstr ""
168+msgstr "Gönder"
166
169
167−#: Dash/Apps/AppReviews.qml:136
170+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
171msgid "Comments:"
169−msgstr ""
172+msgstr "Yorumlar:"
170
173
171#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
174#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
172msgid "Featured"
175msgid "Featured"
@@ -178,11 +181,11 @@ msgstr "En Son"
178
181
179#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
182#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
180msgid "New Releases"
183msgid "New Releases"
181−msgstr ""
184+msgstr "Yeni Sürümler"
182
185
183#: Dash/DashMusic.qml:30
186#: Dash/DashMusic.qml:30
184msgid "Top Charting"
187msgid "Top Charting"
185−msgstr ""
188+msgstr "En Çok Beğenilenler"
186
189
187#: Dash/DashMusic.qml:91
190#: Dash/DashMusic.qml:91
188msgid "Music"
191msgid "Music"
@@ -202,20 +205,20 @@ msgstr "Yönetmen"
202
205
203#: Dash/Video/VideoPreview.qml:153
206#: Dash/Video/VideoPreview.qml:153
204msgid "Starring:"
207msgid "Starring:"
205−msgstr ""
208+msgstr "Başroller:"
206
209
207#: Dash/Video/VideoPreview.qml:176
210#: Dash/Video/VideoPreview.qml:176
208msgid "Author:"
211msgid "Author:"
209msgstr "Yazar:"
212msgstr "Yazar:"
210
213
211−#: Greeter/Lockscreen.qml:134
214+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
215msgid "Emergency Call"
213−msgstr ""
216+msgstr "Acil Arama"
214
217
215#: Greeter/PassphraseLockscreen.qml:59
218#: Greeter/PassphraseLockscreen.qml:59
216#, qt-format
219#, qt-format
217msgid "Hello %1"
220msgid "Hello %1"
218−msgstr ""
221+msgstr "Merhaba %1"
219
222
220#: Greeter/PassphraseLockscreen.qml:59
223#: Greeter/PassphraseLockscreen.qml:59
221msgid "Hello"
224msgid "Hello"
@@ -245,11 +248,15 @@ msgstr "Konuşuyor..."
245msgid "Search"
248msgid "Search"
246msgstr "Ara"
249msgstr "Ara"
247
250
248−#: plugins/Unity/scope.cpp:317
251+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
252msgid "Sorry, there is nothing that matches your search."
250msgstr "Üzgünüz, aramanızla eşleşen hiçbir şey yok."
253msgstr "Üzgünüz, aramanızla eşleşen hiçbir şey yok."
251
254
255+#: plugins/Unity/showallfilteroption.cpp:41
256+msgid "All"
257+msgstr ""
258+
252−#: Shell.qml:429
259+#: Shell.qml:453
253#, qt-format
260#, qt-format
254msgid "Please enter %1"
261msgid "Please enter %1"
255−msgstr ""
262+msgstr "Lütfen %1 girin"
po/ug.po+29−23
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\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-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19−"X-Generator: Launchpad (build 16750)\n"
19+"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,48 +86,50 @@ msgstr "ۋىكىپېدىيە"
86msgid "YouTube"
86msgid "YouTube"
87msgstr "YouTube"
87msgstr "YouTube"
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr ""
91msgstr ""
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr ""
95msgstr ""
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr ""
99msgstr ""
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr ""
103msgstr ""
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr ""
107msgstr ""
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr ""
111msgstr ""
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr ""
115msgstr ""
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr ""
119msgstr ""
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr ""
123msgstr ""
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127msgstr ""
127msgstr ""
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
131msgstr ""
133msgstr ""
132
134
133#: Components/PageHeader.qml:298
135#: Components/PageHeader.qml:298
@@ -148,23 +150,23 @@ msgid_plural "%1 reviews"
148msgstr[0] ""
150msgstr[0] ""
149msgstr[1] ""
151msgstr[1] ""
150
152
151−#: Dash/Apps/AppPreview.qml:175
153+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
154msgid "Rate this"
153msgstr ""
155msgstr ""
154
156
155−#: Dash/Apps/AppReviews.qml:72
157+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
158msgid "Add a review"
157msgstr ""
159msgstr ""
158
160
159−#: Dash/Apps/AppReviews.qml:84
161+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
162msgid "Review"
161msgstr ""
163msgstr ""
162
164
163−#: Dash/Apps/AppReviews.qml:118
165+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
166msgid "Send"
165msgstr ""
167msgstr ""
166
168
167−#: Dash/Apps/AppReviews.qml:136
169+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
170msgid "Comments:"
169msgstr ""
171msgstr ""
170
172
@@ -208,7 +210,7 @@ msgstr ""
208msgid "Author:"
210msgid "Author:"
209msgstr "ئاپتور:"
211msgstr "ئاپتور:"
210
212
211−#: Greeter/Lockscreen.qml:134
213+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
214msgid "Emergency Call"
213msgstr ""
215msgstr ""
214
216
@@ -245,11 +247,15 @@ msgstr "سۆزلەۋاتىسىز…"
245msgid "Search"
247msgid "Search"
246msgstr "ئىزدە"
248msgstr "ئىزدە"
247
249
248−#: plugins/Unity/scope.cpp:317
250+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
251msgid "Sorry, there is nothing that matches your search."
250msgstr "كەچۈرۈڭ، ئىزدىگىنىڭىزگە ماس نەتىجە تېپىلمىدى."
252msgstr "كەچۈرۈڭ، ئىزدىگىنىڭىزگە ماس نەتىجە تېپىلمىدى."
251
253
254+#: plugins/Unity/showallfilteroption.cpp:41
255+msgid "All"
256+msgstr ""
257+
252−#: Shell.qml:429
258+#: Shell.qml:453
253#, qt-format
259#, qt-format
254msgid "Please enter %1"
260msgid "Please enter %1"
255msgstr ""
261msgstr ""
po/uk.po+28−23
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11"PO-Revision-Date: 2013-09-28 07:54+0000\n"
11"PO-Revision-Date: 2013-09-28 07:54+0000\n"
12"Last-Translator: Yuri Chornoivan <yurchor@gmail.com>\n"
12"Last-Translator: Yuri Chornoivan <yurchor@gmail.com>\n"
13"Language-Team: Ukrainian <uk@li.org>\n"
13"Language-Team: Ukrainian <uk@li.org>\n"
@@ -16,7 +16,7 @@ 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-09-29 06:18+0000\n"
19+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
20"X-Generator: Launchpad (build 16774)\n"
20"X-Generator: Launchpad (build 16774)\n"
21
21
22#: Applications/applications.js:23
22#: Applications/applications.js:23
@@ -87,53 +87,54 @@ msgstr "Вікіпедія"
87msgid "YouTube"
87msgid "YouTube"
88msgstr "YouTube"
88msgstr "YouTube"
89
89
90−#: Components/EdgeDemoOverlay.qml:145
90+#: Components/EdgeDemoOverlay.qml:150
91msgid "Skip intro"
91msgid "Skip intro"
92msgstr "Пропустити вступ"
92msgstr "Пропустити вступ"
93
93
94−#: Components/EdgeDemo.qml:98
94+#: Components/EdgeDemo.qml:112
95msgid "Right edge"
95msgid "Right edge"
96msgstr "Правий край"
96msgstr "Правий край"
97
97
98−#: Components/EdgeDemo.qml:99
98+#: Components/EdgeDemo.qml:113
99msgid "Try swiping from the right edge to unlock the phone"
99msgid "Try swiping from the right edge to unlock the phone"
100msgstr "Спробуйте провести пальцем від правою краю, щоб розблокувати телефон"
100msgstr "Спробуйте провести пальцем від правою краю, щоб розблокувати телефон"
101
101
102−#: Components/EdgeDemo.qml:135
102+#: Components/EdgeDemo.qml:144
103msgid "Top edge"
103msgid "Top edge"
104msgstr "Верхній край"
104msgstr "Верхній край"
105
105
106−#: Components/EdgeDemo.qml:136
106+#: Components/EdgeDemo.qml:145
107msgid "Try swiping from the top edge to access the indicators"
107msgid "Try swiping from the top edge to access the indicators"
108msgstr ""
108msgstr ""
109"Спробуйте провести пальцем від верхнього краю, щоб розблокувати телефон"
109"Спробуйте провести пальцем від верхнього краю, щоб розблокувати телефон"
110
110
111−#: Components/EdgeDemo.qml:161
111+#: Components/EdgeDemo.qml:170
112msgid "Close"
112msgid "Close"
113msgstr "Закрити"
113msgstr "Закрити"
114
114
115−#: Components/EdgeDemo.qml:162
115+#: Components/EdgeDemo.qml:171
116msgid "Swipe up again to close the settings screen"
116msgid "Swipe up again to close the settings screen"
117msgstr "Проведіть пальцем ще раз, щоб закрити вікно параметрів"
117msgstr "Проведіть пальцем ще раз, щоб закрити вікно параметрів"
118
118
119−#: Components/EdgeDemo.qml:189
119+#: Components/EdgeDemo.qml:198
120msgid "Left edge"
120msgid "Left edge"
121msgstr "Лівий край"
121msgstr "Лівий край"
122
122
123−#: Components/EdgeDemo.qml:190
123+#: Components/EdgeDemo.qml:199
124msgid "Swipe from the left to reveal the launcher for quick access to apps"
124msgid "Swipe from the left to reveal the launcher for quick access to apps"
125msgstr ""
125msgstr ""
126"Проведіть пальцем від лівого краю, щоб відкрити панель запуску для "
126"Проведіть пальцем від лівого краю, щоб відкрити панель запуску для "
127"пришвидшення доступу до програм"
127"пришвидшення доступу до програм"
128
128
129−#: Components/EdgeDemo.qml:217
129+#: Components/EdgeDemo.qml:226
130msgid "Well done"
130msgid "Well done"
131msgstr "Добре"
131msgstr "Добре"
132
132
133−#: Components/EdgeDemo.qml:218
133+#: Components/EdgeDemo.qml:227
134+msgid ""
134−msgid "You have now mastered the edge gestures and can start using the phone"
135+"You have now mastered the edge gestures and can start using the "
136+"phone<br><br>Tap anywhere to start"
135msgstr ""
137msgstr ""
136−"Вами налаштовано жести від країв, ви можете почати користуватися телефоном"
137
138
138#: Components/PageHeader.qml:298
139#: Components/PageHeader.qml:298
139msgid "Recent searches"
140msgid "Recent searches"
@@ -154,23 +155,23 @@ msgstr[0] "%1 рецензія"
154msgstr[1] "%1 рецензії"
155msgstr[1] "%1 рецензії"
155msgstr[2] "%1 рецензій"
156msgstr[2] "%1 рецензій"
156
157
157−#: Dash/Apps/AppPreview.qml:175
158+#: Dash/Apps/AppPreview.qml:178
158msgid "Rate this"
159msgid "Rate this"
159msgstr "Оцінити"
160msgstr "Оцінити"
160
161
161−#: Dash/Apps/AppReviews.qml:72
162+#: Dash/Apps/AppReviews.qml:74
162msgid "Add a review"
163msgid "Add a review"
163msgstr "Додати рецензію"
164msgstr "Додати рецензію"
164
165
165−#: Dash/Apps/AppReviews.qml:84
166+#: Dash/Apps/AppReviews.qml:86
166msgid "Review"
167msgid "Review"
167msgstr "Рецензія"
168msgstr "Рецензія"
168
169
169−#: Dash/Apps/AppReviews.qml:118
170+#: Dash/Apps/AppReviews.qml:121
170msgid "Send"
171msgid "Send"
171msgstr "Надіслати"
172msgstr "Надіслати"
172
173
173−#: Dash/Apps/AppReviews.qml:136
174+#: Dash/Apps/AppReviews.qml:139
174msgid "Comments:"
175msgid "Comments:"
175msgstr "Коментарі:"
176msgstr "Коментарі:"
176
177
@@ -214,7 +215,7 @@ msgstr "Актори:"
214msgid "Author:"
215msgid "Author:"
215msgstr "Автор:"
216msgstr "Автор:"
216
217
217−#: Greeter/Lockscreen.qml:134
218+#: Greeter/Lockscreen.qml:142
218msgid "Emergency Call"
219msgid "Emergency Call"
219msgstr "Терміновий виклик"
220msgstr "Терміновий виклик"
220
221
@@ -251,11 +252,15 @@ msgstr "Мовлення…"
251msgid "Search"
252msgid "Search"
252msgstr "Пошук"
253msgstr "Пошук"
253
254
254−#: plugins/Unity/scope.cpp:317
255+#: plugins/Unity/scope.cpp:336
255msgid "Sorry, there is nothing that matches your search."
256msgid "Sorry, there is nothing that matches your search."
256msgstr "Вибачте, для вказаних вами ключових слів нічого не знайдено."
257msgstr "Вибачте, для вказаних вами ключових слів нічого не знайдено."
257
258
259+#: plugins/Unity/showallfilteroption.cpp:41
260+msgid "All"
261+msgstr ""
262+
258−#: Shell.qml:429
263+#: Shell.qml:453
259#, qt-format
264#, qt-format
260msgid "Please enter %1"
265msgid "Please enter %1"
261msgstr "Будь ласка, введіть %1"
266msgstr "Будь ласка, введіть %1"
po/unity8.pot+27−21
@@ -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-27 13:36-0400\n"
11+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14"Language-Team: LANGUAGE <LL@li.org>\n"
14"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -86,48 +86,50 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr ""
91msgstr ""
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr ""
95msgstr ""
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr ""
99msgstr ""
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr ""
103msgstr ""
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr ""
107msgstr ""
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr ""
111msgstr ""
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr ""
115msgstr ""
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr ""
119msgstr ""
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr ""
123msgstr ""
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127msgstr ""
127msgstr ""
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
131msgstr ""
133msgstr ""
132
134
133#: Components/PageHeader.qml:298
135#: Components/PageHeader.qml:298
@@ -148,23 +150,23 @@ msgid_plural "%1 reviews"
148msgstr[0] ""
150msgstr[0] ""
149msgstr[1] ""
151msgstr[1] ""
150
152
151−#: Dash/Apps/AppPreview.qml:175
153+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
154msgid "Rate this"
153msgstr ""
155msgstr ""
154
156
155−#: Dash/Apps/AppReviews.qml:72
157+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
158msgid "Add a review"
157msgstr ""
159msgstr ""
158
160
159−#: Dash/Apps/AppReviews.qml:84
161+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
162msgid "Review"
161msgstr ""
163msgstr ""
162
164
163−#: Dash/Apps/AppReviews.qml:118
165+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
166msgid "Send"
165msgstr ""
167msgstr ""
166
168
167−#: Dash/Apps/AppReviews.qml:136
169+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
170msgid "Comments:"
169msgstr ""
171msgstr ""
170
172
@@ -208,7 +210,7 @@ msgstr ""
208msgid "Author:"
210msgid "Author:"
209msgstr ""
211msgstr ""
210
212
211−#: Greeter/Lockscreen.qml:134
213+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
214msgid "Emergency Call"
213msgstr ""
215msgstr ""
214
216
@@ -245,11 +247,15 @@ msgstr ""
245msgid "Search"
247msgid "Search"
246msgstr ""
248msgstr ""
247
249
248−#: plugins/Unity/scope.cpp:317
250+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
251msgid "Sorry, there is nothing that matches your search."
250msgstr ""
252msgstr ""
251
253
254+#: plugins/Unity/showallfilteroption.cpp:41
255+msgid "All"
256+msgstr ""
257+
252−#: Shell.qml:429
258+#: Shell.qml:453
253#, qt-format
259#, qt-format
254msgid "Please enter %1"
260msgid "Please enter %1"
255msgstr ""
261msgstr ""
po/xh.po+28−22
@@ -7,7 +7,7 @@ msgid ""
7msgstr ""
7msgstr ""
8"Project-Id-Version: unity8\n"
8"Project-Id-Version: unity8\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10−"POT-Creation-Date: 2013-08-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11"PO-Revision-Date: 2013-09-28 13:20+0000\n"
11"PO-Revision-Date: 2013-09-28 13:20+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Xhosa <xh@li.org>\n"
13"Language-Team: Xhosa <xh@li.org>\n"
@@ -15,7 +15,7 @@ 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-09-29 06:18+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19"X-Generator: Launchpad (build 16774)\n"
19"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -86,48 +86,50 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr ""
91msgstr ""
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr ""
95msgstr ""
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr ""
99msgstr ""
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr ""
103msgstr ""
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr ""
107msgstr ""
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr ""
111msgstr ""
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr ""
115msgstr ""
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr ""
119msgstr ""
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr ""
123msgstr ""
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127msgstr ""
127msgstr ""
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
131msgstr ""
133msgstr ""
132
134
133#: Components/PageHeader.qml:298
135#: Components/PageHeader.qml:298
@@ -148,23 +150,23 @@ msgid_plural "%1 reviews"
148msgstr[0] ""
150msgstr[0] ""
149msgstr[1] ""
151msgstr[1] ""
150
152
151−#: Dash/Apps/AppPreview.qml:175
153+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
154msgid "Rate this"
153msgstr ""
155msgstr ""
154
156
155−#: Dash/Apps/AppReviews.qml:72
157+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
158msgid "Add a review"
157msgstr ""
159msgstr ""
158
160
159−#: Dash/Apps/AppReviews.qml:84
161+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
162msgid "Review"
161msgstr ""
163msgstr ""
162
164
163−#: Dash/Apps/AppReviews.qml:118
165+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
166msgid "Send"
165msgstr ""
167msgstr ""
166
168
167−#: Dash/Apps/AppReviews.qml:136
169+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
170msgid "Comments:"
169msgstr ""
171msgstr ""
170
172
@@ -208,7 +210,7 @@ msgstr ""
208msgid "Author:"
210msgid "Author:"
209msgstr ""
211msgstr ""
210
212
211−#: Greeter/Lockscreen.qml:134
213+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
214msgid "Emergency Call"
213msgstr ""
215msgstr ""
214
216
@@ -245,11 +247,15 @@ msgstr ""
245msgid "Search"
247msgid "Search"
246msgstr ""
248msgstr ""
247
249
248−#: plugins/Unity/scope.cpp:317
250+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
251msgid "Sorry, there is nothing that matches your search."
250msgstr ""
252msgstr ""
251
253
254+#: plugins/Unity/showallfilteroption.cpp:41
255+msgid "All"
256+msgstr ""
257+
252−#: Shell.qml:429
258+#: Shell.qml:453
253#, qt-format
259#, qt-format
254msgid "Please enter %1"
260msgid "Please enter %1"
255msgstr ""
261msgstr ""
po/zh_CN.po+29−23
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\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-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19−"X-Generator: Launchpad (build 16750)\n"
19+"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,48 +86,50 @@ msgstr "维基百科"
86msgid "YouTube"
86msgid "YouTube"
87msgstr "YouTube"
87msgstr "YouTube"
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr ""
91msgstr ""
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr ""
95msgstr ""
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr ""
99msgstr ""
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr ""
103msgstr ""
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr ""
107msgstr ""
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr ""
111msgstr ""
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr ""
115msgstr ""
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr ""
119msgstr ""
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr ""
123msgstr ""
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127msgstr ""
127msgstr ""
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
131msgstr ""
133msgstr ""
132
134
133#: Components/PageHeader.qml:298
135#: Components/PageHeader.qml:298
@@ -148,23 +150,23 @@ msgid_plural "%1 reviews"
148msgstr[0] ""
150msgstr[0] ""
149msgstr[1] ""
151msgstr[1] ""
150
152
151−#: Dash/Apps/AppPreview.qml:175
153+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
154msgid "Rate this"
153msgstr ""
155msgstr ""
154
156
155−#: Dash/Apps/AppReviews.qml:72
157+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
158msgid "Add a review"
157msgstr ""
159msgstr ""
158
160
159−#: Dash/Apps/AppReviews.qml:84
161+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
162msgid "Review"
161msgstr ""
163msgstr ""
162
164
163−#: Dash/Apps/AppReviews.qml:118
165+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
166msgid "Send"
165msgstr ""
167msgstr ""
166
168
167−#: Dash/Apps/AppReviews.qml:136
169+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
170msgid "Comments:"
169msgstr ""
171msgstr ""
170
172
@@ -208,7 +210,7 @@ msgstr "主演:"
208msgid "Author:"
210msgid "Author:"
209msgstr "作者:"
211msgstr "作者:"
210
212
211−#: Greeter/Lockscreen.qml:134
213+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
214msgid "Emergency Call"
213msgstr ""
215msgstr ""
214
216
@@ -245,11 +247,15 @@ msgstr "讲话中..."
245msgid "Search"
247msgid "Search"
246msgstr "搜索"
248msgstr "搜索"
247
249
248−#: plugins/Unity/scope.cpp:317
250+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
251msgid "Sorry, there is nothing that matches your search."
250msgstr "对不起,没有找到您想要的结果。"
252msgstr "对不起,没有找到您想要的结果。"
251
253
254+#: plugins/Unity/showallfilteroption.cpp:41
255+msgid "All"
256+msgstr ""
257+
252−#: Shell.qml:429
258+#: Shell.qml:453
253#, qt-format
259#, qt-format
254msgid "Please enter %1"
260msgid "Please enter %1"
255msgstr ""
261msgstr ""
po/zh_TW.po+29−23
@@ -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-27 13:36-0400\n"
10+"POT-Creation-Date: 2013-10-01 09:43+0200\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-30 05:37+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-02 06:03+0000\n"
19−"X-Generator: Launchpad (build 16750)\n"
19+"X-Generator: Launchpad (build 16774)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -86,48 +86,50 @@ msgstr ""
86msgid "YouTube"
86msgid "YouTube"
87msgstr ""
87msgstr ""
88
88
89−#: Components/EdgeDemoOverlay.qml:145
89+#: Components/EdgeDemoOverlay.qml:150
90msgid "Skip intro"
90msgid "Skip intro"
91msgstr ""
91msgstr ""
92
92
93−#: Components/EdgeDemo.qml:98
93+#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95msgstr ""
95msgstr ""
96
96
97−#: Components/EdgeDemo.qml:99
97+#: Components/EdgeDemo.qml:113
98msgid "Try swiping from the right edge to unlock the phone"
98msgid "Try swiping from the right edge to unlock the phone"
99msgstr ""
99msgstr ""
100
100
101−#: Components/EdgeDemo.qml:135
101+#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
103msgstr ""
103msgstr ""
104
104
105−#: Components/EdgeDemo.qml:136
105+#: Components/EdgeDemo.qml:145
106msgid "Try swiping from the top edge to access the indicators"
106msgid "Try swiping from the top edge to access the indicators"
107msgstr ""
107msgstr ""
108
108
109−#: Components/EdgeDemo.qml:161
109+#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
111msgstr ""
111msgstr ""
112
112
113−#: Components/EdgeDemo.qml:162
113+#: Components/EdgeDemo.qml:171
114msgid "Swipe up again to close the settings screen"
114msgid "Swipe up again to close the settings screen"
115msgstr ""
115msgstr ""
116
116
117−#: Components/EdgeDemo.qml:189
117+#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
119msgstr ""
119msgstr ""
120
120
121−#: Components/EdgeDemo.qml:190
121+#: Components/EdgeDemo.qml:199
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
122msgid "Swipe from the left to reveal the launcher for quick access to apps"
123msgstr ""
123msgstr ""
124
124
125−#: Components/EdgeDemo.qml:217
125+#: Components/EdgeDemo.qml:226
126msgid "Well done"
126msgid "Well done"
127msgstr ""
127msgstr ""
128
128
129−#: Components/EdgeDemo.qml:218
129+#: Components/EdgeDemo.qml:227
130+msgid ""
130−msgid "You have now mastered the edge gestures and can start using the phone"
131+"You have now mastered the edge gestures and can start using the "
132+"phone<br><br>Tap anywhere to start"
131msgstr ""
133msgstr ""
132
134
133#: Components/PageHeader.qml:298
135#: Components/PageHeader.qml:298
@@ -148,23 +150,23 @@ msgid_plural "%1 reviews"
148msgstr[0] ""
150msgstr[0] ""
149msgstr[1] ""
151msgstr[1] ""
150
152
151−#: Dash/Apps/AppPreview.qml:175
153+#: Dash/Apps/AppPreview.qml:178
152msgid "Rate this"
154msgid "Rate this"
153msgstr ""
155msgstr ""
154
156
155−#: Dash/Apps/AppReviews.qml:72
157+#: Dash/Apps/AppReviews.qml:74
156msgid "Add a review"
158msgid "Add a review"
157msgstr ""
159msgstr ""
158
160
159−#: Dash/Apps/AppReviews.qml:84
161+#: Dash/Apps/AppReviews.qml:86
160msgid "Review"
162msgid "Review"
161msgstr ""
163msgstr ""
162
164
163−#: Dash/Apps/AppReviews.qml:118
165+#: Dash/Apps/AppReviews.qml:121
164msgid "Send"
166msgid "Send"
165msgstr ""
167msgstr ""
166
168
167−#: Dash/Apps/AppReviews.qml:136
169+#: Dash/Apps/AppReviews.qml:139
168msgid "Comments:"
170msgid "Comments:"
169msgstr ""
171msgstr ""
170
172
@@ -208,7 +210,7 @@ msgstr ""
208msgid "Author:"
210msgid "Author:"
209msgstr ""
211msgstr ""
210
212
211−#: Greeter/Lockscreen.qml:134
213+#: Greeter/Lockscreen.qml:142
212msgid "Emergency Call"
214msgid "Emergency Call"
213msgstr ""
215msgstr ""
214
216
@@ -245,11 +247,15 @@ msgstr "說話中..."
245msgid "Search"
247msgid "Search"
246msgstr "搜尋"
248msgstr "搜尋"
247
249
248−#: plugins/Unity/scope.cpp:317
250+#: plugins/Unity/scope.cpp:336
249msgid "Sorry, there is nothing that matches your search."
251msgid "Sorry, there is nothing that matches your search."
250msgstr "很抱歉,找不到符合您想搜尋的結果。"
252msgstr "很抱歉,找不到符合您想搜尋的結果。"
251
253
254+#: plugins/Unity/showallfilteroption.cpp:41
255+msgid "All"
256+msgstr ""
257+
252−#: Shell.qml:429
258+#: Shell.qml:453
253#, qt-format
259#, qt-format
254msgid "Please enter %1"
260msgid "Please enter %1"
255msgstr ""
261msgstr ""
tests/autopilot/unity8/indicators_client/emulators/main_window.py+1−1
@@ -24,4 +24,4 @@ class MainWindow(object):
24
24
25 def get_battery_menu(self):
25 def get_battery_menu(self):
26 """Get the battery menu from the list"""
26 """Get the battery menu from the list"""
27− return self.app.select_single("BasicMenuItem", objectName="indicator-battery");
27+ return self.app.select_single("BaseMenuItem", objectName="indicator-battery");
tests/autopilot/unity8/shell/__init__.py+14
@@ -19,6 +19,7 @@
19
19
20"""unity shell autopilot tests and emulators - sub level package."""
20"""unity shell autopilot tests and emulators - sub level package."""
21
21
22+from time import sleep
22from functools import wraps
23from functools import wraps
23import logging
24import logging
24
25
@@ -46,3 +47,16 @@ def disable_qml_mocking(fn):
46 tests_self._qml_mock_enabled = False
47 tests_self._qml_mock_enabled = False
47 return fn(*args, **kwargs)
48 return fn(*args, **kwargs)
48 return wrapper
49 return wrapper
50+
51+class DragMixin(object):
52+ def _drag(self, x1, y1, x2, y2):
53+ cur_x = x1
54+ cur_y = y1
55+ dx = 1.0 * (x2 - x1) / 100
56+ dy = 1.0 * (y2 - y1) / 100
57+ for i in range(0, 100):
58+ self.touch._finger_move(int(cur_x), int(cur_y))
59+ sleep(0.002)
60+ cur_x += dx
61+ cur_y += dy
62+ self.touch._finger_move(int(x2), int(y2))
tests/autopilot/unity8/shell/emulators/dash.py+15−6
@@ -18,17 +18,22 @@
18#
18#
19
19
20from unity8.shell.emulators import UnityEmulatorBase
20from unity8.shell.emulators import UnityEmulatorBase
21−
21+from time import sleep
22
22
23class Dash(UnityEmulatorBase):
23class Dash(UnityEmulatorBase):
24
24
25 """An emulator that understands the Dash."""
25 """An emulator that understands the Dash."""
26
26
27 def get_home_applications_grid(self):
27 def get_home_applications_grid(self):
28+ for i in range(1,10):
28− return self.get_scope('home').select_single(
29+ get_grid = self.get_scope('home').select_single(
29− "GenericFilterGrid",
30+ "GenericFilterGrid",
30− objectName="applications.scope"
31+ objectName="applications.scope"
31− )
32+ )
33+ if get_grid != None:
34+ break
35+ sleep(1)
36+ return get_grid
32
37
33 def get_application_icon(self, text):
38 def get_application_icon(self, text):
34 """Returns a 'Tile' icon that has the text 'text' from the application
39 """Returns a 'Tile' icon that has the text 'text' from the application
@@ -40,7 +45,11 @@ class Dash(UnityEmulatorBase):
40
45
41 """
46 """
42 app_grid = self.get_home_applications_grid()
47 app_grid = self.get_home_applications_grid()
48+ for i in range(1,10):
43− resp_grid = app_grid.select_single('ResponsiveGridView')
49+ resp_grid = app_grid.select_single('ResponsiveGridView')
50+ if resp_grid != None:
51+ break
52+ sleep(1)
44 return resp_grid.select_single('Tile', text=text)
53 return resp_grid.select_single('Tile', text=text)
45
54
46 def get_scope(self, scope_name='home'):
55 def get_scope(self, scope_name='home'):
tests/autopilot/unity8/shell/emulators/hud.py+8−9
@@ -21,36 +21,35 @@ from collections import namedtuple
21
21
22from unity8 import get_grid_size
22from unity8 import get_grid_size
23from unity8.shell.emulators import UnityEmulatorBase
23from unity8.shell.emulators import UnityEmulatorBase
24+from unity8.shell import DragMixin
24from autopilot.input import Touch
25from autopilot.input import Touch
25
26
26−
27SwipeCoords = namedtuple('SwipeCoords', 'start_x end_x start_y end_y')
27SwipeCoords = namedtuple('SwipeCoords', 'start_x end_x start_y end_y')
28
28
29−
30−class Hud(UnityEmulatorBase):
29+class Hud(UnityEmulatorBase, DragMixin):
31
30
32 """An emulator that understands the Hud."""
31 """An emulator that understands the Hud."""
33
32
34 def show(self):
33 def show(self):
35 """Swipes open the Hud."""
34 """Swipes open the Hud."""
36− touch = Touch.create()
35+ self.touch = Touch.create()
37
36
38 window = self.get_root_instance().select_single('QQuickView')
37 window = self.get_root_instance().select_single('QQuickView')
39 hud_show_button = window.select_single("HudButton")
38 hud_show_button = window.select_single("HudButton")
40
39
41 swipe_coords = self.get_button_swipe_coords(window, hud_show_button)
40 swipe_coords = self.get_button_swipe_coords(window, hud_show_button)
42
41
43− touch.press(swipe_coords.start_x, swipe_coords.start_y)
42+ self.touch.press(swipe_coords.start_x, swipe_coords.start_y)
44− touch._finger_move(swipe_coords.end_x, swipe_coords.end_y)
43+ self._drag(swipe_coords.start_x, swipe_coords.start_y, swipe_coords.start_x, swipe_coords.end_y)
45 try:
44 try:
46 hud_show_button.opacity.wait_for(1.0)
45 hud_show_button.opacity.wait_for(1.0)
47− touch.release()
46+ self.touch.release()
48 self.shown.wait_for(True)
47 self.shown.wait_for(True)
49 except AssertionError:
48 except AssertionError:
50 raise
49 raise
51 finally:
50 finally:
52− if touch._touch_finger is not None:
51+ if self.touch._touch_finger is not None:
53− touch.release()
52+ self.touch.release()
54
53
55 def dismiss(self):
54 def dismiss(self):
56 """Closes the open Hud."""
55 """Closes the open Hud."""
tests/autopilot/unity8/shell/emulators/main_window.py+3
@@ -58,6 +58,9 @@ class MainWindow(object):
58 def get_hud_show_button(self):
58 def get_hud_show_button(self):
59 return self.app.select_single("HudButton")
59 return self.app.select_single("HudButton")
60
60
61+ def get_hud_edge_drag_area(self):
62+ return self.app.select_single(objectName="hudDragArea")
63+
61 def get_dash(self):
64 def get_dash(self):
62 return self.app.select_single(Dash)
65 return self.app.select_single(Dash)
63
66
tests/autopilot/unity8/shell/tests/__init__.py+2−3
@@ -103,9 +103,8 @@ class UnityTestCase(AutopilotTestCase):
103 width = getattr(self, 'app_width', 0)
103 width = getattr(self, 'app_width', 0)
104 height = getattr(self, 'app_height', 0)
104 height = getattr(self, 'app_height', 0)
105 scale_divisor = 1
105 scale_divisor = 1
106− if width == 0 and width == 0:
107− self.unity_geometry_args = ['-fullscreen']
106+ self.unity_geometry_args = []
108− else:
107+ if width > 0 and height > 0:
109 if self._geo_larger_than_display(width, height):
108 if self._geo_larger_than_display(width, height):
110 scale_divisor = self._get_scaled_down_geo(width, height)
109 scale_divisor = self._get_scaled_down_geo(width, height)
111 width = width / scale_divisor
110 width = width / scale_divisor
tests/autopilot/unity8/shell/tests/test_hud.py+43−9
@@ -19,29 +19,30 @@
19
19
20from __future__ import absolute_import
20from __future__ import absolute_import
21
21
22−from unity8.shell import with_lightdm_mock
22+from unity8.shell import with_lightdm_mock, DragMixin
23from unity8.shell.tests import UnityTestCase, _get_device_emulation_scenarios
23from unity8.shell.tests import UnityTestCase, _get_device_emulation_scenarios
24
24
25from testtools.matchers import Equals
25from testtools.matchers import Equals
26from autopilot.matchers import Eventually
26from autopilot.matchers import Eventually
27
27
28−
29−class TestHud(UnityTestCase):
28+class TestHud(UnityTestCase, DragMixin):
30
29
31 """Tests the Shell HUD."""
30 """Tests the Shell HUD."""
32
31
33 scenarios = _get_device_emulation_scenarios()
32 scenarios = _get_device_emulation_scenarios()
34
33
35 def test_show_hud_button_appears(self):
34 def test_show_hud_button_appears(self):
36− """Swiping up while an app is active must show the 'show hud' button.
35+ """Swiping up while an app is active must show the 'show hud' button, following some behaviours.
37 The button must disappear not opening the HUD when releasing the
36 The button must disappear not opening the HUD when releasing the
38− mouse again somewhere on the screen except on the button itself.
37+ mouse again somewhere on the screen except on the button itself following a timeout.
38+ The button must disappear when touching somewhere on the screen except the button itself.
39
39
40 """
40 """
41 self.launch_unity()
41 self.launch_unity()
42 self.main_window.get_greeter().swipe()
42 self.main_window.get_greeter().swipe()
43 window = self.main_window.get_qml_view()
43 window = self.main_window.get_qml_view()
44 hud_show_button = self.main_window.get_hud_show_button()
44 hud_show_button = self.main_window.get_hud_show_button()
45+ edge_drag_area = self.main_window.get_hud_edge_drag_area()
45 hud = self.main_window.get_hud()
46 hud = self.main_window.get_hud()
46
47
47 self._launch_test_app_from_app_screen()
48 self._launch_test_app_from_app_screen()
@@ -50,16 +51,33 @@ class TestHud(UnityTestCase):
50 window,
51 window,
51 hud_show_button
52 hud_show_button
52 )
53 )
54+ initialBottomMargin = int(hud_show_button.bottomMargin)
55+
53 self.touch.press(swipe_coords.start_x, swipe_coords.start_y)
56 self.touch.press(swipe_coords.start_x, swipe_coords.start_y)
54 self.addCleanup(self._maybe_release_finger)
57 self.addCleanup(self._maybe_release_finger)
55− self.touch._finger_move(swipe_coords.end_x, swipe_coords.end_y + hud_show_button.height);
58+ self._drag(swipe_coords.start_x, swipe_coords.start_y, swipe_coords.start_x, swipe_coords.start_y - int(edge_drag_area.distanceThreshold) - 5)
59+ self.assertThat(hud_show_button.opacity, Eventually(Equals(0.5)))
60+ self.assertThat(hud_show_button.bottomMargin, Eventually(Equals(initialBottomMargin)))
61+ self._drag(swipe_coords.start_x, swipe_coords.start_y - int(edge_drag_area.distanceThreshold) - 5, swipe_coords.end_x, swipe_coords.start_y - int(edge_drag_area.distanceThreshold) - int(edge_drag_area.commitDistance) - 5)
56 self.assertThat(hud_show_button.opacity, Eventually(Equals(1.0)))
62 self.assertThat(hud_show_button.opacity, Eventually(Equals(1.0)))
63+ self.assertThat(hud_show_button.bottomMargin, Eventually(Equals(0.0)))
57 self.touch.release();
64 self.touch.release();
65+ self.assertThat(hud.shown, Equals(False))
58 self.assertThat(hud_show_button.opacity, Eventually(Equals(0.0)))
66 self.assertThat(hud_show_button.opacity, Eventually(Equals(0.0)))
67+
68+ self.touch.press(swipe_coords.start_x, swipe_coords.start_y)
69+ self._drag(swipe_coords.start_x, swipe_coords.start_y, swipe_coords.start_x, swipe_coords.end_y - int(hud_show_button.height))
70+ self.assertThat(hud.shown, Equals(False))
71+ self.assertThat(hud_show_button.opacity, Eventually(Equals(1.0)))
72+ self.touch.release()
73+ self.assertThat(hud_show_button.opacity, Eventually(Equals(1.0)))
74+ self.touch.tap(swipe_coords.end_x, swipe_coords.end_y - int(hud_show_button.height))
59 self.assertThat(hud.shown, Equals(False))
75 self.assertThat(hud.shown, Equals(False))
76+ self.assertThat(hud_show_button.opacity, Eventually(Equals(0.0)))
60
77
61 def test_show_hud_appears(self):
78 def test_show_hud_appears(self):
62 """Releasing the touch on the 'show hud' button must display the hud.
79 """Releasing the touch on the 'show hud' button must display the hud.
80+ Test that the hud button stays on screen and tapping it opens the hud.
63
81
64 """
82 """
65 self.launch_unity()
83 self.launch_unity()
@@ -74,14 +92,28 @@ class TestHud(UnityTestCase):
74 window,
92 window,
75 hud_show_button
93 hud_show_button
76 )
94 )
95+
77 self.touch.press(swipe_coords.start_x, swipe_coords.start_y)
96 self.touch.press(swipe_coords.start_x, swipe_coords.start_y)
78 self.addCleanup(self._maybe_release_finger)
97 self.addCleanup(self._maybe_release_finger)
79− self.touch._finger_move(swipe_coords.end_x, swipe_coords.end_y)
98+ self._drag(swipe_coords.start_x, swipe_coords.start_y, swipe_coords.start_x, swipe_coords.end_y)
80−
99+ self.assertThat(hud.shown, Eventually(Equals(False)))
100+ self.assertThat(hud_show_button.opacity, Eventually(Equals(1.0)))
101+ self.touch.release()
102+ self.assertThat(hud.shown, Eventually(Equals(True)))
103+ self.assertThat(hud_show_button.opacity, Eventually(Equals(0.0)))
104+ x, y = hud.get_close_button_coords()
105+ self.touch.tap(x, y)
81 self.assertThat(hud.shown, Eventually(Equals(False)))
106 self.assertThat(hud.shown, Eventually(Equals(False)))
107+
108+ self.touch.press(swipe_coords.start_x, swipe_coords.start_y)
109+ self._drag(swipe_coords.start_x, swipe_coords.start_y, swipe_coords.start_x, swipe_coords.end_y - int(hud_show_button.height))
110+ self.assertThat(hud.shown, Equals(False))
82 self.assertThat(hud_show_button.opacity, Eventually(Equals(1.0)))
111 self.assertThat(hud_show_button.opacity, Eventually(Equals(1.0)))
83 self.touch.release()
112 self.touch.release()
113+ self.assertThat(hud_show_button.opacity, Eventually(Equals(1.0)))
114+ self.touch.tap(swipe_coords.end_x, swipe_coords.end_y)
84 self.assertThat(hud.shown, Eventually(Equals(True)))
115 self.assertThat(hud.shown, Eventually(Equals(True)))
116+ self.assertThat(hud_show_button.opacity, Eventually(Equals(0.0)))
85
117
86 def test_hide_hud_click(self):
118 def test_hide_hud_click(self):
87 """Tapping the close button of the Hud must dismiss it."""
119 """Tapping the close button of the Hud must dismiss it."""
@@ -90,6 +122,7 @@ class TestHud(UnityTestCase):
90 hud = self.main_window.get_hud()
122 hud = self.main_window.get_hud()
91
123
92 self._launch_test_app_from_app_screen()
124 self._launch_test_app_from_app_screen()
125+
93 hud.show()
126 hud.show()
94
127
95 x, y = hud.get_close_button_coords()
128 x, y = hud.get_close_button_coords()
@@ -103,10 +136,11 @@ class TestHud(UnityTestCase):
103 """
136 """
104 self.launch_unity()
137 self.launch_unity()
105 self.main_window.get_greeter().swipe()
138 self.main_window.get_greeter().swipe()
106− hud = self.main_window.get_hud()
107 window = self.main_window.get_qml_view()
139 window = self.main_window.get_qml_view()
140+ hud = self.main_window.get_hud()
108
141
109 self._launch_test_app_from_app_screen()
142 self._launch_test_app_from_app_screen()
143+
110 hud.show()
144 hud.show()
111
145
112 start_x, start_y = hud.get_close_button_coords()
146 start_x, start_y = hud.get_close_button_coords()
tests/mocks/AccountsService/AccountsService.cpp+13−1
@@ -20,7 +20,8 @@
20
20
21AccountsService::AccountsService(QObject* parent)
21AccountsService::AccountsService(QObject* parent)
22 : QObject(parent),
22 : QObject(parent),
23− m_backgroundFile(TOP_SRCDIR "/graphics/phone_background.jpg")
23+ m_backgroundFile(TOP_SRCDIR "/graphics/phone_background.jpg"),
24+ m_statsWelcomeScreen(true)
24{
25{
25}
26}
26
27
@@ -54,3 +55,14 @@ void AccountsService::setBackgroundFile(const QString &backgroundFile)
54 m_backgroundFile = backgroundFile;
55 m_backgroundFile = backgroundFile;
55 backgroundFileChanged();
56 backgroundFileChanged();
56}
57}
58+
59+bool AccountsService::statsWelcomeScreen() const
60+{
61+ return m_statsWelcomeScreen;
62+}
63+
64+void AccountsService::setStatsWelcomeScreen(bool statsWelcomeScreen)
65+{
66+ m_statsWelcomeScreen = statsWelcomeScreen;
67+ statsWelcomeScreenChanged();
68+}
tests/mocks/AccountsService/AccountsService.h+8
@@ -39,6 +39,10 @@ class AccountsService: public QObject
39 READ backgroundFile
39 READ backgroundFile
40 WRITE setBackgroundFile // only available in mock
40 WRITE setBackgroundFile // only available in mock
41 NOTIFY backgroundFileChanged)
41 NOTIFY backgroundFileChanged)
42+ Q_PROPERTY (bool statsWelcomeScreen
43+ READ statsWelcomeScreen
44+ WRITE setStatsWelcomeScreen // only available in mock
45+ NOTIFY statsWelcomeScreenChanged)
42
46
43public:
47public:
44 explicit AccountsService(QObject *parent = 0);
48 explicit AccountsService(QObject *parent = 0);
@@ -49,14 +53,18 @@ public:
49 void setDemoEdges(bool demoEdges);
53 void setDemoEdges(bool demoEdges);
50 QString backgroundFile() const;
54 QString backgroundFile() const;
51 void setBackgroundFile(const QString &backgroundFile);
55 void setBackgroundFile(const QString &backgroundFile);
56+ bool statsWelcomeScreen() const;
57+ void setStatsWelcomeScreen(bool statsWelcomeScreen);
52
58
53Q_SIGNALS:
59Q_SIGNALS:
54 void userChanged();
60 void userChanged();
55 void demoEdgesChanged();
61 void demoEdgesChanged();
56 void backgroundFileChanged();
62 void backgroundFileChanged();
63+ void statsWelcomeScreenChanged();
57
64
58private:
65private:
59 QString m_backgroundFile;
66 QString m_backgroundFile;
67+ bool m_statsWelcomeScreen;
60};
68};
61
69
62#endif
70#endif
plugins/Unity/Indicators/Network/plugin.cpp → tests/mocks/QMenuModel/UnityMenuModel.qmlrenamed+9−14
@@ -1,5 +1,8 @@
1/*
1/*
2− * Copyright (C) 2012 Canonical, Ltd.
2+ * Copyright (C) 2013 Canonical, Ltd.
3+ *
4+ * Authors:
5+ * Mirco Müller <mirco.mueller@canonical.com>
3 *
6 *
4 * This program is free software; you can redistribute it and/or modify
7 * 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
8 * it under the terms of the GNU General Public License as published by
@@ -12,20 +15,12 @@
12 *
15 *
13 * You should have received a copy of the GNU General Public License
16 * 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/>.
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− *
16− * Author: Nick Dedekind <nick.dedekind@canonical.com>
17 */
18 */
18
19
19−// Qt
20+import QtQuick 2.0
20−#include <QtQml/qqml.h>
21−
22−// self
23−#include "plugin.h"
24−
25−// local
26−#include "networkagent.h"
27
21
28−void IndicatorsNetworkPlugin::registerTypes(const char *uri)
22+QtObject {
29−{
23+ property variant busName
30− qmlRegisterType<NetworkAgent>(uri, 0, 1, "NetworkAgent");
24+ property variant actions
25+ property variant menuObjectPath
31}
26}
tests/mocks/QMenuModel/qmldir+1
@@ -1,2 +1,3 @@
1module QMenuModel
1module QMenuModel
2QDBusActionGroup 0.1 QDBusActionGroup.qml
2QDBusActionGroup 0.1 QDBusActionGroup.qml
3+UnityMenuModel 0.1 UnityMenuModel.qml
tests/mocks/Unity/Indicators/IndicatorsModel.qml+5−15
@@ -28,45 +28,35 @@ ListModel {
28 // which throws off the filter for non-visible indicators.
28 // which throws off the filter for non-visible indicators.
29 Component.onCompleted: {
29 Component.onCompleted: {
30 append({ "identifier": "indicator-fake1",
30 append({ "identifier": "indicator-fake1",
31− "priority": 0,
31+ "position": 0,
32− "title": "Menu1",
33− "description": "",
34 "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget1.qml",
32 "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget1.qml",
35 "pageSource": "qrc:/tests/indciators/qml/fake_menu_page1.qml",
33 "pageSource": "qrc:/tests/indciators/qml/fake_menu_page1.qml",
36 "indicatorProperties": ""
34 "indicatorProperties": ""
37 });
35 });
38
36
39 append({ "identifier": "indicator-fake2",
37 append({ "identifier": "indicator-fake2",
40− "priority": 1,
38+ "position": 1,
41− "title": "Menu2",
42− "description": "",
43 "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget2.qml",
39 "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget2.qml",
44 "pageSource": "qrc:/tests/indciators/qml/fake_menu_page2.qml",
40 "pageSource": "qrc:/tests/indciators/qml/fake_menu_page2.qml",
45 "indicatorProperties": ""
41 "indicatorProperties": ""
46 });
42 });
47
43
48 append({ "identifier": "indicator-fake3",
44 append({ "identifier": "indicator-fake3",
49− "priority": 2,
45+ "position": 2,
50− "title": "Menu3",
51− "description": "",
52 "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget3.qml",
46 "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget3.qml",
53 "pageSource": "qrc:/tests/indciators/qml/fake_menu_page3.qml",
47 "pageSource": "qrc:/tests/indciators/qml/fake_menu_page3.qml",
54 "indicatorProperties": ""
48 "indicatorProperties": ""
55 });
49 });
56
50
57 append({ "identifier": "indicator-fake4",
51 append({ "identifier": "indicator-fake4",
58− "priority": 3,
52+ "position": 3,
59− "title": "Menu4",
60− "description": "",
61 "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget4.qml",
53 "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget4.qml",
62 "pageSource": "qrc:/tests/indciators/qml/fake_menu_page4.qml",
54 "pageSource": "qrc:/tests/indciators/qml/fake_menu_page4.qml",
63 "indicatorProperties": ""
55 "indicatorProperties": ""
64 });
56 });
65
57
66 append({ "identifier": "indicator-fake5",
58 append({ "identifier": "indicator-fake5",
67− "priority": 4,
59+ "position": 4,
68− "title": "Menu5",
69− "description": "",
70 "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget5.qml",
60 "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget5.qml",
71 "pageSource": "qrc:/tests/indciators/qml/fake_menu_page5.qml",
61 "pageSource": "qrc:/tests/indciators/qml/fake_menu_page5.qml",
72 "indicatorProperties": ""
62 "indicatorProperties": ""
tests/mocks/Unity/fake_applications_scope.cpp+7
@@ -64,5 +64,12 @@ DeeModel* ApplicationsScope::createCategoriesModel()
64 "grid",
64 "grid",
65 hints);
65 hints);
66
66
67+ dee_model_append(category_model,
68+ "outdated",
69+ "Outdaded",
70+ "gtk-apply",
71+ "grid",
72+ hints);
73+
67 return category_model;
74 return category_model;
68}
75}
tests/mocks/Unity/fake_categories.cpp+6
@@ -42,6 +42,7 @@ Categories::Categories(QObject* parent)
42 m_roles[Categories::RoleIcon] = "icon";
42 m_roles[Categories::RoleIcon] = "icon";
43 m_roles[Categories::RoleRenderer] = "renderer";
43 m_roles[Categories::RoleRenderer] = "renderer";
44 m_roles[Categories::RoleContentType] = "contentType";
44 m_roles[Categories::RoleContentType] = "contentType";
45+ m_roles[Categories::RoleRendererHint] = "rendererHint";
45 m_roles[Categories::RoleHints] = "hints";
46 m_roles[Categories::RoleHints] = "hints";
46 m_roles[Categories::RoleResults] = "results";
47 m_roles[Categories::RoleResults] = "results";
47 m_roles[Categories::RoleCount] = "count";
48 m_roles[Categories::RoleCount] = "count";
@@ -229,6 +230,11 @@ Categories::data(const QModelIndex& index, int role) const
229 auto hints = DeeListModel::data(index, CategoryColumn::HINTS).toHash();
230 auto hints = DeeListModel::data(index, CategoryColumn::HINTS).toHash();
230 return hints.contains("content-type") ? hints["content-type"] : QVariant(QString("default"));
231 return hints.contains("content-type") ? hints["content-type"] : QVariant(QString("default"));
231 }
232 }
233+ case RoleRendererHint:
234+ {
235+ auto hints = DeeListModel::data(index, CategoryColumn::HINTS).toHash();
236+ return hints.contains("renderer-hint") ? hints["renderer-hint"] : QVariant(QString());
237+ }
232 case RoleHints:
238 case RoleHints:
233 return DeeListModel::data(index, CategoryColumn::HINTS);
239 return DeeListModel::data(index, CategoryColumn::HINTS);
234 case RoleResults:
240 case RoleResults:
tests/mocks/Unity/fake_categories.h+1
@@ -39,6 +39,7 @@ public:
39 RoleIcon,
39 RoleIcon,
40 RoleRenderer,
40 RoleRenderer,
41 RoleContentType,
41 RoleContentType,
42+ RoleRendererHint,
42 RoleHints,
43 RoleHints,
43 RoleResults,
44 RoleResults,
44 RoleCount
45 RoleCount
tests/mocks/Unity/fake_preview.cpp−5
@@ -56,11 +56,6 @@ QString Preview::image() const
56 return "";
56 return "";
57}
57}
58
58
59−QString Preview::imageSourceUri() const
60−{
61− return "";
62−}
63−
64void Preview::execute(const QString& actionId, const QHash<QString, QVariant>& hints)
59void Preview::execute(const QString& actionId, const QHash<QString, QVariant>& hints)
65{
60{
66 Q_UNUSED(actionId);
61 Q_UNUSED(actionId);
tests/mocks/Unity/fake_preview.h−2
@@ -36,7 +36,6 @@ class Q_DECL_EXPORT Preview : public QObject
36 Q_PROPERTY(QVariant infoHints READ infoHints NOTIFY previewChanged)
36 Q_PROPERTY(QVariant infoHints READ infoHints NOTIFY previewChanged)
37 Q_PROPERTY(QVariantMap infoMap READ infoHintsHash NOTIFY previewChanged)
37 Q_PROPERTY(QVariantMap infoMap READ infoHintsHash NOTIFY previewChanged)
38 Q_PROPERTY(QString image READ image NOTIFY previewChanged)
38 Q_PROPERTY(QString image READ image NOTIFY previewChanged)
39− Q_PROPERTY(QString imageSourceUri READ imageSourceUri NOTIFY previewChanged)
40
39
41public:
40public:
42 explicit Preview(QObject *parent = 0);
41 explicit Preview(QObject *parent = 0);
@@ -49,7 +48,6 @@ public:
49 QVariant infoHints();
48 QVariant infoHints();
50 QVariantMap infoHintsHash() const;
49 QVariantMap infoHintsHash() const;
51 QString image() const;
50 QString image() const;
52− QString imageSourceUri() const;
53
51
54 Q_INVOKABLE void execute(const QString& actionId, const QHash<QString, QVariant>& hints);
52 Q_INVOKABLE void execute(const QString& actionId, const QHash<QString, QVariant>& hints);
55
53
tests/mocks/Unity/fake_scope.cpp+13
@@ -30,6 +30,7 @@ static DeeModel* create_results_model(unsigned category_count, unsigned result_c
30Scope::Scope(QObject* parent)
30Scope::Scope(QObject* parent)
31 : QObject(parent)
31 : QObject(parent)
32 , m_visible(false)
32 , m_visible(false)
33+ , m_searching(false)
33 , m_categories(new Categories(this))
34 , m_categories(new Categories(this))
34 , m_results(new DeeListModel(this))
35 , m_results(new DeeListModel(this))
35{
36{
@@ -44,6 +45,7 @@ Scope::Scope(QString const& id, QString const& name, bool visible, QObject* pare
44 , m_id(id)
45 , m_id(id)
45 , m_name(name)
46 , m_name(name)
46 , m_visible(visible)
47 , m_visible(visible)
48+ , m_searching(false)
47 , m_categories(new Categories(this))
49 , m_categories(new Categories(this))
48 , m_results(new DeeListModel(this))
50 , m_results(new DeeListModel(this))
49{
51{
@@ -85,6 +87,10 @@ bool Scope::connected() const {
85 return true;
87 return true;
86}
88}
87
89
90+bool Scope::searchInProgress() const {
91+ return m_searching;
92+}
93+
88Categories* Scope::categories() const {
94Categories* Scope::categories() const {
89 return m_categories;
95 return m_categories;
90}
96}
@@ -122,6 +128,13 @@ void Scope::setFormFactor(const QString &str) {
122 }
128 }
123}
129}
124
130
131+void Scope::setSearchInProgress(const bool inProg) {
132+ if (inProg != m_searching) {
133+ m_searching = inProg;
134+ Q_EMIT searchInProgressChanged();
135+ }
136+}
137+
125void Scope::setNoResultsHint(const QString& str) {
138void Scope::setNoResultsHint(const QString& str) {
126 if (str != m_noResultsHint) {
139 if (str != m_noResultsHint) {
127 m_noResultsHint = str;
140 m_noResultsHint = str;
tests/mocks/Unity/fake_scope.h+5−1
@@ -37,6 +37,7 @@ class Scope : public QObject
37 Q_PROPERTY(bool connected READ connected NOTIFY connectedChanged)
37 Q_PROPERTY(bool connected READ connected NOTIFY connectedChanged)
38 Q_PROPERTY(Categories* categories READ categories NOTIFY categoriesChanged)
38 Q_PROPERTY(Categories* categories READ categories NOTIFY categoriesChanged)
39
39
40+ Q_PROPERTY(bool searchInProgress READ searchInProgress WRITE setSearchInProgress NOTIFY searchInProgressChanged)
40 Q_PROPERTY(QString searchQuery READ searchQuery WRITE setSearchQuery NOTIFY searchQueryChanged)
41 Q_PROPERTY(QString searchQuery READ searchQuery WRITE setSearchQuery NOTIFY searchQueryChanged)
41 Q_PROPERTY(QString noResultsHint READ noResultsHint WRITE setNoResultsHint NOTIFY noResultsHintChanged)
42 Q_PROPERTY(QString noResultsHint READ noResultsHint WRITE setNoResultsHint NOTIFY noResultsHintChanged)
42 Q_PROPERTY(QString formFactor READ formFactor WRITE setFormFactor NOTIFY formFactorChanged)
43 Q_PROPERTY(QString formFactor READ formFactor WRITE setFormFactor NOTIFY formFactorChanged)
@@ -54,6 +55,7 @@ public:
54 bool visible() const;
55 bool visible() const;
55 QString shortcut() const;
56 QString shortcut() const;
56 bool connected() const;
57 bool connected() const;
58+ bool searchInProgress() const;
57 Categories* categories() const;
59 Categories* categories() const;
58 QString searchQuery() const;
60 QString searchQuery() const;
59 QString noResultsHint() const;
61 QString noResultsHint() const;
@@ -64,6 +66,7 @@ public:
64 void setSearchQuery(const QString& search_query);
66 void setSearchQuery(const QString& search_query);
65 void setNoResultsHint(const QString& hint);
67 void setNoResultsHint(const QString& hint);
66 void setFormFactor(const QString& form_factor);
68 void setFormFactor(const QString& form_factor);
69+ void setSearchInProgress(const bool inProg);
67
70
68 Q_INVOKABLE void activate(const QVariant &uri, const QVariant &icon_hint, const QVariant &category,
71 Q_INVOKABLE void activate(const QVariant &uri, const QVariant &icon_hint, const QVariant &category,
69 const QVariant &result_type, const QVariant &mimetype, const QVariant &title,
72 const QVariant &result_type, const QVariant &mimetype, const QVariant &title,
@@ -78,11 +81,11 @@ Q_SIGNALS:
78 void iconHintChanged(const QString&);
81 void iconHintChanged(const QString&);
79 void descriptionChanged(const QString&);
82 void descriptionChanged(const QString&);
80 void searchHintChanged(const QString&);
83 void searchHintChanged(const QString&);
84+ void searchInProgressChanged();
81 void visibleChanged(bool);
85 void visibleChanged(bool);
82 void shortcutChanged(const QString&);
86 void shortcutChanged(const QString&);
83 void connectedChanged(bool);
87 void connectedChanged(bool);
84 void categoriesChanged();
88 void categoriesChanged();
85− void searchFinished(const QString&);
86 void searchQueryChanged();
89 void searchQueryChanged();
87 void noResultsHintChanged();
90 void noResultsHintChanged();
88 void formFactorChanged();
91 void formFactorChanged();
@@ -103,6 +106,7 @@ protected:
103 QString m_noResultsHint;
106 QString m_noResultsHint;
104 QString m_formFactor;
107 QString m_formFactor;
105 bool m_visible;
108 bool m_visible;
109+ bool m_searching;
106
110
107 Categories* m_categories;
111 Categories* m_categories;
108 DeeListModel* m_results;
112 DeeListModel* m_results;
tests/mocks/libusermetrics/UserMetrics.cpp+6−2
@@ -228,7 +228,7 @@ UserMetricsPrivate::~UserMetricsPrivate()
228
228
229void UserMetricsPrivate::setUsername(const QString &username)
229void UserMetricsPrivate::setUsername(const QString &username)
230{
230{
231− if (m_username == username) {
231+ if (m_username == username && m_newData) {
232 return;
232 return;
233 }
233 }
234
234
@@ -407,7 +407,11 @@ UserMetrics::~UserMetrics()
407
407
408QString UserMetrics::label() const
408QString UserMetrics::label() const
409{
409{
410+ if (d_ptr->m_label.isEmpty()) {
411+ return "No data";
412+ } else {
410− return d_ptr->m_label;
413+ return d_ptr->m_label;
414+ }
411}
415}
412
416
413QString UserMetrics::username() const
417QString UserMetrics::username() const
tests/plugins/ListViewWithPageHeader/listviewwithpageheadertest.cpp+8
@@ -1816,6 +1816,14 @@ private Q_SLOTS:
1816 verifyItem(0, -50., 800., false);
1816 verifyItem(0, -50., 800., false);
1817 }
1817 }
1818
1818
1819+ void positionAtBeginningEmpty()
1820+ {
1821+ QMetaObject::invokeMethod(model, "removeItems", Q_ARG(QVariant, 0), Q_ARG(QVariant, 6));
1822+ QTRY_COMPARE(lvwph->m_visibleItems.count(), 0);
1823+
1824+ lvwph->positionAtBeginning();
1825+ }
1826+
1819private:
1827private:
1820 QQuickView *view;
1828 QQuickView *view;
1821 ListViewWithPageHeader *lvwph;
1829 ListViewWithPageHeader *lvwph;
tests/plugins/Unity/Indicators/indicatorsmodeltest.cpp−15
@@ -65,40 +65,25 @@ private Q_SLOTS:
65 void testDataAndOrder()
65 void testDataAndOrder()
66 {
66 {
67 // Priority order. (2, 1, 4, 3)
67 // Priority order. (2, 1, 4, 3)
68− QVariantMap map;
69− QVariantMap map1; map1["title"] = "fake1";
70− QVariantMap map2; map2["title"] = "fake2";
71− QVariantMap map3; map3["title"] = "fake3";
72− QVariantMap map4; map4["title"] = "fake4";
73− map["indicator-fake1"] = map1;
74− map["indicator-fake2"] = map2;
75− map["indicator-fake3"] = map3;
76− map["indicator-fake4"] = map4;
77−
78 IndicatorsModel model;
68 IndicatorsModel model;
79− model.setIndicatorData(map);
80 model.load();
69 model.load();
81
70
82 // should be in order:
71 // should be in order:
83 // fake3, fake4, fake1, fake2
72 // fake3, fake4, fake1, fake2
84
73
85 QCOMPARE(model.data(0, IndicatorsModelRole::Identifier).toString(), QString("indicator-fake3"));
74 QCOMPARE(model.data(0, IndicatorsModelRole::Identifier).toString(), QString("indicator-fake3"));
86− QCOMPARE(model.data(0, IndicatorsModelRole::Title).toString(), QString("fake3"));
87 QCOMPARE(model.data(0, IndicatorsModelRole::Position).toInt(), 3);
75 QCOMPARE(model.data(0, IndicatorsModelRole::Position).toInt(), 3);
88 QCOMPARE(model.data(0, IndicatorsModelRole::IndicatorProperties).toMap()["busName"].toString(), QString("com.canonical.indicator.fake3"));
76 QCOMPARE(model.data(0, IndicatorsModelRole::IndicatorProperties).toMap()["busName"].toString(), QString("com.canonical.indicator.fake3"));
89
77
90 QCOMPARE(model.data(1, IndicatorsModelRole::Identifier).toString(), QString("indicator-fake4"));
78 QCOMPARE(model.data(1, IndicatorsModelRole::Identifier).toString(), QString("indicator-fake4"));
91− QCOMPARE(model.data(1, IndicatorsModelRole::Title).toString(), QString("fake4"));
92 QCOMPARE(model.data(1, IndicatorsModelRole::Position).toInt(), 2);
79 QCOMPARE(model.data(1, IndicatorsModelRole::Position).toInt(), 2);
93 QCOMPARE(model.data(1, IndicatorsModelRole::IndicatorProperties).toMap()["busName"].toString(), QString("com.canonical.indicator.fake4"));
80 QCOMPARE(model.data(1, IndicatorsModelRole::IndicatorProperties).toMap()["busName"].toString(), QString("com.canonical.indicator.fake4"));
94
81
95 QCOMPARE(model.data(2, IndicatorsModelRole::Identifier).toString(), QString("indicator-fake1"));
82 QCOMPARE(model.data(2, IndicatorsModelRole::Identifier).toString(), QString("indicator-fake1"));
96− QCOMPARE(model.data(2, IndicatorsModelRole::Title).toString(), QString("fake1"));
97 QCOMPARE(model.data(2, IndicatorsModelRole::Position).toInt(), 1);
83 QCOMPARE(model.data(2, IndicatorsModelRole::Position).toInt(), 1);
98 QCOMPARE(model.data(2, IndicatorsModelRole::IndicatorProperties).toMap()["busName"].toString(), QString("com.canonical.indicator.fake1"));
84 QCOMPARE(model.data(2, IndicatorsModelRole::IndicatorProperties).toMap()["busName"].toString(), QString("com.canonical.indicator.fake1"));
99
85
100 QCOMPARE(model.data(3, IndicatorsModelRole::Identifier).toString(), QString("indicator-fake2"));
86 QCOMPARE(model.data(3, IndicatorsModelRole::Identifier).toString(), QString("indicator-fake2"));
101− QCOMPARE(model.data(3, IndicatorsModelRole::Title).toString(), QString("fake2"));
102 QCOMPARE(model.data(3, IndicatorsModelRole::Position).toInt(), 0);
87 QCOMPARE(model.data(3, IndicatorsModelRole::Position).toInt(), 0);
103 QCOMPARE(model.data(3, IndicatorsModelRole::IndicatorProperties).toMap()["busName"].toString(), QString("com.canonical.indicator.fake2"));
88 QCOMPARE(model.data(3, IndicatorsModelRole::IndicatorProperties).toMap()["busName"].toString(), QString("com.canonical.indicator.fake2"));
104 }
89 }
tests/plugins/Unity/Launcher/launcherbackendtest.cpp+3−3
@@ -37,7 +37,7 @@ private Q_SLOTS:
37
37
38 void testFileNames()
38 void testFileNames()
39 {
39 {
40− LauncherBackend backend(false);
40+ LauncherBackend backend;
41
41
42 backend.setStoredApplications(QStringList() << "rel-icon" << "abs-icon" << "invalid");
42 backend.setStoredApplications(QStringList() << "rel-icon" << "abs-icon" << "invalid");
43 QCOMPARE(backend.storedApplications(), QStringList() << "rel-icon" << "abs-icon");
43 QCOMPARE(backend.storedApplications(), QStringList() << "rel-icon" << "abs-icon");
@@ -45,7 +45,7 @@ private Q_SLOTS:
45
45
46 void testPinning()
46 void testPinning()
47 {
47 {
48− LauncherBackend backend(false);
48+ LauncherBackend backend;
49
49
50 backend.setStoredApplications(QStringList() << "rel-icon" << "abs-icon");
50 backend.setStoredApplications(QStringList() << "rel-icon" << "abs-icon");
51 QCOMPARE(backend.isPinned("rel-icon"), false);
51 QCOMPARE(backend.isPinned("rel-icon"), false);
@@ -82,7 +82,7 @@ private Q_SLOTS:
82 QFETCH(QString, appId);
82 QFETCH(QString, appId);
83 QFETCH(QString, expectedIcon);
83 QFETCH(QString, expectedIcon);
84
84
85− LauncherBackend backend(false);
85+ LauncherBackend backend;
86 backend.setStoredApplications(QStringList() << appId);
86 backend.setStoredApplications(QStringList() << appId);
87
87
88 QCOMPARE(backend.icon(appId), expectedIcon);
88 QCOMPARE(backend.icon(appId), expectedIcon);
tests/plugins/Unity/resultstest.cpp+13−9
@@ -65,26 +65,30 @@ void ResultsTest::testAllColumns()
65
65
66void ResultsTest::testIconColumn_data()
66void ResultsTest::testIconColumn_data()
67{
67{
68+ QTest::addColumn<QString>("uri");
68 QTest::addColumn<QString>("giconString");
69 QTest::addColumn<QString>("giconString");
69 QTest::addColumn<QString>("result");
70 QTest::addColumn<QString>("result");
70
71
72+ QTest::newRow("unspecified") << "test:uri" << "" << "";
71− QTest::newRow("absolute path") << "/usr/share/icons/example.png" << "/usr/share/icons/example.png";
73+ QTest::newRow("absolute path") << "test:uri" << "/usr/share/icons/example.png" << "/usr/share/icons/example.png";
72− QTest::newRow("file uri") << "file:///usr/share/icons/example.png" << "file:///usr/share/icons/example.png";
74+ QTest::newRow("file uri") << "test:uri" << "file:///usr/share/icons/example.png" << "file:///usr/share/icons/example.png";
73− QTest::newRow("http uri") << "http://images.ubuntu.com/example.jpg" << "http://images.ubuntu.com/example.jpg";
75+ QTest::newRow("http uri") << "test:uri" << "http://images.ubuntu.com/example.jpg" << "http://images.ubuntu.com/example.jpg";
74− QTest::newRow("image uri") << "image://thumbnail/with/arguments?passed_to=ImageProvider" << "image://thumbnail/with/arguments?passed_to=ImageProvider";
76+ QTest::newRow("image uri") << "test:uri" << "image://thumbnail/with/arguments?passed_to=ImageProvider" << "image://thumbnail/with/arguments?passed_to=ImageProvider";
75− QTest::newRow("themed icon") << "accessories-other" << "image://theme/accessories-other";
77+ QTest::newRow("themed icon") << "test:uri" << "accessories-other" << "image://theme/accessories-other";
76− QTest::newRow("fileicon") << ". GFileIcon http://example.org/resource.gif" << "http://example.org/resource.gif";
78+ QTest::newRow("fileicon") << "test:uri" << ". GFileIcon http://example.org/resource.gif" << "http://example.org/resource.gif";
77− QTest::newRow("themedicon") << ". GThemedIcon accessories-other accessories generic" << "image://theme/accessories-other,accessories,generic";
79+ QTest::newRow("themedicon") << "test:uri" << ". GThemedIcon accessories-other accessories generic" << "image://theme/accessories-other,accessories,generic";
78− QTest::newRow("annotatedicon") << ". UnityProtocolAnnotatedIcon %7B'base-icon':%20%3C'.%20GThemedIcon%20accessories-other%20accessories%20generic'%3E%7D" << "image://theme/accessories-other,accessories,generic";
80+ QTest::newRow("annotatedicon") << "test:uri" << ". UnityProtocolAnnotatedIcon %7B'base-icon':%20%3C'.%20GThemedIcon%20accessories-other%20accessories%20generic'%3E%7D" << "image://theme/accessories-other,accessories,generic";
81+ QTest::newRow("thumbnailer icon") << "file:///usr/share/samples/video/foo.avi" << "" << "image://thumbnailer//usr/share/samples/video/foo.avi";
79}
82}
80
83
81void ResultsTest::testIconColumn()
84void ResultsTest::testIconColumn()
82{
85{
86+ QFETCH(QString, uri);
83 QFETCH(QString, giconString);
87 QFETCH(QString, giconString);
84 QFETCH(QString, result);
88 QFETCH(QString, result);
85 auto deeModel = createBackendModel();
89 auto deeModel = createBackendModel();
86 dee_model_append (deeModel,
90 dee_model_append (deeModel,
87− "test:uri",
91+ uri.toLocal8Bit().constData(),
88 giconString.toLocal8Bit().constData(),
92 giconString.toLocal8Bit().constData(),
89 0,
93 0,
90 0,
94 0,
tests/qmltests/CMakeLists.txt+1−1
@@ -63,7 +63,7 @@ add_qml_test(Greeter Infographics IMPORT_PATHS ${CMAKE_BINARY_DIR}/plugins ${qml
63add_qml_test(Hud Hud)
63add_qml_test(Hud Hud)
64add_qml_test(Hud Result)
64add_qml_test(Hud Result)
65add_qml_test(Launcher Launcher IMPORT_PATHS ${CMAKE_BINARY_DIR}/plugins ${qmltest_DEFAULT_IMPORT_PATHS})
65add_qml_test(Launcher Launcher IMPORT_PATHS ${CMAKE_BINARY_DIR}/plugins ${qmltest_DEFAULT_IMPORT_PATHS})
66−add_qml_test(Notifications Notifications IMPORT_PATHS ${qmltest_DEFAULT_IMPORT_PATHS} ${CMAKE_SOURCE_DIR}/tests/mocks)
66+add_qml_test(Notifications Notifications IMPORT_PATHS ${CMAKE_BINARY_DIR}/plugins ${qmltest_DEFAULT_IMPORT_PATHS} ${CMAKE_SOURCE_DIR}/tests/mocks)
67add_qml_test(Panel IndicatorRow)
67add_qml_test(Panel IndicatorRow)
68add_qml_test(Panel Indicators IMPORT_PATHS ${CMAKE_BINARY_DIR}/plugins ${qmltest_DEFAULT_IMPORT_PATHS})
68add_qml_test(Panel Indicators IMPORT_PATHS ${CMAKE_BINARY_DIR}/plugins ${qmltest_DEFAULT_IMPORT_PATHS})
69add_qml_test(Panel MenuContent IMPORT_PATHS ${CMAKE_BINARY_DIR}/plugins ${qmltest_DEFAULT_IMPORT_PATHS})
69add_qml_test(Panel MenuContent IMPORT_PATHS ${CMAKE_BINARY_DIR}/plugins ${qmltest_DEFAULT_IMPORT_PATHS})
tests/qmltests/Components/tst_PageHeader.qml+28
@@ -19,12 +19,17 @@ import QtTest 1.0
19import ".."
19import ".."
20import "../../../Components"
20import "../../../Components"
21import Ubuntu.Components 0.1
21import Ubuntu.Components 0.1
22+import Unity 0.1
22import Unity.Test 0.1 as UT
23import Unity.Test 0.1 as UT
23
24
24Item {
25Item {
25 width: units.gu(110)
26 width: units.gu(110)
26 height: units.gu(30)
27 height: units.gu(30)
27
28
29+ Scope {
30+ id: scopeMock
31+ }
32+
28 UT.UnityTestCase {
33 UT.UnityTestCase {
29 name: "PageHeaderTest"
34 name: "PageHeaderTest"
30 when: windowShown
35 when: windowShown
@@ -132,6 +137,27 @@ Item {
132 compare(pageHeader.searchHistory.count, 3)
137 compare(pageHeader.searchHistory.count, 3)
133 compare(pageHeader.searchHistory.get(0).query, "humppa4")
138 compare(pageHeader.searchHistory.get(0).query, "humppa4")
134 }
139 }
140+
141+ function test_search_indicator() {
142+ var searchIndicator = findChild(pageHeader, "searchIndicator")
143+ var primaryImage = findChild(pageHeader, "primaryImage")
144+
145+ pageHeader.triggerSearch()
146+
147+ scopeMock.searchInProgress = false
148+ compare(searchIndicator.running, false, "Search indicator is running.")
149+ tryCompare(primaryImage, "visible", true)
150+
151+ scopeMock.searchInProgress = true
152+ compare(searchIndicator.running, true, "Search indicator isn't running.")
153+ tryCompare(primaryImage, "visible", false)
154+
155+ pageHeader.resetSearch()
156+ }
157+
158+ function cleanup() {
159+ scopeMock.searchInProgress = false
160+ }
135 }
161 }
136
162
137 Column {
163 Column {
@@ -145,6 +171,8 @@ Item {
145 right: parent.right
171 right: parent.right
146 }
172 }
147
173
174+ scope: scopeMock
175+
148 searchEntryEnabled: true
176 searchEntryEnabled: true
149 text: "%^$%^%^&%^&%^$%GHR%"
177 text: "%^$%^%^&%^&%^$%GHR%"
150 }
178 }
tests/qmltests/Greeter/tst_Infographics.qml+4−4
@@ -64,15 +64,15 @@ Item {
64
64
65 function test_set_username_data() {
65 function test_set_username_data() {
66 return [
66 return [
67− { username: "has-password" },
67+ { username: "has-password", label: "<b>19</b> minutes talk time" },
68− { username: "no-password" },
68+ { username: "two-factor", label: "No data" },
69− { username: "empty-name" }
69+ { username: "", label: "No data" },
70 ]
70 ]
71 }
71 }
72
72
73 function test_set_username(data) {
73 function test_set_username(data) {
74 infographicModel.username = data.username
74 infographicModel.username = data.username
75− tryCompare(label, "text", "<b>19</b> minutes talk time")
75+ tryCompare(label, "text", data.label)
76 }
76 }
77 }
77 }
78
78
tests/qmltests/Greeter/tst_Phone.qml+15
@@ -19,6 +19,7 @@ import QtTest 1.0
19import ".."
19import ".."
20import "../../../Greeter"
20import "../../../Greeter"
21import AccountsService 0.1
21import AccountsService 0.1
22+import LightDM 0.1 as LightDM
22import Ubuntu.Components 0.1
23import Ubuntu.Components 0.1
23import Unity.Test 0.1 as UT
24import Unity.Test 0.1 as UT
24
25
@@ -53,6 +54,10 @@ Item {
53 name: "Greeter"
54 name: "Greeter"
54 when: windowShown
55 when: windowShown
55
56
57+ function cleanup() {
58+ AccountsService.statsWelcomeScreen = true
59+ }
60+
56 function test_properties() {
61 function test_properties() {
57 compare(greeter.multiUser, false)
62 compare(greeter.multiUser, false)
58 compare(greeter.narrowMode, true)
63 compare(greeter.narrowMode, true)
@@ -105,6 +110,16 @@ Item {
105 tryCompareFunction(function() { return greeter.x;}, 0);
110 tryCompareFunction(function() { return greeter.x;}, 0);
106 }
111 }
107
112
113+ function test_statsWelcomeScreen() {
114+ // Test logic in greeter that turns statsWelcomeScreen setting into infographic changes
115+ compare(AccountsService.statsWelcomeScreen, true)
116+ tryCompare(LightDM.Infographic, "username", "single")
117+ AccountsService.statsWelcomeScreen = false
118+ tryCompare(LightDM.Infographic, "username", "")
119+ AccountsService.statsWelcomeScreen = true
120+ tryCompare(LightDM.Infographic, "username", "single")
121+ }
122+
108 function test_wallpaper_data() {
123 function test_wallpaper_data() {
109 return [
124 return [
110 {tag: "set", accounts: "../tests/data/unity/backgrounds/blue.png", expected: "blue.png"},
125 {tag: "set", accounts: "../tests/data/unity/backgrounds/blue.png", expected: "blue.png"},
tests/qmltests/Panel/tst_IndicatorRow.qml+3−3
@@ -62,13 +62,13 @@ Item {
62 function test_set_current_item() {
62 function test_set_current_item() {
63 init_test();
63 init_test();
64 indicatorRow.setCurrentItem(0);
64 indicatorRow.setCurrentItem(0);
65− compare(indicatorRow.indicatorsModel.get(indicatorRow.currentItemIndex).title, "Menu1", "Incorrect item at position 0");
65+ compare(indicatorRow.indicatorsModel.get(indicatorRow.currentItemIndex).identifier, "indicator-fake1", "Incorrect item at position 0");
66
66
67 indicatorRow.setCurrentItem(1);
67 indicatorRow.setCurrentItem(1);
68− compare(indicatorRow.indicatorsModel.get(indicatorRow.currentItemIndex).title, "Menu2", "Incorrect item at position 1");
68+ compare(indicatorRow.indicatorsModel.get(indicatorRow.currentItemIndex).identifier, "indicator-fake2", "Incorrect item at position 1");
69
69
70 indicatorRow.setCurrentItem(2);
70 indicatorRow.setCurrentItem(2);
71− compare(indicatorRow.indicatorsModel.get(indicatorRow.currentItemIndex).title, "Menu3", "Incorrect item at position 2");
71+ compare(indicatorRow.indicatorsModel.get(indicatorRow.currentItemIndex).identifier, "indicator-fake3", "Incorrect item at position 2");
72 }
72 }
73 }
73 }
74
74
tests/qmltests/tst_Shell.qml+68
@@ -56,6 +56,18 @@ Item {
56
56
57 function initTestCase() {
57 function initTestCase() {
58 swipeAwayGreeter();
58 swipeAwayGreeter();
59+
60+ // Ensure DashHome is loaded before continuing
61+ var dashContentList = findChild(shell, "dashContentList");
62+ waitForRendering(dashContentList);
63+ var homeLoader = findChild(dashContentList, "home.scope loader");
64+ verify(homeLoader);
65+ tryCompareFunction(function() {return homeLoader.item !== undefined;}, true);
66+
67+ // FIXME: Desperate measure to ensure Jenkins has the scene graph fully loaded
68+ // before it calls the test functions (otherwise findChild calls will fail).
69+ // The code above just didn't solve it.
70+ wait(2000);
59 }
71 }
60
72
61 function cleanup() {
73 function cleanup() {
@@ -233,6 +245,62 @@ Item {
233 tryCompare(dash, "visible", false);
245 tryCompare(dash, "visible", false);
234 }
246 }
235
247
248+ /*
249+ Regression test for bug https://bugs.launchpad.net/touch-preview-images/+bug/1193419
250+
251+ When the user minimizes an application (left-edge swipe) he should always end up in the "Running Apps"
252+ category of the "Applications" scope view.
253+
254+ Steps:
255+ - go to apps lens
256+ - scroll to the bottom
257+ - reveal launcher and launch an app
258+ - perform long left edge swipe to go minimize the app and go back to the dash.
259+
260+ Expected Results
261+ - apps lens shown and Running Apps visible on screen
262+ */
263+ function test_minimizingAppTakesToRunningApps() {
264+ var dashApps = findChild(shell, "DashApps");
265+
266+ swipeUntilScopeViewIsReached(dashApps);
267+
268+ // swipe finger up until the running/recent apps section (which we assume
269+ // it's the first one) is as far from view as possible.
270+ // We also assume that DashApps is tall enough that it's scrollable
271+ var appsCategoryListView = findChild(dashApps, "categoryListView");
272+ while (!appsCategoryListView.atYEnd) {
273+ swipeUpFromCenter();
274+ tryCompare(appsCategoryListView, "moving", false);
275+ }
276+
277+ // Switch away from the Applications scope.
278+ swipeRightFromCenter();
279+ waitUntilItemStopsMoving(dashApps);
280+ verify(!itemIsOnScreen(dashApps));
281+
282+ dragLauncherIntoView();
283+
284+ // Launch an app from the launcher
285+ tapOnAppIconInLauncher();
286+
287+ waitUntilApplicationWindowIsFullyVisible();
288+
289+ // Minimize the application we just launched
290+ swipeFromLeftEdge();
291+
292+ // Wait for the whole UI to settle down
293+ waitUntilApplicationWindowIsFullyHidden();
294+ waitUntilItemStopsMoving(dashApps);
295+ tryCompare(appsCategoryListView, "moving", false);
296+
297+ verify(itemIsOnScreen(dashApps));
298+
299+ var runningApplicationsGrid = findChild(appsCategoryListView, "recent");
300+ verify(runningApplicationsGrid);
301+ verify(itemIsOnScreen(runningApplicationsGrid));
302+ }
303+
236 // Wait for the whole UI to settle down
304 // Wait for the whole UI to settle down
237 function waitForUIToSettle() {
305 function waitForUIToSettle() {
238 waitUntilApplicationWindowIsFullyHidden();
306 waitUntilApplicationWindowIsFullyHidden();