#include "dolphinsortfilterproxymodel.h"
#include "dolphinview.h"
#include "dolphinviewautoscroller.h"
+#include "folderexpander.h"
#include "selectionmanager.h"
#include "settings/dolphinsettings.h"
#include "tooltips/tooltipmanager.h"
-#include "versioncontrolobserver.h"
+#include "versioncontrol/versioncontrolobserver.h"
#include "dolphin_generalsettings.h"
}
// initialize preview generator
+ Q_ASSERT(view->iconSize().isValid());
m_previewGenerator = new KFilePreviewGenerator(view);
m_previewGenerator->setPreviewShown(controller->dolphinView()->showPreview());
connect(controller, SIGNAL(zoomLevelChanged(int)),
connect(dolphinView, SIGNAL(sortFoldersFirstChanged(bool)),
this, SLOT(slotSortFoldersFirstChanged(bool)));
+ // Give the view the ability to auto-expand its directories on hovering
+ // (the column view takes care about this itself). If the details view
+ // uses expandable folders, the auto-expanding should be used always.
+ m_folderExpander = new FolderExpander(view, proxyModel());
+ m_folderExpander->setEnabled(settings->autoExpandFolders());
+ connect(m_folderExpander, SIGNAL(enterDir(const QModelIndex&)),
+ controller, SLOT(triggerItem(const QModelIndex&)));
+
+ // react on namefilter changes
connect(controller, SIGNAL(nameFilterChanged(const QString&)),
this, SLOT(slotNameFilterChanged(const QString&)));
return m_fileItemDelegate;
}
+void ViewExtensionsFactory::setAutoFolderExpandingEnabled(bool enabled)
+{
+ m_folderExpander->setEnabled(enabled);
+}
+
+bool ViewExtensionsFactory::autoFolderExpandingEnabled() const
+{
+ return m_folderExpander->enabled();
+}
+
bool ViewExtensionsFactory::eventFilter(QObject* watched, QEvent* event)
{
Q_UNUSED(watched);
void ViewExtensionsFactory::slotNameFilterChanged(const QString& nameFilter)
{
- proxyModel()->setFilterRegExp(nameFilter);
+ proxyModel()->setFilterFixedString(nameFilter);
}
void ViewExtensionsFactory::slotRequestVersionControlActions(const KFileItemList& items)