diff options
Diffstat (limited to 'src/dialogs/qquickfiledialog.cpp')
| -rw-r--r-- | src/dialogs/qquickfiledialog.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/dialogs/qquickfiledialog.cpp b/src/dialogs/qquickfiledialog.cpp index 576778e10..8a7c3e5fb 100644 --- a/src/dialogs/qquickfiledialog.cpp +++ b/src/dialogs/qquickfiledialog.cpp @@ -176,14 +176,15 @@ void QQuickFileDialog::clearSelection() bool QQuickFileDialog::addSelection(const QUrl &path) { QFileInfo info(path.toLocalFile()); - if (info.exists() && ((info.isDir() && m_selectFolder) || !info.isDir())) { - if (m_selectFolder) - m_selections.append(pathFolder(path.toLocalFile())); - else - m_selections.append(path); - return true; - } - return false; + if (selectExisting() && !info.exists()) + return false; + if (selectFolder() != info.isDir()) + return false; + if (selectFolder()) + m_selections.append(pathFolder(path.toLocalFile())); + else + m_selections.append(path); + return true; } /*! |
