QT_BEGIN_NAMESPACE_DOCGALLERY QDeclarativeGalleryQueryModel::QDeclarativeGalleryQueryModel(QObject *parent) : QAbstractListModel(parent) , m_resultSet(0) , m_status(Null) , m_rowCount(0) , m_updateStatus(Incomplete) { connect(&m_request, SIGNAL(stateChanged(QGalleryAbstractRequest::State)), this, SLOT(_q_stateChanged())); connect(&m_request, SIGNAL(progressChanged(int,int)), this, SIGNAL(progressChanged())); connect(&m_request, SIGNAL(resultSetChanged(QGalleryResultSet*)), this, SLOT(_q_setResultSet(QGalleryResultSet*))); }
QTM_BEGIN_NAMESPACE QDeclarativeGalleryType::QDeclarativeGalleryType(QObject *parent) : QObject(parent) , m_metaData(0) , m_status(Null) , m_updateStatus(Incomplete) { connect(&m_request, SIGNAL(stateChanged(QGalleryAbstractRequest::State)), this, SLOT(_q_stateChanged())); connect(&m_request, SIGNAL(progressChanged(int,int)), this, SIGNAL(progressChanged())); connect(&m_request, SIGNAL(typeChanged()), this, SLOT(_q_typeChanged())); connect(&m_request, SIGNAL(metaDataChanged(QList<int>)), this, SLOT(_q_metaDataChanged(QList<int>))); m_metaData = new QDeclarativePropertyMap(this); }
QMediaPlayer::QMediaPlayer(QObject *parent, QMediaPlayer::Flags flags, QMediaServiceProvider *provider): QMediaObject(*new QMediaPlayerPrivate, parent, playerService(flags,provider)) { Q_D(QMediaPlayer); d->provider = provider; if (d->service == 0) { d->error = ServiceMissingError; } else { d->control = qobject_cast<QMediaPlayerControl*>(d->service->requestControl(QMediaPlayerControl_iid)); d->playlistSourceControl = qobject_cast<QMediaPlaylistSourceControl*>(d->service->requestControl(QMediaPlaylistSourceControl_iid)); d->networkAccessControl = qobject_cast<QMediaNetworkAccessControl*>(d->service->requestControl(QMediaNetworkAccessControl_iid)); if (d->control != 0) { connect(d->control, SIGNAL(mediaChanged(QMediaContent)), SIGNAL(mediaChanged(QMediaContent))); connect(d->control, SIGNAL(stateChanged(QMediaPlayer::State)), SLOT(_q_stateChanged(QMediaPlayer::State))); connect(d->control, SIGNAL(mediaStatusChanged(QMediaPlayer::MediaStatus)), SLOT(_q_mediaStatusChanged(QMediaPlayer::MediaStatus))); connect(d->control, SIGNAL(error(int,QString)), SLOT(_q_error(int,QString))); connect(d->control, SIGNAL(durationChanged(qint64)), SIGNAL(durationChanged(qint64))); connect(d->control, SIGNAL(positionChanged(qint64)), SIGNAL(positionChanged(qint64))); connect(d->control, SIGNAL(audioAvailableChanged(bool)), SIGNAL(audioAvailableChanged(bool))); connect(d->control, SIGNAL(videoAvailableChanged(bool)), SIGNAL(videoAvailableChanged(bool))); connect(d->control, SIGNAL(volumeChanged(int)), SIGNAL(volumeChanged(int))); connect(d->control, SIGNAL(mutedChanged(bool)), SIGNAL(mutedChanged(bool))); connect(d->control, SIGNAL(seekableChanged(bool)), SIGNAL(seekableChanged(bool))); connect(d->control, SIGNAL(playbackRateChanged(qreal)), SIGNAL(playbackRateChanged(qreal))); connect(d->control, SIGNAL(bufferStatusChanged(int)), SIGNAL(bufferStatusChanged(int))); if (d->control->state() == PlayingState) addPropertyWatch("position"); if (d->control->mediaStatus() == StalledMedia || d->control->mediaStatus() == BufferingMedia) addPropertyWatch("bufferStatus"); } if (d->networkAccessControl != 0) { connect(d->networkAccessControl, SIGNAL(configurationChanged(QNetworkConfiguration)), this, SIGNAL(networkConfigurationChanged(QNetworkConfiguration))); } }
/*! Construct an QAudioDecoder instance parented to \a parent. */ QAudioDecoder::QAudioDecoder(QObject *parent) : QMediaObject(*new QAudioDecoderPrivate, parent, QMediaServiceProvider::defaultServiceProvider()->requestService(Q_MEDIASERVICE_AUDIODECODER)) { Q_D(QAudioDecoder); d->provider = QMediaServiceProvider::defaultServiceProvider(); if (d->service) { d->control = qobject_cast<QAudioDecoderControl*>(d->service->requestControl(QAudioDecoderControl_iid)); if (d->control != 0) { connect(d->control, SIGNAL(stateChanged(QAudioDecoder::State)), SLOT(_q_stateChanged(QAudioDecoder::State))); connect(d->control, SIGNAL(error(int,QString)), SLOT(_q_error(int,QString))); connect(d->control, SIGNAL(formatChanged(QAudioFormat)), SIGNAL(formatChanged(QAudioFormat))); connect(d->control, SIGNAL(sourceChanged()), SIGNAL(sourceChanged())); connect(d->control, SIGNAL(bufferReady()), this, SIGNAL(bufferReady())); connect(d->control ,SIGNAL(bufferAvailableChanged(bool)), this, SIGNAL(bufferAvailableChanged(bool))); connect(d->control ,SIGNAL(finished()), this, SIGNAL(finished())); connect(d->control ,SIGNAL(positionChanged(qint64)), this, SIGNAL(positionChanged(qint64))); connect(d->control ,SIGNAL(durationChanged(qint64)), this, SIGNAL(durationChanged(qint64))); }
void QMediaPlayerPrivate::_q_updateMedia(const QMediaContent &media) { Q_Q(QMediaPlayer); if (!control) return; // check if the current playlist is a top-level playlist Q_ASSERT(playlist); if (media.isNull() && playlist != rootMedia.playlist()) { // switch back to parent playlist QMediaPlaylist *pls = parentPlaylist(playlist); Q_ASSERT(pls); disconnectPlaylist(); playlist = pls; connectPlaylist(); Q_ASSERT(!pendingPlaylist.playlist()); nestedPlaylists--; Q_ASSERT(nestedPlaylists >= 0); playlist->next(); return; } if (media.playlist()) { if (nestedPlaylists < MAX_NESTED_PLAYLISTS) { nestedPlaylists++; Q_ASSERT(!pendingPlaylist.playlist()); // disconnect current playlist disconnectPlaylist(); // new playlist signals are connected // in the call to setPlaylist() in _q_handlePlaylistLoaded() playlist = media.playlist(); emit q->currentMediaChanged(media); _q_handlePlaylistLoaded(); return; } else if (playlist) { playlist->next(); } return; } const QMediaPlayer::State currentState = state; setMedia(media, 0); if (!media.isNull()) { switch (currentState) { case QMediaPlayer::PlayingState: control->play(); break; case QMediaPlayer::PausedState: control->pause(); break; default: break; } } _q_stateChanged(control->state()); }