Kaydet (Commit) 6e0bdf04 authored tarafından Caolán McNamara's avatar Caolán McNamara

sal_Bool arg of SetUseImagesInMenus was abused to squeeze '2' through it

which means that icons suddenly reappeared in the menus when the gtk
theme had disabled them

ref e8f8f24c

Change-Id: Ia9aef5ca39bda2ddf6d7c4ebc2bddc01d470d09b
üst a8fad94e
...@@ -752,7 +752,9 @@ sal_Bool OfaViewTabPage::FillItemSet( SfxItemSet& ) ...@@ -752,7 +752,9 @@ sal_Bool OfaViewTabPage::FillItemSet( SfxItemSet& )
if(m_pMenuIconsLB->GetSelectEntryPos() != m_pMenuIconsLB->GetSavedValue()) if(m_pMenuIconsLB->GetSelectEntryPos() != m_pMenuIconsLB->GetSavedValue())
{ {
aMenuOpt.SetMenuIconsState( m_pMenuIconsLB->GetSelectEntryPos() == 0 ? 2 : m_pMenuIconsLB->GetSelectEntryPos() - 1); aMenuOpt.SetMenuIconsState(m_pMenuIconsLB->GetSelectEntryPos() == 0 ?
TRISTATE_INDET :
static_cast<TriState>(m_pMenuIconsLB->GetSelectEntryPos() - 1));
bModified = sal_True; bModified = sal_True;
bMenuOptModified = sal_True; bMenuOptModified = sal_True;
bAppearanceChanged = sal_True; bAppearanceChanged = sal_True;
......
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
#include <svtools/svtdllapi.h> #include <svtools/svtdllapi.h>
#include <sal/types.h> #include <sal/types.h>
#include <tools/gen.hxx>
#include <osl/mutex.hxx> #include <osl/mutex.hxx>
#include <unotools/options.hxx> #include <unotools/options.hxx>
...@@ -87,8 +88,8 @@ class SVT_DLLPUBLIC SAL_WARN_UNUSED SvtMenuOptions: public utl::detail::Options ...@@ -87,8 +88,8 @@ class SVT_DLLPUBLIC SAL_WARN_UNUSED SvtMenuOptions: public utl::detail::Options
*//*-*****************************************************************************************************/ *//*-*****************************************************************************************************/
sal_Bool IsEntryHidingEnabled() const; sal_Bool IsEntryHidingEnabled() const;
sal_Int16 GetMenuIconsState() const; TriState GetMenuIconsState() const;
void SetMenuIconsState( sal_Int16 bState ); void SetMenuIconsState(TriState eState);
private: private:
......
...@@ -338,7 +338,7 @@ private: ...@@ -338,7 +338,7 @@ private:
bool mbHighContrast; bool mbHighContrast;
bool mbUseSystemUIFonts; bool mbUseSystemUIFonts;
sal_uInt16 mnAutoMnemonic; sal_uInt16 mnAutoMnemonic;
TriState mnUseImagesInMenus; TriState meUseImagesInMenus;
bool mnUseFlatBorders; bool mnUseFlatBorders;
bool mbPreferredUseImagesInMenus; bool mbPreferredUseImagesInMenus;
long mnMinThumbSize; long mnMinThumbSize;
...@@ -648,18 +648,18 @@ public: ...@@ -648,18 +648,18 @@ public:
{ CopyData(); mpData->mnUseFlatMenus = bUseFlatMenus; } { CopyData(); mpData->mnUseFlatMenus = bUseFlatMenus; }
bool GetUseFlatMenus() const bool GetUseFlatMenus() const
{ return mpData->mnUseFlatMenus; } { return mpData->mnUseFlatMenus; }
void SetUseImagesInMenus( bool bUseImagesInMenus ) void SetUseImagesInMenus( TriState eUseImagesInMenus )
{ CopyData(); mpData->mnUseImagesInMenus = bUseImagesInMenus ? TRISTATE_TRUE : TRISTATE_FALSE; } { CopyData(); mpData->meUseImagesInMenus = eUseImagesInMenus; }
bool GetUseImagesInMenus() const; bool GetUseImagesInMenus() const;
void SetPreferredUseImagesInMenus( bool bPreferredUseImagesInMenus ) void SetPreferredUseImagesInMenus( bool bPreferredUseImagesInMenus )
{ CopyData(); mpData->mbPreferredUseImagesInMenus = bPreferredUseImagesInMenus; } { CopyData(); mpData->mbPreferredUseImagesInMenus = bPreferredUseImagesInMenus; }
bool GetPreferredUseImagesInMenus() const bool GetPreferredUseImagesInMenus() const
{ return mpData->mbPreferredUseImagesInMenus; } { return mpData->mbPreferredUseImagesInMenus; }
void SetSkipDisabledInMenus( bool bSkipDisabledInMenus ) void SetSkipDisabledInMenus( bool bSkipDisabledInMenus )
{ CopyData(); mpData->mbSkipDisabledInMenus = bSkipDisabledInMenus; } { CopyData(); mpData->mbSkipDisabledInMenus = bSkipDisabledInMenus; }
bool GetSkipDisabledInMenus() const bool GetSkipDisabledInMenus() const
{ return mpData->mbSkipDisabledInMenus; } { return mpData->mbSkipDisabledInMenus; }
void SetHideDisabledMenuItems( bool bHideDisabledMenuItems ) void SetHideDisabledMenuItems( bool bHideDisabledMenuItems )
{ CopyData(); mpData->mbHideDisabledMenuItems = bHideDisabledMenuItems; } { CopyData(); mpData->mbHideDisabledMenuItems = bHideDisabledMenuItems; }
bool GetHideDisabledMenuItems() const bool GetHideDisabledMenuItems() const
{ return mpData->mbHideDisabledMenuItems; } { return mpData->mbHideDisabledMenuItems; }
......
...@@ -43,7 +43,7 @@ using namespace ::com::sun::star::uno ; ...@@ -43,7 +43,7 @@ using namespace ::com::sun::star::uno ;
#define ROOTNODE_MENU OUString("Office.Common/View/Menu" ) #define ROOTNODE_MENU OUString("Office.Common/View/Menu" )
#define DEFAULT_DONTHIDEDISABLEDENTRIES sal_False #define DEFAULT_DONTHIDEDISABLEDENTRIES sal_False
#define DEFAULT_FOLLOWMOUSE sal_True #define DEFAULT_FOLLOWMOUSE sal_True
#define DEFAULT_MENUICONS 2 #define DEFAULT_MENUICONS TRISTATE_INDET
#define PROPERTYNAME_DONTHIDEDISABLEDENTRIES OUString("DontHideDisabledEntry" ) #define PROPERTYNAME_DONTHIDEDISABLEDENTRIES OUString("DontHideDisabledEntry" )
#define PROPERTYNAME_FOLLOWMOUSE OUString("FollowMouse" ) #define PROPERTYNAME_FOLLOWMOUSE OUString("FollowMouse" )
...@@ -73,7 +73,7 @@ class SvtMenuOptions_Impl : public ConfigItem ...@@ -73,7 +73,7 @@ class SvtMenuOptions_Impl : public ConfigItem
::std::list<Link> aList; ::std::list<Link> aList;
sal_Bool m_bDontHideDisabledEntries ; /// cache "DontHideDisabledEntries" of Menu section sal_Bool m_bDontHideDisabledEntries ; /// cache "DontHideDisabledEntries" of Menu section
sal_Bool m_bFollowMouse ; /// cache "FollowMouse" of Menu section sal_Bool m_bFollowMouse ; /// cache "FollowMouse" of Menu section
sal_Int16 m_nMenuIcons ; /// cache "MenuIcons" of Menu section TriState m_eMenuIcons ; /// cache "MenuIcons" of Menu section
// public methods // public methods
...@@ -149,8 +149,8 @@ class SvtMenuOptions_Impl : public ConfigItem ...@@ -149,8 +149,8 @@ class SvtMenuOptions_Impl : public ConfigItem
sal_Bool IsFollowMouseEnabled() const sal_Bool IsFollowMouseEnabled() const
{ return m_bFollowMouse; } { return m_bFollowMouse; }
sal_Int16 GetMenuIconsState() const TriState GetMenuIconsState() const
{ return m_nMenuIcons; } { return m_eMenuIcons; }
void SetEntryHidingState ( sal_Bool bState ) void SetEntryHidingState ( sal_Bool bState )
{ {
...@@ -170,9 +170,9 @@ class SvtMenuOptions_Impl : public ConfigItem ...@@ -170,9 +170,9 @@ class SvtMenuOptions_Impl : public ConfigItem
Commit(); Commit();
} }
void SetMenuIconsState ( sal_Int16 nState ) void SetMenuIconsState(TriState eState)
{ {
m_nMenuIcons = nState; m_eMenuIcons = eState;
SetModified(); SetModified();
for ( ::std::list<Link>::const_iterator iter = aList.begin(); iter != aList.end(); ++iter ) for ( ::std::list<Link>::const_iterator iter = aList.begin(); iter != aList.end(); ++iter )
iter->Call( this ); iter->Call( this );
...@@ -210,7 +210,7 @@ SvtMenuOptions_Impl::SvtMenuOptions_Impl() ...@@ -210,7 +210,7 @@ SvtMenuOptions_Impl::SvtMenuOptions_Impl()
// Init member then. // Init member then.
, m_bDontHideDisabledEntries ( DEFAULT_DONTHIDEDISABLEDENTRIES ) , m_bDontHideDisabledEntries ( DEFAULT_DONTHIDEDISABLEDENTRIES )
, m_bFollowMouse ( DEFAULT_FOLLOWMOUSE ) , m_bFollowMouse ( DEFAULT_FOLLOWMOUSE )
, m_nMenuIcons ( DEFAULT_MENUICONS ) , m_eMenuIcons ( DEFAULT_MENUICONS )
{ {
// Use our static list of configuration keys to get his values. // Use our static list of configuration keys to get his values.
Sequence< OUString > seqNames = impl_GetPropertyNames(); Sequence< OUString > seqNames = impl_GetPropertyNames();
...@@ -223,12 +223,12 @@ SvtMenuOptions_Impl::SvtMenuOptions_Impl() ...@@ -223,12 +223,12 @@ SvtMenuOptions_Impl::SvtMenuOptions_Impl()
sal_Bool bMenuIcons = sal_True; sal_Bool bMenuIcons = sal_True;
sal_Bool bSystemMenuIcons = sal_True; sal_Bool bSystemMenuIcons = sal_True;
if (m_nMenuIcons == 2) if (m_eMenuIcons == TRISTATE_INDET)
bMenuIcons = (sal_Bool)(Application::GetSettings().GetStyleSettings().GetPreferredUseImagesInMenus()); bMenuIcons = (sal_Bool)(Application::GetSettings().GetStyleSettings().GetPreferredUseImagesInMenus());
else else
{ {
bSystemMenuIcons = sal_False; bSystemMenuIcons = sal_False;
bMenuIcons = m_nMenuIcons ? sal_True : sal_False; bMenuIcons = m_eMenuIcons ? sal_True : sal_False;
} }
// Copy values from list in right order to our internal member. // Copy values from list in right order to our internal member.
...@@ -269,7 +269,7 @@ SvtMenuOptions_Impl::SvtMenuOptions_Impl() ...@@ -269,7 +269,7 @@ SvtMenuOptions_Impl::SvtMenuOptions_Impl()
} }
} }
m_nMenuIcons = bSystemMenuIcons ? 2 : bMenuIcons; m_eMenuIcons = bSystemMenuIcons ? TRISTATE_INDET : static_cast<TriState>(bMenuIcons);
EnableNotification( seqNames ); EnableNotification( seqNames );
} }
...@@ -301,12 +301,12 @@ void SvtMenuOptions_Impl::Notify( const Sequence< OUString >& seqPropertyNames ) ...@@ -301,12 +301,12 @@ void SvtMenuOptions_Impl::Notify( const Sequence< OUString >& seqPropertyNames )
bool bMenuSettingsChanged = false; bool bMenuSettingsChanged = false;
sal_Bool bMenuIcons = sal_True; sal_Bool bMenuIcons = sal_True;
sal_Bool bSystemMenuIcons = sal_True; sal_Bool bSystemMenuIcons = sal_True;
if (m_nMenuIcons == 2) if (m_eMenuIcons == TRISTATE_INDET)
bMenuIcons = (sal_Bool)(Application::GetSettings().GetStyleSettings().GetUseImagesInMenus()); bMenuIcons = (sal_Bool)(Application::GetSettings().GetStyleSettings().GetUseImagesInMenus());
else else
{ {
bSystemMenuIcons = sal_False; bSystemMenuIcons = sal_False;
bMenuIcons = m_nMenuIcons ? sal_True : sal_False; bMenuIcons = m_eMenuIcons ? sal_True : sal_False;
} }
// Step over list of property names and get right value from coreesponding value list to set it on internal members! // Step over list of property names and get right value from coreesponding value list to set it on internal members!
...@@ -340,7 +340,7 @@ void SvtMenuOptions_Impl::Notify( const Sequence< OUString >& seqPropertyNames ) ...@@ -340,7 +340,7 @@ void SvtMenuOptions_Impl::Notify( const Sequence< OUString >& seqPropertyNames )
} }
if ( bMenuSettingsChanged ) if ( bMenuSettingsChanged )
m_nMenuIcons = bSystemMenuIcons ? 2 : bMenuIcons; m_eMenuIcons = bSystemMenuIcons ? TRISTATE_INDET : static_cast<TriState>(bMenuIcons);
for ( ::std::list<Link>::const_iterator iter = aList.begin(); iter != aList.end(); ++iter ) for ( ::std::list<Link>::const_iterator iter = aList.begin(); iter != aList.end(); ++iter )
iter->Call( this ); iter->Call( this );
...@@ -375,7 +375,7 @@ void SvtMenuOptions_Impl::Commit() ...@@ -375,7 +375,7 @@ void SvtMenuOptions_Impl::Commit()
} }
break; break;
case PROPERTYHANDLE_SYSTEMICONSINMENUES : { case PROPERTYHANDLE_SYSTEMICONSINMENUES : {
sal_Bool bValue = (m_nMenuIcons == 2 ? sal_True : sal_False) ; sal_Bool bValue = (m_eMenuIcons == TRISTATE_INDET ? sal_True : sal_False) ;
seqValues[nProperty] <<= bValue; seqValues[nProperty] <<= bValue;
} }
break; break;
...@@ -477,7 +477,7 @@ sal_Bool SvtMenuOptions::IsEntryHidingEnabled() const ...@@ -477,7 +477,7 @@ sal_Bool SvtMenuOptions::IsEntryHidingEnabled() const
//***************************************************************************************************************** //*****************************************************************************************************************
// public method // public method
//***************************************************************************************************************** //*****************************************************************************************************************
sal_Int16 SvtMenuOptions::GetMenuIconsState() const TriState SvtMenuOptions::GetMenuIconsState() const
{ {
MutexGuard aGuard( GetOwnStaticMutex() ); MutexGuard aGuard( GetOwnStaticMutex() );
return m_pDataContainer->GetMenuIconsState(); return m_pDataContainer->GetMenuIconsState();
...@@ -486,10 +486,10 @@ sal_Int16 SvtMenuOptions::GetMenuIconsState() const ...@@ -486,10 +486,10 @@ sal_Int16 SvtMenuOptions::GetMenuIconsState() const
//***************************************************************************************************************** //*****************************************************************************************************************
// public method // public method
//***************************************************************************************************************** //*****************************************************************************************************************
void SvtMenuOptions::SetMenuIconsState( sal_Int16 bState ) void SvtMenuOptions::SetMenuIconsState(TriState eState)
{ {
MutexGuard aGuard( GetOwnStaticMutex() ); MutexGuard aGuard( GetOwnStaticMutex() );
m_pDataContainer->SetMenuIconsState( bState ); m_pDataContainer->SetMenuIconsState(eState);
} }
//***************************************************************************************************************** //*****************************************************************************************************************
......
...@@ -207,7 +207,7 @@ ImplStyleData::ImplStyleData() : ...@@ -207,7 +207,7 @@ ImplStyleData::ImplStyleData() :
mnOptions = 0; mnOptions = 0;
mnAutoMnemonic = 1; mnAutoMnemonic = 1;
mnToolbarIconSize = STYLE_TOOLBAR_ICONSIZE_UNKNOWN; mnToolbarIconSize = STYLE_TOOLBAR_ICONSIZE_UNKNOWN;
mnUseImagesInMenus = TRISTATE_INDET; meUseImagesInMenus = TRISTATE_INDET;
mpFontOptions = NULL; mpFontOptions = NULL;
mnEdgeBlending = 35; mnEdgeBlending = 35;
maEdgeBlendingTopLeftColor = RGB_COLORDATA(0xC0, 0xC0, 0xC0); maEdgeBlendingTopLeftColor = RGB_COLORDATA(0xC0, 0xC0, 0xC0);
...@@ -323,7 +323,7 @@ ImplStyleData::ImplStyleData( const ImplStyleData& rData ) : ...@@ -323,7 +323,7 @@ ImplStyleData::ImplStyleData( const ImplStyleData& rData ) :
mnUseFlatBorders = rData.mnUseFlatBorders; mnUseFlatBorders = rData.mnUseFlatBorders;
mnUseFlatMenus = rData.mnUseFlatMenus; mnUseFlatMenus = rData.mnUseFlatMenus;
mnAutoMnemonic = rData.mnAutoMnemonic; mnAutoMnemonic = rData.mnAutoMnemonic;
mnUseImagesInMenus = rData.mnUseImagesInMenus; meUseImagesInMenus = rData.meUseImagesInMenus;
mbPreferredUseImagesInMenus = rData.mbPreferredUseImagesInMenus; mbPreferredUseImagesInMenus = rData.mbPreferredUseImagesInMenus;
mbSkipDisabledInMenus = rData.mbSkipDisabledInMenus; mbSkipDisabledInMenus = rData.mbSkipDisabledInMenus;
mbHideDisabledMenuItems = rData.mbHideDisabledMenuItems; mbHideDisabledMenuItems = rData.mbHideDisabledMenuItems;
...@@ -519,7 +519,7 @@ void StyleSettings::SetCheckedColorSpecialCase( ) ...@@ -519,7 +519,7 @@ void StyleSettings::SetCheckedColorSpecialCase( )
bool StyleSettings::GetUseImagesInMenus() const bool StyleSettings::GetUseImagesInMenus() const
{ {
// icon mode selected in Tools -> Options... -> OpenOffice.org -> View // icon mode selected in Tools -> Options... -> OpenOffice.org -> View
switch (mpData->mnUseImagesInMenus) { switch (mpData->meUseImagesInMenus) {
case TRISTATE_FALSE: case TRISTATE_FALSE:
return false; return false;
case TRISTATE_TRUE: case TRISTATE_TRUE:
...@@ -774,7 +774,7 @@ bool StyleSettings::operator ==( const StyleSettings& rSet ) const ...@@ -774,7 +774,7 @@ bool StyleSettings::operator ==( const StyleSettings& rSet ) const
(mpData->maPushButtonFont == rSet.mpData->maPushButtonFont) && (mpData->maPushButtonFont == rSet.mpData->maPushButtonFont) &&
(mpData->maFieldFont == rSet.mpData->maFieldFont) && (mpData->maFieldFont == rSet.mpData->maFieldFont) &&
(mpData->maIconFont == rSet.mpData->maIconFont) && (mpData->maIconFont == rSet.mpData->maIconFont) &&
(mpData->mnUseImagesInMenus == rSet.mpData->mnUseImagesInMenus) && (mpData->meUseImagesInMenus == rSet.mpData->meUseImagesInMenus) &&
(mpData->mbPreferredUseImagesInMenus == rSet.mpData->mbPreferredUseImagesInMenus) && (mpData->mbPreferredUseImagesInMenus == rSet.mpData->mbPreferredUseImagesInMenus) &&
(mpData->mbSkipDisabledInMenus == rSet.mpData->mbSkipDisabledInMenus) && (mpData->mbSkipDisabledInMenus == rSet.mpData->mbSkipDisabledInMenus) &&
(mpData->mbHideDisabledMenuItems == rSet.mpData->mbHideDisabledMenuItems) && (mpData->mbHideDisabledMenuItems == rSet.mpData->mbHideDisabledMenuItems) &&
......
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