From ef2514e95cdcb93c226c193eaa394c0f07c931f4 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Wed, 10 Aug 2011 03:46:30 +0200 Subject: [PATCH] * Added convenient new Album::get method. --- src/libtomahawk/album.cpp | 11 +++++++++++ src/libtomahawk/album.h | 1 + src/libtomahawk/database/database.h | 1 + 3 files changed, 13 insertions(+) diff --git a/src/libtomahawk/album.cpp b/src/libtomahawk/album.cpp index 6481bc3d7..a3bafd563 100644 --- a/src/libtomahawk/album.cpp +++ b/src/libtomahawk/album.cpp @@ -27,6 +27,17 @@ using namespace Tomahawk; +album_ptr +Album::get( const Tomahawk::artist_ptr& artist, const QString& name, bool autoCreate ) +{ + int albid = Database::instance()->impl()->albumId( artist->id(), name, autoCreate ); + if ( albid < 1 ) + return album_ptr(); + + return Album::get( albid, name, artist ); +} + + album_ptr Album::get( unsigned int id, const QString& name, const Tomahawk::artist_ptr& artist ) { diff --git a/src/libtomahawk/album.h b/src/libtomahawk/album.h index 12b7a41e3..325d7fc57 100644 --- a/src/libtomahawk/album.h +++ b/src/libtomahawk/album.h @@ -37,6 +37,7 @@ class DLLEXPORT Album : public QObject, public PlaylistInterface Q_OBJECT public: + static album_ptr get( const Tomahawk::artist_ptr& artist, const QString& name, bool autoCreate = false ); static album_ptr get( unsigned int id, const QString& name, const Tomahawk::artist_ptr& artist ); Album( unsigned int id, const QString& name, const Tomahawk::artist_ptr& artist ); diff --git a/src/libtomahawk/database/database.h b/src/libtomahawk/database/database.h index d04cb74d9..c326b6284 100644 --- a/src/libtomahawk/database/database.h +++ b/src/libtomahawk/database/database.h @@ -81,6 +81,7 @@ private: static Database* s_instance; friend class Tomahawk::Artist; + friend class Tomahawk::Album; }; #endif // DATABASE_H