status-desktop/ui/imports/shared/popups/ConfirmExternalLinkPopup.qml
Lukáš Tinkl d9d6d90dc9 [Style] remove legacy Style and its themes
- legacy Style and ThemePalette removed
- moved and deduplicated font definitions into `Theme` (unrelated to a
color palette)
- `Style.current.foo` -> `Theme.foo`
- `Style.current.fooColor` -> `Theme.palette.fooColor`
- upgrade the imports to 5.15
- removed some mode dead components

Fixes #16514
2024-10-22 15:54:31 +02:00

86 lines
2.4 KiB
QML

import QtQuick 2.15
import QtQuick.Controls 2.15
import QtQuick.Layouts 1.15
import QtQml.Models 2.15
import utils 1.0
import StatusQ.Core.Theme 0.1
import StatusQ.Components 0.1
import StatusQ.Controls 0.1
import StatusQ.Popups.Dialog 0.1
import StatusQ.Core 0.1
StatusDialog {
id: root
required property string link
required property string domain
signal openExternalLink(string link)
signal saveDomainToUnfurledWhitelist(string domain)
width: 521
header: StatusDialogHeader {
headline.title: qsTr("Before you go")
actions.closeButton.onClicked: root.close()
leftComponent: StatusRoundIcon {
asset.name: "browser"
asset.isImage: true
}
}
contentItem: ColumnLayout {
spacing: 20
StatusBaseText {
Layout.fillWidth: true
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
text: qsTr("This link is taking you to the following site. Be careful to double check the URL before you go.")
}
Rectangle {
Layout.fillWidth: true
Layout.preferredHeight: 66
radius: Theme.halfPadding
color: Theme.palette.baseColor4
StatusBaseText {
anchors.fill: parent
anchors.leftMargin: Theme.padding
anchors.rightMargin: Theme.padding
anchors.topMargin: 11
anchors.bottomMargin: Theme.halfPadding
text: root.link
wrapMode: Text.WrapAnywhere
elide: Text.ElideRight
}
}
StatusCheckBox {
id: trustDomainCheckbox
Layout.fillWidth: true
text: qsTr("Trust <b>%1</b> links from now on").arg(root.domain)
}
}
footer: StatusDialogFooter {
rightButtons: ObjectModel {
StatusFlatButton {
text: qsTr("Cancel")
onClicked: root.close()
}
StatusButton {
text: qsTr("Visit site")
onClicked: {
// (optionally) save the domain to whitelist
if (trustDomainCheckbox.checked) {
root.saveDomainToUnfurledWhitelist(root.domain)
}
root.openExternalLink(root.link)
root.close()
}
}
}
}
}