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
This commit is contained in:
@@ -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 },
|
||||
|
Reference in New Issue
Block a user