summaryrefslogtreecommitdiff
path: root/desktop
AgeCommit message (Collapse)AuthorFilesLines
2022-01-12gbuild: build static LO / link static executablesJan-Marek Glogowski1-1/+1
This allows to build a complete static LibreOffice on Linux, except for linked externals. Since LO's static build implies disabled dynamic loading, one must select one VCL backend to be compiled in. See the (large) comment in solenv/gbuild/static.mk trying to explain, why this implementation was chosen (spoiler: seems there is no other way) and what is actually implemented. This will collect all libraries, statics and externals of executables. If the executable uses components, it will get linked to all static components. While it works with any Executable, it just makes sense for soffice.bin, because the static component map sucks every dependency in, bloating most other binaries. In theory on could generate the dependencies based on the list of used components (see gb_CppunitTest_use_components), then generate a specific static constructor map, directly include it in the exe's cxx code and then link the minimal dependencies. The static LO should build on Linux with: --enable-customtarget-components --disable-dynamic-loading Tested VCL plugin config is: --disable-gtk3 --disable-gen --enable-qt5 The partial build support is split into a 2nd patch. Change-Id: Iafc95752fae9e88095f54a21f1e30a4f080815e2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126790 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2022-01-12Removed duplicated includesAndrea Gelmini1-2/+0
Change-Id: I3329e75577b92348f830524a4ea116d073efabc6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128296 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-01-11preload configmgr data for COOLNoel Grandin1-0/+47
touch all the config data we need during LOK pre-init. This means that most of the keys we need should become cached by ConfigurationWrapper in comphelper. Which means that the child processes we fork should be able to use the shared pages and not allocate their own. Change-Id: Iea8b1c4beaba67b6310b20cc161061ccf9a0db89 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128247 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-01-10Move HAVE_MORE_FONTS into an extra config headerJan-Marek Glogowski1-0/+1
No need to recompile most of LibreOffice, because the --with-fonts configure flag changed. This preprocessor define is just used by unit tests anyway. Change-Id: Ia2eae7d0c74e59e034fdd8513504a34e51ab428e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128197 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-01-09soffice.sh depends on config_host.mk for the sedJan-Marek Glogowski1-0/+1
Change-Id: Ifd2ab80fcbfa05ad606a88ac83f1f65dd1713490 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128180 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-01-08Unify condition names and fix "else" pathsJan-Marek Glogowski2-4/+4
Drop Build prefix and settle on Lib and Exe prefixes. Also add a note about the "else" part of the condition and fix offenders. While at it, define COND_LIB_SAL_TEXTENC to be used by sal to prevent diverting coditions in build and cxx code. Change-Id: I944587ca1ccbe46b765d1a631a7214c8126fe951 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128136 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-01-07Don't build a static unopkgJan-Marek Glogowski2-4/+8
Currently we don't destinguish between between extensions without code, which couldn't be executed with DISABLE_DYNLOADING, and all other extensions, like translations, dictionaries, etc., so there is no need for a static unopkg. Change-Id: I427a51b3174d074e467a582e808490a85e98e8eb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128114 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-01-07Disable oosplash pagein feature for static buildsJan-Marek Glogowski3-15/+18
I'm not sure how useful this is today. Still hard-disabled on Mac and Win. Obviously unneeded for static builds. Change-Id: I3a95dede3c596ccdc0d15eba9edc072ad35f33fa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128089 Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de> Tested-by: Jenkins
2022-01-06We don't want or need any LOKClipboard on iOSTor Lillqvist2-1/+23
Try to make the code more like in the co-2021 branch, where copy/paste between Collabora Office and other iOS apps currently works again, in both directions, both for text and images. Sadly something is broken or missing either here in core or in online as it doesn't fully work in a Collabora Office based on the master branch of core, even after this commit, though. We use only the system clipboard on iOS. (It is actually called the "pasteboard" in Apple's operating systems.) The code to interface with the system clipboard is in vcl. It has worked fine to copy and paste between the Collabora Office iOS app and other iOS apps without any LOKClipboard being involved. If LOKClipboard is used it doesn't work at all. Change-Id: I0d3b4e3eabe17b633390e071701225e1d356a75a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128037 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>
2021-12-29Always use <poll.h>, no modern system needs <sys/poll.h>Ismael Luceno1-1/+1
This was standardized in IEEE 1003.1-2001, so more than 20 years old. Verified following systems using online resources: - FreeBSD 3.0 (1998) - NetBSD 1.3 (1998) - OpenBSD 2.0 (1996) - CentOS 5.0 (2007) - Debian 4.0 (2007) - IRIX 6.5.30 (2006) - SunOS 4.1.3 (1992) - SUSE 10.2 (2008) - Red Hat 5.0 (1998) So the check used for BSDs on vcl/unx/generic/dtrans/X11_selection.cxx was never correct. On GNU/Linux specifically, <poll.h> is provided since glibc 2.0 (1997). musl libc produces the following warning if the non-standard header is included: /usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Wcpp] Change-Id: Ia8f4b9e1ee069f86abe03140c18a77d17336d09c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127666 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-12-26Avoid OUStringBuffer::toString where possibleMike Kaganski2-2/+2
Change-Id: I99abbe97a48b2077e28d6221fb70036e5e412657 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127479 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-12-25oss-fuzz: convert to static cross-buildJan-Marek Glogowski1-0/+2
This way we can get rid of the pre-generated locale data and the special fuzzers target, which invokes a full gbuild make for every prereqisite, always parsing the whole tree, taking ages. This also reverts: - commit d0780b21cfe235c4446adf649eb690f9c1771dd5 ("fix oss-fuzz build") by adding epubgen and revenge dependencies. - commit ff25d6a123beb42476bf42d189b3033a86835b2a ("ofz#41602 fix more build failure"), which shouldn't happen anymore since commit d47628f287f4377394c4ff488c433bfe254b6abe ("don't want to link to system static libs for DISABLE_DYNLOADING") Change-Id: I3aed9ec62da507254b42e4e7470bae1097b4bc8c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127031 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-12-21loplugin:flatten in desktop..drawinglayerNoel Grandin4-110/+108
Change-Id: Ie6594c9961aba5517c6ff61fb3bc1142081b1197 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127225 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-12-21no point in release solar mutex before calling PostUserEventNoel Grandin1-13/+6
which will just acquire it gain Change-Id: I62b0d43e15f93994a53d64b24f9765c5e7b676ab Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127213 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-12-19use more cppu::BaseMutexNoel Grandin13-59/+56
Change-Id: Ida7f6b536f5c07c929ddb21c97be6e9dc4a2b2f2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127080 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-12-16ensure invalidate tiles LOK message range checkingLuboš Luňák2-7/+18
3db1ce30ab235ad22aed71c22e4f6f52b7b88829 added some range checking on the rectangles, such as making sure (x,y) is not less than (0,0), and it added it to converting string messages back to rectangles. But then 3b729db05553c1a6d461fb41c89a05702f407448 avoided the conversions from string messages back to rectangles, and thus it avoided also these checks. Change-Id: I73a08e418dc2e48ef5e89fe1aee0272851f7d363 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126865 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-12-14fix handling of the "EMPTY" LOK tile invalidationLuboš Luňák2-5/+25
The LOK_CALLBACK_INVALIDATE_TILES documentation says that invalidate-all message should say "EMPTY", which wasn't converted properly from the MaxTwips rectangle representation. Doing that now needs also changing the testTileInvalidationCompression() test, but that should be a fix of the test, and conceptually it should be the same. Change-Id: I58fcc56ee56d9f6fcdb9298938e8aa7e3609d6db Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126651 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-12-14lokit: add env. var to set the certificate database dirTomaž Vajngerl1-0/+23
This adds to LOKit a way to set the certificate database dir with a env. var. - LO_CERTIFICATE_DATABASE_PATH, which is used for signing and encrypting of documents. Change-Id: Ieb7725d41893212d962c8b9e32f9607d0ba10397 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126553 Tested-by: Andras Timar <andras.timar@collabora.com> Reviewed-by: Andras Timar <andras.timar@collabora.com> (cherry picked from commit 03f177d22873069e8e2e520c98f05ebfcc1b063c) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126807 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-12-13Refactor some buildsytem stuff (mostly whitespace)Jan-Marek Glogowski1-10/+2
Change-Id: Idfca786ecc7251e08525bd5b45936143727c43d3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126731 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-12-10Generally determine Rdb content from gb_*_set_componentfile callsStephan Bergmann11-18/+9
...instead of by listing the content somewhat redundantly in the Rdb_*.mk files, to avoid duplication of logic for components that are only built conditionally (and thus should only be included conditionally in the corresponding Rdb). To achieve that, add an "rdb" parameter to gb_ComponentTarget_ComponentTarget (and to the gb_*_set_componentfile macros that internally call gb_ComponentTarget_ComponentTarget), which is used to make the appropriate gb_Rdb_add_component call internally from within gb_ComponentTarget_ComponentTarget. (As a special case, gb_CppunitTest_set_componentfile shall not call gb_Rdb_add_component, as that has already been done by the corresponding gb_Library_set_componentfile call, so allow the gb_ComponentTarget_ComponentTarget "rdb" parameter to be empty to support that special case.) Most Rdb_*.mk files are thus mostly empty now. One exception is i18npool/Rdb_saxparser.mk, which duplicates some of the Rdb_services content as needed during the build in CustomTarget_i18npool/localedata. 1c9a40299d328c78c035ca63ccdf22c5c669a03b "gbuild: create services.rdb from built components" had already tried to do something similar (in addition to other things) under a new --enable-services-rdb-from-build option. However, that approach had four drawbacks that this approach here addresses (and which thus partly reverts 1c9a40299d328c78c035ca63ccdf22c5c669a03b): 1 Rdb_services shall not contain the component files of all libraries that are built. While that commit filtered out the component files that go into Rdb_ure/services (ure/Rdb_ure.mk), it failed to filter out the component files that go into others like Rdb_postgresql-sdbc (connectivity/Rdb_postgresql-sdbc.mk). 2 The code added by that commit to Makefile.gbuild codified the knowledge that there is an Rdb_services, which is brittle. 3 The code added by that commit to solenv/gbuild/Rdb.mk codified the knowledge (for gb_Rdb__URECOMPONENTS) that there is an Rdb_ure/services, which is brittle. 4 Introducing an --enable-services-rdb-from-build option needlessly provided two different ways how the content of Rdb_services is assembled. The changes done here would leave --enable-services-rdb-from-build as a misnomer, as it no longer controls how Rdb_services is assembled. I thus renamed it to --enable-customtarget-components, as that is apparently what it still does now. Change-Id: Ia5e8df4b640146c77421fcec6daa11a9cd260265 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126577 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-12-07make sure vector elements are initialized properlyLuboš Luňák2-2/+2
Change-Id: If18268a26118ea587f474c21b7ca0f1fa4622744 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126469 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-12-03Disable the xmlCleanupParser test in a static buildJan-Marek Glogowski2-0/+8
Linking the static soffice.bin results in a failure, because of the duplicate xmlCleanupParser symbol. I don't think there is a sensible, alternative runtime test for a static LO build. You could analyse the static binary itself... Change-Id: Ib871e378a28affca24c4285d396d8bcae478f1f9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126198 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-11-25loplugin:stringliteraldefine in desktopNoel Grandin4-8/+10
Change-Id: I36025f17dc6c47710d6cd299f0349b5be227c21d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125760 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-11-25lok: add pdf version option for exportGabriel Masei1-0/+30
Change-Id: I02c1edecd291309bf028e6e5a0f04a578ac1b639 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125255 Tested-by: Jenkins Reviewed-by: Jan Holesovsky <kendy@collabora.com>
2021-11-12make it explicit whether to ignore the result of getLOKPayload()Luboš Luňák1-2/+3
Returning an empty string to signify 'ignore' was a poor design, as some messages types actually may have valid empty messages. Change-Id: Ia82d3d97d150bc5ef412a1bd4b1091d9b2d84385 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124979 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-11-12rtl::Static to thread-safe staticNoel Grandin4-26/+26
Change-Id: I6390d1811bad59c09a074039c635710d25a660d7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124886 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-11-11Impress- Correct commands mentioning Page instead of SlideNnamani Ezinne1-0/+3
Replaced UNO commands that have similar implementation but their labels bear Page instead of Slide Change-Id: I5fb24493478b0a8fdd4e324066d8112497fc9eb1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124888 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125047 Tested-by: Jenkins
2021-11-11Use o3tl::convertMike Kaganski1-2/+3
Change-Id: Ia64ae3445a4aea3be3044e2345e432e839d9a0f7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125027 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-11-10new loplugin:stringliteraldefineNoel Grandin1-1/+1
look for #define FOO "foo" that can be converted into OUStringLiteral. This is the first pass of this plugin, only doing those #define which are local to a single compilation unit. Change-Id: Ic8610e29ec42c36d03db5014a93c244315d5bbea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124962 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-11-08use more OUStringLiteral in MediaDescriptorNoel Grandin2-4/+4
Change-Id: I0567d103db8db401c737fed98483912a39352929 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124835 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-11-03loplugin:constparamsNoel Grandin2-2/+2
Change-Id: Iebeb531fad5cc819b536788925cf8508737198b7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124599 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-10-30Prepare for removal of non-const operator[] from Sequence in desktopMike Kaganski20-157/+120
Change-Id: I76959f62d46e12d984fe4c7be74e5857399e9126 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124358 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-10-26use boost flat_map for faster mapLuboš Luňák2-2/+4
setUpdatedTypePerViewId() gets called so often that even unordered_map lookup and allocations show up in profiling. It seems that flat_map can do better. Change-Id: Id2e4f0c40d6973b51e557f84a08bf12feb58b3ce Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124210 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-10-25use pull model also for LOK text selectionLuboš Luňák2-12/+56
Make LOK_CALLBACK_TEXT_SELECTION, LOK_CALLBACK_TEXT_SELECTION_START, LOK_CALLBACK_TEXT_SELECTION_END and LOK_CALLBACK_TEXT_VIEW_SELECTION also use pull model, i.e. LO core will only set a flag and when CallbackFlushHandler needs the actual data it'll use getLOKPayload(). This again avoids a large number of messages passed to CallbackFlushHandler only for them to be sooner or later discarded. Change-Id: Ia7528039be996a6e9e8491b4eba3f4133582fa56 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124146 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-10-24change some LOK internal updates to be pull model instead of pushLuboš Luňák2-0/+167
Some LOK messages may get called very often, such as updates about cursor position. And since only the last one matters, they get generated every time, which costs some time, and then later except for one they get all discard again from CallbackFlushHandler queue, which again costs time. Change the model to instead only set an 'updated' flag, and CallbackFlushHandler will request the actual message payload only before flushing. This commit changes LOK_CALLBACK_INVALIDATE_VISIBLE_CURSOR and LOK_CALLBACK_INVALIDATE_VIEW_CURSOR to work this way. Change-Id: I376be63176c0b4b5cb492fbf529c21ed01b35481 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124083 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-10-23Fix typosAndrea Gelmini1-3/+3
Change-Id: Iaba882b1bd000a068cfaa207c743be038d5db434 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124087 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-10-22LOK: maintain blocked command list per viewPranam Lashkari2-17/+5
Conflicts: include/LibreOfficeKit/LibreOfficeKitEnums.h include/sfx2/viewsh.hxx libreofficekit/source/gtk/lokdocview.cxx sfx2/source/view/viewsh.cxx Change-Id: I7c621accd84f49447ab3e08a4bb662a9b91b834a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124049 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-10-22LOK: unify freemium APIs and uno command restriction APIsPranam Lashkari2-37/+16
Conflicts: include/LibreOfficeKit/LibreOfficeKit.hxx sfx2/source/control/unoctitm.cxx Change-Id: I3badb038822331ab5cb30df6a66ce9a0640cf340 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124047 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-10-22better name for a function overloadLuboš Luňák2-2/+2
It's better to add to the name what the overload does rather than just have a "mysterious" extra int. Change-Id: Iff89679c4a978a4596ac662ef74e934cdefefc9e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124001 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-10-22LOK: introduce way to restrict uno commandsPranam Lashkari2-4/+27
With this new API we can define which uno commands to restrict their functionality Conflicts: desktop/qa/desktop_lib/test_desktop_lib.cxx include/LibreOfficeKit/LibreOfficeKit.h include/LibreOfficeKit/LibreOfficeKit.hxx include/sfx2/viewsh.hxx Change-Id: I9f3fd659d373e56542c5323922a53564f1cfb27b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124046 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-10-19Improve an error messageStephan Bergmann1-2/+4
This was useful in tracking down d425cd604cb4d30862640851b11a31e742d81336 "Revert incompatible ScriptEditor change". Change-Id: Ifc9e262b5860663dd64e5558534170ea0a8c5562 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123825 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-10-18Related: tdf#145173 Ensure known supported system and default document localeEike Rathke1-4/+11
For an unsupported locale like {en-IL} that could had ended up as language-only {en} if the aImplIsoLangEntries map contains such entry as obtained through MsLangId::convertUnxByteStringToLanguage() and Conversion::convertIsoNamesToLanguage(). For the system locale in SvtSysLocale a proper fallback is used but the default document language was propagated as is Other places evaluating MsLangId::getSystemLanguage() are affected as well, those probably will have to be replaced by a call to MsLangId::getRealLanguage(LANGUAGE_SYSTEM) or a newly to be introduced MsLangId::getConfiguredSystemLanguage() and MsLangId::getSystemLanguage() be made private or accessible only by LanguageTag. Change-Id: I87eb9456d5b4ea8d64b0c41fec6bd2739256fb56 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123756 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2021-10-16Simplify vector initialization in desktopJulien Nabet2-4/+2
Change-Id: Ia7c99cb9c0e8be7299bc664b80cc8932d2766469 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123683 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-10-15ScriptForge - new SFWidgets library, new PopupMenu serviceJean-Pierre Ledure1-0/+1
The SFWidgets library is intended to host the Toolbar, ToolbarControl (both future) and PopupMenu services. A popup menu is usually triggered by a mouse action (typically a right-click) on a dialog, a form, or one of their controls. In these cases the menu will be displayed below the clicked area. When triggered by other events, including in the normal flow of a user script, the script should provide the coordinates of the topleft edge of the menu versus the actual component. The menu is described from top to bottom with next methods: AddItem() AddCheckBox() AddRadioButton() Example: .AddCheckBox("View>Toolbars>Dialog") .AddCheckBox("View>Toolbars>Find", Status := True) .AddCheckBox("View>Status Bar", Status := True) .AddItem("View>Full Screen", Name := "FULLSCREEN") The SubmenuCharacter (Default = ">") is modifiable. Each menu item receives a numeric and a string identifier. The execute() method returns the item selected by the user. The service is available both from Basic and Python user scripts. The commit includes the review of build files to include the new library and the new modules. Change-Id: I2940be25313cc8fff7b337766edd348b04a20584 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123654 Tested-by: Jean-Pierre Ledure <jp@ledure.be> Tested-by: Jenkins Reviewed-by: Jean-Pierre Ledure <jp@ledure.be>
2021-10-15delay, collect and compress LOK invalidations for Writer viewsLuboš Luňák2-1/+14
Due the to way views are updated on any document change, invalidations are at least O(n^2), and since LOK may use a number of views and for each view the entire document is considered to be the view area, this can lead to a huge number of invalidations that are mostly the same repeated rectangles. Change-Id: I63682958d2fc388344641dcd19fa1d2b39054b51 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123617 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2021-10-15do not use text-based LOK callback internallyLuboš Luňák3-84/+186
CallbackFlushHandler post-processes LOK messages, but for things like dropping useless invalidations it needs to know the rectangle or the view id, and since the only data it gets are string messages, it needs to convert those back to binary form. Which is slow with large numbers of messages. Add internal LOK callback variant that allows also passing specific data in the original binary form. And then use directly the binary data in CallbackFlushHandler. Change-Id: I8dd30d2ff9c09feadebc31a44d8e6a8ccc306504 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123589 Tested-by: Jenkins Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2021-10-15Remove non-const Sequence::begin()/end() in internal codeMike Kaganski1-7/+7
... to avoid hidden cost of multiple COW checks, because they call getArray() internally. This obsoletes [loplugin:sequenceloop]. Also rename toNonConstRange to asNonConstRange, to reflect that the result is a view of the sequence, not an independent object. TODO: also drop non-const operator[], but introduce operator[] in SequenceRange. Change-Id: Idd5fd7a3400fe65274d2a6343025e2ef8911635d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123518 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-10-15lok: Fix graphicselection INPLACE msg is filtered outMert Tumer1-1/+1
INPLACE message is not at the beginning, search it instead Signed-off-by: Mert Tumer <mert.tumer@collabora.com> Change-Id: I2a09ac5a664c1ff26790aa776d871ac34c3d99dd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122919 Reviewed-by: Szymon Kłos <szymon.klos@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123522 Tested-by: Jenkins
2021-10-14tdf#33749 - revised merge and unmerge cells UI controlsRoss Johnson1-3/+1
Revert the two changes made under this issue tdf#33749: 1) Cell context menu back to 7.2 2) Format - Merge Cells menu back to 7.2 3) Help pages to reflect this Moving forward with the following changes: 1) Rename "Split Cells" to "Unmerge Cells" (Calc only) which more accurately describes it's function in Calc (and for consistency with alternative office software). 2) Add "Merge Cells" and "Unmerge Cells" to Formatting toolbar alongside "Merge and Center Cells", including other available user interface schemes where possible. 3) Change the Format - Merge Cells menu icon to the "Merge Cells" icon as less confusing than the current "Merge and Center Cells" icon. Re-label the Format - Merge Cells menu to Format - Merge and Unmerge Cells. 4) Add TooltipLabel to .uno:ToggleMergeCells to clarify dual action. 5) Add Split Cells to Table context menu in Impress (as it is in Writer). 6) Help pages to reflect changes. 7) Remove two duplicate entries in the sUnoCommands array in init.cxx (one was ".uno:MergeCells" related to this change). This is untested but relates to status updates sent to the headless LOK clients. I assume duplicate entries would generate duplicate updates, which may be harmless but is probably not desirable. Change-Id: I3063f871707a7286d95108d3a34a5287401baa6a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122811 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com>
2021-10-14Fix memory leakMike Kaganski1-1/+1
Change-Id: Ib9d98fa2cb14bb8feaf53941c5b7b18e21c33c13 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123516 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>