extragear/multimedia/amarok/src
Casey Link
unnamedrambler at gmail.com
Sun Jun 22 16:19:24 CEST 2008
Heh, good point, and thanks for pointing it out. When I made that
commit I thought it strange this scenario hadn't been planned for.
I'll fix this right up.
Casey
On Sun, Jun 22, 2008 at 9:52 AM, Maximilian Kossick
<maximilian.kossick at googlemail.com> wrote:
> is this really necessary? collections where a downloadable url is
> different from a playable url can override getKIOCopyableUrl in
> CollectionLocation(that's what that method is for after all). i'm not
> convinced there's a need to add an implementation detail that can be
> handled inside the collection itself (or the collection's
> CollectionLocation, which is tightly coupled to the collection anyway)
> to the Meta API, which should be kept as simple as possible.
>
> max
>
> On Sun, Jun 22, 2008 at 2:45 PM, Casey Link <unnamedrambler at gmail.com> wrote:
>> SVN commit 823032 by link:
>>
>> Added a downloadUrl method to distingush between playableUrl and plain 'ol url. By default downloadUrl returns playableUrl.
>>
>>
>> M +7 -1 meta/Meta.cpp
>> M +4 -2 meta/Meta.h
>> M +22 -0 servicebrowser/ServiceMetaBase.cpp
>> M +4 -0 servicebrowser/ServiceMetaBase.h
>>
>>
>> --- trunk/extragear/multimedia/amarok/src/meta/Meta.cpp #823031:823032
>> @@ -1,7 +1,7 @@
>> /* This file is part of the Amarok project
>> Copyright (C) 2007 Maximilian Kossick <maximilian.kossick at googlemail.com>
>> Copyright (C) 2007 Ian Monroe <ian at monroe.nu>
>> - Copyright (C) 2008 Mark Kretschmann <kretschmann at kde.org>
>> + Copyright (C) 2008 Mark Kretschmann <kretschmann at kde.org>
>>
>> This program is free software; you can redistribute it and/or
>> modify it under the terms of the GNU General Public License
>> @@ -234,6 +234,12 @@
>>
>> //Meta::Track
>>
>> +KUrl
>> +Meta::Track::downloadUrl() const
>> +{
>> + return playableUrl();
>> +}
>> +
>> bool
>> Meta::Track::inCollection() const
>> {
>> --- trunk/extragear/multimedia/amarok/src/meta/Meta.h #823031:823032
>> @@ -1,6 +1,6 @@
>> /* This file is part of the Amarok project
>> Copyright (C) 2007 Maximilian Kossick <maximilian.kossick at googlemail.com>
>> - Copyright (C) 2008 Mark Kretschmann <kretschmann at kde.org>
>> + Copyright (C) 2008 Mark Kretschmann <kretschmann at kde.org>
>>
>> This program is free software; you can redistribute it and/or
>> modify it under the terms of the GNU General Public License
>> @@ -78,7 +78,7 @@
>> void unsubscribeFrom( GenrePtr );
>> void subscribeTo( YearPtr );
>> void unsubscribeFrom( YearPtr );
>> -
>> +
>> /** This method is called when the metadata of a track has changed.
>> The called class may not cache the pointer */
>> virtual void metadataChanged( Track *track );
>> @@ -165,6 +165,8 @@
>> virtual KUrl playableUrl() const = 0;
>> /** an url for display purposes */
>> virtual QString prettyUrl() const = 0;
>> + /** an url to be used for downloading, not playing */
>> + virtual KUrl downloadUrl() const;
>> /** an url which is unique for this track. Use this if you need a key for the track */
>> virtual QString url() const = 0;
>>
>> --- trunk/extragear/multimedia/amarok/src/servicebrowser/ServiceMetaBase.cpp #823031:823032
>> @@ -143,6 +143,7 @@
>> , m_length( 0 )
>> , m_displayUrl( 0 )
>> , m_playableUrl( 0 )
>> + , m_downloadUrl( 0 )
>> , m_albumId( 0 )
>> , m_albumName( 0 )
>> , m_artistId( 0 )
>> @@ -166,6 +167,7 @@
>> m_trackNumber = resultRow[2].toInt();
>> m_length = resultRow[3].toInt();
>> m_displayUrl = resultRow[4];
>> + m_downloadUrl = resultRow[4];
>> m_playableUrl = resultRow[4];
>> m_albumId = resultRow[5].toInt();
>> //m_albumName = resultRow[6];
>> @@ -241,6 +243,13 @@
>> return m_playableUrl;
>> }
>>
>> +KUrl
>> +ServiceTrack::downloadUrl() const
>> +{
>> + KUrl url( m_downloadUrl );
>> + return url;
>> +}
>> +
>> QString
>> ServiceTrack::prettyUrl() const
>> {
>> @@ -251,9 +260,22 @@
>> ServiceTrack::setUrl(const QString & url)
>> {
>> m_playableUrl = url;
>> + m_downloadUrl = url;
>> m_displayUrl = url;
>> }
>>
>> +void
>> +ServiceTrack::setPlayableUrl(const QString & url)
>> +{
>> + m_playableUrl = url;
>> +}
>> +
>> +void
>> +ServiceTrack::setDownloadUrl(const QString & url)
>> +{
>> + m_downloadUrl = url;
>> +}
>> +
>> bool
>> ServiceTrack::isPlayable() const
>> {
>> --- trunk/extragear/multimedia/amarok/src/servicebrowser/ServiceMetaBase.h #823031:823032
>> @@ -146,6 +146,7 @@
>>
>> virtual KUrl playableUrl() const;
>> virtual QString url() const;
>> + virtual KUrl downloadUrl() const;
>> virtual QString prettyUrl() const;
>>
>> virtual bool isPlayable() const;
>> @@ -236,6 +237,8 @@
>> void setArtistId( int id );
>> int artistId() const;
>> void setUrl( const QString &url );
>> + void setDownloadUrl( const QString &url );
>> + void setPlayableUrl( const QString &url );
>>
>> private:
>> ArtistPtr m_artist;
>> @@ -249,6 +252,7 @@
>> int m_trackNumber;
>> int m_length;
>> QString m_displayUrl;
>> + QString m_downloadUrl;
>> QString m_playableUrl;
>> int m_albumId;
>> QString m_albumName;
>>
>
More information about the Amarok-devel
mailing list