From 51ef0020a78bd216cb357eaa574161299fa0b608 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Ander=20Pe=C3=B1alba?= Date: Mon, 30 Aug 2010 00:05:47 +0200 Subject: Use the same FilterProxyModel for the bookmarks and history panels --- src/bookmarks/bookmarkspanel.cpp | 6 ++--- src/bookmarks/bookmarksproxy.cpp | 58 ---------------------------------------- src/bookmarks/bookmarksproxy.h | 58 ---------------------------------------- 3 files changed, 3 insertions(+), 119 deletions(-) delete mode 100644 src/bookmarks/bookmarksproxy.cpp delete mode 100644 src/bookmarks/bookmarksproxy.h (limited to 'src/bookmarks') diff --git a/src/bookmarks/bookmarkspanel.cpp b/src/bookmarks/bookmarkspanel.cpp index 08f99155..53f22232 100644 --- a/src/bookmarks/bookmarkspanel.cpp +++ b/src/bookmarks/bookmarkspanel.cpp @@ -29,10 +29,10 @@ #include "bookmarkspanel.h" // Local Includes +#include "panels/urlfilterproxymodel.h" #include "application.h" #include "bookmarkprovider.h" #include "bookmarkstreemodel.h" -#include "bookmarksproxy.h" #include "bookmarkscontextmenu.h" #include "bookmarkowner.h" #include "paneltreeview.h" @@ -185,7 +185,7 @@ void BookmarksPanel::setup() setWidget(ui); BookmarksTreeModel *model = new BookmarksTreeModel(this); - BookmarksProxy *proxy = new BookmarksProxy(ui); + UrlFilterProxyModel *proxy = new UrlFilterProxyModel(ui); proxy->setSourceModel(model); m_treeView->setModel(proxy); @@ -211,7 +211,7 @@ KBookmark BookmarksPanel::bookmarkForIndex(const QModelIndex &index) if (!index.isValid()) return KBookmark(); - const BookmarksProxy *proxyModel = static_cast(index.model()); + const UrlFilterProxyModel *proxyModel = static_cast(index.model()); QModelIndex originalIndex = proxyModel->mapToSource(index); BtmItem *node = static_cast(originalIndex.internalPointer()); diff --git a/src/bookmarks/bookmarksproxy.cpp b/src/bookmarks/bookmarksproxy.cpp deleted file mode 100644 index 1e4da877..00000000 --- a/src/bookmarks/bookmarksproxy.cpp +++ /dev/null @@ -1,58 +0,0 @@ -/* ============================================================ -* -* This file is a part of the rekonq project -* -* Copyright (C) 2009 by Nils Weigel -* Copyright (C) 2010 by Andrea Diamantini -* -* -* This program is free software; you can redistribute it and/or -* modify it under the terms of the GNU General Public License as -* published by the Free Software Foundation; either version 2 of -* the License or (at your option) version 3 or any later version -* accepted by the membership of KDE e.V. (or its successor approved -* by the membership of KDE e.V.), which shall act as a proxy -* defined in Section 14 of version 3 of the license. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program. If not, see . -* -* ============================================================ */ - - -// Self Includes -#include "bookmarksproxy.h" - - -BookmarksProxy::BookmarksProxy(QObject *parent) - : QSortFilterProxyModel(parent) -{ - setFilterCaseSensitivity(Qt::CaseInsensitive); -} - - -bool BookmarksProxy::filterAcceptsRow(const int source_row, const QModelIndex &source_parent) const -{ - return recursiveMatch( sourceModel()->index(source_row, 0, source_parent) ); -} - - -bool BookmarksProxy::recursiveMatch(const QModelIndex &index) const -{ - if (index.data().toString().contains(filterRegExp())) - return true; - - int numChildren = sourceModel()->rowCount(index); - for (int childRow = 0; childRow < numChildren; ++childRow) - { - if (recursiveMatch(sourceModel()->index(childRow, 0, index))) - return true; - } - - return false; -} diff --git a/src/bookmarks/bookmarksproxy.h b/src/bookmarks/bookmarksproxy.h deleted file mode 100644 index b4554d2b..00000000 --- a/src/bookmarks/bookmarksproxy.h +++ /dev/null @@ -1,58 +0,0 @@ -/* ============================================================ -* -* This file is a part of the rekonq project -* -* Copyright (C) 2009 by Nils Weigel -* Copyright (C) 2010 by Andrea Diamantini -* -* -* This program is free software; you can redistribute it and/or -* modify it under the terms of the GNU General Public License as -* published by the Free Software Foundation; either version 2 of -* the License or (at your option) version 3 or any later version -* accepted by the membership of KDE e.V. (or its successor approved -* by the membership of KDE e.V.), which shall act as a proxy -* defined in Section 14 of version 3 of the license. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program. If not, see . -* -* ============================================================ */ - - -#ifndef BOOKMARKSPROXY_H -#define BOOKMARKSPROXY_H - - -// Rekonq Includes -#include "rekonq_defines.h" - -// Qt Includes -#include - -/** - * QSortFilterProxyModel hides all children which parent doesn't - * match the filter. This class is used to change this behavior. - * If a bookmark matches the filter it'll be shown, even if it's parent doesn't match it. - */ -class REKONQ_TESTS_EXPORT BookmarksProxy : public QSortFilterProxyModel -{ - Q_OBJECT - Q_DISABLE_COPY(BookmarksProxy) - -public: - BookmarksProxy(QObject *parent = 0); - -protected: - virtual bool filterAcceptsRow(const int source_row, const QModelIndex &source_parent) const; - - // returns true if index or any of his children match the filter - bool recursiveMatch(const QModelIndex &index) const; -}; - -#endif // BOOKMARKSPROXY_H -- cgit v1.2.1