status-desktop/ui/app/AppLayouts/Profile/Sections/HelpContainer.qml

52 lines
1.6 KiB
QML
Raw Normal View History

2020-06-17 19:18:31 +00:00
import QtQuick 2.13
import QtQuick.Controls 2.13
import QtQuick.Layouts 1.13
2020-05-27 21:28:25 +00:00
import "../../../../imports"
import "../../../../shared"
import "../../../../shared/xss.js" as XSS
2020-05-27 21:28:25 +00:00
Item {
id: helpContainer
width: 200
height: 200
Layout.fillHeight: true
Layout.fillWidth: true
function linkify(inputText) {
//URLs starting with http://, https://, or ftp://
var replacePattern1 = /(\b(https?|ftp):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gim;
2020-06-30 16:30:04 +00:00
var replacedText = inputText.replace(replacePattern1, "<a href='$1'>$1</a>");
//URLs starting with "www." (without // before it, or it'd re-link the ones done above).
var replacePattern2 = /(^|[^\/])(www\.[\S]+(\b|$))/gim;
replacedText = replacedText.replace(replacePattern2, "$1<a href='http://$2'>$2</a>");
replacedText = XSS.filterXSS(replacedText)
return replacedText;
}
StyledText {
2020-05-27 21:28:25 +00:00
id: element8
//% "Help menus: FAQ, Glossary, etc."
text: qsTrId("help-menus:-faq,-glossary,-etc.")
2020-05-27 21:28:25 +00:00
anchors.left: parent.left
anchors.leftMargin: 24
anchors.top: parent.top
anchors.topMargin: 24
font.weight: Font.Bold
font.pixelSize: 20
}
StyledText {
2020-05-27 21:28:25 +00:00
anchors.centerIn: parent
text: linkify(link)
2020-05-27 21:28:25 +00:00
onLinkActivated: Qt.openUrlExternally(link)
MouseArea {
anchors.fill: parent
acceptedButtons: Qt.NoButton // we don't want to eat clicks on the Text
cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor
}
}
2020-06-17 19:18:31 +00:00
}