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 )
 {


Reply via email to