-rw-r--r-- | noncore/multimedia/opieplayer2/playlistwidget.cpp | 10 |
1 files changed, 9 insertions, 1 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 @@ -319,17 +319,19 @@ void PlayListWidget::readConfig( Config& cfg ) { QString currentString = cfg.readEntry("current", "" ); int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 ); for ( int i = 0; i < noOfFiles; i++ ) { QString entryName; entryName.sprintf( "File%i", i + 1 ); QString linkFile = cfg.readEntry( entryName ); + if(QFileInfo( linkFile).exists() ) { DocLnk lnk( linkFile ); - if ( lnk.isValid() ) { + if ( QFileInfo( lnk.file()).exists() || linkFile.find("http",0,TRUE) != -1) { d->selectedFiles->addToSelection( lnk ); } } + } d->selectedFiles->setSelectedItem( currentString); } void PlayListWidget::writeConfig( Config& cfg ) const { @@ -648,12 +650,13 @@ void PlayListWidget::addSelected() { // iterate through all items of the listview for ( ; it.current(); ++it ) { if ( it.current()->isSelected() ) { QListIterator<DocLnk> dit( files.children() ); for ( ; dit.current(); ++dit ) { if( dit.current()->name() == it.current()->text(0) ) { + if(QFileInfo( dit.current()->file()).exists()) d->selectedFiles->addToSelection( **dit ); } } audioView->setSelected( it.current(),FALSE); } } @@ -665,12 +668,13 @@ void PlayListWidget::addSelected() { // iterate through all items of the listview for ( ; it.current(); ++it ) { if ( it.current()->isSelected() ) { QListIterator<DocLnk> dit( vFiles.children() ); for ( ; dit.current(); ++dit ) { if( dit.current()->name() == it.current()->text(0) ) { + if(QFileInfo( dit.current()->file()).exists()) d->selectedFiles->addToSelection( **dit ); } } videoView->setSelected( it.current(),FALSE); } } @@ -698,21 +702,23 @@ void PlayListWidget::addToSelection( QListViewItem *it) { if(it) { switch (tabWidget->currentPageIndex()) { case 1: { QListIterator<DocLnk> dit( files.children() ); for ( ; dit.current(); ++dit ) { if( dit.current()->name() == it->text(0)) { + if(QFileInfo( dit.current()->file()).exists()) d->selectedFiles->addToSelection( **dit ); } } } break; case 2: { QListIterator<DocLnk> dit( vFiles.children() ); for ( ; dit.current(); ++dit ) { if( dit.current()->name() == it->text(0)) { + if(QFileInfo( dit.current()->file()).exists()) d->selectedFiles->addToSelection( **dit ); } } } break; case 0: @@ -1108,22 +1114,24 @@ void PlayListWidget::readm3u(const QString &filename) { s=t.readLine(); if(s.find("#",0,TRUE) == -1) { if(s.find(" ",0,TRUE) == -1) { // not sure if this is neede since cf uses vfat if(s.left(2) == "E:" || s.left(2) == "P:") { s=s.right(s.length()-2); + 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")," "); DocLnk lnk( s ); QString name; if(name.left(4)=="http") { name = s.right( s.length() - 7); |