summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp b/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp
index 66e374f621..22873974eb 100644
--- a/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp
+++ b/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp
@@ -48,6 +48,7 @@
#include <QEventLoop>
#include <QFile>
+#include <QFileInfo>
#include <QMetaType>
#include <QMimeType>
#include <QMimeDatabase>
@@ -199,8 +200,12 @@ void QXdgDesktopPortalFileDialog::openPortal()
if (!d->directory.isEmpty())
options.insert(QLatin1String("current_folder"), QFile::encodeName(d->directory).append('\0'));
- if (!d->selectedFiles.isEmpty())
+ if (!d->selectedFiles.isEmpty()) {
+ // current_file for the file to be pre-selected, current_name for the file name to be pre-filled
+ // current_file accepts absolute path while current_name accepts just file name
options.insert(QLatin1String("current_file"), QFile::encodeName(d->selectedFiles.first()).append('\0'));
+ options.insert(QLatin1String("current_name"), QFileInfo(d->selectedFiles.first()).fileName());
+ }
}
// Insert filters