summaryrefslogtreecommitdiffstats
path: root/examples/widgets
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2023-06-26 14:59:25 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2023-06-28 14:05:41 +0200
commitec01f6ae8b28f6b5cdb125e8e42e18b96f2a97a6 (patch)
tree1ce77d706629eb8830351e96d447bd10525ff994 /examples/widgets
parentc7702638f33b78c39981504574db5021e1d7c383 (diff)
Move movie example to manual test
Pick-to: 6.5 6.6 Change-Id: Ie185a3c88eced7b8b0fe324b9ef62ab86d38d521 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'examples/widgets')
-rw-r--r--examples/widgets/doc/src/movie.qdoc16
-rw-r--r--examples/widgets/widgets/CMakeLists.txt3
-rw-r--r--examples/widgets/widgets/movie/CMakeLists.txt37
-rw-r--r--examples/widgets/widgets/movie/animation.gifbin42629 -> 0 bytes
-rw-r--r--examples/widgets/widgets/movie/main.cpp15
-rw-r--r--examples/widgets/widgets/movie/movie.pro12
-rw-r--r--examples/widgets/widgets/movie/movieplayer.cpp180
-rw-r--r--examples/widgets/widgets/movie/movieplayer.h59
-rw-r--r--examples/widgets/widgets/widgets.pro1
9 files changed, 0 insertions, 323 deletions
diff --git a/examples/widgets/doc/src/movie.qdoc b/examples/widgets/doc/src/movie.qdoc
deleted file mode 100644
index d5aebc4156..0000000000
--- a/examples/widgets/doc/src/movie.qdoc
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
-
-/*!
- \example widgets/movie
- \title Movie Example
- \ingroup examples-widgets
- \brief The Movie example demonstrates how to use QMovie and QLabel to
- display animations.
-
- QMovie is mostly useful if one wants to play
- a simple animation without the added complexity of a multimedia
- framework to install and deploy.
-
- \borderedimage movie-example.png
-*/
diff --git a/examples/widgets/widgets/CMakeLists.txt b/examples/widgets/widgets/CMakeLists.txt
index 4ad727e5d0..9c2ea872fc 100644
--- a/examples/widgets/widgets/CMakeLists.txt
+++ b/examples/widgets/widgets/CMakeLists.txt
@@ -6,9 +6,6 @@ qt_internal_add_example(calculator)
qt_internal_add_example(calendarwidget)
qt_internal_add_example(groupbox)
qt_internal_add_example(lineedits)
-if(QT_FEATURE_movie)
- qt_internal_add_example(movie)
-endif()
qt_internal_add_example(scribble)
qt_internal_add_example(shapedclock)
qt_internal_add_example(shortcuteditor)
diff --git a/examples/widgets/widgets/movie/CMakeLists.txt b/examples/widgets/widgets/movie/CMakeLists.txt
deleted file mode 100644
index f5165e15f6..0000000000
--- a/examples/widgets/widgets/movie/CMakeLists.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright (C) 2022 The Qt Company Ltd.
-# SPDX-License-Identifier: BSD-3-Clause
-
-cmake_minimum_required(VERSION 3.16)
-project(movie LANGUAGES CXX)
-
-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_standard_project_setup()
-
-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 PRIVATE
- Qt6::Core
- Qt6::Gui
- Qt6::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
deleted file mode 100644
index f674369efc..0000000000
--- a/examples/widgets/widgets/movie/animation.gif
+++ /dev/null
Binary files differ
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
diff --git a/examples/widgets/widgets/widgets.pro b/examples/widgets/widgets/widgets.pro
index b070e82da6..8de3dadcaa 100644
--- a/examples/widgets/widgets/widgets.pro
+++ b/examples/widgets/widgets/widgets.pro
@@ -4,7 +4,6 @@ SUBDIRS = analogclock \
calendarwidget \
groupbox \
lineedits \
- movie \
scribble \
shapedclock \
sliders \