diff options
Diffstat (limited to 'src/quickdialogs/quickdialogsquickimpl/qml/+Fusion/FileDialog.qml')
-rw-r--r-- | src/quickdialogs/quickdialogsquickimpl/qml/+Fusion/FileDialog.qml | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/src/quickdialogs/quickdialogsquickimpl/qml/+Fusion/FileDialog.qml b/src/quickdialogs/quickdialogsquickimpl/qml/+Fusion/FileDialog.qml index a928a4b0cc..965f56bdc7 100644 --- a/src/quickdialogs/quickdialogsquickimpl/qml/+Fusion/FileDialog.qml +++ b/src/quickdialogs/quickdialogsquickimpl/qml/+Fusion/FileDialog.qml @@ -31,6 +31,29 @@ FileDialogImpl { standardButtons: T.Dialog.Open | T.Dialog.Cancel + Dialog { + id: overwriteConfirmationDialog + objectName: "confirmationDialog" + anchors.centerIn: parent + closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent + dim: true + modal: true + title: qsTr("“%1” already exists. Do you want to replace it?").arg(control.fileName) + + Label { + text: qsTr("A file with the same name already exists in %1.\nReplacing it will overwrite its current contents.").arg(control.currentFolderName) + } + + footer: DialogButtonBox { + alignment: Qt.AlignHCenter + standardButtons: DialogButtonBox.Yes | DialogButtonBox.No + } + + Overlay.modal: Rectangle { + color: Fusion.darkShade + } + } + /* We use attached properties because we want to handle logic in C++, and: - We can't assume the footer only contains a DialogButtonBox (which would allow us @@ -45,6 +68,7 @@ FileDialogImpl { FileDialogImpl.breadcrumbBar: breadcrumbBar FileDialogImpl.fileNameLabel: fileNameLabel FileDialogImpl.fileNameTextField: fileNameTextField + FileDialogImpl.overwriteConfirmationDialog: overwriteConfirmationDialog background: Rectangle { implicitWidth: 600 @@ -124,7 +148,7 @@ FileDialogImpl { fileDetailRowWidth: nameFiltersComboBox.width KeyNavigation.backtab: breadcrumbBar - KeyNavigation.tab: nameFiltersComboBox + KeyNavigation.tab: fileNameTextField.visible ? fileNameTextField : nameFiltersComboBox } } } @@ -143,7 +167,6 @@ FileDialogImpl { TextField { id: fileNameTextField objectName: "fileNameTextField" - text: control.fileName visible: false Layout.fillWidth: true |