author | llornkcor <llornkcor> | 2002-06-17 23:21:17 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2002-06-17 23:21:17 (UTC) |
commit | 8b089ad594fad0eed4303bc83db4910784e17dd5 (patch) (side-by-side diff) | |
tree | 77a84d7b564db72f4c04b6efc2e4fa2d8c9eef11 /core | |
parent | 554f88d0e8839bd6112fa42139a967712552e519 (diff) | |
download | opie-8b089ad594fad0eed4303bc83db4910784e17dd5.zip opie-8b089ad594fad0eed4303bc83db4910784e17dd5.tar.gz opie-8b089ad594fad0eed4303bc83db4910784e17dd5.tar.bz2 |
check for file existing before adding to playlist
-rw-r--r-- | core/multimedia/opieplayer/playlistwidget.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/core/multimedia/opieplayer/playlistwidget.cpp b/core/multimedia/opieplayer/playlistwidget.cpp index 35208e4..b0d4958 100644 --- a/core/multimedia/opieplayer/playlistwidget.cpp +++ b/core/multimedia/opieplayer/playlistwidget.cpp @@ -372,129 +372,134 @@ void PlayListWidget::readConfig( Config& cfg ) { if ( lnk.isValid() ) { d->selectedFiles->addToSelection( lnk ); } } d->selectedFiles->setSelectedItem( currentString); // d->selectedFiles->setSelectedItem( (const QString &)currentString); } void PlayListWidget::writeConfig( Config& cfg ) const { d->selectedFiles->writeCurrent( cfg); cfg.setGroup("PlayList"); int noOfFiles = 0; d->selectedFiles->first(); do { const DocLnk *lnk = d->selectedFiles->current(); if ( lnk ) { QString entryName; entryName.sprintf( "File%i", noOfFiles + 1 ); // qDebug(entryName); cfg.writeEntry( entryName, lnk->linkFile() ); // if this link does exist, add it so we have the file // next time... if ( !QFile::exists( lnk->linkFile() ) ) { // the way writing lnks doesn't really check for out // of disk space, but check it anyway. if ( !lnk->writeLink() ) { QMessageBox::critical( 0, tr("Out of space"), tr( "There was a problem saving " "the playlist.\n" "Your playlist " "may be missing some entries\n" "the next time you start it." ) ); } } noOfFiles++; } } while ( d->selectedFiles->next() ); cfg.writeEntry("NumberOfFiles", noOfFiles ); } void PlayListWidget::addToSelection( const DocLnk& lnk ) { // qDebug("add"); d->setDocumentUsed = FALSE; - if ( mediaPlayerState->playlist() ) - d->selectedFiles->addToSelection( lnk ); + if ( mediaPlayerState->playlist() ) { + if(QFileInfo(lnk.file()).exists()) + d->selectedFiles->addToSelection( lnk ); + } else - mediaPlayerState->setPlaying( TRUE ); + mediaPlayerState->setPlaying( TRUE ); } void PlayListWidget::clearList() { while ( first() ) d->selectedFiles->removeSelected(); } void PlayListWidget::addAllToList() { DocLnkSet filesAll; Global::findDocuments(&filesAll, "video/*;audio/*"); QListIterator<DocLnk> Adit( filesAll.children() ); for ( ; Adit.current(); ++Adit ) - d->selectedFiles->addToSelection( **Adit ); + if(QFileInfo(Adit.current()->file()).exists()) + d->selectedFiles->addToSelection( **Adit ); } void PlayListWidget::addAllMusicToList() { QListIterator<DocLnk> dit( files.children() ); - for ( ; dit.current(); ++dit ) + for ( ; dit.current(); ++dit ) + if(QFileInfo(dit.current()->file()).exists()) d->selectedFiles->addToSelection( **dit ); } void PlayListWidget::addAllVideoToList() { QListIterator<DocLnk> dit( vFiles.children() ); for ( ; dit.current(); ++dit ) - d->selectedFiles->addToSelection( **dit ); + if(QFileInfo( dit.current()->file()).exists()) + d->selectedFiles->addToSelection( **dit ); } void PlayListWidget::setDocument(const QString& fileref) { qDebug(fileref); fromSetDocument = TRUE; if ( fileref.isNull() ) { QMessageBox::critical( 0, tr( "Invalid File" ), tr( "There was a problem in getting the file." ) ); return; } // qDebug("setDocument "+fileref); if(fileref.find("m3u",0,TRUE) != -1) { //is m3u readm3u( fileref); } else if(fileref.find("pls",0,TRUE) != -1) { //is pls readPls( fileref); } else if(fileref.find("playlist",0,TRUE) != -1) {//is playlist clearList(); loadList(DocLnk(fileref)); d->selectedFiles->first(); } else { clearList(); addToSelection( DocLnk( fileref ) ); d->setDocumentUsed = TRUE; mediaPlayerState->setPlaying( FALSE ); qApp->processEvents(); mediaPlayerState->setPlaying( TRUE ); qApp->processEvents(); setCaption(tr("OpiePlayer")); } } void PlayListWidget::setActiveWindow() { // When we get raised we need to ensure that it switches views char origView = mediaPlayerState->view(); mediaPlayerState->setView( 'l' ); // invalidate mediaPlayerState->setView( origView ); // now switch back } void PlayListWidget::useSelectedDocument() { d->setDocumentUsed = FALSE; } const DocLnk *PlayListWidget::current() { // this is fugly |