on cb2fb46 help sign in
unity8/plugins/Unity/Indicators/Messaging/qml/SimpleTextMessage.qml
100 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
24HeroMessage {
25 id: __heroMessage
27 property string title: ""
28 property string time: ""
29 property string message: ""
31 property alias footer: footerLoader.sourceComponent
33 expandedHeight: fullMessage.y + fullMessage.height + units.gu(2)
34 heroMessageHeader.titleText.text: title
35 heroMessageHeader.subtitleText.text: time
36 heroMessageHeader.bodyText.text: message
38 Item {
39 id: fullMessage
41 anchors {
42 left: parent.left
43 leftMargin: units.gu(2)
44 right: parent.right
45 rightMargin: units.gu(2)
46 top: heroMessageHeader.bottom
47 }
48 height: childrenRect.height
49 opacity: 0.0
50 enabled: false
52 Label {
53 id: bodyText
54 anchors {
55 top: parent.top
56 left: parent.left
57 right: parent.right
58 }
59 wrapMode: Text.WordWrap
60 elide: Text.ElideRight
61 color: "#e8e1d0"
62 fontSize: "medium"
63 text: heroMessageHeader.bodyText.text
64 }
66 Loader {
67 id: footerLoader
69 anchors {
70 top: bodyText.bottom
71 topMargin: units.gu(2)
72 left: parent.left
73 right: parent.right
74 }
75 height: item != undefined ? units.gu(4) : 0
76 }
78 states: State {
79 name: "expanded"
80 when: __heroMessage.state === "expanded"
82 PropertyChanges {
83 target: heroMessageHeader.bodyText
84 opacity: 0.0
85 }
87 PropertyChanges {
88 target: fullMessage
89 opacity: 1.0
90 enabled: true
91 }
92 }
93 transitions: Transition {
94 NumberAnimation {
95 property: "opacity"
96 duration: 200
97 }
98 }
99 }