Skip to content
Snippets Groups Projects
Reply.qml 1.66 KiB
Newer Older
  • Learn to ignore specific revisions
  • import QtQuick 2.6
    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
    
    
        id: replyComponent
    
        property alias modelData: reply.modelData
        property color userColor: "red"
    
        width: parent.width
        height: replyContainer.height
    
        MouseArea {
            anchors.fill: parent
            preventStealing: true
            onClicked: chat.positionViewAtIndex(chat.model.idToIndex(modelData.id), ListView.Contain)
            cursorShape: Qt.PointingHandCursor
        }
    
        Rectangle {
            id: colorLine
    
            anchors.top: replyContainer.top
            anchors.bottom: replyContainer.bottom
            width: 4
            color: TimelineManager.userColor(reply.modelData.userId, colors.window)
        }
    
        Column {
            id: replyContainer
    
            anchors.left: colorLine.right
            anchors.leftMargin: 4
            width: parent.width - 8
    
            Text {
                id: userName
    
                text: TimelineManager.escapeEmoji(reply.modelData.userName)
                color: replyComponent.userColor
                textFormat: Text.RichText
    
                MouseArea {
                    anchors.fill: parent
                    onClicked: chat.model.openUserProfile(reply.modelData.userId)
                    cursorShape: Qt.PointingHandCursor
                }
    
            }
    
            MessageDelegate {
                id: reply
    
                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.2)
        }