summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2019-04-16 14:49:46 +0100
committerCaolán McNamara <caolanm@redhat.com>2019-04-17 11:24:11 +0200
commitd17d9500a23705a315992ff42cb7c449894fc2ce (patch)
treec4a64dbde5fb03c3e0d4031fdb2c4645ce57a0d4 /vcl
parent6e204253d4cf3be0b9ad136e922ec4fbb2523fe6 (diff)
tdf#124597 template select dialog launched before parent gets final size
Change-Id: If9f6fa6e072a95381aaf4a539e2081733a0248ec Reviewed-on: https://gerrit.libreoffice.org/70828 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/app/salvtables.cxx12
-rw-r--r--vcl/unx/gtk3/gtk3gtkinst.cxx5
2 files changed, 17 insertions, 0 deletions
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index 310254b1cfeb..59a9ab3b527a 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -970,6 +970,18 @@ public:
return m_xWindow->GetPosPixel();
}
+ virtual void set_centered_on_parent_geometry_request() override
+ {
+ if (vcl::Window* pParent = m_xWidget->GetParent())
+ {
+ Size aParentGeometry(pParent->GetSizePixel());
+ Size aGeometry(m_xWidget->get_preferred_size());
+ auto nX = (aParentGeometry.Width() - aGeometry.Width()) / 2;
+ auto nY = (aParentGeometry.Height() - aGeometry.Height()) / 2;
+ m_xWidget->SetPosPixel(Point(nX, nY));
+ }
+ }
+
virtual bool get_resizable() const override
{
return m_xWindow->GetStyle() & WB_SIZEABLE;
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index 19a3ed29edc4..cb816b751cd9 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -2498,6 +2498,11 @@ public:
return Point(current_x, current_y);
}
+ virtual void set_centered_on_parent_geometry_request() override
+ {
+ gtk_window_set_position(m_pWindow, GTK_WIN_POS_CENTER_ALWAYS);
+ }
+
virtual bool get_resizable() const override
{
return gtk_window_get_resizable(m_pWindow);