on xenial help sign in
Use full DashContent, not just GenericScopeView in ScopeTool.qml.
eb43f0eMichał Sawicz
qml/ScopeTool.qml+26−28
@@ -17,7 +17,9 @@
17import QtQuick 2.0
17import QtQuick 2.0
18import Ubuntu.Components 0.1
18import Ubuntu.Components 0.1
19import Ubuntu.Components.Popups 0.1
19import Ubuntu.Components.Popups 0.1
20+import Utils 0.1
20import Unity 0.1
21import Unity 0.1
22+import "Components"
21import "Dash"
23import "Dash"
22
24
23Rectangle {
25Rectangle {
@@ -43,18 +45,28 @@ Rectangle {
43 signal searchClicked
45 signal searchClicked
44 }
46 }
45
47
48+ SortFilterProxyModel {
49+ id: filteredScopes
50+ model: Scopes {
51+ id: scopes
52+ }
53+ dynamicSortFilter: true
46
54
47− Scopes {
55+ filterRole: Scopes.RoleVisible
48− id: scopes
56+ filterRegExp: RegExp("^true$")
49 }
57 }
50
58
51 Rectangle {
59 Rectangle {
52− anchors.fill: scopeView
60+ anchors.fill: dashContent
53 color: "#FCFCFC"
61 color: "#FCFCFC"
54 }
62 }
55
63
56− GenericScopeView {
64+ DashContent {
57− id: scopeView
65+ id: dashContent
66+
67+ model: filteredScopes
68+ searchHistory: SearchHistoryModel { }
69+ property Scope scope: scopes.get(currentIndex)
58
70
59 anchors {
71 anchors {
60 top: parent.top
72 top: parent.top
@@ -62,8 +74,6 @@ Rectangle {
62 left: parent.left
74 left: parent.left
63 right: controls.left
75 right: controls.left
64 }
76 }
65−
66− scope: scopes.loaded ? scopes.get(scopeSelector.selectedIndex) : undefined
67 }
77 }
68
78
69 Rectangle {
79 Rectangle {
@@ -76,6 +86,10 @@ Rectangle {
76 right: parent.right
86 right: parent.right
77 }
87 }
78
88
89+ MouseArea {
90+ anchors.fill: parent
91+ }
92+
79 Column {
93 Column {
80 anchors { fill: parent; margins: units.gu(1) }
94 anchors { fill: parent; margins: units.gu(1) }
81 spacing: units.gu(1)
95 spacing: units.gu(1)
@@ -88,27 +102,11 @@ Rectangle {
88 id: searchField
102 id: searchField
89 anchors { left: parent.left; right: parent.right }
103 anchors { left: parent.left; right: parent.right }
90
104
91− onTextChanged: scopeView.scope.searchQuery = text
105+ onTextChanged: dashContent.scope.searchQuery = text
92
106
93 Connections {
107 Connections {
94− target: scopeView.scope
108+ target: dashContent.scope
95− onSearchQueryChanged: searchField.text = scopeView.scope.searchQuery
109+ onSearchQueryChanged: searchField.text = dashContent.scope.searchQuery
96− }
97− }
98−
99− Label {
100− text: "Scope selection"
101− height: units.gu(4)
102− verticalAlignment: Text.AlignBottom
103− }
104−
105− OptionSelector {
106− id: scopeSelector
107− anchors { left: parent.left; right: parent.right }
108−
109− model: scopes
110− delegate: OptionSelectorDelegate {
111− text: model.title
112 }
110 }
113 }
111 }
114
112
@@ -121,7 +119,7 @@ Rectangle {
121 OptionSelector {
119 OptionSelector {
122 id: categorySelector
120 id: categorySelector
123 anchors { left: parent.left; right: parent.right }
121 anchors { left: parent.left; right: parent.right }
124− model: scopeView.scope ? scopeView.scope.categories : null
122+ model: dashContent.scope ? dashContent.scope.categories : null
125
123
126 property Item selectedItem
124 property Item selectedItem
127
125
@@ -170,7 +168,7 @@ Rectangle {
170 onCancelClicked: PopupUtils.close(sheet)
168 onCancelClicked: PopupUtils.close(sheet)
171 onConfirmClicked: {
169 onConfirmClicked: {
172 PopupUtils.close(sheet);
170 PopupUtils.close(sheet);
173− scopeView.scope.categories.overrideCategoryJson(categorySelector.selectedItem.categoryId, categoryEditorArea.text);
171+ dashContent.scope.categories.overrideCategoryJson(categorySelector.selectedItem.categoryId, categoryEditorArea.text);
174 }
172 }
175 }
173 }
176 }
174 }