summaryrefslogtreecommitdiff
path: root/svx
AgeCommit message (Collapse)Author
2023-11-20c++20: use std::erase(_if) instead of std::remove(_if)+erase (svx)Julien Nabet
Change-Id: If0cca803cd182f5def098ab06a0c5a4a479758bd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159702 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-11-19Extended loplugin:ostr: svxStephan Bergmann
Change-Id: I290b1c60c8030b5345a1c2fa3816e83e21967cf6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159671 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-11-18tdf#157716 - Rename "Language settings" to "Languages and Locales"t-aswath
Change-Id: Idd31b18c87998b03d884e7aa17197c459241abf9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159315 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com>
2023-11-15loplugin:unusedmethodsNoel Grandin
Change-Id: I1e125bbd388953491b3f869641484fea737d39ab Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159423 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-11-13tdf#158008 - UI: Part 23 - Unify lockdown behavior of Options dialogBalazs Varga
for Writer - Grid Page. Change-Id: Ia492d0d742050d1ceec3c9ab68bf3378355977e3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159290 Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
2023-11-13svx: prefix members of SdrPageMiklos Vajna
See tdf#94879 for motivation. Change-Id: I9b3b1116bca80a5c587931e4c8da9ac31e1faa5f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159353 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2023-11-11ofz#63845 Integer-overflowCaolán McNamara
Change-Id: Ic2396c92b53012642976e75fcfa42cf2737f3092 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159311 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-11-10tdf#158169 take no actions in disposed incarnationArmin Le Grand (allotropia)
Using the described steps in the bug report it is possible to have an already disposed incarnation of ChildrenManagerImpl that gets called with notifyEvent. If exposed it is necessary not to execute actions, but to inform the caller by triggering a lang::DisposedException(). The SfxBaseModel::notifyEvent that executes this will then remove the instance from it's list. Change-Id: Ie39e37d6e55ea66f441e732b612774b18d7c3ca1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159306 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2023-11-10loplugin:fieldcast in SvxClipBoardControlNoel Grandin
Change-Id: I5877e1dd8c17c36a5233457030d54349f11ab04f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159223 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-11-09loplugin:fieldcast in FmXUndoEnvironmentNoel Grandin
which means we can also use unique_ptr to manage this field. Change-Id: Icf31fa718af455148601efafbcc69067c5c27a16 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159172 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-11-08loplugin:fieldcast in SdrUndoAttrObjNoel Grandin
Change-Id: I1d74c2d085908d3a91ab74e53f54110de9fbfd99 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159096 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-11-07ITEM: Get away from classic 'poolable' Item flagArmin Le Grand (allotropia)
To understand this, some look back in history will be needed to see why it is as it is today. In some (reworked) comments 'poolable' is described as flag to hold Items in the ItemPool, also always having only one incarnation of each possible Item. This is not the original intention, but a side-effect. The reason is what the binary format in the office did: To save a document, the Objects & the Pool were saved, *not* individual Items *together* with the objects. The Pool was completely (binary) saved (and loaded) in one run. Temporary IDs were used to represent at the objects in file which Items were referenced. This *required* to have only one incarnation per item to have a minimal binary file size, thus this high effort was put into this. At doc load, the pool was loaded, all Items were set to RefCount 5000, the references from the objects were restored and then for each Item the RefCount was lowered by 5000 again and - if being zero - deleted. Items for UI were marked 'non-poolable' to *not* safe them with the document, so poolable was a flag to decide if that Info/Item was to be saved with the document - or more direct: if it is Model Data. Items are small, so if we prefer runtime it is okay to no longer being strict with this, anyways does not happen often and has only marginal memory effects - compared to runtime effects/savings. Other problems which this caused: One example is that objects in the UNDO stack were still in the pool, so e.g. deleted pictures were saved with the document despite no longer being used (!). That is the reason we have an UndoItemPool and a method MigrateItemPool to move stuff to that Pool when objects go to the UNDO stack - all of this is also no longer needed. Cleaning this up means to ideally have all items in the SfxItemSet, no longer at the Pool. The Pool should be reduced to a 'Default-Item- Holder' and a 'Slot-to-whichId-mapper'. This needs thorough cleanups/removals, but will be worth it because that massive simplification(s) will increase safety an runtime and make migrating to the goal of completely type-based ItemSet stuff easier for the future. Hopefully only view code in the office working with items will have to be changed for this. In this 1st step I already found that some 'compromizes' will be needed: - There are still Items that have to be at the pool to make the Surrogate-stuff working. This gives back all Items in a Pool of a type and is used in ca. 80 cases. Each one looks at these Items *without* context (e.g. a SfxItemSet at an Object would be a context), so if e.g. a dialog is open that temporarily uses Items of that type you would also get these - without knowing about it... To make that work there is still a mechanism to have Items at the Pool, but now just *registering* (and un-reg) them without any sort/search/ remove needs. Also only for Items that need that, so I evaluated the GetItemSurrogates calls and added some asserts when GetItemSurrogates tries to access an unregistered item type which needs to be added. - Another caveat is that there are about 250 places that directly put Items to the Pool (not all remove these, that is done at pool deletion, so some kind of silent 'garbage-collection' is in place). To have an overview I renamed the accessing methods to separate them from the same functionality at the SfxItemSet, which had the same names. An implementation does still add these directly to the pool, there is no way to cleanup those usages for now. In principle all these should be changed to hold the data at an SfxItemSet. I am still hunting problems. But you can build the office, all apps work (including chart) and you can do speed comparisons already. There are test throwing errors, so I hunt these now. It is hard to give an estimation about how much more changes/corrections will be needed. Completed adaptions to new registered Items at Pool, that reduces the failing tests. Still many that I need to hunt. Added stuff to work around that 'compromize' in ScDocumentPool: It overloads ::PutImpl of the pool to implement special handling for a single Item in SC, the ScPatternAttr. In former code that method was used from SfxItemSet and ::PutImpl at the pool directly, so it was only used in one place. I am not sure if it was used from the SfxItemSet functionality, but better offer it for now. To not waste too much runtime the callbacks depend on the boolean 'NewItemCallback' at the SfxPoolItem, it gets set for that single Item in SC and only then the callbacks trigger. I hope to get rid of those again, e.g. newItem_UseDirect is only needed since we have no 'real' StaticPoolDefaults currently - another thing that needs to be cleaned up in a next step. Since usages of impl(Create|Cleanup)ItemEntry and Direct(Put|Remove)ItemInPoolImpl got more and more similar I decided to unify that: move impl(Create|Cleanup)ItemEntry to tooling, make it globally available in svl and use it also directly for Direct(Put|Remove)ItemInPoolImpl. This slightly increases the failing tests again, but only since in Direct(Put|Remove)ItemInPoolImpl that fallback (e.g. tryToGetEqualItem) was used before, thus this is the same class of errors (SfxPoolItem ptr-compare) as the others which I will need to find anyways. Also fixed some missing stuff. Have now idenified and redirected all SfxPoolItem ptr-compares to be able to debug these - one cause for the remaining errors is probably that before with bPoolable those often were sufficient, but are no longer. Used the [loplugin:itemcompare] and a local clang build to do so, see https://gerrit.libreoffice.org/c/core/+/157172 Stabilized Direct(Put|Remove)ItemInPoolImpl forwards, added parameter to implCreateItemEntry to signal that it gets called from DirectPool stuff - currently needed. Hopefully when getting rid of that DirectPool stuff we can remove that again Added two more debug functionalities: - Added a SerialNumber to allow targeted debugging for deterministic cases - Added registering & listing of still-allocated SfxPoolItems at office shutdown Found PtrComp error in thints.cxx - POC, thanks to areSfxPoolItemPtrsEqual. Will hopefully help more with other tests Found some wrong asserts/warnings where I was too careful and not finding something/succeeding is OK, fixes some UnitTests for SC For SC I now just tried to replace all areSfxPoolItemPtrsEqual with the full-ptr-content compare SfxPoolItem::areSame. I also needed to experiment/adapt the newItem_Callback solution but got it working. Did that replacement now for SW too, found some places where the direct ptr compare is OK. Continued for the rest of occurrences, now all 160 places evaluated. Also done some cleanups. Massive cleanups of stuff no longer needed with this paradigm change. Also decided to keep tryToGetEqualItem/ITEM_CLASSIC_MODE for now. It is used for *one* Item (ScPatternAttr/ATTR_PATTERN) in SC that already needs many exceptions. Also useful for testing if errors come up on this change to test if it is related to this. Added forwarding of target Pool for ::Clone in SvxSetItem and SvxSetItem, simplified SfxStateCache::SetState_Impl and returned to simple ptr compares in SfxPoolItem::areSame to not do the test in areSfxPoolItemPtrsEqual. Debugged through UITest_calc_tests9 and found that in tdf133629 where BoxStyle is applied to fully selected empty calc the Item- reuse fallback has to be used not only for ATTR_PATTERN, see comment @implCreateItemEntry. Maybe more... Problem with test_tdf156611_insert_hyperlink_like_excel. Found that in ScEditShell::GetFirstURLFieldFromCell the correct SvxURLField is found and returned as ptr, but it's usage crashes. That is due to the SfxItemSet aEditSet used there gets destroyed at function return what again deletes the SvxFieldItem that is holding the SvxURLField that gets returned. This shows a more general problem: There is no 'SfxPoolItemHolder' that safely holds a single SfxPoolItem - like a SfxItemSet for a single Item (if Items would be shared_ptrs, that would be a safe return value). That will be needed in the future, but for now use another solution: Since I see no reason why EE_FEATURE_FIELD should not be shareable I wil change this for ow in the SfxItemInfo for EditCharAttribField. That way the Item returned will be shared (RefCnt > 1) and thus not be deleted. I changed the return value for GetURLField() and GetFirstURLFieldFromCell() in ScEditShell: At least for GetFirstURLFieldFromCell the return type/value was not safe: The SvxFieldItem accessed there and held in the local temporary SfxItemSet may be deleted with it, so return value can be corrupted/deleted. To avoid that, return a Clone of SvxFieldData as a unique_ptr. With all that UnitTest debugging and hunting and to get the paradigm change working to no longer rely on shared/pooled items I lost a little bit focus on speed, so I made an optimization round for the two central methods implCreateItemEntry/implCleanupItemEntry to get back to the speed improvements that I detected when starting this change. It was mainly lost due to that 'strange' chained pool stuff we have, so I added to detect the target pool (the one at which the WhichID is registered) directly and only once. Next thing to cleanup will/should be the pool and it's concept, all this is not needed and really costs runtime. Since implCreateItemEntry/implCleanupItemEntry are executed millions of times, each cycle counts here. Had an error in the last changes: pool::*_Impl methods use index instead of WhichID - most of them. Another bad trap, I really need to cleanup pool stuff next. Change-Id: I6295f332325b33268ec396ed46f8d0a1026e2d69 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157559 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2023-11-07tdf#135236 a11y: Notify a11y layer of WeldEditView sel changeMichael Weghorn
Extend `WeldEditView::EditViewSelectionChange` to not only invalidate the view, but also notify the `AccessibleTextHelper` of the selection update, so the corresponding events are sent on the a11y layer. This e.g. causes the `CARET_CHANGED` events to be sent as needed when moving the cursor/caret using the arrow keys in the "Not in dictionary" text edit in Writer's spelling dialog ("Tools" -> "Spelling"), so the Orca screen reader on Linux with the gtk3 or qt6 VCL plugin announces the new caret position, which was no longer the case since the spelling dialog was welded in commit 243b5b392906042ab03800e0b5765e6f3513372c Date: Fri Jun 14 21:56:44 2019 +0100 weld SpellDialog The newly added `AccessibleTextHelper::UpdateSelection` is a simplified version of `AccessibleTextHelper::UpdateChildren`. Change-Id: I5f0898c3ccb9fd527a6ff672be49157cb6e518b1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158992 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-11-06svx: prefix members of SdrObjCustomShapeMiklos Vajna
See tdf#94879 for motivation. Change-Id: I589bba671fc7ad4282d18c35666ace80fff9ed77 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158969 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2023-11-06uitest: Clean up redundant usage of gb_UITest_use_oneprocessXisco Fauli
After 8c39af455c4dee53c6f3c918b0497f80a4fb0f21 "uitest oneprocess mode: default to this and clean up one test" Change-Id: Ib6e0fc3de2997beebc650253ae3ea19a3314ae09 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158844 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-11-05reprobuild: don't write nondeterministic textencodingThorsten Behrens
No need to write this legacy int16, that we ignore on read anyway. Change-Id: I5ee071aa0562b8e2718a1a83dffc543c9a104360 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158942 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2023-11-02tdf#157956 convert ellipses to quarter rounded circlekhushishikhu
The change is about corner rounding of a 'Flowchart Alternate Process' shape. The quarter circles remain circles even after stretching the shape. Change-Id: I4ecaba9a9f39cfb797e248eb4728ed7dea844f5d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158580 Tested-by: Jenkins Reviewed-by: Regina Henschel <rb.henschel@t-online.de> Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org> Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2023-11-01AttributeProperties is effectively abstractNoel Grandin
so remove the unused code and assert there, just to make sure Change-Id: I31771e5c210b087775d59804874456cece9509cb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158746 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-10-31no need to call GetObjectItemSet inside ForceDefaultAttributesNoel Grandin
ForceDefaultAttributes is only called after an itemset has been created Change-Id: I0ef8df039ed7a238b673c3770ee884a58dd62772 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158735 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-10-31add comment to CellProperties::ForceDefaultAttributesNoel Grandin
Change-Id: Iea65e06b886d47ea18fa1dc81a6df0cd8b995776 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158734 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-10-31rename mxItemSet->moItemSet in DefaultPropertiesNoel Grandin
because it reduces the noise in an upcoming patch Change-Id: I67d7b719609271f626e38596416eb511fbd40b07 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158714 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-10-31SdrAttrObj and SdrObject are abstractNoel Grandin
so push the CreateObjectSpecificProperties implementation down to the concrete subclasses. Change-Id: If2c9545aada3e9f2c2f2a0140b6d880bdfef111d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158711 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-10-30rename mxItemSet->moItemSet in SvxShapeImplNoel Grandin
because the improved naming is useful for a bigger patch that I want to land Change-Id: I3acea11288a2e70d6ea91c99b52d3a05916da4d2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158643 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-10-28Resolves tdf#156227 - More appealing feedback for find/quickfindHeiko Tietze
ErrorMessageType removed in favor of an infobar-like label Accessibility notification added for the quickfind bar Change-Id: Iec2498d04152392b3e181146005bdb0c9db8ec50 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156943 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2023-10-27lok: a11y: impress: help screen reader to report shape selectionMarco Cecchetti
Refactored LOKDocumentFocusListener::notifyEvent. Implemented 2 new callbacks: - LOK_CALLBACK_A11Y_EDITING_IN_SELECTION_STATE: it says the client if editing in a shape or cell is active or it isn't. - LOK_CALLBACK_A11Y_SELECTION_CHANGED: it says if a shape has been selected/unselected, the name of the shape and text content are sent too for being reported by a screen reader. (cherry picked from commit 76899152ec3d1924cc72d2b869e197a1e34a0a1a) Conflicts: sfx2/source/view/viewsh.cxx Change-Id: I644bcc7daeb8772805688a9bccdabd0631ce0a22 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158562 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-10-24svx: prefix members of SdrLayerIDSetMiklos Vajna
See tdf#94879 for motivation. Change-Id: Ibac67e7f8535b231f63a01b7e572595f5b91a996 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158368 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2023-10-23Extended loplugin:ostr: Rewrite some O[U]StringLiteral -> O[U]StringStephan Bergmann
...in include files. This is a mix of automatic rewriting in include files and manual fixups (mostly addressing loplugin:redundantfcast) in source files that include those. Change-Id: I1f3cc1e67b9cabd2e9d61a4d9e9a01e587ea35cc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158337 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-10-22lok: a11y: impress: screen reader support for text shape editingMarco Cecchetti
Now accessibility support can be enabled in Impress. Fixed an issue that prevented to receive accessibility event when a shape text content was edited. Some rectangles overlapping check is performed for excluding not visible shapes from the a11y tree Anyway client and core visible area can differ some shape was wrongly pruned from the a11y tree. The problem has been fixed by not performing the overlapping test in the LOK case: we already do the same for shape area invalidation. In order to avoid the screen reader to report no more focused paragraph we send an empty paragraph to clear the editable area when shape selection state changes. When shape ediding becomes active the text content of the shape is sent to the client. Change-Id: Ia9ee08d060162891725d26efd2aa36e47b38ed50 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157525 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158329 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-20Extended loplugin:ostr: Automatic rewrite O[U]StringLiteral: svxStephan Bergmann
Change-Id: Ib5028b826a3f62303b9e0502af70ad62c578fbb1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158240 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-10-20remove SAL_WARN in _setPropertyValueNoel Grandin
since so much code higher level code is now just asking for random properties and just catching the UnknownPropertyException for the cases where the object does not support that property Change-Id: I9198ec0c540252783015cffa088be30451f92c3d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158231 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-10-19tdf#155410 small optimisationNoel Grandin
Change-Id: I736b5959d52c57ee5e05e349d0c421896229e554 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158172 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-10-18use more SdrObjList::begin/end in svxNoel Grandin
Change-Id: I362a2e12492391338b63708e4b329fc77ac363c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158113 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-10-18tdf#157792 followupNoel Grandin
avoid doing some extra Invert() operations by creating an AlphaMask instead of a Bitmap to pass to the BitmapEx constructor. Change-Id: I1af3a5e65010b346fa0d0c56836d567e51c9b58b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158106 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-10-18tdf#155410 shave 1% cost off SdrGroup::GetLayerNoel Grandin
by avoiding repeated indexed lookup into the std::deque inside SdrObjList Change-Id: Ifcf736d0ecef1239b8a236fe1937f347a3d49e4e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158104 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-10-18Clean up the remaining uses of OUStringConstExpr, and drop itStephan Bergmann
Change-Id: I30b2ac77b58e2ae1d1e997a0c830c513542b973d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158101 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-10-17svx: prefix members of SdrHdlListMiklos Vajna
See tdf#94879 for motivation. Change-Id: I9e529ef12c05e333e2eeb535d2ae72e5d4c84a72 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158062 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2023-10-16retain Referer information available in OCommonEmbeddedObject ctorCaolán McNamara
Change-Id: I2cb901e81de3b7db73cd2088348ddad46ae603dd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158052 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-16Related: tdf#157726 restore try/catch blockCaolán McNamara
before commit de42529ca9107b24b6367b40801300416d4a51a1 Date: Wed Sep 6 14:49:19 2023 +0200 replace svx::PropertyValueProvider with simpler implementation PropertyChangeNotifier::notifyPropertyChange had a try/catch, but afterwards SvxShape::notifyPropertyChange doesn't Change-Id: If78732bea08d0f760b3b616ad55d28d40fa50fcf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158026 Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-15Repurpose loplugin:stringstatic for O[U]String vars that can be constexprStephan Bergmann
...now that warning about O[U]String vars that could be O[U]StringLiteral is no longer useful Change-Id: I389e72038171f28482049b41f6224257dd11f452 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157992 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-10-14Use exception ctors, instead of setting members laterMike Kaganski
Avoids overwriting source location in message Change-Id: Ia0290c7dd1ab3ea1357712a27ecab75c7b583dd4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157893 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-10-12tdf#141828 svx: Use pointing hand for custom shape handlesMichael Weghorn
Use the *pointing* hand cursor (`PointerStyle::RefHand`) instead of the hand symbol cursor (`PointerStyle::Hand`) for handles for custom shape interaction. (S. how `SdrHdlKind::CustomShape1` is only specified in `SdrObjCustomShape::AddToHdlList`, except for read-only switch/cases elsewhere). As mentioned in tdf#141828, this has the advantage that the user can see where the handle is being moved. For gtk3, this doesn't make any difference in practice, because it's using the same cursor type for both, `PointerStyle::RefHand` and `PointerStyle::Hand` (s. `GtkSalDisplay::getCursor`, but the Qt-based VCL plugins (`QtData::getCursor`) and macOS (s. `AquaSalFrame::getCurrentCursor`) make a distinction between them. Change-Id: I5d35481e5c5edc1895a7c4a973315ee6b187b983 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157891 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2023-10-12Make NC_ constexpr-friendlyStephan Bergmann
...by moving the char8_t -> char reinterpret_cast out of any potential constexpr paths into a new TranslateId::getId. And demonstrate constexpr'ability by making the aCategories var in OApplicationIconControl::Fill (dbaccess/source/ui/app/AppIconControl.cxx) constexpr. (And there might be more such cases that could now be made constexpr.) Change-Id: I0b4e3292faf8f6b901f9b9e934e1aa6bf0f583ff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157862 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-10-12drawinglayer,svx: PDF/UA export: put Form SE into anchor paragraph SEMichael Stahl
This is like commit d467f1aa3d028f399826c97e2eecedcd79efcf65 and commit 6e5d59c2ca6969e9491f97cd7a00d094fc62cfb3 but for the form controls, which have their own special ControlPrimitive2D. Change-Id: I4b4ac45e81f490a7b625acd9e8753300d10bf119 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157847 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-10-11Drop o3tl::span, can use C++20 std::span directly nowStephan Bergmann
Change-Id: Ic21ff7bf48f07f7277979d52e99d2c5c268de83f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157825 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-10-11lok: flush the VOC primitives when trimming memoryAshod Nakashian
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk> Change-Id: I0a7748a1fb1b58b3bcfc6b8fdfa1410a345849a0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154812 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 5fba074e7f22ff0e5d5b9591a912193f7be8c08c) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154868 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-11drop can-focus of False in GtkToolButtonsCaolán McNamara
Change-Id: I12add968fdb5cb4d29087c24aa885cde23488fb4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157794 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-10jsdialog: hide help and close buttons for searchreplace dialogPedro Pinto Silva
Signed-off-by: Pedro Pinto Silva <pedro.silva@collabora.com> Change-Id: I0f3bc2cd6839c74dff40431f8659d7f90b285d12 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149293 (cherry picked from commit c65142fd9fd9a43e1f27cb11f5b4048600b5a4c4) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157720 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-09svx: prefix members of SdrHdlLineMiklos Vajna
See tdf#94879 for motivation. Change-Id: I08a0368a6e262982419b3866defd6a181675af0e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157690 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2023-10-08cid#1547086 Logically dead codeCaolán McNamara
since: commit 757a73379dba01fde853443a09583d862c404531 Date: Fri Oct 6 09:31:28 2023 +0100 Related: cool#7373 add an SfxHintId::ThisIsAnSfxEventHint luckily this is the only use of SfxHintId::NONE so easy to audit Change-Id: Id593eb3b2c2d26c9552aa7bf6033afd4f3112120 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157678 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-07jsdialog: enable font name & size comboboxSzymon Kłos
This enables font selector with font rendering in Online Change-Id: I2b57c0831e84a957374c2b1733f6526ca80ac7bd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156242 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157503 Tested-by: Jenkins