From 4aa66236d69c63b648a966de2e2d7a3f12eed8de Mon Sep 17 00:00:00 2001 From: Aleksei Nikiforov Date: Fri, 14 Dec 2018 12:39:44 +0300 Subject: Qt5: Fix fullscreen window size Allow setting Qt5Object's position and size Change-Id: I9f70b68ff402a3975e36baca4d81103603110d82 Reviewed-on: https://gerrit.libreoffice.org/65309 Reviewed-by: Jan-Marek Glogowski Tested-by: Jenkins --- vcl/qt5/Qt5Object.cxx | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'vcl/qt5/Qt5Object.cxx') diff --git a/vcl/qt5/Qt5Object.cxx b/vcl/qt5/Qt5Object.cxx index 3b68c0746d30..4f0a92da7bf7 100644 --- a/vcl/qt5/Qt5Object.cxx +++ b/vcl/qt5/Qt5Object.cxx @@ -25,10 +25,13 @@ Qt5Object::Qt5Object(Qt5Frame* pParent, bool bShow) : m_pParent(pParent) + , m_pQWidget(nullptr) { if (!m_pParent || !pParent->GetQWidget()) return; - m_pQWidget.reset(new QWidget(pParent->GetQWidget())); + + m_pQWidget = new QWidget(pParent->GetQWidget()); + if (bShow) m_pQWidget->show(); @@ -43,7 +46,7 @@ Qt5Object::Qt5Object(Qt5Frame* pParent, bool bShow) void Qt5Object::ResetClipRegion() { - if (m_pQWidget.get()) + if (m_pQWidget) m_pRegion = QRegion(m_pQWidget->geometry()); else m_pRegion = QRegion(); @@ -58,11 +61,18 @@ void Qt5Object::UnionClipRegion(long nX, long nY, long nWidth, long nHeight) void Qt5Object::EndSetClipRegion() { - if (m_pQWidget.get()) + if (m_pQWidget) m_pRegion = m_pRegion.intersected(m_pQWidget->geometry()); } -void Qt5Object::SetPosSize(long /*nX*/, long /*nY*/, long /*nWidth*/, long /*nHeight*/) {} +void Qt5Object::SetPosSize(long nX, long nY, long nWidth, long nHeight) +{ + if (m_pQWidget) + { + m_pQWidget->move(nX, nY); + m_pQWidget->setFixedSize(nWidth, nHeight); + } +} void Qt5Object::Show(bool bVisible) { -- cgit