summaryrefslogtreecommitdiff
path: root/cui
AgeCommit message (Collapse)AuthorFilesLines
2024-01-23tdf#158891 Make cell cursor more accessible for color blindSahil2-29/+69
* Add an option to configure the accent color, which is blue by default might not be visible to color blind people. Change-Id: I72cbb0f57e864407a7c9315b5c46645a891d4764 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162055 Tested-by: Heiko Tietze <heiko.tietze@documentfoundation.org> Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org> Tested-by: Jenkins
2024-01-23make sign signatures dialog asyncNoel Grandin2-2/+2
Change-Id: I7c088b1450050720a28fbc7ccf139b8c69f1cf19 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162419 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-01-23make additions dialog asyncNoel Grandin2-2/+2
Change-Id: I239d8d344ed3152586567c6e1d9b529ba75925dd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162418 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-01-23make diagram dialog asyncNoel Grandin2-2/+2
Change-Id: I26ec71ab5b00545a2e173dd4cc3dcd49d79c2fa7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162417 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-01-22make object name dialog asyncNoel Grandin2-2/+2
Change-Id: Icf81810297dc5767cedd051cf8ccdfbb101f35ec Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162395 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-01-22object-title dialog can be used asyncNoel Grandin2-2/+2
Change-Id: Ia5869788ccefcd17ef561bafb41da6f0d48fd54d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162394 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-01-22make charmap dialog asyncNoel Grandin2-2/+2
Change-Id: I222240dc1715604ad1e82e1062b34d116b2840f7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162367 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-01-22simplify the getters in AbstractSvx*DialogNoel Grandin11-35/+32
to look like getters elsewhere, which compose better Change-Id: I23277910d3fb3c08fa6e839f0fbec010915e951a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162362 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-01-22tdf#148702 cui: Place dropdown before entry in Arrow Styles tab of Line dialogAkshayWarrier1-18/+18
Change-Id: I4a0060422b55f681c3f4f0eb9a908d3b30faeb32 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162347 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2024-01-22Remove DetectHiddenControls method of locking down UIGabor Kelemen1-32/+0
It is used only on the Load/Save - General page, and it's redundant with using officecfg methods and setting UI elements representing locked down keys as insensitive + showing a lock icon Change-Id: I689e7925198f8aac60b5711bf1c349c45a5ab62a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162267 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2024-01-21ITEM: Remove Direct(Put|Remove)Item(In|From)PoolArmin Le Grand (allotropia)1-47/+17
After some experiments I now can remove DirectPutItemInPool and DirectRemoveItemFromPool. With the changes done before it is now possible to get rid of this 'compromize'. Now there are no more Items held at the 'Pool' which now can be developed in the direction of ssth like 'SfxItemSupport' - what it really is. Some of the last usages of DirectPutItemInPool were in SvxAreaTabDialog::SavePalettes(), so I tried to trigger those cases with using LO and calling that Dialog in all situations I could possibly think about, but it was never used. Then I added asserts and run a UnitTests in the apps, also no luck. Thus I would guess these are not used. These put changed stuff from the Dialog 'directly' to the Pool (what is not really supported and is a hint for a 'compromize' that some functionality did not find/want to use the right spot in the model to save and hold that data). Thus it *would* be accessible using the SurrogateMechanism at the Pool (which is also a 'compromize', see some of my other commits), but I also found no hints at places where that is done. Thus I decided to create this change and let's see if that asserts ever get triggered in the builds or tests. Indeed did not trigger. I checked what other places do which use SfxObjectShell::Current() when they get no DocShell: Most avoid doing something, but none puts stuff to the Pool, so I go one step further and do what other places do: warn and return. Also simplified SvxAreaTabDialog::SavePalettes() as then feasible. Change-Id: I1c351eac4ada26288a56a69d57008a09f2d19121 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162340 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2024-01-18-Werror,-Wunused-parameter (Emscripten)Stephan Bergmann1-0/+3
Change-Id: Ia2e9ab91def1454bd06044b0e38f2d0720b44033 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162246 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-01-17Add back XComponentContext to officecfg::...::get() callsStephan Bergmann1-8/+11
4256c764aee0777770466115a97420d9b55c23ac "do not pass XComponentContext to officecfg::...::get() calls" had removed it, for performance reasons, but 8a695046cfcc8f9ec835b208b0d56ca821a3ff84 "tdf#158375 Hack to make sure process service factory is set" is a case where it should be passed in. To hopefully avoid performance regressions, don't default to comphelper::getProcessComponentContext() for what gets passed in, but default to an empty Reference and only call comphelper::getProcessComponentContext() when actually needed in the implementation. Change-Id: I5b75ac2c28f36e21d1c8bc368b0b972c33c61a51 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162205 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-01-17ITEM: Remove suspicious extra-Which in ::PutArmin Le Grand (allotropia)1-3/+3
The ::Put methods at SfxItemSet had an extra WhichID parameter that was not really documented, but I would guess often asked why it exists: An extra WhichID, just called 'nWhich' (which makes things NOT clearer). That is 'strange' since the Item given to be put already internally has a WhichID, so why a 2nd one? If you were really interested and read all that code (no, no comments on that anywhere) you might know that this a kind of 'Target-WhichID' under which the Item shall be put to the ItemSet. Since this is unclear for most people it is even dangerous and explains why so many code places just hand over the WhichID requsted from the Item that already gets handed over. To make it short: I removed that. For the 19 places where this was really needed I added a new method besides ::Put called ::PutAsTargetWhich that takes that extra WhichID (now called TargetWhich) and takes the needed actions. These are quite some because that may be combined with the bPassingOwnership flag, see new SfxItemSet::PutImplAsTargetWhich method. This makes usage of ItemSets/Items less dangerous. It also simplifies and thus makes safer the central helpers implCreateItemEntry/implCleanupItemEntry which have some less cases to handle. Debugged the failing UnitTests showed that there is an incarnate Item != SfxVoidItem that causes problems. I checked for errors in the change, but no luck. Afterr some time I found out that a ::Clone implementation caused the problem: These need to also copy the WichID of the original, but the SfxFrameItem failed to do so. This did not cause problems in the former version because implCreateItemEntry was designed to set a missing/ different WhichID. I corrected that in SfxFrameItem, also removed not needed costructor that caused that. Also added a SAL_WARN and a correction in implCreateItemEntry. I could have added an assert (did so for running local UnitTests), but should be enough. NOTE: When hunting for Items except SfxVoidItem that get crerated using a WhichID '0' i learned that this indeed happens: There are some (5) calls to SfxRequest::SetReturnValue that incarnate an SfxBoolItem with WhichID '0' (ZERO). This is not good and I think about how to change that... Change-Id: I9854a14cdc42d1cc19c7b9df65ce74147d680825 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162124 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2024-01-15tdf#159186 Use changed value when editing string-list a second timeSamuel Mehrbrodt2-14/+19
Change-Id: I0e26a053b3b5fb04abf87894bcfebccea8bdd26f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162074 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2024-01-15Make MAR-based LibreOffice updater non-experimentalThorsten Behrens1-1/+1
Change-Id: I7623e983e14ab7de3948921ca1223488fa2049a2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162067 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-01-12cui: fix typoXisco Fauli1-3/+3
Change-Id: I587d60c8da53df937ed8992a846993078710659f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161971 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2024-01-12Resolves: tdf#159138 don't expand dialog to fit excessively long urlsCaolán McNamara1-4/+4
this widget is the one that ends up controlling the insert hyperlink dialog width Change-Id: I09aaa32e96c4ddcc3e608cb24e67a669d376120f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161960 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-01-12resave with latest gladeCaolán McNamara2-194/+191
Change-Id: I52a7cd6a8e3bb42062d42b99b42875f89dd7b133 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161959 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-01-12ITEM: No longer register Items at PoolArmin Le Grand (allotropia)1-5/+5
The issue is that the flag RegisteredAtPool at the SfxPoolItem is Pool-dependent: It marks that the Item is registeres at *one* Pool/Model. This makes it Pool-dependent. Due to this there is no way to share Items that need to be registered globally/ in multiple Pools/Models what is one of the goals for optimal sharing. We can also not live without having access to all Items associated with the Pool, due to mechanisms in place like the Surrogate stuff. This again is used for two purposes: (1) Access all Items associated with one Pool/Model, at least that is the assumption. This is not valid since it gets corrupted with a single ItemSet/Holder used that does not host model data, e.g. an open Dialog or the Sidebar (or...). But works in principle. (2) Access extra-Items that are held nowhere and are created using DirectPutItemInPool, e.g. infos for a Dialog. These would need a instance/place to host them, the Pool is (ab)used for that. Both are 'compromizes' (to not use a more bad word) and should not exist. (1) should iterate over the Model and do actions. There are even places that use (1) to *change* Items, by casting them to non-const, even RefCounted ones, so having no control over what all might be changed doing so. Since we talk about ca. 100+ places there is no way to get away from this - I can imagine how this happened: The 'poolable' attr traditionally needed for the old binary format was one day 'used' to not need to iterate over the Model, an API was added to access and this usage was copied. Sigh.. It is even used when ODF is loaded: E.g. the FillStyle is imported from XML, interpreted, and put into an ItemSet. Then it gets set at the XShape using UNO API and a *name* -> that name and the Surrogate mechanism is used to find and set the FillStyle at the Model Object. The FillStyle could probably just be set using UNO API and the data directly. The association between Model/Pool and Item is created by the object hosting the Item, these are ItemSets and ItemHolders. Thus it is possible to register these at the Pool. This allows to iterate and collect the Items associated with the Pool and keep the Surrogate mechanism alive. This is the main change done here. It limits the registrations to Items for which (at the Pool) the NeedsPoolRegistration is set, also Item-independent. Speed is okay, I saw no big changes in my tests here. The registration is just pointers, no ownership or RefCounting needed here. The advantage is that Items get closer to be shared office-wide, they can be referenced by multiple ItemSets (RefCnt) associated with different Pools/Models. NOTE: This is not true for SfxSetItems, these are and will stay Pool-dependent due to their need to a Pool in the contained ItemSet. Note that we have ca. six deivations of SfxSetItem, but ca. 500+ Item derivations, so not too bad. For the usages of Surrogates to change existing, RefCounted Items: These can now at least be changed - if they show up to be problematic - to iterate over the registered ItemSets and change Items there the correct way: Set a changed one at the ItemSet. That also allows Objects to *react* on ItemChanges, there is no way to do that with the existing 'compromize'... UnitTests show that this already works well for SC and SD, but SW has still some issues. I will put this to gerrit now, but there will be additional work. A involved problem is the current DefaultItem handling and the state the Pool implementation is in. E.g. StaticDefaults are not really static, Pools hard-delete the DefaultItems (forcing the RefCnt to zero to not have the destructor complain) and other quirks. Looking at that right now, hoping to get this change done without having to change that too much. I thought about adapting PoolItemTest to this, but it is only related to DirectPutItemInPool which is mostly gone and hopefully completely soon. Nonetheless I adapted that mechanism to use a list of SfxPoolItemHolder at the Pool. That makes it safe and abandons the need for indirect garbage collection removal at the Pool. Change-Id: Ib47f21dafa989202930919eace5f7e9c5632ce96 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161896 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2024-01-11Resolves: tdf#159086 add sensitive model<->treeview mappings for checkboxesCaolán McNamara1-1/+16
These are basically implicit in vcl. For gtk if they are used they have to exist in the .ui, and to keep in sync with vcl there is basically just the one pattern that is allowed. Change-Id: I0f5603239569e9d39379515313a35d82d9266480 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161899 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-01-10cid#1546141 COPY_INSTEAD_OF_MOVECaolán McNamara1-2/+2
and cid#1546004 COPY_INSTEAD_OF_MOVE cid#1545934 COPY_INSTEAD_OF_MOVE cid#1545563 COPY_INSTEAD_OF_MOVE cid#1545533 COPY_INSTEAD_OF_MOVE cid#1545529 COPY_INSTEAD_OF_MOVE cid#1545502 COPY_INSTEAD_OF_MOVE cid#1545499 COPY_INSTEAD_OF_MOVE cid#1545479 COPY_INSTEAD_OF_MOVE cid#1545344 COPY_INSTEAD_OF_MOVE cid#1545324 COPY_INSTEAD_OF_MOVE cid#1545313 COPY_INSTEAD_OF_MOVE cid#1545252 COPY_INSTEAD_OF_MOVE cid#1545186 COPY_INSTEAD_OF_MOVE Change-Id: I44a783876699f88c769f239ae84eb5cae44d5f07 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161879 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-01-09tdf#158375: add UI option to disable active contentSarper Akdemir4-1/+41
Adds a checkbox to disable active contents and OLE Automation at Options - LibreOffice - Security - Security Options and Warnings Change-Id: Idfac86e31c97f186eb6b6b2a7a7236b84aedbe83 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161808 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2024-01-07Drop SvtFilterOptions and use officecfg insteadMike Kaganski1-149/+97
Change-Id: I6aa9a21d1422b8b3b6fe5dde9869dffa88be5535 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161744 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-01-05Resolves: tdf#158965 Find Record: Similarities dialog doesn't appearCaolán McNamara2-2/+2
and assert in DBG_UTIL mode regression since: commit 36343165c251e30c700360cc5c4266f576d4ac00 Date: Wed Jan 25 11:07:28 2023 +0000 cui: Make SimilaritySearch dialog async and enable use for jsdialog Change-Id: Iee2071874836ccf8a1ab10fbc6d6b3c491fd04ce Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161624 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-31Replace "size() != 0 with !empty()" (cui)Julien Nabet1-14/+14
Change-Id: I7640be31591bbf4e4f319f35eae0924e7503c282 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161472 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-12-28Fix tooltipsTaichi Haradaguchi2-2/+2
* Correct some path names. * Change some context names. * Replace "&gt;" with "-". * Replace "▸" with "-". Change-Id: I0d2ff04f45fd1985e7e579e57add2a468d13e731 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161267 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-27tdf#158803 Fix issues detected by pyflakesChenxiong Qi2-2/+0
Change-Id: Iaa329dff61db894e7d5fecd840e785a53a48b26f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160889 Tested-by: Jenkins Reviewed-by: Hossein <hossein@libreoffice.org>
2023-12-26cid#1559937 COPY_INSTEAD_OF_MOVECaolán McNamara1-1/+1
and cid#1559939 COPY_INSTEAD_OF_MOVE Change-Id: Ic5e581aff9e12c8c6277355b0a8bc99a155dc63e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161290 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-24tdf#158837 hyphenation crash in: int rtl::str::indexOfStr_WithLengthNoel Grandin1-0/+2
the code was already dodgy, passing in an invalid nPos, which triggers an assert. However, it appears that previously that dodginess was ignored, until commit 5ebccaa07589383653dbd65e58204a82dd3cde09 author Noel Grandin Sat Apr 10 17:27:08 2021 +0200 use std lib for O[U]String indexOfStr which turned it into a crash. Add a check to avoid the crash, no idea what the right fix would look like. Change-Id: I826b9af0b2d9c7c297214ce2d54c664fb573edd2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161271 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-12-24cid#1545470 COPY_INSTEAD_OF_MOVECaolán McNamara2-6/+6
and cid#1545468 COPY_INSTEAD_OF_MOVE cid#1545446 COPY_INSTEAD_OF_MOVE cid#1545435 COPY_INSTEAD_OF_MOVE cid#1545419 COPY_INSTEAD_OF_MOVE cid#1545415 COPY_INSTEAD_OF_MOVE cid#1545410 COPY_INSTEAD_OF_MOVE cid#1545390 COPY_INSTEAD_OF_MOVE cid#1545384 COPY_INSTEAD_OF_MOVE cid#1545374 COPY_INSTEAD_OF_MOVE cid#1545371 COPY_INSTEAD_OF_MOVE cid#1545368 COPY_INSTEAD_OF_MOVE cid#1545366 COPY_INSTEAD_OF_MOVE cid#1545335 COPY_INSTEAD_OF_MOVE cid#1545331 COPY_INSTEAD_OF_MOVE cid#1545327 COPY_INSTEAD_OF_MOVE cid#1545308 COPY_INSTEAD_OF_MOVE cid#1545280 COPY_INSTEAD_OF_MOVE cid#1545199 COPY_INSTEAD_OF_MOVE Change-Id: If05a13125b05ccd93d34d0eced566e7b3b58aaef Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161256 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-23ZXing: no need for deprecated utf-8 conversions anymoreThorsten Behrens1-5/+4
With ZXing 2.0, the library directly supports utf8 std::string parameters: https://github.com/zxing-cpp/zxing-cpp/releases/tag/v2.0.0 Fixes the warning: cui/source/dialogs/QrCodeGenDialog.cxx:161:72: warning: 'FromUtf8' is deprecated [-Wdeprecated-declarations] 161 | ZXing::BitMatrix bitmatrix = writer.encode(ZXing::TextUtfEncoding::FromUtf8(QRText), 0, 0); | ^ /usr/include/ZXing/TextUtfEncoding.h:17:3: note: 'FromUtf8' has been explicitly marked deprecated here 17 | [[deprecated]] std::wstring FromUtf8(std::string_view utf8); | ^ Change-Id: Ic0a65d4455dabea1a7a4e23f558e4158a0c3f39f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161182 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2023-12-22tdf#156820 Fix crash in custom color pickerNoel Grandin1-3/+4
which requires (*) keeping ColorPicker alive during the runAsync in ColorPicker::startExecuteModal (*) keeping the PaletteManager alive during the ExecuteAsync in PaletteManager::PopupCOlorPicker Noting that MattK debugged the cause of this. Change-Id: I07efe8e6514f8882b1347c79c6150578c234bb9d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161054 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-12-21Remove DeleteItemOnIdlexArmin Le Grand (allotropia)2-18/+27
There are some CrashReports in 7.6 which have DeleteItemOnIdle on the stack, but there is nothing reproducable. So I took a look... I first thought it's a MCGR regression, due to classes on the stack. But the Item involved is just random, can happen with any Item. Then I thought it may have to do with ITEM refactorings, but it happens with DeleteItemOnIdle involved, so also not the case. I already saw DeleteItemOnIdle when doing these and qualified as 'hack' in the way. already It is only on Windows and DeleteItemOnIdle is involved. This again (took a deeper look now) is an old hack to keep an SfxPoolItem 'alive' for some 'time'. For that, it triggers an async reschedule which then deletes the Item when being called. If the Item will be used after that is pure coincidence - seems to work in most cases. It seems as if for Windows the timing slightly changed for some scenarios, so a reschedule is too early. This can happen with this hack anytime. DeleteItemOnIdle is used in scenarios where SfxPoolItem* is e.g. returned, but is *not* anchored, so e.g. not member of an SfxItemSet. Or in short: Lifetime is not safe. DeleteItemOnIdle exists since 1st import, but was changed to AsyncEvent ca. 4 months ago (see 57145acf9ec47c23e307b7a5c0029d21d937cc35), so that may have caused it. It is possible that these errors happen on Windows since then. Before something more complicated was used to delete it late, but surely also not really safe. Due to ITEM refactor I have the knowledge/tooling to solve this. It will not be a 1-5 lines fix, but it is a hack and in the way for further ITEM refactor anyways. What we have nowadays is a SfxPoolItemHolder -> it's like an SfxItemSet for a single Item. It safely holds/ controls the lifetime of an SfxPoolItem. It is already used in quite some places. It helps to solve many hacks, also the ones putting Items directly to the Pool - due to there never was an alternative for that. In principle the ItemPool/ItemSet/Item paradigm was never complete without SfxPoolItemHolder. Thus I started to fix that (and remove that hack for good, sooo many changes over the years, sigh), but as said is not straightforward. Will have to change retvals of involved stuff to SfxPoolItemHolder - it's just two pointers and designed to be copied (one is a Pool, needed to cleanup when destructing). CopyConstruct/destroy just counts the RefCnt up/down, so cheap. 1st version compiling, let's check on gerrit... Corrected one error in QueryState for securitypage, also added some security features/asserts. Change-Id: Ida49fd35ca88ead84b11d93e18b978cb9e395090 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161083 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2023-12-21tdf#158759 - UI: Part 56 - Unify lockdown behavior of Options dialogBalazs Varga3-86/+183
for General - Application Colors Page. Change-Id: I2fb6c73cef82c12c3c8f3c49fb0e4b62703a1de3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161030 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
2023-12-19Hide --enable-online-updaet-mar GUI behind ExperimentalMode for nowStephan Bergmann3-20/+28
(and rename SvxOnlineUpdateTabPage's is...OnlineUpdateEnabled predicates to is...OnlineUpdaetAvailable, to avoid the overloaded term "enabled" here) Change-Id: I639ac72a17b98c883ff3082747b8576099299867 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160975 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2023-12-19cid#1545222 COPY_INSTEAD_OF_MOVECaolán McNamara1-3/+3
and cid#1545241 COPY_INSTEAD_OF_MOVE cid#1545303 COPY_INSTEAD_OF_MOVE cid#1545315 COPY_INSTEAD_OF_MOVE cid#1545319 COPY_INSTEAD_OF_MOVE cid#1545322 COPY_INSTEAD_OF_MOVE Change-Id: I284ba6e395f72abd7939667a8367ac99ab64194d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160955 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-18tdf#158720 Fix crash when searching expert config with gen vcl pluginSamuel Mehrbrodt1-1/+0
Change-Id: Ida2f17c8dfb638bb6791dba32ae3b190b06254de Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160920 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2023-12-16cid#1545970 COPY_INSTEAD_OF_MOVECaolán McNamara4-9/+5
and cid#1545957 COPY_INSTEAD_OF_MOVE cid#1545944 COPY_INSTEAD_OF_MOVE cid#1545939 COPY_INSTEAD_OF_MOVE cid#1545931 COPY_INSTEAD_OF_MOVE cid#1545926 COPY_INSTEAD_OF_MOVE cid#1545909 COPY_INSTEAD_OF_MOVE cid#1545899 COPY_INSTEAD_OF_MOVE cid#1545896 COPY_INSTEAD_OF_MOVE cid#1545894 COPY_INSTEAD_OF_MOVE cid#1545858 COPY_INSTEAD_OF_MOVE cid#1545823 COPY_INSTEAD_OF_MOVE cid#1545820 COPY_INSTEAD_OF_MOVE cid#1545819 COPY_INSTEAD_OF_MOVE cid#1545772 COPY_INSTEAD_OF_MOVE cid#1545749 COPY_INSTEAD_OF_MOVE cid#1545743 COPY_INSTEAD_OF_MOVE cid#1545739 COPY_INSTEAD_OF_MOVE cid#1545635 COPY_INSTEAD_OF_MOVE cid#1545603 COPY_INSTEAD_OF_MOVE cid#1545602 COPY_INSTEAD_OF_MOVE cid#1545592 COPY_INSTEAD_OF_MOVE cid#1545544 COPY_INSTEAD_OF_MOVE cid#1545532 COPY_INSTEAD_OF_MOVE cid#1545520 COPY_INSTEAD_OF_MOVE cid#1545512 COPY_INSTEAD_OF_MOVE cid#1545490 COPY_INSTEAD_OF_MOVE cid#1545483 COPY_INSTEAD_OF_MOVE cid#1545467 COPY_INSTEAD_OF_MOVE cid#1545461 COPY_INSTEAD_OF_MOVE cid#1545458 COPY_INSTEAD_OF_MOVE cid#1545428 COPY_INSTEAD_OF_MOVE cid#1545394 COPY_INSTEAD_OF_MOVE cid#1545385 COPY_INSTEAD_OF_MOVE cid#1545383 COPY_INSTEAD_OF_MOVE cid#1545366 COPY_INSTEAD_OF_MOVE cid#1545357 COPY_INSTEAD_OF_MOVE Change-Id: I76224326977b4067b94ca3176cad1ca6de17930a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160847 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-16Drop some wrapper methods from SvtOptionsDrawinglayerGabor Kelemen1-8/+8
just use the wrapped officecfg methods instead of: GetMaximumPaperWidth GetMaximumPaperHeight GetMaximumPaperLeftMargin GetMaximumPaperRightMargin GetMaximumPaperTopMargin GetMaximumPaperBottomMargin Change-Id: Id11782a306ca9118cc65607265be516ba9f0abda Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160653 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2023-12-16Drop some wrapper methods from SvtOptionsDrawinglayerGabor Kelemen1-1/+2
just use the wrapped officecfg methods instead of: GetStripeLength Change-Id: Id29c0b1ecbc513b5d778140b6e59139a507035d4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160652 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2023-12-15Fix placement for --enable-online-update-mar UIMichael Weghorn2-2/+8
* Resave with glade 3.40, which did all the changes to the .ui file * to be safe, explicitly hide the UI in the C++ code when building without `--enable-online-update-mar` (UI wasn't shown in a quick test with qt6 even without that, but better be safe) Addresses this issue mentioned in [1]: > - Online Update". (For non-GTK VCL backends, there's still a bug that > the "Automatic Update" section on that options page is mixed into the > traditional --enable-online-update options at the top of the page, > instead of down at the bottom; fixing of > cui/uiconfig/ui/optonlineupdatepage.ui welcome...) [1] https://lists.freedesktop.org/archives/libreoffice/2023-December/091309.html Change-Id: I2fadbb3b93206834b8c2c17cb540fb0b0687742b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160830 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> Tested-by: Jenkins
2023-12-14cid#1545211 COPY_INSTEAD_OF_MOVECaolán McNamara1-2/+1
and cid#1545218 COPY_INSTEAD_OF_MOVE cid#1545232 COPY_INSTEAD_OF_MOVE cid#1545243 COPY_INSTEAD_OF_MOVE cid#1545246 COPY_INSTEAD_OF_MOVE cid#1545251 COPY_INSTEAD_OF_MOVE cid#1545260 COPY_INSTEAD_OF_MOVE cid#1545261 COPY_INSTEAD_OF_MOVE cid#1545276 COPY_INSTEAD_OF_MOVE cid#1545295 COPY_INSTEAD_OF_MOVE cid#1545297 COPY_INSTEAD_OF_MOVE cid#1545301 COPY_INSTEAD_OF_MOVE cid#1545302 COPY_INSTEAD_OF_MOVE Change-Id: I97ba935a4a2b8715b55ebbf6e853a66260b2eb90 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160686 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-13loplugin:unusedmethodsNoel Grandin4-10/+0
Change-Id: Id0aed0077ed121fdaef574248427a3425248e7d5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160617 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-12-10cid#1545177 COPY_INSTEAD_OF_MOVECaolán McNamara1-4/+2
and cid#1545179 COPY_INSTEAD_OF_MOVE cid#1545187 COPY_INSTEAD_OF_MOVE cid#1545188 COPY_INSTEAD_OF_MOVE cid#1545189 COPY_INSTEAD_OF_MOVE cid#1545196 COPY_INSTEAD_OF_MOVE cid#1545197 COPY_INSTEAD_OF_MOVE cid#1545204 COPY_INSTEAD_OF_MOVE cid#1545223 COPY_INSTEAD_OF_MOVE cid#1545236 COPY_INSTEAD_OF_MOVE cid#1545239 COPY_INSTEAD_OF_MOVE cid#1545253 COPY_INSTEAD_OF_MOVE cid#1545274 COPY_INSTEAD_OF_MOVE cid#1545286 COPY_INSTEAD_OF_MOVE cid#1545309 COPY_INSTEAD_OF_MOVE cid#1545311 COPY_INSTEAD_OF_MOVE cid#1545345 COPY_INSTEAD_OF_MOVE cid#1545358 COPY_INSTEAD_OF_MOVE cid#1545361 COPY_INSTEAD_OF_MOVE cid#1545365 COPY_INSTEAD_OF_MOVE cid#1545367 COPY_INSTEAD_OF_MOVE cid#1545372 COPY_INSTEAD_OF_MOVE cid#1545373 COPY_INSTEAD_OF_MOVE cid#1545377 COPY_INSTEAD_OF_MOVE cid#1545392 COPY_INSTEAD_OF_MOVE cid#1545399 COPY_INSTEAD_OF_MOVE cid#1545404 COPY_INSTEAD_OF_MOVE cid#1545408 COPY_INSTEAD_OF_MOVE cid#1545430 COPY_INSTEAD_OF_MOVE cid#1545439 COPY_INSTEAD_OF_MOVE cid#1545449 COPY_INSTEAD_OF_MOVE Change-Id: I3afe836a0bbc8bd70937035e60eb020435e413d2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160539 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-10cid#1546281 COPY_INSTEAD_OF_MOVECaolán McNamara1-3/+2
and cid#1546278 COPY_INSTEAD_OF_MOVE cid#1546276 COPY_INSTEAD_OF_MOVE cid#1546247 COPY_INSTEAD_OF_MOVE cid#1546244 COPY_INSTEAD_OF_MOVE cid#1546243 COPY_INSTEAD_OF_MOVE cid#1546220 COPY_INSTEAD_OF_MOVE cid#1546209 COPY_INSTEAD_OF_MOVE cid#1546207 COPY_INSTEAD_OF_MOVE cid#1546206 COPY_INSTEAD_OF_MOVE cid#1546205 COPY_INSTEAD_OF_MOVE cid#1546197 COPY_INSTEAD_OF_MOVE cid#1546180 COPY_INSTEAD_OF_MOVE cid#1546172 COPY_INSTEAD_OF_MOVE cid#1546165 COPY_INSTEAD_OF_MOVE cid#1546164 COPY_INSTEAD_OF_MOVE cid#1546158 COPY_INSTEAD_OF_MOVE cid#1546151 COPY_INSTEAD_OF_MOVE cid#1546135 COPY_INSTEAD_OF_MOVE cid#1546132 COPY_INSTEAD_OF_MOVE cid#1546129 COPY_INSTEAD_OF_MOVE cid#1546128 COPY_INSTEAD_OF_MOVE cid#1546122 COPY_INSTEAD_OF_MOVE cid#1546117 COPY_INSTEAD_OF_MOVE cid#1546113 COPY_INSTEAD_OF_MOVE cid#1546106 COPY_INSTEAD_OF_MOVE cid#1546099 COPY_INSTEAD_OF_MOVE cid#1546091 COPY_INSTEAD_OF_MOVE cid#1546085 COPY_INSTEAD_OF_MOVE cid#1546069 COPY_INSTEAD_OF_MOVE cid#1546063 COPY_INSTEAD_OF_MOVE cid#1546062 COPY_INSTEAD_OF_MOVE cid#1546058 COPY_INSTEAD_OF_MOVE cid#1546056 COPY_INSTEAD_OF_MOVE cid#1546051 COPY_INSTEAD_OF_MOVE cid#1546040 COPY_INSTEAD_OF_MOVE cid#1546030 COPY_INSTEAD_OF_MOVE cid#1546028 COPY_INSTEAD_OF_MOVE cid#1546015 COPY_INSTEAD_OF_MOVE cid#1546001 COPY_INSTEAD_OF_MOVE Change-Id: Ib954c92a300fc323b29f27880fdf8bc46ed98862 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160520 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-12-07GUI to en-/disable the --enable-online-update-mar feature at runtimeStephan Bergmann4-142/+237
...sharing the existing option tab page for the traditional --enable-online-update feature Change-Id: Ic7b04bf15bf841a46a96d62cf5a857deaa399428 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160430 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2023-12-07simplify and modernise ScopedBitmapAccessNoel Grandin1-1/+0
(*) Make all of it use a "Scoped" paradigm (*) pass by value, no need to allocate on heap (*) make all of the construction go via the *Access constructors, instead of it being some via the constructors and some via the Acquire*Access methods. (*) take the Bitmap& by const& in the constructor, so we can avoid doing const_cast in random places. Change-Id: Ie03a9145c0965980ee8df9a89b8714a425e18f74 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160293 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-12-07tdf#157432 Expert config: Allow filtering by changed valuesSamuel Mehrbrodt3-63/+115
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-04cid#1546021 Using invalid iteratorJulien Nabet1-1/+4
and : cid#1545983 Using invalid iterator cid#1545969 Using invalid iterator cid#1545949 Using invalid iterator cid#1545929 Using invalid iterator cid#1545911 Using invalid iterator cid#1545910 Using invalid iterator cid#1545886 Using invalid iterator cid#1545870 Using invalid iterator cid#1545813 Using invalid iterator Change-Id: I2ad10c2a9affd348050a4abe0917a90927a52547 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160317 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>