Kaydet (Commit) 46142545 authored tarafından Isamu Mogi's avatar Isamu Mogi Kaydeden (comit) Caolán McNamara

fdo#68546 Add menubar's text color of persona to StyleSettings

Change-Id: I376e0b71b71fdbc2eaf2b10adb7792a841cf9098
Reviewed-on: https://gerrit.libreoffice.org/8711Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst 1d8f8c55
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
#include <i18nlangtag/languagetag.hxx> #include <i18nlangtag/languagetag.hxx>
#include <unotools/syslocale.hxx> #include <unotools/syslocale.hxx>
#include <boost/optional.hpp>
#include <boost/shared_ptr.hpp> #include <boost/shared_ptr.hpp>
class CollatorWrapper; class CollatorWrapper;
...@@ -521,6 +522,8 @@ public: ...@@ -521,6 +522,8 @@ public:
const BitmapEx GetPersonaHeader() const; const BitmapEx GetPersonaHeader() const;
const boost::optional<Color>& GetPersonaMenuBarTextColor() const;
// global switch to allow EdgeBlenging; currently possible for ValueSet and ListBox // global switch to allow EdgeBlenging; currently possible for ValueSet and ListBox
// when activated there using Get/SetEdgeBlending; default is true // when activated there using Get/SetEdgeBlending; default is true
void SetEdgeBlending(sal_uInt16 nCount); void SetEdgeBlending(sal_uInt16 nCount);
......
...@@ -204,6 +204,7 @@ struct ImplStyleData ...@@ -204,6 +204,7 @@ struct ImplStyleData
BitmapEx maPersonaHeaderBitmap; ///< Cache the header bitmap. BitmapEx maPersonaHeaderBitmap; ///< Cache the header bitmap.
BitmapEx maPersonaFooterBitmap; ///< Cache the footer bitmap. BitmapEx maPersonaFooterBitmap; ///< Cache the footer bitmap.
boost::optional<Color> maPersonaMenuBarTextColor; ///< Cache the menubar color.
}; };
...@@ -527,7 +528,8 @@ ImplStyleData::ImplStyleData() : ...@@ -527,7 +528,8 @@ ImplStyleData::ImplStyleData() :
mIconThemeSelector(new vcl::IconThemeSelector()), mIconThemeSelector(new vcl::IconThemeSelector()),
maPersonaHeaderFooter(), maPersonaHeaderFooter(),
maPersonaHeaderBitmap(), maPersonaHeaderBitmap(),
maPersonaFooterBitmap() maPersonaFooterBitmap(),
maPersonaMenuBarTextColor()
{ {
mnScrollBarSize = 16; mnScrollBarSize = 16;
mnMinThumbSize = 16; mnMinThumbSize = 16;
...@@ -628,7 +630,8 @@ ImplStyleData::ImplStyleData( const ImplStyleData& rData ) : ...@@ -628,7 +630,8 @@ ImplStyleData::ImplStyleData( const ImplStyleData& rData ) :
maFrameStyle( rData.maFrameStyle ), maFrameStyle( rData.maFrameStyle ),
maPersonaHeaderFooter( rData.maPersonaHeaderFooter ), maPersonaHeaderFooter( rData.maPersonaHeaderFooter ),
maPersonaHeaderBitmap( rData.maPersonaHeaderBitmap ), maPersonaHeaderBitmap( rData.maPersonaHeaderBitmap ),
maPersonaFooterBitmap( rData.maPersonaFooterBitmap ) maPersonaFooterBitmap( rData.maPersonaFooterBitmap ),
maPersonaMenuBarTextColor( rData.maPersonaMenuBarTextColor )
{ {
mnBorderSize = rData.mnBorderSize; mnBorderSize = rData.mnBorderSize;
mnTitleHeight = rData.mnTitleHeight; mnTitleHeight = rData.mnTitleHeight;
...@@ -2115,7 +2118,7 @@ static BitmapEx readBitmapEx( const OUString& rPath ) ...@@ -2115,7 +2118,7 @@ static BitmapEx readBitmapEx( const OUString& rPath )
enum WhichPersona { PERSONA_HEADER, PERSONA_FOOTER }; enum WhichPersona { PERSONA_HEADER, PERSONA_FOOTER };
/** Update the setting of the Persona header / footer in ImplStyleData */ /** 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<Color>& rMenuBarTextColor )
{ {
uno::Reference< uno::XComponentContext > xContext( comphelper::getProcessComponentContext() ); uno::Reference< uno::XComponentContext > xContext( comphelper::getProcessComponentContext() );
if ( !xContext.is() ) if ( !xContext.is() )
...@@ -2132,6 +2135,7 @@ static void setupPersonaHeaderFooter( WhichPersona eWhich, OUString& rHeaderFoot ...@@ -2132,6 +2135,7 @@ static void setupPersonaHeaderFooter( WhichPersona eWhich, OUString& rHeaderFoot
rHeaderFooter = aOldValue; rHeaderFooter = aOldValue;
rHeaderFooterBitmap = BitmapEx(); rHeaderFooterBitmap = BitmapEx();
rMenuBarTextColor = boost::none;
// now read the new values and setup bitmaps // now read the new values and setup bitmaps
OUString aHeader, aFooter; OUString aHeader, aFooter;
...@@ -2146,7 +2150,7 @@ static void setupPersonaHeaderFooter( WhichPersona eWhich, OUString& rHeaderFoot ...@@ -2146,7 +2150,7 @@ static void setupPersonaHeaderFooter( WhichPersona eWhich, OUString& rHeaderFoot
if ( nIndex > 0 ) if ( nIndex > 0 )
{ {
OUString aColor = aPersonaSettings.getToken( 0, ';', ++nIndex ); OUString aColor = aPersonaSettings.getToken( 0, ';', ++nIndex );
maMenuBarTextColor = Color( aColor.toUInt64( 16 ) ); rMenuBarTextColor = Color( aColor.toUInt64( 16 ) );
} }
} }
else if ( aPersona == "default" ) else if ( aPersona == "default" )
...@@ -2185,10 +2189,16 @@ static void setupPersonaHeaderFooter( WhichPersona eWhich, OUString& rHeaderFoot ...@@ -2185,10 +2189,16 @@ static void setupPersonaHeaderFooter( WhichPersona eWhich, OUString& rHeaderFoot
const BitmapEx StyleSettings::GetPersonaHeader() const 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; return mpData->maPersonaHeaderBitmap;
} }
const boost::optional<Color>& StyleSettings::GetPersonaMenuBarTextColor() const
{
GetPersonaHeader();
return mpData->maPersonaMenuBarTextColor;
}
void StyleSettings::SetStandardStyles() void StyleSettings::SetStandardStyles()
{ {
CopyData(); CopyData();
......
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