From f4ea0b215d64dda5860a9e75f7771884d786a828 Mon Sep 17 00:00:00 2001 From: Joseph Donofry Date: Sat, 16 May 2020 15:52:51 -0400 Subject: Attach emoji picker picked to reaction sender --- resources/qml/emoji/EmojiButton.qml | 4 +++- resources/qml/emoji/EmojiPicker.qml | 16 +++++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) (limited to 'resources/qml/emoji') diff --git a/resources/qml/emoji/EmojiButton.qml b/resources/qml/emoji/EmojiButton.qml index 0940adfe..ce856db4 100644 --- a/resources/qml/emoji/EmojiButton.qml +++ b/resources/qml/emoji/EmojiButton.qml @@ -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) } \ No newline at end of file diff --git a/resources/qml/emoji/EmojiPicker.qml b/resources/qml/emoji/EmojiPicker.qml index 3a0eb365..8618e63f 100644 --- a/resources/qml/emoji/EmojiPicker.qml +++ b/resources/qml/emoji/EmojiPicker.qml @@ -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 -- cgit 1.5.1