sc/source/ui/view/viewdata.cxx | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-)
New commits: commit 5483183ab0389914830fa183af1242860f2ab0a6 Author: Dennis Francis <dennis.fran...@collabora.com> AuthorDate: Wed Jun 3 14:02:44 2020 +0530 Commit: Dennis Francis <dennis.fran...@collabora.com> CommitDate: Tue Jul 7 11:48:00 2020 +0200 ScViewData::EditGrowY: keep EditView's print-twips data updated Change-Id: I0207e65fc0386eb9a86de6ab4472780553eadd4a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98126 Tested-by: Jenkins Reviewed-by: Dennis Francis <dennis.fran...@collabora.com> diff --git a/sc/source/ui/view/viewdata.cxx b/sc/source/ui/view/viewdata.cxx index 11f24c453fa8..7a4d8224a06f 100644 --- a/sc/source/ui/view/viewdata.cxx +++ b/sc/source/ui/view/viewdata.cxx @@ -2050,6 +2050,10 @@ void ScViewData::EditGrowY( bool bInitial ) comphelper::FlagRestorationGuard aFlagGuard(bGrowing, true); + bool bLOKActive = comphelper::LibreOfficeKit::isActive(); + bool bLOKPrintTwips = bLOKActive && comphelper::LibreOfficeKit::isCompatFlagSet( + comphelper::LibreOfficeKit::Compat::scPrintTwipsMsgs); + ScSplitPos eWhich = GetActivePart(); ScVSplitPos eVWhich = WhichV(eWhich); EditView* pCurView = pEditView[eWhich].get(); @@ -2069,11 +2073,21 @@ void ScViewData::EditGrowY( bool bInitial ) EditEngine* pEngine = pCurView->GetEditEngine(); vcl::Window* pWin = pCurView->GetWindow(); + MapUnit eWinUnit = GetLogicMode(eWhich).GetMapUnit(); SCROW nBottom = GetPosY(eVWhich) + VisibleCellsY(eVWhich); Size aSize = pEngine->GetPaperSize(); + Size aSizePTwips; tools::Rectangle aArea = pCurView->GetOutputArea(); + tools::Rectangle aAreaPTwips; + + if (bLOKPrintTwips) + { + aSizePTwips = OutputDevice::LogicToLogic(aSize, MapMode(eWinUnit), MapMode(MapUnit::MapTwip)); + aAreaPTwips = pCurView->GetLOKSpecialOutputArea(); + } + long nOldBottom = aArea.Bottom(); long nTextHeight = pEngine->GetTextHeight(); @@ -2100,12 +2114,17 @@ void ScViewData::EditGrowY( bool bInitial ) { ++nEditEndRow; ScDocument* pLocalDoc = GetDocument(); - long nPix = ToPixel( pLocalDoc->GetRowHeight( nEditEndRow, nTabNo ), nPPTY ); + long nRowHeight = pLocalDoc->GetRowHeight( nEditEndRow, nTabNo ); + long nPix = ToPixel( nRowHeight, nPPTY ); aArea.AdjustBottom(pWin->PixelToLogic(Size(0,nPix)).Height() ); + if (bLOKPrintTwips) + aAreaPTwips.AdjustBottom(nRowHeight); if ( aArea.Bottom() > aArea.Top() + aSize.Height() - 1 ) { aArea.SetBottom( aArea.Top() + aSize.Height() - 1 ); + if (bLOKPrintTwips) + aAreaPTwips.SetBottom( aAreaPTwips.Top() + aSizePTwips.Height() - 1 ); bMaxReached = true; // don't occupy more cells beyond paper size } @@ -2116,6 +2135,8 @@ void ScViewData::EditGrowY( bool bInitial ) if (bChanged) { pCurView->SetOutputArea(aArea); + if (bLOKPrintTwips) + pCurView->SetLOKSpecialOutputArea(aAreaPTwips); if (nEditEndRow >= nBottom || bMaxReached) { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits