summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--examples/player/videowidget.cpp2
-rw-r--r--src/multimediawidgets/qvideowidget.cpp15
2 files changed, 8 insertions, 9 deletions
diff --git a/examples/player/videowidget.cpp b/examples/player/videowidget.cpp
index 0b2d70903..1dfbf94c0 100644
--- a/examples/player/videowidget.cpp
+++ b/examples/player/videowidget.cpp
@@ -57,7 +57,7 @@ VideoWidget::VideoWidget(QWidget *parent)
void VideoWidget::keyPressEvent(QKeyEvent *event)
{
if (event->key() == Qt::Key_Escape && isFullScreen()) {
- showNormal();
+ setFullScreen(false);
event->accept();
} else if (event->key() == Qt::Key_Enter && event->modifiers() & Qt::Key_Alt) {
diff --git a/src/multimediawidgets/qvideowidget.cpp b/src/multimediawidgets/qvideowidget.cpp
index a5670d24c..031193df4 100644
--- a/src/multimediawidgets/qvideowidget.cpp
+++ b/src/multimediawidgets/qvideowidget.cpp
@@ -720,9 +720,9 @@ void QVideoWidget::setFullScreen(bool fullScreen)
{
Q_D(QVideoWidget);
- if (fullScreen) {
- Qt::WindowFlags flags = windowFlags();
+ Qt::WindowFlags flags = windowFlags();
+ if (fullScreen) {
d->nonFullScreenFlags = flags & (Qt::Window | Qt::SubWindow);
flags |= Qt::Window;
flags &= ~Qt::SubWindow;
@@ -730,6 +730,10 @@ void QVideoWidget::setFullScreen(bool fullScreen)
showFullScreen();
} else {
+ flags &= ~(Qt::Window | Qt::SubWindow); //clear the flags...
+ flags |= d->nonFullScreenFlags; //then we reset the flags (window and subwindow)
+ setWindowFlags(flags);
+
showNormal();
}
}
@@ -910,13 +914,8 @@ bool QVideoWidget::event(QEvent *event)
if (d->currentControl)
d->currentControl->setFullScreen(false);
- if (d->wasFullScreen) {
- flags &= ~(Qt::Window | Qt::SubWindow); //clear the flags...
- flags |= d->nonFullScreenFlags; //then we reset the flags (window and subwindow)
- setWindowFlags(flags);
-
+ if (d->wasFullScreen)
emit fullScreenChanged(d->wasFullScreen = false);
- }
}
}
return QWidget::event(event);