summaryrefslogtreecommitdiff
path: root/sc
AgeCommit message (Collapse)Author
2022-02-16lok: sc: apply local mouse tracking only for CalcHenry Castro
Change-Id: I6c3d4c3c59652f20596e32d3f31c5357b7ed61eb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118873 Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117778 Tested-by: Jenkins Reviewed-by: Henry Castro <hcastro@collabora.com>
2022-02-16avoid debug build failing on an assert for tdf#144537Luboš Luňák
It really should be an assert, and something is clearly wrong, as the chart shows one row twice after the operation, but I have no idea how to fix this, and it's not that critical, so reduce to just a warning until somebody fixes the problem. Change-Id: Idf0a3496a6f0472301ecb3c0e53ead43312c2f84 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129980 Tested-by: Luboš Luňák <l.lunak@collabora.com> Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-02-16simplify codeLuboš Luňák
Change-Id: I5e5c419f2888d0f305f6b83445c66c187f3e0e8d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129979 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-02-15make ScBigAddress use 64bitLuboš Luňák
It may points outside of the document, so with huge sheets 32bit may not be enough. Change-Id: I7aee1d8e90d6c59b91ec07584aa9f36d9352b55c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129972 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-02-15move nInt32Min/nInt32Max to ScBigRange and rename to nRangeMin/MaxLuboš Luňák
Change-Id: I4537d6ebcd8293bc7a62651345a517ebfe901638 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129965 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-02-15remove harcoded MAXCOL/MAXROW from ScBigAddressLuboš Luňák
Change-Id: I670bb5d6e7a1eb20d2bfd48b853d1d2ebf87fe70 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129964 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-02-15Resolves: tdf#147421 Do not use OUString::replaceAll() to strip null-bytesEike Rathke
It reallocates and concatenates for each replacement so for massive amounts takes ages. Change-Id: Ibe1673fd4775c5b95833000669c1a24e718fd77c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129971 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2022-02-15cid#1498147 silence Improper use of negative valueCaolán McNamara
and cid#1498148 Improper use of negative value Change-Id: I651ea2673c740b5563c894290dd4c130b5f2ee7d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129957 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-02-15fix SfxItemPool::GetWhich changeNoel Grandin
In commit 339fde9d905135e24b2f4e204009ee289d678b0c Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Tue Feb 15 08:56:13 2022 +0200 add typed GetWhich operations I got the parameter type wrong Change-Id: I7b1d86bc06da7feb3238f5033bbffbd166cd4fdd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129959 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-02-15lok: sc: introduce LocalStartDrag methodHenry Castro
Update the mouse mode to start drag, otherwise it will conflict with normal cell selection. Change-Id: I6d4939b704114e7de1c9c051459fd02100a7536c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118874 Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/118203 Tested-by: Jenkins Reviewed-by: Henry Castro <hcastro@collabora.com>
2022-02-15tdf#145745 Create uno:DuplicateSheet commandrafaelhlima
Change-Id: Ic8d37f02d45c6f958bf6133c27997adea9bc8c7c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129541 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2022-02-15tdf#134553: sc_jumbosheets: Add unittestXisco Fauli
Change-Id: I43a401376b5ef8215fafb117d90535772440ebad Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129960 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2022-02-15Clean up some global sal_Unicode[] varsStephan Bergmann
Change-Id: I40823a88ffc6808b45790b212617e31937c0861e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129952 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-02-15test for jumbosheet named ranges export/importLuboš Luňák
Change-Id: I17df36688187f68be6c3ed564e8b4da42522e489 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129921 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-02-15don't export a document twice in a test when not neededLuboš Luňák
XPathHelper::parseExport2() exports the document, which duplicates what saveAndReload() does, it's enough to use the first export. Change-Id: I36d740765d9267a45e37bd72c7b68e8dbd1a405c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129855 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-02-15"&(*xShell)" -> "*xShell"Luboš Luňák
Change-Id: I259ff2b545491591ca5918380208ec96e223e2af Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129854 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-02-15tests for import/export of full-row/column ranges in huge sheetsLuboš Luňák
Check that =SUM(2:2) or =SUM(C:C) are read and written properly. Change-Id: Idf77d4ff5e8d1ee7434f0017289c60ec9d938dcb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129850 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-02-15finally write entire row/column references as such to ODSLuboš Luňák
The comment from eeea41e2e726dd5d69cd323909e1666efb9de472 saying that we may want to enable this in the future is from June 2015, so I think we may now want to enable this. Change-Id: I4151784dcf46f75e1ca786428c24c7039a713986 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129848 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-02-15Fix CppunitTest_sc_jumbosheets_test for ASanStephan Bergmann
...cf. test::BootstrapFixture::validate (test/source/bootstrapfixture.cxx), which it uses Change-Id: I77ebb83634ca8a4ae33a370222ac327a9b391874 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129914 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-02-15tdf#104902 - Handle embedded newline in Calc's .uno:EnterStringAndreas Heinisch
Change-Id: I6377aebb06b6e6873ce61984a887d9e16eecd361 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127766 Tested-by: Jenkins Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2022-02-14tdf#147394: sc: Add UItestXisco Fauli
Change-Id: I0fa20d777247501593ac80ab394407d0570763bd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129910 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2022-02-14make sanitizers happyLuboš Luňák
See https://gerrit.libreoffice.org/c/core/+/129892 . Change-Id: I28eb22332bff3fca2a204e9fa170eb228f371c30 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129902 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-02-14remove hardcoded MAXCOL/MAXROW from datatableview.cxx (tdf#135332)Luboš Luňák
Also remove the pointless separate Init() functions. Change-Id: I6235047ea472899c0885d86a84a603d7641c3191 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129913 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-02-14don't gradually move columns to a large distance (tdf#144380)Luboš Luňák
The old code was trying to move the changed columns, each one in a loop, which is O(N^2). Since the changed columns are those that are inserted/deleted (and thus the content shouldn't matter), instead move all the columns after them to the right place, which is O(N). Change-Id: Iad29b945fe9b3525ece43523ba04ecf306797c6e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129911 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-02-14cid#1472568 silence Integer handling issues DIVIDE_BY_ZEROCaolán McNamara
Change-Id: I196e3910804902c9251b46497b1626f3470b6171 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129905 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-02-14Recheck modules s[a-c]* with IWYUGabor Kelemen
See tdf#42949 for motivation Change-Id: I867e1f7a2c44210de3281b36e22708a5d32ddb7f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129476 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2022-02-14tdf#109061: sc_jumbosheets: Add unittestXisco Fauli
Change-Id: Id0b930ebb478809b857c7d03a0d11ccb070c2ffd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129904 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2022-02-14remove use of MAXCOL/MAXROW from address.hxxLuboš Luňák
Change-Id: Icfc00584b0190ee90e506f80c73231e12f155cc9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129853 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-02-11basic import/export test for ods/xlsx with a value in column 2000Luboš Luňák
Which is above the "normal" 1024 column limit. This tests my recent commits. Change-Id: I8ec3fcdbfef879ca0eeec4cfa3fa067378f6f57f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129823 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-02-11rename class in jumbosheets-test.cxx to ScJumboSheetsTestLuboš Luňák
The ScFiltersTest name was probably a copy&paste leftover. Change-Id: I4b4e43e264fb5274fa4672f4db2ebbcb083e4e25 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129822 Tested-by: Luboš Luňák <l.lunak@collabora.com> Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-02-11Avoid warning C4702: unreachable codeStephan Bergmann
> C:\cygwin\home\tdf\lode\jenkins\workspace\lo_tb_master_win64_dbg\sc\inc\arraysumfunctor.hxx(75) : error C2220: the following warning is treated as an error > C:\cygwin\home\tdf\lode\jenkins\workspace\lo_tb_master_win64_dbg\sc\inc\arraysumfunctor.hxx(75) : warning C4702: unreachable code (<https://ci.libreoffice.org//job/lo_tb_master_win64_dbg/32859/>) Change-Id: I27a66176717b293d60f98f82f06ec5ce7a28e6c8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129812 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-02-11uitest: sc: add a buidable name to the tabs in DataSubTotals dialogXisco Fauli
Change-Id: I045f301083767fa32fd516a4a46823b3af4a6a2b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129794 Tested-by: Jenkins Tested-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2022-02-11-Werror=type-limitsStephan Bergmann
> /home/tdf/lode/jenkins/workspace/lo_tb_master_linux_dbg/sc/source/core/data/bcaslot.cxx:647:25: error: comparison of unsigned expression >= 0 is always true [-Werror=type-limits] > assert(slot >= 0 && slot < mnBcaSlots); > ~~~~~^~~~ (<https://ci.libreoffice.org//job/lo_tb_master_linux_dbg/36619/>), where slot is of type SCSIZE, which is a typedef for size_t (sc/inc/address.hxx) Change-Id: I52cfa8b746791d4bd43be9a9d16cda992319c694 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129781 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Jenkins
2022-02-11lokCalcRTL: global RTL: fix chart edit mode renderingDennis Francis
If global RTL flag is set, vcl-window X offset of chart window is mirrored w.r.t parent window rectangle. This has to be undone to get the correct chart bounding box in negative X document coordinates so that the offset calculations for tile rendering remains the same for RTL documents irrespective of the system/global RTL setting. Conflicts: include/sfx2/lokcharthelper.hxx sfx2/source/view/lokcharthelper.cxx Change-Id: I3e1666681af4e7ab1257bcc88d44bbdb053a7d47 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129704 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> (cherry picked from commit 4fd2a14c6ee68f0574766ec7ec3dca35debe9d20) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129778 Tested-by: Jenkins Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
2022-02-11Better SCSTR_COLUMN, SCSTR_ROW names, tdf#140290 follow-upEike Rathke
The remaining SCSTR_ROW wasn't used anymore at all, remove. Rename SCSTR_COLUMN -> SCSTR_COLUMN_LETTER "Column %1" SCSTR_COLUMN_NAME -> SCSTR_COLUMN "Column" SCSTR_ROW_NAME -> SCSTR_ROW "Row" Change-Id: I1f68c8d0cc4e970ca508c8ee854f4c59a6d2f7d7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129806 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2022-02-11Resolves tdf#140290 - Make sort keys accessibleHeiko Tietze
Inline string is plain now in favor of the caption Column/Row before the dopdown control Change-Id: I7f012d38c360113b7207f19fa32437d28d90d049 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129366 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org> Reviewed-by: Eike Rathke <erack@redhat.com>
2022-02-10remove obsolete code (and last MAXCOL/MAXROW) from excel filterLuboš Luňák
Even if what the comment says were true, 6318254d63ef5c62bbd504 already broke it by possibly passing MAXROL/MAXROW. This originates from 64274b38f6cc50a8bb49f114f1ac9e7c1c3 (the r263929 part), but I've checked and at least Excel2013 reads its fine. I also don't see anything in the OOXML spec that'd say what we do is wrong. Change-Id: I0c48beae2b54213a8b3b5e2112076a88b11e6cb5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129787 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-02-10remove hardcoded MAXCOL/MAXROW in ScRangeListTabsLuboš Luňák
Change-Id: Id26c4456429d25dbf1bf97e8cac28f86cb81563d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129786 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-02-10move ScRangeListTabs members from RootData to XclImpRootLuboš Luňák
A comment suggests that it's the thing to do, and I'll need access to GetRoot() from ScRangeListTabs in another change. Change-Id: Ic0cf4b1cae7f5e1f9ad265d5a98651c51068c88c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129785 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-02-10remove most hardcoded MAXCOL/MAXROW from Calc filtersLuboš Luňák
Change-Id: I50d4a5c22a2b224526978e41fc7b8cb194b4bf3a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129780 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-02-10Make CLEAN fully compliant woth ODFF v1.3Winfried Donkers
Not only check for characters of category Cc, but also for characters of category Cn. Use generic functions to check is characters belong to one of the above categories. Follow up of commit e38ebf0737297fe94e3128459fc25ef9259faa6b. Change-Id: I97618dbf33db70b01b2833cf653988610b499333 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129222 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2022-02-10replace various sal_uLong that might overflow with huge sheetsLuboš Luňák
16Mx16k cells is more than 32bit, so things like cell counts or progress -> sal_uInt64. Height/widths of complete rows/columns -> tools::Long. Change-Id: I8077ec0c97782310db024c20c335cfcbc3833227 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129634 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-02-10remove AVX and AVX512 code from CalcLuboš Luňák
It's been a source of numerous problems since the beginning. Poor separation of C++ code causing the compiler to emit some generic code as CPU-specific, compiler optimizations moving CPU-specific code out of #ifdef to unguarded static initialization, etc. And it doesn't seem to even particularly improve performance, on my Ryzen2500U for one full column (1m cells) sumArray() takes about 1.6ms with AVX, 1.9ms with SSE2 and 4.6ms with generic code. So SSE2 code is perhaps worth it, especially given that SSE2 is our baseline requirement on x86_64 everywhere and x86 on Windows, but AVX+ is nowhere near worth the trouble. So this code removes all AVX+ code from Calc, and makes SSE2 a hardcoded option on where it's guaranteed. If we raise the baseline to AVX, the SSE2 code may be replaced by the one removed by this commit. Generic code is there for other platforms, if other platforms add CPU-specific code, they should preferably follow the same rules. This does not necessarily mean that CPU-specific code cannot be used at all. Some externals use them, for example. It just needs to be working, maintained, and worth the trouble. Change-Id: I5ab919930df9d0223db68a94bf84947984d313ac Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129733 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com>
2022-02-10Deduplicate PutInOrder'sMike Kaganski
Change-Id: I76db8dd5398628e544fdd76179046b98f76d80a8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129773 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-02-10tdf#37623: sc: Move UItest to CppUnittestXisco Fauli
Change-Id: I0937baf4dc9db222da6ba74d2b9bcea9f18627ac Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129782 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2022-02-10tdf#63805: sc: Move UItest to CppUnittestXisco Fauli
Change-Id: I8b2192c1944299b92f82cc6179fcdb0842de9803 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129779 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2022-02-10tdf#126577: sc: move UItest to CppUnittestXisco Fauli
it's possible to know the arguments of .uno:FillSeries using the macro recorder Change-Id: I8e459c0ca42bd9cd0226e61b3a0b2107bdc22c75 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129774 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2022-02-10do not call purge() on string pool too often (tdf#125428)Luboš Luňák
It turns out svl::SharedStringPool::purge() can be somewhat expensive with larger documents. Profiling suggests it's primarily the cost of the CPU trying to access the rtl_uString instances scattered all over the memory, so it can't be easily optimized. So instead delay and compress purge() calls if they come from temporary ScDocument instances from undo or clipboard. Change-Id: Ie26cce113025ff45ee2c473c6b06f684f453b27b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129713 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-02-10dynamic logarithmic columns in ScBroadcastAreaSlotMachineLuboš Luňák
The rows have been handled this way for quite a while, but column were still using a linear distribution for a hardcoded column limit. Sheets with >1024 columns didn't work because of the hardcoded limit. Normal sheets use 57344 slots and 6 distributions (ScSlotData), and this commit doesn't change that. For huge sheets the original broken implementation used 90112/10 and this changes to 270336/50 (there are now 5 ScSlotData horizontally instead of just one). Given that the number of cells is 256x larger I find this acceptable. Change-Id: I619b979f1363b5427d270f9ca0728415d58f41b4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129678 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-02-10rename some SID to FN_PARAMNoel Grandin
because they are not slots, they are only being used as parameters Change-Id: I539f4832b884d1ea7dc14ce4ef6c79feec6681cf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129732 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>