diff --git a/src/libtomahawk/Source.cpp b/src/libtomahawk/Source.cpp index 4be7dbd6f..c3336723b 100644 --- a/src/libtomahawk/Source.cpp +++ b/src/libtomahawk/Source.cpp @@ -107,7 +107,7 @@ Source::dbCollection() const if ( m_collections.length() ) { foreach ( const collection_ptr& collection, m_collections ) - if ( collection->type() == "databasecollection" ) + if ( collection->backendType() == Collection::DatabaseCollectionType ) return collection; // We assume only one is a db collection. Now get off my lawn. } diff --git a/src/libtomahawk/collection/Collection.h b/src/libtomahawk/collection/Collection.h index 2bc58bd94..dc5cae784 100644 --- a/src/libtomahawk/collection/Collection.h +++ b/src/libtomahawk/collection/Collection.h @@ -53,10 +53,17 @@ public: Collection( const source_ptr& source, const QString& name, QObject* parent = 0 ); virtual ~Collection(); + enum BackendType + { + NullCollectionType = 0, + DatabaseCollectionType, //talks to a database, incl. LocalCollection + ScriptCollectionType //performs operations through a resolver + }; + virtual QString name() const; virtual QString prettyName() const; virtual QString itemName() const; - virtual QString type() const { return QString(); } + virtual BackendType backendType() const { return NullCollectionType; } virtual QIcon icon() const; virtual QPixmap bigIcon() const; //for the ViewPage header virtual QString emptyText() const; diff --git a/src/libtomahawk/database/DatabaseCollection.h b/src/libtomahawk/database/DatabaseCollection.h index 8ba8865b0..a292ba475 100644 --- a/src/libtomahawk/database/DatabaseCollection.h +++ b/src/libtomahawk/database/DatabaseCollection.h @@ -40,7 +40,7 @@ public: qDebug() << Q_FUNC_INFO; } - virtual QString type() const { return "databasecollection"; } + virtual BackendType backendType() const { return DatabaseCollectionType; } virtual void loadPlaylists(); virtual void loadAutoPlaylists(); diff --git a/src/libtomahawk/resolvers/ScriptCollection.h b/src/libtomahawk/resolvers/ScriptCollection.h index d53a59e7c..556439db6 100644 --- a/src/libtomahawk/resolvers/ScriptCollection.h +++ b/src/libtomahawk/resolvers/ScriptCollection.h @@ -44,7 +44,7 @@ public: virtual QString prettyName() const; virtual QString itemName() const; - virtual QString type() const { return "scriptcollection"; } + virtual BackendType backendType() const { return ScriptCollectionType; } virtual QIcon icon() const; virtual QPixmap bigIcon() const; diff --git a/src/sourcetree/items/SourceItem.cpp b/src/sourcetree/items/SourceItem.cpp index 16f544f74..59c99c52d 100644 --- a/src/sourcetree/items/SourceItem.cpp +++ b/src/sourcetree/items/SourceItem.cpp @@ -376,7 +376,7 @@ SourceItem::performAddCollectionItem( const collection_ptr& collection ) boost::bind( &SourceItem::collectionClicked, this, collection ), boost::bind( &SourceItem::getCollectionPage, this, collection ) ); - if ( collection->type() == "databasecollection" ) + if ( collection->backendType() == Collection::DatabaseCollectionType ) item->setSortValue( -350 ); else item->setSortValue( -340 );