on b0f3641 help sign in
unity8/Panel/IndicatorItem.qml
62 lines 1.9 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 Unity.Indicators 0.1 as Indicators
20import "../Components"
22Item {
23 id: indicatorItem
25 property alias widgetSource: loader.source
26 property bool highlighted: false
27 property bool dimmed: false
28 property var indicatorProperties: undefined
30 opacity: dimmed ? 0.4 : 1
31 Behavior on opacity { StandardAnimation {} }
33 // only visible when non-empty
34 visible: loader.item != undefined && loader.status == Loader.Ready ? loader.item.enabled : false
35 width: visible ? loader.item.width : 0
37 Loader {
38 id: loader
40 onLoaded: {
41 item.height = Qt.binding(function() { return indicatorItem.height; });
43 for(var pName in indicatorProperties) {
44 if (item.hasOwnProperty(pName)) {
45 item[pName] = indicatorProperties[pName];
46 }
47 }
48 }
49 }
51 Rectangle {
52 color: Theme.palette.selected.foreground
53 objectName: "highlight"
54 height: units.dp(2)
55 width: parent.width
56 anchors.top: parent.bottom
57 visible: highlighted
59 opacity: highlighted ? 1 : 0
60 Behavior on opacity { StandardAnimation {} }
61 }