summaryrefslogtreecommitdiff
path: root/sc/source/ui/app/transobj.cxx
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2012-03-18 18:34:51 +0100
committerTor Lillqvist <tlillqvist@suse.com>2012-03-19 08:57:58 +0200
commit39228c6d2419636be04ee4a320a7c0ca08276f37 (patch)
tree8ccc03a44a359362a21df3b5ff19b39ab1d9f19a /sc/source/ui/app/transobj.cxx
parent0449662bb3f493730ea977a1864afbc82ee16d12 (diff)
also shrink used area for HTML in some cases, fdo#46230, n#677811
Hopefully this will allow pasting to external applications with whole column/row selected while not affecting calc itself. (cherry picked from commit 0ee518863337fba9bce019e05e24f527617a4321) Signed-off-by: Tor Lillqvist <tlillqvist@suse.com>
Diffstat (limited to 'sc/source/ui/app/transobj.cxx')
-rw-r--r--sc/source/ui/app/transobj.cxx15
1 files changed, 14 insertions, 1 deletions
diff --git a/sc/source/ui/app/transobj.cxx b/sc/source/ui/app/transobj.cxx
index a61e5d3d8d9e..ae735420822b 100644
--- a/sc/source/ui/app/transobj.cxx
+++ b/sc/source/ui/app/transobj.cxx
@@ -313,7 +313,20 @@ sal_Bool ScTransferObj::GetData( const datatransfer::DataFlavor& rFlavor )
sal_Bool bIncludeFiltered = pDoc->IsCutMode() || bUsedForLink;
- ScImportExport aObj( pDoc, aBlock );
+ ScRange aReducedBlock = aBlock;
+ if ( nFormat == SOT_FORMATSTR_ID_HTML && (aBlock.aEnd.Col() == MAXCOL || aBlock.aEnd.Row() == MAXROW) && aBlock.aStart.Tab() == aBlock.aEnd.Tab() )
+ {
+ bool bShrunk = false;
+ //shrink the area to allow pasting to external applications
+ SCCOL aStartCol = aReducedBlock.aStart.Col();
+ SCROW aStartRow = aReducedBlock.aStart.Row();
+ SCCOL aEndCol = aReducedBlock.aEnd.Col();
+ SCROW aEndRow = aReducedBlock.aEnd.Row();
+ pDoc->ShrinkToUsedDataArea( bShrunk, aReducedBlock.aStart.Tab(), aStartCol, aStartRow, aEndCol, aEndRow, false);
+ aReducedBlock = ScRange(aStartCol, aStartRow, aReducedBlock.aStart.Tab(), aEndCol, aEndRow, aReducedBlock.aEnd.Tab());
+ }
+
+ ScImportExport aObj( pDoc, aReducedBlock );
ScExportTextOptions aTextOptions(ScExportTextOptions::None, 0, true);
if ( bUsedForLink )
{