From: Peter Penz Date: Sat, 29 Aug 2009 17:36:02 +0000 (+0000) Subject: Restore "show hidden files" functionality in a generic way which works also for the... X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/898c1cf71b59682911a94e18e136771fae5e9d8e?ds=inline Restore "show hidden files" functionality in a generic way which works also for the column view. svn path=/trunk/KDE/kdebase/apps/; revision=1017091 --- diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp index a883bad51..bae7c40f9 100644 --- a/src/dolphinview.cpp +++ b/src/dolphinview.cpp @@ -767,8 +767,6 @@ void DolphinView::setShowHiddenFiles(bool show) m_viewAccessor.dirLister()->setShowingDotFiles(show); emit showHiddenFilesChanged(); - - loadDirectory(viewPropsUrl); } void DolphinView::setCategorizedSorting(bool categorized) 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(); diff --git a/src/viewextensionsfactory.h b/src/viewextensionsfactory.h index 79b47a2eb..b218ffa92 100644 --- a/src/viewextensionsfactory.h +++ b/src/viewextensionsfactory.h @@ -65,9 +65,11 @@ private slots: void slotZoomLevelChanged(); void cancelPreviews(); void slotShowPreviewChanged(); + void slotShowHiddenFilesChanged(); void requestActivation(); private: + QAbstractItemView* m_view; DolphinController* m_controller; ToolTipManager* m_toolTipManager; KFilePreviewGenerator* m_previewGenerator;