summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Monastirsky <momonasmon@gmail.com>2015-06-10 15:15:56 +0300
committerMaxim Monastirsky <momonasmon@gmail.com>2015-06-16 15:38:00 +0300
commitd8b1b4b085088487837ef6ffd0dc4580b2acbb12 (patch)
tree248422b7c8b85682cc27df1519bf0388842305cd
parent8ca4e26a693986ae198c2182102aacbb399c91f2 (diff)
tdf#88290 Adapt the numbering popup to more than 8 items
The items count of NumberingTypeMgr is limited by 8, but some languages have more items, so remove that limitation. Also fix the behavior of the 10th item. The old sidebar popup had a "None" item, whose id was 10 (defined by DEFAULT_NONE from include/svx/nbdtmg.hxx), and that causes now the 10th item to behave as on/off toggle. Since we don't have a "None" item anymore, get rid of that behavior completely. Change-Id: I5546ca637f9951cc093a7bbf8fda11dc35341d4e (cherry picked from commit 71b35212265bb93b10ca35ab964a36e6b6cc552b)
-rw-r--r--include/svx/nbdtmg.hxx1
-rw-r--r--sd/source/ui/func/fuolbull.cxx16
-rw-r--r--sd/source/ui/view/drviewsf.cxx3
-rw-r--r--svx/source/sidebar/nbdtmg.cxx2
-rw-r--r--sw/source/uibase/shells/textsh1.cxx2
-rw-r--r--sw/source/uibase/shells/txtnum.cxx61
6 files changed, 30 insertions, 55 deletions
diff --git a/include/svx/nbdtmg.hxx b/include/svx/nbdtmg.hxx
index 7695e5cf0cf5..d400a87285f2 100644
--- a/include/svx/nbdtmg.hxx
+++ b/include/svx/nbdtmg.hxx
@@ -27,7 +27,6 @@
namespace svx { namespace sidebar {
#define DEFAULT_BULLET_TYPES 8
-#define DEFAULT_NONE 10
#define DEFAULT_NUM_VALUSET_COUNT 8
#define DEFAULT_NUMBERING_CACHE_FORMAT_VERSION 0x10
diff --git a/sd/source/ui/func/fuolbull.cxx b/sd/source/ui/func/fuolbull.cxx
index 2ee2ddb3d459..bbee427cd69e 100644
--- a/sd/source/ui/func/fuolbull.cxx
+++ b/sd/source/ui/func/fuolbull.cxx
@@ -182,17 +182,12 @@ void FuOutlineBullet::SetCurrentBulletsNumbering(SfxRequest& rReq)
sal_uInt16 nIdx = pItem->GetValue();
bool bToggle = false;
- bool bSwitchOff = false;
if( nIdx == (sal_uInt16)0xFFFF )
{
// If the nIdx is (sal_uInt16)0xFFFF, means set bullet status to on/off
nIdx = 1;
bToggle = true;
}
- else if (nIdx == DEFAULT_NONE)
- {
- bSwitchOff = true;
- }
nIdx--;
sal_uInt32 nNumItemId = SID_ATTR_NUMBERING_RULE;
@@ -266,18 +261,11 @@ void FuOutlineBullet::SetCurrentBulletsNumbering(SfxRequest& rReq)
if ( pOLV )
{
- if ( bSwitchOff )
- {
- pOLV->SwitchOffBulletsNumbering( true );
- }
- else
- {
- pOLV->ToggleBulletsNumbering( bToggle, nSId == FN_SVX_SET_BULLET, bInMasterView ? 0 : pNumRule );
- }
+ pOLV->ToggleBulletsNumbering( bToggle, nSId == FN_SVX_SET_BULLET, bInMasterView ? 0 : pNumRule );
}
else
{
- mpView->ChangeMarkedObjectsBulletsNumbering( bToggle, nSId == FN_SVX_SET_BULLET, bInMasterView ? 0 : pNumRule, bSwitchOff );
+ mpView->ChangeMarkedObjectsBulletsNumbering( bToggle, nSId == FN_SVX_SET_BULLET, bInMasterView ? 0 : pNumRule, false );
}
if ( bInMasterView )
{
diff --git a/sd/source/ui/view/drviewsf.cxx b/sd/source/ui/view/drviewsf.cxx
index 56d7a88b9083..1fa15f8dd0bf 100644
--- a/sd/source/ui/view/drviewsf.cxx
+++ b/sd/source/ui/view/drviewsf.cxx
@@ -576,9 +576,6 @@ void DrawViewShell::GetAttrState( SfxItemSet& rSet )
boost::scoped_ptr<SvxNumRule> pNumRule;
const SfxPoolItem* pTmpItem=NULL;
sal_uInt16 nNumItemId = SID_ATTR_NUMBERING_RULE;
-
- rSet.Put(SfxUInt16Item(FN_NUM_NUM_RULE_INDEX,DEFAULT_NONE));
- rSet.Put(SfxUInt16Item(FN_BUL_NUM_RULE_INDEX,DEFAULT_NONE));
sal_uInt16 nActNumLvl = mpDrawView->GetSelectionLevel();
pTmpItem=GetNumBulletItem(aNewAttr, nNumItemId);
diff --git a/svx/source/sidebar/nbdtmg.cxx b/svx/source/sidebar/nbdtmg.cxx
index 7c7e2c491f7a..2ea3ffbeabd1 100644
--- a/svx/source/sidebar/nbdtmg.cxx
+++ b/svx/source/sidebar/nbdtmg.cxx
@@ -1302,7 +1302,7 @@ void NumberingTypeMgr::Init()
{
aNumberings = xDefNum->getDefaultContinuousNumberingLevels( aLocale );
- sal_Int32 nLength = aNumberings.getLength() > DEFAULT_NUM_VALUSET_COUNT ? DEFAULT_NUM_VALUSET_COUNT :aNumberings.getLength();
+ sal_Int32 nLength = aNumberings.getLength();
const Sequence<PropertyValue>* pValuesArr = aNumberings.getConstArray();
for(sal_Int32 i = 0; i < nLength; i++)
diff --git a/sw/source/uibase/shells/textsh1.cxx b/sw/source/uibase/shells/textsh1.cxx
index 36bb996a55ee..61398c80b9d1 100644
--- a/sw/source/uibase/shells/textsh1.cxx
+++ b/sw/source/uibase/shells/textsh1.cxx
@@ -1794,8 +1794,6 @@ void SwTextShell::GetState( SfxItemSet &rSet )
{
SwNumRule* pCurRule = const_cast<SwNumRule*>(GetShell().GetNumRuleAtCurrCrsrPos());
sal_uInt16 nActNumLvl = USHRT_MAX;
- rSet.Put(SfxUInt16Item(FN_NUM_NUM_RULE_INDEX,DEFAULT_NONE));
- rSet.Put(SfxUInt16Item(FN_BUL_NUM_RULE_INDEX,DEFAULT_NONE));
if( pCurRule )
{
nActNumLvl = GetShell().GetNumLevel();
diff --git a/sw/source/uibase/shells/txtnum.cxx b/sw/source/uibase/shells/txtnum.cxx
index 30bf893c550f..c61382cb92cc 100644
--- a/sw/source/uibase/shells/txtnum.cxx
+++ b/sw/source/uibase/shells/txtnum.cxx
@@ -251,45 +251,38 @@ void SwTextShell::ExecSetNumber(SfxRequest &rReq)
if ( pItem != NULL )
{
const sal_uInt16 nChoosenItemIdx = pItem->GetValue();
- if ( nChoosenItemIdx == DEFAULT_NONE )
+ svx::sidebar::NBOTypeMgrBase* pNBOTypeMgr =
+ nSlot == FN_SVX_SET_NUMBER
+ ? svx::sidebar::NBOutlineTypeMgrFact::CreateInstance( svx::sidebar::eNBOType::NUMBERING )
+ : svx::sidebar::NBOutlineTypeMgrFact::CreateInstance( svx::sidebar::eNBOType::BULLETS );
+ if ( pNBOTypeMgr != NULL )
{
- 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::BULLETS );
- if ( pNBOTypeMgr != NULL )
+ const SwNumRule* pNumRuleAtCurrentSelection = GetShell().GetNumRuleAtCurrentSelection();
+ sal_uInt16 nActNumLvl = USHRT_MAX;
+ if ( pNumRuleAtCurrentSelection != NULL )
{
- const SwNumRule* pNumRuleAtCurrentSelection = GetShell().GetNumRuleAtCurrentSelection();
- sal_uInt16 nActNumLvl = USHRT_MAX;
- if ( pNumRuleAtCurrentSelection != NULL )
+ const sal_uInt16 nLevel = GetShell().GetNumLevel();
+ if ( nLevel < MAXLEVEL )
{
- const sal_uInt16 nLevel = GetShell().GetNumLevel();
- if ( nLevel < MAXLEVEL )
- {
- nActNumLvl = 1 << nLevel;
- }
+ 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( true );
- const bool bCreateNewList = ( pNumRuleAtCurrentSelection == NULL );
- GetShell().SetCurNumRule( aNewNumRule, bCreateNewList );
}
+ 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( true );
+ const bool bCreateNewList = ( pNumRuleAtCurrentSelection == NULL );
+ GetShell().SetCurNumRule( aNewNumRule, bCreateNewList );
}
}
}