telephant/qml/MessagePopup.qml

103 lines
3.2 KiB
QML
Raw Normal View History

2017-08-29 05:02:56 +00:00
import QtQuick 2.4
2017-08-29 14:28:33 +00:00
import QtQuick.Controls 2.1
import QtQuick.Controls.Material 2.1
2017-08-29 05:02:56 +00:00
import QtQuick.Layouts 1.3
Popup {
property var message
2017-08-29 05:02:56 +00:00
id: popup
modal: true
// focus: true
height: Math.min(mainWindow.height * 0.8, layout.implicitHeight + 32)
2017-08-29 05:02:56 +00:00
closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent
Flickable {
id: flickable
2017-08-29 05:02:56 +00:00
anchors.fill: parent
clip: true
contentHeight: layout.height
2017-08-29 05:02:56 +00:00
ColumnLayout {
id: layout
width: parent.width
MessageView {
showActionButtons: false
visible: message != null
name: message.name
messageid: message.messageid
posturl: message.posturl
author: message.author
authorid: message.authorid
authorurl: message.authorurl
avatar: message.avatar
body: message.body
createdat: message.createdat
actor: message.actor
actorname: message.actorname
actorid: message.actorid
reply: message.reply
replytoid: message.replytoid
replytoauthor: message.replytoauthor
forward: message.forward
mention: message.mention
like: message.like
mediapreview: message.mediapreview
mediaurl: message.mediaurl
liked: message.liked
shared: message.shared
}
2017-08-29 05:02:56 +00:00
Label {
visible: message != null
2019-05-10 18:17:45 +00:00
text: qsTr("Replying to %1").arg(message.name)
opacity: 0.3
}
2017-08-29 05:02:56 +00:00
TextArea {
id: messageArea
Layout.fillWidth: true
Layout.minimumHeight: 128
focus: true
selectByMouse: true
placeholderText: message != null ? qsTr("Post your reply") : qsTr("What's happening?")
wrapMode: TextArea.Wrap
}
2017-08-29 05:02:56 +00:00
RowLayout {
Layout.alignment: Qt.AlignRight
2017-08-29 05:02:56 +00:00
Label {
id: remCharsLabel
2017-08-29 05:02:56 +00:00
Layout.alignment: Qt.AlignVCenter | Qt.AlignRight
2017-08-29 05:02:56 +00:00
font.pointSize: 12
text: accountBridge.postSizeLimit - messageArea.text.length
}
2017-08-29 05:02:56 +00:00
Button {
id: sendButton
enabled: remCharsLabel.text >= 0 && messageArea.text.length > 0
Layout.alignment: Qt.AlignBottom | Qt.AlignRight
highlighted: true
text: message != null ? qsTr("Reply") : qsTr("Post")
2017-08-29 05:02:56 +00:00
onClicked: {
popup.close()
var msg = messageArea.text
2019-05-12 00:49:27 +00:00
var msgid = "";
if (message != null) {
2019-05-12 00:49:27 +00:00
msgid = message.messageid
2019-05-10 18:17:45 +00:00
msg = "@" + message.author + " " + msg
}
2019-05-12 00:49:27 +00:00
uiBridge.postButton(msgid, msg)
messageArea.clear()
}
2017-08-29 05:02:56 +00:00
}
}
}
}
}