Hi all, Something has gone wrong here, definitely, as now one can only filter by half the value of a star anymore.
For information: Half a star = 1 rating point, not 0.5 If I now want to filter by rating, let's say between 1 and 7 rating points I get a filter between 0.5 and 3.5 See also bug 260333 Regards, Myriam. On Fri, Nov 26, 2010 at 02:16, Ralf Engels <[email protected]> wrote: > commit c9966b25e259568de09688d32db7ee7ae6ef8795 > branch master > Author: Ralf Engels <[email protected]> > Date: Fri Nov 26 01:41:53 2010 +0100 > > Half star rating in collection search field. > From Daniel Faust > > diff --git a/src/browsers/CollectionTreeItemModelBase.cpp > b/src/browsers/CollectionTreeItemModelBase.cpp > index 280245a..0bff03b 100644 > --- a/src/browsers/CollectionTreeItemModelBase.cpp > +++ b/src/browsers/CollectionTreeItemModelBase.cpp > @@ -742,7 +742,7 @@ CollectionTreeItemModelBase::addFilters( > Collections::QueryMaker * qm ) const > } > else if( lcField.compare( "rating", Qt::CaseInsensitive ) == > 0 || lcField.compare( i18n( "rating" ), Qt::CaseInsensitive ) == 0 ) > { > - ADD_OR_EXCLUDE_NUMBER_FILTER( Meta::valRating, > elem.text.toInt(), compare ); > + ADD_OR_EXCLUDE_NUMBER_FILTER( Meta::valRating, > elem.text.toFloat() * 2, compare ); > } > else if( lcField.compare( "score", Qt::CaseInsensitive ) == 0 > || lcField.compare( i18n( "score" ), Qt::CaseInsensitive ) == 0 ) > { > diff --git a/src/context/widgets/RatingWidget.cpp > b/src/context/widgets/RatingWidget.cpp > index a2bfbaf..4a84091 100644 > --- a/src/context/widgets/RatingWidget.cpp > +++ b/src/context/widgets/RatingWidget.cpp > @@ -67,7 +67,7 @@ RatingWidget::RatingWidget( QGraphicsItem* parent ) > , m_startupUpdates( 2 ) > { > setAcceptHoverEvents( true ); > - setToolTip( i18n( "Track rating: %1", d->rating ) ); > + setToolTip( i18n( "Track rating: %1", (float)d->rating / 2 ) ); > } > > > @@ -218,7 +218,7 @@ RatingWidget::mousePressEvent( QGraphicsSceneMouseEvent* > e ) > if ( ratingFromPos >= 0 ) > { > d->hoverRating = d->rating = ratingFromPos; > - setToolTip( i18n( "Track rating: %1", d->rating ) ); > + setToolTip( i18n( "Track rating: %1", (float)d->rating / 2 ) ); > update(); > emit ratingChanged( d->rating ); > } > @@ -244,7 +244,7 @@ RatingWidget::hoverEnterEvent( QGraphicsSceneHoverEvent* > e ) > contentsRect().width(), contentsRect().height() ); > d->hoverRating = d->ratingPainter.ratingFromPosition( rect, QPoint( > e->pos().x(), e->pos().y() ) ); > > - setToolTip( i18n( "Track rating: %1", d->rating ) ); > + setToolTip( i18n( "Track rating: %1", (float)d->rating / 2 ) ); > > update(); > } > diff --git a/src/widgets/MetaQueryWidget.cpp b/src/widgets/MetaQueryWidget.cpp > index 838d12d..44c2536 100644 > --- a/src/widgets/MetaQueryWidget.cpp > +++ b/src/widgets/MetaQueryWidget.cpp > @@ -933,6 +933,11 @@ QString MetaQueryWidget::Filter::toString( bool invert ) > { > strValue1 = Amarok::FileTypeSupport::toString( Amarok::FileType( > numValue )); > } > + else if( field == Meta::valRating ) > + { > + strValue1 = QString::number( (float)numValue / 2 ); > + strValue2 = QString::number( (float)numValue2 / 2 ); > + } > else if( MetaQueryWidget::isDate(field) ) > { > // here we are handling only the date. relative times are handled > below > -- Protect your freedom and join the Fellowship of FSFE: http://www.fsfe.org Please don't send me proprietary file formats, use ISO standard ODF instead (ISO/IEC 26300) _______________________________________________ Amarok-devel mailing list [email protected] https://mail.kde.org/mailman/listinfo/amarok-devel
