Age | Commit message (Collapse) | Author |
|
which is very expensive these days
Change-Id: Ia8485f38b7aeb763a49a1acb433e22d1360694e4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173513
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
which is very expensive these days
Change-Id: I26da48f3b29bc3029d359214e0c50fa51e9e2194
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173479
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
|
|
which is very expensive these days
Change-Id: I654b85db2c22e95483c369b0aa9fd36f1f7c3849
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173360
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This change adds a new button, Group, to the Asian Phonetic Guide.
Clicking on this button will automatically merge all base text runs into
a single base text run.
Change-Id: I8bc2881f0c31d501f8a347156145a483bb4c96cb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173241
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
Tested-by: Jenkins
|
|
which is very expensive these days
Change-Id: I830e7829ee3b919647f44ab060bf170e5cf42189
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173035
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
|
|
which is very expensive these days
Change-Id: I0ac24ba8ef4df9310b9e6ca5cfd7a132a61bb889
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173049
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
which is very expensive these days
Change-Id: I6dbd6d1c66cd28c4f916842cd95f000215e52bc8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173033
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
which is very expensive these days
Change-Id: I7b552d9fec5e2971bb3c171b7dd132ee31b1a46e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173004
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
which is very expensive these days
Change-Id: I412c30310f001a7b7c9350a7e0da62bdcddc498c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173001
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
which is very expensive these days
Change-Id: I8698d3bb9a7d49a5444ed901859f636647e4d116
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172996
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
|
|
Change-Id: I22a7fc1e109e641932f348e9ac3b85f11ce46c9d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171608
Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: I53af2d1af22ed58acd384d33396e517d8a395f17
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170834
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
|
|
This reverts commit a61128c95e324b096bf26fec5ad78e67567e0f82.
Reason for revert: Causes trouble with UITests because the names of some objects are not predictable
Change-Id: I6320efd694849542ae79f0dc67c15d35eedfb750
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170742
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
reduces the load time of a complex document from 18s to 16s
Change-Id: I5382e27bf1b6beaf7276ef46f10d43d5bf9822d6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170795
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
... via the Table->AutoFormat Styles... dialog:
add a "None" option like already exists in Table->Insert Table...
Change-Id: I41d5cb0a7dcd1bfe3e93fe56f0f42765149ff42b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170641
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Tested-by: Jenkins
|
|
Change-Id: Ibc8c3ce70d572e2e07ee6ae1e46996943cf90a5b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168840
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
|
|
Change-Id: I0ef01a6be8207d4cffc89b95dc9ca3bf1baf38d8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168358
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
Tested-by: Jenkins
|
|
after 24889135773204c6e3002dcb417c75ff1a99ccd0
"check GetEditShell()"
Change-Id: I5650e23e0c2a1c3eb81cfa71c57b809d8abc4b40
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167906
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
|
|
The first commit made the start and end node of the paste look like the
list it was inserted into, but the middle nodes may have different
paragraph styles and may have different left margin / first line indent.
In addition to the SwNumRule, also copy any left margin or first line
indent if it is effective on the node that the SwNumRule was taken from.
Now all the list labels should be in the same place.
Change-Id: Ia5794687ea0ff542f23289b1ca63ea99dae85bc3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167777
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
The problem is that when a paragraph style specifies a SwNumRule, then
this style's indents override the indents of the SwNumRule, but if the
same SwNumRule is also added to the SwTextNode's mpAttrSet, then the
style's indents no longer take effect.
This happens both when inserting an AutoText, and when Pasting, into a
list item, because DocumentContentOperationsManager::CopyImplImpl()
sets the pNumRuleToPropagate as direct formatting on every pasted node.
Add another flag to SwDoc::SetNumRule() to check if pNumRuleToPropagate
was already in effect due to the paragraph style.
Change-Id: Id98ad2a21eab4f8636fb36f9298a054cfe4f7784
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167766
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
Change-Id: I40cfc39501006146f7c6c04a1f3c7cf877c6f1c4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167186
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
|
|
Avoid O(n^2) loop in SwXFrame::setPropertyValue, we even have an index
to search for this stuff
Reduces load time from 325s to 172s
Change-Id: I6c6c03206ef81be1d7d7702a4313acd23d75442d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165044
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
The events may be processed after the shell has been destroyed. This is
happening reliably after commit e2bfc34d146806a8f96be0cd2323d716f12cba4e
(Reimplement OleComponentNative_Impl to use IGlobalInterfaceTable,
2024-03-11) when controlling LibreOffice from external Java scripts; but
obviously, it could happen before as well.
Now SotObject inherits from cppu::OWeakObject, instead of SvRefBase.
Change-Id: I73a3531499a3068c801c98f40de39bdf8ad90b2b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164458
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
using the bin/find-can-be-private-symbols.py script
to find classes with large numbers of exported symbols
that can hidden.
before
exported = 58104
imported = 30810
unused_exports = 35433
after
exported = 55094
imported = 31073
unused_exports = 32423
Change-Id: Idd0a70ee3740afd5ca1a86771e0e2ff8090d102d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163456
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I085cc6802ba72c2334398dd34be9eecdab2ea575
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161709
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
Change-Id: I67c231441b56f05da001beab5b893bc6a6a6a392
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159704
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
... during mail merge.
In some modes (generating individual documents; creating PDF) the mail merge
process converts all fields into text. But sometimes it is undesirable for
fields not involved into mail merge itself:
* It is inconsistent with how MS Word behaves;
* The generated editable documents could benefit from having other fields
kept as fields;
* Some fields, when exported to PDF, produce different results: e.g.,
placeholder fields are output as empty spaces, not as placeholder text.
An expert boolean configuration option is added:
Office/Writer/FormLetter/ConvertToTextOnlyMMFields; it is false by default,
in which case, the behavior is unchanged. When true, all fields in the mail
merge document, except for database fields and hidden text fields, are not
converted to text during mail merge process.
Change-Id: Ibdb505ed3f2762db063bb0a91b674d27ecbc2e7f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158306
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: Ie3d22b63260d2b2b05a46c5b2a6ca915cf9d4bcd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158304
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Selecting table rows by the left row border, and
moving them via drag & drop resulted only tracked
deletion, but not tracked insertion.
See also commit 3e6125c72f8c07c14df42d45571cab44f24e9f70
"tdf#155846 sw tracked table column: fix drag & drop".
This reverts also commit 5a1c19624eda0c8b847af0dcee70b82502578ceb
"tdf#146965 sw track changes: fix tracked table row moving".
Change-Id: I7287e46188eee123b5fd36a5ec7ac5311699840b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157382
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
Selecting table columns by the top border, and
moving them via drag & drop resulted only tracked
deletion, but not tracked insertion.
See also commit 912336f3c85d9a631fa0ac0f270bab04b204f619
"tdf#154599 sw: fix crash at drag & drop table columns".
Change-Id: Ib392f0700ec8c17a342df435c8bb1883967b0711
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157370
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
|
|
Change-Id: I452619c5a1d0b414f09c1e3178fac9905b6d0374
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154349
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
* SdrObject new member m_IsDecorative
* new Undo SdrUndoObjDecorative
* surprising amount of changes in sw including additional SwUndoFlyDecorative
* svx API SvxShape property "Decorative"
* UI checkbox "Decorative"
* ODF import/export as loext:decorative on style:graphic-properties
* PDF/UA export: ViewObjectContcat tag shapes with this flag as Artifact
Change-Id: I37f7a0597eab92c6c6aff94fad6c16c59b231c80
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154063
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
If the style ends up empty, it still needs modification
broadcasting if it used to be non-empty. So let's just
trust the pool notification for when to notify clients.
And given that broadcasting happens now always after
EnsureStyleHierarchy, I assume that the explicit
broadcasting in SetParent is no longer needed.
Also added broadcasting to the undo of a reset. And the
undo actions were combined, so we don't get separate
notifications for each reset attribute.
Change-Id: Ia2895fe346ef337cc0b4fe5dc4275f5b2dc60cd7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153478
Tested-by: Jenkins
Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
|
|
While the selection with table at the end works for Copy, unfortunately
it doesn't work for Delete, because SwUndoDelete can't handle it,
and an empty SwTableNode+SwEndNode pair remains.
This needs some extra code, extract a SwDoc::DelTable() out of
SwDoc::DeleteRowCol() and call it from SwEditShell::DeleteSel() to
create separate SwUndoDelete objects per table, which appears to work.
(regression from commit d81379db730a163c5ff75d4f3a3cddbd7b5eddda)
Change-Id: I1534b100d31bc279bce298d3c2bd235cffc1f9d5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152628
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
- SwFrameFormats is now completely replaced by stronger typed
sw::FrameFormats<>, thus remove it
Change-Id: I7e655a83ba8cf01d1e68dccd1804c167e8daca9c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150455
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
apparently, in SwHistoryChangeFlyAnchor::SetInDoc, m_rFormat might
actually reference a DrawFormat, not a FlyFormat, and that is likely
fundamentally broken. But for now, lets just make m_rFormat a
sw::SpzFrameFormat -- this already removes some pointless up and
downcasting.
This reverts commit 52acefd6024ec79f8333ba40eef83816eda3046f.
Change-Id: I040d98548bf9ac1c25b93214224eb0812f8cb653
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151150
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
since
commit 8611f6e259b807b4f19c8dc0eab86ca648891ce3
Author: Noel Grandin <noel.grandin@collabora.co.uk>
Date: Thu May 27 10:27:46 2021 +0200
ref-count SdrObject
The CloneSdrObj() call needs to return a rtl::Reference or the
created object might get destroyed before we return a (now stale)
pointer to it.
Change-Id: I3de46b025887e6d460860b37677d2b18b90fb3e3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151137
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This reverts commit 09cdcb5f37bb4e42da7b28db6e757b9f2affed14. It broke at
least CppunitTest_sw_uiwriter3
(<https://ci.libreoffice.org//job/lo_ubsan/2756/>),
> /sw/source/core/undo/rolbck.cxx:938:46: runtime error: downcast of address 0x61300041fd00 which does not point to an object of type 'SwFlyFrameFormat'
> 0x61300041fd00: note: object is of type 'SwDrawFrameFormat'
> 00 00 00 00 70 83 cf 09 25 7f 00 00 00 83 47 00 30 61 00 00 40 e5 43 00 30 61 00 00 80 66 5d 00
> ^~~~~~~~~~~~~~~~~~~~~~~
> vptr for 'SwDrawFrameFormat'
> #0 0x7f24fca9c5b9 in SwHistoryChangeFlyAnchor::SetInDoc(SwDoc*, bool) /sw/source/core/undo/rolbck.cxx:938:46
> #1 0x7f24fca880f3 in SwHistory::Rollback(SwDoc*, unsigned short) /sw/source/core/undo/rolbck.cxx:1208:15
> #2 0x7f24fcb47832 in SwUndoDelete::UndoImpl(sw::UndoRedoContext&) /sw/source/core/undo/undel.cxx:1031:33
> #3 0x7f24fcb703c2 in SwUndo::UndoWithContext(SfxUndoContext&) /sw/source/core/undo/undobj.cxx:225:5
> #4 0x7f2543b8b57c in SfxUndoManager::ImplUndo(SfxUndoContext*) /svl/source/undo/undo.cxx:712:22
> #5 0x7f2543b8c4f8 in SfxUndoManager::UndoWithContext(SfxUndoContext&) /svl/source/undo/undo.cxx:664:12
> #6 0x7f24fca6a074 in sw::UndoManager::impl_DoUndoRedo(sw::UndoManager::UndoOrRedoType, unsigned long) /sw/source/core/undo/docundo.cxx:696:32
> #7 0x7f24fca6b38f in sw::UndoManager::UndoWithOffset(unsigned long) /sw/source/core/undo/docundo.cxx:731:16
> #8 0x7f24fa830b18 in SwEditShell::Undo(unsigned short, unsigned short) /sw/source/core/edit/edundo.cxx:141:57
> #9 0x7f250088f448 in SwWrtShell::Do(SwWrtShell::DoType, unsigned short, unsigned short) /sw/source/uibase/wrtsh/wrtundo.cxx:45:26
> #10 0x7f24ff7f16e2 in SwBaseShell::ExecUndo(SfxRequest&) /sw/source/uibase/shells/basesh.cxx:651:27
> #11 0x7f24ff7eea14 in SfxStubSwBaseShellExecUndo(SfxShell*, SfxRequest&) /workdir/SdiTarget/sw/sdi/swslots.hxx:2203:1
> #12 0x7f2523fbc059 in SfxDispatcher::Call_Impl(SfxShell&, SfxSlot const&, SfxRequest&, bool) /sfx2/source/control/dispatch.cxx:254:9
> #13 0x7f2523fd1ced in SfxDispatcher::Execute_(SfxShell&, SfxSlot const&, SfxRequest&, SfxCallMode) /sfx2/source/control/dispatch.cxx:753:9
> #14 0x7f2523f61333 in SfxBindings::Execute_Impl(SfxRequest&, SfxSlot const*, SfxShell*) /sfx2/source/control/bindings.cxx:1060:22
> #15 0x7f252437496b in SfxDispatchController_Impl::dispatch(com::sun::star::util::URL const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XDispatchResultListener> const&) /sfx2/source/control/unoctitm.cxx:688:53
> #16 0x7f2524377211 in SfxOfficeDispatch::dispatchWithNotification(com::sun::star::util::URL const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::frame::XDispatchResultListener> const&) /sfx2/source/control/unoctitm.cxx:266:16
> #17 0x7f24cad28dd6 in framework::DispatchHelper::executeDispatch(com::sun::star::uno::Reference<com::sun::star::frame::XDispatch> const&, com::sun::star::util::URL const&, bool, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /framework/source/services/dispatchhelper.cxx:163:30
> #18 0x7f24cad27cb2 in framework::DispatchHelper::executeDispatch(com::sun::star::uno::Reference<com::sun::star::frame::XDispatchProvider> const&, rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /framework/source/services/dispatchhelper.cxx:120:16
> #19 0x7f24cad29684 in non-virtual thunk to framework::DispatchHelper::executeDispatch(com::sun::star::uno::Reference<com::sun::star::frame::XDispatchProvider> const&, rtl::OUString const&, rtl::OUString const&, int, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /framework/source/services/dispatchhelper.cxx
> #20 0x7f24e91d386d in unotest::MacrosTest::dispatchCommand(com::sun::star::uno::Reference<com::sun::star::lang::XComponent> const&, rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) /unotest/source/cpp/macros_test.cxx:94:33
> #21 0x7f25319b2012 in testTdf132321::TestBody() /sw/qa/extras/uiwriter/uiwriter3.cxx:982:5
Change-Id: Ibeb181bc38cd6f88df76403cca8a15b45090633f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151027
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
paragraph style, and character style use in Writer documents
Initial commit to realize direct formatting, paragraph style, and
character style highlighting enhancement requests.
Highlighting of character direct formatting is turned on/off using
.uno:HighlightCharDF. Highlighting of paragraph styles and character
styles is turned on/off using a check box in the Sidebar Styles panel.
Closing the Sidebar also turns paragraph and character style
highlighting off. Paragraph direct formatting is indicated by a hatch
pattern over the paragraph style highlight bar and also by "+ Paragraph
Direct Formatting" appended to the tooltip that appears showing the
name of the paragraph style when the mouse pointer is over the style
highlight bar.
Colors used for styles highlighting are determined by a hash of the
style name. Lightgray is used for character direct formatting.
Known issue:
Tooltip doesn't show for paragraph style highlighting in tables and in
frames where the highlighting bar is drawn outside of the frame.
Change-Id: I6e00ee38c1c169bc7c6542a1782c03b2593e1891
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150451
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
|
|
- ... as a base class of frame formats allowed into the
spz frame format container
- with a private ctor and friends SwDrawFrameFormat and SwFlyFrameFormat
so only these two classes derive from it
- with that, switch over the SpzFrameFormats to only ever allow these
types into the container
- in followups, likely quite a bit of stronger typing can be introduced.
- ultimately, it would be nice to have each SwDrawFrameFormats and
SwFlyFrameFormats in their own strongly typed container in the end.
Change-Id: Ic30efc1220aded701533c9ca5003d2aaf8bbdaec
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150452
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
- a drop-in replacement for SwFrameFormats
- ... but strongly typed sw::FrameFormats<SwTableFormat*> returns
SwTableFormats
- replace in SwDoc for GetTableFormats
- also: use tags to name indices, lose the references to them as members
- add an explicit Rename() member to allow both SwFrameFormats and
sw::FrameFormat<> to be updated if a format is rename. This should be
removed once all SwFrameFormats have been moved to sw::FrameFormats<>.
- Ultimately it seems like a few linear iterations of the table formats
can be replaced with an index-based accesss by name (in a follow-up).
Change-Id: I1c49d64621104c964c95c6da0c84e01ee7f97028
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150243
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
... instead of assinging a unique name at insertion time, then changing
to the final value.
As discussed in commit 1dd71d79e15bd8098e7c17c8fcea3748592a902f (tdf#154486:
use importer-local map to deduplicate table names, 2023-03-31), the lookup
for a unique table name has an O(n^2) complexity, and can make loading of
thousands tables impossible.
This changes import time from 23 s to ~2.5 s, and the time now depends on the
number of tables linearly (e.g., 200 000 tables load in ~45 s).
Change-Id: I0f2b5e37db2d370bccbc8c3430f895c864d9a4c2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149840
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
There is only a single SwDoc instance in many cases, having an easy
to access pointer to that is helpful when the backtrace doesn't include
a frame in sw/ code.
This allows something like 'print SwDoc::s_pLast->dumpAsXml(0)' in gdb,
even if e.g. the current frame is xmloff/, without hunting for a parent
that is in sw/.
Change-Id: Id70baf7919ef6fde7b834704741dab70531e7e2d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148522
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Add a 3rd kind of hiding to SwRootFrame and CheckParaRedlineMerge().
This is quite simple as only consecutive paragraphs are merged.
There is an existing similar feature described in
http://www.openoffice.org/specs/writer/hidden_text/hidden_text.sxw
which results in 0-height text frames if all text is hidden
- but that is unconditional, while Word shows the paragraph when
control chars are shown, and hides it otherwise *iff* its paragraph
marker is hidden (and there's no page break on it).
Change-Id: I8290962ea58278e17b8f84bf6b2ca4bb2325aa8f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145162
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
This patch makes it possible to delete a reference without having to do
the steps given in the help.
"References are fields. To remove a reference, delete the field. If you
set a longer text as a reference and you do not want to re-enter it
after deleting the reference, select the text and copy it to the
clipboard. You can then reinsert it as "unformatted text" at the same
position using the command Edit - Paste special. The text remains
intact while the reference is deleted."
Change-Id: If363340288de25aacbc28acd5858ce275f309af6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144406
Tested-by: Jenkins
Reviewed-by: Jim Raykowski <raykowj@gmail.com>
|
|
Change-Id: Ic68aa91b1cbf23ac305ad4e361c56b91556757ee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141604
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
The VBA API for content controls can access e.g. the 3rd content control
in the document, see
<https://learn.microsoft.com/en-us/office/vba/api/word.contentcontrols>.
To support something similar, first we need to track the content
controls in the document, otherwise getting the Nth element of that list
would require scanning the entire document, which would be slow.
SwContentControlManager::m_aContentControls is a plain vector, because
an o3tl::sorted_vector would require sorting at insert time, but our
content controls are typically first created and only later inserted,
and we want to use the insert position as the comparison key when
sorting.
This just keeps track of content controls (visible in the doc model XML
dump), somewhat similar to sw::MetaFieldManager or SwFootnoteIdxs.
UNO API to actually expose this is not yet added.
Change-Id: I3f75334ffef684afc2c05a1bbdb7f247876d27ad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142391
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: I4b9ab45ff8e21fa5091894f2cd5e3c7de57df425
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141431
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
DOCX import currently maps linked headers to 2 Writer headers, the
second header has a copy of the first header's content. The image in the
first header is named 'Picture 1', the copied header names the image as
'Image1'.
This is similar to what commit 41403fbff8140ad0ca7cf8f81d37cddcfbd19197
(sw: improve duplicated bookmarks in copied header/footer text,
2022-10-13) fixed for bookmarks, what happens is that
sw::DocumentLayoutManager::CopyLayoutFormat() clears the name of the
image, and then these are filled in at the end of the import in one
shot, to improve performance. The downside is that it's not possible for
an API user to know which was the original image and which is the copy.
Fix the problem by tweaking the in-header-footer && not-in-mail-merge
case to generate a name like 'Picture 1 Copy 1': this is meant to
preserve the lost connection between the original image and its copy,
while maintaining performance for the mail merge and body text cases
where we expect lots of images.
In the long run it would probably make sense to rather support linked
headers/footers in Writer core so we don't have to create such a copy in
the first place.
Change-Id: I9679c0ce67131ed5c48eaecfcfd38abd1bcd3da4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141360
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: Ibefb8549834ba5011286e3221f1ae276e2c0c0bf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141153
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|