on xenial help sign in
Dinamically load Carousel / Filtergrid
commitc43158da8cdd1bb8e5455e3a0948db6dcc0ed273 authorAndrea Cimitan <andrea.cimitan@canonical.com> dateThu 10 Oct 2013, 17:03 (13 years ago) parentb8d332c
7 files changed+83−5
Dash/DashMusic.qml+1−1 Dash/DashVideos.qml+2−2 Dash/Generic/GenericCarouselLoader.qml+30 Dash/GenericScopeView.qml+2−2 Dash/Music/MusicCarouselLoader.qml+24 Dash/Video/VideosCarousel.qml → Dash/Video/VideoCarousel.qml Dash/Video/VideoCarouselLoader.qml+24
Dash/DashMusic.qml+1−1
@@ -52,7 +52,7 @@ ScopeView {
5252
5353 function getRenderer(categoryId) {
5454 switch (categoryId) {
55− case "featured": return "Music/MusicCarousel.qml"
55+ case "featured": return "Music/MusicCarouselLoader.qml"
5656 default: return "Music/MusicFilterGrid.qml"
5757 }
5858 }
Dash/DashVideos.qml+2−2
@@ -53,8 +53,8 @@ ScopeView {
5353
5454 function getRenderer(categoryId) {
5555 switch (categoryId) {
56− case "featured": return "Video/VideosCarousel.qml"
57− default: return "Video/VideosFilterGrid.qml"
56+ case "featured": return "Video/VideoCarouselLoader.qml"
57+ default: return "Video/VideoFilterGrid.qml"
5858 }
5959 }
6060
Dash/Generic/GenericCarouselLoader.qmlnew file+30
@@ -0,0 +1,30 @@
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+Loader {
21+ property var model: null
22+ property url carouselUrl: "GenericCarousel.qml"
23+ property url filtergridUrl: "GenericFilterGrid.qml"
24+
25+ source: model.count > 6 ? carouselUrl : filtergridUrl
26+
27+ onLoaded: {
28+ item.model = Qt.binding(function() { return model; })
29+ }
30+}
Dash/GenericScopeView.qml+2−2
@@ -222,8 +222,8 @@ ScopeView {
222222 }
223223 case "carousel": {
224224 switch (contentType) {
225− case "music": return "Music/MusicCarousel.qml";
226− default: return "Generic/GenericCarousel.qml";
225+ case "music": return "Music/MusicCarouselLoader.qml";
226+ default: return "Generic/GenericCarouselLoader.qml";
227227 }
228228 }
229229 case "special": {
Dash/Music/MusicCarouselLoader.qmlnew file+24
@@ -0,0 +1,24 @@
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 "../Generic"
20+
21+GenericCarouselLoader {
22+ carouselUrl: "MusicCarousel.qml"
23+ filtergridUrl: "MusicFilterGrid.qml"
24+}
Dash/Video/VideosCarousel.qml → Dash/Video/VideoCarousel.qmlrenamed

The content is the same.

Dash/Video/VideoCarouselLoader.qmlnew file+24
@@ -0,0 +1,24 @@
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 "../Generic"
20+
21+GenericCarouselLoader {
22+ carouselUrl: "VideoCarousel.qml"
23+ filtergridUrl: "VideoFilterGrid.qml"
24+}