1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-04-13 04:21:51 +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
commit b3eaa1a761
4 changed files with 34 additions and 32 deletions

View File

@ -1,11 +1,14 @@
Version 0.1.0:
* Watch folders for changes and automatically update your collection. This
is on by default; you can turn it off on the Local Music tab in the
settings dialog. Note that this triggers only on files or folders being
settings dialog. Note that this triggers only on files or folders being
added to or removed from folders; it is not watch individual files as
most OSes can't support enough file watches to handle a normal-sized
music collection.
Version 0.0.4:
* Fixed a crash situation caused by sources going on- or offline.
Version 0.0.3:
* Show spinner while resolving playlists.
* Go back to previous page visible when deleting a playlist.

View File

@ -1,5 +1,5 @@
/* === This file is part of Tomahawk Player - <http://tomahawk-player.org> ===
*
*
* Copyright 2010-2011, Christian Muehlhaeuser <muesli@tomahawk-player.org>
*
* Tomahawk is free software: you can redistribute it and/or modify
@ -89,10 +89,13 @@ Query::refreshResults()
void
Query::onResultStatusChanged()
{
if ( m_results.count() )
qStableSort( m_results.begin(), m_results.end(), Query::resultSorter );
checkResults();
{
QMutexLocker lock( &m_mutex );
if ( m_results.count() )
qStableSort( m_results.begin(), m_results.end(), Query::resultSorter );
}
checkResults();
emit resultsChanged();
}
@ -180,27 +183,31 @@ Query::checkResults()
{
bool becameSolved = false;
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() )
{
m_playable = true;
}
if ( !rp->collection().isNull() && rp->collection()->source()->isOnline() )
{
m_playable = true;
QMutexLocker lock( &m_mutex );
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;
becameSolved = true;
becameUnsolved = false;
if ( !m_solved )
{
m_solved = true;
becameSolved = true;
}
}
}
}
@ -226,7 +233,7 @@ Query::toVariant() const
m.insert( "track", track() );
m.insert( "duration", duration() );
m.insert( "qid", id() );
return m;
}

View File

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

View File

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