~feng-kylin/unity8/OpenUrlInIndicator

« back to all changes in this revision

Viewing changes to Panel/Indicators/DefaultIndicatorWidget.qml

  • Committer: Tarmac
  • Author(s): Nick Dedekind, Launchpad Translations on behalf of unity-team
  • Date: 2013-07-11 19:50:27 UTC
  • mfrom: (2.5.114 indicators-client)
  • Revision ID: tarmac-20130711195027-yheu3w2oc42c1h7s
Moved indicators-client code into unity8. Fixes: https://bugs.launchpad.net/bugs/1191132, https://bugs.launchpad.net/bugs/1191822.

Approved by PS Jenkins bot, Michał Sawicz, Nicolas d'Offay.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
 */
 
19
 
 
20
import QtQuick 2.0
 
21
import Ubuntu.Components 0.1
 
22
import Unity.Indicators 0.1 as Indicators
 
23
 
 
24
Indicators.IndicatorWidget {
 
25
    id: indicatorWidget
 
26
 
 
27
    width: itemRow.width + units.gu(1)
 
28
 
 
29
    property alias label: itemLabel.text
 
30
    property alias iconSource: itemImage.source
 
31
 
 
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)
 
41
 
 
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
        }
 
51
 
 
52
        Label {
 
53
            id: itemLabel
 
54
            objectName: "itemLabel"
 
55
            color: "#f3f3e7"
 
56
            opacity: 0.8
 
57
            font.family: "Ubuntu"
 
58
            fontSize: "medium"
 
59
            anchors.verticalCenter: parent.verticalCenter
 
60
            visible: text != ""
 
61
        }
 
62
    }
 
63
 
 
64
    onActionStateChanged: {
 
65
        if (action == undefined || !action.valid) {
 
66
            return;
 
67
        }
 
68
 
 
69
        if (action.state == undefined) {
 
70
            label = "";
 
71
            iconSource = "";
 
72
            enabled = false;
 
73
            return;
 
74
        }
 
75
 
 
76
        label = action.state[Indicators.ActionState.Label];
 
77
        iconSource = "image://gicon/" + action.state[Indicators.ActionState.IconSource];
 
78
        enabled = action.state[Indicators.ActionState.Visible];
 
79
    }
 
80
}