From 352115e2aeb8ba8c2bf4897f40b9e26555b7c80c Mon Sep 17 00:00:00 2001 From: Ionut Alexandrescu Date: Mon, 6 Feb 2017 11:24:16 +0100 Subject: Fix webengine demobrowser example fullScreenNotification is a child of fullScreenView and should not be deleted. On multiscreen systems, the fullScreenView window was always shown on the main monitor Restore the main window position Change-Id: I2c940306d06668ad52a2388832ceb48b4791779d Reviewed-by: Michal Klocek --- examples/webenginewidgets/demobrowser/tabwidget.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'examples/webenginewidgets/demobrowser/tabwidget.cpp') diff --git a/examples/webenginewidgets/demobrowser/tabwidget.cpp b/examples/webenginewidgets/demobrowser/tabwidget.cpp index e684d3757..c877e021e 100644 --- a/examples/webenginewidgets/demobrowser/tabwidget.cpp +++ b/examples/webenginewidgets/demobrowser/tabwidget.cpp @@ -97,12 +97,6 @@ TabBar::TabBar(QWidget *parent) setMovable(true); } -TabWidget::~TabWidget() -{ - delete m_fullScreenNotification; - delete m_fullScreenView; -} - void TabBar::selectTabAction() { if (QShortcut *shortCut = qobject_cast(sender())) { @@ -327,6 +321,12 @@ TabWidget::TabWidget(QWidget *parent) m_lineEdits = new QStackedWidget(this); } +TabWidget::~TabWidget() +{ + if (m_fullScreenView) + delete m_fullScreenView; +} + void TabWidget::clear() { // clear the recently closed tabs @@ -430,23 +430,23 @@ void TabWidget::fullScreenRequested(QWebEngineFullScreenRequest request) }); m_fullScreenView->addAction(exitFullScreenAction); } + m_oldWindowGeometry = window()->geometry(); + m_fullScreenView->setGeometry(m_oldWindowGeometry); webPage->setView(m_fullScreenView); request.accept(); m_fullScreenView->showFullScreen(); - m_fullScreenView->raise(); m_fullScreenNotification->show(); + window()->hide(); } else { if (!m_fullScreenView) return; WebView *oldWebView = this->webView(m_lineEdits->currentIndex()); webPage->setView(oldWebView); request.accept(); - // Change the delete and window hide/show back to a simple m_fullScreenView->hide() - // once QTBUG-46701 gets fixed. delete m_fullScreenView; m_fullScreenView = 0; - window()->hide(); window()->show(); + window()->setGeometry(m_oldWindowGeometry); } } -- cgit v1.2.3