Implement sending stickers

MSC2545 image packs are used as source.
This commit is contained in:
Tobias Fella
2023-05-05 14:29:18 +00:00
parent 443d709eb8
commit 96c1b98d02
15 changed files with 622 additions and 24 deletions

View File

@@ -16,8 +16,10 @@ QQC2.ScrollView {
required property bool withCustom
readonly property var searchCategory: withCustom ? EmojiModel.Search : EmojiModel.SearchNoCustom
required property QtObject header
property bool stickers: false
signal chosen(string unicode)
signal stickerChosen(int index)
onActiveFocusChanged: if (activeFocus) {
emojis.forceActiveFocus()
@@ -48,15 +50,19 @@ QQC2.ScrollView {
delegate: EmojiDelegate {
id: emojiDelegate
checked: emojis.currentIndex === model.index
emoji: modelData.unicode
name: modelData.shortName
emoji: !!modelData ? modelData.unicode : model.url
name: !!modelData ? modelData.shortName : model.body
width: emojis.cellWidth
height: emojis.cellHeight
isImage: emojiGrid.stickers
Keys.onEnterPressed: clicked()
Keys.onReturnPressed: clicked()
onClicked: {
if (emojiGrid.stickers) {
emojiGrid.stickerChosen(model.index)
}
emojiGrid.chosen(modelData.isCustom ? modelData.shortName : modelData.unicode)
EmojiModel.emojiUsed(modelData)
}
@@ -69,7 +75,7 @@ QQC2.ScrollView {
tones.open()
tones.forceActiveFocus()
}
showTones: EmojiModel.tones(modelData.shortName).length > 0
showTones: !!modelData && EmojiModel.tones(modelData.shortName).length > 0
}
Kirigami.PlaceholderMessage {