mpdata/src/mpplaybackdata.cpp
changeset 32 c163ef0b758d
parent 29 8192e5b5c935
child 43 0f32e550d9d8
child 48 af3740e3753f
--- a/mpdata/src/mpplaybackdata.cpp	Thu May 27 12:49:57 2010 +0300
+++ b/mpdata/src/mpplaybackdata.cpp	Fri Jun 11 13:36:36 2010 +0300
@@ -79,8 +79,6 @@
       mReqId( KUndefined ),
       mDuration(0),
       mPosition(0),
-      mAlbum( hbTrId ( "txt_mus_other_unknown4" ) ),
-      mArtist( hbTrId ( "txt_mus_other_unknown3") ),
       mAlbumId(0),
       mId(0),
       mAlbumArt( "qtg_large_music_album" ),
@@ -177,7 +175,9 @@
 {
     TX_ENTRY_ARGS( "artist = " << artist )
     bool change = false;
-    if ( artist != mArtist ) {
+    // data is different or mArtist was not set befor or it was reset.
+    // When artist is empty and mArtist is empty mArtist should be unknown text.
+    if ( artist != mArtist || mArtist.isNull()) {
         change = true;
         if ( artist.isEmpty() ){
             mArtist = hbTrId( "txt_mus_other_unknown3" );      
@@ -206,7 +206,9 @@
 {
     TX_ENTRY_ARGS( "album = " << album )
     bool change = false;
-    if ( album != mAlbum ) {
+    // data is different or mAlbum was not set befor or it was reset.
+    // when album is empty and mAlbum is empty mAlbum should be unknown text.
+    if ( album != mAlbum || mAlbum.isNull() ) {
         change = true;
         if ( album.isEmpty() ){
             mAlbum = hbTrId( "txt_mus_other_unknown4" );
@@ -387,6 +389,27 @@
     TX_EXIT
 }
 
+/*!
+ Resets the data, currently called when source is removed.
+*/
+void MpPlaybackData::resetData()
+{
+    mDuration = 0;
+    mPosition = 0;
+    mTitle = QString();
+    mAlbum = QString();
+    mArtist = QString();
+    mUri = QString();
+    mAlbumId = 0;
+    mId = 0;
+    mAlbumArt = HbIcon();
+    mRealAudio = false;
+    
+    emit durationChanged();
+    emit positionChanged();
+    emit albumArtReady();
+    emit playbackInfoChanged();
+}
 
 /*!
  Slot to handle the album art thumb.