on e507710 help sign in
90 lines 2.7 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 * Renato Araujo Oliveira Filho <renato@canonical.com>
18 * Olivier Tilloy <olivier.tilloy@canonical.com>
19 */
21import QtQuick 2.0
22import Ubuntu.Components 0.1
23import Unity.Indicators 0.1 as Indicators
25Indicators.BasicMenuItem {
26 property variant action: menu && menu.action!="" && actionGroup ? actionGroup.action(menu.action) : null
27 property alias count: label.text
29 color: "#221e1b"
30 implicitHeight: units.gu(10)
32 Row {
33 anchors.fill: parent
34 anchors.margins: units.gu(2)
35 spacing: units.gu(4)
37 UbuntuShape {
38 height: units.gu(6)
39 width: units.gu(6)
40 image: Image {
41 source: menu && (menu.extra.canonical_icon.length > 0) ? "image://gicon/" + encodeURI(menu.extra.canonical_icon) : "qrc:/indicators/artwork/messaging/default_app.svg"
42 fillMode: Image.PreserveAspectFit
43 }
44 }
46 Label {
47 anchors.verticalCenter: parent.verticalCenter
48 color: "#e8e1d0"
49 font.weight: Font.DemiBold
50 fontSize: "medium"
51 text: menu && menu.label ? menu.label : ""
52 }
54 Label {
55 id: label
56 anchors.verticalCenter: parent.verticalCenter
57 width: parent.width - x
58 horizontalAlignment: Text.AlignRight
59 color: "#e8e1d0"
60 font.weight: Font.DemiBold
61 fontSize: "medium"
62 text: action && action.valid && action.state ? action.state[0] : "0"
63 }
64 }
66 Indicators.HLine {
67 anchors.top: parent.top
68 color: "#403b37"
69 }
71 Indicators.HLine {
72 anchors.bottom: parent.bottom
73 color: "#060606"
74 }
76 MouseArea {
77 anchors.fill: parent
78 onClicked: {
79 if (action && action.valid) {
80 action.activate(true);
81 }
82 }
83 }
85 onItemRemoved: {
86 if (action && action.valid) {
87 action.activate(false);
88 }
89 }