summaryrefslogtreecommitdiff
path: root/svx/source/tbxctrls/tbcontrl.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/tbxctrls/tbcontrl.cxx')
-rw-r--r--svx/source/tbxctrls/tbcontrl.cxx33
1 files changed, 13 insertions, 20 deletions
diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx
index 046804b4d35e..b1859d5073b8 100644
--- a/svx/source/tbxctrls/tbcontrl.cxx
+++ b/svx/source/tbxctrls/tbcontrl.cxx
@@ -836,19 +836,15 @@ SvxColorWindow_Impl::SvxColorWindow_Impl( const OUString& rCommand,
{
SfxObjectShell* pDocSh = SfxObjectShell::Current();
const SfxPoolItem* pItem = NULL;
- XColorList* pColorTable = NULL;
- sal_Bool bKillTable = sal_False;
+ XColorListRef pColorList;
const Size aSize12( 13, 13 );
if ( pDocSh )
if ( 0 != ( pItem = pDocSh->GetItem( SID_COLOR_TABLE ) ) )
- pColorTable = ( (SvxColorTableItem*)pItem )->GetColorTable();
+ pColorList = ( (SvxColorListItem*)pItem )->GetColorList();
- if ( !pColorTable )
- {
- pColorTable = new XColorList( SvtPathOptions().GetPalettePath() );
- bKillTable = sal_True;
- }
+ if ( !pColorList.is() )
+ pColorList = XColorList::CreateStdColorList();
if ( SID_ATTR_CHAR_COLOR_BACKGROUND == theSlotId || SID_BACKGROUND_COLOR == theSlotId )
{
@@ -877,10 +873,10 @@ SvxColorWindow_Impl::SvxColorWindow_Impl( const OUString& rCommand,
aColorSet.SetAccessibleName( SVX_RESSTR( RID_SVXSTR_FRAME_COLOR ) );
}
- if ( pColorTable )
+ if ( pColorList.is() )
{
short i = 0;
- long nCount = pColorTable->Count();
+ long nCount = pColorList->Count();
XColorEntry* pEntry = NULL;
::Color aColWhite( COL_WHITE );
String aStrWhite( EditResId(RID_SVXITEMS_COLOR_WHITE) );
@@ -891,7 +887,7 @@ SvxColorWindow_Impl::SvxColorWindow_Impl( const OUString& rCommand,
for ( i = 0; i < nCount; i++ )
{
- pEntry = pColorTable->GetColor(i);
+ pEntry = pColorList->GetColor(i);
aColorSet.InsertItem( i+1, pEntry->GetColor(), pEntry->GetName() );
if( pEntry->GetColor() == mLastColor )
aColorSet.SelectItem( i+1 );
@@ -918,8 +914,6 @@ SvxColorWindow_Impl::SvxColorWindow_Impl( const OUString& rCommand,
aColorSet.Show();
AddStatusListener( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( ".uno:ColorTableState" )));
- if ( bKillTable )
- delete pColorTable;
}
SvxColorWindow_Impl::~SvxColorWindow_Impl()
@@ -1015,15 +1009,14 @@ void SvxColorWindow_Impl::StateChanged( sal_uInt16 nSID, SfxItemState eState, co
{
if (( SFX_ITEM_DISABLED != eState ) && pState )
{
- if (( nSID == SID_COLOR_TABLE ) && ( pState->ISA( SvxColorTableItem )))
+ if (( nSID == SID_COLOR_TABLE ) && ( pState->ISA( SvxColorListItem )))
{
- XColorList* pColorTable = pState ? ((SvxColorTableItem *)pState)->GetColorTable() : NULL;
-
- if ( pColorTable )
+ if ( pState )
{
- // Die Liste der Farben (ColorTable) hat sich ge"andert:
+ XColorListRef pColorList = ((SvxColorListItem *)pState)->GetColorList();
+
short i = 0;
- long nCount = pColorTable->Count();
+ long nCount = pColorList->Count();
XColorEntry* pEntry = NULL;
::Color aColWhite( COL_WHITE );
String aStrWhite( SVX_RES( RID_SVXITEMS_COLOR_WHITE ) );
@@ -1038,7 +1031,7 @@ void SvxColorWindow_Impl::StateChanged( sal_uInt16 nSID, SfxItemState eState, co
for ( i = 0; i < nCount; ++i )
{
- pEntry = pColorTable->GetColor(i);
+ pEntry = pColorList->GetColor(i);
aColorSet.SetItemColor( i + 1, pEntry->GetColor() );
aColorSet.SetItemText ( i + 1, pEntry->GetName() );
}