on fcccc72 help sign in
unity8/qml/Panel/Indicators/IndicatorsLight.qml
53 lines 1.7 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.0
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 var _actionGroup: QMenuModel.QDBusActionGroup {
30 busType: 1
31 busName: "com.canonical.indicator.messages"
32 objectPath: "/com/canonical/indicator/messages"
33 }
35 property var _rootState: Indicators.ActionRootState {
36 actionGroup: _actionGroup
37 actionName: "messages"
38 Component.onCompleted: actionGroup.start()
40 property bool hasMessages: valid && (String(icons).indexOf("indicator-messages-new") != -1)
41 }
43 Component.onDestruction: Lights.state = Lights.Off
45 // QtObject does not have children
46 property var _binding: Binding {
47 target: Lights
48 property: "state"
49 value: {
50 return (Powerd.status === Powerd.Off && _rootState.hasMessages) ? Lights.On : Lights.Off
51 }
52 }