AmazonStore::AmazonStore( AmazonServiceFactory* parent, const char *name ) : ServiceBase( name, parent, false ) , m_wantCountryWidget(0) { DEBUG_BLOCK setObjectName( name ); m_polished = false; m_isNavigation = false; setShortDescription( i18n( "Access the Amazon MP3 Store directly from Amarok" ) ); setIcon( KIcon( "view-services-amazon-amarok" ) ); // used in info applet setLongDescription( i18n( "This plugin allows searching and purchasing songs and albums from the Amazon MP3 store. Amarok gets a share of the profits made by this service." ) ); setImagePath( KStandardDirs::locate( "data", "amarok/images/hover_info_amazon.png" ) ); m_metaFactory = new AmazonMetaFactory( "amazon" ); m_collection = new Collections::AmazonCollection( this, "amazon", "MP3 Music Store" ); polish(); setPlayableTracks( true ); m_lastSearch.clear(); // add the collection, exclude it from global queries CollectionManager::instance()->addTrackProvider( m_collection ); connect( m_searchWidget, SIGNAL(filterChanged(QString)), this, SLOT(newSearchRequest(QString)) ); setServiceReady( true ); newSearchRequest( QLatin1String( "" ) ); // to get some default content }
void AmpacheService::onLoginSuccessful() { m_collection = new Collections::AmpacheServiceCollection( this, m_ampacheLogin->server(), m_ampacheLogin->sessionId() ); // connect( m_collection, SIGNAL(authenticationNeeded()), SLOT(authenticate()) ); CollectionManager::instance()->addUnmanagedCollection( m_collection, CollectionManager::CollectionDisabled ); QList<CategoryId::CatMenuId> levels; levels << CategoryId::Artist << CategoryId::Album; setModel( new SingleCollectionTreeItemModel( m_collection, levels ) ); setServiceReady( true ); }
MagnatuneStore::MagnatuneStore( MagnatuneServiceFactory* parent, const char *name ) : ServiceBase( name, parent ) , m_downloadHandler( 0 ) , m_redownloadHandler( 0 ) , m_needUpdateWidget( 0 ) , m_downloadInProgress( 0 ) , m_currentAlbum( 0 ) , m_streamType( MagnatuneMetaFactory::OGG ) , m_magnatuneTimestamp( 0 ) , m_registry( 0 ) , m_signupInfoWidget( 0 ) { setObjectName(name); DEBUG_BLOCK //initTopPanel( ); setShortDescription( i18n( "\"Fair trade\" online music store" ) ); setIcon( KIcon( "view-services-magnatune-amarok" ) ); // xgettext: no-c-format setLongDescription( i18n( "Magnatune.com is a different kind of record company with the motto \"We are not evil!\" 50% of every purchase goes directly to the artist and if you purchase an album through Amarok, the Amarok project receives a 10% commission. Magnatune.com also offers \"all you can eat\" memberships that lets you download as much of their music as you like." ) ); setImagePath( KStandardDirs::locate( "data", "amarok/images/hover_info_magnatune.png" ) ); //initBottomPanel(); // m_currentlySelectedItem = 0; m_polished = false; //polish( ); //FIXME not happening when shown for some reason //do this stuff now to make us function properly as a track provider on startup. The expensive stuff will //not happen untill the model is added to the view anyway. MagnatuneMetaFactory * metaFactory = new MagnatuneMetaFactory( "magnatune", this ); MagnatuneConfig config; if ( config.isMember() ) { setMembership( config.membershipType(), config.username(), config.password() ); metaFactory->setMembershipInfo( config.membershipPrefix(), m_username, m_password ); } setStreamType( config.streamType() ); metaFactory->setStreamType( m_streamType ); m_registry = new ServiceSqlRegistry( metaFactory ); m_collection = new Collections::MagnatuneSqlCollection( "magnatune", "Magnatune.com", metaFactory, m_registry ); CollectionManager::instance()->addUnmanagedCollection( m_collection, CollectionManager::CollectionDisabled ); setServiceReady( true ); }