diff options
Diffstat (limited to 'examples/widgets/widgets/movie')
-rw-r--r-- | examples/widgets/widgets/movie/CMakeLists.txt | 34 | ||||
-rw-r--r-- | examples/widgets/widgets/movie/animation.gif | bin | 42629 -> 0 bytes | |||
-rw-r--r-- | examples/widgets/widgets/movie/main.cpp | 15 | ||||
-rw-r--r-- | examples/widgets/widgets/movie/movie.pro | 12 | ||||
-rw-r--r-- | examples/widgets/widgets/movie/movieplayer.cpp | 180 | ||||
-rw-r--r-- | examples/widgets/widgets/movie/movieplayer.h | 59 |
6 files changed, 0 insertions, 300 deletions
diff --git a/examples/widgets/widgets/movie/CMakeLists.txt b/examples/widgets/widgets/movie/CMakeLists.txt deleted file mode 100644 index 2496c95e49..0000000000 --- a/examples/widgets/widgets/movie/CMakeLists.txt +++ /dev/null @@ -1,34 +0,0 @@ -cmake_minimum_required(VERSION 3.16) -project(movie LANGUAGES CXX) - -set(CMAKE_AUTOMOC ON) - -if(NOT DEFINED INSTALL_EXAMPLESDIR) - set(INSTALL_EXAMPLESDIR "examples") -endif() - -set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/widgets/widgets/movie") - -find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets) - -qt_add_executable(movie - main.cpp - movieplayer.cpp movieplayer.h -) - -set_target_properties(movie PROPERTIES - WIN32_EXECUTABLE TRUE - MACOSX_BUNDLE TRUE -) - -target_link_libraries(movie PUBLIC - Qt::Core - Qt::Gui - Qt::Widgets -) - -install(TARGETS movie - RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" - BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" - LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" -) diff --git a/examples/widgets/widgets/movie/animation.gif b/examples/widgets/widgets/movie/animation.gif Binary files differdeleted file mode 100644 index f674369efc..0000000000 --- a/examples/widgets/widgets/movie/animation.gif +++ /dev/null diff --git a/examples/widgets/widgets/movie/main.cpp b/examples/widgets/widgets/movie/main.cpp deleted file mode 100644 index e5d4d3f040..0000000000 --- a/examples/widgets/widgets/movie/main.cpp +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause - -#include <QApplication> - -#include "movieplayer.h" - -int main(int argc, char *argv[]) -{ - QApplication app(argc, argv); - MoviePlayer player; - player.show(); - player.show(); - return app.exec(); -} diff --git a/examples/widgets/widgets/movie/movie.pro b/examples/widgets/widgets/movie/movie.pro deleted file mode 100644 index f9f89109e4..0000000000 --- a/examples/widgets/widgets/movie/movie.pro +++ /dev/null @@ -1,12 +0,0 @@ -QT += widgets -requires(qtConfig(filedialog)) - -HEADERS = movieplayer.h -SOURCES = main.cpp \ - movieplayer.cpp - -EXAMPLE_FILES = animation.gif - -# install -target.path = $$[QT_INSTALL_EXAMPLES]/widgets/widgets/movie -INSTALLS += target diff --git a/examples/widgets/widgets/movie/movieplayer.cpp b/examples/widgets/widgets/movie/movieplayer.cpp deleted file mode 100644 index 6f6ec14bb1..0000000000 --- a/examples/widgets/widgets/movie/movieplayer.cpp +++ /dev/null @@ -1,180 +0,0 @@ -// Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause - -#include "movieplayer.h" - -#include <QCheckBox> -#include <QFileDialog> -#include <QLabel> -#include <QMovie> -#include <QSlider> -#include <QSpinBox> -#include <QStyle> -#include <QToolButton> -#include <QVBoxLayout> - -MoviePlayer::MoviePlayer(QWidget *parent) - : QWidget(parent) -{ - movie = new QMovie(this); - movie->setCacheMode(QMovie::CacheAll); - - movieLabel = new QLabel(tr("No movie loaded")); - movieLabel->setAlignment(Qt::AlignCenter); - movieLabel->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored); - movieLabel->setBackgroundRole(QPalette::Dark); - movieLabel->setAutoFillBackground(true); - - currentMovieDirectory = "movies"; - - createControls(); - createButtons(); - - connect(movie, &QMovie::frameChanged, this, &MoviePlayer::updateFrameSlider); - connect(movie, &QMovie::stateChanged, this, &MoviePlayer::updateButtons); - connect(fitCheckBox, &QCheckBox::clicked, this, &MoviePlayer::fitToWindow); - connect(frameSlider, &QSlider::valueChanged, this, &MoviePlayer::goToFrame); - connect(speedSpinBox, &QSpinBox::valueChanged, - movie, &QMovie::setSpeed); - - mainLayout = new QVBoxLayout; - mainLayout->addWidget(movieLabel); - mainLayout->addLayout(controlsLayout); - mainLayout->addLayout(buttonsLayout); - setLayout(mainLayout); - - updateFrameSlider(); - updateButtons(); - - setWindowTitle(tr("Movie Player")); - resize(400, 400); -} - -void MoviePlayer::open() -{ - QString fileName = QFileDialog::getOpenFileName(this, tr("Open a Movie"), - currentMovieDirectory); - if (!fileName.isEmpty()) - openFile(fileName); -} - -void MoviePlayer::openFile(const QString &fileName) -{ - currentMovieDirectory = QFileInfo(fileName).path(); - - movie->stop(); - movieLabel->setMovie(movie); - movie->setFileName(fileName); - movie->start(); - - updateFrameSlider(); - updateButtons(); -} - -void MoviePlayer::goToFrame(int frame) -{ - movie->jumpToFrame(frame); -} - -void MoviePlayer::fitToWindow() -{ - movieLabel->setScaledContents(fitCheckBox->isChecked()); -} - -void MoviePlayer::updateFrameSlider() -{ - bool hasFrames = (movie->currentFrameNumber() >= 0); - - if (hasFrames) { - if (movie->frameCount() > 0) { - frameSlider->setMaximum(movie->frameCount() - 1); - } else { - if (movie->currentFrameNumber() > frameSlider->maximum()) - frameSlider->setMaximum(movie->currentFrameNumber()); - } - frameSlider->setValue(movie->currentFrameNumber()); - } else { - frameSlider->setMaximum(0); - } - frameLabel->setEnabled(hasFrames); - frameSlider->setEnabled(hasFrames); -} - -void MoviePlayer::updateButtons() -{ - playButton->setEnabled(movie->isValid() && movie->frameCount() != 1 - && movie->state() == QMovie::NotRunning); - pauseButton->setEnabled(movie->state() != QMovie::NotRunning); - pauseButton->setChecked(movie->state() == QMovie::Paused); - stopButton->setEnabled(movie->state() != QMovie::NotRunning); -} - -void MoviePlayer::createControls() -{ - fitCheckBox = new QCheckBox(tr("Fit to Window")); - - frameLabel = new QLabel(tr("Current frame:")); - - frameSlider = new QSlider(Qt::Horizontal); - frameSlider->setTickPosition(QSlider::TicksBelow); - frameSlider->setTickInterval(10); - - speedLabel = new QLabel(tr("Speed:")); - - speedSpinBox = new QSpinBox; - speedSpinBox->setRange(1, 9999); - speedSpinBox->setValue(100); - speedSpinBox->setSuffix(tr("%")); - - controlsLayout = new QGridLayout; - controlsLayout->addWidget(fitCheckBox, 0, 0, 1, 2); - controlsLayout->addWidget(frameLabel, 1, 0); - controlsLayout->addWidget(frameSlider, 1, 1, 1, 2); - controlsLayout->addWidget(speedLabel, 2, 0); - controlsLayout->addWidget(speedSpinBox, 2, 1); -} - -void MoviePlayer::createButtons() -{ - QSize iconSize(36, 36); - - openButton = new QToolButton; - openButton->setIcon(style()->standardIcon(QStyle::SP_DialogOpenButton)); - openButton->setIconSize(iconSize); - openButton->setToolTip(tr("Open File")); - connect(openButton, &QToolButton::clicked, this, &MoviePlayer::open); - - playButton = new QToolButton; - playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPlay)); - playButton->setIconSize(iconSize); - playButton->setToolTip(tr("Play")); - connect(playButton, &QToolButton::clicked, movie, &QMovie::start); - - pauseButton = new QToolButton; - pauseButton->setCheckable(true); - pauseButton->setIcon(style()->standardIcon(QStyle::SP_MediaPause)); - pauseButton->setIconSize(iconSize); - pauseButton->setToolTip(tr("Pause")); - connect(pauseButton, &QToolButton::clicked, movie, &QMovie::setPaused); - - stopButton = new QToolButton; - stopButton->setIcon(style()->standardIcon(QStyle::SP_MediaStop)); - stopButton->setIconSize(iconSize); - stopButton->setToolTip(tr("Stop")); - connect(stopButton, &QToolButton::clicked, movie, &QMovie::stop); - - quitButton = new QToolButton; - quitButton->setIcon(style()->standardIcon(QStyle::SP_DialogCloseButton)); - quitButton->setIconSize(iconSize); - quitButton->setToolTip(tr("Quit")); - connect(quitButton, &QToolButton::clicked, this, &MoviePlayer::close); - - buttonsLayout = new QHBoxLayout; - buttonsLayout->addStretch(); - buttonsLayout->addWidget(openButton); - buttonsLayout->addWidget(playButton); - buttonsLayout->addWidget(pauseButton); - buttonsLayout->addWidget(stopButton); - buttonsLayout->addWidget(quitButton); - buttonsLayout->addStretch(); -} diff --git a/examples/widgets/widgets/movie/movieplayer.h b/examples/widgets/widgets/movie/movieplayer.h deleted file mode 100644 index 362fd50535..0000000000 --- a/examples/widgets/widgets/movie/movieplayer.h +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause - -#ifndef MOVIEPLAYER_H -#define MOVIEPLAYER_H - -#include <QWidget> - -QT_BEGIN_NAMESPACE -class QCheckBox; -class QGridLayout; -class QHBoxLayout; -class QLabel; -class QMovie; -class QSlider; -class QSpinBox; -class QToolButton; -class QVBoxLayout; -QT_END_NAMESPACE - -class MoviePlayer : public QWidget -{ - Q_OBJECT - -public: - MoviePlayer(QWidget *parent = nullptr); - void openFile(const QString &fileName); - -private slots: - void open(); - void goToFrame(int frame); - void fitToWindow(); - void updateButtons(); - void updateFrameSlider(); - -private: - void createControls(); - void createButtons(); - - QString currentMovieDirectory; - QLabel *movieLabel; - QMovie *movie; - QToolButton *openButton; - QToolButton *playButton; - QToolButton *pauseButton; - QToolButton *stopButton; - QToolButton *quitButton; - QCheckBox *fitCheckBox; - QSlider *frameSlider; - QSpinBox *speedSpinBox; - QLabel *frameLabel; - QLabel *speedLabel; - - QGridLayout *controlsLayout; - QHBoxLayout *buttonsLayout; - QVBoxLayout *mainLayout; -}; - -#endif |