summaryrefslogtreecommitdiff
path: root/sd/source
AgeCommit message (Collapse)Author
2023-11-19WIP: async popup menusJan-Marek Glogowski
A first patch to get some feedback. Asnyc LO popup menus are still buggy, as I'm not sure where to call the PopupMenu::Finish for them. Also the XDialogClosedListener is currently just for convenience and might want some separate notifier. Fun fact, that ImplExecute / ImplPopup is called for submenu, but then doesn't execute. And generally the naming of some variables is IMHO wrong; I might also prefix Menu members with "m_" for easier readability. Change-Id: Id8b413aa6b4699201e58db0113649c6b224d33b6
2023-11-19c++20: use std::erase(_if) instead of std::remove(_if)+erase (part 9)Julien Nabet
Change-Id: I61e53faf68e7e0fab2052122993197c7994441ff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159640 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
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-17sd: remote: check that received commands have expected argumentsMichael Stahl
Change-Id: If4b5fe0362a40d14d68829bffb79f91ae9745835 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159590 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
2023-11-16tdf#158179 Fix layer tab menu layer visibility check menu itemJim Raykowski
Renames/reworks the layer tab context menu visibility check menu item from 'Show Layer' to 'Hide layer' and fixes a bug that causes the check menu item to be set as the layer visibility setting of the previously selected layer tab. Change-Id: I81f1910f95df50255e61115b5d8de8ed3ef8bd89 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159427 Tested-by: Jenkins Tested-by: Heiko Tietze <heiko.tietze@documentfoundation.org> Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2023-11-15tdf#158031 editeng SID_HYPERLINK_GETLINK: use GetFieldAtSelectionJustin Luth
This is just a clean-up commit to eliminate the pointless check of a field under the mouse pointer. It is up to the caller to make sure that the field is selected before calling the GETLINK function. GETLINK is primarily used to get the link from a field for the insert/edit hyperlink dialog. This function SHOULD NOT check before the cursor for the link, or else it will mess up the insert hyperlink if the user is inserting one field directly after another one. So, my changes here are just following what already existed in sw. Change-Id: Iaa7699d2e5f2fdf26996aede8b35bd4e18b21b98 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159021 Reviewed-by: Justin Luth <jluth@mail.com> Tested-by: Jenkins
2023-11-15tdf#158031 editeng SID_REMOVE_HYPERLINK: use AlsoCheckBeforeCursorJustin Luth
This patch depends on prior patches for this bug report. This is mostly just a clean-up patch to make it function like the others. It was a lot like EDIT_HYPERLINK - because it selects the hyperlink first, so it didn't need any fixing up. However, there was one instance where KEYBOARD selection of Remove Hyperlink in Draw could have been cancelled/slot-invalidated if the mouse had been moved away from the field. Change-Id: Id1b911f2548b8e2751ae34a2158ee4984dfc9a59 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159018 Reviewed-by: Justin Luth <jluth@mail.com> Tested-by: Jenkins
2023-11-15tdf#158031 editeng SID_OPEN_HYPERLINK: use AlsoCheckBeforeCursorJustin Luth
This patch depends on prior patches for this bug report. This fixes nothing being opened if the mouse was right-clicked over that second half of the hyperlink (since a "smart" positioning set the cursor after the field instead of before it). Note that for some reason, OPEN always seemed to work with the mouse, even though other hyperlink menu options using the same code failed to find the field! So this code change is mainly for consistency. However, I WAS able to make it always fail, by moving the mouse away once the popup menu arrived, and then using the KEYBOARD to "Open Hyperlink". In that case, it always failed (because the field was not selected, and not under the mouse). Change-Id: I8fcd0386de6cea8c6a937afb6f63061ed62d4cb1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159016 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com>
2023-11-15tdf#158031 editeng SID_COPY_HYPERLINK: use AlsoCheckBeforeCursorJustin Luth
This patch depends on prior patches for this bug report. This fixes nothing being copied if the mouse was right-clicked over that second half of the hyperlink (since a "smart" positioning set the cursor after the field instead of before it). Change-Id: I6c933224cd8d36f48f4e1f0aafaa1f45555e46d3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159015 Reviewed-by: Justin Luth <jluth@mail.com> Tested-by: Jenkins
2023-11-15tdf#158031 Revert "Resolves: tdf#137445 use the DisableEditHyperlink stateJustin Luth
... as of menu launch time" This code is now obsolete from generic changes for bug 158031, so revert 7.1 commit eb395e21a7b1f15de664c4b207dc9e130aa635cf. It was a fine idea, but overly complex, dependent on invalidations, and hard to re-implement everywhere it would be needed. Instead, just also check before cursor for a field. Change-Id: I08354e32fefb66ff051458097d3bd07946198a4f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159014 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com>
2023-11-15tdf#158031 Revert "tdf#140361 use the DisableEditHyperlink stateJustin Luth
... as of menu launch time" This code is now obsolete, so revert 7.3 commit d9a5302ca8bef90914539c12adb6c81496c28504. (This cleanly reverted with the relevant portions of the following code-refactor commits also reverted. commit 29489b33b435683021b72cb2bce27aba8cb7a430 commit 68e797402692c5c8abf1b2c4374e12a8d2707d07 ) It was a fine idea, but overly complex, dependent on invalidations, and hard to re-implement everywhere it would be needed. Instead, just also check before cursor for a field. Change-Id: Id570fc4e33611b217eae8b2a2a85aa58e23d9d1a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159013 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com>
2023-11-14cid#1550047 Uninitialized scalar fieldCaolán McNamara
left overs since: commit 7ca9c5bd2e2e3cda5686b7b8f5b657161eb52cdd Date: Thu Nov 2 15:49:49 2023 +0100 Move "Enable Impress Remote" setting to presentation settings commit e0334e1a77ec080b38952ea64b394c8652af851c Date: Thu Nov 2 13:43:38 2023 +0100 tdf#157788 Move "Show navigation panel" back to Presentation settings Change-Id: I8e33930a8c44b9de6ccf7424a169628008556acb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159408 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-11-13tdf#157363 remove pre text when pasting simple HTMLOliver Specht
appends to https://gerrit.libreoffice.org/c/core/+/158659 handling of pre text didn't make it into sd code Change-Id: Ie396b487f451e163b9e59b585c988f9b1b5b669e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159361 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2023-11-13Fix old TODO: Remove the parameter bCheckImmediately from SvxNameDialogSamuel Mehrbrodt
Change-Id: I47a6e82bab3306e8fddb8002740339dbb1965a64 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159213 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2023-11-11use more concrete type in ImpEditEngine::SetUndoManagerNoel Grandin
instead of dynamic_cast'ing to the type we want, and __ignoring__ the parameter if it is not, just adjust the type that we want, which luckily everything is already sending Change-Id: If083e11c9818cdcae199afc1261efbdb652e1c76 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159295 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-11-10Fix typoAndrea Gelmini
Change-Id: I6e0bd6560f3dbc289da3e3e7ae65514600a4ac58 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159202 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
2023-11-10tdf#157363 add HTML format when pasting into draw textOliver Specht
adds HTML to paste(special) in draw text in impress/draw/calc/writer Change-Id: Iaede82e1b3d48be362b70bd631e7f912b02b9822 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158659 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2023-11-09Move "Enable Impress Remote" setting to presentation settingsSamuel Mehrbrodt
Instead of hiding it in the generic options dialog. This moves the last presentation related option to the presentation settings. Change-Id: I7056b43378c982f9ba496b59490ed762c1f4d21d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158834 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2023-11-09use more concrete sd::Annotation in AnnotationManagerImplNoel Grandin
instead of casting to and from the UNO type Change-Id: Ia69865e1c4fb809e325335d33118287bcc692a39 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159177 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-11-09use less UNO in AnnotationManagerImplNoel Grandin
use the "real" underlying objects instead of the UNO wrapper objects Change-Id: I70b7c5b90da5ca07a2c73af2121f5399ae411bb8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159176 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-11-09loplugin:fieldcast in sd::OutlineViewNoel Grandin
Change-Id: I7fd3058f84d2bf2d9e02a50cefe5691038ecb7da Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159175 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-06tdf#157788 Move "Show navigation panel" back to Presentation settingsSamuel Mehrbrodt
Instead of hiding it in the general options dialog. As written in https://bugs.documentfoundation.org/show_bug.cgi?id=157788#c4 "The options in Slide Show Settings should all apply to the workstation"; the options which are saved per user/workstation and not per document, should not be moved away from that dialog. Instead the other options should also be saved per user/workstation. Change-Id: I720c949f08877abb8ef8f94dbcfa6c85f349631d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158808 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2023-11-06tdf#135089 Move Presenter console settings to Slide Show settingsSamuel Mehrbrodt
Change-Id: I0aeb180ee132bff359d46d963985196f5a24610f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158798 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2023-11-01tdf#112131 sd: check if SdrObjKind::UNO accepts hyperlink propsJustin Luth
This fixes a form control's hyperlink being set by Insert - Hyperlink. Calc and Writer do something similar - checking for ButtonType. Change-Id: Ia36b216c8f749bc2a5dfba448a4771d9d7d50256 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158765 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com>
2023-11-01reduce log noiseNoel Grandin
Change-Id: Iff3c2b8fb5ae0939157aaec67f5830c80cf46ea0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158747 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-10-31tdf#155512: sd: filter: eppt: add "SlideLayout" property to Slide MasterHenry Castro
If it is importing all Slide Master from pptx file, unfortunately it breaks the exporting to pptx due to save and reload unit test failures According to the documentation http://officeopenxml.com/prSlideLayout.php, so the file pptx has a relationship Slide -> Slide Layout -> Slide Master The Slide Layout is a template an unique to be reused with Slide Master, so exporting requires to compare the templates due to LibreOffice relation Slide -> Slide Master Adjust unit test values: SdOOXMLExportTest2::testTdf106867 revert adcde78935fb8ca2b93322aa3a558d0b3ccdbfad SdOOXMLExportTest2::testTdf112280 revert adcde78935fb8ca2b93322aa3a558d0b3ccdbfad SdOOXMLExportTest2::testThemeColors and SdOOXMLExportTest3::testTdf114848 The file tdf84205.pptx does not contain theme2.xml, and save and reload it does not caintain theme2.xml too fix "An uncaught exception of type com.sun.star.container.NoSuchElementException" Signed-off-by: Henry Castro <hcastro@collabora.com> Change-Id: I622e9d5d68c406ff520387f3903808613d1cd3d9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158084 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158676 Tested-by: Jenkins
2023-10-23tdf#111737 - Add new (master) page depending on the edit modeAndreas Heinisch
Change-Id: I5e0d0f604714cbc395cd6b0c7a9b5665f0d5f93b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157631 Tested-by: Jenkins Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
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-22cid#1548028 silence Explicit null dereferencedCaolán McNamara
Change-Id: I9f20b9b6febd94e85095dc018908cfa5011741d5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158326 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-20Extended loplugin:ostr: Automatic rewrite O[U]StringLiteral: sdStephan Bergmann
Change-Id: I4dc708ee57a7e305f4e377bde0e486299df56f0d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158297 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-10-20set accessible IndexHint in sdNoel Grandin
to avoid some more spurious SAL_WARN Change-Id: Iff1dfea4857e780d0b3739c7b1688eb7df243907 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158232 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-10-19Use std::span instead of sentinel elementsMike Kaganski
Change-Id: Idcde4728f4db5b878c126c29c1953dff7c47f05a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158139 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-10-19Use std::u16string_view instead of OUStringLiteralStephan Bergmann
Change-Id: I0a0a7badb25eea99632f734aa52231a9f3df67e0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158137 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-10-19use more SdrObjList::begin/end in sdNoel Grandin
Change-Id: If39b6c561525bbf66d34edfbff0f1a3ef4531f85 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158129 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-17tdf#157788 Saving the "Show navigation panel" setting for a deviceIrgaliev Amin
Currently, the value of the "Show navigation panel" parameter for presentations is not saved. The section in which this setting is now located, apparently, is saved in files. It might make sense to move this setting to Tools -> Options -> LibreOffice Impress -> General, because it relates to the device rather than the slideshow. Change-Id: I2286a4a6d432b11fce2b9c3e65fa6b82e004275f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158057 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2023-10-16Execute notifyViewRenderState on view constructorParis Oplopoios
notifyViewRenderState should be executed as soon as a view is created in order to give a view id to the client Change-Id: I31b7e61599f546bd5ec134775e6235633a6526f3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154681 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Paris Oplopoios <parisoplop@gmail.com> (cherry picked from commit 6c6bb1d434d5c0be2f71470483f3ce56f5210e01) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154709 Tested-by: Jenkins Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-16Revert "Resolves tdf#156685 - "Object without fill" style for tables"Heiko Tietze
This reverts commit 86eb7ad2b4488dcd29c21ae3fc525056b681e199. Reason for revert: More generic solution in I1ca8cfe539a662100f6c581fd633ab1ebd5c6bfb Change-Id: Ie2769a90f776602e38fc2795e08d591f9ae8d618 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158035 Tested-by: Jenkins Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2023-10-16Revert "Make sure views get new themes on .uno:ChangeTheme"Paris Oplopoios
Seems to cause more issues than it solves, reverting for now This reverts commit 884fd220d0025a92510d3ff4710c8c517c8f271e. Change-Id: If32a9d3bd922afe5611e5258987eec9ec685bc8e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157951 Tested-by: Jenkins Reviewed-by: Paris Oplopoios <parisoplop@gmail.com>
2023-10-15Drop leftover aPageHelpIdsStephan Bergmann
...from 28b6480c6bdd179f3943f768926b7f196226c768 "tdf#105303: Drop html export wizard" Change-Id: I996324e06a2f5eb04d722c45be9ce54715490b16 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157970 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-10-15Improve snew_slide_value_infoStephan Bergmann
Change-Id: Iabb67f465ef76c8c2fef822fb3844120a54ee243 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157971 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
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-11fixup for: fe79008f70e7 sd: send correct slide visibility statusMarco Cecchetti
Check pointer to be vaild Change-Id: Id7be4756496f034c4a6a4407cb625e68a66573c6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153051 Reviewed-by: Gökay ŞATIR <gokaysatir@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> (cherry picked from commit 93a28b3bc8a50226a111464b08ac51d1feb05988) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157761 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-07loplugin:ostr: automatic rewriteStephan Bergmann
Change-Id: I2d09b2b83e1b50493ec88d0b2c323a83c0c86395 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157647 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Jenkins
2023-10-06loplugin:ostr: manual modificationsStephan Bergmann
Change-Id: I06a76e82e330b0250ce8f2d3d00cbb257703ba4e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157646 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-10-06SdrModel::getUnoModel can use XModel instead of XInterfaceNoel Grandin
Change-Id: Ica10c62066881ba86099d2057ff6fe20e0084a85 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157632 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-10-06Related: cool#7373 add an SfxHintId::ThisIsAnSfxEventHintCaolán McNamara
to avoid cost of dynamic_cast of SdrHint to SfxEventHint Change-Id: Ie0366b7d7ba828d8ffabeed4d65d7c7b275a3ed4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157633 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-10-05Resolves tdf#156685 - "Object without fill" style for tablesHeiko Tietze
The "Default Drawing Style" uses Tango Sky Blue for the background, which is treated as dark since commit Ia5e405fc05613726b5011174c8d00ca204eb31b2. This ends up in unreadable white font color on white backgrounds for tables. The new style "Object without fill" has a clear background. Change-Id: I6b2f701e4a8cce6200fd2a5e86037e9a36b32833 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157568 Tested-by: Heiko Tietze <heiko.tietze@documentfoundation.org> Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2023-10-03replace ErrorInfo with simpler mechanismNoel Grandin
Instead of returning ErrCode class everywhere, return a new class ErrrCodeMsg, which combines an ErrCode with the other parameters that are used to control the error reporting. I do not change everything that uses ErrCode here, I started from SfxBaseController/SfxMedium and worked outwards. This change serves two purposes (1) Replace the extremely whacky ErrorInfo mechanism we were using to smuggle information into the error handler reporting mechanism with a very straightforward approach of just combining it into the error class. (2) Allow us to capture the source location that produced the error, which makes debugging the source of a problem soooo much easier. Change-Id: I978b8f00c9851b41a216c7ebdef2ef94251d5519 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157440 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>