[Libreoffice-commits] core.git: sc/qa sc/source

Kohei Yoshida kohei.yoshida at collabora.com
Thu Jan 30 14:38:20 PST 2014


 sc/qa/unit/ucalc.cxx            |    1 +
 sc/source/ui/docshell/impex.cxx |   17 ++++++++++-------
 sc/source/ui/inc/impex.hxx      |    2 ++
 sc/source/ui/view/viewfun5.cxx  |    1 +
 4 files changed, 14 insertions(+), 7 deletions(-)

New commits:
commit 3d869cda8db03820dea8c4ba463eb155d05e933b
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date:   Thu Jan 30 17:41:23 2014 -0500

    fdo#74014: Brodcast only when pasting, not during file import.
    
    Change-Id: I7cca5d459491fca782f24093dcdd7d0c1c69bdc9

diff --git a/sc/qa/unit/ucalc.cxx b/sc/qa/unit/ucalc.cxx
index 7e9bba7..5811dc0 100644
--- a/sc/qa/unit/ucalc.cxx
+++ b/sc/qa/unit/ucalc.cxx
@@ -5194,6 +5194,7 @@ void Test::testImportStream()
     aOpt.SetFieldSeps(",");
 
     ScImportExport aObj(m_pDoc, ScAddress(0,0,0));
+    aObj.SetImportBroadcast(true);
     aObj.SetExtOptions(aOpt);
     aObj.ImportString("1,2,3", FORMAT_STRING);
 
diff --git a/sc/source/ui/docshell/impex.cxx b/sc/source/ui/docshell/impex.cxx
index bf1c048..d6ce4f3 100644
--- a/sc/source/ui/docshell/impex.cxx
+++ b/sc/source/ui/docshell/impex.cxx
@@ -89,7 +89,7 @@ ScImportExport::ScImportExport( ScDocument* p )
       bFormulas( false ), bIncludeFiltered( true ),
       bAll( true ), bSingle( true ), bUndo( false ),
       bOverflowRow( false ), bOverflowCol( false ), bOverflowCell( false ),
-      mbApi( true ), mExportTextOptions()
+      mbApi( true ), mbImportBroadcast(false), mExportTextOptions()
 {
     pUndoDoc = NULL;
     pExtOptions = NULL;
@@ -105,7 +105,7 @@ ScImportExport::ScImportExport( ScDocument* p, const ScAddress& rPt )
       bFormulas( false ), bIncludeFiltered( true ),
       bAll( false ), bSingle( true ), bUndo( pDocSh != NULL ),
       bOverflowRow( false ), bOverflowCol( false ), bOverflowCell( false ),
-      mbApi( true ), mExportTextOptions()
+      mbApi( true ), mbImportBroadcast(false), mExportTextOptions()
 {
     pUndoDoc = NULL;
     pExtOptions = NULL;
@@ -122,7 +122,7 @@ ScImportExport::ScImportExport( ScDocument* p, const ScRange& r )
       bFormulas( false ), bIncludeFiltered( true ),
       bAll( false ), bSingle( false ), bUndo( pDocSh != NULL ),
       bOverflowRow( false ), bOverflowCol( false ), bOverflowCell( false ),
-      mbApi( true ), mExportTextOptions()
+      mbApi( true ), mbImportBroadcast(false), mExportTextOptions()
 {
     pUndoDoc = NULL;
     pExtOptions = NULL;
@@ -140,7 +140,7 @@ ScImportExport::ScImportExport( ScDocument* p, const OUString& rPos )
       bFormulas( false ), bIncludeFiltered( true ),
       bAll( false ), bSingle( true ), bUndo( pDocSh != NULL ),
       bOverflowRow( false ), bOverflowCol( false ), bOverflowCell( false ),
-      mbApi( true ), mExportTextOptions()
+      mbApi( true ), mbImportBroadcast(false), mExportTextOptions()
 {
     pUndoDoc = NULL;
     pExtOptions = NULL;
@@ -947,7 +947,7 @@ bool ScImportExport::Text2Doc( SvStream& rStrm )
     }
 
     EndPaste();
-    if (bOk)
+    if (bOk && mbImportBroadcast)
     {
         pDoc->BroadcastCells(aRange, SC_HINT_DATACHANGED);
         pDocSh->PostDataChanged();
@@ -1490,8 +1490,11 @@ bool ScImportExport::ExtText2Doc( SvStream& rStrm )
     if (bRangeIsDetermined)
         EndPaste(false);
 
-    pDoc->BroadcastCells(aRange, SC_HINT_DATACHANGED);
-    pDocSh->PostDataChanged();
+    if (mbImportBroadcast)
+    {
+        pDoc->BroadcastCells(aRange, SC_HINT_DATACHANGED);
+        pDocSh->PostDataChanged();
+    }
     return true;
 }
 
diff --git a/sc/source/ui/inc/impex.hxx b/sc/source/ui/inc/impex.hxx
index 4356154..b21511d 100644
--- a/sc/source/ui/inc/impex.hxx
+++ b/sc/source/ui/inc/impex.hxx
@@ -65,6 +65,7 @@ class ScImportExport
     bool        bOverflowCol;           // too many columns
     bool        bOverflowCell;          // too much data for a cell
     bool        mbApi;
+    bool        mbImportBroadcast; // whether or not to broadcast after data import.
     ScExportTextOptions mExportTextOptions;
 
     ScAsciiOptions* pExtOptions;        // extended options
@@ -151,6 +152,7 @@ public:
 
     bool IsApi() const { return mbApi; }
     void SetApi( bool bApi ) { mbApi = bApi; }
+    void SetImportBroadcast( bool b ) { mbImportBroadcast = b; }
     const ScExportTextOptions& GetExportTextOptions() { return mExportTextOptions; }
     void SetExportTextOptions( const ScExportTextOptions& options ) { mExportTextOptions = options; }
 };
diff --git a/sc/source/ui/view/viewfun5.cxx b/sc/source/ui/view/viewfun5.cxx
index 5045e06..a4d5394 100644
--- a/sc/source/ui/view/viewfun5.cxx
+++ b/sc/source/ui/view/viewfun5.cxx
@@ -288,6 +288,7 @@ sal_Bool ScViewFunc::PasteDataFormat( sal_uLong nFormatId,
         {
             ScAddress aCellPos( nPosX, nPosY, GetViewData()->GetTabNo() );
             ScImportExport aObj( GetViewData()->GetDocument(), aCellPos );
+            aObj.SetImportBroadcast(true);
 
             OUString aStr;
             SotStorageStreamRef xStream;


More information about the Libreoffice-commits mailing list