Move consent sheet to separate file
This commit is contained in:
@@ -270,6 +270,7 @@ qt_add_qml_module(neochat URI org.kde.neochat NO_PLUGIN
|
|||||||
qml/ConfirmLeaveDialog.qml
|
qml/ConfirmLeaveDialog.qml
|
||||||
qml/CodeMaximizeComponent.qml
|
qml/CodeMaximizeComponent.qml
|
||||||
qml/EditStateDialog.qml
|
qml/EditStateDialog.qml
|
||||||
|
qml/ConsentDialog.qml
|
||||||
)
|
)
|
||||||
|
|
||||||
add_subdirectory(settings)
|
add_subdirectory(settings)
|
||||||
|
|||||||
39
src/qml/ConsentDialog.qml
Normal file
39
src/qml/ConsentDialog.qml
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
// SPDX-FileCopyrightText: 2024 Tobias Fella <tobias.fella@kde.org>
|
||||||
|
// SPDX-License-Identifier: LGPL-2.0-or-later
|
||||||
|
|
||||||
|
import QtQuick
|
||||||
|
import QtQuick.Controls as QQC2
|
||||||
|
|
||||||
|
import org.kde.kirigami as Kirigami
|
||||||
|
|
||||||
|
import org.kde.neochat
|
||||||
|
|
||||||
|
Kirigami.Dialog {
|
||||||
|
id: root
|
||||||
|
|
||||||
|
required property string url
|
||||||
|
|
||||||
|
width: Math.min(Kirigami.Units.gridUnit * 24, QQC2.ApplicationWindow.window.width)
|
||||||
|
height: Kirigami.Units.gridUnit * 8
|
||||||
|
leftPadding: Kirigami.Units.largeSpacing
|
||||||
|
rightPadding: Kirigami.Units.largeSpacing
|
||||||
|
|
||||||
|
title: i18nc("@title:dialog", "User Consent")
|
||||||
|
|
||||||
|
contentItem: QQC2.Label {
|
||||||
|
text: i18nc("@info", "Your homeserver requires you to agree to its terms and conditions before being able to use it. Please click the button below to read them.")
|
||||||
|
wrapMode: Text.WordWrap
|
||||||
|
horizontalAlignment: Qt.AlignHCenter
|
||||||
|
verticalAlignment: Qt.AlignVCenter
|
||||||
|
}
|
||||||
|
customFooterActions: [
|
||||||
|
Kirigami.Action {
|
||||||
|
text: i18nc("@action:button", "Open")
|
||||||
|
icon.name: "internet-services"
|
||||||
|
onTriggered: {
|
||||||
|
UrlHelper.openUrl(root.url);
|
||||||
|
root.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -304,39 +304,9 @@ Kirigami.ApplicationWindow {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
function onUserConsentRequired(url) {
|
function onUserConsentRequired(url) {
|
||||||
let consent = consentDialogComponent.createObject(this);
|
Qt.createComponent("org.kde.neochat", "ConsentDialog").createObject(this, {
|
||||||
consent.url = url;
|
url: url
|
||||||
consent.open();
|
}).open();
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Component {
|
|
||||||
id: consentDialogComponent
|
|
||||||
Kirigami.Dialog {
|
|
||||||
id: consentDialog
|
|
||||||
|
|
||||||
property string url: ""
|
|
||||||
|
|
||||||
width: Math.min(Kirigami.Units.gridUnit * 24, root.width)
|
|
||||||
height: Kirigami.Units.gridUnit * 8
|
|
||||||
leftPadding: Kirigami.Units.largeSpacing
|
|
||||||
rightPadding: Kirigami.Units.largeSpacing
|
|
||||||
|
|
||||||
title: i18nc("@title:dialog", "User Consent")
|
|
||||||
|
|
||||||
contentItem: QQC2.Label {
|
|
||||||
text: i18n("Your homeserver requires you to agree to its terms and conditions before being able to use it. Please click the button below to read them.")
|
|
||||||
wrapMode: Text.WordWrap
|
|
||||||
horizontalAlignment: Qt.AlignHCenter
|
|
||||||
verticalAlignment: Qt.AlignVCenter
|
|
||||||
}
|
|
||||||
customFooterActions: [
|
|
||||||
Kirigami.Action {
|
|
||||||
text: i18n("Open")
|
|
||||||
icon.name: "internet-services"
|
|
||||||
onTriggered: UrlHelper.openUrl(consentDialog.url)
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user