on bbbdccd help sign in
unity8/qml/Panel/Indicators/IndicatorsLight.qml
61 lines 1.8 kB history raw
1/*
2 * Copyright 2014 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 * Renato Araujo Oliveira Filho <renato@canonical.com>
18 */
20import QtQuick 2.4
21import Powerd 0.1
22import Lights 0.1
23import QMenuModel 0.1 as QMenuModel
24import Unity.Indicators 0.1 as Indicators
26QtObject {
27 id: root
29 property color color: "darkgreen"
31 property var _actionGroup: QMenuModel.QDBusActionGroup {
32 busType: 1
33 busName: "com.canonical.indicator.messages"
34 objectPath: "/com/canonical/indicator/messages"
35 }
37 property var _rootState: Indicators.ActionRootState {
38 actionGroup: _actionGroup
39 actionName: "messages"
40 Component.onCompleted: actionGroup.start()
42 property bool hasMessages: valid && (String(icons).indexOf("indicator-messages-new") != -1)
43 }
45 Component.onDestruction: Lights.state = Lights.Off
47 // QtObject does not have children
48 property var _binding: Binding {
49 target: Lights
50 property: "state"
51 value: {
52 return (Powerd.status === Powerd.Off && _rootState.hasMessages) ? Lights.On : Lights.Off
53 }
54 }
56 property var _colorBinding: Binding {
57 target: Lights
58 property: "color"
59 value: root.color
60 }