diff --git a/src/app/modules/main/chat_section/chat_content/messages/view.nim b/src/app/modules/main/chat_section/chat_content/messages/view.nim index 97206c60fc..eba4f49732 100644 --- a/src/app/modules/main/chat_section/chat_content/messages/view.nim +++ b/src/app/modules/main/chat_section/chat_content/messages/view.nim @@ -165,4 +165,7 @@ QtObject: proc refreshAMessageUserRespondedTo(self: View, msgId: string) {.signal.} proc emitRefreshAMessageUserRespondedToSignal*(self: View, msgId: string) = - self.refreshAMessageUserRespondedTo(msgId) \ No newline at end of file + self.refreshAMessageUserRespondedTo(msgId) + + proc jumpToMessage*(self: View, messageId: string) {.slot.} = + self.delegate.scrollToMessage(messageId) diff --git a/ui/app/AppLayouts/Chat/popups/PinnedMessagesPopup.qml b/ui/app/AppLayouts/Chat/popups/PinnedMessagesPopup.qml index 40523f5902..42b101de32 100644 --- a/ui/app/AppLayouts/Chat/popups/PinnedMessagesPopup.qml +++ b/ui/app/AppLayouts/Chat/popups/PinnedMessagesPopup.qml @@ -15,6 +15,7 @@ StatusDialog { property var store property var messageStore + property var messagesModule property var pinnedMessagesModel //this doesn't belong to the messageStore, it is a part of the ChatContentStore, but we didn't introduce it yet. property string messageToPin property string messageToUnpin @@ -150,6 +151,10 @@ StatusDialog { onOpenProfileClicked: { Global.openProfilePopup(publicKey, null, state) } + + onJumpToMessage: { + root.messagesModule.jumpToMessage(messageId); + } } } diff --git a/ui/app/AppLayouts/Chat/views/ChatContentView.qml b/ui/app/AppLayouts/Chat/views/ChatContentView.qml index 46136e46fd..9311d96bc9 100644 --- a/ui/app/AppLayouts/Chat/views/ChatContentView.qml +++ b/ui/app/AppLayouts/Chat/views/ChatContentView.qml @@ -95,6 +95,7 @@ ColumnLayout { Global.openPopup(Global.pinnedMessagesPopup, { store: rootStore, messageStore: messageStore, + messagesModule: chatContentModule.messagesModule, pinnedMessagesModel: chatContentModule.pinnedMessagesModel, messageToPin: messageId }) diff --git a/ui/app/AppLayouts/Chat/views/ChatHeaderContentView.qml b/ui/app/AppLayouts/Chat/views/ChatHeaderContentView.qml index 92fe595710..a7529a9537 100644 --- a/ui/app/AppLayouts/Chat/views/ChatHeaderContentView.qml +++ b/ui/app/AppLayouts/Chat/views/ChatHeaderContentView.qml @@ -291,12 +291,13 @@ RowLayout { onPinnedMessagesCountClicked: { if(!chatContentModule) { - console.debug("error on open pinned messages - chat content module is not set") + console.warn("error on open pinned messages - chat content module is not set") return } Global.openPopup(Global.pinnedMessagesPopup, { store: rootStore, messageStore: root.rootStore.messageStore, + messagesModule: chatContentModule.messagesModule, pinnedMessagesModel: chatContentModule.pinnedMessagesModel, messageToPin: "" }) diff --git a/ui/app/AppLayouts/Chat/views/ChatMessagesView.qml b/ui/app/AppLayouts/Chat/views/ChatMessagesView.qml index fd7cc13e41..4670d3e669 100644 --- a/ui/app/AppLayouts/Chat/views/ChatMessagesView.qml +++ b/ui/app/AppLayouts/Chat/views/ChatMessagesView.qml @@ -7,6 +7,7 @@ import QtGraphicalEffects 1.13 import QtQuick.Dialogs 1.3 import StatusQ.Core 0.1 +import StatusQ.Core.Theme 0.1 import StatusQ.Controls 0.1 import StatusQ.Components 0.1 @@ -19,11 +20,6 @@ import shared.status 1.0 import shared.controls 1.0 import shared.views.chat 1.0 -import StatusQ.Core 0.1 -import StatusQ.Core.Theme 0.1 -import StatusQ.Controls 0.1 -import StatusQ.Components 0.1 - import "../controls" Item { diff --git a/ui/imports/shared/views/chat/MessageView.qml b/ui/imports/shared/views/chat/MessageView.qml index 6fc0828cb7..f2c645f134 100644 --- a/ui/imports/shared/views/chat/MessageView.qml +++ b/ui/imports/shared/views/chat/MessageView.qml @@ -744,6 +744,7 @@ Loader { Global.openPopup(Global.pinnedMessagesPopup, { store: root.rootStore, messageStore: messageStore, + messagesModule: chatContentModule.messagesModule, pinnedMessagesModel: chatContentModule.pinnedMessagesModel, messageToPin: root.messageId });