diff options
author | Kohei Yoshida <kohei.yoshida@collabora.com> | 2014-05-19 23:42:05 -0400 |
---|---|---|
committer | Kohei Yoshida <kohei.yoshida@collabora.com> | 2014-05-21 12:13:49 -0400 |
commit | a6e5c7934679329f84eca3c5eb8d021b277c905b (patch) | |
tree | 0ebd59ec10c103888216459e33cc9e5b4835e685 /sfx2 | |
parent | c126f210bb62143eea6263e37dedcb2fba24cade (diff) |
cp#1000072: Improve on-load updates of external links.
* Load all linked external sources up front, rather than on-demand after
the cache purge.
* Try to pre-populate updated caches rather than leaving them blank and
wait until it gets filled during formula calculation.
* Disable polling of stale doc shell instances while the update is
on-going. This improves the update performance especially when the update
takes a long time.
* Only close one doc shell instance at a time, even when there are multiple
stale doc shell instances that need to be closed, to prevent too long of
a pause.
* Show progress bar during the update to give the user some visual feedback
of the progress.
* Skip loading of styles for the linked external document shells. We don't
need them. For now, this is ODS only.
* Minor performance improvement of ODS import.
Conflicts:
include/sfx2/sfxmodelfactory.hxx
sc/inc/sc.hrc
sc/inc/xmlwrap.hxx
sc/source/core/data/documen8.cxx
sc/source/filter/xml/xmlimprt.cxx
sc/source/filter/xml/xmlwrap.cxx
sc/source/ui/docshell/docsh.cxx
sfx2/source/doc/objxtor.cxx
Change-Id: I80aa71fa27e4960e9256253369aa898dd542c9b5
Diffstat (limited to 'sfx2')
-rw-r--r-- | sfx2/source/doc/objxtor.cxx | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/sfx2/source/doc/objxtor.cxx b/sfx2/source/doc/objxtor.cxx index befa7aef21ce..54b67bed7264 100644 --- a/sfx2/source/doc/objxtor.cxx +++ b/sfx2/source/doc/objxtor.cxx @@ -291,11 +291,14 @@ SfxObjectShell::SfxObjectShell( const sal_uInt64 i_nCreationFlags ) : pImp( new SfxObjectShell_Impl( *this ) ) , pMedium(0) , pStyleSheetPool(0) - , eCreateMode( ( i_nCreationFlags & SFXMODEL_EMBEDDED_OBJECT ) ? SFX_CREATE_MODE_EMBEDDED : SFX_CREATE_MODE_STANDARD ) - , bHasName( sal_False ) - , bIsInGenerateThumbnail ( sal_False ) + , eCreateMode(SFX_CREATE_MODE_STANDARD) + , bHasName( false ) + , bIsInGenerateThumbnail ( false ) { - DBG_CTOR(SfxObjectShell, 0); + if (i_nCreationFlags & SFXMODEL_EMBEDDED_OBJECT) + eCreateMode = SFX_CREATE_MODE_EMBEDDED; + else if (i_nCreationFlags & SFXMODEL_EXTERNAL_LINK) + eCreateMode = SFX_CREATE_MODE_INTERNAL; const bool bScriptSupport = ( i_nCreationFlags & SFXMODEL_DISABLE_EMBEDDED_SCRIPTS ) == 0; if ( !bScriptSupport ) |