diff options
author | Michael Meeks <michael.meeks@suse.com> | 2013-07-05 16:44:19 +0100 |
---|---|---|
committer | Michael Meeks <michael.meeks@suse.com> | 2013-07-05 17:11:46 +0100 |
commit | 67feb571330ec4b9eaff7791b27219b62d4c2f6a (patch) | |
tree | 401d3a2bf0e668fe39359dde44a97172bb9b288f /framework/source/uielement/addonstoolbarwrapper.cxx | |
parent | fdo#66524 - defer loading and scaling AddOns images until necessary. (diff) | |
download | core-67feb571330ec4b9eaff7791b27219b62d4c2f6a.tar.gz core-67feb571330ec4b9eaff7791b27219b62d4c2f6a.zip |
fdo#66524 - defer population of AddOns toolbar icons until they are shown.
Some addons eg. LibreLogo are almost never shown, so avoid their startup cost.
Change-Id: Ibbc072dd740eca6a97aeff918ae0a5c105278acf
Diffstat (limited to 'framework/source/uielement/addonstoolbarwrapper.cxx')
-rw-r--r-- | framework/source/uielement/addonstoolbarwrapper.cxx | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/framework/source/uielement/addonstoolbarwrapper.cxx b/framework/source/uielement/addonstoolbarwrapper.cxx index 92cfa0fa5274..3c71c18c6796 100644 --- a/framework/source/uielement/addonstoolbarwrapper.cxx +++ b/framework/source/uielement/addonstoolbarwrapper.cxx @@ -55,7 +55,8 @@ namespace framework AddonsToolBarWrapper::AddonsToolBarWrapper( const Reference< XComponentContext >& xContext ) : UIElementWrapperBase( UIElementType::TOOLBAR ), - m_xContext( xContext ) + m_xContext( xContext ), + m_bCreatedImages( false ) { } @@ -160,6 +161,26 @@ Reference< XInterface > SAL_CALL AddonsToolBarWrapper::getRealInterface() throw return Reference< XInterface >(); } +// allow late population of images for add-on toolbars +void AddonsToolBarWrapper::populateImages() +{ + ResetableGuard aLock( m_aLock ); + + if (m_bCreatedImages) + return; + + if ( m_xToolBarManager.is() ) + { + AddonsToolBarManager* pToolBarManager = static_cast< AddonsToolBarManager *>( m_xToolBarManager.get() ); + if (pToolBarManager) + { + pToolBarManager->RefreshImages(); + m_bCreatedImages = true; + } + } +} + + } // namespace framework /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |