diff options
author | Ionut Alexandrescu <ionut.alexandrescu@qt.io> | 2017-02-06 11:24:16 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-03-01 22:25:48 +0000 |
commit | 352115e2aeb8ba8c2bf4897f40b9e26555b7c80c (patch) | |
tree | a80008f86ed9ff1152c94a4330e78b6f9d26b826 /examples/webenginewidgets/demobrowser/tabwidget.cpp | |
parent | 8f6749aa3a3d0e78ccdd5c2c816b0fc80027598d (diff) |
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 <michal.klocek@qt.io>
Diffstat (limited to 'examples/webenginewidgets/demobrowser/tabwidget.cpp')
-rw-r--r-- | examples/webenginewidgets/demobrowser/tabwidget.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
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<QShortcut*>(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); } } |