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
|
|
|
|
|
2021-01-12 17:03:39 +03:00
|
|
|
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
|
|
|
|
|
2020-02-27 18:48:23 +03:00
|
|
|
TextEdit {
|
2020-10-08 22:11:21 +03:00
|
|
|
textFormat: TextEdit.RichText
|
|
|
|
readOnly: true
|
2020-11-25 19:38:06 +03:00
|
|
|
focus: false
|
2020-10-08 22:11:21 +03:00
|
|
|
wrapMode: Text.Wrap
|
2020-10-24 17:21:00 +03:00
|
|
|
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
|
|
|
|
|
|
|
}
|