summaryrefslogtreecommitdiff
path: root/offapi/com
AgeCommit message (Collapse)AuthorFilesLines
8 daystdf#132599 cui offapi sw xmloff: add hyphenation-keep-typeLászló Németh1-2/+13
Support XSL attribute "column" and CSS 4 attribute "spread", stored in loext:hyphenation-keep-type, to give better control over hyphenation-keep. E.g. spread: both parts of a hyphenated word shall lie within a single spread, i.e. when the next page is not visible at the same time (e.g. the next page is not a right page of a book). – css::style::ParaHyphenationKeep is a boolean property now, importing hyphenation-keep = "page" as true. – type of ParaHyphenationKeep, including the new non-ODF types is stored in the new ParagraphProperties::ParaHyphenationKeepType. – default value of ParaHyphenationKeepType is COLUMN for interoperability. – Add checkboxes to Text Flow -> Hyphenation Across in paragraph dialog: * Column (previously: Hyphenate across column and page) * Page * Spread – enabling/disabling them follows XSL/CSS 4/loext, i.e. possible combinations: * No Hyphenation across (hyphenation-keep = "page" and loext:hyphenation-keep-type = "column") * Hyphenation across [x] Column (hyphenation-keep = "page" and loext:hyphenation-keep-type = "page") * Hyphenation across [x] Column [x] Page (hyphenation-keep = "page" and loext:hyphenation-keep-type = "spread") * Hyphenation across [x] Column [x] Page [x] Spread (hyphenation-keep = "auto") – Add ODF import/export – Update DOCX import – Add ODF unit tests Note: recent implementation depends on widow settings: disabling widow handling allows hyphenation across columns and pages not only in table cells. Note: RTF import-only, but not used bPageEnd has been renamed to bKeep. Depending on the RTF test results, likely it will need to disable the layout change, e.g. GetKeepType()=ParagraphHyphenationKeepType::AUTO, if PageEnd uses obsolete hyphenation rule, i.e. shifting only the hyphenated word to the next page, not the full line. More information: – COLUMN (standard XSL value, defined in https://www.w3.org/TR/2001/REC-xsl-20011015/slice7.html#hyphenation-keep) – SPREAD and ALWAYS (CSS 4 values of hyphenate-limit-last, equivalent of hyphenation-keep, defined in https://www.w3.org/TR/css-text-4/#hyphenate-line-limits). 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: I3ac6d9e86d0ed1646f105de8607c0e8ebc534eaa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165954 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2024-04-04a11y: Fix XAccessible{Editable,Multiline}Text docMichael Weghorn2-3/+3
Fix typos and slightly improve wording. Change-Id: Ib58dcb4d6039a55ade76d12d5fed33f4eac84776 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165792 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-03-28Correct typo in commentPatrick Luby1-1/+1
Typo was added in commit 6a049e417b029f3733fcee05f99a3e8875aefdb8. Change-Id: Icfe61fde3b199505ae2107f1b790cf94ac98c456 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165462 Tested-by: Jenkins Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
2024-03-28fix comparison of UIObject's inside UITestsNoel Grandin1-0/+5
using == to compare them doesnt work, because we return a new one with every call to getTopFocusWindow and similar. So add a equals() method to the UNO interface to do the comparison. Change-Id: Ie909fe9b4e84fe07f4ca87bbebf65b56d3da8f78 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165436 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-03-26Consolidate on @since LibreOffice MAJOR.MINOR tagsStephan Bergmann1-1/+1
...so even if 6a049e417b029f3733fcee05f99a3e8875aefdb8 "tdf#160184 ask user if they want to trust an untrusted certificate" gets backported to libreoffice-24-2 towards LO 24.2.3, better keep @since tags consistent and only officially announce it for LO 24.8 Change-Id: I32be31893823ef116603b98df7ce9ec305a96e6e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165306 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-03-26tdf#160184 ask user if they want to trust an untrusted certificatePatrick Luby1-0/+6
gpgme contexts uses the "auto" trust model by default which only allows encrypting with keys that have their trust level set to "Ultimate". The gpg command, however, gives the user the option to encrypt with a certificate that has a lower trust level so emulate that bahavior by asking the user if they want to trust the certificate for just this operation only. Also, abort saving if no certificates are selected which is an indication that the user cancelled the Select Certificate dialog. Change-Id: I20951b1e31b2dcf8adb82243742f8c00fbaca8c2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165260 Tested-by: Jenkins Reviewed-by: Patrick Luby <guibomacdev@gmail.com> Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2024-03-20tdf#158885 cui offapi sw xmloff: fix hyphenation at stem boundaryLászló Németh1-0/+7
Add new hyphenation option "Compound characters at line end", equivalent of libhyphen's COMPOUNDLEFTHYPHENMIN, to limit bad pattern based hyphenation of compound words using morphological analysis of Hunspell. * Add checkbox to Text Flow in paragraph formatting dialog window * Store property in paragraph model: css::style::ParagraphProperties::ParaHyphenationCompoundMinLeadingChars * Add ODF import/export (loext:hyphenation-compound-remain-char-count) * Add ODF unit tests Note: slower Hunspell based hyphenation is used only if ParaHyphenationCompoundMinLeadingChars >= 3 (we assume that libhyphen hyphenation patterns cover the smaller distances correctly). Hunpell based hyphenation doesn't introduce new hyphenation breaks, only detects the stem boundaries from the libhyphen based hyphenation breaks. Follow-up to commit c899d3608d30f3ab4c2bc193c1fcd765221614a4 "tdf#158885 sw: don't hyphenate right after a stem boundary", replacing hyphenation zone dependence with the new "Compound characters at line end". Note: preset COMPOUNDLEFTHYPHENMIN values aren't loaded yet from hyphenation dictionaries. Note: the suffix of the last stem of the compound is always hyphenated, i.e. the distance limits only hyphenation inside the stem, not inside its suffix or at the end of the stem before the suffix. Change-Id: I46a0288929a66f7453e3ff97fbc5a0c6a01f038f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164983 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2024-03-06Create an UNO service to do the symbol lookup in swNoel Grandin1-0/+38
which means I can remove one usage of gb_Library_set_plugin_for, which is blocking linking the sw module into --enable-mergelibs=more Change-Id: I8c199421c66de2dcf339ccc2d5cb9340d3bea914 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164429 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-03-05Keep recently introduced UNOIDL entity unpublished for nowStephan Bergmann1-1/+1
Change-Id: I635e08898bc2627dada89fed5a834a6145915ac9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164431 Reviewed-by: László Németh <nemeth@numbertext.org> Tested-by: Jenkins
2024-03-05Create an UNO service to do the symbol lookup in sdNoel Grandin1-0/+38
which means I can remove one usage of gb_Library_set_plugin_for, which is blocking linking the sd module into --enable-mergelibs=more Change-Id: I90dae749f777446f67342d121e4dc29b974cb9b6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164423 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-03-05Create an UNO service to do the symbol lookup in scNoel Grandin1-0/+38
which means I can remove one usage of gb_Library_set_plugin_for, which is blocking linking the accessibility module into --enable-mergelibs=more Change-Id: I389fcafd80f1a450befbffdc252be497ba20f6d5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164415 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-03-04tdf#132599 cui offapi sw xmloff: implement hyphenate-keepLászló Németh2-0/+71
Both parts of a hyphenated word shall lie within a single page with ODF paragraph setting fo:hyphenation-keep="page". The implementation follows the default page layout of MSO 2016 and newer by shifting the bottom hyphenated line to the next page (and to the next column, see last note). Note: this is a MSO DOCX interoperability feature, used also in DTP software, XSL and CSS. * Add checkbox/combobox to Text Flow in paragraph dialog * Store property in paragraph model (com::sun::star::style::ParagraphProperties::ParaHyphenationKeep) * Add ODF import/export * Add ODF unit tests New constants of com::sun::star::text::ParagraphHyphenationKeepType, containing ODF AUTO and PAGE (borrowed from XSL), and for the planned extension ParaHyphenationKeepType of ParagraphProperties: – COLUMN (standard XSL value, defined in https://www.w3.org/TR/2001/REC-xsl-20011015/slice7.html#hyphenation-keep) – SPREAD and ALWAYS (CSS 4 values of hyphenate-limit-last, equivalent of hyphenation-keep, defined in https://www.w3.org/TR/css-text-4/#hyphenate-line-limits). Note: the implementation truncates only a single hyphenated line, like MSO does: the pages can end in hyphenated lines (i.e. in the case of consecutive hyphenated lines), but less often, than before. Clean-up hyphenation dialog by collecting "Don't hyphenate" options at the end of the hyphenation settings, and negating them (similar to MSO and DTP), adding also the new option "Hyphenate across column and page": [x] Hyphenate words in CAPS [x] Hyphenate last word [x] Hyphenate across column and page Note: ODF fo:hyphenation-keep has got only "auto" and "page" attributes, while XSL defines also "column". Because of the interoperability with MSO and DTP, fo:hyphenation-keep="page" is interpreted as XSL "column", avoiding hyphenation at the end of column, not only at the end of page. Change-Id: I5c6b7adc0671a5a790568e7bf1d33256e607f85f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164158 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2024-02-29Create an UNO service to do the symbol lookup in toolkit::AccessibilityClientNoel Grandin1-0/+38
which means I can remove one usage of gb_Library_set_plugin_for, which is blocking linking the accessibility module into --enable-mergelibs=more Change-Id: I8664ae1d2da4526cc7eab79b36e1589eb391d7c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163680 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-02-25Create an UNO service to do the cui symbol lookup in vclNoel Grandin1-0/+38
which means I can remove one usage of gb_Library_set_plugin_for, which is blocking linking the cui module into --enable-mergelibs=more Change-Id: Ic6cd48377627f94747037c7247a1cd398738b390 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163820 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-02-16tdf#67347 pptx import: stacked text, minimal impl.Attila Szűcs1-0/+10
Display Stacked text, and Import/Export Stacked property from/to pptx. It is a minimal implementation, it does not import/export to .odp, there is no user interface to set this property. Multiline Stacked text is rendered as 1 line text. XML_wordArtVertRtl is mapped to XML_wordArtVert. Editing of text containing space character seems to not work correctly. Change-Id: I535da45e3a2f2d1550bad2a40e9909e0d561d0ef Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163121 Tested-by: Jenkins Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-02-15offapi: fix misleading commentMichael Stahl1-1/+2
Change-Id: Ibc585600c0aa21f18911972f4604be65d16d713c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163437 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2024-02-06tdf#50934: Add a version comment, and more structure for of-pieKurt Nordback1-0/+1
Change-Id: I9d7c25e47a3f4a78360f9b2deffe8650e378866d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156305 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-02-02tdf#50934: Initial plumbing and infrastructureKurt Nordback1-0/+53
Change-Id: I355bdc8e6d67e7cdd47e4d6eccecedc4b53ac11b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155851 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-01-30tdf#146756 pie chart2 import: use manualLayout Width for pie chart labelsJustin Luth1-0/+6
... and use a compatible 1/5 width if not specified. This patch depends on the previous oox patch (commit 301e27cbebf7d6e4c9b82290d7cd555c43f0c999) which actually reads the width into the model. Fixes a 7.2 regression from commit b0068342398786ca50304260434a18880dddf74d author Tünde Tóth on Wed Dec 16 18:26:26 2020 +0100 tdf#138777 pie chart: improve long data label width and is basically a re-write of 7.1's commit 20da1a5dd37c7edac620566c992d5a53b23a5f12 author Tünde Tóth <toth.tunde@nisz.hu> on Fri Oct 09 09:24:18 2020 +0200 tdf#134978 Chart OOXML Import: fix pie chart label custom position This is very risky, but then ANYTHING changing chart2 is risky. There were a lot of changes made in 7.1, and they all invited regressions. However, our chart implementation is not in a good state, and certainly is not very interoperable, so it is worth taking the risk. Anything dealing with manualLayout at this point should have originated as a pptx, so forcing a compatible max width should be fairly safe. It probably isn't actually all that risky after all. largely copied code from commit 4223ff2be69f03e571464b0b09ad0d278918631b Author: Balazs Varga on Wed Jan 15 16:31:35 2020 +0100 tdf#48436 Chart: add CustomLabelPosition UNO API property Fortunately this all goes away after a round-trip since custom label placement is lost on export to OOXML, and that really helps to reduce the risk. make CppunitTest_chart2_import CPPUNIT_TEST_NAME=testTdf146487 Change-Id: I9722fc6c759c15ac3924780e6fc124f02fba07e1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162590 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-01-30improve docs of XSystemShellExecuteNoel Grandin1-0/+10
copied from a comment by sberg Change-Id: Ia363bac0a115564265ca9169174fdfc0d8610a69 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162685 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-01-19tdf#106733 sw: implement CharNoHyphenationLászló Németh1-1/+7
Implement CharNoHyphenation character property to disable automatic hyphenation of words in paragraphs with enabled hyphenation. Fix also fo:hyphenate mapping to CharNoHyphenation using automatic inversion of their boolean values defined by xmloff's XML_TYPE_NBOOL, as suggested by Michael Stahl. Update also the test for tdf#159102 to check the available hyphenation dictionary (also custom hyphenation patterns work only with supported locales of the hyphenator). Note: patch of thints.cxx contains also partial revert of commit 53b289eabb3d265b47bc7fb6cc430291c97f0c0b "use more TypedWhichId". Follow-up to commit 73bd04a71e741788a2f2f3b26cc46ddb6a361372 "tdf#106733 xmloff: keep fo:hyphenate in character formatting". Change-Id: If99b94ddcd44a5c2426e646be149078a3b9773b6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162300 Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: László Németh <nemeth@numbertext.org>
2023-12-21we are at 24.8 in trunk now, not 24.2Caolán McNamara1-1/+1
Change-Id: Iac329b0f11a564e90d6eb1e9c4a42f36254021f9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161120 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-21Add export sheet range option to calcNickWingate1-0/+42
User can specify which sheets to export e.g. '2-5,7' exports sheets 2,3,4,5,7. Note: this is different from exporting pages as one sheet may contain several pages worth of content. Also fix a bug where exporting only a selected sheet causes the next sheet to be exported. e.g.: Sheet 1 is empty, Sheet 2 has content. Exporting Sheet 1 results in Sheet 2's content being exported Signed-off-by: NickWingate <nick.wingate@collabora.com> Change-Id: Iecd42188ddbbbcd70eb37bec80783e29e3cb5b19 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156255 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159686 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-20tdf#105844 offapi,package,sfx2: use Argon2 for wholesome ODF encryptionMichael Stahl2-0/+55
https://www.rfc-editor.org/rfc/rfc9106.html * add css::xml::crypto::KDFID constant group * add "KeyDerivationFunction" to setEncryptionAlgorithms sequence * Argon2 is used by default for wholesome ODF encryption, but $LO_ARGON2_DISABLE can be set to use PBKDF2 * extend various structs in package * use 3 new ODF attributes "loext:argon2-iterations" "loext:argon2-memory" "loext:argon2-lanes" to store the arguments * use this URL for now: "urn:org:documentfoundation:names:experimental:office:manifest:argon2id" * use default arguments according to second recommendation from "7.4. Recommendations" of RFC9106; 64 MiB RAM should hopefully not be too much even for 32 bit builds Change-Id: I683118cc5e0706bd6544db6fb909096768ac9920 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161009 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-12-19tdf#123864 a11y: Handle new CHECKABLE state in misc placesMichael Weghorn7-0/+14
Add reporting/handling of the CHECKABLE a11y state added in commit d6c6472bbe1c90b733a4d69c4c8528f4de3750d3 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Mon Nov 13 15:53:44 2023 +0100 tdf#123864 a11y: Add new AccessibleStateType::CHECKABLE in various places where it seems pretty straightforward. `VCLXAccessibleMenuItem` is a bit more complex and will be handled separately. Change-Id: I212b8439609d34410413959973163aa7d809cbf1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160901 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-12-18[API CHANGE] tdf#158041 Remove unused reverse printing option from swSamuel Mehrbrodt1-0/+4
Change-Id: I8b4597dbafc78e881fe556de8ce8221e50a673bf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160777 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2023-12-18[API CHANGE] tdf#158041 Remove unused drawing printing option from swSamuel Mehrbrodt1-0/+2
Change-Id: I95f81f166ab9d75622c83672101925894b2f2e7d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160774 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2023-12-18[API CHANGE] tdf#158041 Remove unused table printing option from swSamuel Mehrbrodt2-0/+8
"for now it was decided that tables should always be printed" -> make this decision from 2015 permanent Change-Id: Ica5958a74ec6766040ab59f2c91224b75df4d807 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160766 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2023-12-18[API CHANGE] tdf#158041 Remove unused SinglePrintJobs config option from swSamuel Mehrbrodt1-0/+2
This is handled by the print dialog directly Change-Id: Ieb4221d97444216f332501da9a3aba7dc6b8500a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160762 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2023-12-13tdf#105844 package,sfx2: remove checksum infoleak when using AEADMichael Stahl1-1/+1
AEAD provides the verification of the password automatically, by reading the entire stream the tag at the end will be verified. The existing attributes manifest:checksum-type/manifest:checksum leak information about the plain text. This was mitigated with the addChaffWhenEncryptedStorage() functions (see commit f57baefbd3c4c5d8e5ec28e8702c91d60ffc5de2) but a better solution that also works for non-XML streams is to simply omit the attributes; authenticated encryption provides better verification without any leak. * "ChecksumAlgorithm" property can be set to void now to remove the checksum * change a bunch of members in EncryptionData, ZipPackage, ZipPackageStream to optional * change ZipFile::checkValidPassword() to open the stream and return it Change-Id: Id95288d0c238c4f9940fc5a185df814e8edcbad3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160711 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-12-11tdf#105844 offapi,package,sfx2,xmlsecurity: add AEAD w/ AES GCMMichael Stahl1-0/+13
... and use it in the new experimental ODF encryption mode. https://www.w3.org/TR/xmlenc-core1/#sec-AES-GCM Unfortunately it turned out that NSS PK11_CipherOp() does not work with CKM_AES_GCM because it is initialized with "context->multi = PR_FALSE" in sftk_CryptInit(), so the one-step functions PK11_Encrypt() and PK11_Decrypt() have to be used. NSS 3.52 also changed a parameter struct definition - see https://fedoraproject.org/wiki/Changes/NssGCMParams - which is not a problem for RHEL or SUSE system NSS since those are rebased, but it is likely a problem for less well maintained Ubuntu LTS, so use the old struct definition which evidently still works with NSS 3.94. NSS 3.52 also added a new PK11_AEADOp() API but it looks like this doesn't support incremental encryption either. Change-Id: Ibd4a672db74b65b1218926ba35ff8d2f70444c7e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160505 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-12-07tdf#157432 Expert config: Allow filtering by changed valuesSamuel Mehrbrodt1-0/+16
Change-Id: Ib8bbb7fc9e8014a9367278f3fa640f53af46dd2b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159986 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2023-12-06tdf#148986 Support XF86Forward / XF86Back key eventsGabor Kelemen1-0/+6
Multimedia keys found on certain presentation clicker devices. Not added to the Customize dialog, as that was not yet asked for. As I have no access to a MAC, did not add support for that in vcl. Inspiration for code taken from commit ca74511985981444dbd72ade7244484c131e36a7 Change-Id: I417e6ba7e79c5f6e774a56ba747803a156d5f50f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160255 Tested-by: Thorsten Behrens <thorsten.behrens@allotropia.de> Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2023-12-01[API CHANGE] Add OOXML way of curved connector routingRegina Henschel1-0/+7
The paths generated for curved connectors are basically incompatible between LibreOffice and OOXML. Thus it was not possible to render curved connectors the same way as MS Office. The patch adds an OOXML compatible method for calculating the path. The new method results in a different svg:d attribute when saved in ODF, but needs no change to ODF. The patch introduces the boolean connector property 'EdgeOOXMLCurve' to switch between the two methods. The property value is determined from the svg:d attribute in case of import from ODF. In case of missing svg:d attribute the property value is set to 'true', because Word currently does not write a svg:d attribute when it exports to ODF. The property value is set to 'true' for import of connectors on a drawing canvas in docx. Default value for new connectors is 'false'. The new property has no UI, but can be used via macro. Currently the new method is used for import of curved connectors on drawing canvas in docx documents. Change-Id: I53d99f44febe4d74c2b611f5fdb9de86628c4519 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159708 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-11-24sw floattable, per-frame wrap-on-all-pages mode: add UNO APIMiklos Vajna1-0/+6
This exposes the internal property SwFormatWrapTextAtFlyStart on the UNO API. We need this, because otherwise the ODT filter can't read/write it. Change-Id: I67d3c28e3531b19183f8361a6df87b7a4ca84294 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159888 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2023-11-20Use existing types, instead of stringsSamuel Mehrbrodt1-2/+6
as suggested in https://gerrit.libreoffice.org/c/core/+/158028/comments/b7a803f4_7e5899ca Change-Id: I7d4c46b24307922b51e463bacdfacfca85956b80 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159524 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2023-11-14Fix typoAndrea Gelmini1-1/+1
Change-Id: Idcfcd6aca1c74cb3e10dac09cd347b69a9bdb949 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159406 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-11-14Fix typoAndrea Gelmini1-1/+1
Change-Id: Id3be5eb786bfa245155fef17e819a72dee322e18 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159397 Tested-by: Jenkins Reviewed-by: Taichi Haradaguchi <20001722@ymail.ne.jp>
2023-11-14tdf#123864 a11y: Add new AccessibleStateType::CHECKABLEMichael Weghorn1-0/+6
Both, AT-SPI and IAccessible2 have a CHECKABLE state that describes whether an item is checkable, i.e. whether it can be checked, i.e. whether it is possible that this object can have the CHECKED state. So far, LibreOffice didn't have any equivalent, and e.g. a checkbox that is ticked would report state CHECKED but not CHECKABLE, which is inconsistent. ("How can an object that is not checkable be checked?") For an unchecked object, the fact that it can be checked is unclear since that one will just have the CHECKED state not being present. Introduce a new a11y state, `AccessibleStateType::CHECKABLE` with the same semantics as in AT-SPI and IAccessible2 to bridge the gap. Map the state in winaccessibility (to IAccessible2), gtk3 and an the Qt-based VCL plugins, which are responsible for mapping to AT-SPI. While Qt has an equivalent state flag, it currently doesn't map that to AT-SPI yet. Pending upstream Gerrit change to implement that: [1] The gtk4 a11y API doesn't have a direct equivalent and will be handled separately in a following commit. Reporting the new state where applicable will be implemented in following commits. [1] https://codereview.qt-project.org/c/qt/qtbase/+/517844 Change-Id: I6aa7fec3b3bd728a5cfedcdc8d6b66f06337f7ce Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159382 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-11-13tdf#158185: fix Excel's Range.Find and Range.Replace wildcard recognitionMike Kaganski1-0/+6
VBAToRegexp is wrong, using Basic wildcards. The functionality introduced in tdf#72196 matches the required wildcard repertoire. This introduces a new WildcardEscapeCharacter property to SearchDescriptor service. Interestingly, the default value there was backslash. TODO: also fix Range.AutoFilter, and drop VBAToRegexp. To do that, a new property is needed in service SheetFilterDescriptor, to use wildcards, in addition to "UseRegularExpressions" property. Change-Id: Idebcf00d4b7376e5d7feaf8ae800fb19d05689d4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159391 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-11-09Use proper type in expert config dialogSamuel Mehrbrodt1-0/+12
In preparation for proper editing support for the different types. Change-Id: I7044ff100c9bfcca5fa8894ff4525a1aac692796 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158028 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2023-11-09tdf#157431 Show description for expert config itemsSamuel Mehrbrodt1-0/+34
Change-Id: I7d0257c2e06ed384f90ca3b51a6d2549044f2cf3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157148 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2023-11-08Clarify FROM_LIST_AND_SIGNED_WARN description a bitMike Kaganski1-1/+2
Change-Id: Icab6b5b2e0c290bf67f1b330ad82553e9e37328e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159098 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-11-07Fix a typoMike Kaganski1-4/+4
Change-Id: I01dae264822c5394cabbb5cc4f7d4cb63190d23e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159030 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-10-30Enable STYLEREF flag export/import with OOXMLSkyler Grey1-0/+4
This commit enables exporting the following STYLEREF flags with OOXML - Search from bottom to top - Hide non numerical After this commit, the following steps have been implemented - The document model (I7d8f455ffe90cface4f3b1acf6b9bef6a045ed19) - The layout (I7d8f455ffe90cface4f3b1acf6b9bef6a045ed19) - The UI (I7d8f455ffe90cface4f3b1acf6b9bef6a045ed19) - UNO - DOCX filter Change-Id: Ib664fec059aa1f7f130acc76c253d5d298fa59f7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158350 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-28tdf#135586 sw a11y: Use BLOCK_QUOTE role for "Block Quotation" paraMichael Weghorn1-2/+3
If a paragraph is using the "Block Quotation" paragraph style, report the newly introduced BLOCK_QUOTE a11y role for it instead of the PARAGRAPH role. This is similar to how the HEADING role is reported when one of the paragraph styles for headings is used (s. `SwAccessibleParagraph::GetRealHeadingLevel`). This is also in line with what is documented for mapping LO elements to tagged PDF elements in sw/inc/EnhancedPDFExportHelper.hxx: > * Mapping of OOo elements to tagged pdf elements: > * > * OOo element tagged pdf element > * ----------- ------------------ > * [...] > * SwFormat Quotations BlockQuote This makes the Orca screen reader with the gtk3 VCL plugin on Linux and the NVDA screen reader on Windows explicitly announce a paragraph as block quote when moving there with the cursor. Adapt some places that have specific handling for the PARAGRAPH role to take into account the BLOCK_QUOTE role as well. Change-Id: I4a89625c2a3f07d37df09e68cb7045a59cfff633 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158574 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-10-28tdf#135586 a11y: Add a new BLOCK_QUOTE a11y roleMichael Weghorn1-0/+8
A block quote role exists in all of WAI-ARIA 1.3 (role "blockquote", [1]), IAccessible2 (`IA2_ROLE_BLOCK_QUOTE`, [2]) and AT-SPI (`ROLE_BLOCK_QUOTE`, [3]). Take over the definition that is the same in WAI-ARIA and IAccessible2: > A section of content that is quoted from another source. The intended use for now is for a Writer paragraph using the "Block Quotation" paragraph style, similar to how the HEADING role is used for paragraphs using a corresponding paragraph style. For gtk3 (ATK) and winaccessibility (IAccessible2), map the new role to the equivalant roles. For macOS and the gtk4 as well as the Qt-based VCL plugins on Linux which currently don't have an equivalent role, fall back to the same role that the PARAGRAPH role is mapped to. This way, the behavior there will remain unchanged once the BLOCK_QUOTE role is used for Writer paragraphs with the corresponding style. In general, treat BLOCK_QUOTE like PARAGRAPH in code applying special handling for the PARAGRAPH role. [1] https://w3c.github.io/aria/#blockquote [2] https://github.com/LinuxA11y/IAccessible2/blob/3d8c7f0b833453f761ded6b12d8be431507bfe0b/api/AccessibleRole.idl#L318 [3] https://gitlab.gnome.org/GNOME/at-spi2-core/-/blob/7cc4cee53ddbd22631fd110f0e5ce045dec2e411/xml/Accessible.xml#L615-616 Change-Id: I248c183a2e7ec5d6f0a89bf3cb4829bbd8588c77 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158573 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-10-26tdf#153519 use new IdleTask::waitUntilIdleDispatchedNoel Grandin1-0/+3
to wait until the Idle inside sw/ has done populating the navigator tree. Which required (*) moving the code down from test/ to vcl/ to avoid circular dependency issues. (*) adding a call SolarMutexGuard before Application::Yield inside IdleTask::waitUntilIdleDispatched (*) exposing the function to python by adding a method to the XToolkitExperimental UNO API Change-Id: Iee418f7a0beb1f5b53addb7fe25823d61720eb3a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158495 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-10-24Fix typoAndrea Gelmini1-2/+2
Change-Id: Iac1d0f9a00fe5ccab84da1f1fb033354920341fa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158366 Tested-by: Jenkins Reviewed-by: Taichi Haradaguchi <20001722@ymail.ne.jp>
2023-10-23a11y: Make XAccessibleValue doc more consistentMichael Weghorn1-11/+10
* Align the method names in the documentation to what the acual methods are called (e.g. `getMaximumValue`, not `getMaximumAccessibleValue`). * Use "minimum" and "maximum" consistently, not "minimal" and "maximal" in some places. Change-Id: Idf4f36dca118a614b04a4b958e97d225f70dde0d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158347 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>