summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/playlistwidget.cpp
Unidiff
Diffstat (limited to 'noncore/multimedia/opieplayer2/playlistwidget.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidget.cpp48
1 files changed, 24 insertions, 24 deletions
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.cpp b/noncore/multimedia/opieplayer2/playlistwidget.cpp
index b08204e..7ba342b 100644
--- a/noncore/multimedia/opieplayer2/playlistwidget.cpp
+++ b/noncore/multimedia/opieplayer2/playlistwidget.cpp
@@ -55,67 +55,67 @@
55#include <assert.h> 55#include <assert.h>
56 56
57#include "audiowidget.h" 57#include "audiowidget.h"
58#include "videowidget.h" 58#include "videowidget.h"
59 59
60extern MediaPlayerState *mediaPlayerState; 60extern MediaPlayerState *mediaPlayerState;
61// extern AudioWidget *audioUI; 61// extern AudioWidget *audioUI;
62// extern VideoWidget *videoUI; 62// extern VideoWidget *videoUI;
63 63
64QString audioMimes ="audio/mpeg;audio/x-wav;audio/x-ogg"; 64QString audioMimes ="audio/mpeg;audio/x-wav;audio/x-ogg";
65// no m3u's here please 65// no m3u's here please
66 66
67PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl ) 67PlayListWidget::PlayListWidget( MediaPlayerState &mediaPlayerState, QWidget* parent, const char* name )
68 : PlayListWidgetGui( parent, name, fl ) { 68 : PlayListWidgetGui( mediaPlayerState, parent, name ) {
69 69
70 d->tbAddToList = new ToolButton( bar, tr( "Add to Playlist" ), 70 d->tbAddToList = new ToolButton( bar, tr( "Add to Playlist" ),
71 "opieplayer2/add_to_playlist", 71 "opieplayer2/add_to_playlist",
72 this , SLOT(addSelected() ) ); 72 this , SLOT(addSelected() ) );
73 d->tbRemoveFromList = new ToolButton( bar, tr( "Remove from Playlist" ), 73 d->tbRemoveFromList = new ToolButton( bar, tr( "Remove from Playlist" ),
74 "opieplayer2/remove_from_playlist", 74 "opieplayer2/remove_from_playlist",
75 this , SLOT(removeSelected() ) ); 75 this , SLOT(removeSelected() ) );
76 d->tbPlay = new ToolButton( bar, tr( "Play" ), "opieplayer2/play", 76 d->tbPlay = new ToolButton( bar, tr( "Play" ), "opieplayer2/play",
77 this , SLOT( btnPlay( bool) ), TRUE ); 77 this , SLOT( btnPlay( bool) ), TRUE );
78 d->tbShuffle = new ToolButton( bar, tr( "Randomize" ),"opieplayer2/shuffle", 78 d->tbShuffle = new ToolButton( bar, tr( "Randomize" ),"opieplayer2/shuffle",
79 mediaPlayerState, SLOT( setShuffled( bool ) ), TRUE ); 79 &mediaPlayerState, SLOT( setShuffled( bool ) ), TRUE );
80 d->tbLoop = new ToolButton( bar, tr( "Loop" ), "opieplayer2/loop", 80 d->tbLoop = new ToolButton( bar, tr( "Loop" ), "opieplayer2/loop",
81 mediaPlayerState, SLOT( setLooping( bool ) ), TRUE ); 81 &mediaPlayerState, SLOT( setLooping( bool ) ), TRUE );
82 82
83 (void)new MenuItem( pmPlayList, tr( "Clear List" ), this, SLOT( clearList() ) ); 83 (void)new MenuItem( pmPlayList, tr( "Clear List" ), this, SLOT( clearList() ) );
84 (void)new MenuItem( pmPlayList, tr( "Add all audio files" ), 84 (void)new MenuItem( pmPlayList, tr( "Add all audio files" ),
85 this, SLOT( addAllMusicToList() ) ); 85 this, SLOT( addAllMusicToList() ) );
86 (void)new MenuItem( pmPlayList, tr( "Add all video files" ), 86 (void)new MenuItem( pmPlayList, tr( "Add all video files" ),
87 this, SLOT( addAllVideoToList() ) ); 87 this, SLOT( addAllVideoToList() ) );
88 (void)new MenuItem( pmPlayList, tr( "Add all files" ), 88 (void)new MenuItem( pmPlayList, tr( "Add all files" ),
89 this, SLOT( addAllToList() ) ); 89 this, SLOT( addAllToList() ) );
90 pmPlayList->insertSeparator(-1); 90 pmPlayList->insertSeparator(-1);
91// (void)new MenuItem( pmPlayList, tr( "Save PlayList" ), 91// (void)new MenuItem( pmPlayList, tr( "Save PlayList" ),
92// this, SLOT( saveList() ) ); 92// this, SLOT( saveList() ) );
93 (void)new MenuItem( pmPlayList, tr( "Save Playlist" ), 93 (void)new MenuItem( pmPlayList, tr( "Save Playlist" ),
94 this, SLOT(writem3u() ) ); 94 this, SLOT(writem3u() ) );
95 pmPlayList->insertSeparator(-1); 95 pmPlayList->insertSeparator(-1);
96 (void)new MenuItem( pmPlayList, tr( "Open File or URL" ), 96 (void)new MenuItem( pmPlayList, tr( "Open File or URL" ),
97 this,SLOT( openFile() ) ); 97 this,SLOT( openFile() ) );
98 pmPlayList->insertSeparator(-1); 98 pmPlayList->insertSeparator(-1);
99 (void)new MenuItem( pmPlayList, tr( "Rescan for Audio Files" ), 99 (void)new MenuItem( pmPlayList, tr( "Rescan for Audio Files" ),
100 this,SLOT( scanForAudio() ) ); 100 this,SLOT( scanForAudio() ) );
101 (void)new MenuItem( pmPlayList, tr( "Rescan for Video Files" ), 101 (void)new MenuItem( pmPlayList, tr( "Rescan for Video Files" ),
102 this,SLOT( scanForVideo() ) ); 102 this,SLOT( scanForVideo() ) );
103 103
104 pmView->insertItem( Resource::loadPixmap("fullscreen") , tr( "Full Screen"), 104 pmView->insertItem( Resource::loadPixmap("fullscreen") , tr( "Full Screen"),
105 mediaPlayerState, SLOT( toggleFullscreen() ) ); 105 &mediaPlayerState, SLOT( toggleFullscreen() ) );
106 106
107 Config cfg( "OpiePlayer" ); 107 Config cfg( "OpiePlayer" );
108 bool b= cfg.readBoolEntry("FullScreen", 0); 108 bool b= cfg.readBoolEntry("FullScreen", 0);
109 mediaPlayerState->setFullscreen( b ); 109 mediaPlayerState.setFullscreen( b );
110 pmView->setItemChecked( -16, b ); 110 pmView->setItemChecked( -16, b );
111 111
112 (void)new ToolButton( vbox1, tr( "Move Up" ), "opieplayer2/up", 112 (void)new ToolButton( vbox1, tr( "Move Up" ), "opieplayer2/up",
113 d->selectedFiles, SLOT(moveSelectedUp() ) ); 113 d->selectedFiles, SLOT(moveSelectedUp() ) );
114 (void)new ToolButton( vbox1, tr( "Remove" ), "opieplayer2/cut", 114 (void)new ToolButton( vbox1, tr( "Remove" ), "opieplayer2/cut",
115 d->selectedFiles, SLOT(removeSelected() ) ); 115 d->selectedFiles, SLOT(removeSelected() ) );
116 (void)new ToolButton( vbox1, tr( "Move Down" ), "opieplayer2/down", 116 (void)new ToolButton( vbox1, tr( "Move Down" ), "opieplayer2/down",
117 d->selectedFiles, SLOT(moveSelectedDown() ) ); 117 d->selectedFiles, SLOT(moveSelectedDown() ) );
118 // QVBox *stretch2 = new QVBox( vbox1 ); 118 // QVBox *stretch2 = new QVBox( vbox1 );
119 119
120 connect( tbDeletePlaylist, ( SIGNAL( released() ) ), 120 connect( tbDeletePlaylist, ( SIGNAL( released() ) ),
121 SLOT( deletePlaylist() ) ); 121 SLOT( deletePlaylist() ) );
@@ -132,58 +132,58 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
132 connect( audioView, SIGNAL( doubleClicked( QListViewItem *) ), 132 connect( audioView, SIGNAL( doubleClicked( QListViewItem *) ),
133 this, SLOT( addToSelection( QListViewItem *) ) ); 133 this, SLOT( addToSelection( QListViewItem *) ) );
134 connect( videoView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int) ), 134 connect( videoView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int) ),
135 this,SLOT( viewPressed( int, QListViewItem *, const QPoint&, int) ) ); 135 this,SLOT( viewPressed( int, QListViewItem *, const QPoint&, int) ) );
136 connect( videoView, SIGNAL( returnPressed( QListViewItem *) ), 136 connect( videoView, SIGNAL( returnPressed( QListViewItem *) ),
137 this,SLOT( playIt( QListViewItem *) ) ); 137 this,SLOT( playIt( QListViewItem *) ) );
138 connect( videoView, SIGNAL( doubleClicked( QListViewItem *) ), 138 connect( videoView, SIGNAL( doubleClicked( QListViewItem *) ),
139 this, SLOT( addToSelection( QListViewItem *) ) ); 139 this, SLOT( addToSelection( QListViewItem *) ) );
140 connect( playLists, SIGNAL( fileSelected( const DocLnk &) ), 140 connect( playLists, SIGNAL( fileSelected( const DocLnk &) ),
141 this, SLOT( loadList( const DocLnk & ) ) ); 141 this, SLOT( loadList( const DocLnk & ) ) );
142 connect( tabWidget, SIGNAL ( currentChanged(QWidget*) ), 142 connect( tabWidget, SIGNAL ( currentChanged(QWidget*) ),
143 this, SLOT( tabChanged( QWidget* ) ) ); 143 this, SLOT( tabChanged( QWidget* ) ) );
144 connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), 144 connect( &mediaPlayerState, SIGNAL( playingToggled( bool ) ),
145 d->tbPlay, SLOT( setOn( bool ) ) ); 145 d->tbPlay, SLOT( setOn( bool ) ) );
146 connect( mediaPlayerState, SIGNAL( loopingToggled( bool ) ), 146 connect( &mediaPlayerState, SIGNAL( loopingToggled( bool ) ),
147 d->tbLoop, SLOT( setOn( bool ) ) ); 147 d->tbLoop, SLOT( setOn( bool ) ) );
148 connect( mediaPlayerState, SIGNAL( shuffledToggled( bool ) ), 148 connect( &mediaPlayerState, SIGNAL( shuffledToggled( bool ) ),
149 d->tbShuffle, SLOT( setOn( bool ) ) ); 149 d->tbShuffle, SLOT( setOn( bool ) ) );
150 connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ), 150 connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ),
151 this, SLOT( playIt( QListViewItem *) ) ); 151 this, SLOT( playIt( QListViewItem *) ) );
152 connect ( gammaSlider, SIGNAL( valueChanged( int ) ), 152 connect ( gammaSlider, SIGNAL( valueChanged( int ) ),
153 mediaPlayerState, SLOT( setVideoGamma( int ) ) ); 153 &mediaPlayerState, SLOT( setVideoGamma( int ) ) );
154 154
155 // see which skins are installed 155 // see which skins are installed
156 videoScan=false; 156 videoScan=false;
157 audioScan=false; 157 audioScan=false;
158 audioPopulated=false; 158 audioPopulated=false;
159 videoPopulated=false; 159 videoPopulated=false;
160 populateSkinsMenu(); 160 populateSkinsMenu();
161 initializeStates(); 161 initializeStates();
162 162
163 cfg.setGroup("PlayList"); 163 cfg.setGroup("PlayList");
164 QString currentPlaylist = cfg.readEntry( "CurrentPlaylist", "default"); 164 QString currentPlaylist = cfg.readEntry( "CurrentPlaylist", "default");
165 loadList(DocLnk( currentPlaylist ) ); 165 loadList(DocLnk( currentPlaylist ) );
166} 166}
167 167
168 168
169PlayListWidget::~PlayListWidget() { 169PlayListWidget::~PlayListWidget() {
170 delete d; 170 delete d;
171} 171}
172 172
173 173
174void PlayListWidget::initializeStates() { 174void PlayListWidget::initializeStates() {
175 d->tbPlay->setOn( mediaPlayerState->isPlaying() ); 175 d->tbPlay->setOn( mediaPlayerState.isPlaying() );
176 d->tbLoop->setOn( mediaPlayerState->isLooping() ); 176 d->tbLoop->setOn( mediaPlayerState.isLooping() );
177 d->tbShuffle->setOn( mediaPlayerState->isShuffled() ); 177 d->tbShuffle->setOn( mediaPlayerState.isShuffled() );
178 d->playListFrame->show(); 178 d->playListFrame->show();
179} 179}
180 180
181void PlayListWidget::writeDefaultPlaylist() { 181void PlayListWidget::writeDefaultPlaylist() {
182 182
183 Config config( "OpiePlayer" ); 183 Config config( "OpiePlayer" );
184 config.setGroup( "PlayList" ); 184 config.setGroup( "PlayList" );
185 QString filename=QPEApplication::documentDir() + "/default.m3u"; 185 QString filename=QPEApplication::documentDir() + "/default.m3u";
186 QString currentString = config.readEntry( "CurrentPlaylist", filename); 186 QString currentString = config.readEntry( "CurrentPlaylist", filename);
187 if( currentString == filename) { 187 if( currentString == filename) {
188 Om3u *m3uList; 188 Om3u *m3uList;
189 // qDebug("<<<<<<<<<<<<<default>>>>>>>>>>>>>>>>>>>"); 189 // qDebug("<<<<<<<<<<<<<default>>>>>>>>>>>>>>>>>>>");
@@ -395,81 +395,81 @@ void PlayListWidget::setDocument( const QString& fileref ) {
395 } else if( DocLnk( fileref).file().find( "m3u", 0, TRUE) != -1 ) { 395 } else if( DocLnk( fileref).file().find( "m3u", 0, TRUE) != -1 ) {
396 readm3u( DocLnk( fileref).file() ); 396 readm3u( DocLnk( fileref).file() );
397 } else if( fileref.find( "pls", 0, TRUE) != -1 ) { //is pls 397 } else if( fileref.find( "pls", 0, TRUE) != -1 ) { //is pls
398 readPls( fileref ); 398 readPls( fileref );
399 } else if( DocLnk( fileref).file().find( "pls", 0, TRUE) != -1 ) { 399 } else if( DocLnk( fileref).file().find( "pls", 0, TRUE) != -1 ) {
400 readPls( DocLnk( fileref).file() ); 400 readPls( DocLnk( fileref).file() );
401 } else { 401 } else {
402 clearList(); 402 clearList();
403 addToSelection( DocLnk( fileref ) ); 403 addToSelection( DocLnk( fileref ) );
404 writeCurrentM3u(); 404 writeCurrentM3u();
405 405
406 d->setDocumentUsed = TRUE; 406 d->setDocumentUsed = TRUE;
407 mediaPlayerState->setPlaying( FALSE ); 407 mediaPlayerState.setPlaying( FALSE );
408 mediaPlayerState->setPlaying( TRUE ); 408 mediaPlayerState.setPlaying( TRUE );
409 } 409 }
410} 410}
411 411
412 412
413void PlayListWidget::useSelectedDocument() { 413void PlayListWidget::useSelectedDocument() {
414 d->setDocumentUsed = FALSE; 414 d->setDocumentUsed = FALSE;
415} 415}
416 416
417 417
418const DocLnk *PlayListWidget::current() const { // this is fugly 418const DocLnk *PlayListWidget::current() const { // this is fugly
419 assert( currentTab() == CurrentPlayList ); 419 assert( currentTab() == CurrentPlayList );
420 420
421 const DocLnk *lnk = d->selectedFiles->current(); 421 const DocLnk *lnk = d->selectedFiles->current();
422 if ( !lnk ) { 422 if ( !lnk ) {
423 d->selectedFiles->first(); 423 d->selectedFiles->first();
424 lnk = d->selectedFiles->current(); 424 lnk = d->selectedFiles->current();
425 } 425 }
426 assert( lnk ); 426 assert( lnk );
427 return lnk; 427 return lnk;
428} 428}
429 429
430 430
431bool PlayListWidget::prev() { 431bool PlayListWidget::prev() {
432 if ( mediaPlayerState->isShuffled() ) { 432 if ( mediaPlayerState.isShuffled() ) {
433 const DocLnk *cur = current(); 433 const DocLnk *cur = current();
434 int j = 1 + (int)(97.0 * rand() / (RAND_MAX + 1.0)); 434 int j = 1 + (int)(97.0 * rand() / (RAND_MAX + 1.0));
435 for ( int i = 0; i < j; i++ ) { 435 for ( int i = 0; i < j; i++ ) {
436 if ( !d->selectedFiles->next() ) 436 if ( !d->selectedFiles->next() )
437 d->selectedFiles->first(); 437 d->selectedFiles->first();
438 } 438 }
439 if ( cur == current() ) 439 if ( cur == current() )
440 if ( !d->selectedFiles->next() ) { 440 if ( !d->selectedFiles->next() ) {
441 d->selectedFiles->first(); 441 d->selectedFiles->first();
442 } 442 }
443 return TRUE; 443 return TRUE;
444 } else { 444 } else {
445 if ( !d->selectedFiles->prev() ) { 445 if ( !d->selectedFiles->prev() ) {
446 if ( mediaPlayerState->isLooping() ) { 446 if ( mediaPlayerState.isLooping() ) {
447 return d->selectedFiles->last(); 447 return d->selectedFiles->last();
448 } else { 448 } else {
449 return FALSE; 449 return FALSE;
450 } 450 }
451 } 451 }
452 return TRUE; 452 return TRUE;
453 } 453 }
454} 454}
455 455
456 456
457bool PlayListWidget::next() { 457bool PlayListWidget::next() {
458//qDebug("<<<<<<<<<<<<next()"); 458//qDebug("<<<<<<<<<<<<next()");
459 if ( mediaPlayerState->isShuffled() ) { 459 if ( mediaPlayerState.isShuffled() ) {
460 return prev(); 460 return prev();
461 } else { 461 } else {
462 if ( !d->selectedFiles->next() ) { 462 if ( !d->selectedFiles->next() ) {
463 if ( mediaPlayerState->isLooping() ) { 463 if ( mediaPlayerState.isLooping() ) {
464 return d->selectedFiles->first(); 464 return d->selectedFiles->first();
465 } else { 465 } else {
466 return FALSE; 466 return FALSE;
467 } 467 }
468 } 468 }
469 return TRUE; 469 return TRUE;
470 } 470 }
471} 471}
472 472
473 473
474bool PlayListWidget::first() { 474bool PlayListWidget::first() {
475 return d->selectedFiles->first(); 475 return d->selectedFiles->first();
@@ -521,26 +521,26 @@ void PlayListWidget::addSelected() {
521 writeCurrentM3u(); 521 writeCurrentM3u();
522} 522}
523 523
524 524
525void PlayListWidget::removeSelected() { 525void PlayListWidget::removeSelected() {
526 d->selectedFiles->removeSelected( ); 526 d->selectedFiles->removeSelected( );
527 writeCurrentM3u(); 527 writeCurrentM3u();
528} 528}
529 529
530 530
531void PlayListWidget::playIt( QListViewItem *it) { 531void PlayListWidget::playIt( QListViewItem *it) {
532 if(!it) return; 532 if(!it) return;
533 mediaPlayerState->setPlaying(FALSE); 533 mediaPlayerState.setPlaying(FALSE);
534 mediaPlayerState->setPlaying(TRUE); 534 mediaPlayerState.setPlaying(TRUE);
535 d->selectedFiles->unSelect(); 535 d->selectedFiles->unSelect();
536} 536}
537 537
538 538
539void PlayListWidget::addToSelection( QListViewItem *it) { 539void PlayListWidget::addToSelection( QListViewItem *it) {
540 d->setDocumentUsed = FALSE; 540 d->setDocumentUsed = FALSE;
541 541
542 if(it) { 542 if(it) {
543 if ( currentTab() == CurrentPlayList ) 543 if ( currentTab() == CurrentPlayList )
544 return; 544 return;
545 // case 1: { 545 // case 1: {
546 DocLnk lnk; 546 DocLnk lnk;
@@ -605,25 +605,25 @@ void PlayListWidget::tabChanged(QWidget *) {
605 playLists->reread(); 605 playLists->reread();
606 d->tbAddToList->setEnabled(FALSE); 606 d->tbAddToList->setEnabled(FALSE);
607 607
608 d->tbPlay->setEnabled( false ); 608 d->tbPlay->setEnabled( false );
609 } 609 }
610 break; 610 break;
611 }; 611 };
612} 612}
613 613
614 614
615void PlayListWidget::btnPlay(bool b) { 615void PlayListWidget::btnPlay(bool b) {
616// mediaPlayerState->setPlaying(false); 616// mediaPlayerState->setPlaying(false);
617 mediaPlayerState->setPlaying(b); 617 mediaPlayerState.setPlaying(b);
618 insanityBool=FALSE; 618 insanityBool=FALSE;
619} 619}
620 620
621void PlayListWidget::deletePlaylist() { 621void PlayListWidget::deletePlaylist() {
622 switch( QMessageBox::information( this, (tr("Remove Playlist?")), 622 switch( QMessageBox::information( this, (tr("Remove Playlist?")),
623 (tr("You really want to delete\nthis playlist?")), 623 (tr("You really want to delete\nthis playlist?")),
624 (tr("Yes")), (tr("No")), 0 )){ 624 (tr("Yes")), (tr("No")), 0 )){
625 case 0: // Yes clicked, 625 case 0: // Yes clicked,
626 QFile().remove(playLists->selectedDocument().file()); 626 QFile().remove(playLists->selectedDocument().file());
627 QFile().remove(playLists->selectedDocument().linkFile()); 627 QFile().remove(playLists->selectedDocument().linkFile());
628 playLists->reread(); 628 playLists->reread();
629 break; 629 break;
@@ -1040,26 +1040,26 @@ void PlayListWidget::keyReleaseEvent( QKeyEvent *e ) {
1040 case Key_Up: 1040 case Key_Up:
1041 if ( !d->selectedFiles->prev() ) 1041 if ( !d->selectedFiles->prev() )
1042 // d->selectedFiles->last(); 1042 // d->selectedFiles->last();
1043 break; 1043 break;
1044 } 1044 }
1045} 1045}
1046 1046
1047void PlayListWidget::pmViewActivated(int index) { 1047void PlayListWidget::pmViewActivated(int index) {
1048// qDebug("%d", index); 1048// qDebug("%d", index);
1049 switch(index) { 1049 switch(index) {
1050 case -16: 1050 case -16:
1051 { 1051 {
1052 mediaPlayerState->toggleFullscreen(); 1052 mediaPlayerState.toggleFullscreen();
1053 bool b=mediaPlayerState->isFullscreen(); 1053 bool b=mediaPlayerState.isFullscreen();
1054 pmView->setItemChecked( index, b); 1054 pmView->setItemChecked( index, b);
1055 Config cfg( "OpiePlayer" ); 1055 Config cfg( "OpiePlayer" );
1056 cfg.writeEntry( "FullScreen", b ); 1056 cfg.writeEntry( "FullScreen", b );
1057 } 1057 }
1058 break; 1058 break;
1059 }; 1059 };
1060} 1060}
1061 1061
1062void PlayListWidget::populateSkinsMenu() { 1062void PlayListWidget::populateSkinsMenu() {
1063 int item = 0; 1063 int item = 0;
1064 defaultSkinIndex = 0; 1064 defaultSkinIndex = 0;
1065 QString skinName; 1065 QString skinName;