sc/source/ui/view/viewfun3.cxx | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-)
New commits: commit 548e9d43c2f171263b7b53c00b48b3b732226919 Author: David Tardon <dtar...@redhat.com> Date: Wed Dec 10 10:32:53 2014 +0100 paste from system from the top left of selection For example, 1. echo -e "5,6\n7,8" 2. select the lines and copy them to clipboard 3. select an area in Calc, starting from bottom right 4. paste 5. select comma as data separator in the CSV import dialog I think most people would expect the data to appear in the selected area, but currently it would be inserted starting from active cell (which is the bottom right cell of the selection). Change-Id: Ief0e05deda18928a832dca2a261f8493ac9a03a9 Reviewed-on: https://gerrit.libreoffice.org/13410 Reviewed-by: Eike Rathke <er...@redhat.com> Tested-by: Eike Rathke <er...@redhat.com> (cherry picked from commit 781639eb84fc09d0260092238c3f50216f15a3ff) Reviewed-on: https://gerrit.libreoffice.org/13421 diff --git a/sc/source/ui/view/viewfun3.cxx b/sc/source/ui/view/viewfun3.cxx index 8244e60..562135a 100644 --- a/sc/source/ui/view/viewfun3.cxx +++ b/sc/source/ui/view/viewfun3.cxx @@ -676,8 +676,24 @@ bool ScViewFunc::PasteFromSystem( sal_uLong nFormatId, bool bApi ) if ( !aDataHelper.GetTransferable().is() ) return false; + SCCOL nPosX = 0; + SCROW nPosY = 0; + + ScViewData& rViewData = GetViewData(); + ScRange aRange; + if ( rViewData.GetSimpleArea( aRange ) == SC_MARK_SIMPLE ) + { + nPosX = aRange.aStart.Col(); + nPosY = aRange.aStart.Row(); + } + else + { + nPosX = rViewData.GetCurX(); + nPosY = rViewData.GetCurY(); + } + bRet = PasteDataFormat( nFormatId, aDataHelper.GetTransferable(), - GetViewData().GetCurX(), GetViewData().GetCurY(), + nPosX, nPosY, NULL, false, !bApi ); // allow warning dialog if ( !bRet && !bApi ) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits