author | llornkcor <llornkcor> | 2002-09-04 23:38:09 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2002-09-04 23:38:09 (UTC) |
commit | 3f2a74813b552c6f7a4450ec6294bbbcc5b811c5 (patch) (side-by-side diff) | |
tree | a29f6d3436365b13b71615052cf08817225d0d78 /noncore/multimedia/opieplayer2/mediaplayer.cpp | |
parent | 95d24f601f7845e49092068ad358030024fa6097 (diff) | |
download | opie-3f2a74813b552c6f7a4450ec6294bbbcc5b811c5.zip opie-3f2a74813b552c6f7a4450ec6294bbbcc5b811c5.tar.gz opie-3f2a74813b552c6f7a4450ec6294bbbcc5b811c5.tar.bz2 |
change playing in file lists. no loop mode
Diffstat (limited to 'noncore/multimedia/opieplayer2/mediaplayer.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/multimedia/opieplayer2/mediaplayer.cpp | 48 |
1 files changed, 39 insertions, 9 deletions
diff --git a/noncore/multimedia/opieplayer2/mediaplayer.cpp b/noncore/multimedia/opieplayer2/mediaplayer.cpp index bf2acc8..553e3c1 100644 --- a/noncore/multimedia/opieplayer2/mediaplayer.cpp +++ b/noncore/multimedia/opieplayer2/mediaplayer.cpp @@ -2,8 +2,9 @@ #include <qpe/qlibrary.h> #include <qpe/resource.h> #include <qpe/config.h> #include <qpe/qcopenvelope_qws.h> +#include <qfileinfo.h> #include <qmainwindow.h> #include <qmessagebox.h> #include <qwidgetstack.h> @@ -88,31 +89,49 @@ void MediaPlayer::setPlaying( bool play ) { mediaPlayerState->setPaused( FALSE ); return; } + QString tickerText, time, fileName; + if( playList->whichList() == 0 ) { //check for filelist const DocLnk *playListCurrent = playList->current(); if ( playListCurrent != NULL ) { currentFile = playListCurrent; } - xineControl->play( currentFile->file() ); + fileName = currentFile->name(); + long seconds = mediaPlayerState->length();// + time.sprintf("%li:%02i", seconds/60, (int)seconds%60 ); + qDebug(time); + } else { //if playing in file list.. play in a different way + // random and looping settings enabled causes problems here, + // since there is no selected file in the playlist, but a selected file in the file list, + // so we remember and shutoff + l = mediaPlayerState->looping(); + if(l) + mediaPlayerState->setLooping( false ); + r = mediaPlayerState->shuffled(); + mediaPlayerState->setShuffled(false); + + fileName = playList->currentFileListPathName(); + xineControl->play( fileName); long seconds = mediaPlayerState->length();// - QString time; time.sprintf("%li:%02i", seconds/60, (int)seconds%60 ); + time.sprintf("%li:%02i", seconds/60, (int)seconds%60 ); qDebug(time); + if( fileName.left(4) != "http" ) + fileName = QFileInfo( fileName).baseName(); - QString tickerText; - if( currentFile->file().left(4) == "http" ) - tickerText= tr( " File: " ) + currentFile->name(); + } + if( fileName.left(4) == "http" ) + tickerText= tr( " File: " ) + fileName; else - tickerText = tr( " File: " ) + currentFile->name() + tr(", Length: ") + time; - - audioUI->setTickerText( currentFile->file( ) ); - + tickerText = tr( " File: " ) + fileName + tr(", Length: ") + time; + audioUI->setTickerText( tickerText ); } void MediaPlayer::prev() { + if(playList->whichList() == 0) { //if using the playlist if ( playList->prev() ) { play(); } else if ( mediaPlayerState->looping() ) { if ( playList->last() ) { @@ -121,11 +140,14 @@ void MediaPlayer::prev() { } else { mediaPlayerState->setList(); } } +} void MediaPlayer::next() { + + if(playList->whichList() == 0) { //if using the playlist if ( playList->next() ) { play(); } else if ( mediaPlayerState->looping() ) { if ( playList->first() ) { @@ -133,8 +155,16 @@ void MediaPlayer::next() { } } else { mediaPlayerState->setList(); } + } else { //if playing from file list, let's just stop + qDebug("<<<<<<<<<<<<<<<<<stop for filelists"); + mediaPlayerState->setPlaying(false); + mediaPlayerState->setView('l'); + if(l) mediaPlayerState->setLooping(l); + if(r) mediaPlayerState->setShuffled(r); + } + qApp->processEvents(); } void MediaPlayer::startDecreasingVolume() { |