Kaydet (Commit) f9c94cfd authored tarafından Jan-Marek Glogowski's avatar Jan-Marek Glogowski

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 ea191cf9
("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: 's avatarJan-Marek Glogowski <glogow@fbihome.de>
üst 78523a2d
......@@ -183,16 +183,6 @@ Color const & EditEngine::GetBackgroundColor() const
return pImpEditEngine->GetBackgroundColor();
}
void EditEngine::SetTextColor( const Color& rColor )
{
pImpEditEngine->SetTextColor( rColor );
}
Color const & EditEngine::GetTextColor() const
{
return pImpEditEngine->GetTextColor();
}
Color EditEngine::GetAutoColor() const
{
return pImpEditEngine->GetAutoColor();
......
......@@ -463,7 +463,6 @@ private:
EditSelectionEngine aSelEngine;
Color maBackgroundColor;
Color maTextColor;
sal_uInt16 nStretchX;
sal_uInt16 nStretchY;
......@@ -679,9 +678,6 @@ private:
void SetBackgroundColor( const Color& rColor ) { maBackgroundColor = rColor; }
const Color& GetBackgroundColor() const { return maBackgroundColor; }
void SetTextColor( const Color& rColor ) { maTextColor = rColor; }
const Color& GetTextColor() const { return maTextColor; }
long CalcVertLineSpacing(Point& rStartPos) const;
Color GetAutoColor() const;
......
......@@ -124,7 +124,6 @@ ImpEditEngine::ImpEditEngine( EditEngine* pEE, SfxItemPool* pItemPool ) :
eDefLanguage = LANGUAGE_DONTKNOW;
maBackgroundColor = COL_AUTO;
maTextColor = COL_AUTO;
nAsianCompressionMode = CharCompressType::NONE;
......
......@@ -4418,9 +4418,7 @@ Reference < i18n::XExtendedInputSequenceChecker > const & ImpEditEngine::ImplGet
Color ImpEditEngine::GetAutoColor() const
{
Color aColor = GetTextColor();
if ( aColor == COL_AUTO )
aColor = GetColorConfig().GetColorValue(svtools::FONTCOLOR).nColor;
Color aColor = GetColorConfig().GetColorValue(svtools::FONTCOLOR).nColor;
if ( GetBackgroundColor() != COL_AUTO )
{
......
......@@ -216,8 +216,6 @@ public:
void SetBackgroundColor( const Color& rColor );
Color const & GetBackgroundColor() const;
void SetTextColor( const Color& rColor );
Color const & GetTextColor() const;
Color GetAutoColor() const;
void EnableAutoColor( bool b );
void ForceAutoColor( bool b );
......
......@@ -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
......
......@@ -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;
......
......@@ -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(
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment