Commit Graph
30221 Commits
Author SHA1 Message Date
Andreas Heinisch 52fe6ff648 tdf#97354 - Keep formula bar content visible while a ref dialog is open
Still clear the formula bar content when the view itself is no longer
active.

Change-Id: I2aab4c320c342676fc547b8879fc2e6986d88ce8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208862
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2026-09-07 11:30:08 +02:00
Julien Nabet e808025d6f tdf#146404: Fix number Format Code when reopen ods/fods
As Eike indicated in https://bugs.documentfoundation.org/show_bug.cgi?id=146404#c4
COLOR format codes are preserved in ods/fods format.
The pb was the missing map back.
Indeed, we had the mapping for [COLOR<something>] => Color value (eg: "ffaa16")
but not the reverse mapping Color value => [COLOR<something>]

Eike had provided the right code pointer in xmlnumfi.cxx.
First, I thought using PaletteManager but this one is in svx and svx shouldn't be used in xmloff
(dependency pb).
Then I used ChatGpt (GPT-5.6 Luna) and it pointed the right process.
It just consisted to use a similar callback system (DECL_LINK, IMPL_LINK, LINK) of GetUserDefinedColor.

In addition, by testing all this, I noticed that maList in XColorList::GetIndexOfColor was empty.
So I added the Load call in case mbListDirty is true.

Change-Id: I0ef6b5901f2e4c757e88994412dbf79a13100ffd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210518
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2026-09-07 10:17:29 +02:00
Tomaž Vajngerl 1d475cdae0 Keep a shape's color and its theme reference in step
The default drawing style names a theme color now, and a PPTX saved
to ODF and back came out with every shape green. A shape that really
did name a theme color lost the reference and came back plain.

A color item holds the color and the theme reference together.
Setting a plain color started from the item the shape inherits from
its style and overwrote the color alone, so the inherited reference
won. Clear the reference, which is what an explicit color means.

The ODF export repeats each shape's fill on a paragraph style,
applied after the graphic style, and the paragraph properties had no
complex color. Carry it there too.

A style's graphic properties took a complex color only when it was
the character one, matched by element name. Match on the context id,
which the fill and stroke colors share.

Add a round trip test through ODF and PPTX with a plain shape, a
themed one, and a themed one with a luminance modulation.

Signed-off-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>
Change-Id: Ia9550222d18a243287240e4184666d78d0abdd22
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/10060
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit 07cf37b104983f765d3e1005f677e0058df12026)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210510
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-09-06 21:22:35 +02:00
Michael Weghorn 720a9455a6 a11y: Get UnoControl accessible without implementing XAccessible
By now, almost all a11y implementations implement both,
the XAccessible and XAccessibleContext interfaces themselves,
and they do so via the OAccessible base class.

One remaining case that only implements the XAccessible interface
directly is UnoControl. XAccessible::getAccessibleContext
is used from within AccessibleControlShape::Init to get the
accessible context. That accessible context however
is an OAccessible and implements both, the XAccessible
and XAccessibleContext interfaces again.

Stop requiring that UnoControl implements XAccessible
by instead adding a dedicated new method UnoControl::getAccessible
to directly get the OAccessible without relying on
the XAccessible interface being implemented by UnoControl.

In AccessibleControlShape::Init, cast to UnoControl
instead of querying for the XAccessible interface
and call the new method directly.

Stop implementing the XAccessible interface in
UnoControl as it is no longer needed now.

This aligns the UnoControl a11y logic more with how
a11y is implemented elsewhere across the code base.

Sample steps to trigger the modified code
when using the gtk3 vcl plugin on Linux:

* start the Orca screen reader
* start Writer
* insert a few push button controls using
  "Form" -> "Push Button" and then clicking into
  the document and dragging to insert
* disable design mode using "Form" -> "Design Mode"
* focus one of the controls by clicking on it
* press the Tab key to move focus between the controls

No differences in behavior were observed when
doing this with or without this change in place.

Side note: Announcement of the controls when they
receive focus didn't work (reliably) when opening an
existing document containing form controls instead of
inserting them into a new one, but that is preexisting
and unrelated to this commit.

Also adjust test AccessibleFixedTextTest::testFixedText
of the CppunitTest_toolkit_a11y test suite
accordingly that was assuming that it can
query the XAccessible interface directly
from the UNO control.

Change-Id: I8cc3902a8de725eda3d810920f1da2d390c06f73
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210464
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-09-05 10:43:42 +02:00
Michael Weghorn 0ee559bf34 toolkit a11y: Use WeakRef to more concrete OAccessible in UnoControl
Switch from using a weak reference (css::uno::WeakReferenceHelper)
to the abstract XAccessibleContext UNO interface to a weak
reference (unotools::WeakReference) of the more concrete
OAccessible class in UnoControl.

This makes clear that the accessible is always an OAccessible
subclass and allows dropping some UNO-querying for the
wanted UNO interfaces.

Change-Id: Ib1ea66c83da9bbf76891c492d84aa57c396f2f44
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210459
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-09-04 08:15:05 +02:00
Michael Weghorn 6736df00ad svx a11y: Let AccessibleTableHeaderShape subclass OAccessible
Reuse existing OAccessible logic by subclassing it.
This aligns AccessibleTableHeaderShape with other
a11y implementations.

No user-visible change in behavior intended.

Sample steps to make use of the class on Linux with
the qt6 vcl plugin:

* start Impress
* use the "Insert" -> "Table" dialog to insert a table
* type something in some cells
* start Accerciser
* in Accerciser's tree view of LO's a11y hierarchy, navigate
  to the a11y object of the table (which uses an a11y name of
  "TableShape")
* use Accerciser's IPython console to interact with the table header:

    In [6]: table = acc.queryTable()
    In [7]: table_header_cell = table.getRowHeader(0)
    In [8]: table_header_cell.get_name()
    Out[8]: 'A1'

This matches the behavior without this change in place.

(The question of whether all of the semantics/logic implemented in
AccessibleTableHeaderShape makes sense as is is a separate question,
unrelated to this refactor.)

Change-Id: I15c6a19aaa4ae69085dd8cb3a53447e55bf096f9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210456
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-09-04 08:15:00 +02:00
Michael Weghorn 6b7f5e35c9 editeng a11y: Stop declaring AccessibleContext support in AccessibleContextBase
The com.sun.star.accessibility.AccessibleContext UNO service
is unnecessary and not really used for implementing a11y support,
apart from some a11y implementations declaring support for it.
What is relevant is the com.sun.star.accessibility.XAccessibleContext
interface instead.

Stop declaring support for the com.sun.star.accessibility.AccessibleContext
service in AccessibleContextBase and drop related
XServiceInfo::getImplementationName overrides in subclasses,
in preparation of dropping the service altogether in an upcoming
commit.

AccessibleDrawDocumentView currently still declares support
for the "com.sun.star.drawing.AccessibleDrawDocumentView"
service, so let it implement XServiceInfo directly, now that
it no longer inherits that from the AccessibleContextBase
base class.

Change-Id: Ie927cd98f9e1c8eb5a80bfaab5cb1dacb64dc238
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210403
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-09-03 09:21:27 +02:00
Michael Weghorn 2c58101a82 svx a11y: Stop declaring support for AccessibleContext service
The com.sun.star.accessibility.AccessibleContext UNO service
is unnecessary and not really used for implementing a11y support,
apart from some a11y implementations declaring support for it.
What is relevant is the com.sun.star.accessibility.XAccessibleContext
interface instead.

Stop declaring support for the com.sun.star.accessibility.AccessibleContext
service in SvxGraphCtrlAccessibleContext, in preparation
of dropping the service altogether in an upcoming
commit.

Change-Id: Ib8e74b459deeda0738cfdf7877ba97861e1c24ec
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210399
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-09-03 09:20:28 +02:00
Julien Nabet 2aa35f1ba1 tdf#171670 for soc palettes names, UI names are stored instead of file names
Change-Id: I79857acd314af81b2507ea3c6154fd3621b3fac8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210451
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2026-09-03 08:29:50 +02:00
Andrea Gelmini f6df43abda Fix typos in code and comments
Change-Id: If5497c5691257fabea0d1bf8d342589ed479d432
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210375
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
2026-09-02 15:28:39 +02:00
Michael Weghorn fb495fb240 svx a11y: Return concrete type in SvxGraphCtrlAccessibleContext::getAccessible
Change-Id: I47f417f756afdff78465b88da46b7017b3fbc241
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210386
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-09-02 14:35:38 +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
Mike Kaganski 4c9116ee9d tdf#166401: keep text in a picture placeholder
A slide's picture placeholder can hold text the author typed instead of an
image, which PowerPoint displays. Impress dropped that text on import and
wrote nothing at all for such a shape on save. To reproduce, type into a
picture placeholder in PowerPoint, save, open the file and save it again:
the text is gone from the shape, and the shape from the file.

What a placeholder is now lives in the page's presentation object list, and
what represents it follows what it holds: a graphic object for a picture, an
SdrObjKind::OutlineText object while it holds text, the placeholder itself
while it holds nothing. It changes over when a file states such text, when
that text is deleted again and the prompt comes back, and when an image is
put in. Text arriving another way, through the API, is caught by the new
SdrPage::onEmptyPresObjFilled and switched at the next idle, so that route
needs a spinning scheduler; what a save writes is right either way. An object
in text edit is left to that edit, which is where it changes over: the idle
pass walks every page, so it asks each object rather than trusting the one
that asked for the pass - in a shared document another view holds it. That
switch is the model's own and covered by no undo step - it answers for a
document the API changed, not for anything the user did.

What the file says about the shape travels with it both ways, the graphic
items included, so an outline a picture placeholder is clipped to is still
there when a picture arrives. It is not written while the placeholder holds
text: the file says text box, and a text box states no geometry to clip a
picture to.

PPTX writes it as the placeholder it is, with the text it holds. ODF states
the class of what represents it, so the placeholder's own class travels
beside it as coext:placeholder-class, and a reader that ignores the
extension sees an outline placeholder with the text.

Signed-off-by: Mike Kaganski <mike.kaganski@collabora.com>
Change-Id: I0f3353115e56d63a4158ebaeb5689689499894bb
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/9441
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 7921401ae48188568e1016db00bd90256d666a6a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210329
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-09-01 19:52:06 +02:00
Heiko Tietze ac8774ce12 Cosmetic changes to styles picker
* Less margin to show more text
* Height reduced two get two full rows

Change-Id: Iad3c59c97a1fa644853404bd1c69ae1a27fcc071
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210228
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2026-08-30 12:18:36 +02:00
Heiko Tietze e80d226ce7 Resolve tdf#172462 - Respect RTL at the style picker
Change-Id: I2b646be2aa149b9ce715e3d2e1b74df57325b9b7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210119
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
Tested-by: Jenkins
2026-08-30 12:17:58 +02:00
Andrea Gelmini 3fd741a421 Fix typos
Change-Id: Id916dd1f70e8296ebef37da2844cf94822d553dc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210193
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-29 16:25:13 +02:00
Mike Kaganski 72b866f367 cool#16083: an empty placeholder stays empty
Formatting an empty presentation object wrote the outliner's emptiness back over
the prompt the object holds, leaving a blank frame with nothing to insert into.

Signed-off-by: Mike Kaganski <mike.kaganski@collabora.com>
Change-Id: I7c168196dfccfb5d0df9b01cc9d4c52c62db5555
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/9287
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit d4aa2b9e28adbe7bb241bdee33c5af91e85258b4)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210236
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-08-29 13:48:20 +02:00
Andrea Gelmini b29a086d9d Fix typos
Change-Id: If0d902d672f1d87797b09c8935fb89a5e0d413d2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210057
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-27 14:22:52 +02:00
Andrea Gelmini cdca504f29 Fix typos
Change-Id: Ia7dd97cbf467603797cb3d073a2b6fa0251ce7b8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210077
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2026-08-27 14:10:49 +02:00
Mike Kaganski dec2f2b9ef cool#16078: draw a graphic object's clip polygon
The clip a graphic object carries was kept in the model and carried through
save and load, but nothing ever drew it, so a shape a file describes as an
outline still covered its whole frame and hid what sat behind the parts the
outline leaves out. Wrap the shape's content in a mask.

The polygon states the shape's own coordinates, so it is normalised and then
put through the same object matrix as the content, and follows the shape's
rotation and shear along with it. A flip is expressed on the graphic itself
rather than in that matrix, so the clip is mirrored here to follow it - the
picture would otherwise turn round inside an outline that stayed where it
was. The mask covers the fill as well as the graphic, which is what uncovers
the background. The invisible outline stays outside it, leaving bounds and
hit-testing as they were.

A mask clips with an even-odd fill, which is what makes a contour overlapping
another one a hole.

Signed-off-by: Mike Kaganski <mike.kaganski@collabora.com>
Change-Id: I69c8c6c31f43e87399fb582665904dc81221b32b
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/9302
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
(cherry picked from commit 120b9ef0b7c50a0e025e7be87e005aa39ab7db8a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210037
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-08-27 09:53:25 +02:00
Mike Kaganski 9d36b250d9 cool#16078: add SdrGrafClipPolyPolygonItem
Introduce an SfxPoolItem in the SDR graphic attribute range that
carries a basegfx::B2DPolyPolygon clip outline on SdrGrafObj.
Allocate SDRATTR_GRAFCLIPPOLYPOLYGON between SDRATTR_GRAFCROP and
SDRATTR_GRAF_LAST (which shifts SDRATTR_3D_FIRST and the downstream
ids by one), register the pool default, and surface the value as the
"GraphicClipPolyPolygon" UNO property on the GraphicObjectShape
property map (covering both drawing.GraphicObjectShape and
presentation.GraphicObjectShape via SVXMAP_GRAPHICOBJECT) using the
css::drawing::PolyPolygonBezierCoords type. QueryValue/PutValue
do the round-trip through the existing basegfx helpers.

The new which-id is 1175. The trailing comments in svddef.hxx have
run 2 high since two XATTR items were dropped upstream, so the ones
added here say 1177 to stay consistent with the file.

No reader, writer or render path consumes the property yet; this
is infrastructure for upcoming custGeom round-trip work on empty
picture placeholders.

Signed-off-by: Mike Kaganski <mike.kaganski@collabora.com>
Change-Id: I17d98cabeb230c25b3de0da4eadd8338ed672ce1
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/9190
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
(cherry picked from commit be7f21fc7187bb87129eed4e8ed2f794faf6e757)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210036
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-08-26 21:09:05 +02:00
Jesus Solis 39dcff4a99 tdf#156931 add import support for JPEG XL image format
Change-Id: I5b8c70d5739fdc91b0ca30fbaa780a5c7004741d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208352
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-08-26 11:43:32 +02:00
Caolán McNamara ecd9ee7aa1 pass a referer through setSvxBrushItemAsFillAttributesToTargetSet
SvxBrushItem::GetGraphic wants the name of the document the brush came
from, so take it as an argument and hand in SwDoc::GetLinkReferer
wherever a document is at hand, the Writer style, frame and background
shell paths included.

The dialog and example-window callers pass the name of the active
document shell through a new svx helper getActiveDocumentLinkReferer.

The hand-rolled copies of the GetPersist, HasName, GetMedium GetName
sequence elsewhere in sw now call SwDoc::GetLinkReferer too.

Change-Id: I8693d27869baed79962b2d5bdcb7b7e2c63227bb
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/8200
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 18f91ac71710027479dfe9f206ae2207bad8f2b7)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209827
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-08-25 11:16:39 +02:00
Andrea Gelmini 2bcb2e8591 Fix typos
Change-Id: I88ba11f0f4f86ff8804dd956ed3748ec68264657
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209915
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-25 11:04:19 +02:00
Mike Kaganski 71afdd2a6a CreateAlphaMask + CreateColorBitmap -> SplitIntoColorAndAlpha
See commit f7b67e6c8c5981790fb9ac162dcc68e470b53112 (pdfexport: reduce
the number of times we split images, 2026-08-19) for rationale.

Change-Id: I1a541a9cb977cde63b89b5e838fa0e77e3116c45
Signed-off-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/9513
Reviewed-by: Noel Grandin <noel.grandin@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 349f60f1c3f425bf3ec4a7b85e053c372a166e4a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209522
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-08-23 13:28:50 +02:00
Mike Kaganski 7161748dcd CreateAlphaMask + CreateColorBitmap -> SplitIntoColorAndAlpha
See commit f7b67e6c8c5981790fb9ac162dcc68e470b53112 (pdfexport: reduce
the number of times we split images, 2026-08-19) for rationale.

Change-Id: I899590dca6d00f7d5bf850d3ee0329215caaf2f6
Signed-off-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/9517
Reviewed-by: Noel Grandin <noel.grandin@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 235b590828ebcc3167bb9b56f7acbf5c8300d4db)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209510
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-08-23 13:27:40 +02:00
Andrea Gelmini b470d6a0bd Fix typos
Change-Id: I6c0036771b9dd7e68652dce2e1182d93068fa0b6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209421
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-22 13:30:56 +02:00
Xisco Fauli 0c91381485 loplugin:unusedmethods
Change-Id: I17586b49f970be17c5f6d2823d4a973521b2ed62
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209407
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-08-21 09:31:35 +02:00
Xisco Fauli 2ed6458767 cid#1697486: Variable copied when it could be moved
and

cid#1697488: Variable copied when it could be moved
cid#1697490: Variable copied when it could be moved
cid#1697497: Variable copied when it could be moved

Change-Id: Ie3a621861ad7d3f46104da80777272b5505fb6d3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209409
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-08-21 00:02:45 +02:00
Andrea Gelmini ca8e2627d7 Fix typos
Change-Id: I067ecc337f9e2e927d8cdff1c74b22581aac9a6a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209416
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-20 19:09:43 +02:00
Andrea Gelmini 12051c954c Fix typos
Change-Id: I73c907ed17d513e9d07859bbb6bf1f149a0d7828
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209377
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-20 18:54:20 +02:00
Regina Henschel 54d6937ab4 cool#15716 find associated shape in SmartArt export
The export needs to write pt-elements for content text nodes with the
original modelId to data.xml. However, the shape has not this modelId
but the modelId of the associated pt-element of type=pres. Thus this
element is searched for in getMasterXShapeForPoint(). The error was, to
examine msPresentationLayoutName. That name is created by the author of
the SmartArt template and is arbitrary. And indeed, a name textNode
exists only twice in the over hundred predefined SmartArt templates. So
remove this test, it prevents to find the shape.

After removing the above mentioned test, an error in WriteText() in
the export becomes visible. The export of a SmartArt diagram calls
WriteText() with bBodyPr=false. With that no a:bodyPr element is
written at all. But for the CT_TextBody it is specified in OOXML, that
the bodyPr child element is mandatory. Thus we need to write an empty
element in this case. Without it, the file markup is invalid and
MS Office requests to repair the document.

Change-Id: I9cdf5e882b415ca1d13718d6c1e47ebb1d2c7018
Signed-off-by: Regina Henschel <rb.henschel@t-online.de>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/4396
Reviewed-by: Tomaž Vajngerl <tomaz.vajngerl@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 533dccff298edc397a9c0fc564ba4d31b8c27432)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206994
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-08-20 11:43:59 +02:00
Mike Kaganski e55cb4a7b8 tdf#167714 sw: mark Word horizontal rules in the model
Nothing told a horizontal rule apart from an ordinary rectangle, so it could
not be laid out the way Word does; the marker is that distinction, and its
absence is what keeps documents written before it rendering unchanged.

The UNO property reports DEFAULT_VALUE while false, since ODF export only
writes direct values - else every shape and graphic style would carry it.

Also let the RTF import build a rectangle for a rule, as the VML import
already does, so both filters produce one model object.

Signed-off-by: Mike Kaganski <mike.kaganski@collabora.com>
Change-Id: Id2facd7bdc272197273462f0ad581537551234bc
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/8657
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit dbe7dca2951640990d3febaf12a9c3118e15ec22)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209328
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-08-19 17:18:11 +02:00
Justin Luth de2bca4105 tdf#157286 srchdlg: just SetSearchLabel("") even if isEmpty
Change-Id: Ia6c64a1df0bcd0f0941db887fcd6a015bc3ef2f5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208903
Tested-by: Jenkins
Reviewed-by: Justin Luth <jluth@mail.com>
2026-08-01 00:05:08 +02:00
Jonathan Clark 81541562b3 tdf#172009 svx: Fix alpha channel loss in gallery thumbnail creation
Some recent refactoring changed gallery thumbnails to store the color
and alpha channels together as part of a single bitmap, rather than
separating the color transparency data. That refactoring interacted
poorly with existing gallery code that was intended to convert thumbnail
color data into 8-bit palettized color. The original code left the
separate alpha intact, but converting the combined 32-bit bitmap into
8-bit color destroyed the alpha channel as a matter of course.

This change fixes the gallery bug by removing the conversion code.
Gallery thumbnails will now use whatever bitmap format the source
graphic used, which increases storage by at most 3x. This seems like a
reasonable tradeoff since these graphics are very small (80x80 pixels),
and the alternative would be to revert all of this refactoring work.

Regression due to commit e35f5cbd26
Author: Noel Grandin <noel.grandin@collabora.co.uk>
Date:   Wed Jul 30 14:57:25 2025 +0200

    BitmapEx->Bitmap in GalleryObject

Change-Id: I94575beee529d08d381045d8c563d63203c725bf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208902
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
Tested-by: Jenkins
2026-07-31 23:31:58 +02:00
Andreas Heinisch 072ea542f1 tdf#93156 - Recalculate possible glued connector targets
Change-Id: Ib4f781387188586eadf51e834130028f0ada015d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208516
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
Tested-by: Jenkins
2026-07-30 18:59:56 +02:00
Jonathan Clark 417c7ee132 tdf#171218 extras: Restored missing ID field in bullets.thm
This change restores the system gallery theme ID to bullets.thm, which
restores language and localization-independent lookup in the gallery UI.

This field was unintentionally removed by a prior update to the file
contents. Updating these .thm files is unnecessarily fragile. There does
not appear to be any way to set an ID other than by using a hex editor,
and the ID field is only retained if updates are incremental. In order
to make this somewhat easier, this change also adds an --id <id>
parameter to gengal. This parameter can be used to manually set the
correct ID when a new .thm file is generated (however, it will not
change the ID for an existing .thm file that is being updated).

Regression from commit 480ef73dee
Author: Heiko Tietze <heiko.tietze@documentfoundation.org>
Date:   Mon Oct 27 12:37:09 2025 +0100

    Revert^2 "tdf#139076 update Bullet icons with sexy .svg icons"

Change-Id: Idccdffb987606a1863c745c96bc0f8ba5cb6565f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208701
Tested-by: Jenkins
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2026-07-30 15:47:03 +02:00
Caolán McNamara 0aeb164f0f Resolves: tdf#172918 allow a media link the user inserts in this session
The document-wide link update permission is decided when the document is
loaded. But media files that the users interactively inserts should be
automatically allowed.

Remember on the media object that the user picked the reference and
allow it on its own, the same way a presentation sound the user picks is
allowed. A reference that arrived with the document still needs the
document-wide permission.

since:

commit f0768394c14f928d47547408fc1195368be81f86
Date:   Tue Jul 14 19:12:01 2026 +0100

    put slideshow media links under link control

see also:

commit 0aa870b7b5a6bda50bab50c7a0a41d28fdf4f6ab
Date:   Wed Jun 17 09:37:23 2026 +0000

    bring external presentation sounds under link management

Change-Id: Id9fd49245fbfe2d62d767e3cb04370b2e5197fe1
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/7939
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/7961
(cherry picked from commit 82f3a17f461fb2d0057cc81625f7ae1e301db3ad)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208739
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-07-28 20:00:45 +02:00
Caolán McNamara dbd695c8c6 use std::variant to mark the in-flight fillbitmap owner
using the same std::variant style as the similar:

commit 7925b4de3f
Date:   Mon Jun 20 12:54:44 2022 +0200

    use std::monostate in std::variant

also.

a: use TOOLS_WARN_EXCEPTION for getVisualAreaSize/setVisualAreaSize
exceptions

b: Assert in the calc and impress tiled-rendering tests that the shape,
slide-background and master-page-background fillbitmap links are
registered in their LinkManagers similar to how the existing writer test
does.

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: If1e47f1c656f064b442a49991ba5a523b6076176
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/3693
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 1fc1bf4a76066307373cead6faea789ac945adad)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208581
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-07-25 01:48:39 +02:00
Caolán McNamara cb5895ad7b create the fill bitmap link tracker in SdrModel::SetLinkManager
merge this common setup

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I9efdc64155ed45580fb0ccc122a723fe10f4322c
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/3551
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit edecf78ffe05453017d3d7b9fef5dcd145fbf56b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208577
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-07-25 01:48:33 +02:00
Caolán McNamara 8be0c744f5 track impress style-sheet fill bitmaps per SfxStyleSheet, drop the pool bodge
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Iafd45f05c32f4d2096be20b354bd6e93b6a9ef89
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/3550
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit 6b4932267e3b0a5aec3fc1611d931eaa99eaf05a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208580
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-07-25 01:48:27 +02:00
Caolán McNamara 09ff91d4fc register impress XATTR_FILLBITMAP URLs as SvBaseLinks per SdrObject and SdrPage
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I342afe12d5410aa1226203718fe797a514f5d467
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/3549
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 9cae4ebe1c43e3e0233dea3d1202a14b0fca5675)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208576
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-07-25 01:48:19 +02:00
Caolán McNamara b8831b8cbc register calc XATTR_FILLBITMAP URLs as SvBaseLinks via SdrObject ItemChange
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I977cd234b2be9d792b1762bd6f943b2361b586c3
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/3508
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit b08bffeeeba27e0e10664e5f4cbd9c16ca567ae3)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208574
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-07-25 01:48:06 +02:00
Caolán McNamara 928a715ddf register writer XATTR_FILLBITMAP URLs as SvBaseLinks via SwFormat...
...and SwContentNode

rather than digging around via pool ItemSurrogates for these writer
elements

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I4222cc9aeda1335252f48c4242edfc5fc71a60f0
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/3471
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit d8a09afac6108d7ba23b253ed83b564af8a31c55)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208082
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-07-25 01:47:59 +02:00
Michael Weghorn a81cc28ba6 sfx2: Pass SfxDockingWindow's SfxBindings param by ref
With the refactoring from previous commits in place, it's
clear that all callers pass a non-null SfxBindings*
param.
Switch the param to a reference, to make that clear
and prepare for further refactoring.

Change-Id: Id9f1487dba4b84860f9afa52ff9ffb4dd7b1d2c6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208387
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-07-23 23:21:34 +02:00
Michael Weghorn b8cee3464f svx: Pass SvxColorDockingWindow's SfxBindings param by ref
This allows to drop two null checks in the ctor.

Change-Id: If5f33523eb8693de9c4bc4b4f481cc798a65766e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208386
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-07-23 23:21:26 +02:00
Michael Weghorn a7403afe1b svx: Pass NavigatorFrame's SfxBindings param by ref
Change-Id: I0773f5ce87db4c9ff7c56ab6f041a5bca51e91d0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208385
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-07-23 23:21:18 +02:00
Michael Weghorn 5069e4a573 svx: Pass FmFilterNavigatorWin's SfxBindings param by ref
Change-Id: I5b28ed9271e8445015cb48824f705f21b4156f87
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208384
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-07-23 23:21:09 +02:00
Michael Weghorn fe1e8aa60c svx: Pass DataNavigator's SfxBindings param by ref
Change-Id: I2d58740c2d062c9439316bc99924cacc2e0db101
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208383
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-07-23 15:40:08 +02:00
Michael Weghorn 3552f6284a svx: Pass Svx3DWin's SfxBindings param by ref
Change-Id: Ic3adca1600740b4671d8bb99f92d8ddc739c7886
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208381
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-07-23 15:40:00 +02:00