on d5e1bfa help sign in
unity8/Panel/Indicators/DefaultIndicatorWidget.qml
80 lines 2.4 kB history raw
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 */
20import QtQuick 2.0
21import Ubuntu.Components 0.1
22import Unity.Indicators 0.1 as Indicators
24Indicators.IndicatorWidget {
25 id: indicatorWidget
27 width: itemRow.width + units.gu(1)
29 property alias label: itemLabel.text
30 property alias iconSource: itemImage.source
32 Row {
33 id: itemRow
34 objectName: "itemRow"
35 anchors {
36 top: parent.top
37 bottom: parent.bottom
38 horizontalCenter: parent.horizontalCenter
39 }
40 spacing: units.gu(0.5)
42 // FIXME : Should us Ubuntu.Icon . results in low res images
43 Image {
44 id: itemImage
45 objectName: "itemImage"
46 visible: source != ""
47 height: indicatorWidget.iconSize
48 width: indicatorWidget.iconSize
49 anchors.verticalCenter: parent.verticalCenter
50 }
52 Label {
53 id: itemLabel
54 objectName: "itemLabel"
55 color: Theme.palette.selected.backgroundText
56 opacity: 0.8
57 font.family: "Ubuntu"
58 fontSize: "medium"
59 anchors.verticalCenter: parent.verticalCenter
60 visible: text != ""
61 }
62 }
64 onActionStateChanged: {
65 if (action == undefined || !action.valid) {
66 return;
67 }
69 if (action.state == undefined) {
70 label = "";
71 iconSource = "";
72 enabled = false;
73 return;
74 }
76 label = action.state[Indicators.ActionState.Label];
77 iconSource = "image://gicon/" + action.state[Indicators.ActionState.IconSource];
78 enabled = action.state[Indicators.ActionState.Visible];
79 }