Kaydet (Commit) 57929ce5 authored tarafından Katarina Behrens's avatar Katarina Behrens

tdf#88056: Implement import of page title field from ODF

the field seems to get imported now, but still ain't displayed
in Impress *sigh*

Change-Id: I095b9a2c59145f984bc9db853cc22501ca103bb7
üst bd75327c
......@@ -231,6 +231,7 @@ enum XMLTextPElemTokens
XML_TOK_DRAW_FOOTER,
XML_TOK_DRAW_DATE_TIME,
XML_TOK_TEXT_PAGE_CONTINUATION,
XML_TOK_DRAW_PAGE_TITLE,
XML_TOK_TEXT_FIELDMARK,
XML_TOK_TEXT_FIELDMARK_START,
......
......@@ -1406,6 +1406,28 @@ public:
::com::sun::star::beans::XPropertySet> & xPropertySet) SAL_OVERRIDE;
};
/** import page|slide title fields (<presentation:page-title>) */
class XMLPageTitleFieldImportContext : public XMLTextFieldImportContext
{
public:
TYPEINFO_OVERRIDE();
XMLPageTitleFieldImportContext(
SvXMLImport& rImport, /// XML Import
XMLTextImportHelper& rHlp, /// Text import helper
sal_uInt16 nPrfx, /// namespace prefix
const OUString& sLocalName); /// element name w/o prefix
/// process attribute values
virtual void ProcessAttribute( sal_uInt16 nAttrToken,
const OUString& sAttrValue ) SAL_OVERRIDE;
/// prepare XTextField for insertion into document
virtual void PrepareField(
const ::com::sun::star::uno::Reference<
::com::sun::star::beans::XPropertySet> & xPropertySet) SAL_OVERRIDE;
};
class XMLCustomPropertyFieldImportContext : public XMLTextFieldImportContext
{
OUString sName;
......
......@@ -138,6 +138,7 @@ const sal_Char sAPI_drop_down[] = "DropDown";
const sal_Char sAPI_header[] = "Header";
const sal_Char sAPI_footer[] = "Footer";
const sal_Char sAPI_datetime[] = "DateTime";
const sal_Char sAPI_pagetitle[] = "PageTitle";
// property names
const sal_Char sAPI_is_fixed[] = "IsFixed";
......@@ -580,6 +581,10 @@ XMLTextFieldImportContext::CreateTextFieldImportContext(
pContext = new XMLDateTimeFieldImportContext( rImport, rHlp,
nPrefix, rName );
break;
case XML_TOK_DRAW_PAGE_TITLE:
pContext = new XMLPageTitleFieldImportContext( rImport, rHlp,
nPrefix, rName );
break;
default:
// ignore! May not even be a textfield.
......@@ -4154,4 +4159,31 @@ void XMLDateTimeFieldImportContext::PrepareField(
{
}
/** import page|slide title fields (<presentation:page-title>) */
TYPEINIT1( XMLPageTitleFieldImportContext, XMLTextFieldImportContext );
XMLPageTitleFieldImportContext::XMLPageTitleFieldImportContext(
SvXMLImport& rImport, /// XML Import
XMLTextImportHelper& rHlp, /// Text import helper
sal_uInt16 nPrfx, /// namespace prefix
const OUString& sLocalName) /// element name w/o prefix
: XMLTextFieldImportContext(rImport, rHlp, sAPI_datetime, nPrfx, sLocalName )
{
sServicePrefix = sAPI_presentation_prefix;
bValid = true;
}
/// process attribute values
void XMLPageTitleFieldImportContext::ProcessAttribute( sal_uInt16,
const OUString& )
{
}
/// prepare XTextField for insertion into document
void XMLPageTitleFieldImportContext::PrepareField(
const ::com::sun::star::uno::Reference<
::com::sun::star::beans::XPropertySet> &)
{
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
......@@ -281,6 +281,8 @@ static const SvXMLTokenMapEntry aTextPElemTokenMap[] =
{ XML_NAMESPACE_PRESENTATION, XML_HEADER, XML_TOK_DRAW_HEADER },
{ XML_NAMESPACE_PRESENTATION, XML_FOOTER, XML_TOK_DRAW_FOOTER },
{ XML_NAMESPACE_PRESENTATION, XML_DATE_TIME, XML_TOK_DRAW_DATE_TIME },
{ XML_NAMESPACE_LO_EXT, XML_PAGE_TITLE, XML_TOK_DRAW_PAGE_TITLE },
{ XML_NAMESPACE_PRESENTATION, XML_PAGE_TITLE, XML_TOK_DRAW_PAGE_TITLE },
{ XML_NAMESPACE_TEXT, XML_PAGE_CONTINUATION, XML_TOK_TEXT_PAGE_CONTINUATION },
{ XML_NAMESPACE_FIELD, XML_FIELDMARK, XML_TOK_TEXT_FIELDMARK },
......
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