on xenial help sign in
Merged with trunk.
6358d5eMirco Müller
Bottombar/Bottombar.qml+1−1
@@ -122,7 +122,7 @@ Item {
122 id: dragArea
122 id: dragArea
123 objectName: "hudDragArea"
123 objectName: "hudDragArea"
124 width: parent.width
124 width: parent.width
125− height: distanceThreshold
125+ height: shell.edgeSize
126 anchors.bottom: parent.bottom
126 anchors.bottom: parent.bottom
127
127
128 distanceThreshold: units.gu(8)
128 distanceThreshold: units.gu(8)
Components/ApplicationManagerWrapper.qml+13−1
@@ -18,7 +18,7 @@ import QtQuick 2.0
18import Unity.Application 0.1
18import Unity.Application 0.1
19
19
20Item {
20Item {
21− id: applicationManager
21+ id: root
22
22
23 property alias mainStageApplications: mainStageModel
23 property alias mainStageApplications: mainStageModel
24 property alias sideStageApplications: sideStageModel
24 property alias sideStageApplications: sideStageModel
@@ -30,6 +30,8 @@ Item {
30
30
31 property bool fake: ApplicationManager.fake ? ApplicationManager.fake : false
31 property bool fake: ApplicationManager.fake ? ApplicationManager.fake : false
32
32
33+ signal focusRequested(string appId)
34+
33 ApplicationsModelStageFiltered {
35 ApplicationsModelStageFiltered {
34 id: mainStageModel
36 id: mainStageModel
35 stage: ApplicationInfo.MainStage
37 stage: ApplicationInfo.MainStage
@@ -61,6 +63,16 @@ Item {
61 }
63 }
62 }
64 }
63 }
65 }
66+
67+ onFocusRequested: {
68+ // if no side stage enabled, override application's stage parameter
69+ var app = ApplicationManager.findApplication(appId);
70+ if (app && app.stage === ApplicationInfo.SideStage && !sideStageEnabled) {
71+ app.stage = ApplicationInfo.MainStage;
72+ }
73+
74+ root.focusRequested(appId);
75+ }
64 }
76 }
65
77
66 function activateApplication(desktopFile, argument) {
78 function activateApplication(desktopFile, argument) {
Components/Carousel.qml+5−4
@@ -72,7 +72,7 @@ Item {
72 id: listView
72 id: listView
73
73
74 property real minimumTileWidth: 0
74 property real minimumTileWidth: 0
75− property real newContentX: -1
75+ property real newContentX: disabledNewContentX
76 property real pathItemCount: referenceWidth / referenceTileWidth
76 property real pathItemCount: referenceWidth / referenceTileWidth
77 property real tileAspectRatio: 1
77 property real tileAspectRatio: 1
78
78
@@ -100,6 +100,7 @@ Item {
100 readonly property real kMiddleIndex: (realWidth / 2) / tileWidth - 0.5
100 readonly property real kMiddleIndex: (realWidth / 2) / tileWidth - 0.5
101 readonly property real kXBeginningEnd: 1 / tileWidth + kMiddleIndex / gapToMiddlePhase
101 readonly property real kXBeginningEnd: 1 / tileWidth + kMiddleIndex / gapToMiddlePhase
102 readonly property real maximumItemTranslation: (listView.tileWidth * 3) / listView.scaleFactor
102 readonly property real maximumItemTranslation: (listView.tileWidth * 3) / listView.scaleFactor
103+ readonly property real disabledNewContentX: -carousel.drawBuffer - 1
103 readonly property real realContentWidth: contentWidth - 2 * carousel.drawBuffer
104 readonly property real realContentWidth: contentWidth - 2 * carousel.drawBuffer
104 readonly property real realContentX: contentX + carousel.drawBuffer
105 readonly property real realContentX: contentX + carousel.drawBuffer
105 readonly property real realPathItemCount: Math.min(realWidth / tileWidth, pathItemCount)
106 readonly property real realPathItemCount: Math.min(realWidth / tileWidth, pathItemCount)
@@ -192,7 +193,7 @@ Item {
192 onMovementStarted: {
193 onMovementStarted: {
193 stepAnimation.stop()
194 stepAnimation.stop()
194 newContentXAnimation.stop()
195 newContentXAnimation.stop()
195− newContentX = -1
196+ newContentX = disabledNewContentX
196 }
197 }
197 onMovementEnded: {
198 onMovementEnded: {
198 if (realContentX > 0 && realContentX < realContentWidth - realWidth)
199 if (realContentX > 0 && realContentX < realContentWidth - realWidth)
@@ -228,7 +229,7 @@ Item {
228 easing.type: Easing.InOutQuad
229 easing.type: Easing.InOutQuad
229 }
230 }
230 ScriptAction {
231 ScriptAction {
231− script: listView.newContentX = -1
232+ script: listView.newContentX = listView.disabledNewContentX
232 }
233 }
233 }
234 }
234
235
@@ -253,7 +254,7 @@ Item {
253 readonly property bool explicitScale: (!listView.moving ||
254 readonly property bool explicitScale: (!listView.moving ||
254 listView.realContentX <= 0 ||
255 listView.realContentX <= 0 ||
255 listView.realContentX >= listView.realContentWidth - listView.realWidth) &&
256 listView.realContentX >= listView.realContentWidth - listView.realWidth) &&
256− listView.newContentX < 0 &&
257+ listView.newContentX === listView.disabledNewContentX &&
257 index === listView.selectedIndex
258 index === listView.selectedIndex
258 readonly property real cachedTiles: listView.realPathItemCount + carousel.drawBuffer / listView.tileWidth
259 readonly property real cachedTiles: listView.realPathItemCount + carousel.drawBuffer / listView.tileWidth
259 readonly property real distance: listView.continuousIndex - index
260 readonly property real distance: listView.continuousIndex - index
Components/DragHandle.qml−1
@@ -208,5 +208,4 @@ EdgeDragArea {
208
208
209 d.previousStatus = status;
209 d.previousStatus = status;
210 }
210 }
211−
212}
211}
Components/FilterGrid.qml+2−1
@@ -57,6 +57,8 @@ Item {
57 property alias delegate: iconTileGrid.delegate
57 property alias delegate: iconTileGrid.delegate
58 property alias cellWidth: iconTileGrid.cellWidth
58 property alias cellWidth: iconTileGrid.cellWidth
59 property alias cellHeight: iconTileGrid.cellHeight
59 property alias cellHeight: iconTileGrid.cellHeight
60+ property alias delegateCreationBegin: iconTileGrid.delegateCreationBegin
61+ property alias delegateCreationEnd: iconTileGrid.delegateCreationEnd
60 readonly property alias flicking: iconTileGrid.flicking
62 readonly property alias flicking: iconTileGrid.flicking
61 readonly property alias moving: iconTileGrid.moving
63 readonly property alias moving: iconTileGrid.moving
62 readonly property alias pressDelay: iconTileGrid.pressDelay
64 readonly property alias pressDelay: iconTileGrid.pressDelay
@@ -102,6 +104,5 @@ Item {
102 model: root.model
104 model: root.model
103 limit: (filter && !filterAnimation.running) ? collapsedRowCount * iconTileGrid.columns : -1
105 limit: (filter && !filterAnimation.running) ? collapsedRowCount * iconTileGrid.columns : -1
104 }
106 }
105−
106 }
107 }
107}
108}
Components/LazyImage.qml+24−11
@@ -27,8 +27,8 @@ Item {
27 // TODO convert into enums when available in QML
27 // TODO convert into enums when available in QML
28 property string scaleTo
28 property string scaleTo
29
29
30− property real initialWidth: units.gu(10)
30+ property real initialWidth: scaleTo == "width" || scaleTo == "fit" ? width : units.gu(10)
31− property real initialHeight: units.gu(10)
31+ property real initialHeight: scaleTo == "height" || scaleTo == "fit" ? height : units.gu(10)
32
32
33 property alias sourceSize: image.sourceSize
33 property alias sourceSize: image.sourceSize
34 property alias fillMode: image.fillMode
34 property alias fillMode: image.fillMode
@@ -52,7 +52,7 @@ Item {
52 id: placeholder
52 id: placeholder
53 objectName: "placeholder"
53 objectName: "placeholder"
54 color: "#22FFFFFF"
54 color: "#22FFFFFF"
55− anchors.fill: parent
55+ anchors.fill: shape
56 visible: opacity != 0
56 visible: opacity != 0
57
57
58 ActivityIndicator {
58 ActivityIndicator {
@@ -79,7 +79,10 @@ Item {
79 UbuntuShape {
79 UbuntuShape {
80 id: shape
80 id: shape
81 objectName: "shape"
81 objectName: "shape"
82+ height: root.initialHeight
83+ width: root.initialWidth
82− anchors.fill: parent
84+ anchors.centerIn: root.scaleTo == "fit" ? parent : undefined
85+
83 opacity: 0
86 opacity: 0
84 visible: opacity != 0
87 visible: opacity != 0
85
88
@@ -88,16 +91,19 @@ Item {
88 objectName: "image"
91 objectName: "image"
89
92
90 property url nextSource
93 property url nextSource
94+ property string format: image.implicitWidth > image.implicitHeight ? "landscape" : "portrait"
91
95
92− width: root.scaleTo == "height" ? implicitWidth * root.height / implicitHeight : implicitWidth
93− height: root.scaleTo == "width" ? implicitHeight * root.width / implicitWidth : implicitHeight
94− fillMode: Image.PreserveAspectCrop
96+ fillMode: Image.PreserveAspectFit
95 asynchronous: true
97 asynchronous: true
96 cache: false
98 cache: false
97 horizontalAlignment: Image.AlignHCenter
99 horizontalAlignment: Image.AlignHCenter
98 verticalAlignment: Image.AlignVCenter
100 verticalAlignment: Image.AlignVCenter
99− sourceSize.width: root.scaleTo == "width" ? root.width : 0
101+ sourceSize.width: root.scaleTo == "width" ? root.width
102+ : root.scaleTo == "fit" && root.width < root.height ? root.width
103+ : undefined
100− sourceSize.height: root.scaleTo == "height" ? root.height : 0
104+ sourceSize.height: root.scaleTo == "height" ? root.height
105+ : root.scale == "fit" && root.height < root.width ? root.height
106+ : undefined
101 }
107 }
102 }
108 }
103
109
@@ -117,9 +123,14 @@ Item {
117 State {
123 State {
118 name: "ready"
124 name: "ready"
119 when: image.status === Image.Ready && image.source != ""
125 when: image.status === Image.Ready && image.source != ""
120− PropertyChanges { target: root; implicitWidth: image.width; implicitHeight: image.height }
126+ PropertyChanges { target: root; implicitWidth: shape.width; implicitHeight: shape.height }
121− PropertyChanges { target: shape; opacity: 1 }
122 PropertyChanges { target: placeholder; opacity: 0 }
127 PropertyChanges { target: placeholder; opacity: 0 }
128+ PropertyChanges { target: shape; opacity: 1
129+ width: root.scaleTo == "width" || (root.scaleTo == "fit" && image.format == "landscape") ? root.width
130+ : root.scaleTo == "" ? image.implicitWidth : image.implicitWidth * height / image.implicitHeight
131+ height: root.scaleTo == "height" || (root.scaleTo == "fit" && image.format == "portrait") ? root.height
132+ : root.scaleTo == "" ? image.implicitHeight : image.implicitHeight * width / image.implicitWidth
133+ }
123 },
134 },
124 State {
135 State {
125 name: "error"
136 name: "error"
@@ -138,6 +149,7 @@ Item {
138 ParallelAnimation {
149 ParallelAnimation {
139 NumberAnimation { target: shape; property: "opacity"; easing.type: Easing.Linear }
150 NumberAnimation { target: shape; property: "opacity"; easing.type: Easing.Linear }
140 UbuntuNumberAnimation { target: root; properties: "implicitWidth,implicitHeight" }
151 UbuntuNumberAnimation { target: root; properties: "implicitWidth,implicitHeight" }
152+ UbuntuNumberAnimation { target: shape; properties: "width,height" }
141 NumberAnimation {
153 NumberAnimation {
142 targets: [placeholder, activity, errorImage]; property: "opacity";
154 targets: [placeholder, activity, errorImage]; property: "opacity";
143 easing.type: Easing.Linear; duration: UbuntuAnimation.SnapDuration
155 easing.type: Easing.Linear; duration: UbuntuAnimation.SnapDuration
@@ -157,6 +169,7 @@ Item {
157 easing.type: Easing.Linear; duration: UbuntuAnimation.SnapDuration
169 easing.type: Easing.Linear; duration: UbuntuAnimation.SnapDuration
158 }
170 }
159 UbuntuNumberAnimation { target: root; properties: "implicitWidth,implicitHeight" }
171 UbuntuNumberAnimation { target: root; properties: "implicitWidth,implicitHeight" }
172+ UbuntuNumberAnimation { target: shape; properties: "width,height" }
160 }
173 }
161 PropertyAction { target: shape; property: "visible" }
174 PropertyAction { target: shape; property: "visible" }
162 }
175 }
Components/ListItems/Header.qml+1−1
@@ -28,7 +28,7 @@ Item {
28
28
29 signal clicked(variant mouse)
29 signal clicked(variant mouse)
30
30
31− height: units.gu(4.5)
31+ height: units.gu(5)
32
32
33 Item {
33 Item {
34 anchors {
34 anchors {
Components/ResponsiveGridView.qml+2
@@ -39,6 +39,8 @@ Item {
39 readonly property alias flicking: gridView.flicking
39 readonly property alias flicking: gridView.flicking
40 readonly property alias moving: gridView.moving
40 readonly property alias moving: gridView.moving
41 readonly property alias pressDelay: gridView.pressDelay
41 readonly property alias pressDelay: gridView.pressDelay
42+ property alias delegateCreationBegin: gridView.delegateCreationBegin
43+ property alias delegateCreationEnd: gridView.delegateCreationEnd
42
44
43 function contentHeightForRows(rows) {
45 function contentHeightForRows(rows) {
44 return rows * cellHeight + verticalSpacing
46 return rows * cellHeight + verticalSpacing
Components/Stage.qml+5
@@ -84,6 +84,11 @@ Showable {
84 }
84 }
85 }
85 }
86
86
87+ Connections {
88+ target: applicationManager
89+ onFocusRequested: activateApplication(appId)
90+ }
91+
87 /* Keep a reference to the focused application so that we can safely
92 /* Keep a reference to the focused application so that we can safely
88 unfocus it when the stage is not fully shown and refocus it when the stage
93 unfocus it when the stage is not fully shown and refocus it when the stage
89 is fully shown again.
94 is fully shown again.
Components/Tile.qml+6−63
@@ -18,70 +18,13 @@ 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: Text.AlignHCenter
25− property alias verticalAlignment: image.verticalAlignment
24+ property string text
26− property alias text: label.text
27 property int imageWidth
25 property int imageWidth
28 property int imageHeight
26 property int imageHeight
27+ property int maximumLineCount: 1
29
28
30− UbuntuShape {
29+ 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}
30}
Components/TileStyle.qmlnew file+81
@@ -0,0 +1,81 @@
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: Image.AlignHCenter
43+ verticalAlignment: Image.AlignVCenter
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: styledItem.horizontalAlignment
77+ text: styledItem.text
78+ wrapMode: Text.Wrap
79+ maximumLineCount: styledItem.maximumLineCount
80+ }
81+}
Dash/Apps/AppsAvailableForDownloadModel.qmldeleted−81
@@ -1,81 +0,0 @@
1−/*
2− * Copyright (C) 2013 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−import QtQuick 2.0
18−import "../../Applications"
19−
20−ListModel {
21− ListElement {
22− uri: "application://evernote.desktop"
23− icon: "../../graphics/applicationIcons/evernote.png"
24− category: 0
25− mimetype: "application/x-desktop"
26− title: "Evernote"
27− comment: ""
28− dndUri: "file:///usr/share/applications/evernote.desktop"
29− metadata: ""
30− }
31− ListElement {
32− uri: "application://map.desktop"
33− icon: "../../graphics/applicationIcons/map.png"
34− category: 0
35− mimetype: "application/x-desktop"
36− title: "Map"
37− comment: ""
38− dndUri: "file:///usr/share/applications/map.desktop"
39− metadata: ""
40− }
41− ListElement {
42− uri: "application://pinterest.desktop"
43− icon: "../../graphics/applicationIcons/pinterest.png"
44− category: 0
45− mimetype: "application/x-desktop"
46− title: "Pinterest"
47− comment: ""
48− dndUri: "file:///usr/share/applications/pinterest.desktop"
49− metadata: ""
50− }
51− ListElement {
52− uri: "application://soundcloud.desktop"
53− icon: "../../graphics/applicationIcons/soundcloud.png"
54− category: 0
55− mimetype: "application/x-desktop"
56− title: "Soundcloud"
57− comment: ""
58− dndUri: "file:///usr/share/applications/soundcloud.desktop"
59− metadata: ""
60− }
61− ListElement {
62− uri: "application://wikipedia.desktop"
63− icon: "../../graphics/applicationIcons/wikipedia.png"
64− category: 0
65− mimetype: "application/x-desktop"
66− title: "Wikipedia"
67− comment: ""
68− dndUri: "file:///usr/share/applications/wikipedia.desktop"
69− metadata: ""
70− }
71− ListElement {
72− uri: "application://youtube.desktop"
73− icon: "../../graphics/applicationIcons/youtube.png"
74− category: 0
75− mimetype: "application/x-desktop"
76− title: "Youtube"
77− comment: ""
78− dndUri: "file:///usr/share/applications/youtube.desktop"
79− metadata: ""
80− }
81−}
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/FrequentlyUsedAppsModel.qml+20−20
@@ -18,93 +18,93 @@ import QtQuick 2.0
18
18
19ListModel {
19ListModel {
20 ListElement {
20 ListElement {
21− uri: "application:///usr/share/applications/dialer-app.desktop"
21+ uri: "application://dialer-app.desktop"
22 icon: "../../graphics/applicationIcons/phone-app.png"
22 icon: "../../graphics/applicationIcons/phone-app.png"
23 category: 0
23 category: 0
24 mimetype: "application/x-desktop"
24 mimetype: "application/x-desktop"
25 title: "Dialer"
25 title: "Dialer"
26 comment: ""
26 comment: ""
27 dndUri: "file:///usr/share/applications/dialer-app.desktop"
27 dndUri: "file:///usr/share/applications/dialer-app.desktop"
28− metadata: ""
28+ metadata: "subscope:applications.scope/applications-non-click.scope"
29 }
29 }
30 ListElement {
30 ListElement {
31− uri: "application:///usr/share/applications/messaging-app.desktop"
31+ uri: "application://messaging-app.desktop"
32 icon: "../../graphics/applicationIcons/messages-app.png"
32 icon: "../../graphics/applicationIcons/messages-app.png"
33 category: 0
33 category: 0
34 mimetype: "application/x-desktop"
34 mimetype: "application/x-desktop"
35 title: "Messaging"
35 title: "Messaging"
36 comment: ""
36 comment: ""
37 dndUri: "file:///usr/share/applications/messaging-app.desktop"
37 dndUri: "file:///usr/share/applications/messaging-app.desktop"
38− metadata: ""
38+ metadata: "subscope:applications.scope/applications-non-click.scope"
39 }
39 }
40 ListElement {
40 ListElement {
41− uri: "application:///usr/share/applications/address-book-app.desktop"
41+ uri: "application://address-book-app.desktop"
42 icon: "../../graphics/applicationIcons/contacts-app.png"
42 icon: "../../graphics/applicationIcons/contacts-app.png"
43 category: 0
43 category: 0
44 mimetype: "application/x-desktop"
44 mimetype: "application/x-desktop"
45 title: "Contacts"
45 title: "Contacts"
46 comment: ""
46 comment: ""
47 dndUri: "file:///usr/share/applications/address-book-app.desktop"
47 dndUri: "file:///usr/share/applications/address-book-app.desktop"
48− metadata: ""
48+ metadata: "subscope:applications.scope/applications-non-click.scope"
49 }
49 }
50 ListElement {
50 ListElement {
51− uri: "application:///usr/share/applications/camera-app.desktop"
51+ uri: "application://camera-app.desktop"
52 icon: "../../graphics/applicationIcons/camera.png"
52 icon: "../../graphics/applicationIcons/camera.png"
53 category: 0
53 category: 0
54 mimetype: "application/x-desktop"
54 mimetype: "application/x-desktop"
55 title: "Camera"
55 title: "Camera"
56 comment: ""
56 comment: ""
57 dndUri: "file:///usr/share/applications/camera-app.desktop"
57 dndUri: "file:///usr/share/applications/camera-app.desktop"
58− metadata: ""
58+ metadata: "subscope:applications.scope/applications-non-click.scope"
59 }
59 }
60 ListElement {
60 ListElement {
61− uri: "application:///usr/share/applications/gallery-app.desktop"
61+ uri: "application://gallery-app.desktop"
62 icon: "../../graphics/applicationIcons/gallery.png"
62 icon: "../../graphics/applicationIcons/gallery.png"
63 category: 0
63 category: 0
64 mimetype: "application/x-desktop"
64 mimetype: "application/x-desktop"
65 title: "Gallery"
65 title: "Gallery"
66 comment: ""
66 comment: ""
67 dndUri: "file:///usr/share/applications/gallery.desktop"
67 dndUri: "file:///usr/share/applications/gallery.desktop"
68− metadata: ""
68+ metadata: "subscope:applications.scope/applications-non-click.scope"
69 }
69 }
70 ListElement {
70 ListElement {
71− uri: "application:///usr/share/applications/facebook-webapp.desktop"
71+ uri: "appid://com.ubuntu.developer.webapps.webapp-facebook/webapp-facebook/current-user-version"
72 icon: "../../graphics/applicationIcons/facebook.png"
72 icon: "../../graphics/applicationIcons/facebook.png"
73 category: 0
73 category: 0
74 mimetype: "application/x-desktop"
74 mimetype: "application/x-desktop"
75 title: "Facebook"
75 title: "Facebook"
76 comment: ""
76 comment: ""
77− dndUri: "file:///usr/share/applications/facebook-webapp.desktop"
77+ dndUri: "appid://com.ubuntu.developer.webapps.webapp-facebook/webapp-facebook/current-user-version"
78− metadata: ""
78+ metadata: "subscope:applications.scope/applications-click.scope?app_id=com.ubuntu.developer.webapps.webapp-facebook"
79 }
79 }
80 ListElement {
80 ListElement {
81− uri: "application:///usr/share/applications/webbrowser-app.desktop"
81+ uri: "application://webbrowser-app.desktop"
82 icon: "../../graphics/applicationIcons/browser.png"
82 icon: "../../graphics/applicationIcons/browser.png"
83 category: 0
83 category: 0
84 mimetype: "application/x-desktop"
84 mimetype: "application/x-desktop"
85 title: "Browser"
85 title: "Browser"
86 comment: ""
86 comment: ""
87 dndUri: "file:///usr/share/applications/webbrowser-app.desktop"
87 dndUri: "file:///usr/share/applications/webbrowser-app.desktop"
88− metadata: ""
88+ metadata: "subscope:applications.scope/applications-non-click.scope"
89 }
89 }
90 ListElement {
90 ListElement {
91− uri: "application:///usr/share/applications/gmail-webapp.desktop"
91+ uri: "appid://com.ubuntu.developer.webapps.webapp-gmail/webapp-gmail/current-user-version"
92 icon: "../../graphics/applicationIcons/gmail.png"
92 icon: "../../graphics/applicationIcons/gmail.png"
93 category: 0
93 category: 0
94 mimetype: "application/x-desktop"
94 mimetype: "application/x-desktop"
95 title: "GMail"
95 title: "GMail"
96 comment: ""
96 comment: ""
97− dndUri: "file:///usr/share/applications/gmail-webapp.desktop"
97+ dndUri: "appid://com.ubuntu.developer.webapps.webapp-gmail/webapp-gmail/current-user-version"
98− metadata: ""
98+ metadata: "subscope:applications.scope/applications-click.scope?app_id=com.ubuntu.developer.webapps.webapp-gmail"
99 }
99 }
100 ListElement {
100 ListElement {
101− uri: "application:///usr/share/applications/ubuntu-system-settings.desktop"
101+ uri: "application://ubuntu-system-settings.desktop"
102 icon: "../../graphics/applicationIcons/system-settings.png"
102 icon: "../../graphics/applicationIcons/system-settings.png"
103 category: 0
103 category: 0
104 mimetype: "application/x-desktop"
104 mimetype: "application/x-desktop"
105 title: "System Settings"
105 title: "System Settings"
106 comment: ""
106 comment: ""
107 dndUri: "file:///usr/share/applications/ubuntu-system-settings.desktop"
107 dndUri: "file:///usr/share/applications/ubuntu-system-settings.desktop"
108− metadata: ""
108+ metadata: "subscope:applications.scope/applications-non-click.scope"
109 }
109 }
110}
110}
Dash/Apps/RunningApplicationTile.qml+9−5
@@ -39,9 +39,7 @@ AbstractButton {
39 property bool terminationModeEnabled: false
39 property bool terminationModeEnabled: false
40
40
41 onClicked: {
41 onClicked: {
42− if (terminationModeEnabled)
42+ if (!terminationModeEnabled)
43− requestedApplicationTermination(application)
44− else
45 requestedApplicationActivation(application)
43 requestedApplicationActivation(application)
46 }
44 }
47
45
@@ -123,9 +121,10 @@ AbstractButton {
123 }
121 }
124
122
125 CloseIcon {
123 CloseIcon {
124+ objectName: "closeIcon " + model.name
126 anchors {
125 anchors {
127− right: shapedApplicationImage.right
126+ left: shapedApplicationImage.left
128− rightMargin: -units.gu(1)
127+ leftMargin: -units.gu(1)
129 top: parent.top
128 top: parent.top
130 topMargin: -units.gu(1)
129 topMargin: -units.gu(1)
131 }
130 }
@@ -133,5 +132,10 @@ AbstractButton {
133 width: units.gu(6)
132 width: units.gu(6)
134 id: closeIcon
133 id: closeIcon
135 enabled: root.terminationModeEnabled
134 enabled: root.terminationModeEnabled
135+
136+ MouseArea {
137+ anchors { fill: parent; margins: -units.gu(1) }
138+ onClicked: requestedApplicationTermination(application)
139+ }
136 }
140 }
137}
141}
Dash/DashContent.qml+5−5
@@ -83,7 +83,7 @@ Item {
83 id: dashContentList
83 id: dashContentList
84 objectName: "dashContentList"
84 objectName: "dashContentList"
85
85
86− interactive: dashContent.scopes.loaded
86+ interactive: dashContent.scopes.loaded && !currentItem.previewShown && !currentItem.moving
87
87
88 anchors.fill: parent
88 anchors.fill: parent
89 model: dashContent.model
89 model: dashContent.model
@@ -116,6 +116,9 @@ Item {
116 source: scopeMapper.map(scope.id)
116 source: scopeMapper.map(scope.id)
117 objectName: scope.id + " loader"
117 objectName: scope.id + " loader"
118
118
119+ readonly property bool previewShown: item.previewShown
120+ readonly property bool moving: item.moving
121+
119 // these are needed for autopilot tests
122 // these are needed for autopilot tests
120 readonly property string scopeId: scope.id
123 readonly property string scopeId: scope.id
121 readonly property bool isCurrent: ListView.isCurrentItem
124 readonly property bool isCurrent: ListView.isCurrentItem
@@ -135,10 +138,7 @@ Item {
135 onEndReached: contentEndReached()
138 onEndReached: contentEndReached()
136 onPreviewShownChanged: {
139 onPreviewShownChanged: {
137 if (item.previewShown) {
140 if (item.previewShown) {
138− previewShown()
141+ dashContent.previewShown()
139− dashContentList.interactive = false
140− } else {
141− dashContentList.interactive = true
142 }
142 }
143 }
143 }
144 }
144 }
Dash/DashMusic.qmldeleted−96
@@ -1,96 +0,0 @@
1−/*
2− * Copyright (C) 2013 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−import QtQuick 2.0
18−import Ubuntu.Components 0.1
19−import "../Components"
20−import "../Components/ListItems" as ListItems
21−import "Music"
22−
23−ScopeView {
24− id: scopeView
25−
26− property var categoryNames: [
27− i18n.tr("Featured"),
28− i18n.tr("Recent"),
29− i18n.tr("New Releases"),
30− i18n.tr("Top Charting")
31− ]
32−
33− onIsCurrentChanged: {
34− pageHeader.resetSearch();
35− }
36−
37− onMovementStarted: categoryView.showHeader()
38−
39− Binding {
40− target: scopeView.scope
41− property: "searchQuery"
42− value: pageHeader.searchQuery
43− }
44−
45− Connections {
46− target: panel
47− onSearchClicked: if (isCurrent) {
48− pageHeader.triggerSearch()
49− categoryView.showHeader()
50− }
51− }
52−
53− function getRenderer(categoryId) {
54− switch (categoryId) {
55− case "featured": return "Music/MusicCarousel.qml"
56− default: return "Music/MusicFilterGrid.qml"
57− }
58− }
59−
60− ScopeListView {
61− id: categoryView
62− anchors.fill: parent
63− model: scopeView.categories
64−
65− onAtYEndChanged: if (atYEnd) endReached()
66− onMovingChanged: if (moving && atYEnd) endReached()
67−
68− delegate: ListItems.Base {
69− id: base
70− highlightWhenPressed: false
71−
72− property string categoryId: model.categoryId
73−
74− Loader {
75− anchors { top: parent.top; left: parent.left; right: parent.right }
76− source: scopeView.getRenderer(base.categoryId)
77− onLoaded: {
78− item.model = results
79− }
80− }
81− }
82−
83− sectionProperty: "name"
84− sectionDelegate: ListItems.Header {
85− width: categoryView.width
86− text: i18n.tr(section)
87− }
88− pageHeader: PageHeader {
89− id: pageHeader
90− width: categoryView.width
91− text: i18n.tr("Music")
92− searchEntryEnabled: true
93− searchHistory: scopeView.searchHistory
94− }
95− }
96−}
Dash/DashPreview.qml+8
@@ -22,6 +22,7 @@ Rectangle {
22
22
23 property int keyboardSize: Qt.inputMethod.visible ? Qt.inputMethod.keyboardRectangle.height : 0
23 property int keyboardSize: Qt.inputMethod.visible ? Qt.inputMethod.keyboardRectangle.height : 0
24 property var previewData
24 property var previewData
25+ property alias showProcessingAction: waitingForActionMouseArea.enabled
25
26
26 property real previewWidthRatio: 0.5
27 property real previewWidthRatio: 0.5
27
28
@@ -196,4 +197,11 @@ Rectangle {
196 }
197 }
197 sourceComponent: root.header
198 sourceComponent: root.header
198 }
199 }
200+
201+ MouseArea {
202+ id: waitingForActionMouseArea
203+ objectName: "waitingForActionMouseArea"
204+ anchors.fill: parent
205+ enabled: false
206+ }
199}
207}
Dash/DashVideos.qmldeleted−201
@@ -1,201 +0,0 @@
1−/*
2− * Copyright (C) 2013 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
5− * it under the terms of the GNU General Public License as published by
6− * the Free Software Foundation; version 3.
7− *
8− * This program is distributed in the hope that it will be useful,
9− * but WITHOUT ANY WARRANTY; without even the implied warranty of
10− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11− * GNU General Public License for more details.
12− *
13− * You should have received a copy of the GNU General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− */
16−
17−import QtQuick 2.0
18−import Ubuntu.Components 0.1
19−import "../Components"
20−import "../Components/ListItems" as ListItems
21−import "Video"
22−
23−ScopeView {
24− id: scopeView
25− property alias previewShown: previewLoader.onScreen
26−
27− property var categoryNames: [
28− i18n.tr("Featured"),
29− i18n.tr("Recent"),
30− i18n.tr("New Releases"),
31− i18n.tr("Popular Online")
32− ]
33−
34− onIsCurrentChanged: {
35− pageHeader.resetSearch();
36− }
37−
38− onMovementStarted: categoryView.showHeader()
39−
40− Binding {
41− target: scopeView.scope
42− property: "searchQuery"
43− value: pageHeader.searchQuery
44− }
45−
46− Connections {
47− target: panel
48− onSearchClicked: if (isCurrent) {
49− pageHeader.triggerSearch()
50− categoryView.showHeader()
51− }
52− }
53−
54− function getRenderer(categoryId) {
55− switch (categoryId) {
56− case "featured": return "Video/VideosCarousel.qml"
57− default: return "Video/VideosFilterGrid.qml"
58− }
59− }
60−
61− OpenEffect {
62− id: effect
63− anchors {
64− fill: parent
65− bottomMargin: -bottomOverflow
66− }
67− sourceItem: categoryView
68−
69− enabled: gap > 0.0
70−
71− topGapPx: (1 - gap) * positionPx
72− topOpacity: Math.max(0, (1 - gap * 1.2))
73− bottomGapPx: positionPx + gap * (targetBottomGapPx - positionPx)
74− bottomOverflow: units.gu(6)
75− bottomOpacity: 1 - (gap * 0.8)
76−
77− property int targetBottomGapPx: height - units.gu(8) - bottomOverflow
78− property real gap: previewLoader.open ? 1.0 : 0.0
79−
80− Behavior on gap {
81− NumberAnimation {
82− duration: 200
83− easing.type: Easing.InOutQuad
84− onRunningChanged: {
85− if (!previewLoader.open && !running) {
86− previewLoader.onScreen = false;
87− }
88− }
89− }
90− }
91− }
92−
93− ScopeListView {
94− id: categoryView
95− anchors.fill: parent
96− model: scopeView.categories
97− forceNoClip: previewLoader.onScreen
98−
99− onAtYEndChanged: if (atYEnd) endReached()
100− onMovingChanged: if (moving && atYEnd) endReached()
101−
102− delegate: ListItems.Base {
103− id: base
104− highlightWhenPressed: false
105− property string categoryId: model.categoryId
106−
107− Loader {
108− id: loader
109− anchors { top: parent.top; left: parent.left; right: parent.right }
110− source: scopeView.getRenderer(base.categoryId)
111− onLoaded: {
112− item.model = results
113− }
114−
115− Connections {
116− target: loader.item
117− onClicked: {
118− var dataItem;
119− // VideosCarousel and VideosFilterGrid have different
120− // clicked signals, accomodate for that
121− if (categoryId == "featured") {
122− var fileUri = delegateItem.model.uri.replace(/^[^:]+:/, "")
123− dataItem = {fileUri: fileUri, nfoUri: delegateItem.model.comment}
124− } else {
125− dataItem = data;
126− }
127− if (dataItem.nfoUri != "") {
128− previewLoader.videoData = dataItem;
129− previewLoader.open = true;
130− effect.positionPx = mapToItem(categoryView, 0, itemY).y;
131− }
132− }
133− }
134− }
135− }
136−
137− sectionProperty: "name"
138− sectionDelegate: ListItems.Header {
139− width: categoryView.width
140− text: i18n.tr(section)
141− }
142−
143− pageHeader: PageHeader {
144− id: pageHeader
145− width: categoryView.width
146− text: i18n.tr("Videos")
147− searchEntryEnabled: true
148− searchHistory: scopeView.searchHistory
149− }
150− }
151−
152− Loader {
153− id: previewLoader
154− height: effect.bottomGapPx - effect.topGapPx
155− anchors {
156− top: parent.top
157− topMargin: effect.topGapPx
158− left: parent.left
159− right: parent.right
160− }
161− sourceComponent: onScreen ? previewComponent : undefined
162−
163− property bool open: false
164− property bool onScreen: false
165− property var videoData
166−
167−
168− onOpenChanged: {
169− if (open) {
170− onScreen = true;
171− }
172− }
173−
174− onLoaded: {
175− item.item = videoData;
176− }
177− }
178−
179− Component {
180− id: previewComponent
181−
182− VideoPreview {
183− id: preview
184− anchors.fill: parent
185− onClose: open = false;
186− }
187− }
188−
189− // TODO: Move as InverseMouseArea to DashPreview
190− MouseArea {
191− enabled: previewLoader.onScreen
192− anchors {
193− fill: parent
194− topMargin: effect.bottomGapPx
195− }
196− onClicked: {
197− previewLoader.open = false;
198− }
199− }
200−
201−}
Dash/Generic/FlatTileStyle.qmlnew file+79
@@ -0,0 +1,79 @@
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: Image.AlignHCenter
42+ verticalAlignment: Image.AlignVCenter
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: styledItem.horizontalAlignment
75+ text: styledItem.text
76+ wrapMode: Text.Wrap
77+ maximumLineCount: styledItem.maximumLineCount
78+ }
79+}
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/GenericPreview.qml+4−1
@@ -71,7 +71,10 @@ DashPreview {
71 text: modelData.displayName
71 text: modelData.displayName
72 iconSource: modelData.iconHint
72 iconSource: modelData.iconHint
73 iconPosition: "right"
73 iconPosition: "right"
74+ onClicked: {
74− onClicked: previewData.execute(modelData.id, { })
75+ previewData.execute(modelData.id, { })
76+ genericPreview.showProcessingAction = true;
77+ }
75 }
78 }
76 }
79 }
77 }
80 }
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+46−1
@@ -24,6 +24,8 @@ ScopeView {
24 readonly property alias previewShown: previewLoader.onScreen
24 readonly property alias previewShown: previewLoader.onScreen
25 property bool enableHeightBehaviorOnNextCreation: false
25 property bool enableHeightBehaviorOnNextCreation: false
26
26
27+ moving: categoryView.moving
28+
27 onIsCurrentChanged: {
29 onIsCurrentChanged: {
28 pageHeader.resetSearch();
30 pageHeader.resetSearch();
29 previewLoader.open = false;
31 previewLoader.open = false;
@@ -57,6 +59,7 @@ ScopeView {
57 target: scopeView.scope
59 target: scopeView.scope
58 onShowDash: previewLoader.open = false;
60 onShowDash: previewLoader.open = false;
59 onHideDash: previewLoader.open = false;
61 onHideDash: previewLoader.open = false;
62+ onActivated: previewLoader.closePreviewSpinner();
60 }
63 }
61
64
62 ScopeListView {
65 ScopeListView {
@@ -72,6 +75,7 @@ ScopeView {
72 property string expandedCategoryId: ""
75 property string expandedCategoryId: ""
73
76
74 delegate: ListItems.Base {
77 delegate: ListItems.Base {
78+ id: baseItem
75 highlightWhenPressed: false
79 highlightWhenPressed: false
76
80
77 readonly property bool expandable: rendererLoader.item ? rendererLoader.item.expandable : false
81 readonly property bool expandable: rendererLoader.item ? rendererLoader.item.expandable : false
@@ -108,6 +112,7 @@ ScopeView {
108 item.filter = shouldFilter;
112 item.filter = shouldFilter;
109 }
113 }
110 }
114 }
115+ updateDelegateCreationRange();
111 }
116 }
112
117
113 Component.onDestruction: {
118 Component.onDestruction: {
@@ -164,6 +169,33 @@ ScopeView {
164 }
169 }
165 }
170 }
166 }
171 }
172+ onContentYChanged: rendererLoader.updateDelegateCreationRange();
173+ onHeightChanged: rendererLoader.updateDelegateCreationRange();
174+ }
175+
176+ function updateDelegateCreationRange() {
177+ // Do not update the range if we are overshooting up or down, since we'll come back
178+ // to the stable position and delete/create items without any reason
179+ if (categoryView.contentY < categoryView.originY) {
180+ return;
181+ } else if (categoryView.contentY + categoryView.height > categoryView.contentHeight) {
182+ return;
183+ }
184+
185+ if (item.hasOwnProperty("delegateCreationBegin")) {
186+ if (baseItem.y + baseItem.height <= 0) {
187+ // Not visible (item at top of the list)
188+ item.delegateCreationBegin = baseItem.height
189+ item.delegateCreationEnd = baseItem.height
190+ } else if (baseItem.y >= categoryView.height) {
191+ // Not visible (item at bottom of the list)
192+ item.delegateCreationBegin = 0
193+ item.delegateCreationEnd = 0
194+ } else {
195+ item.delegateCreationBegin = Math.max(-baseItem.y, 0)
196+ item.delegateCreationEnd = Math.min(categoryView.height + item.delegateCreationBegin, baseItem.height)
197+ }
198+ }
167 }
199 }
168 }
200 }
169 }
201 }
@@ -208,8 +240,15 @@ ScopeView {
208 switch (rendererId) {
240 switch (rendererId) {
209 case "grid": {
241 case "grid": {
210 switch (contentType) {
242 switch (contentType) {
211− case "video": return "Generic/GenericFilterGridPotrait.qml";
243+ case "video": return "Video/VideoFilterGrid.qml";
212 case "music": return "Music/MusicFilterGrid.qml";
244 case "music": return "Music/MusicFilterGrid.qml";
245+ case "apps": {
246+ if (rendererHint == "toggled")
247+ return "Apps/DashPluginFilterGrid.qml";
248+ else
249+ return "Generic/GenericFilterGrid.qml";
250+ }
251+ case "weather": return "Generic/WeatherFilterGrid.qml";
213 default: return "Generic/GenericFilterGrid.qml";
252 default: return "Generic/GenericFilterGrid.qml";
214 }
253 }
215 }
254 }
@@ -307,6 +346,12 @@ ScopeView {
307 onLoaded: {
346 onLoaded: {
308 item.previewData = Qt.binding(function() { return previewLoader.previewData })
347 item.previewData = Qt.binding(function() { return previewLoader.previewData })
309 }
348 }
349+
350+ function closePreviewSpinner() {
351+ if(item) {
352+ item.showProcessingAction = false;
353+ }
354+ }
310 }
355 }
311
356
312 // TODO: Move as InverseMouseArea to DashPreview
357 // TODO: Move as InverseMouseArea to DashPreview
Dash/Music/MusicFilterGrid.qml+21−22
@@ -16,42 +16,41 @@
16
16
17import QtQuick 2.0
17import QtQuick 2.0
18import "../../Components"
18import "../../Components"
19+import "../Generic"
19
20
20−FilterGrid {
21+GenericFilterGrid {
21− id: filterGrid
22+ id: filtergrid
22
23
23− minimumHorizontalSpacing: units.gu(2)
24− maximumNumberOfColumns: 5
25− delegateWidth: units.gu(17)
24+ delegateWidth: units.gu(11)
26− delegateHeight: iconHeight + units.gu(3.5)
25+ delegateHeight: units.gu(16)
27− verticalSpacing: units.gu(2)
28
26
29− readonly property int iconWidth: (width / columns) * 0.8
27+ iconWidth: units.gu(11)
30− readonly property int iconHeight: iconWidth
28+ iconHeight: units.gu(11)
31
29
32− signal clicked(int index, var delegateItem, real itemY)
33− signal pressAndHold(int index, var delegateItem, real itemY)
34−
35− delegate: AlbumTile {
30+ delegate: Tile {
36 id: tile
31 id: tile
37 objectName: "delegate" + index
32 objectName: "delegate" + index
38− width: filterGrid.cellWidth
33+ width: filtergrid.cellWidth
39− height: filterGrid.cellHeight
34+ height: filtergrid.cellHeight
40− iconWidth: filterGrid.iconWidth
41− iconHeight: filterGrid.iconHeight
42−
43− artist: model.title
44− album: model.comment
35+ text: model.comment
36+ imageWidth: filtergrid.iconWidth
37+ imageHeight: filtergrid.iconHeight
45 source: model.icon
38 source: model.icon
39+ maximumLineCount: 2
40+ horizontalAlignment: Text.AlignLeft
41+
42+ style: MusicTileStyle {
43+ artist: model.title
44+ }
46
45
47 onClicked: {
46 onClicked: {
48 var data = { model: model }
47 var data = { model: model }
49− filterGrid.clicked(index, data, tile.y)
48+ filtergrid.clicked(index, data, tile.y)
50 }
49 }
51
50
52 onPressAndHold: {
51 onPressAndHold: {
53 var data = { model: model }
52 var data = { model: model }
54− filterGrid.pressAndHold(index, data, tile.y)
53+ filtergrid.pressAndHold(index, data, tile.y)
55 }
54 }
56 }
55 }
57}
56}
Dash/Music/MusicTileStyle.qmlnew file+102
@@ -0,0 +1,102 @@
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 alias artist: artistLabel.text
24+
25+ anchors.fill: parent
26+
27+ UbuntuShape {
28+ id: icon
29+ anchors {
30+ top: parent.top
31+ horizontalCenter: parent.horizontalCenter
32+ }
33+ radius: "medium"
34+ width: styledItem.imageWidth
35+ height: styledItem.imageHeight
36+ image: Image {
37+ id: image
38+ objectName: "image"
39+ sourceSize { width: icon.width; height: icon.height }
40+ asynchronous: true
41+ cache: false
42+ source: styledItem.source
43+ fillMode: styledItem.fillMode
44+ horizontalAlignment: Image.AlignHCenter
45+ verticalAlignment: Image.AlignVCenter
46+ }
47+ }
48+
49+ UbuntuShape {
50+ id: borderPressed
51+ objectName: "borderPressed"
52+
53+ anchors.fill: icon
54+ radius: "medium"
55+ borderSource: "radius_pressed.sci"
56+ opacity: styledItem.pressed ? 1.0 : 0.0
57+ Behavior on opacity { NumberAnimation { duration: 200; easing.type: Easing.OutQuint } }
58+ }
59+
60+ Label {
61+ id: label
62+ objectName: "label"
63+ anchors {
64+ baseline: icon.bottom
65+ baselineOffset: units.gu(2)
66+ left: icon.left
67+ right: parent.right
68+ rightMargin: units.gu(1)
69+ leftMargin: units.dp(2)
70+ }
71+
72+ color: Theme.palette.selected.backgroundText
73+ opacity: 0.9
74+ style: Text.Raised
75+ styleColor: "black"
76+ fontSize: "small"
77+ font.weight: Font.Bold
78+ elide: Text.ElideRight
79+ horizontalAlignment: styledItem.horizontalAlignment
80+ text: styledItem.text
81+ wrapMode: Text.Wrap
82+ maximumLineCount: styledItem.maximumLineCount
83+ }
84+
85+ Label {
86+ id: artistLabel
87+ anchors {
88+ top: label.bottom
89+ left: label.left
90+ right: label.right
91+ rightMargin: units.gu(1)
92+ }
93+
94+ color: Theme.palette.selected.backgroundText
95+ opacity: 0.9
96+ style: Text.Raised
97+ styleColor: "black"
98+ fontSize: "x-small"
99+ elide: Text.ElideMiddle
100+ horizontalAlignment: styledItem.horizontalAlignment
101+ }
102+}
Dash/ScopeDelegateMapper.qml+2−4
@@ -17,10 +17,8 @@
17import QtQuick 2.0
17import QtQuick 2.0
18
18
19QtObject {
19QtObject {
20− property var scopeDelegateMapping: {"mockmusicmaster.scope": "DashMusic.qml",
21− "applications.scope": "DashApps.qml",
20+ property var scopeDelegateMapping: {"applications.scope": "DashApps.qml",
22− "home.scope": "DashHome.qml",
21+ "home.scope": "DashHome.qml"
23− "mockvideosmaster.scope": "DashVideos.qml"
24 }
22 }
25 property string genericScope: "GenericScopeView.qml"
23 property string genericScope: "GenericScopeView.qml"
26
24
Dash/ScopeListView.qml+5
@@ -20,4 +20,9 @@ import ListViewWithPageHeader 0.1
20ListViewWithPageHeader {
20ListViewWithPageHeader {
21 maximumFlickVelocity: height * 10
21 maximumFlickVelocity: height * 10
22 flickDeceleration: height * 2
22 flickDeceleration: height * 2
23+
24+ Connections {
25+ target: greeter
26+ onShownChanged: if (greeter.shown) showHeader()
27+ }
23}
28}
Dash/ScopeView.qml+1
@@ -23,6 +23,7 @@ FocusScope {
23 property SortFilterProxyModel categories: categoryFilter
23 property SortFilterProxyModel categories: categoryFilter
24 property bool isCurrent
24 property bool isCurrent
25 property ListModel searchHistory
25 property ListModel searchHistory
26+ property bool moving: false
26
27
27 signal endReached
28 signal endReached
28 signal movementStarted
29 signal movementStarted
Dash/Video/VideosFilterGrid.qml → Dash/Video/VideoFilterGrid.qmlrenamed+17−13
@@ -16,20 +16,16 @@
16
16
17import QtQuick 2.0
17import QtQuick 2.0
18import "../../Components"
18import "../../Components"
19+import "../Generic"
19
20
20−FilterGrid {
21+GenericFilterGrid {
21 id: filtergrid
22 id: filtergrid
22
23
23− minimumHorizontalSpacing: units.gu(0.5)
24− maximumNumberOfColumns: 5
25 delegateWidth: units.gu(11)
24 delegateWidth: units.gu(11)
26− delegateHeight: iconHeight + units.gu(2.5)
25+ delegateHeight: units.gu(15)
27− verticalSpacing: units.gu(2)
28
26
29− readonly property int iconWidth: (width / columns) * 0.8
27+ iconWidth: units.gu(11)
30− readonly property int iconHeight: iconWidth * 16 / 11
28+ iconHeight: units.gu(11)
31−
32− signal clicked(int index, var data, real itemY)
33
29
34 delegate: Tile {
30 delegate: Tile {
35 id: tile
31 id: tile
@@ -40,11 +36,19 @@ FilterGrid {
40 imageWidth: filtergrid.iconWidth
36 imageWidth: filtergrid.iconWidth
41 imageHeight: filtergrid.iconHeight
37 imageHeight: filtergrid.iconHeight
42 source: model.icon
38 source: model.icon
43− fillMode: Image.PreserveAspectCrop
39+ maximumLineCount: 2
40+ horizontalAlignment: Text.AlignLeft
41+
42+ style: VideoTileStyle {}
43+
44 onClicked: {
44 onClicked: {
45− var fileUri = model.uri.replace(/^[^:]+:/, "")
45+ var data = { model: model }
46− var data = {fileUri: fileUri, nfoUri: model.comment}
47− filtergrid.clicked(index, data, tile.y);
46+ filtergrid.clicked(index, data, tile.y)
47+ }
48+
49+ onPressAndHold: {
50+ var data = { model: model }
51+ filtergrid.pressAndHold(index, data, tile.y)
48 }
52 }
49 }
53 }
50}
54}
Dash/Video/VideoTileStyle.qmlnew file+87
@@ -0,0 +1,87 @@
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+ Image {
26+ id: icon
27+ anchors {
28+ top: parent.top
29+ horizontalCenter: parent.horizontalCenter
30+ }
31+ width: styledItem.imageWidth
32+ height: styledItem.imageHeight
33+ source: "graphics/movie_icon_holder.png"
34+
35+ Image {
36+ id: image
37+ objectName: "image"
38+ anchors {
39+ fill: parent;
40+ topMargin: units.gu(2);
41+ bottomMargin: units.gu(2)
42+ }
43+ sourceSize { width: icon.width; height: icon.height }
44+ asynchronous: true
45+ cache: false
46+ source: styledItem.source
47+ fillMode: styledItem.fillMode
48+ horizontalAlignment: Image.AlignHCenter
49+ verticalAlignment: Image.AlignVCenter
50+ }
51+ }
52+
53+ UbuntuShape {
54+ id: borderPressed
55+ objectName: "borderPressed"
56+
57+ anchors.fill: icon
58+ radius: "medium"
59+ borderSource: "radius_pressed.sci"
60+ opacity: styledItem.pressed ? 1.0 : 0.0
61+ Behavior on opacity { NumberAnimation { duration: 200; easing.type: Easing.OutQuint } }
62+ }
63+
64+ Label {
65+ id: label
66+ objectName: "label"
67+ anchors {
68+ baseline: icon.bottom
69+ baselineOffset: units.gu(2)
70+ left: icon.left
71+ right: parent.right
72+ rightMargin: units.gu(1)
73+ leftMargin: units.dp(2)
74+ }
75+
76+ color: Theme.palette.selected.backgroundText
77+ opacity: 0.9
78+ style: Text.Raised
79+ styleColor: "black"
80+ fontSize: "small"
81+ elide: Text.ElideRight
82+ horizontalAlignment: styledItem.horizontalAlignment
83+ text: styledItem.text
84+ wrapMode: Text.Wrap
85+ maximumLineCount: styledItem.maximumLineCount
86+ }
87+}
Dash/Video/graphics/movie_icon_holder@27.pngnew file

Binary file not shown.

Greeter/Clock.qml+31−12
@@ -16,6 +16,7 @@
16
16
17import QtQuick 2.0
17import QtQuick 2.0
18import Ubuntu.Components 0.1
18import Ubuntu.Components 0.1
19+import Unity.Indicators 0.1 as Indicators
19
20
20Item {
21Item {
21 id: clock
22 id: clock
@@ -23,17 +24,35 @@ Item {
23 implicitWidth: childrenRect.width
24 implicitWidth: childrenRect.width
24 implicitHeight: childrenRect.height
25 implicitHeight: childrenRect.height
25
26
27+ // Allows to set the current Date. Will be overwritten if active
26− property date __date
28+ property date currentDate
27− property alias __timerInterval: timer.interval
28− readonly property bool __timerRunning: timer.running
29
29
30− Timer {
30+ // If active, time will be updated through the indicators service
31− id: timer
32− interval: 1000 * 60
33− running: clock.enabled && clock.visible && clock.opacity != 0
31+ property bool active: clock.enabled && clock.visible
34− repeat: true
32+
35− triggeredOnStart: true
33+ Component.onCompleted: {
36− onTriggered: __date = new Date
34+ if (active) {
35+ currentDate = new Date()
36+ }
37+ }
38+
39+ Indicators.CachedUnityMenuModel {
40+ id: timeModel
41+ objectName: "timeModel"
42+
43+ busName: "com.canonical.indicator.datetime"
44+ actionsObjectPath: "/com/canonical/indicator/datetime"
45+ menuObjectPath: clock.active ? "/com/canonical/indicator/datetime/phone" : ""
46+
47+ Indicators.RootActionState {
48+ menu: timeModel.model
49+ onUpdated: {
50+ if (timeLabel.text != rightLabel) {
51+ timeLabel.text = rightLabel;
52+ clock.currentDate = new Date();
53+ }
54+ }
55+ }
37 }
56 }
38
57
39 Column {
58 Column {
@@ -47,7 +66,7 @@ Item {
47 font.pixelSize: units.gu(7.5)
66 font.pixelSize: units.gu(7.5)
48 color: "white"
67 color: "white"
49 opacity: 0.5
68 opacity: 0.5
50− text: Qt.formatTime(__date)
69+ text: Qt.formatTime(clock.currentDate)
51 font.weight: Font.Light
70 font.weight: Font.Light
52 }
71 }
53
72
@@ -59,7 +78,7 @@ Item {
59 fontSize: "medium"
78 fontSize: "medium"
60 color: "white"
79 color: "white"
61 opacity: 0.5
80 opacity: 0.5
62− text: Qt.formatDate(__date, Qt.DefaultLocaleLongDate)
81+ text: Qt.formatDate(clock.currentDate, Qt.DefaultLocaleLongDate)
63 font.weight: Font.Light
82 font.weight: Font.Light
64 }
83 }
65 }
84 }
Greeter/Infographics.qml+1−3
@@ -405,7 +405,7 @@ Item {
405 }
405 }
406 }
406 }
407
407
408− Text {
408+ Label {
409 id: notification
409 id: notification
410 objectName: "label"
410 objectName: "label"
411
411
@@ -419,13 +419,11 @@ Item {
419 anchors.centerIn: parent
419 anchors.centerIn: parent
420
420
421 text: infographic.model.label
421 text: infographic.model.label
422− font.pixelSize: notification.height / 12
423
422
424 wrapMode: Text.WordWrap
423 wrapMode: Text.WordWrap
425 horizontalAlignment: Text.AlignHCenter
424 horizontalAlignment: Text.AlignHCenter
426 verticalAlignment: Text.AlignVCenter
425 verticalAlignment: Text.AlignVCenter
427 color: "white"
426 color: "white"
428− font.weight: Font.Light
429
427
430 PropertyAnimation {
428 PropertyAnimation {
431 id: increaseOpacity
429 id: increaseOpacity
Greeter/PinLockscreen.qml+5
@@ -32,6 +32,8 @@ Column {
32 signal entered(string passphrase)
32 signal entered(string passphrase)
33 signal cancel()
33 signal cancel()
34
34
35+ property bool entryEnabled: true
36+
35 function clear(playAnimation) {
37 function clear(playAnimation) {
36 pinentryField.text = "";
38 pinentryField.text = "";
37 if (playAnimation) {
39 if (playAnimation) {
@@ -140,6 +142,7 @@ Column {
140 width: root.padWidth / 3
142 width: root.padWidth / 3
141 height: root.padHeight / 4
143 height: root.padHeight / 4
142 text: index + 1
144 text: index + 1
145+ enabled: entryEnabled
143
146
144 onClicked: {
147 onClicked: {
145 pinentryField.text = pinentryField.text + text;
148 pinentryField.text = pinentryField.text + text;
@@ -161,6 +164,7 @@ Column {
161 height: root.padHeight / 4
164 height: root.padHeight / 4
162 text: "0"
165 text: "0"
163 onClicked: pinentryField.text = pinentryField.text + text
166 onClicked: pinentryField.text = pinentryField.text + text
167+ enabled: entryEnabled
164 }
168 }
165
169
166 PinPadButton {
170 PinPadButton {
@@ -169,6 +173,7 @@ Column {
169 height: root.padHeight / 4
173 height: root.padHeight / 4
170 iconName: "erase"
174 iconName: "erase"
171 onClicked: pinentryField.text = pinentryField.text.substring(0, pinentryField.text.length-1)
175 onClicked: pinentryField.text = pinentryField.text.substring(0, pinentryField.text.length-1)
176+ enabled: entryEnabled
172 }
177 }
173 }
178 }
174 }
179 }
Notifications/Notification.qml+3−2
@@ -34,12 +34,13 @@ UbuntuShape {
34 property var notification
34 property var notification
35
35
36 objectName: "background"
36 objectName: "background"
37− implicitHeight: contentColumn.height + contentColumn.spacing * 2
37+ implicitHeight: type != Notification.PlaceHolder ? contentColumn.height + contentColumn.spacing * 2 : 0
38 color: Qt.rgba(0.132, 0.117, 0.109, 0.97)
38 color: Qt.rgba(0.132, 0.117, 0.109, 0.97)
39 opacity: 0
39 opacity: 0
40 radius: "medium"
40 radius: "medium"
41
41
42 clip: true
42 clip: true
43+ visible: type != Notification.PlaceHolder
43
44
44 UnityMenuModelPaths {
45 UnityMenuModelPaths {
45 id: paths
46 id: paths
@@ -190,7 +191,7 @@ UbuntuShape {
190 left: parent.left
191 left: parent.left
191 right: parent.right
192 right: parent.right
192 }
193 }
193− visible: notification.type == Notification.SnapDecision
194+ visible: notification.type == Notification.SnapDecision && actionRepeater.count > 0
194 height: units.gu(5)
195 height: units.gu(5)
195
196
196 property real buttonWidth: (width - contentColumn.spacing) / 2
197 property real buttonWidth: (width - contentColumn.spacing) / 2
Notifications/NotificationMenuItemFactory.qml+6
@@ -78,8 +78,14 @@ Loader {
78 PinLockscreen {
78 PinLockscreen {
79 anchors.left: parent.left; anchors.right: parent.right
79 anchors.left: parent.left; anchors.right: parent.right
80
80
81+ Component.onCompleted: {
82+ menuModel.loadExtendedAttributes(menuIndex, {'x-canonical-pin-length': 'int'});
83+ pinLength = menuData.ext.xCanonicalPinLength;
84+ }
85+
81 onEntered: {
86 onEntered: {
82 menuModel.changeState(menuIndex, passphrase);
87 menuModel.changeState(menuIndex, passphrase);
88+ entryEnabled = false;
83 }
89 }
84
90
85 onCancel: {
91 onCancel: {
Shell.qml+4−7
@@ -558,13 +558,9 @@ FocusScope {
558 }
558 }
559
559
560 function showHome() {
560 function showHome() {
561+ var animate = !greeter.shown && !stages.shown
561 greeter.hide()
562 greeter.hide()
562− // Animate if moving between application and dash
563− if (!stages.shown) {
564− dash.setCurrentScope("home.scope", true, false)
563+ dash.setCurrentScope("home.scope", animate, false)
565− } else {
566− dash.setCurrentScope("home.scope", false, false)
567− }
568 stages.hide()
564 stages.hide()
569 }
565 }
570
566
@@ -583,7 +579,7 @@ FocusScope {
583 contentEnabled: edgeDemo.panelContentEnabled
579 contentEnabled: edgeDemo.panelContentEnabled
584 }
580 }
585 fullscreenMode: shell.fullscreenMode
581 fullscreenMode: shell.fullscreenMode
586− searchVisible: !greeter.shown && !lockscreen.shown
582+ searchVisible: !greeter.shown && !lockscreen.shown && dash.shown
587
583
588 InputFilterArea {
584 InputFilterArea {
589 anchors {
585 anchors {
@@ -741,6 +737,7 @@ FocusScope {
741 }
737 }
742
738
743 OSKController {
739 OSKController {
740+ anchors.topMargin: panel.panelHeight
744 anchors.fill: parent // as needs to know the geometry of the shell
741 anchors.fill: parent // as needs to know the geometry of the shell
745 }
742 }
746
743
data/unity8.confnew file+9
@@ -0,0 +1,9 @@
1+description "Unity Shell v8"
2+author "Ricardo Mendoza <ricmm@ubuntu.com>"
3+
4+start on ((xsession SESSION=ubuntu-touch) or (xsession SESSION=ubuntu-touch-surfaceflinger)) and started dbus
5+stop on desktop-end
6+
7+respawn
8+
9+exec ${BINARY:-unity8} $ARGS
debian/changelog+277
@@ -1,3 +1,280 @@
1+unity8 (7.83+14.04.20131028.1-0ubuntu1) trusty; urgency=low
2+
3+ * New rebuild forced
4+ * Automatic snapshot from revision 480
5+
6+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Mon, 28 Oct 2013 22:42:07 +0000
7+
8+unity8 (7.83+14.04.20131028-0ubuntu1) trusty; urgency=low
9+
10+ [ Andrea Cimitan ]
11+ * Fix 1195349 by counting drawbuffer on the newContentX logic of the
12+ carousel When we changed carousel from repeater to listview, we
13+ added drawbuffer. this breaks the logic of newContentX, which was
14+ considered disabled and set to -1. The correct disabled value now
15+ has to take into account the drawbuffer. (LP: #1195349)
16+
17+ [ Christopher Lee ]
18+ * Checks both then env and upstart env for the currently set
19+ XDG_DATA_DIRS so they can be set correctly for the test.
20+
21+ [ Ubuntu daily release ]
22+ * Automatic snapshot from revision 479
23+
24+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Mon, 28 Oct 2013 03:08:59 +0000
25+
26+unity8 (7.83+13.10.20131016.2-0ubuntu1) saucy; urgency=low
27+
28+ [ Loïc Minier ]
29+ * Merge ~lool/unity8/drop-setcap-conf. Drop unity8-setcap.conf as this
30+ breaks desktop installs (no boot-hook event is emitted, boot
31+ stalls); add maintscript snippet to rm_conffile on upgrades; this
32+ boot-hook is now shipped under a different name in lxc-android-
33+ config.
34+
35+ [ Michał Sawicz ]
36+ * Ship a camera-app.desktop file and use a custom XDG_DATA_DIRS for
37+ testing.
38+
39+ [ Ubuntu daily release ]
40+ * Automatic snapshot from revision 472
41+
42+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Wed, 16 Oct 2013 23:15:48 +0000
43+
44+unity8 (7.83+13.10.20131016.1-0ubuntu1) saucy; urgency=low
45+
46+ [ Diego Sarmentero ]
47+ * Disable Preview interaction until the scope responds.
48+
49+ [ Albert Astals ]
50+ * Hide placeholder notification.
51+
52+ [ Ubuntu daily release ]
53+ * Automatic snapshot from revision 469
54+
55+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Wed, 16 Oct 2013 17:29:36 +0000
56+
57+unity8 (7.83+13.10.20131016-0ubuntu1) saucy; urgency=low
58+
59+ [ Loïc Minier ]
60+ * Add upstart job to copy unity8 to a new tmpfs, setcap it, and bind-
61+ mount it back; this is an ugly hack to set CAP_SYS_RESOURCE until we
62+ have a root-helper for it.
63+
64+ [ Michal Hruby ]
65+ * Enable definition of scope back references in overridden results.
66+
67+ [ Ubuntu daily release ]
68+ * Automatic snapshot from revision 466
69+
70+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Wed, 16 Oct 2013 11:29:52 +0000
71+
72+unity8 (7.83+13.10.20131015.4-0ubuntu1) saucy; urgency=low
73+
74+ [ Michał Sawicz ]
75+ * Replace ubuntu-touch-session's unity8.conf upstart job.
76+ * Revert r440 that made the dash collapse animation worse, rather than
77+ better.
78+
79+ [ om26er@ubuntu.com ]
80+ * close the app only when the close button is tapped, not the entire
81+ thumbnail
82+
83+ [ Nick Dedekind ]
84+ * Added missing Unity.Indicator mock objects causing qmltests to fail.
85+ Approved by: Michał Sawicz.
86+
87+ [ Christopher Lee ]
88+ * Launch unity8 for autopilot with upstart, and bring unity8 session
89+ over from session-manager-touch.
90+
91+ [ Pawel Stolowski ]
92+ * Temporarily disable category_order changed signal handling.
93+
94+ [ Daniel d'Andrada ]
95+ * OSKController area shouldn't cover the indicators' bar Since ubuntu-
96+ keyboard surface area doesn't cover the indicators' bar,
97+ OSKController should follow suit. Otherwise the OSKContoller's
98+ internal InputFilterArea (and others) wouldn't perfectly overlap the
99+ graphical keyboard rendered by ubuntu-keyboard (i.e. the opaque part
100+ of ubuntu-keyboard's surface).
101+
102+ [ Michael Zanetti ]
103+ * Initialize initialHeight/Width to height/width depending on scaleTo
104+ add checks for initialWidth/Height in the tests change sizes in
105+ tests to something else than the default for initialWidth/Height in
106+ order to catch failures there more easily
107+
108+ [ Omer Akram ]
109+ * Only show search indicator while the Dash is focued.
110+ * Add 2dp left margin for music and video tiles' title.
111+
112+ [ Nicolas d'Offay ]
113+ * Changed Infographics to use Ubuntu font.
114+
115+ [ Ubuntu daily release ]
116+ * Automatic snapshot from revision 463
117+
118+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Tue, 15 Oct 2013 11:05:04 +0000
119+
120+unity8 (7.82+13.10.20131011.2-0ubuntu1) saucy; urgency=low
121+
122+ [ Michał Sawicz ]
123+ * Work around Mir not delivering input to shell after restart, if the
124+ device isn't reinitialized.
125+
126+ [ Albert Astals ]
127+ * Remove unused DashMusic/DashVideos.
128+ * Don't let the user change between scopes if the current one is
129+ moving up/down.
130+ * Fix two uninitialized variable uses reported by valgrind ==17988==
131+ Conditional jump or move depends on uninitialised value(s) ==17988==
132+ at 0x13839F3A: AccountsService::updateDemoEdges()
133+ (AccountsService.cpp:74) ==17988== by 0x13839DA5:
134+ AccountsService::setUser(QString const&) (AccountsService.cpp:45)
135+ ==17988== by 0x1383F67B:
136+ AccountsService::qt_metacall(QMetaObject::Call, int, void**)
137+ (moc_AccountsService.cpp:192) ==17988== by 0x496143D:
138+ StoreProperty(QV8Engine*, QObject*, QQmlPropertyData*,
139+ v8::Handle<v8::Value>) (in /usr/lib/arm-linux-
140+ gnueabihf/libQt5Qml.so.5.0.2) ==17988== ==17988== Conditional jump
141+ or move depends on uninitialised value(s) ==17988== at 0x1383A0F6:
142+ AccountsService::updateStatsWelcomeScreen() (AccountsService.cpp:92)
143+ ==17988== by 0x13839DB1: AccountsService::setUser(QString const&)
144+ (AccountsService.cpp:47) ==17988== by 0x1383F67B:
145+ AccountsService::qt_metacall(QMetaObject::Call, int, void**)
146+ (moc_AccountsService.cpp:192) ==17988== by 0x496143D:
147+ StoreProperty(QV8Engine*, QObject*, QQmlPropertyData*,
148+ v8::Handle<v8::Value>) (in /usr/lib/arm-linux-
149+ gnueabihf/libQt5Qml.so.5.0.2)
150+ * Fix unitialized variable in Scope ==18457== Conditional jump or move
151+ depends on uninitialised value(s) ==18457== at 0x15AD1FD6:
152+ Scope::setActive(bool) (scope.cpp:165) ==18457== by 0x15B0023D:
153+ Scope::qt_metacall(QMetaObject::Call, int, void**)
154+ (moc_scope.cpp:478) ==18457== by 0x48B709F:
155+ QQmlPropertyPrivate::write(QObject*, QQmlPropertyData const&,
156+ QVariant const&, QQmlContextData*,
157+ QFlags<QQmlPropertyPrivate::WriteFlag>) (in /usr/lib/arm-linux-
158+ gnueabihf/libQt5Qml.so.5.0.2)
159+ * Fix crash on the phone For some reason i'm getting v8 crashes
160+ without this when shuting down unity-mir
161+
162+ [ Gerry Boland ]
163+ * Use focusRequested signal from AppManager. WM: AppManager has new
164+ signal to ask shell to request focus for app - use it to properly
165+ animate and focus the app. If app wants to be side stage, but no
166+ side stage available, override the application stage.
167+
168+ [ Nick Dedekind ]
169+ * Only use the root action state as a unitymenumodel ActionStateParser
170+ when needed.
171+
172+ [ Andrea Cimitan ]
173+ * Move the close app icon on top left.
174+ * The header of category list is already on screen after unlock
175+
176+ [ Michael Zanetti ]
177+ * Make the greeter's clock update in sync with the indicators.
178+
179+ [ Omer Akram ]
180+ * Increase dash header height to 5gu.
181+
182+ [ Nicolas d'Offay ]
183+ * Standardised expansion speed in scopes.
184+
185+ [ Ubuntu daily release ]
186+ * Automatic snapshot from revision 449
187+
188+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Fri, 11 Oct 2013 17:26:34 +0000
189+
190+unity8 (7.82+13.10.20131011.1-0ubuntu1) saucy; urgency=low
191+
192+ [ Michał Sawicz ]
193+ * Fix frequent application IDs and drop old AppsAvailableForDownload
194+ model.
195+ * Unrevert r388 now that we have fixed the infinite loop it was
196+ causing in Qt.
197+
198+ [ Steve Langasek ]
199+ * Don't keep a long-lived connection open to upstart when we only use
200+ it for two events, one at load time and one at unload time.
201+
202+ [ Lars Uebernickel ]
203+ * VolumeControl: use 'volume' instead of 'scroll' action The volume
204+ action doesn't show a notification.
205+
206+ [ Michael Terry ]
207+ * Disable DragHandle on right side of screen while the greeter is
208+ animating
209+
210+ [ Marcus Tomlinson ]
211+ * Added missing "enabled" property to "progressMenu" component in the
212+ menu item factory.
213+
214+ [ Michael Zanetti ]
215+ * Add scaleTo: "fit" mode support to LazyImage
216+
217+ [ Andrea Cimitan ]
218+ * Add music and video renderers
219+ * Use shell.edgeSize for BottomBar's EdgeDragArea, detecting gestures
220+ only when they are within the edgeSize.
221+
222+ [ Nick Dedekind ]
223+ * Removed greeter "toHome" animation (LP#1092976) (LP: #1092976)
224+ * Only show Snap Decision notification actions when available.
225+
226+ [ Albert Astals ]
227+ * Dash: Set delegate creation range for inner itemviewss If it's above
228+ the list viewport we set it to the end of the list to precache the
229+ last items It it's below the list viewport we set it to the
230+ beginning to precache the first items Otherwise we set it to the
231+ part of the viewport in the view Approved by: Michał Sawicz.
232+
233+ [ Ubuntu daily release ]
234+ * Automatic snapshot from revision 435
235+
236+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Fri, 11 Oct 2013 09:05:30 +0000
237+
238+unity8 (7.82+13.10.20131010-0ubuntu1) saucy; urgency=low
239+
240+ [ David Callé ]
241+ * Small logic change in preview descriptions line breaks. Multiple new
242+ lines are now replaced by multiple br tags.
243+
244+ [ Nick Dedekind ]
245+ * Use indicator identifier for indicators-client list item label.
246+ * Make sure overflow indicators are hidden and not the search label.
247+
248+ [ Mirco Müller ]
249+ * Tweaks to notifications to improve spec-compliance. - updated
250+ notifications-qmltest to reflect the use of a variant-map for the
251+ hints - made text-fields as heigh as buttons - made the summary
252+ align horizontally to the icon - updated button-height and bubble-
253+ background.
254+
255+ [ Pawel Stolowski ]
256+ * Handle category_order_changes signal from scopes (used in Home only)
257+ and reorder categories accordingly.
258+ * Implementation of albumart image provider for audio content.
259+
260+ [ Michael Terry ]
261+ * Hide the greeter when an app is focused, fixing snap decisions
262+ launching an app in the greeter (like receiving a call).
263+
264+ [ Michael Zanetti ]
265+ * Launcher - remove support for pinning items in the backend After the
266+ latest design changes, recent apps is everything that is contained
267+ in the ApplicationManager. So no need for storing anything else than
268+ pinned apps in the config.
269+
270+ [ Michał Sawicz ]
271+ * Remove the mir socket before starting unity8 during autopilot tests.
272+
273+ [ Ubuntu daily release ]
274+ * Automatic snapshot from revision 420
275+
276+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Thu, 10 Oct 2013 04:15:13 +0000
277+
1unity8 (7.82+13.10.20131008.1-0ubuntu1) saucy; urgency=low
278unity8 (7.82+13.10.20131008.1-0ubuntu1) saucy; urgency=low
2
279
3 [ Michal Hruby ]
280 [ Michal Hruby ]
debian/control+3
@@ -78,10 +78,13 @@ Depends: gsettings-desktop-schemas,
78 unity8-fake-env | qtubuntu-shell,
78 unity8-fake-env | qtubuntu-shell,
79 unity8-private (= ${binary:Version}),
79 unity8-private (= ${binary:Version}),
80 unity8-private | unity-launcher-impl,
80 unity8-private | unity-launcher-impl,
81+# for setcap:
82+ libcap2-bin,
81 ${misc:Depends},
83 ${misc:Depends},
82 ${shlibs:Depends},
84 ${shlibs:Depends},
83Recommends: ${unity-default-masterscopes},
85Recommends: ${unity-default-masterscopes},
84Breaks: indicator-network (<< 0.5.1)
86Breaks: indicator-network (<< 0.5.1)
87+Replaces: ubuntu-touch-session (<< 0.82~)
85Description: Unity 8 shell
88Description: Unity 8 shell
86 The Unity 8 shell is the primary user interface for Ubuntu devices.
89 The Unity 8 shell is the primary user interface for Ubuntu devices.
87
90
debian/unity8-fake-env.install+1
@@ -1 +1,2 @@
1usr/lib/*/unity8/qml/mocks
1usr/lib/*/unity8/qml/mocks
2+usr/share/unity8/mocks
debian/unity8.install+1
@@ -13,3 +13,4 @@ usr/share/unity8/Panel
13usr/share/unity8/Shell.qml
13usr/share/unity8/Shell.qml
14usr/share/unity8/SideStage
14usr/share/unity8/SideStage
15usr/share/unity8/graphics
15usr/share/unity8/graphics
16+data/unity8.conf usr/share/upstart/sessions/
debian/unity8.maintscriptnew file+1
@@ -0,0 +1 @@
1+rm_conffile /etc/init/boot-hooks/unity8-setcap.conf
main.cpp+1
@@ -177,6 +177,7 @@ int startShell(int argc, const char** argv, void* server)
177
177
178 int result = application->exec();
178 int result = application->exec();
179
179
180+ delete view;
180 delete mouseTouchAdaptor;
181 delete mouseTouchAdaptor;
181 delete application;
182 delete application;
182
183
plugins/AccountsService/AccountsService.cpp+3−1
@@ -24,7 +24,9 @@
24AccountsService::AccountsService(QObject* parent)
24AccountsService::AccountsService(QObject* parent)
25 : QObject(parent),
25 : QObject(parent),
26 m_service(new AccountsServiceDBusAdaptor(this)),
26 m_service(new AccountsServiceDBusAdaptor(this)),
27− m_user(qgetenv("USER"))
27+ m_user(qgetenv("USER")),
28+ m_demoEdges(false),
29+ m_statsWelcomeScreen(false)
28{
30{
29 connect(m_service, SIGNAL(propertiesChanged(const QString &, const QString &, const QStringList &)),
31 connect(m_service, SIGNAL(propertiesChanged(const QString &, const QString &, const QStringList &)),
30 this, SLOT(propertiesChanged(const QString &, const QString &, const QStringList &)));
32 this, SLOT(propertiesChanged(const QString &, const QString &, const QStringList &)));
plugins/Unity/Indicators/indicatorsmanager.cpp+20−24
@@ -47,34 +47,13 @@ public:
47IndicatorsManager::IndicatorsManager(QObject* parent)
47IndicatorsManager::IndicatorsManager(QObject* parent)
48 : QObject(parent)
48 : QObject(parent)
49 , m_loaded(false)
49 , m_loaded(false)
50− , m_upstart(NULL)
51{
50{
52− auto upstartsession = qgetenv("UPSTART_SESSION");
53− if (!upstartsession.isNull()) {
54− DBusConnection * conn = NULL;
55− conn = dbus_connection_open(upstartsession.constData(), NULL);
56− if (conn != NULL) {
57− m_upstart = nih_dbus_proxy_new(NULL, conn,
58− NULL,
59− DBUS_PATH_UPSTART,
60− NULL, NULL);
61− dbus_connection_unref(conn);
62− }
63− }
64−
65− if (m_upstart != NULL) {
66− m_upstart->auto_start = FALSE;
67− }
68}
51}
69
52
70IndicatorsManager::~IndicatorsManager()
53IndicatorsManager::~IndicatorsManager()
71{
54{
72 unload();
55 unload();
73
56
74− if (m_upstart != NULL) {
75− nih_unref(m_upstart, NULL);
76− m_upstart = NULL;
77− }
78}
57}
79
58
80void IndicatorsManager::load()
59void IndicatorsManager::load()
@@ -235,17 +214,34 @@ void IndicatorsManager::setLoaded(bool loaded)
235 m_loaded = loaded;
214 m_loaded = loaded;
236 Q_EMIT loadedChanged(m_loaded);
215 Q_EMIT loadedChanged(m_loaded);
237
216
238− if (m_upstart != NULL) {
217+ auto upstartsession = qgetenv("UPSTART_SESSION");
218+ NihDBusProxy * upstart = NULL;
219+
220+ if (!upstartsession.isNull()) {
221+ DBusConnection * conn = NULL;
222+ conn = dbus_connection_open(upstartsession.constData(), NULL);
223+ if (conn != NULL) {
224+ upstart = nih_dbus_proxy_new(NULL, conn,
225+ NULL,
226+ DBUS_PATH_UPSTART,
227+ NULL, NULL);
228+ dbus_connection_unref(conn);
229+ }
230+ }
231+
232+ if (upstart != NULL) {
239 int event_sent = 0;
233 int event_sent = 0;
240 if (m_loaded) {
234 if (m_loaded) {
241− event_sent = upstart_emit_event_sync(NULL, m_upstart, "indicator-services-start", NULL, 0);
235+ event_sent = upstart_emit_event_sync(NULL, upstart, "indicator-services-start", NULL, 0);
242 } else {
236 } else {
243− event_sent = upstart_emit_event_sync(NULL, m_upstart, "indicator-services-end", NULL, 0);
237+ event_sent = upstart_emit_event_sync(NULL, upstart, "indicator-services-end", NULL, 0);
244 }
238 }
245
239
246 if (event_sent != 0) {
240 if (event_sent != 0) {
247 qWarning() << "Unable to send indicator event to Upstart";
241 qWarning() << "Unable to send indicator event to Upstart";
248 }
242 }
243+ nih_unref(upstart, NULL);
244+ upstart = NULL;
249 }
245 }
250 }
246 }
251}
247}
plugins/Unity/Indicators/indicatorsmanager.h−1
@@ -71,7 +71,6 @@ private:
71 QHash<QString, IndicatorData*> m_indicatorsData;
71 QHash<QString, IndicatorData*> m_indicatorsData;
72 QSharedPointer<QFileSystemWatcher> m_fsWatcher;
72 QSharedPointer<QFileSystemWatcher> m_fsWatcher;
73 bool m_loaded;
73 bool m_loaded;
74− NihDBusProxy * m_upstart;
75};
74};
76
75
77#endif // INDICATORS_MANAGER_H
76#endif // INDICATORS_MANAGER_H
plugins/Unity/Indicators/qml/MenuItemFactory.qml+1
@@ -115,6 +115,7 @@ Item {
115 text: menu && menu.label ? menu.label : ""
115 text: menu && menu.label ? menu.label : ""
116 icon: menu ? menu.icon : ""
116 icon: menu ? menu.icon : ""
117 value : menu ? menu.actionState : 0.0
117 value : menu ? menu.actionState : 0.0
118+ enabled: menu ? menu.sensitive : false
118 }
119 }
119 }
120 }
120
121
plugins/Unity/Indicators/rootactionstate.cpp+15−1
@@ -57,7 +57,7 @@ void RootActionState::setMenu(UnityMenuModel* menu)
57 connect(m_menu, SIGNAL(rowsRemoved(const QModelIndex&, int, int)), SLOT(onModelRowsRemoved(const QModelIndex&, int, int)));
57 connect(m_menu, SIGNAL(rowsRemoved(const QModelIndex&, int, int)), SLOT(onModelRowsRemoved(const QModelIndex&, int, int)));
58 connect(m_menu, SIGNAL(dataChanged(const QModelIndex&, const QModelIndex&, const QVector<int>&)), SLOT(onModelDataChanged(const QModelIndex&, const QModelIndex&, const QVector<int>&)));
58 connect(m_menu, SIGNAL(dataChanged(const QModelIndex&, const QModelIndex&, const QVector<int>&)), SLOT(onModelDataChanged(const QModelIndex&, const QModelIndex&, const QVector<int>&)));
59
59
60− m_menu->setActionStateParser(this);
60+ connect(m_menu, SIGNAL(destroyed()), SLOT(reset()));
61 }
61 }
62 updateActionState();
62 updateActionState();
63 Q_EMIT menuChanged();
63 Q_EMIT menuChanged();
@@ -92,10 +92,24 @@ void RootActionState::onModelDataChanged(const QModelIndex& topLeft, const QMode
92 }
92 }
93}
93}
94
94
95+void RootActionState::reset()
96+{
97+ m_cachedState.clear();
98+ m_menu = NULL;
99+
100+ Q_EMIT menuChanged();
101+ Q_EMIT updated();
102+}
103+
95void RootActionState::updateActionState()
104void RootActionState::updateActionState()
96{
105{
97 if (m_menu && m_menu->rowCount() > 0) {
106 if (m_menu && m_menu->rowCount() > 0) {
107+ ActionStateParser* oldParser = m_menu->actionStateParser();
108+ m_menu->setActionStateParser(this);
109+
98 m_cachedState = m_menu->get(0, "actionState").toMap();
110 m_cachedState = m_menu->get(0, "actionState").toMap();
111+
112+ m_menu->setActionStateParser(oldParser);
99 } else {
113 } else {
100 m_cachedState.clear();
114 m_cachedState.clear();
101 }
115 }
plugins/Unity/Indicators/rootactionstate.h+1
@@ -77,6 +77,7 @@ private Q_SLOTS:
77 void onModelRowsAdded(const QModelIndex& parent, int start, int end);
77 void onModelRowsAdded(const QModelIndex& parent, int start, int end);
78 void onModelRowsRemoved(const QModelIndex& parent, int start, int end);
78 void onModelRowsRemoved(const QModelIndex& parent, int start, int end);
79 void onModelDataChanged(const QModelIndex& topLeft, const QModelIndex& bottomRight, const QVector<int>&);
79 void onModelDataChanged(const QModelIndex& topLeft, const QModelIndex& bottomRight, const QVector<int>&);
80+ void reset();
80
81
81private:
82private:
82 void updateActionState();
83 void updateActionState();
plugins/Unity/categories.cpp+3−1
@@ -131,7 +131,9 @@ Categories::setUnityScope(const unity::dash::Scope::Ptr& scope)
131
131
132 m_signals.disconnectAll();
132 m_signals.disconnectAll();
133 m_signals << m_unityScope->categories()->model.changed.connect(sigc::mem_fun(this, &Categories::onCategoriesModelChanged));
133 m_signals << m_unityScope->categories()->model.changed.connect(sigc::mem_fun(this, &Categories::onCategoriesModelChanged));
134+
135+ // FIXME: Don't handle category order changes for now as it causes UI issues (https://bugs.launchpad.net/unity8/+bug/1239584).
134− m_signals << m_unityScope->category_order.changed.connect(sigc::mem_fun(this, &Categories::onCategoryOrderChanged));
136+ //m_signals << m_unityScope->category_order.changed.connect(sigc::mem_fun(this, &Categories::onCategoryOrderChanged));
135}
137}
136
138
137void
139void
plugins/Unity/scope.cpp+11−1
@@ -28,6 +28,7 @@
28
28
29// Qt
29// Qt
30#include <QUrl>
30#include <QUrl>
31+#include <QUrlQuery>
31#include <QDebug>
32#include <QDebug>
32#include <QtGui/QDesktopServices>
33#include <QtGui/QDesktopServices>
33#include <QQmlEngine>
34#include <QQmlEngine>
@@ -40,6 +41,7 @@
40
41
41Scope::Scope(QObject *parent) : QObject(parent)
42Scope::Scope(QObject *parent) : QObject(parent)
42 , m_formFactor("phone")
43 , m_formFactor("phone")
44+ , m_isActive(false)
43 , m_searchInProgress(false)
45 , m_searchInProgress(false)
44{
46{
45 m_categories.reset(new Categories(this));
47 m_categories.reset(new Categories(this));
@@ -202,7 +204,13 @@ void Scope::preview(const QVariant &uri, const QVariant &icon_hint, const QVaria
202 const QVariant &result_type, const QVariant &mimetype, const QVariant &title,
204 const QVariant &result_type, const QVariant &mimetype, const QVariant &title,
203 const QVariant &comment, const QVariant &dnd_uri, const QVariant &metadata)
205 const QVariant &comment, const QVariant &dnd_uri, const QVariant &metadata)
204{
206{
207+ QVariant real_metadata(metadata);
208+ // handle overridden results, since QML doesn't support defining maps
209+ if (metadata.type() == QVariant::String) {
210+ real_metadata = QVariant::fromValue(subscopeUriToMetadataHash(metadata.toString()));
211+ }
212+
205− auto res = createLocalResult(uri, icon_hint, category, result_type, mimetype, title, comment, dnd_uri, metadata);
213+ auto res = createLocalResult(uri, icon_hint, category, result_type, mimetype, title, comment, dnd_uri, real_metadata);
206 m_previewCancellable.Renew();
214 m_previewCancellable.Renew();
207
215
208 // canned queries don't have previews, must be activated
216 // canned queries don't have previews, must be activated
@@ -220,6 +228,7 @@ void Scope::cancelActivation()
220
228
221void Scope::onActivated(unity::dash::LocalResult const& result, unity::dash::ScopeHandledType type, unity::glib::HintsMap const& hints)
229void Scope::onActivated(unity::dash::LocalResult const& result, unity::dash::ScopeHandledType type, unity::glib::HintsMap const& hints)
222{
230{
231+ Q_EMIT activated();
223 // note: we will not get called on SHOW_PREVIEW, instead UnityCore will signal preview_ready.
232 // note: we will not get called on SHOW_PREVIEW, instead UnityCore will signal preview_ready.
224 switch (type)
233 switch (type)
225 {
234 {
@@ -253,6 +262,7 @@ void Scope::onActivated(unity::dash::LocalResult const& result, unity::dash::Sco
253
262
254void Scope::onPreviewReady(unity::dash::LocalResult const& /* result */, unity::dash::Preview::Ptr const& preview)
263void Scope::onPreviewReady(unity::dash::LocalResult const& /* result */, unity::dash::Preview::Ptr const& preview)
255{
264{
265+ Q_EMIT activated();
256 auto prv = Preview::newFromUnityPreview(preview);
266 auto prv = Preview::newFromUnityPreview(preview);
257 // is this the best solution? QML may need to keep more than one preview instance around, so we can't own it.
267 // is this the best solution? QML may need to keep more than one preview instance around, so we can't own it.
258 // passing it by value is not possible.
268 // passing it by value is not possible.
plugins/Unity/scope.h+1
@@ -117,6 +117,7 @@ Q_SIGNALS:
117 void showDash();
117 void showDash();
118 void hideDash();
118 void hideDash();
119 void gotoUri(const QString &uri);
119 void gotoUri(const QString &uri);
120+ void activated();
120
121
121 void activateApplication(const QString &desktop);
122 void activateApplication(const QString &desktop);
122
123
plugins/Unity/variantutils.cpp+31
@@ -17,6 +17,10 @@
17 * 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/>.
18 */
18 */
19
19
20+#include <QUrl>
21+#include <QUrlQuery>
22+#include <QStringList>
23+
20#include <deelistmodel.h>
24#include <deelistmodel.h>
21#include "variantutils.h"
25#include "variantutils.h"
22
26
@@ -49,3 +53,30 @@ QVariantHash convertToQVariantHash(const unity::glib::HintsMap& var)
49 }
53 }
50 return hash;
54 return hash;
51}
55}
56+
57+/* This will translate uris in the form of:
58+ * "subscope:master.scope/sub.scope?foo=bar"
59+ * into a QVariantHash that can be passed as a metadata field to scope.
60+ */
61+QVariantHash subscopeUriToMetadataHash(const QString &metadata_string)
62+{
63+ QUrl metadata_url(metadata_string);
64+ if (metadata_url.scheme() == QLatin1String("subscope")) {
65+ QString subscope_uri(metadata_url.toString(QUrl::RemoveScheme | QUrl::RemoveQuery));
66+ QVariantHash new_metadata;
67+ QUrlQuery query(metadata_url.query());
68+ QList<QPair<QString,QString>> queryItems(query.queryItems());
69+ for (auto it = queryItems.begin(); it != queryItems.end(); ++it) {
70+ new_metadata[it->first] = QVariant::fromValue(it->second);
71+ }
72+ QStringList parts(subscope_uri.split(QChar('/')));
73+ for (int i = parts.size() - 1; i >= 0; i--) {
74+ QVariantHash inner;
75+ inner["scope-id"] = QVariant::fromValue(parts[i]);
76+ inner["content"] = QVariant::fromValue(new_metadata);
77+ new_metadata = inner;
78+ }
79+ return new_metadata;
80+ }
81+ return QVariantHash();
82+}
plugins/Unity/variantutils.h+3−1
@@ -28,6 +28,8 @@
28
28
29unity::glib::HintsMap convertToHintsMap(const QHash<QString, QVariant> &val);
29unity::glib::HintsMap convertToHintsMap(const QHash<QString, QVariant> &val);
30unity::glib::HintsMap convertToHintsMap(const QVariant &var);
30unity::glib::HintsMap convertToHintsMap(const QVariant &var);
31−QVariantHash convertToQVariantHash(const unity::glib::HintsMap& var);
31+QVariantHash convertToQVariantHash(const unity::glib::HintsMap &var);
32+/* used in tests, so we have to export it */
33+Q_DECL_EXPORT QVariantHash subscopeUriToMetadataHash(const QString &metadata_string);
32
34
33#endif
35#endif
po/ar.po+36−57
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+0200\n"
11−"PO-Revision-Date: 2013-06-26 23:26+0000\n"
11+"PO-Revision-Date: 2013-10-20 19:41+0000\n"
12"Last-Translator: Ibrahim Saed <ibraheem5000@gmail.com>\n"
12"Last-Translator: Ibrahim Saed <ibraheem5000@gmail.com>\n"
13"Language-Team: Arabic <ar@li.org>\n"
13"Language-Team: Arabic <ar@li.org>\n"
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=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-10-08 07:01+0000\n"
19+"X-Launchpad-Export-Date: 2013-10-21 05:04+0000\n"
20−"X-Generator: Launchpad (build 16799)\n"
20+"X-Generator: Launchpad (build 16807)\n"
21
21
22#: Applications/applications.js:23
22#: Applications/applications.js:23
23msgid "Phone"
23msgid "Phone"
@@ -65,7 +65,7 @@ msgstr "مشغّل الوسائط"
65
65
66#: Applications/applications.js:86
66#: Applications/applications.js:86
67msgid "Evernote"
67msgid "Evernote"
68−msgstr ""
68+msgstr "Evernote"
69
69
70#: Applications/applications.js:91
70#: Applications/applications.js:91
71msgid "Map"
71msgid "Map"
@@ -73,11 +73,11 @@ msgstr "الخريطة"
73
73
74#: Applications/applications.js:96
74#: Applications/applications.js:96
75msgid "Pinterest"
75msgid "Pinterest"
76−msgstr ""
76+msgstr "Pinterest"
77
77
78#: Applications/applications.js:101
78#: Applications/applications.js:101
79msgid "SoundCloud"
79msgid "SoundCloud"
80−msgstr ""
80+msgstr "SoundCloud"
81
81
82#: Applications/applications.js:106
82#: Applications/applications.js:106
83msgid "Wikipedia"
83msgid "Wikipedia"
@@ -89,49 +89,52 @@ msgstr "يوتيوب"
89
89
90#: Components/EdgeDemoOverlay.qml:149
90#: Components/EdgeDemoOverlay.qml:149
91msgid "Skip intro"
91msgid "Skip intro"
92−msgstr ""
92+msgstr "تخطي المقدمة"
93
93
94#: Components/EdgeDemo.qml:112
94#: Components/EdgeDemo.qml:112
95msgid "Right edge"
95msgid "Right edge"
96−msgstr ""
96+msgstr "الحافة اليمنى"
97
97
98#: Components/EdgeDemo.qml:113
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"
100−msgstr ""
100+msgstr "اسحب اصبعك من الحافة اليمنى لفتح قفل الهاتف"
101
101
102#: Components/EdgeDemo.qml:144
102#: Components/EdgeDemo.qml:144
103msgid "Top edge"
103msgid "Top edge"
104−msgstr ""
104+msgstr "الحافة العلوية"
105
105
106#: Components/EdgeDemo.qml:145
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"
108−msgstr ""
108+msgstr "اسحب اصبعك من الحافة العلوية للوصول إلى المؤشرات"
109
109
110#: Components/EdgeDemo.qml:170
110#: Components/EdgeDemo.qml:170
111msgid "Close"
111msgid "Close"
112−msgstr ""
112+msgstr "أغلق"
113
113
114#: Components/EdgeDemo.qml:171
114#: Components/EdgeDemo.qml:171
115msgid "Swipe up again to close the settings screen"
115msgid "Swipe up again to close the settings screen"
116−msgstr ""
116+msgstr "اسحب اصعبك لأعلى مرة أخرى لغلق شاشة الإعدادات"
117
117
118#: Components/EdgeDemo.qml:198
118#: Components/EdgeDemo.qml:198
119msgid "Left edge"
119msgid "Left edge"
120−msgstr ""
120+msgstr "الحافة اليسرى"
121
121
122#: Components/EdgeDemo.qml:199
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
126#: Components/EdgeDemo.qml:226
127#: Components/EdgeDemo.qml:226
127msgid "Well done"
128msgid "Well done"
128−msgstr ""
129+msgstr "أحسنت!"
129
130
130#: Components/EdgeDemo.qml:227
131#: Components/EdgeDemo.qml:227
131msgid ""
132msgid ""
132"You have now mastered the edge gestures and can start using the "
133"You have now mastered the edge gestures and can start using the "
133"phone<br><br>Tap anywhere to start"
134"phone<br><br>Tap anywhere to start"
134msgstr ""
135msgstr ""
136+"لقد أتقنت الآن إيماءات الحواف ويمكنك البدء باستخدام الهاتف<br><br>انقر في أي "
137+"مكان للبدء"
135
138
136#: Components/PageHeader.qml:341
139#: Components/PageHeader.qml:341
137msgid "Recent searches"
140msgid "Recent searches"
@@ -142,7 +145,7 @@ msgstr "عمليات البحث الأخيرة"
142#: Dash/Apps/AppInfo.qml:73 Dash/Previews/Header.qml:93
145#: Dash/Apps/AppInfo.qml:73 Dash/Previews/Header.qml:93
143#, qt-format
146#, qt-format
144msgid "(%1)"
147msgid "(%1)"
145−msgstr ""
148+msgstr "(%1)"
146
149
147#. TRANSLATORS: Number of persons who wrote reviews for this app
150#. TRANSLATORS: Number of persons who wrote reviews for this app
148#. TRANSLATORS: Number of persons who wrote reviews for this app/video/whatever
151#. TRANSLATORS: Number of persons who wrote reviews for this app/video/whatever
@@ -150,60 +153,36 @@ msgstr ""
150#, qt-format
153#, qt-format
151msgid "%1 review"
154msgid "%1 review"
152msgid_plural "%1 reviews"
155msgid_plural "%1 reviews"
153−msgstr[0] ""
156+msgstr[0] "لا تعليقات (%1)"
157+msgstr[1] "تعليق واحد (%1)"
158+msgstr[2] "تعليقان (%1)"
154−msgstr[1] ""
159+msgstr[3] "%1 تعليقات"
160+msgstr[4] "%1 تعليقا"
161+msgstr[5] "%1 تعليق"
155
162
156#: Dash/Apps/AppPreview.qml:126
163#: Dash/Apps/AppPreview.qml:126
157msgid "Rate this"
164msgid "Rate this"
158−msgstr ""
165+msgstr "قيّم ذلك"
159−
160−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
161−msgid "Featured"
162−msgstr "المميز"
163−
164−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
165−msgid "Recent"
166−msgstr "الحديث"
167−
168−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
169−msgid "New Releases"
170−msgstr "الإصدارات الجديدة"
171−
172−#: Dash/DashMusic.qml:30
173−msgid "Top Charting"
174−msgstr ""
175−
176−#: Dash/DashMusic.qml:91
177−msgid "Music"
178−msgstr "موسيقى"
179−
180−#: Dash/DashVideos.qml:31
181−msgid "Popular Online"
182−msgstr "الشائع على الإنترنت"
183−
184−#: Dash/DashVideos.qml:146
185−msgid "Videos"
186−msgstr "فيديوهات"
187
166
188#: Dash/Previews/Reviews.qml:74
167#: Dash/Previews/Reviews.qml:74
189msgid "Add a review"
168msgid "Add a review"
190−msgstr ""
169+msgstr "أضف تعليق"
191
170
192#: Dash/Previews/Reviews.qml:86
171#: Dash/Previews/Reviews.qml:86
193msgid "Review"
172msgid "Review"
194−msgstr ""
173+msgstr "التعليق"
195
174
196#: Dash/Previews/Reviews.qml:121
175#: Dash/Previews/Reviews.qml:121
197msgid "Send"
176msgid "Send"
198−msgstr ""
177+msgstr "أرسل"
199
178
200#: Dash/Previews/Reviews.qml:139
179#: Dash/Previews/Reviews.qml:139
201msgid "Comments:"
180msgid "Comments:"
202−msgstr ""
181+msgstr "التعليقات:"
203
182
204#: Greeter/Lockscreen.qml:142
183#: Greeter/Lockscreen.qml:142
205msgid "Emergency Call"
184msgid "Emergency Call"
206−msgstr ""
185+msgstr "مكالمة طوارئ"
207
186
208#: Greeter/PassphraseLockscreen.qml:59
187#: Greeter/PassphraseLockscreen.qml:59
209#, qt-format
188#, qt-format
@@ -238,15 +217,15 @@ msgstr "تتكلم الآن..."
238msgid "Search"
217msgid "Search"
239msgstr "ابحث"
218msgstr "ابحث"
240
219
241−#: plugins/Unity/scope.cpp:361
220+#: plugins/Unity/scope.cpp:398
242msgid "Sorry, there is nothing that matches your search."
221msgid "Sorry, there is nothing that matches your search."
243msgstr "عذراً، لا يوجد ما يطابق بحثك."
222msgstr "عذراً، لا يوجد ما يطابق بحثك."
244
223
245#: plugins/Unity/showallfilteroption.cpp:41
224#: plugins/Unity/showallfilteroption.cpp:41
246msgid "All"
225msgid "All"
247−msgstr ""
226+msgstr "الكل"
248
227
249−#: Shell.qml:453
228+#: Shell.qml:438
250#, qt-format
229#, qt-format
251msgid "Please enter %1"
230msgid "Please enter %1"
252−msgstr ""
231+msgstr "من فضلك أدخِل %1"
po/ast.po+25−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+0200\n"
11"PO-Revision-Date: 2013-10-03 14:02+0000\n"
11"PO-Revision-Date: 2013-10-03 14:02+0000\n"
12"Last-Translator: ivarela <ivarela@ubuntu.com>\n"
12"Last-Translator: ivarela <ivarela@ubuntu.com>\n"
13"Language-Team: Asturian <ast@li.org>\n"
13"Language-Team: Asturian <ast@li.org>\n"
@@ -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-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -160,34 +160,6 @@ msgstr[1] "%1 reseñes"
160msgid "Rate this"
160msgid "Rate this"
161msgstr "Valorar esto"
161msgstr "Valorar esto"
162
162
163−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164−msgid "Featured"
165−msgstr "Destacaos"
166−
167−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
168−msgid "Recent"
169−msgstr "Recientes"
170−
171−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
172−msgid "New Releases"
173−msgstr "Llanzamientos nuevos"
174−
175−#: Dash/DashMusic.qml:30
176−msgid "Top Charting"
177−msgstr "Meyor posicionaes"
178−
179−#: Dash/DashMusic.qml:91
180−msgid "Music"
181−msgstr "Música"
182−
183−#: Dash/DashVideos.qml:31
184−msgid "Popular Online"
185−msgstr "Populares en llinia"
186−
187−#: Dash/DashVideos.qml:146
188−msgid "Videos"
189−msgstr "Vídeos"
190−
191#: Dash/Previews/Reviews.qml:74
163#: Dash/Previews/Reviews.qml:74
192msgid "Add a review"
164msgid "Add a review"
193msgstr "Amestar una reseña"
165msgstr "Amestar una reseña"
@@ -241,7 +213,7 @@ msgstr "Falando…"
241msgid "Search"
213msgid "Search"
242msgstr "Guetar"
214msgstr "Guetar"
243
215
244−#: plugins/Unity/scope.cpp:361
216+#: plugins/Unity/scope.cpp:398
245msgid "Sorry, there is nothing that matches your search."
217msgid "Sorry, there is nothing that matches your search."
246msgstr "Sentímoslo, nun hai res que concase cola gueta"
218msgstr "Sentímoslo, nun hai res que concase cola gueta"
247
219
@@ -249,7 +221,28 @@ msgstr "Sentímoslo, nun hai res que concase cola gueta"
249msgid "All"
221msgid "All"
250msgstr "Too"
222msgstr "Too"
251
223
252−#: Shell.qml:453
224+#: Shell.qml:438
253#, qt-format
225#, qt-format
254msgid "Please enter %1"
226msgid "Please enter %1"
255msgstr "Introduz %1"
227msgstr "Introduz %1"
228+
229+#~ msgid "New Releases"
230+#~ msgstr "Llanzamientos nuevos"
231+
232+#~ msgid "Featured"
233+#~ msgstr "Destacaos"
234+
235+#~ msgid "Top Charting"
236+#~ msgstr "Meyor posicionaes"
237+
238+#~ msgid "Recent"
239+#~ msgstr "Recientes"
240+
241+#~ msgid "Videos"
242+#~ msgstr "Vídeos"
243+
244+#~ msgid "Music"
245+#~ msgstr "Música"
246+
247+#~ msgid "Popular Online"
248+#~ msgstr "Populares en llinia"
po/az.po+10−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+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,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-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -156,34 +156,6 @@ msgstr[1] ""
156msgid "Rate this"
156msgid "Rate this"
157msgstr ""
157msgstr ""
158
158
159−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
160−msgid "Featured"
161−msgstr ""
162−
163−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
164−msgid "Recent"
165−msgstr ""
166−
167−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
168−msgid "New Releases"
169−msgstr ""
170−
171−#: Dash/DashMusic.qml:30
172−msgid "Top Charting"
173−msgstr ""
174−
175−#: Dash/DashMusic.qml:91
176−msgid "Music"
177−msgstr "Musiqi"
178−
179−#: Dash/DashVideos.qml:31
180−msgid "Popular Online"
181−msgstr ""
182−
183−#: Dash/DashVideos.qml:146
184−msgid "Videos"
185−msgstr "Videolar"
186−
187#: Dash/Previews/Reviews.qml:74
159#: Dash/Previews/Reviews.qml:74
188msgid "Add a review"
160msgid "Add a review"
189msgstr ""
161msgstr ""
@@ -237,7 +209,7 @@ msgstr "Söylənilir..."
237msgid "Search"
209msgid "Search"
238msgstr "Axtar"
210msgstr "Axtar"
239
211
240−#: plugins/Unity/scope.cpp:361
212+#: plugins/Unity/scope.cpp:398
241msgid "Sorry, there is nothing that matches your search."
213msgid "Sorry, there is nothing that matches your search."
242msgstr "Bağışlayın, amma axtarışınıza heç bir nəticə uyğun gəlmir."
214msgstr "Bağışlayın, amma axtarışınıza heç bir nəticə uyğun gəlmir."
243
215
@@ -245,7 +217,13 @@ msgstr "Bağışlayın, amma axtarışınıza heç bir nəticə uyğun gəlmir."
245msgid "All"
217msgid "All"
246msgstr ""
218msgstr ""
247
219
248−#: Shell.qml:453
220+#: Shell.qml:438
249#, qt-format
221#, qt-format
250msgid "Please enter %1"
222msgid "Please enter %1"
251msgstr ""
223msgstr ""
224+
225+#~ msgid "Music"
226+#~ msgstr "Musiqi"
227+
228+#~ msgid "Videos"
229+#~ msgstr "Videolar"
po/bg.po+16−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+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,7 +16,7 @@ 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-10-08 07:01+0000\n"
19+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
20"X-Generator: Launchpad (build 16799)\n"
20"X-Generator: Launchpad (build 16799)\n"
21
21
22#: Applications/applications.js:23
22#: Applications/applications.js:23
@@ -157,34 +157,6 @@ msgstr[1] ""
157msgid "Rate this"
157msgid "Rate this"
158msgstr ""
158msgstr ""
159
159
160−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
161−msgid "Featured"
162−msgstr "Най-отличени"
163−
164−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
165−msgid "Recent"
166−msgstr "Най-нови"
167−
168−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
169−msgid "New Releases"
170−msgstr ""
171−
172−#: Dash/DashMusic.qml:30
173−msgid "Top Charting"
174−msgstr ""
175−
176−#: Dash/DashMusic.qml:91
177−msgid "Music"
178−msgstr "Музика"
179−
180−#: Dash/DashVideos.qml:31
181−msgid "Popular Online"
182−msgstr ""
183−
184−#: Dash/DashVideos.qml:146
185−msgid "Videos"
186−msgstr "Видеоклипове"
187−
188#: Dash/Previews/Reviews.qml:74
160#: Dash/Previews/Reviews.qml:74
189msgid "Add a review"
161msgid "Add a review"
190msgstr ""
162msgstr ""
@@ -238,7 +210,7 @@ msgstr ""
238msgid "Search"
210msgid "Search"
239msgstr "Търсене"
211msgstr "Търсене"
240
212
241−#: plugins/Unity/scope.cpp:361
213+#: plugins/Unity/scope.cpp:398
242msgid "Sorry, there is nothing that matches your search."
214msgid "Sorry, there is nothing that matches your search."
243msgstr "Съжаляваме, няма нищо, което да отговаря на вашето търсене."
215msgstr "Съжаляваме, няма нищо, което да отговаря на вашето търсене."
244
216
@@ -246,7 +218,19 @@ msgstr "Съжаляваме, няма нищо, което да отговар
246msgid "All"
218msgid "All"
247msgstr ""
219msgstr ""
248
220
249−#: Shell.qml:453
221+#: Shell.qml:438
250#, qt-format
222#, qt-format
251msgid "Please enter %1"
223msgid "Please enter %1"
252msgstr ""
224msgstr ""
225+
226+#~ msgid "Featured"
227+#~ msgstr "Най-отличени"
228+
229+#~ msgid "Recent"
230+#~ msgstr "Най-нови"
231+
232+#~ msgid "Music"
233+#~ msgstr "Музика"
234+
235+#~ msgid "Videos"
236+#~ msgstr "Видеоклипове"
po/ca.po+25−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+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-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -162,34 +162,6 @@ msgstr[1] "%1 ressenyes"
162msgid "Rate this"
162msgid "Rate this"
163msgstr ""
163msgstr ""
164
164
165−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
166−msgid "Featured"
167−msgstr "Destacats"
168−
169−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
170−msgid "Recent"
171−msgstr "Recents"
172−
173−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
174−msgid "New Releases"
175−msgstr "Novetats"
176−
177−#: Dash/DashMusic.qml:30
178−msgid "Top Charting"
179−msgstr "El millor de les llistes"
180−
181−#: Dash/DashMusic.qml:91
182−msgid "Music"
183−msgstr "Música"
184−
185−#: Dash/DashVideos.qml:31
186−msgid "Popular Online"
187−msgstr "Popular a la xarxa"
188−
189−#: Dash/DashVideos.qml:146
190−msgid "Videos"
191−msgstr "Vídeos"
192−
193#: Dash/Previews/Reviews.qml:74
165#: Dash/Previews/Reviews.qml:74
194msgid "Add a review"
166msgid "Add a review"
195msgstr "Afegiu una ressenya"
167msgstr "Afegiu una ressenya"
@@ -243,7 +215,7 @@ msgstr "S'està parlant..."
243msgid "Search"
215msgid "Search"
244msgstr "Cerca"
216msgstr "Cerca"
245
217
246−#: plugins/Unity/scope.cpp:361
218+#: plugins/Unity/scope.cpp:398
247msgid "Sorry, there is nothing that matches your search."
219msgid "Sorry, there is nothing that matches your search."
248msgstr "No hi ha res que coincideixi amb la cerca"
220msgstr "No hi ha res que coincideixi amb la cerca"
249
221
@@ -251,7 +223,28 @@ msgstr "No hi ha res que coincideixi amb la cerca"
251msgid "All"
223msgid "All"
252msgstr ""
224msgstr ""
253
225
254−#: Shell.qml:453
226+#: Shell.qml:438
255#, qt-format
227#, qt-format
256msgid "Please enter %1"
228msgid "Please enter %1"
257msgstr "Introduïu %1"
229msgstr "Introduïu %1"
230+
231+#~ msgid "Music"
232+#~ msgstr "Música"
233+
234+#~ msgid "Videos"
235+#~ msgstr "Vídeos"
236+
237+#~ msgid "Recent"
238+#~ msgstr "Recents"
239+
240+#~ msgid "Featured"
241+#~ msgstr "Destacats"
242+
243+#~ msgid "New Releases"
244+#~ msgstr "Novetats"
245+
246+#~ msgid "Top Charting"
247+#~ msgstr "El millor de les llistes"
248+
249+#~ msgid "Popular Online"
250+#~ msgstr "Popular a la xarxa"
po/cs.po+19−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+0200\n"
11"PO-Revision-Date: 2013-10-08 08:09+0000\n"
11"PO-Revision-Date: 2013-10-08 08:09+0000\n"
12"Last-Translator: Tadeáš Pařík <tadeas.parik@gmail.com>\n"
12"Last-Translator: Tadeáš Pařík <tadeas.parik@gmail.com>\n"
13"Language-Team: Czech <cs@li.org>\n"
13"Language-Team: Czech <cs@li.org>\n"
@@ -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==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
17"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
18−"X-Launchpad-Export-Date: 2013-10-09 06:24+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -157,34 +157,6 @@ msgstr[2] "%1 recenzí"
157msgid "Rate this"
157msgid "Rate this"
158msgstr "Ohodnoťte to"
158msgstr "Ohodnoťte to"
159
159
160−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
161−msgid "Featured"
162−msgstr "Oblíbené"
163−
164−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
165−msgid "Recent"
166−msgstr "Nedávné"
167−
168−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
169−msgid "New Releases"
170−msgstr ""
171−
172−#: Dash/DashMusic.qml:30
173−msgid "Top Charting"
174−msgstr ""
175−
176−#: Dash/DashMusic.qml:91
177−msgid "Music"
178−msgstr "Hudba"
179−
180−#: Dash/DashVideos.qml:31
181−msgid "Popular Online"
182−msgstr "Oblíbené on-line"
183−
184−#: Dash/DashVideos.qml:146
185−msgid "Videos"
186−msgstr "Videa"
187−
188#: Dash/Previews/Reviews.qml:74
160#: Dash/Previews/Reviews.qml:74
189msgid "Add a review"
161msgid "Add a review"
190msgstr "Přidat recenzi"
162msgstr "Přidat recenzi"
@@ -238,7 +210,7 @@ msgstr "Mluvte..."
238msgid "Search"
210msgid "Search"
239msgstr "Hledat"
211msgstr "Hledat"
240
212
241−#: plugins/Unity/scope.cpp:361
213+#: plugins/Unity/scope.cpp:398
242msgid "Sorry, there is nothing that matches your search."
214msgid "Sorry, there is nothing that matches your search."
243msgstr "Je nám líto, ale nic neodpovídá zadání"
215msgstr "Je nám líto, ale nic neodpovídá zadání"
244
216
@@ -246,7 +218,22 @@ msgstr "Je nám líto, ale nic neodpovídá zadání"
246msgid "All"
218msgid "All"
247msgstr "Vše"
219msgstr "Vše"
248
220
249−#: Shell.qml:453
221+#: Shell.qml:438
250#, qt-format
222#, qt-format
251msgid "Please enter %1"
223msgid "Please enter %1"
252msgstr "Zadejte prosím %1"
224msgstr "Zadejte prosím %1"
225+
226+#~ msgid "Featured"
227+#~ msgstr "Oblíbené"
228+
229+#~ msgid "Recent"
230+#~ msgstr "Nedávné"
231+
232+#~ msgid "Videos"
233+#~ msgstr "Videa"
234+
235+#~ msgid "Music"
236+#~ msgstr "Hudba"
237+
238+#~ msgid "Popular Online"
239+#~ msgstr "Oblíbené on-line"
po/de.po+14−38
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+0200\n"
11−"PO-Revision-Date: 2013-10-06 10:57+0000\n"
11+"PO-Revision-Date: 2013-10-18 12:26+0000\n"
12−"Last-Translator: SaGrLand <sg@samuel-greef.de>\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-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-19 05:30+0000\n"
19−"X-Generator: Launchpad (build 16799)\n"
19+"X-Generator: Launchpad (build 16807)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
22msgid "Phone"
22msgid "Phone"
@@ -96,7 +96,7 @@ msgstr "Rechter Rand"
96
96
97#: Components/EdgeDemo.qml:113
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 "Vom rechten Rand her wischen, um das Gerät zu entsperren"
100
100
101#: Components/EdgeDemo.qml:144
101#: Components/EdgeDemo.qml:144
102msgid "Top edge"
102msgid "Top edge"
@@ -104,7 +104,7 @@ msgstr "Oberer Rand"
104
104
105#: Components/EdgeDemo.qml:145
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 "Vom oberen Rand her wischen, um die Statusmeldungen anzuzeigen"
108
108
109#: Components/EdgeDemo.qml:170
109#: Components/EdgeDemo.qml:170
110msgid "Close"
110msgid "Close"
@@ -112,7 +112,7 @@ msgstr "Schließen"
112
112
113#: Components/EdgeDemo.qml:171
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 "Nochmals nach oben wischen, um das Einstellungsmenü zu schließen"
116
116
117#: Components/EdgeDemo.qml:198
117#: Components/EdgeDemo.qml:198
118msgid "Left edge"
118msgid "Left edge"
@@ -121,6 +121,8 @@ msgstr "Linker Rand"
121#: Components/EdgeDemo.qml:199
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+"Von links wischen, um die Seitenleiste für den Anwendungs-Schnellzugriff "
125+"aufzurufen"
124
126
125#: Components/EdgeDemo.qml:226
127#: Components/EdgeDemo.qml:226
126msgid "Well done"
128msgid "Well done"
@@ -131,6 +133,8 @@ msgid ""
131"You have now mastered the edge gestures and can start using the "
133"You have now mastered the edge gestures and can start using the "
132"phone<br><br>Tap anywhere to start"
134"phone<br><br>Tap anywhere to start"
133msgstr ""
135msgstr ""
136+"Sie haben nun die Einführung abgeschlossen und können Ihr Gerät nun "
137+"verwenden<br><br>Antippen um zu starten"
134
138
135#: Components/PageHeader.qml:341
139#: Components/PageHeader.qml:341
136msgid "Recent searches"
140msgid "Recent searches"
@@ -156,34 +160,6 @@ msgstr[1] "%1 Bewertungen"
156msgid "Rate this"
160msgid "Rate this"
157msgstr "Bewerten"
161msgstr "Bewerten"
158
162
159−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
160−msgid "Featured"
161−msgstr "Empfehlungen"
162−
163−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
164−msgid "Recent"
165−msgstr "Zuletzt verwendet"
166−
167−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
168−msgid "New Releases"
169−msgstr "Neue Veröffentlichungen"
170−
171−#: Dash/DashMusic.qml:30
172−msgid "Top Charting"
173−msgstr "Top Tabellenplatz"
174−
175−#: Dash/DashMusic.qml:91
176−msgid "Music"
177−msgstr "Musik"
178−
179−#: Dash/DashVideos.qml:31
180−msgid "Popular Online"
181−msgstr "Online Beliebt"
182−
183−#: Dash/DashVideos.qml:146
184−msgid "Videos"
185−msgstr "Videos"
186−
187#: Dash/Previews/Reviews.qml:74
163#: Dash/Previews/Reviews.qml:74
188msgid "Add a review"
164msgid "Add a review"
189msgstr "Bewertung hinzufügen"
165msgstr "Bewertung hinzufügen"
@@ -237,7 +213,7 @@ msgstr "Sie sprechen …"
237msgid "Search"
213msgid "Search"
238msgstr "Suchen"
214msgstr "Suchen"
239
215
240−#: plugins/Unity/scope.cpp:361
216+#: plugins/Unity/scope.cpp:398
241msgid "Sorry, there is nothing that matches your search."
217msgid "Sorry, there is nothing that matches your search."
242msgstr "Entschuldigung, es wurden keine Treffer erzielt."
218msgstr "Entschuldigung, es wurden keine Treffer erzielt."
243
219
@@ -245,7 +221,7 @@ msgstr "Entschuldigung, es wurden keine Treffer erzielt."
245msgid "All"
221msgid "All"
246msgstr "Alle"
222msgstr "Alle"
247
223
248−#: Shell.qml:453
224+#: Shell.qml:438
249#, qt-format
225#, qt-format
250msgid "Please enter %1"
226msgid "Please enter %1"
251msgstr "Bitte geben Sie %1 ein"
227msgstr "Bitte geben Sie %1 ein"
po/el.po+10−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+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,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-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -156,34 +156,6 @@ msgstr[1] ""
156msgid "Rate this"
156msgid "Rate this"
157msgstr ""
157msgstr ""
158
158
159−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
160−msgid "Featured"
161−msgstr ""
162−
163−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
164−msgid "Recent"
165−msgstr ""
166−
167−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
168−msgid "New Releases"
169−msgstr ""
170−
171−#: Dash/DashMusic.qml:30
172−msgid "Top Charting"
173−msgstr ""
174−
175−#: Dash/DashMusic.qml:91
176−msgid "Music"
177−msgstr "Μουσική"
178−
179−#: Dash/DashVideos.qml:31
180−msgid "Popular Online"
181−msgstr ""
182−
183−#: Dash/DashVideos.qml:146
184−msgid "Videos"
185−msgstr "Βίντεο"
186−
187#: Dash/Previews/Reviews.qml:74
159#: Dash/Previews/Reviews.qml:74
188msgid "Add a review"
160msgid "Add a review"
189msgstr ""
161msgstr ""
@@ -237,7 +209,7 @@ msgstr "Ομιλία..."
237msgid "Search"
209msgid "Search"
238msgstr "Αναζήτηση"
210msgstr "Αναζήτηση"
239
211
240−#: plugins/Unity/scope.cpp:361
212+#: plugins/Unity/scope.cpp:398
241msgid "Sorry, there is nothing that matches your search."
213msgid "Sorry, there is nothing that matches your search."
242msgstr "Λυπούμαστε, δεν υπάρχει τίποτα που να ταιριάζει στην αναζήτησή σας."
214msgstr "Λυπούμαστε, δεν υπάρχει τίποτα που να ταιριάζει στην αναζήτησή σας."
243
215
@@ -245,7 +217,13 @@ msgstr "Λυπούμαστε, δεν υπάρχει τίποτα που να τ
245msgid "All"
217msgid "All"
246msgstr ""
218msgstr ""
247
219
248−#: Shell.qml:453
220+#: Shell.qml:438
249#, qt-format
221#, qt-format
250msgid "Please enter %1"
222msgid "Please enter %1"
251msgstr ""
223msgstr ""
224+
225+#~ msgid "Music"
226+#~ msgstr "Μουσική"
227+
228+#~ msgid "Videos"
229+#~ msgstr "Βίντεο"
po/en_AU.po+25−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+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-10-08 07:02+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -156,34 +156,6 @@ msgstr[1] "%1 reviews"
156msgid "Rate this"
156msgid "Rate this"
157msgstr "Rate this"
157msgstr "Rate this"
158
158
159−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
160−msgid "Featured"
161−msgstr "Featured"
162−
163−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
164−msgid "Recent"
165−msgstr "Recent"
166−
167−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
168−msgid "New Releases"
169−msgstr "New Releases"
170−
171−#: Dash/DashMusic.qml:30
172−msgid "Top Charting"
173−msgstr "Top Charting"
174−
175−#: Dash/DashMusic.qml:91
176−msgid "Music"
177−msgstr "Music"
178−
179−#: Dash/DashVideos.qml:31
180−msgid "Popular Online"
181−msgstr "Popular Online"
182−
183−#: Dash/DashVideos.qml:146
184−msgid "Videos"
185−msgstr "Videos"
186−
187#: Dash/Previews/Reviews.qml:74
159#: Dash/Previews/Reviews.qml:74
188msgid "Add a review"
160msgid "Add a review"
189msgstr "Add a review"
161msgstr "Add a review"
@@ -237,7 +209,7 @@ msgstr "Speaking..."
237msgid "Search"
209msgid "Search"
238msgstr "Search"
210msgstr "Search"
239
211
240−#: plugins/Unity/scope.cpp:361
212+#: plugins/Unity/scope.cpp:398
241msgid "Sorry, there is nothing that matches your search."
213msgid "Sorry, there is nothing that matches your search."
242msgstr "Sorry, there is nothing that matches your search."
214msgstr "Sorry, there is nothing that matches your search."
243
215
@@ -245,7 +217,28 @@ msgstr "Sorry, there is nothing that matches your search."
245msgid "All"
217msgid "All"
246msgstr ""
218msgstr ""
247
219
248−#: Shell.qml:453
220+#: Shell.qml:438
249#, qt-format
221#, qt-format
250msgid "Please enter %1"
222msgid "Please enter %1"
251msgstr "Please enter %1"
223msgstr "Please enter %1"
224+
225+#~ msgid "Featured"
226+#~ msgstr "Featured"
227+
228+#~ msgid "Recent"
229+#~ msgstr "Recent"
230+
231+#~ msgid "New Releases"
232+#~ msgstr "New Releases"
233+
234+#~ msgid "Top Charting"
235+#~ msgstr "Top Charting"
236+
237+#~ msgid "Music"
238+#~ msgstr "Music"
239+
240+#~ msgid "Popular Online"
241+#~ msgstr "Popular Online"
242+
243+#~ msgid "Videos"
244+#~ msgstr "Videos"
po/en_GB.po+25−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+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,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-10-08 07:02+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -156,34 +156,6 @@ msgstr[1] ""
156msgid "Rate this"
156msgid "Rate this"
157msgstr ""
157msgstr ""
158
158
159−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
160−msgid "Featured"
161−msgstr "Featured"
162−
163−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
164−msgid "Recent"
165−msgstr "Recent"
166−
167−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
168−msgid "New Releases"
169−msgstr "New Releases"
170−
171−#: Dash/DashMusic.qml:30
172−msgid "Top Charting"
173−msgstr "Top Charting"
174−
175−#: Dash/DashMusic.qml:91
176−msgid "Music"
177−msgstr "Music"
178−
179−#: Dash/DashVideos.qml:31
180−msgid "Popular Online"
181−msgstr "Popular Online"
182−
183−#: Dash/DashVideos.qml:146
184−msgid "Videos"
185−msgstr "Videos"
186−
187#: Dash/Previews/Reviews.qml:74
159#: Dash/Previews/Reviews.qml:74
188msgid "Add a review"
160msgid "Add a review"
189msgstr ""
161msgstr ""
@@ -237,7 +209,7 @@ msgstr "Speaking..."
237msgid "Search"
209msgid "Search"
238msgstr "Search"
210msgstr "Search"
239
211
240−#: plugins/Unity/scope.cpp:361
212+#: plugins/Unity/scope.cpp:398
241msgid "Sorry, there is nothing that matches your search."
213msgid "Sorry, there is nothing that matches your search."
242msgstr "Sorry, there is nothing that matches your search."
214msgstr "Sorry, there is nothing that matches your search."
243
215
@@ -245,7 +217,28 @@ msgstr "Sorry, there is nothing that matches your search."
245msgid "All"
217msgid "All"
246msgstr ""
218msgstr ""
247
219
248−#: Shell.qml:453
220+#: Shell.qml:438
249#, qt-format
221#, qt-format
250msgid "Please enter %1"
222msgid "Please enter %1"
251msgstr "Please enter %1"
223msgstr "Please enter %1"
224+
225+#~ msgid "Featured"
226+#~ msgstr "Featured"
227+
228+#~ msgid "Recent"
229+#~ msgstr "Recent"
230+
231+#~ msgid "New Releases"
232+#~ msgstr "New Releases"
233+
234+#~ msgid "Top Charting"
235+#~ msgstr "Top Charting"
236+
237+#~ msgid "Music"
238+#~ msgstr "Music"
239+
240+#~ msgid "Popular Online"
241+#~ msgstr "Popular Online"
242+
243+#~ msgid "Videos"
244+#~ msgstr "Videos"
po/eo.po+4−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+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,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-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -156,34 +156,6 @@ msgstr[1] ""
156msgid "Rate this"
156msgid "Rate this"
157msgstr ""
157msgstr ""
158
158
159−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
160−msgid "Featured"
161−msgstr ""
162−
163−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
164−msgid "Recent"
165−msgstr ""
166−
167−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
168−msgid "New Releases"
169−msgstr ""
170−
171−#: Dash/DashMusic.qml:30
172−msgid "Top Charting"
173−msgstr ""
174−
175−#: Dash/DashMusic.qml:91
176−msgid "Music"
177−msgstr ""
178−
179−#: Dash/DashVideos.qml:31
180−msgid "Popular Online"
181−msgstr ""
182−
183−#: Dash/DashVideos.qml:146
184−msgid "Videos"
185−msgstr ""
186−
187#: Dash/Previews/Reviews.qml:74
159#: Dash/Previews/Reviews.qml:74
188msgid "Add a review"
160msgid "Add a review"
189msgstr ""
161msgstr ""
@@ -237,7 +209,7 @@ msgstr ""
237msgid "Search"
209msgid "Search"
238msgstr ""
210msgstr ""
239
211
240−#: plugins/Unity/scope.cpp:361
212+#: plugins/Unity/scope.cpp:398
241msgid "Sorry, there is nothing that matches your search."
213msgid "Sorry, there is nothing that matches your search."
242msgstr ""
214msgstr ""
243
215
@@ -245,7 +217,7 @@ msgstr ""
245msgid "All"
217msgid "All"
246msgstr ""
218msgstr ""
247
219
248−#: Shell.qml:453
220+#: Shell.qml:438
249#, qt-format
221#, qt-format
250msgid "Please enter %1"
222msgid "Please enter %1"
251msgstr ""
223msgstr ""
po/es.po+25−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+0200\n"
11"PO-Revision-Date: 2013-10-02 04:59+0000\n"
11"PO-Revision-Date: 2013-10-02 04:59+0000\n"
12"Last-Translator: Adolfo Jayme Barrientos <fitoschido@gmail.com>\n"
12"Last-Translator: Adolfo Jayme Barrientos <fitoschido@gmail.com>\n"
13"Language-Team: Spanish <es@li.org>\n"
13"Language-Team: Spanish <es@li.org>\n"
@@ -15,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-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -160,34 +160,6 @@ msgstr[1] "%1 reseñas"
160msgid "Rate this"
160msgid "Rate this"
161msgstr "Valorar esto"
161msgstr "Valorar esto"
162
162
163−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
164−msgid "Featured"
165−msgstr "Destacados"
166−
167−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
168−msgid "Recent"
169−msgstr "Recientes"
170−
171−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
172−msgid "New Releases"
173−msgstr "Lanzamientos nuevos"
174−
175−#: Dash/DashMusic.qml:30
176−msgid "Top Charting"
177−msgstr "Mejor posicionadas"
178−
179−#: Dash/DashMusic.qml:91
180−msgid "Music"
181−msgstr "Música"
182−
183−#: Dash/DashVideos.qml:31
184−msgid "Popular Online"
185−msgstr "Populares en línea"
186−
187−#: Dash/DashVideos.qml:146
188−msgid "Videos"
189−msgstr "Vídeos"
190−
191#: Dash/Previews/Reviews.qml:74
163#: Dash/Previews/Reviews.qml:74
192msgid "Add a review"
164msgid "Add a review"
193msgstr "Añadir una reseña"
165msgstr "Añadir una reseña"
@@ -241,7 +213,7 @@ msgstr "Hablando…"
241msgid "Search"
213msgid "Search"
242msgstr "Buscar"
214msgstr "Buscar"
243
215
244−#: plugins/Unity/scope.cpp:361
216+#: plugins/Unity/scope.cpp:398
245msgid "Sorry, there is nothing that matches your search."
217msgid "Sorry, there is nothing that matches your search."
246msgstr "No hay nada que coincida con su búsqueda."
218msgstr "No hay nada que coincida con su búsqueda."
247
219
@@ -249,7 +221,28 @@ msgstr "No hay nada que coincida con su búsqueda."
249msgid "All"
221msgid "All"
250msgstr "Todo"
222msgstr "Todo"
251
223
252−#: Shell.qml:453
224+#: Shell.qml:438
253#, qt-format
225#, qt-format
254msgid "Please enter %1"
226msgid "Please enter %1"
255msgstr "Introduzca %1"
227msgstr "Introduzca %1"
228+
229+#~ msgid "Featured"
230+#~ msgstr "Destacados"
231+
232+#~ msgid "Recent"
233+#~ msgstr "Recientes"
234+
235+#~ msgid "New Releases"
236+#~ msgstr "Lanzamientos nuevos"
237+
238+#~ msgid "Top Charting"
239+#~ msgstr "Mejor posicionadas"
240+
241+#~ msgid "Music"
242+#~ msgstr "Música"
243+
244+#~ msgid "Popular Online"
245+#~ msgstr "Populares en línea"
246+
247+#~ msgid "Videos"
248+#~ msgstr "Vídeos"
po/fi.po+25−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+0200\n"
11"PO-Revision-Date: 2013-10-03 09:21+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"
@@ -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-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -158,34 +158,6 @@ msgstr[1] "%1 arvostelua"
158msgid "Rate this"
158msgid "Rate this"
159msgstr "Arvioi tämä"
159msgstr "Arvioi tämä"
160
160
161−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
162−msgid "Featured"
163−msgstr "Suositellut"
164−
165−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
166−msgid "Recent"
167−msgstr "Viimeisimmät"
168−
169−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
170−msgid "New Releases"
171−msgstr "Uudet julkaisut"
172−
173−#: Dash/DashMusic.qml:30
174−msgid "Top Charting"
175−msgstr "Nousukiidossa"
176−
177−#: Dash/DashMusic.qml:91
178−msgid "Music"
179−msgstr "Musiikki"
180−
181−#: Dash/DashVideos.qml:31
182−msgid "Popular Online"
183−msgstr "Suosittua verkossa"
184−
185−#: Dash/DashVideos.qml:146
186−msgid "Videos"
187−msgstr "Videot"
188−
189#: Dash/Previews/Reviews.qml:74
161#: Dash/Previews/Reviews.qml:74
190msgid "Add a review"
162msgid "Add a review"
191msgstr "Lisää arvostelu"
163msgstr "Lisää arvostelu"
@@ -239,7 +211,7 @@ msgstr "Puhutaan..."
239msgid "Search"
211msgid "Search"
240msgstr "Hae"
212msgstr "Hae"
241
213
242−#: plugins/Unity/scope.cpp:361
214+#: plugins/Unity/scope.cpp:398
243msgid "Sorry, there is nothing that matches your search."
215msgid "Sorry, there is nothing that matches your search."
244msgstr "Hakuun täsmääviä tuloksia ei löydy."
216msgstr "Hakuun täsmääviä tuloksia ei löydy."
245
217
@@ -247,7 +219,28 @@ msgstr "Hakuun täsmääviä tuloksia ei löydy."
247msgid "All"
219msgid "All"
248msgstr "Kaikki"
220msgstr "Kaikki"
249
221
250−#: Shell.qml:453
222+#: Shell.qml:438
251#, qt-format
223#, qt-format
252msgid "Please enter %1"
224msgid "Please enter %1"
253msgstr "Kirjoita %1"
225msgstr "Kirjoita %1"
226+
227+#~ msgid "Featured"
228+#~ msgstr "Suositellut"
229+
230+#~ msgid "Recent"
231+#~ msgstr "Viimeisimmät"
232+
233+#~ msgid "New Releases"
234+#~ msgstr "Uudet julkaisut"
235+
236+#~ msgid "Top Charting"
237+#~ msgstr "Nousukiidossa"
238+
239+#~ msgid "Music"
240+#~ msgstr "Musiikki"
241+
242+#~ msgid "Popular Online"
243+#~ msgstr "Suosittua verkossa"
244+
245+#~ msgid "Videos"
246+#~ msgstr "Videot"
po/fo.po+10−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+0200\n"
11"PO-Revision-Date: 2013-10-01 15:13+0000\n"
11"PO-Revision-Date: 2013-10-01 15:13+0000\n"
12"Last-Translator: Jógvan Olsen <jeggy@jebster.net>\n"
12"Last-Translator: Jógvan Olsen <jeggy@jebster.net>\n"
13"Language-Team: Faroese <fo@li.org>\n"
13"Language-Team: Faroese <fo@li.org>\n"
@@ -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-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -156,34 +156,6 @@ msgstr[1] ""
156msgid "Rate this"
156msgid "Rate this"
157msgstr ""
157msgstr ""
158
158
159−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
160−msgid "Featured"
161−msgstr ""
162−
163−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
164−msgid "Recent"
165−msgstr ""
166−
167−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
168−msgid "New Releases"
169−msgstr ""
170−
171−#: Dash/DashMusic.qml:30
172−msgid "Top Charting"
173−msgstr ""
174−
175−#: Dash/DashMusic.qml:91
176−msgid "Music"
177−msgstr "Tónleikur"
178−
179−#: Dash/DashVideos.qml:31
180−msgid "Popular Online"
181−msgstr ""
182−
183−#: Dash/DashVideos.qml:146
184−msgid "Videos"
185−msgstr "Sjónbond"
186−
187#: Dash/Previews/Reviews.qml:74
159#: Dash/Previews/Reviews.qml:74
188msgid "Add a review"
160msgid "Add a review"
189msgstr ""
161msgstr ""
@@ -237,7 +209,7 @@ msgstr "Snakkar..."
237msgid "Search"
209msgid "Search"
238msgstr "Leita"
210msgstr "Leita"
239
211
240−#: plugins/Unity/scope.cpp:361
212+#: plugins/Unity/scope.cpp:398
241msgid "Sorry, there is nothing that matches your search."
213msgid "Sorry, there is nothing that matches your search."
242msgstr "Tíanverri er tað einki sum hóskar til tína leiting."
214msgstr "Tíanverri er tað einki sum hóskar til tína leiting."
243
215
@@ -245,7 +217,13 @@ msgstr "Tíanverri er tað einki sum hóskar til tína leiting."
245msgid "All"
217msgid "All"
246msgstr ""
218msgstr ""
247
219
248−#: Shell.qml:453
220+#: Shell.qml:438
249#, qt-format
221#, qt-format
250msgid "Please enter %1"
222msgid "Please enter %1"
251msgstr ""
223msgstr ""
224+
225+#~ msgid "Music"
226+#~ msgstr "Tónleikur"
227+
228+#~ msgid "Videos"
229+#~ msgstr "Sjónbond"
po/fr.po+10−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+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,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-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -156,34 +156,6 @@ msgstr[1] ""
156msgid "Rate this"
156msgid "Rate this"
157msgstr ""
157msgstr ""
158
158
159−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
160−msgid "Featured"
161−msgstr ""
162−
163−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
164−msgid "Recent"
165−msgstr ""
166−
167−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
168−msgid "New Releases"
169−msgstr ""
170−
171−#: Dash/DashMusic.qml:30
172−msgid "Top Charting"
173−msgstr ""
174−
175−#: Dash/DashMusic.qml:91
176−msgid "Music"
177−msgstr "Musique"
178−
179−#: Dash/DashVideos.qml:31
180−msgid "Popular Online"
181−msgstr ""
182−
183−#: Dash/DashVideos.qml:146
184−msgid "Videos"
185−msgstr "Vidéos"
186−
187#: Dash/Previews/Reviews.qml:74
159#: Dash/Previews/Reviews.qml:74
188msgid "Add a review"
160msgid "Add a review"
189msgstr ""
161msgstr ""
@@ -237,7 +209,7 @@ msgstr ""
237msgid "Search"
209msgid "Search"
238msgstr ""
210msgstr ""
239
211
240−#: plugins/Unity/scope.cpp:361
212+#: plugins/Unity/scope.cpp:398
241msgid "Sorry, there is nothing that matches your search."
213msgid "Sorry, there is nothing that matches your search."
242msgstr ""
214msgstr ""
243
215
@@ -245,7 +217,13 @@ msgstr ""
245msgid "All"
217msgid "All"
246msgstr ""
218msgstr ""
247
219
248−#: Shell.qml:453
220+#: Shell.qml:438
249#, qt-format
221#, qt-format
250msgid "Please enter %1"
222msgid "Please enter %1"
251msgstr ""
223msgstr ""
224+
225+#~ msgid "Music"
226+#~ msgstr "Musique"
227+
228+#~ msgid "Videos"
229+#~ msgstr "Vidéos"
po/gd.po+25−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+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-08 07:01+0000\n"
19+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
20"X-Generator: Launchpad (build 16799)\n"
20"X-Generator: Launchpad (build 16799)\n"
21
21
22#: Applications/applications.js:23
22#: Applications/applications.js:23
@@ -165,34 +165,6 @@ msgstr[3] "%1 lèirmheas"
165msgid "Rate this"
165msgid "Rate this"
166msgstr "Rangaich seo"
166msgstr "Rangaich seo"
167
167
168−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
169−msgid "Featured"
170−msgstr "Brosnaichte"
171−
172−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
173−msgid "Recent"
174−msgstr "O chionn goirid"
175−
176−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
177−msgid "New Releases"
178−msgstr "Air ùr-sgaoileadh"
179−
180−#: Dash/DashMusic.qml:30
181−msgid "Top Charting"
182−msgstr "Gràinnean-mullaich nan cairt"
183−
184−#: Dash/DashMusic.qml:91
185−msgid "Music"
186−msgstr "Ceòl"
187−
188−#: Dash/DashVideos.qml:31
189−msgid "Popular Online"
190−msgstr "Fèill mhòr air air loidhne"
191−
192−#: Dash/DashVideos.qml:146
193−msgid "Videos"
194−msgstr "Videothan"
195−
196#: Dash/Previews/Reviews.qml:74
168#: Dash/Previews/Reviews.qml:74
197msgid "Add a review"
169msgid "Add a review"
198msgstr "Cuir lèirmheas ris"
170msgstr "Cuir lèirmheas ris"
@@ -246,7 +218,7 @@ msgstr "A' bruidhinn..."
246msgid "Search"
218msgid "Search"
247msgstr "Lorg"
219msgstr "Lorg"
248
220
249−#: plugins/Unity/scope.cpp:361
221+#: plugins/Unity/scope.cpp:398
250msgid "Sorry, there is nothing that matches your search."
222msgid "Sorry, there is nothing that matches your search."
251msgstr "Tha sinn duilich ach chan eil dad a' freagairt ris na lorg thu."
223msgstr "Tha sinn duilich ach chan eil dad a' freagairt ris na lorg thu."
252
224
@@ -254,7 +226,28 @@ msgstr "Tha sinn duilich ach chan eil dad a' freagairt ris na lorg thu."
254msgid "All"
226msgid "All"
255msgstr ""
227msgstr ""
256
228
257−#: Shell.qml:453
229+#: Shell.qml:438
258#, qt-format
230#, qt-format
259msgid "Please enter %1"
231msgid "Please enter %1"
260msgstr "Cuir a-steach %1"
232msgstr "Cuir a-steach %1"
233+
234+#~ msgid "Top Charting"
235+#~ msgstr "Gràinnean-mullaich nan cairt"
236+
237+#~ msgid "Featured"
238+#~ msgstr "Brosnaichte"
239+
240+#~ msgid "Recent"
241+#~ msgstr "O chionn goirid"
242+
243+#~ msgid "New Releases"
244+#~ msgstr "Air ùr-sgaoileadh"
245+
246+#~ msgid "Videos"
247+#~ msgstr "Videothan"
248+
249+#~ msgid "Music"
250+#~ msgstr "Ceòl"
251+
252+#~ msgid "Popular Online"
253+#~ msgstr "Fèill mhòr air air loidhne"
po/gl.po+22−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+0200\n"
11"PO-Revision-Date: 2013-10-03 18:49+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"
@@ -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-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -158,34 +158,6 @@ msgstr[1] "%1 opinións"
158msgid "Rate this"
158msgid "Rate this"
159msgstr "Valore isto"
159msgstr "Valore isto"
160
160
161−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
162−msgid "Featured"
163−msgstr "Destacado"
164−
165−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
166−msgid "Recent"
167−msgstr "Recentes"
168−
169−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
170−msgid "New Releases"
171−msgstr "Novas versións"
172−
173−#: Dash/DashMusic.qml:30
174−msgid "Top Charting"
175−msgstr ""
176−
177−#: Dash/DashMusic.qml:91
178−msgid "Music"
179−msgstr "Música"
180−
181−#: Dash/DashVideos.qml:31
182−msgid "Popular Online"
183−msgstr "Populares en liña"
184−
185−#: Dash/DashVideos.qml:146
186−msgid "Videos"
187−msgstr "Vídeos"
188−
189#: Dash/Previews/Reviews.qml:74
161#: Dash/Previews/Reviews.qml:74
190msgid "Add a review"
162msgid "Add a review"
191msgstr "Engadir unha opinión"
163msgstr "Engadir unha opinión"
@@ -239,7 +211,7 @@ msgstr "Falando…"
239msgid "Search"
211msgid "Search"
240msgstr "Buscar"
212msgstr "Buscar"
241
213
242−#: plugins/Unity/scope.cpp:361
214+#: plugins/Unity/scope.cpp:398
243msgid "Sorry, there is nothing that matches your search."
215msgid "Sorry, there is nothing that matches your search."
244msgstr "Sentímolo, non hai nada que coincida con esta busca."
216msgstr "Sentímolo, non hai nada que coincida con esta busca."
245
217
@@ -247,7 +219,25 @@ msgstr "Sentímolo, non hai nada que coincida con esta busca."
247msgid "All"
219msgid "All"
248msgstr "Todo"
220msgstr "Todo"
249
221
250−#: Shell.qml:453
222+#: Shell.qml:438
251#, qt-format
223#, qt-format
252msgid "Please enter %1"
224msgid "Please enter %1"
253msgstr "Introduza %1"
225msgstr "Introduza %1"
226+
227+#~ msgid "Music"
228+#~ msgstr "Música"
229+
230+#~ msgid "Videos"
231+#~ msgstr "Vídeos"
232+
233+#~ msgid "Featured"
234+#~ msgstr "Destacado"
235+
236+#~ msgid "Recent"
237+#~ msgstr "Recentes"
238+
239+#~ msgid "New Releases"
240+#~ msgstr "Novas versións"
241+
242+#~ msgid "Popular Online"
243+#~ msgstr "Populares en liña"
po/he.po+25−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+0200\n"
11"PO-Revision-Date: 2013-10-01 09:19+0000\n"
11"PO-Revision-Date: 2013-10-01 09:19+0000\n"
12"Last-Translator: Yaron <sh.yaron@gmail.com>\n"
12"Last-Translator: Yaron <sh.yaron@gmail.com>\n"
13"Language-Team: Hebrew <he@li.org>\n"
13"Language-Team: Hebrew <he@li.org>\n"
@@ -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-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -156,34 +156,6 @@ msgstr[1] "%1 סקירות"
156msgid "Rate this"
156msgid "Rate this"
157msgstr "דירוג היישום"
157msgstr "דירוג היישום"
158
158
159−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
160−msgid "Featured"
161−msgstr "מומלצים"
162−
163−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
164−msgid "Recent"
165−msgstr "אחרונים"
166−
167−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
168−msgid "New Releases"
169−msgstr "מהדורות חדשות"
170−
171−#: Dash/DashMusic.qml:30
172−msgid "Top Charting"
173−msgstr "בראש הטבלה"
174−
175−#: Dash/DashMusic.qml:91
176−msgid "Music"
177−msgstr "מוזיקה"
178−
179−#: Dash/DashVideos.qml:31
180−msgid "Popular Online"
181−msgstr "פופולריים ברחבי הרשת"
182−
183−#: Dash/DashVideos.qml:146
184−msgid "Videos"
185−msgstr "סרטונים"
186−
187#: Dash/Previews/Reviews.qml:74
159#: Dash/Previews/Reviews.qml:74
188msgid "Add a review"
160msgid "Add a review"
189msgstr "הוספת סקירה"
161msgstr "הוספת סקירה"
@@ -237,7 +209,7 @@ msgstr "הדיבור מושמע…"
237msgid "Search"
209msgid "Search"
238msgstr "חיפוש"
210msgstr "חיפוש"
239
211
240−#: plugins/Unity/scope.cpp:361
212+#: plugins/Unity/scope.cpp:398
241msgid "Sorry, there is nothing that matches your search."
213msgid "Sorry, there is nothing that matches your search."
242msgstr "שום דבר אינו תואם לחיפוש שלך, עמך הסליחה."
214msgstr "שום דבר אינו תואם לחיפוש שלך, עמך הסליחה."
243
215
@@ -245,7 +217,28 @@ msgstr "שום דבר אינו תואם לחיפוש שלך, עמך הסליחה
245msgid "All"
217msgid "All"
246msgstr ""
218msgstr ""
247
219
248−#: Shell.qml:453
220+#: Shell.qml:438
249#, qt-format
221#, qt-format
250msgid "Please enter %1"
222msgid "Please enter %1"
251msgstr "נא להזין %1"
223msgstr "נא להזין %1"
224+
225+#~ msgid "Music"
226+#~ msgstr "מוזיקה"
227+
228+#~ msgid "Videos"
229+#~ msgstr "סרטונים"
230+
231+#~ msgid "Top Charting"
232+#~ msgstr "בראש הטבלה"
233+
234+#~ msgid "Featured"
235+#~ msgstr "מומלצים"
236+
237+#~ msgid "Recent"
238+#~ msgstr "אחרונים"
239+
240+#~ msgid "New Releases"
241+#~ msgstr "מהדורות חדשות"
242+
243+#~ msgid "Popular Online"
244+#~ msgstr "פופולריים ברחבי הרשת"
po/hr.po+10−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+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,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-10-08 07:01+0000\n"
19+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
20"X-Generator: Launchpad (build 16799)\n"
20"X-Generator: Launchpad (build 16799)\n"
21
21
22#: Applications/applications.js:23
22#: Applications/applications.js:23
@@ -157,34 +157,6 @@ msgstr[1] ""
157msgid "Rate this"
157msgid "Rate this"
158msgstr ""
158msgstr ""
159
159
160−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
161−msgid "Featured"
162−msgstr ""
163−
164−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
165−msgid "Recent"
166−msgstr ""
167−
168−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
169−msgid "New Releases"
170−msgstr ""
171−
172−#: Dash/DashMusic.qml:30
173−msgid "Top Charting"
174−msgstr ""
175−
176−#: Dash/DashMusic.qml:91
177−msgid "Music"
178−msgstr "Glazba"
179−
180−#: Dash/DashVideos.qml:31
181−msgid "Popular Online"
182−msgstr ""
183−
184−#: Dash/DashVideos.qml:146
185−msgid "Videos"
186−msgstr "Video"
187−
188#: Dash/Previews/Reviews.qml:74
160#: Dash/Previews/Reviews.qml:74
189msgid "Add a review"
161msgid "Add a review"
190msgstr ""
162msgstr ""
@@ -238,7 +210,7 @@ msgstr "Govor..."
238msgid "Search"
210msgid "Search"
239msgstr "Pretraživanje"
211msgstr "Pretraživanje"
240
212
241−#: plugins/Unity/scope.cpp:361
213+#: plugins/Unity/scope.cpp:398
242msgid "Sorry, there is nothing that matches your search."
214msgid "Sorry, there is nothing that matches your search."
243msgstr "Nažalost, ne postoji ništa što odgovara vašoj pretrazi."
215msgstr "Nažalost, ne postoji ništa što odgovara vašoj pretrazi."
244
216
@@ -246,7 +218,13 @@ msgstr "Nažalost, ne postoji ništa što odgovara vašoj pretrazi."
246msgid "All"
218msgid "All"
247msgstr ""
219msgstr ""
248
220
249−#: Shell.qml:453
221+#: Shell.qml:438
250#, qt-format
222#, qt-format
251msgid "Please enter %1"
223msgid "Please enter %1"
252msgstr ""
224msgstr ""
225+
226+#~ msgid "Music"
227+#~ msgstr "Glazba"
228+
229+#~ msgid "Videos"
230+#~ msgstr "Video"
po/hu.po+10−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+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,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-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -156,34 +156,6 @@ msgstr[1] ""
156msgid "Rate this"
156msgid "Rate this"
157msgstr ""
157msgstr ""
158
158
159−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
160−msgid "Featured"
161−msgstr ""
162−
163−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
164−msgid "Recent"
165−msgstr ""
166−
167−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
168−msgid "New Releases"
169−msgstr ""
170−
171−#: Dash/DashMusic.qml:30
172−msgid "Top Charting"
173−msgstr ""
174−
175−#: Dash/DashMusic.qml:91
176−msgid "Music"
177−msgstr "Zene"
178−
179−#: Dash/DashVideos.qml:31
180−msgid "Popular Online"
181−msgstr ""
182−
183−#: Dash/DashVideos.qml:146
184−msgid "Videos"
185−msgstr "Videók"
186−
187#: Dash/Previews/Reviews.qml:74
159#: Dash/Previews/Reviews.qml:74
188msgid "Add a review"
160msgid "Add a review"
189msgstr ""
161msgstr ""
@@ -237,7 +209,7 @@ msgstr "Beszéd…"
237msgid "Search"
209msgid "Search"
238msgstr "Keresés"
210msgstr "Keresés"
239
211
240−#: plugins/Unity/scope.cpp:361
212+#: plugins/Unity/scope.cpp:398
241msgid "Sorry, there is nothing that matches your search."
213msgid "Sorry, there is nothing that matches your search."
242msgstr "Elnézést, nincs találat a keresésre."
214msgstr "Elnézést, nincs találat a keresésre."
243
215
@@ -245,7 +217,13 @@ msgstr "Elnézést, nincs találat a keresésre."
245msgid "All"
217msgid "All"
246msgstr ""
218msgstr ""
247
219
248−#: Shell.qml:453
220+#: Shell.qml:438
249#, qt-format
221#, qt-format
250msgid "Please enter %1"
222msgid "Please enter %1"
251msgstr ""
223msgstr ""
224+
225+#~ msgid "Music"
226+#~ msgstr "Zene"
227+
228+#~ msgid "Videos"
229+#~ msgstr "Videók"
po/hy.po+10−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+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,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=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2013-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -156,34 +156,6 @@ msgstr[1] ""
156msgid "Rate this"
156msgid "Rate this"
157msgstr ""
157msgstr ""
158
158
159−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
160−msgid "Featured"
161−msgstr ""
162−
163−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
164−msgid "Recent"
165−msgstr ""
166−
167−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
168−msgid "New Releases"
169−msgstr ""
170−
171−#: Dash/DashMusic.qml:30
172−msgid "Top Charting"
173−msgstr ""
174−
175−#: Dash/DashMusic.qml:91
176−msgid "Music"
177−msgstr "Երգեր"
178−
179−#: Dash/DashVideos.qml:31
180−msgid "Popular Online"
181−msgstr ""
182−
183−#: Dash/DashVideos.qml:146
184−msgid "Videos"
185−msgstr "Վիդեոներ"
186−
187#: Dash/Previews/Reviews.qml:74
159#: Dash/Previews/Reviews.qml:74
188msgid "Add a review"
160msgid "Add a review"
189msgstr ""
161msgstr ""
@@ -237,7 +209,7 @@ msgstr "Խոսում եմ..."
237msgid "Search"
209msgid "Search"
238msgstr "Որոնում"
210msgstr "Որոնում"
239
211
240−#: plugins/Unity/scope.cpp:361
212+#: plugins/Unity/scope.cpp:398
241msgid "Sorry, there is nothing that matches your search."
213msgid "Sorry, there is nothing that matches your search."
242msgstr "Կներերք, բայց Ձեր հարցումով ոչինչ չկար"
214msgstr "Կներերք, բայց Ձեր հարցումով ոչինչ չկար"
243
215
@@ -245,7 +217,13 @@ msgstr "Կներերք, բայց Ձեր հարցումով ոչինչ չկար"
245msgid "All"
217msgid "All"
246msgstr ""
218msgstr ""
247
219
248−#: Shell.qml:453
220+#: Shell.qml:438
249#, qt-format
221#, qt-format
250msgid "Please enter %1"
222msgid "Please enter %1"
251msgstr ""
223msgstr ""
224+
225+#~ msgid "Music"
226+#~ msgstr "Երգեր"
227+
228+#~ msgid "Videos"
229+#~ msgstr "Վիդեոներ"
po/id.po+4−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+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,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=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2013-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -156,34 +156,6 @@ msgstr[1] ""
156msgid "Rate this"
156msgid "Rate this"
157msgstr ""
157msgstr ""
158
158
159−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
160−msgid "Featured"
161−msgstr ""
162−
163−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
164−msgid "Recent"
165−msgstr ""
166−
167−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
168−msgid "New Releases"
169−msgstr ""
170−
171−#: Dash/DashMusic.qml:30
172−msgid "Top Charting"
173−msgstr ""
174−
175−#: Dash/DashMusic.qml:91
176−msgid "Music"
177−msgstr ""
178−
179−#: Dash/DashVideos.qml:31
180−msgid "Popular Online"
181−msgstr ""
182−
183−#: Dash/DashVideos.qml:146
184−msgid "Videos"
185−msgstr ""
186−
187#: Dash/Previews/Reviews.qml:74
159#: Dash/Previews/Reviews.qml:74
188msgid "Add a review"
160msgid "Add a review"
189msgstr ""
161msgstr ""
@@ -237,7 +209,7 @@ msgstr ""
237msgid "Search"
209msgid "Search"
238msgstr ""
210msgstr ""
239
211
240−#: plugins/Unity/scope.cpp:361
212+#: plugins/Unity/scope.cpp:398
241msgid "Sorry, there is nothing that matches your search."
213msgid "Sorry, there is nothing that matches your search."
242msgstr ""
214msgstr ""
243
215
@@ -245,7 +217,7 @@ msgstr ""
245msgid "All"
217msgid "All"
246msgstr ""
218msgstr ""
247
219
248−#: Shell.qml:453
220+#: Shell.qml:438
249#, qt-format
221#, qt-format
250msgid "Please enter %1"
222msgid "Please enter %1"
251msgstr ""
223msgstr ""
po/is.po+25−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+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,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-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -157,34 +157,6 @@ msgstr[1] "%1 ummæli"
157msgid "Rate this"
157msgid "Rate this"
158msgstr "Gefa þessu einkunn"
158msgstr "Gefa þessu einkunn"
159
159
160−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
161−msgid "Featured"
162−msgstr "Efst á baugi"
163−
164−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
165−msgid "Recent"
166−msgstr "Nýlegt"
167−
168−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
169−msgid "New Releases"
170−msgstr "Nýjar Útgáfur"
171−
172−#: Dash/DashMusic.qml:30
173−msgid "Top Charting"
174−msgstr "Topp Listi"
175−
176−#: Dash/DashMusic.qml:91
177−msgid "Music"
178−msgstr "Tónlist"
179−
180−#: Dash/DashVideos.qml:31
181−msgid "Popular Online"
182−msgstr "Vinsælt á Netinu"
183−
184−#: Dash/DashVideos.qml:146
185−msgid "Videos"
186−msgstr "Myndbönd"
187−
188#: Dash/Previews/Reviews.qml:74
160#: Dash/Previews/Reviews.qml:74
189msgid "Add a review"
161msgid "Add a review"
190msgstr "Gefa umsögn"
162msgstr "Gefa umsögn"
@@ -238,7 +210,7 @@ msgstr "Tala..."
238msgid "Search"
210msgid "Search"
239msgstr "Leita"
211msgstr "Leita"
240
212
241−#: plugins/Unity/scope.cpp:361
213+#: plugins/Unity/scope.cpp:398
242msgid "Sorry, there is nothing that matches your search."
214msgid "Sorry, there is nothing that matches your search."
243msgstr "Því miður, það var ekkert sem passaði við leitarorðið þitt."
215msgstr "Því miður, það var ekkert sem passaði við leitarorðið þitt."
244
216
@@ -246,7 +218,28 @@ msgstr "Því miður, það var ekkert sem passaði við leitarorðið þitt."
246msgid "All"
218msgid "All"
247msgstr ""
219msgstr ""
248
220
249−#: Shell.qml:453
221+#: Shell.qml:438
250#, qt-format
222#, qt-format
251msgid "Please enter %1"
223msgid "Please enter %1"
252msgstr ""
224msgstr ""
225+
226+#~ msgid "Top Charting"
227+#~ msgstr "Topp Listi"
228+
229+#~ msgid "Featured"
230+#~ msgstr "Efst á baugi"
231+
232+#~ msgid "Recent"
233+#~ msgstr "Nýlegt"
234+
235+#~ msgid "New Releases"
236+#~ msgstr "Nýjar Útgáfur"
237+
238+#~ msgid "Videos"
239+#~ msgstr "Myndbönd"
240+
241+#~ msgid "Music"
242+#~ msgstr "Tónlist"
243+
244+#~ msgid "Popular Online"
245+#~ msgstr "Vinsælt á Netinu"
po/it.po+25−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+0200\n"
11"PO-Revision-Date: 2013-10-07 09:34+0000\n"
11"PO-Revision-Date: 2013-10-07 09:34+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-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -163,34 +163,6 @@ msgstr[1] "%1 recensioni"
163msgid "Rate this"
163msgid "Rate this"
164msgstr "Valuta"
164msgstr "Valuta"
165
165
166−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
167−msgid "Featured"
168−msgstr "In evidenza"
169−
170−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
171−msgid "Recent"
172−msgstr "Recenti"
173−
174−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
175−msgid "New Releases"
176−msgstr "Nuovi rilasci"
177−
178−#: Dash/DashMusic.qml:30
179−msgid "Top Charting"
180−msgstr "Più votate"
181−
182−#: Dash/DashMusic.qml:91
183−msgid "Music"
184−msgstr "Musica"
185−
186−#: Dash/DashVideos.qml:31
187−msgid "Popular Online"
188−msgstr "Popolari online"
189−
190−#: Dash/DashVideos.qml:146
191−msgid "Videos"
192−msgstr "Video"
193−
194#: Dash/Previews/Reviews.qml:74
166#: Dash/Previews/Reviews.qml:74
195msgid "Add a review"
167msgid "Add a review"
196msgstr "Aggiungi una recensione"
168msgstr "Aggiungi una recensione"
@@ -244,7 +216,7 @@ msgstr "Sto parlando..."
244msgid "Search"
216msgid "Search"
245msgstr "Cerca"
217msgstr "Cerca"
246
218
247−#: plugins/Unity/scope.cpp:361
219+#: plugins/Unity/scope.cpp:398
248msgid "Sorry, there is nothing that matches your search."
220msgid "Sorry, there is nothing that matches your search."
249msgstr "Nessun risultato corrispondente alla ricerca."
221msgstr "Nessun risultato corrispondente alla ricerca."
250
222
@@ -252,7 +224,28 @@ msgstr "Nessun risultato corrispondente alla ricerca."
252msgid "All"
224msgid "All"
253msgstr "Tutto"
225msgstr "Tutto"
254
226
255−#: Shell.qml:453
227+#: Shell.qml:438
256#, qt-format
228#, qt-format
257msgid "Please enter %1"
229msgid "Please enter %1"
258msgstr "Inserire %1"
230msgstr "Inserire %1"
231+
232+#~ msgid "Music"
233+#~ msgstr "Musica"
234+
235+#~ msgid "Videos"
236+#~ msgstr "Video"
237+
238+#~ msgid "Recent"
239+#~ msgstr "Recenti"
240+
241+#~ msgid "New Releases"
242+#~ msgstr "Nuovi rilasci"
243+
244+#~ msgid "Featured"
245+#~ msgstr "In evidenza"
246+
247+#~ msgid "Popular Online"
248+#~ msgstr "Popolari online"
249+
250+#~ msgid "Top Charting"
251+#~ msgstr "Più votate"
po/ja.po+4−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+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,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=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2013-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -156,34 +156,6 @@ msgstr[1] ""
156msgid "Rate this"
156msgid "Rate this"
157msgstr ""
157msgstr ""
158
158
159−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
160−msgid "Featured"
161−msgstr ""
162−
163−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
164−msgid "Recent"
165−msgstr ""
166−
167−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
168−msgid "New Releases"
169−msgstr ""
170−
171−#: Dash/DashMusic.qml:30
172−msgid "Top Charting"
173−msgstr ""
174−
175−#: Dash/DashMusic.qml:91
176−msgid "Music"
177−msgstr ""
178−
179−#: Dash/DashVideos.qml:31
180−msgid "Popular Online"
181−msgstr ""
182−
183−#: Dash/DashVideos.qml:146
184−msgid "Videos"
185−msgstr ""
186−
187#: Dash/Previews/Reviews.qml:74
159#: Dash/Previews/Reviews.qml:74
188msgid "Add a review"
160msgid "Add a review"
189msgstr ""
161msgstr ""
@@ -237,7 +209,7 @@ msgstr ""
237msgid "Search"
209msgid "Search"
238msgstr ""
210msgstr ""
239
211
240−#: plugins/Unity/scope.cpp:361
212+#: plugins/Unity/scope.cpp:398
241msgid "Sorry, there is nothing that matches your search."
213msgid "Sorry, there is nothing that matches your search."
242msgstr ""
214msgstr ""
243
215
@@ -245,7 +217,7 @@ msgstr ""
245msgid "All"
217msgid "All"
246msgstr ""
218msgstr ""
247
219
248−#: Shell.qml:453
220+#: Shell.qml:438
249#, qt-format
221#, qt-format
250msgid "Please enter %1"
222msgid "Please enter %1"
251msgstr ""
223msgstr ""
po/km.ponew file+248
@@ -0,0 +1,248 @@
1+# Khmer 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-11 12:12+0200\n"
11+"PO-Revision-Date: 2013-10-11 08:49+0000\n"
12+"Last-Translator: Khoem Sokhem <khoemsokhem@khmeros.info>\n"
13+"Language-Team: Khmer <km@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-13 05:43+0000\n"
19+"X-Generator: Launchpad (build 16799)\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 "វិចិត្រសាល"
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 "Notepad"
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 "Evernote"
68+
69+#: Applications/applications.js:91
70+msgid "Map"
71+msgstr "ផែនទី"
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 "វីគីភីឌៀ"
84+
85+#: Applications/applications.js:111
86+msgid "YouTube"
87+msgstr "YouTube"
88+
89+#: Components/EdgeDemoOverlay.qml:149
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+"ដើម្បី​បង្ហាញ​កម្មវិធី​ចាប់ផ្ដើម​សម្រាប់​ចូល​ដំណើរ​ការ​កម្មវិធី​រហ័ស"
126+
127+#: Components/EdgeDemo.qml:226
128+msgid "Well done"
129+msgstr "ធ្វើ​បាន​ល្អ"
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+"ឥឡូវ​អ្នក​បាន​គ្រប់គ្រង​កាយវិការ​គែម "
137+"និង​អាច​ចាប់ផ្ដើម​ប្រើ​ទូរស័ព្ទ​បាន<br><br>ប៉ះ​កន្លែង​ណា​មួយ​ "
138+"ដើម្បី​ចាប់ផ្ដើម"
139+
140+#: Components/PageHeader.qml:341
141+msgid "Recent searches"
142+msgstr "ការ​ស្វែងរក​ថ្មី"
143+
144+#. TRANSLATORS: Number of persons who rated this app
145+#. TRANSLATORS: Number of persons who rated this app/video/whatever
146+#: Dash/Apps/AppInfo.qml:73 Dash/Previews/Header.qml:93
147+#, qt-format
148+msgid "(%1)"
149+msgstr "(%1)"
150+
151+#. TRANSLATORS: Number of persons who wrote reviews for this app
152+#. TRANSLATORS: Number of persons who wrote reviews for this app/video/whatever
153+#: Dash/Apps/AppInfo.qml:85 Dash/Previews/Header.qml:105
154+#, qt-format
155+msgid "%1 review"
156+msgid_plural "%1 reviews"
157+msgstr[0] "ពិនិត្យ​មើល %1"
158+
159+#: Dash/Apps/AppPreview.qml:126
160+msgid "Rate this"
161+msgstr "វាយតម្លៃ​វា"
162+
163+#: Dash/Previews/Reviews.qml:74
164+msgid "Add a review"
165+msgstr "បន្ថែម​ការ​ពិនិត្យ"
166+
167+#: Dash/Previews/Reviews.qml:86
168+msgid "Review"
169+msgstr "ការ​ពិនិត្យ"
170+
171+#: Dash/Previews/Reviews.qml:121
172+msgid "Send"
173+msgstr "ផ្ញើ"
174+
175+#: Dash/Previews/Reviews.qml:139
176+msgid "Comments:"
177+msgstr "មតិយោបល់៖"
178+
179+#: Greeter/Lockscreen.qml:142
180+msgid "Emergency Call"
181+msgstr "ការ​ហៅ​ពេល​អាសន្ន"
182+
183+#: Greeter/PassphraseLockscreen.qml:59
184+#, qt-format
185+msgid "Hello %1"
186+msgstr "សួស្ដី %1"
187+
188+#: Greeter/PassphraseLockscreen.qml:59
189+msgid "Hello"
190+msgstr "សួស្តី"
191+
192+#: Hud/HudParametrizedActionsPage.qml:132
193+msgid "Confirm"
194+msgstr "បញ្ជាក់"
195+
196+#: Hud/Hud.qml:61 Hud/Hud.qml:99 Hud/Hud.qml:372
197+msgid "Type or say a command"
198+msgstr "បញ្ចូល ឬ​និយាយ​ពាក្យ​បញ្ជា"
199+
200+#: Hud/Hud.qml:84
201+msgid "Loading. Please Wait..."
202+msgstr "សូម​រង់ចាំ កំពុង​ផ្ទុក..."
203+
204+#: Hud/Hud.qml:89
205+msgid "Speak Now..."
206+msgstr "និយាយ​ឥឡូវ..."
207+
208+#: Hud/Hud.qml:94
209+msgid "Speaking..."
210+msgstr "កំពុង​និយាយ..."
211+
212+#: Panel/SearchIndicator.qml:27
213+msgid "Search"
214+msgstr "ស្វែង​រក"
215+
216+#: plugins/Unity/scope.cpp:398
217+msgid "Sorry, there is nothing that matches your search."
218+msgstr "សូម​ទោស មិនមាន​ពាក្យ​ដែល​អ្នក​ស្វែងរក​ទេ​។"
219+
220+#: plugins/Unity/showallfilteroption.cpp:41
221+msgid "All"
222+msgstr "ទាំង​អស់"
223+
224+#: Shell.qml:438
225+#, qt-format
226+msgid "Please enter %1"
227+msgstr "សូម​បញ្ចូល %1"
228+
229+#~ msgid "Popular Online"
230+#~ msgstr "លើ​បណ្ដាញ​ប្រជាប្រិយ"
231+
232+#~ msgid "Music"
233+#~ msgstr "តន្ត្រី"
234+
235+#~ msgid "New Releases"
236+#~ msgstr "ការ​ចេញ​ផ្សាយ​ថ្មី"
237+
238+#~ msgid "Top Charting"
239+#~ msgstr "តារាង​ខាង​លើ"
240+
241+#~ msgid "Featured"
242+#~ msgstr "ដែល​ល្បី"
243+
244+#~ msgid "Recent"
245+#~ msgstr "ថ្មីៗ"
246+
247+#~ msgid "Videos"
248+#~ msgstr "វីដេអូ"
po/kn.po+10−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+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,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-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -156,34 +156,6 @@ msgstr[1] ""
156msgid "Rate this"
156msgid "Rate this"
157msgstr ""
157msgstr ""
158
158
159−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
160−msgid "Featured"
161−msgstr ""
162−
163−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
164−msgid "Recent"
165−msgstr ""
166−
167−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
168−msgid "New Releases"
169−msgstr ""
170−
171−#: Dash/DashMusic.qml:30
172−msgid "Top Charting"
173−msgstr ""
174−
175−#: Dash/DashMusic.qml:91
176−msgid "Music"
177−msgstr "ಸಂಗೀತ"
178−
179−#: Dash/DashVideos.qml:31
180−msgid "Popular Online"
181−msgstr ""
182−
183−#: Dash/DashVideos.qml:146
184−msgid "Videos"
185−msgstr "ವೀಡಿಯೋಗಳು"
186−
187#: Dash/Previews/Reviews.qml:74
159#: Dash/Previews/Reviews.qml:74
188msgid "Add a review"
160msgid "Add a review"
189msgstr ""
161msgstr ""
@@ -237,7 +209,7 @@ msgstr "ಮಾತನಾಡುತಿದ್ದೀರಿ"
237msgid "Search"
209msgid "Search"
238msgstr "ಹುಡುಕು"
210msgstr "ಹುಡುಕು"
239
211
240−#: plugins/Unity/scope.cpp:361
212+#: plugins/Unity/scope.cpp:398
241msgid "Sorry, there is nothing that matches your search."
213msgid "Sorry, there is nothing that matches your search."
242msgstr "ಕ್ಷಮಿಸಿ ನಿಮ್ಮ ಶೋಧನೆಗೆ ಸರಿಯಾದ ಹೊಂದಾಣಿಕೆಗಳು ದೊರಕುತ್ತಿಲ್ಲ"
214msgstr "ಕ್ಷಮಿಸಿ ನಿಮ್ಮ ಶೋಧನೆಗೆ ಸರಿಯಾದ ಹೊಂದಾಣಿಕೆಗಳು ದೊರಕುತ್ತಿಲ್ಲ"
243
215
@@ -245,7 +217,13 @@ msgstr "ಕ್ಷಮಿಸಿ ನಿಮ್ಮ ಶೋಧನೆಗೆ ಸರಿಯ
245msgid "All"
217msgid "All"
246msgstr ""
218msgstr ""
247
219
248−#: Shell.qml:453
220+#: Shell.qml:438
249#, qt-format
221#, qt-format
250msgid "Please enter %1"
222msgid "Please enter %1"
251msgstr ""
223msgstr ""
224+
225+#~ msgid "Music"
226+#~ msgstr "ಸಂಗೀತ"
227+
228+#~ msgid "Videos"
229+#~ msgstr "ವೀಡಿಯೋಗಳು"
po/ko.po+30−55
@@ -7,92 +7,92 @@ 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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+0200\n"
11−"PO-Revision-Date: 2013-06-27 05:59+0000\n"
11+"PO-Revision-Date: 2013-10-10 07:04+0000\n"
12−"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
12+"Last-Translator: Kim Boram <boramism@gmail.com>\n"
13"Language-Team: Korean <ko@li.org>\n"
13"Language-Team: Korean <ko@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2013-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\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 "페이스북"
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 "트위터"
44
44
45#: Applications/applications.js:57
45#: Applications/applications.js:57
46msgid "GMail"
46msgid "GMail"
47−msgstr ""
47+msgstr "지메일"
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 "에버노트"
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 "핀터레스트"
76
76
77#: Applications/applications.js:101
77#: Applications/applications.js:101
78msgid "SoundCloud"
78msgid "SoundCloud"
79−msgstr ""
79+msgstr "사운드클라우드"
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 "유튜브"
88
88
89#: Components/EdgeDemoOverlay.qml:149
89#: Components/EdgeDemoOverlay.qml:149
90msgid "Skip intro"
90msgid "Skip intro"
91−msgstr ""
91+msgstr "도입부 건너뛰기"
92
92
93#: Components/EdgeDemo.qml:112
93#: Components/EdgeDemo.qml:112
94msgid "Right edge"
94msgid "Right edge"
95−msgstr ""
95+msgstr "오른쪽 끝"
96
96
97#: Components/EdgeDemo.qml:113
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"
@@ -134,7 +134,7 @@ msgstr ""
134
134
135#: Components/PageHeader.qml:341
135#: Components/PageHeader.qml:341
136msgid "Recent searches"
136msgid "Recent searches"
137−msgstr "요즈음 찿은 것들"
137+msgstr "최근 검색"
138
138
139#. TRANSLATORS: Number of persons who rated this app
139#. TRANSLATORS: Number of persons who rated this app
140#. TRANSLATORS: Number of persons who rated this app/video/whatever
140#. TRANSLATORS: Number of persons who rated this app/video/whatever
@@ -156,34 +156,6 @@ msgstr[1] ""
156msgid "Rate this"
156msgid "Rate this"
157msgstr ""
157msgstr ""
158
158
159−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
160−msgid "Featured"
161−msgstr ""
162−
163−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
164−msgid "Recent"
165−msgstr ""
166−
167−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
168−msgid "New Releases"
169−msgstr ""
170−
171−#: Dash/DashMusic.qml:30
172−msgid "Top Charting"
173−msgstr ""
174−
175−#: Dash/DashMusic.qml:91
176−msgid "Music"
177−msgstr "음악"
178−
179−#: Dash/DashVideos.qml:31
180−msgid "Popular Online"
181−msgstr ""
182−
183−#: Dash/DashVideos.qml:146
184−msgid "Videos"
185−msgstr ""
186−
187#: Dash/Previews/Reviews.qml:74
159#: Dash/Previews/Reviews.qml:74
188msgid "Add a review"
160msgid "Add a review"
189msgstr ""
161msgstr ""
@@ -235,9 +207,9 @@ msgstr ""
235
207
236#: Panel/SearchIndicator.qml:27
208#: Panel/SearchIndicator.qml:27
237msgid "Search"
209msgid "Search"
238−msgstr "찾기"
210+msgstr "검색"
239
211
240−#: plugins/Unity/scope.cpp:361
212+#: plugins/Unity/scope.cpp:398
241msgid "Sorry, there is nothing that matches your search."
213msgid "Sorry, there is nothing that matches your search."
242msgstr ""
214msgstr ""
243
215
@@ -245,7 +217,10 @@ msgstr ""
245msgid "All"
217msgid "All"
246msgstr ""
218msgstr ""
247
219
248−#: Shell.qml:453
220+#: Shell.qml:438
249#, qt-format
221#, qt-format
250msgid "Please enter %1"
222msgid "Please enter %1"
251msgstr ""
223msgstr ""
224+
225+#~ msgid "Music"
226+#~ msgstr "음악"
po/ky.po+10−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+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,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=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2013-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -156,34 +156,6 @@ msgstr[1] ""
156msgid "Rate this"
156msgid "Rate this"
157msgstr ""
157msgstr ""
158
158
159−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
160−msgid "Featured"
161−msgstr ""
162−
163−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
164−msgid "Recent"
165−msgstr ""
166−
167−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
168−msgid "New Releases"
169−msgstr ""
170−
171−#: Dash/DashMusic.qml:30
172−msgid "Top Charting"
173−msgstr ""
174−
175−#: Dash/DashMusic.qml:91
176−msgid "Music"
177−msgstr "Музыка"
178−
179−#: Dash/DashVideos.qml:31
180−msgid "Popular Online"
181−msgstr ""
182−
183−#: Dash/DashVideos.qml:146
184−msgid "Videos"
185−msgstr "Видеолор"
186−
187#: Dash/Previews/Reviews.qml:74
159#: Dash/Previews/Reviews.qml:74
188msgid "Add a review"
160msgid "Add a review"
189msgstr ""
161msgstr ""
@@ -237,7 +209,7 @@ msgstr "Сүйлөнүүдө..."
237msgid "Search"
209msgid "Search"
238msgstr "Издөө"
210msgstr "Издөө"
239
211
240−#: plugins/Unity/scope.cpp:361
212+#: plugins/Unity/scope.cpp:398
241msgid "Sorry, there is nothing that matches your search."
213msgid "Sorry, there is nothing that matches your search."
242msgstr "Тилекке каршы, сиздин издөөңүзгө эч нерсе дал келген жок."
214msgstr "Тилекке каршы, сиздин издөөңүзгө эч нерсе дал келген жок."
243
215
@@ -245,7 +217,13 @@ msgstr "Тилекке каршы, сиздин издөөңүзгө эч нер
245msgid "All"
217msgid "All"
246msgstr ""
218msgstr ""
247
219
248−#: Shell.qml:453
220+#: Shell.qml:438
249#, qt-format
221#, qt-format
250msgid "Please enter %1"
222msgid "Please enter %1"
251msgstr ""
223msgstr ""
224+
225+#~ msgid "Music"
226+#~ msgstr "Музыка"
227+
228+#~ msgid "Videos"
229+#~ msgstr "Видеолор"
po/lo.po+10−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+0200\n"
11"PO-Revision-Date: 2013-10-02 10:00+0000\n"
11"PO-Revision-Date: 2013-10-02 10:00+0000\n"
12"Last-Translator: Anousak <anousak@gmail.com>\n"
12"Last-Translator: Anousak <anousak@gmail.com>\n"
13"Language-Team: Lao <lo@li.org>\n"
13"Language-Team: Lao <lo@li.org>\n"
@@ -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=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2013-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -156,34 +156,6 @@ msgstr[1] ""
156msgid "Rate this"
156msgid "Rate this"
157msgstr ""
157msgstr ""
158
158
159−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
160−msgid "Featured"
161−msgstr ""
162−
163−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
164−msgid "Recent"
165−msgstr ""
166−
167−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
168−msgid "New Releases"
169−msgstr ""
170−
171−#: Dash/DashMusic.qml:30
172−msgid "Top Charting"
173−msgstr ""
174−
175−#: Dash/DashMusic.qml:91
176−msgid "Music"
177−msgstr "ດົນຕີ"
178−
179−#: Dash/DashVideos.qml:31
180−msgid "Popular Online"
181−msgstr ""
182−
183−#: Dash/DashVideos.qml:146
184−msgid "Videos"
185−msgstr "ວິດີໂອ"
186−
187#: Dash/Previews/Reviews.qml:74
159#: Dash/Previews/Reviews.qml:74
188msgid "Add a review"
160msgid "Add a review"
189msgstr ""
161msgstr ""
@@ -237,7 +209,7 @@ msgstr "ກໍາລັງເວົ້າ"
237msgid "Search"
209msgid "Search"
238msgstr "ຊອກຫາ"
210msgstr "ຊອກຫາ"
239
211
240−#: plugins/Unity/scope.cpp:361
212+#: plugins/Unity/scope.cpp:398
241msgid "Sorry, there is nothing that matches your search."
213msgid "Sorry, there is nothing that matches your search."
242msgstr ""
214msgstr ""
243
215
@@ -245,7 +217,13 @@ msgstr ""
245msgid "All"
217msgid "All"
246msgstr "ທັງໝົດ"
218msgstr "ທັງໝົດ"
247
219
248−#: Shell.qml:453
220+#: Shell.qml:438
249#, qt-format
221#, qt-format
250msgid "Please enter %1"
222msgid "Please enter %1"
251msgstr "ກະລູນາປ້ອນ %1"
223msgstr "ກະລູນາປ້ອນ %1"
224+
225+#~ msgid "Videos"
226+#~ msgstr "ວິດີໂອ"
227+
228+#~ msgid "Music"
229+#~ msgstr "ດົນຕີ"
po/lv.po+10−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+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-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -156,34 +156,6 @@ msgstr[1] ""
156msgid "Rate this"
156msgid "Rate this"
157msgstr ""
157msgstr ""
158
158
159−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
160−msgid "Featured"
161−msgstr ""
162−
163−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
164−msgid "Recent"
165−msgstr ""
166−
167−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
168−msgid "New Releases"
169−msgstr ""
170−
171−#: Dash/DashMusic.qml:30
172−msgid "Top Charting"
173−msgstr ""
174−
175−#: Dash/DashMusic.qml:91
176−msgid "Music"
177−msgstr "Mūzika"
178−
179−#: Dash/DashVideos.qml:31
180−msgid "Popular Online"
181−msgstr ""
182−
183−#: Dash/DashVideos.qml:146
184−msgid "Videos"
185−msgstr "Video"
186−
187#: Dash/Previews/Reviews.qml:74
159#: Dash/Previews/Reviews.qml:74
188msgid "Add a review"
160msgid "Add a review"
189msgstr ""
161msgstr ""
@@ -237,7 +209,7 @@ msgstr "Runa..."
237msgid "Search"
209msgid "Search"
238msgstr "Meklēt"
210msgstr "Meklēt"
239
211
240−#: plugins/Unity/scope.cpp:361
212+#: plugins/Unity/scope.cpp:398
241msgid "Sorry, there is nothing that matches your search."
213msgid "Sorry, there is nothing that matches your search."
242msgstr "Diemžēl nekas neatbilst jūsu meklētajam."
214msgstr "Diemžēl nekas neatbilst jūsu meklētajam."
243
215
@@ -245,7 +217,13 @@ msgstr "Diemžēl nekas neatbilst jūsu meklētajam."
245msgid "All"
217msgid "All"
246msgstr ""
218msgstr ""
247
219
248−#: Shell.qml:453
220+#: Shell.qml:438
249#, qt-format
221#, qt-format
250msgid "Please enter %1"
222msgid "Please enter %1"
251msgstr ""
223msgstr ""
224+
225+#~ msgid "Music"
226+#~ msgstr "Mūzika"
227+
228+#~ msgid "Videos"
229+#~ msgstr "Video"
po/my.po+19−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+0200\n"
11"PO-Revision-Date: 2013-10-09 11:35+0000\n"
11"PO-Revision-Date: 2013-10-09 11:35+0000\n"
12"Last-Translator: Pyae Sone <Unknown>\n"
12"Last-Translator: Pyae Sone <Unknown>\n"
13"Language-Team: Burmese <my@li.org>\n"
13"Language-Team: Burmese <my@li.org>\n"
@@ -15,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=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2013-10-10 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -156,34 +156,6 @@ msgstr[1] ""
156msgid "Rate this"
156msgid "Rate this"
157msgstr "ဒီဟာကိုအမှတ်ပေးမည်"
157msgstr "ဒီဟာကိုအမှတ်ပေးမည်"
158
158
159−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
160−msgid "Featured"
161−msgstr ""
162−
163−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
164−msgid "Recent"
165−msgstr "မကြာသေးခင်က"
166−
167−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
168−msgid "New Releases"
169−msgstr "အသစ်ထွက်ရှိသော"
170−
171−#: Dash/DashMusic.qml:30
172−msgid "Top Charting"
173−msgstr ""
174−
175−#: Dash/DashMusic.qml:91
176−msgid "Music"
177−msgstr "တေးဂီတ"
178−
179−#: Dash/DashVideos.qml:31
180−msgid "Popular Online"
181−msgstr "အွန်လိုင်းတွင်ပေါ်ပြူလာဖြစ်သော"
182−
183−#: Dash/DashVideos.qml:146
184−msgid "Videos"
185−msgstr "ဗီဒီယိုများ"
186−
187#: Dash/Previews/Reviews.qml:74
159#: Dash/Previews/Reviews.qml:74
188msgid "Add a review"
160msgid "Add a review"
189msgstr ""
161msgstr ""
@@ -237,7 +209,7 @@ msgstr "ပြောနေသည်"
237msgid "Search"
209msgid "Search"
238msgstr "ရှာဖွေ"
210msgstr "ရှာဖွေ"
239
211
240−#: plugins/Unity/scope.cpp:361
212+#: plugins/Unity/scope.cpp:398
241msgid "Sorry, there is nothing that matches your search."
213msgid "Sorry, there is nothing that matches your search."
242msgstr "ဆောရီး၊ သင်၏ရှာဖွေမူနှင့်တူညီတာဘာမှမရှိပါ။"
214msgstr "ဆောရီး၊ သင်၏ရှာဖွေမူနှင့်တူညီတာဘာမှမရှိပါ။"
243
215
@@ -245,7 +217,22 @@ msgstr "ဆောရီး၊ သင်၏ရှာဖွေမူနှင့
245msgid "All"
217msgid "All"
246msgstr ""
218msgstr ""
247
219
248−#: Shell.qml:453
220+#: Shell.qml:438
249#, qt-format
221#, qt-format
250msgid "Please enter %1"
222msgid "Please enter %1"
251msgstr ""
223msgstr ""
224+
225+#~ msgid "Music"
226+#~ msgstr "တေးဂီတ"
227+
228+#~ msgid "Videos"
229+#~ msgstr "ဗီဒီယိုများ"
230+
231+#~ msgid "New Releases"
232+#~ msgstr "အသစ်ထွက်ရှိသော"
233+
234+#~ msgid "Recent"
235+#~ msgstr "မကြာသေးခင်က"
236+
237+#~ msgid "Popular Online"
238+#~ msgstr "အွန်လိုင်းတွင်ပေါ်ပြူလာဖြစ်သော"
po/nb.po+10−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+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,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-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -156,34 +156,6 @@ msgstr[1] ""
156msgid "Rate this"
156msgid "Rate this"
157msgstr ""
157msgstr ""
158
158
159−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
160−msgid "Featured"
161−msgstr ""
162−
163−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
164−msgid "Recent"
165−msgstr ""
166−
167−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
168−msgid "New Releases"
169−msgstr ""
170−
171−#: Dash/DashMusic.qml:30
172−msgid "Top Charting"
173−msgstr ""
174−
175−#: Dash/DashMusic.qml:91
176−msgid "Music"
177−msgstr "Musikk"
178−
179−#: Dash/DashVideos.qml:31
180−msgid "Popular Online"
181−msgstr ""
182−
183−#: Dash/DashVideos.qml:146
184−msgid "Videos"
185−msgstr "Videoer"
186−
187#: Dash/Previews/Reviews.qml:74
159#: Dash/Previews/Reviews.qml:74
188msgid "Add a review"
160msgid "Add a review"
189msgstr ""
161msgstr ""
@@ -237,7 +209,7 @@ msgstr "Snakker …"
237msgid "Search"
209msgid "Search"
238msgstr "Søk"
210msgstr "Søk"
239
211
240−#: plugins/Unity/scope.cpp:361
212+#: plugins/Unity/scope.cpp:398
241msgid "Sorry, there is nothing that matches your search."
213msgid "Sorry, there is nothing that matches your search."
242msgstr "Søket ga ingen treff."
214msgstr "Søket ga ingen treff."
243
215
@@ -245,7 +217,13 @@ msgstr "Søket ga ingen treff."
245msgid "All"
217msgid "All"
246msgstr ""
218msgstr ""
247
219
248−#: Shell.qml:453
220+#: Shell.qml:438
249#, qt-format
221#, qt-format
250msgid "Please enter %1"
222msgid "Please enter %1"
251msgstr ""
223msgstr ""
224+
225+#~ msgid "Music"
226+#~ msgstr "Musikk"
227+
228+#~ msgid "Videos"
229+#~ msgstr "Videoer"
po/nl.po+10−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+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,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-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -156,34 +156,6 @@ msgstr[1] ""
156msgid "Rate this"
156msgid "Rate this"
157msgstr ""
157msgstr ""
158
158
159−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
160−msgid "Featured"
161−msgstr ""
162−
163−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
164−msgid "Recent"
165−msgstr ""
166−
167−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
168−msgid "New Releases"
169−msgstr ""
170−
171−#: Dash/DashMusic.qml:30
172−msgid "Top Charting"
173−msgstr ""
174−
175−#: Dash/DashMusic.qml:91
176−msgid "Music"
177−msgstr "Muziek"
178−
179−#: Dash/DashVideos.qml:31
180−msgid "Popular Online"
181−msgstr ""
182−
183−#: Dash/DashVideos.qml:146
184−msgid "Videos"
185−msgstr "Video's"
186−
187#: Dash/Previews/Reviews.qml:74
159#: Dash/Previews/Reviews.qml:74
188msgid "Add a review"
160msgid "Add a review"
189msgstr ""
161msgstr ""
@@ -237,7 +209,7 @@ msgstr "Inspreken…"
237msgid "Search"
209msgid "Search"
238msgstr "Zoeken"
210msgstr "Zoeken"
239
211
240−#: plugins/Unity/scope.cpp:361
212+#: plugins/Unity/scope.cpp:398
241msgid "Sorry, there is nothing that matches your search."
213msgid "Sorry, there is nothing that matches your search."
242msgstr "Er is helaas niets dat met uw zoekopdracht overeenkomt."
214msgstr "Er is helaas niets dat met uw zoekopdracht overeenkomt."
243
215
@@ -245,7 +217,13 @@ msgstr "Er is helaas niets dat met uw zoekopdracht overeenkomt."
245msgid "All"
217msgid "All"
246msgstr ""
218msgstr ""
247
219
248−#: Shell.qml:453
220+#: Shell.qml:438
249#, qt-format
221#, qt-format
250msgid "Please enter %1"
222msgid "Please enter %1"
251msgstr ""
223msgstr ""
224+
225+#~ msgid "Music"
226+#~ msgstr "Muziek"
227+
228+#~ msgid "Videos"
229+#~ msgstr "Video's"
po/pl.po+30−53
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+0200\n"
11−"PO-Revision-Date: 2013-06-27 08:52+0000\n"
11+"PO-Revision-Date: 2013-10-13 13:44+0000\n"
12−"Last-Translator: Michał Sawicz <michal.sawicz@canonical.com>\n"
12+"Last-Translator: GTriderXC <gtriderxc@yahoo.com>\n"
13"Language-Team: Polish <pl@li.org>\n"
13"Language-Team: Polish <pl@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"
16"Content-Transfer-Encoding: 8bit\n"
17"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-10-08 07:01+0000\n"
19+"X-Launchpad-Export-Date: 2013-10-14 05:47+0000\n"
20"X-Generator: Launchpad (build 16799)\n"
20"X-Generator: Launchpad (build 16799)\n"
21
21
22#: Applications/applications.js:23
22#: Applications/applications.js:23
@@ -89,49 +89,53 @@ msgstr "YouTube"
89
89
90#: Components/EdgeDemoOverlay.qml:149
90#: Components/EdgeDemoOverlay.qml:149
91msgid "Skip intro"
91msgid "Skip intro"
92−msgstr ""
92+msgstr "Pomiń intro"
93
93
94#: Components/EdgeDemo.qml:112
94#: Components/EdgeDemo.qml:112
95msgid "Right edge"
95msgid "Right edge"
96−msgstr ""
96+msgstr "Prawa krawędź"
97
97
98#: Components/EdgeDemo.qml:113
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"
100−msgstr ""
100+msgstr "Aby odblokować telefon, przeciagnij w stronę prawej krawędzi"
101
101
102#: Components/EdgeDemo.qml:144
102#: Components/EdgeDemo.qml:144
103msgid "Top edge"
103msgid "Top edge"
104−msgstr ""
104+msgstr "Górna krawędź"
105
105
106#: Components/EdgeDemo.qml:145
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"
108−msgstr ""
108+msgstr "Przeciągnij od górnej krawędzi aby uzyskać wskazówki"
109
109
110#: Components/EdgeDemo.qml:170
110#: Components/EdgeDemo.qml:170
111msgid "Close"
111msgid "Close"
112−msgstr ""
112+msgstr "Zamknij"
113
113
114#: Components/EdgeDemo.qml:171
114#: Components/EdgeDemo.qml:171
115msgid "Swipe up again to close the settings screen"
115msgid "Swipe up again to close the settings screen"
116−msgstr ""
116+msgstr "Przeciągnij ponownie w górę, by zamknąć okno ustawień"
117
117
118#: Components/EdgeDemo.qml:198
118#: Components/EdgeDemo.qml:198
119msgid "Left edge"
119msgid "Left edge"
120−msgstr ""
120+msgstr "Lewa krawędź"
121
121
122#: Components/EdgeDemo.qml:199
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+"Przeciągnięcie od lewej krawędzi, uruchamia aktywator szybkiego dostępu do "
126+"aplikacji"
125
127
126#: Components/EdgeDemo.qml:226
128#: Components/EdgeDemo.qml:226
127msgid "Well done"
129msgid "Well done"
128−msgstr ""
130+msgstr "Udało się!"
129
131
130#: Components/EdgeDemo.qml:227
132#: Components/EdgeDemo.qml:227
131msgid ""
133msgid ""
132"You have now mastered the edge gestures and can start using the "
134"You have now mastered the edge gestures and can start using the "
133"phone<br><br>Tap anywhere to start"
135"phone<br><br>Tap anywhere to start"
134msgstr ""
136msgstr ""
137+"Polecenia aktywatorów krawędzi ekranu zostały opanowane<br><br>Dotknij "
138+"gdziekolwiek aby kontynuować"
135
139
136#: Components/PageHeader.qml:341
140#: Components/PageHeader.qml:341
137msgid "Recent searches"
141msgid "Recent searches"
@@ -142,7 +146,7 @@ msgstr "Ostatnie wyszukiwania"
142#: Dash/Apps/AppInfo.qml:73 Dash/Previews/Header.qml:93
146#: Dash/Apps/AppInfo.qml:73 Dash/Previews/Header.qml:93
143#, qt-format
147#, qt-format
144msgid "(%1)"
148msgid "(%1)"
145−msgstr ""
149+msgstr "(%1)"
146
150
147#. TRANSLATORS: Number of persons who wrote reviews for this app
151#. TRANSLATORS: Number of persons who wrote reviews for this app
148#. TRANSLATORS: Number of persons who wrote reviews for this app/video/whatever
152#. TRANSLATORS: Number of persons who wrote reviews for this app/video/whatever
@@ -150,60 +154,33 @@ msgstr ""
150#, qt-format
154#, qt-format
151msgid "%1 review"
155msgid "%1 review"
152msgid_plural "%1 reviews"
156msgid_plural "%1 reviews"
153−msgstr[0] ""
157+msgstr[0] "%1 opinia"
154−msgstr[1] ""
158+msgstr[1] "%1 opinie"
159+msgstr[2] "%1 opinii"
155
160
156#: Dash/Apps/AppPreview.qml:126
161#: Dash/Apps/AppPreview.qml:126
157msgid "Rate this"
162msgid "Rate this"
158−msgstr ""
163+msgstr "Oceń to"
159−
160−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
161−msgid "Featured"
162−msgstr "Polecane"
163−
164−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
165−msgid "Recent"
166−msgstr "Najnowsze"
167−
168−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
169−msgid "New Releases"
170−msgstr "Premiery"
171−
172−#: Dash/DashMusic.qml:30
173−msgid "Top Charting"
174−msgstr "Przeboje"
175−
176−#: Dash/DashMusic.qml:91
177−msgid "Music"
178−msgstr "Muzyka"
179−
180−#: Dash/DashVideos.qml:31
181−msgid "Popular Online"
182−msgstr "Popularne w sieci"
183−
184−#: Dash/DashVideos.qml:146
185−msgid "Videos"
186−msgstr "Filmy"
187
164
188#: Dash/Previews/Reviews.qml:74
165#: Dash/Previews/Reviews.qml:74
189msgid "Add a review"
166msgid "Add a review"
190−msgstr ""
167+msgstr "Dodaj recenzję"
191
168
192#: Dash/Previews/Reviews.qml:86
169#: Dash/Previews/Reviews.qml:86
193msgid "Review"
170msgid "Review"
194−msgstr ""
171+msgstr "Recenzja"
195
172
196#: Dash/Previews/Reviews.qml:121
173#: Dash/Previews/Reviews.qml:121
197msgid "Send"
174msgid "Send"
198−msgstr ""
175+msgstr "Wyślij"
199
176
200#: Dash/Previews/Reviews.qml:139
177#: Dash/Previews/Reviews.qml:139
201msgid "Comments:"
178msgid "Comments:"
202−msgstr ""
179+msgstr "Komentarze:"
203
180
204#: Greeter/Lockscreen.qml:142
181#: Greeter/Lockscreen.qml:142
205msgid "Emergency Call"
182msgid "Emergency Call"
206−msgstr ""
183+msgstr "Telefon ratunkowy"
207
184
208#: Greeter/PassphraseLockscreen.qml:59
185#: Greeter/PassphraseLockscreen.qml:59
209#, qt-format
186#, qt-format
@@ -238,15 +215,15 @@ msgstr "Rozpoznanie..."
238msgid "Search"
215msgid "Search"
239msgstr "Szukaj"
216msgstr "Szukaj"
240
217
241−#: plugins/Unity/scope.cpp:361
218+#: plugins/Unity/scope.cpp:398
242msgid "Sorry, there is nothing that matches your search."
219msgid "Sorry, there is nothing that matches your search."
243msgstr "Nie znaleziono pasujących wyników."
220msgstr "Nie znaleziono pasujących wyników."
244
221
245#: plugins/Unity/showallfilteroption.cpp:41
222#: plugins/Unity/showallfilteroption.cpp:41
246msgid "All"
223msgid "All"
247−msgstr ""
224+msgstr "Wszystko"
248
225
249−#: Shell.qml:453
226+#: Shell.qml:438
250#, qt-format
227#, qt-format
251msgid "Please enter %1"
228msgid "Please enter %1"
252msgstr "Wprowadź %1"
229msgstr "Wprowadź %1"
po/pt_BR.po+25−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+0200\n"
11"PO-Revision-Date: 2013-10-01 13:05+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"
@@ -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-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -158,34 +158,6 @@ msgstr[1] "%1 análises"
158msgid "Rate this"
158msgid "Rate this"
159msgstr "Avaliar isto"
159msgstr "Avaliar isto"
160
160
161−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
162−msgid "Featured"
163−msgstr "Em destaque"
164−
165−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
166−msgid "Recent"
167−msgstr "Recente"
168−
169−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
170−msgid "New Releases"
171−msgstr "Lançamentos"
172−
173−#: Dash/DashMusic.qml:30
174−msgid "Top Charting"
175−msgstr "Top gráficos"
176−
177−#: Dash/DashMusic.qml:91
178−msgid "Music"
179−msgstr "Músicas"
180−
181−#: Dash/DashVideos.qml:31
182−msgid "Popular Online"
183−msgstr "Popular Online"
184−
185−#: Dash/DashVideos.qml:146
186−msgid "Videos"
187−msgstr "Vídeos"
188−
189#: Dash/Previews/Reviews.qml:74
161#: Dash/Previews/Reviews.qml:74
190msgid "Add a review"
162msgid "Add a review"
191msgstr "Adicionar uma análise"
163msgstr "Adicionar uma análise"
@@ -239,7 +211,7 @@ msgstr "Falando..."
239msgid "Search"
211msgid "Search"
240msgstr "Pesquisar"
212msgstr "Pesquisar"
241
213
242−#: plugins/Unity/scope.cpp:361
214+#: plugins/Unity/scope.cpp:398
243msgid "Sorry, there is nothing that matches your search."
215msgid "Sorry, there is nothing that matches your search."
244msgstr "Desculpe, não há nada que corresponda à sua pesquisa."
216msgstr "Desculpe, não há nada que corresponda à sua pesquisa."
245
217
@@ -247,7 +219,28 @@ msgstr "Desculpe, não há nada que corresponda à sua pesquisa."
247msgid "All"
219msgid "All"
248msgstr ""
220msgstr ""
249
221
250−#: Shell.qml:453
222+#: Shell.qml:438
251#, qt-format
223#, qt-format
252msgid "Please enter %1"
224msgid "Please enter %1"
253msgstr "Por favor, digite %1"
225msgstr "Por favor, digite %1"
226+
227+#~ msgid "Music"
228+#~ msgstr "Músicas"
229+
230+#~ msgid "Videos"
231+#~ msgstr "Vídeos"
232+
233+#~ msgid "New Releases"
234+#~ msgstr "Lançamentos"
235+
236+#~ msgid "Recent"
237+#~ msgstr "Recente"
238+
239+#~ msgid "Featured"
240+#~ msgstr "Em destaque"
241+
242+#~ msgid "Top Charting"
243+#~ msgstr "Top gráficos"
244+
245+#~ msgid "Popular Online"
246+#~ msgstr "Popular Online"
po/ro.po+10−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+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,7 +16,7 @@ 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-10-08 07:01+0000\n"
19+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
20"X-Generator: Launchpad (build 16799)\n"
20"X-Generator: Launchpad (build 16799)\n"
21
21
22#: Applications/applications.js:23
22#: Applications/applications.js:23
@@ -157,34 +157,6 @@ msgstr[1] ""
157msgid "Rate this"
157msgid "Rate this"
158msgstr ""
158msgstr ""
159
159
160−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
161−msgid "Featured"
162−msgstr ""
163−
164−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
165−msgid "Recent"
166−msgstr ""
167−
168−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
169−msgid "New Releases"
170−msgstr ""
171−
172−#: Dash/DashMusic.qml:30
173−msgid "Top Charting"
174−msgstr ""
175−
176−#: Dash/DashMusic.qml:91
177−msgid "Music"
178−msgstr "Muzică"
179−
180−#: Dash/DashVideos.qml:31
181−msgid "Popular Online"
182−msgstr ""
183−
184−#: Dash/DashVideos.qml:146
185−msgid "Videos"
186−msgstr "Video"
187−
188#: Dash/Previews/Reviews.qml:74
160#: Dash/Previews/Reviews.qml:74
189msgid "Add a review"
161msgid "Add a review"
190msgstr ""
162msgstr ""
@@ -238,7 +210,7 @@ msgstr "Vorbire..."
238msgid "Search"
210msgid "Search"
239msgstr "Căutare"
211msgstr "Căutare"
240
212
241−#: plugins/Unity/scope.cpp:361
213+#: plugins/Unity/scope.cpp:398
242msgid "Sorry, there is nothing that matches your search."
214msgid "Sorry, there is nothing that matches your search."
243msgstr ""
215msgstr ""
244"Ne pare rău, nu este nimic care se potrivește căutării dumneavoastră."
216"Ne pare rău, nu este nimic care se potrivește căutării dumneavoastră."
@@ -247,7 +219,13 @@ msgstr ""
247msgid "All"
219msgid "All"
248msgstr ""
220msgstr ""
249
221
250−#: Shell.qml:453
222+#: Shell.qml:438
251#, qt-format
223#, qt-format
252msgid "Please enter %1"
224msgid "Please enter %1"
253msgstr ""
225msgstr ""
226+
227+#~ msgid "Music"
228+#~ msgstr "Muzică"
229+
230+#~ msgid "Videos"
231+#~ msgstr "Video"
po/ru.po+25−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+0200\n"
11"PO-Revision-Date: 2013-10-01 05:55+0000\n"
11"PO-Revision-Date: 2013-10-01 05:55+0000\n"
12"Last-Translator: Zonov Roman <Unknown>\n"
12"Last-Translator: Zonov Roman <Unknown>\n"
13"Language-Team: Russian <ru@li.org>\n"
13"Language-Team: Russian <ru@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-10-08 07:01+0000\n"
19+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
20"X-Generator: Launchpad (build 16799)\n"
20"X-Generator: Launchpad (build 16799)\n"
21
21
22#: Applications/applications.js:23
22#: Applications/applications.js:23
@@ -161,34 +161,6 @@ msgstr[0] "%1 отзыв"
161msgid "Rate this"
161msgid "Rate this"
162msgstr "Оцените это"
162msgstr "Оцените это"
163
163
164−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
165−msgid "Featured"
166−msgstr "Рекомендованное"
167−
168−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
169−msgid "Recent"
170−msgstr "Недавние"
171−
172−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
173−msgid "New Releases"
174−msgstr "Новые релизы"
175−
176−#: Dash/DashMusic.qml:30
177−msgid "Top Charting"
178−msgstr "Наиболее популярное"
179−
180−#: Dash/DashMusic.qml:91
181−msgid "Music"
182−msgstr "Музыка"
183−
184−#: Dash/DashVideos.qml:31
185−msgid "Popular Online"
186−msgstr "Популярное в Интернете"
187−
188−#: Dash/DashVideos.qml:146
189−msgid "Videos"
190−msgstr "Видео"
191−
192#: Dash/Previews/Reviews.qml:74
164#: Dash/Previews/Reviews.qml:74
193msgid "Add a review"
165msgid "Add a review"
194msgstr "Добавьте отзыв"
166msgstr "Добавьте отзыв"
@@ -242,7 +214,7 @@ msgstr "Говорите..."
242msgid "Search"
214msgid "Search"
243msgstr "Поиск"
215msgstr "Поиск"
244
216
245−#: plugins/Unity/scope.cpp:361
217+#: plugins/Unity/scope.cpp:398
246msgid "Sorry, there is nothing that matches your search."
218msgid "Sorry, there is nothing that matches your search."
247msgstr "Извините, поиск не дал результатов."
219msgstr "Извините, поиск не дал результатов."
248
220
@@ -250,7 +222,28 @@ msgstr "Извините, поиск не дал результатов."
250msgid "All"
222msgid "All"
251msgstr ""
223msgstr ""
252
224
253−#: Shell.qml:453
225+#: Shell.qml:438
254#, qt-format
226#, qt-format
255msgid "Please enter %1"
227msgid "Please enter %1"
256msgstr "Пожалуйста, введите %1"
228msgstr "Пожалуйста, введите %1"
229+
230+#~ msgid "New Releases"
231+#~ msgstr "Новые релизы"
232+
233+#~ msgid "Music"
234+#~ msgstr "Музыка"
235+
236+#~ msgid "Videos"
237+#~ msgstr "Видео"
238+
239+#~ msgid "Recent"
240+#~ msgstr "Недавние"
241+
242+#~ msgid "Top Charting"
243+#~ msgstr "Наиболее популярное"
244+
245+#~ msgid "Popular Online"
246+#~ msgstr "Популярное в Интернете"
247+
248+#~ msgid "Featured"
249+#~ msgstr "Рекомендованное"
po/shn.po+4−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+0200\n"
11"PO-Revision-Date: 2013-10-07 11:46+0000\n"
11"PO-Revision-Date: 2013-10-07 11:46+0000\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13"Language-Team: Shan <shn@li.org>\n"
13"Language-Team: Shan <shn@li.org>\n"
@@ -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) ? 0 : 1;\n"
17"Plural-Forms: nplurals=2; plural=(n == 1) ? 0 : 1;\n"
18−"X-Launchpad-Export-Date: 2013-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -156,34 +156,6 @@ msgstr[1] ""
156msgid "Rate this"
156msgid "Rate this"
157msgstr ""
157msgstr ""
158
158
159−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
160−msgid "Featured"
161−msgstr ""
162−
163−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
164−msgid "Recent"
165−msgstr ""
166−
167−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
168−msgid "New Releases"
169−msgstr ""
170−
171−#: Dash/DashMusic.qml:30
172−msgid "Top Charting"
173−msgstr ""
174−
175−#: Dash/DashMusic.qml:91
176−msgid "Music"
177−msgstr ""
178−
179−#: Dash/DashVideos.qml:31
180−msgid "Popular Online"
181−msgstr ""
182−
183−#: Dash/DashVideos.qml:146
184−msgid "Videos"
185−msgstr ""
186−
187#: Dash/Previews/Reviews.qml:74
159#: Dash/Previews/Reviews.qml:74
188msgid "Add a review"
160msgid "Add a review"
189msgstr ""
161msgstr ""
@@ -237,7 +209,7 @@ msgstr ""
237msgid "Search"
209msgid "Search"
238msgstr ""
210msgstr ""
239
211
240−#: plugins/Unity/scope.cpp:361
212+#: plugins/Unity/scope.cpp:398
241msgid "Sorry, there is nothing that matches your search."
213msgid "Sorry, there is nothing that matches your search."
242msgstr ""
214msgstr ""
243
215
@@ -245,7 +217,7 @@ msgstr ""
245msgid "All"
217msgid "All"
246msgstr ""
218msgstr ""
247
219
248−#: Shell.qml:453
220+#: Shell.qml:438
249#, qt-format
221#, qt-format
250msgid "Please enter %1"
222msgid "Please enter %1"
251msgstr ""
223msgstr ""
po/si.po+4−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+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,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-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -156,34 +156,6 @@ msgstr[1] ""
156msgid "Rate this"
156msgid "Rate this"
157msgstr ""
157msgstr ""
158
158
159−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
160−msgid "Featured"
161−msgstr ""
162−
163−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
164−msgid "Recent"
165−msgstr ""
166−
167−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
168−msgid "New Releases"
169−msgstr ""
170−
171−#: Dash/DashMusic.qml:30
172−msgid "Top Charting"
173−msgstr ""
174−
175−#: Dash/DashMusic.qml:91
176−msgid "Music"
177−msgstr ""
178−
179−#: Dash/DashVideos.qml:31
180−msgid "Popular Online"
181−msgstr ""
182−
183−#: Dash/DashVideos.qml:146
184−msgid "Videos"
185−msgstr ""
186−
187#: Dash/Previews/Reviews.qml:74
159#: Dash/Previews/Reviews.qml:74
188msgid "Add a review"
160msgid "Add a review"
189msgstr ""
161msgstr ""
@@ -237,7 +209,7 @@ msgstr ""
237msgid "Search"
209msgid "Search"
238msgstr ""
210msgstr ""
239
211
240−#: plugins/Unity/scope.cpp:361
212+#: plugins/Unity/scope.cpp:398
241msgid "Sorry, there is nothing that matches your search."
213msgid "Sorry, there is nothing that matches your search."
242msgstr ""
214msgstr ""
243
215
@@ -245,7 +217,7 @@ msgstr ""
245msgid "All"
217msgid "All"
246msgstr ""
218msgstr ""
247
219
248−#: Shell.qml:453
220+#: Shell.qml:438
249#, qt-format
221#, qt-format
250msgid "Please enter %1"
222msgid "Please enter %1"
251msgstr ""
223msgstr ""
po/sl.po+25−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+0200\n"
11"PO-Revision-Date: 2013-10-02 10:55+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"
@@ -16,7 +16,7 @@ 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-10-08 07:01+0000\n"
19+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
20"X-Generator: Launchpad (build 16799)\n"
20"X-Generator: Launchpad (build 16799)\n"
21
21
22#: Applications/applications.js:23
22#: Applications/applications.js:23
@@ -163,34 +163,6 @@ msgstr[3] "%1 ocene"
163msgid "Rate this"
163msgid "Rate this"
164msgstr "Ocenite"
164msgstr "Ocenite"
165
165
166−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
167−msgid "Featured"
168−msgstr "Predstavljeno"
169−
170−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
171−msgid "Recent"
172−msgstr "Nedavno"
173−
174−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
175−msgid "New Releases"
176−msgstr "Nove izdaje"
177−
178−#: Dash/DashMusic.qml:30
179−msgid "Top Charting"
180−msgstr "Najvišje na lestvici"
181−
182−#: Dash/DashMusic.qml:91
183−msgid "Music"
184−msgstr "Glasba"
185−
186−#: Dash/DashVideos.qml:31
187−msgid "Popular Online"
188−msgstr "Priljubljeno na spletu"
189−
190−#: Dash/DashVideos.qml:146
191−msgid "Videos"
192−msgstr "Videi"
193−
194#: Dash/Previews/Reviews.qml:74
166#: Dash/Previews/Reviews.qml:74
195msgid "Add a review"
167msgid "Add a review"
196msgstr "Dodaj oceno"
168msgstr "Dodaj oceno"
@@ -244,7 +216,7 @@ msgstr "Govorjenje ..."
244msgid "Search"
216msgid "Search"
245msgstr "Iskanje"
217msgstr "Iskanje"
246
218
247−#: plugins/Unity/scope.cpp:361
219+#: plugins/Unity/scope.cpp:398
248msgid "Sorry, there is nothing that matches your search."
220msgid "Sorry, there is nothing that matches your search."
249msgstr "Nič se ne ujema z vašim iskalnim nizom."
221msgstr "Nič se ne ujema z vašim iskalnim nizom."
250
222
@@ -252,7 +224,28 @@ msgstr "Nič se ne ujema z vašim iskalnim nizom."
252msgid "All"
224msgid "All"
253msgstr "Vse"
225msgstr "Vse"
254
226
255−#: Shell.qml:453
227+#: Shell.qml:438
256#, qt-format
228#, qt-format
257msgid "Please enter %1"
229msgid "Please enter %1"
258msgstr "Vnesite %1"
230msgstr "Vnesite %1"
231+
232+#~ msgid "Music"
233+#~ msgstr "Glasba"
234+
235+#~ msgid "Videos"
236+#~ msgstr "Videi"
237+
238+#~ msgid "New Releases"
239+#~ msgstr "Nove izdaje"
240+
241+#~ msgid "Top Charting"
242+#~ msgstr "Najvišje na lestvici"
243+
244+#~ msgid "Featured"
245+#~ msgstr "Predstavljeno"
246+
247+#~ msgid "Recent"
248+#~ msgstr "Nedavno"
249+
250+#~ msgid "Popular Online"
251+#~ msgstr "Priljubljeno na spletu"
po/sr.po+10−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+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,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-10-08 07:01+0000\n"
19+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
20"X-Generator: Launchpad (build 16799)\n"
20"X-Generator: Launchpad (build 16799)\n"
21
21
22#: Applications/applications.js:23
22#: Applications/applications.js:23
@@ -157,34 +157,6 @@ msgstr[1] ""
157msgid "Rate this"
157msgid "Rate this"
158msgstr ""
158msgstr ""
159
159
160−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
161−msgid "Featured"
162−msgstr ""
163−
164−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
165−msgid "Recent"
166−msgstr ""
167−
168−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
169−msgid "New Releases"
170−msgstr ""
171−
172−#: Dash/DashMusic.qml:30
173−msgid "Top Charting"
174−msgstr ""
175−
176−#: Dash/DashMusic.qml:91
177−msgid "Music"
178−msgstr "Музика"
179−
180−#: Dash/DashVideos.qml:31
181−msgid "Popular Online"
182−msgstr ""
183−
184−#: Dash/DashVideos.qml:146
185−msgid "Videos"
186−msgstr "Видео"
187−
188#: Dash/Previews/Reviews.qml:74
160#: Dash/Previews/Reviews.qml:74
189msgid "Add a review"
161msgid "Add a review"
190msgstr ""
162msgstr ""
@@ -238,7 +210,7 @@ msgstr "Говор..."
238msgid "Search"
210msgid "Search"
239msgstr "Претрага"
211msgstr "Претрага"
240
212
241−#: plugins/Unity/scope.cpp:361
213+#: plugins/Unity/scope.cpp:398
242msgid "Sorry, there is nothing that matches your search."
214msgid "Sorry, there is nothing that matches your search."
243msgstr "Нажалост, претрага није наишла на икакво подударање."
215msgstr "Нажалост, претрага није наишла на икакво подударање."
244
216
@@ -246,7 +218,13 @@ msgstr "Нажалост, претрага није наишла на икакв
246msgid "All"
218msgid "All"
247msgstr ""
219msgstr ""
248
220
249−#: Shell.qml:453
221+#: Shell.qml:438
250#, qt-format
222#, qt-format
251msgid "Please enter %1"
223msgid "Please enter %1"
252msgstr ""
224msgstr ""
225+
226+#~ msgid "Music"
227+#~ msgstr "Музика"
228+
229+#~ msgid "Videos"
230+#~ msgstr "Видео"
po/sv.po+4−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+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,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-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -156,34 +156,6 @@ msgstr[1] ""
156msgid "Rate this"
156msgid "Rate this"
157msgstr ""
157msgstr ""
158
158
159−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
160−msgid "Featured"
161−msgstr ""
162−
163−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
164−msgid "Recent"
165−msgstr ""
166−
167−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
168−msgid "New Releases"
169−msgstr ""
170−
171−#: Dash/DashMusic.qml:30
172−msgid "Top Charting"
173−msgstr ""
174−
175−#: Dash/DashMusic.qml:91
176−msgid "Music"
177−msgstr ""
178−
179−#: Dash/DashVideos.qml:31
180−msgid "Popular Online"
181−msgstr ""
182−
183−#: Dash/DashVideos.qml:146
184−msgid "Videos"
185−msgstr ""
186−
187#: Dash/Previews/Reviews.qml:74
159#: Dash/Previews/Reviews.qml:74
188msgid "Add a review"
160msgid "Add a review"
189msgstr ""
161msgstr ""
@@ -237,7 +209,7 @@ msgstr ""
237msgid "Search"
209msgid "Search"
238msgstr ""
210msgstr ""
239
211
240−#: plugins/Unity/scope.cpp:361
212+#: plugins/Unity/scope.cpp:398
241msgid "Sorry, there is nothing that matches your search."
213msgid "Sorry, there is nothing that matches your search."
242msgstr ""
214msgstr ""
243
215
@@ -245,7 +217,7 @@ msgstr ""
245msgid "All"
217msgid "All"
246msgstr ""
218msgstr ""
247
219
248−#: Shell.qml:453
220+#: Shell.qml:438
249#, qt-format
221#, qt-format
250msgid "Please enter %1"
222msgid "Please enter %1"
251msgstr ""
223msgstr ""
po/ta.ponew file+229
@@ -0,0 +1,229 @@
1+# Tamil 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+# துளசி <Thangamani Arun<thangam.arunx@gmail.com>>, 2013.
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-11 12:12+0200\n"
11+"PO-Revision-Date: 2013-10-24 11:36+0000\n"
12+"Last-Translator: Thangamani Arun - தங்கமணி அருண் <thangam.arunx@gmail.com>\n"
13+"Language-Team: Ubuntu Tamil Team/Free Tamil Computing/Thamizha\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-25 06:05+0000\n"
19+"X-Generator: Launchpad (build 16810)\n"
20+"Language: ta\n"
21+
22+#: Applications/applications.js:23
23+msgid "Phone"
24+msgstr "தொலைபேசி"
25+
26+#: Applications/applications.js:29
27+msgid "Camera"
28+msgstr "புகைப்பட கருவி"
29+
30+#: Applications/applications.js:35
31+msgid "Gallery"
32+msgstr "படத்தொகுப்பு"
33+
34+#: Applications/applications.js:40
35+msgid "Facebook"
36+msgstr "முகநுல்"
37+
38+#: Applications/applications.js:46
39+msgid "Browser"
40+msgstr "உலாவி"
41+
42+#: Applications/applications.js:51
43+msgid "Twitter"
44+msgstr "ட்விட்டர்"
45+
46+#: Applications/applications.js:57
47+msgid "GMail"
48+msgstr "ஜிமெயில்"
49+
50+#: Applications/applications.js:62
51+msgid "Weather"
52+msgstr "வானிலை"
53+
54+#: Applications/applications.js:68
55+msgid "Notepad"
56+msgstr "குறிப்புபலகை"
57+
58+#: Applications/applications.js:74
59+msgid "Calendar"
60+msgstr "நாள்காட்டி"
61+
62+#: Applications/applications.js:80
63+msgid "Media Player"
64+msgstr "ஊடக இயக்கி"
65+
66+#: Applications/applications.js:86
67+msgid "Evernote"
68+msgstr "எப்போதும்குறிப்பெடு"
69+
70+#: Applications/applications.js:91
71+msgid "Map"
72+msgstr "வரைபடம்"
73+
74+#: Applications/applications.js:96
75+msgid "Pinterest"
76+msgstr "விசைத்தட்டு"
77+
78+#: Applications/applications.js:101
79+msgid "SoundCloud"
80+msgstr "ஒலி கிளவுட்"
81+
82+#: Applications/applications.js:106
83+msgid "Wikipedia"
84+msgstr "விக்கிப்பீடியா"
85+
86+#: Applications/applications.js:111
87+msgid "YouTube"
88+msgstr "யூட்யுப்"
89+
90+#: Components/EdgeDemoOverlay.qml:149
91+msgid "Skip intro"
92+msgstr "அறிமுகத்தை தவிர்"
93+
94+#: Components/EdgeDemo.qml:112
95+msgid "Right edge"
96+msgstr "வலது விளிம்பு"
97+
98+#: Components/EdgeDemo.qml:113
99+msgid "Try swiping from the right edge to unlock the phone"
100+msgstr "தொலைபேசியை திறக்க வலது முனையிலிருந்து தேய்த்து முயற்சி செய்"
101+
102+#: Components/EdgeDemo.qml:144
103+msgid "Top edge"
104+msgstr "மேல் விளிம்பு"
105+
106+#: Components/EdgeDemo.qml:145
107+msgid "Try swiping from the top edge to access the indicators"
108+msgstr "காட்டிகளை அனுக மேல் விளிம்பிலிருந்து தேய்த்து முயற்சி செய்"
109+
110+#: Components/EdgeDemo.qml:170
111+msgid "Close"
112+msgstr "மூடு"
113+
114+#: Components/EdgeDemo.qml:171
115+msgid "Swipe up again to close the settings screen"
116+msgstr "அமைவுகளின் திரையை மூட மறுபடியும் மேலே தேய்க்கவும்"
117+
118+#: Components/EdgeDemo.qml:198
119+msgid "Left edge"
120+msgstr "இடது விளிம்பு"
121+
122+#: Components/EdgeDemo.qml:199
123+msgid "Swipe from the left to reveal the launcher for quick access to apps"
124+msgstr ""
125+"பயன்பாடுகளின் விரைவான அணுகலை பெறத்தேவையான தொடக்கியை இடமிருந்து தேய்த்தால் "
126+"வெளிப்படும்"
127+
128+#: Components/EdgeDemo.qml:226
129+msgid "Well done"
130+msgstr "நன்றாக செய்தீர்கள்"
131+
132+#: Components/EdgeDemo.qml:227
133+msgid ""
134+"You have now mastered the edge gestures and can start using the "
135+"phone<br><br>Tap anywhere to start"
136+msgstr ""
137+"நீங்கள் இப்போது விளிம்பு சைகைகளில் கைதேர்ந்தவர் மற்றும் தொலைபேசி "
138+"பயன்படுத்த தொடங்கவும் <br> <br>தட்டுவதன் மூலம் எங்க வேண்டுமானாலும் "
139+"தொடங்கலாம்."
140+
141+#: Components/PageHeader.qml:341
142+msgid "Recent searches"
143+msgstr "கடையாக தேடப்பட்டவைகள்"
144+
145+#. TRANSLATORS: Number of persons who rated this app
146+#. TRANSLATORS: Number of persons who rated this app/video/whatever
147+#: Dash/Apps/AppInfo.qml:73 Dash/Previews/Header.qml:93
148+#, qt-format
149+msgid "(%1)"
150+msgstr "(%1)"
151+
152+#. TRANSLATORS: Number of persons who wrote reviews for this app
153+#. TRANSLATORS: Number of persons who wrote reviews for this app/video/whatever
154+#: Dash/Apps/AppInfo.qml:85 Dash/Previews/Header.qml:105
155+#, qt-format
156+msgid "%1 review"
157+msgid_plural "%1 reviews"
158+msgstr[0] "%1 பரிசீலனை"
159+msgstr[1] "%1 பரிசீலனைகள்"
160+
161+#: Dash/Apps/AppPreview.qml:126
162+msgid "Rate this"
163+msgstr "இதை மதிப்பிடு"
164+
165+#: Dash/Previews/Reviews.qml:74
166+msgid "Add a review"
167+msgstr "ஒரு பரிசீலனையை சேர்"
168+
169+#: Dash/Previews/Reviews.qml:86
170+msgid "Review"
171+msgstr "மறுஆய்வு"
172+
173+#: Dash/Previews/Reviews.qml:121
174+msgid "Send"
175+msgstr "அனுப்பு"
176+
177+#: Dash/Previews/Reviews.qml:139
178+msgid "Comments:"
179+msgstr "கருத்துகள்:"
180+
181+#: Greeter/Lockscreen.qml:142
182+msgid "Emergency Call"
183+msgstr "அவசர அழைப்பு"
184+
185+#: Greeter/PassphraseLockscreen.qml:59
186+#, qt-format
187+msgid "Hello %1"
188+msgstr "வணக்கம் %1"
189+
190+#: Greeter/PassphraseLockscreen.qml:59
191+msgid "Hello"
192+msgstr "வணக்கம்"
193+
194+#: Hud/HudParametrizedActionsPage.qml:132
195+msgid "Confirm"
196+msgstr "உறுதிப்படுத்து"
197+
198+#: Hud/Hud.qml:61 Hud/Hud.qml:99 Hud/Hud.qml:372
199+msgid "Type or say a command"
200+msgstr "ஒரு கட்டளையை உச்சரி அல்லது தட்டச்சுசெய்"
201+
202+#: Hud/Hud.qml:84
203+msgid "Loading. Please Wait..."
204+msgstr "ஏற்றுகிறது. தயைசெய்து காத்திருக்கவும்..."
205+
206+#: Hud/Hud.qml:89
207+msgid "Speak Now..."
208+msgstr "இப்பொது பேசு..."
209+
210+#: Hud/Hud.qml:94
211+msgid "Speaking..."
212+msgstr "பேசுகிறது..."
213+
214+#: Panel/SearchIndicator.qml:27
215+msgid "Search"
216+msgstr "தெடு"
217+
218+#: plugins/Unity/scope.cpp:398
219+msgid "Sorry, there is nothing that matches your search."
220+msgstr "மன்னிக்கவும், உங்களுடைய தேடலுக்கு தகுந்த பொருத்தம் கிடைக்கவில்லை."
221+
222+#: plugins/Unity/showallfilteroption.cpp:41
223+msgid "All"
224+msgstr "அனைத்தும்"
225+
226+#: Shell.qml:438
227+#, qt-format
228+msgid "Please enter %1"
229+msgstr "தயவுச்செய்து %1 உள்ளிடு"
po/te.po+7−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+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,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-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -156,34 +156,6 @@ msgstr[1] ""
156msgid "Rate this"
156msgid "Rate this"
157msgstr ""
157msgstr ""
158
158
159−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
160−msgid "Featured"
161−msgstr ""
162−
163−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
164−msgid "Recent"
165−msgstr ""
166−
167−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
168−msgid "New Releases"
169−msgstr ""
170−
171−#: Dash/DashMusic.qml:30
172−msgid "Top Charting"
173−msgstr ""
174−
175−#: Dash/DashMusic.qml:91
176−msgid "Music"
177−msgstr "సంగీతం"
178−
179−#: Dash/DashVideos.qml:31
180−msgid "Popular Online"
181−msgstr ""
182−
183−#: Dash/DashVideos.qml:146
184−msgid "Videos"
185−msgstr ""
186−
187#: Dash/Previews/Reviews.qml:74
159#: Dash/Previews/Reviews.qml:74
188msgid "Add a review"
160msgid "Add a review"
189msgstr ""
161msgstr ""
@@ -237,7 +209,7 @@ msgstr ""
237msgid "Search"
209msgid "Search"
238msgstr ""
210msgstr ""
239
211
240−#: plugins/Unity/scope.cpp:361
212+#: plugins/Unity/scope.cpp:398
241msgid "Sorry, there is nothing that matches your search."
213msgid "Sorry, there is nothing that matches your search."
242msgstr ""
214msgstr ""
243
215
@@ -245,7 +217,10 @@ msgstr ""
245msgid "All"
217msgid "All"
246msgstr ""
218msgstr ""
247
219
248−#: Shell.qml:453
220+#: Shell.qml:438
249#, qt-format
221#, qt-format
250msgid "Please enter %1"
222msgid "Please enter %1"
251msgstr ""
223msgstr ""
224+
225+#~ msgid "Music"
226+#~ msgstr "సంగీతం"
po/tr.po+25−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+0200\n"
11"PO-Revision-Date: 2013-10-01 13:21+0000\n"
11"PO-Revision-Date: 2013-10-01 13:21+0000\n"
12"Last-Translator: Volkan Gezer <Unknown>\n"
12"Last-Translator: Volkan Gezer <Unknown>\n"
13"Language-Team: Turkish <tr@li.org>\n"
13"Language-Team: Turkish <tr@li.org>\n"
@@ -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-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -157,34 +157,6 @@ msgstr[1] "%1 inceleme"
157msgid "Rate this"
157msgid "Rate this"
158msgstr "Oyla"
158msgstr "Oyla"
159
159
160−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
161−msgid "Featured"
162−msgstr "Öne Çıkanlar"
163−
164−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
165−msgid "Recent"
166−msgstr "En Son"
167−
168−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
169−msgid "New Releases"
170−msgstr "Yeni Sürümler"
171−
172−#: Dash/DashMusic.qml:30
173−msgid "Top Charting"
174−msgstr "En Çok Beğenilenler"
175−
176−#: Dash/DashMusic.qml:91
177−msgid "Music"
178−msgstr "Müzik"
179−
180−#: Dash/DashVideos.qml:31
181−msgid "Popular Online"
182−msgstr "Genellikle Çevrimiçi"
183−
184−#: Dash/DashVideos.qml:146
185−msgid "Videos"
186−msgstr "Videolar"
187−
188#: Dash/Previews/Reviews.qml:74
160#: Dash/Previews/Reviews.qml:74
189msgid "Add a review"
161msgid "Add a review"
190msgstr "Bir inceleme ekle"
162msgstr "Bir inceleme ekle"
@@ -238,7 +210,7 @@ msgstr "Konuşuyor..."
238msgid "Search"
210msgid "Search"
239msgstr "Ara"
211msgstr "Ara"
240
212
241−#: plugins/Unity/scope.cpp:361
213+#: plugins/Unity/scope.cpp:398
242msgid "Sorry, there is nothing that matches your search."
214msgid "Sorry, there is nothing that matches your search."
243msgstr "Üzgünüz, aramanızla eşleşen hiçbir şey yok."
215msgstr "Üzgünüz, aramanızla eşleşen hiçbir şey yok."
244
216
@@ -246,7 +218,28 @@ msgstr "Üzgünüz, aramanızla eşleşen hiçbir şey yok."
246msgid "All"
218msgid "All"
247msgstr ""
219msgstr ""
248
220
249−#: Shell.qml:453
221+#: Shell.qml:438
250#, qt-format
222#, qt-format
251msgid "Please enter %1"
223msgid "Please enter %1"
252msgstr "Lütfen %1 girin"
224msgstr "Lütfen %1 girin"
225+
226+#~ msgid "Featured"
227+#~ msgstr "Öne Çıkanlar"
228+
229+#~ msgid "Recent"
230+#~ msgstr "En Son"
231+
232+#~ msgid "Music"
233+#~ msgstr "Müzik"
234+
235+#~ msgid "Popular Online"
236+#~ msgstr "Genellikle Çevrimiçi"
237+
238+#~ msgid "Videos"
239+#~ msgstr "Videolar"
240+
241+#~ msgid "Top Charting"
242+#~ msgstr "En Çok Beğenilenler"
243+
244+#~ msgid "New Releases"
245+#~ msgstr "Yeni Sürümler"
po/ug.po+19−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+0200\n"
11"PO-Revision-Date: 2013-10-09 22:38+0000\n"
11"PO-Revision-Date: 2013-10-09 22:38+0000\n"
12"Last-Translator: Gheyret T.Kenji <Unknown>\n"
12"Last-Translator: Gheyret T.Kenji <Unknown>\n"
13"Language-Team: Uyghur <ug@li.org>\n"
13"Language-Team: Uyghur <ug@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=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2013-10-10 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -155,34 +155,6 @@ msgstr[0] "%1 باھا"
155msgid "Rate this"
155msgid "Rate this"
156msgstr ""
156msgstr ""
157
157
158−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
159−msgid "Featured"
160−msgstr "داڭلىق"
161−
162−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
163−msgid "Recent"
164−msgstr "يېقىنقى"
165−
166−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
167−msgid "New Releases"
168−msgstr "يېڭى ئېلان قىلىنغانلىرى"
169−
170−#: Dash/DashMusic.qml:30
171−msgid "Top Charting"
172−msgstr ""
173−
174−#: Dash/DashMusic.qml:91
175−msgid "Music"
176−msgstr "مۇزىكا"
177−
178−#: Dash/DashVideos.qml:31
179−msgid "Popular Online"
180−msgstr ""
181−
182−#: Dash/DashVideos.qml:146
183−msgid "Videos"
184−msgstr "سىنلار"
185−
186#: Dash/Previews/Reviews.qml:74
158#: Dash/Previews/Reviews.qml:74
187msgid "Add a review"
159msgid "Add a review"
188msgstr ""
160msgstr ""
@@ -236,7 +208,7 @@ msgstr "سۆزلەۋاتىسىز…"
236msgid "Search"
208msgid "Search"
237msgstr "ئىزدە"
209msgstr "ئىزدە"
238
210
239−#: plugins/Unity/scope.cpp:361
211+#: plugins/Unity/scope.cpp:398
240msgid "Sorry, there is nothing that matches your search."
212msgid "Sorry, there is nothing that matches your search."
241msgstr "كەچۈرۈڭ، ئىزدىگىنىڭىزگە ماس نەتىجە تېپىلمىدى."
213msgstr "كەچۈرۈڭ، ئىزدىگىنىڭىزگە ماس نەتىجە تېپىلمىدى."
242
214
@@ -244,7 +216,22 @@ msgstr "كەچۈرۈڭ، ئىزدىگىنىڭىزگە ماس نەتىجە تېپ
244msgid "All"
216msgid "All"
245msgstr "ھەممىسى"
217msgstr "ھەممىسى"
246
218
247−#: Shell.qml:453
219+#: Shell.qml:438
248#, qt-format
220#, qt-format
249msgid "Please enter %1"
221msgid "Please enter %1"
250msgstr "%1 نى كىرگۈزۈڭ"
222msgstr "%1 نى كىرگۈزۈڭ"
223+
224+#~ msgid "Featured"
225+#~ msgstr "داڭلىق"
226+
227+#~ msgid "Recent"
228+#~ msgstr "يېقىنقى"
229+
230+#~ msgid "New Releases"
231+#~ msgstr "يېڭى ئېلان قىلىنغانلىرى"
232+
233+#~ msgid "Music"
234+#~ msgstr "مۇزىكا"
235+
236+#~ msgid "Videos"
237+#~ msgstr "سىنلار"
po/uk.po+9−35
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+0200\n"
11−"PO-Revision-Date: 2013-09-28 07:54+0000\n"
11+"PO-Revision-Date: 2013-10-19 16:44+0000\n"
12"Last-Translator: Yuri Chornoivan <yurchor@gmail.com>\n"
12"Last-Translator: Yuri Chornoivan <yurchor@gmail.com>\n"
13"Language-Team: Ukrainian <uk@li.org>\n"
13"Language-Team: Ukrainian <uk@li.org>\n"
14"MIME-Version: 1.0\n"
14"MIME-Version: 1.0\n"
@@ -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-10-08 07:01+0000\n"
19+"X-Launchpad-Export-Date: 2013-10-20 05:20+0000\n"
20−"X-Generator: Launchpad (build 16799)\n"
20+"X-Generator: Launchpad (build 16807)\n"
21
21
22#: Applications/applications.js:23
22#: Applications/applications.js:23
23msgid "Phone"
23msgid "Phone"
@@ -135,6 +135,8 @@ msgid ""
135"You have now mastered the edge gestures and can start using the "
135"You have now mastered the edge gestures and can start using the "
136"phone<br><br>Tap anywhere to start"
136"phone<br><br>Tap anywhere to start"
137msgstr ""
137msgstr ""
138+"Тепер жести налаштовано, ви можете почати користуватися "
139+"телефоном.<br><br>Натисніть у довільному місці екрана."
138
140
139#: Components/PageHeader.qml:341
141#: Components/PageHeader.qml:341
140msgid "Recent searches"
142msgid "Recent searches"
@@ -161,34 +163,6 @@ msgstr[2] "%1 рецензій"
161msgid "Rate this"
163msgid "Rate this"
162msgstr "Оцінити"
164msgstr "Оцінити"
163
165
164−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
165−msgid "Featured"
166−msgstr "Рекомендовані"
167−
168−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
169−msgid "Recent"
170−msgstr "Нещодавні"
171−
172−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
173−msgid "New Releases"
174−msgstr "Нові випуски"
175−
176−#: Dash/DashMusic.qml:30
177−msgid "Top Charting"
178−msgstr "З високими оцінками"
179−
180−#: Dash/DashMusic.qml:91
181−msgid "Music"
182−msgstr "Музика"
183−
184−#: Dash/DashVideos.qml:31
185−msgid "Popular Online"
186−msgstr "Популярне у мережі"
187−
188−#: Dash/DashVideos.qml:146
189−msgid "Videos"
190−msgstr "Відео"
191−
192#: Dash/Previews/Reviews.qml:74
166#: Dash/Previews/Reviews.qml:74
193msgid "Add a review"
167msgid "Add a review"
194msgstr "Додати рецензію"
168msgstr "Додати рецензію"
@@ -242,15 +216,15 @@ msgstr "Мовлення…"
242msgid "Search"
216msgid "Search"
243msgstr "Пошук"
217msgstr "Пошук"
244
218
245−#: plugins/Unity/scope.cpp:361
219+#: plugins/Unity/scope.cpp:398
246msgid "Sorry, there is nothing that matches your search."
220msgid "Sorry, there is nothing that matches your search."
247msgstr "Вибачте, для вказаних вами ключових слів нічого не знайдено."
221msgstr "Вибачте, для вказаних вами ключових слів нічого не знайдено."
248
222
249#: plugins/Unity/showallfilteroption.cpp:41
223#: plugins/Unity/showallfilteroption.cpp:41
250msgid "All"
224msgid "All"
251−msgstr ""
225+msgstr "Усе"
252
226
253−#: Shell.qml:453
227+#: Shell.qml:438
254#, qt-format
228#, qt-format
255msgid "Please enter %1"
229msgid "Please enter %1"
256msgstr "Будь ласка, введіть %1"
230msgstr "Будь ласка, введіть %1"
po/unity8.pot+3−31
@@ -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-10-07 10:49+0200\n"
11+"POT-Creation-Date: 2013-10-11 12:12+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"
@@ -156,34 +156,6 @@ msgstr[1] ""
156msgid "Rate this"
156msgid "Rate this"
157msgstr ""
157msgstr ""
158
158
159−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
160−msgid "Featured"
161−msgstr ""
162−
163−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
164−msgid "Recent"
165−msgstr ""
166−
167−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
168−msgid "New Releases"
169−msgstr ""
170−
171−#: Dash/DashMusic.qml:30
172−msgid "Top Charting"
173−msgstr ""
174−
175−#: Dash/DashMusic.qml:91
176−msgid "Music"
177−msgstr ""
178−
179−#: Dash/DashVideos.qml:31
180−msgid "Popular Online"
181−msgstr ""
182−
183−#: Dash/DashVideos.qml:146
184−msgid "Videos"
185−msgstr ""
186−
187#: Dash/Previews/Reviews.qml:74
159#: Dash/Previews/Reviews.qml:74
188msgid "Add a review"
160msgid "Add a review"
189msgstr ""
161msgstr ""
@@ -237,7 +209,7 @@ msgstr ""
237msgid "Search"
209msgid "Search"
238msgstr ""
210msgstr ""
239
211
240−#: plugins/Unity/scope.cpp:361
212+#: plugins/Unity/scope.cpp:398
241msgid "Sorry, there is nothing that matches your search."
213msgid "Sorry, there is nothing that matches your search."
242msgstr ""
214msgstr ""
243
215
@@ -245,7 +217,7 @@ msgstr ""
245msgid "All"
217msgid "All"
246msgstr ""
218msgstr ""
247
219
248−#: Shell.qml:453
220+#: Shell.qml:438
249#, qt-format
221#, qt-format
250msgid "Please enter %1"
222msgid "Please enter %1"
251msgstr ""
223msgstr ""
po/xh.po+4−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+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-10-08 07:01+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -156,34 +156,6 @@ msgstr[1] ""
156msgid "Rate this"
156msgid "Rate this"
157msgstr ""
157msgstr ""
158
158
159−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
160−msgid "Featured"
161−msgstr ""
162−
163−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
164−msgid "Recent"
165−msgstr ""
166−
167−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
168−msgid "New Releases"
169−msgstr ""
170−
171−#: Dash/DashMusic.qml:30
172−msgid "Top Charting"
173−msgstr ""
174−
175−#: Dash/DashMusic.qml:91
176−msgid "Music"
177−msgstr ""
178−
179−#: Dash/DashVideos.qml:31
180−msgid "Popular Online"
181−msgstr ""
182−
183−#: Dash/DashVideos.qml:146
184−msgid "Videos"
185−msgstr ""
186−
187#: Dash/Previews/Reviews.qml:74
159#: Dash/Previews/Reviews.qml:74
188msgid "Add a review"
160msgid "Add a review"
189msgstr ""
161msgstr ""
@@ -237,7 +209,7 @@ msgstr ""
237msgid "Search"
209msgid "Search"
238msgstr ""
210msgstr ""
239
211
240−#: plugins/Unity/scope.cpp:361
212+#: plugins/Unity/scope.cpp:398
241msgid "Sorry, there is nothing that matches your search."
213msgid "Sorry, there is nothing that matches your search."
242msgstr ""
214msgstr ""
243
215
@@ -245,7 +217,7 @@ msgstr ""
245msgid "All"
217msgid "All"
246msgstr ""
218msgstr ""
247
219
248−#: Shell.qml:453
220+#: Shell.qml:438
249#, qt-format
221#, qt-format
250msgid "Please enter %1"
222msgid "Please enter %1"
251msgstr ""
223msgstr ""
po/zh_CN.po+25−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+0200\n"
11"PO-Revision-Date: 2013-10-09 13:51+0000\n"
11"PO-Revision-Date: 2013-10-09 13:51+0000\n"
12"Last-Translator: Aron Xu <Unknown>\n"
12"Last-Translator: Aron Xu <Unknown>\n"
13"Language-Team: Chinese (Simplified) <zh_CN@li.org>\n"
13"Language-Team: Chinese (Simplified) <zh_CN@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=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2013-10-10 05:50+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -156,34 +156,6 @@ msgstr[1] ""
156msgid "Rate this"
156msgid "Rate this"
157msgstr ""
157msgstr ""
158
158
159−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
160−msgid "Featured"
161−msgstr "推荐"
162−
163−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
164−msgid "Recent"
165−msgstr "最近使用"
166−
167−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
168−msgid "New Releases"
169−msgstr "新版本"
170−
171−#: Dash/DashMusic.qml:30
172−msgid "Top Charting"
173−msgstr "排行榜图"
174−
175−#: Dash/DashMusic.qml:91
176−msgid "Music"
177−msgstr "音乐"
178−
179−#: Dash/DashVideos.qml:31
180−msgid "Popular Online"
181−msgstr "经常在线"
182−
183−#: Dash/DashVideos.qml:146
184−msgid "Videos"
185−msgstr "视频"
186−
187#: Dash/Previews/Reviews.qml:74
159#: Dash/Previews/Reviews.qml:74
188msgid "Add a review"
160msgid "Add a review"
189msgstr ""
161msgstr ""
@@ -237,7 +209,7 @@ msgstr "讲话中..."
237msgid "Search"
209msgid "Search"
238msgstr "搜索"
210msgstr "搜索"
239
211
240−#: plugins/Unity/scope.cpp:361
212+#: plugins/Unity/scope.cpp:398
241msgid "Sorry, there is nothing that matches your search."
213msgid "Sorry, there is nothing that matches your search."
242msgstr "对不起,没有找到您想要的结果。"
214msgstr "对不起,没有找到您想要的结果。"
243
215
@@ -245,7 +217,28 @@ msgstr "对不起,没有找到您想要的结果。"
245msgid "All"
217msgid "All"
246msgstr ""
218msgstr ""
247
219
248−#: Shell.qml:453
220+#: Shell.qml:438
249#, qt-format
221#, qt-format
250msgid "Please enter %1"
222msgid "Please enter %1"
251msgstr ""
223msgstr ""
224+
225+#~ msgid "Featured"
226+#~ msgstr "推荐"
227+
228+#~ msgid "New Releases"
229+#~ msgstr "新版本"
230+
231+#~ msgid "Top Charting"
232+#~ msgstr "排行榜图"
233+
234+#~ msgid "Music"
235+#~ msgstr "音乐"
236+
237+#~ msgid "Popular Online"
238+#~ msgstr "经常在线"
239+
240+#~ msgid "Videos"
241+#~ msgstr "视频"
242+
243+#~ msgid "Recent"
244+#~ msgstr "最近使用"
po/zh_TW.po+10−32
@@ -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-10-07 10:49+0200\n"
10+"POT-Creation-Date: 2013-10-11 12:12+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,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=1; plural=0;\n"
17"Plural-Forms: nplurals=1; plural=0;\n"
18−"X-Launchpad-Export-Date: 2013-10-08 07:02+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-13 05:43+0000\n"
19"X-Generator: Launchpad (build 16799)\n"
19"X-Generator: Launchpad (build 16799)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -156,34 +156,6 @@ msgstr[1] ""
156msgid "Rate this"
156msgid "Rate this"
157msgstr ""
157msgstr ""
158
158
159−#: Dash/DashMusic.qml:27 Dash/DashVideos.qml:28
160−msgid "Featured"
161−msgstr ""
162−
163−#: Dash/DashMusic.qml:28 Dash/DashVideos.qml:29
164−msgid "Recent"
165−msgstr ""
166−
167−#: Dash/DashMusic.qml:29 Dash/DashVideos.qml:30
168−msgid "New Releases"
169−msgstr ""
170−
171−#: Dash/DashMusic.qml:30
172−msgid "Top Charting"
173−msgstr ""
174−
175−#: Dash/DashMusic.qml:91
176−msgid "Music"
177−msgstr "音樂"
178−
179−#: Dash/DashVideos.qml:31
180−msgid "Popular Online"
181−msgstr ""
182−
183−#: Dash/DashVideos.qml:146
184−msgid "Videos"
185−msgstr "影片"
186−
187#: Dash/Previews/Reviews.qml:74
159#: Dash/Previews/Reviews.qml:74
188msgid "Add a review"
160msgid "Add a review"
189msgstr ""
161msgstr ""
@@ -237,7 +209,7 @@ msgstr "說話中..."
237msgid "Search"
209msgid "Search"
238msgstr "搜尋"
210msgstr "搜尋"
239
211
240−#: plugins/Unity/scope.cpp:361
212+#: plugins/Unity/scope.cpp:398
241msgid "Sorry, there is nothing that matches your search."
213msgid "Sorry, there is nothing that matches your search."
242msgstr "很抱歉,找不到符合您想搜尋的結果。"
214msgstr "很抱歉,找不到符合您想搜尋的結果。"
243
215
@@ -245,7 +217,13 @@ msgstr "很抱歉,找不到符合您想搜尋的結果。"
245msgid "All"
217msgid "All"
246msgstr ""
218msgstr ""
247
219
248−#: Shell.qml:453
220+#: Shell.qml:438
249#, qt-format
221#, qt-format
250msgid "Please enter %1"
222msgid "Please enter %1"
251msgstr ""
223msgstr ""
224+
225+#~ msgid "Music"
226+#~ msgstr "音樂"
227+
228+#~ msgid "Videos"
229+#~ msgstr "影片"
tests/autopilot/unity8/__init__.py+46−1
@@ -52,7 +52,11 @@ def get_mocks_library_path():
52 if running_installed_tests():
52 if running_installed_tests():
53 mock_path = "qml/mocks/"
53 mock_path = "qml/mocks/"
54 else:
54 else:
55+ mock_path = os.path.join(
56+ "../lib/",
57+ sysconfig.get_config_var('MULTIARCH'),
55− mock_path = "../lib/x86_64-linux-gnu/unity8/qml/mocks/"
58+ "unity8/qml/mocks/"
59+ )
56 lib_path = get_lib_path()
60 lib_path = get_lib_path()
57 ld_library_path = os.path.abspath(
61 ld_library_path = os.path.abspath(
58 os.path.join(
62 os.path.join(
@@ -84,6 +88,47 @@ def get_binary_path(binary="unity8"):
84 return binary_path
88 return binary_path
85
89
86
90
91+def get_data_dirs():
92+ """Prepend a mock data path to XDG_DATA_DIRS."""
93+ if running_installed_tests():
94+ data_path = "/usr/share/unity8/mocks/data"
95+ else:
96+ data_path = "../../mocks/data"
97+ full_data_path = os.path.abspath(
98+ os.path.join(
99+ os.path.dirname(__file__),
100+ data_path
101+ )
102+ )
103+
104+ if os.path.exists(full_data_path):
105+ xdg_path = _get_xdg_env_path()
106+ if xdg_path is not None:
107+ return "{0}:{1}".format(full_data_path, xdg_path)
108+ else:
109+ return full_data_path
110+ else:
111+ return None
112+
113+
114+def _get_xdg_env_path():
115+ path = os.getenv("XDG_DATA_DIRS")
116+ if path is None:
117+ path = _get_xdg_upstart_env()
118+ return path
119+
120+
121+def _get_xdg_upstart_env():
122+ try:
123+ return subprocess.check_output([
124+ "/sbin/initctl",
125+ "get-env",
126+ "--global",
127+ "XDG_DATA_DIRS"
128+ ]).rstrip()
129+ except subprocess.CalledProcessError:
130+ return None
131+
87def get_grid_size():
132def get_grid_size():
88 grid_size = os.getenv('GRID_UNIT_PX')
133 grid_size = os.getenv('GRID_UNIT_PX')
89 if grid_size is None:
134 if grid_size is None:
tests/autopilot/unity8/shell/tests/__init__.py+122−8
@@ -28,9 +28,12 @@ from autopilot.platform import model
28from autopilot.testcase import AutopilotTestCase
28from autopilot.testcase import AutopilotTestCase
29from autopilot.matchers import Eventually
29from autopilot.matchers import Eventually
30from autopilot.input import Touch
30from autopilot.input import Touch
31+from autopilot.introspection import get_proxy_object_for_existing_process
31from autopilot.display import Display
32from autopilot.display import Display
32import logging
33import logging
33import os.path
34import os.path
35+import subprocess
36+import sys
34from testtools.matchers import Equals, NotEquals
37from testtools.matchers import Equals, NotEquals
35
38
36from unity8 import (
39from unity8 import (
@@ -38,6 +41,7 @@ from unity8 import (
38 get_binary_path,
41 get_binary_path,
39 get_mocks_library_path,
42 get_mocks_library_path,
40 get_default_extra_mock_libraries,
43 get_default_extra_mock_libraries,
44+ get_data_dirs
41)
45)
42from unity8.shell.emulators import UnityEmulatorBase
46from unity8.shell.emulators import UnityEmulatorBase
43from unity8.shell.emulators.dash import Dash
47from unity8.shell.emulators.dash import Dash
@@ -51,6 +55,7 @@ UNITYSHELL_GSETTINGS_PATH = "/org/compiz/profiles/unity/plugins/unityshell/"
51UNITYSHELL_LAUNCHER_KEY = "launcher-hide-mode"
55UNITYSHELL_LAUNCHER_KEY = "launcher-hide-mode"
52UNITYSHELL_LAUNCHER_MODE = 1 # launcher hidden
56UNITYSHELL_LAUNCHER_MODE = 1 # launcher hidden
53
57
58+
54def _get_device_emulation_scenarios(devices='All'):
59def _get_device_emulation_scenarios(devices='All'):
55 nexus4 = ('Desktop Nexus 4',
60 nexus4 = ('Desktop Nexus 4',
56 dict(app_width=768, app_height=1280, grid_unit_px=18))
61 dict(app_width=768, app_height=1280, grid_unit_px=18))
@@ -67,14 +72,43 @@ def _get_device_emulation_scenarios(devices='All'):
67 elif devices == 'Nexus10':
72 elif devices == 'Nexus10':
68 return [nexus10]
73 return [nexus10]
69 else:
74 else:
75+ raise RuntimeError(
70− raise RuntimeException('Unrecognized device-option "%s" passed.' % devices)
76+ 'Unrecognized device-option "%s" passed.' % devices
77+ )
71 else:
78 else:
72 return [native]
79 return [native]
73
80
81+
74class UnityTestCase(AutopilotTestCase):
82class UnityTestCase(AutopilotTestCase):
75
83
76 """A test case base class for the Unity shell tests."""
84 """A test case base class for the Unity shell tests."""
77
85
86+ @classmethod
87+ def setUpClass(cls):
88+ try:
89+ output = subprocess.check_output([
90+ "/sbin/initctl",
91+ "status",
92+ "unity8"
93+ ], stderr=subprocess.STDOUT)
94+ except subprocess.CalledProcessError, e:
95+ sys.stderr.write(
96+ "Error: `initctl status unity8` failed, most probably the unity8 session could not be found:\n\n"
97+ "{0}\n"
98+ "Please install unity8 or copy data/unity8.conf to {1}\n".format(
99+ e.output,
100+ os.path.join(os.getenv("XDG_CONFIG_HOME", os.path.join(os.getenv("HOME"), ".config")), "upstart")
101+ ))
102+ sys.exit(1)
103+
104+ if "start/" in output:
105+ sys.stderr.write(
106+ "Error: Unity is currently running, these tests require it to be 'stopped'.\n"
107+ "Please run this command before running these tests: \n"
108+ "initctl stop unity8\n"
109+ )
110+ sys.exit(2)
111+
78 def setUp(self):
112 def setUp(self):
79 super(UnityTestCase, self).setUp()
113 super(UnityTestCase, self).setUp()
80 if Gio is not None and UNITYSHELL_GSETTINGS_SCHEMA in Gio.Settings.list_relocatable_schemas():
114 if Gio is not None and UNITYSHELL_GSETTINGS_SCHEMA in Gio.Settings.list_relocatable_schemas():
@@ -87,6 +121,16 @@ class UnityTestCase(AutopilotTestCase):
87 self._proxy = None
121 self._proxy = None
88 self._lightdm_mock_type = None
122 self._lightdm_mock_type = None
89 self._qml_mock_enabled = True
123 self._qml_mock_enabled = True
124+ self._environment = {}
125+
126+ self._patch_data_dirs()
127+
128+ #### FIXME: This is a work around re: lp:1238417 ####
129+ if model() != "Desktop":
130+ from autopilot.input import _uinput
131+ _uinput._touch_device = _uinput.create_touch_device()
132+ ####
133+
90 self.touch = Touch.create()
134 self.touch = Touch.create()
91 self._setup_display_details()
135 self._setup_display_details()
92
136
@@ -129,6 +173,9 @@ class UnityTestCase(AutopilotTestCase):
129 self.grid_size = int(os.getenv('GRID_UNIT_PX'))
173 self.grid_size = int(os.getenv('GRID_UNIT_PX'))
130 else:
174 else:
131 self.grid_size = int(self.grid_unit_px / scale_divisor)
175 self.grid_size = int(self.grid_unit_px / scale_divisor)
176+ self._environment["GRID_UNIT_PX"] = str(self.grid_size)
177+ # FIXME this is only needed for Hud.get_close_button_coords
178+ # we should probably rework it so that it's not required
132 self.patch_environment("GRID_UNIT_PX", str(self.grid_size))
179 self.patch_environment("GRID_UNIT_PX", str(self.grid_size))
133
180
134 def _geo_larger_than_display(self, width, height):
181 def _geo_larger_than_display(self, width, height):
@@ -147,6 +194,38 @@ class UnityTestCase(AutopilotTestCase):
147 divisor = divisor * 2
194 divisor = divisor * 2
148 return divisor
195 return divisor
149
196
197+ def _patch_environment(self, key, value):
198+ """Wrapper for patching env for upstart environment."""
199+ try:
200+ current_value = subprocess.check_output([
201+ "/sbin/initctl",
202+ "get-env",
203+ "--global",
204+ key
205+ ], stderr=subprocess.STDOUT).rstrip()
206+ except subprocess.CalledProcessError:
207+ current_value = None
208+
209+ subprocess.call([
210+ "/sbin/initctl",
211+ "set-env",
212+ "--global",
213+ "%s=%s" % (key, value)
214+ ], stderr=subprocess.STDOUT)
215+ self.addCleanup(self._upstart_reset_env, key, current_value)
216+
217+ def _upstart_reset_env(self, key, value):
218+ logger.info("Resetting upstart env %s to %s", key, value)
219+ if value is None:
220+ subprocess.call(["/sbin/initctl", "unset-env", key], stderr=subprocess.STDOUT)
221+ else:
222+ subprocess.call([
223+ "/sbin/initctl",
224+ "set-env",
225+ "--global",
226+ "%s=%s" % (key, value)
227+ ], stderr=subprocess.STDOUT)
228+
150 def launch_unity(self, **kwargs):
229 def launch_unity(self, **kwargs):
151 """Launch the unity shell, return a proxy object for it."""
230 """Launch the unity shell, return a proxy object for it."""
152 binary_path = get_binary_path()
231 binary_path = get_binary_path()
@@ -175,13 +254,11 @@ class UnityTestCase(AutopilotTestCase):
175 except OSError:
254 except OSError:
176 pass
255 pass
177
256
178− app_proxy = self.launch_test_application(
257+ app_proxy = self._launch_unity_with_upstart(
179 binary_path,
258 binary_path,
180− *self.unity_geometry_args,
259+ self.unity_geometry_args
181− app_type='qt',
182− emulator_base=UnityEmulatorBase,
183− **kwargs
184 )
260 )
261+
185 self._set_proxy(app_proxy)
262 self._set_proxy(app_proxy)
186
263
187 # Ensure that the dash is visible before we return:
264 # Ensure that the dash is visible before we return:
@@ -191,6 +268,43 @@ class UnityTestCase(AutopilotTestCase):
191
268
192 return app_proxy
269 return app_proxy
193
270
271+ def _launch_unity_with_upstart(self, binary_path, args):
272+ logger.info("Starting unity")
273+ self._patch_environment("QT_LOAD_TESTABILITY", 1)
274+
275+ binary_arg = "BINARY=%s" % binary_path
276+ extra_args = "ARGS=%s" % " ".join(args)
277+
278+ output = subprocess.check_output([
279+ "/sbin/initctl",
280+ "start",
281+ "unity8",
282+ binary_arg,
283+ extra_args
284+ ] + ["%s=%s" % (k,v) for k,v in self._environment.iteritems()],
285+ stderr=subprocess.STDOUT)
286+
287+ self.addCleanup(self._cleanup_launching_upstart_unity)
288+
289+ pid = int(output.split()[-1])
290+
291+ return get_proxy_object_for_existing_process(
292+ pid=pid,
293+ emulator_base=UnityEmulatorBase,
294+ )
295+
296+ def _cleanup_launching_upstart_unity(self):
297+ logger.info("Stopping unity")
298+ try:
299+ subprocess.check_output(["/sbin/initctl", "stop", "unity8"], stderr=subprocess.STDOUT)
300+ except subprocess.CalledProcessError:
301+ logger.warning("Appears unity was already stopped!")
302+
303+ def _patch_data_dirs(self):
304+ data_dirs = get_data_dirs()
305+ if data_dirs is not None:
306+ self._environment['XDG_DATA_DIRS'] = data_dirs
307+
194 def patch_lightdm_mock(self, mock_type='single'):
308 def patch_lightdm_mock(self, mock_type='single'):
195 self._lightdm_mock_type = mock_type
309 self._lightdm_mock_type = mock_type
196 logger.info("Setting up LightDM mock type '%s'", mock_type)
310 logger.info("Setting up LightDM mock type '%s'", mock_type)
@@ -204,7 +318,7 @@ class UnityTestCase(AutopilotTestCase):
204 new_ld_library_path = ':'.join(new_ld_library_path)
318 new_ld_library_path = ':'.join(new_ld_library_path)
205 logger.info("New library path: %s", new_ld_library_path)
319 logger.info("New library path: %s", new_ld_library_path)
206
320
207− self.patch_environment('LD_LIBRARY_PATH', new_ld_library_path)
321+ self._environment['LD_LIBRARY_PATH'] = new_ld_library_path
208
322
209 def _get_lightdm_mock_path(self, mock_type):
323 def _get_lightdm_mock_path(self, mock_type):
210 lib_path = get_mocks_library_path()
324 lib_path = get_mocks_library_path()
@@ -226,7 +340,7 @@ class UnityTestCase(AutopilotTestCase):
226
340
227 qml_import_path = ':'.join(qml_import_path)
341 qml_import_path = ':'.join(qml_import_path)
228 logger.info("New QML2 import path: %s", qml_import_path)
342 logger.info("New QML2 import path: %s", qml_import_path)
229− self.patch_environment('QML2_IMPORT_PATH', qml_import_path)
343+ self._environment['QML2_IMPORT_PATH'] = qml_import_path
230
344
231 def _set_proxy(self, proxy):
345 def _set_proxy(self, proxy):
232 """Keep a copy of the proxy object, so we can use it to get common
346 """Keep a copy of the proxy object, so we can use it to get common
tests/autopilot/unity8/shell/tests/test_notifications.py+10−9
@@ -145,7 +145,7 @@ class InteractiveNotificationBase(NotificationsBase):
145 hints,
145 hints,
146 )
146 )
147
147
148− get_notification = lambda: notify_list.select_single('Notification')
148+ get_notification = lambda: notify_list.select_single('Notification', objectName='notification1')
149 self.assertThat(get_notification, Eventually(NotEquals(None)))
149 self.assertThat(get_notification, Eventually(NotEquals(None)))
150 notification = get_notification()
150 notification = get_notification()
151
151
@@ -191,7 +191,7 @@ class InteractiveNotificationBase(NotificationsBase):
191 hints
191 hints
192 )
192 )
193
193
194− get_notification = lambda: notify_list.select_single('Notification')
194+ get_notification = lambda: notify_list.select_single('Notification', objectName='notification1')
195 self.assertThat(get_notification, Eventually(NotEquals(None)))
195 self.assertThat(get_notification, Eventually(NotEquals(None)))
196 notification = get_notification()
196 notification = get_notification()
197 self._assert_notification(notification, None, None, True, True, 1.0)
197 self._assert_notification(notification, None, None, True, True, 1.0)
@@ -360,7 +360,7 @@ class EphemeralNotificationsTests(NotificationsBase):
360
360
361 notification.show()
361 notification.show()
362
362
363− get_notification = lambda: notify_list.select_single('Notification')
363+ get_notification = lambda: notify_list.select_single('Notification', objectName='notification1')
364 self.assertThat(get_notification, Eventually(NotEquals(None)))
364 self.assertThat(get_notification, Eventually(NotEquals(None)))
365 notification = get_notification()
365 notification = get_notification()
366 self._assert_notification(notification, summary, body, True, True, 1.0)
366 self._assert_notification(notification, summary, body, True, True, 1.0)
@@ -391,7 +391,7 @@ class EphemeralNotificationsTests(NotificationsBase):
391
391
392 notification.show()
392 notification.show()
393
393
394− get_notification = lambda: notify_list.select_single('Notification')
394+ get_notification = lambda: notify_list.select_single('Notification', objectName='notification1')
395 self.assertThat(get_notification, Eventually(NotEquals(None)))
395 self.assertThat(get_notification, Eventually(NotEquals(None)))
396 notification = get_notification()
396 notification = get_notification()
397 self._assert_notification(
397 self._assert_notification(
@@ -508,7 +508,7 @@ class EphemeralNotificationsTests(NotificationsBase):
508 notification = self._create_ephemeral_notification(summary, body)
508 notification = self._create_ephemeral_notification(summary, body)
509 notification.show()
509 notification.show()
510
510
511− get_notification = lambda: notify_list.select_single('Notification')
511+ get_notification = lambda: notify_list.select_single('Notification', objectName='notification1')
512 self.assertThat(get_notification, Eventually(NotEquals(None)))
512 self.assertThat(get_notification, Eventually(NotEquals(None)))
513 notification = get_notification()
513 notification = get_notification()
514 self._assert_notification(
514 self._assert_notification(
@@ -533,7 +533,7 @@ class EphemeralNotificationsTests(NotificationsBase):
533 notification = self._create_ephemeral_notification(summary)
533 notification = self._create_ephemeral_notification(summary)
534 notification.show()
534 notification.show()
535
535
536− get_notification = lambda: notify_list.select_single('Notification')
536+ get_notification = lambda: notify_list.select_single('Notification', objectName='notification1')
537 self.assertThat(get_notification, Eventually(NotEquals(None)))
537 self.assertThat(get_notification, Eventually(NotEquals(None)))
538 notification = get_notification()
538 notification = get_notification()
539
539
@@ -603,7 +603,7 @@ class EphemeralNotificationsTests(NotificationsBase):
603 )
603 )
604 notification.show()
604 notification.show()
605
605
606− get_notification = lambda: notify_list.select_single('Notification')
606+ get_notification = lambda: notify_list.select_single('Notification', objectName='notification1')
607 self.assertThat(get_notification, Eventually(NotEquals(None)))
607 self.assertThat(get_notification, Eventually(NotEquals(None)))
608 self._assert_notification(
608 self._assert_notification(
609 get_notification(),
609 get_notification(),
@@ -645,7 +645,7 @@ class EphemeralNotificationsTests(NotificationsBase):
645
645
646 notification.show()
646 notification.show()
647
647
648− get_notification = lambda: notify_list.select_single('Notification')
648+ get_notification = lambda: notify_list.select_single('Notification', objectName='notification1')
649 self.assertThat(get_notification, Eventually(NotEquals(None)))
649 self.assertThat(get_notification, Eventually(NotEquals(None)))
650 notification = get_notification()
650 notification = get_notification()
651 self._assert_notification(
651 self._assert_notification(
@@ -678,7 +678,8 @@ class EphemeralNotificationsTests(NotificationsBase):
678 )
678 )
679 notification.show()
679 notification.show()
680 get_notification = lambda: notify_list.select_single(
680 get_notification = lambda: notify_list.select_single(
681− 'Notification'
681+ 'Notification',
682+ objectName='notification1'
682 )
683 )
683 self.assertThat(get_notification, Eventually(NotEquals(None)))
684 self.assertThat(get_notification, Eventually(NotEquals(None)))
684 notification = get_notification()
685 notification = get_notification()
tests/mocks/CMakeLists.txt+5
@@ -7,3 +7,8 @@ add_subdirectory(Powerd)
7add_subdirectory(QMenuModel)
7add_subdirectory(QMenuModel)
8add_subdirectory(Ubuntu)
8add_subdirectory(Ubuntu)
9add_subdirectory(Unity)
9add_subdirectory(Unity)
10+
11+install(
12+ DIRECTORY data
13+ DESTINATION ${SHELL_APP_DIR}/mocks
14+)
tests/mocks/Unity/Application/ApplicationInfo.h+1
@@ -35,6 +35,7 @@ class ApplicationInfo : public ApplicationInfoInterface {
35 Q_OBJECT
35 Q_OBJECT
36
36
37 Q_PROPERTY(bool fullscreen READ fullscreen WRITE setFullscreen NOTIFY fullscreenChanged)
37 Q_PROPERTY(bool fullscreen READ fullscreen WRITE setFullscreen NOTIFY fullscreenChanged)
38+ Q_PROPERTY(Stage stage READ stage WRITE setStage NOTIFY stageChanged)
38
39
39 // Only exists in this fake implementation
40 // Only exists in this fake implementation
40
41
tests/mocks/Unity/Application/ApplicationManager.h+1
@@ -99,6 +99,7 @@ class ApplicationManager : public ApplicationManagerInterface {
99 void keyboardHeightChanged();
99 void keyboardHeightChanged();
100 void keyboardVisibleChanged();
100 void keyboardVisibleChanged();
101 void focusRequested(FavoriteApplication favoriteApplication);
101 void focusRequested(FavoriteApplication favoriteApplication);
102+ void focusRequested(const QString &appId);
102
103
103 private:
104 private:
104 void add(ApplicationInfo *application);
105 void add(ApplicationInfo *application);
tests/mocks/Unity/Indicators/CMakeLists.txt+1−1
@@ -35,7 +35,7 @@ target_link_libraries(IndicatorsFakeQml)
35qt5_use_modules(IndicatorsFakeQml Core Qml Quick)
35qt5_use_modules(IndicatorsFakeQml Core Qml Quick)
36
36
37file(GLOB IndicatorsFake_QMLFILES
37file(GLOB IndicatorsFake_QMLFILES
38− IndicatorsModel.qml
38+ *.qml
39 qml/FakeMenuPage.qml
39 qml/FakeMenuPage.qml
40)
40)
41
41
tests/mocks/Unity/Indicators/CachedUnityMenuModel.qmlnew file+30
@@ -0,0 +1,30 @@
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+Item {
23+ property string busName: ""
24+ property string actionsObjectPath: ""
25+ property string menuObjectPath: ""
26+
27+ readonly property bool ready: false
28+
29+ property QtObject model: null
30+}
tests/mocks/Unity/Indicators/RootActionState.qmlnew file+33
@@ -0,0 +1,33 @@
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+QtObject {
23+ property var menu
24+ property bool valid: false
25+ property string title
26+ property string leftLabel
27+ property string rightLabel
28+ property var icons
29+ property string accessibleName
30+ property bool visible: true
31+
32+ signal updated
33+}
tests/mocks/Unity/Indicators/qmldir+2
@@ -1,5 +1,7 @@
1module Unity.Indicators
1module Unity.Indicators
2plugin IndicatorsFakeQml
2plugin IndicatorsFakeQml
3
3
4+CachedUnityMenuModel 0.1 CachedUnityMenuModel.qml
4IndicatorsModel 0.1 IndicatorsModel.qml
5IndicatorsModel 0.1 IndicatorsModel.qml
5FakeMenuPage 0.1 FakeMenuPage.qml
6FakeMenuPage 0.1 FakeMenuPage.qml
7+RootActionState 0.1 RootActionState.qml
tests/mocks/data/applications/camera-app.desktopnew file

No changes to the content.

tests/plugins/Unity/Indicators/CMakeLists.txt+5
@@ -1,6 +1,9 @@
1+pkg_check_modules(QMENUMODEL REQUIRED qmenumodel)
2+
1include_directories(
3include_directories(
2 ${CMAKE_CURRENT_BINARY_DIR}
4 ${CMAKE_CURRENT_BINARY_DIR}
3 ${CMAKE_CURRENT_SOURCE_DIR}/../../../../plugins/Unity/Indicators
5 ${CMAKE_CURRENT_SOURCE_DIR}/../../../../plugins/Unity/Indicators
6+ ${QMENUMODEL_INCLUDE_DIRS}
4 )
7 )
5
8
6macro(run_tests)
9macro(run_tests)
@@ -16,6 +19,7 @@ macro(run_tests)
16 qt5_use_modules(${_test}Exec Test Core Qml)
19 qt5_use_modules(${_test}Exec Test Core Qml)
17 target_link_libraries(${_test}Exec
20 target_link_libraries(${_test}Exec
18 IndicatorsQml
21 IndicatorsQml
22+ ${QMENUMODEL_LDFLAGS}
19 )
23 )
20 set(_test_list "${_test_list};${_test}")
24 set(_test_list "${_test_list};${_test}")
21 endforeach()
25 endforeach()
@@ -25,4 +29,5 @@ run_tests(
25 indicatorsmanagertest
29 indicatorsmanagertest
26 indicatorsmodeltest
30 indicatorsmodeltest
27 menucontentactivatortest
31 menucontentactivatortest
32+ rootactionstatetest
28 )
33 )
tests/plugins/Unity/Indicators/rootactionstatetest.cppnew file+58
@@ -0,0 +1,58 @@
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+#include "rootactionstate.h"
21+
22+#include <unitymenumodel.h>
23+#include <QtTest>
24+
25+class RootActionStateTest : public QObject
26+{
27+ Q_OBJECT
28+private Q_SLOTS:
29+
30+ void testDeleteRootActionState()
31+ {
32+ UnityMenuModel* menuModel = new UnityMenuModel();
33+ ActionStateParser* originalParser = menuModel->actionStateParser();
34+ RootActionState* rootState = new RootActionState();
35+
36+ rootState->setMenu(menuModel);
37+
38+ delete rootState;
39+ QCOMPARE(menuModel->actionStateParser(), originalParser);
40+ delete menuModel;
41+ }
42+
43+ void testDeleteUnityMenuModel()
44+ {
45+ UnityMenuModel* menuModel = new UnityMenuModel();
46+ RootActionState* rootState = new RootActionState();
47+
48+ rootState->setMenu(menuModel);
49+
50+ QCOMPARE(rootState->menu(), menuModel);
51+ delete menuModel;
52+ QVERIFY(rootState->menu() == NULL);
53+ delete rootState;
54+ }
55+};
56+
57+QTEST_GUILESS_MAIN(RootActionStateTest)
58+#include "rootactionstatetest.moc"
tests/plugins/Unity/resultstest.cpp+52
@@ -23,6 +23,7 @@
23
23
24#include "resultstest.h"
24#include "resultstest.h"
25#include "categoryresults.h"
25#include "categoryresults.h"
26+#include "variantutils.h"
26
27
27static DeeModel* createBackendModel()
28static DeeModel* createBackendModel()
28{
29{
@@ -193,4 +194,55 @@ void ResultsTest::testSpecialIcons()
193 QCOMPARE(transformedIcon, result);
194 QCOMPARE(transformedIcon, result);
194}
195}
195
196
197+void ResultsTest::testMetadataOverride_data()
198+{
199+ QTest::addColumn<QString>("uri");
200+ QTest::addColumn<QVariantHash>("result");
201+
202+ QVariantHash expected_result;
203+ QVariantHash inner_hash;
204+
205+ expected_result = QVariantHash();
206+ expected_result["scope-id"] = QVariant::fromValue(QString("applications.scope"));
207+ expected_result["content"] = QVariant::fromValue(QVariantHash());
208+
209+ QTest::newRow("single scope") << "subscope:applications.scope" << expected_result;
210+
211+ expected_result = QVariantHash();
212+ expected_result["scope-id"] = QVariant::fromValue(QString("applications.scope"));
213+ inner_hash = QVariantHash();
214+ inner_hash["foo"] = QVariant::fromValue(QString("bar"));
215+ inner_hash["qoo"] = QVariant::fromValue(QString("baz"));
216+ expected_result["content"] = QVariant::fromValue(inner_hash);
217+
218+ QTest::newRow("single scope with data") << "subscope:applications.scope?foo=bar&qoo=baz" << expected_result;
219+
220+ expected_result = QVariantHash();
221+ inner_hash = QVariantHash();
222+ inner_hash["scope-id"] = QVariant::fromValue(QString("applications-local.scope"));
223+ inner_hash["content"] = QVariant::fromValue(QVariantHash());
224+ expected_result["scope-id"] = QVariant::fromValue(QString("applications.scope"));
225+ expected_result["content"] = QVariant::fromValue(inner_hash);
226+ QTest::newRow("master scope") << "subscope:applications.scope/applications-local.scope" << expected_result;
227+
228+ expected_result = QVariantHash();
229+ expected_result["foo"] = QVariant::fromValue(QString("baz"));
230+ expected_result["qoo"] = QVariant::fromValue(QString("baz"));
231+ inner_hash = QVariantHash();
232+ inner_hash["scope-id"] = QVariant::fromValue(QString("applications-local.scope"));
233+ inner_hash["content"] = QVariant::fromValue(expected_result);
234+ expected_result = QVariantHash();
235+ expected_result["scope-id"] = QVariant::fromValue(QString("applications.scope"));
236+ expected_result["content"] = QVariant::fromValue(inner_hash);
237+ QTest::newRow("nested with data") << "subscope:applications.scope/applications-local.scope?foo=baz&qoo=baz" << expected_result;
238+}
239+
240+void ResultsTest::testMetadataOverride()
241+{
242+ QFETCH(QString, uri);
243+ QFETCH(QVariantHash, result);
244+
245+ QCOMPARE(subscopeUriToMetadataHash(uri), result);
246+}
247+
196QTEST_MAIN(ResultsTest)
248QTEST_MAIN(ResultsTest)
tests/plugins/Unity/resultstest.h+2
@@ -32,6 +32,8 @@ class ResultsTest : public QObject
32 void testIconColumn();
32 void testIconColumn();
33 void testSpecialIcons_data();
33 void testSpecialIcons_data();
34 void testSpecialIcons();
34 void testSpecialIcons();
35+ void testMetadataOverride_data();
36+ void testMetadataOverride();
35};
37};
36
38
37#endif
39#endif
tests/qmltests/CMakeLists.txt+1−1
@@ -17,7 +17,7 @@ add_qml_test(Components MathLocal)
17add_qml_test(Components OpenEffect)
17add_qml_test(Components OpenEffect)
18add_qml_test(Components RatingStars)
18add_qml_test(Components RatingStars)
19add_qml_test(Components TimeLocal)
19add_qml_test(Components TimeLocal)
20−add_qml_test(Greeter Clock)
20+add_qml_test(Greeter Clock IMPORT_PATHS ${qmltest_DEFAULT_IMPORT_PATHS} ${CMAKE_BINARY_DIR}/plugins)
21add_qml_test(Panel IndicatorItem)
21add_qml_test(Panel IndicatorItem)
22add_qml_test(utils/Unity/Test UnityTest)
22add_qml_test(utils/Unity/Test UnityTest)
23
23
tests/qmltests/Components/tst_LazyImage.qml+45−16
@@ -70,9 +70,23 @@ Rectangle {
70
70
71 LazyImage {
71 LazyImage {
72 id: lazy3
72 id: lazy3
73− height: units.gu(10)
73+ height: units.gu(12)
74 scaleTo: "height"
74 scaleTo: "height"
75 }
75 }
76+
77+ Label {
78+ height: units.gu(4)
79+ text: "Fit"
80+ color: "white"
81+ verticalAlignment: Text.AlignBottom
82+ }
83+
84+ LazyImage {
85+ id: lazy4
86+ height: units.gu(12)
87+ width: units.gu(12)
88+ scaleTo: "fit"
89+ }
76 }
90 }
77 }
91 }
78
92
@@ -94,6 +108,7 @@ Rectangle {
94 ImageControls { id: controls1; image: lazy1 }
108 ImageControls { id: controls1; image: lazy1 }
95 ImageControls { id: controls2; image: lazy2 }
109 ImageControls { id: controls2; image: lazy2 }
96 ImageControls { id: controls3; image: lazy3 }
110 ImageControls { id: controls3; image: lazy3 }
111+ ImageControls { id: controls4; image: lazy4 }
97 }
112 }
98 }
113 }
99
114
@@ -112,21 +127,26 @@ Rectangle {
112
127
113 function test_lazyimage_data() {
128 function test_lazyimage_data() {
114 return [
129 return [
115− {tag: "Unbound Blank", image: lazy1, func: controls1.blank, width: units.gu(10), height: units.gu(10), placeholder: true},
130+ {tag: "Unbound Blank", image: lazy1, func: controls1.blank, width: units.gu(10), height: units.gu(10), imageWidth: units.gu(10), imageHeight: units.gu(10), initialWidth: units.gu(10), initialHeight: units.gu(10), placeholder: true},
116− {tag: "Unbound Wide", image: lazy1, func: controls1.wide, transition: "readyTransition", width: 160, height: 80},
131+ {tag: "Unbound Wide", image: lazy1, func: controls1.wide, transition: "readyTransition", width: 160, height: 80, imageWidth: 160, imageHeight: 80, initialWidth: units.gu(10), initialHeight: units.gu(10)},
117− {tag: "Unbound Square", image: lazy1, func: controls1.square, transition: "readyTransition", width: 160, height: 160},
132+ {tag: "Unbound Square", image: lazy1, func: controls1.square, transition: "readyTransition", width: 160, height: 160, imageWidth: 160, imageHeight: 160, initialWidth: units.gu(10), initialHeight: units.gu(10)},
118− {tag: "Unbound Portrait", image: lazy1, func: controls1.portrait, transition: "readyTransition", width: 80, height: 160},
133+ {tag: "Unbound Portrait", image: lazy1, func: controls1.portrait, transition: "readyTransition", width: 80, height: 160, imageWidth: 80, imageHeight: 160, initialWidth: units.gu(10), initialHeight: units.gu(10)},
119− {tag: "Unbound Bad path", image: lazy1, func: controls1.badpath, transition: "genericTransition", width: units.gu(10), height: units.gu(10), placeholder: true, error: true},
134+ {tag: "Unbound Bad path", image: lazy1, func: controls1.badpath, transition: "genericTransition", width: units.gu(10), height: units.gu(10), imageWidth: units.gu(10), imageHeight: units.gu(10), initialWidth: units.gu(10), initialHeight: units.gu(10), placeholder: true, error: true},
120− {tag: "Width-bound Blank", image: lazy2, func: controls2.blank, width: units.gu(30), height: units.gu(10), placeholder: true},
135+ {tag: "Width-bound Blank", image: lazy2, func: controls2.blank, width: units.gu(30), height: units.gu(10), imageWidth: units.gu(30), imageHeight: units.gu(10), initialWidth: units.gu(30), initialHeight: units.gu(10), placeholder: true},
121− {tag: "Width-bound Wide", image: lazy2, func: controls2.wide, transition: "readyTransition", width: units.gu(30), height: units.gu(15)},
136+ {tag: "Width-bound Wide", image: lazy2, func: controls2.wide, transition: "readyTransition", width: units.gu(30), height: units.gu(15), imageWidth: units.gu(30), imageHeight: units.gu(15), initialWidth: units.gu(30), initialHeight: units.gu(10)},
122− {tag: "Width-bound Square", image: lazy2, func: controls2.square, transition: "readyTransition", width: units.gu(30), height: units.gu(30)},
137+ {tag: "Width-bound Square", image: lazy2, func: controls2.square, transition: "readyTransition", width: units.gu(30), height: units.gu(30), imageWidth: units.gu(30), imageHeight: units.gu(30), initialWidth: units.gu(30), initialHeight: units.gu(10)},
123− {tag: "Width-bound Portrait", image: lazy2, func: controls2.portrait, transition: "readyTransition", width: units.gu(30), height: units.gu(60)},
138+ {tag: "Width-bound Portrait", image: lazy2, func: controls2.portrait, transition: "readyTransition", width: units.gu(30), height: units.gu(60), imageWidth: units.gu(30), imageHeight: units.gu(60), initialWidth: units.gu(30), initialHeight: units.gu(10)},
124− {tag: "Width-bound Bad path", image: lazy2, func: controls2.badpath, transition: "genericTransition", width: units.gu(30), height: units.gu(10), placeholder: true, error: true},
139+ {tag: "Width-bound Bad path", image: lazy2, func: controls2.badpath, transition: "genericTransition", width: units.gu(30), height: units.gu(10), imageWidth: units.gu(30), imageHeight: units.gu(10), initialWidth: units.gu(30), initialHeight: units.gu(10), placeholder: true, error: true},
125− {tag: "Height-bound Blank", image: lazy3, func: controls3.blank, width: units.gu(10), height: units.gu(10), placeholder: true},
140+ {tag: "Height-bound Blank", image: lazy3, func: controls3.blank, width: units.gu(10), height: units.gu(12), imageWidth: units.gu(10), imageHeight: units.gu(12), initialWidth: units.gu(10), initialHeight: units.gu(12), placeholder: true},
126− {tag: "Height-bound Wide", image: lazy3, func: controls3.wide, transition: "readyTransition", width: units.gu(20), height: units.gu(10)},
141+ {tag: "Height-bound Wide", image: lazy3, func: controls3.wide, transition: "readyTransition", width: units.gu(24), height: units.gu(12), imageWidth: units.gu(24), imageHeight: units.gu(12), initialWidth: units.gu(10), initialHeight: units.gu(12)},
127− {tag: "Height-bound Square", image: lazy3, func: controls3.square, transition: "readyTransition", width: units.gu(10), height: units.gu(10)},
142+ {tag: "Height-bound Square", image: lazy3, func: controls3.square, transition: "readyTransition", width: units.gu(12), height: units.gu(12), imageWidth: units.gu(12), imageHeight: units.gu(12), initialWidth: units.gu(10), initialHeight: units.gu(12)},
128− {tag: "Height-bound Portrait", image: lazy3, func: controls3.portrait, transition: "readyTransition", width: units.gu(5), height: units.gu(10)},
129− {tag: "Height-bound Bad path", image: lazy3, func: controls3.badpath, transition: "genericTransition", width: units.gu(10), height: units.gu(10), placeholder: true, error: true},
143+ {tag: "Height-bound Portrait", image: lazy3, func: controls3.portrait, transition: "readyTransition", width: units.gu(6), height: units.gu(12), imageWidth: units.gu(6), imageHeight: units.gu(12), initialWidth: units.gu(10), initialHeight: units.gu(12)},
144+ {tag: "Height-bound Bad path", image: lazy3, func: controls3.badpath, transition: "genericTransition", width: units.gu(10), height: units.gu(12), imageWidth: units.gu(10), imageHeight: units.gu(12), initialWidth: units.gu(10), initialHeight: units.gu(12), placeholder: true, error: true},
145+ {tag: "Fit Blank", image: lazy4, func: controls4.blank, width: units.gu(12), height: units.gu(12), imageWidth: units.gu(12), imageHeight: units.gu(12), initialWidth: units.gu(12), initialHeight: units.gu(12), placeholder: true},
146+ {tag: "Fit Wide", image: lazy4, func: controls4.wide, transition: "readyTransition", width: units.gu(12), height: units.gu(12), imageWidth: units.gu(12), imageHeight: units.gu(6), initialWidth: units.gu(12), initialHeight: units.gu(12)},
147+ {tag: "Fit Square", image: lazy4, func: controls4.square, transition: "readyTransition", width: units.gu(12), height: units.gu(12), imageWidth: units.gu(12), imageHeight: units.gu(12), initialWidth: units.gu(12), initialHeight: units.gu(12)},
148+ {tag: "Fit Portrait", image: lazy4, func: controls4.portrait, transition: "readyTransition", width: units.gu(12), height: units.gu(12), imageWidth: units.gu(6), imageHeight: units.gu(12), initialWidth: units.gu(12), initialHeight: units.gu(12)},
149+ {tag: "Fit Bad path", image: lazy4, func: controls4.badpath, transition: "genericTransition", width: units.gu(12), height: units.gu(12), imageWidth: units.gu(12), imageHeight: units.gu(12), initialWidth: units.gu(12), initialHeight: units.gu(12), placeholder: true, error: true},
130 ]
150 ]
131 }
151 }
132
152
@@ -144,6 +164,15 @@ Rectangle {
144 compare(data.image.width, data.width);
164 compare(data.image.width, data.width);
145 compare(data.image.height, data.height);
165 compare(data.image.height, data.height);
146
166
167+ // check initial dimensions
168+ compare(data.image.initialHeight, data.initialHeight);
169+ compare(data.image.initialWidth, data.initialWidth);
170+
171+ // check the shape dimensions
172+ var shape = findChild(data.image, "shape");
173+ compare(shape.width, data.imageWidth);
174+ compare(shape.height, data.imageHeight);
175+
147 // check the placeholder
176 // check the placeholder
148 var placeholder = findChild(data.image, "placeholder");
177 var placeholder = findChild(data.image, "placeholder");
149 compare(placeholder.visible, data.placeholder ? true : false);
178 compare(placeholder.visible, data.placeholder ? true : false);
tests/qmltests/Dash/Apps/tst_AppPreview.qml+3−2
@@ -137,11 +137,12 @@ Item {
137 for(var i = 0; i < buttons.count; i++) {
137 for(var i = 0; i < buttons.count; i++) {
138 var button = findChild(appPreview, "button" + i);
138 var button = findChild(appPreview, "button" + i);
139 mouseClick(button, 1, 1);
139 mouseClick(button, 1, 1);
140+ appPreview.showProcessingAction = false;
140 }
141 }
141
142
142 var actions = data.actions;
143 var actions = data.actions;
143− for(var i = 0; i < actions.length; i++) {
144+ for(var j = 0; j < actions.length; j++) {
144− compare(root.calls[i][0], actions[i].id, "Id of action not found.");
145+ compare(root.calls[j][0], actions[j].id, "Id of action not found.");
145 }
146 }
146 }
147 }
147
148
tests/qmltests/Dash/Apps/tst_RunningApplicationsGrid.qml+24−4
@@ -195,9 +195,9 @@ Item {
195 !runningApplicationsGrid.terminationModeEnabled
195 !runningApplicationsGrid.terminationModeEnabled
196 }
196 }
197
197
198− // While on termination mode, clicking a running application tile causes the
198+ // While on termination mode, clicking a running application tile, outside of
199− // corresponding application to be terminated.
199+ // the close icon should do nothing
200− function test_clickTileToTerminateApp() {
200+ function test_clickTileNotClose() {
201 runningApplicationsGrid.terminationModeEnabled = true
201 runningApplicationsGrid.terminationModeEnabled = true
202
202
203 var calendarTile = findChild(runningApplicationsGrid, "runningAppTile Calendar")
203 var calendarTile = findChild(runningApplicationsGrid, "runningAppTile Calendar")
@@ -207,10 +207,30 @@ Item {
207
207
208 mouseClick(calendarTile, calendarTile.width/2, calendarTile.height/2)
208 mouseClick(calendarTile, calendarTile.width/2, calendarTile.height/2)
209
209
210+ verify(fakeRunningAppsModel.contains("calendar"))
211+
212+ // The tile for the Calendar app should stay there
213+ tryCompareFunction(checkCalendarTileExists, true)
214+ }
215+
216+ // While in termination mode, clicking on a running application tile's close icon
217+ // causes the corresponding application to be terminated
218+ function test_clickCloseIconToTerminateApp() {
219+ runningApplicationsGrid.terminationModeEnabled = true
220+
221+ var calendarTile = findChild(runningApplicationsGrid, "runningAppTile Calendar")
222+ var calendarTileCloseButton = findChild(runningApplicationsGrid, "closeIcon Calendar")
223+
224+ verify(calendarTile != undefined)
225+ verify(calendarTileCloseButton != undefined)
226+ verify(fakeRunningAppsModel.contains("calendar"))
227+
228+ mouseClick(calendarTileCloseButton, calendarTileCloseButton.width/2, calendarTileCloseButton.height/2)
229+
210 verify(!fakeRunningAppsModel.contains("calendar"))
230 verify(!fakeRunningAppsModel.contains("calendar"))
211
231
212 // The tile for the Calendar app should eventually vanish since the
232 // The tile for the Calendar app should eventually vanish since the
213− // application has been terminated
233+ // application has been terminated.
214 tryCompareFunction(checkCalendarTileExists, false)
234 tryCompareFunction(checkCalendarTileExists, false)
215 }
235 }
216
236
tests/qmltests/Dash/Movie/tst_MoviePreview.qml+1
@@ -74,6 +74,7 @@ Item {
74 for(var i = 0; i < buttons.count; i++) {
74 for(var i = 0; i < buttons.count; i++) {
75 var button = findChild(moviePreview, "button" + i);
75 var button = findChild(moviePreview, "button" + i);
76 mouseClick(button, 1, 1);
76 mouseClick(button, 1, 1);
77+ moviePreview.showProcessingAction = false;
77 }
78 }
78
79
79 var actions = get_actions_data();
80 var actions = get_actions_data();
tests/qmltests/Dash/tst_FilterGrids.qml+1−1
@@ -107,7 +107,7 @@ Rectangle {
107
107
108 function test_clicked_signal_data() {
108 function test_clicked_signal_data() {
109 return [
109 return [
110− {tag: "VideosFilterGrid", component: "Video/VideosFilterGrid.qml"},
110+ {tag: "VideoFilterGrid", component: "Video/VideoFilterGrid.qml"},
111 {tag: "MusicFilterGrid", component: "Music/MusicFilterGrid.qml"},
111 {tag: "MusicFilterGrid", component: "Music/MusicFilterGrid.qml"},
112 {tag: "ApplicationsFilterGrid", component: "Apps/ApplicationsFilterGrid.qml"}
112 {tag: "ApplicationsFilterGrid", component: "Apps/ApplicationsFilterGrid.qml"}
113 ]
113 ]
tests/qmltests/Dash/tst_GenericPreview.qml+1
@@ -76,6 +76,7 @@ Item {
76 for(var i = 0; i < buttons.count; i++) {
76 for(var i = 0; i < buttons.count; i++) {
77 var button = findChild(genericPreview, "button" + i);
77 var button = findChild(genericPreview, "button" + i);
78 mouseClick(button, 1, 1);
78 mouseClick(button, 1, 1);
79+ genericPreview.showProcessingAction = false;
79 }
80 }
80
81
81 var actions = get_actions_data();
82 var actions = get_actions_data();
tests/qmltests/Dash/tst_GenericScopeView.qml+11
@@ -66,6 +66,17 @@ Item {
66 scopes.get(0).hideDash();
66 scopes.get(0).hideDash();
67 tryCompare(genericScopeView, "previewShown", false);
67 tryCompare(genericScopeView, "previewShown", false);
68 }
68 }
69+
70+ function test_show_spinner() {
71+ var previewLoader = findChild(genericScopeView, "previewLoader");
72+ previewLoader.open = true;
73+ previewLoader.source = "../../../Dash/Generic/GenericPreview.qml";
74+ previewLoader.item.showProcessingAction = true;
75+ var waitingForAction = findChild(genericScopeView, "waitingForActionMouseArea");
76+ tryCompare(waitingForAction, "enabled", true);
77+ previewLoader.closePreviewSpinner();
78+ tryCompare(waitingForAction, "enabled", false);
79+ }
69 }
80 }
70 }
81 }
71}
82}
tests/qmltests/Greeter/tst_Clock.qml+8−22
@@ -43,8 +43,7 @@ Rectangle {
43 var dateString = Qt.formatDate(dateObj, Qt.DefaultLocaleLongDate)
43 var dateString = Qt.formatDate(dateObj, Qt.DefaultLocaleLongDate)
44 var timeString = Qt.formatTime(dateObj)
44 var timeString = Qt.formatTime(dateObj)
45
45
46− clock.__timerInterval = 60000
46+ clock.currentDate = dateObj
47− clock.__date = dateObj
48 var dateLabel = findChild(clock, "dateLabel")
47 var dateLabel = findChild(clock, "dateLabel")
49 compare(dateLabel.text, dateString, "Not the expected date")
48 compare(dateLabel.text, dateString, "Not the expected date")
50 var timeLabel = findChild(clock, "timeLabel")
49 var timeLabel = findChild(clock, "timeLabel")
@@ -57,33 +56,20 @@ Rectangle {
57 var timeString = Qt.formatTime(dateObj)
56 var timeString = Qt.formatTime(dateObj)
58
57
59 clock.enabled = false
58 clock.enabled = false
60− compare(clock.__timerRunning, false, "Timer should not be running")
59+ var timeModel = findInvisibleChild(clock, "timeModel")
60+
61+ compare(timeModel.menuObjectPath, "", "Clock shouldn't be connected to Indicators when not active.")
62+
61− clock.__date = dateObj
63+ clock.currentDate = dateObj
62− clock.__timerInterval = 5
64+
63− wait(5) // spin event loop (only that would trigger the timer and reveal eventual bugs)
64 var dateLabel = findChild(clock, "dateLabel")
65 var dateLabel = findChild(clock, "dateLabel")
65 compare(dateLabel.text, dateString, "Not the expected date")
66 compare(dateLabel.text, dateString, "Not the expected date")
66 var timeLabel = findChild(clock, "timeLabel")
67 var timeLabel = findChild(clock, "timeLabel")
67 compare(timeLabel.text, timeString, "Not the expected time")
68 compare(timeLabel.text, timeString, "Not the expected time")
68
69
69 clock.enabled = true
70 clock.enabled = true
70− compare(clock.__timerRunning, true, "Timer should be running")
71− wait(0) // spin event loop to trigger the timer
72− verify(dateLabel.text !== dateString)
73− if (timeLabel.text.indexOf("11:13") != -1) wait(60000) // next test will fail at 11:13, wait 1 minute
74− verify(timeLabel.text !== timeString)
75− }
76
71
77− function test_timerRunning() {
72+ verify(timeModel.menuObjectPath != "", "Should be connected to Indicators.")
78− // tests for clock.enabled property are already in test_dateUpdate()
79− clock.opacity = 0.0
80− compare(clock.__timerRunning, false, "Timer should not be running")
81− clock.opacity = 1.0
82− compare(clock.__timerRunning, true, "Timer should be running")
83− clock.visible = false
84− compare(clock.__timerRunning, false, "Timer should not be running")
85− clock.visible = true
86− compare(clock.__timerRunning, true, "Timer should be running")
87 }
73 }
88 }
74 }
89}
75}