matrixion/resources/qml/MatrixText.qml

39 lines
1.2 KiB
QML
Raw Normal View History

2021-03-05 02:35:15 +03:00
// SPDX-FileCopyrightText: 2021 Nheko Contributors
2021-03-14 04:45:20 +03:00
//
2021-03-05 02:35:15 +03:00
// SPDX-License-Identifier: GPL-3.0-or-later
import QtQuick 2.5
2019-11-03 05:28:16 +03:00
import QtQuick.Controls 2.3
2020-06-24 17:24:22 +03:00
import im.nheko 1.0
TextEdit {
2020-10-08 22:11:21 +03:00
textFormat: TextEdit.RichText
readOnly: true
focus: false
2020-10-08 22:11:21 +03:00
wrapMode: Text.Wrap
selectByMouse: !Settings.mobileMode
2021-02-14 03:28:28 +03:00
enabled: selectByMouse
2020-10-08 22:11:21 +03:00
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
2021-02-14 03:28:28 +03:00
CursorShape {
2020-10-08 22:11:21 +03:00
anchors.fill: parent
2021-02-14 03:28:28 +03:00
cursorShape: hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor
2020-10-08 22:11:21 +03:00
}
2019-11-03 05:28:16 +03:00
}