132 lines
3.9 KiB
QML
132 lines
3.9 KiB
QML
|
import QtQuick 2.15
|
||
|
import QtQuick.Controls 2.15
|
||
|
import QtQuick.Layouts 1.15
|
||
|
|
||
|
import StatusQ.Core.Theme 0.1
|
||
|
|
||
|
import Storybook 1.0
|
||
|
|
||
|
import utils 1.0
|
||
|
import shared.views.chat 1.0
|
||
|
|
||
|
SplitView {
|
||
|
id: root
|
||
|
|
||
|
Logs { id: logs }
|
||
|
|
||
|
ListModel {
|
||
|
id: emojiReactionsModel
|
||
|
ListElement {
|
||
|
emojiId: 1
|
||
|
filename: "emojiReactions/heart"
|
||
|
didIReactWithThisEmoji: false
|
||
|
}
|
||
|
ListElement {
|
||
|
emojiId: 2
|
||
|
filename: "emojiReactions/thumbsUp"
|
||
|
didIReactWithThisEmoji: false
|
||
|
}
|
||
|
ListElement {
|
||
|
emojiId: 3
|
||
|
filename: "emojiReactions/thumbsDown"
|
||
|
didIReactWithThisEmoji: false
|
||
|
}
|
||
|
ListElement {
|
||
|
emojiId: 4
|
||
|
filename: "emojiReactions/laughing"
|
||
|
didIReactWithThisEmoji: false
|
||
|
}
|
||
|
ListElement {
|
||
|
emojiId: 5
|
||
|
filename: "emojiReactions/sad"
|
||
|
didIReactWithThisEmoji: false
|
||
|
}
|
||
|
ListElement {
|
||
|
emojiId: 6
|
||
|
filename: "emojiReactions/angry"
|
||
|
didIReactWithThisEmoji: false
|
||
|
}
|
||
|
}
|
||
|
|
||
|
SplitView {
|
||
|
orientation: Qt.Vertical
|
||
|
SplitView.fillWidth: true
|
||
|
|
||
|
Rectangle {
|
||
|
SplitView.fillWidth: true
|
||
|
SplitView.fillHeight: true
|
||
|
color: Theme.palette.statusAppLayout.rightPanelBackgroundColor
|
||
|
|
||
|
Button {
|
||
|
anchors.centerIn: parent
|
||
|
text: "Reopen"
|
||
|
onClicked: messageContextMenuView.open()
|
||
|
}
|
||
|
|
||
|
MessageContextMenuView {
|
||
|
id: messageContextMenuView
|
||
|
anchors.centerIn: parent
|
||
|
visible: true
|
||
|
closePolicy: Popup.NoAutoClose
|
||
|
|
||
|
messageId: "Oxdeadbeef"
|
||
|
reactionModel: emojiReactionsModel
|
||
|
messageContentType: Constants.messageContentType.messageType
|
||
|
chatType: Constants.chatType.oneToOne
|
||
|
isDebugEnabled: isDebugEnabledCheckBox.checked
|
||
|
hideDisabledItems: ctrlHideDisabled.checked
|
||
|
amIChatAdmin: ctrlChatAdmin.checked
|
||
|
canPin: true
|
||
|
pinnedMessage: ctrlPinned.checked
|
||
|
|
||
|
onPinMessage: logs.logEvent(`onPinMessage: ${messageContextMenuView.messageId}`)
|
||
|
onUnpinMessage: logs.logEvent(`onUnpinMessage: ${messageContextMenuView.messageId}`)
|
||
|
onPinnedMessagesLimitReached: logs.logEvent(`onPinnedMessagesLimitReached: ${messageContextMenuView.messageId}`)
|
||
|
onMarkMessageAsUnread: logs.logEvent(`onMarkMessageAsUnread: ${messageContextMenuView.messageId}`)
|
||
|
onToggleReaction: (emojiId) => logs.logEvent("onToggleReaction", ["emojiId"], arguments)
|
||
|
onDeleteMessage: logs.logEvent(`onDeleteMessage: ${messageContextMenuView.messageId}`)
|
||
|
onEditClicked: logs.logEvent(`onEditClicked: ${messageContextMenuView.messageId}`)
|
||
|
onShowReplyArea: (senderId) => logs.logEvent("onShowReplyArea", ["senderId"], arguments)
|
||
|
onCopyToClipboard: (text) => logs.logEvent("onCopyToClipboard", ["text"], arguments)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
LogsAndControlsPanel {
|
||
|
id: logsAndControlsPanel
|
||
|
|
||
|
SplitView.minimumWidth: 150
|
||
|
SplitView.preferredWidth: 250
|
||
|
|
||
|
logsView.logText: logs.logText
|
||
|
|
||
|
controls: ColumnLayout {
|
||
|
spacing: 16
|
||
|
|
||
|
CheckBox {
|
||
|
id: isDebugEnabledCheckBox
|
||
|
text: "Enable Debug"
|
||
|
}
|
||
|
|
||
|
CheckBox {
|
||
|
id: ctrlHideDisabled
|
||
|
text: "Hide disabled items"
|
||
|
checked: true
|
||
|
}
|
||
|
|
||
|
CheckBox {
|
||
|
id: ctrlChatAdmin
|
||
|
text: "Chat Admin"
|
||
|
checked: false
|
||
|
}
|
||
|
|
||
|
CheckBox {
|
||
|
id: ctrlPinned
|
||
|
text: "Pinned message?"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// category: Views
|