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

List:       kde-commits
Subject:    branches/work/amarok_uirefactor
From:       Dan Meltzer <hydrogen () notyetimplemented ! com>
Date:       2007-03-01 0:05:22
Message-ID: 1172707522.291698.1747.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 638160 by dmeltzer:

Merged revisions 637991-638158 via svnmerge from 
svn+ssh://dmeltzer@svn.kde.org/home/kde/trunk/extragear/multimedia/amarok

........
  r638052 | nhnielsen | 2007-02-28 12:38:30 -0500 (Wed, 28 Feb 2007) | 1 line
  
  Genre selection box now works (and model + view is updated accordingly). Slowly \
                bringing the Magnatune store back to life on top of the ServiceBase \
                framework... 
........
  r638112 | mitchell | 2007-02-28 16:44:35 -0500 (Wed, 28 Feb 2007) | 2 lines
  
  As discussed, make the first star tri-state: clicking on it now toggles between \
                half-star, full-star, and no rating.
........


 _M            . (directory)  
 M  +3 -3      src/collectiondb.cpp  
 M  +5 -4      src/servicebrowser/magnatunestore/magnatunebrowser.cpp  
 M  +1 -1      src/servicebrowser/magnatunestore/magnatunebrowser.h  
 M  +15 -9     src/servicebrowser/magnatunestore/magnatunecontentitem.cpp  
 M  +5 -4      src/servicebrowser/magnatunestore/magnatunecontentitem.h  
 M  +12 -2     src/servicebrowser/magnatunestore/magnatunecontentmodel.cpp  
 M  +4 -1      src/servicebrowser/magnatunestore/magnatunecontentmodel.h  


** branches/work/amarok_uirefactor #property svnmerge-integrated
   - /trunk/extragear/multimedia/amarok:1-637990
   + /trunk/extragear/multimedia/amarok:1-638158
--- branches/work/amarok_uirefactor/src/collectiondb.cpp #638159:638160
@@ -3824,9 +3824,9 @@
     if ( !values.isEmpty() )
     {
         int prev = values[4].toInt( &ok );
-        if( ok && toggleHalf && prev == rating )
+        if( ok && toggleHalf && ( prev == rating || prev == 1 ) )
         {
-            if( rating == 1 )
+            if( prev == 1 )
                 rating = 0;
             else if( rating % 2 ) //.5
                 rating++;
@@ -3837,7 +3837,7 @@
 
     // check boundaries
     if ( rating > 10 ) rating = 10;
-    if ( rating < 0 || rating == 1 ) rating = 0; //ratings are 1-5
+    if ( rating < 0 ) rating = 0;
 
     if ( !values.isEmpty() )
     {
--- branches/work/amarok_uirefactor/src/servicebrowser/magnatunestore/magnatunebrowser.cpp \
#638159:638160 @@ -314,7 +314,7 @@
     m_advancedFeaturesButton->setObjectName( "advancedButton" );
     connect( m_advancedFeaturesButton, SIGNAL( clicked() ), this, SLOT( \
processRedownload() ) );  
-    connect( m_genreComboBox, SIGNAL( activated ( int ) ), this, SLOT( \
genreChanged() ) ); +    connect( m_genreComboBox, SIGNAL( currentIndexChanged ( \
const QString ) ), this, SLOT( genreChanged( QString ) ) );  }
 
 void MagnatuneBrowser::initBottomPanel()
@@ -464,10 +464,11 @@
     //m_contentList->repaintContents(); */
 }
 
-void MagnatuneBrowser::genreChanged()
+void MagnatuneBrowser::genreChanged( QString genre )
 {
-    debug() << "Genre changed..." << endl;
-    updateList( );
+    debug() << "Genre changed to: " << genre << endl;
+    //updateList( );
+    m_model->setGenre( genre );
 }
 
 
--- branches/work/amarok_uirefactor/src/servicebrowser/magnatunestore/magnatunebrowser.h \
#638159:638160 @@ -145,7 +145,7 @@
     /**
      * Slot called when the genre combo box selection changes. Triggers an update of \
                the list view.
      */
-    void genreChanged();
+    void genreChanged( QString genre);
 
     /**
      * Slot called when the parsing of the Magnatuin xml file is completed.
--- branches/work/amarok_uirefactor/src/servicebrowser/magnatunestore/magnatunecontentitem.cpp \
#638159:638160 @@ -26,8 +26,9 @@
 
 
 
-MagnatuneContentItem::MagnatuneContentItem(MagnatuneArtist artist, \
MagnatuneContentItem *parent ) \
+MagnatuneContentItem::MagnatuneContentItem(MagnatuneArtist artist, QString genre, \
MagnatuneContentItem *parent )  {
+    m_genre = genre;
     m_content.artistValue = new MagnatuneArtist( artist );
     m_type = MAGNATUNE_ARTIST;
     m_parent = parent;
@@ -35,8 +36,10 @@
 }
 
 
-MagnatuneContentItem::MagnatuneContentItem( MagnatuneAlbum album, \
MagnatuneContentItem *parent ) +MagnatuneContentItem::MagnatuneContentItem( \
MagnatuneAlbum album, QString genre, MagnatuneContentItem *parent )  {
+
+    m_genre = genre;
     m_content.albumValue = new MagnatuneAlbum ( album );
     m_type = MAGNATUNE_ALBUM;
     m_parent = parent;
@@ -44,16 +47,19 @@
 }
 
 
-MagnatuneContentItem::MagnatuneContentItem( MagnatuneTrack track, \
MagnatuneContentItem *parent ) +MagnatuneContentItem::MagnatuneContentItem( \
MagnatuneTrack track, QString genre, MagnatuneContentItem *parent )  {
+
+    m_genre = genre;
     m_content.trackValue = new MagnatuneTrack (track );
     m_type = MAGNATUNE_TRACK;
     m_parent = parent;
     m_hasPopulatedChildItems = true;
 }
 
-MagnatuneContentItem::MagnatuneContentItem( )
+MagnatuneContentItem::MagnatuneContentItem( QString genre )
 {
+    m_genre = genre;
     m_type = MAGNATUNE_ROOT;
     m_parent = 0;
     m_hasPopulatedChildItems = false;
@@ -127,24 +133,24 @@
 
     switch ( m_type ) {
        case MAGNATUNE_ROOT: {
-           MagnatuneArtistList artists = \
MagnatuneDatabaseHandler::instance()->getArtistsByGenre( "All" ); +           \
MagnatuneArtistList artists = \
MagnatuneDatabaseHandler::instance()->getArtistsByGenre( m_genre );  \
MagnatuneArtistList::iterator it;  for ( it = artists.begin(); it != artists.end(); \
                ++it ) {
-               m_childItems.append( new MagnatuneContentItem( (*it), \
const_cast<MagnatuneContentItem*>( this ) ) ); +               m_childItems.append( \
new MagnatuneContentItem( (*it), m_genre, const_cast<MagnatuneContentItem*>( this ) ) \
);  }
            break; }
        case MAGNATUNE_ARTIST: {
-           MagnatuneAlbumList albums = \
MagnatuneDatabaseHandler::instance()->getAlbumsByArtistId( \
m_content.artistValue->getId(), "All" ); +           MagnatuneAlbumList albums = \
MagnatuneDatabaseHandler::instance()->getAlbumsByArtistId( \
m_content.artistValue->getId(), m_genre );  MagnatuneAlbumList::iterator it;
            for ( it = albums.begin(); it != albums.end(); ++it ) {
-               m_childItems.append( new MagnatuneContentItem( (*it), \
const_cast<MagnatuneContentItem*>( this ) ) ); +               m_childItems.append( \
new MagnatuneContentItem( (*it), m_genre, const_cast<MagnatuneContentItem*>( this ) ) \
);  }
            break; }
        case MAGNATUNE_ALBUM: {
            MagnatuneTrackList tracks = \
MagnatuneDatabaseHandler::instance()->getTracksByAlbumId( \
m_content.albumValue->getId() );  MagnatuneTrackList::iterator it;
            for ( it = tracks.begin(); it != tracks.end(); ++it ) {
-               m_childItems.append( new MagnatuneContentItem( (*it), \
const_cast<MagnatuneContentItem*>( this ) ) ); +               m_childItems.append( \
new MagnatuneContentItem( (*it), m_genre,  const_cast<MagnatuneContentItem*>( this ) \
) );  }
            break; }
     }
--- branches/work/amarok_uirefactor/src/servicebrowser/magnatunestore/magnatunecontentitem.h \
#638159:638160 @@ -38,10 +38,10 @@
 class MagnatuneContentItem
 {
 public:
-    MagnatuneContentItem( MagnatuneArtist content, MagnatuneContentItem *parent );
-    MagnatuneContentItem( MagnatuneAlbum content, MagnatuneContentItem *parent );
-    MagnatuneContentItem( MagnatuneTrack content, MagnatuneContentItem *parent );
-    MagnatuneContentItem( );
+    MagnatuneContentItem( MagnatuneArtist content, QString genre, \
MagnatuneContentItem *parent ); +    MagnatuneContentItem( MagnatuneAlbum content, \
QString genre, MagnatuneContentItem *parent ); +    MagnatuneContentItem( \
MagnatuneTrack content, QString genre, MagnatuneContentItem *parent ); +    \
MagnatuneContentItem( QString genre );  
 
 
@@ -62,6 +62,7 @@
     mutable QList<MagnatuneContentItem*> m_childItems;
 
     contentTypeUnion m_content; 
+    QString m_genre;
 
     int m_type;
     mutable bool m_hasPopulatedChildItems;
--- branches/work/amarok_uirefactor/src/servicebrowser/magnatunestore/magnatunecontentmodel.cpp \
#638159:638160 @@ -22,10 +22,11 @@
 #include "magnatunedatabasehandler.h"
 
 
-MagnatuneContentModel::MagnatuneContentModel(QObject *parent )
+MagnatuneContentModel::MagnatuneContentModel(QObject *parent, QString genre )
      : QAbstractItemModel(parent)
 {
-     m_rootContentItem = new MagnatuneContentItem( );
+     m_genre = genre;
+     m_rootContentItem = new MagnatuneContentItem( m_genre );
 }
 
 MagnatuneContentModel::~MagnatuneContentModel()
@@ -157,9 +158,18 @@
     return item->hasChildren();
 }
 
+void MagnatuneContentModel::setGenre( QString genre ) {
 
+    m_genre = genre;
+    delete m_rootContentItem;
+    m_rootContentItem = new MagnatuneContentItem( m_genre );
+    reset();
 
+}
 
 
 
+
+
+
 #include "magnatunecontentmodel.moc"
--- branches/work/amarok_uirefactor/src/servicebrowser/magnatunestore/magnatunecontentmodel.h \
#638159:638160 @@ -43,10 +43,11 @@
     private:
 
     MagnatuneContentItem *m_rootContentItem;
+    QString m_genre;
 
 public:
     
-    MagnatuneContentModel(QObject *parent = 0);
+    MagnatuneContentModel(QObject *parent = 0, QString genre = "All");
     
     ~MagnatuneContentModel();
 
@@ -66,6 +67,8 @@
 
     bool hasChildren ( const QModelIndex & parent = QModelIndex() ) const;
 
+    void setGenre( QString genre );
+
  };
 
  #endif
\ No newline at end of file


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

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