-rw-r--r-- | core/multimedia/opieplayer/main.cpp | 2 | ||||
-rw-r--r-- | core/multimedia/opieplayer/playlistwidget.cpp | 64 |
2 files changed, 45 insertions, 21 deletions
diff --git a/core/multimedia/opieplayer/main.cpp b/core/multimedia/opieplayer/main.cpp index 4f43ff6..18cd7a6 100644 --- a/core/multimedia/opieplayer/main.cpp +++ b/core/multimedia/opieplayer/main.cpp @@ -42,15 +42,15 @@ int main(int argc, char **argv) { AudioWidget aw( 0, "audioUI" ); audioUI = &aw; VideoWidget vw( 0, "videoUI" ); videoUI = &vw; LoopControl lc( 0, "loopControl" ); loopControl = &lc; MediaPlayer mp( 0, "mediaPlayer" ); - pl.setCaption( MediaPlayer::tr("OpiePlayer") ); +// pl.setCaption( MediaPlayer::tr("OpiePlayer") ); a.showMainDocumentWidget(&pl); return a.exec(); } diff --git a/core/multimedia/opieplayer/playlistwidget.cpp b/core/multimedia/opieplayer/playlistwidget.cpp index cb58888..9969526 100644 --- a/core/multimedia/opieplayer/playlistwidget.cpp +++ b/core/multimedia/opieplayer/playlistwidget.cpp @@ -13,17 +13,16 @@ ** ** See http://www.trolltech.com/gpl/ for GPL licensing information. ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** **********************************************************************/ // code added by L. J. Potter Sat 03-02-2002 06:17:54 - #include <qpe/qpemenubar.h> #include <qpe/qpetoolbar.h> #include <qpe/fileselector.h> #include <qpe/qpeapplication.h> #include <qpe/applnk.h> #include <qpe/config.h> #include <qpe/global.h> @@ -251,28 +250,29 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) } //playlists list QWidget *LTab; LTab = new QWidget( tabWidget, "LTab" ); playLists = new FileSelector( "playlist/plain", LTab, "fileselector" , FALSE, FALSE); //buggy playLists->setMinimumSize(233,260);; tabWidget->insertTab(LTab,"Lists"); + connect( playLists, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( loadList( const DocLnk & ) ) ); // connect( playLists, SIGNAL( newSelected( const DocLnk &) ), this, SLOT( newFile( const DocLnk & ) ) ); // add the library area QPEApplication::setStylusOperation( this, QPEApplication::RightOnHold ); - connect( audioView, SIGNAL( rightButtonClicked( QListViewItem *, const QPoint &, int)), - this, SLOT( fauxPlay( QListViewItem *) ) ); - connect( videoView, SIGNAL( rightButtonClicked( QListViewItem *, const QPoint &, int)), - this, SLOT( fauxPlay( QListViewItem *)) ); +// connect( audioView, SIGNAL( rightButtonClicked( QListViewItem *, const QPoint &, int)), +// this, SLOT( fauxPlay( QListViewItem *) ) ); +// connect( videoView, SIGNAL( rightButtonClicked( QListViewItem *, const QPoint &, int)), +// this, SLOT( fauxPlay( QListViewItem *)) ); // connect( audioView, SIGNAL( clicked( QListViewItem *) ), this, SLOT( fauxPlay( QListViewItem *) ) ); // connect( videoView, SIGNAL( clicked( QListViewItem *) ), this, SLOT( fauxPlay( QListViewItem *) ) ); connect( audioView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) ); connect( videoView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) ); connect( tabWidget, SIGNAL (currentChanged(QWidget*)),this,SLOT(tabChanged(QWidget*))); @@ -283,43 +283,47 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) ); // connect( d->selectedFiles, SIGNAL( fileSelected( const DocLnk & ) ), this, SLOT( addToSelection( const DocLnk & ) ) ); setCentralWidget( vbox5 ); Config cfg( "MediaPlayer" ); readConfig( cfg ); - + QString currentPlaylist = cfg.readEntry("CurrentPlaylist",""); +// qDebug("currentList is "+currentPlaylist); + loadList(DocLnk( currentPlaylist)); + setCaption("OpiePlayer: "+ currentPlaylist ); + initializeStates(); } PlayListWidget::~PlayListWidget() { Config cfg( "MediaPlayer" ); writeConfig( cfg ); + if ( d->current ) delete d->current; delete d; } void PlayListWidget::initializeStates() { d->tbPlay->setOn( mediaPlayerState->playing() ); d->tbLoop->setOn( mediaPlayerState->looping() ); d->tbShuffle->setOn( mediaPlayerState->shuffled() ); // d->tbFull->setOn( mediaPlayerState->fullscreen() ); // d->tbScale->setOn( mediaPlayerState->scaled() ); // d->tbScale->setEnabled( mediaPlayerState->fullscreen() ); // setPlaylist( mediaPlayerState->playlist() ); - setPlaylist( true); - d->selectedFiles->first(); - + setPlaylist( true); + d->selectedFiles->first(); } void PlayListWidget::readConfig( Config& cfg ) { cfg.setGroup("PlayList"); int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 ); @@ -367,17 +371,17 @@ void PlayListWidget::writeConfig( Config& cfg ) const { cfg.writeEntry("NumberOfFiles", noOfFiles ); } void PlayListWidget::addToSelection( const DocLnk& lnk ) { - qDebug("add"); +// qDebug("add"); d->setDocumentUsed = FALSE; if ( mediaPlayerState->playlist() ) d->selectedFiles->addToSelection( lnk ); else mediaPlayerState->setPlaying( TRUE ); } @@ -414,16 +418,17 @@ void PlayListWidget::addAllVideoToList() { } void PlayListWidget::setDocument(const QString& fileref) { if ( fileref.isNull() ) { QMessageBox::critical( 0, tr( "Invalid File" ), tr( "There was a problem in getting the file." ) ); return; } +// qDebug("setDocument"); if(fileref.find("playlist",0,TRUE) == -1) { addToSelection( DocLnk( fileref ) ); d->setDocumentUsed = TRUE; qApp->processEvents(); mediaPlayerState->setPlaying( FALSE ); qApp->processEvents(); mediaPlayerState->setPlaying( TRUE ); d->selectedFiles->removeSelected( ); @@ -528,46 +533,65 @@ bool PlayListWidget::last() { return mediaPlayerState->looping(); } void PlayListWidget::saveList() { QString filename; InputDialog *fileDlg; - fileDlg=new InputDialog(this,"Save Playlist",TRUE, 0); + fileDlg = new InputDialog(this,"Save Playlist",TRUE, 0); fileDlg->exec(); if( fileDlg->result() == 1 ) { + if ( d->current ) + delete d->current; filename = fileDlg->LineEdit1->text();//+".playlist"; - qDebug("saving playlist "+filename+".playlist"); +// qDebug("saving playlist "+filename+".playlist"); Config cfg( filename +".playlist"); writeConfig( cfg ); + if( playLists->selected()->name() == filename) { +// qDebug("same name so delete lnk"); + QFile().remove(playLists->selected()->file()); + QFile().remove(playLists->selected()->linkFile()); + playLists->reread(); + } + DocLnk lnk; // lnk.setComment( ""); lnk.setFile(QDir::homeDirPath()+"/Settings/"+filename+".playlist.conf"); //sets File property lnk.setType("playlist/plain");// hey is this a REGISTERED mime type?!?!? ;D lnk.setIcon("mpegplayer/playlist2"); lnk.setName( filename); //sets file name if(!lnk.writeLink()) qDebug("Writing doclink did not work"); - } - + } + Config config( "MediaPlayer" ); + config.writeEntry("CurrentPlaylist",filename); + setCaption("OpiePlayer: "+filename); + d->selectedFiles->first(); if(fileDlg) delete fileDlg; } void PlayListWidget::loadList( const DocLnk & lnk) { - qDebug("load list "+ lnk.name()+".playlist"); - clearList(); - Config cfg( lnk.name()+".playlist"); - readConfig(cfg); - tabWidget->setCurrentPage(0); - setCaption("OpiePlayer: "+lnk.name()); + QString name= lnk.name(); +// qDebug("currentList is "+name); + if( name.length()>1) { + setCaption("OpiePlayer: "+name); +// qDebug("load list "+ name+".playlist"); + clearList(); + Config cfg( name+".playlist"); + readConfig(cfg); + tabWidget->setCurrentPage(0); + Config config( "MediaPlayer" ); + config.writeEntry("CurrentPlaylist", name); + d->selectedFiles->first(); + } } void PlayListWidget::setPlaylist( bool shown ) { if ( shown ) d->playListFrame->show(); else d->playListFrame->hide(); |