Index: src/filewidgets/kdiroperator.h =================================================================== --- src/filewidgets/kdiroperator.h +++ src/filewidgets/kdiroperator.h @@ -490,6 +490,20 @@ */ bool onlyDoubleClickSelectsFiles() const; + /** + * Toggles whether setUrl is called on new and selected directories. + * @since 5.62 + */ + void setFollowDirectories(bool enable); + + /** + * @returns true if setUrl is called on new and selecteddirectories, false + * otherwise. + * @since 5.62 + * @see setFollowNewDirectories + */ + bool followDirectories() const; + /** * Creates the given directory/url. If it is a relative path, * it will be completed with the current directory. Index: src/filewidgets/kdiroperator.cpp =================================================================== --- src/filewidgets/kdiroperator.cpp +++ src/filewidgets/kdiroperator.cpp @@ -197,6 +197,7 @@ bool dirHighlighting; bool onlyDoubleClickSelectsFiles; + bool followDirectories; QString lastURL; // used for highlighting a directory on cdUp QTimer *progressDelayTimer; int dropOptions; @@ -237,6 +238,7 @@ previewWidth(0), dirHighlighting(false), onlyDoubleClickSelectsFiles(!qApp->style()->styleHint(QStyle::SH_ItemView_ActivateItemOnSingleClick)), + followDirectories(true), progressDelayTimer(nullptr), dropOptions(0), actionMenu(nullptr), @@ -2412,6 +2414,16 @@ return d->onlyDoubleClickSelectsFiles; } +void KDirOperator::setFollowDirectories(bool enable) +{ + d->followDirectories = enable; +} + +bool KDirOperator::followDirectories() const +{ + return d->followDirectories; +} + void KDirOperator::Private::_k_slotStarted() { progressBar->setValue(0); @@ -2516,7 +2528,9 @@ } if (item.isDir()) { - parent->selectDir(item); + if (followDirectories) { + parent->selectDir(item); + } } else { parent->selectFile(item); } @@ -2781,7 +2795,9 @@ void KDirOperator::Private::_k_slotDirectoryCreated(const QUrl &url) { - parent->setUrl(url, true); + if (followDirectories) { + parent->setUrl(url, true); + } } void KDirOperator::setSupportedSchemes(const QStringList &schemes)