Modified: openoffice/trunk/main/sw/source/ui/shells/txtnum.cxx URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/ui/shells/txtnum.cxx?rev=1578923&r1=1578922&r2=1578923&view=diff ============================================================================== --- openoffice/trunk/main/sw/source/ui/shells/txtnum.cxx (original) +++ openoffice/trunk/main/sw/source/ui/shells/txtnum.cxx Tue Mar 18 14:33:39 2014 @@ -26,9 +26,7 @@ #include <hintids.hxx> -#ifndef _MSGBOX_HXX //autogen #include <vcl/msgbox.hxx> -#endif #include <sfx2/request.hxx> #include <svl/eitem.hxx> #include <svl/stritem.hxx> @@ -50,7 +48,6 @@ #include <svx/nbdtmgfact.hxx> #include <sfx2/viewfrm.hxx> #include <sfx2/bindings.hxx> -using namespace svx::sidebar; void SwTextShell::ExecEnterNum(SfxRequest &rReq) { @@ -115,334 +112,202 @@ void SwTextShell::ExecEnterNum(SfxReques GetShell().EndAllAction(); } break; - case FN_NUMBER_BULLETS: - case SID_OUTLINE_BULLET: - { - // --> OD 2008-02-29 #refactorlists# -// // per default sal_True, damit die Schleife im Dialog richtig arbeitet! -// sal_Bool bHasChild = sal_True; - // <-- - SfxItemSet aSet(GetPool(), - SID_HTML_MODE, SID_HTML_MODE, - SID_ATTR_NUMBERING_RULE, SID_PARAM_CUR_NUM_LEVEL, - 0 ); - SwDocShell* pDocSh = GetView().GetDocShell(); - sal_Bool bHtml = 0 != PTR_CAST(SwWebDocShell, pDocSh); - const SwNumRule* pCurRule = GetShell().GetCurNumRule(); - if( pCurRule ) - { - SvxNumRule aRule = pCurRule->MakeSvxNumRule(); - //convert type of linked bitmaps from SVX_NUM_BITMAP to (SVX_NUM_BITMAP|LINK_TOKEN) - for(sal_uInt16 i = 0; i < aRule.GetLevelCount(); i++) - { - SvxNumberFormat aFmt(aRule.GetLevel(i)); - if(SVX_NUM_BITMAP == aFmt.GetNumberingType()) - { - const SvxBrushItem* pBrush = aFmt.GetBrush(); - const String* pLinkStr; - if(pBrush && - 0 != (pLinkStr = pBrush->GetGraphicLink()) && - pLinkStr->Len()) - aFmt.SetNumberingType(SvxExtNumType(SVX_NUM_BITMAP|LINK_TOKEN)); - aRule.SetLevel(i, aFmt, aRule.Get(i) != 0); - } - } - if(bHtml) - aRule.SetFeatureFlag(NUM_ENABLE_EMBEDDED_BMP, sal_False); + case FN_NUMBER_BULLETS: + case SID_OUTLINE_BULLET: + { + SfxItemSet aSet( GetPool(), + SID_HTML_MODE, SID_HTML_MODE, + SID_ATTR_NUMBERING_RULE, SID_PARAM_CUR_NUM_LEVEL, + 0 ); + SwDocShell* pDocSh = GetView().GetDocShell(); + const bool bHtml = 0 != PTR_CAST( SwWebDocShell, pDocSh ); + const SwNumRule* pNumRuleAtCurrentSelection = GetShell().GetNumRuleAtCurrentSelection(); + if ( pNumRuleAtCurrentSelection != NULL ) + { + SvxNumRule aRule = pNumRuleAtCurrentSelection->MakeSvxNumRule(); + + //convert type of linked bitmaps from SVX_NUM_BITMAP to (SVX_NUM_BITMAP|LINK_TOKEN) + for ( sal_uInt16 i = 0; i < aRule.GetLevelCount(); i++ ) + { + SvxNumberFormat aFmt( aRule.GetLevel( i ) ); + if ( SVX_NUM_BITMAP == aFmt.GetNumberingType() ) + { + const SvxBrushItem* pBrush = aFmt.GetBrush(); + const String* pLinkStr = pBrush != NULL + ? pBrush->GetGraphicLink() + : NULL; + if ( pLinkStr != NULL && pLinkStr->Len() > 0 ) + { + aFmt.SetNumberingType( SvxExtNumType( SVX_NUM_BITMAP | LINK_TOKEN ) ); + } + aRule.SetLevel( i, aFmt, aRule.Get( i ) != 0 ); + } + } + if ( bHtml ) + aRule.SetFeatureFlag( NUM_ENABLE_EMBEDDED_BMP, sal_False ); - aSet.Put(SvxNumBulletItem(aRule)); - // --> OD 2008-02-29 #refactorlists# - removed <bHasChild> + aSet.Put( SvxNumBulletItem( aRule ) ); ASSERT( GetShell().GetNumLevel() < MAXLEVEL, "<SwTextShell::ExecEnterNum()> - numbered node without valid list level. Serious defect -> please inform OD." ); sal_uInt16 nLevel = GetShell().GetNumLevel(); - // <-- - if( nLevel < MAXLEVEL ) - { - nLevel = 1<<nLevel; - aSet.Put( SfxUInt16Item( SID_PARAM_CUR_NUM_LEVEL, nLevel )); - } - } - else - { - // --> OD 2008-02-11 #newlistlevelattrs# + if ( nLevel < MAXLEVEL ) + { + nLevel = 1 << nLevel; + aSet.Put( SfxUInt16Item( SID_PARAM_CUR_NUM_LEVEL, nLevel ) ); + } + } + else + { SwNumRule aRule( GetShell().GetUniqueNumRuleName(), - // --> OD 2008-06-06 #i89178# numfunc::GetDefaultPositionAndSpaceMode() ); - // <-- - // <-- - SvxNumRule aSvxRule = aRule.MakeSvxNumRule(); + SvxNumRule aSvxRule = aRule.MakeSvxNumRule(); const bool bRightToLeft = GetShell().IsInRightToLeftText( 0 ); - if( bHtml || bRightToLeft ) - { - for( sal_uInt8 n = 0; n < MAXLEVEL; ++n ) - { - SvxNumberFormat aFmt( aSvxRule.GetLevel( n ) ); + if ( bHtml || bRightToLeft ) + { + for ( sal_uInt8 n = 0; n < MAXLEVEL; ++n ) + { + SvxNumberFormat aFmt( aSvxRule.GetLevel( n ) ); if ( n && bHtml ) { // 1/2" fuer HTML - aFmt.SetLSpace(720); - aFmt.SetAbsLSpace(n * 720); + aFmt.SetLSpace( 720 ); + aFmt.SetAbsLSpace( n * 720 ); } - // --> FME 2005-01-21 #i38904# Default alignment for - // numbering/bullet should be rtl in rtl paragraph: + // Default alignment for numbering/bullet should be rtl in rtl paragraph: if ( bRightToLeft ) { aFmt.SetNumAdjust( SVX_ADJUST_RIGHT ); } - // <-- aSvxRule.SetLevel( n, aFmt, sal_False ); - } - aSvxRule.SetFeatureFlag(NUM_ENABLE_EMBEDDED_BMP, sal_False); - } - aSet.Put(SvxNumBulletItem(aSvxRule)); - } + } + aSvxRule.SetFeatureFlag( NUM_ENABLE_EMBEDDED_BMP, sal_False ); + } + aSet.Put( SvxNumBulletItem( aSvxRule ) ); + } - aSet.Put( SfxBoolItem( SID_PARAM_NUM_PRESET,sal_False )); + aSet.Put( SfxBoolItem( SID_PARAM_NUM_PRESET, sal_False ) ); - // vor dem Dialog wird der HtmlMode an der DocShell versenkt - pDocSh->PutItem(SfxUInt16Item(SID_HTML_MODE, ::GetHtmlMode(pDocSh))); + // vor dem Dialog wird der HtmlMode an der DocShell versenkt + pDocSh->PutItem( SfxUInt16Item( SID_HTML_MODE, ::GetHtmlMode( pDocSh ) ) ); - SwAbstractDialogFactory* pFact = SwAbstractDialogFactory::Create(); - DBG_ASSERT(pFact, "Dialogdiet fail!"); - SfxAbstractTabDialog* pDlg = pFact->CreateSwTabDialog( DLG_SVXTEST_NUM_BULLET, - GetView().GetWindow(), &aSet, GetShell()); + SwAbstractDialogFactory* pFact = SwAbstractDialogFactory::Create(); + DBG_ASSERT( pFact, "Dialogdiet fail!" ); + SfxAbstractTabDialog* pDlg = + pFact->CreateSwTabDialog( DLG_SVXTEST_NUM_BULLET, GetView().GetWindow(), &aSet, GetShell() ); DBG_ASSERT(pDlg, "Dialogdiet fail!"); - sal_uInt16 nRet = pDlg->Execute(); - const SfxPoolItem* pItem; - if( RET_OK == nRet ) - { - if( SFX_ITEM_SET == pDlg->GetOutputItemSet()->GetItemState( SID_ATTR_NUMBERING_RULE, sal_False, &pItem )) - { - rReq.AppendItem(*pItem); - rReq.Done(); - SvxNumRule* pSetRule = ((SvxNumBulletItem*)pItem)->GetNumRule(); - pSetRule->UnLinkGraphics(); - // --> OD 2008-02-11 #newlistlevelattrs# - SwNumRule aSetRule( pCurRule - ? pCurRule->GetName() - : GetShell().GetUniqueNumRuleName(), - // --> OD 2008-06-06 #i89178# - numfunc::GetDefaultPositionAndSpaceMode() ); - // <-- - // <-- - aSetRule.SetSvxRule( *pSetRule, GetShell().GetDoc()); - aSetRule.SetAutoRule( sal_True ); - // --> OD 2008-03-17 #refactorlists# + const sal_uInt16 nRet = pDlg->Execute(); + const SfxPoolItem* pItem; + if ( RET_OK == nRet ) + { + if ( SFX_ITEM_SET == pDlg->GetOutputItemSet()->GetItemState( SID_ATTR_NUMBERING_RULE, sal_False, &pItem ) ) + { + rReq.AppendItem( *pItem ); + rReq.Done(); + SvxNumRule* pSetRule = ( (SvxNumBulletItem*) pItem )->GetNumRule(); + pSetRule->UnLinkGraphics(); + SwNumRule aSetRule( pNumRuleAtCurrentSelection != NULL + ? pNumRuleAtCurrentSelection->GetName() + : GetShell().GetUniqueNumRuleName(), + numfunc::GetDefaultPositionAndSpaceMode() ); + aSetRule.SetSvxRule( *pSetRule, GetShell().GetDoc() ); + aSetRule.SetAutoRule( sal_True ); // No start of new list, if an existing list style is edited. // Otherwise start a new list. - const bool bCreateList = (pCurRule == 0); + const bool bCreateList = ( pNumRuleAtCurrentSelection == NULL ); GetShell().SetCurNumRule( aSetRule, bCreateList ); - // <-- - } - // wenn der Dialog mit OK verlassen wurde, aber nichts ausgewaehlt - // wurde dann muss die Numerierung zumindest eingeschaltet werden, - // wenn sie das noch nicht ist - else if( !pCurRule && SFX_ITEM_SET == aSet.GetItemState( SID_ATTR_NUMBERING_RULE, sal_False, &pItem )) - { - rReq.AppendItem( *pItem ); - rReq.Done(); - SvxNumRule* pSetRule = ((SvxNumBulletItem*)pItem)->GetNumRule(); - // --> OD 2008-02-11 #newlistlevelattrs# - SwNumRule aSetRule( GetShell().GetUniqueNumRuleName(), - // --> OD 2008-06-06 #i89178# - numfunc::GetDefaultPositionAndSpaceMode() ); - // <-- - // <-- - aSetRule.SetSvxRule(*pSetRule, GetShell().GetDoc()); - aSetRule.SetAutoRule( sal_True ); - // --> OD 2008-03-17 #refactorlists# + } + // wenn der Dialog mit OK verlassen wurde, aber nichts ausgewaehlt + // wurde dann muss die Numerierung zumindest eingeschaltet werden, + // wenn sie das noch nicht ist + else if ( pNumRuleAtCurrentSelection == NULL + && SFX_ITEM_SET == aSet.GetItemState( SID_ATTR_NUMBERING_RULE, sal_False, &pItem ) ) + { + rReq.AppendItem( *pItem ); + rReq.Done(); + SvxNumRule* pSetRule = ( (SvxNumBulletItem*) pItem )->GetNumRule(); + SwNumRule aSetRule( + GetShell().GetUniqueNumRuleName(), + numfunc::GetDefaultPositionAndSpaceMode() ); + aSetRule.SetSvxRule( *pSetRule, GetShell().GetDoc() ); + aSetRule.SetAutoRule( sal_True ); // start new list GetShell().SetCurNumRule( aSetRule, true ); - // <-- - } - } - else if(RET_USER == nRet) - GetShell().DelNumRules(); - - delete pDlg; - } - break; - default: - ASSERT(sal_False, falscher Dispatcher); - return; - } + } + } + else if ( RET_USER == nRet ) + GetShell().DelNumRules(); + + delete pDlg; + } + break; + + default: + ASSERT( sal_False, "wrong Dispatcher" ); + return; + } } -void SwTextShell::ExecSetNumber(SfxRequest &rReq) -{ - SwNumRule aRule( GetShell().GetUniqueNumRuleName(), - // --> OD 2008-06-06 #i89178# - numfunc::GetDefaultPositionAndSpaceMode() ); - // <-- - - SvxNumRule aSvxRule = aRule.MakeSvxNumRule(); - const bool bRightToLeft = GetShell().IsInRightToLeftText( 0 ); - if( bRightToLeft ) - { - for( sal_uInt8 n = 0; n < MAXLEVEL; ++n ) - { - SvxNumberFormat aFmt( aSvxRule.GetLevel( n ) ); - /* if ( n && bHtml ) - { - // 1/2" fuer HTML - aFmt.SetLSpace(720); - aFmt.SetAbsLSpace(n * 720); - }*/ - // --> FME 2005-01-21 #i38904# Default alignment for - // numbering/bullet should be rtl in rtl paragraph: - if ( bRightToLeft ) +void SwTextShell::ExecSetNumber(SfxRequest &rReq) +{ + const sal_uInt16 nSlot = rReq.GetSlot(); + switch ( nSlot ) + { + case FN_SVX_SET_NUMBER: + case FN_SVX_SET_BULLET: + { + SFX_REQUEST_ARG( rReq, pItem, SfxUInt16Item, nSlot, sal_False ); + if ( pItem != NULL ) { - aFmt.SetNumAdjust( SVX_ADJUST_RIGHT ); + const sal_uInt16 nChoosenItemIdx = pItem->GetValue(); + if ( nChoosenItemIdx == DEFAULT_NONE ) + { + GetShell().DelNumRules(); + } + else + { + svx::sidebar::NBOTypeMgrBase* pNBOTypeMgr = + nSlot == FN_SVX_SET_NUMBER + ? svx::sidebar::NBOutlineTypeMgrFact::CreateInstance( svx::sidebar::eNBOType::NUMBERING ) + : svx::sidebar::NBOutlineTypeMgrFact::CreateInstance( svx::sidebar::eNBOType::MIXBULLETS ); + if ( pNBOTypeMgr != NULL ) + { + const SwNumRule* pNumRuleAtCurrentSelection = GetShell().GetNumRuleAtCurrentSelection(); + sal_uInt16 nActNumLvl = (sal_uInt16) 0xFFFF; + if ( pNumRuleAtCurrentSelection != NULL ) + { + sal_uInt16 nLevel = GetShell().GetNumLevel(); + if ( nLevel < MAXLEVEL ) + { + nActNumLvl = 1 << nLevel; + } + } + SwNumRule aNewNumRule( + pNumRuleAtCurrentSelection != NULL ? pNumRuleAtCurrentSelection->GetName() : GetShell().GetUniqueNumRuleName(), + numfunc::GetDefaultPositionAndSpaceMode() ); + SvxNumRule aNewSvxNumRule = pNumRuleAtCurrentSelection != NULL + ? pNumRuleAtCurrentSelection->MakeSvxNumRule() + : aNewNumRule.MakeSvxNumRule(); + // set unit attribute to NB Manager + SfxItemSet aSet( GetPool(), SID_ATTR_NUMBERING_RULE, SID_PARAM_CUR_NUM_LEVEL, 0 ); + aSet.Put( SvxNumBulletItem( aNewSvxNumRule ) ); + pNBOTypeMgr->SetItems( &aSet ); + pNBOTypeMgr->ApplyNumRule( aNewSvxNumRule, nChoosenItemIdx - 1, nActNumLvl ); + + aNewNumRule.SetSvxRule( aNewSvxNumRule, GetShell().GetDoc() ); + aNewNumRule.SetAutoRule( sal_True ); + const bool bCreateNewList = ( pNumRuleAtCurrentSelection == NULL ); + GetShell().SetCurNumRule( aNewNumRule, bCreateNewList ); + } + } } - // <-- - aSvxRule.SetLevel( n, aFmt, sal_False ); - } - aSvxRule.SetFeatureFlag(NUM_ENABLE_EMBEDDED_BMP, sal_False); - } - - const SwNumRule* pCurRule = GetShell().GetCurNumRule(); - sal_uInt16 nActNumLvl = (sal_uInt16)0xFFFF; - if( pCurRule ) - { - sal_uInt16 nLevel = GetShell().GetNumLevel(); - if( nLevel < MAXLEVEL ) - { - nActNumLvl = 1<<nLevel; - } - - aSvxRule = pCurRule->MakeSvxNumRule(); + } + break; - //convert type of linked bitmaps from SVX_NUM_BITMAP to (SVX_NUM_BITMAP|LINK_TOKEN) - for(sal_uInt16 i = 0; i < aSvxRule.GetLevelCount(); i++) - { - SvxNumberFormat aFmt(aSvxRule.GetLevel(i)); - if(SVX_NUM_BITMAP == aFmt.GetNumberingType()) - { - const SvxBrushItem* pBrush = aFmt.GetBrush(); - const String* pLinkStr; - if(pBrush && - 0 != (pLinkStr = pBrush->GetGraphicLink()) && - pLinkStr->Len()) - aFmt.SetNumberingType(SvxExtNumType(SVX_NUM_BITMAP|LINK_TOKEN)); - aSvxRule.SetLevel(i, aFmt, aSvxRule.Get(i) != 0); - } - } - } - - - switch(rReq.GetSlot()) - { - case FN_SVX_SET_NUMBER: - { - SFX_REQUEST_ARG( rReq, pItem, SfxUInt16Item, FN_SVX_SET_NUMBER , sal_False ); - if (pItem) - { - sal_uInt16 nIdx = pItem->GetValue(); - if (nIdx==DEFAULT_NONE) { - GetShell().DelNumRules(); - break; - } - --nIdx; - - NBOTypeMgrBase* pNumbering = NBOutlineTypeMgrFact::CreateInstance(eNBOType::NUMBERING); - if ( pNumbering ) - { - SwNumRule aTmpRule( GetShell().GetUniqueNumRuleName(), - numfunc::GetDefaultPositionAndSpaceMode() ); - - SvxNumRule aTempRule = aTmpRule.MakeSvxNumRule(); - // set unit attribute to NB Manager - SfxItemSet aSet(GetPool(), - SID_ATTR_NUMBERING_RULE, SID_PARAM_CUR_NUM_LEVEL, - 0 ); - aSet.Put(SvxNumBulletItem(aTempRule)); - pNumbering->SetItems(&aSet); - pNumbering->ApplyNumRule(aTempRule,nIdx,nActNumLvl); - - sal_uInt16 nMask = 1; - for(sal_uInt16 i = 0; i < aSvxRule.GetLevelCount(); i++) - { - if(nActNumLvl & nMask) - { - SvxNumberFormat aFmt(aTempRule.GetLevel(i)); - aSvxRule.SetLevel(i, aFmt); - } - nMask <<= 1 ; - } - - aSvxRule.UnLinkGraphics(); - SwNumRule aSetRule( pCurRule - ? pCurRule->GetName() - : GetShell().GetUniqueNumRuleName(), - numfunc::GetDefaultPositionAndSpaceMode() ); - aSetRule.SetSvxRule( aSvxRule, GetShell().GetDoc()); - - aSetRule.SetAutoRule( sal_True ); - const bool bCreateList = (pCurRule == 0); - GetShell().SetCurNumRule( aSetRule, bCreateList ); - } - //End - } - break; - } - case FN_SVX_SET_BULLET: - { - SFX_REQUEST_ARG( rReq, pItem, SfxUInt16Item, FN_SVX_SET_BULLET , sal_False ); - if (pItem) - { - sal_uInt16 nIdx = pItem->GetValue(); - if (nIdx==DEFAULT_NONE) { - GetShell().DelNumRules(); - break; - } - nIdx--; - - NBOTypeMgrBase* pBullets = NBOutlineTypeMgrFact::CreateInstance(eNBOType::MIXBULLETS); - if ( pBullets ) - { - SwNumRule aTmpRule( GetShell().GetUniqueNumRuleName(), - numfunc::GetDefaultPositionAndSpaceMode() ); - - SvxNumRule aTempRule = aTmpRule.MakeSvxNumRule(); - // set unit attribute to NB Manager - SfxItemSet aSet(GetPool(), - SID_ATTR_NUMBERING_RULE, SID_PARAM_CUR_NUM_LEVEL, - 0 ); - aSet.Put(SvxNumBulletItem(aTempRule)); - pBullets->SetItems(&aSet); - - //SvxNumRule aTempRule( 0, 10, false ); - pBullets->ApplyNumRule(aTempRule,nIdx,nActNumLvl); - sal_uInt16 nMask = 1; - for(sal_uInt16 i = 0; i < aSvxRule.GetLevelCount(); i++) - { - if(nActNumLvl & nMask) - { - SvxNumberFormat aFmt(aTempRule.GetLevel(i)); - aSvxRule.SetLevel(i, aFmt); - } - nMask <<= 1; - } - aSvxRule.UnLinkGraphics(); - - SwNumRule aSetRule( pCurRule - ? pCurRule->GetName() - : GetShell().GetUniqueNumRuleName(), - numfunc::GetDefaultPositionAndSpaceMode() ); - - aSetRule.SetSvxRule( aSvxRule, GetShell().GetDoc()); - - aSetRule.SetAutoRule( sal_True ); - const bool bCreateList = (pCurRule == 0); - GetShell().SetCurNumRule( aSetRule, bCreateList ); - } - //End - } - - } - break; - } + default: + ASSERT( sal_False, "wrong Dispatcher" ); + return; + } }
Modified: openoffice/trunk/main/sw/source/ui/uiview/formatclipboard.cxx URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/ui/uiview/formatclipboard.cxx?rev=1578923&r1=1578922&r2=1578923&view=diff ============================================================================== --- openoffice/trunk/main/sw/source/ui/uiview/formatclipboard.cxx (original) +++ openoffice/trunk/main/sw/source/ui/uiview/formatclipboard.cxx Tue Mar 18 14:33:39 2014 @@ -397,7 +397,7 @@ void SwFormatClipboard::Copy( SwWrtShell rWrtShell.GetCurAttr(*pItemSet); // additional numbering properties for paragraph styles - if( nSelectionType & nsSelectionType::SEL_TXT && rWrtShell.GetCurNumRule() ) + if( nSelectionType & nsSelectionType::SEL_TXT && rWrtShell.GetNumRuleAtCurrCrsrPos() ) { SfxBoolItem aStart(FN_NUMBER_NEWSTART, rWrtShell.IsNumRuleStart()); pItemSet->Put(aStart); @@ -553,7 +553,7 @@ void SwFormatClipboard::Paste( SwWrtShel rWrtShell.SetAttrSet(*pTemplateItemSet); // additional numbering properties for paragraph styles - if( nSelectionType & nsSelectionType::SEL_TXT && rWrtShell.GetCurNumRule() ) + if( nSelectionType & nsSelectionType::SEL_TXT && rWrtShell.GetNumRuleAtCurrCrsrPos() ) { if( SFX_ITEM_SET == pTemplateItemSet->GetItemState(FN_NUMBER_NEWSTART) ) { Modified: openoffice/trunk/main/sw/source/ui/uiview/view2.cxx URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/ui/uiview/view2.cxx?rev=1578923&r1=1578922&r2=1578923&view=diff ============================================================================== --- openoffice/trunk/main/sw/source/ui/uiview/view2.cxx (original) +++ openoffice/trunk/main/sw/source/ui/uiview/view2.cxx Tue Mar 18 14:33:39 2014 @@ -1473,7 +1473,7 @@ void SwView::StateStatusLine(SfxItemSet //}//<-removed end ,zhaojianwei //-->#outline level,added by zhaojianwei - const SwNumRule* pNumRule = rShell.GetCurNumRule(); + const SwNumRule* pNumRule = rShell.GetNumRuleAtCurrCrsrPos(); const bool bOutlineNum = pNumRule ? pNumRule->IsOutlineRule() : 0; //((SwTxtFmtColl*)rShell.GetCrsr()->GetNode()->GetTxtNode()->GetFmtColl())->IsAssignedToListLevelOfOutlineStyle(); @@ -1739,7 +1739,7 @@ void SwView::ExecuteStatusLine(SfxReques nId = FN_EDIT_REGION; else { - const SwNumRule* pNumRule = rSh.GetCurNumRule(); + const SwNumRule* pNumRule = rSh.GetNumRuleAtCurrCrsrPos(); if( pNumRule ) // Cursor in Numerierung { if( pNumRule->IsAutoRule() ) Modified: openoffice/trunk/main/sw/source/ui/wrtsh/wrtsh1.cxx URL: http://svn.apache.org/viewvc/openoffice/trunk/main/sw/source/ui/wrtsh/wrtsh1.cxx?rev=1578923&r1=1578922&r2=1578923&view=diff ============================================================================== --- openoffice/trunk/main/sw/source/ui/wrtsh/wrtsh1.cxx (original) +++ openoffice/trunk/main/sw/source/ui/wrtsh/wrtsh1.cxx Tue Mar 18 14:33:39 2014 @@ -1076,7 +1076,7 @@ void SwWrtShell::SplitNode( sal_Bool bAu void SwWrtShell::NumOrBulletOn(sal_Bool bNum) { // determine numbering rule found at current cursor position in the docment. - const SwNumRule* pCurRule = GetCurNumRule(); + const SwNumRule* pCurRule = GetNumRuleAtCurrCrsrPos(); StartUndo(UNDO_NUMORNONUM); @@ -1433,7 +1433,7 @@ void SwWrtShell::NumOn() void SwWrtShell::NumOrBulletOff() { - const SwNumRule * pCurNumRule = GetCurNumRule(); + const SwNumRule * pCurNumRule = GetNumRuleAtCurrCrsrPos(); if (pCurNumRule) { @@ -1551,7 +1551,7 @@ SelectionType SwWrtShell::GetSelectionTy nCnt |= (nsSelectionType::SEL_TBL | nsSelectionType::SEL_TBL_CELLS); // Do not pop up numbering toolbar, if the text node has a numbering of type SVX_NUM_NUMBER_NONE. - const SwNumRule* pNumRule = GetCurNumRule(); + const SwNumRule* pNumRule = GetNumRuleAtCurrCrsrPos(); if ( pNumRule ) { const SwTxtNode* pTxtNd =
