diff --git a/core/audioplayer.h b/core/audioplayer.h --- a/core/audioplayer.h +++ b/core/audioplayer.h @@ -81,7 +81,6 @@ friend class Document; Q_DISABLE_COPY( AudioPlayer ) - Q_PRIVATE_SLOT( d, void finished( int ) ) }; } diff --git a/core/audioplayer.cpp b/core/audioplayer.cpp --- a/core/audioplayer.cpp +++ b/core/audioplayer.cpp @@ -87,7 +87,6 @@ AudioPlayerPrivate::AudioPlayerPrivate( AudioPlayer * qq ) : q( qq ), m_state( AudioPlayer::StoppedState ) { - QObject::connect( &m_mapper, SIGNAL(mapped(int)), q, SLOT(finished(int)) ); } AudioPlayerPrivate::~AudioPlayerPrivate() @@ -128,7 +127,9 @@ if ( !url.isEmpty() ) { int newid = newId(); - m_mapper.setMapping( data->m_mediaobject, newid ); + QObject::connect( data->m_mediaobject, &Phonon::MediaObject::finished, q, [this, newid]() { + finished(newid); + }); QUrl newurl; if ( QUrl::fromUserInput(url).isRelative() ) { @@ -153,7 +154,9 @@ { qCDebug(OkularCoreDebug) << "Mediaobject:" << data->m_mediaobject; int newid = newId(); - m_mapper.setMapping( data->m_mediaobject, newid ); + QObject::connect( data->m_mediaobject, &Phonon::MediaObject::finished, q, [this, newid]() { + finished(newid); + }); data->m_buffer = new QBuffer(); data->m_buffer->setData( filedata ); data->m_mediaobject->setCurrentSource( Phonon::MediaSource( data->m_buffer ) ); @@ -170,7 +173,6 @@ } if ( data ) { - QObject::connect( data->m_mediaobject, SIGNAL(finished()), &m_mapper, SLOT(map()) ); qCDebug(OkularCoreDebug) << "PLAY"; data->play(); m_state = AudioPlayer::PlayingState; @@ -200,7 +202,6 @@ } else { - m_mapper.removeMappings( it.value()->m_mediaobject ); delete it.value(); m_playing.erase( it ); m_state = AudioPlayer::StoppedState; diff --git a/core/audioplayer_p.h b/core/audioplayer_p.h --- a/core/audioplayer_p.h +++ b/core/audioplayer_p.h @@ -12,7 +12,6 @@ // qt/kde includes #include -#include #include class QBuffer; @@ -34,13 +33,11 @@ bool play( const SoundInfo& si ); void stopPlayings(); - // private slots void finished( int ); AudioPlayer * q; QHash< int, PlayData * > m_playing; - QSignalMapper m_mapper; QUrl m_currentDocument; AudioPlayer::State m_state; };