From 2c390e85cffbfa1eaeabaadfa823abcb61c1156a Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Mon, 9 Mar 2020 15:49:03 +0100 Subject: QFileDialog: Improve default implementation of getOpenFileContent() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use QFileDialog::ExistingFile and check whether file can be opened, fixing warnings like: QIODevice::read (QFile, "/home/.../blub"): device not open Change-Id: I7ee1d59f01383c581bc09fb44855835aae8c246b Reviewed-by: Morten Johan Sørvig --- src/widgets/dialogs/qfiledialog.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/widgets/dialogs/qfiledialog.cpp b/src/widgets/dialogs/qfiledialog.cpp index add8e6db91..34c2c4ecb5 100644 --- a/src/widgets/dialogs/qfiledialog.cpp +++ b/src/widgets/dialogs/qfiledialog.cpp @@ -2438,14 +2438,15 @@ void QFileDialog::getOpenFileContent(const QString &nameFilter, const std::funct (*openFileImpl)(); #else QFileDialog *dialog = new QFileDialog(); + dialog->setFileMode(QFileDialog::ExistingFile); dialog->selectNameFilter(nameFilter); auto fileSelected = [=](const QString &fileName) { QByteArray fileContent; if (!fileName.isNull()) { QFile selectedFile(fileName); - selectedFile.open(QIODevice::ReadOnly); - fileContent = selectedFile.readAll(); + if (selectedFile.open(QIODevice::ReadOnly)) + fileContent = selectedFile.readAll(); } fileOpenCompleted(fileName, fileContent); }; -- cgit v1.2.3