summaryrefslogtreecommitdiff
path: root/sc
AgeCommit message (Collapse)Author
2024-04-15tdf#114441 Convert use of sal_uLong to better integer typesgilssonn
Reasoning: + For clipcontent.cxx, column3.cxx, dbdocutl.cxx, documen8.cxx,formulacell.cxx, patattr.cxx, stlpool.cxx, table2.cxx, table3.cxx and validat.cxx: + sal_uLong variables and functions are being initialized with/assigned/returning sal_uInt32 or size_t values + For column2.cxx: + The type of the return values of the `getWeight` function are size_t + For document.hxx, documen2.cxx, docsh.hxx, docsh5.cxx, viewfun2.cxx and globstr.hrc + `ScDocument::TransferTab`'s return variable's value is constrained to be either 0 or 1; which is better represented as a boolean Change-Id: If556f7fcc29f7e325618721959ea4e3615b2e755 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154408 Tested-by: Jenkins Reviewed-by: Hossein <hossein@libreoffice.org>
2024-04-15Move #include <queryiter.hxx> to where it is actually usedStephan Bergmann
f7039822c7ad3987326e1c20ea4a745c158f9682 "tdf#127293 Add Excel2021 function XLOOKUP to Calc" had moved this #include around, with no documented rationale and for no obvious reason. Lets move it back. Change-Id: I87c96526a6006837c9303d6af7bcf4e79e0bd581 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163442 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-04-15cid#1546354 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1546319 COPY_INSTEAD_OF_MOVE cid#1546286 COPY_INSTEAD_OF_MOVE cid#1546283 COPY_INSTEAD_OF_MOVE cid#1546191 COPY_INSTEAD_OF_MOVE cid#1545953 COPY_INSTEAD_OF_MOVE cid#1545874 COPY_INSTEAD_OF_MOVE cid#1545857 COPY_INSTEAD_OF_MOVE cid#1545781 COPY_INSTEAD_OF_MOVE cid#1545765 COPY_INSTEAD_OF_MOVE cid#1545546 COPY_INSTEAD_OF_MOVE cid#1545338 COPY_INSTEAD_OF_MOVE cid#1545190 COPY_INSTEAD_OF_MOVE cid#1545272 COPY_INSTEAD_OF_MOVE cid#1545242 COPY_INSTEAD_OF_MOVE cid#1545229 COPY_INSTEAD_OF_MOVE Change-Id: I88813d9dbd87ce10375db8198028f8b70e23f0fa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162027 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-04-15tdf#159687 sc formula SUMPRODUCT performance fix: add more binaryBalazs Varga
operators which need to be checked if they are next to a trimmable DoubleRef arguments or not. Example: =SUMPRODUCT(($D:$D>M47:M47)*($D:$D<M48:M48)*($I:$I=N$41)) --> $D:$D and $I:$I columns are trimmable. Recalculation of formulas with a lot of SUMPRODUCT where we comparing full columns could take minutes during editing a sheet. With reducing the size of the compared ranges to the actual data could significantly speed up the recalculation. This takes the recalculation time from ~50 sec to <1 sec on my machine. Note: probabaly the same could be applied to the SUM function. Change-Id: I758660d0b638ef7255bd5a41a96755289b5a2b41 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165074 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
2024-04-15Related: tdf#126573 Add Excel2021 array function FILTER to CalcBalazs Varga
Add ocFilter to matrix (array) functions. Some follow-up cosmetic clean. Follow up commit of b0791dd9216224bdb266fd0d8c87df253b6d0583 Change-Id: I4c3c786fe14ab870be8c43211ca6a76c5ff6ac6c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164847 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
2024-04-15tdf#126573 Add Excel2021 array function FILTER to CalcBalazs Varga
https://issues.oasis-open.org/browse/OFFICE-4156 TODO: add dynamic arrays would be useful: Older array formulas, known as legacy array formulas, always return a fixed-size result - they always spill into the same number of cells. The spilling behavior described in this topic does not apply to legacy array formulas. More info about it: https://support.microsoft.com/en-gb/office/dynamic-array-formulas-and-spilled-array-behavior-205c6b06-03ba-4151-89a1-87a7eb36e531 Related Bug: https://bugs.documentfoundation.org/show_bug.cgi?id=127808 Change-Id: I1c3769ef33fa0207f55e1c96083717c2d90402e5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163955 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
2024-04-15tdf#159467 XLOOKUP propagate error only for active pathsBalazs Varga
because XLOOKUP have [if_not_found] optional attribute where a valid match is not found, return the [if_not_found] value you supply. Which can also return an error as a result from another function. If a valid match is not found, and [if_not_found] is missing, #N/A is returned. follow-up for tdf#127293: d9635e9bb42cf2b744b8d2f74633e2a209a8e3fd Change-Id: Ic8727c6b51e947ef767397c29095b93286bc7bd2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164042 Tested-by: Jenkins Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de> Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
2024-04-15Related: tdf#127293 Fix typo for function XLOOKUPBalazs Varga
Wrong isStringSearch value for VectorSearchArguments at svExternalSingleRef argument. Also more clean-up. Change-Id: Idc5a953638b90704586754d07f5096d7b5615e17 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163736 Tested-by: Jenkins Reviewed-by: Sahil Gautam <me.sahilgautam@gmail.com> Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
2024-04-15tdf#128425 Add Excel2021 function XMATCH to CalcBalazs Varga
https://issues.oasis-open.org/browse/OFFICE-4155 Change-Id: I7791ab873cf62ce882feba75dc0d722bc5990f9a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163260 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
2024-04-15Prepare search code for other functions than MATCH and XLOOKUP.Winfried Donkers
Purpose is to use one set of code for all similar lookup functions, as they now each have their own code, which is largely identical. Next steps will be to make the code used by XLOOKUP and MATCH work with each similar lookup function. This patch just changes the interface to accomodate other functions. Change-Id: I6950aa69404f3eb8acbf2d55e247058f3e798814 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163230 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
2024-04-15Related: tdf#127293 Fix function XLOOKUP with nested XLOOKUP functionsBalazs Varga
to return reference of cells what other functions can use (e.g.:SUM): =SUM(XLOOKUP(B3,B6:B10,E6:E10):XLOOKUP(C3,B6:B10,E6:E10)) XLOOKUP function returns a reference to a range of cell(s). Change-Id: I06007aba7017315fc02a92b120f842244b7cc3c8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163129 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
2024-04-15cid#1591767 Uninitialized scalar field (unused bSortedBinarySearch)Caolán McNamara
since: commit 68738bd0ac262819b13ea7e11af67ee493b9b3e1 Date: Thu Feb 1 14:36:24 2024 +0100 Related: tdf#127293 Fix function XLOOKUP binary search corner cases Change-Id: Idc6ce795779d264a67fff93da74ce5c45381940f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163164 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-04-15Related: tdf#127293 Fix function XLOOKUP binary search corner casesBalazs Varga
Fix some binary search (vertical) corner cases in case of XLOOKUP where we looking for the first matches. Change-Id: I6cdc778350989e0802ffc54284fdab9b8a2bece4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162877 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
2024-04-15tdf#127293 Add Excel2021 function XLOOKUP to CalcWinfried Donkers
https://issues.oasis-open.org/browse/OFFICE-4154 What is working already: xlookup with normal forward, backward search in columns/rows. Binary search in rows with real binary search algorithm, in columns only works with linear search yet. Linear forward backward wildcard/regex search in columns/rows. Looking for the first smaller or greater value with linear and binary search ALso all the combination of all these options. Except XLOOKUP not supperted wildcard/regex search with binary search. TODO in next patches: - add the binary search option for searching in columns. - Evaluate Formula calculation not working in general. Co-authored-by: Balazs Varga <balazs.varga.extern@allotropia.de> Change-Id: I15fd4479b63ec13b093d269760d1bbb5957553e8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131905 Tested-by: Jenkins Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de> Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
2024-04-12ofz#67906 Integer-overflowCaolán McNamara
Change-Id: I459bdeef6bb7577c5388202374c981c7b01fa137 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165899 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165935 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-04-11kit: Update formulas when switching tabsCaolán McNamara
we moved to not forcing a redraw on switching tabs at: commit 9f3ee2b27ceeab175fb865a55cfeabd66fbb128d Date: Sun Jan 14 16:29:56 2024 +0000 don't invalidate when switching tabs but in a scenario (to which two_sheets.ods is updated to capture) where there is no view/user active on a sheet B that depends on cells in sheet A, then when A is updated, B does not update automatically to reflect the changes in A. So, on switching to a tab, do the check for out of date formulas on the switched to tab. Change-Id: Ibbba83119adbd323b42314dbd9bcba6f797e5934 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165847 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-04-07Resolves: tdf#160368 crash on save after deleting sheetCaolán McNamara
to reproduce the underlying problem: data, calc, recalculate hard: which asserts that cell I367 is dirty during parallel calc checking the dependencies for a parallel calc is supposed to find what cells it depends on and either: ensure they are not dirty or detect its not possible to do the parallel calc checking starts in J9 where:: J9: =SUM(H$8:H9)-SUM(I9:I$9) J10 =SUM(H$8:H10)-SUM(I10:I$9) for the first sum it detects that the input range is H9:H367 and checks that for dirty results, but for the second sum it detects a range of just I9 and the dirty I367 is not detected and the problem arises on calculation The code to detect the range is: // The first row that will be referenced through the doubleref. SCROW nFirstRefRow = bIsRef1RowRel ? aAbs.aStart.Row() + mnStartOffset : aAbs.aStart.Row(); // The last row that will be referenced through the doubleref. SCROW nLastRefRow = bIsRef2RowRel ? aAbs.aEnd.Row() + mnEndOffset : aAbs.aEnd.Row(); where for the I9 case has nFirstRefRow true and nLastRefRow false so we just get a range of I9:I9 instead of I9:I367. Trying to create a doc from scratch to reproduce this case proves tricky, so trim down the original document to the sheet and subset of columns that can trigger it. Change-Id: I44bfd1f6d3a3ee13db9024c5b2efa2588cc30521 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165478 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-04-07ofz#67854 UNKNOWN READCaolán McNamara
Change-Id: I37d2bc6153a8bf616d19105645f91b8519890e61 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165830 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit fc98c61cf83cac7fefdc8560ce5f1429539b1d25) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165833 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-04-05ofz#67815 overflowed shortCaolán McNamara
Change-Id: Iee9a5caee53b522ed16d234c2bc06987264e23db Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165751 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165812 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-04-05ofz#67577 Integer-overflowCaolán McNamara
Change-Id: I3828bb76ab7808ac0717b33c231927730216b42b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165216 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165811 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-04-05ofz#67563 infinite loopCaolán McNamara
Change-Id: I1654d23fd8768a77d32fc3150a9d8554afa2e91f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165220 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit b866019e6ee82ce19dacd653861f8d2b701d2a8e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165716 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2024-04-02ofz#67708 ignore oversized colspansCaolán McNamara
that can't fit in SCCOL ignore negative colspan and rowspans too Change-Id: I79a010bcd7d9d84de70f6dac2e09614d6d448227 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165482 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-04-02ofz: negative column offsetCaolán McNamara
Change-Id: Ieeb06e5c5d28f1c457db369a732bc37a7d5f2be8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165421 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-03-27null deref in initial sc html fuzzingCaolán McNamara
Change-Id: I368db8fec4cfd9409197d17f2892153aca2ba502 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165019 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit 85c40af4e9d4c679f66e7f7e004c018dd28994ee) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165005 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-03-27tdf#93352 Fix horizontal swiping and scrolling when using an RTL UIPatrick Luby
Starting with commit bfa21ce5fa08f2c634ccb6162914be55aef9f3c2, horizontal swiping in Calc moved in the wrong direction scrollbars were drawn mirrored. So, revert parts of commit bfa21ce5fa08f2c634ccb6162914be55aef9f3c2 so that we are using Calc's previous "negative scrollbar range" implementation for RTL UIs, but only for horizontal scrollbars since vertical scrollbars are the same in LTR and RTL UIs. Also, always disable RTL for scrollbars. Enabling RTL causes the following bugs when clicking or dragging the mouse in scrollbars in Calc's RTL UI: - Click or drag events get mirrored so you must click or drag in unexpected locations to move the scrollbar thumb in the desired direction - Repeatedly dragging the scrollbar thumb leftward can only move no highter than the R, S, or T columns Note: even though RTL is always disabled for Calc scrollbars, the arrows must still be swapped in vcl's ScrollBar class. Change-Id: I85aac94ffaf7df2eeb251a3ff150cc0363b5d770 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164959 Reviewed-by: Stéphane Guillou <stephane.guillou@libreoffice.org> Tested-by: Jenkins Reviewed-by: Patrick Luby <guibomacdev@gmail.com> (cherry picked from commit ac1024765d203496bc7d28cb3ed3a6d2215c53ad) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165116 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2024-03-27leaks in initial corpus for sc html import fuzzingCaolán McNamara
Change-Id: Ia7a9d6b283dcf127dccf734fb45cf8ac3dde5478 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164889 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-03-27calc html filter ScDocShell* deref for document propertiesCaolán McNamara
ScDocShell is optional in other parts of this filter Change-Id: If219cfa6ef737a9695b85bf6db5d45e9750a7ed9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164974 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> (cherry picked from commit 1dc579ae9cd7fcf504016ef510a9484173c9392d) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164994 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-03-27cid#1594402 Unchecked dynamic_castCaolán McNamara
Change-Id: I01218f7c457b23539ca911ab1bf4a910198285b3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164954 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164977
2024-03-27tdf#159094 sc: fix failure when exporting media files to PDFTibor Nagy
Change-Id: I948190b31f45cf05ba24d1fbc4a84dfe91eb3876 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164557 Tested-by: Jenkins Reviewed-by: Nagy Tibor <tibor.nagy.extern@allotropia.de> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164976
2024-03-27tdf#160149: save and restore the whole set of tab's conditional formatsMike Kaganski
... instead of restoring it only for a range, and then have troubles deciding how to join the range's formatting with the rest of tab's formatting. Change-Id: Ie422893c7847b1473a86c0cd8fc3916144eb24ae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164937 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit c492de66a077f3a2a960209b0b8b278b3901f361) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164886 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-03-26cool#8570 speed up ScDocument::GetColDefaultNoel Grandin
we can used an unordered_map here, we are sorting by pointer value. Also reduce the number of erase/insert Change-Id: Idb68f76e04248a0c808399bf9881afb5a8e01451 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165346 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> (cherry picked from commit 1fe764a4caa87de9136da77227b53bc87f4d9489) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165319 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-03-26lok: The GridWindow can get reset to a smaller than wanted sizeCaolán McNamara
This is the same problem as described in: commit 22a185a977f90d706c3e9d182adeaac310b6f348 Date: Thu Jan 11 15:08:21 2024 +0900 sc lok: set the GridWindow size to the client area size + test except that the size of the GridWindow gets reset by UpdateFormulas via UpdateHeaderWidth to the width of the "frame" which is remains at the nominal 800x600 initial size throughout. That only happens if there are enough rows in the document to trigger a check against this, so add some extra content into the test document to trigger the problem, and then guard against this reset for the kit case. Change-Id: Ibf80849929a4c987fd0fe977518336e5115ebdce Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165241 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-03-26Disable dragging in readonly view mode.Gökay Şatır
Signed-off-by: Gökay Şatır <gokaysatir@gmail.com> Change-Id: I962d68b85897c156bba6d1898cf78b5fcd85540a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164866 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2024-03-26Conditional Formatting: Adding More Specified Dialoguescodewithvk
We have added additional single conditional dialogues to enhance the conditional formatting options for conditions such as duplicates, N elements, etc. Signed-off-by: codewithvk <vivek.javiya@collabora.com> Change-Id: I46d069f259d47739ad1bc859b19513f19d414eb7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165290 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2024-03-24ofz#67540 negative offsetCaolán McNamara
Change-Id: I498985962feb7d77c1a71af7002a85aa02aa3e65 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165230 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2024-03-20tdf#124098 sc add global config setting "RecalcOptimalRowHeightMode"Balazs Varga
to optimal row height recalculation for optimal document loading. THIS COMMIT MERGES commits 0748c2b0789a and 0e0e7de07686 AS WELL, so XLSX is handled too! If the "RecalcOptimalRowHeightMode" is set to "Recalc always" we always recalculate the optimal row heights at load time, without any warning dialog. If the "RecalcOptimalRowHeightMode" is set to "Recalc" we never recalculate the optimal row heights at load time, without any warning dialog. If the "RecalcOptimalRowHeightMode" is set to "Ask before Recalc" we ask the user if want to recalculate the optimal row heights at load time or not. The default value is the same what we are doing now: "Recalc always" This option was necessary, since optimal row height calculation depending on also the result of the conditional formatted formulas and it takes a lot of time to calculate the optimal row heights and load the document. Because we allow a lot of text/cell format attribute which are effect on the cell size, therefor it is necessary to evaluate all the formulas. Also if we have 20 condition for a cell range we need to evaluate all the 20 formulas for all the cells and it is very expensive at load time. Change-Id: I9288d11dd2f061f85fa36292a909402a6bb89ea9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163421 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164796 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Justin Luth <jluth@mail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2024-03-20lok: calc: not possible to select the cell adjacent to the edited oneMarco Cecchetti
In the LOK case using the paper size for the printer case (wysiwyg) can make the cell background and visible area larger than needed which makes selecting the adjacent right cell impossible in some cases. Change-Id: I20edd62645692f30e432b1064bb9c85b3396dc32 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164702 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit a6bc0272607590d1692db385be7f6fbfeb1a8fb4) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164881
2024-03-20lok calc: show cell cursor on in place editingMarco Cecchetti
On in place editing cell cursor overlay matches the output area. In this way the user has a better guess about the edited area. Change-Id: Iba3370d942a9deaedeed23298a7cb7a6c6c0f5f5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164701 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit cc88ad715f80b13efb29744673d044df9c16550c) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164880
2024-03-19Remove static font color for headings in Calccodewithvk
Previously, Calc utilized a static font color (dark) for headings, which resulted in visibility issues for Heading 1 and Heading 2 in dark mode. This commit resolves the problem by removing the static font color, allowing for automatic color adjustment. Signed-off-by: codewithvk <vivek.javiya@collabora.com> Change-Id: Idf516077a8cda951c593052c63e53b4d1301d138 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164879 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-03-18cool#8443 let Insert Chart dialog to undo out of order on CancelMike Kaganski
Change-Id: I66d749362c9fb5f2c228f0f5d2c927cc0cf3f89f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164179 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164834 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-03-17tdf#160122 Increase height of the Solver Options dialogRafael Lima
Currently the Solver Options dialog (Tools - Solver and then click the Options button) has a height of 6 rows, which is good for the Linear and Swarm non-linear solvers, since they have 4-5 options. However, the SCO and DEPS engines have 12 and 19 options, respectively, so it is very unconfortable to view and scroll through these options with such a small dialog. This patch raises the height of the dialog to 12, so that scrolling is minimized, making it more confortable to navigate through the solver options. Change-Id: I51c1c6880613818dd91c6bb8494775c863e8b406 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164749 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org> Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> (cherry picked from commit 58f565cb2dcf6e7b7eb2eb269776993516a29bf0) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164875
2024-03-13move rng out of ScInterpreter and into the ScInterpreterContextCaolán McNamara
the former is created a lot, while the latter lives in a reusable pool Change-Id: I9a4802aa7db0b591e1835768851aa9093331e918 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164691 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-03-13tdf#160056 don't need to create a boost::intrusive_ptr to do searchCaolán McNamara
with more recent c++ versions we can elide that construction for the purposes of this comparison Change-Id: I6a88219ef4451d2775b3b7ab1d9cf8adfb53e04d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164686 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-03-13tdf#160117: check bAnyConditionMike Kaganski
Commit edbc3a09edcf58a4738b4648811a065f3f55bc7c (sc: Don't end handleConditionalFormat early, 2023-11-02) intended to allow to apply several different categories of conditions to the same cell: e.g., color scale or databar, in addition to the normal style application depending on a condition. This change fixes a regression, when the found matching condition did not stop search for the matching conditions to apply a style. Change-Id: Ia4cf1dd35a964c6ca523050dc727184ca22a8dfd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164687 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit 61580fcbd10bad2e0aab663d4c8fe43c1e01f92c) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164732 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-03-12tdf#83720 Pivot Table: Data field should always at last placeTomaž Vajngerl
In the pivot table dialog we should always put the "Data" field to the last place or the cell formats won't be shown correct in the pivot table. Change-Id: If4befe4fff1e6f04d9b709615a1955e3b5f4b4cc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164161 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 78065e3798439dd790d1be5ac5c219477285c888) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164126 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-03-12tdf#158735 Save solver settings for DEPS and SCO as wellRafael Lima
When bug tdf#38948 was originally fixed, the solvers DEPS and SCO were not considered. This caused a regression, because setting engine options for these solvers made them never be saved, even in its own sheet. This patch fixes that by incorporating the engine options for DEPS and SCO. Change-Id: I93af712f91da2f7b1ac57ed74f6c2c2d7d411bba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164376 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 04d884cc99eb66679fb254129b54488bd40e5abf) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164385 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-03-12tdf#129701 Skip empty cell: treat last columnLaurent Balland
When pasting data as text, with "Skip empty cells" not checked, empty cells in the last column of the source do not empty cells in destination, because there is nothing anymore to paste and while loop stops. This commit adds a flag to check if the last cell of each line is empty, and treat it if "Skip empty cells" is not checked. Add UITest to Copy data with empty cells; Paste Unformatted text, without "Skip empty cells"; Check data with empty cells in last column. Change-Id: Idec823fb1c27b803f49c6d13d6c757ef0f41e437 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160951 Tested-by: Jenkins Reviewed-by: Laurent Balland <laurent.balland@mailo.fr> (cherry picked from commit e66ffda7c7f1e78dbca082ff7549ded121dc7356) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163536 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2024-03-11tdf#159373: band-aid for crash in: ScTable::HasAttribJulien Nabet
band-aid because as Eike indicated in https://bugs.documentfoundation.org/show_bug.cgi?id=159373#c8 "Question remains why this PostPaint() is called at all for an invalid range.." Change-Id: Ie44378119202addd8ddb46f0be4b0124be9fd48b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164354 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164586 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Justin Luth <jluth@mail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-03-07sc lok: make the formula separator warning dialog asyncMiklos Vajna
I'm not sure what exactly changed here, but recently online.git unit-wopi-languages started to fail for me. First it was an assertion failure: /home/vmiklos/git/libreoffice/core/vcl/source/window/window.cxx:3186: void vcl::Window::SetLOKNotifier(const vcl::ILibreOfficeKitNotifier*, bool): Assertion `pNotifier' failed. Once ScDocShell::CheckConfigOptions() is changed to pass in the view shell explicitly, the next error is: kit-26201-26149 2024-02-28 10:41:31.659255 +0100 [ kitbroker_002 ] ERR non-async dialog triggered So convert it to async, similar to the chart2/ hunk of commit 4b33e878a446b0bcdb1d5f882a05a256967eea54 (Make format condition, chart delete and pivot table error async, 2024-01-10). Change-Id: I159278b24db0acd5fddb6f4d29dae9a35321e614 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164178 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164543 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2024-03-07tdf#99969: make sure to copy the chart source ranges to clipboardMike Kaganski
... even when they are outside of the copied cell range. Otherwise, it is impossible to transfer the missing data when switching to own data on paste. The copy of the missing ranges avoids copying cell attributes, for performance reasons, but also to avoid overwriting the attributes of already copied cells. Otherwise, ScDrawLayer::CopyToClip would need the bKeepScenarioFlags, or the CopyToClipContext used in the caller ScDocument::CopyToClip, for consistent copy; or a method to avoid overwriting already copied cells (this change simply copies all chart ranges, withiut checking if they were copied already). Change-Id: Id02e0c20517e7e8a17bb0a31d1b230196cda1a58 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164294 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164397