329 Commits
Author SHA1 Message Date
Tomaž Vajngerl 0753600cc2 sc: draw all pivot table output formatting in one class
The formatting of the pivot table output was spread across
ScDPOutput: cell styles and frames were applied inline while the
table content was written, and ScDPOutputImpl drew the block
frames.

Add sc::pivot::StyleOutput, which handles all the drawing. ScDPOutput
now only records the sections of the table (layout geometry, field
cells, member spans, subtotal and grand total rows and columns,
indents and expand or collapse buttons). The cell styles are applied
while the sections are recorded, at the same points where they were
applied before, so they always come before any direct formatting
(number formats, pivot table format attributes) reaches the cells.
The block frames, the indents and the expander buttons are then drawn
by apply() in one pass over the collected sections. The drawn output
stays the same as before, and a different look, like the OOXML pivot
table styles, can later be drawn from the same sections.

Signed-off-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>
Change-Id: Ia628de6badf511d299f36bf474194ecad17a9c56
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/8253
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
(cherry picked from commit 9f5a36c822b170835c55143716be9eca28ac3e91)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209430
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-08-21 10:32:13 +02:00
Ben Urban 3bdd856e9f Implemented callables as first-class objects in Calc formulas
Three types of callables are available:

* Built-in functions (tdf#164507)

* External functions

* Macro functions

Change-Id: I6311c9412db650cfeb1100497e4ccdc39662c350
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206264
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-07-09 08:42:21 +02:00
Heiko Tietze f3d3e12be5 Resolves tdf#89781 - Better warning when saving multiple sheets
* Replaced ScOnlyActiveSheetSavedDlg by QueryDialog
* Pimped the QueryDialog with SetTypeWarn showing a different
  image and hiding the No button

Change-Id: Id134c8d4f6e27df5918d1b53141b45bc0439651c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207209
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2026-06-24 12:32:20 +02:00
Mike Kaganski 197c836739 Set modified flag and register undo for InsertThreadedComment
Calc's .uno:InsertThreadedComment slot mutated the note model directly
(GetOrCreateNote, SetText, SetThreadedCommentData, KitCommentNotify) and
never set the document-modified flag, so SFX did not broadcast
.uno:ModifiedStatus. The handler also did not register undo, so the
insert could not be rolled back. The same handler dropped the
SvtUserOptions fallback when the Author arg was passed but empty (the
ternary checked has-arg, not non-empty-value), letting the author land
as "Unknown Author" instead of the per-view WOPI UserFriendlyName.

Mirror ScDocFunc::ReplaceNote: a new InsertThreadedCommentOperation
runs inside ScDocShellModificator, releases any existing note (rescuing
its ScNoteData and a clone of its threaded payload), creates the new
note, builds the threaded payload plus the person-list entry, registers
ScUndoReplaceNote, and does the necessary finalizing calls. The author
resolution now uses the default-then-fallback chain so an empty Author
arg still routes through SvtUserOptions before the catch-all.

Signed-off-by: Mike Kaganski <mike.kaganski@collabora.com>
Change-Id: I42304b9467e8b290316b0fa8ba3c80c8fc0d9c35
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/4142
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit d0935091c608f7184d00669b85f98e5b4b5fe1b4)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207111
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-06-23 09:55:02 +02:00
Tomaž Vajngerl bf9eaed6da sc: Use #SPILL! error if the pivot table output is blocked
Replace the error message dialog with the same #SPILL! mechanism
used for array formulas when the pivot table output is blocked.
The pivot table configuration is still applied, but the output
cell shows #SPILL! error until the blocking cells are cleared.

Also includes:
- Auto resolve spilled pivot tables after delete, cut, move, paste
- Add sc::UndoSpillPivotTable, so when undoing we can recover back
to the spill error and delete the pivot table output (if present)
- Skip spill check during import to preserve cached output

Change-Id: Icf7d89c088b9d8a9d255945aa6235c91f602d4a9
Signed-off-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/1750
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit 94299df72efeddb3d5af31396f5008300d66a90d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205683
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-25 16:29:19 +02:00
Tomaž Vajngerl 538036ddeb sc: De-duplicate sheet view sort data in undo classes
This introduces UndoSheetViewSortData, which is responsible to
hold the sheet view and default view sort data, and restores that
when we do undo and redo. The class is the inherited by other Undo
classes asa mixin, when those need the functionality.

Change-Id: I824b4835512e32d95f09b4338b999dc1190c10d4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202412
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202614
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit 5a3a0d3ee71b9f0544754ca5e3c0a5b6b899523c)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205626
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-24 22:39:21 +02:00
Tomaž Vajngerl afb8e74358 sc: Move ScDocFunc::DeleteCells to DeleteCellsOperation
Pure refactoring.

Change-Id: I4f72b2e6ec0a2f170081ff1500d48cdf3525be66
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201781
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202122
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit 4dfc4beee2e436df7e1eccea264da2124178755d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205615
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-24 22:38:19 +02:00
Tomaž Vajngerl 3f11a1abd0 sc: remove DataPilotUpdateOperation for ReplacePivotTableOperation
DataPilotUpdateOperation was delegating when certain conditions
were met to other pivot table operations and when the conditions
didn't apply, it used a unique kind of replace pivot table
operation. This isn't ideal (especially the delegation part), so
this change creates a new operation ReplacePivotTableOperation,
which has the replace logic. Then the DataPilotUpdateOperation is
completely removed. The delegation logic is now moved back into
ScDBDocFunc::DataPilotUpdate method. This is a much leaner solution
than it was before.

This should be pure refactoring only.

Change-Id: I102bc93e1ade0e315cd918499d83733bb475e1e5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201698
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202118
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit 8f4d3dd386f2d9b5129c69497543aa0fdaa247ec)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205607
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-24 22:37:56 +02:00
Tomaž Vajngerl 27bef35780 sc: Add sheet view sync for UpdatePivotTableOperation
This one is a bit special. We need to use the ScDPObject from the
default view to perform the update. So we first search for that
object, then copy over the save data as that has probably changed.
The rest goes as usualy with a sync at the end.

Sync also needs a bit of modification as we were missing that in
OverwriteContent we should delete all the pivot tables on the
target sheet as we need to clean all content first, before we
copy content over.

Introduced a common PivotTableOperation superclass that is used
by pivot table operations and stores shared pivot table methods.

Added operator<< for ScDPSaveData to make CPPUNIT_ASSERT_EQUAL
functional in tests.

A minor change is also that we renamed the lazy named variables
like rDPObj to rDPObject.

Change-Id: I4c29b49dfcc88a5e38414393c0482c14f2aa05fd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201696
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202116
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit 8c8ab35715a770b1c2f7f0414e56cba96437cc8e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205552
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-24 16:38:53 +02:00
Tomaž Vajngerl e2cafc6b91 sc: Move ScDBDocFunc::DoSubTotals to SubTotalsOperation
Inserts subtotal rows into a data range (Data > Subtotals).

Pure refactoring, no behavior change.

Change-Id: If3599467bbf4433e00291402441042d181462ee2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201509
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202101
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205537
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-24 16:37:22 +02:00
Tomaž Vajngerl 187515213c sc: Move ScDocFunc::InsertNameList to InsertNameListOperation
Used for inserting named ranges.

Sheet -> Named Ranges and Expressions -> Define...

Pure refactoring, no behavior change.

Change-Id: Ic700e086553a6217eac28eb96063edd496301ea6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201508
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202100
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit dd84f18a7e26082ad9b0789b968f832372ad21e8)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205536
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-24 16:37:16 +02:00
Tomaž Vajngerl 447eabd60b sc: Move ScDocFunc::MergeCells to MergeCellsOperation
Merges a range of cells into one cell.

Pure refactoring, no behavior change.

Change-Id: Ib471ad366f6cc2dec70d23d4e2deb31feaad6476
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201507
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202099
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit 1b94a4b5c9bab659c225de2094c042e9d309c78e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205535
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-24 16:37:11 +02:00
Tomaž Vajngerl 4edcfd4edf sc: Move ScDocFunc::MoveBlock to MoveBlockOperation
Moves a block of cells from source range to destination position.

Pure refactoring, no behavior change.

Change-Id: Ib238c40a13fb5006d2c5827685a6b6bd86c21926
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201474
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202098
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit afe8e54bc60224bfce0bafa718650e92159455c0)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205534
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-24 16:37:06 +02:00
Tomaž Vajngerl 8b99c40d30 sc: Move ScDocFunc::ReplaceNote to ReplaceNoteTextOperation
Replace note used to set or replace the note text for an address.

Pure refactoring, no behavior change.

Change-Id: Ibe4b5c7d54d9a596550adf06dc4456677ef0cd3d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201473
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202097
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit 75387f8368c5eae1d518b5f4f35587b341d0a215)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205533
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-24 16:37:01 +02:00
Tomaž Vajngerl 8cb752768a sc: Move pivot table methods to Operation framework
Extract RemovePivotTable, CreatePivotTable, UpdatePivotTable
and DataPilotUpdate from ScDBDocFunc and create Operation
subclasses. The common functions are put into header file
PivotTableOperationCommon.hxx, so we avoid duplication.

Pure refactoring, no behavior change.

Change-Id: I94b50ef0698ceb809607d16265a6f3cbf03913d8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201472
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202096
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit c1966c49f77ab4cba053dcbe35b424a983b16ef6)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205532
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-23 00:08:26 +02:00
Tomaž Vajngerl 69a243ee03 sc: Move all sparkline methods to Operation framework
Extract the 7 sparkline ScDocFunc methods into Operation
subclasses.

Pure refactoring, no behavior change.

Change-Id: Id714721d0d852889b135c700da3327cf75ad641f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201457
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202095
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit 28efca2b83b88983ccce02e81f442bbf3fa834d7)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205531
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-23 00:08:16 +02:00
Tomaž Vajngerl d05a7ae4d3 sc: Introduce ConvertFormulaToValueOperation, moving code from ScDocFunc
Pure refactoring only.

Converts the formula to computed value (i.e. =A1+B1 converted to 3).

Change-Id: Ia6a0cad4afafac709a2f99c09a7ee3024d0c7195
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201331
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202086
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit 65fce95267c98d355741fc073790f5d0cf92d98c)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205434
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-22 11:50:22 +02:00
Tomaž Vajngerl 9bdf8b6475 sc: Introduce SetNoteTextOperation, moving the code from ScDocFunc
Pure refactoring only.

Sets the not text to a cell.

Change-Id: Iff55f4202a90b2b030c8b7a5634e1a635c8a0e48
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201330
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202085
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit a3af3d530040db77ab61cf2f7a268d845412a7db)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205433
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-22 11:50:14 +02:00
Tomaž Vajngerl 8ec7a4a732 sc: Introduce TransliterateTextOperation, moving code from ScDocFunc
Pure refactoring only.

TransliterateText changes the text in marked range to upercase,
lowercase, title case,....

Change-Id: I7028cd5581249539fe8a444ffbdc376a022f4517
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201329
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202084
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit 00d1640fba2ec8bfefdcf44e30913477cc94517f)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205432
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-22 11:50:07 +02:00
Tomaž Vajngerl 0a1bf636f7 sc: Introduce ChangeIndentOperation, moving the code from ScDocFunc
Pure refactoring only.

Increases or decreases the ident level for marked cells.

Change-Id: I6ceaf7442847496d33da6a1a62a30ef569e39ad4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201328
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202083
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit 304eabff46dc09fe70faba6cec769f02c3b2f275)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205431
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-22 11:49:58 +02:00
Tomaž Vajngerl 5283a66357 sc: Introduce FillAutoOperation, moving the code from ScDocFunc
Pure refactoring only.

Used for auto-fill on the UI.

Change-Id: I9428bc4f38c1b174ede3b090f841bfecd00fd0f2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201090
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202075
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit 6e1f664bed8db1143332030a980921c3e7f250ba)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205424
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-20 17:07:41 +02:00
Tomaž Vajngerl 7e535bd4c2 sc: Introduce FillSeriesOperation, moving the code from ScDocFunc
Pure refactoring only.

Used for Sheet -> FillCells -> Fill Series.

Change-Id: I361eac93fb136aa4f32935bcdd27ab5d269cd227
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201089
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202074
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit f70f199f500767e10c09432ee8f77d394d2ac0fe)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205422
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-20 17:07:29 +02:00
Tomaž Vajngerl b48476df89 sc: Introduce FillSimpleOperation, moving the code from ScDocFunc
Pure refactoring only.

Used for FillDown, FillUp, FillLeft, FillRight located in menu
(Sheet -> FillCells -> ...).

Change-Id: I9a94ccbb128cd8bb8f7e19c91372482679cc2395
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201088
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202069
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit 9966dce7814b1178dde4c3c931b9fd7e671f99fb)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205421
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-20 17:07:20 +02:00
Tomaž Vajngerl 8e65861090 sc: Introduce MultipleOpsOperation, moving the code from ScDocFunc
Pure refactoring only, but renamed from TabOperation to MultipleOps,
so it reflects what is the name on the UI.

Used when running "Data -> Multiple Operations..." dialog.

Change-Id: Iae5a554a22e0215d33b726f8dbdd33339870c0e3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201087
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit e2ff3ad98226)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202068
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit 5790217e15f01390a9fcae1b73e7c422df9c6b6c)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205420
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-20 17:07:14 +02:00
Tomaž Vajngerl aeb01973a4 sc: move TableContentCopier, comment, fix wrong return value
Move TableContentCopier into own file, so it is easier.
Document TableContentCopier class.
Fix the wrong return value in ScDocument::OverwriteContent.

Change-Id: I82ac4f0f663636ed385d5801fe40c03e3709d5fa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200779
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202028
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit 02f6883589c5beedad2bd023ddbe5426f4a3594b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205418
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-20 17:06:59 +02:00
Tomaž Vajngerl 72a9b9209b sc: Remove tab redirection inside ViewData
Remove the tab redirection inside ViewData, which changes how sheet
views work. Sheet views are now used as normal sheets for both the
UI and data, instead of relying on redirection. Sheet view handling
is done in the UI itself. This simplifies the approach and likely
avoids bugs that would arise from redirection.

For this to work, all functions that deal with sheet views need to
be changed. A new InsertSheetViewOperation was added for inserting
sheet views, along with the sc::UndoInsertSheetView undo class.

Tests were adjusted, especially the asserts for tab names and tab
numbers of sheet views.

Change-Id: I08044afcff2bb64be73c05c1bda0262c73197e90
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200712
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202021
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit be1a7e5207088704628f4572ddc9d63506c4e9cf)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205411
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-20 17:06:20 +02:00
Tomaž Vajngerl 940aefa915 sc: Extract OperationType from SheetViewOperationsTester
It should be part of operation folder, where it belongs together
with other operations.

Change-Id: I725b8a161aa83d94e98a9bc1ca2f291768c3bfcb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199521
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202003
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit 22ad5d7b0f8b3e0963f837a49031e870ac22bf2f)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205396
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-20 17:00:53 +02:00
Tomaž Vajngerl 5949baee53 sc: Introduce AutoFormatOperation, moving the code from ScDocFunc
Pure refactoring only.

Used when running "AutoFormat Styles..." dialog.

Change-Id: I93da92f96f4dc7b30559555c9b577f651d69923b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201024
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202067
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit d020058545a96d0c598637c8b4cf912d4da6167d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205367
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-20 16:52:24 +02:00
Tomaž Vajngerl a61dd6556b sc: Introduce EnterMatrixOperation, moving the code from ScDocFunc
Pure refactoring only.

Used when you insert a matrix formula like "{=A1:A5*B1:B5}".

Change-Id: I87b59fcb9ddf7c9d6967557a7706e59bf2012f68
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201011
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202066
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit 30eb12f3eb62c1f1d968d3c6fbb33e987d1c53b7)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205362
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-20 16:52:09 +02:00
Tomaž Vajngerl 833604ff49 sc: Introduce ClearItemsOperation, moving the code from ScDocFunc
Pure refactoring only.

Operation is used only through UNOAPI, DeelteContent is used
otherwise. Might make sense to see in the future which oeprations
can be combined into one and reused.

Change-Id: Ifa11aaebe77cb9ac98acf3732572f5fac832317e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201001
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202065
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit f5c55febcb7295fca4edeac624de9e28502a209e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205361
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-19 20:30:25 +02:00
Tomaž Vajngerl afaa6edb5c sc: Introduce InsertCellsOperation and move impl. from ScDocFunc
The implementation was moved into sc::InsertCellsOperation from
ScDocFunc, but no other functional change was done.

Change-Id: I333da3a2445b1c40190d71b240f577162fc02022
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199685
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202014
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit 00e8fcf2894914803fa62fcdacebe0a1a41acae1)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205359
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-19 20:30:17 +02:00
Tomaž Vajngerl ad6abe01e5 sc: Introduce QueryOperation class deriving from sc::Operation
Move the implementation from ScDBDocFunc into sc::QueryOperation.
No functional change was done.

Change-Id: I5edd52b72f2daf35d98cad9be1822b53085ac58f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199603
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202008
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit d04d6862f4b7c3cbb42ccd13387e725f69ed54d2)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205360
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-05-19 20:30:08 +02:00
Tomaž Vajngerl 8db971e598 sc: Introduce ApplyAttributesOperation and use impl. from ScDocFunc
No functional change, just moving and adapting the code to new
location.

Change-Id: I4c9c6bf952e861a9be0bbea1d5f5a29853a3a120
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199183
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201964
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit d4f15db55944b567fe13f49cd52a78cc491d9918)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205358
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-05-19 20:29:49 +02:00
Tomaž Vajngerl 2d68632d6e sc: Introduce various set operations and move code from ScDocFunc
Add SetValueOperation, SetStringOperation, SetFormulaOperation and
SetEditTextOperation. Move the code from ScDocFunc.

Makes no other functional change.

Change-Id: I0ba470bd2bc0e5882201011db9b69e8df9108175
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199181
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201962
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit dad2e6f708149a209ffd3d37a48e7aa07d847f1d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205357
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-19 20:29:42 +02:00
Tomaž Vajngerl c390c5c1db sc: Introduce SetNormalStringOperation and use impl. from ScDocFunc
No functional change, just moving and adapting the code to new
location.

Change-Id: I6cad3bbb6ae772859744b5ba8a897945d0d76430
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198961
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201960
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit d02ba47065708c8ca225af30012ff82dd065e133)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205356
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-05-19 17:20:10 +02:00
Tomaž Vajngerl ea49ae17e0 sc: Introduce DeleteCellOperation and move impl. from ScDocFunc
Operation that deletes the content of one cell.
No other functional change. Move the impl. from ScDocFunc.

Change-Id: I64e7dfc6a0553bf92bc0ee11c5a4c2c9ed93a024
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198731
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201953
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit 3ac38027047181ee5bf302e311791e3a90ed10de)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205337
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-19 09:29:27 +02:00
Tomaž Vajngerl 58e51cc3fe sc: Introduce SortOperation and move the impl. from ScDBDocFunc
Sort operation using implementation from ScDBDocFunc.
No functional change, but logging changed to SAL_WARN.

Change-Id: I6b23a3296a2bce9fdeef9c2774d6f9b34bd30da5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198732
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201954
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit d11a9ba2d64e6dd402cf4f6f2befa8e1fec50475)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205336
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-19 09:29:20 +02:00
Tomaž Vajngerl 45c445066a sc: Introduce Operation abstract class and DeleteContentOperation
An Operation abstract class is an interface for writing operations
whcih are an atomic coarse change to the document model. The
Operation is needed so we can make it easier to handle and extend
various operations we have, and to separate various task that are
typically run in an operation. This should also reduce duplication
of variosu tasks. It also makes dealing with operations easier as
each operation is now confined in it's own class / file.

Currently the Operation doesn't include a lot yet, but this will
be added on demand when more and more operations are converted
to use Oepration derived classes.

This change also includes the first DeleteContentOperation which
uses the code from ScDocFunc::DeleteContents.

Change-Id: I023b4544041ba4b19fdba00d5c8b3559375653a6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198730
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201952
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
(cherry picked from commit 572a9463230d145436a870c4cbbb6e5d4d391a4e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205334
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-19 09:29:05 +02:00
Balazs Varga 431835ce23 Table Styles: Move Calc table style generation from OOXML filter to core
The 60 ECMA-376 default table styles were previously generated in the
OOXML filter layer (sc/source/filter/oox/). This moves the generation
to core (sc/source/core/data/) so table styles are available for any
document with a theme, not only during OOXML import.

The constexpr data from defaulttablestyles.inc and the theme ColorSet
are used to generate ScTableStyle objects with resolved colors, borders,
and fonts. On theme change, default styles are fully regenerated while
custom (file-imported) styles have their theme-referenced colors updated
in-place.

Also removes unused Fill::nBgColorId (all ECMA preset fills are solid,
bgColor has no effect) and updates the Python generator accordingly.

Change-Id: Ic6aee371a29c8983deb70bce9c4085a47cfa1a66
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202780
Reviewed-by: Balazs Varga <balazs.varga@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/172
Reviewed-by: Balázs Varga <balazs.varga@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 92d78c3fa385f794b63cf6b328b41222f9e4c8b2)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204505
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-04-29 12:28:00 +02:00
Balazs Varga 0467a68ff9 tdf#78486 sc: add calculated field dialog for pivot tables
New dialog (Insert > Calculated Field) to add, modify, and delete
calculated fields. Accessible from the menu bar, pivot table context
menu. Insert, modify, delete a calculated field properly.

TODO: maybe more warnings during formula entry edit

Change-Id: Ifdf50de96ff6f7b736b6307e9bea3ae56108679f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200314
Tested-by: Jenkins
Reviewed-by: Balazs Varga <balazs.varga@collabora.com>
2026-03-13 08:06:56 +01:00
Noel Grandin 5648ba78d7 loplugin:unusedmethods
Change-Id: Ibac145ec75271e740871ecb03d838d5f85b8f643
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199374
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-02-15 12:35:31 +01:00
Karthik a8cfe77dd7 Calc: Adapt 'SvxAutoFormat'
Adapt 'SvxAutoFormat' and retire Calc specific 'AutoFormat' dialog and
preview

Change-Id: I7d1146ba3612c2bd528a4f0daa5485a9c0296dea
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190026
Tested-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2026-02-04 14:02:17 +01:00
Gabor Kelemen 08a5c48853 sc: Remove ScFilterOptions class
- replace its last config key use with officecfg call
- other keys MS_Excel/ColScale and MS_Excel/RowScale seem to be unused,
related code was removed in 2017:
	commit 98c4cd372b
	loplugin:unusedfields improve write-only analysis
and 2015:
	commit 96d44c9b07
	loplugin:unusedmethods sc

Change-Id: I36c8c6e2a99599ad15d722b096fa90718bdc9abc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198440
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
Tested-by: Jenkins
2026-01-31 11:06:15 +01:00
Balazs Varga 8f928fa25c Table Styles: Add NoteBookBar implementation for table styles
New ui file for the notebookbars which includes all the database
settings options.

Also fix some view shell issue when we deselect a table context
and Insert Table is not active

Since JSCheckButton is kind of a button which can have a default
state (false) always need to send Update to online for registering
the api call connecting to the checkbutton.

Change-Id: Ie9701d2897b389c2a0192650a2f907e5fae59673
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194917
Reviewed-by: Gökay ŞATIR <gokaysatir@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196772
Reviewed-by: Balazs Varga <balazs.varga@collabora.com>
Tested-by: Balazs Varga <balazs.varga@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197998
Tested-by: Jenkins
2026-01-29 09:32:39 +01:00
Balazs Varga 0d7be893f5 Table Style: introduce insert/delete Table... command available from
menubar Insert and Data. With that command a new Table Style area (context) can be
added to the sheet with a defalt table style name (Table1, Table2 etc.).
If the default ooxml table styles are available the "TableStyleMedium2"
style will be automatically applied (same as in Mso), which can be modified
to any other available style after that.

Also add new command for delete a table context. It is also available
from Insert and Data menubar.

For simplifying the dbrange behaviour, it will not possible to change DbRange
properties of those DbRanges which has Table context. (same as in MSO)
from the older DbRange dialog

Includes cleanup for unused-but-set variables (-Werror).

Change-Id: I98067e895d9595ba07206759deff6848dc299216
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194408
Tested-by: Balazs Varga <balazs.varga@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Balazs Varga <balazs.varga@collabora.com>
Code-Style: Balazs Varga <balazs.varga@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196768
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197994
Tested-by: Jenkins
2026-01-29 09:32:11 +01:00
Markus Mohrhard c8b155c4d4 add sidebar entry for calc database ranges
Include limit UI and functionality only

for ranges with table styles. Do not allow for simple DbRanges.

Change-Id: I0b141c4e6fefd78bfcc7b30f4aad7fdcc42eee23
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193667
Tested-by: Andras Timar <andras.timar@collabora.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196735
Tested-by: Balazs Varga <balazs.varga@collabora.com>
Reviewed-by: Balazs Varga <balazs.varga@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197963
Tested-by: Jenkins
2026-01-29 09:26:14 +01:00
Markus Mohrhard 2950f734c5 add initial version of Calc table styles
Add the new UNO props properly.

cherry-pick from: 46b6455af7854795ac379a4a1f37c60b4414af02

TableStyleDark9 name as part of the generator seems like a bug
in the OOXML spec. The name in the
presetTableStyles.xml file is "TableStyleDark9 2" but MSO and the rest
of the spec reference a "TableStyleDark9" style.

cherry-pick from: 5aaa63d2b9850f8ec3de361df4e61710626d7e33

Fix windows MSVC build errors and warnings

cherry-pick from: 2d8a942de310d65f61641eae4315888b167c30bb

Change-Id: Ib0d3fc7fcf9eb39e2551b426b9c6075ef758010f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193666
Tested-by: Andras Timar <andras.timar@collabora.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196734
Tested-by: Balazs Varga <balazs.varga@collabora.com>
Reviewed-by: Balazs Varga <balazs.varga@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197962
2026-01-29 09:25:47 +01:00
Tomaž Vajngerl ca071ce7fd sc: fix exporting of row / column items of a pivot table
The current row and column items export implementation was quite
naive, where it added jsut one level of items and not understood
why t="grand" needs to be added. This fixes the implementation
so it now gathers the row / column items correctly.

There are many scenarios we need to take into account, like
grant totals, subtotals, filters and sorts. Those are covered
by tests using different pivot tables.

If the row / column items are not correctly set, the pivot table
in MSOffice is not shown correctly in the sheet until you actually
refresh the pivot table, so the data refreshes. In recent MSOffice
version it also marks the pivot table as corrupt and removes the
pivot table from the document. With this fix it now accepts the
pivot table and show it correctly.

Change-Id: I1fbe05b4b5a2051ec9d527f5243c84c2e8818b72
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194940
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Jenkins
2025-12-04 08:20:48 +01:00
Michael Weghorn 43c1502866 tdf#168120 sc: Drop now unused CellLineStyleValueSet
This is now unused after the last use was ported
to using weld::TreeView instead in previous commit

    Change-Id: I05c1e5f8f3689af02b4337c65b4aaba481c67e86
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Fri Nov 28 14:12:04 2025 +0100

        tdf#168120 sc: Switch to weld::TreeView in CellLineStyleControl

Change-Id: I00ce95cfa9ca7dd9c9d3ea9edec586d63cfca42e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194777
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2025-11-29 06:52:46 +01:00
Noel Grandin 1bd04a5413 [API CHANGE] remove XPivotTableDataProvider
in favor of a regular C++ interface class, since this is purely used internally to LO

Change-Id: I84991efb1b0c8829e2175dc083b0f8627fcb1712
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194512
Code-Style: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-11-26 10:06:23 +01:00