diff options
author | Jan-Marek Glogowski <glogow@fbihome.de> | 2019-05-12 13:19:56 +0000 |
---|---|---|
committer | Jan-Marek Glogowski <glogow@fbihome.de> | 2019-05-15 19:37:58 +0200 |
commit | f9c94cfdde6c0af621cf80467a9d83c789699093 (patch) | |
tree | cefdc576502e46dca563399ba4cbbd621d9a416e /starmath | |
parent | 78523a2d03c95843c417c869bc90e14cfd267bcb (diff) |
tdf#90297 set default SmEditWindow background
This implements ApplySetting for the proper background of the
undocked SfxDockingWindow.
In addition, like all other code, this sets the text color via
the EditEngine font objects and therefore reverts the uneeded
EditEngine interface from the original commit ea191cf9807d
("tdf#90297 use field colors for math's edit engine").
Change-Id: Ib7df4ce730da92a1e41f58b8348a5aec18208166
Reviewed-on: https://gerrit.libreoffice.org/72312
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Diffstat (limited to 'starmath')
-rw-r--r-- | starmath/inc/document.hxx | 2 | ||||
-rw-r--r-- | starmath/inc/edit.hxx | 1 | ||||
-rw-r--r-- | starmath/source/document.cxx | 8 | ||||
-rw-r--r-- | starmath/source/edit.cxx | 12 |
4 files changed, 14 insertions, 9 deletions
diff --git a/starmath/inc/document.hxx b/starmath/inc/document.hxx index ec4b016f12b9..2e2c7fab4211 100644 --- a/starmath/inc/document.hxx +++ b/starmath/inc/document.hxx @@ -215,7 +215,7 @@ public: void writeFormulaRtf(OStringBuffer& rBuffer, rtl_TextEncoding nEncoding); void readFormulaOoxml( oox::formulaimport::XmlStream& stream ); - void UpdateEditEngineDefaultFonts(); + void UpdateEditEngineDefaultFonts(const Color& aTextColor); }; #endif diff --git a/starmath/inc/edit.hxx b/starmath/inc/edit.hxx index 858360b32e87..45d130b0c658 100644 --- a/starmath/inc/edit.hxx +++ b/starmath/inc/edit.hxx @@ -61,6 +61,7 @@ class SmEditWindow : public vcl::Window, public DropTargetHelper DECL_LINK(ModifyTimerHdl, Timer *, void); DECL_LINK(CursorMoveTimerHdl, Timer *, void); + virtual void ApplySettings(vcl::RenderContext&) override; virtual void DataChanged( const DataChangedEvent& ) override; virtual void Resize() override; virtual void MouseMove(const MouseEvent &rEvt) override; diff --git a/starmath/source/document.cxx b/starmath/source/document.cxx index 965702e1d5a4..bec09afd3163 100644 --- a/starmath/source/document.cxx +++ b/starmath/source/document.cxx @@ -275,7 +275,7 @@ void SmDocShell::ArrangeFormula() maAccText.clear(); } -void SmDocShell::UpdateEditEngineDefaultFonts() +void SmDocShell::UpdateEditEngineDefaultFonts(const Color& aTextColor) { assert(mpEditEngineItemPool); if (!mpEditEngineItemPool) @@ -310,6 +310,7 @@ void SmDocShell::UpdateEditEngineDefaultFonts() rFntDta.nFallbackLang : rFntDta.nLang; vcl::Font aFont = OutputDevice::GetDefaultFont( rFntDta.nFontType, nLang, GetDefaultFontFlags::OnlyOne ); + aFont.SetColor(aTextColor); mpEditEngineItemPool->SetPoolDefaultItem( SvxFontItem( aFont.GetFamilyType(), aFont.GetFamilyName(), aFont.GetStyleName(), aFont.GetPitch(), aFont.GetCharSet(), @@ -338,7 +339,8 @@ EditEngine& SmDocShell::GetEditEngine() mpEditEngineItemPool = EditEngine::CreatePool(); - UpdateEditEngineDefaultFonts(); + const StyleSettings& rStyleSettings = Application::GetDefaultDevice()->GetSettings().GetStyleSettings(); + UpdateEditEngineDefaultFonts(rStyleSettings.GetFieldTextColor()); mpEditEngine.reset( new EditEngine( mpEditEngineItemPool ) ); @@ -348,8 +350,6 @@ EditEngine& SmDocShell::GetEditEngine() mpEditEngine->SetDefTab( sal_uInt16( Application::GetDefaultDevice()->GetTextWidth("XXXX")) ); - const StyleSettings& rStyleSettings = Application::GetDefaultDevice()->GetSettings().GetStyleSettings(); - mpEditEngine->SetTextColor(rStyleSettings.GetFieldTextColor()); mpEditEngine->SetBackgroundColor(rStyleSettings.GetFieldColor()); mpEditEngine->SetControlWord( diff --git a/starmath/source/edit.cxx b/starmath/source/edit.cxx index 76c10fe6536d..643ef04a1960 100644 --- a/starmath/source/edit.cxx +++ b/starmath/source/edit.cxx @@ -188,6 +188,12 @@ EditEngine * SmEditWindow::GetEditEngine() return pEditEng; } +void SmEditWindow::ApplySettings(vcl::RenderContext& rRenderContext) +{ + const StyleSettings& rStyleSettings = GetSettings().GetStyleSettings(); + rRenderContext.SetBackground(rStyleSettings.GetWindowColor()); +} + void SmEditWindow::DataChanged( const DataChangedEvent& rDCEvt ) { Window::DataChanged( rDCEvt ); @@ -208,11 +214,9 @@ void SmEditWindow::DataChanged( const DataChangedEvent& rDCEvt ) //! const StyleSettings& rStyleSettings = GetSettings().GetStyleSettings(); - pDoc->UpdateEditEngineDefaultFonts(); - - pEditEngine->SetDefTab(sal_uInt16(GetTextWidth("XXXX"))); - pEditEngine->SetTextColor(rStyleSettings.GetFieldTextColor()); + pDoc->UpdateEditEngineDefaultFonts(rStyleSettings.GetFieldTextColor()); pEditEngine->SetBackgroundColor(rStyleSettings.GetFieldColor()); + pEditEngine->SetDefTab(sal_uInt16(GetTextWidth("XXXX"))); // forces new settings to be used // unfortunately this resets the whole edit engine |