2023-02-22 01:48:49 +03:00
|
|
|
// SPDX-FileCopyrightText: Nheko Contributors
|
2021-05-28 18:25:46 +03:00
|
|
|
//
|
|
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
|
|
|
|
import ".."
|
2021-06-13 02:48:11 +03:00
|
|
|
import QtQuick 2.12
|
|
|
|
import QtQuick.Controls 2.5
|
2021-05-28 18:25:46 +03:00
|
|
|
import QtQuick.Layouts 1.3
|
|
|
|
import im.nheko 1.0
|
|
|
|
|
|
|
|
ApplicationWindow {
|
|
|
|
id: inputDialog
|
|
|
|
|
|
|
|
property alias prompt: promptLabel.text
|
2021-09-18 01:21:14 +03:00
|
|
|
property alias echoMode: statusInput.echoMode
|
2023-10-26 22:43:05 +03:00
|
|
|
signal accepted(text: string)
|
2021-05-28 18:25:46 +03:00
|
|
|
|
|
|
|
modality: Qt.NonModal
|
|
|
|
flags: Qt.Dialog
|
|
|
|
width: 350
|
|
|
|
height: fontMetrics.lineSpacing * 7
|
|
|
|
|
2022-03-06 16:48:31 +03:00
|
|
|
function forceActiveFocus() {
|
|
|
|
statusInput.forceActiveFocus();
|
|
|
|
}
|
|
|
|
|
2021-11-17 05:06:51 +03:00
|
|
|
Shortcut {
|
2024-01-10 04:53:16 +03:00
|
|
|
sequences: [StandardKey.Cancel]
|
2021-11-17 05:06:51 +03:00
|
|
|
onActivated: dbb.rejected()
|
|
|
|
}
|
|
|
|
|
2021-05-28 18:25:46 +03:00
|
|
|
ColumnLayout {
|
2021-09-25 04:33:50 +03:00
|
|
|
spacing: Nheko.paddingMedium
|
|
|
|
anchors.margins: Nheko.paddingMedium
|
2021-05-28 18:25:46 +03:00
|
|
|
anchors.fill: parent
|
|
|
|
|
|
|
|
Label {
|
|
|
|
id: promptLabel
|
|
|
|
|
2023-06-02 02:29:05 +03:00
|
|
|
color: palette.text
|
2021-05-28 18:25:46 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
MatrixTextField {
|
|
|
|
id: statusInput
|
|
|
|
|
|
|
|
Layout.fillWidth: true
|
2021-11-17 05:06:51 +03:00
|
|
|
onAccepted: dbb.accepted()
|
|
|
|
focus: true
|
2021-05-28 18:25:46 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
footer: DialogButtonBox {
|
2021-11-17 05:06:51 +03:00
|
|
|
id: dbb
|
|
|
|
|
2021-05-28 18:25:46 +03:00
|
|
|
standardButtons: DialogButtonBox.Ok | DialogButtonBox.Cancel
|
|
|
|
onAccepted: {
|
2023-10-26 22:43:05 +03:00
|
|
|
inputDialog.accepted(statusInput.text);
|
2021-05-28 18:25:46 +03:00
|
|
|
|
|
|
|
inputDialog.close();
|
|
|
|
}
|
|
|
|
onRejected: {
|
|
|
|
inputDialog.close();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|