Warning, /network/tokodon/src/content/ui/Components/Emoji/EmojiTonesPicker.qml is written in an unsupported language. File is not indexed.
0001 // SPDX-FileCopyrightText: 2022 Tobias Fella <tobias.fella@kde.org> 0002 // SPDX-License-Identifier: GPL-2.0-or-later 0003 0004 import QtQuick 0005 import QtQuick.Controls 2 as QQC2 0006 import org.kde.kirigami 2 as Kirigami 0007 import org.kde.tokodon 0008 0009 import ".." 0010 0011 QQC2.Popup { 0012 id: tones 0013 0014 signal chosen(string emoji) 0015 0016 Component.onCompleted: { 0017 tonesList.currentIndex = 0; 0018 tonesList.forceActiveFocus(); 0019 } 0020 0021 required property string shortName 0022 required property string unicode 0023 required property int categoryIconSize 0024 width: tones.categoryIconSize * tonesList.count + 2 * padding 0025 height: tones.categoryIconSize + 2 * padding 0026 y: -height 0027 padding: 2 0028 modal: true 0029 dim: true 0030 clip: false 0031 onOpened: x = Math.min(parent.mapFromGlobal(QQC2.Overlay.overlay.width - tones.width, 0).x, -(width - parent.width) / 2) 0032 background: PopupShadow {} 0033 0034 ListView { 0035 id: tonesList 0036 width: parent.width 0037 height: parent.height 0038 orientation: Qt.Horizontal 0039 model: EmojiModel.tones(tones.shortName) 0040 keyNavigationEnabled: true 0041 keyNavigationWraps: true 0042 0043 delegate: EmojiDelegate { 0044 id: emojiDelegate 0045 checked: tonesList.currentIndex === model.index 0046 emoji: modelData.unicode 0047 name: modelData.shortName 0048 0049 width: tones.categoryIconSize 0050 height: width 0051 0052 Keys.onEnterPressed: clicked() 0053 Keys.onReturnPressed: clicked() 0054 onClicked: { 0055 tones.chosen(modelData.unicode) 0056 EmojiModel.emojiUsed(AccountManager.selectedAccount, name) 0057 tones.close() 0058 } 0059 } 0060 } 0061 }