summaryrefslogtreecommitdiff
path: root/sc
AgeCommit message (Collapse)Author
2024-06-03Resolves: tdf#160804 sc: ResizeMatrix: Use document grammarEike Rathke
API grammar (old GRAM_PODF_A1) here was always wrong and could never had matched the formula string obtained from the document, but in earlier days array separators weren't configurable so this may have worked accidentally.. Likely GRAM_PODF_A1 was introduced being confused by existance of older bApi parameter that never was true though and got eliminated later. Change-Id: Ie77ad4047c21d999bea1ff97c7c2b451f01121eb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167844 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins (cherry picked from commit d4ae5abb4d00cc8adb3c45a9410fc71e56211c46) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167817 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-05-28add AutoFill menu items - LOK_CALLBACK_CONTEXT_MENUBayram Çiçek
- added AutoFill menu items "Copy cells" and "Fill series" - send information with LOK_CALLBACK_CONTEXT_MENU Signed-off-by: Bayram Çiçek <bayram.cicek@collabora.com> Change-Id: I3118f5535f74cfa4ab049e643930df83512b6850 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168086 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2024-05-24sc: don't overwrite Special Positioning on MakeEditViewJaume Pujantell
On LOK, calling UpdateEditPos after SetEditEngine overwrote the outer area of mpLOKSpecialPositioning, making the text show on the wrong position on right alined cells with overflowing content. Changing the order of the calls fixes that. Change-Id: I8ddb31103bb6f0bab1a9a6532af55797ef011214 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167991 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-05-23lok: sc: fix print mode document back colorHenry Castro
Signed-off-by: Henry Castro <hcastro@collabora.com> Change-Id: I334ff51230ef01d7a87790409a6d76541c57ba54 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167911 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-05-22Related: tdf#160725 - Add horizontal binary search mode for SortedCacheBalazs Varga
and ScSortedRangeCache classes to support binary search mode in case of different columns. Which is used by the new XLOOKUP function from now on in case of binary search mode. Conflicts: sc/source/core/data/queryiter.cxx sc/source/core/tool/rangecache.cxx Change-Id: Ibb2ae33670cbe9b47110de57afb6376cd829b465 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166758 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de> (cherry picked from commit 85f733a9242339d8e92f992ff1ad6d1b99d3f383) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167915 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2024-05-22tdf#160725 - Fix XLOOKUP has different result for approximateBalazs Varga
search than Excel. Some rework for xlookup binary search in rows to get the correct results when we are searching with binary mode in rows. Change-Id: I7ef710c4ae638e2cf5d4bee45810cec7057f5d4b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166451 Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de> Tested-by: Jenkins (cherry picked from commit e2c9d38d95a1a0b5cf754fb04f2fd73c6ddb8004) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167914 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-05-21sc: LOK: invalidate sheet geometry on row height changesPranam Lashkari
sometimes if undo/redeo affected row heights (i.e: undo an autofill) sheet geometry was not updated in LOK Change-Id: I995d23752712f6baf3c348f6fe5fb292f7c9043b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167878 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-05-17fix linker error for PCH buildThorsten Behrens
Error was: ld.lld: error: undefined symbol: LanguageTag::~LanguageTag() >>> referenced by stl_construct.h:119 (/usr/lib64/gcc/x86_64-suse-linux/13/../../../../include/c++/13/bits/stl_construct.h:119) >>> core/workdir/CxxObject/sc/inc/pch/precompiled_vbaobj.o:(void std::_Construct<LocaleDataWrapper, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext>&, LanguageTag const&>(LocaleDataWrapper*, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext>&, LanguageTag const&)) >>> referenced by stl_construct.h:119 (/usr/lib64/gcc/x86_64-suse-linux/13/../../../../include/c++/13/bits/stl_construct.h:119) >>> core/workdir/CxxObject/sc/inc/pch/precompiled_vbaobj.o:(void std::_Construct<LocaleDataWrapper, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext>&, LanguageTag const&>(LocaleDataWrapper*, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext>&, LanguageTag const&)) >>> referenced by stl_construct.h:119 (/usr/lib64/gcc/x86_64-suse-linux/13/../../../../include/c++/13/bits/stl_construct.h:119) >>> core/workdir/CxxObject/sc/inc/pch/precompiled_vbaobj.o:(void std::_Construct<CharClass, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&, LanguageTag const&>(CharClass*, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&, LanguageTag const&)) >>> referenced 5 more times Change-Id: Ie84d062d1815aa8e8118171862e0f8f64331d769 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166346 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> (cherry picked from commit b4be47efb848bd5209cb1f2d915c22814b516d32) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166896 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-05-17tdf#160855 fix crash due to Skia's internal maximum pixel limitPatrick Luby
Somewhere in the tens of thousands of selected fill cells, the size of the VirtualDevice exceeds 1 GB of pixels. But Skia, at least on macOS, will fail to create a surface. Even if there is ample free memory, Skia/Raster will fail. The second problem is that even if you disable Skia, the crash is just delayed when a BitmapEx is created from the VirtualDevice and malloc() fails. Since this data flavor really triggers one or more system memory limits, lower the resolution of the bitmap by keeping the VirtualDevice pixel size within an arbitrary number of pixels. Note: the artibrary "maximum number of pixels" limit that that Skia can handle may need to be raised or lowered for platforms other than macOS. Change-Id: Ie087f2db152470aa70521fbe5fe6c7cedd8504af Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167145 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins Reviewed-by: Patrick Luby <guibomacdev@gmail.com> (cherry picked from commit 8d9f54165d28d83092667b7bfcd0ee48ade54c87) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167215
2024-05-16make AutoFill work for Copy cells and Fill seriesBayram Çiçek
FID_FILL_AUTO (.uno:AutoFill): - added new parameter: SfxBoolItem Copy FN_PARAM_1 - if the parameter is true, we use "Copy cells", otherwise use "Fill series" Signed-off-by: Bayram Çiçek <bayram.cicek@collabora.com> Change-Id: I639828021dcbba52f6bc21366f23faf7e38bb03e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167726 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit 95575b8bd026e3ae4aaddf3a023488d7a5fa0976) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167676
2024-05-10drop requirement for rtl_random_getBytes to have "Pool" argCaolán McNamara
Seeing as since: commit e9531b792ddf0cfc2db11713b574c5fc7ae09e2c Date: Tue Feb 6 14:39:47 2024 +0100 sal: rtlRandomPool: require OS random device, abort if not present Both rtl_random_createPool() and rtl_random_getBytes() first try to get random data from the OS, via /dev/urandom or rand_s() (documented to call RtlGenRandom(), see [1]). we don't use the initial arg to rtl_random_getBytes anymore, drop the requirement to have one. Then simplify our usages of that, and addtionally deprecate rtl_random_createPool and rtl_random_destroyPool. Change-Id: I13dcc067714a8a741a4e8f2bfcf2006373f832c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167335 Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-05-10sc: undo: unify height adjust logic in undo with regular logicPranam Lashkari
in ScBlockUndo::AdjustHeight now we use device like ScViewFunc::SetWidthOrHeight This provides unified behavior with user adjusting height or triggered it by undo problem: in online sometimes undoing would cause wrong selection due to incorrect height set steps to reproduce(happened in certain files only): 1. autofill down a couple of cells 2. undo it 3. try to select the same cell again cell selection will act like auto filled cells are merged cells Change-Id: I81b798c4150284792ac3953caf822fefab0ccee2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167424 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-05-10Fix row deletion bug.Gökay Şatır
When multiple users are editing a Calc document: * If one user selects a whole row and another one deletes a range of rows including or above the selected row, app crashes. * This PR fixes the crash. * Also when multiple rows are deleted, other user's selected row is moved only one row. This PR moves the selected row according to the deleted row count. * The cursor position was also causing a crash, fixed. Signed-off-by: Gökay Şatır <gokaysatir@collabora.com> Change-Id: Ie4b893fee7192492efacbb167b747434336384e3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158650 Reviewed-by: Marco Cecchetti <marco.cecchetti@collabora.com> Tested-by: Marco Cecchetti <marco.cecchetti@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167373
2024-05-10Fix column deletion bug.Gökay Şatır
When multiple users are editing a Calc document: * If one user selects a whole column and another one deletes a range of columns including or on the left of the selected column, app crashes. * This PR fixes the crash. * Also when multiple columns are deleted, other user's selected column is moved only one column to the left. This PR moves the selected column to the left according to the deleted column count. * The cursor position was also causing a crash, fixed. Signed-off-by: Gökay Şatır <gokaysatir@collabora.com> Change-Id: Ib00488f387a91aa0109bcc30feacad52e1b14a30 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158503 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167372 Reviewed-by: Marco Cecchetti <marco.cecchetti@collabora.com>
2024-05-09make object name dialog asyncNoel Grandin
Change-Id: Icf81810297dc5767cedd051cf8ccdfbb101f35ec Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162395 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167361 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-05-08wrong ScContentTree::SelectEntryByName early return conditionCaolán McNamara
Change-Id: I974f5aea545a80b0e48b50e2a2eae0729ff59691 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167174 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins (cherry picked from commit 18b70ec7d9c4a0288f206cb64708f87a83789c00) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167085 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> (cherry picked from commit fb7e3ebf22a120fa0055d556616aeb69abe49bec)
2024-05-08Related: tdf#160056 don't call GetParamCount twiceCaolán McNamara
GetParamCount: 290ms -> 175ms Change-Id: Ic3a26b1e8035744dcab2da69a8ebd3b29dd2160a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166031 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit 030b655963c182693c7b657dc6aa4d2fe85c17c6) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166301 Reviewed-by: Eike Rathke <erack@redhat.com> (cherry picked from commit 34126d6fceb054b7ba05ceeae76e32c89fac580f)
2024-05-08Related: tdf#160056 don't set nVal twiceCaolán McNamara
Change-Id: I0da3e0c7f18271f6104d52b50d65e96564650b8b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166054 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit 63b237e1e8147f54e6d4db4671f612a656200e2f) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166300 Reviewed-by: Eike Rathke <erack@redhat.com> (cherry picked from commit 9757290668b50827ab22597a73a4850ebf3f6521)
2024-05-08Related: tdf#160056 all maTokens are FormulaTypedDoubleToken*Caolán McNamara
Change-Id: I6eacaf58c25ef9c5cb930a79177471c79a6a26c0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166047 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit adbbe732e7ed7f3a749e04f1d9023989c972ec22) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166299 Reviewed-by: Eike Rathke <erack@redhat.com> (cherry picked from commit bc7198d47b4d1aef7a346c3f939122c9c764eeda)
2024-05-08Related: tdf#160056 various functions and objects that can be constCaolán McNamara
this formatter can be const Change-Id: I2cd83140585e0b7027bb1c165a8d59e51cbbaad0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164728 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> SvNumberformat::ImpGetFractionOfSecondString can be const Change-Id: If7a31f8b3667d9a6b8719553567211071bd2d631 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164774 Tested-by: Jenkins Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> ImpIsEntry can be const Change-Id: Id229344a68925a1bde84f2b4aad46cfc5f01b797 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164769 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> SvNumberformat::ImpGetLogicalOutput can be const Change-Id: I847e5de84f0636b5a169f383e319a6b8707cc31f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164773 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> SvNumberFormatter::GetUserDefColor can be const Change-Id: If499e28e5ac69018b35b475a73ecb2dc4b78dad6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164786 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> These methods can be const too Change-Id: Iaef46216dac6584f57b7933d658384f54d0a4544 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164772 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166125 Reviewed-by: Eike Rathke <erack@redhat.com> (cherry picked from commit e3e9d51c2d4bed475f9848c62c7b0e5c72d5e125)
2024-05-08tdf#160329 update objects after row sort is finishedRegina Henschel
The problem was that when the object position was updated to the anchor values by recalcPos() method, the document did not yet have the new state of the hidden rows. As a result, incorrect positions were calculated. Therefore, the update of the position is moved to a place after the update of the visibility of the rows. Sorting rows must not change the visibility of objects. However, updating the visibility of rows sets all objects to visible. Now the visibility state of an object is saved and restored later so that the recalcPos() method receives the correct state for the object. Change-Id: Ia32698c1d45cd81702e6d00c5dfc100f6f6f399c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166799 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit f0a2969d15e3101d7f96a7fe77bca06a5d70f57a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166903 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> (cherry picked from commit 1347274fc1cb780db4c7c9b8c0272e1730b95c04)
2024-05-08Only run solver uitest if either lpsolve or coinbase is inThorsten Behrens
Change-Id: Ic03a6df33344b92dccc9bc393d718b4011aa1613 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162034 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> (cherry picked from commit 580b2ecf88f7418374dff2d937c9e18f93d50381) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166897 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> (cherry picked from commit d83a475a8a1b409fc7634ba522a0f0801758b568)
2024-05-08tdf#160765 - Paste Special Dialog: Remember comments checkboxAndreas Heinisch
After the change of tdf#139858 the comments checkbox was not remembered anymore after closing the dialog. In order to fix this issue, additionally check not only the NOTE flag but also for the ADDNOTES one. Change-Id: I8b24d231313b57a05b7e527c0865686762e5a2b1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166762 Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de> Tested-by: Jenkins (cherry picked from commit 7e30434655754277bfa7ce7d8ec37b07181d2c92) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166838 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> (cherry picked from commit 30524d5998d38b7e216b721859c72fbfc56a5b5a)
2024-05-08tdf#160765 - Save content for undo when pasting notesAndreas Heinisch
even if no content was changed after pasting special. Otherwise, the undo functionality crashes due to undoing a cell with no content where the annotation indicator will remain (unod/redo of note captions are handled via drawing undo). Change-Id: I7007fce510d6e9896cbda11a1e14a61b5ccb34a9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166469 Tested-by: Jenkins Reviewed-by: Stéphane Guillou <stephane.guillou@libreoffice.org> Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de> (cherry picked from commit a1694b194c2b3e89250c5b79a69e7dd184b69976) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166523 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> (cherry picked from commit 7e2e1d7fd4531f57bbc30a0a8e1cb8c40519a349)
2024-05-08Resolves tdf#159569 - Conditional Formatting dialog jumps with message stringHeiko Tietze
Some defined width solves the issue Change-Id: I1f92815e690828e283c275a58a71dd07613642fc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166579 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org> (cherry picked from commit 9d29a2a6aad679129218ab4c5020c92bb3ce9cb3) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166520 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> (cherry picked from commit 32f7ef29615b25e91a73fe33632bb3b7ca506d04)
2024-05-07lok: don't show separator conversion dialogSzymon Kłos
in online it is more likely that you run file not created with your user locale. Don't show annoying dialog about separator conversion in LOK as we didn't show it before. Recently we enabled it and it become visible. Change-Id: I5a37865dbe63bca0c55205b59be3a64ceb824b17 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167281 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Gökay ŞATIR <gokaysatir@collabora.com>
2024-05-07speed up copy/paste large spreadsheet rangesNoel Grandin
The problem is that we are spending a lot of time inside SfxItemPool::tryToGetEqualItem So cache the result of that call in a map. Note that this is not needed on master, where the ScPatternAttr de-duplication is quite different and a lot more efficient. Change-Id: I32ca1d140a62ea576d621322696e098b884a783c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167193 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-05-07always check return of SfxViewShell::Current()Caolán McNamara
Change-Id: If8f50536295a44a4a8cf692d758ca03e726902e3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167074 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-05-06xlsx export: fix corrupt file for Excel: protectedRange must have sqrefJustin Luth
Excel refuses to open a file if there is no sqref specified <protectedRanges> <protectedRange name="corruptFile"/> </protectedRanges> In this case, import failed to import sqref="10:131". A follow-up commit avoids exporting these shorthand ranges. I don't see much point in trying to create a unit test for this. (I assume protectedRange is simply round-tripped because I doubt LO has working support for protectedRanges.) commit 9cee6a45632623d3d7e5a574128940f96d8c926b Author: Eike Rathke on Thu Mar 20 10:16:50 2014 +0100 added ScEnhancedProtection to ScTableProtection Change-Id: I97ef1ee801898bdcace067d62890c4ce0e7cf1d8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166265 Reviewed-by: Justin Luth <jluth@mail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Justin Luth <jluth@mail.com> (cherry picked from commit 78bd5e2523d077a67468b752d4788a2c3b43fb5f) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166220 Tested-by: Jenkins (cherry picked from commit c3bbc3b5c06b743a206a33111c061d4d7d011f21)
2024-05-01lok: test number formats with different localeSzymon Kłos
This is followup for the fix in commit 7836cb7e90d0214cac08228f5e527322ed6f955c lok: save correct number format in multi-lang session Change-Id: I6016425d37b1ee1707ed8920811e8741c9267ee7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166912 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-04-30tdf#160711 - sc fix XLOOKUP function search for empty cellBalazs Varga
Make XLOOKUP function able to search for empty cells. Change-Id: Iefa71b938fe658a59d52e0bf605dbef7a62742c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166263 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de> (cherry picked from commit 8df17c340193c89549d8c563b04d015156afa3fb) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166929 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Aron Budea <aron.budea@collabora.com>
2024-04-29LOK: hide cancel button in csv import dialogPranam Lashkari
it did not make any sense to have cancel button in this dialog because it would not load file at all. user can still use close button in title bar to close dialog Change-Id: Id3ba3e4030553db18bdbd068d92b3395f4fb8c3d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166764 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2024-04-24cool#8789 sc lok: classify multi-selection with 2 cells as simpleMiklos Vajna
The trouble was that even if commit b13c7b31f9ce3c3a25cffd0c35e7ee6b8c2a1895 (cool#8789 sc lok: fix copy for multi-selections, 2024-04-19) made multi-selection copy work, just 2 cells in a multi-selection was classified as a complex selection at a LOK level, while 2 cells next to each other is a simple selection, which is inconsistent. (A LOK client can provide a simpler UI for simple selections.) What happens is that the multi-selection clipboard document had no selection ranges defined, so ScDocument::GetClipArea() returned early, so the numbers in the ScTransferObj ctor were left initialized, which at the end lead to a >1000 cells in ScTransferObj::isComplex(), because we were calculating uninitialized data. Fix the problem by passing a range (that covers all ranges of the multi-selection) to ScViewFunc::CopyToTransferable(), which avoids the wrong col/row start/length, so the selection is classified as simple. Also adapt testRowColumnSelections, which was just meant to check we don't crash, but now the cell under the cell cursor is returned, so the assert about the empty selection would fail. Change-Id: If98212c623fa75adb2ddf628a6e90f3eef450e59 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166574 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> (cherry picked from commit fca9f7899843336d0ff0198a522ec8ccbb4273da) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166578 Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-04-24sc: fix crash in ScColumn::SetEditText()Miklos Vajna
Crashreport: > SIG Fatal signal received: SIGSEGV code: 128 for address: 0x0 > program/libsclo.so > ScColumn::SetEditText(int, std::unique_ptr<EditTextObject, std::default_delete<EditTextObject> >) > sc/source/core/data/column3.cxx:2362 > program/libsclo.so > ScTable::SetEditText(short, int, std::unique_ptr<EditTextObject, std::default_delete<EditTextObject> >) > /opt/rh/devtoolset-12/root/usr/include/c++/12/bits/unique_ptr.h:395 > program/libsclo.so > ScDocument::SetEditText(ScAddress const&, std::unique_ptr<EditTextObject, std::default_delete<EditTextObject> >) > /opt/rh/devtoolset-12/root/usr/include/c++/12/bits/unique_ptr.h:395 > program/libsclo.so > ScDocFunc::SetEditCell(ScAddress const&, EditTextObject const&, bool) > /opt/rh/devtoolset-12/root/usr/include/c++/12/bits/unique_ptr.h:395 > program/libsclo.so > (anonymous namespace)::finalizeFormulaProcessing(std::shared_ptr<(anonymous namespace)::FormulaProcessingContext>) > sc/source/ui/view/viewfunc.cxx:565 Change-Id: I331ca8784702fdcb0ebad6a0a73390dbe2615ece Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166577 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-04-24xlsx export: never export short-hand version of range addressJustin Luth
If all the columns are in focus, LO was exporting A10:XFD11 as 10:11. Amazingly, we can't read that. Seriously? Doesn't Microsoft ever export in shorthand? I thought it would be helpful to find any instances where LO is exporting shorthand, to verify that we really do break import of round-tripped files. I made a brief attempt at fixing the import, but it will require lots of changes and break lots of assumptions. Obviously it can't be a hugely common problem because I didn't find any bug reports about it... I abandoned my attempt because it is too prone to disaster. Change-Id: If59c316d0af466e5cf71ecc459bdf57bb2cd5144 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166269 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit a29d91ac403f1ed431ca95b8b9c290bd354c3ae7) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166514 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-04-22tdf#160706 speed up loading conditional formatting rule in XLSNoel Grandin
we only need to finalizeImport on the last ExtDxf we loaded, otherwise we end up with an O(n^2) performance problem Change-Id: I566ef43189a1bb7ac7c55e1bccf9445c9cea19b9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166179 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit 41895d8fb79001f29bdc0d2aac523eac22fd14c5) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166100 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-04-19tdf#129701 Follow-up of previous changeLaurent Balland
According to comments in https://gerrit.libreoffice.org/c/core/+/163536 Follow-up of previous change Change-Id: Icd7b6798d6ef35ca9574125cd3d4c4d89044569c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166133 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com> (cherry picked from commit 47187acee758680cda8086b6e295ef7beea3491b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166178
2024-04-19ofz#68081 keep within boundsCaolán McNamara
Change-Id: Ib7f11f2447d5a2cc6b9b559727f2a0127c15913e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166154 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit c09c61f5e3f7207006c3a26f5a79fabc29600350) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166098 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-04-18cool#8789 sc lok: fix copy for multi-selectionsMiklos Vajna
Select A1+A3 in Calc, copy, try to paste in B1, nothing happens. This is because lok::Document::getSelectionTypeAndText() for a Calc document ends up in ScViewFunc::CopyToTransferable(), which only handles the SC_MARK_SIMPLE* cases. Fix the problem by implementing support for SC_MARK_MULTI, similar to what ScCellShell::ExecuteEdit() does in the SID_COPY case, which also calls CopyToClip(). Keep the test highlevel as the Calc shell doesn't seem to have an easy function to do the same as the Ctrl-click on a cell without duplicating lots of code in the testcase. Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166183 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit 1eda0a81fcf1bf2ce2fd4f29502eaa62879a50d4) Conflicts: sc/qa/unit/tiledrendering/tiledrendering.cxx Change-Id: I641d9db95ca391a4f39d96aeeb33422129262288 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166256 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-04-15Related: tdf#160056 FormulaResult may ref an initial interpreter FormulaTokenCaolán McNamara
If a token from the original tokens, supplied to a parallel group calculation while RefCounting was disabled for those tokens, ends up as a FormulaResult token, then fix up the ref count when parallel calculation ends Change-Id: I2587c25d216ab170725017b67b97d203a578160b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166118 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-04-15avoid SvNumberFormatter lock in formula-group-threadingCaolán McNamara
keep a per-interpret-thread cache of the SvNumberFormatter mapping while formula-group-threading, this is similar to: commit c2d8341ee392949274b901abfd44d9645d2e4e36 Date: Tue Oct 15 08:32:22 2019 +0530 Cache last used number-format-type in interpreter-context Change-Id: Ie99807eaf2f3260cec357f9d66307df0a69826e9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164227 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit 2c3605405225de4b850064cf25b15cd64be1409b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165748 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> (cherry picked from commit e310c8714cba16f592d59596caadf39bd01b61d0) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164273 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-04-15Related: tdf#160056 this can be staticCaolán McNamara
Change-Id: I1172854a1bf00e74adbe350c54e4e98ea38b0b35 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165072 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit 49189bb8823adc6a76d3f33b34c02d6a640df96a) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165746 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> (cherry picked from commit ba5cbbccefb5d55e19ed928cf900f8afb8337e9d) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166120 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-04-15Related: tdf#160056 elide ref counting for initial tokensCaolán McNamara
The initial tokens provided to interpreting will be restored to their original ref count when interpreting is complete. So we could elide expensive ref counting for them for the duration of the the threaded group calculation. Possibly "temp" tokens that are created just during interpreting could additionally use thread-unsafe ref counts presuming they only appear in a thread specific context. Change-Id: I1f5b0198e83027781be15812680079f28b6a4e27 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165259 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit 791a2489eecc3e59d7a31a4bb9e513a576db08ee) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165943 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-04-15tdf#160369 Do not broadcast temporarily group changeRegina Henschel
The position and size of a group needs to be temporarily changed when saving because ODF does not treat hidden rows/cols as zero, but LO does. After saving, these changes have to be undone. The error was that the restore was performed with GetGeoDate/SetGeoData. But SetGeoData includes a broadcast that triggeres recalculations that should not be performed here. Now the change and restore are both done with NbcMove and NbcResize. The import had set a 'logical rectangle', but that is nonsense for a group, because a group does not have a 'logical rectangle'. For a group, none of the special corrections in ScDrawLayer::InitializeCellAnchoredObj are needed. Change-Id: I00adf39e83011112492822d2900e41242d188e84 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165872 Tested-by: Jenkins Reviewed-by: Regina Henschel <rb.henschel@t-online.de> (cherry picked from commit 1e1b1d46155163380252093d9d2868351236ce0e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165839 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-04-15tdf#160399 speed up print previewNoel Grandin
takes time from 11s to 5s for me Change-Id: Ic874b9168f9caaf697007e586df8499a849ccfd6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165460 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit 6931a596350086d52ba32bf8a84cb36fbfdb34d6) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165617 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-04-15tdf#160399 speed up print previewNoel Grandin
takes time from 5s to 2.5s for me Change-Id: I7e62e4a47d5b2aae982273cc3ea38c5c9b04256d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165461 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit 3819e4f6f70ee60fc5c805f0d33c0062a396918c) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165616 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-04-15tdf#156655 sc: fix disappear text in merged cellTibor Nagy
The text does not appear if the first row or column of the merged cell is hidden. Change-Id: I398f0d572226e44ffaa4e33c066b51480ad124cb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164757 Tested-by: Jenkins Reviewed-by: Nagy Tibor <tibor.nagy.extern@allotropia.de> (cherry picked from commit d5f25d9c0026ec06a0b46e1560e26adba2725290) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165835 Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2024-04-15Related: tdf#127293 Fix regex search mode in XLOOKUP wildcards modeBalazs Varga
If relevant Option in Calc was set for regex, xlookup still used the wildcard search mode. Change-Id: I318c3f368b6f59644c43ec518542910be72a5e0c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166015 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
2024-04-15tdf#126573 Add Excel2021 array function SORTBY to CalcBalazs Varga
TODO/WIP: oasis proposal More information about how this new function works: https://support.microsoft.com/en-au/office/sortby-function-cd2d7a62-1b93-435c-b561-d6a35134f28f https://exceljet.net/functions/sortby-function Change-Id: I4538a32f7f75056d3055369fc5f4483d24fd1089 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165069 Tested-by: Jenkins Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de> Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
2024-04-15tdf#126573 Add Excel2021 array function SORT to CalcBalazs Varga
TODO/WIP: oasis proposal More information about how this new function works: https://support.microsoft.com/en-au/office/sort-function-22f63bd0-ccc8-492f-953d-c20e8e44b86c https://exceljet.net/functions/sort-function Note: Move ScSortInfoArray class to sortparam.hxx, which is a more logical place. Change-Id: I70e720e93ba0414d54cb3437de0bfa066508fe30 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164778 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>