Skip to content
Snippets Groups Projects
Verified Commit 570d7b8b authored by Nicolas Werner's avatar Nicolas Werner
Browse files

Prepare for adding proxy before chat.model

parent 78784bab
No related branches found
No related tags found
No related merge requests found
......@@ -91,7 +91,7 @@ Item {
delegate: TextButton {
required property string modelData
visible: chat.model ? chat.model.permissions.canSend(MtxEvent.Reaction) : false
visible: room ? room.permissions.canSend(MtxEvent.Reaction) : false
Layout.preferredHeight: fontMetrics.height
font.family: Settings.emojiFont
......@@ -116,14 +116,14 @@ Item {
ToolTip.delay: Nheko.tooltipDelay
ToolTip.text: qsTr("Edit")
onClicked: {
if (row.model.isEditable) chat.model.edit = row.model.eventId;
if (row.model.isEditable) room.edit = row.model.eventId;
}
}
ImageButton {
id: reactButton
visible: chat.model ? chat.model.permissions.canSend(MtxEvent.Reaction) : false
visible: room ? room.permissions.canSend(MtxEvent.Reaction) : false
width: 16
hoverEnabled: true
image: ":/icons/icons/ui/smile.svg"
......@@ -140,27 +140,27 @@ Item {
ImageButton {
id: threadButton
visible: chat.model ? chat.model.permissions.canSend(MtxEvent.TextMessage) : false
visible: room ? room.permissions.canSend(MtxEvent.TextMessage) : false
width: 16
hoverEnabled: true
image: row.model.threadId ? ":/icons/icons/ui/thread.svg" : ":/icons/icons/ui/new-thread.svg"
image: (row.model && row.model.threadId) ? ":/icons/icons/ui/thread.svg" : ":/icons/icons/ui/new-thread.svg"
ToolTip.visible: hovered
ToolTip.delay: Nheko.tooltipDelay
ToolTip.text: row.model.threadId ? qsTr("Reply in thread") : qsTr("New thread")
onClicked: chat.model.thread = (row.model.threadId || row.model.eventId)
ToolTip.text: (row.model && row.model.threadId) ? qsTr("Reply in thread") : qsTr("New thread")
onClicked: room.thread = (row.model.threadId || row.model.eventId)
}
ImageButton {
id: replyButton
visible: chat.model ? chat.model.permissions.canSend(MtxEvent.TextMessage) : false
visible: room ? room.permissions.canSend(MtxEvent.TextMessage) : false
width: 16
hoverEnabled: true
image: ":/icons/icons/ui/reply.svg"
ToolTip.visible: hovered
ToolTip.delay: Nheko.tooltipDelay
ToolTip.text: qsTr("Reply")
onClicked: chat.model.reply = row.model.eventId
onClicked: room.reply = row.model.eventId
}
ImageButton {
......@@ -205,37 +205,37 @@ Item {
onActivated: {
if(room.input.uploads.length > 0)
room.input.declineUploads();
else if(chat.model.reply)
chat.model.reply = undefined;
else if (chat.model.edit)
chat.model.edit = undefined;
else if(room.reply)
room.reply = undefined;
else if (room.edit)
room.edit = undefined;
else
chat.model.thread = undefined
room.thread = undefined
TimelineManager.focusMessageInput();
}
}
Shortcut {
sequence: "Alt+Up"
onActivated: chat.model.reply = chat.model.indexToId(chat.model.reply ? chat.model.idToIndex(chat.model.reply) + 1 : 0)
onActivated: room.reply = chat.model.indexToId(room.reply ? chat.model.idToIndex(room.reply) + 1 : 0)
}
Shortcut {
sequence: "Alt+Down"
onActivated: {
var idx = chat.model.reply ? chat.model.idToIndex(chat.model.reply) - 1 : -1;
chat.model.reply = idx >= 0 ? chat.model.indexToId(idx) : null;
var idx = room.reply ? chat.model.idToIndex(room.reply) - 1 : -1;
room.reply = idx >= 0 ? chat.model.indexToId(idx) : null;
}
}
Shortcut {
sequence: "Alt+F"
onActivated: {
if (chat.model.reply) {
if (room.reply) {
var forwardMess = forwardCompleterComponent.createObject(timelineRoot);
forwardMess.setMessageEventId(chat.model.reply);
forwardMess.setMessageEventId(room.reply);
forwardMess.open();
chat.model.reply = null;
room.reply = null;
timelineRoot.destroyOnClose(forwardMess);
}
}
......@@ -244,7 +244,7 @@ Item {
Shortcut {
sequence: "Ctrl+E"
onActivated: {
chat.model.edit = chat.model.reply;
room.edit = room.reply;
}
}
......@@ -255,8 +255,8 @@ Item {
// force current read index to update
onTriggered: {
if (chat.model)
chat.model.setCurrentIndex(chat.model.currentIndex);
if (room)
room.setCurrentIndex(room.currentIndex);
}
interval: 1000
......@@ -314,14 +314,14 @@ Item {
Connections {
function onRoomAvatarUrlChanged() {
messageUserAvatar.url = chat.model.avatarUrl(userId).replace("mxc://", "image://MxcImage/");
messageUserAvatar.url = room.avatarUrl(userId).replace("mxc://", "image://MxcImage/");
}
function onScrollToIndex(index) {
chat.positionViewAtIndex(index, ListView.Center);
}
target: chat.model
target: room
}
property int remainingWidth: chat.delegateMaxWidth - spacing - messageUserAvatar.width
AbstractButton {
......@@ -335,7 +335,7 @@ Item {
ToolTip.visible: hovered
ToolTip.delay: Nheko.tooltipDelay
ToolTip.text: userId
onClicked: chat.model.openUserProfile(userId)
onClicked: room.openUserProfile(userId)
leftInset: 0
rightInset: 0
leftPadding: 0
......@@ -412,7 +412,7 @@ Item {
required property string day
required property string previousMessageDay
required property string userName
property bool scrolledToThis: eventId === chat.model.scrollTarget && (y + height > chat.y + chat.contentY && y < chat.y + chat.height + chat.contentY)
property bool scrolledToThis: eventId === room.scrollTarget && (y + height > chat.y + chat.contentY && y < chat.y + chat.height + chat.contentY)
anchors.horizontalCenter: parent ? parent.horizontalCenter : undefined
width: chat.delegateMaxWidth
......@@ -523,7 +523,7 @@ Item {
}
ScriptAction {
script: chat.model.eventShown()
script: room.eventShown()
}
}
......@@ -548,7 +548,7 @@ Item {
footer: Item {
anchors.horizontalCenter: parent.horizontalCenter
anchors.margins: Nheko.paddingLarge
visible: chat.model && chat.model.paginationInProgress
visible: room && room.paginationInProgress
// hacky, but works
height: loadingSpinner.height + 2 * Nheko.paddingLarge
......@@ -557,7 +557,7 @@ Item {
anchors.centerIn: parent
anchors.margins: Nheko.paddingLarge
running: chat.model && chat.model.paginationInProgress
running: room && room.paginationInProgress
foreground: Nheko.colors.mid
z: 3
}
......@@ -772,7 +772,7 @@ Item {
visible: true
enabled: visible
text: qsTr("&Go to quoted message")
onTriggered: chat.model.showEvent(replyContextMenu.eventId)
onTriggered: room.showEvent(replyContextMenu.eventId)
}
}
......
......@@ -91,7 +91,7 @@ Rectangle {
anchors.margins: 8
anchors.top: parent.top
hoverEnabled: true
buttonTextColor: TimelineManager.userColor(room.thread, Nheko.colors.base)
buttonTextColor: room ? TimelineManager.userColor(room.thread, Nheko.colors.base) : undefined
image: ":/icons/icons/ui/dismiss_thread.svg"
width: 22
height: 22
......
......@@ -67,7 +67,7 @@ AbstractButton {
onPressAndHold: messageContextMenu.show(eventId, threadId, type, isSender, isEncrypted, isEditable, contentItem.child.hoveredLink, contentItem.child.copyText)
onDoubleClicked: chat.model.reply = eventId
onDoubleClicked: room.reply = eventId
DragHandler {
id: draghandler
......@@ -76,7 +76,7 @@ AbstractButton {
xAxis.minimum: -100
onActiveChanged: {
if(!active && (x < -70 || x > 70))
chat.model.reply = eventId
room.reply = eventId
}
}
states: State {
......@@ -245,13 +245,13 @@ AbstractButton {
}
Image {
visible: isEdited || eventId == chat.model.edit
visible: isEdited || eventId == room.edit
Layout.alignment: Qt.AlignRight | Qt.AlignTop
height: parent.iconSize
width: parent.iconSize
sourceSize.width: parent.iconSize * Screen.devicePixelRatio
sourceSize.height: parent.iconSize * Screen.devicePixelRatio
source: "image://colorimage/:/icons/icons/ui/edit.svg?" + ((eventId == chat.model.edit) ? Nheko.colors.highlight : Nheko.colors.buttonText)
source: "image://colorimage/:/icons/icons/ui/edit.svg?" + ((eventId == room.edit) ? Nheko.colors.highlight : Nheko.colors.buttonText)
ToolTip.visible: editHovered.hovered
ToolTip.delay: Nheko.tooltipDelay
ToolTip.text: qsTr("Edited")
......@@ -318,7 +318,7 @@ AbstractButton {
}
color: Nheko.colors.highlight
width: row.maxWidth
visible: (r.index > 0 && (chat.model.fullyReadEventId == r.eventId))
visible: (r.index > 0 && (room.fullyReadEventId == r.eventId))
height: visible ? 3 : 0
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment