Commit Graph
2466 Commits
Author SHA1 Message Date
Michael Weghorn 08e9d83ba6 sfx2: Drop SfxStatBar_Impl struct with only a single member
The SfxStatBar_Impl struct only has a single StatusBarId
member. Use StatusBarId directly instead and drop the
struct.

Change-Id: Icc56290e3024baf83ae3e08da82749cec1b7b675
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208115
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-07-15 14:44:50 +02:00
Andreas Heinisch 5d686928d8 tdf#38742 - Draw a separator line between the pinned/unpinned items
Change-Id: Ie67da6bc2113ca9922e8e3b2c6fe426a1ac6e5c3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207722
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
Tested-by: Jenkins
2026-07-07 21:35:54 +02:00
Michael Weghorn 2dca1c0f02 weld: Rename TreeView *_column_clicked methods to *_column_header_clicked
Rename weld::TreeView::connect_column_clicked
and weld::TreeView::signal_column_clicked to make
clear that they are not about a click anywhere in a
column, but about the column *header* being clicked.

The GTK 4 doc for the corresponding
GtkTreeViewColumn::clicked signal [1] by which the API
was apparently inspired is clear about this:

> Emitted when the column’s header has been clicked.

[1] https://docs.gtk.org/gtk4/signal.TreeViewColumn.clicked.html

Change-Id: I0b4b337b5ca938bb1526d9857ed2b0b244daf23c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207591
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-07-03 22:26:00 +02:00
Michael Weghorn b78cca5278 sfx2: Pass ThumbnailViewItem::addTextPrimitives attr param by ref
Change-Id: I7bdb9f5099e95925267eb5a960c6fd7720008381
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207574
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-07-02 23:18:06 +02:00
Michael Weghorn c2755084c3 sfx2: Pass ThumbnailViewItem::Paint attr param by ref
Pass the param by ref instead of pointer. This makes
clear the param is always non-null.

Change-Id: I8b91f0aa63267ed3d719b626d72145b03acca64e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207573
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-07-02 23:17:58 +02:00
Michael Weghorn 9dad0389fd sfx: Switch TemplateViewItem::getDefaultIcon{Area -> Position}
The only caller of TemplateViewItem::getDefaultIconArea
is only interested in the top left position
of the returned rectangle. Simplify to return that
and rename the method accordingly.

Change-Id: Ieb25f678059e48afe3398d307e49f496a8446022
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207572
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-07-02 23:17:46 +02:00
Michael Weghorn a7802cf7c7 sfx2: Deduplicate TemplateDlgLocalView::PopupMenuHdl more
Share logic that is the same for both if/else branches.

Change-Id: I2f571540ae6d82aa07603c1a95427c22b0769c6f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207365
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-06-27 06:33:03 +02:00
Michael Weghorn 9a90433bb3 sfx2: Deduplicate TemplateDlgLocalView::PopupMenuHdl
Move code that is the same for the if/else branches
out of those to share it.

Change-Id: Ibf0c6a08e4b98bf5eb16defad33bd437a145033b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207364
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-06-27 06:32:56 +02:00
Michael Weghorn cdc69b28f9 sfx2: Use range-based for in TemplateDlgLocalView::syncCursor
Change-Id: Ia4bcab8d06f669026756b946cb13adc4ab883323
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207363
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-06-27 06:32:49 +02:00
Michael Weghorn 107d5b0eb4 sfx2: Introduce TemplateDlgLocalView::GrabFocus
Let the TemplateDlgLocalView take care of
focusing the widget that is currently enabled
due to the current mode instead of having
to take care of such implementation details
in SfxTemplateManagerDlg that uses
TemplateDlgLocalView.

Change-Id: I1cdf66fd93dcab84b82c6de97cf658c371f7d19a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207358
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-06-27 06:32:13 +02:00
Michael Weghorn a9b6e8fed9 sfx2: Let ListView connect its own column click handler
Do that in the class itself, instead of calling
weld::TreeView::connect_column_clicked in the
only subclass.
Also make the handler (and while at it, also the tooltip
one) private.

Change-Id: I18cb307b65c49cd1217d2b47ace8a53e94d87faa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/207357
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-06-27 06:32:04 +02:00
Caolán McNamara 579f8080ed sfx2: move doctemplateslocal.hxx to the shared source/inc dir
This removes the last ".." include and the build-directory-dependent
dependency path it produced.

Signed-off-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Change-Id: I2c46b6104f581f8f30df4b7d67f4c0532bb2f097
Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/3993
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 0c8bd5df341d2a54acd3b52f414e850996a54e5a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206245
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-09 15:43:37 +02:00
Xisco Fauli 80c1a38018 sfx2: drop IsCommandAllowedInLokReadOnlyViewMode
it allows to drop setAllowChangeComments and setAllowManageRedlines
as well

The logic was relevant for Collabora Online
but it's no longer using this repo

Change-Id: I47a7eeddab000d748ba08896592e9403fdf010fc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/206240
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-06-09 14:48:59 +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
Xisco Fauli f436c1cd89 drop isLOKMobilePhone
follow-up of
commit 8b90f2cd18
Author: Heiko Tietze <tietze.heiko@gmail.com>
Date:   Thu May 28 09:05:55 2026 +0200

    Remove wordcount-mobile dialog

This commit also reverts
commit 5eec86d6c4
Author: Caolán McNamara <caolan.mcnamara@collabora.com>
Date:   Tue May 6 16:38:57 2025 +0100

    no searchicon (or searchbox) in mobile version of search dialog

Change-Id: I7dd37f5e6575f2f1b7748ce6c1bd6ddadb8c3e77
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205826
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-29 13:38:32 +02:00
Mike Kaganski b916aae469 sc: COKit support for resolving and inserting Calc threaded comments
Add SID_INSERT_THREADED_COMMENT slot (.uno:InsertThreadedComment) and
SID_RESOLVE_THREADED_COMMENT slot (.uno:ResolveComment) to the Calc cell
shell. The insert handler creates a note with ScThreadedCommentData,
generates a random GUID for the comment and a deterministic UUID v5
(SHA-1, RFC 4122) for the person entry. The resolve handler toggles the
resolved state.

Include "threaded" and "resolved" fields in the COKit comment JSON
payload; when COKit is active, send the actual threaded root text
instead of the legacy fallback.

Rename .uno:InsertAnnotation label to "Insert Note" in Calc, and add
.uno:InsertThreadedComment as "Insert Comment" — matching Excel's
terminology where Notes are the old-style and Comments are threaded.

The unit test for this is on the Online side (cypress).

Signed-off-by: Mike Kaganski <mike.kaganski@collabora.com>
Change-Id: I398ee844d8706626eb859447021c4d4630d48631
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/804
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit 894a2346a3fd37f9404147137f6bc5fe94c2fc99)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205352
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-05-20 09:45:48 +02:00
Asim Raza 31889dedea tdf#153109 tdf#170269 Use STL algorithms and std::ranges over manual loops
Replace hand-written search loops with C++ STL algorithms
(std::any_of/std::find/std::find_if and std::ranges variants) for
clarity and conciseness across sc, sfx2, and sw modules.

Change-Id: Id0c9da990280c3718aee03c74f932a0c9a7bdf24
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204349
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
2026-05-16 15:03:19 +02:00
Samuel Mehrbrodt e77b64c96d Handle re-entrant SfxBindings::Register/Release during status update
Replace DBG_ASSERT with SAL_INFO in both Register_Impl and Release
since re-entrancy here is valid, and restart the update loop when
detected.

Re-entrancy call chain:

  NextJob_Impl
    Update_Impl
      FillState_
        ScTabViewShell::GetStyleState
          SfxBindings::QueryState
            ... (dispatch provider chain)
            SfxBindings::GetDispatch
              SfxOfficeDispatch ctor
                SfxDispatchController_Impl ctor
                  BindInternal_Impl
                    Register_Impl

GetStyleState queries a slot's state through the dispatch provider
chain. SfxBindings::GetDispatch constructs a new SfxOfficeDispatch
whose SfxDispatchController_Impl registers itself as an internal
controller, re-entering Register_Impl while bInNextJob is set.

In Register_Impl, inserting a new cache sets bMsgDirty. In Release,
removing the last controller from a cache leads to LeaveRegistrations
erasing the cache from pCaches. Both cases invalidate NextJob_Impl's
cached nCount. The bMsgDirty check after Update_Impl detects this and
restarts the loop so UpdateSlotServer_Impl runs first.

Change-Id: Ifcbff9c84d037f093668c789b828d630c1bd9604
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/141
Reviewed-by: Stephan Bergmann <stephan.bergmann@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 6629080e76b2a3c5db76607325edcc26ea34e278)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205194
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2026-05-15 08:30:17 +02:00
Stephan Bergmann 811769f009 Consistently use __EMSCRIPTEN__ instead of EMSCRIPTEN macro
...as emsdk 5.0.3 deprecated the predefined EMSCRIPTEN macro (see
<https://github.com/emscripten-core/emscripten/commit/506052bd8b4e23ded7f2351c62ca3b24d40c8cf3>
"Warn about usage of deprecated EMSCRIPTEN macro. NFC (#26381)"), causing
failures like

> In file included from static/source/unoembindhelpers/PrimaryBindings.cxx:29:
> In file included from include/sfx2/viewsh.hxx:35:
> In file included from include/editeng/outliner.hxx:32:
> In file included from include/tools/color.hxx:26:
> include/osl/endian.h:66:15: error: macro 'EMSCRIPTEN' has been marked as deprecated: use __EMSCRIPTEN__ instead [-Werror,-Wdeprecated-pragma]
>    66 | #elif defined EMSCRIPTEN
>       |               ^
> /home/sberg/emsdk/5.0.4/emsdk/emscripten/main/cache/sysroot/include/emscripten/emscripten.h:35:66: note: macro marked 'deprecated' here
>    35 | #pragma clang deprecated(EMSCRIPTEN, "use __EMSCRIPTEN__ instead")
>       |                                                                  ^

To avoid confusion, also suppress the -D$(OS) in
solenv/gbuild/platform/unxgcc.mk that would unnecessarily keep defining
EMSCRIPTEN.

Change-Id: Ic1f187cf1c6417cd95d4092e9cea01a665bd1b2f
Reviewed-on: https://gerrit.collaboraoffice.com/c/core/+/34
Reviewed-by: Michael Stahl <michael.stahl@collabora.com>
Tested-by: Jenkins CPCI <releng@collaboraoffice.com>
(cherry picked from commit 50291c2ed83bdb49bb827a4a12905d94b8c42035)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/205167
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-05-14 10:11:38 +02:00
Asim Raza dab780a494 tdf#145538 sfx2: Use range-based for in charmapcontainer
Replace iterator-based for loop with range-based equivalent in
SfxCharmapContainer when populating the icon view from a char list.

Change-Id: I40169c9cb23ae75977a5efaf9aed15d1af0e4786
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204690
Tested-by: Jenkins
Reviewed-by: Neil Roberts <nroberts@libreoffice.org>
2026-05-03 10:05:36 +02:00
Szymon Kłos 0e62b9ea7d Table Styles: lok: send notifications on update
- uno slots have already infrastructure for sending on load
  and invalidation

Change-Id: I68011a7df15a6570a00630db8ce6333bf52d1aec
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200437
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
(cherry picked from commit 926b024472b81f4c5dbd4922b1b33e18cde85a3d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204507
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2026-04-29 12:27:49 +02:00
Heiko Tietze ca4328f998 Resolves tdf#169313 - Invert 'Show Again' logic on query dialogs
* Checkbox label and position as well as button width and margins
  at the UI changed
* Consistent access to the variable via a new class including
  the consistent storage of the query flag
* Additional buttons added to have homogeneous Yes/No as well as
  non-homogeneous long names, eg. for file formats

Change-Id: Icfbd923b298e1192a1474519543986142167f6c7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203572
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2026-04-28 11:28:06 +02:00
Michael Weghorn cc971384d0 sfx2: Drop unnecessary else block
No need for an else block, because there is a return
statement in the if block.

Also merge variable declaration with assignment.

Change-Id: I45cb7ebbc621962badec7d01fcc742717dc82f6c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203846
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-04-18 07:07:48 +02:00
Michael Weghorn 6ff007506e sfx2: Pass SfxBindings::Execute_Impl shell param by ref
Change-Id: Ifcfb05a5e86a42deb181cb45b0efe9b68251adb6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203845
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-04-18 07:07:39 +02:00
Michael Weghorn 6edfb00862 weld: Switch IconView selection changed signal param to ItemView
Switch the param for the signal and handlers used when
the selection in a weld::IconView changes from weld::IconView&
to the base class, weld::ItemView&.

This is in preparation of moving the logic to the weld::ItemView
base class in an upcoming commit.

This is the IconView equivalent of previous commit

    Change-Id: I0bbf8fe1dbd95906a5224155d48d832bcd144532
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Thu Apr 9 13:45:18 2026 +0200

        weld: Switch TreeView selection changed signal param to ItemView

Change-Id: I87fad3a129128d4387adfdd75d18e93f05af5e84
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203367
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-04-10 06:36:33 +02:00
Michael Weghorn 03d5d803c4 weld: Switch TreeView selection changed signal param to ItemView
Switch the param for the signal and handlers used when
the selection in a weld::TreeView changes from weld::TreeView&
to the base class, weld::ItemView&.

This is in preparation of moving the logic to the weld::ItemView
base class in an upcoming commit.

Handler implementations that require a weld::TreeView
instance can use the one that the signal is connected
to, e.g. use the class member directly inside of the
implementation instead of using the param (as is done
in most of the places anyway).

Change-Id: I0bbf8fe1dbd95906a5224155d48d832bcd144532
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203366
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-04-10 06:36:08 +02:00
Michael Weghorn 8ff8ad952e weld: Rename row activation related TreeView members to match IconView
Rename methods and field related to signalling activation
of a weld::TreeView row to use the same names as the equivalent
ones for signalling activation of an entry in weld::IconView:

* weld::TreeView::m_aRowActivatedHdl -> weld::TreeView::m_aItemActivatedHdl
* weld::TreeView::signal_row_activated -> weld::TreeView::signal_item_activated
* weld::TreeView::connect_row_activated -> weld::TreeView::connect_item_activated

This is in preparation of deduplicating the weld::TreeView
and weld::IconView implementations for these by moving them
to the common weld::ItemView base class in an upcoming commit.

Change-Id: I4ca4dec1295c57cea574b68fd41b89c12144c4f9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203350
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-04-10 06:29:43 +02:00
Michael Weghorn 11789e47ac weld: Pass activated row in TreeView::signal_row_activated
This is basically the weld::TreeView version of earlier
commit

        Change-Id: I8ca62ac32108f01e2055d5ef9301de22eb5b1931
        Author: Michael Weghorn <m.weghorn@posteo.de>
        Date:   Wed Apr 8 12:35:25 2026 +0200

            weld: Pass activated item in IconView::signal_item_activated

applying an equivalent change for weld::IconView instead
of weld::TreeView. See that commit for more details/background.

For weld::TreeView, the weld::TreeIter refers to
a full row (and columns are handled separately
by a column index in the weld::TreeView API).

As for the above commit:
Initially, leave the logic of the existing signal handlers/callbackes
(in dialog implementations) unchanged. At least some of them
will be simplified in upcoming commits to use the
newly passed weld::TreeIter param directly instead of
determining the current/activated row a different
way.

Change-Id: Ie6a962702d4f7f069b2f7b77a22a78722b2a6408
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203331
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-04-09 10:21:45 +02:00
Michael Weghorn ad57df3ac7 sfx2, special chars: Use activated item passed as signal handler param
Make use of the new param introduced in

    Change-Id: I8ca62ac32108f01e2055d5ef9301de22eb5b1931
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Wed Apr 8 12:35:25 2026 +0200

        weld: Pass activated item in IconView::signal_item_activated

to simplify the existing handlers/callbacks that get
called when a favorite/recent special character is activated
in the icon views used in the special characters dialog and
popup instead of having extra logic to get the (first) currently
selected item in the icon views.

Change-Id: I24941043fc67fbe43a4f0b335cb8d96d6f4a5c07
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203318
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-04-09 10:19:45 +02:00
Michael Weghorn f792e696b4 weld: Pass activated item in IconView::signal_item_activated
So far, the IconView::signal_item_activated was called
with the weld::IconView itself as a parameter, i.e.
the information what item was selected wasn't directly
passed to the signal handlers.

Change that to pass a weld::TreeIter param referring to the
activated item instead of the IconView itself.

The information what item was activated is relevant
and this way, there is no need to determine it some
other way in the handlers (e.g. by using the first
selected entry).

This also aligns this more with what UI toolkits
like GTK and Qt provide.

For GTK, the GtkIconView::item-activated signal [1]
has the path of the activated entry.

For Qt, the QAbstractItemView::activated signal [2]
has the QModelIndex of the activated item.

For the vcl implementation in SalInstanceIconView::DoubleClickHdl,
use the cursor/current item.

In LOKTrigger::trigger_item_activated, use the currently selected
entry (retrieved via weld::IconView::get_selected), because the
only caller in jsdialog::ExecuteAction uses weld::IconView::select
first to select an entry before triggering the signal.

Initially, leave the logic of the existing signal handlers/callbackes
(in dialog implementations) unchanged. At least some of them
will be simplified in upcoming commits.

[1] https://docs.gtk.org/gtk3/signal.IconView.item-activated.html
[2] https://doc.qt.io/qt-6/qabstractitemview.html#activated

Change-Id: I8ca62ac32108f01e2055d5ef9301de22eb5b1931
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203317
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-04-09 10:19:36 +02:00
Michael Weghorn e69c5edca8 sfx2: Have separate activate handlers for SfxCharmapContainer icon views
Don't have a single handler method for both of the
icon views in SfxCharmapContainer and make a distinction
on the icon view in the handler, but have a separate handler
for each of them.

This prepares for adjusting the IconView::m_aItemActivatedHdl
to pass the weld::TreeIter of the activated entry instead
of just the weld::IconView itself.

Change-Id: I716197d0e4818469b88e53d9198066392d1c975a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/203289
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-04-09 10:16:32 +02:00
Balazs Varga 0467a68ff9 tdf#78486 sc: add calculated field dialog for pivot tables
New dialog (Insert > Calculated Field) to add, modify, and delete
calculated fields. Accessible from the menu bar, pivot table context
menu. Insert, modify, delete a calculated field properly.

TODO: maybe more warnings during formula entry edit

Change-Id: Ifdf50de96ff6f7b736b6307e9bea3ae56108679f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200314
Tested-by: Jenkins
Reviewed-by: Balazs Varga <balazs.varga@collabora.com>
2026-03-13 08:06:56 +01:00
Michael Weghorn fc511f9ed4 Move constants for app icons from sfx2-internal to global vcl header
Also replace the "SFX_" with a "RID_" prefix.

This prepares for reuse inside vcl in an upcoming commit.

Change-Id: Idf0fc77fcce2182c94be872fb01fe0da0b16c790
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201521
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2026-03-13 07:37:57 +01:00
Noel Grandin 5505d3bc4d loplugin:constparams
Change-Id: I33c701be5a441c1121b797f1eb5a8bda6fc3f89b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200927
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-03-04 11:29:39 +01:00
Noel Grandin 16cc2fbe40 tdf#170406 Thumbnails for some documents rendered with artifacts
regression from
  commit 07fd24a4bd
  Author: Noel Grandin <noel.grandin@collabora.co.uk>
  Date:   Sat Aug 2 09:15:36 2025 +0200
  BitmapEx->Bitmap in ThumbnailView

Change-Id: I24ffd28e789f904c999b2759df41f2e15f328e0f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200790
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-03-02 14:28:38 +01:00
Samuel Mehrbrodt 75094fbffa Fix DBG_ASSERT logic
cache is only used for non-master commands

This fixes warnings like:
  warn:legacy.tools:1611319:1611319:sfx2/source/control/bindings.cxx:1755: No cache for OfficeDispatch!

Change-Id: I9d7583b55481177a15b22317b45316724c0e5e95
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200059
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@collabora.com>
2026-02-26 07:46:29 +01:00
Noel Grandin 8dd92537cc use more ScopedVclPtr<VirtualDevice> in create_virtual_device
which requires making the move constructor explicit in
ScopedVclPtr.

Change-Id: I2e4caec45c27ed444a81c121d426a5988bd65015
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200005
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2026-02-23 17:30:22 +01:00
Gabor Kelemen a9e9175ba6 tdf#146619 Use more forward declarations in include/sfx2
This shaves off some 300M of input
Change-Id: I2fae9ff6c6dab31010986e55365676d4a01f402d

Change-Id: I3b2551a1937929100f25c01c0c416a419e7fbb51
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199388
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
Tested-by: Jenkins
2026-02-23 12:19:48 +01:00
Gabor Kelemen eb087d25b3 tdf#146619 Use more forward declarations in include/drawinglayer
Change-Id: I5911dfb1cfc2bfd291758334b69123cfbce559a5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199387
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
Tested-by: Jenkins
2026-02-22 12:08:33 +01:00
Noel Grandin 2e063bf91b speed up SfxItemIter
take some branches out of the hot path, which means
converting some places to for loops.

Change-Id: Idcac06f27761994e2554f723662f242a38d3778c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199853
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2026-02-21 12:38:26 +01:00
Noel Grandin 5648ba78d7 loplugin:unusedmethods
Change-Id: Ibac145ec75271e740871ecb03d838d5f85b8f643
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199374
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2026-02-15 12:35:31 +01:00
Caolán McNamara a0d199b9cb kit integration, explicitly list uno:EditStyle
this is already indirectly available from the (para) sidebar when
clicking on the dialog launch button.

Change-Id: If03d3b49deae4a7248af7902867c0802cdf55ffe
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197469
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199241
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
2026-02-12 12:27:10 +01:00
Michael Weghorn ab3635b2f3 weld: Move weld::MessageDialog 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: I5b23b02151c75bb49831a2bbf8d515eb0b54415e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199068
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-02-11 07:32:45 +01:00
Gabor Kelemen 94d987edc2 tdf#146619 Use more forward declarations in include/toolkit
Change-Id: I46b4f8c398662b2826f7e4bf90f43750e3569667
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198240
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
Tested-by: Jenkins
2026-02-07 00:41:15 +01:00
Michael Weghorn 2866ba3e83 weld: Move weld::Menu 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: I86edb8abe2178862269f2fc2a1629fb682a6a752
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198790
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2026-02-06 10:14:33 +01:00
Gabor Kelemen 0bdcfc2900 tdf#146619 Use more forward declarations in include/unotools/
This shaves off some 40M of input

Change-Id: I12e10deb87ceea1f7a23f3de4ea624befe187c3f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198238
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
Tested-by: Jenkins
2026-02-05 17:35:46 +01:00
Gabor Kelemen 76eb42c5aa tdf#146619 Use more forward declarations in include/svl
This shaves off some 40M of input

Change-Id: I89411ee8d94963ec6bc16fe155c885d2c78ee3a1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198233
Reviewed-by: Gabor Kelemen <gabor.kelemen@collabora.com>
Tested-by: Jenkins
2026-01-31 16:36:16 +01:00
Gabor Kelemen 495fa42afa tdf#146619 Use more forward declarations in include/vcl/weld/
after recent split of these headers

This shaves off another 150M input

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

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

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

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

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

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

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

Change-Id: I98067e895d9595ba07206759deff6848dc299216
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194408
Tested-by: Balazs Varga <balazs.varga@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Balazs Varga <balazs.varga@collabora.com>
Code-Style: Balazs Varga <balazs.varga@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196768
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197994
Tested-by: Jenkins
2026-01-29 09:32:11 +01:00