starmath/inc/dialog.hxx | 8 ++++++-- starmath/source/dialog.cxx | 9 +++++++-- 2 files changed, 13 insertions(+), 4 deletions(-)
New commits: commit fdeada8c50c3e9126537ceafc649c85dc4be598c Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Fri Mar 29 13:51:50 2019 +0000 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Fri Mar 29 20:14:35 2019 +0100 tdf#124410 re-call SetScrollBarRange when aSymbolSet changes and do the work that depends on size happen at size-changed instead of first-draw Change-Id: Ia2605ba9bb875be9248a009a6f26f01cbbbd4632 Reviewed-on: https://gerrit.libreoffice.org/69928 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> diff --git a/starmath/inc/dialog.hxx b/starmath/inc/dialog.hxx index da6c6eeaf2c5..713ecb5ae8e5 100644 --- a/starmath/inc/dialog.hxx +++ b/starmath/inc/dialog.hxx @@ -259,6 +259,7 @@ class SmShowSymbolSet : public weld::CustomWidgetController virtual void Paint(vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect) override; virtual bool MouseButtonDown(const MouseEvent& rMEvt) override; virtual bool KeyInput(const KeyEvent& rKEvt) override; + virtual void Resize() override; DECL_LINK(ScrollHdl, weld::ScrolledWindow&, void); @@ -268,8 +269,11 @@ public: virtual void SetDrawingArea(weld::DrawingArea* pDrawingArea) override { CustomWidgetController::SetDrawingArea(pDrawingArea); - pDrawingArea->set_size_request(pDrawingArea->get_approximate_digit_width() * 27, - pDrawingArea->get_text_height() * 9); + m_aOldSize = Size(pDrawingArea->get_approximate_digit_width() * 27, + pDrawingArea->get_text_height() * 9); + pDrawingArea->set_size_request(m_aOldSize.Width(), m_aOldSize.Height()); + SetOutputSizePixel(m_aOldSize); + calccols(pDrawingArea->get_ref_device()); } void calccols(const vcl::RenderContext& rRenderContext); diff --git a/starmath/source/dialog.cxx b/starmath/source/dialog.cxx index b8fae68c547a..a9b77d1ca40b 100644 --- a/starmath/source/dialog.cxx +++ b/starmath/source/dialog.cxx @@ -940,15 +940,19 @@ Point SmShowSymbolSet::OffsetPoint(const Point &rPoint) const return Point(rPoint.X() + nXOffset, rPoint.Y() + nYOffset); } -void SmShowSymbolSet::Paint(vcl::RenderContext& rRenderContext, const tools::Rectangle&) +void SmShowSymbolSet::Resize() { + CustomWidgetController::Resize(); Size aWinSize(GetOutputSizePixel()); if (aWinSize != m_aOldSize) { - calccols(rRenderContext); + calccols(GetDrawingArea()->get_ref_device()); m_aOldSize = aWinSize; } +} +void SmShowSymbolSet::Paint(vcl::RenderContext& rRenderContext, const tools::Rectangle&) +{ Color aBackgroundColor; Color aTextColor; lclGetSettingColors(aBackgroundColor, aTextColor); @@ -1088,6 +1092,7 @@ void SmShowSymbolSet::calccols(const vcl::RenderContext& rRenderContext) void SmShowSymbolSet::SetSymbolSet(const SymbolPtrVec_t& rSymbolSet) { aSymbolSet = rSymbolSet; + SetScrollBarRange(); Invalidate(); } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits