Commit Graph
12937 Commits
Author SHA1 Message Date
Jonathan Clark 720983ad53 tdf#70102 API cleanup for RTL icon variant code support
Removed an unnecessary DIR_LR_TB enum value.
Added a missing @since annotation.

Change-Id: If27357cb05498abca5a69adcd6e63c25b412f6b0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182802
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
Tested-by: Jenkins
2025-03-12 06:45:09 +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
Andrea Gelmini b918d301a8 Removed executable permission on idl file
Change-Id: I093389379b73695ed2b86e4f6b39c909b4ce5e2f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182690
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
2025-03-09 21:05:01 +01:00
Oliver Specht 554d2769d1 tdf#71583 Add page count of ranges with consecutive page numbering
Adds a field that counts the pages in ranges defined by page number restarts

Change-Id: Ie0727ab20c81464918ad5fb9aa42046bf00aa63c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178141
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
Tested-by: Jenkins
2025-03-08 14:59:16 +01:00
Michael Weghorn a80dec4e7b [API CHANGE] Drop css::drawing::XPresenterHelper
As the interface's documentation says:

    /** This interface is a collection of functions that were necessary to
        implement larger parts of the presenter screen as extension.  The
        methods of this interface give access to services that could only be
        implemented in the Office core, not in an extension.

        <p>As the presenter screen is no extension any more, this hack can go again;
        it just needs clean-up.</p>
    */
    interface XPresenterHelper

Now that all uses of the interface have been replaced
by using the concrete sd::presenter::PresenterHelper
class directly in previous commits (see the
`git log --grep="sd presenter"` output), drop the interface.

Take over method documentation to PresenterHelper.

Now that PresenterHelper no subclasses XPresenterHelper,
further cleanup/simplification is possible in upcoming commits.

Change-Id: Ie7bdad151d28762af1710db896bfaa1026dae65f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182259
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2025-02-27 07:59:13 +01:00
László Németh 3e02ffb76c tdf#i165354 sw offapi DOCX: implement HyphenationKeepLine – part 1
ODF 1.0 feature hyphenation-keep, i.e. disabling hyphenation across
page etc. was implemented by shifting the full hyphenated line
(fixing also the DOCX layout interoperability, when value of the
useWord2013TrackBottomHyphenation MSO DOCX compatibility option is
true). To shift only the last word, add UNO paragraph property

com::sun::star::text::ParagraphHyphenationKeepLine

and the associated layout in Writer core, i.e. disabling
the hyphenation in the last line, instead of line shifting,
if the value of ParagraphHyphenationKeepLine is true.

Fix missing DOCX layout interoperability by mapping the unhandled
useWord2013TrackBottomHyphenation = false case to the new layout.

Note: shifting lines may be better for languages with long
words, but only with 1) typesetting with line-level (greedy)
line breaking instead of the desirable paragraph-level, 2) and
with missing optimized hyphenation at boundaries of compound word
constituents, and 3) forgotting the following: Shifting only words
or word constituents are better for 1) equal line count on pages
and spreads (very basic typographical requirement), 2) disabling
hyphenation really (shifting doesn't guarantee this, because
shifting is limited in a single line, but the previous line can be
hyphenated, too) and 3) more compact typesetting.
Both hyphenation-keep algorithms are important for interoperability,
but the new HyphenationKeepLine can create state-of-the-art automatic
typesetting with the planned improvements.

Follow-up to commit 9574a62add
"tdf#132599 cui offapi sw xmloff: implement hyphenate-keep".
and commit c8ee0e8f58
"tdf160518 DOCX: import hyphenation-keep to fix layout".

Change-Id: Iafa352ec91bbd5d1d227b8480337fa2b9acb5993
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181954
Reviewed-by: László Németh <nemeth@numbertext.org>
Tested-by: Jenkins
2025-02-21 08:52:21 +01:00
Noel Grandin ccefc5e524 [API CHANGE] remove XTiledRenderable
which is an abandoned experiment, the tiled rendering for LOK moved in a
different direction

Change-Id: Idccd22d5124cc7c7add55b76edc75ef27df59a9f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181862
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-02-19 13:21:56 +01:00
Julien Nabet 51e8bb0db4 Fix license + footer + rename RowId into XRowId
+ use PseudoColumnUsage and XRowId in UnoApi_offapi.mk
+fix errors in XRowId.idl

Change-Id: Id4e6c23872618752b6e24c91e7efecefcfac7177
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181674
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2025-02-17 09:12:16 +01:00
Julien Nabet 4e1bf61589 Refine sync of SDBC with JDBC 4.3
1) Implement more missing parts of the API and correct doxygen commands to properly refer to them:
   - Constant group com.sun.star.sdbc.PseudoColumnUsage (see https://devdocs.io/openjdk~21/java.sql/java/sql/pseudocolumnusage)
   - Interface com.sun.star.sdbc.RowId (see https://devdocs.io/openjdk~21/java.sql/java/sql/rowid)

2) Document return type of getRowIdLifetime(); in Java it is a proper enum, but in IDL it is a generic long,
   but is supposed to come from constant group com.sun.star.sdbc.RowIdLifetime

Change-Id: Idef8eacb6692cb0b9cacc2b21d1eda807b5ad802
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181467
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2025-02-14 15:35:51 +01:00
Michael Weghorn f0e8ca2965 a11y: Update param name in XAccessibleRelationSet doc
The param was renamed from `aRelationType` to `eRelationType` in

    commit 92a36bbd4f
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Wed Nov 6 18:54:12 2024 +0100

        [API CHANGE] a11y: Switch AccessibleRelationType to enum

Update in the doc as well.

Thanks to Mike Kaganski for noting it in [1].

[1] https://gerrit.libreoffice.org/c/core/+/176153/comment/04f93ca5_6498e8e0/

Change-Id: I8dd6e2b9e9105d7d876a722c2610fac998a6923d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181464
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2025-02-12 09:21:20 +01:00
Stephan Bergmann aabf7c44ec Update the reference rdbs to libreoffice-25.2.0.3
.../master/instdir/sdk/bin/unoidl-read --published \
 .../libreoffice-25.2.0.3/instdir/program/types.rdb \
 >.../master/udkapi/type_reference/udkapi.idl

.../master/instdir/sdk/bin/unoidl-read --published \
 .../libreoffice-25.2.0.3/instdir/program/types.rdb \
 .../libreoffice-25.2.0.3/instdir/program/types/offapi.rdb \
 >.../master/offapi/type_reference/offapi.idl

Change-Id: I427bd420baab08fd25fc85f03cf2861372b8a8b9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181212
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2025-02-06 16:19:11 +01:00
Jaume Pujantell 87f132a5e8 [API CHANGE] sd pdfium: add page number when saving/loading pdf pages as images
When a pdf file is opened with pdfium and then saved as odg, each page
is saved as a draw:image of the pdf. But since no page number info was
given, when opening the odg file, all the pages are shown as the first
one.

This adds a loext:page-number to the saved odg and the logic to load a
specific page from an embedded pdf.

Added loadGraphicAtPage to XGraphicStorageHandler.

Change-Id: I398b7ad7f03cc7fb930a4e7b7620c6f238b41c0d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181066
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2025-02-04 12:55:29 +01:00
Michael Stahl ff16c4e3f2 tdf#158867 offapi,i18npool,starmath: fix "," in Math again
This is essentially the same bug that was fixed in commit
2caa9d7ddc "Resolves: tdf#127873 accept
',' comma group separator in number entities again".

The problem is that sw wants to recognize group separators only if there
are 3 digits following so it really looks like a number (see bug
tdf#42518), but starmath really wants to recognize either comma or dot
as a decimal separator and uses the GROUP_SEPARATOR_IN_NUMBER as a hack
to get this behaviour, so the same parser can work in any locale.

Introduce new constant GROUP_SEPARATOR_IN_NUMBER_3 so that sw and
starmath can request different parsing.

sc/source/core/tool/compiler.cxx also uses GROUP_SEPARATOR_IN_NUMBER and
it's unclear to me what is desired there, but there are no known
regression reports so leave the behaviour there unchanged.

(regression from commit 1bd9a51b826015746069fcc0d02a30a2ddc7e7f5)

Change-Id: Icb7662f26d89677cf84ccad07a2ea4c380587ab4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180920
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2025-01-30 16:32:41 +01:00
Michael Weghorn 7503bb286f [API CHANGE] a11y: Drop UNO service to create a11y contexts
Drop the com.sun.star.accessibility.GetStandardAccessibleFactoryService
UNO service that was used to create instances of
the a11y classes for (mainly vcl) widgets.

The service was needed to break a dependency cycle.
However, with

    Change-Id: Ib46c87446dc9121d3b8e735e0e5a40594da73cc5
    Author: Michael Weghorn <m.weghorn@posteo.de>
    Date:   Tue Dec 17 12:04:04 2024 +0100

        a11y: Merge accessibility module into vcl

and all the preparatory commits in place, there
is no more dependency cycle, as the a11y classes
for vcl widgets no longer depend on any modules
"above" vcl.

Therefore, drop the UNO service and the abstract
vcl::IAccessibleFactory class and other related
classes.

Make all methods in the AccessibleFactory class
(that was previously subclassing the abstract
IAccessibleFactory) static helper methods,
and call them directly.

The UNO service dropped in this commit was
introduced in

    commit 1af510e951
    Date:   Wed Feb 21 11:30:47 2024 +0200

        Create an UNO service to do the symbol lookup in toolkit::AccessibilityClient

and its documentation was already clearly stating
that it's only meant for LibreOffice internal use:

> /**
>   The toolkit module uses this to get a pointer to the AccessibleFactory from the acc module.
>   Because we have a dependency in our modules that goes the "wrong" way.
>
>   @since LibreOffice 24.8
>
>   @internal
>
>   ATTENTION: This is marked <em>internal</em> and does not
>   have the <em>published</em> flag, which means it is subject to
>   change without notice and should not be used outside the LibreOffice core.
> */

Change-Id: Ib97396a4bad486d9530361dd851ad3ee0f9681b8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178689
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2024-12-17 22:57:26 +01:00
Stephan Bergmann 10a5c3162a Include the org.libreoffice.embindtest infrastructure in all Emscripten builds
...not just --enable-dbgutil ones, which gives more flexibility in using that
infrastructure downstream.  (The unotest/source/embindtest/embindtest.js code is
still only included in desktop/Executable_soffice_bin.mk for --enable-dbgutil
builds, though.)

Building unotest/source/embindtest/embindtest.cxx also outside of
--enable-dbgutil, and thus implicitly --enable-assert-always-abort, builds
required moving from assert() to some hand-crafted verify().

Change-Id: I3f0fa00feee25b4ea6e7866c22a5b4a4d40cb3d0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178361
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-12-12 16:02:22 +01:00
Tomaž Vajngerl 6ea738e7f4 [API CHANGE] remove LOKSlideRenderer implementation
SlideshowLayerRenderer has replaced it so it's not used anymore
and we don't need it anymore to compare the output too.

Change-Id: Ic1277d650324937722ec69a91218f23f147d0bde
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178199
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-12-10 11:26:53 +01:00
Michael Weghorn a2c1a337f0 [API CHANGE] a11y: Drop XAccessibleExtendedComponent::getFont
This method from the unpublished XAccessibleExtendedComponent
interface is not used by any of the a11y platform bridges, and
I don't know of any platform a11y API that would need it.

In order to report character/font attributes, there is the
XAccessibleText interface and its
XAccessiText::getCharacterAttributes method instead, which
actually gets used by the platform a11y bridges.

Therefore, drop this method to simplify code, and also decouple
the accessibility module a bit further from the toolkit
module without having to reorganize code further.
(VCLXFont from the toolkit module currently gets used in
various implementations.)

Change-Id: I06ea3cc5998a13927b3f869877b28f03ac07c89b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177809
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-12-04 20:46:21 +01:00
Jonathan Clark d3a59f7a91 tdf#36709 sw: Writer layout for font-relative first-line indent
This change implements layout for font-relative paragraph first-line
indentation in Writer.

Change-Id: Ie8f386bcc13a43ab92d5c15654c24bfdfc62bd69
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176216
Tested-by: Jenkins
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-11-13 09:35:20 +01:00
Michael Weghorn 92a36bbd4f [API CHANGE] a11y: Switch AccessibleRelationType to enum
Switch css::accessibility::AccessibleRelationType
from integer constants to an enum.

This provides more type safety and improves the debugging
experience, e.g. GDB now prints

    com::sun::star::accessibility::AccessibleRelationType::AccessibleRelationType_CONTENT_FLOWS_TO

instead of just "2" when printing the value of a
corresponding variable, so it's no longer necessary
to manually look up what constant has that integer
value to know what relation this refers to.

offapi/com/sun/star/accessibility/AccessibleRelationType.idl
had this comment:

> <p>We are using constants instead of a more typesafe enum.  The reason
> for this is that IDL enums may not be extended.  Therefore, in order to
> include future extensions to the set of roles we have to use constants
> here.</p>

However, the a11y UNO API is internal (not published),
so that shouldn't be a concern.

Change-Id: I44a7d56cb085dc24effb24fcd34bb222b78ef4cd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176153
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2024-11-07 08:50:13 +01:00
Stephan Bergmann 49f7a5209f Update the reference rdbs to libreoffice-24.8.0.3
.../master/instdir/sdk/bin/unoidl-read --published \
 .../libreoffice-24.8.0.3/instdir/program/types.rdb \
 >.../master/udkapi/type_reference/udkapi.idl

.../master/instdir/sdk/bin/unoidl-read --published \
 .../libreoffice-24.8.0.3/instdir/program/types.rdb \
 .../libreoffice-24.8.0.3/instdir/program/types/offapi.rdb \
 >.../master/offapi/type_reference/offapi.idl

Change-Id: I6b000c8e3e68635291a68c31eefee6ccdbce1af3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176145
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-11-06 21:16:15 +01:00
Jonathan Clark 6f16beca51 tdf#36709 Refactor Converter to separate parsing from unit conversion
Previously, Converter::convertMeasure parsed measure strings and
performed unit conversion in a single call. This was appropriate, as all
such measure strings could be converted to a common unit ahead of time.

tdf#36709, however, will introduce measures that are relative to the
current font and font size. In order to perform layout, the original
measure unit must be preserved and passed along with the original value.

This change introduces Converter::convertMeasureUnit, which parses a
measure string and returns both the value and the unit. Existing unit
conversion code has been refactored to facilitate this change.

Change-Id: Ic8dfda432e1ca117ad80c05c1939ebaf43e79a9f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175937
Tested-by: Jenkins
Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-11-01 22:41:03 +01:00
Balazs Varga 26c08356d1 tdf#162262 sc add "Summary below data" option for Subtotal dialog
With this option we can set where the summary rows should appear,
above or below the datas when we create a new Subtotal area. The default
option is "True" (which means the summary rows are below the datas)
when we create a new subtotal area. Unless if we already have one subtotal
area on the same sheet, in that case the sheet level property, "TotalsRowBelow"
contains where should the summary rows be for the new Subtotal's.

TODO: add new ODF xml attribute for Summary below

Change-Id: Icf86c85041d75c24919cb528846d5bb2b517ca78
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175556
Tested-by: Jenkins
Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
2024-10-28 13:28:21 +01:00
Andrea Gelmini bf16bbd105 Fix typo
Change-Id: Ib40f9fa2d618cf4400a814d1d6e222768bf7bba0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175505
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2024-10-24 08:41:32 +02:00
Regina Henschel a3c40e7326 tdf#157222 swap info texts of connector end point
Change-Id: I3d1d1ed27afbdf7700882a12bcd25643e37c3564
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175513
Tested-by: Jenkins
Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
2024-10-23 22:12:15 +02:00
Julien Nabet dedc053252 Following 250e00a51d (JDBC4.3)
Change-Id: I08b71b9c0504af7ed4af84456ce49dc2fe7274af
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175472
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
2024-10-23 21:36:51 +02:00
Julien Nabet 250e00a51d Declare missing methods and constants to synchronize with JDBC 4.3
OpenJDK source has been used for the comments

Change-Id: Ic443ef1f50894eccd5233f2c629e227b8816a8fe
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173568
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2024-10-23 08:57:01 +02:00
Noel Grandin abe6ab7aec set master slide name at creation time
which avoids some expensive broadcasting when the name is changed

a similar mega-master-page scenario as reported in tdf#158773

48s -> 20s

Change-Id: Ifcfd96077a9e83868ac96671ce9f208ae3ca418f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175126
Tested-by: Jenkins
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-10-21 15:48:24 +02:00
Attila Szűcs 599365d293 SW: extract transform charts (using dialog code)
Implemented chart data extraction, and transformation
added insert/delete/modify row/column, and the ability to set
resize data table
setcolumndesc / setrowdesc .. for 1 descriptor,
or with multiple descriptor to set
set 1 cell value, or set the whole table cells values.
it will resize the table, but you can still use partial arrays
like
            "data": [ [ 1,2,3,4 ],
                      [ 2,3,4,5 ],
                      [ 3 ],
                      [ 4,5,6,7 ],
                      [ 2,2,1 ],
                      [ 5,6,7,8 ] ],
that means the 3. row 2,3,4th cell will not be overwritten.

for insert column, it call codes from DataBrowserModel.
(used by dialog code)

added tests, fixed a contentcontrol date problem

2. commit (made by Caolan) squashed into 1. commit:
WIP hack this to link

move stuff from chartcontroller to chartcore and adjust visibility
until it links at least

Change-Id: I5529f4da33f046eef7e947d755e29486fa966274
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172849
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175121
Tested-by: Jenkins
2024-10-18 12:49:41 +02:00
Noel Grandin 40931f8324 fix comment
the original function was removed in
    commit 47bfbbdb73
    Author: Noel Grandin <noel.grandin@collabora.co.uk>
    Date:   Fri Feb 23 13:05:55 2024 +0200
    Create an UNO service to do the cui symbol lookup in vcl

Change-Id: I0f72318fd3eae0c8b34624cc8f05800b9de4d0ba
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174904
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2024-10-14 21:53:12 +02:00
Rafael Lima 2f1dcf01d7 tdf#157519 Implement Sensitivity Report in LpSolve solver
This patch implements sensitivity analysis when using the LpSolve solver engine.

It also adds the infrastructure needed for future implementations in other solver engines via the css::sheet::SensitivityReport struct.

Change-Id: I74c2ed9c6201a0b2ffc29ef612d2b778d11a3bef
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173642
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-10-09 14:49:07 +02:00
Andrea Gelmini 4ae702d675 Fix typo
Change-Id: Ie14012caf6bb97c779e647c84ea7d5bbb576f24d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174059
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2024-09-27 23:27:40 +02:00
Rafael Lima 911a57c4d6 tdf#160062 Uno API to set solver settings at the sheet level
This patch creates the API necessary to create solver models via macros, so that the model is visible in the Solver dialog, and the model is saved to the file.

This patch also includes a comprehensive unit test in scsolverobj.cxx.

Visit the bug ticket for a file with some examples of such macros.

Change-Id: Ib9cfbbdaab8243cd6b901a2bcd99e46c27be97e5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171769
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-09-27 11:06:57 +02:00
Miklos Vajna 81d3aefd85 [API CHANGE] XDocumentDigitalSignatures: remove deprecated / unused functions
Some functions were already a stub and only aborted on calling them.
The *Package* functions were added in commit
c9ed2f359a (INTEGRATION: CWS xmlsec08
(1.4.24); FILE MERGED 2005/02/22 13:07:19 mt 1.4.24.1: #i36682# Accept
separate Stream for signatures..., 2005-03-10), but it seems nobody
called them.

This also means that DocumentSignatureMode is now never set to
DocumentSignatureMode::Package, so remove that as well.

It seems to be unlikely that this non-published service was used by
3rd-party code, since it was specific to the needs of sfx2/ code, not
generic functionality that could be useful in other contexts.

Change-Id: Icfed9a0e6568f6eb21f9236901af01f1915bf2f8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173313
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-09-13 10:27:14 +02:00
Stephan Bergmann b418f3d8d3 Demonstrate that Embind is not multi-threading capable
Enabling the line commented out with "TODO" in embindtest.js would fail with
something like

> Aborted(Assertion failed: invalid handle: 8)
> worker.js onmessage() captured an uncaught exception: RuntimeError: unreachable
> RuntimeError: unreachable
>     at soffice.wasm.__trap (http://localhost:6931/soffice.wasm:wasm-function[446445]:0x8f952b3)
>     at ___trap (blob:http://localhost:6931/7e945427-df90-49c0-a2b5-28c5ecfbe1a5:16657:54)
>     at abort (blob:http://localhost:6931/7e945427-df90-49c0-a2b5-28c5ecfbe1a5:1091:5)
>     at assert (blob:http://localhost:6931/7e945427-df90-49c0-a2b5-28c5ecfbe1a5:731:5)
>     at HandleAllocator.get (blob:http://localhost:6931/7e945427-df90-49c0-a2b5-28c5ecfbe1a5:7212:11)
>     at Object.toValue (blob:http://localhost:6931/7e945427-df90-49c0-a2b5-28c5ecfbe1a5:7270:30)
>     at __emval_call_void_method (blob:http://localhost:6931/7e945427-df90-49c0-a2b5-28c5ecfbe1a5:10183:22)
>     at soffice.wasm.the_wrappers::com::sun::star::task::XJobExecutor::trigger(rtl::OUString const&) (http://localhost:6931/soffice.wasm:wasm-function[77042]:0xafbb24)
>     at soffice.wasm.(anonymous namespace)::JobExecutorThread::execute() (http://localhost:6931/soffice.wasm:wasm-function[243534]:0x43250b5)
>     at soffice.wasm.non-virtual thunk to salhelper::Thread::run() (http://localhost:6931/soffice.wasm:wasm-function[87641]:0xdff5cf)

Change-Id: I4e35dc19c5c0f97de7158bf9c07fd31716ffff84
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173132
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-09-10 19:52:15 +02:00
Miklos Vajna 07df95e75a cool#9992 lok doc sign: async DocumentDigitalSignatures::ImplViewSignatures()
Currently SfxObjectShell::CheckIsReadonly() has a hack for the LOK case
to show the signatures dialog read-only, as only that is async.

The next step is to make DocumentDigitalSignatures::ImplViewSignatures()
async, though that requires all callers of the function to be async, so
make DocumentDigitalSignatures::signScriptingContent() async as well.
There is also DocumentDigitalSignatures::signPackage(), but turns out
that's dead code, so just remove it.

Once this is in place, we had a problem that the callbacks tried to
interact with libxmlsec, but the dialog was still alive in
DocumentDigitalSignatures::ImplViewSignatures() by the time the callback
was running, so there were two DocumentSignatureManager instances at the
same time, and both assumes it should call the global libxmlsec
init/uninit, which resulted in failing to verify the just created
signature.

Fix this similar to how Tomaz fixed the same problem around pdfium in
commit 067a8a954c (pdfium: only init
pdfium library one and destroy on LO exit, 2020-06-03).

Change-Id: I3fb63c06195564732e1576dbd755157e676fb762
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173117
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-09-10 11:27:46 +02:00
Miklos Vajna caff013bee cool#9992 lok doc sign: async DocumentDigitalSignatures::signDocumentContent()
Currently SfxObjectShell::CheckIsReadonly() has a hack for the LOK case
to show the signatures dialog read-only, as only that is async.

The next step is to make
DocumentDigitalSignatures::signDocumentContent() async, but passing an
std::function via the UNO API is tricky.

Notice how DocumentDigitalSignatures in xmlsecurity/ also implements
sfx2::DigitalSignatures, add a new SignDocumentContentAsync() there and
adapt all uses of signDocumentContent() to go with that instead.

This requires introducing some lambdas for code after
signDocumentContent() in general and for ODF/OOXML specific code in
particular, to avoid code duplication.

Change-Id: If771ced711041364988af45ad9dd0dd1a2a8660d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173060
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-09-09 17:30:28 +02:00
Ilmari Lauhakangas 30faedfa35 tdf#161347 Harmonise API docs for UserDefinedAttributes a bit
Change-Id: I85ce6e42d292b85ca0a54652dd733b14137afe9d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172033
Tested-by: Jenkins
Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2024-08-19 16:02:42 +02:00
Mike Kaganski 2a122f47df Add missing property to com.sun.star.graphic.MediaProperties service
An omission from commit 8484e52675
"tdf#117427 missing API for determining and loading linked graphic",
2018-05-12, that introduced it.

Change-Id: Ibf4c754931f813c5234daa5f7b7c907ed84efdef
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172008
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2024-08-18 15:13:27 +02:00
Stephan Bergmann 50cd19debb Emscripten: Clean up SolarMutex
...before disappearing through the QApplication::exec() hole, or else the
SolarMutex would remain locked forever on the application's main thread.

This requires changing SalInstance::ReleaseYieldMutexAll() to
SalInstance::ReleaseYieldMutex(bool all).  (Further recursive locking of the
SolarMutex via SolarMutexGuard instances that would be present on the call stack
leading up to the call to QApplication::exec() would be released during the
stack unwinding, so just undo the one acquiring done in InitVCL, not all of
them.)

Change-Id: I9ef57abb7da7f840999700e4eaeeefd2da784645
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171956
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-08-18 15:10:00 +02:00
Mike Kaganski 3ad771ee7a Fix some copypaste errors in IDL documentation
Change-Id: I1f35df106ac4e41a7cce244b89b05407d7a14651
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171942
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
2024-08-16 15:53:49 +02:00
Mike Kaganski ab873780fd Clarify that XText::insertTextContent only accepts range that belongs to it
This is a widespread error; even out wiki has it.

Change-Id: Ia5a8b90a9b69bd868167ed1cfae86572c56e451c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171943
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-08-16 11:31:28 +02:00
Moritz Duge 8f9f042976 tdf#161909: make showing GPG keys only an explicit functionality
Before this change, selecting only GPG keys for ODF encrpytion relied on
the fact, that all X.509 implementations (nss+mscrypt) implement listing
public keys (getAllCertificates) as a stub.
See previous change Ia6b8ecb9

Change-Id: Icb36a4cefd60b94407129ff73fe62f9250bfbee5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171639
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2024-08-13 01:09:01 +02:00
Michael Weghorn 4c42b1c211 a11y: Clarify XAccessibleHyperlink doc
The API looks like it was modeled after
IAccessible2's `IAccessibleHyperlink` [1].

The doc was saying

> /** Returns an object that represents the link anchor, as appropriate
>     for that link.

for both, `XAccessibleHyperlink::getAccessibleActionAnchor`
and `XAccessibleHyperlink::getAccessibleActionObject`.

However, `XAccessibleHyperlink::getAccessibleActionObject` can
be used to get the link target, not the anchor, i.e. is the
equivalent of `IAccessibleHyperlink::anchorTarget` while
`XAccessibleHyperlink::getAccessibleActionAnchor` is the
equivalent of ` IAccessibleHyperlink::anchor`.

[1] https://accessibility.linuxfoundation.org/a11yspecs/ia2/docs/html/interface_i_accessible_hyperlink.html

Change-Id: I7e28ac648f698592afb031fcb433f385f902c6a7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171635
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tested-by: Jenkins
2024-08-09 07:01:55 +02:00
Stephan Bergmann af5c409205 Expose WorkWindow fullscreen mode via new XTopWindow3
...deriving from the existing XTopWindow2.  (Exposing this functionality via UNO
is useful e.g. for some embedded LOWA example application.)

Change-Id: Ib92f75510b7a2ca26933ea35afcc78882a7804fc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171403
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-08-02 15:47:54 +02:00
Stephan Bergmann 0bf2e317ac More exhaustive org.libreoffice.embindtest.Struct
Change-Id: I91085ef8cd7cd80852c0d0ab4f87fd3226a10a00
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171236
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-07-30 14:15:58 +02:00
Stephan Bergmann f504bd1ac9 Embind: Missing support for UNO polymorphic struct types
Change-Id: I6bb29a951e6e5a3ed7d825172ba7b92ef95a5619
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171228
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-07-30 11:00:49 +02:00
Eike Rathke 4c3f65ea3b Resolves: tdf#159343 Implement TableRef API token conversion
Change-Id: I1b0d9e002d267e62dc7cbbbfc9f5c5c728374345
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171165
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
2024-07-29 16:29:19 +02:00
Stephan Bergmann 4d18fa7694 In embindtest, also test Any included in Struct
Change-Id: Id268692c750873629c1ceaf232e1e61912164872
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171078
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-07-27 18:33:59 +02:00
Sarper Akdemir 426c641976 tdf#159040: add sign with default certificate to save dialog
Include X.509 certificates under Tools->Options->UserData
among the keys for signing.

Add a new checkbox to Save file dialog, to sign with that
selected key easily.

The checkbox is disabled if there's no matching key found.

Change-Id: I9fc16790c479819cd1f35bcad040d0ebc7c4bdef
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170619
Tested-by: Jenkins
Reviewed-by: Sarper Akdemir <sarper.akdemir@allotropia.de>
2024-07-24 07:08:46 +02:00
varshneydevansh 07ae0e5ada tdf#82716 Add initial implementation of the Histogram Chart
- Add the Histogram selection to the UI
- Histogram bars showing with No Gap
- Convert X and Y axis to group data into bins and frequency
- Adjusted failing UI test (tdf138556) as a new chart type was added

Change-Id: Id1f161adac943ead5e17c7fbb7e14c9ab7f1655e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167068
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-07-21 08:02:43 +02:00