mirror of
https://github.com/Nheko-Reborn/nheko.git
synced 2024-11-22 11:00:48 +03:00
Attach emoji picker picked to reaction sender
This commit is contained in:
parent
a5778bdf40
commit
f4ea0b215d
4 changed files with 21 additions and 4 deletions
|
@ -87,6 +87,8 @@ MouseArea {
|
|||
ToolTip.visible: hovered
|
||||
ToolTip.text: qsTr("React")
|
||||
emojiPicker: emojiPopup
|
||||
room_id: model.roomId
|
||||
event_id: model.id
|
||||
// onClicked: chat.model.reactAction(model.id)
|
||||
}
|
||||
ImageButton {
|
||||
|
|
|
@ -46,6 +46,9 @@ Page {
|
|||
category: Emoji.Category.People
|
||||
sourceModel: EmojiModel {}
|
||||
}
|
||||
Component.onCompleted: {
|
||||
emojiPopup.picked.connect(timelineManager.queueReactionMessage)
|
||||
}
|
||||
}
|
||||
|
||||
Menu {
|
||||
|
|
|
@ -8,9 +8,11 @@ import "../"
|
|||
ImageButton {
|
||||
property var colors: currentActivePalette
|
||||
property var emojiPicker
|
||||
property string room_id
|
||||
property string event_id
|
||||
|
||||
image: ":/icons/icons/ui/smile.png"
|
||||
id: emojiButton
|
||||
onClicked: emojiPicker.visible ? emojiPicker.close() : emojiPicker.show(emojiButton)
|
||||
onClicked: emojiPicker.visible ? emojiPicker.close() : emojiPicker.show(emojiButton, room_id, event_id)
|
||||
|
||||
}
|
|
@ -10,12 +10,19 @@ import "../"
|
|||
|
||||
Popup {
|
||||
|
||||
function show(showAt) {
|
||||
function show(showAt, room_id, event_id) {
|
||||
console.debug("Showing emojiPicker for " + event_id + "in room " + room_id)
|
||||
parent = showAt
|
||||
x = Math.round((showAt.width - width) / 2)
|
||||
y = showAt.height
|
||||
emojiPopup.room_id = room_id
|
||||
emojiPopup.event_id = event_id
|
||||
open()
|
||||
}
|
||||
signal picked(string room_id, string event_id, string key)
|
||||
|
||||
property string room_id
|
||||
property string event_id
|
||||
property var colors
|
||||
property alias model: gridView.model
|
||||
property var textArea
|
||||
|
@ -80,7 +87,7 @@ Popup {
|
|||
ToolTip.text: model.shortName
|
||||
ToolTip.visible: hovered
|
||||
|
||||
// give the emoji a little oomf
|
||||
// give the emoji a little oomf
|
||||
DropShadow {
|
||||
width: parent.width;
|
||||
height: parent.height;
|
||||
|
@ -92,7 +99,10 @@ Popup {
|
|||
source: parent.contentItem
|
||||
}
|
||||
// TODO: emit a signal and maybe add favorites at some point?
|
||||
//onClicked: textArea.insert(textArea.cursorPosition, modelData.unicode)
|
||||
onClicked: {
|
||||
console.debug("Picked " + model.unicode + "in response to " + emojiPopup.event_id + " in room " + emojiPopup.room_id)
|
||||
emojiPopup.picked(emojiPopup.room_id, emojiPopup.event_id, model.unicode)
|
||||
}
|
||||
}
|
||||
|
||||
// Search field
|
||||
|
|
Loading…
Reference in a new issue