Author: orw
Date: Wed Apr 24 15:24:02 2013
New Revision: 1471480
URL: http://svn.apache.org/r1471480
Log:
122074: paragraph property panel - correct enable/disable of indentation
increase/descrease controls
Modified:
openoffice/trunk/main/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx
Modified:
openoffice/trunk/main/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx
URL:
http://svn.apache.org/viewvc/openoffice/trunk/main/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx?rev=1471480&r1=1471479&r2=1471480&view=diff
==============================================================================
--- openoffice/trunk/main/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx
(original)
+++ openoffice/trunk/main/svx/source/sidebar/paragraph/ParaPropertyPanel.cxx
Wed Apr 24 15:24:02 2013
@@ -1290,15 +1290,15 @@ void ParaPropertyPanel::StateChangedInde
}
}
- maTbxIndent_IncDec->Enable();
- maTbxIndent_IncDec->EnableItem(ID_HANGING_INDENT, sal_True);
- if(maContext.GetCombinedContext() !=
CombinedEnumContext(Application_Writer, Context_Text)
- && maContext.GetCombinedContext() !=
CombinedEnumContext(Application_Writer, Context_Default)
- && maContext.GetCombinedContext() !=
CombinedEnumContext(Application_Writer, Context_Table))
- {
- maTbxIndent_IncDec->EnableItem(BT_TBX_INDENT_INC,
sal_True);
- maTbxIndent_IncDec->EnableItem(BT_TBX_INDENT_DEC,
sal_True);
- }
+ maTbxIndent_IncDec->Enable();
+ maTbxIndent_IncDec->EnableItem(ID_HANGING_INDENT, sal_True);
+ if ( maContext.GetCombinedContext() !=
CombinedEnumContext(Application_Writer, Context_Text)
+ && maContext.GetCombinedContext() !=
CombinedEnumContext(Application_Writer, Context_Default)
+ && maContext.GetCombinedContext() !=
CombinedEnumContext(Application_Writer, Context_Table) )
+ {
+ maTbxIndent_IncDec->EnableItem(BT_TBX_INDENT_INC, sal_True);
+ maTbxIndent_IncDec->EnableItem(BT_TBX_INDENT_DEC, sal_True);
+ }
// maTbxProDemote->Enable();
// if( !mbOutLineRight && !mbOutLineLeft )
@@ -1419,27 +1419,20 @@ void ParaPropertyPanel::StateChangeOutLi
void ParaPropertyPanel::StateChangeIncDecImpl( sal_uInt16 nSID, SfxItemState
eState, const SfxPoolItem* pState )
{
- if (nSID==SID_INC_INDENT)
- {
- if( pState && eState == SFX_ITEM_UNKNOWN )
- maTbxIndent_IncDec->EnableItem(BT_TBX_INDENT_INC,
sal_True);
- else
- if( maContext.GetCombinedContext() !=
CombinedEnumContext(Application_Writer, Context_Text) &&
- maContext.GetCombinedContext() !=
CombinedEnumContext(Application_Writer, Context_Default) &&
- maContext.GetCombinedContext() !=
CombinedEnumContext(Application_Writer, Context_Table) )
-
maTbxIndent_IncDec->EnableItem(BT_TBX_INDENT_INC, sal_False);
- }
- if (nSID==SID_DEC_INDENT)
- {
- if( pState && eState == SFX_ITEM_UNKNOWN )
- maTbxIndent_IncDec->EnableItem(BT_TBX_INDENT_DEC,
sal_True);
- else
- if( maContext.GetCombinedContext() !=
CombinedEnumContext(Application_Writer, Context_Text) &&
- maContext.GetCombinedContext() !=
CombinedEnumContext(Application_Writer, Context_Default) &&
- maContext.GetCombinedContext() !=
CombinedEnumContext(Application_Writer, Context_Table) )
-
maTbxIndent_IncDec->EnableItem(BT_TBX_INDENT_DEC, sal_False);
- }
+ if ( ( maContext.GetCombinedContext() ==
CombinedEnumContext(Application_Writer, Context_Text)
+ || maContext.GetCombinedContext() ==
CombinedEnumContext(Application_Writer, Context_Default)
+ || maContext.GetCombinedContext() ==
CombinedEnumContext(Application_Writer, Context_Table) )
+ && ( nSID == SID_INC_INDENT || nSID == SID_DEC_INDENT ) )
+ {
+ // Writer's text shell is the only one which provides reasonable
states for Slots SID_INC_INDENT and SID_DEC_INDENT
+ // - namely SFX_ITEM_UNKNOWN and SFX_ITEM_DISABLED
+ maTbxIndent_IncDec->EnableItem(
+ nSID == SID_INC_INDENT ? BT_TBX_INDENT_INC : BT_TBX_INDENT_DEC,
+ ( pState && eState == SFX_ITEM_UNKNOWN ) ? sal_True : sal_False );
+ }
}
+
+
// Add toggle state for numbering and bullet icons
void ParaPropertyPanel::StateChangeBulletNumImpl( sal_uInt16 nSID,
SfxItemState eState, const SfxPoolItem* pState )
{