Hi all,
Sorry for forgetting to attach the document. Please take a look
at the position of the last table.
Best regards,
Weike Liang
--------
转发邮件信息 --------
A question about table indent
Mon, 14 Mar 2016
10:23:29 +0800
libreoffice
Hi all,
My colleague from testing
department reported a bug about the indent of the whole table. I looked
into the source code and found the position where the problem may be. In
writerilter/source/dmapper/DomainMapperTableHandler.cxx there exists an
if-else statement that is responsible to calculate and process the table
indent. But after i read the annotation i found the lines in if and else
clauses were wrong. They both should change their positions with each
other. I don't know if it is right. Please review the changes and give me
some suggustions. Thanks.
Best regards,
Weike Liang
diff -uNr old/writerfilter/source/dmapper/DomainMapperTableHandler.cxx
new/writerfilter/source/dmapper/DomainMapperTableHandler.cxx
--- old/writerfilter/source/dmapper/DomainMapperTableHandler.cxx 2016-03-14
09:44:46.396913987 +0800
+++ new/writerfilter/source/dmapper/DomainMapperTableHandler.cxx 2016-03-14
09:44:45.036775927 +0800
@@ -554,11 +554,11 @@
// - nested tables: the goal is to have left-most border starting at table_indent pos
if (rInfo.nNestLevel > 1)
{
- m_aTableProperties->Insert( PROP_LEFT_MARGIN, uno::makeAny( nLeftMargin - nGapHalf ));
+ m_aTableProperties->Insert( PROP_LEFT_MARGIN, uno::makeAny( nLeftMargin - nGapHalf -
rInfo.nLeftBorderDistance ));
}
else
{
- m_aTableProperties->Insert( PROP_LEFT_MARGIN, uno::makeAny( nLeftMargin - nGapHalf -
rInfo.nLeftBorderDistance ));
+ m_aTableProperties->Insert( PROP_LEFT_MARGIN, uno::makeAny( nLeftMargin - nGapHalf ));
}
m_aTableProperties->getValue( TablePropertyMap::TABLE_WIDTH, nTableWidth );
Attachment:
table_indent.docx
Description: MS-Word 2007 document