Index: src/platformtheme/kdeplatformfiledialoghelper.h =================================================================== --- src/platformtheme/kdeplatformfiledialoghelper.h +++ src/platformtheme/kdeplatformfiledialoghelper.h @@ -80,6 +80,7 @@ private: void restoreSize(); KDEPlatformFileDialogBase *m_dialog; + bool m_directorySet = false; }; #endif // KDEPLATFORMFILEDIALOGHELPER_H Index: src/platformtheme/kdeplatformfiledialoghelper.cpp =================================================================== --- src/platformtheme/kdeplatformfiledialoghelper.cpp +++ src/platformtheme/kdeplatformfiledialoghelper.cpp @@ -288,7 +288,9 @@ } else { dialog->setWindowTitle(options()->windowTitle()); } - setDirectory(options()->initialDirectory()); + if (!m_directorySet) { + setDirectory(options()->initialDirectory()); + } //dialog->setViewMode(options()->viewMode()); // don't override our options, fixes remembering the chosen view mode and sizes! dialog->setFileMode(options()->fileMode()); @@ -421,6 +423,7 @@ { if (!directory.isEmpty()) { m_dialog->setDirectory(directory); + m_directorySet = true; } }