on 551c708 help sign in
165 lines 4.5 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
25Item {
26 id: quickReply
27 property alias buttonText: actionTextField.buttonText
28 property real expandedHeight: childrenRect.height
29 property alias messages : messagelistRepeater.model
30 property alias replyEnabled: actionTextField.activateEnabled
32 signal reply(var value)
34 Item {
35 id: header
36 anchors.top: parent.top
37 anchors.left: parent.left
38 anchors.right: parent.right
39 height: units.gu(4)
41 Row {
42 anchors {
43 fill: parent
44 leftMargin: units.gu(2)
45 rightMargin: units.gu(2)
46 topMargin: units.gu(1)
47 bottomMargin: units.gu(1)
48 }
49 spacing: units.gu(1)
51 Image {
52 width: units.gu(2)
53 height: width
54 fillMode: Image.PreserveAspectFit
55 source: "qrc:/indicators/artwork/messaging/message_sms01_54px.png"
56 }
58 Label {
59 height: parent.height
60 verticalAlignment: Text.AlignVCenter
61 fontSize: "small"
62 color: "#8f8f88"
63 text: "Quick reply with:"
64 }
65 }
67 Indicators.HLine {
68 anchors.bottom: parent.bottom
69 color: "#20201F"
70 }
71 }
73 Column {
74 id: messagelist
75 anchors {
76 left: parent.left
77 right: parent.right
78 top: header.bottom
79 }
80 height: childrenRect.height
82 Repeater {
83 id: messagelistRepeater
85 height: childrenRect.height
87 Item {
88 width: messagelist.width
89 height: units.gu(5)
91 Label {
92 id: __label
94 anchors {
95 fill: parent
96 leftMargin: units.gu(2)
97 rightMargin: units.gu(2)
98 }
99 verticalAlignment: Text.AlignVCenter
100 fontSize: "medium"
101 color: "#e8e1d0"
102 text: modelData
103 }
105 Indicators.HLine {
106 anchors.top: parent.top
107 color: "#464543"
108 }
110 Indicators.HLine {
111 anchors.bottom: parent.bottom
112 color: "#20201F"
113 }
115 MouseArea {
116 id: __mouseArea
118 anchors.fill: parent
119 onClicked: {
120 actionTextField.text = modelData;
121 }
122 }
124 Rectangle {
125 id: __mask
127 anchors.fill: parent
128 color: "black"
129 opacity: __mouseArea.pressed ? 0.3 : 0.0
130 Behavior on opacity {
131 NumberAnimation {
132 duration: 200
133 easing.type: Easing.OutQuad
134 }
135 }
136 }
137 }
139 }
140 }
142 Item {
143 anchors.top: messagelist.bottom
144 anchors.left: parent.left
145 anchors.right: parent.right
146 height: units.gu(6)
148 ActionTextField {
149 id: actionTextField
151 anchors.fill: parent
152 anchors.margins: units.gu(1)
153 activateEnabled: replyEnabled
155 onActivate: {
156 quickReply.reply(value)
157 }
158 }
160 Indicators.HLine {
161 anchors.top: parent.top
162 color: "#464543"
163 }
164 }