summaryrefslogtreecommitdiff
path: root/offapi
AgeCommit message (Collapse)Author
3 daystdf#126154 sw offapi xmloff cui: add min/max word spacingLászló Németh
To avoid of rivers and too much hyphenation, add minimum and maximum word spacing options, similar to XSL-FO/CSS and DTP software. Only limiting hyphenation was implemented: hyphenation of the words are disabled, if it's possible to expand or shrink the spaces of the line within the values specified by the maximum and minimum word spacing. First try to apply the minimum word spacing, and if not possible, then the maximum word spacing. Note: maximum allowed shrinking has been applied for the hyphenated lines instead of the minimum to remove the hyphenation, yet. With the suggested default word spacing values, this results no or minimal differences. New UNO paragraph properties: com::sun::star::text::ParaWordSpacingMinimum com::sun::star::text::ParaWordSpacingMaximum New ODF paragraph attributes: loext:word-spacing-minimum loext:word-spacing-maximum New paragraph settings on Text Align pane: Minimum word spacing Maximum word spacing While the desired word spacing got "Desired" label. Note: suggested values of minimum, desired and maximum word spacing are 80%, 100% and 133% (default values e.g. in Adobe InDesign), in narrow columns e.g. 60%, 100% and 150%. Follow-up to commit 7d6696757dcdfa3cee481ac7795a91b2b47da363 "tdf#159923 sw cui offapi xmloff: add custom word spacing". Change-Id: I7f2a07f7fdb634cb16cdd8c2c937ca911b968405 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184595 Reviewed-by: László Németh <nemeth@numbertext.org> Tested-by: Jenkins
4 days[API CHANGE] a11y: Return string for XAccessibleExtendedAttributesMichael Weghorn
All XAccessibleExtendedAttributes::getExtendedAttributes implementations return a OUString wrapped in an Any (or an empty Any), and all consumers also expect that. Therefore, change the return type from Any to OUString to make that clearer and simpler. Change-Id: Ic6af692f72fd072c4039996f31208ac2098d2750 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184514 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
13 daystdf#159923 sw cui offapi xmloff: add custom word spacingLászló Németh
Add com::sun::star::text::ParaWordSpacing UNO and loext:word-spacing ODF extensions to set desired word spacing of a justified paragraph relative to the width of the space character, like DTP software do. Add Justification section and "Word spacing" spin box to the Text Align pane of paragraph settings. This extends not only the smart justify interoperability feature for custom shrinking (until 0%), but for custom expansion, too, until 1000%, like Adobe InDesign do. Note: this value hasn't been applied in the last paragraph line, yet. See also XSL-FO/CSS word-spacing and commit 7d08767b890e723cd502b1c61d250924f695eb98 "tdf#130088 tdf#119908 smart justify: fix DOCX line count + compat opt." Change-Id: I06f771335135e4682a1d1abfc9a247dbe4bc6b66 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184187 Reviewed-by: László Németh <nemeth@numbertext.org> Tested-by: Jenkins
2025-04-12tdf#165917 Improve Export directory pre-selectionSamuel Mehrbrodt
When calling an Export dialog (PDF, epub, ...) the following folder will be preselected: For stored documents: * Current document directory * If another directory was chosen for the export, that directory will be preselected for subsequent exports (stored only during runtime - per document) For unstored documents: * The last used export directory is restored (last used in unsaved doc) Change-Id: I97595d164cf1d3604166c38aa2a5ed31be56f113 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184062 Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de> Tested-by: Jenkins
2025-04-02tdf#165984 offapi: document inheritance of end zonesLászló Németh
Document inheritance of the previously added paragraph properties: com::sun::star::text::ParaHyphenationZoneAlways com::sun::star::text::ParaHyphenationZoneColumn com::sun::star::text::ParaHyphenationZonePage com::sun::star::text::ParaHyphenationZoneSpread Follow-up to commit 7d384fb1c232f7aa720436bc68dc1de334bf7297 "tdf#165984 sw cui xmloff: add Paragraph/Column/Page/Spread end zone" (where the new paragraph properties were introduced). Change-Id: I90e275472e487a566b8e9cbb3fe511ec1e1e7874 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183603 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2025-04-01tdf#165984 sw cui xmloff: add Paragraph/Column/Page/Spread end zoneLászló Németh
Add new hyphenation options to adjust hyphenation, like DTP software do in accordance with typographic requirements: – Paragraph/Column/Page/Spread end zone spin boxes to Hyphenate Across section of Text Flow pane of paragraph settings; – loext:hyphenation-zone-always, loext:hyphenation-zone-column, loext:hyphenation-zone-page and loext:hyphenation-zone-spread ODF extensions; – widorp.cxx, guess.cxx: handle Column/Page/Spread end zones; – guess.cxx: handle Paragraph end zone (without portions, yet). According to their typography, languages with long words need better adjustment of line break of the last full paragraph/column/page/spread lines, than simply disabling hyphenation by the recent ODF hyphenation- keep or its equivalent MS Word OOXML extension. DTP software use paragraph and column/page/spread end zones to adjust the hyphenation zones in the last lines, for example, setting Column end zone to the 150% percent of the Hyphenation zone, resulting less hyphenation, also less short words parts at the end of the columns, pages and spreads, increasing readability. Note: the default OOXML hyphenation zone 18 pt (or its MS Word variants, for example 21.25 pt) disables single letter or narrow 2-letter (li-, fi-, i.e. fi ligature) hyphenations at 12 pt font height. Setting 27 pt for Column end zone, all 2-letter hyphenation is disabled in last lines of columns and pages. Note: textflow.ui needs multiple adjustment definitions for correct work of the multiple spin boxes. Change-Id: I37bbb4da30de0ec75eb8636f70d8e16588c56ed1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183565 Tested-by: Jenkins Reviewed-by: László Németh <nemeth@numbertext.org>
2025-03-28[API CHANGE] tdf#74580 Add option to skip filter settings dialogShardul Vikram Singh
Introduce a new set of setting under org.openoffice.Office.UI/FilePicker to control whether the settings dialogs of filters always appears. Add an "Edit Filter Settings" checkbox to the File Open dialog, using the new API constant FILEOPEN_READONLY_VERSION_FILTEROPTIONS (TemplateDescription.idl) to show additional controls: "Read Only", "Filter Options", and "Version" listbox. Modify the Calc's Text Import filter settings dialog to include an "Always Show on Import" checkbox. Co-authored-by: Mike Kaganski <mike.kaganski@collabora.com> Change-Id: Ic7bea0036ae2db8f8ab223f48499fb0cc8b18425 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183055 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2025-03-12tdf#70102 API cleanup for RTL icon variant code supportJonathan Clark
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-11tdf#70102 Code support for RTL variants in icon themesJonathan Clark
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-09Removed executable permission on idl fileAndrea Gelmini
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-08tdf#71583 Add page count of ranges with consecutive page numberingOliver Specht
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-02-27[API CHANGE] Drop css::drawing::XPresenterHelperMichael Weghorn
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-21tdf#i165354 sw offapi DOCX: implement HyphenationKeepLine – part 1László Németh
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 9574a62add8e4901405e12117e75c86c2d2c2f21 "tdf#132599 cui offapi sw xmloff: implement hyphenate-keep". and commit c8ee0e8f581b8a6e41b1a6b8aa4d40b442c1d463 "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-19[API CHANGE] remove XTiledRenderableNoel Grandin
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-17Fix license + footer + rename RowId into XRowIdJulien Nabet
+ 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-14Refine sync of SDBC with JDBC 4.3Julien Nabet
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-12a11y: Update param name in XAccessibleRelationSet docMichael Weghorn
The param was renamed from `aRelationType` to `eRelationType` in commit 92a36bbd4f3e9ad5d2741f55fe4ac7f03f7e2531 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-06Update the reference rdbs to libreoffice-25.2.0.3Stephan Bergmann
.../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-04[API CHANGE] sd pdfium: add page number when saving/loading pdf pages as imagesJaume Pujantell
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-01-30tdf#158867 offapi,i18npool,starmath: fix "," in Math againMichael Stahl
This is essentially the same bug that was fixed in commit 2caa9d7ddcff3f6e380c306b737e9b5e9cdaf4c2 "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>
2024-12-17[API CHANGE] a11y: Drop UNO service to create a11y contextsMichael Weghorn
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 1af510e95147374e5289ae1c12f1f280931919f4 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-12Include the org.libreoffice.embindtest infrastructure in all Emscripten buildsStephan Bergmann
...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-10[API CHANGE] remove LOKSlideRenderer implementationTomaž Vajngerl
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-04[API CHANGE] a11y: Drop XAccessibleExtendedComponent::getFontMichael Weghorn
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-11-13tdf#36709 sw: Writer layout for font-relative first-line indentJonathan Clark
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-07[API CHANGE] a11y: Switch AccessibleRelationType to enumMichael Weghorn
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-06Update the reference rdbs to libreoffice-24.8.0.3Stephan Bergmann
.../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-01tdf#36709 Refactor Converter to separate parsing from unit conversionJonathan Clark
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-10-28tdf#162262 sc add "Summary below data" option for Subtotal dialogBalazs Varga
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-24Fix typoAndrea Gelmini
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-23tdf#157222 swap info texts of connector end pointRegina Henschel
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-23Following 250e00a51dcf60ac2e028983f5d29c0f68748b38 (JDBC4.3)Julien Nabet
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-23Declare missing methods and constants to synchronize with JDBC 4.3Julien Nabet
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-21set master slide name at creation timeNoel Grandin
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-18SW: extract transform charts (using dialog code)Attila Szűcs
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-14fix commentNoel Grandin
the original function was removed in commit 47bfbbdb73380335196887b36c4d14530c0461ec 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-09tdf#157519 Implement Sensitivity Report in LpSolve solverRafael Lima
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-09-27Fix typoAndrea Gelmini
Change-Id: Ie14012caf6bb97c779e647c84ea7d5bbb576f24d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174059 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2024-09-27tdf#160062 Uno API to set solver settings at the sheet levelRafael Lima
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-13[API CHANGE] XDocumentDigitalSignatures: remove deprecated / unused functionsMiklos Vajna
Some functions were already a stub and only aborted on calling them. The *Package* functions were added in commit c9ed2f359a9e899c3046c8151c831e24250fddbb (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-10Demonstrate that Embind is not multi-threading capableStephan Bergmann
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-10cool#9992 lok doc sign: async DocumentDigitalSignatures::ImplViewSignatures()Miklos Vajna
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 067a8a954c8e1d8d6465a4ab5fb61e93f16c26c2 (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-09cool#9992 lok doc sign: async DocumentDigitalSignatures::signDocumentContent()Miklos Vajna
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-08-19tdf#161347 Harmonise API docs for UserDefinedAttributes a bitIlmari Lauhakangas
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-18Add missing property to com.sun.star.graphic.MediaProperties serviceMike Kaganski
An omission from commit 8484e52675052848d2d3ffe07378ce2ad29fd288 "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-18Emscripten: Clean up SolarMutexStephan Bergmann
...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-16Fix some copypaste errors in IDL documentationMike Kaganski
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-16Clarify that XText::insertTextContent only accepts range that belongs to itMike Kaganski
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-13tdf#161909: make showing GPG keys only an explicit functionalityMoritz Duge
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-09a11y: Clarify XAccessibleHyperlink docMichael Weghorn
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