13882 Commits
Author SHA1 Message Date
Michael Weghorn dc79823c7e svtools: Drop unused ValueSet::{Format,ImpFormatItem} param
Now after

    Change-Id: I3593630b4758d0547264c0ed63fec7ac111ccfd7
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Tue Oct 6 17:30:24 2026 +0200

        svtools: Drop ValueSetItemType::ImageAndText and related logic

, the `rRendercontext` param for ValueSet::ImplFormatItem
is unused, so drop it, and also the then unused
corresponding ValueSet::Format param.

Change-Id: Ibc8afabf147974da1ed67ef903abc13c054c4c12
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211911
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-10-07 20:26:40 +02:00
Michael Weghorn 4909fb2b4c svtools: Drop ValueSetItemType::ImageAndText and related logic
Prio to

    Change-Id: I0d2f691eecfac013bc8ad3e506484d958d18ce0a
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Tue Oct 6 17:22:54 2026 +0200

        svtools: Drop always false ValueSet::InsertItem bLegend param

, the only place where the type would have been set was
in ValueSet::InsertItem, but the method was never called
in a way that caused that code path being used.

Now that that was dropped from ValueSet::InsertItem,
also drop the remaining logic from the ValueSet
implementation.

This also means that the `rRenderContext` param for
ValueSet::ImplFormatItem becomes unused. Dropping
it and related cleanup will be done in an upcoming
commit.

Change-Id: I3593630b4758d0547264c0ed63fec7ac111ccfd7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211910
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-10-07 17:52:40 +02:00
Michael Weghorn cd6d8538d0 svtools: Drop always false ValueSet::InsertItem bLegend param
No single caller passes any explicit value for that
param, so the default of `false` is always used.

Drop the param and simplify the implementation a bit.
This will also allow for further cleanup in an upcoming
commit.

Change-Id: I0d2f691eecfac013bc8ad3e506484d958d18ce0a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211909
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-10-07 17:52:18 +02:00
Michael Weghorn 9ad54fe80e svtools: Drop now unused ValueSet::SetItemImage
The last caller of that method was ported from ValueSet
to weld::IconView in previous commit

    Change-Id: I28d86251b70149574535dc7b583660dbe42e9a0d
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Tue Oct 6 15:01:52 2026 +0200

        svx: Port ExtrusionLightingWindow from ValueSet to weld::IconView

Change-Id: I232f3767268a4fde206515f2a6d92e35c664ccd1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211904
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-10-07 17:50:55 +02:00
Michael Weghorn a91d44317a svtools: Drop ValueSetItem::mnTextOffset
After

    Change-Id: I0150e699602a625874e5a09b8df38110f52c0c03
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Tue Oct 6 12:15:49 2026 +0200

        svtools: Drop now unused WB_NAMEFIELD logic from ValueSet

, that member is only written to, but never read, so drop
it completely.

Change-Id: I974183e725e3c530162152debd29bbf207b21b6b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211899
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-10-07 17:50:08 +02:00
Michael Weghorn 0e206454b1 svtools: Drop now unused WB_NAMEFIELD logic from ValueSet
The last case where that style flag was set was ported
away from ValueSet to use weld::IconView instead in earlier
commit

    Change-Id: I1c23a305322105608d0152bcd0b0fa195be14eff
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Tue Oct 6 11:48:21 2026 +0200

        cui: Port Callout tab page from ValueSet to weld::IconView

Therefore, drop the logic in ValueSet handling that
flag, to simplify the code.

This also means that the `pItem` param for ValueSet::ImplDrawSelect
is now unused, so drop that one, too.

Change-Id: I0150e699602a625874e5a09b8df38110f52c0c03
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211898
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-10-07 17:49:55 +02:00
Michael Weghorn e0d0f4ca38 svtools: Drop unnecessary write to local var
The value of `n` is only used in the first branch.
Reduce the variable scope to that one.

Addresses this warning shown in Qt Creator:

    /home/michi/development/git/libreoffice/svtools/source/control/valueset.cxx:1522:8: Value stored to 'n' is never read [clang-analyzer-deadcode.DeadStores]

Change-Id: Ib6e74fb35152c1d6098274e1fd5a9a60253b4900
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211897
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-10-07 17:49:47 +02:00
Michael Weghorn e6dba93731 svtools: Drop now unused logic for custom ValueSetItem data
The last caller of ValueSet::SetItemData and
ValueSet::GetItemData was ported away from
using ValueSet in

    Change-Id: I423e80bba9e81a98e80652f6486970d40286362e
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Fri Oct 2 12:36:17 2026 +0200

        svx: Switch to weld::TreeView in LineWidthPopup

. Drop the now unused methods and the corresponding
ValueSetItem::mpData member that could previously be used
to store custom data in an item.

Similar logic still exists in weld::IconView
and weld::TreeView, which should generally be preferred
over using the custom ValueSet widget.

Change-Id: I7d58ff933cb78a1157d3628096a17f68ddf2034d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211737
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-10-05 22:59:50 +02:00
Laurent Balland 77478ebbcc tdf#171207 Remove right clic to other navigation buttons
After adding a new button in the TabBar with
https://gerrit.libreoffice.org/210677
right clic is useless for any button of the TabBar

Make some cleanup to remove unused functions

Change-Id: Id141c077583e6d3ea774b902046e871af2b8936a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211778
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2026-10-05 14:07:46 +02:00
Heiko Tietze 8cd7669caf Resolves tdf#173747 - Spelling and Grammar Checker Readability
Using 0xf10d0c ("Dark Red 1") for Spelling brings a contrast of 4.8
and 4.37:1 against white and dark respectively. 0x3465a4 ("Dark Blue 1")
for Grammar results in 5.92 / 3.54.

Change-Id: I8347c2dd68e25aea33f7f2476f6b6d2db370ee7e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211616
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2026-10-01 09:07:18 +02:00
Michael Weghorn 2e48a78172 svtools: Return entries in FontNameBox::LoadMRUEntries
Let FontNameBox::LoadMRUEntries simply return the
entries loaded from the file instead of applying
them to the combobox right away.

Let the only caller FontNameBox::Fill do the insertion,
which also unifies the two different code paths of
either reinserting the existing entries or setting
the ones loaded from the file a bit more.

While at it, also rename the local `rEntries`
variable to `aEntries`, to make clear this is
not actually a reference (as the `r` prefix
previously suggested).

Change-Id: I89c14f2bcd34c4b6b4decf33e98bef54e7b31cf0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211536
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-09-29 08:51:21 +02:00
Andrea Gelmini dade1d3f9d Fix typo in code
Change-Id: I40f96dbcd3419d10477a00c25f9877b4f4067973
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211194
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2026-09-22 21:58:28 +02:00
Laurent Balland 567cbc9557 tdf#171207 Remove right clic for Add sheet button
After adding a new button in the TabBar with
https://gerrit.libreoffice.org/210677
right clic is useless for Add Sheet button

Change-Id: Ie6bc3c28f3f7654f3f7a7e3747faa418f6d19411
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211227
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2026-09-21 13:11:20 +02:00
Heiko Tietze 92320dcca1 Resolves tdf#61134 - Show the sustituted font name in the tooltip
Shows what font is subsituted in the tooltip or that no subsitution
is available

Change-Id: I6171f1a0163d1cde82dba93386d189e0cd1e77c9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211098
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2026-09-21 10:48:54 +02:00
Michael Weghorn d2a4355fd9 svtools a11y: Return directly in ValueItemAcc::getAccessibleAtPoint
Drop local variable and simply return the empty
reference right-away.

Change-Id: I85dd3db8bdf3190dfb5634d62c687900969c5651
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211221
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-09-20 22:22:20 +02:00
Michael Weghorn f59c0bbdf9 svtools a11y: Return result without assigning to local var first
Return result directly, without assigning to a local XAccessible
var first.

Change-Id: Iae083481d969e3266b79c124bda5230f71dd9641
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211220
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-09-20 22:22:02 +02:00
Michael Weghorn 0dd55d48d8 svtools a11y: Drop local var in AccessibleTabBarPageList::getAccessibleParent
Return result directly, without assigning to a local XAccessible
var first.

Change-Id: Iaec2859b75c5959600b1ceda74dbe0086147e4c8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211219
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-09-20 22:21:36 +02:00
Michael Weghorn 4bec79c9d1 svtools a11y: Switch AccessibleTabBarPage::m_xParent to OAccessible
Use the more concrete OAccessible instead of the abstract
XAccessible UNO interface for AccessibleTabBarPage::m_xParent,
to make clear the parent is always a subclass of that class.

Change-Id: If70401a3403a9c2a6e2205a82bc7fe705d4be510
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211218
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-09-20 22:21:13 +02:00
Michael Weghorn 0052f68196 svtools a11y: Switch SvtRulerAccessible::mxParent to OAccessible
Use the more concrete OAccessible instead of the abstract
XAccessible UNO interface.

Change-Id: Ia5fa91df519662b3ac254369b464f6b60a534748
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211185
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-09-20 22:12:34 +02:00
Michael Weghorn d5d51180a5 svtools a11y: Pass OAccessible for SvtRulerAccessible parent
The parent is known to be an OAccessible subclass, so pass
that more specific type instead of the abstract XAccessible
UNO interface.

Change-Id: Ib7b91301cc77046bf9fb4abb24e43cff7e64690e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211184
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-09-20 22:12:19 +02:00
Michael Weghorn 0c205b7fb8 svtools a11y: Use OAccessible in Ruler::CreateAccessible
Use the more concrete OAccessible for the local variable
instead of the abstract XAccessible UNO interface.

Change-Id: I2ae5f37e473220040379b8096b4e5259394aa076
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/211183
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-09-20 22:12:00 +02:00
Laurent Balland a79c0c4c39 tdf#171207 Add a button to list sheets
The list of sheets is already available via right clic on any activated button
in the navigation bar. However, it is somehow hidden for the user.
This change added (for LTR and RTL UI) a hamburger button which show the list
with a simple left click.

Change-Id: Ic21b1e4d345a10bf86f2e97d1f7749bbcacc7a6e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210677
Tested-by: Jenkins
Reviewed-by: Laurent Balland <laurent.balland@mailo.fr>
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2026-09-19 09:23:16 +02:00
DrRobotto 639d650f40 tdf#84426 - Always paint a button face behind the extra field
Change-Id: I2be012038a98598e4af4c56a7b7b24904c5e36a8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210652
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2026-09-12 11:23:07 +02:00
Michael Weghorn 02952b5956 svtools a11y: Drop unused XServiceInfo include
Change-Id: I91276b4a67e1144928e14595cd038db1689ab0d9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210411
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-09-03 09:23:03 +02:00
Michael Weghorn b753d44961 svtools a11y test: Drop long disabled AccessibleBrowseBox* Java tests
Those Java a11y/UNO tests have been disabled since

    commit d3d4b6789d
    Author: sb <sb@openoffice.org>
    Date:   Mon Apr 19 17:00:47 2010 +0200

        sb120: #i110988# disable failing tests for now

The test can still be seen failing e.g. by enabling the
first one locally again and then running
`make JunitTest_svtools_unoapi`.

Drop the broken tests altogether.

If there should be a relevant tests again in the future,
writing new (presumably C++, see [1]) ones from scratch seems more
promising than having to deal with these outdated and disabled
tests.

Dropping them also prepares for an upcoming a11y change
that would break even more assumptions that the tests make.

[1] https://wiki.documentfoundation.org/Development/Accessibility_Unit_Tests

Change-Id: I919a9908cc39d5cfefb6368433ed0e2bbe16cc78
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210359
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-09-02 14:33:20 +02:00
Michael Weghorn 894664eae1 a11y: Drop some VCLXAccessibleComponent::getImplementationName overrides
Reporting separate implementation names for those
VCLXAccessibleComponent subclasses doesn't add
any value. (Those implementation names aren't used/
checked anywhere.) Drop these overrides.

Change-Id: I5901d6a504c6edec3768e981a7393a845a31836e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210357
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-09-02 14:32:00 +02:00
Michael Weghorn 7ee0cb44c5 [API CHANGE] a11y: Drop com.sun.star.awt.AccessibleTabBar
Drop the unpublished service
"com.sun.star.awt.AccessibleTabBar"
because it's unused. (The IDL file only documents some
internal implementation details of the a11y class
implementing the service.)

Change-Id: I45c91c50b72f8152e545ceb5fce88ec429e72390
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210311
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-09-01 09:11:45 +02:00
Michael Weghorn 6a4ef93a54 [API CHANGE] a11y: Drop com.sun.star.awt.AccessibleTabBarPage
Drop the unpublished service
"com.sun.star.awt.AccessibleTabBarPage"
because it's unused. (The IDL file only documents some
internal implementation details of the a11y class
implementing the service.)

Change-Id: I7af89ae1202b6e33248587f71dd8a5b0e3558e7c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210307
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-08-31 22:46:25 +02:00
Michael Weghorn 834f20c9f3 [API CHANGE] a11y: Drop com.sun.star.awt.AccessibleTabBarPageList
Drop the unpublished service
"com.sun.star.awt.AccessibleTabBarPageList"
because it's unused. (The IDL file only documents some
internal implementation details of the a11y class
implementing the service.)

Change-Id: I48ad71f52842efc5a8b30002e435c05be866a19c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210306
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-08-31 22:46:18 +02:00
Michael Weghorn 8bf40d62b6 Move QueryDialog to svtools
Move QueryDialog from cui to a public svtools header.
This is in preparation of using the class directly
and dropping the AbstractQueryDialog abstraction
altogether.

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

* start Writer
* Ctrl+Shift+S for "Save As"
* select "Text (.txt)" for the file type
* press OK

(Resetting the profile ensures the dialog gets shown
in case the "Don't show again" checkbox has been ticked
previously.)

Change-Id: I57bdade32c21c7ab40c5a4c90bd86e8dea5d2fad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/210136
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-08-27 23:36:10 +02:00
Hossein 191c23dc4e Improve restartdialog.ui by using a single label
Previously, multiple labels were defined for restartdialog.ui, one for
each reason! This patch modifies the ui file, leaves only one label and
sets its text for each reason of restart.

The patch is written in a way to make the changes minimal and keep the
behavior unchanged, and also keep the strings translateable with the
context preserved.

Change-Id: I3168beed6170e3bf8d3f24aa111de07177991bfa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/209010
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
2026-08-07 08:54:29 +02:00
AsmatZahra-code b28b657416 tdf#172210 Advise restart when changing High Contrast setting
Tools > Options > LibreOffice > Accessibility > High Contrast
has three possible values. Changing this setting requires a
restart to take effect, but no restart dialog was shown.

Add a new RESTART_REASON_HIGH_CONTRAST reason and wire it up
in SvxAccessibilityOptionsTabPage::FillItemSet() following the
same pattern used for Skia and Threaded Calculation settings.

Also call save_value() in Reset() so that
get_value_changed_from_saved() correctly detects whether the
user actually changed the combo-box value before showing the
dialog.

Change-Id: I1d628ce04bc8f7cf6f1b4e4a8bb7a44a0a653c0c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208996
Reviewed-by: Hossein <hossein@libreoffice.org>
Tested-by: Jenkins
Tested-by: Hossein <hossein@libreoffice.org>
2026-08-05 12:08:39 +02:00
Mike Kaganski 645df7d9b7 tdf#101630: Make local HTTP server cross-platform, using boost/beast
Allows proper Google Drive authentication e.g. on Linux.

Change-Id: I16efa58ba90b98e71b13a0081dcdcc9d660db0b6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201714
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Signed-off-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201820
2026-07-28 23:23:28 +02:00
Michael Weghorn c8c367b31a Use vcl::WindowData instead of string for window state in more places
vcl::WindowData is used to manage/store various state
information for windows. It can be (de)serialized to/from string.

So far, both the weld::Window API to get/set window state
as well as the SvtViewOptions API were based on the string
representation.

Switch those and various related places to using vcl::WindowData
instead to use a stronger/more specific type than just OUString
in various places across the code base.

Do the string (de)serialization where necessary, but otherwise
prefer to use vcl::WindowData directly.

Calling weld::Window::set_window_state with a WindowData
param that doesn't indicate that anything should be set
(i.e. whose mask is vcl::WindowDataMask::NONE) should
have no effect, so drop extra checks that were previously
checking whether the string representation was empty
and skipping the call to weld::Window::set_window_state in
that case.

No change in user-observable behavior intended or
seen in a quick test.

Change-Id: I5bc4caeb49d0ab2bbc4fa597a5ef19d86d3aac2c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208125
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-07-15 14:45:49 +02:00
Michael Weghorn 312aac710b Move SvtViewOptions from unotools to svtools
The SvtViewOptions class is used to store the state
of windows/dialogs.

So far, SvtViewOptions::SetWindowState and
SvtViewOptions::GetWindowState are string-based
and the callers are responsible for (de)serializing
the vcl::WindowData to/from string.

This will be changed to become the responsibility
of SvtViewOptions in an upcoming commit.

Since unotools is below vcl in the module
dependency chain, it cannot make use of vcl,
i.e. vcl::WindowData couldn't be used there.

Therefore, move SvtViewOptions from unotools
to svtools, which is above vcl in the module
dependencies.
(svtools/README.md summarizes the purpose of the
module as "Tools on the Top of VCL", which seems
an appropriate place for helper code to manage
the state/options for dialogs, tab pages,...)

Change-Id: If849224c35c7ac895659ddb7c17e6d17061d61a4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208124
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-07-15 14:45:41 +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
Heiko Tietze 08f5d410a4 Related tdf#121174 - Make module-specific colos non-configurable
Colors were introduced as ThemeColors since they are not entirely application
colors (but also not really UI-related) and because svtools:: is not accessiblke
in vcl. This patch makes the colors hard-coded therefore, still allowing to
disable it but only via expert setting NotebookbarColorTransparency.
It also enables the colors on macOS following the positive feedback.

Change-Id: Iece63d440349b0c42ea6dbc1dad36f0b1e7120a0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207476
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2026-06-30 10:04:33 +02:00
Khaled Hosny d47d44191d tdf#152396: List extended subfamily names in the style box
FontStyleBox::Fill inserted an entry only when weight/italic/width
attributes differed from the previous one, but these are not the only
attributes that can change between style. For example Fontin Sans has
both Regular and Small Caps styles and they have the same
weight/italic/width, so we were showing Regular while using Small Caps.

Change-Id: I01f6530c1c54e083faf722eabfac7ab925b39c00
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207382
Tested-by: Jenkins
Reviewed-by: Khaled Hosny <khaled@libreoffice.org>
2026-06-27 22:55:21 +02:00
Khaled Hosny 08c6344675 tdf#152396: Apply a chosen font subfamily as the style name
The Character dialog registered a change only when the family name
differed, so picking an extended style of the same family (say a width
such as "Condensed") updated weight/italic but never stored the chosen
subfamily.

Store the chosen style as the text's typographic subfamily, and detect
style-name-only changes too. R/I/B/BI styles stay weight/italic-only, so
common case is unaffected. Since the style box is localized, we map it
back to the font’s own style name to keep the stored subfamily
locale-independent, and show it again on reset.

Change-Id: I9cef7071af1c62829572253f7c9f6cee36ad8266
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207330
Tested-by: Jenkins
Reviewed-by: Khaled Hosny <khaled@libreoffice.org>
2026-06-26 09:33:30 +02:00
Khaled Hosny 6891d3bac0 tdf#152396: Sort normal font width first in the style list
Ordering did not take width into account, so width styles would appear
first based on alphabetical order.

Change-Id: Ifd34d2acc1c9f832eac66209d422bcf80e3f02f7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207323
Reviewed-by: Khaled Hosny <khaled@libreoffice.org>
Tested-by: Jenkins
2026-06-26 09:33:17 +02:00
Andras Timar 186ad46f74 Fix SIGBUS in EmbeddedObjectRef::GetGraphicStream with dangling OLE reference
During background slide thumbnail rendering, the slide sorter cache
can hit a SIGBUS when rendering OLE embedded objects. The crash occurs
in EmbeddedObjectContainer::GetEmbeddedObjectName() where the
unordered_map<Reference<XEmbeddedObject>, OUString> find operation
calls operator== on References, which uses iquery/queryInterface to
normalize interface pointers. If any entry in the same hash bucket
holds a dangling pointer, the queryInterface dereferences freed memory
whose vtable pointer is 0x0, causing SIGBUS.

Use the already-available aPersistName to look up the graphic stream
directly from container storage, bypassing the dangerous map traversal
entirely.

Change-Id: I5f99ebfd05c2daf06045c6c7124f4b598cf5f9d6
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/758
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/1441
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
(cherry picked from commit 48e594fa9562451a8f9e0781915581a8b4417253)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207064
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2026-06-21 20:44:33 +02:00
Noel Grandin eb3cee606e template static field appearing in two different CUs
I saw some warnings and got suspicious, so I converted
the OSL_ENSURE to assert, and then found that we
have two copies of the s_nRefCount static field, which
obviously causes trouble.

I tried to fix this by removing usage of this dubious
template class, but the templates classes are intertwined,
and that lead to a very large patch with weird failures.

So this is a hacky minimal fix, using explicit template
instantiation to force the code to only be emitted
in a single library.

Change-Id: I634afb8b40570f2e7e0f8da541b8a2b6325fdc29
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/904
Reviewed-by: Noel Grandin <noel.grandin@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit af69817a343ccf1411f6f8980c94ed1f696769b4)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207023
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2026-06-20 14:20:53 +02:00
Michael Weghorn a7a599ddad svtools a11y: Pass OAccessible to BrowseBox::getAccessibleHeaderCell
Use more concrete OAccessible instead of the
abstract XAccessible UNO interface.

Change-Id: I46a5bd0af8c731a1da39f1960664152ee9c7c16c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206731
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-06-19 18:11:56 +02:00
Michael Weghorn a5861f19f6 vcl a11y: Return OAccessible in 2 IAccessibleTableProvider methods
Return the more concrete OAccessible class instead of the
abstract XAccessible UNO interface.

Change-Id: Ifc50ac7f74bf1743e849f905af3b9b66b7a98eba
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206730
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-06-19 18:11:49 +02:00
Michael Weghorn e0fce78cbf svtools a11y: Return OAccessible in BrowseBox::getAccessible*
Return the more concrete OAccessible class instead of the
abstract XAccessible UNO interface.

Change-Id: I6e8b74c9bc06a72ab316ba97d76172529e9ab85b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206729
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-06-19 18:11:41 +02:00
Michael Weghorn 8bb4816710 svtools a11y: Use OAccessible for BrowseBox::THeaderCellMap
Use the more concrete OAccessible class instead of the
abstract XAccessible UNO interface.

Change-Id: I475ff467c5e430825e265d27972629a3f2f111f8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206728
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-06-19 18:11:29 +02:00
Michael Weghorn a14a19a83c a11y: Drop unused AccessibleBrowseBox includes
Directly include the OAccessible header where the
code was previously depending on transitive includes.

Change-Id: I83750f8db6f843e9afc0a2b95bd7969667550992
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206727
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-06-19 18:11:22 +02:00
Xisco Fauli 6ac93e562a normalize some namespace declarations
Change-Id: I4cc17f852dd58d95e97cdc673d1f1ca0c6de6c03
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206636
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-06-15 22:35:56 +02:00
Michael Weghorn 437c7136b6 svtools: Add missing include for rtl::Reference
Adresses this error shown in Qt Creator when opening
svtools/source/control/valueimp.hxx:

    valueimp.hxx:47:10: No template named 'Reference' in namespace 'rtl' (fix available)

It probably doesn't show up during the build because
of relevant other headers being included before this
one, but that shouldn't be necessary.

Change-Id: I2178b2eb918ba3e5a33a58ecbfff73049dbd163f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206257
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-06-10 09:46:50 +02:00
Michael Weghorn 24dd9846c1 svtools: Drop ValueSet logic using VALUESET_ITEM_NONEITEM
This should now be irrelevant after

    Change-Id: Iddf8cb3f8b8b0c81d469c0cd4b5d473634f7bac9
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Tue Jun 9 15:07:39 2026 +0200

        svtools: Drop ValueSet's WB_NONEFIELD flag

and

    Change-Id: I2e12d4664418d40df85a1f791893109695c31398
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Tue Jun 9 15:30:02 2026 +0200

        svtools: Drop always null ValueSet::mpNoneItem

, so drop VALUESET_ITEM_NONEITEM and logic depending on it
altogether.

Change-Id: I9ace1a6c6d26ebd14c87ed8f0e52c053c6c10615
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206256
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-06-10 09:46:43 +02:00