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

List:       kde-commits
Subject:    kdeextragear-1/amarok/src
From:       Seb Ruiz <seb100 () optusnet ! com ! au>
Date:       2005-05-01 6:09:09
Message-ID: 20050501060909.64D8C635 () office ! kde ! org
[Download RAW message or body]

CVS commit by seb: 

* Show all smartplaylists in the Party KActionSelector - please provide feedback on \
                this.  Might be overkill if user has a lot of artists/genres etc
* Newly created smart playlists do not require app restart to show changes in the \
KActionSelector. BUG:104402


  M +14 -41    party.cpp   1.15
  M +1 -2      party.h   1.11
  M +12 -1     smartplaylist.cpp   1.50
  M +2 -0      smartplaylist.h   1.10


--- kdeextragear-1/amarok/src/party.cpp  #1.14:1.15
@@ -41,6 +41,5 @@ Party::Party( QString /*defaultName*/, Q
     m_lbAvailable = m_base->m_playlistSelector->availableListBox();
 
-    insertSelectedPlaylists();
-    insertAvailablePlaylists();  //requires that insertSelectedPlaylists() has been \
called first. +    insertPlaylists();
 
     m_base->m_previousIntSpinBox->setEnabled( m_base->m_cycleTracks->isEnabled() );
@@ -98,50 +97,24 @@ void Party::applySettings()
 }
 
-void Party::insertAvailablePlaylists()
+void Party::insertPlaylists()
 {
-    //Default playlists.
-    QStringList defaultPlaylists;
-    defaultPlaylists << i18n( "Favorite Tracks" ) << i18n( "Most Played" )  << i18n( \
                "Newest Tracks" )
-                     << i18n( "Last Played" )     << i18n( "Never Played" ) << i18n( \
                "Ever Played" )
-                     << i18n( "50 Random Tracks" );
-
+    //BEGIN selectedListBox
+    QStringList playlists = QStringList::split( ',' , \
AmarokConfig::partyCustomList() ); +    m_lbSelected->insertStringList( playlists );
+    //END   selectedListBox
 
-    //FIXME: Genres?  Too many to list, need an expander.
-    for ( uint i=0; i < defaultPlaylists.count(); i++ )
+    //BEGIN availableListBox
+    SmartPlaylistView *spv = SmartPlaylistView::instance() ? \
SmartPlaylistView::instance() : new SmartPlaylistView( this ); +    QStringList list \
= spv->listItems(); +    for ( uint i=0; i < list.count(); i++ )
     {
         // dont add if in selected list.
-        // critical that insertSelectedPlaylists() is called first.
-        if ( m_lbSelected->findItem( defaultPlaylists[i] ) )
+        // critical that items are inserted into the selected qlistbox first!
+        if ( m_lbSelected->findItem( list[i] ) )
             continue;
 
-        m_lbAvailable->insertItem( defaultPlaylists[i] );
-    }
-
-    //Custom playlists.
-    QFile file( amaroK::saveLocation() + "smartplaylists" );
-
-    if( file.open( IO_ReadOnly ) )
-    {
-        QTextStream stream( &file );
-        QString line, name, query;
-
-        while( !( line = stream.readLine() ).isNull() )
-        {
-            if( line.startsWith( "Name=" ) )
-            {
-                QString title = line.mid( 5 );
-                if ( m_lbSelected->findItem( title ) )
-                    continue;
-                m_lbAvailable->insertItem( title );
-            }
-        }
+        m_lbAvailable->insertItem( list[i] );
     }
-}
-
-void Party::insertSelectedPlaylists()
-{
-    QStringList playlists = QStringList::split( ',' , \
                AmarokConfig::partyCustomList() );
-
-    m_lbSelected->insertStringList( playlists );
+    //END   availableListBox
 }
 

--- kdeextragear-1/amarok/src/party.h  #1.10:1.11
@@ -71,6 +71,5 @@ class Party : public KDialogBase
 
         void createWidget();
-        void insertAvailablePlaylists();
-        void insertSelectedPlaylists();
+        void insertPlaylists();
 
         void applySettings();

--- kdeextragear-1/amarok/src/smartplaylist.cpp  #1.49:1.50
@@ -98,5 +98,5 @@ SmartPlaylistView::getSmartPlaylist( QSt
 {
     QListViewItemIterator it( this );
-    for ( ; it.current(); ++it )
+    for( ; it.current(); ++it )
         if( (*it)->text( 0 ) == name )
             break;
@@ -105,4 +105,15 @@ SmartPlaylistView::getSmartPlaylist( QSt
 }
 
+QStringList
+SmartPlaylistView::listItems()
+{
+    QStringList list;
+    QListViewItemIterator it( this );
+    for( ; it.current(); ++it )
+        list.append( (*it)->text( 0 ) );
+
+    return list;
+}
+
 void SmartPlaylistView::createCustomPlaylist() //SLOT
 {

--- kdeextragear-1/amarok/src/smartplaylist.h  #1.9:1.10
@@ -28,4 +28,6 @@ Q_OBJECT
 
        SmartPlaylist *getSmartPlaylist( QString name );
+       ///Returns a qstringlist of all every smartplaylist (including item children)
+       QStringList    listItems();
        static SmartPlaylistView *instance() { return s_instance; }
 


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

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