1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-20 04:41:36 +02:00

revert to storing QStringList in cache

This commit is contained in:
Stefan Derkits
2014-10-19 16:20:54 +02:00
parent 06f14b3012
commit 2164c1ce51
3 changed files with 13 additions and 19 deletions

View File

@@ -1148,10 +1148,7 @@ Tomahawk::EchonestControl::insertMoodsStylesAndGenres()
} }
else else
{ {
foreach( const Echonest::Genre& genre, EchonestGenerator::genres() ) src = EchonestGenerator::genres();
{
src.append( genre.name() );
}
} }
QComboBox* combo = qobject_cast< QComboBox* >( m_input.data() ); QComboBox* combo = qobject_cast< QComboBox* >( m_input.data() );

View File

@@ -39,7 +39,7 @@ using namespace Tomahawk;
QStringList EchonestGenerator::s_moods = QStringList(); QStringList EchonestGenerator::s_moods = QStringList();
QStringList EchonestGenerator::s_styles = QStringList(); QStringList EchonestGenerator::s_styles = QStringList();
Echonest::Genres EchonestGenerator::s_genres = Echonest::Genres(); QStringList EchonestGenerator::s_genres = QStringList();
QNetworkReply* EchonestGenerator::s_moodsJob = 0; QNetworkReply* EchonestGenerator::s_moodsJob = 0;
QNetworkReply* EchonestGenerator::s_stylesJob = 0; QNetworkReply* EchonestGenerator::s_stylesJob = 0;
QNetworkReply* EchonestGenerator::s_genresJob = 0; QNetworkReply* EchonestGenerator::s_genresJob = 0;
@@ -705,12 +705,11 @@ EchonestGenerator::loadGenres()
{ {
if ( s_genres_lock.tryLockForRead() ) if ( s_genres_lock.tryLockForRead() )
{ {
qRegisterMetaTypeStreamOperators< Echonest::Genre >( "enGenre" );
QVariant genres = TomahawkUtils::Cache::instance()->getData( "EchonestGenerator", "genres" ); QVariant genres = TomahawkUtils::Cache::instance()->getData( "EchonestGenerator", "genres" );
s_genres_lock.unlock(); s_genres_lock.unlock();
if ( genres.isValid() && genres.canConvert< Echonest::Genres >() ) if ( genres.isValid() && genres.canConvert< QStringList >() )
{ {
s_genres = genres.value< Echonest::Genres >(); s_genres = genres.toStringList();
} }
else else
{ {
@@ -786,7 +785,7 @@ EchonestGenerator::stylesReceived()
emit stylesSaved(); emit stylesSaved();
} }
Echonest::Genres QStringList
EchonestGenerator::genres() EchonestGenerator::genres()
{ {
return s_genres; return s_genres;
@@ -801,7 +800,11 @@ EchonestGenerator::genresReceived()
try try
{ {
s_genres = Echonest::Genre::parseList( r ); Echonest::Genres genrelist = Echonest::Genre::parseList( r );
foreach( const Echonest::Genre& genre, genrelist )
{
s_genres << genre.name();
}
} }
catch( Echonest::ParseError& e ) catch( Echonest::ParseError& e )
{ {
@@ -809,8 +812,7 @@ EchonestGenerator::genresReceived()
} }
s_genresJob = 0; s_genresJob = 0;
qRegisterMetaTypeStreamOperators< Echonest::Genre >( "enGenre" ); TomahawkUtils::Cache::instance()->putData( "EchonestGenerator", 1209600000 /* 2 weeks */, "genres", QVariant::fromValue< QStringList >( s_genres ) );
TomahawkUtils::Cache::instance()->putData( "EchonestGenerator", 1209600000 /* 2 weeks */, "genres", QVariant::fromValue< Echonest::Genres >( s_genres ) );
s_genres_lock.unlock(); s_genres_lock.unlock();
emit genresSaved(); emit genresSaved();
} }

View File

@@ -90,7 +90,7 @@ public:
static QStringList styles(); static QStringList styles();
static QStringList moods(); static QStringList moods();
static Echonest::Genres genres(); static QStringList genres();
static QStringList userCatalogs(); static QStringList userCatalogs();
static QByteArray catalogId( const QString& collectionId ); static QByteArray catalogId( const QString& collectionId );
@@ -135,7 +135,7 @@ private:
static QStringList s_styles; static QStringList s_styles;
static QStringList s_moods; static QStringList s_moods;
static Echonest::Genres s_genres; static QStringList s_genres;
static QNetworkReply* s_stylesJob; static QNetworkReply* s_stylesJob;
static QNetworkReply* s_moodsJob; static QNetworkReply* s_moodsJob;
static QNetworkReply* s_genresJob; static QNetworkReply* s_genresJob;
@@ -149,10 +149,5 @@ private:
}; };
//TODO: this code should be move to libechonest
//TODO: (delete this when libechonest 2.4 is out)
QDataStream& operator<<(QDataStream& out, const Echonest::Genre& genre);
QDataStream& operator>>(QDataStream& in, Echonest::Genre& genre);
#endif #endif