summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBalazs Egedi <egedib@inf.u-szeged.hu>2021-07-09 16:58:24 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-08-10 05:17:31 +0000
commit36ef2b73fb5b8ba75ec0926dc3ffde2f0487c5d5 (patch)
tree3896d1495aa1b9da02ba087c55745c33a13258ad /src
parent297d086de02ff1babe792b96e02cb760f7a26a0e (diff)
Reintroduce File Picker control
- Using FileDialog from QuickDialogs2 - Enabled the UIDelegates test Task-number: QTBUG-93666 Change-Id: I8438a2498e864bc93abf26f2527d7883ac26ca9b Reviewed-by: Michal Klocek <michal.klocek@qt.io> (cherry picked from commit 47d57eaa2756a108ae28d9e6226577fe66868cee) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src')
-rw-r--r--src/core/file_picker_controller.cpp4
-rw-r--r--src/core/file_picker_controller.h3
-rw-r--r--src/webenginequick/ui/FilePicker.qml16
3 files changed, 12 insertions, 11 deletions
diff --git a/src/core/file_picker_controller.cpp b/src/core/file_picker_controller.cpp
index 537a01508..051b877a4 100644
--- a/src/core/file_picker_controller.cpp
+++ b/src/core/file_picker_controller.cpp
@@ -92,6 +92,9 @@ FilePickerController::FilePickerController(FilePickerControllerPrivate *priv, QO
FilePickerController::~FilePickerController()
{
+ if (!m_isHandled) {
+ rejected();
+ }
delete d_ptr;
}
@@ -241,6 +244,7 @@ void FilePickerController::filesSelectedInChooser(const QStringList &filesList)
else
d_ptr->fileSystemAccessDialogListener->MultiFilesSelected(files, nullptr);
}
+ m_isHandled = true;
}
QStringList FilePickerController::acceptedMimeTypes() const
diff --git a/src/core/file_picker_controller.h b/src/core/file_picker_controller.h
index bba0bae37..ec3b5ba1d 100644
--- a/src/core/file_picker_controller.h
+++ b/src/core/file_picker_controller.h
@@ -85,6 +85,9 @@ public Q_SLOTS:
private:
void filesSelectedInChooser(const QStringList &filesList);
FilePickerControllerPrivate *d_ptr;
+ // Using Quick, the FileSelectListenerImpl destructor may crash in debug mode
+ // if the browser window is closed and the FilePicker is still open
+ bool m_isHandled = false;
};
} // namespace QtWebEngineCore
diff --git a/src/webenginequick/ui/FilePicker.qml b/src/webenginequick/ui/FilePicker.qml
index e6c4e2598..e84ff2265 100644
--- a/src/webenginequick/ui/FilePicker.qml
+++ b/src/webenginequick/ui/FilePicker.qml
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2021 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the QtWebEngine module of the Qt Toolkit.
@@ -37,21 +37,15 @@
**
****************************************************************************/
-/*
-import QtQuick.Dialogs 1.1
+import QtQuick.Dialogs
FileDialog {
+ id: fileDialog
+ objectName: "fileDialog"
signal filesSelected(var fileList)
onAccepted: {
- filesSelected(fileUrls);
+ filesSelected(selectedFiles)
}
}
-*/
-
-import QtQuick.Controls
-
-Dialog {
- // TODO
-}