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.cpp129
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
330PlayListWidget::~PlayListWidget() { 333PlayListWidget::~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
429void PlayListWidget::addAllMusicToList() { 436void 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
437void PlayListWidget::addAllVideoToList() { 448void 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
445void PlayListWidget::setDocument(const QString& fileref) { 460void 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
647void PlayListWidget::addSelected() { 662void 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
711void PlayListWidget::removeSelected() { 692void PlayListWidget::removeSelected() {
712 d->selectedFiles->removeSelected( ); 693 d->selectedFiles->removeSelected( );
713} 694}
714 695
@@ -723,34 +704,28 @@ void PlayListWidget::playIt( QListViewItem *) {
723 704
724void PlayListWidget::addToSelection( QListViewItem *it) { 705void 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
754void PlayListWidget::tabChanged(QWidget *) { 729void 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
1026void PlayListWidget::openFile() { 1002void 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 */
1175void PlayListWidget::writeCurrentM3u() { 1153void 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( "<<<<<<<<<<<<>>>>>>>>>>>>>>>>>" );