First, I updated the clang rewriter to do the conversion.
Then I lightly hand-tweaked the output for the few places where
the rewriter messed up, mostly when dealing with calls on "this".
Change-Id: I40a6a977959cd97415c678eafc8507de8aa3b1a9
Reviewed-on: https://gerrit.libreoffice.org/7879
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
.. to more explicit SvStream::Write* calls
This was done using another run of the clang rewriter, and then
a lot of hand tweaking to fix all the places where the rewriter
did not play nice with various macros.
Change-Id: I7bcab93851c8dfb59cde6bc76290c6484d88fb18
Reviewed-on: https://gerrit.libreoffice.org/7494
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
1. Glosary folder is imported as Intrograb and exported.
2. Added unit test case
Reviewed on:
https://gerrit.libreoffice.org/6825
Conflicts:
sw/qa/extras/ooxmlexport/ooxmlexport.cxx
writerfilter/source/filter/ImportFilter.cxx
Change-Id: Ifd51a75a65e030d44d30e02cd7ab51fb088186b3
There were several chunks of identical code to add attributes to the
document grab bag. I have refactored the common code to a method.
Change-Id: Ia1de75280a7725ab9703b08b1b08e7a7d1e0a8f2
We store the values of themeFontLang tag to the document grab bag so
we can save it back to the document on export time.
Added unit tests to check that the attribute is properly set back and
also that the theme fonts are correctly applied to the text.
Change-Id: Ia54c513796ba38a571396ca7b72dfd28463c15fd
The XInputStream for activeX.bin files is stored as the PropertyValue
"OOXActiveXBin" into the "InteropGraBag"
Added mxActiveXBinList object which holds XInputStreams for each
activeX.bin from activeX folder.
Added .bin files entry to respective acivex.xml's .rels file.
Added Unit Test to test all .bin files are stores properly.
Reviewed on:
https://gerrit.libreoffice.org/6679
Change-Id: I3a0e9462a6cc53d8cbb9c7d59ed24631d77d4d30
The XDocuments representing the DOM of an OOXML's activex document
is stored as the PropertyValue "OOXActiveX" into the "InteropGraBag".
Added mxActiveXDomList object which holds xDocument for each
activeX.xml from activeX folder.
This changeset stores only activeX[n].xml files.
Relationship files (example activeX.bin) from activex are not stored
yet. (Working on it.)
Reviewed on:
https://gerrit.libreoffice.org/6654
Change-Id: I658e361211e1446ed095a73b0422da0c4f74df1c
The XDocuments representing the DOM of an OOXML's customxml property
document is stored as the PropertyValue "OOXCustomXmlProps" into the
"InteropGraBag".
Added mxCustomXmlDomPropList object which holds xDocument for each
itemProps.xml from relationship of item.xml.
Exporting all itemprops files from customxml.
Reviewed on:
https://gerrit.libreoffice.org/6603
Change-Id: I3973e6ce40382bbc4da247b5b27d99b03e851744
The XDocuments representing the DOM of an OOXML's customxml document is
stored as the PropertyValue "OOXCustomXml" into the "InteropGraBag".
Added mxCustomXmlDomList object which holds xDocuments for
each item.xml from CustomXml.
Exporting all items dom tree from customxml that has been parsed
when loading the file.
This is necessary in order to properly reopen docx files that
contain data like citation.
This fix grab bags only item[n].xml's files from CustomXml folder.
itemProps[n].xml's and item.xml's .rels are not preserved and exported yet.
(Working on this part)
Change-Id: I330f34f38a7aa4cd39094371bff15ebbc0318167
Reviewed-on: https://gerrit.libreoffice.org/6519
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
The XDocuments representing the DOM of an OOXML's theme document is
now stored as the PropertyValue "OOXTheme" into the "InteropGraBag"
property of the SwXTextDocument.
Added the importSubStream() method to the
writerfilter::ooxml::OOXMLDocumentImpl class in order to create the
XDocument for the theme XML fragment stream and invoked it during the
resolve() method.
Modified the writerfilter::ooxml::OOXMLDocument abstract class to be
able to hold the OOXML's theme XDocument. Added the set/getTheme()
methods to store and obtain the XDocument directly.
Modified the WriterFilter::filter() method to store the OOXML's theme
XDocument in the "InteropGrabBag" property of the TextDocument service
SwXTextDocument implementation.
Updated the UTs accordingly.
Change-Id: I3960590fcf4856caf770908b983ffb6898f061c0
Reviewed-on: https://gerrit.libreoffice.org/6002
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
In case the right margin is larger then the tab position (e.g. the right
margin of 7cm, there is a tab position at 16cm and right margin begins
at 9cm), we have a conflicting case. In Word, the tab has priority, so
in this conflicting case, the text can be outside the specified margin.
In Writer, the right margin has priority. Add a compat flag to let
the tab have priority in Writer as well for Word formats.
This is similar to TabOverflow, but that was only applied to left tabs
and only in case there were no characters after the tabs in the
paragraph.
Previously there was only a compile-time switch to dump contents of RTF
paste. Remove this, and add two environment variables instead:
- SW_DEBUG_RTF_PASTE_TO: to dump what would be pasted
- SW_DEBUG_RTF_PASTE_FROM: to paste contents of a file, instead of the
real clipboard
Change-Id: I65f89417ec1cf781ace41df7916791f2199fe104
So we can use the new RTF import for clipboard pastes in Writer without
inserting text content to the end of the document only.
Notes:
- SwXText::insertTextPortion: the MovePara() call is removed, as all it did was
trying to move the cursor beyond the end of the document.
- SwRTFReader::Read: the double fake paragraph insertion / deletion is
motivated by the ODT filter.
- RtfFilter::filter: if TextInsertModeRange is not passed, then the behaviour
is not changed.
v2:
- added missing @since tags
- added insertTextContentWithProperties() method
- removed unused appendParagraph() method
Change-Id: I24cddb00a78e3b798e7d88764e59e6a77a6e98a4
Helped-by: Michael Stahl <mstahl@redhat.com>
commit 5d4bd2f97128adecc5b11699e98c934be3c3a462 unconditionally enabled
AddParaTableSpacing doc setting, which broke the layout of some
documents, e.g. n#778836. Fix this by doing what the WW8 importer does:
enable the setting only in case the w:doNotUseHTMLParagraphAutoSpacing
tag is present.
Change-Id: I104259a1f37f28e3c4362eb638a134b593fcb851
the intent of this header has canged over time. now it is already
systematically included with ustring.hxx and the operator overload it
provide fit nicely there...
Just to be safe, since that include as been added to the api during the
3.5 timeframe and therefore is already in 'production'
the header remain and simply attempt to include ustring.hxx
but a warning is issued indicating that this header should not be used
anymore... in a couple of major release we will thenr emove it completely
All internal users of that header are converted.
Change-Id: I8934c55f089e29d78c0f5649b7c87b2ecf024bad
Reviewed-on: https://gerrit.libreoffice.org/634
Tested-by: Norbert Thiebaud <nthiebaud@gmail.com>
Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
In Word, the layer that contains a background image is behind the layer
that contains the paragraph background. In Writer, the paragraph
background is painted before the hell layer. Add a compat flag to change
the order, so the DOCX importer can trigger that.
To reproduce, create an XShape, send it to the background, set some
color for a paragraph background, and notice that the background color
is missing where the shape is behind the text.
Change-Id: I9b1fffd9ac9a6e5a1c3d1f65371440047d125b38
Word clips pictures that are bigger than a page instead of scaling them
down. This patch introduces a new compatibility option to allow clipping
a picture in Writer instead of scaling it down.
Change-Id: I4defbee05be81e23ec28a2ed272eaf4e4cc6faf5
This was set unconditionally, but it turns out it's not the default for
docx, it's triggered by a compat flag there as well.
Change-Id: I84dccfe7ffd49fbc6878b19ff4276f8a36b827a3
The DOCX filter imports floating tables as frames containing a table.
Word ignores the margins of paragraphs next to such a table, Writer does
not. Add a compatibility flag the import filter can set that triggers
this weird behaviour.
Change-Id: Iaaa1d2a2e2f9d0eaea17832b2e418f9a845efffd