Revision control
++ // Copyright (C) 2017 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
++
++ #include "videowidget.h"
++
++ #include <QKeyEvent>
++ #include <QMouseEvent>
++ #include <QOperatingSystemVersion>
++
++ VideoWidget::VideoWidget(QWidget *parent) : QVideoWidget(parent)
++ {
++ setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
++
++ QPalette p = palette();
++ p.setColor(QPalette::Window, Qt::black);
++ setPalette(p);
++
++ if constexpr (QOperatingSystemVersion::currentType() != QOperatingSystemVersion::Android) // QTBUG-95723
++ setAttribute(Qt::WA_OpaquePaintEvent);
++ }
++
++ void VideoWidget::keyPressEvent(QKeyEvent *event)
++ {
++ if ((event->key() == Qt::Key_Escape || event->key() == Qt::Key_Back) && isFullScreen()) {
++ setFullScreen(false);
++ event->accept();
++ } else if (event->key() == Qt::Key_Enter && event->modifiers() & Qt::Key_Alt) {
++ setFullScreen(!isFullScreen());
++ event->accept();
++ } else {
++ QVideoWidget::keyPressEvent(event);
++ }
++ }
++
++ void VideoWidget::mouseDoubleClickEvent(QMouseEvent *event)
++ {
++ setFullScreen(!isFullScreen());
++ event->accept();
++ }
++
++ void VideoWidget::mousePressEvent(QMouseEvent *event)
++ {
++ QVideoWidget::mousePressEvent(event);
++ }
++
++ #include "moc_videowidget.cpp"