diff options
Diffstat (limited to 'src/dialogs/qquickabstractfiledialog.cpp')
-rw-r--r-- | src/dialogs/qquickabstractfiledialog.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/dialogs/qquickabstractfiledialog.cpp b/src/dialogs/qquickabstractfiledialog.cpp index 3bc79570..4303ac3a 100644 --- a/src/dialogs/qquickabstractfiledialog.cpp +++ b/src/dialogs/qquickabstractfiledialog.cpp @@ -115,20 +115,32 @@ QUrl QQuickAbstractFileDialog::folder() const return m_options->initialDirectory(); } -void QQuickAbstractFileDialog::setFolder(const QUrl &f) +static QUrl fixupFolder(const QUrl &f) { QString lf = f.toLocalFile(); while (lf.startsWith("//")) lf.remove(0, 1); if (lf.isEmpty()) lf = QDir::currentPath(); - QUrl u = QUrl::fromLocalFile(lf); + return QUrl::fromLocalFile(lf); +} + +void QQuickAbstractFileDialog::setFolder(const QUrl &f) +{ + QUrl u = fixupFolder(f); if (m_dlgHelper) m_dlgHelper->setDirectory(u); m_options->setInitialDirectory(u); emit folderChanged(); } +void QQuickAbstractFileDialog::updateFolder(const QUrl &f) +{ + QUrl u = fixupFolder(f); + m_options->setInitialDirectory(u); + emit folderChanged(); +} + void QQuickAbstractFileDialog::setNameFilters(const QStringList &f) { m_options->setNameFilters(f); |