summaryrefslogtreecommitdiffstats
path: root/digikam/digikam/ratingfilter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'digikam/digikam/ratingfilter.cpp')
-rw-r--r--digikam/digikam/ratingfilter.cpp205
1 files changed, 0 insertions, 205 deletions
diff --git a/digikam/digikam/ratingfilter.cpp b/digikam/digikam/ratingfilter.cpp
deleted file mode 100644
index 99006358..00000000
--- a/digikam/digikam/ratingfilter.cpp
+++ /dev/null
@@ -1,205 +0,0 @@
-/* ============================================================
- *
- * This file is a part of digiKam project
- * http://www.digikam.org
- *
- * Date : 2007-10-09
- * Description : a widget to filter album contents by rating
- *
- * Copyright (C) 2007 by Gilles Caulier <caulier dot gilles at gmail dot com>
- * Copyright (C) 2007 by Arnd Baecker <arnd dot baecker at web dot de>
- *
- * 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, 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.
- *
- * ============================================================ */
-
-// TQt includes.
-
-#include <tqpainter.h>
-#include <tqpalette.h>
-#include <tqpixmap.h>
-#include <tqcursor.h>
-#include <tqwhatsthis.h>
-
-// KDE includes.
-
-#include <kiconloader.h>
-#include <tdelocale.h>
-#include <tdeglobal.h>
-#include <kstandarddirs.h>
-#include <tdepopupmenu.h>
-
-// Local includes.
-
-#include "constants.h"
-#include "ddebug.h"
-#include "dcursortracker.h"
-#include "themeengine.h"
-#include "ratingfilter.h"
-#include "ratingfilter.moc"
-
-namespace Digikam
-{
-
-class RatingFilterPriv
-{
-public:
-
- RatingFilterPriv()
- {
- dirty = false;
- ratingTracker = 0;
- filterCond = AlbumLister::GreaterEqualCondition;
- }
-
- bool dirty;
-
- DTipTracker *ratingTracker;
-
- AlbumLister::RatingCondition filterCond;
-};
-
-RatingFilter::RatingFilter(TQWidget* parent)
- : RatingWidget(parent)
-{
- d = new RatingFilterPriv;
-
- d->ratingTracker = new DTipTracker("", this);
- updateRatingTooltip();
- setMouseTracking(true);
-
- TQWhatsThis::add(this, i18n("Select the rating value used to filter "
- "albums contents. Use contextual pop-up menu to "
- "set rating filter condition."));
-
- // To dispatch signal from parent widget with filter condition.
- connect(this, TQT_SIGNAL(signalRatingChanged(int)),
- this, TQT_SLOT(slotRatingChanged()));
-}
-
-RatingFilter::~RatingFilter()
-{
- delete d->ratingTracker;
- delete d;
-}
-
-void RatingFilter::slotRatingChanged()
-{
- emit signalRatingFilterChanged(rating(), d->filterCond);
-}
-
-void RatingFilter::setRatingFilterCondition(AlbumLister::RatingCondition cond)
-{
- d->filterCond = cond;
- updateRatingTooltip();
- slotRatingChanged();
-}
-
-AlbumLister::RatingCondition RatingFilter::ratingFilterCondition()
-{
- return d->filterCond;
-}
-
-void RatingFilter::mouseMoveEvent(TQMouseEvent* e)
-{
- // This method have been re-implemented to display and update the famous TipTracker contents.
-
- if ( d->dirty )
- {
- int pos = e->x() / regPixmapWidth() +1;
-
- if (rating() != pos)
- setRating(pos);
-
- updateRatingTooltip();
- }
-}
-
-void RatingFilter::mousePressEvent(TQMouseEvent* e)
-{
- // This method must be re-implemented to handle witch mousse button is pressed
- // and show the rating filter settings pop-up menu with right mouse button.
- // NOTE: Left and Middle Mouse buttons continue to change rating filter value.
-
- d->dirty = false;
-
- if ( e->button() == Qt::LeftButton || e->button() == Qt::MidButton )
- {
- d->dirty = true;
- int pos = e->x() / regPixmapWidth() +1;
-
- if (rating() == pos)
- setRating(rating()-1);
- else
- setRating(pos);
- updateRatingTooltip();
- }
- else if (e->button() == Qt::RightButton)
- {
- // Show pop-up menu about Rating Filter condition settings
-
- TDEPopupMenu popmenu(this);
- popmenu.insertTitle(SmallIcon("digikam"), i18n("Rating Filter"));
- popmenu.setCheckable(true);
- popmenu.insertItem(i18n("Greater Equal Condition"), AlbumLister::GreaterEqualCondition);
- popmenu.insertItem(i18n("Equal Condition"), AlbumLister::EqualCondition);
- popmenu.insertItem(i18n("Less Equal Condition"), AlbumLister::LessEqualCondition);
- popmenu.setItemChecked(d->filterCond, true);
-
- int choice = popmenu.exec((TQCursor::pos()));
- switch(choice)
- {
- case AlbumLister::GreaterEqualCondition:
- case AlbumLister::EqualCondition:
- case AlbumLister::LessEqualCondition:
- {
- setRatingFilterCondition((AlbumLister::RatingCondition)choice);
- break;
- }
- default:
- break;
- }
- }
-}
-
-void RatingFilter::mouseReleaseEvent(TQMouseEvent*)
-{
- d->dirty = false;
-}
-
-void RatingFilter::updateRatingTooltip()
-{
- // Adapt tip message with rating filter condition settings.
-
- switch(d->filterCond)
- {
- case AlbumLister::GreaterEqualCondition:
- {
- d->ratingTracker->setText(i18n("Rating >= %1").arg(rating()));
- break;
- }
- case AlbumLister::EqualCondition:
- {
- d->ratingTracker->setText(i18n("Rating = %1").arg(rating()));
- break;
- }
- case AlbumLister::LessEqualCondition:
- {
- d->ratingTracker->setText(i18n("Rating <= %1").arg(rating()));
- break;
- }
- default:
- break;
- }
-}
-
-} // namespace Digikam