on 331bab5 help sign in
unity8/Dash/GenericLensView.qml
95 lines 2.8 kB history raw
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 */
17import QtQuick 2.0
18import Ubuntu.Components 0.1
19import "../Components"
20import "../Components/ListItems" as ListItems
22LensView {
23 id: lensView
25 onIsCurrentChanged: {
26 pageHeader.resetSearch();
27 }
29 onMovementStarted: categoryView.showHeader()
31 Binding {
32 target: lensView.lens
33 property: "searchQuery"
34 value: pageHeader.searchQuery
35 }
37 Connections {
38 target: panel
39 onSearchClicked: if (isCurrent) {
40 pageHeader.triggerSearch()
41 categoryView.showHeader()
42 }
43 }
45 ListViewWithPageHeader {
46 id: categoryView
47 anchors.fill: parent
48 model: lensView.categories
49 onAtYEndChanged: if (atYEnd) endReached()
50 onMovingChanged: if (moving && atYEnd) endReached()
52 delegate: ListItems.Base {
53 highlightWhenPressed: false
55 FilterGrid {
56 id: filtergrid
57 model: results
59 anchors {
60 top: parent.top
61 left: parent.left
62 right: parent.right
63 }
65 filter: false
66 minimumHorizontalSpacing: units.gu(0.5)
67 delegateWidth: units.gu(11)
68 delegateHeight: units.gu(18)
69 verticalSpacing: units.gu(2)
71 delegate: Tile {
72 width: filtergrid.cellWidth
73 height: filtergrid.cellHeight
74 text: column_4 ? column_4 : "" // FIXME: this shouldn't be necessary
75 imageWidth: units.gu(11)
76 imageHeight: units.gu(16)
77 source: column_1 ? column_1 : "" // FIXME: ditto
78 }
79 }
80 }
82 sectionProperty: "name"
83 sectionDelegate: ListItems.Header {
84 width: categoryView.width
85 text: section
86 }
87 pageHeader: PageHeader {
88 id: pageHeader
89 objectName: "pageHeader"
90 width: categoryView.width
91 text: lensView.lens.name
92 searchEntryEnabled: true
93 }
94 }