You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
2.1 KiB
56 lines
2.1 KiB
From 5a958aa9d95f0c14e4980f6909550e657d87a3a9 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
|
Date: Thu, 13 Nov 2014 14:31:09 +0000
|
|
Subject: [PATCH] impress tables are not interactively growing
|
|
|
|
the optimization here stops tables growing as their text
|
|
contents change in editing mode
|
|
|
|
So, just recalculate if the table could grow and its
|
|
being interactively edited, which leaves the original
|
|
(dubious ?) load-time optimization in place
|
|
|
|
Change-Id: I894acf47d34ec8b68aaf9076b5a0cb7e29c38a17
|
|
(cherry picked from commit 22ef69b25fa60f4543dc72cb7a8d2f88b789ce43)
|
|
---
|
|
svx/source/table/svdotable.cxx | 9 ++++-----
|
|
1 file changed, 4 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/svx/source/table/svdotable.cxx b/svx/source/table/svdotable.cxx
|
|
index fbd532a..856a9e5 100644
|
|
--- a/svx/source/table/svdotable.cxx
|
|
+++ b/svx/source/table/svdotable.cxx
|
|
@@ -689,16 +689,17 @@ sal_Int32 SdrTableObjImpl::getRowCount() const
|
|
return mxTable.is() ? mxTable->getRowCount() : 0;
|
|
}
|
|
|
|
-
|
|
-
|
|
void SdrTableObjImpl::LayoutTable( Rectangle& rArea, bool bFitWidth, bool bFitHeight )
|
|
{
|
|
if( mpLayouter && mpTableObj->GetModel() )
|
|
{
|
|
// Optimization: SdrTableObj::SetChanged() can call this very often, repeatedly
|
|
// with the same settings, noticeably increasing load time. Skip if already done.
|
|
+ bool bInteractiveMightGrowBecauseTextChanged =
|
|
+ mpTableObj->IsRealyEdited() && (mpTableObj->IsAutoGrowHeight() || mpTableObj->IsAutoGrowWidth());
|
|
WritingMode writingMode = mpTableObj->GetWritingMode();
|
|
- if( lastLayoutTable != this || lastLayoutInputRectangle != rArea
|
|
+ if( bInteractiveMightGrowBecauseTextChanged
|
|
+ || lastLayoutTable != this || lastLayoutInputRectangle != rArea
|
|
|| lastLayoutFitWidth != bFitWidth || lastLayoutFitHeight != bFitHeight
|
|
|| lastLayoutMode != writingMode
|
|
|| lastRowCount != getRowCount()
|
|
@@ -722,8 +723,6 @@ void SdrTableObjImpl::LayoutTable( Rectangle& rArea, bool bFitWidth, bool bFitHe
|
|
}
|
|
}
|
|
|
|
-
|
|
-
|
|
void SdrTableObjImpl::UpdateCells( Rectangle& rArea )
|
|
{
|
|
if( mpLayouter && mxTable.is() )
|
|
--
|
|
1.9.3
|
|
|