From 46142545dea30fe14e829795ad1acca2cc1a6a7a Mon Sep 17 00:00:00 2001 From: Isamu Mogi Date: Sat, 22 Mar 2014 11:48:49 +0900 Subject: fdo#68546 Add menubar's text color of persona to StyleSettings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I376e0b71b71fdbc2eaf2b10adb7792a841cf9098 Reviewed-on: https://gerrit.libreoffice.org/8711 Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- include/vcl/settings.hxx | 3 +++ vcl/source/app/settings.cxx | 20 +++++++++++++++----- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/include/vcl/settings.hxx b/include/vcl/settings.hxx index ad47eef542c9..403ca407a387 100644 --- a/include/vcl/settings.hxx +++ b/include/vcl/settings.hxx @@ -30,6 +30,7 @@ #include #include +#include #include class CollatorWrapper; @@ -521,6 +522,8 @@ public: const BitmapEx GetPersonaHeader() const; + const boost::optional& GetPersonaMenuBarTextColor() const; + // global switch to allow EdgeBlenging; currently possible for ValueSet and ListBox // when activated there using Get/SetEdgeBlending; default is true void SetEdgeBlending(sal_uInt16 nCount); diff --git a/vcl/source/app/settings.cxx b/vcl/source/app/settings.cxx index a03645f022e6..b175108381c0 100644 --- a/vcl/source/app/settings.cxx +++ b/vcl/source/app/settings.cxx @@ -204,6 +204,7 @@ struct ImplStyleData BitmapEx maPersonaHeaderBitmap; ///< Cache the header bitmap. BitmapEx maPersonaFooterBitmap; ///< Cache the footer bitmap. + boost::optional maPersonaMenuBarTextColor; ///< Cache the menubar color. }; @@ -527,7 +528,8 @@ ImplStyleData::ImplStyleData() : mIconThemeSelector(new vcl::IconThemeSelector()), maPersonaHeaderFooter(), maPersonaHeaderBitmap(), - maPersonaFooterBitmap() + maPersonaFooterBitmap(), + maPersonaMenuBarTextColor() { mnScrollBarSize = 16; mnMinThumbSize = 16; @@ -628,7 +630,8 @@ ImplStyleData::ImplStyleData( const ImplStyleData& rData ) : maFrameStyle( rData.maFrameStyle ), maPersonaHeaderFooter( rData.maPersonaHeaderFooter ), maPersonaHeaderBitmap( rData.maPersonaHeaderBitmap ), - maPersonaFooterBitmap( rData.maPersonaFooterBitmap ) + maPersonaFooterBitmap( rData.maPersonaFooterBitmap ), + maPersonaMenuBarTextColor( rData.maPersonaMenuBarTextColor ) { mnBorderSize = rData.mnBorderSize; mnTitleHeight = rData.mnTitleHeight; @@ -2115,7 +2118,7 @@ static BitmapEx readBitmapEx( const OUString& rPath ) enum WhichPersona { PERSONA_HEADER, PERSONA_FOOTER }; /** Update the setting of the Persona header / footer in ImplStyleData */ -static void setupPersonaHeaderFooter( WhichPersona eWhich, OUString& rHeaderFooter, BitmapEx& rHeaderFooterBitmap, Color& maMenuBarTextColor ) +static void setupPersonaHeaderFooter( WhichPersona eWhich, OUString& rHeaderFooter, BitmapEx& rHeaderFooterBitmap, boost::optional& rMenuBarTextColor ) { uno::Reference< uno::XComponentContext > xContext( comphelper::getProcessComponentContext() ); if ( !xContext.is() ) @@ -2132,6 +2135,7 @@ static void setupPersonaHeaderFooter( WhichPersona eWhich, OUString& rHeaderFoot rHeaderFooter = aOldValue; rHeaderFooterBitmap = BitmapEx(); + rMenuBarTextColor = boost::none; // now read the new values and setup bitmaps OUString aHeader, aFooter; @@ -2146,7 +2150,7 @@ static void setupPersonaHeaderFooter( WhichPersona eWhich, OUString& rHeaderFoot if ( nIndex > 0 ) { OUString aColor = aPersonaSettings.getToken( 0, ';', ++nIndex ); - maMenuBarTextColor = Color( aColor.toUInt64( 16 ) ); + rMenuBarTextColor = Color( aColor.toUInt64( 16 ) ); } } else if ( aPersona == "default" ) @@ -2185,10 +2189,16 @@ static void setupPersonaHeaderFooter( WhichPersona eWhich, OUString& rHeaderFoot const BitmapEx StyleSettings::GetPersonaHeader() const { - setupPersonaHeaderFooter( PERSONA_HEADER, mpData->maPersonaHeaderFooter, mpData->maPersonaHeaderBitmap, mpData->maMenuBarTextColor ); + setupPersonaHeaderFooter( PERSONA_HEADER, mpData->maPersonaHeaderFooter, mpData->maPersonaHeaderBitmap, mpData->maPersonaMenuBarTextColor ); return mpData->maPersonaHeaderBitmap; } +const boost::optional& StyleSettings::GetPersonaMenuBarTextColor() const +{ + GetPersonaHeader(); + return mpData->maPersonaMenuBarTextColor; +} + void StyleSettings::SetStandardStyles() { CopyData(); -- cgit