set directory of file dialog when opening file by double-click, recent files list or drag and drop

This commit is contained in:
wmayer
2016-10-16 14:47:13 +02:00
parent 3638588c8e
commit 7fdf39244d
5 changed files with 42 additions and 10 deletions

View File

@@ -158,6 +158,7 @@ QString FileDialog::getSaveFileName (QWidget * parent, const QString & caption,
urls << QUrl::fromLocalFile(QDesktopServices::storageLocation(QDesktopServices::PicturesLocation));
urls << QUrl::fromLocalFile(QDesktopServices::storageLocation(QDesktopServices::MoviesLocation));
urls << QUrl::fromLocalFile(getWorkingDirectory());
urls << QUrl::fromLocalFile(QDir::currentPath());
QString file;
FileDialog dlg(parent);
@@ -237,6 +238,7 @@ QString FileDialog::getOpenFileName(QWidget * parent, const QString & caption, c
urls << QUrl::fromLocalFile(QDesktopServices::storageLocation(QDesktopServices::PicturesLocation));
urls << QUrl::fromLocalFile(QDesktopServices::storageLocation(QDesktopServices::MoviesLocation));
urls << QUrl::fromLocalFile(getWorkingDirectory());
urls << QUrl::fromLocalFile(QDir::currentPath());
QString file;
FileDialog dlg(parent);
@@ -295,6 +297,7 @@ QStringList FileDialog::getOpenFileNames (QWidget * parent, const QString & capt
urls << QUrl::fromLocalFile(QDesktopServices::storageLocation(QDesktopServices::PicturesLocation));
urls << QUrl::fromLocalFile(QDesktopServices::storageLocation(QDesktopServices::MoviesLocation));
urls << QUrl::fromLocalFile(getWorkingDirectory());
urls << QUrl::fromLocalFile(QDir::currentPath());
QStringList files;
FileDialog dlg(parent);
@@ -354,7 +357,10 @@ void FileDialog::setWorkingDirectory(const QString& dir)
QString dirName = dir;
if (!dir.isEmpty()) {
QFileInfo info(dir);
dirName = info.absolutePath();
if (info.isFile())
dirName = info.absolutePath();
else
dirName = info.absoluteFilePath();
}
Base::Reference<ParameterGrp> hPath = App::GetApplication().GetUserParameter().GetGroup("BaseApp")