makes it easier to set a breakpoint on it.
Plus it's getting a little big to be a macro.
Change-Id: I2827aa3618ba966fbc85a4a56e0e794a55630730
Reviewed-on: https://gerrit.libreoffice.org/3988
Reviewed-by: Fridrich Strba <fridrich@documentfoundation.org>
Tested-by: Fridrich Strba <fridrich@documentfoundation.org>
This is a cherry-pick of 4aa27cc3b98d455379f7c97a215d557d646fa08e .
Author: Andrea Pescetti <pescetti@apache.org>
Date: Sat May 11 11:42:03 2013 +0000
Change-Id: Id91c9d5cd462e73a243d9c5670572a9c2293798e
Reviewed-on: https://gerrit.libreoffice.org/3985
Reviewed-by: Fridrich Strba <fridrich@documentfoundation.org>
Tested-by: Fridrich Strba <fridrich@documentfoundation.org>
This is a cherry-pick of 8cb45ee0b8d744c282b76be8b26b1196b9d91b44 .
Author: Andrea Pescetti <pescetti@apache.org>
Date: Sat May 11 11:39:07 2013 +0000
Conflicts:
icon-themes/galaxy/svx/res/symphony/
Change-Id: I125e506531248c167cda20714228777e102a24e9
Reviewed-on: https://gerrit.libreoffice.org/3984
Reviewed-by: Fridrich Strba <fridrich@documentfoundation.org>
Tested-by: Fridrich Strba <fridrich@documentfoundation.org>
First SfxFilterMatcher_Impl::InitForIterating() will set pList to either
the global filter array matcher pFilterArr, or to a new SfxFilterList_Impl.
This new SfxFilterList_Impl should be deleted in the destructor.
Second getSfxFilterMatcher_Impl() keeps a cache of SfxFilterMatcher_Impls.
If a SfxFilterMatcher_Impl for a given name doesn't exist yet a new one
will be created. But the cache stored objects by service name (aName), but
looked object up by factory name (rName). So it always created a new
SfxFilterMatcher_Impl instead of using the one from the aImplArr cache.
Change-Id: I7840aaddc861f609fbe14d5b6c0ea20d997f690f
Reviewed-on: https://gerrit.libreoffice.org/3989
Reviewed-by: Fridrich Strba <fridrich@documentfoundation.org>
Tested-by: Fridrich Strba <fridrich@documentfoundation.org>
this will fix the start position for drawing and you can draw shapes
from left to right when the Sheet are RTL
Change-Id: I5cc8eabf474918968bea026dba9c5add2bb4f28e
Reviewed-on: https://gerrit.libreoffice.org/3912
Reviewed-by: Ahmad Harthi <aalharthi@kacst.edu.sa>
Tested-by: Ahmad Harthi <aalharthi@kacst.edu.sa>
To be honest, I do not userstand the code much. Julien pointed out that
the setParentTitle and onTypeSelected were newer called. The condition
looked like an optimisation and it helped to remove it.
It would be great to put it back. It might be enough to hand the
intial values.
Change-Id: Id06cc9c63a9e578cb3c698c8526851fec71ef9da
This service no longer exists in LO, and no-one seems to know what
this service was, so convert it to use the awt::Toolkit service,
since that service returns the interface the code expects.
Change-Id: I761effbd49a9a3a15ec9c8716c72d4220a3e987e
This speeds up the following scenario:
1) type =B1 in A1. Leave A2 empty.
2) Select A1:A2 and Ctrl-C to copy.
3) Select A3:A50000 (or longer if you so wish), and ctrl-V to paste.
This causes the broadcaster storage array in column B to be heavily
partitioned due to the empty cells interspersed between formula cells
in column A. Without tracking the column position this would cause a
O(n^2) complexity algorithm.
Change-Id: Ic2f23c2c2bea3353c517faa73fe5412c7528bd95
The use case that would previously make Calc freeze.
1) type in "test" in A1.
2) Select A1:A2 and Ctrl-C to copy to the clipboard.
3) select the whole column B.
4) paste special, select "Add" operation and click OK to paste.
With this change, the above scenario no longer freezes Calc.
Change-Id: I98b1f1e6c25b853aa884e7598c04b1457fab4636
UndoToDocument and its nested methods are tightly coupled with the CopyTo
counterparts, and they both are used in the same undo / redo code....
Perhaps we can clean this up to reduce redundancy in the future.
Change-Id: Id3aec60914ac3a87acbb53f889896a5850047c59
This removes O(n^2) slowness from undo and redo of a large array of
cells with empty cells in between.
Change-Id: Id87c8ac8986c97ddf305f849a4752f0f92cc5899
The basic idea is the same as the one I did for CopyFromClip. This prevents
the O(n^2) algorithm from being invoked during undo object creation.
Change-Id: Iac46663b0c25db2f00ffa3ab95a4dcf2857252ce
This alone makes AdjustRowHeight() fly on large ranges, by eliminating
the silly O(n^2) algorithm.
Change-Id: Id2693aab7fb9b2a5575c6390fcaae5a404549962
This change reduces the duration of this method from somewhere in the
ballpark of 10 seconds down to a tiny fraction of a second.
Change-Id: I0278dc06a4f134b43cd08bd94693b6dec4893f1f
Use block position hint to avoid re-starting search in the cell text
attribute array. This change alone cuts additional 10 seconds off of
the previously mentioned use case, by reducing the duration of
HasEditCells() call from the previous ~10 seconds to a tiny fraction
of a second.
Change-Id: Id9f951cd235a88928c900619b6b66d7b8a057e0c
This avoids re-starting the search for insertion position in the cell
text attribute array, on every single cell insertion. Instead of always
searching from the first position, it starts the seaarch from the previous
insertion position.
This reduces the paste time from the previous 3.5 seconds to 1.7 seconds
on my machine.
Here is the scenario.
1) Put =A1 in B1, and leave B2 empty.
2) Select B1:B2 and copy it via Ctrl-C.
3) Select B3:B50000, and paste via Ctrl-V.
Because of the empty cells interspersing the destination range, this makes
the data array highly partitioned, which makes the position lookup very
very expensive without the position hint.
Still, I was hoping the duration would become a fraction of a second. 1.7
seconds still seems a bit too slow...
Change-Id: I7742ce7e22935b6d0e082e4569d53dbd2072c4e5