diff options
Diffstat (limited to 'sw')
-rw-r--r-- | sw/qa/extras/rtfexport/data/placeholder.odt | bin | 0 -> 8752 bytes | |||
-rw-r--r-- | sw/qa/extras/rtfexport/rtfexport.cxx | 11 | ||||
-rw-r--r-- | sw/source/filter/ww8/rtfattributeoutput.cxx | 7 |
3 files changed, 16 insertions, 2 deletions
diff --git a/sw/qa/extras/rtfexport/data/placeholder.odt b/sw/qa/extras/rtfexport/data/placeholder.odt Binary files differnew file mode 100644 index 000000000000..5bc1097ded02 --- /dev/null +++ b/sw/qa/extras/rtfexport/data/placeholder.odt diff --git a/sw/qa/extras/rtfexport/rtfexport.cxx b/sw/qa/extras/rtfexport/rtfexport.cxx index fffb9591af30..ec0ff695d526 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 47ad371d8d0a..9636254b19a3 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 ) |