Commit Graph

3267 Commits

Author SHA1 Message Date
c8f83ce1db rhbz#1065629: RTF import: re-implement nested tables
The previous fix for this bug only fixed a symptom, this a fix for the
real problem; with the real problem fixed the nCellEnds is unnecessary.

Given that top-level table properties may be put either before or after the
table cells, the only way that works to import tables is to buffer a whole
top-level table row, but currently the buffer is replayed already at the
end of a nested table row.

Fortunately the RTF spec guarantees that \nesttableprops must occur
after the nested table cells of the nested row, so it should be
sufficient to remember the cell properties for the current nested table
row only, in addition to the cell properties for the top-level table row.

With this change, skipping a \nesttableprops destination when there is
a table style turns out to mangle ooo98040-1.rtf badly, so stop doing
that workaround.

RTFDocumentImpl::popState() was copying various buffers up the state
stack which is a clear indication that these shouldn't be members of
RTFParserState in the first place, move them to RTFDocumentImpl.

Change-Id: Ic2d8f7b3e00844b224d61605b405ca651239e5f7
2014-02-25 14:06:14 +01:00
8dcb56fdce RTFSdrImport::resolveDhgt(): fix crashing C-cast
Inside DomainMapper::graphicZOrderHelper() this is offset by 0x40 so
whatever that cast does, it's doing it wrong.

Change-Id: Ie48467c12828137a521cba47c2e04cac65201d1d
2014-02-25 14:06:13 +01:00
73e0656d6c writerfilter: fix typo in SAL_INFO log area (and put this in an ifdef)
Change-Id: Ib195fe8f66244ae98f68cdb6bba6b62d70567014
2014-02-25 14:06:13 +01:00
a6f73aca84 writerfilter: put w14:textOutline attributes into a GrabBag
Change-Id: Id2ca1ee04a44c4fe17f057397646f621f8d899f7
2014-02-25 12:08:52 +01:00
029b2e15c2 writerfilter: add w14:textOutline to model.xml
Change-Id: I3b4164a3fccff015a37b43e6fcba225947fb9d16
2014-02-25 12:08:51 +01:00
73f4fcc0f6 writerfilter: simplify element id->name mapping
Change-Id: I842c27a8717d63fef0c11ee57a998e73bce0e1b9
2014-02-25 12:08:49 +01:00
12cf9f08f5 writerfilter: add w14:textOutline attributes to model.xml
Change-Id: I3e29bbc68a6fa784831c9f56b902c1f67749751f
2014-02-25 12:08:48 +01:00
01826dc125 fdo#74105 : Prservation of Numbered lists-Starting with Value '0'
Issue :
	  - DOCX containing Numbered lists- Strating with
            value '0' is not preserved after RT.
          - LO exports document with Numbered lists starting
            from '1' instead of '0'.
          - LO "Import" and "Export" need fixes.
          - If LO will imports correctly, export will get
            correct value.

       Implentation :
          - Added code at Import and Export side.
          - Added Export Unit test case to check that
            <w:start> is not present in numbering.xml
            for 0th level.

       NOTE : <w:start> is optional. If not mentioned
              Numbered lists starts from '0'.

Conflicts:
	sw/qa/extras/ooxmlexport/ooxmlexport.cxx
Reviewed on:
	https://gerrit.libreoffice.org/7710

Change-Id: I30910c41fd188f30a1723cf8e07be5ea1cde1be0
2014-02-25 10:13:55 +01:00
9aee4d1c9e harmonize Tell() Seek() type.
Change-Id: I2e472aa0279d0763762d3c660207cd74da512626
2014-02-24 23:14:45 -06:00
8978f494e8 writerfilter: sprm:CFNoProof -> ooxml:EG_RPrBase_noProof
Change-Id: I4a4c05554c336aca8407f4b22fc581659dcaeb88
2014-02-24 22:12:53 +01:00
155720819b writerfilter: put w14:reflection attributes into a GrabBag
Change-Id: I0738b3a69df9acc6e636849fbb78231621e1cad9
2014-02-24 00:11:23 +01:00
7ad9184506 writerfilter: TextEffectsHandler - simplyfy switch
Change-Id: I9fe8967892f2298729940af3b3781fde760de69d
2014-02-24 00:11:23 +01:00
add5fc3730 writerfilter: add property ids for all w14 main elements
Change-Id: Ieb622364c1fbb2e5177392ff576a457a57b5cbb0
2014-02-24 00:11:22 +01:00
52ff05f31c writerfilter: add w14:reflection to model.xml
Change-Id: I5d94ebf602d06f334661936136213cb4eddb6a36
2014-02-24 00:11:22 +01:00
6e38e82b7c writerfilter: convert sprm:CF{Outline,Shadow,Emboss,Imprint}
Change-Id: I03a2d24d5ff6b868cd67c7b3e1d19c6a2243b92f
2014-02-23 21:57:38 +01:00
fb217f27eb writerfilter: comment out incomplete w14 elements from model.xml
Change-Id: Ifdc0c0802e8d13d57023cb24096f8364e6ee9e91
2014-02-23 17:40:09 +01:00
ea7dd1a055 writerfilter: restructure call to TextEffectsHandler
Change-Id: Iba02edccfb09c2b42be164c62c57315b58884c98
2014-02-23 17:40:09 +01:00
ab2b20b663 ooxml: handle w14:shadow in import/export
Refactor the code to support an additional main element at processing
of w14 elements for rPr.

Change-Id: Iaf18a11bbda245b0b5b629e5f2e9f1f9682e6d41
2014-02-23 17:40:09 +01:00
7f93b4001f writerfilter: add all main w14 elements for a rPr
Change-Id: I8fa71bdf837eac6ea277d2e2507622a783625a11
2014-02-23 17:40:08 +01:00
675ff51f2e writerfilter: convert sprm:CF{Caps,SmallCaps,Strike,DStrike}
Change-Id: Ib582a8266990a3a6ccccdd630baeca588ed68fdb
2014-02-23 10:52:28 +01:00
a35d8b1caf coverity#735576 nKeyword can only be RTF_SBASEDON here
Change-Id: I26b0dc18e9b4a99b267a28d768c235ef5abbe755
2014-02-23 03:28:24 +00:00
148905281d writerfilter: convert sprm:CF{Bold,BoldBi,Italic,ItalicBi}
Change-Id: Ide2116ac380fd563fa7cc9e60f46a7cc62ffc94b
2014-02-22 20:36:20 +01:00
ed9d0db080 writerfilter: sprm:SBkc -> ooxml:EG_SectPrContents_type
Change-Id: I6a6b73967e11a9346cd766dde9d04af63466c206
2014-02-22 20:36:20 +01:00
87c32a391b Fix a crash from crashtest
4  0x00002aaaaad1b3ab in rtl_uString_newFromSubString (ppThis=0x7ffffffeba48, pFrom=0x2aaaaad4236c <aImplEmpty_rtl_uString>, beginIndex=1, count=-2)
    at /home/julien/compile-libreoffice/libo/sal/rtl/strtmpl.cxx:1231
5  0x00002aaaec13e2b1 in rtl::OUString::copy (this=0x7ffffffebed0, beginIndex=1, count=-2) at /home/julien/compile-libreoffice/libo/include/rtl/ustring.hxx:1483
6  0x00002aaaec1717e3 in writerfilter::rtftok::RTFSdrImport::resolve (this=0x1aa4710, rShape=..., bClose=true)
    at /home/julien/compile-libreoffice/libo/writerfilter/source/rtftok/rtfsdrimport.cxx:356
7  0x00002aaaec134dfb in writerfilter::rtftok::RTFDocumentImpl::popState (this=0x20508a0)
    at /home/julien/compile-libreoffice/libo/writerfilter/source/rtftok/rtfdocumentimpl.cxx:4100
8  0x00002aaaec18327f in writerfilter::rtftok::RTFTokenizer::resolveParse (this=0x1aa46c0)
    at /home/julien/compile-libreoffice/libo/writerfilter/source/rtftok/rtftokenizer.cxx:106
9  0x00002aaaec11b269 in writerfilter::rtftok::RTFDocumentImpl::resolve (this=0x20508a0, rMapper=...)
    at /home/julien/compile-libreoffice/libo/writerfilter/source/rtftok/rtfdocumentimpl.cxx:644
10 0x00002aaaec297aa6 in RtfFilter::filter (this=0x1b658b0, aDescriptor=uno::Sequence of length 13 = {...})
    at /home/julien/compile-libreoffice/libo/writerfilter/source/filter/RtfFilter.cxx:122

Here are some debug:
8;5;(0,0);(0,13);(1694,13);(1694,0);(0,0);
aToken (0,0)
aToken (0,13)
aToken (1694,13)
aToken (1694,0)
aToken (0,0)
aToken

So must test that aToken is not empty

Change-Id: Ib5f0af3306a983c8531a5db732831d4d786ce9f5
2014-02-22 15:53:13 +01:00
6306c7c2f2 some build fixage for old 32bit int/sal_Int32/long bustage
Change-Id: I809b8d6bad9c435333231c53001b1a961b6325d2
2014-02-21 23:24:17 +00:00
b5b22e5c04 Fix 32-bit builds
Change-Id: I904bd077a0a519f296155ba0d83c083e8bca67d2
2014-02-22 00:19:53 +01:00
02d8db735b writerfilter: add more w14:glow attributes into GrabBag
Fix and add more attributes into the GrabBag, add attributes for
an element into its own collection.

Change-Id: I8d2e2fa35f4bc447c7e913e5c39223fc01f39d5a
2014-02-21 23:33:04 +01:00
22a5e4db00 writerfilter: fix w14 simple types
Change-Id: I5693b7570227e1a337f03febc28f5ea336b4af7f
2014-02-21 23:33:04 +01:00
4b544037c4 writerfilter: convert sprm:P{WAlignFont,TightWrap,OutLvl}
Change-Id: Id2090637953d98e899481a2e802815cdc6244e50
2014-02-21 22:23:38 +01:00
07338e2066 Kill copy'n'paste.
Change-Id: I3d457efc89873ca92a4458b1ac0a125848c942a8
2014-02-21 14:33:24 +01:00
fd859ee580 Related fdo#38054: Don't crash when opening this document.
The document itself is (I think) corrupted, but we shouldn't crash anyway.

Change-Id: I7ecfaed7003de2976e47992c89bb695a5cdffda4
2014-02-21 14:33:23 +01:00
470b21a2bc coverity#708680 Uninitialized scalar field
Change-Id: Ic96a03a987d668756b9bfb4cfaf2a7fd9eebfa46
2014-02-21 12:40:36 +00:00
2fe8563664 coverity#708687 Uninitialized scalar field
Change-Id: I51c0ef414fff82b8cf932d7c99b18f561c113196
2014-02-21 12:40:36 +00:00
03e3c22840 -Werror,-Wunused-variable
Change-Id: Icd55f3d51c94be6b14ab8e6cb66755180db6e290
2014-02-20 19:29:02 +01:00
52b6c17a7a writerfilter: convert sprm:P{FBiDi,ContextualSpacing,Jc,FrameTextFlow}
Change-Id: Id28eed2ecc177cf0724813dca29bd448f5c51d27
2014-02-20 19:09:20 +01:00
deabda6b38 DOCX import: fix missing underline in comment text
Regression from fb5ee5c9953635a423d3102b901e409d15800096 (sw: Add
support for different grab bags at PropertyMap., 2013-11-29),
PropertyMap::GetPropertyValues() assumed all XTextRange implementations
support the new property, which is not true for at least editeng.

Change-Id: Ib5657be522d30f203cecbbbae74d6594cef984fb
2014-02-20 18:39:23 +01:00
6e157dc78d writerfilter: Write w14:glow and subelements into a CharGrabBag
TextEffectsHandler is responsible to add all subelements
(using nesting of Sequence and Property objects) of text
effects (like w14:glow) into a CharGrabBag.

Change-Id: Ie011a059b905b7cd43528dd7d40be186c4fc4229
2014-02-20 17:54:49 +01:00
5e923733fb w14:glow: add simple types so attributes are recognised
Change-Id: Id253c442e3c8a79f6ac9f088e6c15d5a9cc323c7
2014-02-20 17:54:48 +01:00
6c92d24b82 writerfilter: rework w14 elements to use groups for later reuse
Change-Id: I080f06dc6c7c5d5250bcf5b115841ecf3a1f7ee8
2014-02-20 17:54:48 +01:00
d18eea41c0 writerfilter: forgot to add resource definitions for glow
Change-Id: I12562023152dd7e2e94713b2e0344b576b0437e2
2014-02-20 17:54:47 +01:00
18b2074e52 writerfilter: added w14 grammar with glow element
Change-Id: I540ff861ab492a1ad4c2a9d139834a9e36ca54bc
2014-02-20 17:54:47 +01:00
df273f69ee Add w14 namespace to writerfilter
Change-Id: I2672ec0bd72f8c443634a0a5df59feb4dd1b679c
2014-02-20 17:54:46 +01:00
a18a1a4545 Remove vcl/settings.hxx from vcl/svapp.hxx and vcl/outdev.hxx
Added vcl/settings.hxx to all cxx files which require it.
This helps to speed up compilation after changes to the settings.

Conflicts:
	sc/source/ui/dbgui/pvlaydlg.cxx

Change-Id: I211a0735c47f72d6879f6f15339355abfe0e3cf4
Reviewed-on: https://gerrit.libreoffice.org/7933
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-02-20 16:22:17 +00:00
418800e2e8 DOCX import: handle wp14:sizeRelH/V relativeFrom=margin
No explicit code for this was necessary in case for TextFrames, but for
drawinglayer shapes the default is relativeFrom=page. To keep things
simpler, just always set these, regardless what the LO default is.

Change-Id: I9f651d7cce4a12ce7f545e42656b92d078a74327
2014-02-20 16:46:33 +01:00
2237604b6b writerfilter: convert PF{OverflowPunct,TopLinePunct,AutoSpaceDE,AutoSpaceDN}
Change-Id: Ibe0d43c35afa12f2bad33645ec4f849b5fb8a811
2014-02-19 18:16:28 +01:00
c23faa9a5a writerfilter: unused WW8TableManager
Change-Id: I29a4b2326a8fe25c1f2288d6218e1e0a9b2ad3e5
2014-02-19 16:07:35 +01:00
4fc2bec525 DOCX OLE import: inherit more properties
Change-Id: Ifa7eb3eee774266f440b313437f0decce27eedc5
2014-02-19 13:20:31 +01:00
973b47a336 unotools: sal_Bool -> bool
Change-Id: I8051c0756e0474a5b4f748e0aa15a9922e82ea97
2014-02-19 12:47:07 +01:00
1fa144261a writerfilter: sprm:P{Shd,FNoAutoHyph} -> CT_PrBase_{shd,suppressAutoHyphens}
Change-Id: I3ca8805428469cebf67737fd9fce9a74641e88ce
2014-02-18 22:21:18 +01:00
9d40af0c79 writerfilter: convert sprm:PF{PageBreakBefore,NoLineNumb}
Change-Id: I1dd89236e81a7f62bb7abef5503f7520387772a0
2014-02-18 20:37:00 +01:00