[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    extragear/multimedia/amarok/src
From:       Maximilian Kossick <maximilian.kossick () googlemail ! com>
Date:       2007-07-14 11:45:07
Message-ID: 1184413507.079784.16645.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 687800 by mkossick:

hmm, a way to set the title of a track object might be useful at some point :)

 M  +2 -1      collection/daap/daapmeta.h  
 M  +14 -0     collection/sqlcollection/sqlmeta.cpp  
 M  +2 -0      collection/sqlcollection/sqlmeta.h  
 M  +31 -10    meta/file/File.cpp  
 M  +2 -0      meta/file/File.h  
 M  +6 -0      meta/lastfm/LastFmMeta.cpp  
 M  +2 -0      meta/lastfm/LastFmMeta.h  
 M  +2 -0      meta/meta.h  
 M  +7 -0      meta/proxy/MetaProxy.cpp  
 M  +2 -0      meta/proxy/MetaProxy.h  
 M  +2 -1      podcasts/PodcastMetaBase.h  
 M  +2 -1      servicebrowser/servicemetabase.h  


--- trunk/extragear/multimedia/amarok/src/collection/daap/daapmeta.h #687799:687800
@@ -67,6 +67,8 @@
         virtual void setComposer ( const QString &newComposer );
         virtual void setYear ( const QString &newYear );
 
+        virtual void setTitle( const QString &newTitle );
+
         virtual QString comment() const;
         virtual void setComment ( const QString &newComment );
 
@@ -110,7 +112,6 @@
         void setGenre( DaapGenrePtr genre );
         void setYear( DaapYearPtr year );
 
-        void setTitle( const QString &newTitle );
         void setLength( int length );
 
     private:
--- trunk/extragear/multimedia/amarok/src/collection/sqlcollection/sqlmeta.cpp #687799:687800
@@ -353,6 +353,20 @@
 }
 
 void
+SqlTrack::setTitle( const QString &newTitle )
+{
+    if( !m_batchUpdate )
+    {
+        m_title = newTitle;
+        writeMetaDataToFile();
+        writeMetaDataToDb();
+        notifyObservers();
+    }
+    else
+        m_cache->title = newTitle;
+}
+
+void
 SqlTrack::beginMetaDataUpdate()
 {
     m_batchUpdate = true;
--- trunk/extragear/multimedia/amarok/src/collection/sqlcollection/sqlmeta.h #687799:687800
@@ -68,6 +68,8 @@
         virtual void subscribe( TrackObserver *observer );
         virtual void unsubscribe( TrackObserver *observer );
 
+        virtual void setTitle( const QString &newTitle );
+
         virtual QString comment() const { return m_comment; }
         virtual void setComment( const QString &newComment );
         virtual double score() const { return m_score; }
--- trunk/extragear/multimedia/amarok/src/meta/file/File.cpp #687799:687800
@@ -22,6 +22,7 @@
 #include "debug.h"
 #include "meta.h"
 
+#include <QFile>
 #include <QSet>
 #include <QString>
 
@@ -35,6 +36,10 @@
 public:
     Private( Track *t )
         : track( t )
+        , metaInfo()
+        , observers()
+        , url()
+        , batchUpdate( false )
     {}
     void notify() const
     {
@@ -46,13 +51,7 @@
     KFileMetaInfo metaInfo;
     QSet<Meta::TrackObserver*> observers;
     KUrl url;
-    QString title;
-    QString artist;
-    QString album;
-    QString genre;
-    QString composer;
-    QString year;
-    QString comment;
+    bool batchUpdate;
 
 private:
     Track *track;
@@ -128,7 +127,8 @@
 bool
 Track::isEditable() const
 {
-    return false;
+    //not this probably needs more work on *nix
+    return QFile::permissions( d->url.path() ) & QFile::WriteUser;
 }
 
 Meta::AlbumPtr
@@ -169,13 +169,23 @@
 void
 Track::setAlbum( const QString &newAlbum )
 {
-    Q_UNUSED( newAlbum )
+    d->metaInfo.item( ALBUM ).setValue( newAlbum );
+    if( !d->batchUpdate )
+    {
+        d->metaInfo.applyChanges();
+        d->notify();
+    }
 }
 
 void
 Track::setArtist( const QString& newArtist )
 {
-    Q_UNUSED( newArtist )
+    d->metaInfo.item( ARTIST ).setValue( newArtist );
+    if( !d->batchUpdate )
+    {
+        d->metaInfo.applyChanges();
+        d->notify();
+    }
 }
 
 void
@@ -196,6 +206,17 @@
     Q_UNUSED( newYear )
 }
 
+void
+Track::setTitle( const QString &newTitle )
+{
+    d->metaInfo.item( TITLE ).setValue( newTitle );
+    if( !d->batchUpdate )
+    {
+        d->metaInfo.applyChanges();
+        d->notify();
+    }
+}
+
 QString
 Track::comment() const
 {
--- trunk/extragear/multimedia/amarok/src/meta/file/File.h #687799:687800
@@ -55,6 +55,8 @@
             virtual void setComposer( const QString &newComposer );
             virtual void setYear( const QString &newYear );
 
+            virtual void setTitle( const QString &newTitle );
+
             virtual QString comment() const;
             virtual void setComment( const QString &newComment );
 
--- trunk/extragear/multimedia/amarok/src/meta/lastfm/LastFmMeta.cpp #687799:687800
@@ -198,6 +198,12 @@
     Q_UNUSED( newYear ); //stream
 }
 
+void
+Track::setTitle( const QString &newTitle )
+{
+    Q_UNUSED( newTitle ); //stream
+}
+
 QString
 Track::comment() const
 {
--- trunk/extragear/multimedia/amarok/src/meta/lastfm/LastFmMeta.h #687799:687800
@@ -60,6 +60,8 @@
             virtual void setComposer( const QString &newComposer );
             virtual void setYear( const QString &newYear );
 
+            virtual void setTitle( const QString &newTitle );
+
             virtual QString comment() const;
             virtual void setComment( const QString &newComment );
 
--- trunk/extragear/multimedia/amarok/src/meta/meta.h #687799:687800
@@ -117,6 +117,8 @@
             virtual YearPtr year() const = 0;
             virtual void setYear( const QString &newYear ) = 0;
 
+            virtual void setTitle( const QString &newTitle ) = 0;
+
             /** Returns the comment of this track */
             virtual QString comment() const = 0;
             virtual void setComment( const QString &newComment ) = 0;
--- trunk/extragear/multimedia/amarok/src/meta/proxy/MetaProxy.cpp #687799:687800
@@ -205,6 +205,13 @@
         d->realTrack->setYear( newYear );
 }
 
+void
+MetaProxy::Track::setTitle( const QString &newTitle )
+{
+    if( d->realTrack )
+        d->realTrack->setTitle( newTitle );
+}
+
 QString
 MetaProxy::Track::comment() const
 {
--- trunk/extragear/multimedia/amarok/src/meta/proxy/MetaProxy.h #687799:687800
@@ -59,6 +59,8 @@
             virtual void setComposer( const QString &newComposer );
             virtual void setYear( const QString &newYear );
 
+            virtual void setTitle( const QString &newTitle );
+
             virtual QString comment() const;
             virtual void setComment( const QString &newComment );
 
--- trunk/extragear/multimedia/amarok/src/podcasts/PodcastMetaBase.h #687799:687800
@@ -101,6 +101,8 @@
         virtual void setComposer ( const QString &newComposer );
         virtual void setYear ( const QString &newYear );
 
+        virtual void setTitle( const QString &newTitle );
+
         virtual QString comment() const;
         virtual void setComment ( const QString &newComment );
 
@@ -144,7 +146,6 @@
         void setGenre( GenrePtr genre );
         void setYear( YearPtr year );
 
-        void setTitle( const QString &newTitle );
         void setLength( int length );
 
         void setId( int id );
--- trunk/extragear/multimedia/amarok/src/servicebrowser/servicemetabase.h #687799:687800
@@ -125,6 +125,8 @@
         virtual void setComposer ( const QString &newComposer );
         virtual void setYear ( const QString &newYear );
 
+        virtual void setTitle( const QString &newTitle );
+
         virtual QString comment() const;
         virtual void setComment ( const QString &newComment );
 
@@ -168,7 +170,6 @@
         void setGenre( GenrePtr genre );
         void setYear( YearPtr year );
 
-        void setTitle( const QString &newTitle );
         void setLength( int length );
 
         void setId( int id );
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic