cui/source/dialogs/SpellDialog.cxx |   13 +++++++++++++
 cui/source/inc/SpellDialog.hxx     |    3 +++
 2 files changed, 16 insertions(+)

New commits:
commit 667e2c452998006db1ce009da9fec7f609018145
Author:     Caolán McNamara <caolan.mcnam...@collabora.com>
AuthorDate: Fri Mar 29 16:22:10 2024 +0000
Commit:     Adolfo Jayme Barrientos <fit...@ubuntu.com>
CommitDate: Sat Mar 30 14:56:25 2024 +0100

    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 <fit...@ubuntu.com>

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 ---------------------------------------------

Reply via email to