nheko/resources/qml/MatrixText.qml

34 lines
1.1 KiB
QML
Raw Normal View History

2019-11-03 03:28:16 +01:00
import QtQuick 2.5
import QtQuick.Controls 2.3
TextEdit {
2019-11-03 03:28:16 +01:00
textFormat: TextEdit.RichText
readOnly: true
wrapMode: Text.Wrap
2020-07-26 02:06:38 +02:00
selectByMouse: ma.containsMouse // try to make scrollable by finger but selectable by mouse
color: colors.text
2019-11-03 03:28:16 +01:00
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)) {
2019-11-03 03:28:16 +01:00
var match = /^https:\/\/matrix.to\/#\/(![^\/]*)\/(\$.*)$/.exec(link)
timelineManager.setHistoryView(match[1])
chat.positionViewAtIndex(chat.model.idToIndex(match[2]), ListView.Contain)
}
else Qt.openUrlExternally(link)
}
MouseArea
{
id: ma
2019-11-03 03:28:16 +01:00
anchors.fill: parent
propagateComposedEvents: true
2020-07-26 02:06:38 +02:00
hoverEnabled: true
acceptedButtons: Qt.NoButton
2019-11-03 03:28:16 +01:00
cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor
}
ToolTip.visible: hoveredLink
ToolTip.text: hoveredLink
2019-11-03 03:28:16 +01:00
}