sc/source/ui/view/viewfun2.cxx | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-)
New commits: commit c348476a2ca16d6c32d2d17a2cae5f59e967bf6d Author: Eike Rathke <er...@redhat.com> Date: Thu Mar 1 23:12:12 2018 +0100 Related: tdf#54197 copy AutoSpellData from adjacent if no selection Change-Id: I82223a64f5c5ec3c98dba390d88af8369a322bd7 diff --git a/sc/source/ui/view/viewfun2.cxx b/sc/source/ui/view/viewfun2.cxx index 606d7a0f7a48..a4406ad3cbaf 100644 --- a/sc/source/ui/view/viewfun2.cxx +++ b/sc/source/ui/view/viewfun2.cxx @@ -1286,10 +1286,27 @@ void ScViewFunc::FillSimple( FillDir eDir ) bool bDoAutoSpell = pDocSh->GetDocument().GetDocOptions().IsAutoSpell(); if ( bDoAutoSpell ) { - SCROW nFromRow = aRange.aStart.Row(); - if (nFromRow > 0 && nFromRow == aRange.aEnd.Row()) - --nFromRow; // copy AutoSpellData from row above if no selection - CopyAutoSpellData(eDir, aRange.aStart.Col(), nFromRow, aRange.aEnd.Col(), aRange.aEnd.Row(), + // Copy AutoSpellData from above(left/right/below) if no selection. + switch (eDir) + { + case FILL_TO_BOTTOM: + if (aRange.aStart.Row() > 0 && aRange.aStart.Row() == aRange.aEnd.Row()) + aRange.aStart.IncRow(-1); + break; + case FILL_TO_TOP: + if (aRange.aEnd.Row() < MAXROW && aRange.aStart.Row() == aRange.aEnd.Row()) + aRange.aEnd.IncRow(1); + break; + case FILL_TO_RIGHT: + if (aRange.aStart.Col() > 0 && aRange.aStart.Col() == aRange.aEnd.Col()) + aRange.aStart.IncCol(-1); + break; + case FILL_TO_LEFT: + if (aRange.aEnd.Col() < MAXCOL && aRange.aStart.Col() == aRange.aEnd.Col()) + aRange.aEnd.IncCol(1); + break; + } + CopyAutoSpellData(eDir, aRange.aStart.Col(), aRange.aStart.Row(), aRange.aEnd.Col(), aRange.aEnd.Row(), ::std::numeric_limits<sal_uLong>::max()); } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits