diff --git a/core/audioplayer.cpp b/core/audioplayer.cpp index 3188fe6a0..5e89d4840 100644 --- a/core/audioplayer.cpp +++ b/core/audioplayer.cpp @@ -90,7 +90,6 @@ public: AudioPlayerPrivate::AudioPlayerPrivate( AudioPlayer * qq ) : q( qq ), m_state( AudioPlayer::StoppedState ) { - QObject::connect( &m_mapper, SIGNAL(mapped(int)), q, SLOT(finished(int)) ); } AudioPlayerPrivate::~AudioPlayerPrivate() @@ -131,7 +130,9 @@ bool AudioPlayerPrivate::play( const SoundInfo& si ) 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() ) { @@ -156,7 +157,9 @@ bool AudioPlayerPrivate::play( const SoundInfo& si ) { 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 ) ); @@ -173,7 +176,6 @@ bool AudioPlayerPrivate::play( const SoundInfo& si ) } if ( data ) { - QObject::connect( data->m_mediaobject, SIGNAL(finished()), &m_mapper, SLOT(map()) ); qCDebug(OkularCoreDebug) << "PLAY"; data->play(); m_state = AudioPlayer::PlayingState; @@ -203,7 +205,6 @@ void AudioPlayerPrivate::finished( int id ) } else { - m_mapper.removeMappings( it.value()->m_mediaobject ); delete it.value(); m_playing.erase( it ); m_state = AudioPlayer::StoppedState; diff --git a/core/audioplayer.h b/core/audioplayer.h index 9b28be260..ad06370b4 100644 --- a/core/audioplayer.h +++ b/core/audioplayer.h @@ -81,7 +81,6 @@ class OKULARCORE_EXPORT AudioPlayer : public QObject friend class Document; Q_DISABLE_COPY( AudioPlayer ) - Q_PRIVATE_SLOT( d, void finished( int ) ) }; } diff --git a/core/audioplayer_p.h b/core/audioplayer_p.h index 1991ca33b..53fd2896d 100644 --- a/core/audioplayer_p.h +++ b/core/audioplayer_p.h @@ -12,7 +12,6 @@ // qt/kde includes #include -#include #include class PlayData; @@ -33,13 +32,11 @@ public: 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; };