diff options
author | James McDonnell <jmcdonnell@blackberry.com> | 2017-09-19 12:39:48 -0400 |
---|---|---|
committer | James McDonnell <jmcdonnell@blackberry.com> | 2018-01-16 22:11:16 +0000 |
commit | 950e9b472890478f0460a060ae08cc16a06ac659 (patch) | |
tree | 56b3e141d77a642d3165fc690ca60c09ae2800a6 /examples | |
parent | ec576ef2a004fc291eb6475c15907f82d425e88e (diff) | |
download | qtmultimedia-950e9b472890478f0460a060ae08cc16a06ac659.tar.gz |
QNX 7.0.0 audio management support
[ChangeLog][QNX] Added support for QNX 7.0.0 audio management.
Change-Id: Ia9f1740577527126bf666627647084382e4d7ce9
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
Diffstat (limited to 'examples')
-rw-r--r-- | examples/multimediawidgets/player/player.cpp | 50 | ||||
-rw-r--r-- | examples/multimediawidgets/player/player.h | 3 |
2 files changed, 41 insertions, 12 deletions
diff --git a/examples/multimediawidgets/player/player.cpp b/examples/multimediawidgets/player/player.cpp index 4d3340855..89246e65c 100644 --- a/examples/multimediawidgets/player/player.cpp +++ b/examples/multimediawidgets/player/player.cpp @@ -174,6 +174,15 @@ Player::Player(QWidget *parent) layout->addLayout(hLayout); layout->addLayout(controlLayout); layout->addLayout(histogramLayout); +#if defined(Q_OS_QNX) + // On QNX, the main window doesn't have a title bar (or any other decorations). + // Create a status bar for the status information instead. + m_statusLabel = new QLabel; + m_statusBar = new QStatusBar; + m_statusBar->addPermanentWidget(m_statusLabel); + m_statusBar->setSizeGripEnabled(false); // Without mouse grabbing, it doesn't work very well. + layout->addWidget(m_statusBar); +#endif setLayout(layout); @@ -308,15 +317,17 @@ void Player::statusChanged(QMediaPlayer::MediaStatus status) case QMediaPlayer::UnknownMediaStatus: case QMediaPlayer::NoMedia: case QMediaPlayer::LoadedMedia: - case QMediaPlayer::BufferingMedia: - case QMediaPlayer::BufferedMedia: setStatusInfo(QString()); break; case QMediaPlayer::LoadingMedia: setStatusInfo(tr("Loading...")); break; + case QMediaPlayer::BufferingMedia: + case QMediaPlayer::BufferedMedia: + setStatusInfo(tr("Buffering %1%").arg(m_player->bufferStatus())); + break; case QMediaPlayer::StalledMedia: - setStatusInfo(tr("Media Stalled")); + setStatusInfo(tr("Stalled %1%").arg(m_player->bufferStatus())); break; case QMediaPlayer::EndOfMedia: QApplication::alert(this); @@ -347,7 +358,10 @@ void Player::handleCursor(QMediaPlayer::MediaStatus status) void Player::bufferingProgress(int progress) { - setStatusInfo(tr("Buffering %4%").arg(progress)); + if (m_player->mediaStatus() == QMediaPlayer::StalledMedia) + setStatusInfo(tr("Stalled %1%").arg(progress)); + else + setStatusInfo(tr("Buffering %1%").arg(progress)); } void Player::videoAvailableChanged(bool available) @@ -369,19 +383,31 @@ void Player::videoAvailableChanged(bool available) void Player::setTrackInfo(const QString &info) { m_trackInfo = info; - if (!m_statusInfo.isEmpty()) - setWindowTitle(QString("%1 | %2").arg(m_trackInfo).arg(m_statusInfo)); - else - setWindowTitle(m_trackInfo); + + if (m_statusBar) { + m_statusBar->showMessage(m_trackInfo); + m_statusLabel->setText(m_statusInfo); + } else { + if (!m_statusInfo.isEmpty()) + setWindowTitle(QString("%1 | %2").arg(m_trackInfo).arg(m_statusInfo)); + else + setWindowTitle(m_trackInfo); + } } void Player::setStatusInfo(const QString &info) { m_statusInfo = info; - if (!m_statusInfo.isEmpty()) - setWindowTitle(QString("%1 | %2").arg(m_trackInfo).arg(m_statusInfo)); - else - setWindowTitle(m_trackInfo); + + if (m_statusBar) { + m_statusBar->showMessage(m_trackInfo); + m_statusLabel->setText(m_statusInfo); + } else { + if (!m_statusInfo.isEmpty()) + setWindowTitle(QString("%1 | %2").arg(m_trackInfo).arg(m_statusInfo)); + else + setWindowTitle(m_trackInfo); + } } void Player::displayErrorMessage() diff --git a/examples/multimediawidgets/player/player.h b/examples/multimediawidgets/player/player.h index a15d27bd7..3002c9811 100644 --- a/examples/multimediawidgets/player/player.h +++ b/examples/multimediawidgets/player/player.h @@ -62,6 +62,7 @@ class QMediaPlayer; class QModelIndex; class QPushButton; class QSlider; +class QStatusBar; class QVideoProbe; class QVideoWidget; class QAudioProbe; @@ -123,6 +124,8 @@ private: QPushButton *m_fullScreenButton = nullptr; QPushButton *m_colorButton = nullptr; QDialog *m_colorDialog = nullptr; + QLabel *m_statusLabel = nullptr; + QStatusBar *m_statusBar = nullptr; QLabel *m_labelHistogram = nullptr; HistogramWidget *m_videoHistogram = nullptr; |