diff options
author | Balazs Egedi <egedib@inf.u-szeged.hu> | 2021-07-09 16:58:24 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-08-10 05:17:31 +0000 |
commit | 36ef2b73fb5b8ba75ec0926dc3ffde2f0487c5d5 (patch) | |
tree | 3896d1495aa1b9da02ba087c55745c33a13258ad /src | |
parent | 297d086de02ff1babe792b96e02cb760f7a26a0e (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.cpp | 4 | ||||
-rw-r--r-- | src/core/file_picker_controller.h | 3 | ||||
-rw-r--r-- | src/webenginequick/ui/FilePicker.qml | 16 |
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 -} |