summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)AuthorFilesLines
18 hoursremove OutDevSupportType::TransparentRectNoel Grandin2-6/+0
all our backends support transparency, and have some time, XRender support became mandatory a couple of years ago. Change-Id: Ie2db7e4665068fe88a926e9791d74a82c2e75834 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176852 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
33 hoursCatch exceptions thrown when notifying individual listenersStephan Bergmann1-0/+95
Any such exceptions were already caught further up the stack (by SfxBaseModel::postEvent_Impl), but prevented later listeners from being notified as soon as one listener threw an exception (which I saw happen with some 3rd-party extension). Change-Id: Ia6bd1c73d29ab6d6e131652df51939ba0c0e988e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176854 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
34 hoursResolves tdf#163856 - Disentangle boundaries optionsHeiko Tietze1-1/+0
* Boundary toggles removed from app colors * Object boundaries completely removed (color replaced with DOCBOUNDARIES; Impress placeholder on/off now an expert option) * Toggle options added under formatting aids * Individual UNO commands marked deprecated * New command added to show all boundaries * Frames follow sections now in state and color * Kind of wrapping doesn't matter anmymore Change-Id: I7bbec20831dcb95abef6523884d84b05a1a7df0a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176242 Tested-by: Jenkins Reviewed-by: Rafael Lima <rafael.palma.lima@gmail.com>
2 dayssvx: unused returnXisco Fauli1-1/+1
Change-Id: If747870121e3fc8c2d97b5fc769b2d928a4c3f9c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176777 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2 dayscanvas: simplify calcTransformedRectBoundsXisco Fauli1-5/+2
Change-Id: Ia0314a985ae2183727587ad254faec12ee49b66c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176769 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2 dayscanvas: simplify calcRectToOriginTransformXisco Fauli1-6/+2
Change-Id: I851d9d11c9d3f3c34353913a146ad168a98dc3d5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176771 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins
2 dayscanvas: simplify getViewStateTransform/getRenderStateTransformXisco Fauli1-6/+4
Change-Id: If9487aff0d80f7ee9d368cd97bc2828a856cc392 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176766 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org> Tested-by: Jenkins
2 dayssvx: prefix members of SvxB3DVectorItemMiklos Vajna1-2/+2
See tdf#94879 for motivation. Change-Id: I74c53028d9966ca4059c7a145b3fb0d914d8ae77 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176770 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
3 daysimprove loplugin passparamsbyrefNoel Grandin15-17/+17
I think I managed to disable this when I converted it to use the shared plugin infrastructure. So fix that, and then make it much smarter to avoid various false positives. Change-Id: I0a4657cff3b40a00434924bf764d024dbfd7d5b3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176646 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
3 daysRelated: tdf#163903 Add French (Republic of Guinea) {fr-GN} [0x940C]Eike Rathke1-0/+1
Change-Id: I2ebea83a757533088fc49a3c849e6b7890277d1e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176734 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com>
5 daysAvoid UBSan when negating the most negative sal_Int64 valueStephan Bergmann1-4/+4
...as exhibited by recently added 08e566f0c97fb6cc2ee17813e81c221a8d7154c0 "add a couple of tests for tools::BigInt" Change-Id: Icd1080f86ccd985868fce34d6f86e2706acd58df Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176677 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
5 dayscid#1606752 silence Overflowed return valueCaolán McNamara1-0/+1
and cid#1607158 Overflowed return value cid#1607271 Overflowed return value cid#1608107 Overflowed return value cid#1606975 Overflowed return value cid#1608009 Overflowed return value cid#1608353 Overflowed return value cid#1608486 Overflowed return value cid#1607009 Overflowed return value cid#1606780 Overflowed return value its totally unclear what the source of these warnings is Change-Id: If46cac6a329dec397bd784f57d9ffe5e53af9a1a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176683 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
6 daysFix typoAndrea Gelmini1-1/+1
Change-Id: I4ffd3af20662e92512119ddfa27ea255a114f910 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176661 Tested-by: Jenkins Reviewed-by: Andrea Gelmini <andrea.gelmini@gelma.net>
6 daysrender master and slide content separately (drawinglayer render)Miklos Vajna1-1/+5
This renders master and the main slide as 2 separate layers, which is useful because in a huge slideshow we can reuse the master slide and only render the rest of the slide, which should be more compact in size as the master slide is the one that usually contains the (complex) background. Change-Id: I5e86d718b7ab3b03bd0b6146ce4df218a4dd72d4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176622 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
7 dayssimplify GDIMetaFile::ReplaceActionNoel Grandin1-1/+0
now that we are using proper reference-counting template classes to control lifetime here, the code can be simplified and obsolete comments removed. Change-Id: I7693c684d4bed0e26016b5d6bbbf1c38fec62519 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176624 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
7 daystdf#143148 Use #pragma once instead of include guardsMohamed Ali1-4/+1
Change-Id: If278386d2f6da2b841f57be0b57c189dcade3c3b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176608 Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org> Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
7 dayscool#9992 lok doc sign: add initial serialization of external signaturesMiklos Vajna1-1/+10
Now that the hash extract part works, the other end of this external signature support is to be able to integrate an externally generated (e.g. qualified) signature into our PDF file. The problem is that we have SignDocumentContentUsingCertificate() for non-interactive signing and we have the interactive sign dialog, but we have no way to integrate an existing PKCS#7 blob. Fix the problem by extending vcl::filter::PDFDocument::Sign(): if a signature value is provided, then integrate that, instead of calling svl::crypto::Signing::Sign() to generate a new signature. Also extend the SigningContext documentation, since now it has 3 modes (normal sign, hash extract, sign serialize). Change-Id: I113fb536b1a83b8a4869a7064bb415bca6a91ae4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176623 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
7 daystdf#160404 tdf#160535 tdf#160536 - sc improve sheet protectionBalazs Varga1-0/+2
tdf#160404: Fix FILEOPEN XLSX Pivot table is not imported if sheet protection has Pivot table editing enabled - Import correctly the pivot tables, even if the tab protection is not allowing to use them. tdf#160535: Support sheet protection option: Use AutoFilter - Add new option for tab protection to enable/disable to use autofilter on the sheet. Import/export correctly to odf/ooxml. Add new ext-odf attribute: XML_USE_AUTOFILTER tdf#160536: Support sheet protection option: Use PivotTable&PivotChart - Add new option for tab protection to enable/disable to use Pivot table on the sheet. Import/export correctly to odf/ooxml. Add new ext-odf attribute: XML_USE_PIVOT Change-Id: I5d34e3608aed1a3d004ec553f6125b6428e9c05e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176274 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
7 daysFix typoAndrea Gelmini1-1/+1
Change-Id: I68102ce865c4f1a132b0e61cb8863bc52adcc695 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176609 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
7 daystdf#108189 inspection of object hangs LONoel Grandin1-0/+4
There is no general solution to this that I am aware of, so just implement a rather specific solution that will need periodic extending to check for other dangerous properties Change-Id: Ie09d89416fea5b7cdf782319ed9921657faa5a5a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176593 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
7 daystdf#36709 GUI changes for font-relative first-line indentJonathan Clark3-1/+14
This change includes GUI element changes to support viewing and editing first-line indent values with font-relative units in the paragraph style dialog. Change-Id: I72ada2565f51d70475eb17096a1317be9316b770 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176595 Reviewed-by: Jonathan Clark <jonathan@libreoffice.org> Tested-by: Jenkins
7 dayscool#9992 lok doc sign, hash extract: add signatureTime parameterMiklos Vajna1-0/+2
Execute getCommandValues('Signature') on the same document twice, you get different hashes, because the content includes a timestamp, which changes, so it's not possible to know if the hash is stable or not. Also, working with a provided timestamp will needed for <https://docs.eideasy.com/electronic-signatures/api-flow-with-file-hashes-pdf.html#_4-add-the-signature-to-the-pdf-file> anyway. Fix the problem by adding a signatureTime parameter and this way we can have a test that makes sure we get the same hash if the time is provided. With this, the hash extraction part is meant to be ~complete. Change-Id: If5e1e5bcf84c3b777f26b2ded24dcca48ea9ad94 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176601 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
8 daysImprove loplugin:dyncastvisibility to check for non-inline key functionsStephan Bergmann4-0/+13
This would have caught the issue discussed in 709b1f3ddb87303a2dec6155dbe0106369c151ed "Make sure VCLXPopupMenu has unique RTTI". (The commit message talks about RTTI there, while what Clang actually compared for an optimized implementation of a dynamic_cast to a final class is vtable pointers, but the overall picture remains the same. Both RTTI and vtables are emitted along the key function, and if that is missing or inline, they are emitted for each dynamic library individually, and as internal symbols on macOS.) This commit also addresses all the issues found by the improved loplugin:dyncastvisibility on Linux. See the newly added TODO in compilerplugins/clang/dyncastvisibility.cxx and 86b86ac87ea0cc90249f156494c98c3c93e4f3fc "Give DocumentEventHolder (aka EventHolder<DocumentEvent>) a key function" for an issue with key functions for class template instantiations. Change-Id: Ia19155efb1d23692c92b9c97ff17f18ae7a1f3ee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176576 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
8 daysGive DocumentEventHolder (aka EventHolder<DocumentEvent>) a key functionStephan Bergmann1-1/+5
...that is not inline, so that RTTI and vtable are not emitted for each dynamic library individually. (Where they would be internal on macOS, which could break optimized uses of dynamic_cast for that final class just checking vtable pointer identity, as could happen for the dynamic_cast at dbaccess/source/core/dataaccess/documenteventnotifier.cxx:232:51, > 232 | const DocumentEventHolder& rEventHolder = dynamic_cast< const DocumentEventHolder& >( _rEvent ); > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ And with the extern explicit template instantiation, EventHolder needs to be SAL_DLLPUBLIC_TEMPLATE instead of just SAL_DLLPUBLIC_RTTI now, so that Library_comphelper will export the DocumentEventHolder ctors and DocumentEventHolder::getEventObject.) (This would ideally have been caught by an upcoming improvement of loplugin:dyncastvisibility, but might be complicated to check there for template instantiations.) Change-Id: I1e6280b185535968a870fbfadaff6238d38858e2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176547 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
8 daystdf#36709 editeng: Layout for font-relative first-line indentJonathan Clark3-11/+41
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>
9 daystdf#36709 sw: Writer layout for font-relative first-line indentJonathan Clark3-19/+46
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>
9 daysloplugin:reftotemp in scripting..uuiNoel Grandin2-4/+4
Change-Id: I6953958b4429dd0fa1a44d02b0b49618f97baf90 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176500 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
9 daystdf#145614 Convert #define to enum classOromidayo Owolabi1-1/+11
Converted #define to enum class Change-Id: I16195a439643bcf0111c591a829272b5bf70179d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175027 Reviewed-by: Hossein <hossein@libreoffice.org> Tested-by: Jenkins
9 daystdf#157467 SvxPresetListBox: contextmenu must affect item under mouseJustin Luth2-0/+3
Yikes - especially when delete is involved. Previously it was deleting the in-use background, regardless of where the mouse right-click happened. You might wonder why not just query GetHighlightedItemId? That is because (at least for GTK) the highlightedItem is zero'd out as soon as the pop-up starts, i.e. when the mouse is moved over top of the context menu. Change-Id: Ib88cb0edb8c2c8f854c35821d8125a1991d12a55 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176447 Reviewed-by: Justin Luth <jluth@mail.com> Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
10 daystdf#162691: ODF 1.4 Add support for xy and polar handle new attributesXisco Fauli1-0/+6
Co-author: Regina Henschel This implements the new draw:handle attributes of ODF 1.4. For reasons for new attributes see https://issues.oasis-open.org/browse/OFFICE-4110 The old attributes are deprecated but may still be written. So we keep them to be backward compatible. Change-Id: I0b3443d000b2b163363f9070e5e276af2b018cbb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174966 Tested-by: Jenkins Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
10 dayscool#9992 lok doc sign, hash extract: digest for getCommandValues('Signature')Miklos Vajna3-2/+9
To be able to sign externally, we need a way to know what is the document hash that would be passed to NSS_CMSSignedData_SetDigestValue(), without actually performing the signing. Note that svl::crypto::SigningContext already gives us a way to expose the time that would be used for signing. Expose the hash in a similar way: the format is a SHA-256 hash in base64 form. This adapts both places dealing with time: vcl::PDFWriter::GetDateTime() and svl::crypto::Signing::Sign, to make sure they use the same time, otherwise the hash would potentially depend on two times, which would be hard to reproduce later when we serialize the signature we get. Change-Id: Ib039db4cdd043c8117215c31cb5bc83397693820 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176470 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
10 daysFix no-pch buildMike Kaganski1-1/+1
After commit df3483fa74baa0ee73b981df0c106d03dc964a68 "tdf#130857 VclBuilder: Make MenuAndId a template", 2024-11-10 [CXX] vcl/jsdialog/executor.cxx C:\lo\core\include\rtl/ref.hxx(126): error C2027: use of undefined type 'PopupMenu' C:\lo\core\include\vcl/builder.hxx(41): note: see declaration of 'PopupMenu' C:\lo\core\include\rtl/ref.hxx(126): note: the template instantiation context (the oldest one first) is C:\lo\core\include\vcl/toolkit/menubtn.hxx(40): note: see reference to class template instantiation 'VclPtr<PopupMenu>' being compiled C:\lo\core\include\vcl/vclptr.hxx(64): note: see reference to class template instantiation 'rtl::Reference<reference_type>' being compiled with [ reference_type=PopupMenu ] C:\lo\core\include\rtl/ref.hxx(123): note: while compiling class template member function 'rtl::Reference<reference_type>::~Reference(void)' with [ reference_type=PopupMenu ] C:\lo\core\include\vcl/vclptr.hxx(217): note: see the first reference to 'rtl::Reference<reference_type>::~Reference' in 'VclPtr<PopupMenu>::~VclPtr' with [ reference_type=PopupMenu ] Change-Id: Ifa2f8e55135faf8864a157aeddcf2764f4b2db4b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176471 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
10 daysclang-tidy: performance-unnecessary-copy-initialization in ooxNoel Grandin1-2/+2
Change-Id: I9964087880efcf24b5748130cffa2bd85adf1965 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176418 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
10 dayscool#9992 lok doc sign, hash extract: time for getCommandValues('Signature')Miklos Vajna2-6/+12
The final goal of this API is to give time & hash information about the PDF signature, so once a 3rd-party produces the PKCS#7 signature, that can be added to the document and the actual PDF sign can be re-run with the same parameters. This commit continues the replacement of XCertificate with svl::crypto::SigningContext up to the point that the timestamp used in svl/ can be exposed on the LOK API. This is done by updating DocumentSignatureManager::add(), PDFSignatureHelper::SetX509Certificate(), vcl::filter::PDFDocument::Sign() and finally the svl::crypto::Signing ctor to work with the signing context instead of an XCertificate directly. Time reporting works now, so add a test for that. The digest part still needs doing. Change-Id: I83f1274cd420b67194b7caf12b1027e623d4f7fe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176404 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
11 daysremove dead commentNoel Grandin1-1/+1
because method is final after commit 5b2cd79aded5081ca8a4bc20fb851573ce890092 "loplugin:finalmethods" Change-Id: Ib530133c42343a512497df012e3d7ed21a8d96bf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176378 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
11 dayssvx: prefix members of E3dSceneMiklos Vajna1-8/+8
See tdf#94879 for motivation. Change-Id: Ia235f420f9ae00ad25be4ca2c06ee942ffc3e6e4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176369 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
11 daysvcl: Return unique_ptr in weld::Dialog::weld_content_areaMichael Weghorn1-1/+1
This is effectively the weld::Dialog equivalent of Change-Id: Ia839fac90ea93b9ac6be5819aa4bb3261a775f33 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Sun Nov 10 23:01:07 2024 +0100 vcl: Return unique_ptr in weld::MessageDialog::weld_message_area Change-Id: I3eee2d3617c3576b442a5578090cd5de53e17f33 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176365 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
11 daysvcl: Return unique_ptr in weld::MessageDialog::weld_message_areaMichael Weghorn1-1/+1
The returned weld::Container* (but not the associated toolkit widget) is owned by the caller. Make that more obvious by returning a unique_ptr<weld::Container> instead of a raw pointer. This is also consistent with what other methods returning instances for which the caller takes over ownership (like weld::Widget::weld_parent) do, whereas e.g. weld::Notebook::get_page returns a weld::Container* that is owned by the weld::Notebook instance, not the caller. Change-Id: Ia839fac90ea93b9ac6be5819aa4bb3261a775f33 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176363 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
11 daystdf#130857 VclBuilder: Complete moving XML parsing to base classesMichael Weghorn2-33/+93
Move VclBuilder::handleMenuObject to the WidgetBuilder template base class, and add a new purely virtual WidgetBuilder::insertMenuObject that the existing VclBuilder equivalent now overrides. This moves the remaining XML parsing logic from VclBuilder to one of the base classes (WidgetBuilder, BuilderBase), following the approach outlined in commit f61ecf25636d401f862c4de226c04237e1fb2f69 Author: OmkarAcharekar <omkaracharekar12@gmail.com> Date: Fri Sep 20 13:33:01 2024 +0200 tdf#130857 refactor VclBuilder: Extract template base class Update the source code comments accordingly. For QtBuilder, initially add a dummy implementation that simply triggers an assert, but can be adjusted in the future to create native Qt menus. Change-Id: I3147cac28c7273cd4c4ea7344a083cd66af8337f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176362 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
11 daystdf#130857 Move VclBuilder::handleMenu{,Child} to WidgetBuilderMichael Weghorn2-5/+79
Move VclBuilder::handleMenu and VclBuilder::handleMenuChild to the base class WidgetBuilder and add a new virtual WidgetBuilder::handleMenuObject method (used by WidgetBuilder::handleMenuChild) that the existing VclBuilder implementation now overrides. This prepares for allowing to use this by subclasses that create menus other than the VCL PopupMenu and continues the intended separation between XML parsing done in WidgetBuilder and actual widget creation (in subclasses implementing the vcl::Window or toolkit specific logic.) Change-Id: Idc896570e4b21f6997e548b7bdab8a9610042bff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176361 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
11 daystdf#130857 Add WidgetBuilder::createMenu, use to abstract from VCL-specificsMichael Weghorn2-0/+4
Add a new purely virtual WidgetBuilder::createMenu and use that in VclBuilder::handleMenu instead of directly calling VclPtr<PopupMenu>::Create there. This is in preparation of moving VclBuilder::handleMenu to WidgetBuilder as well, to make it reusable for other child classes, in particular QtBuilder. Change-Id: Icf3f937ea8e876c8393185e41a95e0f66458ce11 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176360 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
11 daystdf#130857 VclBuilder: Make MenuAndId a templateMichael Weghorn2-13/+30
Move the MenuAndId struct and the `m_aMenus` member from VclBuilder to the WidgetBuilder base class and add two template parameters `MenuClass` and `MenuPtr`, which VclBuilder specializes with `PopupMenu` and `VclPtr<PopupMenu>`, effectively leaving the logic unchanged. Move VclBuilder::get_menu accordingly. For QtBuilder, use `QMenu` and `QMenu*` for the new template class parameters. This can be used to implement support for native Qt menus in the future. Change-Id: Ib015b1b1e6968338ed7419b1822665a521ca748d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176359 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
11 daysVClBuilder: Avoid casting by using PopupMenu directlyMichael Weghorn1-2/+2
Now that GtkMenuBar support was dropped in Change-Id: I550c83c6d5d13a5e45dc9332e981bae8b0f0a9a3 commit fa245e4eea218b3c707998e597c526b9d1fdb508 Author: Michael Weghorn <m.weghorn@posteo.de> Date: Sun Nov 10 20:24:11 2024 +0100 tdf#130857 VclBuilder: Drop unused "GtkMenuBar" support , use PopupMenu directly in MenuAndId instead of just the Menu base class, which makes it unnecessary to cast when a PopupMenu is wanted. Change-Id: I51a44f219970f29a12aa15ee58e8512c62fca43e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176358 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
11 daystdf#130857 VclBuilder: Drop unused "GtkMenuBar" supportMichael Weghorn2-10/+3
The last use of a "GtkMenuBar" object in .ui files was dropped in commit 7b4169c9d54c6e90e860141a6ced51464cf102d8 Date: Wed Jun 9 01:56:48 2021 +0530 Implement Interface for Data Providers. Drop the code handling it, to simplify the existing code and an upcoming refactoring. Change-Id: I550c83c6d5d13a5e45dc9332e981bae8b0f0a9a3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176357 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
12 daystdf#130857 VclBuilder: Split XML parsing + applying tab child propsMichael Weghorn2-7/+77
Split the existing VclBuilder::handleTabChild into two methods and make the logic not specific to vcl::Window available to other subclasses as well, to make it available for reuse by QtBuilder in the future. In order to do that, move the existing XML parsing logic from the beginning of VclBuilder::handleTabChild to the base class into WidgetBuilder::handleTabChild. Add a new purely virtual method `applyTabChildProperties` to WidgetBuilder and move the corresponding logic for vcl::Window to the new VclBuilder override of this method. Call that method at the end of WidgetBuilder::handleTabChild. For QtBuilder, just add a dummy implementation that triggers an assert initially, which matches what would have happened right at the beginning of the previous WidgetBuilder::handleTabChild implementation without this commit in place. Change-Id: Ie5664bd341182fa51035b547accf9393d65a0702 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176320 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
12 daystdf#130857 VclBuilder: Abstract tab control check from VCL detailsMichael Weghorn2-0/+5
In VclBuilder::handleTabChild, move casting the vcl::Window to TabControl further down to avoid vcl::Window specific code in the XML parsing logic. Introduce a new purely virtual helper method WidgetBuilder::isHorizontalTabControl, implement for VclBuilder and QtBuilder and use that in the XML parsing logic instead of directly checking whether the parent is a TabControl widget. This gets rid of one detail specific to the VCL implementation in the XML parsing part and is in preparation of further refactoring of VclBuilder::handleTabChild for reuse with QtBuilder. Change-Id: I05c637f81bce4a5cdd443960a1ad096c347df560 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176319 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
12 dayscom::sun::star -> cssMike Kaganski8-15/+12
Change-Id: I890ec73e30d3cc6b210903ecee29431f3cb5f635 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175979 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
13 dayscool#9992 lok doc sign, hash extract: initial getCommandValues('Signature')Miklos Vajna5-7/+27
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>
13 daystdf#155447 a11y: Add test for accessible IDs expected by OrcaMichael Weghorn1-0/+8
Add a new AccessibilityTools::getAccessibleObjectForId helper that can be used in a11y tests to identify an object by its accessible ID. Add a test that checks that the accessible ID of the spelling dialog matches what Orca's logic expects in order to identify it, and that more UI elements with expected accessible IDs exist. This is to prevent breaking Orca logic without noticing. Any changes affecting this test should be discussed with the Orca maintainer first. See the comment above the newly added test for more details and a link to the corresponding Orca commits. The new test initially only checks that objects with corresponding IDs exist, could be extended to verify more of their properties as needed. Logic for checking availability of a dictionary, needed for spell check was taken over from the existing tdf155705 test in sw/qa/extras/accessibility/tdf155705.cxx, whose sample doc is also used. Change-Id: I0c5629272a89a4a570e080e62e99b6c105369cf9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176281 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
14 daysRevert commit 2fe53b2e436cb236b2dc121ceec4f22de49a13a8Patrick Luby1-2/+2
Commit 709b1f3ddb87303a2dec6155dbe0106369c151ed fixes the root cause of the crash during a dynamic_cast so revert commit 709b1f3ddb87303a2dec6155dbe0106369c151ed as it was merely a workaround and is no longer needed. Change-Id: Ia052913eba7fd4d979054ea6a644f4ff9791277c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176217 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>