Kaydet (Commit) 3d869cda authored tarafından Kohei Yoshida's avatar Kohei Yoshida

fdo#74014: Brodcast only when pasting, not during file import.

Change-Id: I7cca5d459491fca782f24093dcdd7d0c1c69bdc9
üst 59239c29
...@@ -5194,6 +5194,7 @@ void Test::testImportStream() ...@@ -5194,6 +5194,7 @@ void Test::testImportStream()
aOpt.SetFieldSeps(","); aOpt.SetFieldSeps(",");
ScImportExport aObj(m_pDoc, ScAddress(0,0,0)); ScImportExport aObj(m_pDoc, ScAddress(0,0,0));
aObj.SetImportBroadcast(true);
aObj.SetExtOptions(aOpt); aObj.SetExtOptions(aOpt);
aObj.ImportString("1,2,3", FORMAT_STRING); aObj.ImportString("1,2,3", FORMAT_STRING);
......
...@@ -89,7 +89,7 @@ ScImportExport::ScImportExport( ScDocument* p ) ...@@ -89,7 +89,7 @@ ScImportExport::ScImportExport( ScDocument* p )
bFormulas( false ), bIncludeFiltered( true ), bFormulas( false ), bIncludeFiltered( true ),
bAll( true ), bSingle( true ), bUndo( false ), bAll( true ), bSingle( true ), bUndo( false ),
bOverflowRow( false ), bOverflowCol( false ), bOverflowCell( false ), bOverflowRow( false ), bOverflowCol( false ), bOverflowCell( false ),
mbApi( true ), mExportTextOptions() mbApi( true ), mbImportBroadcast(false), mExportTextOptions()
{ {
pUndoDoc = NULL; pUndoDoc = NULL;
pExtOptions = NULL; pExtOptions = NULL;
...@@ -105,7 +105,7 @@ ScImportExport::ScImportExport( ScDocument* p, const ScAddress& rPt ) ...@@ -105,7 +105,7 @@ ScImportExport::ScImportExport( ScDocument* p, const ScAddress& rPt )
bFormulas( false ), bIncludeFiltered( true ), bFormulas( false ), bIncludeFiltered( true ),
bAll( false ), bSingle( true ), bUndo( pDocSh != NULL ), bAll( false ), bSingle( true ), bUndo( pDocSh != NULL ),
bOverflowRow( false ), bOverflowCol( false ), bOverflowCell( false ), bOverflowRow( false ), bOverflowCol( false ), bOverflowCell( false ),
mbApi( true ), mExportTextOptions() mbApi( true ), mbImportBroadcast(false), mExportTextOptions()
{ {
pUndoDoc = NULL; pUndoDoc = NULL;
pExtOptions = NULL; pExtOptions = NULL;
...@@ -122,7 +122,7 @@ ScImportExport::ScImportExport( ScDocument* p, const ScRange& r ) ...@@ -122,7 +122,7 @@ ScImportExport::ScImportExport( ScDocument* p, const ScRange& r )
bFormulas( false ), bIncludeFiltered( true ), bFormulas( false ), bIncludeFiltered( true ),
bAll( false ), bSingle( false ), bUndo( pDocSh != NULL ), bAll( false ), bSingle( false ), bUndo( pDocSh != NULL ),
bOverflowRow( false ), bOverflowCol( false ), bOverflowCell( false ), bOverflowRow( false ), bOverflowCol( false ), bOverflowCell( false ),
mbApi( true ), mExportTextOptions() mbApi( true ), mbImportBroadcast(false), mExportTextOptions()
{ {
pUndoDoc = NULL; pUndoDoc = NULL;
pExtOptions = NULL; pExtOptions = NULL;
...@@ -140,7 +140,7 @@ ScImportExport::ScImportExport( ScDocument* p, const OUString& rPos ) ...@@ -140,7 +140,7 @@ ScImportExport::ScImportExport( ScDocument* p, const OUString& rPos )
bFormulas( false ), bIncludeFiltered( true ), bFormulas( false ), bIncludeFiltered( true ),
bAll( false ), bSingle( true ), bUndo( pDocSh != NULL ), bAll( false ), bSingle( true ), bUndo( pDocSh != NULL ),
bOverflowRow( false ), bOverflowCol( false ), bOverflowCell( false ), bOverflowRow( false ), bOverflowCol( false ), bOverflowCell( false ),
mbApi( true ), mExportTextOptions() mbApi( true ), mbImportBroadcast(false), mExportTextOptions()
{ {
pUndoDoc = NULL; pUndoDoc = NULL;
pExtOptions = NULL; pExtOptions = NULL;
...@@ -947,7 +947,7 @@ bool ScImportExport::Text2Doc( SvStream& rStrm ) ...@@ -947,7 +947,7 @@ bool ScImportExport::Text2Doc( SvStream& rStrm )
} }
EndPaste(); EndPaste();
if (bOk) if (bOk && mbImportBroadcast)
{ {
pDoc->BroadcastCells(aRange, SC_HINT_DATACHANGED); pDoc->BroadcastCells(aRange, SC_HINT_DATACHANGED);
pDocSh->PostDataChanged(); pDocSh->PostDataChanged();
...@@ -1490,8 +1490,11 @@ bool ScImportExport::ExtText2Doc( SvStream& rStrm ) ...@@ -1490,8 +1490,11 @@ bool ScImportExport::ExtText2Doc( SvStream& rStrm )
if (bRangeIsDetermined) if (bRangeIsDetermined)
EndPaste(false); EndPaste(false);
if (mbImportBroadcast)
{
pDoc->BroadcastCells(aRange, SC_HINT_DATACHANGED); pDoc->BroadcastCells(aRange, SC_HINT_DATACHANGED);
pDocSh->PostDataChanged(); pDocSh->PostDataChanged();
}
return true; return true;
} }
......
...@@ -65,6 +65,7 @@ class ScImportExport ...@@ -65,6 +65,7 @@ class ScImportExport
bool bOverflowCol; // too many columns bool bOverflowCol; // too many columns
bool bOverflowCell; // too much data for a cell bool bOverflowCell; // too much data for a cell
bool mbApi; bool mbApi;
bool mbImportBroadcast; // whether or not to broadcast after data import.
ScExportTextOptions mExportTextOptions; ScExportTextOptions mExportTextOptions;
ScAsciiOptions* pExtOptions; // extended options ScAsciiOptions* pExtOptions; // extended options
...@@ -151,6 +152,7 @@ public: ...@@ -151,6 +152,7 @@ public:
bool IsApi() const { return mbApi; } bool IsApi() const { return mbApi; }
void SetApi( bool bApi ) { mbApi = bApi; } void SetApi( bool bApi ) { mbApi = bApi; }
void SetImportBroadcast( bool b ) { mbImportBroadcast = b; }
const ScExportTextOptions& GetExportTextOptions() { return mExportTextOptions; } const ScExportTextOptions& GetExportTextOptions() { return mExportTextOptions; }
void SetExportTextOptions( const ScExportTextOptions& options ) { mExportTextOptions = options; } void SetExportTextOptions( const ScExportTextOptions& options ) { mExportTextOptions = options; }
}; };
......
...@@ -288,6 +288,7 @@ sal_Bool ScViewFunc::PasteDataFormat( sal_uLong nFormatId, ...@@ -288,6 +288,7 @@ sal_Bool ScViewFunc::PasteDataFormat( sal_uLong nFormatId,
{ {
ScAddress aCellPos( nPosX, nPosY, GetViewData()->GetTabNo() ); ScAddress aCellPos( nPosX, nPosY, GetViewData()->GetTabNo() );
ScImportExport aObj( GetViewData()->GetDocument(), aCellPos ); ScImportExport aObj( GetViewData()->GetDocument(), aCellPos );
aObj.SetImportBroadcast(true);
OUString aStr; OUString aStr;
SotStorageStreamRef xStream; SotStorageStreamRef xStream;
......
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