[Libreoffice-commits] core.git: 3 commits - filter/source
Marco Cecchetti
marco.cecchetti at collabora.com
Mon Dec 7 12:10:29 PST 2015
filter/source/svg/svgexport.cxx | 431 ++++++++++++++++------------------------
filter/source/svg/svgfilter.cxx | 2
filter/source/svg/svgfilter.hxx | 2
3 files changed, 181 insertions(+), 254 deletions(-)
New commits:
commit 7485ea8b917c1e4da7982611c70b0f3d0a46b27a
Author: Marco Cecchetti <marco.cecchetti at collabora.com>
Date: Mon Dec 7 18:24:50 2015 +0100
svg-export: fix wrong conflict resolution
Change-Id: Ibf3d054558c1fbf208b6d1a4683d52837b2bc183
Reviewed-on: https://gerrit.libreoffice.org/20447
Reviewed-by: Andras Timar <andras.timar at collabora.com>
Tested-by: Andras Timar <andras.timar at collabora.com>
diff --git a/filter/source/svg/svgexport.cxx b/filter/source/svg/svgexport.cxx
index 7005d92..ce31b26 100644
--- a/filter/source/svg/svgexport.cxx
+++ b/filter/source/svg/svgexport.cxx
@@ -889,7 +889,7 @@ 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 );
commit 59cd3f4ddb88ef1326166902ffe61d6050bfcd99
Author: Marco Cecchetti <marco.cecchetti at collabora.com>
Date: Wed Dec 2 17:57:57 2015 +0100
svg export: no more an experimental feature
Removed experimental feature check.
Single slide exporting works as for multi slides exporting.
Conflicts:
filter/source/svg/svgexport.cxx
Change-Id: I3b4f100f5ab9c76896e7f52d65ec27c364216c21
diff --git a/filter/source/svg/svgexport.cxx b/filter/source/svg/svgexport.cxx
index 6824d95..7005d92 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
{
@@ -897,7 +893,7 @@ bool SVGFilter::implExportDocument()
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 d7111e7..f993900 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 1651f09..1e64c8b 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;
commit 75d4b7fb53b6151b6dcbc011ae81f2481584ef3b
Author: Andras Timar <andras.timar at collabora.com>
Date: Mon Dec 7 21:12:39 2015 +0100
Revert "svg-export: fix wrong conflict resolution"
This reverts commit ab794090190e12daa4dab209889c084cd8e8b6f9.
diff --git a/filter/source/svg/svgexport.cxx b/filter/source/svg/svgexport.cxx
index 4a64b7b..6824d95 100644
--- a/filter/source/svg/svgexport.cxx
+++ b/filter/source/svg/svgexport.cxx
@@ -893,7 +893,7 @@ bool SVGFilter::implExportDocument()
}
// #i124608# export a given object selection, so no MasterPage export at all
- if (!mbExportShapeSelection)
+ if (!mbExportSelection)
implExportMasterPages( mMasterPageTargets, 0, mMasterPageTargets.size() - 1 );
implExportDrawPages( mSelectedPages, 0, nLastPage );
More information about the Libreoffice-commits
mailing list