Age | Commit message (Collapse) | Author |
|
The SwFrmFmtAnchorMap class provides reverse mapping
to SwFrmFmt::GetAnchor().GetCntntAnchor(), so that when code somewhere needs
to update SwFrmFmt's anchored at a position, it's not necessary to iterate
over all of them (which can be a large number e.g. with mail merge).
One special catch with the multimap of SwNodeIndex keys is that
the values of those keys change (whenever the node structure of the document
changes, indexes of nodes change as a result). This makes it impossible to use
any hashing container, as the hashes would change without the container
noticing, but multimap should work fine, as it just requires that the keys
remain sorted, and that is the case. Nevertheless, the old code in the two
converted places is intentionally left there in debug mode to verify the reverse
mapping is updated correctly.
I intentionally went with SwNodeIndex rather than SwPosition, as SwIndex
(the other component of SwPosition) was causing some trouble (see e.g. the
SwPosition comparison operator< , where two same positions are different if one
is registered and the other not) and it doesn't appear to be actually necessary.
Conflicts:
sw/inc/doc.hxx
sw/inc/frmfmt.hxx
sw/source/core/attr/swatrset.cxx
sw/source/core/doc/docnew.cxx
sw/source/core/inc/frmtool.hxx
sw/source/core/layout/atrfrm.cxx
sw/source/core/txtnode/ndtxt.cxx
Change-Id: I7f1768558f60155d4ba83c84aa7f9e34dc65ebf9
|
|
When generating a unique fly name, we have to iterate over all the
existing flys to find out what's the first not used one, so doing this
for every new fly inserted by mail merge is O(n^2).
During import, we already skip this and only do it once at the end of
the import, which is O(n).
Fix the performance problem by skipping the unique fly name generating
when we produce a combined mail merge document as well, and just
generate them once the mail merge is complete.
For a test document having 12 text frames and 2000 mail merge records,
the times for css::text::MailMerge::execute() is 9m37.330s -> 8m18.811s.
Conflicts:
sw/inc/doc.hxx
sw/source/core/doc/DocumentLayoutManager.cxx
sw/source/uibase/dbui/dbmgr.cxx
Change-Id: Idfa8e9fe3acc93f1138f5bb12c2419c1492f8ff1
|
|
This removes another need for doing repeated and expensive layouts of the target
document.
Conflicts:
sw/inc/doc.hxx
sw/source/core/doc/docnew.cxx
sw/source/uibase/dbui/dbmgr.cxx
Change-Id: Id78bc3ccc71c17e42f858dc9660866b9c94dea3a
|
|
Instead of page numbers, which
- was somewhat fragile (and broken, as it was actually off-by-one)
- required repeated re-layout of the increasingly large document, making
mailmerge awfully slow. The re-layout is not removed by this commit, as
it needs further checking whether it can be removed.
See the bugreport for details.
Conflicts:
sw/inc/doc.hxx
sw/source/core/doc/docnew.cxx
sw/source/ui/dbui/mmoutputpage.cxx
sw/source/uibase/dbui/dbmgr.cxx
sw/source/uibase/inc/mmconfigitem.hxx
Change-Id: Ib09bd5f5a6a549c3d38ca40b0f32c0d2831fdd4c
|
|
(cherry picked from commit 3b11057b75434526f67e678ddc1deb9ebd61c752)
Conflicts:
sw/source/uibase/dbui/dbmgr.cxx
Change-Id: Ibb9db5ecdea6439df20fc1ee609267dcdd864405
(cherry picked from commit 4896a4984473857d5b12df69a287c44c485105b7)
(cherry picked from commit bd73285aff577350d7dff4907aad9053f7721dd1)
|
|
Fixes and optimizes a few places, which will fail in case of the
sorted_vector conversation.
This drops a simple optimization from the ww8 filter. I'm not
sure it's worth to memorize and just update the new styles.
(cherry picked from commit a5ff456973e97508f6c926ec889dea2f9b4fe666)
Conflicts:
sw/inc/fesh.hxx
sw/source/core/frmedt/fedesc.cxx
sw/source/filter/inc/fltshell.hxx
sw/source/filter/ww1/fltshell.cxx
sw/source/filter/ww8/rtfexport.cxx
sw/source/uibase/app/appenv.cxx
Change-Id: I7a444013f59e81c81049cd40b9d9cfa0e29623c0
|
|
There are just ten default page pool style IDs.
So instead of walking the whole style list to find the matching
style ID, this introduces an additional index / array for faster
lookup.
(cherry picked from commit 3cd2f4c974f9119e920a75a00d194641c2808c94)
Conflicts:
sw/source/core/doc/docdesc.cxx
sw/source/core/doc/poolfmt.cxx
sw/source/core/layout/pagedesc.cxx
sw/source/filter/html/htmlcss1.cxx
Change-Id: Iacfa40c76e5502dc90665be0a96388de50d5ec16
|
|
Variants of DelPageDesc and ChgPageDesc, which work with the
SwPageDesc pointers instead of the names.
This moves all the code from the "name" to the "pointer" functions
and just adds a FindPageDescByName to the old functions before
calling the pointer variants.
(cherry picked from commit 41f386877a4c71295c3264720cbefd51d9bb7266)
Conflicts:
sw/inc/doc.hxx
sw/source/core/doc/docdesc.cxx
Change-Id: Ife03986ec2a3897273edd64b8136474441b6b771
|
|
Both functions were consolidated in
commit c1be76ec98cb465e07df961843134147100beaa9
Now re-rename it to introduce FindPageDescByPoolId later.
(cherry picked from commit 3a696e7af2ed8bef1cc2be9a731fe2bd92e87aa7)
Conflicts:
sw/source/core/layout/pagedesc.cxx
sw/source/core/unocore/unostyle.cxx
sw/source/filter/ww8/rtfexport.cxx
sw/source/uibase/app/docstyle.cxx
Change-Id: I6b96b322eb133615e3a2c692fb7f655d6f22fc8f
|
|
This moves the SwPageDescs class to pagedesc.hxx, changes the
std::vector inheritance to private and extends the class to a
o3tl::sorted_vector compatible API.
The insert internally still uses push_back.
This should just be a cleanup patch and is a preparation for the
change of SwPageDescs from vector to o3tl::sorted_vector.
(cherry picked from commit 07cc52be8746eff7e77cb31f507fe0a847157f82)
Conflicts:
sw/inc/doc.hxx
sw/inc/pagedesc.hxx
sw/source/core/doc/docdesc.cxx
sw/source/core/layout/pagedesc.cxx
Change-Id: I08561c139d1af9bad6ca68be27466fac33fab384
|
|
Mail merge wasn't copying the document properties into the target
document. It also has to copy most document properties into the
working copy, as ConvertFieldsToText is called just there.
Change-Id: I7e07fec712c225f667d960a94f4eb3fd0b83f041
Reviewed-on: https://gerrit.libreoffice.org/10987
Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
Tested-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
(cherry picked from commit cde554a731596f1ca53a911656b6503c96dadcc7)
Conflicts:
sw/inc/doc.hxx
sw/source/core/doc/docglos.cxx
sw/source/uibase/dbui/dbmgr.cxx
|
|
Previously there was a restriction for the range to contain at
least two nodes.
Change-Id: Iadf21d3928303c2ab8df0d93dabd969ed1ff7e09
Reviewed-on: https://gerrit.libreoffice.org/10972
Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
Tested-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
(cherry picked from commit 9099e21b89184bd4e39def497e483cac4a77ec5a)
Conflicts:
sw/inc/IDocumentContentOperations.hxx
sw/source/core/doc/DocumentContentOperationsManager.cxx
sw/source/core/inc/DocumentContentOperationsManager.hxx
|
|
This drops all the specialized, workaround code from MM, introduced
to use the SwFEShell::Paste function and additionally merges
and renames SwDoc::Paste into SwDoc::Append.
There is still a little common codepath, therefore this adds
comments to always update both functions.
Change-Id: I704b3ef3257dd977dac95e16e25049ff8ade97ed
Reviewed-on: https://gerrit.libreoffice.org/10967
Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
Tested-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
(cherry picked from commit c808802e94eba48dc23d7fca133ed35c17feb163)
Conflicts:
sw/inc/doc.hxx
sw/source/core/doc/DocumentContentOperationsManager.cxx
sw/source/core/doc/docnew.cxx
sw/source/uibase/dbui/dbmgr.cxx
|
|
(cherry picked from commit c1be76ec98cb465e07df961843134147100beaa9)
Conflicts:
sw/inc/doc.hxx
sw/source/core/doc/docdesc.cxx
sw/source/filter/ww8/rtfexport.cxx
sw/source/uibase/app/docstyle.cxx
Change-Id: I18d570509cd3f3b65a19a12a9df0b1d5db901d04
|
|
This removes many uses of GetPageDesc(sal_uInt16).
(cherry picked from commit f246ac13bd1a12e11eba03cbe3c62ea77293e02e)
Conflicts:
sw/inc/doc.hxx
sw/source/core/doc/docdesc.cxx
sw/source/core/doc/poolfmt.cxx
sw/source/filter/ww1/fltshell.cxx
sw/source/filter/ww8/ww8par.cxx
sw/source/uibase/app/docstyle.cxx
sw/source/uibase/dbui/dbmgr.cxx
Change-Id: I9660e30d7fccd4336422ba03b19087321a7ae973
|
|
If a mirrored page style is used with first-page on both a right page
and a left page the current design cannot work because the margins in
the SwPageDesc::aFirst cannot be right for both cases.
So split that up so we get a first-master and first-left format and
copy the headers/footers and margins as appropriate... which is really
adding epicycles to a flawed design; probably this would be better with
just a single SwFrmFmt that has different items for master/left/first
headers.
(cherry picked from commit e936ecc92a7e362f57ce72a955697840920636b8)
Conflicts:
sw/source/core/doc/docdesc.cxx
sw/source/core/doc/poolfmt.cxx
Change-Id: I0889a4ab5959b5a71172203bb64d185960a07d73
Reviewed-on: https://gerrit.libreoffice.org/7158
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
|
|
- count characters instead of paragraphs to better account for large or
small paragraphs
- start out with a relatively small value (5k chars) on the first run to
quickly show something to the user
Change-Id: Ic4013545692f267aab39e084415d5d794bb5a4ca
(cherry picked from commit 91c8008051c0bb7905a6acd822d022e144f2941f)
Reviewed-on: https://gerrit.libreoffice.org/5391
Reviewed-by: Tor Lillqvist <tml@iki.fi>
Tested-by: Tor Lillqvist <tml@iki.fi>
|
|
Updating fields would generate loads of selection change events and it's
not what we asked for.
Regression from ce14342c4292628a641a72d4f63d9c048e030c6a.
(cherry picked from commit e2484e3998f2c5036fb8e3584d4b1c72db19bfd3)
Change-Id: If237df1f31436357022ca8d77b924681e403abd8
Reviewed-on: https://gerrit.libreoffice.org/4943
Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
Tested-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
|
|
It is a crude hack that is no longer necessary because the underlying
problems that caused crashes when deleting the layout have been fixed.
Change-Id: I601bdb0dc0aff5f4ddb8b8f4ba4c8d1f72c76666
(cherry picked from commit f8dfa3a81a5382b2f18a705bd512625754167573)
Reviewed-on: https://gerrit.libreoffice.org/4706
Reviewed-by: Miklos Vajna <vmiklos@suse.cz>
Tested-by: Miklos Vajna <vmiklos@suse.cz>
|
|
This is annoying because it's not possible to use StartUndo/EndUndo
because that would break grouping via SwUndoInsert::CanGrouping();
also SwUndoAttr is somehow incapable of removing the inserted hints of a
grouped insert (it seems to leave no-length hints behind); so add an
explicit call to DeleteAttributes which should avoid the no-length
hints.
Change-Id: I1533daed9b2cf59886f380141b4eace4b22c15e0
(cherry picked from commit e012f326c1c32c053304998a6826cb322f2c7728)
|
|
Use boost::shared_ptr and stl tools to implement a SwPosFlyFrms which can be
used and handed over by value and cleans up it's content to avoid memory leaks.
Found by: Chao Huang
Patch by: Chao Huang, alg
Review by: Chao Huang, alg
(cherry picked from commit c26f80aa1ba65b63e313dce9c6d7e40ab8efede6)
Conflicts:
sw/inc/doc.hxx
sw/inc/flypos.hxx
sw/source/core/doc/doclay.cxx
sw/source/core/layout/flypos.cxx
sw/source/core/unocore/unoobj2.cxx
sw/source/filter/html/htmlfly.cxx
sw/source/filter/ww8/writerhelper.cxx
Change-Id: If610457654b1056d799d4336cd249815f7878a96
Fix build breaker from i120106
Patch by: Chao Huang
Suggested by: alg
(cherry picked from commit 880aadbeba4e31049d5b7f0a34323553fb6249fb)
Conflicts:
sw/source/filter/ww8/writerhelper.cxx
Change-Id: I516fcb6ee69944c54cc9eb76c069eb8b28749050
|
|
CLOOK = "Compiler Limit: Out Of Keys", an error reported by Microsoft's
compiler a long time ago. No such problem in those versions we support. No
need to mention CLOOK in comments any more.
While at it, re-combine one large switch statement that was split to avoid
CLOOK.
Change-Id: Id93d973a5fb3c81b6c754eef0ba3b0bd55a649d2
Reviewed-on: https://gerrit.libreoffice.org/3640
Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org>
Reviewed-by: David Tardon <dtardon@redhat.com>
Tested-by: David Tardon <dtardon@redhat.com>
|
|
Change-Id: Ib4e45cb85c9e5e5ffa6476c939300c6795412b1a
Reviewed-on: https://gerrit.libreoffice.org/3582
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
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
|
|
...for the adjustments of certain AT_PAGE anchored objects
Addresses the underlying problem of fdo#37024 fixed by
9d32497c01475f2b5e5bec756e4dd0ca9f9d4928
(cherry picked from commit b41eec25c2c6bc44eef55ae1c4ef57b9012fc8e6)
Conflicts:
sw/inc/doc.hxx
sw/source/core/doc/doclay.cxx
sw/source/core/doc/docnew.cxx
sw/source/core/layout/frmtool.cxx
Change-Id: I786eabdf84677e14c6f4b67d79e1e210e0532a21
|
|
* main/sw/inc/doc.hxx
* main/sw/inc/IDocumentContentOperations.hxx
* main/sw/inc/ndtxt.hxx
* main/sw/source/core/doc/docfmt.cxx
* main/sw/source/core/txtnode/thints.cxx
* main/sw/source/filter/inc/fltshell.hxx
* main/sw/source/filter/ww1/fltshell.cxx
* main/sw/source/filter/ww8/ww8par.cxx
* main/sw/source/filter/ww8/ww8par.hxx
* main/sw/source/filter/ww8/ww8par3.cxx
MS Word Binary compatibility
Patch by: Fan Zheng,<zheng.easyfan@gmail.com>
Found by: Jian Hong Cheng,<chengjh@apache.org>
Review by: Jian Hong Cheng,<chengjh@apache.org>
Conflicts:
sw/source/filter/inc/fltshell.hxx
sw/source/filter/ww1/fltshell.cxx
sw/source/filter/ww8/ww8par.cxx
sw/source/filter/ww8/ww8par.hxx
(cherry picked from commit ee3b12ab1d62faedcd2d62fcb8011b7454ea0474)
Change-Id: I2f72969a54db53e6a51edcf3a3216647cec9424c
|
|
Change-Id: Id4683649aa9115f9075717768aa6cef4110c2ad2
|
|
|
|
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.
|
|
Change-Id: I36c6c56d7277b9b3853b846c86c1f4dd47ebdb08
Signed-off-by: Luboš Luňák <l.lunak@suse.cz>
|
|
Patches contributed by Oliver-Rainer Wittmann
sw34bf06: #i117783# - Writer's implementation of XPagePrintable -
apply print settings to new printing routines
http://svn.apache.org/viewvc?view=revision&revision=1172115
sw34bf06: #o12311627# use <rtl_random> methods to
create unique ids for list styles and list ids
http://svn.apache.org/viewvc?view=revision&revision=1172112
sw34bf06 #i114725#,#i115828# - method <SwDoc::ClearDoc()> -
clear list structures completely
http://svn.apache.org/viewvc?view=revision&revision=1172122
i#118572 - remove ui string and help content regarding usage of
Java Mail in Writer's Mail Merge as Java Mail is not used.
http://svn.apache.org/viewvc?view=revision&revision=1197035
Patches contributed by Mathias Bauer
cws mba34issues01: #i117718#: provide filter name in
case storage of medium does not allow to detect one
http://svn.apache.org/viewvc?view=revision&revision=1172350
cws mba34issues01: #i117721#: directly provide
parameters retrieved from SfxMedium
http://svn.apache.org/viewvc?view=revision&revision=1172353
gnumake4 work variously
http://svn.apache.org/viewvc?view=revision&revision=1394707
http://svn.apache.org/viewvc?view=revision&revision=1394326
http://svn.apache.org/viewvc?view=revision&revision=1396797
http://svn.apache.org/viewvc?view=revision&revision=1397315
cws mba34issues01: #i117723#: convert assertion into trace
http://svn.apache.org/viewvc?view=revision&revision=1172355
cws mba34issues01: #i117699#: keep layout alive until swdoc dies
http://svn.apache.org/viewvc?view=revision&revision=1172362
cws mba34issues01: #i117943#: missing color attributes in RTF clipboard
http://svn.apache.org/viewvc?view=revision&revision=1172363
Patch contributed by Henning Brinkmann
imported patch i#103878
http://svn.apache.org/viewvc?view=revision&revision=1172109
Patches contributed by Michael Stahl
sw34bf06: #i117955#: WW8 export: disable storing of section breaks in endnotes
http://svn.apache.org/viewvc?view=revision&revision=1172119
Patch contributed by imacat
Fixed the Asian language work count.
http://svn.apache.org/viewvc?view=revision&revision=1241345
Patch contributed by Pedro Giffuni
i#20878 - Add comment with BZ issue for reference.
http://svn.apache.org/viewvc?view=revision&revision=1244517
Patch contributed by Andre Fischer
Do not add targets for junit tests when junit is disabled.
http://svn.apache.org/viewvc?view=revision&revision=1241508
add writerperfect dependency.
|
|
... which is incidentally the last user of XDocumentInfo.
Change-Id: I47dc31c8739aa1d50c2a3b26ac51a239417fa5b0
|
|
Change-Id: Icc13eb7a8c6720ac53163e3ee7842a22c2862ab3
|
|
Change-Id: I95a8effcc90a9651e30dc43f8db6edeaa7ace5ef
|
|
Change-Id: Idfbc33106b20b06c5247c50d099972305f016a51
|
|
Change-Id: I3e8b7db8422680b865c10c7ead4ad782e2d5c5e1
|
|
Change-Id: I35412e2d2e36e3eabdff2a6692bf6edc68a2d724
|
|
Change-Id: I10f8d534d664c5f27a32214c00aeee890d993d18
|
|
Change-Id: I87d6e518aebcd0074f673b84b66df27ae9a0a15a
|
|
Change-Id: Ia71a4dc13e09a5fc42c282efc2b0d46b2ff007ab
|
|
Change-Id: I8b76ba6d6a27cebefca3307a648bd5baafd27262
|
|
Change-Id: I47f376f431276396a9f3168a5e39e2c9e9e55cbe
|
|
Change-Id: I71842ace16eb65b3269754cc36408fe52843b2ea
|
|
Change-Id: Ideb46a876ef74f505b71e2a788d5f8da50e251af
|
|
Change-Id: Id3be1fbf289f04e175bb2fdd71754cad0c9672ce
|
|
Change-Id: I89050a1aa899b1a6cd49800f805af9611fd0a9a7
|
|
Change-Id: Ieeebcd89ae2728c6314f28413759bbb353c327bf
|
|
Change-Id: Ic09b960b675d674a16f7f252ed2a974c4e25505b
Reviewed-on: https://gerrit.libreoffice.org/680
Tested-by: Bosdonnat Cedric <cedric.bosdonnat@free.fr>
Reviewed-by: Bosdonnat Cedric <cedric.bosdonnat@free.fr>
|
|
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
|
|
No write support yet.
Change-Id: Ia10239acc77cf9ebc4f511e30c007da36abf43cb
|