X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/05762d42ea91ea034086c67099cf9208f86c00ff..dd743f9d98244ced35f80aeb6349630156f796be:/src/viewextensionsfactory.cpp diff --git a/src/viewextensionsfactory.cpp b/src/viewextensionsfactory.cpp index 0974e2126..6bcc3a7c8 100644 --- a/src/viewextensionsfactory.cpp +++ b/src/viewextensionsfactory.cpp @@ -24,10 +24,11 @@ #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" @@ -62,6 +63,7 @@ ViewExtensionsFactory::ViewExtensionsFactory(QAbstractItemView* view, } // initialize preview generator + Q_ASSERT(view->iconSize().isValid()); m_previewGenerator = new KFilePreviewGenerator(view); m_previewGenerator->setPreviewShown(controller->dolphinView()->showPreview()); connect(controller, SIGNAL(zoomLevelChanged(int)), @@ -110,6 +112,15 @@ ViewExtensionsFactory::ViewExtensionsFactory(QAbstractItemView* view, 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&))); @@ -130,6 +141,16 @@ DolphinFileItemDelegate* ViewExtensionsFactory::fileItemDelegate() const 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); @@ -191,7 +212,7 @@ void ViewExtensionsFactory::slotSortFoldersFirstChanged(bool foldersFirst) void ViewExtensionsFactory::slotNameFilterChanged(const QString& nameFilter) { - proxyModel()->setFilterRegExp(nameFilter); + proxyModel()->setFilterFixedString(nameFilter); } void ViewExtensionsFactory::slotRequestVersionControlActions(const KFileItemList& items)