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.cpp180
1 files changed, 105 insertions, 75 deletions
diff --git a/core/multimedia/opieplayer/playlistwidget.cpp b/core/multimedia/opieplayer/playlistwidget.cpp
index 9969526..524747e 100644
--- a/core/multimedia/opieplayer/playlistwidget.cpp
+++ b/core/multimedia/opieplayer/playlistwidget.cpp
@@ -107,2 +107,3 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
107 d->current = NULL; 107 d->current = NULL;
108 fromSetDocument = FALSE;
108// menuTimer = new QTimer( this ,"menu timer"), 109// menuTimer = new QTimer( this ,"menu timer"),
@@ -176,6 +177,7 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
176 pTab = new QWidget( tabWidget, "pTab" ); 177 pTab = new QWidget( tabWidget, "pTab" );
177 playlistView = new QListView( pTab, "Videoview" ); 178// playlistView = new QListView( pTab, "playlistview" );
178 playlistView->setMinimumSize(236,260); 179// playlistView->setMinimumSize(236,260);
179 tabWidget->insertTab( pTab,"Playlist"); 180 tabWidget->insertTab( pTab,"Playlist");
180 181
182
181 // Add the playlist area 183 // Add the playlist area
@@ -191,2 +193,7 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
191 193
194 QPEApplication::setStylusOperation( d->selectedFiles->viewport(),QPEApplication::RightOnHold);
195 connect( d->selectedFiles, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
196 this,SLOT( playlistViewPressed(int, QListViewItem *, const QPoint&, int)) );
197
198
192 QVBox *stretch1 = new QVBox( vbox1 ); stretch1->setBackgroundMode( PaletteButton ); // add stretch 199 QVBox *stretch1 = new QVBox( vbox1 ); stretch1->setBackgroundMode( PaletteButton ); // add stretch
@@ -206,3 +213,10 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
206 audioView->setColumnAlignment(2, Qt::AlignRight); 213 audioView->setColumnAlignment(2, Qt::AlignRight);
214 audioView->setAllColumnsShowFocus(TRUE);
207 tabWidget->insertTab(aTab,"Audio"); 215 tabWidget->insertTab(aTab,"Audio");
216
217 QPEApplication::setStylusOperation( audioView->viewport(),QPEApplication::RightOnHold);
218 connect( audioView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
219 this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) );
220
221
208// audioView 222// audioView
@@ -234,2 +248,6 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
234 videoView->setColumnAlignment(2, Qt::AlignRight); 248 videoView->setColumnAlignment(2, Qt::AlignRight);
249 videoView->setAllColumnsShowFocus(TRUE);
250 QPEApplication::setStylusOperation( videoView->viewport(),QPEApplication::RightOnHold);
251 connect( videoView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
252 this,SLOT( viewPressed(int, QListViewItem *, const QPoint&, int)) );
235 253
@@ -263,4 +281,2 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
263// add the library area 281// add the library area
264 QPEApplication::setStylusOperation( this, QPEApplication::RightOnHold );
265
266 282
@@ -421,2 +437,3 @@ void PlayListWidget::addAllVideoToList() {
421void PlayListWidget::setDocument(const QString& fileref) { 437void PlayListWidget::setDocument(const QString& fileref) {
438 fromSetDocument = TRUE;
422 if ( fileref.isNull() ) { 439 if ( fileref.isNull() ) {
@@ -425,7 +442,7 @@ void PlayListWidget::setDocument(const QString& fileref) {
425 } 442 }
426// qDebug("setDocument"); 443// qDebug("setDocument "+fileref);
427 if(fileref.find("playlist",0,TRUE) == -1) { 444 if(fileref.find("playlist",0,TRUE) == -1) {
445 clearList();
428 addToSelection( DocLnk( fileref ) ); 446 addToSelection( DocLnk( fileref ) );
429 d->setDocumentUsed = TRUE; 447 d->setDocumentUsed = TRUE;
430 qApp->processEvents();
431 mediaPlayerState->setPlaying( FALSE ); 448 mediaPlayerState->setPlaying( FALSE );
@@ -433,9 +450,9 @@ void PlayListWidget::setDocument(const QString& fileref) {
433 mediaPlayerState->setPlaying( TRUE ); 450 mediaPlayerState->setPlaying( TRUE );
434 d->selectedFiles->removeSelected( ); 451 qApp->processEvents();
435 } else { 452 setCaption("OpiePlayer");
453
454 } else { //is playlist
455 clearList();
436 loadList(DocLnk(fileref)); 456 loadList(DocLnk(fileref));
437 d->selectedFiles->first(); 457 d->selectedFiles->first();
438// mediaPlayerState->setPlaying( TRUE );
439// mediaPlayerState->setPlaying( FALSE );
440
441 } 458 }
@@ -457,5 +474,19 @@ void PlayListWidget::useSelectedDocument() {
457 474
458const DocLnk *PlayListWidget::current() { 475const DocLnk *PlayListWidget::current() { // this is fugly
459 476
460// qDebug("in Playlist widget ::current"); 477// if( fromSetDocument) {
478// qDebug("from setDoc");
479// DocLnkSet files;
480// Global::findDocuments(&files, "video/*;audio/*");
481// QListIterator<DocLnk> dit( files.children() );
482// for ( ; dit.current(); ++dit ) {
483// if(dit.current()->linkFile() == setDocFileRef) {
484// qDebug(setDocFileRef);
485// return dit;
486// }
487// }
488// } else
489 switch (tabWidget->currentPageIndex()) {
490 case 0: //playlist
491 {
461 if ( mediaPlayerState->playlist() ) { 492 if ( mediaPlayerState->playlist() ) {
@@ -469,3 +500,23 @@ const DocLnk *PlayListWidget::current() {
469} 500}
470 501 break;
502 case 1: { //audio
503 Global::findDocuments(&files, "audio/*");
504 QListIterator<DocLnk> dit( files.children() );
505 for ( ; dit.current(); ++dit ) {
506 if( dit.current()->name() == audioView->currentItem()->text(0))
507 return dit;
508 }
509 }
510 break;
511 case 2: { // video
512 Global::findDocuments(&vFiles, "video/*");
513 QListIterator<DocLnk> Vdit( vFiles.children() );
514 for ( ; Vdit.current(); ++Vdit ) {
515 if( Vdit.current()->name() == videoView->currentItem()->text(0))
516 return Vdit;
517 }
518 }
519 break;
520 };
521}
471 522
@@ -571,6 +622,4 @@ void PlayListWidget::saveList() {
571 delete fileDlg; 622 delete fileDlg;
572
573} 623}
574 624
575
576void PlayListWidget::loadList( const DocLnk & lnk) { 625void PlayListWidget::loadList( const DocLnk & lnk) {
@@ -591,3 +640,2 @@ void PlayListWidget::loadList( const DocLnk & lnk) {
591 640
592
593void PlayListWidget::setPlaylist( bool shown ) { 641void PlayListWidget::setPlaylist( bool shown ) {
@@ -599,3 +647,2 @@ void PlayListWidget::setPlaylist( bool shown ) {
599 647
600
601void PlayListWidget::setView( char view ) { 648void PlayListWidget::setView( char view ) {
@@ -706,60 +753,36 @@ void PlayListWidget::tabChanged(QWidget *widg) {
706 753
707/*
708 list is right clicked*/
709void PlayListWidget::fauxPlay(QListViewItem *it) {
710 754
711 switch (tabWidget->currentPageIndex()) { 755/*
712 case 0: //playlist 756 play button is pressed*/
713 break; 757void PlayListWidget::btnPlay(bool b) {
714 case 1: { //audio 758 mediaPlayerState->setPlaying(b);
715 QListIterator<DocLnk> dit( files.children() );
716 for ( ; dit.current(); ++dit ) {
717// qDebug(dit.current()->name());
718 if( dit.current()->name() == it->text(0)) {
719 d->selectedFiles->addToSelection( **dit );
720 }
721 }
722 } 759 }
760
761void PlayListWidget::deletePlaylist() {
762 switch( QMessageBox::information( this, (tr("Remove Playlist?")),
763 (tr("You really want to delete\nthis playlist?")),
764 (tr("Yes")), (tr("No")), 0 )){
765 case 0: // Yes clicked,
766 QFile().remove(playLists->selected()->file());
767 QFile().remove(playLists->selected()->linkFile());
768 playLists->reread();
723 break; 769 break;
724 case 2: { // video 770 case 1: // Cancel
725 QListIterator<DocLnk> dit( vFiles.children() );
726 for ( ; dit.current(); ++dit ) {
727// qDebug(dit.current()->name());
728 if( dit.current()->name() == it->text(0)) {
729 d->selectedFiles->addToSelection( **dit );
730 }
731 }
732 }
733 break; 771 break;
734 }; 772 };
735 mediaPlayerState->setPlaying( TRUE ); 773
736// tabWidget->setCurrentPage(0);
737 d->selectedFiles->removeSelected();
738} 774}
739 775
740/* 776void PlayListWidget::viewPressed( int mouse, QListViewItem *item, const QPoint& point, int i)
741 play button is pressed*/
742void PlayListWidget::btnPlay(bool b) { // this is fugly
743 switch ( tabWidget->currentPageIndex()) {
744 case 0:
745 { 777 {
746 mediaPlayerState->setPlaying(b); 778 switch (mouse) {
747 }
748 break;
749 case 1: 779 case 1:
750 {
751 addToSelection( audioView->selectedItem() );
752 mediaPlayerState->setPlaying(b);
753 qApp->processEvents();
754 d->selectedFiles->removeSelected( );
755 tabWidget->setCurrentPage(1);
756 }
757 break; 780 break;
758 case 2: 781 case 2:{
759 { 782 QPopupMenu m;
760 addToSelection( videoView->selectedItem() ); 783 m.insertItem( tr( "Play" ), this, SLOT( playSelected() ));
761 mediaPlayerState->setPlaying(b); 784 m.insertItem( tr( "Add to Playlist" ), this, SLOT( addSelected() ));
762 qApp->processEvents(); 785// m.insertSeparator();
763 d->selectedFiles->removeSelected( ); 786// m.insertItem( tr( "Delete" ), this, SLOT( remoteDelete() ));
764 tabWidget->setCurrentPage(2); 787 m.exec( QCursor::pos() );
765 } 788 }
@@ -770,12 +793,19 @@ void PlayListWidget::btnPlay(bool b) { // this is fugly
770 793
771void PlayListWidget::deletePlaylist() { 794void PlayListWidget::playSelected()
772 switch( QMessageBox::information( this, (tr("Remove Playlist?")), 795{
773 (tr("You really want to delete\nthis playlist?")), 796 btnPlay( TRUE);
774 (tr("Yes")), (tr("No")), 0 )){ 797}
775 case 0: // Yes clicked, 798
776 QFile().remove(playLists->selected()->file()); 799void PlayListWidget::playlistViewPressed( int mouse, QListViewItem *item, const QPoint& point, int i)
777 QFile().remove(playLists->selected()->linkFile()); 800{
778 playLists->reread(); 801 switch (mouse) {
802 case 1:
779 break; 803 break;
780 case 1: // Cancel 804 case 2:{
805 QPopupMenu m;
806 m.insertItem( tr( "Play Selected" ), this, SLOT( playSelected() ));
807 m.insertItem( tr( "Remove" ), this, SLOT( removeSelected() ));
808// m.insertSeparator();
809 m.exec( QCursor::pos() );
810 }
781 break; 811 break;