summaryrefslogtreecommitdiff
path: root/svx/source/tbxctrls/Palette.cxx
diff options
context:
space:
mode:
authorKrisztian Pinter <pin.terminator@gmail.com>2014-07-31 10:56:58 +0200
committerTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2014-09-17 10:19:52 +0200
commitcb02490a1e35886bc2dc4a9889fdd6db742e5899 (patch)
treee20120eb28b0d489aade231185eaccdff398dc14 /svx/source/tbxctrls/Palette.cxx
parentb39f15cfcc28266c5c680d19eaa394960cb7c0ff (diff)
Make .soc loading lazy
Change-Id: If7475d6c46faaa6f6f6cde494990e6573b3aadff
Diffstat (limited to 'svx/source/tbxctrls/Palette.cxx')
-rw-r--r--svx/source/tbxctrls/Palette.cxx19
1 files changed, 13 insertions, 6 deletions
diff --git a/svx/source/tbxctrls/Palette.cxx b/svx/source/tbxctrls/Palette.cxx
index 95ebb589735c..496e0fcc678e 100644
--- a/svx/source/tbxctrls/Palette.cxx
+++ b/svx/source/tbxctrls/Palette.cxx
@@ -173,11 +173,11 @@ OString lcl_getToken(const OString& rStr, sal_Int32& index)
// PaletteSOC ------------------------------------------------------------------
-PaletteSOC::PaletteSOC( const OUString &rFPath, const OUString &rFName )
+PaletteSOC::PaletteSOC( const OUString &rFPath, const OUString &rFName ) :
+ mbLoadedPalette( false ),
+ maFPath( rFPath ),
+ maName( rFName )
{
- maName = rFName;
- mpColorList = XPropertyList::AsColorList(XPropertyList::CreatePropertyListFromURL(XCOLOR_LIST, rFPath));
- mpColorList->Load();
}
PaletteSOC::~PaletteSOC()
@@ -191,13 +191,20 @@ const OUString& PaletteSOC::GetName()
void PaletteSOC::LoadColorSet( SvxColorValueSet& rColorSet )
{
+ if( !mbLoadedPalette )
+ {
+ mbLoadedPalette = true;
+ mpColorList = XPropertyList::AsColorList(XPropertyList::CreatePropertyListFromURL(XCOLOR_LIST, maFPath));
+ mpColorList->Load();
+ }
rColorSet.Clear();
- rColorSet.addEntriesForXColorList( *mpColorList );
+ if( mpColorList.is() )
+ rColorSet.addEntriesForXColorList( *mpColorList );
}
bool PaletteSOC::IsValid()
{
- return mpColorList.is();
+ return true;
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */