on 447982b help sign in
unity8/plugins/Unity/Indicators/Messaging/qml/SimpleTextMessage.qml
97 lines 2.8 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: footerLoader.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 {
39 left: parent.left
40 leftMargin: units.gu(2)
41 right: parent.right
42 rightMargin: units.gu(2)
43 top: heroMessageHeader.bottom
44 }
45 height: childrenRect.height
46 opacity: 0.0
47 enabled: false
49 Label {
50 id: bodyText
51 anchors {
52 top: parent.top
53 left: parent.left
54 right: parent.right
55 }
56 wrapMode: Text.WordWrap
57 elide: Text.ElideRight
58 color: "#e8e1d0"
59 fontSize: "medium"
60 text: heroMessageHeader.bodyText.text
61 }
63 Loader {
64 id: footerLoader
66 anchors {
67 top: bodyText.bottom
68 topMargin: units.gu(2)
69 left: parent.left
70 right: parent.right
71 }
72 height: item != undefined ? units.gu(4) : 0
73 }
75 states: State {
76 name: "expanded"
77 when: __heroMessage.state === "expanded"
79 PropertyChanges {
80 target: heroMessageHeader.bodyText
81 opacity: 0.0
82 }
84 PropertyChanges {
85 target: fullMessage
86 opacity: 1.0
87 enabled: true
88 }
89 }
90 transitions: Transition {
91 NumberAnimation {
92 property: "opacity"
93 duration: 200
94 }
95 }
96 }