summaryrefslogtreecommitdiffstats
path: root/examples/webenginewidgets/demobrowser/tabwidget.cpp
diff options
context:
space:
mode:
authorIonut Alexandrescu <ionut.alexandrescu@qt.io>2017-02-06 11:24:16 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2017-03-01 22:25:48 +0000
commit352115e2aeb8ba8c2bf4897f40b9e26555b7c80c (patch)
treea80008f86ed9ff1152c94a4330e78b6f9d26b826 /examples/webenginewidgets/demobrowser/tabwidget.cpp
parent8f6749aa3a3d0e78ccdd5c2c816b0fc80027598d (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.cpp20
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);
}
}