summaryrefslogtreecommitdiff
path: root/core/multimedia/opieplayer/playlistwidget.cpp
Unidiff
Diffstat (limited to 'core/multimedia/opieplayer/playlistwidget.cpp') (more/less context) (show whitespace changes)
-rw-r--r--core/multimedia/opieplayer/playlistwidget.cpp135
1 files changed, 105 insertions, 30 deletions
diff --git a/core/multimedia/opieplayer/playlistwidget.cpp b/core/multimedia/opieplayer/playlistwidget.cpp
index 524747e..cf665c8 100644
--- a/core/multimedia/opieplayer/playlistwidget.cpp
+++ b/core/multimedia/opieplayer/playlistwidget.cpp
@@ -103,12 +103,13 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
103 : QMainWindow( parent, name, fl ) { 103 : QMainWindow( parent, name, fl ) {
104 104
105 d = new PlayListWidgetPrivate; 105 d = new PlayListWidgetPrivate;
106 d->setDocumentUsed = FALSE; 106 d->setDocumentUsed = FALSE;
107 d->current = NULL; 107 d->current = NULL;
108 fromSetDocument = FALSE; 108 fromSetDocument = FALSE;
109 insanityBool=FALSE;
109// menuTimer = new QTimer( this ,"menu timer"), 110// menuTimer = new QTimer( this ,"menu timer"),
110// connect( menuTimer, SIGNAL( timeout() ), SLOT( addSelected() ) ); 111// connect( menuTimer, SIGNAL( timeout() ), SLOT( addSelected() ) );
111 112
112 setBackgroundMode( PaletteButton ); 113 setBackgroundMode( PaletteButton );
113 114
114 setCaption( tr("OpiePlayer") ); 115 setCaption( tr("OpiePlayer") );
@@ -203,15 +204,15 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
203 QVBox *stretch2 = new QVBox( vbox1 ); stretch2->setBackgroundMode( PaletteButton ); // add stretch 204 QVBox *stretch2 = new QVBox( vbox1 ); stretch2->setBackgroundMode( PaletteButton ); // add stretch
204 205
205 QWidget *aTab; 206 QWidget *aTab;
206 aTab = new QWidget( tabWidget, "aTab" ); 207 aTab = new QWidget( tabWidget, "aTab" );
207 audioView = new QListView( aTab, "Audioview" ); 208 audioView = new QListView( aTab, "Audioview" );
208 audioView->setMinimumSize(233,260); 209 audioView->setMinimumSize(233,260);
209 audioView->addColumn( "Title",150); 210 audioView->addColumn( "Title",140);
210 audioView->addColumn("Size", 45); 211 audioView->addColumn("Size", -1);
211 audioView->addColumn("Media",35); 212 audioView->addColumn("Media",-1);
212 audioView->setColumnAlignment(1, Qt::AlignRight); 213 audioView->setColumnAlignment(1, Qt::AlignRight);
213 audioView->setColumnAlignment(2, Qt::AlignRight); 214 audioView->setColumnAlignment(2, Qt::AlignRight);
214 audioView->setAllColumnsShowFocus(TRUE); 215 audioView->setAllColumnsShowFocus(TRUE);
215 tabWidget->insertTab(aTab,"Audio"); 216 tabWidget->insertTab(aTab,"Audio");
216 217
217 QPEApplication::setStylusOperation( audioView->viewport(),QPEApplication::RightOnHold); 218 QPEApplication::setStylusOperation( audioView->viewport(),QPEApplication::RightOnHold);
@@ -238,15 +239,15 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
238 239
239 QWidget *vTab; 240 QWidget *vTab;
240 vTab = new QWidget( tabWidget, "vTab" ); 241 vTab = new QWidget( tabWidget, "vTab" );
241 videoView = new QListView( vTab, "Videoview" ); 242 videoView = new QListView( vTab, "Videoview" );
242 videoView->setMinimumSize(233,260); 243 videoView->setMinimumSize(233,260);
243 244
244 videoView->addColumn("Title",150); 245 videoView->addColumn("Title",140);
245 videoView->addColumn("Size",45); 246 videoView->addColumn("Size",-1);
246 videoView->addColumn("Media",35); 247 videoView->addColumn("Media",-1);
247 videoView->setColumnAlignment(1, Qt::AlignRight); 248 videoView->setColumnAlignment(1, Qt::AlignRight);
248 videoView->setColumnAlignment(2, Qt::AlignRight); 249 videoView->setColumnAlignment(2, Qt::AlignRight);
249 videoView->setAllColumnsShowFocus(TRUE); 250 videoView->setAllColumnsShowFocus(TRUE);
250 QPEApplication::setStylusOperation( videoView->viewport(),QPEApplication::RightOnHold); 251 QPEApplication::setStylusOperation( videoView->viewport(),QPEApplication::RightOnHold);
251 connect( videoView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 252 connect( videoView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
252 this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) ); 253 this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) );
@@ -483,44 +484,56 @@ const DocLnk *PlayListWidget::current() { // this is fugly
483// if(dit.current()->linkFile() == setDocFileRef) { 484// if(dit.current()->linkFile() == setDocFileRef) {
484// qDebug(setDocFileRef); 485// qDebug(setDocFileRef);
485// return dit; 486// return dit;
486// } 487// }
487// } 488// }
488// } else 489// } else
489 switch (tabWidget->currentPageIndex()) { 490// qDebug("current");
490 case 0: //playlist 491// switch (tabWidget->currentPageIndex()) {
491 { 492// case 0: //playlist
493// {
494 qDebug("playlist");
492 if ( mediaPlayerState->playlist() ) { 495 if ( mediaPlayerState->playlist() ) {
493 return d->selectedFiles->current(); 496 return d->selectedFiles->current();
494 } 497 }
495 else if ( d->setDocumentUsed && d->current ) { 498 else if ( d->setDocumentUsed && d->current ) {
496 return d->current; 499 return d->current;
497 } else { 500 } else {
498 return d->files->selected(); 501 return d->files->selected();
499 } 502 }
500 } 503// }
501 break; 504// break;
502 case 1: { //audio 505// case 1://audio
503 Global::findDocuments(&files, "audio/*"); 506// {
504 QListIterator<DocLnk> dit( files.children() ); 507// qDebug("audioView");
505 for ( ; dit.current(); ++dit ) { 508// Global::findDocuments(&files, "audio/*");
506 if( dit.current()->name() == audioView->currentItem()->text(0)) 509// QListIterator<DocLnk> dit( files.children() );
507 return dit; 510// for ( ; dit.current(); ++dit ) {
508 } 511// if( dit.current()->name() == audioView->currentItem()->text(0) && !insanityBool) {
509 } 512// qDebug("here");
510 break; 513// insanityBool=TRUE;
511 case 2: { // video 514// return dit;
512 Global::findDocuments(&vFiles, "video/*"); 515// }
513 QListIterator<DocLnk> Vdit( vFiles.children() ); 516// }
514 for ( ; Vdit.current(); ++Vdit ) { 517// }
515 if( Vdit.current()->name() == videoView->currentItem()->text(0)) 518// break;
516 return Vdit; 519// case 2: // video
517 } 520// {
518 } 521// qDebug("videoView");
519 break; 522// Global::findDocuments(&vFiles, "video/*");
520 }; 523// QListIterator<DocLnk> Vdit( vFiles.children() );
524// for ( ; Vdit.current(); ++Vdit ) {
525// if( Vdit.current()->name() == videoView->currentItem()->text(0) && !insanityBool) {
526// insanityBool=TRUE;
527// return Vdit;
528// }
529// }
530// }
531// break;
532// };
533// return 0;
521} 534}
522 535
523bool PlayListWidget::prev() { 536bool PlayListWidget::prev() {
524 if ( mediaPlayerState->playlist() ) { 537 if ( mediaPlayerState->playlist() ) {
525 if ( mediaPlayerState->shuffled() ) { 538 if ( mediaPlayerState->shuffled() ) {
526 const DocLnk *cur = current(); 539 const DocLnk *cur = current();
@@ -651,21 +664,52 @@ void PlayListWidget::setView( char view ) {
651 else 664 else
652 hide(); 665 hide();
653} 666}
654 667
655void PlayListWidget::addSelected() { 668void PlayListWidget::addSelected() {
656 669
670 Config cfg( "MediaPlayer" );
671 cfg.setGroup("PlayList");
672 QString currentPlaylist = cfg.readEntry("CurrentPlaylist","");
673 int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 );
674
657 switch (tabWidget->currentPageIndex()) { 675 switch (tabWidget->currentPageIndex()) {
658 case 0: //playlist 676 case 0: //playlist
659 break; 677 break;
660 case 1: { //audio 678 case 1: { //audio
679 for ( int i = 0; i < noOfFiles; i++ ) {
680 QString entryName;
681 entryName.sprintf( "File%i", i + 1 );
682 QString linkFile = cfg.readEntry( entryName );
683 if( DocLnk( linkFile).name() == audioView->selectedItem()->text(0) ) {
684 int result= QMessageBox::warning(this,"OpiePlayer",
685 tr("This is all ready in your playlist.\nContinue?"),
686 tr("Yes"),tr("No"),0,0,1);
687 if (result !=0)
688 return;
689 }
690 }
661 addToSelection( audioView->selectedItem() ); 691 addToSelection( audioView->selectedItem() );
692 tabWidget->setCurrentPage(1);
662 } 693 }
663 break; 694 break;
664 case 2: { // video 695 case 2: { // video
696 for ( int i = 0; i < noOfFiles; i++ ) {
697 QString entryName;
698 entryName.sprintf( "File%i", i + 1 );
699 QString linkFile = cfg.readEntry( entryName );
700 if( DocLnk( linkFile).name() == videoView->selectedItem()->text(0) ) {
701 int result= QMessageBox::warning(this,"OpiePlayer",
702 tr("This is all ready in your playlist.\nContinue?"),
703 tr("Yes"),tr("No"),0,0,1);
704 if (result !=0)
705 return;
706 }
707 }
665 addToSelection( videoView->selectedItem() ); 708 addToSelection( videoView->selectedItem() );
709 tabWidget->setCurrentPage(2);
666 } 710 }
667 break; 711 break;
668 }; 712 };
669} 713}
670 714
671void PlayListWidget::removeSelected() { 715void PlayListWidget::removeSelected() {
@@ -752,14 +796,45 @@ void PlayListWidget::tabChanged(QWidget *widg) {
752} 796}
753 797
754 798
755/* 799/*
756 play button is pressed*/ 800 play button is pressed*/
757void PlayListWidget::btnPlay(bool b) { 801void PlayListWidget::btnPlay(bool b) {
802// mediaPlayerState->setPlaying(b);
803 switch ( tabWidget->currentPageIndex()) {
804 case 0:
805 {
758 mediaPlayerState->setPlaying(b); 806 mediaPlayerState->setPlaying(b);
759} 807}
808 break;
809 case 1:
810 {
811 addToSelection( audioView->selectedItem() );
812 mediaPlayerState->setPlaying(b);
813// qApp->processEvents();
814 d->selectedFiles->removeSelected( );
815 tabWidget->setCurrentPage(1);
816// mediaPlayerState->setPlaying(FALSE);
817 }
818 break;
819 case 2:
820 {
821 addToSelection( videoView->selectedItem() );
822 mediaPlayerState->setPlaying(b);
823 qApp->processEvents();
824 d->selectedFiles->removeSelected( );
825 tabWidget->setCurrentPage(2);
826// mediaPlayerState->setPlaying(FALSE);
827 }
828 break;
829 };
830
831
832
833
834}
760 835
761void PlayListWidget::deletePlaylist() { 836void PlayListWidget::deletePlaylist() {
762 switch( QMessageBox::information( this, (tr("Remove Playlist?")), 837 switch( QMessageBox::information( this, (tr("Remove Playlist?")),
763 (tr("You really want to delete\nthis playlist?")), 838 (tr("You really want to delete\nthis playlist?")),
764 (tr("Yes")), (tr("No")), 0 )){ 839 (tr("Yes")), (tr("No")), 0 )){
765 case 0: // Yes clicked, 840 case 0: // Yes clicked,