Diffstat (limited to 'noncore/multimedia/opieplayer2/playlistwidget.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/multimedia/opieplayer2/playlistwidget.cpp | 69 |
1 files changed, 39 insertions, 30 deletions
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.cpp b/noncore/multimedia/opieplayer2/playlistwidget.cpp index a1a1016..9a9e1ec 100644 --- a/noncore/multimedia/opieplayer2/playlistwidget.cpp +++ b/noncore/multimedia/opieplayer2/playlistwidget.cpp @@ -38,19 +38,24 @@ #include <qmessagebox.h> #include "playlistselection.h" #include "playlistwidget.h" +#include "mediaplayer.h" #include "mediaplayerstate.h" #include "inputDialog.h" #include "om3u.h" #include "playlistfileview.h" //only needed for the random play #include <assert.h> -PlayListWidget::PlayListWidget( MediaPlayerState &mediaPlayerState, QWidget* parent, const char* name ) - : PlayListWidgetGui( mediaPlayerState, parent, name ) , currentFileListView( 0 ) +PlayListWidget::PlayListWidget(QWidget* parent, const char* name, WFlags fl ) + : PlayListWidgetGui( parent, "playList" ) , currentFileListView( 0 ) { + mediaPlayerState = new MediaPlayerState(0, "mediaPlayerState" ); + m_mp = new MediaPlayer(*this, *mediaPlayerState, 0, "mediaPlayer"); + + d->tbAddToList = new ToolButton( bar, tr( "Add to Playlist" ), "opieplayer2/add_to_playlist", this , SLOT(addSelected() ) ); @@ -59,11 +64,11 @@ PlayListWidget::PlayListWidget( MediaPlayerState &mediaPlayerState, QWidget* par this , SLOT(removeSelected() ) ); d->tbPlay = new ToolButton( bar, tr( "Play" ), "opieplayer2/play", this , SLOT( btnPlay( bool) ), TRUE ); d->tbShuffle = new ToolButton( bar, tr( "Randomize" ),"opieplayer2/shuffle", - &mediaPlayerState, SLOT( setShuffled( bool ) ), TRUE ); + mediaPlayerState, SLOT( setShuffled( bool ) ), TRUE ); d->tbLoop = new ToolButton( bar, tr( "Loop" ), "opieplayer2/loop", - &mediaPlayerState, SLOT( setLooping( bool ) ), TRUE ); + mediaPlayerState, SLOT( setLooping( bool ) ), TRUE ); (void)new MenuItem( pmPlayList, tr( "Clear List" ), this, SLOT( clearList() ) ); (void)new MenuItem( pmPlayList, tr( "Add all audio files" ), this, SLOT( addAllMusicToList() ) ); @@ -85,13 +90,13 @@ PlayListWidget::PlayListWidget( MediaPlayerState &mediaPlayerState, QWidget* par (void)new MenuItem( pmPlayList, tr( "Rescan for Video Files" ), videoView, SLOT( scanFiles() ) ); pmView->insertItem( Resource::loadPixmap("fullscreen") , tr( "Full Screen"), - &mediaPlayerState, SLOT( toggleFullscreen() ) ); + mediaPlayerState, SLOT( toggleFullscreen() ) ); Config cfg( "OpiePlayer" ); bool b= cfg.readBoolEntry("FullScreen", 0); - mediaPlayerState.setFullscreen( b ); + mediaPlayerState->setFullscreen( b ); pmView->setItemChecked( -16, b ); (void)new ToolButton( vbox1, tr( "Move Up" ), "opieplayer2/up", d->selectedFiles, SLOT(moveSelectedUp() ) ); @@ -124,18 +129,21 @@ PlayListWidget::PlayListWidget( MediaPlayerState &mediaPlayerState, QWidget* par connect( playLists, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( loadList( const DocLnk & ) ) ); connect( tabWidget, SIGNAL ( currentChanged(QWidget*) ), this, SLOT( tabChanged( QWidget* ) ) ); - connect( &mediaPlayerState, SIGNAL( playingToggled( bool ) ), + connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), d->tbPlay, SLOT( setOn( bool ) ) ); - connect( &mediaPlayerState, SIGNAL( loopingToggled( bool ) ), + connect( mediaPlayerState, SIGNAL( loopingToggled( bool ) ), d->tbLoop, SLOT( setOn( bool ) ) ); - connect( &mediaPlayerState, SIGNAL( shuffledToggled( bool ) ), + connect( mediaPlayerState, SIGNAL( shuffledToggled( bool ) ), d->tbShuffle, SLOT( setOn( bool ) ) ); connect( d->selectedFiles, SIGNAL( doubleClicked( QListViewItem *) ), this, SLOT( playIt( QListViewItem *) ) ); connect ( gammaSlider, SIGNAL( valueChanged( int ) ), - &mediaPlayerState, SLOT( setVideoGamma( int ) ) ); + mediaPlayerState, SLOT( setVideoGamma( int ) ) ); + + connect( this, SIGNAL(skinSelected() ), + m_mp, SLOT( reloadSkins() ) ); // see which skins are installed populateSkinsMenu(); initializeStates(); @@ -154,15 +162,16 @@ PlayListWidget::PlayListWidget( MediaPlayerState &mediaPlayerState, QWidget* par PlayListWidget::~PlayListWidget() { delete d; + delete m_mp; } void PlayListWidget::initializeStates() { - d->tbPlay->setOn( mediaPlayerState.isPlaying() ); - d->tbLoop->setOn( mediaPlayerState.isLooping() ); - d->tbShuffle->setOn( mediaPlayerState.isShuffled() ); + d->tbPlay->setOn( mediaPlayerState->isPlaying() ); + d->tbLoop->setOn( mediaPlayerState->isLooping() ); + d->tbShuffle->setOn( mediaPlayerState->isShuffled() ); d->playListFrame->show(); } void PlayListWidget::writeDefaultPlaylist() { @@ -340,10 +349,10 @@ void PlayListWidget::setDocument( const QString& fileref ) { addToSelection( lnk ); writeCurrentM3u(); d->setDocumentUsed = TRUE; - mediaPlayerState.setPlaying( FALSE ); - mediaPlayerState.setPlaying( TRUE ); + mediaPlayerState->setPlaying( FALSE ); + mediaPlayerState->setPlaying( TRUE ); } } @@ -365,9 +374,9 @@ const DocLnk *PlayListWidget::current() const { // this is fugly } bool PlayListWidget::prev() { - if ( mediaPlayerState.isShuffled() ) { + if ( mediaPlayerState->isShuffled() ) { const DocLnk *cur = current(); int j = 1 + (int)(97.0 * rand() / (RAND_MAX + 1.0)); for ( int i = 0; i < j; i++ ) { if ( !d->selectedFiles->next() ) @@ -379,9 +388,9 @@ bool PlayListWidget::prev() { } return TRUE; } else { if ( !d->selectedFiles->prev() ) { - if ( mediaPlayerState.isLooping() ) { + if ( mediaPlayerState->isLooping() ) { return d->selectedFiles->last(); } else { return FALSE; } @@ -392,13 +401,13 @@ bool PlayListWidget::prev() { bool PlayListWidget::next() { //qDebug("<<<<<<<<<<<<next()"); - if ( mediaPlayerState.isShuffled() ) { + if ( mediaPlayerState->isShuffled() ) { return prev(); } else { if ( !d->selectedFiles->next() ) { - if ( mediaPlayerState.isLooping() ) { + if ( mediaPlayerState->isLooping() ) { return d->selectedFiles->first(); } else { return FALSE; } @@ -462,10 +471,10 @@ void PlayListWidget::removeSelected() { void PlayListWidget::playIt( QListViewItem *it) { if(!it) return; - mediaPlayerState.setPlaying(FALSE); - mediaPlayerState.setPlaying(TRUE); + mediaPlayerState->setPlaying(FALSE); + mediaPlayerState->setPlaying(TRUE); d->selectedFiles->unSelect(); } @@ -564,9 +573,9 @@ void PlayListWidget::tabChanged(QWidget *) { void PlayListWidget::btnPlay(bool b) { // mediaPlayerState->setPlaying(false); - mediaPlayerState.setPlaying(b); + mediaPlayerState->setPlaying(b); insanityBool=FALSE; } void PlayListWidget::deletePlaylist() { @@ -908,10 +917,10 @@ void PlayListWidget::pmViewActivated(int index) { // qDebug("%d", index); switch(index) { case -16: { - mediaPlayerState.toggleFullscreen(); - bool b=mediaPlayerState.isFullscreen(); + mediaPlayerState->toggleFullscreen(); + bool b=mediaPlayerState->isFullscreen(); pmView->setItemChecked( index, b); Config cfg( "OpiePlayer" ); cfg.writeEntry( "FullScreen", b ); } @@ -995,19 +1004,19 @@ void PlayListWidget::qcopReceive(const QCString &msg, const QByteArray &data) { QDataStream stream ( data, IO_ReadOnly ); if ( msg == "play()" ) { //plays current selection btnPlay( true); } else if ( msg == "stop()" ) { - mediaPlayerState.setPlaying( false); + mediaPlayerState->setPlaying( false); } else if ( msg == "togglePause()" ) { - mediaPlayerState.togglePaused(); + mediaPlayerState->togglePaused(); } else if ( msg == "next()" ) { //select next in list - mediaPlayerState.setNext(); + mediaPlayerState->setNext(); } else if ( msg == "prev()" ) { //select previous in list - mediaPlayerState.setPrev(); + mediaPlayerState->setPrev(); } else if ( msg == "toggleLooping()" ) { //loop or not loop - mediaPlayerState.toggleLooping(); + mediaPlayerState->toggleLooping(); } else if ( msg == "toggleShuffled()" ) { //shuffled or not shuffled - mediaPlayerState.toggleShuffled(); + mediaPlayerState->toggleShuffled(); } else if ( msg == "volUp()" ) { //volume more // emit moreClicked(); // emit moreReleased(); } else if ( msg == "volDown()" ) { //volume less |