sw/qa/extras/rtfexport/data/placeholder.odt |binary sw/qa/extras/rtfexport/rtfexport.cxx | 11 +++++++++++ sw/source/filter/ww8/rtfattributeoutput.cxx | 7 +++++-- 3 files changed, 16 insertions(+), 2 deletions(-)
New commits: commit 71ccb4b03138cc72d3106694a8c2bed2a49fe17c Author: Miklos Vajna <[email protected]> Date: Fri Mar 29 12:30:52 2013 +0100 implement RtfAttributeOutput::PlaceholderField Change-Id: Ib6fd380736c5567a98317ec117969d8c76a31f02 diff --git a/sw/qa/extras/rtfexport/data/placeholder.odt b/sw/qa/extras/rtfexport/data/placeholder.odt new file mode 100644 index 0000000..5bc1097 Binary files /dev/null and b/sw/qa/extras/rtfexport/data/placeholder.odt differ diff --git a/sw/qa/extras/rtfexport/rtfexport.cxx b/sw/qa/extras/rtfexport/rtfexport.cxx index fffb959..ec0ff69 100644 --- a/sw/qa/extras/rtfexport/rtfexport.cxx +++ b/sw/qa/extras/rtfexport/rtfexport.cxx @@ -72,6 +72,7 @@ public: void testFdo52286(); void testFdo61507(); void testFdo30983(); + void testPlaceholder(); CPPUNIT_TEST_SUITE(Test); #if !defined(MACOSX) && !defined(WNT) @@ -118,6 +119,7 @@ void Test::run() {"fdo52286.odt", &Test::testFdo52286}, {"fdo61507.rtf", &Test::testFdo61507}, {"fdo30983.rtf", &Test::testFdo30983}, + {"placeholder.odt", &Test::testPlaceholder}, }; // Don't test the first import of these, for some reason those tests fail const char* aBlacklist[] = { @@ -495,6 +497,15 @@ void Test::testFdo30983() CPPUNIT_ASSERT_EQUAL(text::RelOrientation::PAGE_FRAME, getProperty<sal_Int16>(xDraws->getByIndex(0), "VertOrientRelation")); } +void Test::testPlaceholder() +{ + // Only the field text was exported, make sure we still have a field with the correct Hint text. + uno::Reference<text::XTextRange> xRun(getRun(getParagraph(1), 2)); + CPPUNIT_ASSERT_EQUAL(OUString("TextField"), getProperty<OUString>(xRun, "TextPortionType")); + uno::Reference<beans::XPropertySet> xField = getProperty< uno::Reference<beans::XPropertySet> >(xRun, "TextField"); + CPPUNIT_ASSERT_EQUAL(OUString("place holder"), getProperty<OUString>(xField, "Hint")); +} + CPPUNIT_TEST_SUITE_REGISTRATION(Test); CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/sw/source/filter/ww8/rtfattributeoutput.cxx b/sw/source/filter/ww8/rtfattributeoutput.cxx index 47ad371..9636254 100644 --- a/sw/source/filter/ww8/rtfattributeoutput.cxx +++ b/sw/source/filter/ww8/rtfattributeoutput.cxx @@ -3074,9 +3074,12 @@ bool RtfAttributeOutput::DropdownField( const SwField* /*pFld*/ ) return true; } -bool RtfAttributeOutput::PlaceholderField( const SwField* ) +bool RtfAttributeOutput::PlaceholderField( const SwField* pField) { - return true; // expand to text? + m_aRunText->append("{" OOO_STRING_SVTOOLS_RTF_FIELD "{" OOO_STRING_SVTOOLS_RTF_IGNORE OOO_STRING_SVTOOLS_RTF_FLDINST " MACROBUTTON None "); + RunText(pField->GetPar1()); + m_aRunText->append("}}"); + return false; // do not expand } RtfAttributeOutput::RtfAttributeOutput( RtfExport &rExport ) _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
