summaryrefslogtreecommitdiff
path: root/svx
AgeCommit message (Collapse)Author
2024-06-28reduce number of SvxUnoShape listeners on SdrModelNoel Grandin
when we have a lot of shapes, the number of listeners attached to SdrModel becomes a serious bottleneck because of the number of broadcast/notify function calls. So (1) make SvxUnoShape listen to the SdrObject which achieves the same end, and reduces the bottleneck on the SdrModel. (2) repurpose the maAllIncarnatedObjects set, which tracks all objects linked to the SdrModel, so we can shut down the associated UNO shapes during ClearModel. There is no other good way of doing this, and if we don't do it, we get various use-after-free issues during shutdown. This takes the load time of a large DOCX with lots of shapes, from 35s to 17s on my machine. Change-Id: I34a6ac35c90de8b7103a7373aafe6e9607cc01c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169612 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-06-26reduce number of SvxTextEditSourceImpl listeners on SdrModelNoel Grandin
when we have a lot of shapes, the number of listeners attached to SdrModel becomes a serious bottleneck because of the number of broadcast/notify function calls. But SvxTextEditSourceImpl can just as well listen to the SdrObject, which achieves the same end, and reduces the bottleneck on the SdrModel. We do have to adjust some of the broadcast sites to broadcast the event to the SdrObject listeners as well as the SdrModel listeners. Possibly as another change we can remove the broadcasting to the SdrModel listeners. This shaves 10% off the load time of a large DOCX with lots of shapes. Noting that we do no need to listen to SdrHintKind::ModelCleared because we will get called via SvxTextEditSourceImpl::ObjectInDestruction when the model is destroyed. Change-Id: I3f7f6aa2a2146e4c4f59c974aa3fed92becf5eca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169565 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-06-26Resave with newer Glade versionBogdan Buzea
Change-Id: I011102a87a3d8abce96a64d4be822377018f5df7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169396 Tested-by: Jenkins Reviewed-by: Taichi Haradaguchi <20001722@ymail.ne.jp>
2024-06-26Resave with newer Glade versionBogdan Buzea
Change-Id: I8c955f20b4976178ac25d7590ff6cc0f37a10f99 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169393 Tested-by: Jenkins Reviewed-by: Taichi Haradaguchi <20001722@ymail.ne.jp>
2024-06-25Resave with newer Glade versionBogdan Buzea
Change-Id: Ifbf7623bb1478f47c28b292049506ba6854d68b8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169399 Tested-by: Jenkins Reviewed-by: Taichi Haradaguchi <20001722@ymail.ne.jp>
2024-06-24Add newline at end of fileTaichi Haradaguchi
Change-Id: I731d8d80e075c8df8a104ec963b89337a91d536c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169376 Reviewed-by: Taichi Haradaguchi <20001722@ymail.ne.jp> Tested-by: Jenkins
2024-06-24svx: prefix members of SdrUndoMoveObjMiklos Vajna
See tdf#94879 for motivation. Change-Id: If81831d76617da9b9d6ac5aef2e223065e939c4a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169446 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-06-24Resave with newer Glade versionBogdan Buzea
Change-Id: I658a8a32cda30ecacd92dda284c924aa0137e14d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169418 Reviewed-by: Taichi Haradaguchi <20001722@ymail.ne.jp> Tested-by: Jenkins
2024-06-24Resave with newer Glade versionBogdan Buzea
Change-Id: I39c00ad75b1dd2c769ed89a3b1aa2e028ab64efb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169419 Reviewed-by: Taichi Haradaguchi <20001722@ymail.ne.jp> Tested-by: Jenkins
2024-06-24editeng: add convenience creators to ESelection All, NotFoundTomaž Vajngerl
ESelection::All() select all text ESelection::NotFound() sets seletion to not found state ESelection::NoSelection() sets selection to no / invalid selection Introduce max paragraph and position constants in ESelection, use for EE_PARA_APPEND, EE_PARA_ALL, EE_PARA_MAX_COUNT, EE_TEXTPOS_ALL, EE_TEXTPOS_MAX_COUNT. Also simplify some ESelection constructs. Change-Id: Ib110c5a730a1deabe4f988baa5a600249b3a31e9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169356 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
2024-06-24Resave with newer Glade versionBogdan Buzea
Change-Id: I84dcacf811ce007144ecb8d1473d4b6887887422 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169397 Tested-by: Jenkins Reviewed-by: Taichi Haradaguchi <20001722@ymail.ne.jp>
2024-06-22tdf#161658 Limit new selection overlay to Calc onlyRafael Lima
Previous patches [1] and [2] introduced a contrast white line to the selection overlay that was supposed to affect only Calc, but it ended up affecting other areas of LO, such as the star math editor as well as Writer. This patch makes sure the changes only affect cell selection in Calc. [1] dc243f0122ba656d2630e93bebfb84a2bfe4042a [2] 3c0db898092c2cf6148c01f6c561acc199d484f5 Change-Id: Ie910120e4b71c55ad8c00a905e1204e291a711f9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169292 Reviewed-by: Rafael Lima <rafael.palma.lima@gmail.com> Tested-by: Jenkins
2024-06-22fix O(n^2) behaviour when fetching field info from EditEngineNoel Grandin
Change-Id: I324a1814fc1b3321eed5b29922790600e7092c17 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169344 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-06-21tdf#161537 fix Filter Navigator no longer shows the name of the fieldJim Raykowski
Change-Id: I3dae3458ac5795b217743b1e6897345a22f1bf61 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169310 Reviewed-by: Jim Raykowski <raykowj@gmail.com> Tested-by: Jenkins
2024-06-21Resave with newer Glade versionJim Raykowski
Change-Id: I2b3adc322b4dc928069f306ccb673fa23fba70a3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169309 Tested-by: Jenkins Reviewed-by: Jim Raykowski <raykowj@gmail.com>
2024-06-20annot: clone annotations in SdrObjects when the page is duplicatedTomaž Vajngerl
When the page is duplicated we need to clone all SdrObjects and with that also all the annotations contained in the SdrObjects. The annotations must also be added to the page, so that we can find them quickly. Previously we only cloned the annotations and relied that the SdrObjects would be automagically be created, but as the SdrObject are also cloned this creates a mess with duplicated objects with annotatins for the wrong page or annotation objects with missing annotation. Change-Id: I4bf53e4bd387fad9b0a8e4f43edd57c3d0fd34cc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169256 Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> (cherry picked from commit c3281e071526f7efa9b7646a993476fc3f6ff8db) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169260 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-06-20loplugin:unusedfieldsNoel Grandin
Change-Id: I4bc67811e228b4806db9f9b9bf9fb0de0eb36de2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169263 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-06-20tdf#146468: Match border tooltips in toolbar/sidebarKira Tubo
Update the border tooltips within Calc's toolbar and sidebar so that they have matching descriptions. Also update tooltips in Writer toolbar so that descriptions match across both apps. Change-Id: Ib7c682ed5035fe61d991209c4f2cf7f0a1a08a5e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169052 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org> Reviewed-by: Stéphane Guillou <stephane.guillou@libreoffice.org>
2024-06-20svx: adjust the values for impress/draw ruler to work with LOKitTomaž Vajngerl
The values in impress/draw don't need to be converted to 100th mm as the vales are already in 100th mm. However the null offset and page size needs to be adjusted, because in impress/draw the actual document doesn't start at 0,0 but there is one document width or 1/2 document height margin to the left, right, up and down of the document. So the null offset returns the number of the document width or 1/2 document height. For LOKit the null offset needs to be subtracted. Similar needs to be done for page width and height. The page width is docuemnt width * 3 and page height is document height * 2. So to get expected numbers for LOKit, the page width needs to be divided by 3 and page height divided by 2. Change-Id: I8d5561d5273b4bbeab475565504fa64c7f882fd2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168276 Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 54d8c1b8f2934d6196a8b19400879fb6b67c255b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168986 Tested-by: Jenkins
2024-06-20svx: move lok's NotifyKit in the ruler to the SvxRuler super-classTomaž Vajngerl
We want to make the ruler work in other components and also not only for horizontal orientation. For this we want the NotifyKit already in the SvxRuler, which is used by all rulers. This change moves the functionality to the from SwCommentRuler to SvxRuler and partially reverts the previous attempt as changing the ruler instance for vertical ruelr to SwCommentRuler caused test failures. Change-Id: Ie618b5dc5b936f9dc53d09b624eefdbc506d98f5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167740 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com> (cherry picked from commit 9f26e04c8f97af9139e2f4be335fe6999d26a387) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168985 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-06-19Fix typoAndrea Gelmini
Change-Id: Iee7b1093d5e426fb956229e9d5a57f4e1f163a06 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169226 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2024-06-19Fix typoAndrea Gelmini
Change-Id: I832fe265269f8735903ffdf011f15e2bbd51bc7b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169234 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2024-06-19Fix typoAndrea Gelmini
Change-Id: If2717fd1d82bb6e017a55f9b29b2af60ab57a835 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169236 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2024-06-19tdf#159543 - Proper feedback needed when resizing a frame...Sahil Gautam
When autosize (a frame property) is enabled, then the (text) frame manages it's height/width based on the content such that all the text is visible. The user cannot decrease the height/width to be less than the content height/width, but the resize handles show up, and clicking and dragging is enabled, which shows a blue virtual resize frame. This patch adds UI feedback mechanism such that if the drag leads to some change in any dimention of the original frame, then the frame color will remain blue, otherwise it turns red. Change-Id: Id4b3e3ae2c9864154e6028ca03008261bbc3e1b8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165817 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2024-06-19Fix typoAndrea Gelmini
Change-Id: I99c1b5973e8a173f4b4fefe588f0bef825f2444f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169183 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2024-06-19Fix typoAndrea Gelmini
Change-Id: I69c4e0794217e25ec15c953421c838d124b7d2f6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169167 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2024-06-18loplugin:ostr in variousNoel Grandin
Change-Id: I7aa8ed716998a185996482dc561219b398a1c919 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169080 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-06-18Add SfxItemType to SfxPoolItemOliver Specht
The SfxPoolItem has a new member SfxItemType m_eItemType to compare types based on enums instead of typeinfo() which consumes a lot of time e.g. while AutoFormat is running Change-Id: I033ce67bc9a28ee4790f162380314de85fb4154e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166452 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2024-06-17svx: prefix members of SdrUndoGroupMiklos Vajna
See tdf#94879 for motivation. Change-Id: I9aa439b2fba8c10710ea0f491272a5f9823a27a6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168979 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-06-17annot: update object text when annotation text changesTomaž Vajngerl
When the annotation text changes we need to sync this with the SDR object (if the object is showing the annotation text - like free text annotation). Also move annotation object searching to the annotation class, so it can be reused in AnnotationWindow. Also change uso of UNO XAnnotation in AnnotationWindow and use concrete type (sdr::annotation::Anootation) instead. Change-Id: I46db479ae8471c82ac58487a0125df15697245be Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168977 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-06-15Fix MSVC buildMike Kaganski
C:/BuildLO/core/svx/source/table/tablehtmlimporter.cxx(500): error C2220: the following warning is treated as an error C:\BuildLO\core\svx\source\table\tablehtmlimporter.cxx(446) : warning C6011: Dereferencing NULL pointer 'mpActDefault'. : Lines: 428, 429, 430, 440, 441, 443, 444, 445, 446 Change-Id: I2af1635a714cba3d27eb6b8b25db9b4c4aeaaade Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168894 Tested-by: Jenkins Reviewed-by: Aron Budea <aron.budea@collabora.com>
2024-06-14prefer simple HTML format over RTF while pasting clipboard contentOliver Specht
This changes applies to draw text, only JUnit test is included Basic HTML table import is included. Change-Id: I00387f3932c0aa54099c9bc7390ad86b4398b417 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162871 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2024-06-13annot: update annotation object when annotation position changesTomaž Vajngerl
+ add tests which check annotation object position changes Change-Id: Iad5de3d319c14ddb69d6c1994ce5949d57d76de7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168744 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-06-12Fix Unicode block namesTaichi Haradaguchi
=== Unicode block names === * Change "Basic Greek" to "Greek and Coptic". * Change "Canadian..." to "Unified Canadian...". * Change "C1 Controls and Latin-1 Supplement" to "Latin-1 Supplement" because "Latin-1 Supplement" is the more commonly used name. These modified Unicode block names are based on the descriptions on the following pages: https://www.unicode.org/charts/PDF/U0370.pdf https://www.unicode.org/charts/PDF/U1400.pdf https://www.unicode.org/charts/PDF/U18B0.pdf https://www.unicode.org/charts/PDF/U11AB0.pdf https://www.unicode.org/charts/ https://en.wikipedia.org/wiki/Latin-1_Supplement === Others === * Remove unused RID_SUBSETSTR_GREEK_SYMS_COPTIC. * Change RID_SUBSETSTR_BASIC_GREEK to RID_SUBSETSTR_GREEK. Change-Id: I91573a825a7b34349f29143ea8940da2383b260f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166790 Tested-by: Jenkins Reviewed-by: <20001722@ymail.ne.jp>
2024-06-11tdf#161204 Fix selection outline with overlapping rangesRafael Lima
The previous commit [1] caused a regression in the outline when two or more ranges overlapped in the selection. This patch fixes the issue. [1] dc243f0122ba656d2630e93bebfb84a2bfe4042a Change-Id: Ib5ec72504ba0efaae715c47628c3d5a47557f506 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168618 Reviewed-by: Rafael Lima <rafael.palma.lima@gmail.com> Tested-by: Jenkins
2024-06-11ITEM: Change SfxItemSet to use unordered_setArmin Le Grand (allotropia)
With all the changes done for Items we can now do deeper basic changes to the ItemSet itself with manageable risk. I already did https://gerrit.libreoffice.org/c/core/+/166455 aka 'ITEM: Add measurements for SfxItemSet usages' to get some statistical information about the fill/usage grade of the ItemSet's fixed PtrArray to SfxPoolItems, check that out to get an own picture. Those results show that an average usage is between some extremes ranging from 0% to 50%, but when using more checks and using multiple files/interactions/edits in all applications we end up with around typical 12%-19% of that array used, the rest is nullptr's. Thus I thought about one of the initial ideas of this series of changes (ITEM), to use a std::unordered_map (A) instead of that fixed array of SfxPoolItem Ptr's (B). Tthat again was for a complete type-based rewrite, which I once did a POC, but the code cannot be adapted to that, just too much work. Those are very different in architecture, (B) is done since a long time (since ever), but as pointed out above, (A) is now possible. There are many aspects to it, let's grep some: Speed (iterate): (A) and (B) are both linear. (A) has less entries, but may touch different mem areas (buckets). (B) is linear, but many empty spaces which are usually uselessly iterated. Speed (access Item by WhichID): (A) is hashed by WhichID, so mostly linear for unordered_set/hash. (B) is in a linear array, but has to calculate the offset for each WhichID access. So I guess speed will mostly equal out. Memory: (A) will be dynamically allocated (buckets), but stl is highly optimized and may even re-use areas, has to provide some extra info but will need less places for Items since it's dynamic and can start empty. (B) will be allocated once (except AllItemSet) and may even be 'derived' to the ItemSet (SfxItemSetFixed), but has to allocate all space at once. I can go in lots of more detail here, but due to the results of the statistics I just made a test now, including measuring some results (will include in gerrit, not here). I used two pro versions for that. That way I have some data now. Result is: - It is now possible to do this, it runs stable :-) - Speed: As expected, mostly no change - Memory: Depending on usage, 0% to 25% less, usually around 8-10% Side effects: - SfxAllItemSet could be done without WhichRanges, thus without expensive 'merges' - SfxItemSetFixed is not needed. While the idea is good, it needs a lot of extra stuff - Access to Items is linear if set - WhichRanges: Still needed, but for vaildity checking/filtering of ItemSet content - WhichRanges: Worth to think about if these are needed at all, probably just exist for historical reasons since allocation/number of added Items was never ever dynamic -> just not allocatable Putting the current version on gerrit, may still trigger some UTs (checked SW/SC/SD...) I did not like that functionality at ItemSet that hands out a vector of the set items for cases where to avoid iterating and deleting items at the same time at an ItemSet, so changed to using a local vector of remembered WhichIDs and deleting after the iterator is done. I also saw some strange usages of SfxItemIter in sw which i will have to check. Since there are still problems with UTs which I can not reproduce locally I have now added asserts to the case that an ItemSet gets changed with still having active SfxItemIter(s). That is always an error, but with the architecture of that fixed array of ItemPtrs did not have devastating effects (purely by coincidence). With that asserts, UTs run well in SC and SD, but in SW I get 11 (eleven!) asserts from the UTs, all of them from 'ITEM: SfxItemSet ClearItem' BTW. I guess these have to be fixed before thinking about this change... Good news is that all 11 cases were the same in SW, in SwHistorySetAttrSet::SwHistorySetAttrSet which does some strange things using two SfxItemIter in parallel. Thus SW UTs are also clear and I see no more errors caused by ItemSets being changed while SfxItemIters are alive. Bad news is that I still have errors to hunt... NOTE: Have now cleaned all UTs, this showed that there are some unexpected side-effects of the Items being processed in another order when SfxItemIter is used, also found one case where a WhichRangesContainer is constructed for a SfxItemSet using the set items from another ItemSet and SfxItemIter to do so. There *might* be more cases not covered by UTs. NOTE: While speed stays the same and mem is reduced up to 25% (see measurements in 1st comment) another *important* aspect is that this frees the way for using ItemSets *without* WhichRanges - these are necessary mainly to create that fixed array of pointers to the Items in a *manageable* size. With a dynamic structure like unordered_set there is in principle *no need* anymore to use WhichRanges to pre-define the Items a Set could hold. There is one exception: We have cases where one ItemSet is set at another one with defined WhichRanges to *filter* the contained Items - these would have to be identified. This is a rare case and we would have to check cases where an ItemSet gets set at another ItemSet. This would be as if all ItemSets would be AllItemSets in principle - much easier for everyone. NOTE: Waited for 24.8 split just to not take unnecessary risks. Change-Id: I75b0ac1d8a4495a3ee93c1117bdf618702785990 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166972 Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com> Tested-by: Jenkins
2024-06-11annot: document new annotation classes and methodsTomaž Vajngerl
Change-Id: I71d1055a30e0e8eedcd8fa71b47e74e90f1aac93 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168595 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-06-11annot: don't render objects marked as annotation in PDF exportTomaž Vajngerl
Objects that are marked as annotation shouldn't be rendered to the PDF document. Those should be written to the PDF as annotations (if output of annotations is enabled in the PDF export options). Change-Id: I60650b5a64dc52da6d32d8ac92441e4b21900126 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168574 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
2024-06-11annot: add custom selection overlay for the annotation objectTomaž Vajngerl
Make annotation objects selection similar like it was with the old annotationg tags. Change-Id: I0623ddf56274dc996ed9dd16096256e03ad65270 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168523 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
2024-06-11annot: update annotation position, size, text when those changeTomaž Vajngerl
Change-Id: I345f4c714ed4ca0c8277e0aedf5ea4b5cd70ea70 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168513 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
2024-06-11annot: new Annotation sdr object, replacing annotation tagsTomaž Vajngerl
Previously the annotations are shown as annotation (smart) tags, which just mark in the document the existence of an annotation at a certain position. For PDF support the annotations can be more complex, so they can show many forms of vector graphic, ink, bitmaps, text boxes,... and for this a normal tag is not enough. This change moves the annotations from simple tag to use the sdr objects, so any SdrObject can be created as an annotation. The previous tag annotations are using SdrObject (actually SdrRect) subclass AnnotationObject and the code that previouslly worked with the tag annotations has been adapted. The (PDFium based) PDF import has been changed to use subclasses of the SdrObjects for the PDF annotations. Change-Id: I4746b85b5b679499e470987e61ed356397e56bf9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168485 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-06-11Fix typoAndrea Gelmini
Change-Id: I65fa0676119a2e52e23acddc564143cd1e519df1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168647 Tested-by: Jenkins Reviewed-by: Taichi Haradaguchi <20001722@ymail.ne.jp>
2024-06-10tdf#161204 Improve visibility of outline in the selection overlayRafael Lima
As discussed in the design meeting, this patch adds an internal white outline to the selection overlay to provide better contrast. FTR: This is the same approach used by other office suites (Excel, OnlyOffice, etc). Change-Id: I9b279ebfa9efbd2b5d9894b94ebda653c3dba6e9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168538 Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org> Tested-by: Jenkins Reviewed-by: Rafael Lima <rafael.palma.lima@gmail.com>
2024-06-10fix Gtk-WARNING **: Could not load image 'res/unlocked.png'Caolán McNamara
use icon-name instead of pixbuf Change-Id: Ibb0a09047ada6ac3301ca0a40dbeb25351c41ed1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168609 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-06-10svx: prefix members of SdrGrafObjMiklos Vajna
See tdf#94879 for motivation. Change-Id: Icc587c31582fb5fdfbdfe375005b96ea219bf4a4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168597 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2024-06-06tdf#153008 svx: impl crop for stretched bitmap fillAttila Szűcs
The ticket had a pptx with a: <a:blipFill> <a:stretch> <a:fillRect ...> Impress loaded the fillRect as a crop, but never used. Implemented a crop in SdrFillGraphicAttribute::createFillGraphicAttribute because in the case of stretching, it blindly used the whole picture. Cropping data was not available there so it is copied into OffsetPosition, and Size Change-Id: I195cc40a35dc24c708e7c0e3cdbe40d6e47b8ce5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168391 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-06-06tdf#161151 finish renaming gradient geometries in sidebarStéphane Guillou
Change-Id: I8ffa123427302cb091c5bb603aede711a32ecdbf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168415 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> Tested-by: Jenkins
2024-06-05annot: add {add,remove}Annotation that don't notifyTomaž Vajngerl
Add addAnnotationNoNotify method, that doesn't broadcast that an annotation was added, and change addAnnotation to call the method and in addition call the broadcast bits. Previously all this had happened in the addAnnotation without the choice to not broadcast. Change removeAnnotation in a similar way. Change-Id: Ie15a386a8b8d4493d5b41fcbcb55924a693b46d2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168429 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins
2024-06-05Related: tdf#153008 bump XFillBmpPosOffsetXItem to sal_Int32Caolán McNamara
and XFillBmpPosOffsetYItem. To avoid sal_uInt16 overflows on large input values. Lets use sal_Int32 instead of sal_uInt32 given the amount of existing casting to sal_Int32 of XFillBmpPosOffset[X|Y]Item::GetValue() Change-Id: I8329c11b75c9ad01011e10130257963737ffe553 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168398 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Attila Szűcs <attila.szucs@collabora.com> Tested-by: Jenkins
2024-06-05annot: prepare SdrObject to represent an annotationTomaž Vajngerl
Change-Id: Iabcc2166ea20cbeac6d2ada7120700a4e8b19303 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168428 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Jenkins