hello Noel, Am Do, 26.Jul.12, KW30 (13:06:22 Uhr) schrieb Noel Power <nopo...@suse.com>: > Hi Johann, .... > Also if you wish you could help with is the patch for enabling > persisting to odf needs updating to use "<number:fill-character>" > instead of "number:repeated", of course any other general testing. bug > reporting & patches in this area wildly appreciated also. Are you > interested or have any time for any of that? > > Noel
... and yes, I am willing to help with these tasks. Since I am a complete "freshman" it will take definitely some time for me to come up with "acceptable" contributions. Nevertheless I will try to insert/apply your pertinent patches to the source tree I used (on my ubuntu 12.04 box) for the "quick & dirty hack". Thereafter I will play with it ... and come back to you in about 2 or 3 weeks and let you know about my mileage - hope that's okay. Keep up the good work! regards, hans > >From 8a2f12168cb450de589853285871874231ec130f Mon Sep 17 00:00:00 2001 > From: Noel Power <noel.po...@novell.com> > Date: Tue, 17 Apr 2012 20:37:02 +0100 > Subject: [PATCH 2/3] support new xml number:repeated elem for number-style > namespace > > this is used to define the char to be repeated in a number format > > e.g repeat ' ' 0 or more times to fill available space > > <number:number-style style:name="N130P0" style:volatile="true"> > <number:text> $</number:text> > --> <number:repeated> </number:repeated> > --- > xmloff/inc/xmloff/xmlnumfe.hxx | 1 + > xmloff/source/style/xmlnumfe.cxx | 12 ++++++++++++ > xmloff/source/style/xmlnumfi.cxx | 10 ++++++++++ > 3 files changed, 23 insertions(+), 0 deletions(-) > > diff --git a/xmloff/inc/xmloff/xmlnumfe.hxx b/xmloff/inc/xmloff/xmlnumfe.hxx > index b1f00e7..9998cad 100644 > --- a/xmloff/inc/xmloff/xmlnumfe.hxx > +++ b/xmloff/inc/xmloff/xmlnumfe.hxx > @@ -95,6 +95,7 @@ private: > SAL_DLLPRIVATE void WriteMapElement_Impl( sal_Int32 nOp, double fLimit, > sal_Int32 nKey, sal_Int32 nPart ); > > + SAL_DLLPRIVATE void WriteRepeatedElement_Impl( sal_Unicode ch ); > SAL_DLLPRIVATE sal_Bool WriteTextWithCurrency_Impl( const > ::rtl::OUString& rString, > const ::com::sun::star::lang::Locale& rLocale ); > SAL_DLLPRIVATE void ExportPart_Impl( const SvNumberformat& rFormat, > sal_uInt32 nKey, > diff --git a/xmloff/source/style/xmlnumfe.cxx > b/xmloff/source/style/xmlnumfe.cxx > index 714dcda..71aa5ef 100644 > --- a/xmloff/source/style/xmlnumfe.cxx > +++ b/xmloff/source/style/xmlnumfe.cxx > @@ -537,6 +537,14 @@ void SvXMLNumFmtExport::WriteMinutesElement_Impl( > sal_Bool bLong ) > sal_True, sal_False ); > } > > +void SvXMLNumFmtExport::WriteRepeatedElement_Impl( sal_Unicode nChar ) > +{ > + FinishTextElement_Impl(); > + SvXMLElementExport aElem( rExport, XML_NAMESPACE_NUMBER, XML_REPEATED, > + sal_True, sal_False ); > + rExport.Characters( OUString::valueOf( nChar ) ); > +} > + > void SvXMLNumFmtExport::WriteSecondsElement_Impl( sal_Bool bLong, sal_uInt16 > nDecimals ) > { > FinishTextElement_Impl(); > @@ -1567,6 +1575,10 @@ void SvXMLNumFmtExport::ExportPart_Impl( const > SvNumberformat& rFormat, sal_uInt > WriteAMPMElement_Impl(); // short/long? > bAnyContent = sal_True; > break; > + case NF_SYMBOLTYPE_STAR : > + if ( pElemStr && pElemStr->Len() > 1 ) > + WriteRepeatedElement_Impl( pElemStr->GetChar( 1 ) ); > + break; > } > nPrevType = nElemType; > ++nPos; > diff --git a/xmloff/source/style/xmlnumfi.cxx > b/xmloff/source/style/xmlnumfi.cxx > index bd953a3..ecd33b9 100644 > --- a/xmloff/source/style/xmlnumfi.cxx > +++ b/xmloff/source/style/xmlnumfi.cxx > @@ -246,6 +246,7 @@ public: > enum SvXMLStyleTokens > { > XML_TOK_STYLE_TEXT, > + XML_TOK_STYLE_REPEATED, > XML_TOK_STYLE_NUMBER, > XML_TOK_STYLE_SCIENTIFIC_NUMBER, > XML_TOK_STYLE_FRACTION, > @@ -521,6 +522,7 @@ const SvXMLTokenMap& > SvXMLNumImpData::GetStyleElemTokenMap() > { > // elements in a style > { XML_NAMESPACE_NUMBER, XML_TEXT, > XML_TOK_STYLE_TEXT }, > + { XML_NAMESPACE_NUMBER, XML_REPEATED, > XML_TOK_STYLE_REPEATED }, > { XML_NAMESPACE_NUMBER, XML_NUMBER, > XML_TOK_STYLE_NUMBER }, > { XML_NAMESPACE_NUMBER, XML_SCIENTIFIC_NUMBER, > XML_TOK_STYLE_SCIENTIFIC_NUMBER }, > { XML_NAMESPACE_NUMBER, XML_FRACTION, > XML_TOK_STYLE_FRACTION }, > @@ -1104,6 +1106,13 @@ void SvXMLNumFmtElementContext::EndElement() > case XML_TOK_STYLE_TEXT_CONTENT: > rParent.AddToCode( OUString::valueOf((sal_Unicode)'@') ); > break; > + case XML_TOK_STYLE_REPEATED: > + if ( aContent.getLength() ) > + { > + rParent.AddToCode( OUString::valueOf((sal_Unicode)'*') ); > + rParent.AddToCode( OUString::valueOf( aContent[0] ) ); > + } > + break; > case XML_TOK_STYLE_BOOLEAN: > // ignored - only default boolean format is supported > break; > @@ -1436,6 +1445,7 @@ SvXMLImportContext* > SvXMLNumFormatContext::CreateChildContext( > switch (nToken) > { > case XML_TOK_STYLE_TEXT: > + case XML_TOK_STYLE_REPEATED: > case XML_TOK_STYLE_NUMBER: > case XML_TOK_STYLE_SCIENTIFIC_NUMBER: > case XML_TOK_STYLE_FRACTION: > -- > 1.7.3.4 > _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice