diff --git a/src/libtomahawk/viewpages/SearchViewPage.cpp b/src/libtomahawk/viewpages/SearchViewPage.cpp index 00ee9c031..a2a2f7e8e 100644 --- a/src/libtomahawk/viewpages/SearchViewPage.cpp +++ b/src/libtomahawk/viewpages/SearchViewPage.cpp @@ -1,6 +1,6 @@ /* === This file is part of Tomahawk Player - === * - * Copyright 2010-2014, Christian Muehlhaeuser + * Copyright 2010-2015, Christian Muehlhaeuser * Copyright 2012 Leo Franchi * * Tomahawk is free software: you can redistribute it and/or modify @@ -230,15 +230,11 @@ SearchWidget::SearchWidget( const QString& search, QWidget* parent ) m_albumsModel->startLoading(); m_resultsModel->startLoading(); - m_queries << Tomahawk::Query::get( search, uuid() ); - - foreach ( const Tomahawk::query_ptr& query, m_queries ) - { - connect( query.data(), SIGNAL( artistsAdded( QList ) ), SLOT( onArtistsFound( QList ) ) ); - connect( query.data(), SIGNAL( albumsAdded( QList ) ), SLOT( onAlbumsFound( QList ) ) ); - connect( query.data(), SIGNAL( resultsAdded( QList ) ), SLOT( onResultsFound( QList ) ) ); - connect( query.data(), SIGNAL( resolvingFinished( bool ) ), SLOT( onQueryFinished() ) ); - } + m_query = Tomahawk::Query::get( search, uuid() ); + connect( m_query.data(), SIGNAL( artistsAdded( QList ) ), SLOT( onArtistsFound( QList ) ) ); + connect( m_query.data(), SIGNAL( albumsAdded( QList ) ), SLOT( onAlbumsFound( QList ) ) ); + connect( m_query.data(), SIGNAL( resultsAdded( QList ) ), SLOT( onResultsFound( QList ) ) ); + connect( m_query.data(), SIGNAL( resolvingFinished( bool ) ), SLOT( onQueryFinished() ) ); TomahawkUtils::fixMargins( this ); } @@ -335,7 +331,7 @@ SearchWidget::onResultsFound( const QList& results ) while ( queries.count() ) { query_ptr q = queries.takeFirst(); - if ( !q->results().count() ) + if ( q->results().isEmpty() ) continue; bool done = false; @@ -344,7 +340,7 @@ SearchWidget::onResultsFound( const QList& results ) PlayableItem* item = m_resultsModel->itemFromIndex( m_resultsModel->index( i, 0, QModelIndex() ) ); if ( item && item->query() && item->query()->numResults( true ) ) { - if ( item->query()->score() < q->score() ) + if ( m_query->howSimilar( item->query()->results().first() ) < m_query->howSimilar( q->results().first() ) ) { m_resultsModel->insertQuery( q, i ); done = true; diff --git a/src/libtomahawk/viewpages/SearchViewPage.h b/src/libtomahawk/viewpages/SearchViewPage.h index d7fdfe325..700e3d8f5 100644 --- a/src/libtomahawk/viewpages/SearchViewPage.h +++ b/src/libtomahawk/viewpages/SearchViewPage.h @@ -91,7 +91,7 @@ private: PlayableModel* m_resultsModel; Tomahawk::playlistinterface_ptr m_plInterface; - QList< Tomahawk::query_ptr > m_queries; + Tomahawk::query_ptr m_query; QMap< Tomahawk::artist_ptr, float > m_artists; QMap< Tomahawk::album_ptr, float > m_albums; QMap< Tomahawk::query_ptr, float > m_results;