Skip to content
Snippets Groups Projects
MatrixText.qml 1.21 KiB
Newer Older
  • Learn to ignore specific revisions
  • Nicolas Werner's avatar
    Nicolas Werner committed
    import QtQuick 2.5
    import QtQuick.Controls 2.3
    
    Nicolas Werner's avatar
    Nicolas Werner committed
    import im.nheko 1.0
    
    
        textFormat: TextEdit.RichText
        readOnly: true
        wrapMode: Text.Wrap
        selectByMouse: true
        activeFocusOnPress: false
        color: colors.text
        onLinkActivated: {
            if (/^https:\/\/matrix.to\/#\/(@.*)$/.test(link)) {
                chat.model.openUserProfile(/^https:\/\/matrix.to\/#\/(@.*)$/.exec(link)[1]);
            } else if (/^https:\/\/matrix.to\/#\/(![^\/]*)$/.test(link)) {
                TimelineManager.setHistoryView(/^https:\/\/matrix.to\/#\/(!.*)$/.exec(link)[1]);
            } else if (/^https:\/\/matrix.to\/#\/(![^\/]*)\/(\$.*)$/.test(link)) {
                var match = /^https:\/\/matrix.to\/#\/(![^\/]*)\/(\$.*)$/.exec(link);
                TimelineManager.setHistoryView(match[1]);
                chat.positionViewAtIndex(chat.model.idToIndex(match[2]), ListView.Contain);
            } else {
                TimelineManager.openLink(link);
            }
        }
        ToolTip.visible: hoveredLink
        ToolTip.text: hoveredLink
    
        MouseArea {
            id: ma
    
            anchors.fill: parent
            propagateComposedEvents: true
            acceptedButtons: Qt.NoButton
            cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor
        }