[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