diff options
author | Marco Cecchetti <marco.cecchetti@collabora.com> | 2015-12-02 17:57:57 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2015-12-09 19:38:19 +0000 |
commit | 154521777f8c551f10ffbe414891df9d2a529ae3 (patch) | |
tree | 873784f7a3d21b698c38eeb015a87508dae80406 /filter | |
parent | 689962feae2054f965a7378c3408b0ccfad2bbd5 (diff) |
svg export: no more an experimental feature
Removed experimental feature check.
Single slide exporting works as for multi slides exporting.
SVGExportTextDecorations unit test - fixed wrong XPath
The new way single slide are exported caused the xpath to the slide
group to be wrong,
Change-Id: I4db4dc77de4f0d1208418455e1fca3b5732c8477
Reviewed-on: https://gerrit.libreoffice.org/20459
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Diffstat (limited to 'filter')
-rw-r--r-- | filter/source/svg/svgexport.cxx | 433 | ||||
-rw-r--r-- | filter/source/svg/svgfilter.cxx | 2 | ||||
-rw-r--r-- | filter/source/svg/svgfilter.hxx | 2 |
3 files changed, 182 insertions, 255 deletions
diff --git a/filter/source/svg/svgexport.cxx b/filter/source/svg/svgexport.cxx index 6824d959d8e1..ce31b26432cb 100644 --- a/filter/source/svg/svgexport.cxx +++ b/filter/source/svg/svgexport.cxx @@ -716,17 +716,14 @@ bool SVGFilter::implExportDocument() bool bRet = false; sal_Int32 nLastPage = mSelectedPages.getLength() - 1; - SvtMiscOptions aMiscOptions; - const bool bExperimentalMode = aMiscOptions.IsExperimentalMode(); - - mbSinglePage = ((nLastPage == 0) || !bExperimentalMode) && !comphelper::LibreOfficeKit::isActive(); + mbSinglePage = (nLastPage == 0); mnVisiblePage = -1; const Reference< XPropertySet > xDefaultPagePropertySet( mxDefaultPage, UNO_QUERY ); const Reference< XExtendedDocumentHandler > xExtDocHandler( mpSVGExport->GetDocHandler(), UNO_QUERY ); // #i124608# - mbExportSelection = mbSinglePage && maShapeSelection.is() && maShapeSelection->getCount(); + mbExportShapeSelection = mbSinglePage && maShapeSelection.is() && maShapeSelection->getCount(); if(xDefaultPagePropertySet.is()) { @@ -734,7 +731,7 @@ bool SVGFilter::implExportDocument() xDefaultPagePropertySet->getPropertyValue( "Height" ) >>= nDocHeight; } - if(mbExportSelection) + if(mbExportShapeSelection) { // #i124608# create BoundRange and set nDocX, nDocY, nDocWidth and nDocHeight basegfx::B2DRange aShapeRange; @@ -794,7 +791,7 @@ bool SVGFilter::implExportDocument() // instead of centered. #define _SVG_WRITE_EXTENTS #ifdef _SVG_WRITE_EXTENTS - if( mbSinglePage ) + if( !mbPresentation ) { aAttr = OUString::number( nDocWidth * 0.01 ) + "mm"; mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "width", aAttr ); @@ -805,7 +802,7 @@ bool SVGFilter::implExportDocument() #endif // #i124608# set viewBox explicitely to the exported content - if (mbExportSelection) + if (mbExportShapeSelection) { aAttr = OUString::number(nDocX) + " " + OUString::number(nDocY) + " "; } @@ -854,11 +851,10 @@ bool SVGFilter::implExportDocument() if( implLookForFirstVisiblePage() ) // OK! We found at least one visible page. { - if( !mbSinglePage ) + if( mbPresentation ) { implGenerateMetaData(); - if( bExperimentalMode ) - implExportAnimations(); + implExportAnimations(); } else { @@ -893,11 +889,11 @@ bool SVGFilter::implExportDocument() } // #i124608# export a given object selection, so no MasterPage export at all - if (!mbExportSelection) + if (!mbExportShapeSelection) implExportMasterPages( mMasterPageTargets, 0, mMasterPageTargets.size() - 1 ); implExportDrawPages( mSelectedPages, 0, nLastPage ); - if( !mbSinglePage ) + if( mbPresentation ) { implGenerateScript(); } @@ -1488,7 +1484,7 @@ bool SVGFilter::implExportMasterPages( const std::vector< Reference< XDrawPage > // When the exported slides are more than one we wrap master page elements // with a svg <defs> element. - OUString aContainerTag = (mbSinglePage) ? OUString( "g" ) : OUString( "defs" ); + OUString aContainerTag = (!mbPresentation) ? OUString( "g" ) : OUString( "defs" ); SvXMLElementExport aContainerElement( *mpSVGExport, XML_NAMESPACE_NONE, aContainerTag, true, true ); bool bRet = false; @@ -1528,7 +1524,7 @@ bool SVGFilter::implExportDrawPages( const SVGFilter::XDrawPageSequence & rxPage { Reference< XShapes > xShapes; - if (mbExportSelection) + if (mbExportShapeSelection) { // #i124608# export a given object selection xShapes = maShapeSelection; @@ -1544,7 +1540,7 @@ bool SVGFilter::implExportDrawPages( const SVGFilter::XDrawPageSequence & rxPage // handling a slide visibility. // In case the exported slides are more than one the initial // visibility of each slide is set to 'hidden'. - if( !mbSinglePage ) + if( mbPresentation ) { mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "visibility", "hidden" ); } @@ -1583,7 +1579,7 @@ bool SVGFilter::implExportPage( const OUString & sPageId, { OUString sPageName = implGetInterfaceName( rxPage ); - if( !(sPageName.isEmpty() || mbSinglePage )) + if( mbPresentation && !sPageName.isEmpty() ) mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, aOOOAttrName, sPageName ); { @@ -1623,7 +1619,7 @@ bool SVGFilter::implExportPage( const OUString & sPageId, // of the parent slide regardless of the value of the 'IsBackgroundVisible' property. // This means that we need to set up the visibility attribute only for the background // element of a master page. - if( mbSinglePage && bMaster ) + if( !mbPresentation && bMaster ) { if( !mVisiblePagePropSet.bIsBackgroundVisible ) { @@ -1650,7 +1646,7 @@ bool SVGFilter::implExportPage( const OUString & sPageId, OUString sBackgroundObjectsId = "bo-"; sBackgroundObjectsId += sPageId; mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "id", sBackgroundObjectsId ); - if( mbSinglePage ) + if( !mbPresentation ) { if( !mVisiblePagePropSet.bAreBackgroundObjectsVisible ) { @@ -1756,44 +1752,31 @@ bool SVGFilter::implExportShape( const Reference< XShape >& rxShape, bool bIsDateTime = ( aShapeClass == "Date/Time" ); if( bIsPageNumber || bIsDateTime || bIsFooter ) { - if( !mbSinglePage ) - { - // to notify to the SVGActionWriter::ImplWriteActions method - // that we are dealing with a placeholder shape - pElementId = &sPlaceholderTag; + // to notify to the SVGActionWriter::ImplWriteActions method + // that we are dealing with a placeholder shape + pElementId = &sPlaceholderTag; - mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "visibility", "hidden" ); + mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "visibility", "hidden" ); - sal_uInt16 nTextAdjust = ParagraphAdjust_LEFT; - OUString sTextAdjust; - xShapePropSet->getPropertyValue( "ParaAdjust" ) >>= nTextAdjust; + sal_uInt16 nTextAdjust = ParagraphAdjust_LEFT; + OUString sTextAdjust; + xShapePropSet->getPropertyValue( "ParaAdjust" ) >>= nTextAdjust; - switch( nTextAdjust ) - { - case ParagraphAdjust_LEFT: - sTextAdjust = "left"; - break; - case ParagraphAdjust_CENTER: - sTextAdjust = "center"; - break; - case ParagraphAdjust_RIGHT: - sTextAdjust = "right"; - break; - default: - break; - } - mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, aOOOAttrTextAdjust, sTextAdjust ); - } - else // single page case + switch( nTextAdjust ) { - if( !mVisiblePagePropSet.bAreBackgroundObjectsVisible || ( - ( bIsPageNumber && !mVisiblePagePropSet.bIsPageNumberFieldVisible ) || - ( bIsDateTime && !mVisiblePagePropSet.bIsDateTimeFieldVisible ) || - ( bIsFooter && !mVisiblePagePropSet.bIsFooterFieldVisible ) ) ) - { - mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "visibility", "hidden" ); - } + case ParagraphAdjust_LEFT: + sTextAdjust = "left"; + break; + case ParagraphAdjust_CENTER: + sTextAdjust = "center"; + break; + case ParagraphAdjust_RIGHT: + sTextAdjust = "right"; + break; + default: + break; } + mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, aOOOAttrTextAdjust, sTextAdjust ); } } mpSVGExport->AddAttribute( XML_NAMESPACE_NONE, "class", aShapeClass ); @@ -1885,7 +1868,7 @@ bool SVGFilter::implExportShape( const Reference< XShape >& rxShape, bool SVGFilter::implCreateObjects() { - if (mbExportSelection) + if (mbExportShapeSelection) { // #i124608# export a given object selection if (mSelectedPages.getLength() && mSelectedPages[0].is()) @@ -2180,235 +2163,179 @@ IMPL_LINK_TYPED( SVGFilter, CalcFieldHdl, EditFieldInfo*, pInfo, void ) { bFieldProcessed = true; OUString aRepresentation; - if( !mbSinglePage ) + if( mpSVGExport->IsEmbedFonts() && mpSVGExport->IsUsePositionedCharacters() ) { - if( mpSVGExport->IsEmbedFonts() && mpSVGExport->IsUsePositionedCharacters() ) - { - // to notify to the SVGActionWriter::ImplWriteText method - // that we are dealing with a placeholder shape - aRepresentation = sPlaceholderTag; + // to notify to the SVGActionWriter::ImplWriteText method + // that we are dealing with a placeholder shape + aRepresentation = sPlaceholderTag; - if( !mCreateOjectsCurrentMasterPage.is() ) - { - OSL_FAIL( "error: !mCreateOjectsCurrentMasterPage.is()" ); - return; - } - bool bHasCharSetMap = !( mTextFieldCharSets.find( mCreateOjectsCurrentMasterPage ) == mTextFieldCharSets.end() ); + if( !mCreateOjectsCurrentMasterPage.is() ) + { + OSL_FAIL( "error: !mCreateOjectsCurrentMasterPage.is()" ); + return; + } + bool bHasCharSetMap = !( mTextFieldCharSets.find( mCreateOjectsCurrentMasterPage ) == mTextFieldCharSets.end() ); - static const OUString aHeaderId( aOOOAttrHeaderField ); - static const OUString aFooterId( aOOOAttrFooterField ); - static const OUString aDateTimeId( aOOOAttrDateTimeField ); - static const OUString aVariableDateTimeId( aOOOAttrDateTimeField + "-variable" ); + static const OUString aHeaderId( aOOOAttrHeaderField ); + static const OUString aFooterId( aOOOAttrFooterField ); + static const OUString aDateTimeId( aOOOAttrDateTimeField ); + static const OUString aVariableDateTimeId( aOOOAttrDateTimeField + "-variable" ); - const UCharSet * pCharSet = nullptr; - UCharSetMap * pCharSetMap = nullptr; - if( bHasCharSetMap ) - { - pCharSetMap = &( mTextFieldCharSets[ mCreateOjectsCurrentMasterPage ] ); - } - const SvxFieldData* pField = pInfo->GetField().GetField(); - if( bHasCharSetMap && ( pField->GetClassId() == text::textfield::Type::PRESENTATION_HEADER ) && ( pCharSetMap->find( aHeaderId ) != pCharSetMap->end() ) ) - { - pCharSet = &( (*pCharSetMap)[ aHeaderId ] ); - } - else if( bHasCharSetMap && ( pField->GetClassId() == text::textfield::Type::PRESENTATION_FOOTER ) && ( pCharSetMap->find( aFooterId ) != pCharSetMap->end() ) ) + const UCharSet * pCharSet = nullptr; + UCharSetMap * pCharSetMap = nullptr; + if( bHasCharSetMap ) + { + pCharSetMap = &( mTextFieldCharSets[ mCreateOjectsCurrentMasterPage ] ); + } + const SvxFieldData* pField = pInfo->GetField().GetField(); + if( bHasCharSetMap && ( pField->GetClassId() == text::textfield::Type::PRESENTATION_HEADER ) && ( pCharSetMap->find( aHeaderId ) != pCharSetMap->end() ) ) + { + pCharSet = &( (*pCharSetMap)[ aHeaderId ] ); + } + else if( bHasCharSetMap && ( pField->GetClassId() == text::textfield::Type::PRESENTATION_FOOTER ) && ( pCharSetMap->find( aFooterId ) != pCharSetMap->end() ) ) + { + pCharSet = &( (*pCharSetMap)[ aFooterId ] ); + } + else if( pField->GetClassId() == text::textfield::Type::PRESENTATION_DATE_TIME ) + { + if( bHasCharSetMap && ( pCharSetMap->find( aDateTimeId ) != pCharSetMap->end() ) ) { - pCharSet = &( (*pCharSetMap)[ aFooterId ] ); + pCharSet = &( (*pCharSetMap)[ aDateTimeId ] ); } - else if( pField->GetClassId() == text::textfield::Type::PRESENTATION_DATE_TIME ) + if( bHasCharSetMap && ( pCharSetMap->find( aVariableDateTimeId ) != pCharSetMap->end() ) && !(*pCharSetMap)[ aVariableDateTimeId ].empty() ) { - if( bHasCharSetMap && ( pCharSetMap->find( aDateTimeId ) != pCharSetMap->end() ) ) + SvxDateFormat eDateFormat = SVXDATEFORMAT_B, eCurDateFormat; + const UCharSet & aCharSet = (*pCharSetMap)[ aVariableDateTimeId ]; + UCharSet::const_iterator aChar = aCharSet.begin(); + // we look for the most verbose date format + for( ; aChar != aCharSet.end(); ++aChar ) { - pCharSet = &( (*pCharSetMap)[ aDateTimeId ] ); - } - if( bHasCharSetMap && ( pCharSetMap->find( aVariableDateTimeId ) != pCharSetMap->end() ) && !(*pCharSetMap)[ aVariableDateTimeId ].empty() ) - { - SvxDateFormat eDateFormat = SVXDATEFORMAT_B, eCurDateFormat; - const UCharSet & aCharSet = (*pCharSetMap)[ aVariableDateTimeId ]; - UCharSet::const_iterator aChar = aCharSet.begin(); - // we look for the most verbose date format - for( ; aChar != aCharSet.end(); ++aChar ) + eCurDateFormat = (SvxDateFormat)( (int)( *aChar ) & 0x0f ); + switch( eDateFormat ) { - eCurDateFormat = (SvxDateFormat)( (int)( *aChar ) & 0x0f ); - switch( eDateFormat ) - { - case SVXDATEFORMAT_STDSMALL: - case SVXDATEFORMAT_A: // 13.02.96 - case SVXDATEFORMAT_B: // 13.02.1996 - switch( eCurDateFormat ) - { - case SVXDATEFORMAT_C: // 13.Feb 1996 - case SVXDATEFORMAT_D: // 13.February 1996 - case SVXDATEFORMAT_E: // Tue, 13.February 1996 - case SVXDATEFORMAT_STDBIG: - case SVXDATEFORMAT_F: // Tuesday, 13.February 1996 - eDateFormat = eCurDateFormat; - break; - default: - break; - } - break; - case SVXDATEFORMAT_C: // 13.Feb 1996 - case SVXDATEFORMAT_D: // 13.February 1996 - switch( eCurDateFormat ) - { - case SVXDATEFORMAT_E: // Tue, 13.February 1996 - case SVXDATEFORMAT_STDBIG: - case SVXDATEFORMAT_F: // Tuesday, 13.February 1996 - eDateFormat = eCurDateFormat; - break; - default: - break; - } - break; - default: - break; - } + case SVXDATEFORMAT_STDSMALL: + case SVXDATEFORMAT_A: // 13.02.96 + case SVXDATEFORMAT_B: // 13.02.1996 + switch( eCurDateFormat ) + { + case SVXDATEFORMAT_C: // 13.Feb 1996 + case SVXDATEFORMAT_D: // 13.February 1996 + case SVXDATEFORMAT_E: // Tue, 13.February 1996 + case SVXDATEFORMAT_STDBIG: + case SVXDATEFORMAT_F: // Tuesday, 13.February 1996 + eDateFormat = eCurDateFormat; + break; + default: + break; + } + break; + case SVXDATEFORMAT_C: // 13.Feb 1996 + case SVXDATEFORMAT_D: // 13.February 1996 + switch( eCurDateFormat ) + { + case SVXDATEFORMAT_E: // Tue, 13.February 1996 + case SVXDATEFORMAT_STDBIG: + case SVXDATEFORMAT_F: // Tuesday, 13.February 1996 + eDateFormat = eCurDateFormat; + break; + default: + break; + } + break; + default: + break; } - // Independently of the date format, we always put all these characters by default. - // They should be enough to cover every time format. - aRepresentation += "0123456789.:/-APM"; + } + // Independently of the date format, we always put all these characters by default. + // They should be enough to cover every time format. + aRepresentation += "0123456789.:/-APM"; - if( eDateFormat ) + if( eDateFormat ) + { + OUString sDate; + LanguageType eLang = pInfo->GetOutliner()->GetLanguage( pInfo->GetPara(), pInfo->GetPos() ); + SvNumberFormatter * pNumberFormatter = new SvNumberFormatter( ::comphelper::getProcessComponentContext(), LANGUAGE_SYSTEM ); + // We always collect the characters obtained by using the SVXDATEFORMAT_B (as: 13.02.1996) + // so we are sure to include any unusual day|month|year separator. + Date aDate( 1, 1, 1996 ); + sDate += SvxDateField::GetFormatted( aDate, SVXDATEFORMAT_B, *pNumberFormatter, eLang ); + switch( eDateFormat ) { - OUString sDate; - LanguageType eLang = pInfo->GetOutliner()->GetLanguage( pInfo->GetPara(), pInfo->GetPos() ); - SvNumberFormatter * pNumberFormatter = new SvNumberFormatter( ::comphelper::getProcessComponentContext(), LANGUAGE_SYSTEM ); - // We always collect the characters obtained by using the SVXDATEFORMAT_B (as: 13.02.1996) - // so we are sure to include any unusual day|month|year separator. - Date aDate( 1, 1, 1996 ); - sDate += SvxDateField::GetFormatted( aDate, SVXDATEFORMAT_B, *pNumberFormatter, eLang ); - switch( eDateFormat ) - { - case SVXDATEFORMAT_E: // Tue, 13.February 1996 - case SVXDATEFORMAT_STDBIG: - case SVXDATEFORMAT_F: // Tuesday, 13.February 1996 - for( sal_uInt16 i = 1; i <= 7; ++i ) // we get all days in a week - { - aDate.SetDay( i ); - sDate += SvxDateField::GetFormatted( aDate, eDateFormat, *pNumberFormatter, eLang ); - } - // No break here! We need months too! - case SVXDATEFORMAT_C: // 13.Feb 1996 - case SVXDATEFORMAT_D: // 13.February 1996 - for( sal_uInt16 i = 1; i <= 12; ++i ) // we get all months in a year - { - aDate.SetMonth( i ); - sDate += SvxDateField::GetFormatted( aDate, eDateFormat, *pNumberFormatter, eLang ); - } - break; - // coverity[dead_error_begin] - following conditions exist to avoid compiler warning - case SVXDATEFORMAT_STDSMALL: - case SVXDATEFORMAT_A: // 13.02.96 - case SVXDATEFORMAT_B: // 13.02.1996 - default: - // nothing to do here, we always collect the characters needed for these cases. - break; - } - aRepresentation += sDate; + case SVXDATEFORMAT_E: // Tue, 13.February 1996 + case SVXDATEFORMAT_STDBIG: + case SVXDATEFORMAT_F: // Tuesday, 13.February 1996 + for( sal_uInt16 i = 1; i <= 7; ++i ) // we get all days in a week + { + aDate.SetDay( i ); + sDate += SvxDateField::GetFormatted( aDate, eDateFormat, *pNumberFormatter, eLang ); + } + // No break here! We need months too! + case SVXDATEFORMAT_C: // 13.Feb 1996 + case SVXDATEFORMAT_D: // 13.February 1996 + for( sal_uInt16 i = 1; i <= 12; ++i ) // we get all months in a year + { + aDate.SetMonth( i ); + sDate += SvxDateField::GetFormatted( aDate, eDateFormat, *pNumberFormatter, eLang ); + } + break; + // coverity[dead_error_begin] - following conditions exist to avoid compiler warning + case SVXDATEFORMAT_STDSMALL: + case SVXDATEFORMAT_A: // 13.02.96 + case SVXDATEFORMAT_B: // 13.02.1996 + default: + // nothing to do here, we always collect the characters needed for these cases. + break; } + aRepresentation += sDate; } } - else if( pField->GetClassId() == text::textfield::Type::PAGE ) - { - switch( mVisiblePagePropSet.nPageNumberingType ) - { - case SVX_CHARS_UPPER_LETTER: - aRepresentation += "QWERTYUIOPASDFGHJKLZXCVBNM"; - break; - case SVX_CHARS_LOWER_LETTER: - aRepresentation += "qwertyuiopasdfghjklzxcvbnm"; - break; - case SVX_ROMAN_UPPER: - aRepresentation += "IVXLCDM"; - break; - case SVX_ROMAN_LOWER: - aRepresentation += "ivxlcdm"; - break; - // arabic numbering type is the default - case SVX_ARABIC: - // in case the numbering type is not handled we fall back on arabic numbering - default: - aRepresentation += "0123456789"; - break; - } - } - else - { - bFieldProcessed = false; - } - if( bFieldProcessed ) + } + else if( pField->GetClassId() == text::textfield::Type::PAGE ) + { + switch( mVisiblePagePropSet.nPageNumberingType ) { - if( pCharSet != nullptr ) - { - UCharSet::const_iterator aChar = pCharSet->begin(); - for( ; aChar != pCharSet->end(); ++aChar ) - { - aRepresentation += OUString( *aChar ); - } - } - pInfo->SetRepresentation( aRepresentation ); + case SVX_CHARS_UPPER_LETTER: + aRepresentation += "QWERTYUIOPASDFGHJKLZXCVBNM"; + break; + case SVX_CHARS_LOWER_LETTER: + aRepresentation += "qwertyuiopasdfghjklzxcvbnm"; + break; + case SVX_ROMAN_UPPER: + aRepresentation += "IVXLCDM"; + break; + case SVX_ROMAN_LOWER: + aRepresentation += "ivxlcdm"; + break; + // arabic numbering type is the default + case SVX_ARABIC: + // in case the numbering type is not handled we fall back on arabic numbering + default: + aRepresentation += "0123456789"; + break; } } else { bFieldProcessed = false; } - } - else // single page case - { - if( mVisiblePagePropSet.bAreBackgroundObjectsVisible ) + if( bFieldProcessed ) { - const SvxFieldData* pField = pInfo->GetField().GetField(); - if( ( pField->GetClassId() == text::textfield::Type::PRESENTATION_HEADER ) && mVisiblePagePropSet.bIsHeaderFieldVisible ) - { - aRepresentation += mVisiblePagePropSet.sHeaderText; - } - else if( ( pField->GetClassId() == text::textfield::Type::PRESENTATION_FOOTER ) && mVisiblePagePropSet.bIsFooterFieldVisible ) - { - aRepresentation += mVisiblePagePropSet.sFooterText; - } - else if( ( pField->GetClassId() == text::textfield::Type::PRESENTATION_DATE_TIME ) && mVisiblePagePropSet.bIsDateTimeFieldVisible ) + if( pCharSet != nullptr ) { - // TODO: implement the variable case - aRepresentation += mVisiblePagePropSet.sDateTimeText; - } - else if( ( pField->GetClassId() == text::textfield::Type::PAGE ) && mVisiblePagePropSet.bIsPageNumberFieldVisible ) - { - sal_Int16 nPageNumber = mVisiblePagePropSet.nPageNumber; - switch( mVisiblePagePropSet.nPageNumberingType ) + UCharSet::const_iterator aChar = pCharSet->begin(); + for( ; aChar != pCharSet->end(); ++aChar ) { - case SVX_CHARS_UPPER_LETTER: - aRepresentation += OUString( (sal_Unicode)(char)( ( nPageNumber - 1 ) % 26 + 'A' ) ); - break; - case SVX_CHARS_LOWER_LETTER: - aRepresentation += OUString( (sal_Unicode)(char)( ( nPageNumber - 1 ) % 26 + 'a' ) ); - break; - case SVX_ROMAN_UPPER: - aRepresentation += SvxNumberFormat::CreateRomanString( nPageNumber, true /* upper */ ); - break; - case SVX_ROMAN_LOWER: - aRepresentation += SvxNumberFormat::CreateRomanString( nPageNumber, false /* lower */ ); - break; - // arabic numbering type is the default - case SVX_ARABIC: - // in case the numbering type is not handled we fall back on arabic numbering - default: - aRepresentation += OUString::number( nPageNumber ); - break; + aRepresentation += OUString( *aChar ); } } - else - { - bFieldProcessed = false; - } - if( bFieldProcessed ) - { - pInfo->SetRepresentation( aRepresentation ); - } + pInfo->SetRepresentation( aRepresentation ); } - } + else + { + bFieldProcessed = false; + } + } if (!bFieldProcessed) maOldFieldHdl.Call( pInfo ); diff --git a/filter/source/svg/svgfilter.cxx b/filter/source/svg/svgfilter.cxx index d7111e767620..f993900f7a3c 100644 --- a/filter/source/svg/svgfilter.cxx +++ b/filter/source/svg/svgfilter.cxx @@ -77,7 +77,7 @@ SVGFilter::SVGFilter( const Reference< XComponentContext >& rxCtx ) : mxDefaultPage(), maFilterData(), maShapeSelection(), - mbExportSelection(false), + mbExportShapeSelection(false), maOldFieldHdl() { } diff --git a/filter/source/svg/svgfilter.hxx b/filter/source/svg/svgfilter.hxx index 1651f0960fbb..1e64c8bdedeb 100644 --- a/filter/source/svg/svgfilter.hxx +++ b/filter/source/svg/svgfilter.hxx @@ -240,7 +240,7 @@ private: Sequence< PropertyValue > maFilterData; // #i124608# explicit ShapeSelection for export when export of the selection is wanted Reference< XShapes > maShapeSelection; - bool mbExportSelection; + bool mbExportShapeSelection; XDrawPageSequence mSelectedPages; std::vector< Reference< XDrawPage > > mMasterPageTargets; |