Skip to content
Snippets Groups Projects
Reply.qml 2.6 KiB
Newer Older
  • Learn to ignore specific revisions
  • Nicolas Werner's avatar
    Nicolas Werner committed
    // SPDX-FileCopyrightText: 2021 Nheko Contributors
    
    Nicolas Werner's avatar
    Nicolas Werner committed
    // SPDX-License-Identifier: GPL-3.0-or-later
    
    
    import QtQuick 2.12
    
    import QtQuick.Controls 2.3
    
    import QtQuick.Layouts 1.2
    import QtQuick.Window 2.2
    
    Nicolas Werner's avatar
    Nicolas Werner committed
    import im.nheko 1.0
    
    
    
        property color userColor: "red"
    
        property double proportionalHeight
        property int type
        property string typeString
        property int originalWidth
        property string blurhash
        property string body
        property string formattedBody
        property string eventId
        property string filename
        property string filesize
        property string url
        property bool isOnlyEmoji
        property string userId
        property string userName
        property string thumbnailUrl
    
    
        width: parent.width
        height: replyContainer.height
    
    
        TapHandler {
    
            onSingleTapped: chat.model.showEvent(eventId)
    
            gesturePolicy: TapHandler.ReleaseWithinBounds
    
            anchors.fill: parent
            cursorShape: Qt.PointingHandCursor
        }
    
        Rectangle {
            id: colorLine
    
            anchors.top: replyContainer.top
            anchors.bottom: replyContainer.bottom
            width: 4
    
            color: TimelineManager.userColor(userId, Nheko.colors.window)
    
        }
    
        Column {
            id: replyContainer
    
            anchors.left: colorLine.right
            anchors.leftMargin: 4
            width: parent.width - 8
    
            Text {
    
                id: userName_
    
                text: TimelineManager.escapeEmoji(userName)
                color: r.userColor
    
                textFormat: Text.RichText
    
    
                TapHandler {
    
                    onSingleTapped: chat.model.openUserProfile(userId)
    
                    gesturePolicy: TapHandler.ReleaseWithinBounds
    
                }
    
            }
    
            MessageDelegate {
                id: reply
    
    
                blurhash: r.blurhash
                body: r.body
                formattedBody: r.formattedBody
                eventId: r.eventId
                filename: r.filename
                filesize: r.filesize
                proportionalHeight: r.proportionalHeight
                type: r.type
                typeString: r.typeString ?? ""
                url: r.url
                thumbnailUrl: r.thumbnailUrl
                originalWidth: r.originalWidth
                isOnlyEmoji: r.isOnlyEmoji
                userId: r.userId
                userName: r.userName
    
                enabled: false
    
                width: parent.width
                isReply: true
            }
    
        }
    
        Rectangle {
            id: backgroundItem
    
            z: -1
            height: replyContainer.height
    
            width: Math.min(Math.max(reply.implicitWidth, userName_.implicitWidth) + 8 + 4, parent.width)
    
            color: Qt.rgba(userColor.r, userColor.g, userColor.b, 0.1)