Use EmojiDialog popup in chatbar

This converts the emoji dialog in the chatbar to be the same popup as for reactions. This includes:

- EmojiPicker and ReactionPicker were already similar and are made identical, as such ReactionPicker no longer needed
- Emoji dialog used for both reactions and chatbar emojis
- Add some parameters to allow for different use cases (include custom emojis and whether selection closes the popup)

![image](/uploads/c71bb5ffdc6914efad654998a886ade6/image.png)
This commit is contained in:
James Graham
2022-12-06 14:49:25 +00:00
parent 1ab5bdb600
commit b5d8acf9de
7 changed files with 62 additions and 141 deletions

View File

@@ -14,7 +14,6 @@ QQC2.ToolBar {
id: chatBar
property alias inputFieldText: inputField.text
property alias textField: inputField
property alias emojiPaneOpened: emojiButton.checked
property alias cursorPosition: inputField.cursorPosition
signal closeAllTriggered()
@@ -205,6 +204,14 @@ QQC2.ToolBar {
display: QQC2.AbstractButton.IconOnly
checkable: true
onClicked: {
if (emojiDialog.visible) {
emojiDialog.close()
} else {
emojiDialog.open()
}
}
QQC2.ToolTip.text: text
QQC2.ToolTip.visible: hovered
}
@@ -224,6 +231,19 @@ QQC2.ToolBar {
}
}
EmojiDialog {
id: emojiDialog
x: parent.width - implicitWidth
y: -implicitHeight - Kirigami.Units.smallSpacing
modal: false
includeCustom: true
closeOnChosen: false
onChosen: insertText(emoji)
onClosed: if (emojiButton.checked) emojiButton.checked = false
}
CompletionMenu {
id: completionMenu
height: implicitHeight