show forward menu item only for relevant events, changes to ui
2 files changed, 20 insertions, 7 deletions
diff --git a/resources/qml/ForwardCompleter.qml b/resources/qml/ForwardCompleter.qml
index 2b5e6dfe..22d6e5b0 100644
--- a/resources/qml/ForwardCompleter.qml
+++ b/resources/qml/ForwardCompleter.qml
@@ -2,16 +2,19 @@
//
// SPDX-License-Identifier: GPL-3.0-or-later
+import "./delegates/"
import QtQuick 2.9
import QtQuick.Controls 2.3
import im.nheko 1.0
-Popup {
+Dialog {
id: forwardMessagePopup
+ title: qsTr("Forward Message")
x: 400
y: 400
width: 200
+ height: replyPreview.height + roomTextInput.height + completerPopup.height + implicitFooterHeight + implicitHeaderHeight
property var mid
@@ -24,19 +27,27 @@ Popup {
completerPopup.close();
}
- background: Rectangle {
- border.color: "#444"
- }
-
function setMessageEventId(mid_in) {
mid = mid_in;
}
+ Reply {
+ id: replyPreview
+ anchors.left: parent.left
+ anchors.right: parent.right
+ anchors.top: parent.top
+ modelData: TimelineManager.timeline ? TimelineManager.timeline.getDump(mid, "") : {
+ }
+ userColor: TimelineManager.userColor(modelData.userId, colors.window)
+ }
+
MatrixTextField {
id: roomTextInput
width: forwardMessagePopup.width - forwardMessagePopup.leftPadding * 2
+ anchors.top: replyPreview.bottom
+
color: colors.text
onTextEdited: {
completerPopup.completer.searchString = text;
@@ -58,7 +69,8 @@ Popup {
Completer {
id: completerPopup
- y: roomTextInput.height + roomTextInput.bottomPadding
+ y: replyPreview.height + roomTextInput.height + roomTextInput.bottomPadding
+
width: forwardMessagePopup.width - forwardMessagePopup.leftPadding * 2
completerName: "room"
avatarHeight: 24
diff --git a/resources/qml/TimelineView.qml b/resources/qml/TimelineView.qml
index 6c75eb74..e08c8a1e 100644
--- a/resources/qml/TimelineView.qml
+++ b/resources/qml/TimelineView.qml
@@ -141,11 +141,12 @@ Page {
}
Platform.MenuItem {
+ visible: messageContextMenu.eventType == MtxEvent.ImageMessage || messageContextMenu.eventType == MtxEvent.VideoMessage || messageContextMenu.eventType == MtxEvent.AudioMessage || messageContextMenu.eventType == MtxEvent.FileMessage || messageContextMenu.eventType == MtxEvent.Sticker || messageContextMenu.eventType == MtxEvent.TextMessage|| messageContextMenu.eventType == MtxEvent.LocationMessage || messageContextMenu.eventType == MtxEvent.EmoteMessage || messageContextMenu.eventType == MtxEvent.NoticeMessage
text: qsTr("Forward")
onTriggered: {
var forwardMess = forwardCompleterComponent.createObject(timelineRoot);
+ forwardMess.setMessageEventId(messageContextMenu.eventId);
forwardMess.open();
- forwardMess.setMessageEventId(messageContextMenu.eventId)
}
}
|