47 lines
1.1 KiB
C++
47 lines
1.1 KiB
C++
// Copyright (C) 2017 The Qt Company Ltd.
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
|
|
|
#include "videowidget.h"
|
|
|
|
#include <QKeyEvent>
|
|
#include <QMouseEvent>
|
|
|
|
VideoWidget::VideoWidget(QWidget *parent) : QVideoWidget(parent)
|
|
{
|
|
setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
|
|
|
|
QPalette p = palette();
|
|
p.setColor(QPalette::Window, Qt::black);
|
|
setPalette(p);
|
|
|
|
#ifndef Q_OS_ANDROID // QTBUG-95723
|
|
setAttribute(Qt::WA_OpaquePaintEvent);
|
|
#endif
|
|
}
|
|
|
|
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"
|