┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/search
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2010-10-27 17:08:02 +0000
committerPeter Penz <[email protected]>2010-10-27 17:08:02 +0000
commit4383f4238ee61668d82e45f08935a9b99892f16e (patch)
tree3533b803dfb02f6a72157d1ded458fd684ec9a2f /src/search
parente521e260b6c95242e87fad9f22a0faa696cfa948 (diff)
- Automatically show the filter-panel when a searching is done
- Remove filter-prototypes that conflict with the filterpanel svn path=/trunk/KDE/kdebase/apps/; revision=1190445
Diffstat (limited to 'src/search')
-rw-r--r--src/search/dolphinsearchbox.cpp63
-rw-r--r--src/search/dolphinsearchbox.h3
-rw-r--r--src/search/filters/abstractsearchfilterwidget.cpp66
-rw-r--r--src/search/filters/abstractsearchfilterwidget.h67
-rw-r--r--src/search/filters/datesearchfilterwidget.cpp111
-rw-r--r--src/search/filters/datesearchfilterwidget.h53
-rw-r--r--src/search/filters/ratingsearchfilterwidget.cpp106
-rw-r--r--src/search/filters/ratingsearchfilterwidget.h44
-rw-r--r--src/search/filters/tagsearchfilterwidget.cpp88
-rw-r--r--src/search/filters/tagsearchfilterwidget.h44
10 files changed, 8 insertions, 637 deletions
diff --git a/src/search/dolphinsearchbox.cpp b/src/search/dolphinsearchbox.cpp
index 54f3d0985..d41aba605 100644
--- a/src/search/dolphinsearchbox.cpp
+++ b/src/search/dolphinsearchbox.cpp
@@ -49,10 +49,6 @@
#include <nepomuk/resourcetypeterm.h>
#include <nepomuk/comparisonterm.h>
#include "nfo.h"
-
- #include "filters/datesearchfilterwidget.h"
- #include "filters/ratingsearchfilterwidget.h"
- #include "filters/tagsearchfilterwidget.h"
#endif
DolphinSearchBox::DolphinSearchBox(QWidget* parent) :
@@ -66,8 +62,6 @@ DolphinSearchBox::DolphinSearchBox(QWidget* parent) :
m_fileNameButton(0),
m_contentButton(0),
m_filterButton(0),
- m_filterWidgetsLayout(0),
- m_filterWidgets(),
m_searchPath(),
m_startSearchTimer(0)
{
@@ -184,34 +178,6 @@ void DolphinSearchBox::slotReturnPressed(const QString& text)
emit returnPressed(text);
}
-void DolphinSearchBox::setFilterWidgetsVisible(bool visible)
-{
-#ifdef HAVE_NEPOMUK
- if (visible) {
- if (m_filterWidgetsLayout == 0) {
- m_filterWidgetsLayout = new QFormLayout(this);
- m_filterWidgetsLayout->setSpacing(0);
-
- m_filterWidgets.append(new DateSearchFilterWidget(this));
- m_filterWidgets.append(new RatingSearchFilterWidget(this));
- m_filterWidgets.append(new TagSearchFilterWidget(this));
-
- foreach (AbstractSearchFilterWidget* filterWidget, m_filterWidgets) {
- const QString labelText = filterWidget->filterLabel() + QLatin1Char(':');
- QLabel* label = new QLabel(labelText, this);
- m_filterWidgetsLayout->addRow(label, filterWidget);
- connect(filterWidget, SIGNAL(filterChanged()), this, SLOT(emitSearchSignal()));
- }
- }
- m_topLayout->addLayout(m_filterWidgetsLayout);
- } else {
- m_topLayout->removeItem(m_filterWidgetsLayout);
- }
-#else
- Q_UNUSED(visible);
-#endif
-}
-
void DolphinSearchBox::initButton(QPushButton* button)
{
button->setAutoExclusive(true);
@@ -302,7 +268,7 @@ void DolphinSearchBox::init()
m_filterButton->setAutoRaise(true);
m_filterButton->setCheckable(true);
m_filterButton->hide();
- connect(m_filterButton, SIGNAL(toggled(bool)), this, SLOT(setFilterWidgetsVisible(bool)));
+ //connect(m_filterButton, SIGNAL(toggled(bool)), this, SLOT(setFilterWidgetsVisible(bool)));
// Apply layout for the options
QHBoxLayout* optionsLayout = new QHBoxLayout();
@@ -332,7 +298,6 @@ void DolphinSearchBox::init()
bool DolphinSearchBox::isSearchPathIndexed() const
{
- return true;
#ifdef HAVE_NEPOMUK
const QString path = m_searchPath.path();
@@ -353,7 +318,6 @@ bool DolphinSearchBox::isSearchPathIndexed() const
// excluded folder is part of the search path.
const QStringList excludedFolders = strigiConfig.group("General").readPathEntry("exclude folders", QStringList());
foreach (const QString& excludedFolder, excludedFolders) {
- // trueg: this is still not correct since there might be an include folder in the exclude folder
if (path.startsWith(excludedFolder)) {
isIndexed = false;
break;
@@ -372,30 +336,19 @@ KUrl DolphinSearchBox::nepomukUrlForSearching() const
#ifdef HAVE_NEPOMUK
Nepomuk::Query::AndTerm andTerm;
- // Add filter terms
- foreach (const AbstractSearchFilterWidget* filterWidget, m_filterWidgets) {
- const Nepomuk::Query::Term term = filterWidget->queryTerm();
- if (term.isValid()) {
- andTerm.addSubTerm(term);
- }
- }
-
// Add input from search filter
const QString text = m_searchInput->text();
if (!text.isEmpty()) {
- if ( m_fileNameButton->isChecked() ) {
+ if (m_fileNameButton->isChecked()) {
QString regex = QRegExp::escape(text);
- regex.replace("\\*", QLatin1String( ".*" ));
- regex.replace("\\?", QLatin1String( "." ));
+ regex.replace("\\*", QLatin1String(".*"));
+ regex.replace("\\?", QLatin1String("."));
regex.replace("\\", "\\\\");
- regex.prepend('^');
- regex.append('$');
- andTerm.addSubTerm( Nepomuk::Query::ComparisonTerm(
+ andTerm.addSubTerm(Nepomuk::Query::ComparisonTerm(
Nepomuk::Vocabulary::NFO::fileName(),
- Nepomuk::Query::LiteralTerm( regex ),
- Nepomuk::Query::ComparisonTerm::Regexp ) );
- }
- else {
+ Nepomuk::Query::LiteralTerm(regex),
+ Nepomuk::Query::ComparisonTerm::Regexp));
+ } else {
const Nepomuk::Query::Query customQuery = Nepomuk::Query::QueryParser::parseQuery(text, Nepomuk::Query::QueryParser::DetectFilenamePattern);
if (customQuery.isValid()) {
andTerm.addSubTerm(customQuery.term());
diff --git a/src/search/dolphinsearchbox.h b/src/search/dolphinsearchbox.h
index f88fc43f4..11cd24167 100644
--- a/src/search/dolphinsearchbox.h
+++ b/src/search/dolphinsearchbox.h
@@ -95,7 +95,6 @@ private slots:
void slotConfigurationChanged();
void slotSearchTextChanged(const QString& text);
void slotReturnPressed(const QString& text);
- void setFilterWidgetsVisible(bool visible);
private:
void initButton(QPushButton* button);
@@ -127,8 +126,6 @@ private:
QPushButton* m_contentButton;
QToolButton* m_filterButton;
- QFormLayout* m_filterWidgetsLayout;
- QList<AbstractSearchFilterWidget*> m_filterWidgets;
KUrl m_searchPath;
diff --git a/src/search/filters/abstractsearchfilterwidget.cpp b/src/search/filters/abstractsearchfilterwidget.cpp
deleted file mode 100644
index 5b44f94b4..000000000
--- a/src/search/filters/abstractsearchfilterwidget.cpp
+++ /dev/null
@@ -1,66 +0,0 @@
-/***************************************************************************
-* Copyright (C) 2010 by Peter Penz <[email protected]> *
-* *
-* 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) any later version. *
-* *
-* 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, write to the *
-* Free Software Foundation, Inc., *
-* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
-* **************************************************************************/
-
-#include "abstractsearchfilterwidget.h"
-
-#include <QPushButton>
-
-class SearchFilterButton : public QPushButton
-{
-public:
- SearchFilterButton(QWidget* parent = 0);
- virtual QSize sizeHint() const;
-};
-
-SearchFilterButton::SearchFilterButton(QWidget* parent) :
- QPushButton(parent)
-{
- setCheckable(true);
-}
-
-QSize SearchFilterButton::sizeHint() const
-{
- // Provide a larger preferred width, as this leads to a less
- // cluttered layout for all search filters
- const QSize defaultSize = QPushButton::sizeHint();
- QFontMetrics fontMetrics(font());
- const int minWidth = fontMetrics.height() * 8;
- const int width = qMax(minWidth, defaultSize.width());
- return QSize(width, defaultSize.height());
-}
-
-
-
-AbstractSearchFilterWidget::AbstractSearchFilterWidget(QWidget* parent) :
- QWidget(parent)
-{
-}
-
-AbstractSearchFilterWidget::~AbstractSearchFilterWidget()
-{
-}
-
-QPushButton* AbstractSearchFilterWidget::createButton()
-{
- SearchFilterButton* button = new SearchFilterButton(this);
- connect(button, SIGNAL(toggled(bool)), this, SIGNAL(filterChanged()));
- return button;
-}
-
-#include "abstractsearchfilterwidget.moc"
diff --git a/src/search/filters/abstractsearchfilterwidget.h b/src/search/filters/abstractsearchfilterwidget.h
deleted file mode 100644
index 95f288b08..000000000
--- a/src/search/filters/abstractsearchfilterwidget.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2010 by Peter Penz <[email protected]> *
- * *
- * 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) any later version. *
- * *
- * 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, write to the *
- * Free Software Foundation, Inc., *
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
- ***************************************************************************/
-
-#ifndef ABSTRACTSEARCHFILTERWIDGET_H
-#define ABSTRACTSEARCHFILTERWIDGET_H
-
-#include <nepomuk/term.h>
-#include <QWidget>
-
-class QPushButton;
-
-/**
- * @brief Base class for widgets that act as filter for searching.
- *
- * Derived classes need to implement the methods filterLabel() and
- * queryTerm(). It is recommended to use createButton() for a filter-switch.
- * The created button will automatically emit the signal filterChanged().
- */
-class AbstractSearchFilterWidget : public QWidget {
- Q_OBJECT
-
-public:
- AbstractSearchFilterWidget(QWidget* parent = 0);
- virtual ~AbstractSearchFilterWidget();
-
- /**
- * @return Label that describes the kind of filter.
- */
- virtual QString filterLabel() const = 0;
-
- /**
- * @return Query-term for this filter, that respects the currently
- * selected filter-switches.
- */
- virtual Nepomuk::Query::Term queryTerm() const = 0;
-
-protected:
- /**
- * @return A checkable button, that automatically emits the signal
- * filterChanged() when being pressed.
- */
- QPushButton* createButton();
-
-signals:
- /**
- * Is emitted, if a filter-switch has been changed by the user.
- */
- void filterChanged();
-};
-
-#endif
diff --git a/src/search/filters/datesearchfilterwidget.cpp b/src/search/filters/datesearchfilterwidget.cpp
deleted file mode 100644
index c1856a3fc..000000000
--- a/src/search/filters/datesearchfilterwidget.cpp
+++ /dev/null
@@ -1,111 +0,0 @@
-/***************************************************************************
-* Copyright (C) 2010 by Peter Penz <[email protected]> *
-* *
-* 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) any later version. *
-* *
-* 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, write to the *
-* Free Software Foundation, Inc., *
-* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
-* **************************************************************************/
-
-#include "datesearchfilterwidget.h"
-
-#include <klocale.h>
-#include <nepomuk/comparisonterm.h>
-#include <nepomuk/literalterm.h>
-#include <nepomuk/orterm.h>
-#include <nepomuk/property.h>
-#include <nepomuk/query.h>
-#include "nie.h"
-#include <QDate>
-#include <QDateTime>
-#include <QLabel>
-#include <QPushButton>
-#include <QHBoxLayout>
-
-DateSearchFilterWidget::DateSearchFilterWidget(QWidget* parent) :
- AbstractSearchFilterWidget(parent),
- m_dateButtons()
-{
- QHBoxLayout* layout = new QHBoxLayout(this);
- layout->setSpacing(0);
-
- for (int i = Today; i <= ThisYear; ++i) {
- QPushButton* button = createButton();
- switch (i) {
- case Today: button->setText(i18nc("@action:button", "Today")); break;
- case Yesterday: button->setText(i18nc("@action:button", "Yesterday")); break;
- case ThisWeek: button->setText(i18nc("@action:button", "This Week")); break;
- case ThisMonth: button->setText(i18nc("@action:button", "This Month")); break;
- case ThisYear: button->setText(i18nc("@action:button", "This Year")); break;
- default: Q_ASSERT(false);
- }
-
- layout->addWidget(button);
- m_dateButtons.append(button);
- }
- layout->addStretch(1);
-}
-
-DateSearchFilterWidget::~DateSearchFilterWidget()
-{
-}
-
-
-QString DateSearchFilterWidget::filterLabel() const
-{
- return i18nc("@title:group", "Date");
-}
-
-Nepomuk::Query::Term DateSearchFilterWidget::queryTerm() const
-{
- Nepomuk::Query::OrTerm orTerm;
-
- int index = 0;
- foreach (const QPushButton* button, m_dateButtons) {
- if (button->isChecked()) {
- QDate today = QDate::currentDate();
- QDate date;
- switch (index) {
- case Today:
- // Current date is already set
- break;
- case Yesterday:
- date.addDays(-1);
- break;
- case ThisWeek:
- date.addDays(-today.dayOfWeek());
- break;
- case ThisMonth:
- date = QDate(today.year(), today.month(), 1);
- break;
- case ThisYear:
- date = QDate(today.year(), 1, 1);
- break;
- default:
- Q_ASSERT(false);
- }
-
- const QDateTime dateTime(date);
- const Nepomuk::Query::LiteralTerm term(dateTime);
- const Nepomuk::Query::ComparisonTerm compTerm(Nepomuk::Vocabulary::NIE::lastModified(),
- term,
- Nepomuk::Query::ComparisonTerm::GreaterOrEqual);
- orTerm.addSubTerm(compTerm);
- }
- ++index;
- }
-
- return orTerm;
-}
-
-#include "datesearchfilterwidget.moc"
diff --git a/src/search/filters/datesearchfilterwidget.h b/src/search/filters/datesearchfilterwidget.h
deleted file mode 100644
index 9099489ad..000000000
--- a/src/search/filters/datesearchfilterwidget.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2010 by Peter Penz <[email protected]> *
- * *
- * 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) any later version. *
- * *
- * 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, write to the *
- * Free Software Foundation, Inc., *
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
- ***************************************************************************/
-
-#ifndef DATESEARCHFILTERWIDGET_H
-#define DATESEARCHFILTERWIDGET_H
-
-#include <search/filters/abstractsearchfilterwidget.h>
-#include <QList>
-
-class QPushButton;
-
-/**
- * @brief Allows to filter the search by defined date values like
- * today, yesterday, ...
- */
-class DateSearchFilterWidget : public AbstractSearchFilterWidget {
- Q_OBJECT
-
-public:
- DateSearchFilterWidget(QWidget* parent = 0);
- virtual ~DateSearchFilterWidget();
- virtual QString filterLabel() const;
- virtual Nepomuk::Query::Term queryTerm() const;
-
-private:
- enum DateFilterType {
- Today,
- Yesterday,
- ThisWeek,
- ThisMonth,
- ThisYear
- };
-
- QList<QPushButton*> m_dateButtons;
-};
-
-#endif
diff --git a/src/search/filters/ratingsearchfilterwidget.cpp b/src/search/filters/ratingsearchfilterwidget.cpp
deleted file mode 100644
index 143c8c7c6..000000000
--- a/src/search/filters/ratingsearchfilterwidget.cpp
+++ /dev/null
@@ -1,106 +0,0 @@
-/***************************************************************************
-* Copyright (C) 2010 by Peter Penz <[email protected]> *
-* *
-* 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) any later version. *
-* *
-* 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, write to the *
-* Free Software Foundation, Inc., *
-* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
-* **************************************************************************/
-
-#include "ratingsearchfilterwidget.h"
-
-#include <klocale.h>
-#include <nepomuk/comparisonterm.h>
-#include <nepomuk/literalterm.h>
-#include <nepomuk/orterm.h>
-#include <nepomuk/kratingpainter.h>
-#include <nepomuk/property.h>
-#include <nepomuk/query.h>
-#include "nie.h"
-#include <Soprano/LiteralValue>
-#include <Soprano/Vocabulary/NAO>
-#include <QFontMetrics>
-#include <QIcon>
-#include <QLabel>
-#include <QPainter>
-#include <QPushButton>
-#include <QHBoxLayout>
-
-namespace {
- // Only show the ratings 0, 2, 4, ... 10
- const int RatingInc = 2;
-};
-
-RatingSearchFilterWidget::RatingSearchFilterWidget(QWidget* parent) :
- AbstractSearchFilterWidget(parent),
- m_ratingButtons()
-{
- QHBoxLayout* layout = new QHBoxLayout(this);
- layout->setSpacing(0);
-
- QFontMetrics fontMetrics(font());
- const int iconHeight = fontMetrics.height();
-
- KRatingPainter ratingPainter;
- const int maxRating = ratingPainter.maxRating();
- const QSize iconSize(iconHeight * (maxRating / 2), iconHeight);
- const QRect paintRect(QPoint(0, 0), iconSize);
-
- for (int rating = 0; rating <= ratingPainter.maxRating(); rating += RatingInc) {
- // Create pixmap that represents the rating
- QPixmap pixmap(iconSize);
- pixmap.fill(Qt::transparent);
- QPainter painter(&pixmap);
- ratingPainter.paint(&painter, paintRect, rating);
-
- // Create button with the rating pixmap as icon
- QPushButton* button = createButton();
- button->setIconSize(iconSize);
- button->setIcon(QIcon(pixmap));
-
- layout->addWidget(button);
- m_ratingButtons.append(button);
- }
-
- layout->addStretch(1);
-}
-
-RatingSearchFilterWidget::~RatingSearchFilterWidget()
-{
-}
-
-QString RatingSearchFilterWidget::filterLabel() const
-{
- return i18nc("@title:group", "Rating");
-}
-
-Nepomuk::Query::Term RatingSearchFilterWidget::queryTerm() const
-{
- Nepomuk::Query::OrTerm orTerm;
-
- int rating = 0;
- foreach (const QPushButton* ratingButton, m_ratingButtons) {
- if (ratingButton->isChecked()) {
- const Nepomuk::Query::LiteralTerm term(rating);
- const Nepomuk::Query::ComparisonTerm compTerm(Soprano::Vocabulary::NAO::numericRating(),
- term,
- Nepomuk::Query::ComparisonTerm::Equal);
- orTerm.addSubTerm(compTerm);
- }
- rating += RatingInc;
- }
-
- return orTerm;
-}
-
-#include "ratingsearchfilterwidget.moc"
diff --git a/src/search/filters/ratingsearchfilterwidget.h b/src/search/filters/ratingsearchfilterwidget.h
deleted file mode 100644
index 05de1adec..000000000
--- a/src/search/filters/ratingsearchfilterwidget.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2010 by Peter Penz <[email protected]> *
- * *
- * 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) any later version. *
- * *
- * 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, write to the *
- * Free Software Foundation, Inc., *
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
- ***************************************************************************/
-
-#ifndef RATINGSEARCHFILTERWIDGET_H
-#define RATINGSEARCHFILTERWIDGET_H
-
-#include <search/filters/abstractsearchfilterwidget.h>
-#include <QList>
-
-class QPushButton;
-
-/**
- * @brief Allows to filter the search by rating.
- */
-class RatingSearchFilterWidget : public AbstractSearchFilterWidget {
- Q_OBJECT
-
-public:
- RatingSearchFilterWidget(QWidget* parent = 0);
- virtual ~RatingSearchFilterWidget();
- virtual QString filterLabel() const;
- virtual Nepomuk::Query::Term queryTerm() const;
-
-private:
- QList<QPushButton*> m_ratingButtons;
-};
-
-#endif
diff --git a/src/search/filters/tagsearchfilterwidget.cpp b/src/search/filters/tagsearchfilterwidget.cpp
deleted file mode 100644
index d4dbd30ea..000000000
--- a/src/search/filters/tagsearchfilterwidget.cpp
+++ /dev/null
@@ -1,88 +0,0 @@
-/***************************************************************************
-* Copyright (C) 2010 by Peter Penz <[email protected]> *
-* *
-* 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) any later version. *
-* *
-* 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, write to the *
-* Free Software Foundation, Inc., *
-* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
-* **************************************************************************/
-
-#include "tagsearchfilterwidget.h"
-
-#include <nepomuk/tag.h>
-#include <nepomuk/comparisonterm.h>
-#include <nepomuk/literalterm.h>
-#include <nepomuk/orterm.h>
-#include <nepomuk/property.h>
-#include <nepomuk/query.h>
-#include <klocale.h>
-#include <Soprano/LiteralValue>
-#include <Soprano/Vocabulary/NAO>
-#include <QLabel>
-#include <QPushButton>
-#include <QHBoxLayout>
-
-static bool tagLabelLessThan(const Nepomuk::Tag& t1, const Nepomuk::Tag& t2)
-{
- return t1.genericLabel() < t2.genericLabel();
-}
-
-TagSearchFilterWidget::TagSearchFilterWidget(QWidget* parent) :
- AbstractSearchFilterWidget(parent),
- m_tagButtons()
-{
- QHBoxLayout* layout = new QHBoxLayout(this);
- layout->setSpacing(0);
-
- QList<Nepomuk::Tag> tags = Nepomuk::Tag::allTags();
- qSort(tags.begin(), tags.end(), tagLabelLessThan);
-
- // TODO: handle case if no tag is available
- foreach (const Nepomuk::Tag& tag, tags) {
- QPushButton* button = createButton();
- button->setText(tag.genericLabel());
-
- layout->addWidget(button);
- m_tagButtons.append(button);
- }
-
- layout->addStretch(1);
-}
-
-TagSearchFilterWidget::~TagSearchFilterWidget()
-{
-}
-
-QString TagSearchFilterWidget::filterLabel() const
-{
- return i18nc("@title:group", "Tag");
-}
-
-Nepomuk::Query::Term TagSearchFilterWidget::queryTerm() const
-{
- Nepomuk::Query::OrTerm orTerm;
-
- foreach (const QPushButton* tagButton, m_tagButtons) {
- if (tagButton->isChecked()) {
- const Nepomuk::Query::LiteralTerm term(tagButton->text());
- const Nepomuk::Query::ComparisonTerm compTerm(Soprano::Vocabulary::NAO::hasTag(),
- term,
- Nepomuk::Query::ComparisonTerm::Equal);
- orTerm.addSubTerm(compTerm);
- }
- }
-
- return orTerm;
-}
-
-#include "tagsearchfilterwidget.moc"
diff --git a/src/search/filters/tagsearchfilterwidget.h b/src/search/filters/tagsearchfilterwidget.h
deleted file mode 100644
index 9897e408b..000000000
--- a/src/search/filters/tagsearchfilterwidget.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2010 by Peter Penz <[email protected]> *
- * *
- * 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) any later version. *
- * *
- * 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, write to the *
- * Free Software Foundation, Inc., *
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
- ***************************************************************************/
-
-#ifndef TAGSEARCHFILTERWIDGET_H
-#define TAGSEARCHFILTERWIDGET_H
-
-#include <search/filters/abstractsearchfilterwidget.h>
-#include <QList>
-
-class QPushButton;
-
-/**
- * @brief Allows to filter the search by tags.
- */
-class TagSearchFilterWidget : public AbstractSearchFilterWidget {
- Q_OBJECT
-
-public:
- TagSearchFilterWidget(QWidget* parent = 0);
- virtual ~TagSearchFilterWidget();
- virtual QString filterLabel() const;
- virtual Nepomuk::Query::Term queryTerm() const;
-
-private:
- QList<QPushButton*> m_tagButtons;
-};
-
-#endif