summaryrefslogtreecommitdiff
authorbipolar <bipolar>2002-03-09 03:10:23 (UTC)
committer bipolar <bipolar>2002-03-09 03:10:23 (UTC)
commit3d03d0e3f679578080bbbf7d8b7f9eba1b9560db (patch) (unidiff)
tree8ff01a8fad92869e97ba7983d16bcf7de531d69f
parentcb1d684a68565ff70fedd184eedf1ef4f2b71079 (diff)
downloadopie-3d03d0e3f679578080bbbf7d8b7f9eba1b9560db.zip
opie-3d03d0e3f679578080bbbf7d8b7f9eba1b9560db.tar.gz
opie-3d03d0e3f679578080bbbf7d8b7f9eba1b9560db.tar.bz2
ljp:added playlist in caption, startup playlist, and saving currentplaylist to config file
something like that
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/multimedia/opieplayer/main.cpp2
-rw-r--r--core/multimedia/opieplayer/playlistwidget.cpp64
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) {
42 AudioWidget aw( 0, "audioUI" ); 42 AudioWidget aw( 0, "audioUI" );
43 audioUI = &aw; 43 audioUI = &aw;
44 VideoWidget vw( 0, "videoUI" ); 44 VideoWidget vw( 0, "videoUI" );
45 videoUI = &vw; 45 videoUI = &vw;
46 LoopControl lc( 0, "loopControl" ); 46 LoopControl lc( 0, "loopControl" );
47 loopControl = &lc; 47 loopControl = &lc;
48 MediaPlayer mp( 0, "mediaPlayer" ); 48 MediaPlayer mp( 0, "mediaPlayer" );
49 49
50 pl.setCaption( MediaPlayer::tr("OpiePlayer") ); 50// pl.setCaption( MediaPlayer::tr("OpiePlayer") );
51 a.showMainDocumentWidget(&pl); 51 a.showMainDocumentWidget(&pl);
52 52
53 return a.exec(); 53 return a.exec();
54} 54}
55 55
56 56
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 @@
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20// code added by L. J. Potter Sat 03-02-2002 06:17:54 20// code added by L. J. Potter Sat 03-02-2002 06:17:54
21
22#include <qpe/qpemenubar.h> 21#include <qpe/qpemenubar.h>
23#include <qpe/qpetoolbar.h> 22#include <qpe/qpetoolbar.h>
24#include <qpe/fileselector.h> 23#include <qpe/fileselector.h>
25#include <qpe/qpeapplication.h> 24#include <qpe/qpeapplication.h>
26 25
27#include <qpe/applnk.h> 26#include <qpe/applnk.h>
28#include <qpe/config.h> 27#include <qpe/config.h>
29#include <qpe/global.h> 28#include <qpe/global.h>
@@ -251,28 +250,29 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
251 } 250 }
252 251
253//playlists list 252//playlists list
254 QWidget *LTab; 253 QWidget *LTab;
255 LTab = new QWidget( tabWidget, "LTab" ); 254 LTab = new QWidget( tabWidget, "LTab" );
256 playLists = new FileSelector( "playlist/plain", LTab, "fileselector" , FALSE, FALSE); //buggy 255 playLists = new FileSelector( "playlist/plain", LTab, "fileselector" , FALSE, FALSE); //buggy
257 playLists->setMinimumSize(233,260);; 256 playLists->setMinimumSize(233,260);;
258 tabWidget->insertTab(LTab,"Lists"); 257 tabWidget->insertTab(LTab,"Lists");
258
259 connect( playLists, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( loadList( const DocLnk & ) ) ); 259 connect( playLists, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( loadList( const DocLnk & ) ) );
260// connect( playLists, SIGNAL( newSelected( const DocLnk &) ), this, SLOT( newFile( const DocLnk & ) ) ); 260// connect( playLists, SIGNAL( newSelected( const DocLnk &) ), this, SLOT( newFile( const DocLnk & ) ) );
261 261
262 262
263// add the library area 263// add the library area
264 QPEApplication::setStylusOperation( this, QPEApplication::RightOnHold ); 264 QPEApplication::setStylusOperation( this, QPEApplication::RightOnHold );
265 265
266 266
267 connect( audioView, SIGNAL( rightButtonClicked( QListViewItem *, const QPoint &, int)), 267// connect( audioView, SIGNAL( rightButtonClicked( QListViewItem *, const QPoint &, int)),
268 this, SLOT( fauxPlay( QListViewItem *) ) ); 268// this, SLOT( fauxPlay( QListViewItem *) ) );
269 connect( videoView, SIGNAL( rightButtonClicked( QListViewItem *, const QPoint &, int)), 269// connect( videoView, SIGNAL( rightButtonClicked( QListViewItem *, const QPoint &, int)),
270 this, SLOT( fauxPlay( QListViewItem *)) ); 270// this, SLOT( fauxPlay( QListViewItem *)) );
271 271
272// connect( audioView, SIGNAL( clicked( QListViewItem *) ), this, SLOT( fauxPlay( QListViewItem *) ) ); 272// connect( audioView, SIGNAL( clicked( QListViewItem *) ), this, SLOT( fauxPlay( QListViewItem *) ) );
273// connect( videoView, SIGNAL( clicked( QListViewItem *) ), this, SLOT( fauxPlay( QListViewItem *) ) ); 273// connect( videoView, SIGNAL( clicked( QListViewItem *) ), this, SLOT( fauxPlay( QListViewItem *) ) );
274 274
275 connect( audioView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) ); 275 connect( audioView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) );
276 connect( videoView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) ); 276 connect( videoView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) );
277 277
278 connect( tabWidget, SIGNAL (currentChanged(QWidget*)),this,SLOT(tabChanged(QWidget*))); 278 connect( tabWidget, SIGNAL (currentChanged(QWidget*)),this,SLOT(tabChanged(QWidget*)));
@@ -283,43 +283,47 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
283 283
284 connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) ); 284 connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) );
285// connect( d->selectedFiles, SIGNAL( fileSelected( const DocLnk & ) ), this, SLOT( addToSelection( const DocLnk & ) ) ); 285// connect( d->selectedFiles, SIGNAL( fileSelected( const DocLnk & ) ), this, SLOT( addToSelection( const DocLnk & ) ) );
286 286
287 setCentralWidget( vbox5 ); 287 setCentralWidget( vbox5 );
288 288
289 Config cfg( "MediaPlayer" ); 289 Config cfg( "MediaPlayer" );
290 readConfig( cfg ); 290 readConfig( cfg );
291 291 QString currentPlaylist = cfg.readEntry("CurrentPlaylist","");
292// qDebug("currentList is "+currentPlaylist);
293 loadList(DocLnk( currentPlaylist));
294 setCaption("OpiePlayer: "+ currentPlaylist );
295
292 initializeStates(); 296 initializeStates();
293} 297}
294 298
295 299
296PlayListWidget::~PlayListWidget() { 300PlayListWidget::~PlayListWidget() {
297 Config cfg( "MediaPlayer" ); 301 Config cfg( "MediaPlayer" );
298 writeConfig( cfg ); 302 writeConfig( cfg );
303
299 304
300 if ( d->current ) 305 if ( d->current )
301 delete d->current; 306 delete d->current;
302 delete d; 307 delete d;
303} 308}
304 309
305 310
306void PlayListWidget::initializeStates() { 311void PlayListWidget::initializeStates() {
307 312
308 d->tbPlay->setOn( mediaPlayerState->playing() ); 313 d->tbPlay->setOn( mediaPlayerState->playing() );
309 d->tbLoop->setOn( mediaPlayerState->looping() ); 314 d->tbLoop->setOn( mediaPlayerState->looping() );
310 d->tbShuffle->setOn( mediaPlayerState->shuffled() ); 315 d->tbShuffle->setOn( mediaPlayerState->shuffled() );
311// d->tbFull->setOn( mediaPlayerState->fullscreen() ); 316// d->tbFull->setOn( mediaPlayerState->fullscreen() );
312// d->tbScale->setOn( mediaPlayerState->scaled() ); 317// d->tbScale->setOn( mediaPlayerState->scaled() );
313// d->tbScale->setEnabled( mediaPlayerState->fullscreen() ); 318// d->tbScale->setEnabled( mediaPlayerState->fullscreen() );
314// setPlaylist( mediaPlayerState->playlist() ); 319// setPlaylist( mediaPlayerState->playlist() );
315 setPlaylist( true); 320 setPlaylist( true);
316 d->selectedFiles->first(); 321 d->selectedFiles->first();
317
318} 322}
319 323
320 324
321void PlayListWidget::readConfig( Config& cfg ) { 325void PlayListWidget::readConfig( Config& cfg ) {
322 cfg.setGroup("PlayList"); 326 cfg.setGroup("PlayList");
323 327
324 int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 ); 328 int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 );
325 329
@@ -367,17 +371,17 @@ void PlayListWidget::writeConfig( Config& cfg ) const {
367 371
368 cfg.writeEntry("NumberOfFiles", noOfFiles ); 372 cfg.writeEntry("NumberOfFiles", noOfFiles );
369 373
370 374
371} 375}
372 376
373 377
374void PlayListWidget::addToSelection( const DocLnk& lnk ) { 378void PlayListWidget::addToSelection( const DocLnk& lnk ) {
375 qDebug("add"); 379// qDebug("add");
376 d->setDocumentUsed = FALSE; 380 d->setDocumentUsed = FALSE;
377 if ( mediaPlayerState->playlist() ) 381 if ( mediaPlayerState->playlist() )
378 d->selectedFiles->addToSelection( lnk ); 382 d->selectedFiles->addToSelection( lnk );
379 else 383 else
380 mediaPlayerState->setPlaying( TRUE ); 384 mediaPlayerState->setPlaying( TRUE );
381} 385}
382 386
383 387
@@ -414,16 +418,17 @@ void PlayListWidget::addAllVideoToList() {
414} 418}
415 419
416 420
417void PlayListWidget::setDocument(const QString& fileref) { 421void PlayListWidget::setDocument(const QString& fileref) {
418 if ( fileref.isNull() ) { 422 if ( fileref.isNull() ) {
419 QMessageBox::critical( 0, tr( "Invalid File" ), tr( "There was a problem in getting the file." ) ); 423 QMessageBox::critical( 0, tr( "Invalid File" ), tr( "There was a problem in getting the file." ) );
420 return; 424 return;
421 } 425 }
426// qDebug("setDocument");
422 if(fileref.find("playlist",0,TRUE) == -1) { 427 if(fileref.find("playlist",0,TRUE) == -1) {
423 addToSelection( DocLnk( fileref ) ); 428 addToSelection( DocLnk( fileref ) );
424 d->setDocumentUsed = TRUE; 429 d->setDocumentUsed = TRUE;
425 qApp->processEvents(); 430 qApp->processEvents();
426 mediaPlayerState->setPlaying( FALSE ); 431 mediaPlayerState->setPlaying( FALSE );
427 qApp->processEvents(); 432 qApp->processEvents();
428 mediaPlayerState->setPlaying( TRUE ); 433 mediaPlayerState->setPlaying( TRUE );
429 d->selectedFiles->removeSelected( ); 434 d->selectedFiles->removeSelected( );
@@ -528,46 +533,65 @@ bool PlayListWidget::last() {
528 return mediaPlayerState->looping(); 533 return mediaPlayerState->looping();
529} 534}
530 535
531 536
532void PlayListWidget::saveList() { 537void PlayListWidget::saveList() {
533 538
534 QString filename; 539 QString filename;
535 InputDialog *fileDlg; 540 InputDialog *fileDlg;
536 fileDlg=new InputDialog(this,"Save Playlist",TRUE, 0); 541 fileDlg = new InputDialog(this,"Save Playlist",TRUE, 0);
537 fileDlg->exec(); 542 fileDlg->exec();
538 if( fileDlg->result() == 1 ) { 543 if( fileDlg->result() == 1 ) {
544 if ( d->current )
545 delete d->current;
539 filename = fileDlg->LineEdit1->text();//+".playlist"; 546 filename = fileDlg->LineEdit1->text();//+".playlist";
540 qDebug("saving playlist "+filename+".playlist"); 547// qDebug("saving playlist "+filename+".playlist");
541 Config cfg( filename +".playlist"); 548 Config cfg( filename +".playlist");
542 writeConfig( cfg ); 549 writeConfig( cfg );
550 if( playLists->selected()->name() == filename) {
551// qDebug("same name so delete lnk");
552 QFile().remove(playLists->selected()->file());
553 QFile().remove(playLists->selected()->linkFile());
554 playLists->reread();
555 }
556
543 DocLnk lnk; 557 DocLnk lnk;
544// lnk.setComment( ""); 558// lnk.setComment( "");
545 lnk.setFile(QDir::homeDirPath()+"/Settings/"+filename+".playlist.conf"); //sets File property 559 lnk.setFile(QDir::homeDirPath()+"/Settings/"+filename+".playlist.conf"); //sets File property
546 lnk.setType("playlist/plain");// hey is this a REGISTERED mime type?!?!? ;D 560 lnk.setType("playlist/plain");// hey is this a REGISTERED mime type?!?!? ;D
547 lnk.setIcon("mpegplayer/playlist2"); 561 lnk.setIcon("mpegplayer/playlist2");
548 lnk.setName( filename); //sets file name 562 lnk.setName( filename); //sets file name
549 if(!lnk.writeLink()) 563 if(!lnk.writeLink())
550 qDebug("Writing doclink did not work"); 564 qDebug("Writing doclink did not work");
551 } 565 }
552 566 Config config( "MediaPlayer" );
567 config.writeEntry("CurrentPlaylist",filename);
568 setCaption("OpiePlayer: "+filename);
569 d->selectedFiles->first();
553 if(fileDlg) 570 if(fileDlg)
554 delete fileDlg; 571 delete fileDlg;
555 572
556} 573}
557 574
558 575
559void PlayListWidget::loadList( const DocLnk & lnk) { 576void PlayListWidget::loadList( const DocLnk & lnk) {
560 qDebug("load list "+ lnk.name()+".playlist"); 577 QString name= lnk.name();
561 clearList(); 578// qDebug("currentList is "+name);
562 Config cfg( lnk.name()+".playlist"); 579 if( name.length()>1) {
563 readConfig(cfg); 580 setCaption("OpiePlayer: "+name);
564 tabWidget->setCurrentPage(0); 581// qDebug("load list "+ name+".playlist");
565 setCaption("OpiePlayer: "+lnk.name()); 582 clearList();
583 Config cfg( name+".playlist");
584 readConfig(cfg);
585 tabWidget->setCurrentPage(0);
586 Config config( "MediaPlayer" );
587 config.writeEntry("CurrentPlaylist", name);
588 d->selectedFiles->first();
589 }
566} 590}
567 591
568 592
569void PlayListWidget::setPlaylist( bool shown ) { 593void PlayListWidget::setPlaylist( bool shown ) {
570 if ( shown ) 594 if ( shown )
571 d->playListFrame->show(); 595 d->playListFrame->show();
572 else 596 else
573 d->playListFrame->hide(); 597 d->playListFrame->hide();