diff options
author | VaL Doroshchuk <valentyn.doroshchuk@qt.io> | 2017-09-19 09:37:38 +0200 |
---|---|---|
committer | VaL Doroshchuk <valentyn.doroshchuk@qt.io> | 2017-09-28 14:01:23 +0000 |
commit | 0c6faf31e643dda71f7068e5124f2e1889918cd2 (patch) | |
tree | 1bd2ce46ed09e61f6492518261d1f07e821883f3 /examples | |
parent | f1661fdd81b81269d2f663efda6f5b240c5ac83d (diff) | |
download | qtmultimedia-0c6faf31e643dda71f7068e5124f2e1889918cd2.tar.gz |
Modernize the Video Widget example
Changed initialization style, 0 -> nullptr, made some cleanup.
Task-number: QTBUG-60627
Change-Id: I3443b4ed4ea1d118aadb777df07921505dd29844
Reviewed-by: Christian Stromme <christian.stromme@qt.io>
Diffstat (limited to 'examples')
-rw-r--r-- | examples/multimediawidgets/videowidget/videoplayer.cpp | 75 | ||||
-rw-r--r-- | examples/multimediawidgets/videowidget/videoplayer.h | 16 |
2 files changed, 42 insertions, 49 deletions
diff --git a/examples/multimediawidgets/videowidget/videoplayer.cpp b/examples/multimediawidgets/videowidget/videoplayer.cpp index 8504746c4..ead3c2cef 100644 --- a/examples/multimediawidgets/videowidget/videoplayer.cpp +++ b/examples/multimediawidgets/videowidget/videoplayer.cpp @@ -41,57 +41,52 @@ #include "videoplayer.h" #include <QtWidgets> -#include <qvideowidget.h> -#include <qvideosurfaceformat.h> +#include <QVideoWidget> VideoPlayer::VideoPlayer(QWidget *parent) : QWidget(parent) - , mediaPlayer(0, QMediaPlayer::VideoSurface) - , playButton(0) - , positionSlider(0) - , errorLabel(0) { + m_mediaPlayer = new QMediaPlayer(this, QMediaPlayer::VideoSurface); QVideoWidget *videoWidget = new QVideoWidget; QAbstractButton *openButton = new QPushButton(tr("Open...")); connect(openButton, &QAbstractButton::clicked, this, &VideoPlayer::openFile); - playButton = new QPushButton; - playButton->setEnabled(false); - playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPlay)); + m_playButton = new QPushButton; + m_playButton->setEnabled(false); + m_playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPlay)); - connect(playButton, &QAbstractButton::clicked, + connect(m_playButton, &QAbstractButton::clicked, this, &VideoPlayer::play); - positionSlider = new QSlider(Qt::Horizontal); - positionSlider->setRange(0, 0); + m_positionSlider = new QSlider(Qt::Horizontal); + m_positionSlider->setRange(0, 0); - connect(positionSlider, &QAbstractSlider::sliderMoved, + connect(m_positionSlider, &QAbstractSlider::sliderMoved, this, &VideoPlayer::setPosition); - errorLabel = new QLabel; - errorLabel->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Maximum); + m_errorLabel = new QLabel; + m_errorLabel->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Maximum); QBoxLayout *controlLayout = new QHBoxLayout; controlLayout->setMargin(0); controlLayout->addWidget(openButton); - controlLayout->addWidget(playButton); - controlLayout->addWidget(positionSlider); + controlLayout->addWidget(m_playButton); + controlLayout->addWidget(m_positionSlider); QBoxLayout *layout = new QVBoxLayout; layout->addWidget(videoWidget); layout->addLayout(controlLayout); - layout->addWidget(errorLabel); + layout->addWidget(m_errorLabel); setLayout(layout); - mediaPlayer.setVideoOutput(videoWidget); - connect(&mediaPlayer, &QMediaPlayer::stateChanged, + m_mediaPlayer->setVideoOutput(videoWidget); + connect(m_mediaPlayer, &QMediaPlayer::stateChanged, this, &VideoPlayer::mediaStateChanged); - connect(&mediaPlayer, &QMediaPlayer::positionChanged, this, &VideoPlayer::positionChanged); - connect(&mediaPlayer, &QMediaPlayer::durationChanged, this, &VideoPlayer::durationChanged); - typedef void (QMediaPlayer::*ErrorSignal)(QMediaPlayer::Error); - connect(&mediaPlayer, static_cast<ErrorSignal>(&QMediaPlayer::error), + connect(m_mediaPlayer, &QMediaPlayer::positionChanged, this, &VideoPlayer::positionChanged); + connect(m_mediaPlayer, &QMediaPlayer::durationChanged, this, &VideoPlayer::durationChanged); + connect(m_mediaPlayer, QOverload<QMediaPlayer::Error>::of(&QMediaPlayer::error), this, &VideoPlayer::handleError); } @@ -104,7 +99,7 @@ void VideoPlayer::openFile() QFileDialog fileDialog(this); fileDialog.setAcceptMode(QFileDialog::AcceptOpen); fileDialog.setWindowTitle(tr("Open Movie")); - QStringList supportedMimeTypes = mediaPlayer.supportedMimeTypes(); + QStringList supportedMimeTypes = m_mediaPlayer->supportedMimeTypes(); if (!supportedMimeTypes.isEmpty()) fileDialog.setMimeTypeFilters(supportedMimeTypes); fileDialog.setDirectory(QStandardPaths::standardLocations(QStandardPaths::MoviesLocation).value(0, QDir::homePath())); @@ -114,20 +109,20 @@ void VideoPlayer::openFile() void VideoPlayer::setUrl(const QUrl &url) { - errorLabel->setText(QString()); + m_errorLabel->setText(QString()); setWindowFilePath(url.isLocalFile() ? url.toLocalFile() : QString()); - mediaPlayer.setMedia(url); - playButton->setEnabled(true); + m_mediaPlayer->setMedia(url); + m_playButton->setEnabled(true); } void VideoPlayer::play() { - switch(mediaPlayer.state()) { + switch (m_mediaPlayer->state()) { case QMediaPlayer::PlayingState: - mediaPlayer.pause(); + m_mediaPlayer->pause(); break; default: - mediaPlayer.play(); + m_mediaPlayer->play(); break; } } @@ -136,37 +131,37 @@ void VideoPlayer::mediaStateChanged(QMediaPlayer::State state) { switch(state) { case QMediaPlayer::PlayingState: - playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPause)); + m_playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPause)); break; default: - playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPlay)); + m_playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPlay)); break; } } void VideoPlayer::positionChanged(qint64 position) { - positionSlider->setValue(position); + m_positionSlider->setValue(position); } void VideoPlayer::durationChanged(qint64 duration) { - positionSlider->setRange(0, duration); + m_positionSlider->setRange(0, duration); } void VideoPlayer::setPosition(int position) { - mediaPlayer.setPosition(position); + m_mediaPlayer->setPosition(position); } void VideoPlayer::handleError() { - playButton->setEnabled(false); - const QString errorString = mediaPlayer.errorString(); + m_playButton->setEnabled(false); + const QString errorString = m_mediaPlayer->errorString(); QString message = "Error: "; if (errorString.isEmpty()) - message += " #" + QString::number(int(mediaPlayer.error())); + message += " #" + QString::number(int(m_mediaPlayer->error())); else message += errorString; - errorLabel->setText(message); + m_errorLabel->setText(message); } diff --git a/examples/multimediawidgets/videowidget/videoplayer.h b/examples/multimediawidgets/videowidget/videoplayer.h index f9f3b692b..e62040dcc 100644 --- a/examples/multimediawidgets/videowidget/videoplayer.h +++ b/examples/multimediawidgets/videowidget/videoplayer.h @@ -41,10 +41,8 @@ #ifndef VIDEOPLAYER_H #define VIDEOPLAYER_H -#include <qmediaplayer.h> - -#include <QtGui/QMovie> -#include <QtWidgets/QWidget> +#include <QMediaPlayer> +#include <QWidget> QT_BEGIN_NAMESPACE class QAbstractButton; @@ -57,7 +55,7 @@ class VideoPlayer : public QWidget { Q_OBJECT public: - VideoPlayer(QWidget *parent = 0); + VideoPlayer(QWidget *parent = nullptr); ~VideoPlayer(); void setUrl(const QUrl &url); @@ -74,10 +72,10 @@ private slots: void handleError(); private: - QMediaPlayer mediaPlayer; - QAbstractButton *playButton; - QSlider *positionSlider; - QLabel *errorLabel; + QMediaPlayer* m_mediaPlayer; + QAbstractButton *m_playButton; + QSlider *m_positionSlider; + QLabel *m_errorLabel; }; #endif |