on xenial help sign in
Get layout from category template.
commit72a07f815e480320d36ea2ed6b1523015d4b972c authorMichał Sawicz <michal.sawicz@canonical.com> dateWed 8 Jan 2014, 14:45 (13 years ago) parentb285bb3
1 file changed+9−42
qml/Dash/GenericScopeView.qml+9−42
qml/Dash/GenericScopeView.qml+9−42
@@ -141,7 +141,7 @@ FocusScope {
141141 right: parent.right
142142 }
143143
144− source: getRenderer(model.renderer, model.contentType, model.rendererHint, results)
144+ source: getRenderer(model.renderer, results)
145145
146146 onLoaded: {
147147 if (item.enableHeightBehavior !== undefined && item.enableHeightBehaviorOnNextCreation !== undefined) {
@@ -302,49 +302,16 @@ FocusScope {
302302 }
303303 }
304304
305− function getDefaultRendererId(contentType) {
306− switch (contentType) {
307− default: return "grid";
308− }
309− }
305+ function getRenderer(template, results) {
306+ var layout = template["category-layout"];
310307
311− function getRenderer(rendererId, contentType, rendererHint, results) {
312− if (rendererId == "default") {
313− rendererId = getDefaultRendererId(contentType);
314− }
315− if (rendererId == "carousel") {
316− // Selectively disable carousel, 6 is fixed for now, should change on the form factor
317− if (results.count <= 6)
318− rendererId = "grid"
308+ if (layout === "carousel") {
309+ // TODO: Selectively disable carousel, 6 is fixed for now, should change depending on form factor
310+ if (results.count <= 6) layout = "grid";
319311 }
320− switch (rendererId) {
321− case "carousel": {
322− switch (contentType) {
323− case "music": return "Music/MusicCarousel.qml";
324− case "video": return "Video/VideoCarousel.qml";
325− default: return "Generic/GenericCarousel.qml";
326− }
327− }
328− case "grid": {
329− switch (contentType) {
330− case "apps": {
331− if (rendererHint == "toggled")
332− return "Apps/DashPluginFilterGrid.qml";
333− else
334− return "Generic/GenericFilterGrid.qml";
335− }
336− case "music": return "Music/MusicFilterGrid.qml";
337− case "video": return "Video/VideoFilterGrid.qml";
338− case "weather": return "Generic/WeatherFilterGrid.qml";
339− default: return "Generic/GenericFilterGrid.qml";
340− }
341− }
342− case "special": {
343− switch (contentType) {
344− case "apps": return "Apps/RunningApplicationsGrid.qml";
345− default: return "Generic/GenericFilterGrid.qml";
346− }
347− }
312+ switch (layout) {
313+ case "carousel": return "CardCarousel.qml";
314+ case "grid":
348315 default: return "CardFilterGrid.qml";
349316 }
350317 }