diff --git a/imports/NeoChat/Component/Timeline/TextDelegate.qml b/imports/NeoChat/Component/Timeline/TextDelegate.qml
index 9c79348b0..3983b135a 100644
--- a/imports/NeoChat/Component/Timeline/TextDelegate.qml
+++ b/imports/NeoChat/Component/Timeline/TextDelegate.qml
@@ -40,7 +40,7 @@ a{
}
.user-pill{}
-" + (isEmote ? "* " + author.displayName + " " : "") + display + (isEdited ? (" " + i18n("(edited)") + "") : "")
+" + (isEmote ? "* " + author.displayName + " " : "") + model.display + (isEdited ? (" " + i18n("(edited)") + "") : "")
color: Kirigami.Theme.textColor
font.pointSize: isEmoji.test(display) ? Kirigami.Theme.defaultFont.pointSize * 4 : Kirigami.Theme.defaultFont.pointSize
@@ -49,9 +49,7 @@ a{
wrapMode: Text.WordWrap
textFormat: Text.RichText
- onLinkActivated: {
- applicationWindow().handleLink(link, currentRoom)
- }
+ onLinkActivated: applicationWindow().handleLink(link, currentRoom)
MouseArea {
anchors.fill: parent
diff --git a/imports/NeoChat/Component/Timeline/TimelineContainer.qml b/imports/NeoChat/Component/Timeline/TimelineContainer.qml
index 02c431ebd..1828d577f 100644
--- a/imports/NeoChat/Component/Timeline/TimelineContainer.qml
+++ b/imports/NeoChat/Component/Timeline/TimelineContainer.qml
@@ -15,7 +15,7 @@ import NeoChat.Setting 1.0
import NeoChat.Component 1.0
import NeoChat.Dialog 1.0
-Item {
+QQC2.ItemDelegate {
default property alias innerObject : column.children
readonly property bool sentByMe: author.isLocalUser
readonly property bool darkBackground: !sentByMe
@@ -34,10 +34,13 @@ Item {
signal openExternally()
signal replyClicked(string eventID)
- property alias hovered: controlContainer.hovered
+ topPadding: 0
+ bottomPadding: 0
+
+ property alias hoveredBubble: controlContainer.hovered
//height: mainColumn.childrenRect.height + (readMarker ? Kirigami.Units.smallSpacing : 0)
- height: mainColumn.implicitHeight + (readMarker ? Kirigami.Units.smallSpacing : 0)
+ //height: mainColumn.implicitHeight + (readMarker ? Kirigami.Units.smallSpacing : 0)
property int hoverComponentX: column.width - hoverComponent.childWidth + Kirigami.Units.largeSpacing
property int hoverComponentY: -Kirigami.Units.largeSpacing - hoverComponent.childHeight * 1.5
@@ -70,30 +73,8 @@ Item {
};
}
- DragHandler {
- enabled: Kirigami.Settings.isMobile
- yAxis.enabled: false
- xAxis.enabled: true
- xAxis.maximum: 0
- xAxis.minimum: -Kirigami.Units.gridUnit * 4
- onActiveChanged: {
- applicationWindow().pageStack.interactive = true;
- if (!active && parent.x < -Kirigami.Units.gridUnit * 3) {
- replyToMessage(author, message, eventId)
- }
- parent.x = 0;
- }
- }
-
- onXChanged: if (x !== 0) {
- applicationWindow().pageStack.interactive = false;
- } else {
- applicationWindow().pageStack.interactive = true;
- }
-
- ColumnLayout {
+ contentItem: ColumnLayout {
id: mainColumn
- width: parent.width
spacing: 0
SectionDelegate {
@@ -221,28 +202,21 @@ Item {
Layout.fillWidth: true
Layout.leftMargin: Kirigami.Units.gridUnit * 2 + Kirigami.Units.largeSpacing * 2
Layout.topMargin: active ? Kirigami.Units.smallSpacing : 0
+ //Layout.bottomMargin: readMarker ? Kirigami.Units.smallSpacing : 0
active: eventType !== "state" && eventType !== "notice" && reaction != undefined && reaction.length > 0
visible: active
sourceComponent: ReactionDelegate { }
}
}
- Kirigami.Icon {
- id: replyButton
- visible: parent.x < - Kirigami.Units.gridUnit * 1
- opacity: -(parent.x + Kirigami.Units.gridUnit) / Kirigami.Units.gridUnit / 3
- anchors.left: parent.right
- anchors.top: parent.top
- source: "mail-replied-symbolic"
- }
-
- Rectangle {
- width: parent.width * 0.9
- x: parent.width * 0.05
- height: Kirigami.Units.smallSpacing / 2
- anchors.top: mainColumn.bottom
- anchors.topMargin: Kirigami.Units.smallSpacing
- visible: readMarker
- color: Kirigami.Theme.positiveTextColor
+ background: Item {
+ Rectangle {
+ width: parent.width * 0.9
+ x: parent.width * 0.05
+ height: Kirigami.Units.smallSpacing / 2
+ anchors.bottom: parent.bottom
+ visible: readMarker
+ color: Kirigami.Theme.positiveTextColor
+ }
}
}
diff --git a/imports/NeoChat/Page/RoomPage.qml b/imports/NeoChat/Page/RoomPage.qml
index 440a41cee..3513e8b3d 100644
--- a/imports/NeoChat/Page/RoomPage.qml
+++ b/imports/NeoChat/Page/RoomPage.qml
@@ -355,7 +355,7 @@ Kirigami.ScrollablePage {
DelegateChoice {
roleValue: "emote"
delegate: TimelineContainer {
- width: messageListView.width - Kirigami.Units.largeSpacing
+ width: messageListView.width
isLoaded: timelineDelegateChooser.delegateLoaded
isEmote: true
onReplyClicked: goToEvent(eventID)
@@ -370,11 +370,11 @@ Kirigami.ScrollablePage {
Layout.bottomMargin: Kirigami.Units.largeSpacing * 2
TapHandler {
acceptedButtons: Qt.RightButton
- onTapped: openMessageContext(author, display, eventId, toolTip)
+ onTapped: openMessageContext(author, model.display, eventId, toolTip)
}
TapHandler {
acceptedButtons: Qt.LeftButton
- onLongPressed: openMessageContext(author, display, eventId, toolTip)
+ onLongPressed: openMessageContext(author, model.display, eventId, toolTip)
}
}
}
@@ -383,9 +383,7 @@ Kirigami.ScrollablePage {
DelegateChoice {
roleValue: "message"
delegate: TimelineContainer {
- id: timeline
- width: messageListView.width - Kirigami.Units.largeSpacing
-
+ width: messageListView.width
isLoaded: timelineDelegateChooser.delegateLoaded
onReplyClicked: goToEvent(eventID)
@@ -398,11 +396,11 @@ Kirigami.ScrollablePage {
Layout.leftMargin: Kirigami.Units.largeSpacing
TapHandler {
acceptedButtons: Qt.RightButton
- onTapped: openMessageContext(author, display, eventId, toolTip)
+ onTapped: openMessageContext(author, model.display, eventId, toolTip)
}
TapHandler {
acceptedButtons: Qt.LeftButton
- onLongPressed: openMessageContext(author, display, eventId, toolTip)
+ onLongPressed: openMessageContext(author, model.display, eventId, toolTip)
}
}
}
@@ -411,7 +409,7 @@ Kirigami.ScrollablePage {
DelegateChoice {
roleValue: "notice"
delegate: TimelineContainer {
- width: messageListView.width - Kirigami.Units.largeSpacing
+ width: messageListView.width
isLoaded: timelineDelegateChooser.delegateLoaded
onReplyClicked: goToEvent(eventID)
@@ -428,8 +426,6 @@ Kirigami.ScrollablePage {
DelegateChoice {
roleValue: "image"
delegate: TimelineContainer {
- width: messageListView.width - Kirigami.Units.largeSpacing
-
isLoaded: timelineDelegateChooser.delegateLoaded
onReplyClicked: goToEvent(eventID)
@@ -449,9 +445,8 @@ Kirigami.ScrollablePage {
DelegateChoice {
roleValue: "sticker"
delegate: TimelineContainer {
- width: messageListView.width - Kirigami.Units.largeSpacing
-
isLoaded: timelineDelegateChooser.delegateLoaded
+ width: messageListView.width
onReplyClicked: goToEvent(eventID)
hoverComponent: hoverActions
@@ -469,8 +464,7 @@ Kirigami.ScrollablePage {
DelegateChoice {
roleValue: "audio"
delegate: TimelineContainer {
- width: messageListView.width - Kirigami.Units.largeSpacing
-
+ width: messageListView.width
hoverComponent: hoverActions
isLoaded: timelineDelegateChooser.delegateLoaded
@@ -480,11 +474,11 @@ Kirigami.ScrollablePage {
Layout.fillWidth: true
TapHandler {
acceptedButtons: Qt.RightButton
- onTapped: openFileContext(author, display, eventId, toolTip, progressInfo, parent)
+ onTapped: openFileContext(author, model.display, eventId, toolTip, progressInfo, parent)
}
TapHandler {
acceptedButtons: Qt.LeftButton
- onLongPressed: openFileContext(author, display, eventId, toolTip, progressInfo, parent)
+ onLongPressed: openFileContext(author, model.display, eventId, toolTip, progressInfo, parent)
}
}
}
@@ -493,8 +487,7 @@ Kirigami.ScrollablePage {
DelegateChoice {
roleValue: "video"
delegate: TimelineContainer {
- width: messageListView.width - Kirigami.Units.largeSpacing
-
+ width: messageListView.width
hoverComponent: hoverActions
isLoaded: timelineDelegateChooser.delegateLoaded
@@ -510,11 +503,11 @@ Kirigami.ScrollablePage {
TapHandler {
acceptedButtons: Qt.RightButton
- onTapped: openFileContext(author, display, eventId, toolTip, progressInfo, parent)
+ onTapped: openFileContext(author, model.display, eventId, toolTip, progressInfo, parent)
}
TapHandler {
acceptedButtons: Qt.LeftButton
- onLongPressed: openFileContext(author, display, eventId, toolTip, progressInfo, parent)
+ onLongPressed: openFileContext(author, model.display, eventId, toolTip, progressInfo, parent)
}
}
}
@@ -523,7 +516,7 @@ Kirigami.ScrollablePage {
DelegateChoice {
roleValue: "file"
delegate: TimelineContainer {
- width: messageListView.width - Kirigami.Units.largeSpacing
+ width: messageListView.width
hoverComponent: hoverActions
@@ -534,11 +527,11 @@ Kirigami.ScrollablePage {
Layout.fillWidth: true
TapHandler {
acceptedButtons: Qt.RightButton
- onTapped: openFileContext(author, display, eventId, toolTip, progressInfo, parent)
+ onTapped: openFileContext(author, model.display, eventId, toolTip, progressInfo, parent)
}
TapHandler {
acceptedButtons: Qt.LeftButton
- onLongPressed: openFileContext(author, display, eventId, toolTip, progressInfo, parent)
+ onLongPressed: openFileContext(author, model.display, eventId, toolTip, progressInfo, parent)
}
}
}