Track last visited directory for native file dialogs as well.
Task-number: QTBUG-28855 Change-Id: Ia7af8540d2a453dfeabd700f44c282c48a239834 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
This commit is contained in:
parent
284958c222
commit
34c240289a
@ -536,6 +536,7 @@ void QFileDialogPrivate::initHelper(QPlatformDialogHelper *h)
|
||||
QObject::connect(h, SIGNAL(filesSelected(QStringList)), d, SIGNAL(filesSelected(QStringList)));
|
||||
QObject::connect(h, SIGNAL(currentChanged(QString)), d, SIGNAL(currentChanged(QString)));
|
||||
QObject::connect(h, SIGNAL(directoryEntered(QString)), d, SIGNAL(directoryEntered(QString)));
|
||||
QObject::connect(h, SIGNAL(directoryEntered(QString)), d, SLOT(_q_nativeEnterDirectory(QString)));
|
||||
QObject::connect(h, SIGNAL(filterSelected(QString)), d, SIGNAL(filterSelected(QString)));
|
||||
static_cast<QPlatformFileDialogHelper *>(h)->setOptions(options);
|
||||
}
|
||||
@ -3112,6 +3113,12 @@ void QFileDialogPrivate::_q_fileRenamed(const QString &path, const QString oldNa
|
||||
}
|
||||
}
|
||||
|
||||
void QFileDialogPrivate::_q_nativeEnterDirectory(const QString &directory)
|
||||
{
|
||||
if (!directory.isEmpty()) // Windows native dialogs occasionally emit signals with empty strings.
|
||||
*lastVisitedDir() = directory;
|
||||
}
|
||||
|
||||
/*!
|
||||
\internal
|
||||
|
||||
|
@ -242,6 +242,7 @@ private:
|
||||
Q_PRIVATE_SLOT(d_func(), void _q_updateOkButton())
|
||||
Q_PRIVATE_SLOT(d_func(), void _q_currentChanged(const QModelIndex &index))
|
||||
Q_PRIVATE_SLOT(d_func(), void _q_enterDirectory(const QModelIndex &index))
|
||||
Q_PRIVATE_SLOT(d_func(), void _q_nativeEnterDirectory(const QString&))
|
||||
Q_PRIVATE_SLOT(d_func(), void _q_goToDirectory(const QString &path))
|
||||
Q_PRIVATE_SLOT(d_func(), void _q_useNameFilter(int index))
|
||||
Q_PRIVATE_SLOT(d_func(), void _q_selectionChanged())
|
||||
|
@ -204,6 +204,7 @@ public:
|
||||
void _q_updateOkButton();
|
||||
void _q_currentChanged(const QModelIndex &index);
|
||||
void _q_enterDirectory(const QModelIndex &index);
|
||||
void _q_nativeEnterDirectory(const QString &directory);
|
||||
void _q_goToDirectory(const QString &);
|
||||
void _q_useNameFilter(int index);
|
||||
void _q_selectionChanged();
|
||||
|
Loading…
Reference in New Issue
Block a user