Import/export RTF_REVISIONS

File -> Properties -> Security -> Record Changes on the UI.

Change-Id: I96d321f407abd33e15a4a133e6723d48efa5bc53
This commit is contained in:
Miklos Vajna 2013-06-16 13:21:38 +02:00
parent 01bc38ac11
commit ae85b56a9a
4 changed files with 17 additions and 0 deletions

View File

@ -0,0 +1,3 @@
{\rtf1\revisions
hello
\par }

View File

@ -64,6 +64,7 @@ public:
void testHyperlink();
void testTextFrameBorders();
void testTextframeGradient();
void testRecordChanges();
CPPUNIT_TEST_SUITE(Test);
#if !defined(MACOSX) && !defined(WNT)
@ -117,6 +118,7 @@ void Test::run()
{"hyperlink.rtf", &Test::testHyperlink},
{"textframe-borders.rtf", &Test::testTextFrameBorders},
{"textframe-gradient.rtf", &Test::testTextframeGradient},
{"record-changes.rtf", &Test::testRecordChanges},
};
// Don't test the first import of these, for some reason those tests fail
const char* aBlacklist[] = {
@ -584,6 +586,12 @@ void Test::testTextframeGradient()
CPPUNIT_ASSERT_EQUAL(awt::GradientStyle_AXIAL, aGradient.Style);
}
void Test::testRecordChanges()
{
// \revisions wasn't imported/exported.
CPPUNIT_ASSERT_EQUAL(true, getProperty<bool>(mxComponent, "RecordChanges"));
}
CPPUNIT_TEST_SUITE_REGISTRATION(Test);
CPPUNIT_PLUGIN_IMPLEMENT();

View File

@ -515,6 +515,9 @@ void RtfExport::ExportDocument_Impl()
Strm() << OOO_STRING_SVTOOLS_RTF_VIEWSCALE;
OutULong(pViewShell->GetViewOptions()->GetZoom());
}
// Record changes?
if (nsRedlineMode_t::REDLINE_ON & mnRedlineMode)
Strm() << OOO_STRING_SVTOOLS_RTF_REVISIONS;
// Page description
WritePageDescTable();

View File

@ -2655,6 +2655,9 @@ int RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
case RTF_MNOR:
m_bMathNor = true;
break;
case RTF_REVISIONS:
m_aSettingsTableSprms.set(NS_ooxml::LN_CT_Settings_trackRevisions, RTFValue::Pointer_t(new RTFValue(1)));
break;
default:
{
SAL_INFO("writerfilter", "TODO handle flag '" << lcl_RtfToString(nKeyword) << "'");