summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-06-17 23:21:17 (UTC)
committer llornkcor <llornkcor>2002-06-17 23:21:17 (UTC)
commit8b089ad594fad0eed4303bc83db4910784e17dd5 (patch) (side-by-side diff)
tree77a84d7b564db72f4c04b6efc2e4fa2d8c9eef11
parent554f88d0e8839bd6112fa42139a967712552e519 (diff)
downloadopie-8b089ad594fad0eed4303bc83db4910784e17dd5.zip
opie-8b089ad594fad0eed4303bc83db4910784e17dd5.tar.gz
opie-8b089ad594fad0eed4303bc83db4910784e17dd5.tar.bz2
check for file existing before adding to playlist
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/multimedia/opieplayer/playlistwidget.cpp17
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