diff options
| author | Peter Penz <[email protected]> | 2009-08-29 17:36:02 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2009-08-29 17:36:02 +0000 |
| commit | 898c1cf71b59682911a94e18e136771fae5e9d8e (patch) | |
| tree | 585d0868e00a0e339bc9a353f4ba0707a06a17dc /src/viewextensionsfactory.cpp | |
| parent | c66d825e669ed81a801b4c81024825c527fa6d17 (diff) | |
Restore "show hidden files" functionality in a generic way which works also for the column view.
svn path=/trunk/KDE/kdebase/apps/; revision=1017091
Diffstat (limited to 'src/viewextensionsfactory.cpp')
| -rw-r--r-- | src/viewextensionsfactory.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
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 <kdirlister.h> +#include <kdirmodel.h> #include <kfilepreviewgenerator.h> #include <QAbstractItemView> 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<DolphinSortFilterProxyModel*>(m_view->model()); + KDirModel* dirModel = static_cast<KDirModel*>(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(); |
