diff options
author | Caolán McNamara <caolan.mcnamara@collabora.com> | 2024-03-29 16:22:10 +0000 |
---|---|---|
committer | Adolfo Jayme Barrientos <fitojb@ubuntu.com> | 2024-03-30 14:56:25 +0100 |
commit | 667e2c452998006db1ce009da9fec7f609018145 (patch) | |
tree | 999069cd795ed64fb3effed3ca6ec5b45f7c11dc | |
parent | 9e3b18de8d948782438ae9cc095b3aa07767b1ff (diff) |
Resolves: tdf#160159 update spellchecking area colors when style changes
so for the case of using "automatic" for the document background the
spelling checking textbox background area updates to match
Change-Id: I8723afb946176596b0a5fa43aa3bb3c036dee12c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165476
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
-rw-r--r-- | cui/source/dialogs/SpellDialog.cxx | 13 | ||||
-rw-r--r-- | cui/source/inc/SpellDialog.hxx | 3 |
2 files changed, 16 insertions, 0 deletions
diff --git a/cui/source/dialogs/SpellDialog.cxx b/cui/source/dialogs/SpellDialog.cxx index dfdad984ec41..9dd877f80cf9 100644 --- a/cui/source/dialogs/SpellDialog.cxx +++ b/cui/source/dialogs/SpellDialog.cxx @@ -1152,6 +1152,13 @@ void SentenceEditWindow_Impl::SetDrawingArea(weld::DrawingArea* pDrawingArea) m_xEditEngine->SetStatusEventHdl(LINK(this, SentenceEditWindow_Impl, EditStatusHdl)); + SetDocumentColor(pDrawingArea); +} + +void SentenceEditWindow_Impl::SetDocumentColor(weld::DrawingArea* pDrawingArea) +{ + if (!pDrawingArea || !m_xEditView || !m_xEditEngine) + return; // tdf#142631 use document background color in this widget Color aBgColor = svtools::ColorConfig().GetColorValue(svtools::DOCCOLOR).nColor; OutputDevice& rDevice = pDrawingArea->get_ref_device(); @@ -1160,6 +1167,12 @@ void SentenceEditWindow_Impl::SetDrawingArea(weld::DrawingArea* pDrawingArea) m_xEditEngine->SetBackgroundColor(aBgColor); } +void SentenceEditWindow_Impl::StyleUpdated() +{ + SetDocumentColor(GetDrawingArea()); + WeldEditView::StyleUpdated(); +} + IMPL_LINK_NOARG(SentenceEditWindow_Impl, EditStatusHdl, EditStatus&, void) { SetScrollBarRange(); diff --git a/cui/source/inc/SpellDialog.hxx b/cui/source/inc/SpellDialog.hxx index fdf5e81bcdf3..81d68e214314 100644 --- a/cui/source/inc/SpellDialog.hxx +++ b/cui/source/inc/SpellDialog.hxx @@ -71,6 +71,7 @@ private: protected: virtual bool KeyInput( const KeyEvent& rKEvt ) override; + virtual void StyleUpdated() override; public: SentenceEditWindow_Impl(std::unique_ptr<weld::ScrolledWindow> xScrolledWindow); @@ -120,6 +121,8 @@ public: void MoveErrorEnd(tools::Long nOffset); void ResetIgnoreErrorsAt() { m_aIgnoreErrorsAt.clear(); } + + void SetDocumentColor(weld::DrawingArea* pDrawingArea); }; // class SvxSpellDialog --------------------------------------------- |