4567 Commits
Author SHA1 Message Date
Andrea Gelmini 3bc01f0c99 Fix typos
Change-Id: I3fb0e9e9d2b16195bf9445d01da8b5936c148544
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211770
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-10-03 10:23:57 +02:00
Gülşah Köse 111a2ffc8b cool#16233 sw: keep a formula's font size across DOCX import and export
An equation's size lives in the w:sz of its math runs. The import ignored it,
so every equation came in at the 12pt default of the formula editor, and a file
holding equations at three sizes showed all three the same. An equation whose
runs name no size takes the size of the text around it, which the styles and
the document defaults hold.

The export wrote no size at all. It now puts the size on every math run, and in
the control properties of each object, which is where the fraction bar, the
radical sign and the brackets take theirs from. The size travels in the w
namespace, so it goes out for a DOCX only, the way the color of a formula
already does.

Every formula now carries a size of its own on the way out, including one
written in ODF. Such a formula used to leave the size open and took whatever
the text around it had in the reading application. It now keeps the size it is
drawn at here, so both applications show it the same.

Setting the base size means giving each of the fonts that same size. The font
size dialog, the BaseFontHeight property of the model and this import each did
that on their own, so they now share SmFormat::SetBaseSizeAndFonts. The
property used to put the sizes in a copy that a later merge step reads only for
a font the same call has named, so a lone BaseFontHeight left the fonts alone.

Signed-off-by: Gülşah Köse <gulsah.kose@collabora.com>
Change-Id: I18b6c5814a57d8ccb8be5b7bdd357ce76cea024d
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/13297
Reviewed-by: Balázs Varga <balazs.varga@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 582e3fdb6496d9f511dfefc1f716b4ead6cc3797)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211600
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-09-30 12:12:58 +02:00
Balazs Varga b693937e99 starmath OOXML: keep the bold and italic of text in a formula
A bold or italic part of a Word equation came back plain in Writer,
for example a bold x in a fraction or a bold sin, while its color
already survived the import.

Word keeps the style of a math run in the m:sty of its m:rPr (p, b,
i or bi), which the import never read and the export never wrote. A
normal text run cannot have an m:sty, so Word puts its bold and
italic in w:b and w:i instead. When the whole function name is set to
italic, Word keeps that in the m:ctrlPr of the m:func.

Read these on import and write a bold, ital or nitalic command only
where the run differs from the default. Letters are italic and
digits and function names are upright by default in both Word and
StarMath, so a plain formula gets no new command. The export writes
the same elements back. The bold in the m:ctrlPr of a fraction is
not read, because Word draws it on the bar only, and a command
around the fraction would make the terms bold as well.

follow-up for: I4207aab6a363e5f841de58e3f743d9e010609c10
(starmath OOXML: keep the font color of text in a formula)
and Ic13c9e59756806932f61a6fb51e4919a49cdfcd6
(starmath OOXML: keep the color of the lines and signs in a formula)

Change-Id: Ia2172c0d75e59c37a17c8ce51e36a89f25d8565c
Signed-off-by: Balazs Varga <balazs.varga@collabora.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/13466
Reviewed-by: Noel Grandin <noel.grandin@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit d6e51e0d41856f4a6c83df3794742742e3ee5dfd)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211443
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-09-30 08:43:53 +02:00
Bayram Çiçek 3e131896fc starmath OOXML: keep the color of the lines and signs in a formula
A fraction whose terms are red came back with red terms and a black
bar, and a colored square root came back with a black root sign.

The formula draws these parts itself, so their color is not in the
text. It sits in the m:ctrlPr of the fraction or the root, which
neither filter read.

Read m:ctrlPr on import and keep the color while the parts inside are
read, so the command comes out once around the whole fraction rather
than repeated on the bar and on both terms. An inner color beats an
outer one, which is how the parser treats nested commands. A border box
that Writer does not draw is dropped, and the color it named stays on
the content that is left.

Write m:ctrlPr back on export wherever a node has a color of its own, but
only for a DOCX. A slide or a sheet does not declare the w namespace that
the color needs. The fraction, the brackets, the root, the accent, the
over and underline, the overbrace and underbrace, the border box and the
n-ary operator each have a property element that can hold one.

Added the testMathFractionBarColor unit test.

Signed-off-by: Bayram Çiçek <bayram.cicek@collabora.com>
Change-Id: Ic13c9e59756806932f61a6fb51e4919a49cdfcd6
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/10047
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 568ac1d9bdfc8bd43995dbd3626e73084d4f90d6)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211416
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-09-24 13:12:27 +02:00
Bayram Çiçek 5c8b89c3b6 starmath OOXML: keep the font color of text in a formula
Steps to reproduce:
1) Write a formula with a color command, such as color red { 1 }.
2) Save the document as DOCX and open it again.
The formula comes back at the default color, and the color command has
gone from its text.

A run is one stretch of text with a single set of formatting. In a
formula each run carries two property elements. The import already read
the math element m:rPr. The font color sits in the text element w:rPr.
The import skipped that one as an unexpected tag, and the export never
wrote it.

Read w:color on import and put a color command around the text of that
run. A color that StarMath has a name for is written with that name, so
a formula written as color red reads the same way after a round trip.
Other colors become hexadecimal digits, which the parser reads only in
upper case. A value of auto leaves the default color in place, and so
does black, which keeps ordinary formulas clean and lets the color
follow a dark document theme.

The braces of a color command hold an expression, and a run holds
whatever text the document put in it. A run of operators is written as a
literal, which is an expression and keeps the color. A run that does not
parse for any other reason keeps no color command, so the formula reads
the way it did before any color was carried over. The import never
writes command text that fails to parse.

On export, write w:color for a run whose node has a color of its own, but
only for a DOCX. A slide or a sheet never declares the w namespace, so the
color stays out of a presentation or a spreadsheet. The tree has been
arranged by then, so a surrounding color command has already reached the
leaf nodes.

The color of the lines and signs a formula draws, such as a fraction
bar, travels elsewhere and is not covered here.

Added the testMathColor and testMathObjectColorOmittedInSlide unit tests.

Signed-off-by: Bayram Çiçek <bayram.cicek@collabora.com>
Change-Id: I4207aab6a363e5f841de58e3f743d9e010609c10
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/10046
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
(cherry picked from commit dfcc0c42df5c774f4087f425cad0af81ecea6b5e)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211415
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-09-24 13:05:07 +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 4ee0d493d0 Fix typos in code + comments
Change-Id: I66a422f3519dceed4f5e253a2895eb2e0d943662
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210574
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2026-09-11 02:53:38 +02:00
Aya Jamal e2f7535f6b tdf#103680: Rendering stacks using OpenType math constants
Change-Id: I5efe4b12f753b33a425af7a4164adfe2214c2eb1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210473
Tested-by: Jenkins
Reviewed-by: Khaled Hosny <khaled@libreoffice.org>
2026-09-08 18:45:03 +02:00
Michael Weghorn 386a406ae7 starmath a11y: Stop declaring support for non-existing services
The services that
SmGraphicAccessible::getSupportedServiceNames
claims support for don't actually exist. Stop
implementing XServiceInfo after all.

For the AccessibleContext service, such a one
existed recently until

    Change-Id: I77584db1a6452ee3bf0a9fd7188271e4c658ed07
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Wed Sep 2 10:31:59 2026 +0200

        [API CHANGE] a11y: Drop com.sun.star.accessibility.AccessibleContext

, but that one would have had to be reported as
"com.sun.star.accessibility.AccessibleContext",
not "css::accessibility::AccessibleContext", so
it was already incorrect before the service
was dropped in the above commit.

Change-Id: Iad0df2b057c2dd4f138cbb0dbc67dc0a7982d37b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210410
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-09-03 09:22:57 +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
Andrea Gelmini f829102cad Fix typos
Change-Id: I024fe0a08c9ecb4f0313b3859acdd1a176a0bbe1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210192
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-29 13:43:03 +02:00
Andrea Gelmini 22ff0b6981 Fix typos
Change-Id: Icaa08aac99615eed8291fbb1cf42ae932fddcb65
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209913
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-25 12:00:58 +02:00
Andrea Gelmini 1b41793844 Fix typos
Change-Id: I551ed9154c66f2b4d7622d19430352ad89c3d2f2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209914
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-25 11:52:05 +02:00
Andrea Gelmini 77530bf49b Fix typo
Change-Id: Iff6da5ec2b28b55ec5a2e7f84580e21a9539c108
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209946
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
2026-08-25 11:16:26 +02:00
Aya Jamal b1e06017de tdf#103680: Rendering fractions using OpenType math constants
Change-Id: Ie409c86fa0899641cfb5bee87e8cb328081e3300
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209116
Reviewed-by: Khaled Hosny <khaled@libreoffice.org>
Tested-by: Jenkins
2026-08-24 14:10:19 +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
Aya Jamal 5324caa4ba tdf#103680: Implement fallback logic for OpenTypeNode
Change-Id: Idf225fbfb2b761dcd0d230242215e875217f02da
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209083
Reviewed-by: Khaled Hosny <khaled@libreoffice.org>
Tested-by: Jenkins
2026-08-12 23:20:50 +02:00
Olivier Hallot a38fe1558e tdf#172791 Math Matrix editor does not have a Help button
Added extended tips as well

Change-Id: I2336eab4233e136da3ee65d8ec369fb2d3d9a97f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208528
Reviewed-by: Olivier Hallot <olivier.hallot@libreoffice.org>
Tested-by: Jenkins
2026-07-25 21:44:14 +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 3298e3beec starmath: Pass SmCmdBoxWindow's SfxBindings param by ref
Change-Id: Ia7d8d49605a0f501f5420a39c03fb99711310107
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208378
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-07-23 15:39:34 +02:00
Michael Weghorn 08d5c60a02 sfx2: Pass SfxDockingWindow::Initialize param by ref
With refactoring from previous commits in place, it's
now clear that all callers pass a non-null
SfxChildWinInfo*. Pass by reference instead to make
that clear, which also allows to drop some null
checks.

Change-Id: I39bfe179c68afecf9b7aa209feb69d33e57e5388
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208371
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-07-23 15:38:45 +02:00
Michael Weghorn 2aeb583c16 Switch SfxChildWinCtor's SfxBindings param to ref
Switch the parameter from a pointer to a reference.

The only 2 callers in SfxChildWindow::CreateChildWindow
always pass a non-null param.

Using a reference makes clear that the param is always
non-null and makes clear that those implementations previously
unconditionally dereferencing the pointer were unproblematic.

Change-Id: Ia2b893aac6c94c3b0e1024cc5500da2463bf9996
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208312
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-07-23 09:23:23 +02:00
Michael Weghorn 00a19be1dc Switch SfxChildWinCtor's SfxChildWinInfo param to ref
Switch the parameter from a pointer to a reference.

The only 2 callers in SfxChildWindow::CreateChildWindow
always pass a non-null param.

Using a reference makes clear that the param is always
non-null, allows dropping some null checks and makes
clear that those implementations previously unconditionally
dereferencing the pointer were unproblematic.

Change-Id: I6734dfe6fe4fa1cb6aa80f4e67eb69603e8d86fc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208300
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-07-22 07:48:29 +02:00
Michael Weghorn f1f6a505a0 weld: Pass weld::TextWidget& in text change callback/handler
Switch the weld::Entry and weld::TextView handlers
that are called when the text changes due to user
interaction to pass a weld::TextWidget& param
instead of a weld::Entry& and weld::TextView&
one respectively.
Adjust related methods across the code base accordingly.

This unifies the behavior for both of these
weld::TextWidget subclasses and prepares for
deduplicating the logic and moving it to the
common base class in an upcoming commit.

That will also ensure they stay in sync.
(Change also motivated by the fact that their behavior was
differing before

    Change-Id: I03d2a13cd84d53d806eb9e363f49c4b6be28d938
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Thu Jul 9 13:08:58 2026 +0200

        tdf#130857 weld: Don't signal about programmatic TextView text change
.)

Change-Id: I5572fc88caf577fae9a23a39f1ec4f2179935a99
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207936
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-07-10 18:17:27 +02:00
Xisco Fauli 00aebb5e88 loplugin:unusedmethods
Change-Id: I5eec1b68efc285995db3b5825699c07fa006cb35
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207375
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-06-29 10:16:53 +02:00
Pranam Lashkari 1bb7291f2f starmath OOXML import: keep math operators bare inside multi-character runs
When a DOCX math formula put an operator and its operand in one run, for
example "-4", the OOXML import quoted the operator as literal text. The
minus then rendered as a short text hyphen (U+002D) in the text font
instead of a full-length minus sign (U+2212) in the math font, so the
two minus signs in a formula like the quadratic formula came out at
different lengths.

The earlier fix that stopped quoting single-character operator runs only
covered runs that held the operator on its own. A run that combined the
operator with its operand still went through the per-character loop in
encloseOrEscapeLiteral, which quoted every operator character.

Keep the standard math operators (+, -, *, /, =, <, >) bare in that loop
too, using the existing isSingleCharMathOperator helper, and drop them
from the delimiter table that does the quoting. A run like "-4" now
imports as the minus operator followed by 4, so StarMath renders it with
the math-font glyph and both minus signs match.

Change-Id: I38ed1a9fb344cc1a44f391e3ce3f097d8f16d09c
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/4681
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 1be656242e4c3cf42ad246bb2a6e30b3df8ce2d1)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207201
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-23 16:35:19 +02:00
Stephan Bergmann d8cd81b6cc Remove some broken gb_CppunitTest_set_include
...which all mentioned the wrong desktop_dialogs_test, so demonstratedly were
not missed by their respective CppunitTest_*.mk files, so can just go

Signed-off-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Change-Id: I8bbff02a50654c214d88635a3dc91553534a78e9
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/4969
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Noel Grandin <noel.grandin@collabora.com>
(cherry picked from commit 99a2f9d3f14fa4c1247103a8dbafce439000c592)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207110
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-22 16:04:10 +02:00
Michael Weghorn dd79eebe34 Commit result of running ui-rules-enforcer
Commit changes automatically done when running
the the UI rules enforcer:

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

Change-Id: I9c9bed95fc30fb1ba66056fc2508d96fa0d778f0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206972
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-06-20 22:23:37 +02:00
Noel Grandin 66b83a0107 use more unique_ptr in SmNodeListParser
Change-Id: I546d0aa488c55c8336da8156c6a8d41e788bc515
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/2453
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit f803c18ff8a888fe4353050f0c010f36c1002ba8)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206684
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-16 15:38:27 +02:00
Noel Grandin 9537ccc6fe no need to allocate SmNodeList on heap
It is already a node-based structure and supports being std::move'd around.

This avoids some unnecessary heap allocation work.

Change-Id: If6ee7d1852a26408f9e1c93b55a222d551a44550
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/2452
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit 2e3bad7d59c37d86e22f214c8ac640a0c54c25c5)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206643
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-06-16 09:13:37 +02:00
Mike Kaganski 2851604e32 Clarify expected values
The expression calculates needed narrow blanks, after wide blanks
were calculated. The calculation assumes narrow blank 1/4th of a
wide blank; the possible result is 0 to 3.

Also: drop the variable for 0.5, used once. The operation here is
"multiply by 2"; using "divide by 0.5" for that is confusing, and
unless there is some rationale behind that (like IEEE-754-specific
details giving different results here), better use simpler form.
In this case, the variable came from commit
074f0ab1d7 (tdf#76296 Import MathML's
<mspace>, 2016-11-15), and back then, it was Fraction; there seems
to be no specific need for division here.

Change-Id: I0260580023af005efb00eaba06ab6497cc269d43
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/1111
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/1169
Reviewed-by: Andras Timar <andras.timar@collabora.com>
(cherry picked from commit ccf247612e1cfaaf7cd53f250f4a2719a10fa524)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206654
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-16 01:22:52 +02:00
Michael Weghorn f26084217a weld: Move weld::Button to own header/Rename weld.hxx
In the past, weld.hxx used to contain the class
definitions for weld::Widget and all subclasses.

By now, weld::Widget and almost all subclasses have
been moved to separate headers, to make it easier
to keep the overview and to avoid having to
recompile ~all UI code when one class changes.

By now, only weld::Button is left in weld.hxx.
Rename the header to Button.hxx.
Drop weld.hxx includes and instead add Button.hxx
includes (or weld::Button forward declarations) where
weld::Button is used.
(Don't simply replace all weld.hxx includes with
Button.hxx ones, since many of them were for the
use of other widgets that have since been moved
to their own headers.)

Add further includes where needed now that the
(direct or transitive) includes of weld.hxx were removed.

Change-Id: I8ea6201446a418d5e38b46337059dcd517ee29d7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205937
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-06-05 07:58:07 +02:00
Michael Weghorn 59169cb0a1 starmath: Drop unused SmMLImportWrapper::m_pDocShell
Fixes this build error seen with clang 21 on
Debian testing after

    commit 6f81bce807
    Date:   Wed Jun 3 12:34:28 2026 +0200

        loplugin:unusedmethods

:

    starmath/inc/mathml/import.hxx:31:17: error: private field 'm_pDocShell' is not used [-Werror,-Wunused-private-field]
       31 |     SmDocShell* m_pDocShell;
          |                 ^

Change-Id: I6efc86c6894283443989a35e7a51759d8e046efb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205998
Tested-by: Dan Williams <dcbw@libreoffice.org>
Reviewed-by: Dan Williams <dcbw@libreoffice.org>
2026-06-04 22:44:22 +02:00
Michael Weghorn 8b5a46a0e0 weld: Move weld::toId and weld::fromId to weldutils.hxx
In the past, weld.hxx used to contain the class
definitions for weld::Widget and all subclasses,
as well as a few helpers.

By now, weld::Widget and almost all subclasses have
been moved to separate headers, to make it easier
to keep the overview and to avoid having to
recompile ~all UI code when anything in weld.hxx
changes.

Move the weld::toId and weld::fromId helpers from
weld.hxx to weldutils.hxx, in preparation of getting
rid of weld.hxx altogether in an upcomcing commit.

Change-Id: I408fe20a74ff104cbfe07bde3105317a1922ff61
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205936
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-06-04 14:37:13 +02:00
Michael Weghorn 7c6d496a71 weld: Move weld::TransportAsXWindow to own header/source
This makes it easier to keep an overview and reduces
what needs to be recompiled if the class changes in
the future.

Change-Id: Ie8d0aad9bca3e990f78d4ffc006a04b0a8086fd9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205935
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-06-04 14:36:59 +02:00
Xisco Fauli 6f81bce807 loplugin:unusedmethods
Change-Id: I57a535f72e639a9b708c5c7dc1790e354d2d477e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205943
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-06-04 10:00:29 +02:00
Michael Weghorn 8f7cf9c32c weld: Move weld::CheckButton to own header
Move the class out of weld.hxx into its own header, in
order to make it easier to keep an overview and to avoid
having to recompile ~all UI code when the class is
modified.

Add missing includes/forward declarations in places
previously depending on transitive includes that
are now dropped.

Change-Id: I3215b358e0fa45ffce08756218c386e1a4d7ebc6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205928
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-06-04 08:39:19 +02:00
Michael Weghorn ba7331747f weld: Drop not directly used includes/fwd-decls from weld.hxx
These are not needed inside weld.hxx itself. Instead
add the required includes/forward-declarations to those
files actually needing them, instead of relying on the
now dropped ones.

Change-Id: I5e4cea030867d14057b2bdcc2a2a4cd98843651d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205906
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-06-04 05:57:14 +02:00
Michael Weghorn da1c7a5459 weld: Move weld::RadioButton to own header
Move the class out of weld.hxx into its own header, in
order to make it easier to keep an overview and to avoid
having to recompile ~all UI code when the class is
modified.

Change-Id: I34876c5bef75e30e758029b0fe5afeecc92d509d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205903
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-06-03 23:19:54 +02:00
Michael Weghorn 911a89ddeb weld: Move weld::WaitObject to own header/source
Move the class out of weld.hxx into its own header and
source file, in order to make it easier to keep an overview
and to avoid having to recompile ~all UI code when the class
is modified.

Change-Id: I91bae842e5b18a83db45de12150c21f75e537fb9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205900
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-06-03 23:19:30 +02:00
Michael Weghorn 243bb112ec weld: Move weld::Container to own header
Move the class out of weld.hxx into its own header, in
order to make it easier to keep an overview and to avoid
having to recompile ~all UI code when the class is
modified.

Adjust includes in files that were implicitly depending
on transitive includes that are no longer present because
the more specific include/weld/Container.hxx is included
further down now instead of include/weld/weld.hxx.

Change-Id: I04e6bb72ce446b746dfdf88b45c7df9d0ccda473
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205899
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-06-03 23:19:22 +02:00
Caolán McNamara b25618a9b0 ofz#515065180 Integer-overflow
Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: Ic19148985d4f8929ab815ddeb8dee757ff806cfa
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/3165
Reviewed-by: Noel Grandin <noel.grandin@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 8722cc0ab4386805a1ca5afd6ae999976a105bc5)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205961
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-03 20:52:33 +02:00
Xisco Fauli 8a91868e21 drop JSDialog machinery
It's no longer needed and not used internally

Change-Id: Iecb0d1055fd6c61d0c34ffb8afc670ab9d5fe899
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205908
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-02 20:15:18 +02:00
Pranam Lashkari 07b1781475 starmath OOXML import: stop quoting single-char math operators as literal text
When importing OOXML math formulas, encloseOrEscapeLiteral() quoted
every delimiter character, including standard math operators like =, -,
and +. StarMath then rendered them as text-font glyphs instead of
math-font operators. This caused the equals sign to misalign with the
fraction bar and the minus sign to render as a shorter text hyphen.

Skip quoting for single-character standard math operators (+, -, *, /,
=, <, >) so StarMath treats them as proper operators with correct glyph
selection and alignment.

A bare operator alone inside braces (e.g. rsup {+}) is a StarMath parse
error because the parser expects an operand. Add a safety re-quote in
readOMathArgInElement() for that case, since all its callers wrap the
result in {...}

Change-Id: I22f01a25212d3c030e8104a00418ab1f6bdb2d07
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/3329
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
(cherry picked from commit f2ccbc5a30dbac56b600747af655076d6f7058c2)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205823
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-29 13:59:37 +02:00
Michael Weghorn 336f70f966 weld: Move weld::Label to own header
Move the class out of weld.hxx into its own header, in
order to make it easier to keep an overview and to avoid
having to recompile ~all UI code when the class is
modified.

Change-Id: Ide86f35543468a88288a068cc9f89eaf381ac52f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205763
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-05-27 22:24:37 +02:00
Michael Weghorn 1a3d6d5cdf weld: Move weld::Frame to own header
Move the class out of weld.hxx into its own header, in
order to make it easier to keep an overview and to avoid
having to recompile ~all UI code when the class is
modified.

Change-Id: Ia7bc570fcd463d9adcbcdad070250cec5bc3b949
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205488
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-05-22 21:56:45 +02:00
Xisco Fauli fb28678005 loplugin:unusedmethods
Change-Id: If3dae53e3cf16df2d0c505a898138dfa6fe6c0f9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205442
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-22 09:32:38 +02:00
Michael Weghorn 3f1fb9d4b0 weld: Move weld::Window to own header
Move the class out of weld.hxx into its own header, in
order to make it easier to keep an overview and to avoid
having to recompile ~all UI code when the class is
modified.

Change-Id: If7cb4403f1861c465f44a1cae4065b0bf8dfad48
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205323
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-05-19 09:10:43 +02:00
Caolán McNamara d413763ec8 ofz#497427650 Integer-overflow
Change-Id: I1abc37d6cb9605a31618d01971b2f93b632eb3bc
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/1999
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit c2993fe52a217fd1e828c313cc49dd2bd2d2c81c)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205282
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-05-18 20:23:56 +02:00
Muhammad Naeem 5c812142b2 tdf#143148: Use pragma once instead of include guards
- Convert include guards to #pragma once in salhelper, starmath, tools, ucb, and o3tl.
- Kept changes minimal to a small cross-module batch as requested by the easyHack guidance.
- Verified with: container=1 make -j4 o3tl.build salhelper.build starmath.build tools.build ucb.build

Change-Id: Ic047061433985e12be41bdb6463ac4c8e8969ddd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204555
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2026-05-02 13:12:13 +02:00