Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
48f0ba92
Kaydet (Commit)
48f0ba92
authored
Ara 07, 2015
tarafından
Andras Timar
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Revert "svg export: no more an experimental feature"
This reverts commit
59cd3f4d
.
üst
b75c47c8
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
254 additions
and
181 deletions
+254
-181
svgexport.cxx
filter/source/svg/svgexport.cxx
+252
-179
svgfilter.cxx
filter/source/svg/svgfilter.cxx
+1
-1
svgfilter.hxx
filter/source/svg/svgfilter.hxx
+1
-1
No files found.
filter/source/svg/svgexport.cxx
Dosyayı görüntüle @
48f0ba92
...
...
@@ -716,14 +716,17 @@ bool SVGFilter::implExportDocument()
bool
bRet
=
false
;
sal_Int32
nLastPage
=
mSelectedPages
.
getLength
()
-
1
;
mbSinglePage
=
(
nLastPage
==
0
);
SvtMiscOptions
aMiscOptions
;
const
bool
bExperimentalMode
=
aMiscOptions
.
IsExperimentalMode
();
mbSinglePage
=
((
nLastPage
==
0
)
||
!
bExperimentalMode
)
&&
!
comphelper
::
LibreOfficeKit
::
isActive
();
mnVisiblePage
=
-
1
;
const
Reference
<
XPropertySet
>
xDefaultPagePropertySet
(
mxDefaultPage
,
UNO_QUERY
);
const
Reference
<
XExtendedDocumentHandler
>
xExtDocHandler
(
mpSVGExport
->
GetDocHandler
(),
UNO_QUERY
);
// #i124608#
mbExportS
hapeS
election
=
mbSinglePage
&&
maShapeSelection
.
is
()
&&
maShapeSelection
->
getCount
();
mbExportSelection
=
mbSinglePage
&&
maShapeSelection
.
is
()
&&
maShapeSelection
->
getCount
();
if
(
xDefaultPagePropertySet
.
is
())
{
...
...
@@ -731,7 +734,7 @@ bool SVGFilter::implExportDocument()
xDefaultPagePropertySet
->
getPropertyValue
(
"Height"
)
>>=
nDocHeight
;
}
if
(
mbExportS
hapeS
election
)
if
(
mbExportSelection
)
{
// #i124608# create BoundRange and set nDocX, nDocY, nDocWidth and nDocHeight
basegfx
::
B2DRange
aShapeRange
;
...
...
@@ -791,7 +794,7 @@ bool SVGFilter::implExportDocument()
// instead of centered.
#define _SVG_WRITE_EXTENTS
#ifdef _SVG_WRITE_EXTENTS
if
(
!
mbPresentation
)
if
(
mbSinglePage
)
{
aAttr
=
OUString
::
number
(
nDocWidth
*
0.01
)
+
"mm"
;
mpSVGExport
->
AddAttribute
(
XML_NAMESPACE_NONE
,
"width"
,
aAttr
);
...
...
@@ -802,7 +805,7 @@ bool SVGFilter::implExportDocument()
#endif
// #i124608# set viewBox explicitely to the exported content
if
(
mbExportS
hapeS
election
)
if
(
mbExportSelection
)
{
aAttr
=
OUString
::
number
(
nDocX
)
+
" "
+
OUString
::
number
(
nDocY
)
+
" "
;
}
...
...
@@ -851,10 +854,11 @@ bool SVGFilter::implExportDocument()
if
(
implLookForFirstVisiblePage
()
)
// OK! We found at least one visible page.
{
if
(
mbPresentation
)
if
(
!
mbSinglePage
)
{
implGenerateMetaData
();
implExportAnimations
();
if
(
bExperimentalMode
)
implExportAnimations
();
}
else
{
...
...
@@ -893,7 +897,7 @@ bool SVGFilter::implExportDocument()
implExportMasterPages
(
mMasterPageTargets
,
0
,
mMasterPageTargets
.
size
()
-
1
);
implExportDrawPages
(
mSelectedPages
,
0
,
nLastPage
);
if
(
mbPresentation
)
if
(
!
mbSinglePage
)
{
implGenerateScript
();
}
...
...
@@ -1484,7 +1488,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
=
(
!
mbPresentation
)
?
OUString
(
"g"
)
:
OUString
(
"defs"
);
OUString
aContainerTag
=
(
mbSinglePage
)
?
OUString
(
"g"
)
:
OUString
(
"defs"
);
SvXMLElementExport
aContainerElement
(
*
mpSVGExport
,
XML_NAMESPACE_NONE
,
aContainerTag
,
true
,
true
);
bool
bRet
=
false
;
...
...
@@ -1524,7 +1528,7 @@ bool SVGFilter::implExportDrawPages( const SVGFilter::XDrawPageSequence & rxPage
{
Reference
<
XShapes
>
xShapes
;
if
(
mbExportS
hapeS
election
)
if
(
mbExportSelection
)
{
// #i124608# export a given object selection
xShapes
=
maShapeSelection
;
...
...
@@ -1540,7 +1544,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
(
mbPresentation
)
if
(
!
mbSinglePage
)
{
mpSVGExport
->
AddAttribute
(
XML_NAMESPACE_NONE
,
"visibility"
,
"hidden"
);
}
...
...
@@ -1579,7 +1583,7 @@ bool SVGFilter::implExportPage( const OUString & sPageId,
{
OUString
sPageName
=
implGetInterfaceName
(
rxPage
);
if
(
mbPresentation
&&
!
sPageName
.
isEmpty
()
)
if
(
!
(
sPageName
.
isEmpty
()
||
mbSinglePage
)
)
mpSVGExport
->
AddAttribute
(
XML_NAMESPACE_NONE
,
aOOOAttrName
,
sPageName
);
{
...
...
@@ -1619,7 +1623,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
(
!
mbPresentation
&&
bMaster
)
if
(
mbSinglePage
&&
bMaster
)
{
if
(
!
mVisiblePagePropSet
.
bIsBackgroundVisible
)
{
...
...
@@ -1646,7 +1650,7 @@ bool SVGFilter::implExportPage( const OUString & sPageId,
OUString
sBackgroundObjectsId
=
"bo-"
;
sBackgroundObjectsId
+=
sPageId
;
mpSVGExport
->
AddAttribute
(
XML_NAMESPACE_NONE
,
"id"
,
sBackgroundObjectsId
);
if
(
!
mbPresentation
)
if
(
mbSinglePage
)
{
if
(
!
mVisiblePagePropSet
.
bAreBackgroundObjectsVisible
)
{
...
...
@@ -1752,31 +1756,44 @@ bool SVGFilter::implExportShape( const Reference< XShape >& rxShape,
bool
bIsDateTime
=
(
aShapeClass
==
"Date/Time"
);
if
(
bIsPageNumber
||
bIsDateTime
||
bIsFooter
)
{
// to notify to the SVGActionWriter::ImplWriteActions method
// that we are dealing with a placeholder shape
pElementId
=
&
sPlaceholderTag
;
if
(
!
mbSinglePage
)
{
// 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"
;
switch
(
nTextAdjust
)
{
case
ParagraphAdjust_LEFT
:
sTextAdjust
=
"left"
;
break
;
case
ParagraphAdjust_CENTER
:
sTextAdjust
=
"center"
;
break
;
case
ParagraphAdjust_RIGHT
:
sTextAdjust
=
"right"
;
break
;
default
:
break
;
default
:
break
;
}
mpSVGExport
->
AddAttribute
(
XML_NAMESPACE_NONE
,
aOOOAttrTextAdjust
,
sTextAdjust
);
}
else
// single page case
{
if
(
!
mVisiblePagePropSet
.
bAreBackgroundObjectsVisible
||
(
(
bIsPageNumber
&&
!
mVisiblePagePropSet
.
bIsPageNumberFieldVisible
)
||
(
bIsDateTime
&&
!
mVisiblePagePropSet
.
bIsDateTimeFieldVisible
)
||
(
bIsFooter
&&
!
mVisiblePagePropSet
.
bIsFooterFieldVisible
)
)
)
{
mpSVGExport
->
AddAttribute
(
XML_NAMESPACE_NONE
,
"visibility"
,
"hidden"
);
}
}
mpSVGExport
->
AddAttribute
(
XML_NAMESPACE_NONE
,
aOOOAttrTextAdjust
,
sTextAdjust
);
}
}
mpSVGExport
->
AddAttribute
(
XML_NAMESPACE_NONE
,
"class"
,
aShapeClass
);
...
...
@@ -1868,7 +1885,7 @@ bool SVGFilter::implExportShape( const Reference< XShape >& rxShape,
bool
SVGFilter
::
implCreateObjects
()
{
if
(
mbExportS
hapeS
election
)
if
(
mbExportSelection
)
{
// #i124608# export a given object selection
if
(
mSelectedPages
.
getLength
()
&&
mSelectedPages
[
0
].
is
())
...
...
@@ -2163,179 +2180,235 @@ IMPL_LINK_TYPED( SVGFilter, CalcFieldHdl, EditFieldInfo*, pInfo, void )
{
bFieldProcessed
=
true
;
OUString
aRepresentation
;
if
(
mpSVGExport
->
IsEmbedFonts
()
&&
mpSVGExport
->
IsUsePositionedCharacters
()
)
if
(
!
mbSinglePage
)
{
// to notify to the SVGActionWriter::ImplWriteText method
// that we are dealing with a placeholder shape
aRepresentation
=
sPlaceholderTag
;
if
(
!
mCreateOjectsCurrentMasterPage
.
is
()
)
if
(
mpSVGExport
->
IsEmbedFonts
()
&&
mpSVGExport
->
IsUsePositionedCharacters
()
)
{
OSL_FAIL
(
"error: !mCreateOjectsCurrentMasterPage.is()"
);
return
;
}
bool
bHasCharSetMap
=
!
(
mTextFieldCharSets
.
find
(
mCreateOjectsCurrentMasterPage
)
==
mTextFieldCharSets
.
end
()
);
// to notify to the SVGActionWriter::ImplWriteText method
// that we are dealing with a placeholder shape
aRepresentation
=
sPlaceholderTag
;
static
const
OUString
aHeaderId
(
aOOOAttrHeaderField
);
static
const
OUString
aFooterId
(
aOOOAttrFooterField
);
static
const
OUString
aDateTimeId
(
aOOOAttrDateTimeField
);
static
const
OUString
aVariableDateTimeId
(
aOOOAttrDateTimeField
+
"-variable"
);
if
(
!
mCreateOjectsCurrentMasterPage
.
is
()
)
{
OSL_FAIL
(
"error: !mCreateOjectsCurrentMasterPage.is()"
);
return
;
}
bool
bHasCharSetMap
=
!
(
mTextFieldCharSets
.
find
(
mCreateOjectsCurrentMasterPage
)
==
mTextFieldCharSets
.
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
()
)
)
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
()
)
)
{
pCharSet
=
&
(
(
*
pCharSetMap
)[
a
DateTime
Id
]
);
pCharSet
=
&
(
(
*
pCharSetMap
)[
a
Footer
Id
]
);
}
if
(
bHasCharSetMap
&&
(
pCharSetMap
->
find
(
aVariableDateTimeId
)
!=
pCharSetMap
->
end
()
)
&&
!
(
*
pCharSetMap
)[
aVariableDateTimeId
].
empty
()
)
else
if
(
pField
->
GetClassId
()
==
text
::
textfield
::
Type
::
PRESENTATION_DATE_TIME
)
{
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
)
if
(
bHasCharSetMap
&&
(
pCharSetMap
->
find
(
aDateTimeId
)
!=
pCharSetMap
->
end
()
)
)
{
eCurDateFormat
=
(
SvxDateFormat
)(
(
int
)(
*
aChar
)
&
0x0f
);
switch
(
eDateFormat
)
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
)
{
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
;
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
;
}
}
}
// 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
)
{
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
)
if
(
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
;
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
;
}
aRepresentation
+=
sDate
;
}
}
}
else
if
(
pField
->
GetClassId
()
==
text
::
textfield
::
Type
::
PAGE
)
{
switch
(
mVisiblePagePropSet
.
nPageNumberingType
)
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
)
{
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
;
if
(
pCharSet
!=
nullptr
)
{
UCharSet
::
const_iterator
aChar
=
pCharSet
->
begin
();
for
(
;
aChar
!=
pCharSet
->
end
();
++
aChar
)
{
aRepresentation
+=
OUString
(
*
aChar
);
}
}
pInfo
->
SetRepresentation
(
aRepresentation
);
}
}
else
{
bFieldProcessed
=
false
;
}
if
(
bFieldProcessed
)
}
else
// single page case
{
if
(
mVisiblePagePropSet
.
bAreBackgroundObjectsVisible
)
{
if
(
pCharSet
!=
nullptr
)
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
)
{
UCharSet
::
const_iterator
aChar
=
pCharSet
->
begin
();
for
(
;
aChar
!=
pCharSet
->
end
();
++
aChar
)
// 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
)
{
aRepresentation
+=
OUString
(
*
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
;
}
}
pInfo
->
SetRepresentation
(
aRepresentation
);
else
{
bFieldProcessed
=
false
;
}
if
(
bFieldProcessed
)
{
pInfo
->
SetRepresentation
(
aRepresentation
);
}
}
}
else
{
bFieldProcessed
=
false
;
}
}
}
if
(
!
bFieldProcessed
)
maOldFieldHdl
.
Call
(
pInfo
);
...
...
filter/source/svg/svgfilter.cxx
Dosyayı görüntüle @
48f0ba92
...
...
@@ -77,7 +77,7 @@ SVGFilter::SVGFilter( const Reference< XComponentContext >& rxCtx ) :
mxDefaultPage
(),
maFilterData
(),
maShapeSelection
(),
mbExportS
hapeS
election
(
false
),
mbExportSelection
(
false
),
maOldFieldHdl
()
{
}
...
...
filter/source/svg/svgfilter.hxx
Dosyayı görüntüle @
48f0ba92
...
...
@@ -240,7 +240,7 @@ private:
Sequence
<
PropertyValue
>
maFilterData
;
// #i124608# explicit ShapeSelection for export when export of the selection is wanted
Reference
<
XShapes
>
maShapeSelection
;
bool
mbExportS
hapeS
election
;
bool
mbExportSelection
;
XDrawPageSequence
mSelectedPages
;
std
::
vector
<
Reference
<
XDrawPage
>
>
mMasterPageTargets
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment