status-desktop/ui/app/AppLayouts/Browser/JSDialogWindow.qml

84 lines
2.0 KiB
QML
Raw Normal View History

2020-11-16 16:44:23 +00:00
import QtQuick 2.13
import QtQuick.Controls 2.13
import QtQuick.Layouts 1.13
import QtWebEngine 1.10
import "../../../shared"
import "../../../imports"
ModalPopup {
id: root
property QtObject request
2020-11-18 17:40:08 +00:00
height: 286
closePolicy: Popup.NoAutoClose
2020-11-16 16:44:23 +00:00
onClosed: {
request.dialogReject();
root.destroy();
}
Component.onCompleted: {
2020-11-18 17:40:08 +00:00
root.title = request.securityOrigin;
message.text = request.message;
if(request.type == JavaScriptDialogRequest.DialogTypeAlert){
cancelButton.visible = false;
2020-11-16 16:44:23 +00:00
}
2020-11-18 17:40:08 +00:00
if(request.type == JavaScriptDialogRequest.DialogTypePrompt){
prompt.text = request.defaultText;
prompt.visible = true;
svMessage.height = 75;
2020-11-16 16:44:23 +00:00
}
}
ScrollView {
2020-11-18 17:40:08 +00:00
id: svMessage
2020-11-16 16:44:23 +00:00
width: parent.width
height: 100
TextArea {
id: message
wrapMode: TextEdit.Wrap
readOnly: true
text: ""
}
}
2020-11-18 17:40:08 +00:00
Input {
2020-11-16 16:44:23 +00:00
id: prompt
2020-11-18 17:40:08 +00:00
text: ""
visible: false
2020-11-16 16:44:23 +00:00
Layout.fillWidth: true
2020-11-18 17:40:08 +00:00
anchors.top: svMessage.bottom
2020-11-16 16:44:23 +00:00
}
2020-11-18 17:40:08 +00:00
footer: Item {
anchors.top: parent.bottom
anchors.right: parent.right
anchors.bottom: root.bottom
anchors.left: parent.left
StyledButton {
id: okButton
anchors.right: parent.right
anchors.rightMargin: Style.current.smallPadding
label: qsTr("Ok")
anchors.bottom: parent.bottom
onClicked: {
request.dialogAccept(prompt.text);
close();
}
2020-11-16 16:44:23 +00:00
}
2020-11-18 17:40:08 +00:00
StyledButton {
id: cancelButton
anchors.right: okButton.left
anchors.rightMargin: Style.current.smallPadding
label: qsTr("Cancel")
btnColor: Style.current.transparent
anchors.bottom: parent.bottom
onClicked: {
request.dialogReject();
close();
}
2020-11-16 16:44:23 +00:00
}
}
}