-rw-r--r-- | noncore/multimedia/opieplayer2/playlistwidget.cpp | 93 |
1 files changed, 88 insertions, 5 deletions
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.cpp b/noncore/multimedia/opieplayer2/playlistwidget.cpp index a6a9eca..c2b5c77 100644 --- a/noncore/multimedia/opieplayer2/playlistwidget.cpp +++ b/noncore/multimedia/opieplayer2/playlistwidget.cpp @@ -25,32 +25,33 @@ -. .:....=;==+<; You should have received a copy of the GNU -_. . . )=. = General Public License along with -- :-=` this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include <qpe/qpetoolbar.h> #include <qpe/qpeapplication.h> #include <qpe/storage.h> #include <qpe/mimetype.h> #include <qpe/global.h> #include <qpe/resource.h> +#include <qdatetime.h> #include <qdir.h> #include <qmessagebox.h> #include <qregexp.h> #include <qtextstream.h> #include "playlistselection.h" #include "playlistwidget.h" #include "mediaplayerstate.h" #include "inputDialog.h" #include "om3u.h" //only needed for the random play #include <stdlib.h> #include "audiowidget.h" #include "videowidget.h" @@ -140,41 +141,40 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) connect( tabWidget, SIGNAL ( currentChanged(QWidget*) ), this, SLOT( tabChanged( QWidget* ) ) ); connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), d->tbPlay, SLOT( setOn( bool ) ) ); connect( mediaPlayerState, SIGNAL( loopingToggled( bool ) ), d->tbLoop, SLOT( setOn( bool ) ) ); connect( mediaPlayerState, SIGNAL( shuffledToggled( bool ) ), d->tbShuffle, SLOT( setOn( bool ) ) ); connect( mediaPlayerState, SIGNAL( playlistToggled( bool ) ), this, SLOT( setPlaylist( bool ) ) ); connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) ); connect ( gammaSlider, SIGNAL( valueChanged( int ) ), mediaPlayerState, SLOT( setVideoGamma( int ) ) ); // see which skins are installed - videoScan=FALSE; - audioScan=FALSE; + videoScan=false; + audioScan=false; populateSkinsMenu(); initializeStates(); cfg.setGroup("PlayList"); QString currentPlaylist = cfg.readEntry( "CurrentPlaylist", "default"); loadList(DocLnk( currentPlaylist ) ); - } PlayListWidget::~PlayListWidget() { if ( d->current ) { delete d->current; } delete d; } void PlayListWidget::initializeStates() { d->tbPlay->setOn( mediaPlayerState->playing() ); d->tbLoop->setOn( mediaPlayerState->looping() ); d->tbShuffle->setOn( mediaPlayerState->shuffled() ); setPlaylist( true ); @@ -245,71 +245,154 @@ void PlayListWidget::playlistViewPressed( int mouse, QListViewItem *, const QPoi switch (mouse) { case 1: break; case 2: { QPopupMenu m; m.insertItem( tr( "Play" ), this, SLOT( playSelected() )); m.insertItem( tr( "Remove" ), this, SLOT( removeSelected() )); m.exec( QCursor::pos() ); } break; } } void PlayListWidget::addAllToList() { + +// QTime t; +// t.start(); + + if(!audioScan) { + if(audioView->childCount() < 1) + populateAudioView(); + } + + QListViewItemIterator audioIt( audioView ); + DocLnk lnk; + QString filename; + // iterate through all items of the listview + for ( ; audioIt.current(); ++audioIt ) { + filename = audioIt.current()->text(3); + lnk.setName( QFileInfo(filename).baseName() ); //sets name + lnk.setFile( filename ); //sets file name + d->selectedFiles->addToSelection( lnk); + } + + if(!videoScan) { + if(videoView->childCount() < 1) + populateVideoView(); + } + + QListViewItemIterator videoIt( videoView ); + for ( ; videoIt.current(); ++videoIt ) { + filename = videoIt.current()->text(3); + lnk.setName( QFileInfo(filename).baseName() ); //sets name + lnk.setFile( filename ); //sets file name + d->selectedFiles->addToSelection( lnk); + } + + // d->selectedFiles->addToSelection( ); + // if ( it.current()->isSelected() ) + // lst->append( audioIt.current() ); + // } + + /* + if(!audioScan) + scanForAudio(); + if(!videoScan) + scanForVideo(); + DocLnkSet filesAll; Global::findDocuments(&filesAll, "video/*;"+audioMimes); QListIterator<DocLnk> Adit( filesAll.children() ); for ( ; Adit.current(); ++Adit ) { if( QFileInfo( Adit.current()->file() ).exists() ) { d->selectedFiles->addToSelection( **Adit ); } } +*/ + // qDebug("elapsed time %d", t.elapsed() ); + tabWidget->setCurrentPage(0); writeCurrentM3u(); d->selectedFiles->first(); } void PlayListWidget::addAllMusicToList() { - if(!audioScan) + + if(!audioScan) { + if(audioView->childCount() < 1) + populateAudioView(); + } + + QListViewItemIterator audioIt( audioView ); + DocLnk lnk; + QString filename; + // iterate through all items of the listview + for ( ; audioIt.current(); ++audioIt ) { + filename = audioIt.current()->text(3); + lnk.setName( QFileInfo(filename).baseName() ); //sets name + lnk.setFile( filename ); //sets file name + d->selectedFiles->addToSelection( lnk); + } + + /* if(!audioScan) scanForAudio(); QListIterator<DocLnk> dit( files.children() ); for ( ; dit.current(); ++dit ) { if( QFileInfo(dit.current()->file() ).exists() ) { d->selectedFiles->addToSelection( **dit ); } } + */ tabWidget->setCurrentPage(0); writeCurrentM3u(); d->selectedFiles->first(); } void PlayListWidget::addAllVideoToList() { - if(!videoScan) + + if(!videoScan) { + if(videoView->childCount() < 1) + populateVideoView(); + } + + QListViewItemIterator videoIt( videoView ); + DocLnk lnk; + QString filename; + for ( ; videoIt.current(); ++videoIt ) { + filename = videoIt.current()->text(3); + lnk.setName( QFileInfo(filename).baseName() ); //sets name + lnk.setFile( filename ); //sets file name + d->selectedFiles->addToSelection( lnk); + } + + + /* if(!videoScan) scanForVideo(); QListIterator<DocLnk> dit( vFiles.children() ); for ( ; dit.current(); ++dit ) { if( QFileInfo( dit.current()->file() ).exists() ) { d->selectedFiles->addToSelection( **dit ); } } +*/ tabWidget->setCurrentPage(0); writeCurrentM3u(); d->selectedFiles->first(); } void PlayListWidget::setDocument( const QString& fileref ) { qDebug( "<<<<<<<<set document>>>>>>>>>> "+fileref ); fromSetDocument = TRUE; if ( fileref.isNull() ) { QMessageBox::warning( this, tr( "Invalid File" ), tr( "There was a problem in getting the file." ) ); return; } clearList(); |