9676 Commits
Author SHA1 Message Date
Michael Weghorn e68422786a Drop unused ValueSet forward declarations
Drop ValueSet forward declarations from headers
not actually using the class.

Forward-declare the class in cui/source/inc/numpages.hxx
which actually uses it, but didn't forward-declare it
or include the header yet, but previously got the forward-declaration
from an included header.

Change-Id: I8876ad47eb362f581aa41ee4a61a85c4093a1dd0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211881
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-10-07 17:48:46 +02:00
Michael Weghorn 28cc8883eb chart2, sc: Enforce UI rules
Commit the results of running

    for a in `git ls-files "*.ui"`; do bin/ui-rules-enforcer.py $a; done

Change-Id: I7a97f75773b9e5750dcce848d730960a8561916b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211850
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-10-07 17:44:57 +02:00
Xisco Fauli 7003eb6fc6 fix headers
Change-Id: Ia2732cc041367bc113654bc424ea6621f3961e9f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211724
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-10-05 08:52:04 +02:00
Michael Weghorn dbc1b391de chart2: Port "Chart Type" sidebar section from ValueSet to weld::IconView
In the same way that

    Change-Id: I188f812f2d03fa8cbd97ffaaab3081094809887e
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Thu Oct 1 10:29:15 2026 +0200

        chart2: Port "Chart Type" dialog from ValueSet to weld::IconView

had done for the "Chart Type" dialog, also port the chart
sidebar from using the custom ValueSet widget to weld::IconView.

This helps to be more consistent with other platform/toolkit
widgets and reduces custom logic.

It can be triggered like this:

* start Writer
* insert a chart using "Insert" -> "Chart..."
* while the chart is still selected, open the "Properties"
  sidebar deck

Change-Id: I858dda4b9d5bf62291ee3b0c76b13ee92221f9e6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211660
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-10-02 12:11:10 +02:00
Michael Weghorn da60cd7b89 tdf#130857 Define widgets in "Chart Type" dialog in order
Switch the order in which the widgets in the .ui file
are defined so that the order better matches the visual appearance
and logical order, which makes sure that tab focus order with the
Qt-based VCL plugins is correct as well when using native Qt
widgets (SAL_VCL_QT_USE_WELDED_WIDGETS=1), where
focus order is (by default) based on widget creation order.

See

    commit 02692566ad
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Thu Oct 24 17:43:35 2024 +0200

        tdf#130857 optnewdictionarydialog.ui: Define focusable widgets in order

for more background.

The dialog can e.g. be triggered like this:

* start Writer
* insert a chart using "Insert" -> "Chart..."
* right-click on one of the bars in the chart to open
  the context menu
* activate the "Chart Type..." menu item

The Python script mentioned in the commit message of

    commit 327679b2fb
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Wed Jul 8 15:50:59 2026 +0200

        tdf#130857 Define widgets in Calc "General" options page in order

was used to reorder the GtkGrid children automatically.

Change-Id: Iafe15ceba9e7c8b7651114e538b9ca20915c2367
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211659
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-10-02 12:11:04 +02:00
Michael Weghorn e011f74436 chart2: Port "Chart Type" dialog from ValueSet to weld::IconView
Port the widget to select the chart subtype in the "Chart Type"
dialog from using a ValueSet widget to using weld::IconView.

This helps to be more consistent with other platform/toolkit
widgets and reduces custom logic.

Adjust indices used to account for the fact that
weld::IconView indices are 0-based while the ValueSet ones
are 1-based.

The dialog can be triggered like this:

* start Writer
* insert a chart using "Insert" -> "Chart..."
* right-click on one of the bars in the chart to open
  the context menu
* activate the "Chart Type..." menu item

The chart sidebar (ChartTypePanel) will also be ported
in an upcoming commit.

Change-Id: I188f812f2d03fa8cbd97ffaaab3081094809887e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211658
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-10-02 12:10:59 +02:00
Michael Weghorn 4af0e70a49 chart2: Rename ChartTypeTabPage::getCurrent{Paramter -> Parameter}
Fix typo in method name.

Change-Id: I8f61fcd3d156c3cf7ba73e34bcfb5637bd54e9ac
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211657
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-10-02 12:10:51 +02:00
Attila Szűcs df6120bc6e tdf#116148.odp fix default hatch export to pptx
Hatch without a hatch name was exported to nothing.
Powerpoint load that as solid color.
So in that case we export the default hatch data.

Did not expose `PROP_FILL_HATCH` as it was not needed for the fix
But added code to handle that case too if it will be exposed.

Signed-off-by: Attila Szűcs <attila.szucs@collabora.com>
Change-Id: Iec1a850b7b08db8d42de3770d5d81b7f77a905c4
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/12642
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 6a2288a5994faed380c45221cdff25181570e23a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211578
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-09-29 21:29:35 +02:00
Michael Weghorn 20e2c5e315 chart2: Don't use ValueSet directly in ChartTypeDialogController
So far, ChartTypeDialogController::fillSubTypeList
(and its overrides) was clearing all existing
entries of the passed ValueSet widget and inserting
items for the chart types it handles.

Change the logic to return a vector of entries for
the corresponding chart types instead and let the
callers handle clearing the ValueSet and inserting
the entries instead.

This way, the ChartTypeDialogControllers don't have
to know/rely on the implementation detail what exact widget
is used to display the chart types.

This can simplify porting away from the use of the
custom ValueSet widget in the future, e.g. to
weld::IconView.

Change-Id: I98b32dee7d67b2a9e8c8474c464cacebb21b717e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211557
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-09-29 14:47:31 +02:00
Jason Whitmore 94f01698f5 tdf#155628 split upper triangular code into new function and call
This change reduces the cognitive complexity of the
CalculateBSplines function by moving some of the linear
algebra code into a new function and then calling
the function. No changes are made to external code behavior.

Change-Id: I4116d24b30e922a2f3777aa8dcd926ee690b8243
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205231
Reviewed-by: Hossein <hossein@libreoffice.org>
Tested-by: Jenkins
2026-09-26 10:05:54 +02:00
DrRobotto 2a6ccbc40b tdf#164516 - Allow changing the chart type to of-pie by macro
Register BarOfPieDiagram and PieOfPieDiagram and map them to the
existing chart2 BarOfPie/PieOfPie templates used by the chart type
dialog.

Change-Id: Id5ba30d7547d290826bb360b2ccb3713fdb95a42
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211460
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
Tested-by: Jenkins
2026-09-25 23:00:20 +02:00
Kurt Nordback f81e4abac2 Axis and rendering fixes for funnel charts
Fix the plot direction and axis visibility for funnel charts created via the
UI (rather than imported from a file).

Signed-off-by: Kurt Nordback <kurt.nordback@collabora.com>
Change-Id: Iccf81a31d5f1ea8f9e63ffe369752e9c8a3f991d
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/8837
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit f5c7bc0a29c87993a83d9c492e8c545936e60a0e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211424
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-09-24 16:12:36 +02:00
Neil Roberts fe40f03933 tdf#173575 Fix mnemonic in Range for %VALUETYPE label
The character to indicate a mnemonic with VCL widgets is ~, not _. I
didn’t notice this because it was working fine with the GTK plugin,
presumably because it ends up accepting either character internally. The
previous string was copied from a UI file where the mnemonic character
does need to be _. Now that the string has changed I’ve changed the
context too because it will end up as a new string for translators now
anyway.

Change-Id: I5e52926ea4cdfd50bed6dda5d4cd6a5a5f550b4f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211226
Reviewed-by: Neil Roberts <nroberts@libreoffice.org>
Tested-by: Jenkins
2026-09-19 18:11:44 +02:00
Neil Roberts 643aab12aa tdf#173575 Don’t display “%VALUETYPE” if range is too small
If the selected range is too small when Insert->Chart is used then most
of the controls in the “Data Series” tab are disabled. Additionally,
nothing was updating the “Range for %VALUETYPE” label defined in the UI
file so it would be left with this stub visible in the UI. This patch
makes the default label instead just be “Range”. The previous string is
now defined in strings.hrc instead of reading from the label value when
creating the dialog so that it can be updated when a valid range is
selected.

Change-Id: Ib926383825f32042dc0c6d33a115d139a50c5aa6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211102
Tested-by: Jenkins
Reviewed-by: Neil Roberts <nroberts@libreoffice.org>
2026-09-18 14:42:31 +02:00
jan 95e804b637 tdf#171892:Icons in menus only on most important items
This removes icons for many menu entries to only have icons
for the most important commands, as suggested in the design guidelines
(See: https://wiki.documentfoundation.org/Design/Guidelines/MenuBar)

Change-Id: I687aa79333ab9f391e8b51c4900a348622f7ab3a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210342
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Tested-by: Jenkins
2026-09-15 10:59:51 +02:00
Andrea Gelmini 6a1480506d Fix typos
Change-Id: I9d99aba8500ea31628e4b883974bb60181407647
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210562
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-09-10 22:08:01 +02:00
Michael Weghorn 76de59770c chart2 a11y: Simplify AccessibleBase::ImplGetAccessibleChildById
No need for an `else branch` as the `if` branch throws
an exception.

Also stop intermediate assignment to local variable
and return the result directly instead.

Change-Id: Ib442f72510302acffb0336e56df3efd6d93c4d83
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210609
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-09-10 18:31:10 +02:00
Michael Weghorn dbb865574c chart2 a11y: Return without assigning to local var first
Change-Id: I48551b0add3db3335fb0ab09731cadf01f9a0d82
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210608
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-09-10 18:31:03 +02:00
Michael Weghorn a4f18a3ae9 chart2 a11y: Drop XAccessible::getAccessibleContext call
OAccessible returns itself in its XAccessible::getAccessibleContext
implementation and implements the XAccessibleComponent interface itself,
so there is no need to call the method and query for that interface.

Change-Id: I232d86a3c972a8313a6dc62a1b6c799c6b1a9d81
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210603
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-09-10 18:28:52 +02:00
Michael Weghorn bb11afbcd7 chart2 a11y: Switch AccessibleChartView::m_xParent to OAccessible
Switch AccessibleChartView::m_xParent from a weak
reference of the abstract XAccessible interface to
a weak reference of the more concrete OAccessible class.

Change-Id: Iba9f410979c079735b6c41723206b2ac76c1dc1b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210602
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-09-10 18:28:43 +02:00
Michael Weghorn 5701442238 chart2 a11y: Use OAccessible in ChartController::impl_initializeAccessible
Switch to using the more concrete OAccessible instead
of the abstract XAccessible UNO interface.

Change-Id: I5ef11c3880788320dda6750409f36a04fcf40a06
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210601
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-09-10 18:28:36 +02:00
Andrea Gelmini 8ee79ac196 Fix typos
Change-Id: Ic7a97a5219d8a0d30b1753c2502995ea4c2cd32f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210563
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2026-09-10 16:22:54 +02:00
Jason Whitmore a73823a4c1 chart2: Add unit tests for CalculateBSplines
Change-Id: I46af0b5c72ef96c42ea0eb60a5c8b6383a556cdf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208265
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-09-09 09:33:05 +02:00
Dan Williams e4e60f2769 vcl: standardize Reset dialog button response code
Qt plugin automatically orders buttons for each platform based on
the button's role, which we derive from the Gtk .ui file's
action-widget response code. But to do that conversion from response
code to Qt button role, we need a standard response.

Without a standard response, the button has no role, and gets ordered
to the right of OK/Cancel buttons on Mac. With the correct role, it
is correctly placed far-left along with the Help button.

Change-Id: I16d3126d4999649e7aa6e72ec5e7b1a25f48c2a3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210223
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Reviewed-by: Dan Williams <dcbw@libreoffice.org>
Tested-by: Jenkins
2026-09-08 13:42:17 +02:00
Dennis Francis 0bbeeeaf54 chart2: odf import/export of correlation circle chart
ODF has no name for this chart type, so the file says two things at once, the
way a histogram already does: chart:class names the scatter chart, which is the
nearest a reader that knows nothing of correlation circles can make of it, and
coext:class beside it names the type itself. A reader that knows the coext name
gets the chart back as it was saved.

The series need no new shape in the file. The feature column is the range of
the series and the two dimension columns are a domain each, which is where a
bubble chart already keeps its x and y values, so both the reading and the
writing of them follows the bubble path rather than a new logic.

The schema the tests validate against lists the values coext:class may take, so
the new one is added there beside the histogram.

The test document is one block of five columns: three features and then the two
dimensions, the shape the wizard asks for. The test checks after a round trip
that the chart type came back, that the file carries both class names, and that
every series still holds its feature column beside the two dimension columns.

Change-Id: Iac73ff357c7490b4f38a4390c63948cf148d8585
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/8106
Tested-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
(cherry picked from commit 4e59ea1c83e61b8dc2647f9a915884f9d461165d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210498
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-09-05 00:10:37 +02:00
Noel Grandin 1b276f9265 merge the outliner ParagraphData information into the regular EditTextObject
as part of the process of merging the Outliner code into the normal EditEngine paths.

So instead of keeping a bunch of information "on the side" and then having to merge information
from multiple sources, it all lives where it logically belongs.

Also take the chance to rename the depth/getdepth/setdepth
fields and methods to NumberingDepth, which makes the purpose
more obvious.

Change-Id: I314673ee1b9efa14f178ac34a122995a554cd788
Signed-off-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/10551
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
(cherry picked from commit 284bbe0af12b96844976f30bb35ade3a327ea76d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210503
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-09-05 00:09:20 +02:00
Dennis Francis ce823e1cc7 chart2: say on the Data Range page which columns hold the dimensions
A correlation circle plot reads the ends of its range differently from every
other chart type: the last two columns are the dimensions its points are placed
against and the columns before them are the features. One range holds the lot,
so nothing about the entry gives that away, and a reader who does not already
know it has no way to work it out.

Display a information label under the range input saying the last two
columns of it are component dimensions and the columns before that are
features.

Change-Id: Ib7d27aad189f12be188f61b1fc317dd1e718b803
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/8105
Tested-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
(cherry picked from commit 2cbf62e18df956ed23c77932cd5e38424e7baa1f)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210470
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-09-04 15:05:11 +02:00
Dennis Francis 22adaa8073 chart2: offer the correlation circle plot in the chart type dialog
The entry sits next to the bubble chart, under the same switch that keeps the
chart types wanting free x values out of the list where they do not belong. It
has one sub type, no three dimensional look and no stacking.

The two images are placeholders: a circle with a cross and a few arrows
out of the middle. They need a designer's hand before this ships.

A test drives the wizard the way a user would: it picks the type, types one
range whose last two columns hold the dimensions, and checks that every column
before them became a series holding that column beside the two dimension
columns. A second test reopens the ranges of that chart and checks the range
comes back as it was given.

Change-Id: If8b5275244a2456a22235a6ce2d3d51fcff6cb94
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/8104
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
Tested-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
(cherry picked from commit 7a7fc603047e065ebbc20f8bc5dc814d6079e082)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210469
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-09-04 11:43:03 +02:00
Dennis Francis 84129dd550 chart2: draw the correlation circle plot
Each series gives one arrow, from the origin to the point whose

1. x-coordinate value is the correlation of that series' feature column
   with the first dimension column.
2. y-coordinate value is the correlation of that series' feature column
   with the second dimension column.

A symbol marks the tip and the feature name sits beside it. The circle
of radius one and the two lines through the origin are drawn behind the
arrows, and both axes are held at minus one to one on a square plot
area, so a length in the picture means the same in both directions and
the circle stays round.

The correlations are worked out while the shapes are made rather than kept
anywhere, so they follow the cells they come from. Working them out needs the
whole of the three columns.

The correlation coefficient code itself is in a small header of its own
with a test beside it. It leaves out the instances where either side is
missing, and it has no answer for a feature that does not vary or for
fewer than two instances. A feature without an answer gets no arrow,
as there is no direction to point in.

Error bars, trend lines and area properties are turned off for this chart
type, since a point stands for a worked out pair rather than for a value in a
cell, and symbols are turned on because the tip of each arrow carries one. The
arrows take the line colour and width of their series, and the template asks
for thin ones, which is what keeps a crowd of them apart. The legend hands out
the same symbol as the arrow tip, so a key can be matched to an arrow.

Grids are turned off by default for this chart as the user is more
interested in the direction/angles and the magnitude of the "rays" from
the origin.

Change-Id: I2d8b3aa6ef7d66bd9deb1f63a647767a1b62ac90
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/8103
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
Tested-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
(cherry picked from commit e096bfee9c85a22e8b8155944a63ee9d6f72f75a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210465
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-09-03 19:32:19 +02:00
Dennis Francis b0b4bad01f chart2: add a correlation circle chart type
A correlation circle plot shows how each feature of a table relates to the
first two dimensions of a decomposition of that table, which a user can now
work out in a spreadsheet with MSVD. One point per feature sits at the
correlation of that feature with the first dimension across and with the
second dimension up, inside a circle of radius one.

The data arrives as one series per feature. Each series holds its own feature
column under the new role values-feature, together with the two dimension
columns under values-x and values-y, which every series shares the way the
bubble chart shares its x column. Keeping the dimensions on the x and y roles
means the point count, the axis scaling and the label machinery need no
special case, and the series label comes from the feature column header, so
the legend and the point labels read as feature names.

The interpreter reads a flat list of columns as a feature table followed by
two dimension columns: the last two are the dimensions and every column before
them is a feature. One range holds the lot, which is what the wizard hands
over, and it is also the order the list comes in when a chart of another type
is turned into this one. A first column of instance names is kept out of the
features when the range says it has them, as it is for a bubble chart.

Both dimensions are numbers running from minus one to one, so the chart type
joins the scatter and the bubble chart in asking for a numeric axis across.
That answer is also what turns the axis of names back into a numeric one when
a chart of another type becomes this one, since the coordinate system the
other type left behind is kept and reused.

Change-Id: Id17d3a2a235c849c3dab9768159ddf1608da6d05
Signed-off-by: Dennis Francis <dennis.francis@collabora.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/8102
Tested-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
(cherry picked from commit b30d992bba26428941f47f952baf338df3763065)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209379
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-09-03 17:07:43 +02:00
Michael Weghorn 2a21a3acf7 chart2 a11y: Use OAccessible in AccessibleChartShape ctor
Use the more concrete OAccessible instead of the
abstract XAccessible UNO interface.

Change-Id: I18fd3378abe7c6f81a0244f7901eb0bedc9f0d32
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210381
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-09-02 14:34:00 +02:00
Andrea Gelmini 8bd2359805 Remove duplicated include
Change-Id: I69492147b6b7d938b52df38ac9616f2a059264de
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210376
Reviewed-by: Andrea Gelmini <andrea.gelmini@gelma.net>
Tested-by: Jenkins
2026-09-02 07:41:44 +02:00
Heiko Tietze c3844e912e Resolve tdf#171925 - Remove uno:SendFeedback / SID_SEND_FEEDBACK
Change-Id: I0a65e7a4ba1cd37fb28299c324027b31c41daacf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210340
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2026-09-02 06:05:11 +02:00
Tomaž Vajngerl 3aa0160c31 Bound the number of histogram bins
A bin width much smaller than the data range asks for a bin count
with no upper bound. Over a range of 1000 a width of a millionth
resolves to a billion bins. The conversion from double to sal_Int32
had no range check either, so it could overflow.

Cap the count at MAX_HISTOGRAM_BINS. The division stays in double
and saturates at the cap, and a fixed count from a document is
clamped the same way.

A capped count no longer spans the range with the requested width,
so the range is divided evenly instead. Scott's rule gets the same
treatment when it yields no width at all.

Signed-off-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>
Change-Id: Ib59ee462edade94799cc58e503b843696743ecfe
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/10257
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 93a9df897a14ec12457aa40d328616eb071a9175)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210337
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-09-01 19:49:22 +02:00
Devansh Varshney eac1e807cc chart2: expose histogram bin settings in axis sidebar
Add histogram binning controls to the axis properties sidebar.

Expose automatic, fixed-width, and fixed-count modes together with
optional underflow and overflow bins. Read the current settings from
the histogram chart type and update the corresponding model properties
when the controls change.

Signed-off-by: Devansh Varshney <varshney.devansh614@gmail.com>
Change-Id: Ia252499454a0715b1de094de05158966769ec912
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/9284
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
Tested-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
(cherry picked from commit dc0a6a31ff7719cd697220eb173f5c15935096ad)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209220
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-09-01 15:41:57 +02:00
Devansh Varshney 22b73ccfdc chart2: keep histogram axis labels in sync with bin settings
Histogram bin-property changes regenerated the category sequence stored
on the data series, while the X axis continued referencing the previous
sequence. This left the chart bars updated but displayed stale bin
labels.

Keep the category sequence produced by HistogramDataInterpreter on both
the diagram axis and data series. Update its binning parameters in place
when histogram properties change, allowing existing listeners to
recalculate and redraw the axis labels.

Signed-off-by: Devansh Varshney <varshney.devansh614@gmail.com>
Change-Id: Ibd6679bddf29de5fa1fd903af9274259b2e9c243
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/9282
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
Tested-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
(cherry picked from commit 0103afa2a6a746ce54a0e3e4297e1fa60698ef03)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209218
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-09-01 14:00:42 +02:00
Devansh Varshney 13650bcefe oox: preserve automatic histogram binning mode
Do not export transient Scott's-rule width as cx:binSize for automatic
histograms. An explicit binSize is imported as fixed-width
binning, so ODS-to-XLSX roundtrip changed FrequencyType from automatic
to fixed width.

Leave cx:binning without binSize or binCount for automatic mode and add
a regression test verifying that FrequencyType remains automatic after
XLSX export and reload.

Signed-off-by: Devansh Varshney <varshney.devansh614@gmail.com>
Change-Id: Icac1a0a032213dd5a6d5581a72d7453e8147d391
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/7985
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
Tested-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
(cherry picked from commit 9b4ab82c920ae20bc82f6d68031b1f853dbc65c6)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209217
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-09-01 14:00:36 +02:00
Devansh Varshney ad77e91af6 chart2: expose histogram bin settings in axis dialog
Add histogram binning controls to the Scale page of the primary
X-axis dialog.

Allow selecting automatic binning, fixed bin width, or a fixed
number of bins, together with optional underflow and overflow bins
and validate invalid combinations.

Signed-off-by: Devansh Varshney <varshney.devansh614@gmail.com>
Change-Id: Ia1efb0ea64249f0297f00c29f0bee8a4803ca803
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/7984
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
Tested-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
(cherry picked from commit f55a6867e1c2b67069d85611dcf25dbed25b85bd)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209216
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-09-01 14:00:30 +02:00
Andrea Gelmini 8ebe4b6d28 Fix typos
Change-Id: I9bf770374a5ee585f1aa99a0bb10f72d04a7c825
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210152
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2026-08-29 16:25:37 +02:00
Andrea Gelmini 6bbb5da94b Fix typos
Change-Id: I8c4a063b7a60841db384cd6dfc11f830d371fd00
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210153
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-28 17:11:01 +02:00
Andrea Gelmini 97b083f7ab Remove duplicated line of code
Change-Id: I7bb9bff4da5121c457f7550b037409d6d1dd11da
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210144
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-28 16:16:43 +02:00
Andrea Gelmini 824c8c356e Fix typos
Change-Id: I68e74c81e3d53ca83ecb13f916aafdcdde989a02
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210044
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2026-08-27 20:46:37 +02:00
Andrea Gelmini da9156aadc Fix typos
Change-Id: I3c228f14a624ce81568bcceccea05e4927d05f39
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210043
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-27 10:45:45 +02:00
Kurt Nordback 94a1e0c05c tdf#165742 Step 5.17: Improve data label round-trip
Fix some aspects of chartex data label import and export, to improve round-trip fidelity

Signed-off-by: Kurt Nordback <kurt.nordback@collabora.com>
Change-Id: Ie74593709caee05dea4aa98bd42913f221fd5b71
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/7908
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
(cherry picked from commit b1a365ec22cddbd74b1533b714043eb9cee9c576)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209987
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-08-26 08:46:54 +02:00
Kurt Nordback 6d1c73240b Basic fix for funnel chart rendering
Make funnel chart rendering basically correct, with the bars centred and the
correct size. Various details may still be wrong.

Signed-off-by: Kurt Nordback <kurt.nordback@collabora.com>
Change-Id: I9717675366c7449b634358bc05677dd739ab2af3
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/7906
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit edac298e6a8f887fa90817331e5a58c84e294316)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209740
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-08-25 16:46:33 +02:00
Andrea Gelmini 7d28386f54 Fix typos
Change-Id: I2156c901502b3f021d920dbad1e210dc0579fa0b

Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209777
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-25 15:50:42 +02:00
Andrea Gelmini 55033b5609 Fix typos
Change-Id: I79e5658a41993ec00df392cdeb6ef56d9277a04e

Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209778
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-25 15:42:16 +02:00
Kurt Nordback 160014f44b Initial implementation of rendering for funnel charts
Framework for funnel chart rendering. For now this just renders them as
horizontal bar charts: that is, not properly centred as a funnel. UI
functionality is untested and probably broken.

Signed-off-by: Kurt Nordback <kurt.nordback@collabora.com>
Change-Id: I3a0e923b801c840138c90dcf3609253a467d23d1
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/7905
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
(cherry picked from commit 172e4233b70f1d73ca942876f3f47458843ffa36)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209739
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-08-25 08:52:54 +02:00
Andrea Gelmini 7ec662d6e2 Fix typos
Change-Id: Ib1b4ee06e762b4cc4a7240b4ead79be2f70b6233

Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209776
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-24 09:17:48 +02:00
Andrea Gelmini 8ff895d2b4 Fix typos
Change-Id: I042b75e729ce5ae92ae5a4fb294ead845428dce9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209476
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2026-08-22 10:17:24 +02:00