on 0cf21be help sign in
91 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 "utils.js" as Utils
25HeroMessage {
26 id: __heroMessage
28 property alias footer: __footer.sourceComponent
30 expandedHeight: __fullMessage.y + __fullMessage.height + units.gu(2)
31 heroMessageHeader.titleText.text: menu ? menu.label : ""
32 heroMessageHeader.subtitleText.text: menu ? Utils.formatDate(menu.extra.canonical_time) : ""
33 heroMessageHeader.bodyText.text: menu ? menu.extra.canonical_text : ""
35 Item {
36 id: __fullMessage
38 anchors.left: parent.left
39 anchors.leftMargin: units.gu(2)
40 anchors.right: parent.right
41 anchors.rightMargin: units.gu(2)
42 anchors.top: heroMessageHeader.bottom
43 height: childrenRect.height
44 opacity: 0.0
45 enabled: false
47 Label {
48 id: __bodyText
49 anchors.top: parent.top
50 anchors.left: parent.left
51 anchors.right: parent.right
52 wrapMode: Text.WordWrap
53 elide: Text.ElideRight
54 color: "#e8e1d0"
55 fontSize: "medium"
56 text: heroMessageHeader.bodyText.text
57 }
59 Loader {
60 id: __footer
62 anchors.top: __bodyText.bottom
63 anchors.topMargin: units.gu(2)
64 anchors.left: parent.left
65 anchors.right: parent.right
66 height: __footer.item != undefined ? units.gu(4) : 0
67 }
69 states: State {
70 name: "expanded"
71 when: __heroMessage.state === "expanded"
73 PropertyChanges {
74 target: heroMessageHeader.bodyText
75 opacity: 0.0
76 }
78 PropertyChanges {
79 target: __fullMessage
80 opacity: 1.0
81 enabled: true
82 }
83 }
84 transitions: Transition {
85 NumberAnimation {
86 property: "opacity"
87 duration: 200
88 }
89 }
90 }