1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-07 22:56:42 +02:00

Merge branch 'stable'

Conflicts:
	ChangeLog
	src/tomahawkwindow.cpp
This commit is contained in:
Leo Franchi
2011-04-11 11:03:31 -04:00
4 changed files with 34 additions and 32 deletions

View File

@@ -6,6 +6,9 @@ Version 0.1.0:
most OSes can't support enough file watches to handle a normal-sized most OSes can't support enough file watches to handle a normal-sized
music collection. music collection.
Version 0.0.4:
* Fixed a crash situation caused by sources going on- or offline.
Version 0.0.3: Version 0.0.3:
* Show spinner while resolving playlists. * Show spinner while resolving playlists.
* Go back to previous page visible when deleting a playlist. * Go back to previous page visible when deleting a playlist.

View File

@@ -89,10 +89,13 @@ Query::refreshResults()
void void
Query::onResultStatusChanged() Query::onResultStatusChanged()
{ {
if ( m_results.count() ) {
qStableSort( m_results.begin(), m_results.end(), Query::resultSorter ); QMutexLocker lock( &m_mutex );
checkResults(); if ( m_results.count() )
qStableSort( m_results.begin(), m_results.end(), Query::resultSorter );
}
checkResults();
emit resultsChanged(); emit resultsChanged();
} }
@@ -180,27 +183,31 @@ Query::checkResults()
{ {
bool becameSolved = false; bool becameSolved = false;
bool becameUnsolved = true; bool becameUnsolved = true;
m_playable = false;
// hook up signals, and check solved status
foreach( const result_ptr& rp, m_results )
{ {
if ( rp->score() > 0.0 && rp->collection().isNull() ) QMutexLocker lock( &m_mutex );
{
m_playable = true;
}
if ( !rp->collection().isNull() && rp->collection()->source()->isOnline() )
{
m_playable = true;
if ( rp->score() > 0.99 ) m_playable = false;
// hook up signals, and check solved status
foreach( const result_ptr& rp, m_results )
{
if ( rp->score() > 0.0 && rp->collection().isNull() )
{ {
becameUnsolved = false; m_playable = true;
}
if ( !rp->collection().isNull() && rp->collection()->source()->isOnline() )
{
m_playable = true;
if ( !m_solved ) if ( rp->score() > 0.99 )
{ {
m_solved = true; becameUnsolved = false;
becameSolved = true;
if ( !m_solved )
{
m_solved = true;
becameSolved = true;
}
} }
} }
} }

View File

@@ -529,7 +529,7 @@ TomahawkApp::loadUrl( const QString& url )
if( f.exists() && info.suffix() == "xspf" ) { if( f.exists() && info.suffix() == "xspf" ) {
XSPFLoader* l = new XSPFLoader( true, this ); XSPFLoader* l = new XSPFLoader( true, this );
qDebug() << "Loading spiff:" << url; qDebug() << "Loading spiff:" << url;
l->load( QUrl( url ) ); l->load( QUrl::fromUserInput( url ) );
} }
} }
return true; return true;

View File

@@ -385,15 +385,7 @@ TomahawkWindow::loadSpiff()
return; return;
XSPFLoader* loader = new XSPFLoader; XSPFLoader* loader = new XSPFLoader;
QFileInfo info( urlstr ); loader->load( QUrl::fromUserInput( urlstr ) );
if( info.isFile() )
{
QFile f( urlstr );
loader->load( f );
} else
{
loader->load( QUrl( urlstr ) );
}
} }