Diffstat (limited to 'core/multimedia/opieplayer/playlistwidget.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | core/multimedia/opieplayer/playlistwidget.cpp | 129 |
1 files changed, 53 insertions, 76 deletions
diff --git a/core/multimedia/opieplayer/playlistwidget.cpp b/core/multimedia/opieplayer/playlistwidget.cpp index a937d7c..c28548c 100644 --- a/core/multimedia/opieplayer/playlistwidget.cpp +++ b/core/multimedia/opieplayer/playlistwidget.cpp | |||
@@ -241,12 +241,14 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) | |||
241 | aTab = new QWidget( tabWidget, "aTab" ); | 241 | aTab = new QWidget( tabWidget, "aTab" ); |
242 | audioView = new QListView( aTab, "Audioview" ); | 242 | audioView = new QListView( aTab, "Audioview" ); |
243 | audioView->setMinimumSize(233,260); | 243 | audioView->setMinimumSize(233,260); |
244 | audioView->addColumn( tr("Title"),140); | 244 | audioView->addColumn( tr("Title"),140); |
245 | audioView->addColumn(tr("Size"), -1); | 245 | audioView->addColumn(tr("Size"), -1); |
246 | audioView->addColumn(tr("Media"),-1); | 246 | audioView->addColumn(tr("Media"),-1); |
247 | audioView->addColumn( tr( "Path" ), 0 ); | ||
248 | |||
247 | audioView->setColumnAlignment(1, Qt::AlignRight); | 249 | audioView->setColumnAlignment(1, Qt::AlignRight); |
248 | audioView->setColumnAlignment(2, Qt::AlignRight); | 250 | audioView->setColumnAlignment(2, Qt::AlignRight); |
249 | audioView->setAllColumnsShowFocus(TRUE); | 251 | audioView->setAllColumnsShowFocus(TRUE); |
250 | 252 | ||
251 | audioView->setMultiSelection( TRUE ); | 253 | audioView->setMultiSelection( TRUE ); |
252 | audioView->setSelectionMode( QListView::Extended); | 254 | audioView->setSelectionMode( QListView::Extended); |
@@ -264,12 +266,13 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) | |||
264 | videoView = new QListView( vTab, "Videoview" ); | 266 | videoView = new QListView( vTab, "Videoview" ); |
265 | videoView->setMinimumSize(233,260); | 267 | videoView->setMinimumSize(233,260); |
266 | 268 | ||
267 | videoView->addColumn(tr("Title"),140); | 269 | videoView->addColumn(tr("Title"),140); |
268 | videoView->addColumn(tr("Size"),-1); | 270 | videoView->addColumn(tr("Size"),-1); |
269 | videoView->addColumn(tr("Media"),-1); | 271 | videoView->addColumn(tr("Media"),-1); |
272 | videoView->addColumn(tr( "Path" ), 0 ); | ||
270 | videoView->setColumnAlignment(1, Qt::AlignRight); | 273 | videoView->setColumnAlignment(1, Qt::AlignRight); |
271 | videoView->setColumnAlignment(2, Qt::AlignRight); | 274 | videoView->setColumnAlignment(2, Qt::AlignRight); |
272 | videoView->setAllColumnsShowFocus(TRUE); | 275 | videoView->setAllColumnsShowFocus(TRUE); |
273 | videoView->setMultiSelection( TRUE ); | 276 | videoView->setMultiSelection( TRUE ); |
274 | videoView->setSelectionMode( QListView::Extended); | 277 | videoView->setSelectionMode( QListView::Extended); |
275 | 278 | ||
@@ -316,15 +319,15 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) | |||
316 | connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) ); | 319 | connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) ); |
317 | 320 | ||
318 | setCentralWidget( vbox5 ); | 321 | setCentralWidget( vbox5 ); |
319 | 322 | ||
320 | Config cfg( "OpiePlayer" ); | 323 | Config cfg( "OpiePlayer" ); |
321 | readConfig( cfg ); | 324 | readConfig( cfg ); |
322 | QString currentPlaylist = cfg.readEntry("CurrentPlaylist",""); | 325 | QString currentPlaylist = cfg.readEntry("CurrentPlaylist","default"); |
323 | loadList(DocLnk( currentPlaylist)); | 326 | loadList(DocLnk( currentPlaylist)); |
324 | setCaption(tr("OpiePlayer: ")+ currentPlaylist ); | 327 | setCaption(tr("OpiePlayer: ")+ QFileInfo(currentPlaylist).baseName()); |
325 | 328 | ||
326 | initializeStates(); | 329 | initializeStates(); |
327 | } | 330 | } |
328 | 331 | ||
329 | 332 | ||
330 | PlayListWidget::~PlayListWidget() { | 333 | PlayListWidget::~PlayListWidget() { |
@@ -420,28 +423,40 @@ void PlayListWidget::addAllToList() { | |||
420 | DocLnkSet filesAll; | 423 | DocLnkSet filesAll; |
421 | Global::findDocuments(&filesAll, "video/*;audio/*"); | 424 | Global::findDocuments(&filesAll, "video/*;audio/*"); |
422 | QListIterator<DocLnk> Adit( filesAll.children() ); | 425 | QListIterator<DocLnk> Adit( filesAll.children() ); |
423 | for ( ; Adit.current(); ++Adit ) | 426 | for ( ; Adit.current(); ++Adit ) |
424 | if(QFileInfo(Adit.current()->file()).exists()) | 427 | if(QFileInfo(Adit.current()->file()).exists()) |
425 | d->selectedFiles->addToSelection( **Adit ); | 428 | d->selectedFiles->addToSelection( **Adit ); |
429 | tabWidget->setCurrentPage(0); | ||
430 | |||
431 | writeCurrentM3u(); | ||
432 | d->selectedFiles->first(); | ||
426 | } | 433 | } |
427 | 434 | ||
428 | 435 | ||
429 | void PlayListWidget::addAllMusicToList() { | 436 | void PlayListWidget::addAllMusicToList() { |
430 | QListIterator<DocLnk> dit( files.children() ); | 437 | QListIterator<DocLnk> dit( files.children() ); |
431 | for ( ; dit.current(); ++dit ) | 438 | for ( ; dit.current(); ++dit ) |
432 | if(QFileInfo(dit.current()->file()).exists()) | 439 | if(QFileInfo(dit.current()->file()).exists()) |
433 | d->selectedFiles->addToSelection( **dit ); | 440 | d->selectedFiles->addToSelection( **dit ); |
441 | tabWidget->setCurrentPage(0); | ||
442 | |||
443 | writeCurrentM3u(); | ||
444 | d->selectedFiles->first(); | ||
434 | } | 445 | } |
435 | 446 | ||
436 | 447 | ||
437 | void PlayListWidget::addAllVideoToList() { | 448 | void PlayListWidget::addAllVideoToList() { |
438 | QListIterator<DocLnk> dit( vFiles.children() ); | 449 | QListIterator<DocLnk> dit( vFiles.children() ); |
439 | for ( ; dit.current(); ++dit ) | 450 | for ( ; dit.current(); ++dit ) |
440 | if(QFileInfo( dit.current()->file()).exists()) | 451 | if(QFileInfo( dit.current()->file()).exists()) |
441 | d->selectedFiles->addToSelection( **dit ); | 452 | d->selectedFiles->addToSelection( **dit ); |
453 | tabWidget->setCurrentPage(0); | ||
454 | |||
455 | writeCurrentM3u(); | ||
456 | d->selectedFiles->first(); | ||
442 | } | 457 | } |
443 | 458 | ||
444 | 459 | ||
445 | void PlayListWidget::setDocument(const QString& fileref) { | 460 | void PlayListWidget::setDocument(const QString& fileref) { |
446 | qDebug(fileref); | 461 | qDebug(fileref); |
447 | fromSetDocument = TRUE; | 462 | fromSetDocument = TRUE; |
@@ -642,73 +657,39 @@ void PlayListWidget::setView( char view ) { | |||
642 | showMaximized(); | 657 | showMaximized(); |
643 | else | 658 | else |
644 | hide(); | 659 | hide(); |
645 | } | 660 | } |
646 | 661 | ||
647 | void PlayListWidget::addSelected() { | 662 | void PlayListWidget::addSelected() { |
648 | 663 | qDebug("addSelected"); | |
649 | Config cfg( "OpiePlayer" ); | 664 | DocLnk lnk; |
650 | cfg.setGroup("PlayList"); | 665 | QString filename; |
651 | QString currentPlaylist = cfg.readEntry("CurrentPlaylist",""); | ||
652 | // int noOfFiles = cfg.readNumEntry("NumberOfFiles", 0 ); | ||
653 | |||
654 | switch (tabWidget->currentPageIndex()) { | 666 | switch (tabWidget->currentPageIndex()) { |
667 | |||
655 | case 0: //playlist | 668 | case 0: //playlist |
669 | return; | ||
656 | break; | 670 | break; |
657 | case 1: { //audio | 671 | case 1: { //audio |
658 | // QString entryName; | 672 | filename=audioView->currentItem()->text(3); |
659 | // entryName.sprintf( "File%i", i + 1 ); | 673 | // d->selectedFiles->next(); |
660 | // QString linkFile = cfg.readEntry( entryName ); | ||
661 | QListViewItemIterator it( audioView ); | ||
662 | // iterate through all items of the listview | ||
663 | for ( ; it.current(); ++it ) { | ||
664 | if ( it.current()->isSelected() ) { | ||
665 | QListIterator<DocLnk> dit( files.children() ); | ||
666 | for ( ; dit.current(); ++dit ) { | ||
667 | if( dit.current()->name() == it.current()->text(0) ) { | ||
668 | d->selectedFiles->addToSelection( **dit ); | ||
669 | } | ||
670 | } | ||
671 | audioView->setSelected( it.current(),FALSE); | ||
672 | } | ||
673 | } | ||
674 | tabWidget->setCurrentPage(0); | ||
675 | } | 674 | } |
676 | break; | 675 | break; |
676 | |||
677 | case 2: { // video | 677 | case 2: { // video |
678 | QListViewItemIterator it( videoView ); | 678 | filename=videoView->currentItem()->text(3); |
679 | // iterate through all items of the listview | 679 | // tabWidget->setCurrentPage(0); |
680 | for ( ; it.current(); ++it ) { | ||
681 | if ( it.current()->isSelected() ) { | ||
682 | QListIterator<DocLnk> dit( vFiles.children() ); | ||
683 | for ( ; dit.current(); ++dit ) { | ||
684 | if( dit.current()->name() == it.current()->text(0) ) { | ||
685 | d->selectedFiles->addToSelection( **dit ); | ||
686 | } | ||
687 | } | ||
688 | 680 | ||
689 | videoView->setSelected( it.current(),FALSE); | ||
690 | } | ||
691 | } | ||
692 | // for ( int i = 0; i < noOfFiles; i++ ) { | ||
693 | // QString entryName; | ||
694 | // entryName.sprintf( "File%i", i + 1 ); | ||
695 | // QString linkFile = cfg.readEntry( entryName ); | ||
696 | // if( DocLnk( linkFile).name() == videoView->selectedItem()->text(0) ) { | ||
697 | // int result= QMessageBox::warning(this,tr("OpiePlayer"), | ||
698 | // tr("This is all ready in your playlist.\nContinue?"), | ||
699 | // tr("Yes"),tr("No"),0,0,1); | ||
700 | // if (result !=0) | ||
701 | // return; | ||
702 | // } | ||
703 | // } | ||
704 | // addToSelection( videoView->selectedItem() ); | ||
705 | tabWidget->setCurrentPage(0); | ||
706 | } | 681 | } |
707 | break; | 682 | break; |
708 | }; | 683 | }; |
684 | lnk.setName( QFileInfo(filename).baseName() ); //sets name | ||
685 | lnk.setFile( filename ); //sets file name | ||
686 | d->selectedFiles->addToSelection( lnk); | ||
687 | tabWidget->setCurrentPage(0); | ||
688 | writeCurrentM3u(); | ||
689 | |||
709 | } | 690 | } |
710 | 691 | ||
711 | void PlayListWidget::removeSelected() { | 692 | void PlayListWidget::removeSelected() { |
712 | d->selectedFiles->removeSelected( ); | 693 | d->selectedFiles->removeSelected( ); |
713 | } | 694 | } |
714 | 695 | ||
@@ -723,34 +704,28 @@ void PlayListWidget::playIt( QListViewItem *) { | |||
723 | 704 | ||
724 | void PlayListWidget::addToSelection( QListViewItem *it) { | 705 | void PlayListWidget::addToSelection( QListViewItem *it) { |
725 | d->setDocumentUsed = FALSE; | 706 | d->setDocumentUsed = FALSE; |
726 | 707 | ||
727 | if(it) { | 708 | if(it) { |
728 | switch (tabWidget->currentPageIndex()) { | 709 | switch (tabWidget->currentPageIndex()) { |
729 | case 1: { | 710 | case 0: //playlist |
730 | QListIterator<DocLnk> dit( files.children() ); | 711 | return; |
731 | for ( ; dit.current(); ++dit ) { | ||
732 | if( dit.current()->name() == it->text(0)) { | ||
733 | d->selectedFiles->addToSelection( **dit ); | ||
734 | } | ||
735 | } | ||
736 | } | ||
737 | break; | ||
738 | case 2: { | ||
739 | QListIterator<DocLnk> dit( vFiles.children() ); | ||
740 | for ( ; dit.current(); ++dit ) { | ||
741 | if( dit.current()->name() == it->text(0)) { | ||
742 | d->selectedFiles->addToSelection( **dit ); | ||
743 | } | ||
744 | } | ||
745 | } | ||
746 | break; | ||
747 | case 0: | ||
748 | break; | 712 | break; |
749 | }; | 713 | }; |
714 | // case 1: { | ||
715 | DocLnk lnk; | ||
716 | QString filename; | ||
717 | |||
718 | filename=it->text(3); | ||
719 | lnk.setName( QFileInfo(filename).baseName() ); //sets name | ||
720 | lnk.setFile( filename ); //sets file name | ||
721 | d->selectedFiles->addToSelection( lnk); | ||
722 | |||
723 | writeCurrentM3u(); | ||
750 | tabWidget->setCurrentPage(0); | 724 | tabWidget->setCurrentPage(0); |
725 | |||
751 | } | 726 | } |
752 | } | 727 | } |
753 | 728 | ||
754 | void PlayListWidget::tabChanged(QWidget *) { | 729 | void PlayListWidget::tabChanged(QWidget *) { |
755 | 730 | ||
756 | switch ( tabWidget->currentPageIndex()) { | 731 | switch ( tabWidget->currentPageIndex()) { |
@@ -986,13 +961,13 @@ void PlayListWidget::populateAudioView() { | |||
986 | if( dit.current()->file().left(4) == "http" ) | 961 | if( dit.current()->file().left(4) == "http" ) |
987 | size=0; | 962 | size=0; |
988 | else | 963 | else |
989 | size = QFile( dit.current()->file() ).size(); | 964 | size = QFile( dit.current()->file() ).size(); |
990 | // qDebug(dit.current()->name()); | 965 | // qDebug(dit.current()->name()); |
991 | newItem= /*(void)*/ new QListViewItem( audioView, dit.current()->name(), | 966 | newItem= /*(void)*/ new QListViewItem( audioView, dit.current()->name(), |
992 | QString::number(size ), storage); | 967 | QString::number(size ), storage, dit.current()->file()); |
993 | newItem->setPixmap(0, Resource::loadPixmap( "opieplayer/musicfile" )); | 968 | newItem->setPixmap(0, Resource::loadPixmap( "opieplayer/musicfile" )); |
994 | } | 969 | } |
995 | } | 970 | } |
996 | 971 | ||
997 | } | 972 | } |
998 | 973 | ||
@@ -1014,13 +989,14 @@ void PlayListWidget::populateVideoView() { | |||
1014 | if( Vdit.current()->file().find(path) != -1 ) storage=name; | 989 | if( Vdit.current()->file().find(path) != -1 ) storage=name; |
1015 | } | 990 | } |
1016 | 991 | ||
1017 | QListViewItem * newItem; | 992 | QListViewItem * newItem; |
1018 | if ( QFile( Vdit.current()->file()).exists() ) { | 993 | if ( QFile( Vdit.current()->file()).exists() ) { |
1019 | newItem= /*(void)*/ new QListViewItem( videoView, Vdit.current()->name(), | 994 | newItem= /*(void)*/ new QListViewItem( videoView, Vdit.current()->name(), |
1020 | QString::number( QFile( Vdit.current()->file()).size() ), storage); | 995 | QString::number( QFile( Vdit.current()->file() ).size() ), |
996 | storage, Vdit.current()->file()); | ||
1021 | newItem->setPixmap(0, Resource::loadPixmap( "opieplayer/videofile" )); | 997 | newItem->setPixmap(0, Resource::loadPixmap( "opieplayer/videofile" )); |
1022 | } | 998 | } |
1023 | } | 999 | } |
1024 | } | 1000 | } |
1025 | 1001 | ||
1026 | void PlayListWidget::openFile() { | 1002 | void PlayListWidget::openFile() { |
@@ -1059,13 +1035,15 @@ void PlayListWidget::openFile() { | |||
1059 | else if( filename.right( 3) == "m3u" ) { | 1035 | else if( filename.right( 3) == "m3u" ) { |
1060 | readm3u( filename ); | 1036 | readm3u( filename ); |
1061 | 1037 | ||
1062 | } else if( filename.right(3) == "pls" ) { | 1038 | } else if( filename.right(3) == "pls" ) { |
1063 | readPls( filename ); | 1039 | readPls( filename ); |
1064 | } else { | 1040 | } else { |
1065 | d->selectedFiles->addToSelection( DocLnk(filename) ); | 1041 | lnk.setName( QFileInfo(filename).baseName() ); //sets name |
1042 | lnk.setFile( filename ); //sets file name | ||
1043 | d->selectedFiles->addToSelection( lnk); | ||
1066 | writeCurrentM3u(); | 1044 | writeCurrentM3u(); |
1067 | } | 1045 | } |
1068 | } | 1046 | } |
1069 | 1047 | ||
1070 | if( fileDlg ) { | 1048 | if( fileDlg ) { |
1071 | delete fileDlg; | 1049 | delete fileDlg; |
@@ -1174,17 +1152,16 @@ void PlayListWidget::readPls( const QString &filename ) { | |||
1174 | writes current playlist to current m3u file */ | 1152 | writes current playlist to current m3u file */ |
1175 | void PlayListWidget::writeCurrentM3u() { | 1153 | void PlayListWidget::writeCurrentM3u() { |
1176 | qDebug("writing to current m3u"); | 1154 | qDebug("writing to current m3u"); |
1177 | Config cfg( "OpiePlayer" ); | 1155 | Config cfg( "OpiePlayer" ); |
1178 | cfg.setGroup("PlayList"); | 1156 | cfg.setGroup("PlayList"); |
1179 | QString currentPlaylist = cfg.readEntry("CurrentPlaylist",""); | 1157 | QString currentPlaylist = cfg.readEntry("CurrentPlaylist",""); |
1180 | |||
1181 | if( d->selectedFiles->first()) { | ||
1182 | Om3u *m3uList; | 1158 | Om3u *m3uList; |
1183 | m3uList = new Om3u( currentPlaylist, IO_ReadWrite | IO_Truncate ); | 1159 | m3uList = new Om3u( currentPlaylist, IO_ReadWrite | IO_Truncate ); |
1184 | 1160 | ||
1161 | if( d->selectedFiles->first()) { | ||
1185 | do { | 1162 | do { |
1186 | qDebug( "writeCurrentM3u " +d->selectedFiles->current()->file()); | 1163 | qDebug( "writeCurrentM3u " +d->selectedFiles->current()->file()); |
1187 | m3uList->add( d->selectedFiles->current()->file() ); | 1164 | m3uList->add( d->selectedFiles->current()->file() ); |
1188 | } | 1165 | } |
1189 | while ( d->selectedFiles->next() ); | 1166 | while ( d->selectedFiles->next() ); |
1190 | qDebug( "<<<<<<<<<<<<>>>>>>>>>>>>>>>>>" ); | 1167 | qDebug( "<<<<<<<<<<<<>>>>>>>>>>>>>>>>>" ); |