/
s5z6
/
telegraf
Обзор
Документация
Войти
/
s5z6
/
telegraf
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
qml/components/InReplyToRow.qml
87 строк
3 KB
mbarashkov
Рефакторинг зависимости tdLibState
04 июн 2025, 16:08
04 июн 2025, 16:08
b0f91f3
Код
Авторство
О чём код?
import QtQuick 2.6 import Sailfish.Silica 1.0 import "../components" import "../js/functions.js" as Functions import "../js/twemoji.js" as Emoji import ru.telegrafaurora.telegraf 1.0 Row { id: inReplyToRow spacing: Theme.paddingSmall width: parent.width height: inReplyToMessageColumn.height property var inReplyToMessage; property bool editable: false; property bool inReplyToMessageDeleted: false; signal clearRequested() onInReplyToMessageChanged: { if (inReplyToMessage) { inReplyToUserText.text = (inReplyToMessage.sender_id["@type"] === "messageSenderChat" ? page.chatInformation.title : (inReplyToRow.inReplyToMessage.sender_id.user_id !== TDLibState.myUserId) ? Functions.getUserName(TDLibDataRepository.getUserById(inReplyToRow.inReplyToMessage.sender_id.user_id)) : qsTr("You")); inReplyToMessageText.text = Emoji.emojify(Functions.getMessageText(inReplyToRow.inReplyToMessage, true, TDLibState.myUserId, false), inReplyToMessageText.font.pixelSize); } } onInReplyToMessageDeletedChanged: { if (inReplyToMessageDeleted) { inReplyToUserText.text = qsTr("Unknown") inReplyToMessageText.text = "<i>" + qsTr("This message was deleted") + "</i>"; } } Rectangle { id: inReplyToMessageRectangle height: inReplyToMessageColumn.height width: Theme.paddingSmall color: Theme.secondaryHighlightColor border.width: 0 } Row { width: parent.width - Theme.paddingSmall - inReplyToMessageRectangle.width spacing: Theme.paddingSmall Column { id: inReplyToMessageColumn spacing: Theme.paddingSmall width: parent.width - ( inReplyToRow.editable ? ( Theme.paddingSmall + removeInReplyToIconButton.width ) : 0 ) Label { id: inReplyToUserText width: parent.width font.pixelSize: Theme.fontSizeExtraSmall font.weight: Font.ExtraBold maximumLineCount: 1 truncationMode: TruncationMode.Fade textFormat: Text.StyledText horizontalAlignment: Text.AlignLeft } Label { id: inReplyToMessageText font.pixelSize: Theme.fontSizeExtraSmall width: parent.width textFormat: Text.StyledText truncationMode: TruncationMode.Fade maximumLineCount: 1 linkColor: Theme.highlightColor onLinkActivated: { Functions.handleLink(link); } } } IconButton { id: removeInReplyToIconButton icon.source: "image://theme/icon-m-clear" visible: inReplyToRow.editable onClicked: { inReplyToRow.clearRequested(); } } } }