on cff11ab help sign in
unity8/Dash/GenericScopeView.qml
96 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
21import "../Components/IconUtil.js" as IconUtil
23ScopeView {
24 id: scopeView
26 onIsCurrentChanged: {
27 pageHeader.resetSearch();
28 }
30 onMovementStarted: categoryView.showHeader()
32 Binding {
33 target: scopeView.scope
34 property: "searchQuery"
35 value: pageHeader.searchQuery
36 }
38 Connections {
39 target: panel
40 onSearchClicked: if (isCurrent) {
41 pageHeader.triggerSearch()
42 categoryView.showHeader()
43 }
44 }
46 ScopeListView {
47 id: categoryView
48 anchors.fill: parent
49 model: scopeView.categories
50 onAtYEndChanged: if (atYEnd) endReached()
51 onMovingChanged: if (moving && atYEnd) endReached()
53 delegate: ListItems.Base {
54 highlightWhenPressed: false
56 FilterGrid {
57 id: filtergrid
58 model: results
60 anchors {
61 top: parent.top
62 left: parent.left
63 right: parent.right
64 }
66 filter: false
67 minimumHorizontalSpacing: units.gu(0.5)
68 delegateWidth: units.gu(11)
69 delegateHeight: units.gu(18)
70 verticalSpacing: units.gu(2)
72 delegate: Tile {
73 width: filtergrid.cellWidth
74 height: filtergrid.cellHeight
75 text: column_5 ? column_5 : "" // FIXME: this shouldn't be necessary
76 imageWidth: units.gu(11)
77 imageHeight: units.gu(16)
78 source: column_1 ? IconUtil.from_gicon(column_1) : "" // FIXME: ditto
79 }
80 }
81 }
83 sectionProperty: "name"
84 sectionDelegate: ListItems.Header {
85 width: categoryView.width
86 text: section
87 }
88 pageHeader: PageHeader {
89 id: pageHeader
90 objectName: "pageHeader"
91 width: categoryView.width
92 text: scopeView.scope.name
93 searchEntryEnabled: true
94 }
95 }