summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/multimedia/opieplayer/playlistwidget.cpp39
-rw-r--r--core/multimedia/opieplayer/playlistwidget.h1
2 files changed, 26 insertions, 14 deletions
diff --git a/core/multimedia/opieplayer/playlistwidget.cpp b/core/multimedia/opieplayer/playlistwidget.cpp
index c6de5e6..5d0f6de 100644
--- a/core/multimedia/opieplayer/playlistwidget.cpp
+++ b/core/multimedia/opieplayer/playlistwidget.cpp
@@ -318,106 +318,107 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
318 tabWidget->insertTab(LTab,tr("Lists")); 318 tabWidget->insertTab(LTab,tr("Lists"));
319 319
320 connect(tbDeletePlaylist,(SIGNAL(released())),SLOT( deletePlaylist())); 320 connect(tbDeletePlaylist,(SIGNAL(released())),SLOT( deletePlaylist()));
321 connect( fullScreenButton, SIGNAL(activated()), mediaPlayerState, SLOT(toggleFullscreen()) ); 321 connect( fullScreenButton, SIGNAL(activated()), mediaPlayerState, SLOT(toggleFullscreen()) );
322 connect( scaleButton, SIGNAL(activated()), mediaPlayerState, SLOT(toggleScaled()) ); 322 connect( scaleButton, SIGNAL(activated()), mediaPlayerState, SLOT(toggleScaled()) );
323 323
324 connect( d->selectedFiles, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 324 connect( d->selectedFiles, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
325 this,SLOT( playlistViewPressed(int, QListViewItem *, const QPoint&, int)) ); 325 this,SLOT( playlistViewPressed(int, QListViewItem *, const QPoint&, int)) );
326 326
327 327
328///audioView 328///audioView
329 connect( audioView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 329 connect( audioView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
330 this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) ); 330 this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) );
331 331
332 connect( audioView, SIGNAL( returnPressed( QListViewItem *)), 332 connect( audioView, SIGNAL( returnPressed( QListViewItem *)),
333 this,SLOT( playIt( QListViewItem *)) ); 333 this,SLOT( playIt( QListViewItem *)) );
334 connect( audioView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) ); 334 connect( audioView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) );
335 335
336 336
337//videoView 337//videoView
338 connect( videoView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 338 connect( videoView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
339 this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) ); 339 this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) );
340 connect( videoView, SIGNAL( returnPressed( QListViewItem *)), 340 connect( videoView, SIGNAL( returnPressed( QListViewItem *)),
341 this,SLOT( playIt( QListViewItem *)) ); 341 this,SLOT( playIt( QListViewItem *)) );
342 connect( videoView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) ); 342 connect( videoView, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( addToSelection( QListViewItem *) ) );
343 343
344//playlists 344//playlists
345 connect( playLists, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( loadList( const DocLnk & ) ) ); 345 connect( playLists, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( loadList( const DocLnk & ) ) );
346 346
347 connect( tabWidget, SIGNAL (currentChanged(QWidget*)),this,SLOT(tabChanged(QWidget*))); 347 connect( tabWidget, SIGNAL (currentChanged(QWidget*)),this,SLOT(tabChanged(QWidget*)));
348 348
349 connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), d->tbPlay, SLOT( setOn( bool ) ) ); 349 connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), d->tbPlay, SLOT( setOn( bool ) ) );
350 350
351 connect( mediaPlayerState, SIGNAL( loopingToggled( bool ) ), d->tbLoop, SLOT( setOn( bool ) ) ); 351 connect( mediaPlayerState, SIGNAL( loopingToggled( bool ) ), d->tbLoop, SLOT( setOn( bool ) ) );
352 connect( mediaPlayerState, SIGNAL( shuffledToggled( bool ) ), d->tbShuffle, SLOT( setOn( bool ) ) ); 352 connect( mediaPlayerState, SIGNAL( shuffledToggled( bool ) ), d->tbShuffle, SLOT( setOn( bool ) ) );
353 connect( mediaPlayerState, SIGNAL( playlistToggled( bool ) ), this, SLOT( setPlaylist( bool ) ) ); 353 connect( mediaPlayerState, SIGNAL( playlistToggled( bool ) ), this, SLOT( setPlaylist( bool ) ) );
354 354
355 connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) ); 355 connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) );
356 356
357 setCentralWidget( vbox5 ); 357 setCentralWidget( vbox5 );
358 358
359 Config cfg( "OpiePlayer" ); 359 Config cfg( "OpiePlayer" );
360 readConfig( cfg ); 360 readConfig( cfg );
361 QString currentPlaylist = cfg.readEntry("CurrentPlaylist","default"); 361 QString currentPlaylist = cfg.readEntry("CurrentPlaylist","default");
362 loadList(DocLnk( currentPlaylist)); 362 loadList(DocLnk( currentPlaylist));
363 setCaption(tr("OpiePlayer: ")+ fullBaseName ( QFileInfo(currentPlaylist))); 363 setCaption(tr("OpiePlayer: ")+ fullBaseName ( QFileInfo(currentPlaylist)));
364 364
365 initializeStates(); 365 initializeStates();
366 // audioUI->setFocus();
366} 367}
367 368
368 369
369PlayListWidget::~PlayListWidget() { 370PlayListWidget::~PlayListWidget() {
370 Config cfg( "OpiePlayer" ); 371 Config cfg( "OpiePlayer" );
371 writeConfig( cfg ); 372 writeConfig( cfg );
372 373
373 if ( d->current ) 374 if ( d->current )
374 delete d->current; 375 delete d->current;
375 delete d; 376 if(d) delete d;
376} 377}
377 378
378 379
379void PlayListWidget::initializeStates() { 380void PlayListWidget::initializeStates() {
380 381
381 d->tbPlay->setOn( mediaPlayerState->playing() ); 382 d->tbPlay->setOn( mediaPlayerState->playing() );
382 d->tbLoop->setOn( mediaPlayerState->looping() ); 383 d->tbLoop->setOn( mediaPlayerState->looping() );
383 d->tbShuffle->setOn( mediaPlayerState->shuffled() ); 384 d->tbShuffle->setOn( mediaPlayerState->shuffled() );
384 setPlaylist( true); 385 setPlaylist( true);
385} 386}
386 387
387 388
388void PlayListWidget::readConfig( Config& cfg ) { 389void PlayListWidget::readConfig( Config& cfg ) {
389 cfg.setGroup("PlayList"); 390 cfg.setGroup("PlayList");
390 QString currentString = cfg.readEntry("current", "" ); 391 QString currentString = cfg.readEntry("current", "" );
391 int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 ); 392 int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 );
392 for ( int i = 0; i < noOfFiles; i++ ) { 393 for ( int i = 0; i < noOfFiles; i++ ) {
393 QString entryName; 394 QString entryName;
394 entryName.sprintf( "File%i", i + 1 ); 395 entryName.sprintf( "File%i", i + 1 );
395 QString linkFile = cfg.readEntry( entryName ); 396 QString linkFile = cfg.readEntry( entryName );
396 DocLnk lnk( linkFile ); 397 DocLnk lnk( linkFile );
397 if ( lnk.isValid() ) { 398 if ( lnk.isValid() ) {
398 d->selectedFiles->addToSelection( lnk ); 399 d->selectedFiles->addToSelection( lnk );
399 } 400 }
400 } 401 }
401 d->selectedFiles->setSelectedItem( currentString); 402 d->selectedFiles->setSelectedItem( currentString);
402} 403}
403 404
404 405
405void PlayListWidget::writeConfig( Config& cfg ) const { 406void PlayListWidget::writeConfig( Config& cfg ) const {
406 407
407 d->selectedFiles->writeCurrent( cfg); 408 d->selectedFiles->writeCurrent( cfg);
408 cfg.setGroup("PlayList"); 409 cfg.setGroup("PlayList");
409 int noOfFiles = 0; 410 int noOfFiles = 0;
410 d->selectedFiles->first(); 411 d->selectedFiles->first();
411 do { 412 do {
412 const DocLnk *lnk = d->selectedFiles->current(); 413 const DocLnk *lnk = d->selectedFiles->current();
413 if ( lnk ) { 414 if ( lnk ) {
414 QString entryName; 415 QString entryName;
415 entryName.sprintf( "File%i", noOfFiles + 1 ); 416 entryName.sprintf( "File%i", noOfFiles + 1 );
416// qDebug(entryName); 417// qDebug(entryName);
417 cfg.writeEntry( entryName, lnk->linkFile() ); 418 cfg.writeEntry( entryName, lnk->linkFile() );
418 // if this link does exist, add it so we have the file 419 // if this link does exist, add it so we have the file
419 // next time... 420 // next time...
420 if ( !QFile::exists( lnk->linkFile() ) ) { 421 if ( !QFile::exists( lnk->linkFile() ) ) {
421 // the way writing lnks doesn't really check for out 422 // the way writing lnks doesn't really check for out
422 // of disk space, but check it anyway. 423 // of disk space, but check it anyway.
423 if ( !lnk->writeLink() ) { 424 if ( !lnk->writeLink() ) {
@@ -449,133 +450,140 @@ void PlayListWidget::addToSelection( const DocLnk& lnk ) {
449} 450}
450 451
451 452
452void PlayListWidget::clearList() { 453void PlayListWidget::clearList() {
453 while ( first() ) 454 while ( first() )
454 d->selectedFiles->removeSelected(); 455 d->selectedFiles->removeSelected();
455} 456}
456 457
457 458
458void PlayListWidget::addAllToList() { 459void PlayListWidget::addAllToList() {
459 DocLnkSet filesAll; 460 DocLnkSet filesAll;
460 Global::findDocuments(&filesAll, "video/*;audio/*"); 461 Global::findDocuments(&filesAll, "video/*;audio/*");
461 QListIterator<DocLnk> Adit( filesAll.children() ); 462 QListIterator<DocLnk> Adit( filesAll.children() );
462 for ( ; Adit.current(); ++Adit ) 463 for ( ; Adit.current(); ++Adit )
463 if(QFileInfo(Adit.current()->file()).exists()) 464 if(QFileInfo(Adit.current()->file()).exists())
464 d->selectedFiles->addToSelection( **Adit ); 465 d->selectedFiles->addToSelection( **Adit );
465 tabWidget->setCurrentPage(0); 466 tabWidget->setCurrentPage(0);
466 467
467 writeCurrentM3u(); 468 writeCurrentM3u();
468 d->selectedFiles->first(); 469 d->selectedFiles->first();
469} 470}
470 471
471 472
472void PlayListWidget::addAllMusicToList() { 473void PlayListWidget::addAllMusicToList() {
473 QListIterator<DocLnk> dit( files.children() ); 474 QListIterator<DocLnk> dit( files.children() );
474 for ( ; dit.current(); ++dit ) 475 for ( ; dit.current(); ++dit )
475 if(QFileInfo(dit.current()->file()).exists()) 476 if(QFileInfo(dit.current()->file()).exists())
476 d->selectedFiles->addToSelection( **dit ); 477 d->selectedFiles->addToSelection( **dit );
477 tabWidget->setCurrentPage(0); 478 tabWidget->setCurrentPage(0);
478 479
479 writeCurrentM3u(); 480 writeCurrentM3u();
480 d->selectedFiles->first(); 481 d->selectedFiles->first();
481} 482}
482 483
483 484
484void PlayListWidget::addAllVideoToList() { 485void PlayListWidget::addAllVideoToList() {
485 QListIterator<DocLnk> dit( vFiles.children() ); 486 QListIterator<DocLnk> dit( vFiles.children() );
486 for ( ; dit.current(); ++dit ) 487 for ( ; dit.current(); ++dit )
487 if(QFileInfo( dit.current()->file()).exists()) 488 if(QFileInfo( dit.current()->file()).exists())
488 d->selectedFiles->addToSelection( **dit ); 489 d->selectedFiles->addToSelection( **dit );
489 tabWidget->setCurrentPage(0); 490 tabWidget->setCurrentPage(0);
490 491
491 writeCurrentM3u(); 492 writeCurrentM3u();
492 d->selectedFiles->first(); 493 d->selectedFiles->first();
493} 494}
494 495
495 496
496void PlayListWidget::setDocument(const QString& fileref) { 497void PlayListWidget::setDocument(const QString& fileref) {
497 qDebug(fileref); 498 fromSetDocument = true;
498 fromSetDocument = TRUE; 499 d->setDocumentUsed = TRUE;
500 mediaPlayerState->setPlaying( FALSE );
501 qApp->processEvents();
502 mediaPlayerState->setPlaying( TRUE );
503}
504
505void PlayListWidget::setDocumentEx(const QString& fileref) {
506
499 QFileInfo fileInfo(fileref); 507 QFileInfo fileInfo(fileref);
500 if ( !fileInfo.exists() ) { 508 if ( !fileInfo.exists() ) {
501 QMessageBox::critical( 0, tr( "Invalid File" ), 509 QMessageBox::critical( 0, tr( "Invalid File" ),
502 tr( "There was a problem in getting the file." ) ); 510 tr( "There was a problem in getting the file." ) );
503 return; 511 return;
504 } 512 }
505// qDebug("setDocument "+fileref); 513 qDebug("setDocument "+fileref);
506 QString extension = fileInfo.extension(false); 514 QString extension = fileInfo.extension(false);
507 if( extension.find( "m3u", 0, false) != -1) { //is m3u 515 if( extension.find( "m3u", 0, false) != -1) { //is m3u
508 readm3u( fileref); 516 readm3u( fileref);
509 } 517 }
510 else if( extension.find( "pls", 0, false) != -1 ) { //is pls 518 else if( extension.find( "pls", 0, false) != -1 ) { //is pls
511 readPls( fileref); 519 readPls( fileref);
512 } 520 }
513 else if( fileref.find("playlist",0,TRUE) != -1) {//is playlist 521 else if( fileref.find("playlist",0,TRUE) != -1) {//is playlist
514 clearList(); 522 clearList();
515 DocLnk lnk; 523 DocLnk lnk;
516 lnk.setName( fileInfo.baseName() ); //sets name 524 lnk.setName( fileInfo.baseName() ); //sets name
517 lnk.setFile( fileref ); //sets file name 525 lnk.setFile( fileref ); //sets file name
518 //addToSelection( lnk ); 526 //addToSelection( lnk );
519 527
520 loadList( lnk); 528 loadList( lnk);
521 d->selectedFiles->first(); 529 d->selectedFiles->first();
522 } else { 530 } else {
523 clearList(); 531 clearList();
524 DocLnk lnk; 532 DocLnk lnk;
525 lnk.setName( fileInfo.baseName() ); //sets name 533 lnk.setName( fileInfo.baseName() ); //sets name
526 lnk.setFile( fileref ); //sets file name 534 lnk.setFile( fileref ); //sets file name
527 addToSelection( lnk ); 535 addToSelection( lnk );
528// addToSelection( DocLnk( fileref ) ); 536// addToSelection( DocLnk( fileref ) );
529 d->setDocumentUsed = TRUE; 537 d->setDocumentUsed = TRUE;
530 mediaPlayerState->setPlaying( FALSE ); 538 mediaPlayerState->setPlaying( FALSE );
531 qApp->processEvents(); 539 qApp->processEvents();
532 mediaPlayerState->setPlaying( TRUE ); 540 mediaPlayerState->setPlaying( TRUE );
533 qApp->processEvents(); 541 // qApp->processEvents();
534 setCaption(tr("OpiePlayer")); 542 setCaption(tr("OpiePlayer"));
535 } 543 }
536} 544}
537 545
538 546
539void PlayListWidget::setActiveWindow() { 547void PlayListWidget::setActiveWindow() {
540 qDebug("SETTING active window"); 548 qDebug("SETTING active window");
541 549
542 // When we get raised we need to ensure that it switches views 550 // When we get raised we need to ensure that it switches views
543 char origView = mediaPlayerState->view(); 551 char origView = mediaPlayerState->view();
544 mediaPlayerState->setView( 'l' ); // invalidate 552 mediaPlayerState->setView( 'l' ); // invalidate
545 mediaPlayerState->setView( origView ); // now switch back 553 mediaPlayerState->setView( origView ); // now switch back
546} 554}
547 555
548 556
549void PlayListWidget::useSelectedDocument() { 557void PlayListWidget::useSelectedDocument() {
550 d->setDocumentUsed = FALSE; 558 d->setDocumentUsed = FALSE;
551} 559}
552 560
553 561
554const DocLnk *PlayListWidget::current() { // this is fugly 562const DocLnk *PlayListWidget::current() { // this is fugly
555 563
556// if( fromSetDocument) { 564// if( fromSetDocument) {
557// qDebug("from setDoc"); 565// qDebug("from setDoc");
558// DocLnkSet files; 566// DocLnkSet files;
559// Global::findDocuments(&files, "video/*;audio/*"); 567// Global::findDocuments(&files, "video/*;audio/*");
560// QListIterator<DocLnk> dit( files.children() ); 568// QListIterator<DocLnk> dit( files.children() );
561// for ( ; dit.current(); ++dit ) { 569// for ( ; dit.current(); ++dit ) {
562// if(dit.current()->linkFile() == setDocFileRef) { 570// if(dit.current()->linkFile() == setDocFileRef) {
563// qDebug(setDocFileRef); 571// qDebug(setDocFileRef);
564// return dit; 572// return dit;
565// } 573// }
566// } 574// }
567// } else 575// } else
568 576
569 qDebug("current"); 577 qDebug("current");
570 578
571 switch (tabWidget->currentPageIndex()) { 579 switch (tabWidget->currentPageIndex()) {
572 case 0: //playlist 580 case 0: //playlist
573 { 581 {
574 qDebug("playlist"); 582 qDebug("playlist");
575 if ( mediaPlayerState->playlist() ) { 583 if ( mediaPlayerState->playlist() ) {
576 return d->selectedFiles->current(); 584 return d->selectedFiles->current();
577 } 585 }
578 else if ( d->setDocumentUsed && d->current ) { 586 else if ( d->setDocumentUsed && d->current ) {
579 return d->current; 587 return d->current;
580 } else { 588 } else {
581 return &(d->files->selectedDocument()); 589 return &(d->files->selectedDocument());
@@ -714,202 +722,203 @@ void PlayListWidget::addSelected() {
714 switch (tabWidget->currentPageIndex()) { 722 switch (tabWidget->currentPageIndex()) {
715 723
716 case 0: //playlist 724 case 0: //playlist
717 return; 725 return;
718 break; 726 break;
719 case 1: { //audio 727 case 1: { //audio
720 QListViewItemIterator it( audioView ); 728 QListViewItemIterator it( audioView );
721 for ( ; it.current(); ++it ) { 729 for ( ; it.current(); ++it ) {
722 if ( it.current()->isSelected() ) { 730 if ( it.current()->isSelected() ) {
723 filename = it.current()->text(3); 731 filename = it.current()->text(3);
724 lnk.setName( QFileInfo(filename).baseName() ); //sets name 732 lnk.setName( QFileInfo(filename).baseName() ); //sets name
725 lnk.setFile( filename ); //sets file name 733 lnk.setFile( filename ); //sets file name
726 d->selectedFiles->addToSelection( lnk); 734 d->selectedFiles->addToSelection( lnk);
727 } 735 }
728 } 736 }
729 audioView->clearSelection(); 737 audioView->clearSelection();
730 // d->selectedFiles->next(); 738 // d->selectedFiles->next();
731 } 739 }
732 break; 740 break;
733 741
734 case 2: { // video 742 case 2: { // video
735 QListViewItemIterator it( videoView ); 743 QListViewItemIterator it( videoView );
736 for ( ; it.current(); ++it ) { 744 for ( ; it.current(); ++it ) {
737 if ( it.current()->isSelected() ) { 745 if ( it.current()->isSelected() ) {
738 746
739 filename = it.current()->text(3); 747 filename = it.current()->text(3);
740 lnk.setName( QFileInfo(filename).baseName() ); //sets name 748 lnk.setName( QFileInfo(filename).baseName() ); //sets name
741 lnk.setFile( filename ); //sets file name 749 lnk.setFile( filename ); //sets file name
742 d->selectedFiles->addToSelection( lnk); 750 d->selectedFiles->addToSelection( lnk);
743 } 751 }
744 } 752 }
745 videoView->clearSelection(); 753 videoView->clearSelection();
746 } 754 }
747 break; 755 break;
748 }; 756 };
749// tabWidget->setCurrentPage(0); 757// tabWidget->setCurrentPage(0);
750 writeCurrentM3u(); 758 writeCurrentM3u();
751 759
752} 760}
753 761
754void PlayListWidget::removeSelected() { 762void PlayListWidget::removeSelected() {
755 d->selectedFiles->removeSelected( ); 763 d->selectedFiles->removeSelected( );
756} 764}
757 765
758void PlayListWidget::playIt( QListViewItem *) { 766void PlayListWidget::playIt( QListViewItem *) {
759// d->setDocumentUsed = FALSE; 767// d->setDocumentUsed = FALSE;
760// mediaPlayerState->curPosition =0; 768// mediaPlayerState->curPosition =0;
761 qDebug("playIt"); 769 qDebug("playIt");
762 mediaPlayerState->setPlaying(FALSE); 770 // mediaPlayerState->setPlaying(FALSE);
763 mediaPlayerState->setPlaying(TRUE); 771 mediaPlayerState->setPlaying(TRUE);
764 d->selectedFiles->unSelect(); 772 d->selectedFiles->unSelect();
765} 773}
766 774
767void PlayListWidget::addToSelection( QListViewItem *it) { 775void PlayListWidget::addToSelection( QListViewItem *it) {
768 d->setDocumentUsed = FALSE; 776 d->setDocumentUsed = FALSE;
769 777
770 if(it) { 778 if(it) {
771 switch ( tabWidget->currentPageIndex()) { 779 switch ( tabWidget->currentPageIndex()) {
772 case 0: //playlist 780 case 0: //playlist
773 return; 781 return;
774 break; 782 break;
775 }; 783 };
776 // case 1: { 784 // case 1: {
777 DocLnk lnk; 785 DocLnk lnk;
778 QString filename; 786 QString filename;
779 787
780 filename=it->text(3); 788 filename=it->text(3);
781 lnk.setName( fullBaseName ( QFileInfo(filename)) ); //sets name 789 lnk.setName( fullBaseName ( QFileInfo(filename)) ); //sets name
782 lnk.setFile( filename ); //sets file name 790 lnk.setFile( filename ); //sets file name
783 d->selectedFiles->addToSelection( lnk); 791 d->selectedFiles->addToSelection( lnk);
784 792
785 writeCurrentM3u(); 793 if(tabWidget->currentPageIndex() == 0)
794 writeCurrentM3u();
786// tabWidget->setCurrentPage(0); 795// tabWidget->setCurrentPage(0);
787 796
788 } 797 }
789} 798}
790 799
791void PlayListWidget::tabChanged(QWidget *) { 800void PlayListWidget::tabChanged(QWidget *) {
792 801
793 switch ( tabWidget->currentPageIndex()) { 802 switch ( tabWidget->currentPageIndex()) {
794 case 0: 803 case 0:
795 { 804 {
796 if( !tbDeletePlaylist->isHidden()) 805 if( !tbDeletePlaylist->isHidden())
797 tbDeletePlaylist->hide(); 806 tbDeletePlaylist->hide();
798 d->tbRemoveFromList->setEnabled(TRUE); 807 d->tbRemoveFromList->setEnabled(TRUE);
799 d->tbAddToList->setEnabled(FALSE); 808 d->tbAddToList->setEnabled(FALSE);
800 } 809 }
801 break; 810 break;
802 case 1: 811 case 1:
803 { 812 {
804 audioView->clear(); 813 audioView->clear();
805 populateAudioView(); 814 populateAudioView();
806 815
807 if( !tbDeletePlaylist->isHidden()) 816 if( !tbDeletePlaylist->isHidden())
808 tbDeletePlaylist->hide(); 817 tbDeletePlaylist->hide();
809 d->tbRemoveFromList->setEnabled(FALSE); 818 d->tbRemoveFromList->setEnabled(FALSE);
810 d->tbAddToList->setEnabled(TRUE); 819 d->tbAddToList->setEnabled(TRUE);
811 } 820 }
812 break; 821 break;
813 case 2: 822 case 2:
814 { 823 {
815 videoView->clear(); 824 videoView->clear();
816 populateVideoView(); 825 populateVideoView();
817 if( !tbDeletePlaylist->isHidden()) 826 if( !tbDeletePlaylist->isHidden())
818 tbDeletePlaylist->hide(); 827 tbDeletePlaylist->hide();
819 d->tbRemoveFromList->setEnabled(FALSE); 828 d->tbRemoveFromList->setEnabled(FALSE);
820 d->tbAddToList->setEnabled(TRUE); 829 d->tbAddToList->setEnabled(TRUE);
821 } 830 }
822 break; 831 break;
823 case 3: 832 case 3:
824 { 833 {
825 if( tbDeletePlaylist->isHidden()) 834 if( tbDeletePlaylist->isHidden())
826 tbDeletePlaylist->show(); 835 tbDeletePlaylist->show();
827 playLists->reread(); 836 playLists->reread();
828 } 837 }
829 break; 838 break;
830 }; 839 };
831} 840}
832 841
833void PlayListWidget::btnPlay(bool b) { 842void PlayListWidget::btnPlay(bool b) {
834 qDebug("<<<<<<<<<<<<<<<BtnPlay"); 843 qDebug("<<<<<<<<<<<<<<<BtnPlay %d", b);
835// mediaPlayerState->setPlaying(b); 844// mediaPlayerState->setPlaying(b);
836 switch ( tabWidget->currentPageIndex()) { 845 switch ( tabWidget->currentPageIndex()) {
837 case 0: 846 case 0:
838 { 847 {
839 qDebug("1"); 848 qDebug("1");
840// if( d->selectedFiles->current()->file().find(" ",0,TRUE) != -1 849// if( d->selectedFiles->current()->file().find(" ",0,TRUE) != -1
841// if( d->selectedFiles->current()->file().find("%20",0,TRUE) != -1) { 850// if( d->selectedFiles->current()->file().find("%20",0,TRUE) != -1) {
842// QMessageBox::message("Note","You are trying to play\na malformed url."); 851// QMessageBox::message("Note","You are trying to play\na malformed url.");
843// } else { 852// } else {
844 mediaPlayerState->setPlaying(b); 853 mediaPlayerState->setPlaying(b);
845 insanityBool=FALSE; 854 insanityBool=FALSE;
846 qDebug("insanity"); 855 qDebug("insanity");
847// } 856// }
848 } 857 }
849 break; 858 break;
850 case 1: 859 case 1:
851 { 860 {
852 qDebug("2"); 861 qDebug("2");
853// d->selectedFiles->unSelect(); 862// d->selectedFiles->unSelect();
854 addToSelection( audioView->currentItem() ); 863 addToSelection( audioView->currentItem() );
855 mediaPlayerState->setPlaying(true); 864 mediaPlayerState->setPlaying( b);
856 d->selectedFiles->removeSelected( ); 865 d->selectedFiles->removeSelected( );
857 d->selectedFiles->unSelect(); 866 d->selectedFiles->unSelect();
858 tabWidget->setCurrentPage(1); 867 tabWidget->setCurrentPage(1);
859 insanityBool=FALSE; 868 insanityBool=FALSE;
860 }// audioView->clearSelection(); 869 }// audioView->clearSelection();
861 break; 870 break;
862 case 2: 871 case 2:
863 { 872 {
864 qDebug("3"); 873 qDebug("3");
865 874
866 addToSelection( videoView->currentItem() ); 875 addToSelection( videoView->currentItem() );
867 mediaPlayerState->setPlaying(true); 876 mediaPlayerState->setPlaying( b);
868// qApp->processEvents(); 877// qApp->processEvents();
869 d->selectedFiles->removeSelected( ); 878 d->selectedFiles->removeSelected( );
870 d->selectedFiles->unSelect(); 879 d->selectedFiles->unSelect();
871 tabWidget->setCurrentPage(2); 880 tabWidget->setCurrentPage(2);
872 insanityBool=FALSE; 881 insanityBool=FALSE;
873 }// videoView->clearSelection(); 882 }// videoView->clearSelection();
874 break; 883 break;
875 }; 884 };
876 885
877} 886}
878 887
879void PlayListWidget::deletePlaylist() { 888void PlayListWidget::deletePlaylist() {
880 switch( QMessageBox::information( this, (tr("Remove Playlist?")), 889 switch( QMessageBox::information( this, (tr("Remove Playlist?")),
881 (tr("You really want to delete\nthis playlist?")), 890 (tr("You really want to delete\nthis playlist?")),
882 (tr("Yes")), (tr("No")), 0 )){ 891 (tr("Yes")), (tr("No")), 0 )){
883 case 0: // Yes clicked, 892 case 0: // Yes clicked,
884 QFile().remove(playLists->selectedDocument().file()); 893 QFile().remove(playLists->selectedDocument().file());
885 QFile().remove(playLists->selectedDocument().linkFile()); 894 QFile().remove(playLists->selectedDocument().linkFile());
886 playLists->reread(); 895 playLists->reread();
887 break; 896 break;
888 case 1: // Cancel 897 case 1: // Cancel
889 break; 898 break;
890 }; 899 };
891} 900}
892 901
893void PlayListWidget::viewPressed( int mouse, QListViewItem *, const QPoint&, int ) 902void PlayListWidget::viewPressed( int mouse, QListViewItem *, const QPoint&, int )
894{ 903{
895 switch (mouse) { 904 switch (mouse) {
896 case 1: 905 case 1:
897 break; 906 break;
898 case 2:{ 907 case 2:{
899 908
900 QPopupMenu m; 909 QPopupMenu m;
901 m.insertItem( tr( "Play" ), this, SLOT( playSelected() )); 910 m.insertItem( tr( "Play" ), this, SLOT( playSelected() ));
902 m.insertItem( tr( "Add to Playlist" ), this, SLOT( addSelected() )); 911 m.insertItem( tr( "Add to Playlist" ), this, SLOT( addSelected() ));
903 m.insertSeparator(); 912 m.insertSeparator();
904 if( QFile(QPEApplication::qpeDir()+"lib/libopie.so").exists() ) 913 if( QFile(QPEApplication::qpeDir()+"lib/libopie.so").exists() )
905 m.insertItem( tr( "Properties" ), this, SLOT( listDelete() )); 914 m.insertItem( tr( "Properties" ), this, SLOT( listDelete() ));
906 915
907 m.exec( QCursor::pos() ); 916 m.exec( QCursor::pos() );
908 } 917 }
909 break; 918 break;
910 }; 919 };
911} 920}
912 921
913void PlayListWidget::playSelected() 922void PlayListWidget::playSelected()
914{ 923{
915 qDebug("playSelected"); 924 qDebug("playSelected");
@@ -1414,81 +1423,83 @@ void PlayListWidget::populateSkinsMenu() {
1414 defaultSkinIndex = 0; 1423 defaultSkinIndex = 0;
1415 QString skinName; 1424 QString skinName;
1416 Config cfg( "OpiePlayer" ); 1425 Config cfg( "OpiePlayer" );
1417 cfg.setGroup("Options" ); 1426 cfg.setGroup("Options" );
1418 QString skin = cfg.readEntry( "Skin", "default" ); 1427 QString skin = cfg.readEntry( "Skin", "default" );
1419 1428
1420 QDir skinsDir( QPEApplication::qpeDir() + "/pics/opieplayer2/skins" ); 1429 QDir skinsDir( QPEApplication::qpeDir() + "/pics/opieplayer2/skins" );
1421 skinsDir.setFilter( QDir::Dirs ); 1430 skinsDir.setFilter( QDir::Dirs );
1422 skinsDir.setSorting(QDir::Name ); 1431 skinsDir.setSorting(QDir::Name );
1423 const QFileInfoList *skinslist = skinsDir.entryInfoList(); 1432 const QFileInfoList *skinslist = skinsDir.entryInfoList();
1424 QFileInfoListIterator it( *skinslist ); 1433 QFileInfoListIterator it( *skinslist );
1425 QFileInfo *fi; 1434 QFileInfo *fi;
1426 while ( ( fi = it.current() ) ) { 1435 while ( ( fi = it.current() ) ) {
1427 skinName = fi->fileName(); 1436 skinName = fi->fileName();
1428// qDebug( fi->fileName() ); 1437// qDebug( fi->fileName() );
1429 if( skinName != "." && skinName != ".." && skinName !="CVS" ) { 1438 if( skinName != "." && skinName != ".." && skinName !="CVS" ) {
1430 item = skinsMenu->insertItem( fi->fileName() ) ; 1439 item = skinsMenu->insertItem( fi->fileName() ) ;
1431 } 1440 }
1432 if( skinName == "default" ) { 1441 if( skinName == "default" ) {
1433 defaultSkinIndex = item; 1442 defaultSkinIndex = item;
1434 } 1443 }
1435 if( skinName == skin ) { 1444 if( skinName == skin ) {
1436 skinsMenu->setItemChecked( item, TRUE ); 1445 skinsMenu->setItemChecked( item, TRUE );
1437 } 1446 }
1438 ++it; 1447 ++it;
1439 } 1448 }
1440} 1449}
1441 1450
1442void PlayListWidget::skinsMenuActivated( int item ) { 1451void PlayListWidget::skinsMenuActivated( int item ) {
1443 for( int i = defaultSkinIndex; i > defaultSkinIndex - skinsMenu->count(); i-- ) { 1452 for( int i = defaultSkinIndex; i > defaultSkinIndex - skinsMenu->count(); i-- ) {
1444 skinsMenu->setItemChecked( i, FALSE ); 1453 skinsMenu->setItemChecked( i, FALSE );
1445 } 1454 }
1446 skinsMenu->setItemChecked( item, TRUE ); 1455 skinsMenu->setItemChecked( item, TRUE );
1447 1456
1448 Config cfg( "OpiePlayer" ); 1457 Config cfg( "OpiePlayer" );
1449 cfg.setGroup("Options"); 1458 cfg.setGroup("Options");
1450 cfg.writeEntry("Skin", skinsMenu->text( item ) ); 1459 cfg.writeEntry("Skin", skinsMenu->text( item ) );
1451} 1460}
1452 1461
1453void PlayListWidget::qcopReceive(const QCString &msg, const QByteArray &data) { 1462void PlayListWidget::qcopReceive(const QCString &msg, const QByteArray &data) {
1454 qDebug("qcop message "+msg ); 1463 qDebug("qcop message "+msg );
1455 QDataStream stream ( data, IO_ReadOnly ); 1464 QDataStream stream ( data, IO_ReadOnly );
1456 if ( msg == "play()" ) { //plays current selection 1465 if ( msg == "play()" ) { //plays current selection
1457 btnPlay( true); 1466 btnPlay( true);
1458 } else if ( msg == "stop()" ) { 1467 } else if ( msg == "stop()" ) {
1459 mediaPlayerState->setPlaying( false); 1468 mediaPlayerState->setPlaying( false);
1460 } else if ( msg == "togglePause()" ) { 1469 } else if ( msg == "togglePause()" ) {
1461 mediaPlayerState->togglePaused(); 1470 mediaPlayerState->togglePaused();
1462 } else if ( msg == "next()" ) { //select next in list 1471 } else if ( msg == "next()" ) { //select next in lis
1463 mediaPlayerState->setNext(); 1472 mediaPlayerState->setNext();
1464 } else if ( msg == "prev()" ) { //select previous in list 1473 } else if ( msg == "prev()" ) { //select previous in list
1465 mediaPlayerState->setPrev(); 1474 mediaPlayerState->setPrev();
1466 } else if ( msg == "toggleLooping()" ) { //loop or not loop 1475 } else if ( msg == "toggleLooping()" ) { //loop or not loop
1467 mediaPlayerState->toggleLooping(); 1476 mediaPlayerState->toggleLooping();
1468 } else if ( msg == "toggleShuffled()" ) { //shuffled or not shuffled 1477 } else if ( msg == "toggleShuffled()" ) { //shuffled or not shuffled
1469 mediaPlayerState->toggleShuffled(); 1478 mediaPlayerState->toggleShuffled();
1470 } else if ( msg == "volUp()" ) { //volume more 1479 } else if ( msg == "volUp()" ) { //volume more
1471// emit moreClicked(); 1480// emit moreClicked();
1472// emit moreReleased(); 1481// emit moreReleased();
1473 } else if ( msg == "volDown()" ) { //volume less 1482 } else if ( msg == "volDown()" ) { //volume less
1474// emit lessClicked(); 1483// emit lessClicked();
1475// emit lessReleased(); 1484// emit lessReleased();
1476 } else if ( msg == "play(QString)" ) { //play this now 1485 } else if ( msg == "play(QString)" ) { //play this now
1477 QString file; 1486 QString file;
1478 stream >> file; 1487 stream >> file;
1479 setDocument( (const QString &) file); 1488 setDocumentEx( (const QString &) file);
1480 } else if ( msg == "add(QString)" ) { //add to playlist 1489 } else if ( msg == "add(QString)" ) { //add to playlist
1481 QString file; 1490 QString file;
1482 stream >> file; 1491 stream >> file;
1483 QFileInfo fileInfo(file); 1492 QFileInfo fileInfo(file);
1484 DocLnk lnk; 1493 DocLnk lnk;
1485 lnk.setName( fileInfo.baseName() ); //sets name 1494 lnk.setName( fileInfo.baseName() ); //sets name
1486 lnk.setFile( file ); //sets file name 1495 lnk.setFile( file ); //sets file name
1487 addToSelection( lnk ); 1496 addToSelection( lnk );
1488 } else if ( msg == "rem(QString)" ) { //remove from playlist 1497 } else if ( msg == "rem(QString)" ) { //remove from playlist
1489 QString file; 1498 QString file;
1490 stream >> file; 1499 stream >> file;
1491 1500
1501 } else if ( msg == "setDocument(QString)" ) { //loop or not loop
1502 QCopEnvelope h("QPE/Application/opieplayer", "raise()");
1492 } 1503 }
1493 1504
1494} 1505}
diff --git a/core/multimedia/opieplayer/playlistwidget.h b/core/multimedia/opieplayer/playlistwidget.h
index e66bcb9..0c0e367 100644
--- a/core/multimedia/opieplayer/playlistwidget.h
+++ b/core/multimedia/opieplayer/playlistwidget.h
@@ -57,81 +57,82 @@ public:
57 QString setDocFileRef, currentPlayList; 57 QString setDocFileRef, currentPlayList;
58 // retrieve the current playlist entry (media file link) 58 // retrieve the current playlist entry (media file link)
59 const DocLnk *current(); 59 const DocLnk *current();
60 void useSelectedDocument(); 60 void useSelectedDocument();
61/* QTimer * menuTimer; */ 61/* QTimer * menuTimer; */
62 FileSelector* playLists; 62 FileSelector* playLists;
63 QPushButton *tbDeletePlaylist; 63 QPushButton *tbDeletePlaylist;
64 int fd, selected; 64 int fd, selected;
65public slots: 65public slots:
66 bool first(); 66 bool first();
67 bool last(); 67 bool last();
68 bool next(); 68 bool next();
69 bool prev(); 69 bool prev();
70/* void setFullScreen(); */ 70/* void setFullScreen(); */
71/* void setScaled(); */ 71/* void setScaled(); */
72protected: 72protected:
73 QCopChannel * channel; 73 QCopChannel * channel;
74 QPopupMenu *skinsMenu; 74 QPopupMenu *skinsMenu;
75/* void contentsMousePressEvent( QMouseEvent * e ); */ 75/* void contentsMousePressEvent( QMouseEvent * e ); */
76/* void contentsMouseReleaseEvent( QMouseEvent * e ); */ 76/* void contentsMouseReleaseEvent( QMouseEvent * e ); */
77void keyReleaseEvent( QKeyEvent *e); 77void keyReleaseEvent( QKeyEvent *e);
78void keyPressEvent( QKeyEvent *e); 78void keyPressEvent( QKeyEvent *e);
79private: 79private:
80 int defaultSkinIndex; 80 int defaultSkinIndex;
81 bool audioScan, videoScan; 81 bool audioScan, videoScan;
82 void doBlank(); 82 void doBlank();
83 void doUnblank(); 83 void doUnblank();
84 void readm3u(const QString &); 84 void readm3u(const QString &);
85 void readPls(const QString &); 85 void readPls(const QString &);
86 86
87 87
88 void initializeStates(); 88 void initializeStates();
89 void readConfig( Config& cfg ); 89 void readConfig( Config& cfg );
90 void writeConfig( Config& cfg ) const; 90 void writeConfig( Config& cfg ) const;
91 PlayListWidgetPrivate *d; // Private implementation data 91 PlayListWidgetPrivate *d; // Private implementation data
92 void populateAudioView(); 92 void populateAudioView();
93 void populateVideoView(); 93 void populateVideoView();
94private slots: 94private slots:
95 95
96 void qcopReceive(const QCString&, const QByteArray&); 96 void qcopReceive(const QCString&, const QByteArray&);
97 void populateSkinsMenu(); 97 void populateSkinsMenu();
98 void skinsMenuActivated(int); 98 void skinsMenuActivated(int);
99 void writem3u(); 99 void writem3u();
100 void writeCurrentM3u(); 100 void writeCurrentM3u();
101 void scanForAudio(); 101 void scanForAudio();
102 void scanForVideo(); 102 void scanForVideo();
103 void openFile(); 103 void openFile();
104 void setDocument( const QString& fileref ); 104 void setDocument( const QString& fileref );
105 void setDocumentEx( const QString& fileref );
105 void addToSelection( const DocLnk& ); // Add a media file to the playlist 106 void addToSelection( const DocLnk& ); // Add a media file to the playlist
106 void addToSelection( QListViewItem* ); // Add a media file to the playlist 107 void addToSelection( QListViewItem* ); // Add a media file to the playlist
107 void setActiveWindow(); // need to handle this to show the right view 108 void setActiveWindow(); // need to handle this to show the right view
108 void setPlaylist( bool ); // Show/Hide the playlist 109 void setPlaylist( bool ); // Show/Hide the playlist
109 void setView( char ); 110 void setView( char );
110 void clearList(); 111 void clearList();
111 void addAllToList(); 112 void addAllToList();
112 void addAllMusicToList(); 113 void addAllMusicToList();
113 void addAllVideoToList(); 114 void addAllVideoToList();
114 void saveList(); // Save the playlist 115 void saveList(); // Save the playlist
115 void loadList( const DocLnk &); // Load a playlist 116 void loadList( const DocLnk &); // Load a playlist
116 void playIt( QListViewItem *); 117 void playIt( QListViewItem *);
117 118
118 void btnPlay(bool); 119 void btnPlay(bool);
119 void deletePlaylist(); 120 void deletePlaylist();
120 void addSelected(); 121 void addSelected();
121 void removeSelected(); 122 void removeSelected();
122 void tabChanged(QWidget*); 123 void tabChanged(QWidget*);
123 void viewPressed( int, QListViewItem *, const QPoint&, int); 124 void viewPressed( int, QListViewItem *, const QPoint&, int);
124 void playlistViewPressed( int, QListViewItem *, const QPoint&, int); 125 void playlistViewPressed( int, QListViewItem *, const QPoint&, int);
125 void playSelected(); 126 void playSelected();
126 void listDelete(); 127 void listDelete();
127 128
128protected slots: 129protected slots:
129/* void cancelMenuTimer(); */ 130/* void cancelMenuTimer(); */
130/* void showFileMenu(); */ 131/* void showFileMenu(); */
131 132
132 133
133}; 134};
134 135
135 136
136#endif // PLAY_LIST_WIDGET_H 137#endif // PLAY_LIST_WIDGET_H
137 138