on xenial help sign in
Merge trunk
ea4947bMichal Hruby
Components/PageHeader.qml+2−2
@@ -206,13 +206,13 @@ Item {
206 states: [
206 states: [
207 State {
207 State {
208 name: "searching"
208 name: "searching"
209− when: scope.searchInProgress && searchField.text !== ""
209+ when: scope && scope.searchInProgress
210 PropertyChanges { target: searchIndicator; running: true; opacity: 1 }
210 PropertyChanges { target: searchIndicator; running: true; opacity: 1 }
211 PropertyChanges { target: primaryImage; opacity: 0 }
211 PropertyChanges { target: primaryImage; opacity: 0 }
212 },
212 },
213 State {
213 State {
214 name: "idle"
214 name: "idle"
215− when: !scope.searchInProgress || searchField.text === ""
215+ when: !scope || !scope.searchInProgress
216 PropertyChanges { target: searchIndicator; opacity: 0 }
216 PropertyChanges { target: searchIndicator; opacity: 0 }
217 PropertyChanges { target: primaryImage; opacity: 1 }
217 PropertyChanges { target: primaryImage; opacity: 1 }
218 }
218 }
Components/Tile.qml+63−7
@@ -18,14 +18,70 @@ import QtQuick 2.0
18import Ubuntu.Components 0.1
18import Ubuntu.Components 0.1
19
19
20AbstractButton {
20AbstractButton {
21+ id: root
21− property url source
22+ property alias source: image.source
22− property int fillMode: Image.PreserveAspectCrop
23+ property alias fillMode: image.fillMode
23− property int horizontalAlignment: Image.AlignHCenter
24+ property alias horizontalAlignment: image.horizontalAlignment
24− property int verticalAlignment: Image.AlignVCenter
25+ property alias verticalAlignment: image.verticalAlignment
25− property string text
26+ property alias text: label.text
26 property int imageWidth
27 property int imageWidth
27 property int imageHeight
28 property int imageHeight
28− property int maximumLineCount: 1
29
29
30− style: TileStyle {}
30+ UbuntuShape {
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+ }
31}
87}
Components/TileStyle.qmldeleted−80
@@ -1,80 +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−
20−Item {
21− id: tile
22−
23− anchors.fill: parent
24−
25− UbuntuShape {
26− id: icon
27− anchors {
28− top: parent.top
29− horizontalCenter: parent.horizontalCenter
30− }
31− radius: "medium"
32− width: styledItem.imageWidth
33− height: styledItem.imageHeight
34− image: Image {
35− id: image
36− objectName: "image"
37− sourceSize { width: icon.width; height: icon.height }
38− asynchronous: true
39− cache: false
40− source: styledItem.source
41− fillMode: styledItem.fillMode
42− horizontalAlignment: styledItem.horizontalAlignment
43− verticalAlignment: styledItem.verticalAlignment
44− }
45− }
46−
47− UbuntuShape {
48− id: borderPressed
49− objectName: "borderPressed"
50−
51− anchors.fill: icon
52− radius: "medium"
53− borderSource: "radius_pressed.sci"
54− opacity: styledItem.pressed ? 1.0 : 0.0
55− Behavior on opacity { NumberAnimation { duration: 200; easing.type: Easing.OutQuint } }
56− }
57−
58− Label {
59− id: label
60− objectName: "label"
61− anchors {
62− baseline: icon.bottom
63− baselineOffset: units.gu(2)
64− left: parent.left
65− right: parent.right
66− leftMargin: units.gu(1)
67− rightMargin: units.gu(1)
68− }
69−
70− color: Theme.palette.selected.backgroundText
71− opacity: 0.9
72− style: Text.Raised
73− styleColor: "black"
74− fontSize: "small"
75− elide: Text.ElideMiddle
76− horizontalAlignment: Text.AlignHCenter
77− text: styledItem.text
78− maximumLineCount: styledItem.maximumLineCount
79− }
80−}
Dash/Apps/DashPluginFilterGrid.qmldeleted−49
@@ -1,49 +0,0 @@
1−/*
2− * Copyright (C) 2013 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
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/Generic/FlatTileStyle.qmldeleted−78
@@ -1,78 +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−
20−Item {
21− id: tile
22−
23− property bool disabled: false
24−
25− anchors.fill: parent
26−
27− Image {
28− id: icon
29− objectName: "image"
30− width: styledItem.imageWidth
31− height: styledItem.imageHeight
32−
33− anchors.horizontalCenter: parent.horizontalCenter
34−
35− sourceSize { width: width; height: height }
36− asynchronous: true
37− cache: false
38− source: styledItem.source
39− fillMode: styledItem.fillMode
40− opacity: tile.disabled ? 0.3 : 1.0
41− horizontalAlignment: styledItem.horizontalAlignment
42− verticalAlignment: styledItem.verticalAlignment
43− }
44−
45− UbuntuShape {
46− id: borderPressed
47− objectName: "borderPressed"
48−
49− anchors.fill: icon
50− radius: "medium"
51− borderSource: "radius_pressed.sci"
52− opacity: styledItem.pressed ? 1.0 : 0.0
53− Behavior on opacity { NumberAnimation { duration: 200; easing.type: Easing.OutQuint } }
54− }
55−
56− Label {
57− id: label
58− objectName: "label"
59− anchors {
60− baseline: icon.bottom
61− baselineOffset: units.gu(2)
62− left: parent.left
63− right: parent.right
64− leftMargin: units.gu(1)
65− rightMargin: units.gu(1)
66− }
67−
68− color: Theme.palette.selected.backgroundText
69− opacity: 0.9
70− style: Text.Raised
71− styleColor: "black"
72− fontSize: "small"
73− elide: Text.ElideMiddle
74− horizontalAlignment: Text.AlignHCenter
75− text: styledItem.text
76− maximumLineCount: styledItem.maximumLineCount
77− }
78−}
Dash/Generic/GenericFilterGrid.qml+3
@@ -39,8 +39,11 @@ 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+
42 source: model.icon
43 source: model.icon
43
44
45+ fillMode: Image.PreserveAspectCrop
46+
44 onClicked: {
47 onClicked: {
45 var data = { model: model }
48 var data = { model: model }
46 filtergrid.clicked(index, data, tile.y)
49 filtergrid.clicked(index, data, tile.y)
Dash/Generic/WeatherFilterGrid.qmldeleted−49
@@ -1,49 +0,0 @@
1−/*
2− * Copyright (C) 2013 Canonical, Ltd.
3− *
4− * This program is free software; you can redistribute it and/or modify
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−7
@@ -209,13 +209,6 @@ ScopeView {
209 switch (contentType) {
209 switch (contentType) {
210 case "video": return "Generic/GenericFilterGridPotrait.qml";
210 case "video": return "Generic/GenericFilterGridPotrait.qml";
211 case "music": return "Music/MusicFilterGrid.qml";
211 case "music": return "Music/MusicFilterGrid.qml";
212− case "apps": {
213− if (rendererHint == "toggled")
214− return "Apps/DashPluginFilterGrid.qml";
215− else
216− return "Generic/GenericFilterGrid.qml";
217− }
218− case "weather": return "Generic/WeatherFilterGrid.qml";
219 default: return "Generic/GenericFilterGrid.qml";
212 default: return "Generic/GenericFilterGrid.qml";
220 }
213 }
221 }
214 }
debian/changelog+29
@@ -1,3 +1,32 @@
1+unity8 (7.82+13.10.20131005-0ubuntu1) saucy; urgency=low
2+
3+ [ Michał Sawicz ]
4+ * Revert r376 that caused constant CPU usage due to the
5+ ActivityIndicator.
6+
7+ [ Nick Dedekind ]
8+ * Removed indicators-client autopilot tests. (LP: #1234736)
9+
10+ [ Albert Astals ]
11+ * Revert r388. (LP: #1235268)
12+
13+ [ Christopher Lee ]
14+ * Removes passing -fullscreen to unity8 when on the device (as per bug
15+ #1235065). (LP: #1235065)
16+
17+ [ Ubuntu daily release ]
18+ * Automatic snapshot from revision 396
19+
20+ -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Sat, 05 Oct 2013 11:45:14 +0000
21+
22+unity8 (7.82+13.10.20131004.2-0ubuntu1) saucy; urgency=low
23+
24+ * Revert 7.82+13.10.20131004.1-0ubuntu1 back to
25+ 7.81.3+13.10.20130927.3-0ubuntu1 due to CPU hogging issue with
26+ 7.82+13.10.20131004.1-0ubuntu1.
27+
28+ -- Loïc Minier <loic.minier@ubuntu.com> Fri, 04 Oct 2013 21:22:29 +0200
29+
1unity8 (7.82+13.10.20131004.1-0ubuntu1) saucy; urgency=low
30unity8 (7.82+13.10.20131004.1-0ubuntu1) saucy; urgency=low
2
31
3 [ Michał Sawicz ]
32 [ Michał Sawicz ]
main.cpp+3−3
@@ -160,10 +160,10 @@ int startShell(int argc, const char** argv, void* server)
160 prependImportPaths(view->engine(), ::overrideImportPaths());
160 prependImportPaths(view->engine(), ::overrideImportPaths());
161 appendImportPaths(view->engine(), ::fallbackImportPaths());
161 appendImportPaths(view->engine(), ::fallbackImportPaths());
162
162
163− QStringList importPath = view->engine()->importPathList().filter("qt5/imports");
164 if (isUbuntuMirServer) {
163 if (isUbuntuMirServer) {
165− importPath.first().append("/Unity-Mir");
164+ QStringList importPaths = view->engine()->importPathList();
166− view->engine()->addImportPath(importPath.first());
165+ importPaths.replaceInStrings(QRegExp("qt5/imports$"), "qt5/imports/Unity-Mir");
166+ view->engine()->setImportPathList(importPaths);
167 }
167 }
168
168
169 view->setSource(source);
169 view->setSource(source);
po/de.po+8−8
@@ -8,14 +8,14 @@ msgstr ""
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-01 09:43+0200\n"
10"POT-Creation-Date: 2013-10-01 09:43+0200\n"
11−"PO-Revision-Date: 2013-10-03 12:13+0000\n"
11+"PO-Revision-Date: 2013-10-06 10:57+0000\n"
12−"Last-Translator: Phillip Sz <Unknown>\n"
12+"Last-Translator: SaGrLand <sg@samuel-greef.de>\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-04 06:11+0000\n"
18+"X-Launchpad-Export-Date: 2013-10-07 06:14+0000\n"
19"X-Generator: Launchpad (build 16791)\n"
19"X-Generator: Launchpad (build 16791)\n"
20
20
21#: Applications/applications.js:23
21#: Applications/applications.js:23
@@ -147,20 +147,20 @@ msgstr "(%1)"
147#, qt-format
147#, qt-format
148msgid "%1 review"
148msgid "%1 review"
149msgid_plural "%1 reviews"
149msgid_plural "%1 reviews"
150−msgstr[0] ""
150+msgstr[0] "%1 Bewertung"
151−msgstr[1] ""
151+msgstr[1] "%1 Bewertungen"
152
152
153#: Dash/Apps/AppPreview.qml:178
153#: Dash/Apps/AppPreview.qml:178
154msgid "Rate this"
154msgid "Rate this"
155−msgstr ""
155+msgstr "Bewerten"
156
156
157#: Dash/Apps/AppReviews.qml:74
157#: Dash/Apps/AppReviews.qml:74
158msgid "Add a review"
158msgid "Add a review"
159−msgstr ""
159+msgstr "Bewertung hinzufügen"
160
160
161#: Dash/Apps/AppReviews.qml:86
161#: Dash/Apps/AppReviews.qml:86
162msgid "Review"
162msgid "Review"
163−msgstr ""
163+msgstr "Bewertung"
164
164
165#: Dash/Apps/AppReviews.qml:121
165#: Dash/Apps/AppReviews.qml:121
166msgid "Send"
166msgid "Send"
run+1−1
@@ -57,7 +57,7 @@ fi
57# Force icon theme if running on the desktop, otherwise gnome theme (if running
57# Force icon theme if running on the desktop, otherwise gnome theme (if running
58# on Ubuntu Desktop) will be used and icons won't be found
58# on Ubuntu Desktop) will be used and icons won't be found
59if [ -n "$DESKTOP_SESSION" ]; then
59if [ -n "$DESKTOP_SESSION" ]; then
60− export UBUNTU_ICON_THEME=ubuntu-mobile
60+ export UBUNTU_ICON_THEME=ubuntu-mono-dark
61fi
61fi
62
62
63QML_PHONE_SHELL_ARGS=""
63QML_PHONE_SHELL_ARGS=""
run_on_device+1−1
@@ -52,7 +52,7 @@ adb_root() {
52install_ssh_key() {
52install_ssh_key() {
53 ssh-keygen -R $TARGET_IP
53 ssh-keygen -R $TARGET_IP
54 HOME_DIR="${CHROOT_PREFIX}/home/phablet"
54 HOME_DIR="${CHROOT_PREFIX}/home/phablet"
55− adb push ~/.ssh/id_rsa.pub $HOME_DIR/.ssh/authorized_keys
55+ adb push ~/.ssh/phone_rsa.pub $HOME_DIR/.ssh/authorized_keys
56 adb shell chown $USER_ID:$USER_ID $HOME_DIR/.ssh
56 adb shell chown $USER_ID:$USER_ID $HOME_DIR/.ssh
57 adb shell chown $USER_ID:$USER_ID $HOME_DIR/.ssh/authorized_keys
57 adb shell chown $USER_ID:$USER_ID $HOME_DIR/.ssh/authorized_keys
58 adb shell chmod 700 $HOME_DIR/.ssh
58 adb shell chmod 700 $HOME_DIR/.ssh
tests/autopilot/unity8/shell/tests/__init__.py+13−4
@@ -183,10 +183,14 @@ class UnityTestCase(AutopilotTestCase):
183 def patch_lightdm_mock(self, mock_type='single'):
183 def patch_lightdm_mock(self, mock_type='single'):
184 self._lightdm_mock_type = mock_type
184 self._lightdm_mock_type = mock_type
185 logger.info("Setting up LightDM mock type '%s'", mock_type)
185 logger.info("Setting up LightDM mock type '%s'", mock_type)
186− new_ld_library_path = "%s:%s" % (
186+ new_ld_library_path = [
187 get_default_extra_mock_libraries(),
187 get_default_extra_mock_libraries(),
188 self._get_lightdm_mock_path(mock_type)
188 self._get_lightdm_mock_path(mock_type)
189− )
189+ ]
190+ if os.getenv('LD_LIBRARY_PATH') is not None:
191+ new_ld_library_path.append(os.getenv('LD_LIBRARY_PATH'))
192+
193+ new_ld_library_path = ':'.join(new_ld_library_path)
190 logger.info("New library path: %s", new_ld_library_path)
194 logger.info("New library path: %s", new_ld_library_path)
191
195
192 self.patch_environment('LD_LIBRARY_PATH', new_ld_library_path)
196 self.patch_environment('LD_LIBRARY_PATH', new_ld_library_path)
@@ -205,8 +209,13 @@ class UnityTestCase(AutopilotTestCase):
205 return lightdm_mock_path
209 return lightdm_mock_path
206
210
207 def _setup_extra_mock_environment_patch(self):
211 def _setup_extra_mock_environment_patch(self):
208− mocks_library_path = get_mocks_library_path()
212+ qml_import_path = [get_mocks_library_path()]
213+ if os.getenv('QML2_IMPORT_PATH') is not None:
214+ qml_import_path.append(os.getenv('QML2_IMPORT_PATH'))
215+
216+ qml_import_path = ':'.join(qml_import_path)
217+ logger.info("New QML2 import path: %s", qml_import_path)
209− self.patch_environment('QML2_IMPORT_PATH', mocks_library_path)
218+ self.patch_environment('QML2_IMPORT_PATH', qml_import_path)
210
219
211 def _set_proxy(self, proxy):
220 def _set_proxy(self, proxy):
212 """Keep a copy of the proxy object, so we can use it to get common
221 """Keep a copy of the proxy object, so we can use it to get common