summaryrefslogtreecommitdiff
path: root/sw/source/uibase/uiview
AgeCommit message (Collapse)Author
7 hourssw: Rename SwFEShell::{IsObjSelected -> GetSelectedObjCount}Michael Weghorn
The method returns the number of selected objects, not just a bool indicating whether any (or a particular) object is selected, other than the SwFEShell::IsObjSelected variant that takes a `const SdrObject&` param. Rename the method to make that clearer. Change-Id: I30afec5322d2e6f1d31e5bc0ca6c252faa1fb4d8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180223 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-12-13Replace workaround of resize to invalidate with an explicit SfxHintCaolán McNamara
Change-Id: Ic0c8ba5e5f65f7b1e472a667b69e737f4f1d9fbc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178389 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-12-10tdf#150839 a11y added page layout view under View OptionAdesola Samuel
An option "Layout of pages" is added to the view option which allows user to select any of the three page layout: 1) Single Page per Row 2) Multiple Pages per Row 3) Book View view for ease of accessibility. Change-Id: I8dcab9b78deee15fb68cf313dab6eff40025f5a2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176367 Tested-by: Jenkins Reviewed-by: Hossein <hossein@libreoffice.org> Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org>
2024-12-04Move helpers for css::awt/VCL point/rect/size to vcl::unohelperMichael Weghorn
Move helpers to convert between the Rectangle, Point and Size classes in vcl and in css::awt from VCLUnoHelper (in the toolkit module) to vcl::unohelper (in the vcl module), for reuse in vcl in upcoming commits. Change-Id: I7b11c8a6b8c843a01ce25b1e4c0fb1869ad1e6ee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177816 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
2024-11-29tdf#146553 Enable additonal functions in editable section while in r/o modeOliver Specht
Insert/Edit table, insert lists, insert AutoText automatic spell checking Change-Id: Iccef3965316dc6079ea56a0283023c5a658512cc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165031 Tested-by: Jenkins Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de> Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2024-11-28tdf#163913 Implement font-relative marginsJonathan Clark
This change adds loext:margin-left and loext:margin-right, which implement margins that support font-relative units. See tdf#36709 for additional details. Change-Id: I31b0dd2b6f98cb5b02fd4dca3608db6fdee4054c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177473 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-11-24Let ESelection use EPaM for simplificationMike Kaganski
And drop EPosition, which duplicates EPaM, except for its default ctor (used in a single place). Change-Id: I48bb6dafcba84465d61579df0ec71b815945532a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177075 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-11-24Turn SW_MOD macro to a functionMike Kaganski
Change-Id: Ide1f6fd2fc8a80b31353a14e416505a2349cea2b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177071 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-11-23Use specific SvtModuleOptions::Is*Installed for clarityMike Kaganski
Change-Id: Ibe64b9fcccf33471d96bb0fb1aa896cb456657f0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177069 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-11-20Resolves tdf#163856 - Disentangle boundaries optionsHeiko Tietze
* Boundary toggles removed from app colors * Object boundaries completely removed (color replaced with DOCBOUNDARIES; Impress placeholder on/off now an expert option) * Toggle options added under formatting aids * Individual UNO commands marked deprecated * New command added to show all boundaries * Frames follow sections now in state and color * Kind of wrapping doesn't matter anmymore Change-Id: I7bbec20831dcb95abef6523884d84b05a1a7df0a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176242 Tested-by: Jenkins Reviewed-by: Rafael Lima <rafael.palma.lima@gmail.com>
2024-11-19improve loplugin passparamsbyrefNoel Grandin
I think I managed to disable this when I converted it to use the shared plugin infrastructure. So fix that, and then make it much smarter to avoid various false positives. Change-Id: I0a4657cff3b40a00434924bf764d024dbfd7d5b3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176646 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-13tdf#36709 editeng: Layout for font-relative first-line indentJonathan Clark
This change extends layout for font-relative paragraph first-line indentation into Edit Engine. Change-Id: I5906f493b91fbcb87ded165709fb132b33ce1906 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176487 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-11-13tdf#36709 sw: Writer layout for font-relative first-line indentJonathan Clark
This change implements layout for font-relative paragraph first-line indentation in Writer. Change-Id: Ie8f386bcc13a43ab92d5c15654c24bfdfc62bd69 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176216 Tested-by: Jenkins Reviewed-by: Jonathan Clark <jonathan@libreoffice.org>
2024-11-12loplugin:reftotemp in swNoel Grandin
Change-Id: I370d18643b0c83c60846a0b6f051440a043c647a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176486 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-12clang-tidy: performance-unnecessary-copy-initialization in swNoel Grandin
Change-Id: I64342ae8c10738e276702e8ab2c0c0954be25752 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176441 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-11-08no need to take a copy of the getProcessComponentContext return valueNoel Grandin
we can just take a "const &". (found by running clang-tidy with the performance-unnecessary-copy-initialization warning) Change-Id: I20fd208c65303da78170b1ac06c638fdf3aa094b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176267 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-10-25tdf#161538 update page preview on changed printer settingsOliver Specht
Updates the print preview if show/hide automatically generated empty pages is changed. Change-Id: I8ee53c575edb31f16556a66037260cf79f0fb4a7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175416 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
2024-10-24sw a11y: Don't prevent zooming into print preview when AT activeMichael Weghorn
In Writer's print preview ("File" -> "Print Preview"), allow zooming in or out using Ctrl + mouse wheel regardless of whether assistive technology is enabled (on Windows) or not. I see no reason to prevent this when AT is active. This was originally introduced in commit 70de0c38fd177b3c95837118c5fb35e380c87e90 Author: Jens-Heiner Rechtien <hr@openoffice.org> Date: Thu Mar 27 14:45:43 2003 +0000 MWS_SRX644: migrate branch mws_srx644 -> HEAD with a //#106746# zoom has to be disabled if Accessibility support is switched on comment, but that unfortunately only refers to a ticket in the StarDivision internal issue tracker, so the reasoning from back then remains unclear. (`git show --ignore-space-change` to see the "actual change" more clearly) Change-Id: Iccec17a334dbe19de14cf7889d7f70f0051f152e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175502 Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Tested-by: Jenkins
2024-10-22cid#1545605 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1545841 COPY_INSTEAD_OF_MOVE cid#1554682 COPY_INSTEAD_OF_MOVE cid#1554686 COPY_INSTEAD_OF_MOVE cid#1554715 COPY_INSTEAD_OF_MOVE cid#1554750 COPY_INSTEAD_OF_MOVE cid#1554759 COPY_INSTEAD_OF_MOVE cid#1554770 COPY_INSTEAD_OF_MOVE cid#1554779 COPY_INSTEAD_OF_MOVE cid#1554794 COPY_INSTEAD_OF_MOVE cid#1554800 COPY_INSTEAD_OF_MOVE cid#1554826 COPY_INSTEAD_OF_MOVE cid#1554836 COPY_INSTEAD_OF_MOVE cid#1554862 COPY_INSTEAD_OF_MOVE cid#1554865 COPY_INSTEAD_OF_MOVE cid#1554872 COPY_INSTEAD_OF_MOVE cid#1554883 COPY_INSTEAD_OF_MOVE cid#1554906 COPY_INSTEAD_OF_MOVE cid#1554921 COPY_INSTEAD_OF_MOVE cid#1554926 COPY_INSTEAD_OF_MOVE cid#1554946 COPY_INSTEAD_OF_MOVE cid#1554956 COPY_INSTEAD_OF_MOVE cid#1554970 COPY_INSTEAD_OF_MOVE cid#1554986 COPY_INSTEAD_OF_MOVE cid#1554991 COPY_INSTEAD_OF_MOVE cid#1555013 COPY_INSTEAD_OF_MOVE cid#1555037 COPY_INSTEAD_OF_MOVE cid#1555050 COPY_INSTEAD_OF_MOVE cid#1555057 COPY_INSTEAD_OF_MOVE cid#1555066 COPY_INSTEAD_OF_MOVE cid#1555067 COPY_INSTEAD_OF_MOVE cid#1555083 COPY_INSTEAD_OF_MOVE cid#1555097 COPY_INSTEAD_OF_MOVE cid#1555135 COPY_INSTEAD_OF_MOVE cid#1555140 COPY_INSTEAD_OF_MOVE cid#1555146 COPY_INSTEAD_OF_MOVE cid#1555148 COPY_INSTEAD_OF_MOVE cid#1555149 COPY_INSTEAD_OF_MOVE cid#1555155 COPY_INSTEAD_OF_MOVE cid#1555157 COPY_INSTEAD_OF_MOVE cid#1555168 COPY_INSTEAD_OF_MOVE cid#1555195 COPY_INSTEAD_OF_MOVE cid#1555196 COPY_INSTEAD_OF_MOVE cid#1555237 COPY_INSTEAD_OF_MOVE Change-Id: I90531c19c28dca77fe99c72efdfc0972c311da98 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175377 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-10-21drop StyleSheetCreatedNoel Grandin
the only place that references it, effectively ignores it. I cant find anything that really uses it, as far back in the git history as commit 59bb5ba445352f88e3ac2d00a5dc3f9bb872326a Author: Vladimir Glazounov <vg@openoffice.org> Date: Wed Apr 11 18:36:28 2007 +0000 INTEGRATION: CWS hedaburemove01 (1.1.2); FILE ADDED when it was introduced. Removing this removes a bunch of expensive broadcast operations. a similar mega-master-page scenario as reported in tdf#158773 20s -> 17s Change-Id: I84ee269aa0ea96e9f77601b01d4795edd3294044 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175175 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-10-04tdf#163291 Fix AdditionsDialog in start centerHossein
Previously, AdditionsDialog was not working while in start center. Also, there were a lot of code duplicates. This patch fixes these issues. The UNO command .uno:AdditionsDialog was incorrectly implemented as application specific. There were multiple duplicate conditions for checking SID_ADDITIONS_DIALOG in each and every application. Now, this is only done in sfx2/source/appl/appserv.cxx in a single point. The AdditionsDialog can now be opened while in start center in different places of "Tools > Options" for icons, dictionaries, etc. Also, this LibreOffice BASIC code snippet opens it: Sub Main() oDispatch = CreateUnoService("com.sun.star.frame.DispatchHelper") Dim args(0) As New com.sun.star.beans.PropertyValue oDispatch.executeDispatch(StarDesktop.ActiveFrame, ".uno:AdditionsDialog", "", 0, args) End Sub Change-Id: Ifb7e466449008b9bb6e5b678da2e54f58bc101e3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174469 Reviewed-by: Hossein <hossein@libreoffice.org> Tested-by: Jenkins
2024-09-29tdf#156374: Create hanging indent on paragraph without oneKira Tubo
If the paragraph has no First Line Indent applied, create a hanging indent. - In Writer: the indentation distance is based on the default tab distance. - In Draw/Impress: the indentation distance is based on the distance set for the Increase/Decrease Indent buttons (1000 twips), which is different from the default tab distance. Change-Id: Ifc36c63ad7e6aa852a4b10aca22b7b4de6e10e95 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174001 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-09-25Resolves tdf#161574 - Individual labels for TOXes in the UIHeiko Tietze
+ Upper-case for Delete Index + User-Defined amended with Index Change-Id: I972ee22fa3681a0f1159426836a0ec1b83fa5e3f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173849 Reviewed-by: Heiko Tietze <heiko.tietze@documentfoundation.org> Tested-by: Jenkins
2024-09-17Resolves tdf#152440 BOOK VIEW: Switching page view to book viewJim Raykowski
or from book view results in a switch to a semi-random page Change-Id: I2e3e63430fb2ed04d2f71cf2e716844b85f440f7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173510 Reviewed-by: Jim Raykowski <raykowj@gmail.com> Tested-by: Jenkins
2024-09-17tdf#132274 add zoom defaults to Writer optionsOliver Specht
Zoom value is sometimes stored at documents. But users might prefer local zoom settings over stored values. Users are now able to set preferred values in Writer's option dialog. Change-Id: Ia1c3926aac3dd236f15f84d8dc535d8aa3758238 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171482 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2024-08-13Handle possible exceptions in SwView::ImpSetVerbMike Kaganski
This reportedly may crash on unhandled exception, with the following stack: KernelBase.dll!00007ffaa227fabc() [External Code] emboleobj.dll!OleComponent::GetVerbList() Line 1013 at D:\lo\embeddedobj\source\msole\olecomponent.cxx(1013) emboleobj.dll!OleEmbeddedObject::getSupportedVerbs() Line 1000 at D:\lo\embeddedobj\source\msole\oleembed.cxx(1000) swlo.dll!SwView::ImpSetVerb(SelectionType nSelType) Line 162 at D:\lo\sw\source\uibase\uiview\view.cxx(162) swlo.dll!SwView::SelectShell() Line 309 at D:\lo\sw\source\uibase\uiview\view.cxx(309) swlo.dll!SwView::AttrChangedNotify(LinkParamNone * __formal) Line 574 at D:\lo\sw\source\uibase\uiview\view.cxx(574) [Inline Frame] swlo.dll!Link<LinkParamNone *,void>::Call(LinkParamNone *) Line 111 at D:\lo\include\tools\link.hxx(111) swlo.dll!SwCursorShell::CallChgLnk() Line 2903 at D:\lo\sw\source\core\crsr\crsrsh.cxx(2903) swlo.dll!SwRootFrame::EndAllAction() Line 1941 at D:\lo\sw\source\core\layout\pagechg.cxx(1941) swlo.dll!UnoActionContext::~UnoActionContext() Line 212 at D:\lo\sw\source\core\unocore\unoobj2.cxx(212) swlo.dll!SwXFrame::setPropertyValue(const rtl::OUString & rPropertyName, const com::sun::star::uno::Any & _rValue) Line 1605 at D:\lo\sw\source\core\unocore\unoframe.cxx(1605) mscx_uno.dll!`anonymous namespace'::cpp_call(bridges::cpp_uno::shared::UnoInterfaceProxy * pThis, bridges::cpp_uno::shared::VtableSlot aVtableSlot, _typelib_TypeDescriptionReference * pReturnTypeRef, long nParams, _typelib_MethodParameter * pParams, void * pUnoReturn, void * * pUnoArgs, _uno_Any * * ppUnoExc) Line 214 at D:\lo\bridges\source\cpp_uno\msvc_win32_x86-64\uno2cpp.cxx(214) mscx_uno.dll!unoInterfaceProxyDispatch(_uno_Interface * pUnoI, const _typelib_TypeDescription * pMemberTD, void * pReturn, void * * pArgs, _uno_Any * * ppException) Line 430 at D:\lo\bridges\source\cpp_uno\msvc_win32_x86-64\uno2cpp.cxx(430) binaryurplo.dll!binaryurp::IncomingRequest::execute_throw(binaryurp::BinaryAny * returnValue, std::vector<binaryurp::BinaryAny,std::allocator<binaryurp::BinaryAny> > * outArguments) Line 239 at D:\lo\binaryurp\source\incomingrequest.cxx(239) binaryurplo.dll!binaryurp::IncomingRequest::execute() Line 79 at D:\lo\binaryurp\source\incomingrequest.cxx(79) binaryurplo.dll!request(void * pThreadSpecificData) Line 84 at D:\lo\binaryurp\source\reader.cxx(84) cppu3.dll!cppu_threadpool::JobQueue::enter(const void * nDisposeId, bool bReturnWhenNoJob) Line 101 at D:\lo\cppu\source\threadpool\jobqueue.cxx(101) cppu3.dll!cppu_threadpool::ORequestThread::run() Line 169 at D:\lo\cppu\source\threadpool\thread.cxx(169) cppu3.dll!threadFunc(void * param) Line 190 at D:\lo\include\osl\thread.hxx(190) sal3.dll!oslWorkerWrapperFunction(void * pData) Line 67 at D:\lo\sal\osl\w32\thread.cxx(67) Change-Id: Ifef15938c7986c4179d61cfa07973ad9b13d4ad4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171823 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-08-11cid#1558088 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1558080 COPY_INSTEAD_OF_MOVE cid#1558077 COPY_INSTEAD_OF_MOVE cid#1558055 COPY_INSTEAD_OF_MOVE cid#1558043 COPY_INSTEAD_OF_MOVE cid#1558039 COPY_INSTEAD_OF_MOVE cid#1558015 COPY_INSTEAD_OF_MOVE cid#1558014 COPY_INSTEAD_OF_MOVE cid#1558009 COPY_INSTEAD_OF_MOVE cid#1558002 COPY_INSTEAD_OF_MOVE cid#1557998 COPY_INSTEAD_OF_MOVE cid#1557996 COPY_INSTEAD_OF_MOVE cid#1557990 COPY_INSTEAD_OF_MOVE cid#1557986 COPY_INSTEAD_OF_MOVE cid#1557980 COPY_INSTEAD_OF_MOVE cid#1557971 COPY_INSTEAD_OF_MOVE cid#1557968 COPY_INSTEAD_OF_MOVE cid#1557967 COPY_INSTEAD_OF_MOVE cid#1557961 COPY_INSTEAD_OF_MOVE cid#1557959 COPY_INSTEAD_OF_MOVE cid#1557958 COPY_INSTEAD_OF_MOVE cid#1557956 COPY_INSTEAD_OF_MOVE cid#1557953 COPY_INSTEAD_OF_MOVE cid#1557949 COPY_INSTEAD_OF_MOVE cid#1557947 COPY_INSTEAD_OF_MOVE cid#1557940 COPY_INSTEAD_OF_MOVE cid#1557931 COPY_INSTEAD_OF_MOVE cid#1557930 COPY_INSTEAD_OF_MOVE cid#1557915 COPY_INSTEAD_OF_MOVE cid#1557913 COPY_INSTEAD_OF_MOVE cid#1557910 COPY_INSTEAD_OF_MOVE cid#1557886 COPY_INSTEAD_OF_MOVE cid#1557884 COPY_INSTEAD_OF_MOVE cid#1557880 COPY_INSTEAD_OF_MOVE cid#1557875 COPY_INSTEAD_OF_MOVE cid#1557871 COPY_INSTEAD_OF_MOVE cid#1557862 COPY_INSTEAD_OF_MOVE cid#1557847 COPY_INSTEAD_OF_MOVE cid#1557845 COPY_INSTEAD_OF_MOVE cid#1557844 COPY_INSTEAD_OF_MOVE cid#1557843 COPY_INSTEAD_OF_MOVE cid#1557838 COPY_INSTEAD_OF_MOVE cid#1557835 COPY_INSTEAD_OF_MOVE cid#1557834 COPY_INSTEAD_OF_MOVE cid#1557828 COPY_INSTEAD_OF_MOVE cid#1557823 COPY_INSTEAD_OF_MOVE cid#1557817 COPY_INSTEAD_OF_MOVE cid#1557813 COPY_INSTEAD_OF_MOVE cid#1557812 COPY_INSTEAD_OF_MOVE Change-Id: I55d4a920daa2d148683419169eb828325fd3c757 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171732 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-09Refactor SwView::InsertGraphicDlg for clarityMike Kaganski
This avoids creation of the dialog, when the name has already been passed as an argument. Change-Id: I94f0634b79f5f3757045cf8fb3f7234381901f50 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171673 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2024-08-05simplify IMark hierarchy (7)Noel Grandin
drop the iterator wrapper, no longer necessary Change-Id: I41697c062805c3fadd0210cffbc8f7beffe01f2d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171472 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-07-31cid#1555587 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1555589 COPY_INSTEAD_OF_MOVE cid#1555593 COPY_INSTEAD_OF_MOVE cid#1555596 COPY_INSTEAD_OF_MOVE cid#1555602 COPY_INSTEAD_OF_MOVE cid#1555608 COPY_INSTEAD_OF_MOVE cid#1555610 COPY_INSTEAD_OF_MOVE cid#1555620 COPY_INSTEAD_OF_MOVE cid#1555623 COPY_INSTEAD_OF_MOVE cid#1555625 COPY_INSTEAD_OF_MOVE cid#1555626 COPY_INSTEAD_OF_MOVE cid#1555634 COPY_INSTEAD_OF_MOVE cid#1555638 COPY_INSTEAD_OF_MOVE cid#1555667 COPY_INSTEAD_OF_MOVE cid#1555682 COPY_INSTEAD_OF_MOVE cid#1555686 COPY_INSTEAD_OF_MOVE cid#1555702 COPY_INSTEAD_OF_MOVE cid#1555710 COPY_INSTEAD_OF_MOVE cid#1555750 COPY_INSTEAD_OF_MOVE cid#1555752 COPY_INSTEAD_OF_MOVE cid#1555761 COPY_INSTEAD_OF_MOVE cid#1555762 COPY_INSTEAD_OF_MOVE cid#1555771 COPY_INSTEAD_OF_MOVE cid#1555772 COPY_INSTEAD_OF_MOVE cid#1555784 COPY_INSTEAD_OF_MOVE cid#1555785 COPY_INSTEAD_OF_MOVE Change-Id: Ib9724230c05b2027b4edf64e6a0bb5e22a270a88 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171274 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-07-25tdf#85677: Add support for Windows touch gestures (panning,zooming)Tibor Nagy
Change-Id: Ib0243889621663ddb9b6789ede7643d54f06041e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170988 Tested-by: Jenkins Reviewed-by: Nagy Tibor <tibor.nagy.extern@allotropia.de>
2024-07-20cid#1554791 COPY_INSTEAD_OF_MOVECaolán McNamara
and cid#1554819 COPY_INSTEAD_OF_MOVE cid#1554837 COPY_INSTEAD_OF_MOVE cid#1554881 COPY_INSTEAD_OF_MOVE cid#1554882 COPY_INSTEAD_OF_MOVE cid#1554884 COPY_INSTEAD_OF_MOVE cid#1554891 COPY_INSTEAD_OF_MOVE cid#1554892 COPY_INSTEAD_OF_MOVE cid#1554897 COPY_INSTEAD_OF_MOVE cid#1554904 COPY_INSTEAD_OF_MOVE cid#1554918 COPY_INSTEAD_OF_MOVE cid#1554928 COPY_INSTEAD_OF_MOVE cid#1554931 COPY_INSTEAD_OF_MOVE cid#1554944 COPY_INSTEAD_OF_MOVE cid#1554945 COPY_INSTEAD_OF_MOVE cid#1554959 COPY_INSTEAD_OF_MOVE cid#1554960 COPY_INSTEAD_OF_MOVE cid#1554963 COPY_INSTEAD_OF_MOVE cid#1554966 COPY_INSTEAD_OF_MOVE cid#1554969 COPY_INSTEAD_OF_MOVE cid#1554973 COPY_INSTEAD_OF_MOVE cid#1555011 COPY_INSTEAD_OF_MOVE cid#1555012 COPY_INSTEAD_OF_MOVE cid#1555015 COPY_INSTEAD_OF_MOVE cid#1555044 COPY_INSTEAD_OF_MOVE cid#1555051 COPY_INSTEAD_OF_MOVE cid#1555055 COPY_INSTEAD_OF_MOVE cid#1555063 COPY_INSTEAD_OF_MOVE cid#1555068 COPY_INSTEAD_OF_MOVE cid#1555073 COPY_INSTEAD_OF_MOVE cid#1555074 COPY_INSTEAD_OF_MOVE cid#1555078 COPY_INSTEAD_OF_MOVE cid#1555080 COPY_INSTEAD_OF_MOVE cid#1555091 COPY_INSTEAD_OF_MOVE cid#1555099 COPY_INSTEAD_OF_MOVE cid#1555101 COPY_INSTEAD_OF_MOVE cid#1555121 COPY_INSTEAD_OF_MOVE cid#1610739 COPY_INSTEAD_OF_MOVE cid#1608424 COPY_INSTEAD_OF_MOVE cid#1608059 COPY_INSTEAD_OF_MOVE cid#1607952 COPY_INSTEAD_OF_MOVE cid#1607653 COPY_INSTEAD_OF_MOVE cid#1607614 COPY_INSTEAD_OF_MOVE cid#1607592 COPY_INSTEAD_OF_MOVE Change-Id: Ie9f922a9fe1b8001dfab31e2741fe8bd5558e442 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170802 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-07-15tdf#122756 clone formatting includes table number formatOliver Specht
In clone formatting the number format of the current cell(s) is copied and applied if the target is a table Change-Id: I0b7dc1d5015aeb2262c8d37f76442519c5b6d655 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168184 Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> Tested-by: Jenkins
2024-07-11tdf#161538 fix empty page inserted into specific fileJuergen Funk
- the empty pages can be switch off with "Print automatically inserted blank pages" but when the switch is off, the view of the "Print Prewiew" was wrong when scrolling, this patch fix that Change-Id: I62627b8d65db325e12818c91fee3e3c7c89c7751 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170278 Tested-by: Jenkins Reviewed-by: Oliver Specht <oliver.specht@cib.de>
2024-07-02cid#1608558 Use of auto that causes a copyCaolán McNamara
Change-Id: Ie09084cdd9060db28905cb693c5b010a760876d4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169860 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-06-29warning C6011: Dereferencing NULL pointer 'pArgs'Mike Kaganski
C:\lo\core\sw\source\uibase\uiview\viewsrch.cxx(237) : warning C6011: Dereferencing NULL pointer 'pArgs'. : Lines: 132, 134, 135, 136, 137, 140, 141, 149, 151, 196, 198, 200, 204, 205, 219, 228, 229, 237 Change-Id: Id06d08b310dffa15823b1d40996467888ff4ea7f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169750 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
2024-06-28Resolves tdf#115665 Format in the CTRL+H search affectsJim Raykowski
the CTRL+F search Change-Id: I51ccd2186c47a91958c262efac9a1514b9c3b138 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169606 Reviewed-by: Jim Raykowski <raykowj@gmail.com> Tested-by: Jenkins
2024-06-25sw: fix assertion failure in SwView::ExecTabWin()Miklos Vajna
Crashreport signature: > /opt/rh/devtoolset-12/root/usr/include/c++/12/bits/stl_algo.h:3623: constexpr const _Tp& std::clamp(const _Tp&, const _Tp&, const _Tp&) [with _Tp = long int]: Assertion '!(__hi < __lo)' failed. > program/libswlo.so > long const& std::clamp<long>(long const&, long const&, long const&) > ??:? > program/libswlo.so > SwView::ExecTabWin(SfxRequest const&) > sw/source/uibase/uiview/viewtab.cxx:1139 > program/libmergedlo.so > SfxDispatcher::Call_Impl(SfxShell&, SfxSlot const&, SfxRequest&, bool) > sfx2/source/control/dispatch.cxx:257 Change-Id: I659fce002e5672c1c8c75fd130c7aae5b6a44460 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/169447 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2024-06-24tdf#160543 Quickfind sidebar enhancementsJim Raykowski
* Makes the search independent of find and replace options. * Adds a button to launch a dialog for match case, whole words only, and similarity search options. * Adds a button to launch the find and replace dialog. * Makes the find entry control have visual feedback when there are no matches. * Adds a label at the bottom of panel that shows the number of matches. Change-Id: I2cffcf86978773471bb86c5e5cf8b967c24efa7b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168834 Reviewed-by: Jim Raykowski <raykowj@gmail.com> Tested-by: Jenkins
2024-06-17Add new LOK CALLBACK for vertical rulerDarshan-upadhyay1110
- We're adding a new LOK callback LOK_CALLBACK_VERTICAL_RULER_UPDATE. - The reason is that we currently override the existing callback. - Using the same callback for both vertical and horizontal rulers causes an issue. - override will create problem like it will only send any one of the ruler orientation update. - It results in online updates being limited to just one ruler orientation. - By introducing a new callback, we ensure updates for both vertical and horizontal rulers both are captured correctly in online. Change-Id: I02d0e3e7e4ac8a07a83644460aa0ba36e0f3c013 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167481 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit 11b936629dd4ef9308d63b312900b8b7c8ff19b4) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167464 Tested-by: Jenkins
2024-06-13Let LinkManager::UpdateAllLinks honor isUntrustedRefererStephan Bergmann
Change-Id: I3714061376afaf1186e4f7cfe5b28bfb54aa7a99 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168789 Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de> 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-05loplugin:ostr in sw/.../uiviewNoel Grandin
Change-Id: Id50d9549bb925f3ff2f4db79058b600a25349576 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168426 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-06-02ofz#69356 Integer-overflowCaolán McNamara
Change-Id: I5ce3b5858306dbc0f7bd8258dc306dc1195a8ce2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168335 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-05-30AreObjectsMarked -> GetMarkedObjectList().GetMarkCount() != 0Xisco Fauli
In order to reduce number of calls to GetMarkedObjectList() later on Change-Id: Ib2eb7c88338e64744f886a338acca65f782f8170 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168218 Tested-by: Jenkins Tested-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-05-30GetMarkedObjectByIndex -> GetMarkedObjectList().GetMark()->GetMarkedSdrObj()Xisco Fauli
In order to reduce number of calls to GetMarkedObjectList() later on Change-Id: I57ab7d2d8edd98da5175bd1066dfab0fa2cc888e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168220 Tested-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-05-29GetMarkedObjectCount() -> GetMarkedObjectList().GetMarkCount()Xisco Fauli
In order to reduce number of calls to GetMarkedObjectList() later on Change-Id: Id94f66545950f0fdf124ba7b985a5215a01d63fe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168213 Tested-by: Xisco Fauli <xiscofauli@libreoffice.org> Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2024-05-28avoid dynamic_cast in SwView::NotifyNoel Grandin
Change-Id: Id2b8f0f85165d442a5e3a54ee2e3b433f53b3613 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168120 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-05-14sw: avoid unwanted row height changesJaume Pujantell
When changing a row's height with SID_TABLE_CHANGE_CURRENT_BORDER_POSITION avoid knock-on effects to lower rows. Change-Id: I0af5a6ec2ceb685ec5dd97e4a00237a4c7857589 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167438 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> (cherry picked from commit c6c1c7afc18f32453c06a3af25f389ccb9074a1b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167459 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
2024-05-13Revert "reduce symbol visibility in sw"Thorsten Behrens
This reverts commit 1a6711276f0c8abeb0028a47cc345a7453374a38. After some discussion and experiments, it turned out this rather fundamentally breaks clang's PCH build. Conclusion was: this change is not significant enough to warrant making life harder for developers. Excerpt of errors (affected were vbaswobj, msword & swui libs): - ld.lld: error: undefined symbol: SwFormat::~SwFormat() >>> referenced by fmtcol.hxx:37 (sw/inc/fmtcol.hxx:37) >>> core/workdir/CxxObject/sw/inc/pch/precompiled_vbaswobj.o:(SwFormatColl::~SwFormatColl()) - ld.lld: error: undefined symbol: SwFrameFormat::SetPositionLayoutDir(short) >>> referenced by precompiled_msword.cxx >>> core/workdir/CxxObject/sw/inc/pch/precompiled_msword.o:(vtable for sw::SpzFrameFormat) - ld.lld: error: undefined symbol: SwFrameFormat::SetLayoutDir(SwFrameFormat::tLayoutDir) >>> referenced by precompiled_swui.cxx >>> core/workdir/CxxObject/sw/inc/pch/precompiled_swui.o:(vtable for sw::SpzFrameFormat) Change-Id: I1dcf115cc191b1ebf1f8d5023c0c5015f891287a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167549 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>