-rw-r--r-- | noncore/multimedia/opieplayer2/playlistwidget.cpp | 44 |
1 files changed, 26 insertions, 18 deletions
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.cpp b/noncore/multimedia/opieplayer2/playlistwidget.cpp index e33998f..612fd45 100644 --- a/noncore/multimedia/opieplayer2/playlistwidget.cpp +++ b/noncore/multimedia/opieplayer2/playlistwidget.cpp @@ -323,10 +323,12 @@ void PlayListWidget::readConfig( Config& cfg ) { entryName.sprintf( "File%i", i + 1 ); QString linkFile = cfg.readEntry( entryName ); - DocLnk lnk( linkFile ); - if ( lnk.isValid() ) { - d->selectedFiles->addToSelection( lnk ); + if(QFileInfo( linkFile).exists() ) { + DocLnk lnk( linkFile ); + if ( QFileInfo( lnk.file()).exists() || linkFile.find("http",0,TRUE) != -1) { + d->selectedFiles->addToSelection( lnk ); + } } } - d->selectedFiles->setSelectedItem( currentString); +d->selectedFiles->setSelectedItem( currentString); } @@ -652,5 +654,6 @@ void PlayListWidget::addSelected() { for ( ; dit.current(); ++dit ) { if( dit.current()->name() == it.current()->text(0) ) { - d->selectedFiles->addToSelection( **dit ); + if(QFileInfo( dit.current()->file()).exists()) + d->selectedFiles->addToSelection( **dit ); } } @@ -669,5 +672,6 @@ void PlayListWidget::addSelected() { for ( ; dit.current(); ++dit ) { if( dit.current()->name() == it.current()->text(0) ) { - d->selectedFiles->addToSelection( **dit ); + if(QFileInfo( dit.current()->file()).exists()) + d->selectedFiles->addToSelection( **dit ); } } @@ -702,5 +706,6 @@ void PlayListWidget::addToSelection( QListViewItem *it) { for ( ; dit.current(); ++dit ) { if( dit.current()->name() == it->text(0)) { - d->selectedFiles->addToSelection( **dit ); + if(QFileInfo( dit.current()->file()).exists()) + d->selectedFiles->addToSelection( **dit ); } } @@ -711,5 +716,6 @@ void PlayListWidget::addToSelection( QListViewItem *it) { for ( ; dit.current(); ++dit ) { if( dit.current()->name() == it->text(0)) { - d->selectedFiles->addToSelection( **dit ); + if(QFileInfo( dit.current()->file()).exists()) + d->selectedFiles->addToSelection( **dit ); } } @@ -1112,14 +1118,16 @@ void PlayListWidget::readm3u(const QString &filename) { if(s.left(2) == "E:" || s.left(2) == "P:") { s=s.right(s.length()-2); - DocLnk lnk( s ); - QFileInfo f(s); - QString name = f.baseName(); - name = name.right( name.length()-name.findRev( "\\",-1,TRUE ) -1 ); - lnk.setName( name ); - s=s.replace( QRegExp("\\"),"/"); - lnk.setFile( s ); - lnk.writeLink(); - qDebug("add "+name); - d->selectedFiles->addToSelection( lnk); + if(QFile(s).exists()) { + DocLnk lnk( s ); + QFileInfo f(s); + QString name = f.baseName(); + name = name.right( name.length()-name.findRev( "\\",-1,TRUE ) -1 ); + lnk.setName( name ); + s=s.replace( QRegExp("\\"),"/"); + lnk.setFile( s ); + lnk.writeLink(); + qDebug("add "+name); + d->selectedFiles->addToSelection( lnk); + } } else { // is url s.replace(QRegExp("%20")," "); |