Revert misguided changes from 6a043e9c0acff20e1618ca8ec15c21d5d0fd0d37
that obviously would cause endless recursion if these functions were
ever entered.
Thanks to MSVC2012 for the nice warning.
Change-Id: I8504aa8ac141164ec6e026cc4fa873f8273f92bd
Fixes a regression from the pick-best-image from draw:frame in ODF,
where before sometimes the XShape got deleted that the
UnoInterfaceToUniqueIdentifierMapper::registerReference stored.
For that, added a
UnoInterfaceToUniqueIdentifierMapper::registerReferenceAlways
function, which overwrites potentially existing earlier entries
with the same identifier string.
This fix was originally much more messy, but then dtardon committed
30b248dfe5bfb8a0649e36f22c943b3feb2f1385 which also fixes this here
bug. Now only sneaking in slightly less involved interface map
handling and a safeguard in ximpshap.cxx.
Change-Id: I87501e43518a5fc2fee166c45a4e2f01718f5228
This problem arises when there is a connector attached to draw:frame
element with multiple draw:image elements in it. The import code expects
that they are different representations of the same image (I have not
found if this is specified in ODF), so it only selects the most
"suitable" for import. To do that, it imports them all and then removes
all but the selected one. The image import context,
SdXMLGraphicObjectShapeContext, shares the parent frame's attributes,
which means that all the images in a frame have got the same ID. in
SdXMLGraphicObjectShapeContext::AddShape, the created css::draw::XShape
is registered with its ID... That means that anything that refers to the
frame's ID, like a draw:connector, will always get the _first_ image in
the frame.
Solution is to extend comphelper::UnoInterfaceToUniqueIdentifierMapper
to allow reserving an identifier and setting an interface for it later.
That way, SdXMLFrameShapeContext can reserve its own ID before it starts
importing the first draw:image, and then set the selected XShape at the
end.
Change-Id: I2e11cfd38e1e3534df2b3c01d85da0d755a266c3
Tor says this check eats many CPU cycles, and the checked array is
static, so checking it just once is sufficient.
Change-Id: Ic8f85ebe940e4cf2c258cc778a8fd14512bdef94
- nanosecond precision
- signed (allowed negative) year
Also: assorted improvements / bugfixes in date/time handling code.
Some factorisation of copy/pasted code.
Change-Id: I761a1b0b8731c82f19a0c37acbcf43d3c06d6cd6
Modules sal, salhelper, cppu, cppuhelper, codemaker (selectively) and odk
have kept them, in order not to break external API (the automatic using declaration
is LO-internal).
Change-Id: I588fc9e0c45b914f824f91c0376980621d730f09
The boilerplate code for drawing the 4 types of stepped is in place (as
described in ODF1.3,
https://tools.oasis-open.org/issues/browse/OFFICE-3662).
We can also read the current attribute values used in Gnumeric. These values
are converted to ODF1.3 during save.
Change-Id: I0f04a779de4b65326ed7ce6de56191f11b51c596
The information can be read from the font data itself now, so
this is a bit pointless. It wasn't entirely reliable anyway,
as it is also necessary to ensure two font different font files
don't overwrite each other.
Change-Id: Ie17ab8118e1c08228beb7c749c5c8d6cf3426362
Using the autocorrect list of LibreOffice
extras/source/autotext/lang/en-US/acor/DocumentList.xml
Change-Id: I8b93969bc0742c2e95b8b7db3c4c37691e8d3657
Script: http://pastebin.ca/2327716
Factorise the "should this element be printed" decision into an
utility function, which is used by
1) AbstractReportElementLayoutController
(in charge of non-formatted values: string, image, OLE object, ...)
which already obeyed PrintRepeatedValues.
2) TableCellLayoutController
(in charge of formatted values: dates, numbers, ...)
which blissfully ignored PrintRepeatedValues,
but obeyed the display condition.
Rename the inconsistently named
PrintWhenGroupChange
PrintWhenGroupChanges
print-only-when-group-change
print-when-group-change
to
PrintWhenGroupChange / print-when-group-change
Change the meaning of "PrintWhenGroupChange" to "override
PrintRepeatedValues in first occurrence in group". Since this feature
never worked under the old semantics, no loss of feature. Since we
change the XML attribute name, no ascending compatibility problem: it
will be reset to its default value.
Pursuant to the new meaning of PrintWhenGroupChange, change its
default to *true*, which is the sane default.
Change-Id: Idbe8e90565a354f70db222d047b3d51eeddbbb9f
They are not exported automatically, as SvxUnoNameItemTable needs a
Which ID, and it's different for drawinglayer and Writer gradients.
Change-Id: I5dd7d828b1f0e577e26510e3c5ca74386d000f16
The services are:
document::NamedPropertyValues
document::IndexedPropertyValues
The services already existed, they just did not have IDL files
Change-Id: Ibafe9b5afb9b30785df4f66aa923f4b96ceabeed
Since there are now 2 forks of OpenOffice.org, we cannot rely on a
simple total ordering of versions any more; add a new function
SvXMLImport::isGeneratorVersionOlderThan(), taking 2 reference versions.
Also extract the LibreOffice version number from the generator string,
and extend the BuildId property to store this as a third number.
This also allows removal of the "fake LibreOffice3 as OpenOffice.org
3.3 release" hack, which is not future-proof.
Change-Id: I44d8105eb537ac43fb9529a8b1b661ae0f2bba30
style:table-cell-properties has new child element style:hyperlink which
will store the hyperlink info in attributes xlink:href & xlink:type
Change-Id: I184310d124c4242cd62fdabb45f9773094cfc229