Query::Query( const QString& query, const QID& qid ) : m_qid( qid ) , m_fullTextQuery( query ) { init(); if ( !qid.isEmpty() ) { connect( Database::instance(), SIGNAL( indexReady() ), SLOT( refreshResults() ), Qt::QueuedConnection ); } }
query_ptr Query::get( const QString& query, const QID& qid ) { query_ptr q = query_ptr( new Query( query, qid ), &QObject::deleteLater ); q->setWeakRef( q.toWeakRef() ); if ( !qid.isEmpty() ) Pipeline::instance()->resolve( q ); return q; }
query_ptr Query::get( const QString& artist, const QString& track, const QString& album, const QID& qid, bool autoResolve ) { if ( qid.isEmpty() ) autoResolve = false; query_ptr q = query_ptr( new Query( artist, track, album, qid, autoResolve ), &QObject::deleteLater ); q->setWeakRef( q.toWeakRef() ); if ( autoResolve ) Pipeline::instance()->resolve( q ); return q; }
Query::Query( const QString& artist, const QString& track, const QString& album, const QID& qid ) : m_solved( false ) , m_playable( false ) , m_qid( qid ) , m_artist( artist ) , m_album( album ) , m_track( track ) , m_duration( -1 ) { if ( !qid.isEmpty() ) { connect( Database::instance(), SIGNAL( indexReady() ), SLOT( refreshResults() ), Qt::QueuedConnection ); } }