#include "folderexpander.h"
#include "dolphinview.h"
-#include "dolphinsettings.h"
+#include "settings/dolphinsettings.h"
#include "dolphin_generalsettings.h"
#include <QtCore/QTimer>
Q_ASSERT(m_dirModel != 0);
KFileItem itemToExpand = m_dirModel->itemForIndex(indexToExpand);
- if (itemToExpand.isNull()) {
+ if (itemToExpand.isNull() || itemToExpand == m_dirModel->itemForIndex(QModelIndex())) {
+ // The second clause occurs when we are expanding the folder represented
+ // by the view, which is a case we should ignore (#182618).
return;
}
if (itemToExpand.isDir()) {
QTreeView* treeView = qobject_cast<QTreeView*>(m_view);
- if (treeView != 0) {
+ if ((treeView != 0) && treeView->itemsExpandable()) {
// Toggle expanded state of this directory.
treeView->setExpanded(proxyIndexToExpand, !treeView->isExpanded(proxyIndexToExpand));
}
else {
- emit enterDir(proxyIndexToExpand, m_view);
+ emit enterDir(proxyIndexToExpand);
}
}
}