From: Peter Penz Date: Sat, 29 Aug 2009 18:35:57 +0000 (+0000) Subject: centralize namefilter handling X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/60d28ca5c92baeb6613ac87cad53a188bd3de6eb centralize namefilter handling svn path=/trunk/KDE/kdebase/apps/; revision=1017117 --- diff --git a/src/dolphincolumnview.cpp b/src/dolphincolumnview.cpp index 6f1b5dc77..b431c2729 100644 --- a/src/dolphincolumnview.cpp +++ b/src/dolphincolumnview.cpp @@ -141,8 +141,6 @@ DolphinColumnView::DolphinColumnView(QWidget* parent, if (!nameFilter.isEmpty()) { m_proxyModel->setFilterRegExp(nameFilter); } - connect(controller, SIGNAL(nameFilterChanged(const QString&)), - this, SLOT(setNameFilter(const QString&))); m_extensionsFactory = new ViewExtensionsFactory(this, controller); updateDecorationSize(dolphinView->showPreview()); @@ -387,11 +385,6 @@ void DolphinColumnView::currentChanged(const QModelIndex& current, const QModelI m_extensionsFactory->handleCurrentIndexChange(current, previous); } -void DolphinColumnView::setNameFilter(const QString& nameFilter) -{ - m_proxyModel->setFilterRegExp(nameFilter); -} - void DolphinColumnView::setZoomLevel(int level) { const int size = ZoomLevelInfo::iconSizeForZoomLevel(level); diff --git a/src/dolphincolumnview.h b/src/dolphincolumnview.h index 3d7432bd4..d2354a9ad 100644 --- a/src/dolphincolumnview.h +++ b/src/dolphincolumnview.h @@ -102,7 +102,6 @@ protected: virtual void currentChanged(const QModelIndex& current, const QModelIndex& previous); private slots: - void setNameFilter(const QString& nameFilter); void setZoomLevel(int level); void slotEntered(const QModelIndex& index); diff --git a/src/dolphindetailsview.cpp b/src/dolphindetailsview.cpp index 9d37fa674..f0671db55 100644 --- a/src/dolphindetailsview.cpp +++ b/src/dolphindetailsview.cpp @@ -114,8 +114,6 @@ DolphinDetailsView::DolphinDetailsView(QWidget* parent, this, SLOT(slotEntered(const QModelIndex&))); connect(this, SIGNAL(viewportEntered()), controller, SLOT(emitViewportEntered())); - connect(controller, SIGNAL(nameFilterChanged(const QString&)), - this, SLOT(setNameFilter(const QString&))); connect(controller, SIGNAL(zoomLevelChanged(int)), this, SLOT(setZoomLevel(int))); connect(controller->dolphinView(), SIGNAL(additionalInfoChanged()), @@ -525,12 +523,6 @@ QRect DolphinDetailsView::elasticBandRect() const return QRect(topLeft, bottomRight).normalized(); } -void DolphinDetailsView::setNameFilter(const QString& nameFilter) -{ - DolphinSortFilterProxyModel* proxyModel = static_cast(model()); - proxyModel->setFilterRegExp(nameFilter); -} - void DolphinDetailsView::setZoomLevel(int level) { const int size = ZoomLevelInfo::iconSizeForZoomLevel(level); diff --git a/src/dolphindetailsview.h b/src/dolphindetailsview.h index a099d96e7..e0f34d349 100644 --- a/src/dolphindetailsview.h +++ b/src/dolphindetailsview.h @@ -113,8 +113,6 @@ private slots: */ QRect elasticBandRect() const; - void setNameFilter(const QString& nameFilter); - void setZoomLevel(int level); void slotShowPreviewChanged(); diff --git a/src/dolphiniconsview.cpp b/src/dolphiniconsview.cpp index e06b7b378..50a08f4ed 100644 --- a/src/dolphiniconsview.cpp +++ b/src/dolphiniconsview.cpp @@ -78,8 +78,6 @@ DolphinIconsView::DolphinIconsView(QWidget* parent, controller, SLOT(emitItemEntered(const QModelIndex&))); connect(this, SIGNAL(viewportEntered()), controller, SLOT(emitViewportEntered())); - connect(controller, SIGNAL(nameFilterChanged(const QString&)), - this, SLOT(setNameFilter(const QString&))); connect(controller, SIGNAL(zoomLevelChanged(int)), this, SLOT(setZoomLevel(int))); @@ -384,12 +382,6 @@ void DolphinIconsView::slotAdditionalInfoChanged() updateGridSize(showPreview, view->additionalInfo().count()); } -void DolphinIconsView::setNameFilter(const QString& nameFilter) -{ - DolphinSortFilterProxyModel* proxyModel = static_cast(model()); - proxyModel->setFilterRegExp(nameFilter); -} - void DolphinIconsView::setZoomLevel(int level) { IconsModeSettings* settings = DolphinSettings::instance().iconsModeSettings(); diff --git a/src/dolphiniconsview.h b/src/dolphiniconsview.h index 5c9392425..52bf94519 100644 --- a/src/dolphiniconsview.h +++ b/src/dolphiniconsview.h @@ -75,7 +75,6 @@ protected: private slots: void slotShowPreviewChanged(); void slotAdditionalInfoChanged(); - void setNameFilter(const QString& nameFilter); void setZoomLevel(int level); void requestActivation(); void slotGlobalSettingsChanged(int category); diff --git a/src/viewextensionsfactory.cpp b/src/viewextensionsfactory.cpp index 90517f614..833ccda15 100644 --- a/src/viewextensionsfactory.cpp +++ b/src/viewextensionsfactory.cpp @@ -94,6 +94,10 @@ ViewExtensionsFactory::ViewExtensionsFactory(QAbstractItemView* view, this, SLOT(slotSortOrderChanged(Qt::SortOrder))); connect(dolphinView, SIGNAL(sortFoldersFirstChanged(bool)), this, SLOT(slotSortFoldersFirstChanged(bool))); + + connect(controller, SIGNAL(nameFilterChanged(const QString&)), + this, SLOT(slotNameFilterChanged(const QString&))); + view->viewport()->installEventFilter(this); } @@ -170,6 +174,11 @@ void ViewExtensionsFactory::slotSortFoldersFirstChanged(bool foldersFirst) proxyModel()->setSortFoldersFirst(foldersFirst); } +void ViewExtensionsFactory::slotNameFilterChanged(const QString& nameFilter) +{ + proxyModel()->setFilterRegExp(nameFilter); +} + void ViewExtensionsFactory::requestActivation() { m_controller->requestActivation(); diff --git a/src/viewextensionsfactory.h b/src/viewextensionsfactory.h index 4659b1714..65549a55a 100644 --- a/src/viewextensionsfactory.h +++ b/src/viewextensionsfactory.h @@ -72,6 +72,7 @@ private slots: void slotSortingChanged(DolphinView::Sorting sorting); void slotSortOrderChanged(Qt::SortOrder order); void slotSortFoldersFirstChanged(bool foldersFirst); + void slotNameFilterChanged(const QString& nameFilter); void requestActivation(); private: