summaryrefslogtreecommitdiff
path: root/src/dialogs/qquickabstractfiledialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/dialogs/qquickabstractfiledialog.cpp')
-rw-r--r--src/dialogs/qquickabstractfiledialog.cpp16
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);