summaryrefslogtreecommitdiff
path: root/vcl/qa
AgeCommit message (Collapse)Author
3 daystdf#157003 a11y: Replace AccessibleDropDownListBox Java with C++ testMichael Weghorn
Remove the existing Java AccessibleDropDownListBox tests and introduce a new C++/cppunit test that takes a bit of a different approach: Other than commit d2a5b4bc0b8c8d1dd82133719a3ef5cc01b0cbbe Date: Tue Apr 26 16:56:56 2022 +0200 toolkit: convert AccessibleStatusBar test to C++ Just translate the test and add required or handy CppUnit helpers. which basically translated the existing AccessibleStatusBar test as is to C++/cppunit, don't do the same here, but: 1) Move the test from toolkit to vcl, where the a11y implementations for vcl widgets are located since commit 9283da858506fe3b4383e4cfe0506e470a4356f6 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Tue Dec 17 12:04:04 2024 +0100 a11y: Merge accessibility module into vcl 2) Instead of starting Writer and then searching for the accessible object of the dropdown listbox in the a11y tree, only create a simple dialog that contains a dropdown listbox (VCL ListBox with WB_DROPDOWN set). This minimizes the complexity/a11y tree to the object of interest. Apart from that, the general logic of what aspects are tested is mostly unchanged, now using the C++ helpers introduced in the above-mentioned d2a5b4bc0b8c8d1dd82133719a3ef5cc01b0cbbe (and later commits) to test the various XAccessible* interfaces. The XAccessibleEventBroadcaster interface is no more explicitly tested, since the XAccessibleEventBroadcasterTester would require an XWindow again. However, the logic is implemented in the VCLXAccessibleComponent subclass used by almost all widgets (vcl::Window subclasses), so not explicitly testing it here shouldn't be a problem. Change-Id: I61bfff515c5e9f7e2d18b9279861c09ceede403e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182986 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
13 daystdf#161583 vcl,sc,sw: PDF/UA export: fix Contents of Link annotationsMichael Stahl
In ISO 14289-2:2024 the requirement was changed from "shall" to "should": Link annotations should include a Contents entry to enrich information available to assistive technology. There is also now a Well-Tagged PDF (WTPDF) Version 1.0.0, which says: 8.9.2.4.2 Link Link annotations should include a Contents entry to enrich information available to assistive technology. NOTE 1 Link annotations are often accessed out of context; the Contents entry provides optional additional information. The Contents entry is also particularly valuable in the context of link targets that are not intended to be human-readable. EXAMPLE — A link over the text “click here” is improved by a Contents entry to advise the user regarding the link’s target. So adapt PDFWriterImpl::emitLinkAnnotations() to produce "Contents" only if there is some alt text. The sw a11y check will already warn if the alt text/"name" is missing on a hyperlink in a SwTextNode, and a previous commit added a warning if it is missing on a hyperlink in a SwFlyFrameFormat. Contents should in any case not contain the textual representation of the hyperlinks, that was a misunderstanding, but describe the target of the link. This requires adapting numerous unit tests. (regression from commit fa3f04bdd4f73a1b3be70dfb709c44638ef7e3d9) Change-Id: I88a7ae83d17d781115c93152d267ddb57208c200 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182600 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Tested-by: Jenkins
2025-03-02vcl: make BitmapDarkenBlendFilter use BitmapFilterChris Sherlock
Change-Id: I2ec47793fa094e452f30f9628c121772db578656 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173743 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
2025-02-27tdf#74702 vcl: make OutputDevice classes aware of animation capabilityChristopher Sherlock
Not all OutputDevice classes can animate. In fact, the only class that can do this currently is WindowOutputDevice, everything else is a static image. Rather than check what type of class is being used, I'm introducing CanAnimate(). Change-Id: I56339214e388aee2e7a564cf10a3f92629f0a6ae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182049 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2025-02-21tdf#160705 PDF export: Set the table caption element inside the tableTibor Nagy
According to the PDF standard, if a table has a caption, it must be either the first or the last child within the table tag. Therefore, if both above and below captions are set for the table, they will be exported as the table's first child. Change-Id: Id4ee732d469d606b6ad49f68b34500bc1174c51e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181981 Tested-by: Jenkins Reviewed-by: Nagy Tibor <tibor.nagy.extern@allotropia.de>
2025-02-13Update pdfium to 7012Miklos Vajna
Windows has to switch to clang-cl, see <https://groups.google.com/g/pdfium/c/d7KZi_wePHs/m/7eZyhYhVDAAJ> "Does anyone still use MSVC?", similar to what skia does already. This also allows reverting the CppunitTest_vcl_pdfexport and CppunitTest_vcl_pdfexport2 test tweaks from commit 59c5a7d5c7502770896491a59c73de3c627afcc5 (Update pdfium to 6764, 2024-10-14). Change-Id: I14052c74c551c4412a13a77eac6284455365d888 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181544 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2025-01-30tdf#164799 Tooltips appear emptyNoel Grandin
regression from commit e0d4d178caff1414a9a21fa57f06bc8d4d2c389a Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Mon Jan 13 15:03:05 2025 +0200 Change alpha behavour of OutputDevice::SetFillColor where DrawColorWallpaper is not correctly saving/restoring the fill color. Previously this worked because GetFillColor would return a transparent color if no fill color was set, and a transparent fill color would be interpreted as "no color" when drawing. Change-Id: I63e1ba2df0a5e2088d018068fe0a0e45453b7c77 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180928 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-01-24N32BitTcMask is unnecessaryNoel Grandin
The remaining usage site can use N32BitTcXrgb Change-Id: I97c0a7e97d45dfcb4726b197159ca2f197b43713 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180698 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-01-20remove code duplication - conversion hex char to valueTomaž Vajngerl
We use the same funciton all over the place, so create a common function in o3tl and use that in all instances where we duplicated the code. Change-Id: I74091fbbde8c2ba8c7e4ab30194ab53e2a338e52 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180372 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2025-01-17vcl: extract scanning for resources to UserResourceScanner classTomaž Vajngerl
So the scanning for resources can be reused for other things. Change-Id: Ia1589eb6c2ce4f254be0a62e296b1e186d0ba323 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180371 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
2025-01-16cool#10630 doc electronic sign: move signature line tracking to the viewMiklos Vajna
No functional changes intended: - Replace SfxObjectShell::GetSignPDFCertificate() and SfxObjectShell::ResetSignPDFCertificate() with SfxViewShell::SetSignPDFCertificate() and SfxViewShell::GetSignPDFCertificate(), because information about shape selection belongs to the view. - Change svx::SignatureLineHelper::setShapeCertificate() to use SfxViewShell::SetSignPDFCertificate() to avoid duplication. - Change GetSignatureLineShape() in xmlsecurity/ to use SfxViewShell::GetSignPDFCertificate(), again to avoid duplication. With this, all setters/getters of the inserted signature line go via SfxViewShell and the amount of getCurrentSelection() calls on the model is reduced. Change-Id: I021bc41262b2a16d1014fbf1431a0eb6e1e86c73 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180355 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2025-01-15tdf#34837 sc: Use border from correct cell for merged cells in RTLJonathan Clark
This change fixes a bug causing borders to fail to render for merged cells in RTL spreadsheets. The root cause for this bug was framelinkarray utility code using the top-left cell as the source for border styles of merged cells. This use was correct for LTR spreadsheets. However, this framelinkarray data is mirrored for RTL documents. After mirroring, the correct cell containing border styles is the top-right one. This change also reverts and reimplements a prior fix for tdf#135843 (commit 586a0f149f332c0b0e53c0bb30568d4bd411b0e3), which violated the framelinkarray contract that edge styles for merged cells must be added to the top-left underlying cell of a merged cell. Change-Id: I27eec416d54f9f99cd5df1151a12c758f350c789 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180256 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2025-01-14Change alpha behavour of OutputDevice::SetFillColorNoel Grandin
It is pretty ugly bad on several levels. Essentially what the currrent behaviour does is, if the fill color has an transparency value, and draw some pixels, we just don't bother to write anything to the color surface at all, we only write to the alpha surface. (*) It is impossible to emulate efficiently when we switch to combined color+alpha surfaces (*) It works completely differently to how every other graphics API in the world operates (*) It makes no sense - it doesn't allow you to fill a shape with partially transparent color pixels (because it just doesn't bother writing to the color surface). This behaviour dates back to "initial import", so sadly no reason why. Noting that we are changing 3 things here: (1) Setting a fill color with transparency will actually write to the color surface. (2) Previously, SetFillColor(COL_TRANSPARENCY) was the same as SetFillColor(), now they mean different things (3) SetFillColor(x) where x has tranparency will now actually affect the fill color of the alpha layer. (4) VirtualDevice::SetOutputSizePixel will now erase/fill the device with data in cases where it previously would not (because previously the fill was ignored when background == COL_TRANSPARENT) Change-Id: I4c8b371a436a4d1ffc4344c7d6b21932d861397d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180184 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-01-13cool#10630 doc electronic sign: fix insertion of the signature lineMiklos Vajna
Have electronic signing configured in the LOK client, try to insert a signature line, you'll get a certificate picker, while we don't have a cert during esign. What's in fact needed for creating the signature line is just a name (previously extracted from the certificate), we can survive the lack of actual certificate. Fix the problem by adding a new External parameter to .uno:InsertSignatureLine to hint that the certificate chooser should not be opened, instead the editor name (used for comments already) should be used. Add a new CertificateOrName in svl/ and use that in all places where previously we wanted a certificate but in fact it's enough to have a certificate or a name to create the signature line. The name on the signature line is just visual feedback, the actual name on the crypto signature is still not based on untrusted used input. Change-Id: Ib7008112a8e28a9e7d9649745e6021dd6b6b9c39 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180193 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2025-01-13pdfium: add support for reading the structure treeTomaž Vajngerl
+ add test for reading the tree Change-Id: I2f0e9d1852d20b3aa20ec0bcdd3ebc65370d15dd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180124 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2025-01-12tdf#160051 PDF export: Artifact present inside tagged contentTibor Nagy
If a PDF file containing artifacts is added to a document as an image, and the document is then exported as a tagged PDF, these artifacts are placed into a structure element (e.g., figure), which is not allowed. This fix removes unnecessary artifact tags from the content stream. Change-Id: I590ebec9a7aecdaa42520008824469bc8a9ff65b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180041 Reviewed-by: Nagy Tibor <tibor.nagy.extern@allotropia.de> Tested-by: Jenkins
2024-12-27Fix typoAndrea Gelmini
Change-Id: I950e9d7be41f74c638d870eff18dcf6599142929 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179269 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2024-12-27Fix typoAndrea Gelmini
Change-Id: I1733e10abbe7ead32076a1d885c32dc173cfd3e6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179413 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
2024-12-27pdf: test hybrid mode (PDF attachment) with encryptionTomaž Vajngerl
This adds a test that checks the attached file is correctly added to the PDF stream when encryption is enabled. Also add support for reading of attachments to PDFium wrapper. The test saves a document as encrypted PDF with hybrid mode enabled, then opens the document in PDFium and saves the attachment content to a temporary file, which is opened again and the content checked. Change-Id: I918f67d269c31fe7826a49473e939d52bac7fe98 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178629 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178778 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
2024-12-25vcl/qa/cppunit/GraphicTest: Don't test for the exact size of the png file.Sebastian Andrzej Siewior
Building with zlib-ng instead of zlib leads to the following error in the testsuite: | [_RUN_____] testSwappingGraphic_PNG_WithGfxLink::TestBody | ./vcl/qa/cppunit/GraphicTest.cxx:528:testSwappingGraphic_PNG_WithGfxLink::TestBody | equality assertion failed | - Expected: 319 | - Actual : 318 The different implementation of deflate() leads to a different result. Use an approximation of the expected size instead of the exact value. Change-Id: I173164bc3b1e6dd37eb48fe42093527069a54075 Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177440 Tested-by: Jenkins Reviewed-by: David Gilbert <freedesktop@treblig.org>
2024-12-24pdf: fix PDF encryption and re-enable the testTomaž Vajngerl
Slightly wrong loop exit condition when calculating the R6 hash, which caused that every now and then the document could not be decrypted correctly. This happened at least 1 time in 100 tries (usually it did not even take that much to encountered a test failure), but with the fix it worked correctly for 500 tries, so it seems this issue is now fixed. Change-Id: I5fa046892f36dabc367aabed1295802e805ee6e4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179299 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-12-24pdf: comment out test, which causes random failuresTomaž Vajngerl
Need to find where is the bug in the implementation first. Change-Id: Ib9df001480acf7e24f3834314e6fa672b794ef29 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179272 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-12-24pdf: create a new document for PDF version test, fix spellingTomaž Vajngerl
Change-Id: I5c898b3dd58610243be6b0273aaaa889704f5eac Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179255 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-12-23pdf: change encryption to use new random IV on each encrypt callTomaž Vajngerl
This is how it's supposed to work - not to have same IV all the time we are encoding (that's why the IV is written to the stream). Change-Id: I17a1d98bd5cf6f06b830eaea04822b8793d4e0d7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176984 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178761 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
2024-12-22pdf: fix saving external PDF with form fields (CONTINUED)Tomaž Vajngerl
This updates the test with comments and adds options at test start to make the test more robust (without those it can fail depending on the execution order of other tests) Change-Id: Ia7ea7e8810cc63b754d2d7f1ff1757839026ed3a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178760 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
2024-12-21pdf: implement PDFEncryptor for PDF (2.0) encryption V5R6Tomaž Vajngerl
PDFEncryptorR6 implements PDF 2.0 encryption (ver. 5 rev. 6) using AESv3 (256 bit key length). The PDFEncryptorR6 is enabled when the PDF output is PDF 2.0 (other versions have been deprecated, so it is the only one available in PDF 2.0). Change-Id: I27f270197910405b5c2378a3873d2495f52f3206 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176885 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178759 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
2024-12-21pdf: add function to pad the vector as required by PDF specsTomaž Vajngerl
Change-Id: I7196ad523b3084124a3b03fb2e4998d42fd91779 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176883 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178757 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-12-21pdf: add /Perm encrypted access permission algorithmTomaž Vajngerl
+ add test Change-Id: Iba54dab6738c9707b37e434bab23ae286675436d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176882 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178756 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Tomaž Vajngerl <quikee@gmail.com>
2024-12-21pdf: generate U, UE and O, OE keys for R6 encryptionTomaž Vajngerl
Also test the algorithm against the known values from an example, to be sure we are calculating the values correctly. For this we need a couple of decryption algorithms, but those do mostly just the reverse of the encryption. Change-Id: I5499ed0b57671f44e48fe68961e07cde22be6b39 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176881 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178755 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-12-08Remove Windows 7, 8 and 8.1 from driver blocklist codeIlmari Lauhakangas
Change-Id: If3138b9b603c21a9cc6fedc08a7db144fb9f00ac Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178077 Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org> Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-12-06tdf#164106 Fix reordered glyph positioning with split grapheme clustersJonathan Clark
Due to formatting, grapheme clusters can possibly be split across multiple layouts. Layouts containing split grapheme clusters are created by laying out the complete string, and extracting only the necessary glyphs based on source codepoint index. This approach is good enough for most diacritic cases, but it cannot handle certain substitution cases where glyphs with advances would be interleaved with other layouts. Sub-layouts must be contiguous. This change introduces code to disable grapheme cluster splitting in these cases that cannot be handled correctly. Change-Id: I122abbf9c3f8a5efa4c72ad47991d0ad9ff8a8c0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177927 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-12-05tdf#162750 sw: Fix layout with small caps inside ligaturesJonathan Clark
Previously, Writer was not correctly terminating layout contexts at the starts of small caps spans. This could cause incorrect character placement in certain cases. Regression since: Commit 30d376fb7ded4c96c85ad1112a0e44b5929657c9 "tdf#61444 Correct Writer text layout across formatting changes" and Commit ab0a4543cab77ae0c7c0a79feb8aebab71163dd7 "tdf#124116 Correct Writer text shaping across formatting changes" Change-Id: I863b9b66356eb0a9efb5bbdc75e80b43d56aaaf0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177839 Reviewed-by: Jonathan Clark <jonathan@libreoffice.org> Tested-by: Jenkins
2024-12-04pdf: fix saving external PDF with form fieldsTomaž Vajngerl
Change-Id: I3d7fdcfe2c4ec0f716425c349b0bf621809fd249 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177741 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
2024-11-29pdf: R6 hash algorithm and test, introduce PDFEncryptorR6Tomaž Vajngerl
This adds PDFEncryptorR6 and adds R6 hash implementation and makes sure it is correct with a test. Change-Id: I11ca746a6b676bb294723b4ef76069f1d4f3a182 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177384 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
2024-11-28tdf#163913 Implement font-relative marginsJonathan Clark
This change adds loext:margin-left and loext:margin-right, which implement margins that support font-relative units. See tdf#36709 for additional details. Change-Id: I31b0dd2b6f98cb5b02fd4dca3608db6fdee4054c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177473 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-11-22pdf: add initial test for PDF 2.0 (check using PDFium)Tomaž Vajngerl
Change-Id: I43e6048d34ee9c51e0602cd671a73b19145a9c17 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176888 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-11-18tdf#142741: Add unit test to set valid pages for footnote links PDF export.MelvinYG
Change-Id: I90abb354fb9c4c6319034d994165f2e5cd667d2a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175945 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins
2024-11-14loplugin:reftotempStephan Bergmann
(plus ensuing -Werror,-Wpessimizing-move) Change-Id: Ie2bc5310f0c4a50ba6cdc351cc99f09e7534de29 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176562 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
2024-11-13tdf#36709 editeng: Layout for font-relative first-line indentJonathan Clark
This change extends layout for font-relative paragraph first-line indentation into Edit Engine. Change-Id: I5906f493b91fbcb87ded165709fb132b33ce1906 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176487 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-11-13loplugin:reftotemp in vclNoel Grandin
Change-Id: Ia5b0fd303f5a3b2c4c119f431517cc063070f4a4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176501 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-08cool#9992 lok doc sign, hash extract: initial getCommandValues('Signature')Miklos Vajna
The trouble with signing via ca/cert/key PEM files is that usually the CA is not trusted by the received of the signature. 3rd-party services are available to do generate trusted signatures, but then you need to share your document with them, which can be also problematic. A middle-ground here is to sign the hash of the document by a 3rd-party, something that's supported by e.g. <https://docs.eideasy.com/electronic-signatures/api-flow-with-file-hashes-pdf.html> (which itself aggregates a number of providers). As a first step, add LOK API to get what would be the signature time during signing -- but instead of actually signing, just return this information. Once the same is done with the doc hash, this is supposed to provide the same info than what the reference <https://github.com/eideasy/eideasy-external-pades-digital-signatures> app does. This is only a start: incrementally replace XCertificate with SignatureContext, which allows aborting the signing right before calling into NSS, and also later it'll allow injecting the PKCS#7 object we get from the 3rd-party. Change-Id: I108564f047fdb4fb796240c7d18a584cd9044313 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176279 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
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-07a11y tests: Map DESCRIBED_BY relation type to AT-SPIMichael Weghorn
Change-Id: I9d0122459cf0a90ce1c49c6bdc07b24ff93bc417 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176152 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-11-04new loplugin:staticconstexprNoel Grandin
Change-Id: Ida1996dfffa106bf95fd064e8191b8033b4002f3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175336 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-02tdf#36709 Add loext:text-indent supporting font-relative unitsJonathan Clark
This change adds an ODF font-relative first-line indent paragraph style attribute as a LibreOffice extension. The corresponding ODF standard change is tracked by OFFICE-4165. This change only implements what is minimally necessary to serialize, deserialize, and check for ODF files containing this attribute. Further changes are necessary. * Added cssLength to schema, which is equivalent to length but also allows ic and em as units. * Added loext:text-indent to schema as a paragraph style attribute. This attribute is equivalent to fo:text-indent, but accepts cssLength instead of length. * Added XML_TYPE_UNIT_MEASURE to the ODF parser, which currently accepts only the font-relative measures and forces fallback in other cases. * Added loext:text-indent to the ODF parser. This attribute accepts font-relative metrics, and will behave as an import-only alias for fo:text-indent in other cases. * Updated SvxFirstLineIndentItem to handle unit-denominated measures. * Added proof-of-concept indentation handler to Writer. This implementation is incomplete and temporary, and will be revised in future changes. Change-Id: I7eb5c7382093cb18a9b0afbf93dacb34ba1d35ef Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175941 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-11-01Drop GraphicFilter's bUseConfigMike Kaganski
It controlled how the FilterConfigCache initialized, and also how the unused aFilterPath was initialized. The FilterConfigCache is reused, when there are other instances of GraphicFilter - so that means, that the "bUseConfig" flag doesn't necessarily mean that the initialization will happen as intended: the existing instance could have been initialized using the other value. Avoid this indeterministic behavior, and always use the config, except in fuzzing. The VCL tests, that could possibly once depend on that, now use config, so this is not an issue - and that means testing the same thing as used in the working code, not something different. Change-Id: I6555dc47328b362e020138cf454f5ede7f39d063 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175894 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-10-31convert KernArray from sal_Int32 to doubleNoel Grandin
which allows us to eliminate a bunch of rounding at various layers, and consequently maintain a lot more precision Change-Id: I911dedd7c041c1d67396c082e5695346ea689acb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175814 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-10-29UnoApiTest: rename load to loadFromURL and use it everywhereXisco Fauli
Change-Id: Ie67eebec74f783fa0c29acfb23bb83bc582812b2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175724 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins
2024-10-21vcl: move bitmap filter headers into vcl/bitmap global header directoryChris Sherlock
Use #pragma once instead of header guards Change-Id: Iba43f2103628ed184933cf2611991e7aef9f0173 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173369 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
2024-10-19Windows/--disable-skia: fix D2DWriteTextOutRenderer to properly set AA modeMike Kaganski
This simplifies the process; in D2DWriteTextOutRenderer ctor, it uses the final mode for the call to CreateRenderTarget, applying the correct mode. Also, pass the AA flag from SalGraphics, and check the setting of GetUseFontAAFromSystem to use it, as done in e.g. CairoTextRender after commit e6538f5bdd876911ea30f84a6512c03908e620fd (tdf#118966 vcl: add a flag to determine if AA of fonts is used from the system, 2018-07-28). This fixes the failures on Windows with --disable-skia, as seen in https://lists.freedesktop.org/archives/libreoffice/2024-October/092541.html VclCjkTextTest::testVerticalText needed to be fixed by a tweak in getCharacterRightSideHeight, to use color's IsDark, instead of comparing to the fixed black, because the correct AA mode that is used now, makes the vertical part of the character not completely black. Change-Id: Iee8fe98e29a80a242f8e761c9a23c68b34a45699 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175188 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>