Kaydet (Commit) 5d906574 authored tarafından Daniel Bankston's avatar Daniel Bankston Kaydeden (comit) Kohei Yoshida

Prevent broadcasts to gain xlsx formula import performance boost

oox import filter was spending a lot of time in ScFormulaCell::Notify()
because of unnecessary broadcasts.
Now the oox import filter will use the same approach
that the xml import filter uses to prevent this from happening which
results in shorter import time.

Change-Id: I65e86919f352de0b22916a8d57d3166af0a58984
üst a96998cd
...@@ -553,6 +553,10 @@ void WorkbookGlobals::initialize( bool bWorkbookFile ) ...@@ -553,6 +553,10 @@ void WorkbookGlobals::initialize( bool bWorkbookFile )
//! TODO: localize progress bar text //! TODO: localize progress bar text
mxProgressBar.reset( new SegmentProgressBar( mrBaseFilter.getStatusIndicator(), CREATE_OUSTRING( "Loading..." ) ) ); mxProgressBar.reset( new SegmentProgressBar( mrBaseFilter.getStatusIndicator(), CREATE_OUSTRING( "Loading..." ) ) );
mxFmlaParser.reset( new FormulaParser( *this ) ); mxFmlaParser.reset( new FormulaParser( *this ) );
//prevent unnecessary broadcasts and "half way listeners" as
//is done in ScDocShell::BeforeXMLLoading() for ods
getScDocument().SetInsertingFromOtherDoc(true);
} }
else if( mrBaseFilter.isExportFilter() ) else if( mrBaseFilter.isExportFilter() )
{ {
...@@ -604,6 +608,10 @@ void WorkbookGlobals::finalize() ...@@ -604,6 +608,10 @@ void WorkbookGlobals::finalize()
aPropSet.setProperty( PROP_IsChangeReadOnlyEnabled, false ); aPropSet.setProperty( PROP_IsChangeReadOnlyEnabled, false );
// #111099# open forms in alive mode (has no effect, if no controls in document) // #111099# open forms in alive mode (has no effect, if no controls in document)
aPropSet.setProperty( PROP_ApplyFormDesignMode, false ); aPropSet.setProperty( PROP_ApplyFormDesignMode, false );
//stop preventing establishment of listeners as is done in
//ScDocShell::AfterXMLLoading() for ods
getScDocument().SetInsertingFromOtherDoc(false);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment