on xenial help sign in
Merge
44cd056Albert Astals
Components/EdgeDemo.qml+1
@@ -31,6 +31,7 @@ Item {
31 property bool dashEnabled: true
31 property bool dashEnabled: true
32 property bool panelEnabled: true
32 property bool panelEnabled: true
33 property bool panelContentEnabled: true
33 property bool panelContentEnabled: true
34+ property bool running: !launcherEnabled || !dashEnabled || !panelEnabled || !panelContentEnabled
34
35
35 property bool paused: false
36 property bool paused: false
36
37
Dash/Generic/GenericCarousel.qml+1
@@ -28,6 +28,7 @@ DashCarousel {
28
28
29 BaseCarouselDelegate {
29 BaseCarouselDelegate {
30 id: item
30 id: item
31+ objectName: "carouselDelegate"
31
32
32 UbuntuShape {
33 UbuntuShape {
33 anchors.fill: parent
34 anchors.fill: parent
Greeter/Greeter.qml+1−1
@@ -51,7 +51,7 @@ Showable {
51 signal unlocked(int uid)
51 signal unlocked(int uid)
52
52
53 onRightTeaserPressedChanged: {
53 onRightTeaserPressedChanged: {
54− if (rightTeaserPressed && !locked && x == 0) {
54+ if (rightTeaserPressed && (!locked || narrowMode) && x == 0) {
55 teasingTimer.start();
55 teasingTimer.start();
56 }
56 }
57 }
57 }
Shell.qml+9−1
@@ -667,7 +667,12 @@ FocusScope {
667 dragAreaWidth: shell.edgeSize
667 dragAreaWidth: shell.edgeSize
668 available: (!greeter.shown || greeter.narrowMode) && edgeDemo.launcherEnabled
668 available: (!greeter.shown || greeter.narrowMode) && edgeDemo.launcherEnabled
669
669
670− onDashItemSelected: showHome()
670+ onDashItemSelected: {
671+ if (edgeDemo.running)
672+ return;
673+
674+ showHome()
675+ }
671 onDash: {
676 onDash: {
672 if (stages.shown) {
677 if (stages.shown) {
673 stages.hide();
678 stages.hide();
@@ -676,6 +681,9 @@ FocusScope {
676 }
681 }
677 onDashSwipeChanged: if (dashSwipe && stages.shown) dash.setCurrentScope("applications.scope", false, true)
682 onDashSwipeChanged: if (dashSwipe && stages.shown) dash.setCurrentScope("applications.scope", false, true)
678 onLauncherApplicationSelected:{
683 onLauncherApplicationSelected:{
684+ if (edgeDemo.running)
685+ return;
686+
679 greeter.hide()
687 greeter.hide()
680 shell.activateApplication(appId)
688 shell.activateApplication(appId)
681 }
689 }
plugins/Unity/Launcher/backend/launcherbackend.cpp+4−2
@@ -183,8 +183,10 @@ void LauncherBackend::syncFromAccounts()
183
183
184 if (m_accounts && !m_user.isEmpty()) {
184 if (m_accounts && !m_user.isEmpty()) {
185 QVariant variant = m_accounts->getUserProperty(m_user, "com.canonical.unity.AccountsService", "launcher-items");
185 QVariant variant = m_accounts->getUserProperty(m_user, "com.canonical.unity.AccountsService", "launcher-items");
186+ if (variant.isValid() && variant.canConvert<QDBusArgument>()) {
186− apps = qdbus_cast<QList<QVariantMap>>(variant.value<QDBusArgument>());
187+ apps = qdbus_cast<QList<QVariantMap>>(variant.value<QDBusArgument>());
187− defaults = isDefaultsItem(apps);
188+ defaults = isDefaultsItem(apps);
189+ }
188 }
190 }
189
191
190 if (m_accounts && defaults) { // Checking accounts as it'll be null when !useStorage
192 if (m_accounts && defaults) { // Checking accounts as it'll be null when !useStorage
po/ar.po+5−5
@@ -8,7 +8,7 @@ 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-11-29 09:21+0100\n"
10"POT-Creation-Date: 2013-11-29 09:21+0100\n"
11−"PO-Revision-Date: 2013-11-15 12:29+0000\n"
11+"PO-Revision-Date: 2013-12-05 06:55+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-11-30 05:33+0000\n"
19+"X-Launchpad-Export-Date: 2013-12-06 06:30+0000\n"
20−"X-Generator: Launchpad (build 16856)\n"
20+"X-Generator: Launchpad (build 16863)\n"
21
21
22#: Components/EdgeDemoOverlay.qml:151
22#: Components/EdgeDemoOverlay.qml:151
23msgid "Skip intro"
23msgid "Skip intro"
@@ -154,11 +154,11 @@ msgstr "ابحث"
154#: plugins/Unity/Launcher/launcheritem.cpp:43
154#: plugins/Unity/Launcher/launcheritem.cpp:43
155#: plugins/Unity/Launcher/launcheritem.cpp:73
155#: plugins/Unity/Launcher/launcheritem.cpp:73
156msgid "Lock to Launcher"
156msgid "Lock to Launcher"
157−msgstr ""
157+msgstr "ثبّت في الشريط"
158
158
159#: plugins/Unity/Launcher/launcheritem.cpp:73
159#: plugins/Unity/Launcher/launcheritem.cpp:73
160msgid "Unlock from Launcher"
160msgid "Unlock from Launcher"
161−msgstr ""
161+msgstr "فُك التثبيت من الشريط"
162
162
163#: Shell.qml:439
163#: Shell.qml:439
164#, qt-format
164#, qt-format
tests/mocks/Unity/fake_scope.cpp+1−1
@@ -204,7 +204,7 @@ DeeModel* create_categories_model(unsigned category_count) {
204 std::to_string(i).c_str(),
204 std::to_string(i).c_str(),
205 ("Category "+std::to_string(i)).c_str(),
205 ("Category "+std::to_string(i)).c_str(),
206 "gtk-apply",
206 "gtk-apply",
207− "grid",
207+ i % 2 == 0 ? "grid" : "carousel",
208 hints);
208 hints);
209 }
209 }
210 return category_model;
210 return category_model;
tests/qmltests/Dash/tst_GenericScopeView.qml+29
@@ -245,6 +245,35 @@ Item {
245 verify(category.expandable);
245 verify(category.expandable);
246 tryCompare(category, "filtered", true);
246 tryCompare(category, "filtered", true);
247 }
247 }
248+
249+ function test_showPreviewCarousel() {
250+ tryCompareFunction(function() { return findChild(genericScopeView, "carouselDelegate") != undefined; }, true);
251+ var tile = findChild(genericScopeView, "carouselDelegate");
252+ mouseClick(tile, tile.width / 2, tile.height / 2);
253+ var openEffect = findChild(genericScopeView, "openEffect");
254+ tryCompare(openEffect, "gap", 1);
255+
256+ // check for it opening successfully
257+ var previewListView = findChild(genericScopeView, "previewListView");
258+ var currentPreviewItem = findChild(genericScopeView, "previewLoader0");
259+ tryCompareFunction(function() {
260+ var parts = currentPreviewItem.source.toString().split("/");
261+ var name = parts[parts.length - 1];
262+ return name == "DashPreviewPlaceholder.qml";
263+ },
264+ true);
265+ tryCompareFunction(function() {
266+ var parts = currentPreviewItem.source.toString().split("/");
267+ var name = parts[parts.length - 1];
268+ return name == "GenericPreview.qml";
269+ },
270+ true);
271+ tryCompare(currentPreviewItem, "progress", 1);
272+ tryCompare(previewListView, "open", true);
273+
274+ closePreview();
275+ tryCompare(previewListView, "open", false);
276+ }
248 }
277 }
249 }
278 }
250}
279}
tests/qmltests/Greeter/tst_Phone.qml+1−1
@@ -103,7 +103,7 @@ Item {
103 mouseClick(greeter, greeter.width - units.gu(5), greeter.height - units.gu(1));
103 mouseClick(greeter, greeter.width - units.gu(5), greeter.height - units.gu(1));
104 greeter.minX = 0; // This is needed because the transition actually makes x jump once before animating
104 greeter.minX = 0; // This is needed because the transition actually makes x jump once before animating
105
105
106− if (!data.locked && !data.moved) {
106+ if (!data.moved) {
107 // Check if it has been moved over by 2 GUs. Give it a 2 pixel grace area
107 // Check if it has been moved over by 2 GUs. Give it a 2 pixel grace area
108 // because animation duration and teaseTimer are the same duration and
108 // because animation duration and teaseTimer are the same duration and
109 // might cause slight offsets
109 // might cause slight offsets