~ubuntu-branches/ubuntu/trusty/unity8/trusty-proposed

« back to all changes in this revision

Viewing changes to qml/Panel/Indicators/VisibleIndicators.qml

  • Committer: Package Import Robot
  • Author(s): Didier Roche
  • Date: 2014-02-03 16:56:47 UTC
  • mfrom: (1.1.64)
  • Revision ID: package-import@ubuntu.com-20140203165647-ik9w833cac4zu9da
Tags: 7.84+14.04.20140130.is.7.84+14.04.20131220-0ubuntu1
Reverting to last known good version, as after installing a click
application, it redirects you to the first click application everytime.
(LP: #1275832)

Show diffs side-by-side

added added

removed removed

Lines of Context:
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
 
 
27
 
    SortFilterProxyModel {
28
 
        id: filterModel
29
 
        filterRole: Indicators.IndicatorsModelRole.IsVisible
30
 
        filterRegExp: RegExp("^true$")
31
 
        dynamicSortFilter: true
32
 
 
33
 
        model: Indicators.VisibleIndicatorsModel {
34
 
            id: visibleIndicatorsModel
35
 
            model: indicatorsModel
36
 
        }
37
 
    }
38
 
 
39
 
 
40
 
    Indicators.IndicatorsModel {
41
 
        id: indicatorsModel
42
 
    }
43
 
 
44
 
    Repeater {
45
 
        id: repeater
46
 
        model: indicatorsModel
47
 
 
48
 
        property var visibleIndicators: undefined
49
 
        onVisibleIndicatorsChanged: {
50
 
            if (visibleIndicators !== undefined) {
51
 
                visibleIndicatorsModel.visible = visibleIndicators;
52
 
            }
53
 
        }
54
 
 
55
 
        delegate: IndicatorDelegate {
56
 
            id: item
57
 
            objectName: model.identifier + "-delegate"
58
 
            Component.onCompleted: {
59
 
                for(var pName in indicatorProperties) {
60
 
                    if (item.hasOwnProperty(pName)) {
61
 
                        item[pName] = indicatorProperties[pName];
62
 
                    }
63
 
                }
64
 
                updateVisibility();
65
 
            }
66
 
 
67
 
            onEnabledChanged: {
68
 
                updateVisibility()
69
 
            }
70
 
 
71
 
            function updateVisibility() {
72
 
                if (repeater.visibleIndicators === undefined) {
73
 
                    repeater.visibleIndicators = {}
74
 
                }
75
 
                repeater.visibleIndicators[model.identifier] = enabled;
76
 
                repeater.visibleIndicatorsChanged();
77
 
            }
78
 
        }
79
 
    }
80
 
 
81
 
    function load() {
82
 
        indicatorsModel.load();
83
 
    }
84
 
}