From 898c1cf71b59682911a94e18e136771fae5e9d8e Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Sat, 29 Aug 2009 17:36:02 +0000 Subject: Restore "show hidden files" functionality in a generic way which works also for the column view. svn path=/trunk/KDE/kdebase/apps/; revision=1017091 --- src/viewextensionsfactory.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src/viewextensionsfactory.cpp') diff --git a/src/viewextensionsfactory.cpp b/src/viewextensionsfactory.cpp index baaf3524a..2a2153a94 100644 --- a/src/viewextensionsfactory.cpp +++ b/src/viewextensionsfactory.cpp @@ -30,12 +30,15 @@ #include "dolphin_generalsettings.h" +#include +#include #include #include ViewExtensionsFactory::ViewExtensionsFactory(QAbstractItemView* view, DolphinController* controller) : QObject(view), + m_view(view), m_controller(controller), m_toolTipManager(0), m_previewGenerator(0), @@ -81,6 +84,9 @@ ViewExtensionsFactory::ViewExtensionsFactory(QAbstractItemView* view, m_fileItemDelegate->setShowToolTipWhenElided(false); view->setItemDelegate(m_fileItemDelegate); + // react on view property changes + connect(controller->dolphinView(), SIGNAL(showHiddenFilesChanged()), + this, SLOT(slotShowHiddenFilesChanged())); view->viewport()->installEventFilter(this); } @@ -126,6 +132,23 @@ void ViewExtensionsFactory::slotShowPreviewChanged() m_previewGenerator->setPreviewShown(show); } +void ViewExtensionsFactory::slotShowHiddenFilesChanged() +{ + DolphinSortFilterProxyModel* proxyModel = static_cast(m_view->model()); + KDirModel* dirModel = static_cast(proxyModel->sourceModel()); + KDirLister* dirLister = dirModel->dirLister(); + + dirLister->stop(); + + const bool show = m_controller->dolphinView()->showHiddenFiles(); + dirLister->setShowingDotFiles(show); + + const KUrl url = dirLister->url(); + if (url.isValid()) { + dirLister->openUrl(url, KDirLister::NoFlags); + } +} + void ViewExtensionsFactory::requestActivation() { m_controller->requestActivation(); -- cgit v1.3