@@ -1,95 +0,0 @@
1−/*
2− * Copyright 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 Lesser 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 Lesser General Public License for more details.
12− *
13− * You should have received a copy of the GNU Lesser General Public License
14− * along with this program. If not, see <http://www.gnu.org/licenses/>.
15− *
16− * Authors:
17− * Nick Dedekind <nick.dedekind@canonical.com>
18− */
19−
20−import QtQuick 2.0
21−import Unity.Indicators 0.1 as Indicators
22−import Utils 0.1
23−
24−Item {
25− property SortFilterProxyModel model: filterModel
26− property alias profile: indicatorsModel.profile
27−
28− function initialise(profile) {
29− indicatorsModel.load(profile);
30− }
31−
32− SortFilterProxyModel {
33− id: filterModel
34− filterRole: Indicators.IndicatorsModelRole.IsVisible
35− filterRegExp: RegExp("^true$")
36− dynamicSortFilter: true
37−
38− model: Indicators.VisibleIndicatorsModel {
39− id: visibleIndicatorsModel
40− model: indicatorsModel
41− }
42− }
43−
44− Indicators.IndicatorsModel {
45− id: indicatorsModel
46− }
47−
48− Repeater {
49− id: repeater
50− model: indicatorsModel
51−
52− property var visibleIndicators: undefined
53− onVisibleIndicatorsChanged: {
54− if (visibleIndicators !== undefined) {
55− visibleIndicatorsModel.visible = visibleIndicators;
56− }
57− }
58−
59− delegate: IndicatorDelegate {
60− id: item
61− objectName: model.identifier + "-delegate"
62− identifier: model.identifier
63−
64− function updateProperties() {
65− for(var pName in indicatorProperties) {
66− if (item.hasOwnProperty(pName)) {
67− item[pName] = indicatorProperties[pName];
68− }
69− }
70− }
71−
72− Component.onCompleted: {
73− updateProperties();
74− updateVisibility();
75− }
76−
77− Connections {
78− target: indicatorsModel
79− onDataChanged: item.updateProperties()
80− }
81−
82− onEnabledChanged: {
83− updateVisibility()
84− }
85−
86− function updateVisibility() {
87− if (repeater.visibleIndicators === undefined) {
88− repeater.visibleIndicators = {}
89− }
90− repeater.visibleIndicators[model.identifier] = enabled;
91− repeater.visibleIndicatorsChanged();
92− }
93− }
94− }
95−}