Kaydet (Commit) 84217e29 authored tarafından Michael Stahl's avatar Michael Stahl

fdo#62147: sw: ODF import: apply styles in cells with string-value

Apply the table-cell-style to paragraphs inside the table cell
for cells with value-type="string" and office:string-value attribute.
This should complete commit 1b5839f4.

Change-Id: Ief34de1e7c5087906ea597ce3ca96e020f6eebe6
üst 1d80c1cf
......@@ -587,8 +587,11 @@ SwXMLTableCellContext_Impl::~SwXMLTableCellContext_Impl()
inline void SwXMLTableCellContext_Impl::_InsertContent()
{
SwStartNode const*const pStartNode( GetTable()->InsertTableSection(0,
(m_bHasStringValue && m_bValueTypeIsString &&
!aStyleName.isEmpty()) ? & aStyleName : 0) );
GetTable()->InsertCell( aStyleName, nRowSpan, nColSpan,
GetTable()->InsertTableSection(),
pStartNode,
mXmlId,
NULL, bProtect, &sFormula, bHasValue, fValue,
(m_bHasStringValue && m_bValueTypeIsString) ? &m_StringValue : 0);
......@@ -2881,12 +2884,14 @@ void SwXMLTableContext::MakeTable( SwTableBox *pBox, sal_Int32 nW )
}
const SwStartNode *SwXMLTableContext::InsertTableSection(
const SwStartNode *pPrevSttNd )
const SwStartNode *const pPrevSttNd,
OUString const*const pStringValueStyleName)
{
// The topmost table is the only table that maintains the two members
// pBox1 and bFirstSection.
if( xParentTable.Is() )
return ((SwXMLTableContext *)&xParentTable)->InsertTableSection( pPrevSttNd );
return static_cast<SwXMLTableContext *>(&xParentTable)
->InsertTableSection(pPrevSttNd, pStringValueStyleName);
const SwStartNode *pStNd;
Reference<XUnoTunnel> xCrsrTunnel( GetImport().GetTextImport()->GetCursor(),
......@@ -2941,6 +2946,13 @@ const SwStartNode *SwXMLTableContext::InsertTableSection(
}
}
if (pStringValueStyleName)
{ // fdo#62147: apply style to paragraph on string-value cell
GetImport().GetTextImport()->SetStyleAndAttrs( GetImport(),
GetImport().GetTextImport()->GetCursor(), *pStringValueStyleName,
true, false, -1, false); // parameters same as sCellParaStyleName
}
return pStNd;
}
......
......@@ -186,7 +186,8 @@ public:
void InsertRepRows( sal_uInt32 nCount );
const SwXMLTableCell_Impl *GetCell( sal_uInt32 nRow, sal_uInt32 nCol ) const;
SwXMLTableCell_Impl *GetCell( sal_uInt32 nRow, sal_uInt32 nCol );
const SwStartNode *InsertTableSection( const SwStartNode *pPrevSttNd=0 );
const SwStartNode *InsertTableSection(const SwStartNode *pPrevSttNd = 0,
OUString const* pStringValueStyleName = 0);
virtual void EndElement();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment