Commit Graph
8200 Commits
Author SHA1 Message Date
Andrea Gelmini b0ef63a163 Fix typo
Change-Id: Iba99aa9b58a1b464cae459108e1fcae9b7cd94b9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184864
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2025-05-01 22:29:09 +02:00
Akshay Kumar Dubey 52ad257d44 tdf#45904 Remove old SwXTableCellText Java test
Change-Id: I32a4c07d733ca5455763eae5c49925a8435ec218
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180480
Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Tested-by: Jenkins
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2025-05-01 11:41:20 +02:00
Ilmari Lauhakangas 2f2f00c07c framework: improve language in comments for better readability
Change-Id: I7a1801f1848869a84ebe3569159175b2ac767567
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183249
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Tested-by: Jenkins
Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2025-04-30 21:18:48 +02:00
Gabor Kelemen fb0000af76 Remove obsolete fw declarations from framework/
found with bin/find-unneeded-includes --fwdecl

Change-Id: Ib0094116132b11761c53dfd3e33af53d01e30093
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183890
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
2025-04-21 15:50:06 +02:00
Patrick Luby 159be5c951 Related: tdf#161623 don't set the menubar to null on macOS
When a window enters LibreOffice's internal full screen mode,
the vcl code will hide the macOS menubar. However, if the
window is also in native full screen mode, macOS will force
the menubar to be visible.

While the vcl code already partially handles this case by
disabling all menu items when in LibreOffice's internal full
screen mode, the problem is that any submenus that were not
displayed before setting the menubar to null will show all
menu items with no title.

A simple way to reproduce this bug is to open a new Writer
or Calc document and do the following:
- Switch the window to LibreOffice's internal full screen
  mode by manually selecting the View > Full Screen menu
  item (the bug does not occur if its key shortcut is
  pressed)
- Switch the window to native full screen mode
- Click on the menubar and note that many of the submenus
  are displayed with menu items, but none of the menu items
  have a title

So, we need to keep the menubar visible and rely on the vcl
code to disable all menu items.

Change-Id: I97fc63a8cd028c029a71899090185bc09d4aa492
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183508
Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
Tested-by: Jenkins
2025-03-30 17:05:52 +02:00
Mike Kaganski 0166610b95 Use osl_getEnvironment instead of getenv
Avoids conversion to OUString; and is Unicode-safe on Windows.

Change-Id: If4f76f867f988d43ec4dae0a8e09f1390fee42e8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183503
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2025-03-30 13:49:46 +02:00
Devashish Gupta 52225dfaeb tdf#165233 Use lambdas instead of std::bind
Change-Id: Ie6a8c76bae10f52d8e97645d71e2825dd59c52c8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183184
Tested-by: Jenkins
Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2025-03-21 06:30:26 +01:00
ArsalanKhan04 5db7fb3c75 tdf#165233 Use lambdas instead of std::bind
Change-Id: Iae08fdeed33601d40a4ce6124342ce7765f02653
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182880
Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Tested-by: Jenkins
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2025-03-20 13:27:57 +01:00
Jonathan Clark dcfc32914f tdf#70102 Code support for RTL variants in icon themes
UNO commands may optionally rotate or mirror their icons depending on
context (usually based on writing direction). This approach is an easy
way to provide large numbers of such context-sensitive icons, but
suffers from serious drawbacks in certain cases. For example, icons
which contain asymmetrical symbols or text will be obviously mirrored,
and icon themes which use shading will appear inconsistent next to
non-transformed icons from the same theme.

This code change lets icon themes provide specialized graphics for the
left-right-top-bottom text direction. Such specializations are available
for any command which specifies COMMAND_PROPERTY_MIRROR.

Direction-specialized versions should be placed in the `cmd/rltb`
directory within the icon theme.

Localized specializations may also be nested inside that directory. For
example, icons in `cmd/rltb/en` will be used for English in RTL context.

Change-Id: Ic7a8cf3a6657a171e92123413d1c47e621f1bddd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182761
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
Tested-by: Jenkins
2025-03-11 06:40:33 +01:00
Noel Grandin eb8d18eb6f use more concrete UNO classes in framework
Change-Id: I7653de4d2c0a4d2960715c6cbab69c70eb892336
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182435
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-03-03 18:12:31 +01:00
Noel Grandin 09e2627a83 use more concrete UNO types in some local vars
found by a little plugin I created.

Plugin parked into store/ folder because it needs hand-holding
when run.

Change-Id: I2b4da7378f0becbc5f020ac9e78cd765aa0119b4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181768
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2025-02-26 16:56:56 +01:00
Michael Weghorn eee97f8c66 tdf#130857 Formatter: Pass string to convert to double
Instead of letting the implementations set for
Formatter::m_aInputHdl via Formatter::SetInputHdl
always retrieve the current text and parse
that one, pass the text to convert as a parameter
instead.

Introduce a new struct Formatter::ParseResult
so that both, the state (which describes whether
parsing was successful and/or a handler was set)
and the value can still be returned at the same time.
(Link/The handlers only supports a single param. So far,
the state was returned by the function result and
the value was returned via an out param, but the
single param is now used for an input param to pass the
text.)

Make it the responsibility of Formatter::ImplGetValue
to pass the current text instead of having the handlers
read it themselves.

Rename the members accordingly:

* Formatter::m_aInputHdl -> Formatter:m_aParseTextHdl
* Formatter::SetInputHdl -> Formatter::SetParseTextHdl

This is similar to

    Change-Id: I6b3fbccc89b89446a1ea367a80aeed3a7b583298
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Tue Feb 18 20:29:20 2025 +0100

        tdf#130857 Let Formatter:m_aOutputHdl convert double to text

(but for the conversion the other way around) and

    commit 15ad64a412
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Sat Feb 15 11:22:54 2025 +0100

        tdf#130857 weld: Let SpinButton input hdl only parse value from string

(which is a similar change, but in weld::SpinButton).

No change in behavior is intended by this change
by itself.

The primary motivation is to allow reusing the
logic to convert a string to a value in order
to implement QtDoubleSpinBox::valueFromText
for QtInstanceFormattedSpinButton.

Change-Id: If6837409aadbe9cc37fdbb4c0650f5e1305229f7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181942
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2025-02-20 18:24:41 +01:00
Michael Weghorn 20e1c3d2f3 tdf#130857 Let Formatter:m_aOutputHdl convert double to text
So far, the Formatter:m_aOutputHdl output handler set via
Formatter::SetOutputHdl did not receive any parameter
and had the responsibility to set the text based on
the current value, i.e. first retrieve the current
value, then convert it to a text representation, and
then set that text in the formatter.

Change semantics so that the method instead receives
the (double) value to format as a parameter and
returns the formatted string.

Passing the current value as a double and using the
returned string to update the text is now the responsibility
of the only caller, Formatter::ImplSetValue.

Adjust the naming accordingly:

* Formatter:m_aOutputHdl -> Formatter::m_aFormatValueHdl
* Formatter::SetOutputHdl -> Formatter::SetFormatValueHdl

This is similar to the change done elsewhere in

    commit 76396a371e
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Sat Feb 15 13:44:50 2025 +0100

        tdf#130857 weld: Abstract from "input"/"output" SpinButton signals

(and changes referenced from its commit message)
and is one step towards supporting value <-> text
conversion in QtInstanceFormattedSpinButton as well.

No change in behavior is intended by this commit.

Change-Id: I6b3fbccc89b89446a1ea367a80aeed3a7b583298
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181911
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2025-02-19 22:41:50 +01:00
Christopher Sherlock b666efedd6 vcl: nType -> eType
Change-Id: I3e55e6173494f660febc296ec342ab223e5cdec1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178227
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2025-02-18 09:44:52 +01:00
Michael Weghorn b8249ed926 weld: Let Formatter:m_aInputHdl use double instead of sal_Int64
Switch the param for the out param in Formatter:m_aInputHdl
from sal_Int64* to double* and adjust the methods/Links
that get set via Formatter::SetInputHdl.

Formatter itself otherwise already uses double for its
value (and min/max, etc.), so using double here as well
is consistent with that.

It also matches what SalInstanceSpinButton, one of the
classes that uses Formatter internally does since

    Change-Id: I31bc2b95b46bae8174388cddc9a383ed61e6763e
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Mon Feb 17 13:10:16 2025 +0100

        tdf#130857 Pass double values to/from weld::SpinButton subclasses

Formatter:m_aInputHdl gets used in Formatter::ImplGetValue
to convert text into a number. While Formatter:m_aInputHdl
was returning sal_Int64 so far, that was already converted
to a double value there anyways, depending on the number
of digits (s. call to `GetDecimalDigits()`), with basically
the same logic that the weld::SpinButton base class
does it by now since the above commit (while SalInstanceSpinButton
was implementing the logic previously.)

Notes on the methods/Links that are being passed via
Formatter::SetInputHdl:

* SpinfieldControl::ParseInputHdl already had a double value
  that it was multiplying by the same factor that
  Formatter::ImplGetValue was earlier then dividing by,
  so the multiplication there can simply be dropped.

* SalInstanceSpinButton now uses weld::convert_value_to_double
  to get a double value as needed.
  In an upcoming step, weld::SpinButton::parse_text will
  be adjusted to also use double right away, as another
  step to let its subclasses use double directly.
  (Preparing for this was the main motivation for this commit.)

* LongCurrencyFormatter can have decimals and now does the
  division previously done in Formatter::ImplGetValue
  to achieve the same result as previously.

* DateFormatter and TimeFormatter both use values that don't have
  any decimals, so the conversion should already
  have been a no-op (dividing by 1) and therefore doesn't
  need to be added elswhere.

In case anything was missed in a handler here, adding a
division by

    weld::SpinButton::Power10(m_xWidget->GetFormatter().GetDecimalDigits())

as was previously done in Formatter::ImplGetValue
should likely fix the issue.

Change-Id: Ibc297928f76ac1dab0080c36cef44ddddefab7b8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181804
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2025-02-18 08:59:38 +01:00
Rahul Anand b5e1580544 tdf#147021 Use std::size() instead of SAL_N_ELEMENTS() macro
Change-Id: I6803a035266203bec99a910ac65757267892967b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181670
Tested-by: Jenkins
Reviewed-by: Hossein   <hossein@libreoffice.org>
2025-02-15 20:42:22 +01:00
Gabor Kelemen 72df5a6fdf Drop unneeded forward declarations from include/
test drive the new bin/find-unneeded-includes --fwdecl mode

Change-Id: I507fa2b172ec9e348d1d91066ea241f02187b5ed
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179321
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2025-01-03 09:32:27 +01:00
Shardul Vikram Singh e0c2d334f1 tdf#146150 Replace SID with dispatch cmd in ContextMenuInterceptor.java
- Replace `slot:5410` with `.uno:HelpMenu`
- Replace `slot:5400` with `.uno:HelpOnHelp`

Change-Id: Ifcb67906882d4cb416c65bd65c41956e5dda7f76
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179501
Tested-by: Jenkins
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2024-12-30 15:19:35 +01:00
Mike Kaganski a049c6ef42 Use SvtSecurityOptions::IsMacroDisabled() instead of officecfg check
The change is most important for Viewer app mode, which also disables
macros

Change-Id: Ie305649dafbb3717e7986a4b437c38b09ffc1802
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178275
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-12-11 11:43:20 +01:00
Mike Kaganski bf77951004 Simplify the slot status check, and add some comments
Change-Id: Ie2a77f0c5157a03a3461ae54d372382b1e57fe2b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178238
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit 4172ffad04f4a72d9865612530ae4d9117f1eb59)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178245
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2024-12-11 11:43:08 +01:00
Mike Kaganski d799a66e07 Check if the correct slot is active in SaveToolbarController::statusChanged
Otherwise, the button may still be active, even with the slot disabled.

Change-Id: Id292b69513a7de8248d33fa813a8b09964f30434
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178124
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-12-11 11:43:03 +01:00
Mike Kaganski 5d25fc9288 Check if the slot is active in NewMenuController::fillPopupMenu
Otherwise, the popup menu gets filled, even when the respective slot
is disabled.

Change-Id: I74ff3692500ca76e6e15bf3725dd295f0213403c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178002
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2024-12-11 11:42:58 +01:00
Mike Kaganski 05b2a255a0 Let StyleDispatcher take the state of StyleApply slot into account
Before, it only listened to ParaStyle, or CharStyle, etc. obtained
in MapFamilyToCommand; and that meant, that its actual command was
".uno:StyleApply?...", but StyleApply state was ignored. This meant
that all respective items under "Style" menu were enabled in read-
only mode, where StyleApply itself was inactive.

Listen to both. When StyleApply is disabled, that takes priority.

Change-Id: Ic087ba6fc6fe6d45b8c8ecc35494734cd8765bd4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177971
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2024-12-11 11:42:32 +01:00
Caolán McNamara e693261fbb tdf#144407 save the current window state on new document
so a new window of the same type will open with the same settings

Change-Id: I7ee4b476d207d1dbd538ce6c054d83f7281f0309
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178119
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-12-08 22:07:01 +01:00
Michael Weghorn 3d780e72b9 Move helpers for css::awt/VCL point/rect/size to vcl::unohelper
Move helpers to convert between the Rectangle, Point and Size
classes in vcl and in css::awt from VCLUnoHelper (in the toolkit module)
to vcl::unohelper (in the vcl module), for reuse in vcl in upcoming
commits.

Change-Id: I7b11c8a6b8c843a01ce25b1e4c0fb1869ad1e6ee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177816
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-12-04 20:47:14 +01:00
Michael Weghorn 5b47e57f17 vcl: Pass GetSystemMenuData param by ref
Change-Id: I04cae4a880dcf5c34e35ade9983b56d8ff8ed496
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177661
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2024-12-02 15:19:25 +01:00
Jim Raykowski 55e86edcb3 tdf#120658 - Reworking of dialogues Organize macros
(make from 5 existing only one)

Much of what makes up this patch is adapted from existing code that is
used to organize and select macros and to assign macros to shortcut
keys. Comments in the patch say where code is borrowed from.

Known issues:

+ Scripting framework library rename for BeanShell, Java, and JavaScript
always returns fail when there are no macro entries in the library even
though it actually succeeds. The same thing happens using
SvxScriptOrgDialog::renameEntry.

+ Deleting Basic macros from the Macro Manager dialog is not implemented
yet.

Change-Id: If4da04549f8b39675910cbbd1f94dd9a6b73c31a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176254
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-12-02 07:13:00 +01:00
Caolán McNamara 8c1dbd3188 cid#1607542 COPY_INSTEAD_OF_MOVE
and

cid#1606986 COPY_INSTEAD_OF_MOVE
cid#1557969 COPY_INSTEAD_OF_MOVE
cid#1557837 COPY_INSTEAD_OF_MOVE
cid#1557772 COPY_INSTEAD_OF_MOVE
cid#1557735 COPY_INSTEAD_OF_MOVE
cid#1557672 COPY_INSTEAD_OF_MOVE
cid#1557664 COPY_INSTEAD_OF_MOVE
cid#1557650 COPY_INSTEAD_OF_MOVE
cid#1557642 COPY_INSTEAD_OF_MOVE
cid#1557639 COPY_INSTEAD_OF_MOVE
cid#1557628 COPY_INSTEAD_OF_MOVE
cid#1557623 COPY_INSTEAD_OF_MOVE
cid#1557581 COPY_INSTEAD_OF_MOVE
cid#1557489 COPY_INSTEAD_OF_MOVE
cid#1557473 COPY_INSTEAD_OF_MOVE
cid#1557317 COPY_INSTEAD_OF_MOVE
cid#1557261 COPY_INSTEAD_OF_MOVE
cid#1557146 COPY_INSTEAD_OF_MOVE
cid#1557135 COPY_INSTEAD_OF_MOVE
cid#1557134 COPY_INSTEAD_OF_MOVE
cid#1557079 COPY_INSTEAD_OF_MOVE
cid#1557063 COPY_INSTEAD_OF_MOVE
cid#1557052 COPY_INSTEAD_OF_MOVE
cid#1556982 COPY_INSTEAD_OF_MOVE
cid#1556977 COPY_INSTEAD_OF_MOVE
cid#1556950 COPY_INSTEAD_OF_MOVE
cid#1556943 COPY_INSTEAD_OF_MOVE
cid#1556804 COPY_INSTEAD_OF_MOVE
cid#1556736 COPY_INSTEAD_OF_MOVE
cid#1556658 COPY_INSTEAD_OF_MOVE
cid#1556621 COPY_INSTEAD_OF_MOVE
cid#1556590 COPY_INSTEAD_OF_MOVE
cid#1556579 COPY_INSTEAD_OF_MOVE
cid#1556534 COPY_INSTEAD_OF_MOVE
cid#1556524 COPY_INSTEAD_OF_MOVE
cid#1556478 COPY_INSTEAD_OF_MOVE
cid#1556467 COPY_INSTEAD_OF_MOVE
cid#1556422 COPY_INSTEAD_OF_MOVE
cid#1556314 COPY_INSTEAD_OF_MOVE
cid#1556309 COPY_INSTEAD_OF_MOVE
cid#1556258 COPY_INSTEAD_OF_MOVE
cid#1556143 COPY_INSTEAD_OF_MOVE
cid#1556119 COPY_INSTEAD_OF_MOVE
cid#1556101 COPY_INSTEAD_OF_MOVE
cid#1556097 COPY_INSTEAD_OF_MOVE
cid#1556039 COPY_INSTEAD_OF_MOVE
cid#1555966 COPY_INSTEAD_OF_MOVE
cid#1555948 COPY_INSTEAD_OF_MOVE
cid#1555915 COPY_INSTEAD_OF_MOVE
cid#1555836 COPY_INSTEAD_OF_MOVE
cid#1555748 COPY_INSTEAD_OF_MOVE
cid#1555644 COPY_INSTEAD_OF_MOVE
cid#1555582 COPY_INSTEAD_OF_MOVE
cid#1555478 COPY_INSTEAD_OF_MOVE
cid#1555475 COPY_INSTEAD_OF_MOVE
cid#1555409 COPY_INSTEAD_OF_MOVE
cid#1555372 COPY_INSTEAD_OF_MOVE
cid#1555334 COPY_INSTEAD_OF_MOVE
cid#1555330 COPY_INSTEAD_OF_MOVE
cid#1555310 COPY_INSTEAD_OF_MOVE
cid#1555257 COPY_INSTEAD_OF_MOVE
cid#1555247 COPY_INSTEAD_OF_MOVE
cid#1555147 COPY_INSTEAD_OF_MOVE
cid#1555120 COPY_INSTEAD_OF_MOVE
cid#1555059 COPY_INSTEAD_OF_MOVE
cid#1555016 COPY_INSTEAD_OF_MOVE
cid#1554880 COPY_INSTEAD_OF_MOVE
cid#1554824 COPY_INSTEAD_OF_MOVE
cid#1554808 COPY_INSTEAD_OF_MOVE
cid#1546189 COPY_INSTEAD_OF_MOVE

Change-Id: I2d2f33c603f1596228c9ecb169472ba6751e7826
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177593
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-11-30 22:39:23 +01:00
Caolán McNamara 88431fff42 cid#1607688 Check of thread-shared field evades lock acquisition
Change-Id: I89042693b8844b4769be79fa854722fe3d7babf6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177426
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-11-27 21:45:21 +01:00
Caolán McNamara aed4e00c4f UserInstallation may change in kit-mode
So the setting fetched at ctor time for UserInstallation (and
BRAND_BASE_DIR) may no longer be true, so expanding variables based
on those earlier seen values results in unwanted paths.

add XInitialization to SubstitutePathVariables (like done for
PathSettings) to allow reiniting these explicitly once.

Change-Id: Ia930ea71cb09adc91d6d47ee047c44b24222e8a2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175961
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
(cherry picked from commit 410f6b50eb44276b1d2095c844244ef4d0ddefaa)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177109
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-11-24 15:14:48 +01:00
Bogdan Buzea 23392c3c12 tdf#152299 - Remove unused define(s) from C/C++ files
Change-Id: I0a6d9a12f3e6d84ad4ba665ba16dd05fb6f9786f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177048
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2024-11-23 15:12:28 +01:00
Caolán McNamara cb362d3b4a add XInitialization to PathSettings
so PathSettings could be reinitialized if the underlying assumptions it
made on initialization have changed, like the location where the
application is installed, which affects the "Internal" paths for e.g.
AutoText which are RO paths that aren't normall allowed to change.

Change-Id: I3e056ddfbfdc3257561bd67c39163b48d3dde9a3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175951
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176904
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-11-21 12:11:33 +01:00
Vasily Melenchuk 3c371b7bde Windows Taskbar: use progress bar feature (ITaskbarList3)
Any status progress in LO status bar is also represented
as progress in Windows taskbar.

Change-Id: Ibd7131ff6246cf5ea37ab8730d0eddfa084265c3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171886
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2024-11-18 13:03:52 +01:00
Caolán McNamara 8c6972a490 add AbortOnLoadFailure to optionally assert on failure to load
intended for use with crashtesting to detect when we export something we
can't import

Change-Id: I80c2f5198f8695c00a68cf09d4512d56c5a537a0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176412
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-11-11 22:33:36 +01:00
Noel Grandin 61d7bd4cd2 clang-tidy: performance-unnecessary-copy-initialization in framework
Change-Id: I2ebf2c49ec9aa03f46abdbd2149f04ed5a22f94b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176416
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-11 21:02:47 +01:00
Noel Grandin ce8816ff95 loplugin:reftotemp in drawinglayer..framework
Change-Id: I31618b4ae7ea4e37834bffc89e352b4c33eda14d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176372
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2024-11-11 18:28:57 +01:00
Mike Kaganski 1180b3473a com::sun::star -> css
Change-Id: I890ec73e30d3cc6b210903ecee29431f3cb5f635
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175979
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-11-10 10:50:15 +01:00
Noel Grandin ed0b12f4ea no need to take a copy of the getProcessComponentContext return value
we can just take a "const &".

(found by running clang-tidy with the
performance-unnecessary-copy-initialization warning)

Change-Id: I20fd208c65303da78170b1ac06c638fdf3aa094b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176267
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2024-11-08 15:23:52 +01:00
Patrick Luby 1e99b33b9a Revert commit 2fe53b2e43
Commit 709b1f3ddb fixes the
root cause of the crash during a dynamic_cast so revert
commit 709b1f3ddb as it was
merely a workaround and is no longer needed.

Change-Id: Ia052913eba7fd4d979054ea6a644f4ff9791277c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176217
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-08 10:16:43 +01:00
Mike Kaganski 00b15057a3 Simplify using WeakImplHelper / ImplInheritanceHelper
Change-Id: Ieb3b8e07e0361da89da5b4a6db9e3c45389b636f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176200
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2024-11-08 05:35:40 +01:00
Mike Kaganski 9d6e1594a2 Deduplicate and unify using vcl::GetBitmap
Change-Id: Ie940990b604cf23c961aa5b6fad124f1ebaf338c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176186
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2024-11-08 05:35:34 +01:00
Mike Kaganski d251b5b65a Simplify a bit
And drop unneeded solar mutex locks, that were used when the menu
implementation was accessed directly.

Change-Id: I06d3d872343fdd6204b4e8bbd8bcec67c17fdbe6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176199
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2024-11-08 05:34:48 +01:00
Mike Kaganski 56f3dbffdf Simplify a bit
Change-Id: I618b0f8bcb2e8032ee12367c73e1136685f66b3e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176183
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-11-08 05:34:20 +01:00
Noel Grandin 1e496ce2cf loplugin:passstuffbyref in forms..framework
Change-Id: Ib5a013df49d532b139acd881127cfc82c7c5a6b7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176190
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-07 11:56:21 +01:00
Caolán McNamara 92f5913aef cid#1556442 COPY_INSTEAD_OF_MOVE
and

cid#1607753 COPY_INSTEAD_OF_MOVE
cid#1554790 COPY_INSTEAD_OF_MOVE
cid#1556463 COPY_INSTEAD_OF_MOVE
cid#1554838 COPY_INSTEAD_OF_MOVE
cid#1556231 COPY_INSTEAD_OF_MOVE
cid#1556878 COPY_INSTEAD_OF_MOVE
cid#1554913 COPY_INSTEAD_OF_MOVE
cid#1558064 COPY_INSTEAD_OF_MOVE
cid#1557043 COPY_INSTEAD_OF_MOVE
cid#1556985 COPY_INSTEAD_OF_MOVE
cid#1556766 COPY_INSTEAD_OF_MOVE
cid#1557351 COPY_INSTEAD_OF_MOVE
cid#1554863 COPY_INSTEAD_OF_MOVE
cid#1556764 COPY_INSTEAD_OF_MOVE
cid#1556279 COPY_INSTEAD_OF_MOVE
cid#1555970 COPY_INSTEAD_OF_MOVE
cid#1556942 COPY_INSTEAD_OF_MOVE
cid#1557964 COPY_INSTEAD_OF_MOVE
cid#1555166 COPY_INSTEAD_OF_MOVE
cid#1556496 COPY_INSTEAD_OF_MOVE
cid#1557175 COPY_INSTEAD_OF_MOVE
cid#1558054 COPY_INSTEAD_OF_MOVE
cid#1557392 COPY_INSTEAD_OF_MOVE
cid#1557850 COPY_INSTEAD_OF_MOVE
cid#1555118 COPY_INSTEAD_OF_MOVE
cid#1557131 COPY_INSTEAD_OF_MOVE
cid#1556614 COPY_INSTEAD_OF_MOVE
cid#1609650 COPY_INSTEAD_OF_MOVE
cid#1555114 COPY_INSTEAD_OF_MOVE
cid#1555241 COPY_INSTEAD_OF_MOVE
cid#1555442 COPY_INSTEAD_OF_MOVE
cid#1556473 COPY_INSTEAD_OF_MOVE
cid#1557654 COPY_INSTEAD_OF_MOVE
cid#1554689 COPY_INSTEAD_OF_MOVE
cid#1556316 COPY_INSTEAD_OF_MOVE
cid#1557929 COPY_INSTEAD_OF_MOVE
cid#1554807 COPY_INSTEAD_OF_MOVE
cid#1554858 COPY_INSTEAD_OF_MOVE
cid#1555103 COPY_INSTEAD_OF_MOVE
cid#1555517 COPY_INSTEAD_OF_MOVE
cid#1556424 COPY_INSTEAD_OF_MOVE
cid#1557252 COPY_INSTEAD_OF_MOVE
cid#1557566 COPY_INSTEAD_OF_MOVE
cid#1608020 COPY_INSTEAD_OF_MOVE
cid#1557742 COPY_INSTEAD_OF_MOVE
cid#1555884 COPY_INSTEAD_OF_MOVE
cid#1554809 COPY_INSTEAD_OF_MOVE
cid#1555336 COPY_INSTEAD_OF_MOVE
cid#1555173 COPY_INSTEAD_OF_MOVE
cid#1556067 COPY_INSTEAD_OF_MOVE
cid#1557040 COPY_INSTEAD_OF_MOVE
cid#1556235 COPY_INSTEAD_OF_MOVE
cid#1557366 COPY_INSTEAD_OF_MOVE
cid#1555910 COPY_INSTEAD_OF_MOVE
cid#1556716 COPY_INSTEAD_OF_MOVE
cid#1558022 COPY_INSTEAD_OF_MOVE
cid#1555769 COPY_INSTEAD_OF_MOVE
cid#1555940 COPY_INSTEAD_OF_MOVE
cid#1557077 COPY_INSTEAD_OF_MOVE
cid#1555270 COPY_INSTEAD_OF_MOVE
cid#1555660 COPY_INSTEAD_OF_MOVE
cid#1556302 COPY_INSTEAD_OF_MOVE
cid#1555678 COPY_INSTEAD_OF_MOVE
cid#1556538 COPY_INSTEAD_OF_MOVE
cid#1557689 COPY_INSTEAD_OF_MOVE
cid#1555009 COPY_INSTEAD_OF_MOVE
cid#1555433 COPY_INSTEAD_OF_MOVE
cid#1555671 COPY_INSTEAD_OF_MOVE
cid#1555255 COPY_INSTEAD_OF_MOVE
cid#1557681 COPY_INSTEAD_OF_MOVE
cid#1557512 COPY_INSTEAD_OF_MOVE
cid#1554958 COPY_INSTEAD_OF_MOVE
cid#1555758 COPY_INSTEAD_OF_MOVE
cid#1555597 COPY_INSTEAD_OF_MOVE
cid#1558040 COPY_INSTEAD_OF_MOVE
cid#1556476 COPY_INSTEAD_OF_MOVE
cid#1557646 COPY_INSTEAD_OF_MOVE
cid#1557950 COPY_INSTEAD_OF_MOVE
cid#1557019 COPY_INSTEAD_OF_MOVE
cid#1557885 COPY_INSTEAD_OF_MOVE
cid#1556402 COPY_INSTEAD_OF_MOVE
cid#1557906 COPY_INSTEAD_OF_MOVE
cid#1556619 COPY_INSTEAD_OF_MOVE
cid#1554683 COPY_INSTEAD_OF_MOVE
cid#1556549 COPY_INSTEAD_OF_MOVE
cid#1554747 COPY_INSTEAD_OF_MOVE
cid#1554929 COPY_INSTEAD_OF_MOVE
cid#1555362 COPY_INSTEAD_OF_MOVE
cid#1557053 COPY_INSTEAD_OF_MOVE
cid#1557891 COPY_INSTEAD_OF_MOVE
cid#1555043 COPY_INSTEAD_OF_MOVE
cid#1555107 COPY_INSTEAD_OF_MOVE
cid#1557203 COPY_INSTEAD_OF_MOVE
cid#1556728 COPY_INSTEAD_OF_MOVE
cid#1557773 COPY_INSTEAD_OF_MOVE
cid#1556845 COPY_INSTEAD_OF_MOVE

Change-Id: I001fb67e597b096e992fd8a0cd6f3ec577767c33
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176098
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
2024-11-06 13:58:54 +01:00
Patrick Luby 2fe53b2e43 Fix crash due to unexpected dynamic_cast failures in optimized build
When an optimized build of this branch is compiled on Silicon Mac,
a dynamic_cast from com.sun.star.awt.XPopupMenu to VCLXPopupMenu
will fail.

The pointer being casted has not been deleted and is an undeleted
instance yet dynamic_cast fails. However, a dynamic_cast to
VCLXPopupMenu's superclass VCLXMenu succeeds so cast to that class
instead.

Change-Id: Ie9ab79df109eece46351545a71325d1e37bde94d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175992
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
2024-11-05 09:42:12 +01:00
Caolán McNamara 8c200de995 cid#1606874 silence Data race condition
Change-Id: I6703ee228ac0717b04f58e14eedd02ab0722edf4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175861
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
2024-10-31 14:23:00 +01:00
Michael Weghorn c5b6e3ac56 win a11y: Stop using setting to indicate AT support
No longer use a "Accessibility"/"EnableATToolSupport"
VCL setting to control/report whether support for
assistive technology is (or should be) enabled,
which was primarily used on Windows.

As described in previous commit

    Change-Id: I32624b830d39d08510e4731edd06fd7a77642c50
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Mon Oct 28 21:12:48 2024 +0100

        win a11y: Drop "Enable AT Tool support" from options UI

, that setting got automatically enabled when an assistive
technology was active on Windows, and never got reset to
"false" automatically, so AT support would be enabled
next time LO starts as well.

Instead of persisting this via a setting, enable the
Windows a11y bridge if and when a WM_GETOBJECT message
is received only, see `ImplHandleGetObject` (where this
was already done earlier) and no longer alternatively
start the a11y bridge in Desktop::Main when the mentioned
setting is enabled.

Drop MiscSettings::SetEnableATToolSupport altogether.

Adjust MiscSettings::GetEnableATToolSupport to no longer
read a setting, but return `true` if the AT bridge
has been activated (or a SAL_ACCESSIBILITY_ENABLED
environment variable is set, as was already checked
before).
This already returns `true` when called from
MenuBarManager::FillMenuManager when starting
LO while the NVDA screen reader is running.

With this in place, the a11y bridge on Windows
should now become active whenever an AT requests
information (by sending a WM_GETOBJECT message),
but not otherwise, and restarting LO will result
in the a11y bridge no longer being active unless
AT requests information again.

Change-Id: I42f0059cecd43205690d958a875d3c17ff9a197b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175795
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-10-30 08:27:28 +01:00
Xisco Fauli a38a22c7e5 UnoApiTest: rename load to loadFromURL and use it everywhere
Change-Id: Ie67eebec74f783fa0c29acfb23bb83bc582812b2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175724
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Tested-by: Jenkins
2024-10-29 09:11:37 +01:00
Tibor Nagy d239ac793f tdf#76981 sd: Hide the document opening process when opening linked
presentation in slideshow mode, only the presentation should be visible.
The user should not see any intermediate loading processes or windows,
providing a seamless transition directly to the presentation content.
After closing the opened presentation, the running presentation should receive focus.

Change-Id: Idc24de3d38523f044d7969f1eacb05c6bae91b83
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175706
Tested-by: Jenkins
Reviewed-by: Nagy Tibor <tibor.nagy.extern@allotropia.de>
2024-10-28 09:48:30 +01:00