diff options
author | Matúš Kukan <matus.kukan@collabora.com> | 2013-11-21 21:20:17 +0100 |
---|---|---|
committer | Matúš Kukan <matus.kukan@collabora.com> | 2013-12-02 11:13:42 +0100 |
commit | 7acc91eb72bc4873367c264109321abc34d7db77 (patch) | |
tree | 11ba5d09c7186700c91db02459e6c4cd8dd44f35 /sc/source/filter | |
parent | 8f8013abc9182ce940d8c1aa359d62215f82f9cc (diff) |
Import data streams - reuse infrastructure for ScAreaLink.
Change-Id: I18db991d2e8e665d5e4ca778344993e79772ccd5
Diffstat (limited to 'sc/source/filter')
-rw-r--r-- | sc/source/filter/xml/xmlcelli.cxx | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/sc/source/filter/xml/xmlcelli.cxx b/sc/source/filter/xml/xmlcelli.cxx index e9f7d5b0e8c5..5ca7129f42fb 100644 --- a/sc/source/filter/xml/xmlcelli.cxx +++ b/sc/source/filter/xml/xmlcelli.cxx @@ -52,6 +52,8 @@ #include "tokenarray.hxx" #include "scmatrix.hxx" #include "documentimport.hxx" +#include <datastream.hxx> +#include <rangeutl.hxx> #include <xmloff/xmltkmap.hxx> #include <xmloff/xmltoken.hxx> @@ -997,6 +999,19 @@ void ScXMLTableRowCellContext::SetCellRangeSource( const ScAddress& rPosition ) rPosition.Row() + static_cast<SCROW>(pCellRangeSource->nRows - 1), rPosition.Tab() ); OUString sFilterName( pCellRangeSource->sFilterName ); OUString sSourceStr( pCellRangeSource->sSourceStr ); + OUString sRangeStr; + ScRangeStringConverter::GetStringFromRange( sRangeStr, aDestRange, pDoc, formula::FormulaGrammar::CONV_OOO ); + if (pCellRangeSource->sFilterOptions == "DataStream") + { + DataStream::Set( dynamic_cast<ScDocShell*>(pDoc->GetDocumentShell()) + , pCellRangeSource->sURL // rURL + , sRangeStr // rRange + , sFilterName.toInt32() // nLimit + , sSourceStr // rMove + , pCellRangeSource->nRefresh // nSettings + ); + return; + } ScAreaLink* pLink = new ScAreaLink( pDoc->GetDocumentShell(), pCellRangeSource->sURL, sFilterName, pCellRangeSource->sFilterOptions, sSourceStr, aDestRange, pCellRangeSource->nRefresh ); sfx2::LinkManager* pLinkManager = pDoc->GetLinkManager(); |