summaryrefslogtreecommitdiff
path: root/include/editeng/editview.hxx
AgeCommit message (Collapse)AuthorFilesLines
2024-03-14reduce symbol visibility in editengNoel Grandin1-19/+19
Change-Id: I5069beecedca7b346c9f17f46570513a40606e84 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164784 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-01-25editeng: in EditView, access ImpEditView as a referenceTomaž Vajngerl1-2/+2
EditView access to ImpEditView can be done as a reference as the ImpEditView instance is created on EditView construction and is always valid as long as EditView is alive. Also change all access to ImpEditView instance to use the getImpl() method insteady of direct access. Change-Id: If64f8f8494c3a4f52f860ea8dee798edd51b6c6b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162528 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2024-01-21editeng: change EditEngine getter to ref in {Imp}EditViewTomaž Vajngerl1-8/+6
{Imp}EditView always needs to have EditEngine set (or it would crash otherwise), so we can change the getter to return a referece instead of a pointer. This simplifies things a bit because we get rid of all the nullptr checks and makes the interface more clear. Also change direct access to mpEditEngine in {Imp}EditView to use getEditEngine() and getImpEditEngine() (returning a reference) instead. Change-Id: Ib8f9c565b8364144bb9c35c3093c4975af1970c7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162333 Tested-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-11-15tdf#158031 editeng: rename GetFieldAtCursorJustin Luth1-1/+1
because it doesn't really get the field at the cursor, and certainly is not similar to SelectFieldAtCursor. It first gets the field under the mouse. Then, if there is a selection, it gets the selected field, else it looks for the field on either side. There were LOTS of places where it probably had not been used properly. Most of those are gone now, so it is easier to rename the function. Change-Id: I1a64af24092582cf865509d2a474080258edd76c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159022 Reviewed-by: Justin Luth <jluth@mail.com> Tested-by: Jenkins
2023-11-15tdf#158031 editeng SID_*_HYPERLINK: use AlsoCheckBeforeCursorJustin Luth1-2/+3
This fixes the GTK3 problem where only the first half of the link successfully ran SID_EDIT_HYPERLINK against an editeng hyperlink. Fixed for Writer and Calc editeng hyperlinks (i.e. in textboxes). TODO: fix SID_COPY_HYPERLINK (which doesn't SelectFieldAtCursor) The problem showed up when the menu option was added because the mouse was over an unselected field, but when the mouse moved to select the menu option, the slot was not considered valid anymore if the cursor had moved behind the field. (The right-click to open the context menu puts the cursor before or after the field.) Now, by checking for a field-before-the-cursor during validation, the field is found and the command is not prevented from running. Once this is all in place, some older commits from Caolan should be able to be reverted. (Strangely, SID_OPEN_HYPERLINK and SID_REMOVE_HYPERLINK seem to run before the slot is invalidated. No idea why they are different. For GEN, the popup usually either kept the pre-menu mouse position, or else it always runs the command before the slot invalidates.) Change-Id: If992b3fdc94d89162b60447458cabced2d5e3f19 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158856 Reviewed-by: Justin Luth <jluth@mail.com> Tested-by: Jenkins
2023-11-15related tdf#158031 editeng: GetFieldAtSel...(+look before cursor)Justin Luth1-1/+4
Nearly a No-Functional-Change, but not quite. For practical and intentional purposes, it can be considered NFC. Although I didn't find an actual case where it happened, a code read says SelectFieldAtCursor COULD select a non-field. It assumed that previous code had already identified that there must be a field here. Well, I want to extend GetFieldAtSelection to check backwards to solve bug 158031 anyway, so I might as well "fix" this assumption to only select a valid field. This function REALLY depends on GetFieldAtSelection working properly. So, I put some asserts in to ensure that stays true. Change-Id: Ie22945a418497511501b04df5e17071d977cbd5b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158855 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com>
2023-11-10tdf#157363 add HTML format when pasting into draw textOliver Specht1-1/+2
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-08-29tdf#103706: tdf#142857: sd: context aware paste for clone formatSarper Akdemir1-0/+2
Introduces selection aware pasting for Impress/Draw's Clone Format where paragraph properties are applied when the selection contains a whole paragraph or there's no selection at all (i.e. clone format applied with just a left click - without drag). Change-Id: I37e7197580c2b8da333ada1a60408f40f85d7ef5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155108 Tested-by: Jenkins Reviewed-by: Sarper Akdemir <sarper.akdemir.extern@allotropia.de>
2023-06-20lok: editeng: add LOK special flagsHenry Castro1-0/+12
The function "IsRightToLeft" fails in Hebrew language when Calc has a layout RTL, create a special flag to handle. Signed-off-by: Henry Castro <hcastro@collabora.com> Change-Id: I661f49dc5990f39807c6dba10970dea8c502643c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151145 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151971 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153322 Tested-by: Jenkins
2023-02-06lok: formulabar: fix URL fields selectionSzymon Kłos1-0/+8
field is calculated as 1 character by selection getter let's unfold fields and send real length Change-Id: I557f8785a4d2ee6a41c6c95f4551f5e104a58c02 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146350 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146574 Tested-by: Jenkins Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
2022-09-14move ErrCode to comphelper and improve debug output stringNoel Grandin1-1/+1
need to move it, because modules "below" vcl want to use the debug output method Change-Id: Ibcaf4089a1e0b3fcc0b5189c7ebf1aae90f50b48 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139791 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-03-14new loplugin:trivialconstructorNoel Grandin1-1/+0
Change-Id: Iaaf63c49ce94987ab9c4ebc68e963cc3054a3c34 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131342 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-02-25tdf#81894 sc spelling: eliminate separate(inaccurate) checkJustin Luth1-1/+1
ExecuteSpellPopup is quite accurate at identifying whether the spelling at PosPixel is a spelling error or not. If it is not a misspelled word, then it just silently returns. If we make this a bDone flag, then it will just move on to the normal right-click dialog. There are a few additional scenarios that need to be handled (mainly in terms of showing the edit-mode menu instead of the full format menu, and also not always returning the correct row/col when in edit mode). I will do them in separate patches so that each edge case can be clearly seen and handled. They all rely on this patch being applied first. This is the base patch. Too many things simply don't work with the interim check, so I removed it. (Part of the problem is that EditView kicks on and off, and then a new CompleteOnlineSpelling needs to be run before IsWrongSpelledWordAtPos can return a meaningful answer.) This patch specifically fixes the problem of not opening SpellPopup on a misspelled word in a wrapped-cell. Steps to reproduce: 1.) Open LOv4304.ods from bug 81894 comment 6. 2.) Right-click on "spellng" in cell B12. Before the patch, a full format popup was displayed (not in edit mode) because IsSpellErrorAtPos returned false, when it should have been true. With this patch, spelling suggestions are provided. As an example of an edge case, also notice: 3.) double-click on cell B4 (to enter edit mode) 4.) right click on "spellng" which appears to be in D4 Before the patch, nothing happened at all, but with the patch at least the fall-back menu is displayed. (EditView never switches out of cell B, so SpellPopup is looking at wrong information.) Change-Id: I91d413debc58de832dc7413034618e9e2bae3dd5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130297 Tested-by: Jenkins Reviewed-by: Justin Luth <jluth@mail.com> Reviewed-by: Eike Rathke <erack@redhat.com>
2022-02-04lokCalcRTL: fix editing of shape textDennis Francis1-0/+4
Inform editeng that negated document x coordinates are used in this case and ensure that editeng generated invalidation rectangles always have positive X coordinates. Conflicts: sc/source/ui/view/gridwin4.cxx Change-Id: I2e450707ce02f7bcd8e4d299f857c37ebbd5e2c6 (cherry picked from commit 0fe02bb99e5dfa8379a49de75683fc350e4c4dbd) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129360 Tested-by: Jenkins Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
2021-12-20Recheck include/[e-r]* with IWYUGabor Kelemen1-1/+0
See tdf#42949 for motivation Change-Id: I44e4e3a88067c1c29ce9d563b22741e984b43576 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126964 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-09-02rename UpdateMode -> UpdateLayout in editeng classNoel Grandin1-2/+3
... because "update" is such a generic term I keep forgetting what we are turning on and off Also return the previous value from SetUpdateLayout to make the save/restore code more compact. Change-Id: Iae1764c837a92e58c9b17521f130e8fc80311d22 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121479 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-29Fix --enable-mergelibs `make check`Stephan Bergmann1-1/+1
> LNK] CppunitTest/libtest_basegfx.so > include/basegfx/tuple/b3dtuple.hxx:92: error: undefined reference to 'basegfx::B3DTuple::getEmptyTuple()' and > [LNK] CppunitTest/libtest_svx_removewhichrange.so > svx/source/core/extedit.cxx:65: error: undefined reference to 'FileChangedChecker::FileChangedChecker(rtl::OUString const&, std::function<void ()> const&)' > svx/source/engine3d/scene3d.cxx:221: error: undefined reference to 'B3dTransformationSet::SetDeviceRectangle(double, double, double, double)' > include/tools/b3dtrans.hxx:120: error: undefined reference to 'B3dTransformationSet::SetViewportRectangle(tools::Rectangle const&, tools::Rectangle const&)' > svx/source/engine3d/scene3d.cxx:175: error: undefined reference to 'B3dCamera::B3dCamera(basegfx::B3DPoint const&, basegfx::B3DVector const&, double, double)' > svx/source/engine3d/scene3d.cxx:243: error: undefined reference to 'B3dCamera::~B3dCamera()' > svx/source/engine3d/scene3d.cxx:355: error: undefined reference to 'B3dTransformationSet::SetRatio(double)' > svx/source/engine3d/scene3d.cxx:364: error: undefined reference to 'B3dViewport::SetViewportValues(basegfx::B3DPoint const&, basegfx::B3DVector const&, basegfx::B3DVector const&)' > svx/source/engine3d/scene3d.cxx:367: error: undefined reference to 'B3dTransformationSet::SetPerspective(bool)' > include/tools/b3dtrans.hxx:120: error: undefined reference to 'B3dTransformationSet::SetViewportRectangle(tools::Rectangle const&, tools::Rectangle const&)' > include/tools/b3dtrans.hxx:120: error: undefined reference to 'B3dTransformationSet::SetViewportRectangle(tools::Rectangle const&, tools::Rectangle const&)' > svx/source/engine3d/scene3d.cxx:186: error: undefined reference to 'B3dCamera::B3dCamera(basegfx::B3DPoint const&, basegfx::B3DVector const&, double, double)' > svx/source/engine3d/scene3d.cxx:179: error: undefined reference to 'B3dCamera::~B3dCamera()' > svx/source/engine3d/scene3d.cxx:210: error: undefined reference to 'B3dCamera::~B3dCamera()' > svx/source/gallery2/galctrl.cxx:213: error: undefined reference to 'avmedia::MediaFloater::setURL(rtl::OUString const&, rtl::OUString const&, bool)' > svx/source/gallery2/galtheme.cxx:745: error: undefined reference to 'VersionCompatRead::VersionCompatRead(SvStream&)' > svx/source/gallery2/galtheme.cxx:757: error: undefined reference to 'VersionCompatRead::~VersionCompatRead()' > svx/source/gallery2/galtheme.cxx:757: error: undefined reference to 'VersionCompatRead::~VersionCompatRead()' > svx/source/gallery2/gallerybinaryengine.cxx:774: error: undefined reference to 'VersionCompatWrite::VersionCompatWrite(SvStream&, unsigned short)' > /usr/include/c++/12.0.0/bits/unique_ptr.h:85: error: undefined reference to 'VersionCompatWrite::~VersionCompatWrite()' > /usr/include/c++/12.0.0/bits/unique_ptr.h:85: error: undefined reference to 'VersionCompatWrite::~VersionCompatWrite()' > svx/source/gallery2/gallerybinaryengineentry.cxx:115: error: undefined reference to 'VersionCompatRead::VersionCompatRead(SvStream&)' > svx/source/gallery2/gallerybinaryengineentry.cxx:123: error: undefined reference to 'VersionCompatRead::~VersionCompatRead()' > svx/source/gallery2/gallerybinaryengineentry.cxx:123: error: undefined reference to 'VersionCompatRead::~VersionCompatRead()' > include/editeng/editund2.hxx:29: error: undefined reference to 'vtable for EditUndoManager' > /usr/bin/ld.gold: the vtable symbol may be undefined because the class is missing its key function > include/editeng/editund2.hxx:29: error: undefined reference to 'vtable for EditUndoManager' > /usr/bin/ld.gold: the vtable symbol may be undefined because the class is missing its key function > svx/source/svdraw/sdrundomanager.cxx:30: error: undefined reference to 'EditUndoManager::EditUndoManager(unsigned short)' > svx/source/svdraw/sdrundomanager.cxx:72: error: undefined reference to 'EditUndoManager::Redo()' > svx/source/svdraw/sdrundomanager.cxx:46: error: undefined reference to 'EditUndoManager::Undo()' > workdir/CxxObject/svx/source/svdraw/sdrundomanager.o:sdrundomanager.cxx:typeinfo for SdrUndoManager: error: undefined reference to 'typeinfo for EditUndoManager' > svx/source/svdraw/svdedxv.cxx:97: error: undefined reference to 'EditViewCallbacks::~EditViewCallbacks()' > svx/source/svdraw/svdedxv.cxx:87: error: undefined reference to 'EditViewCallbacks::~EditViewCallbacks()' > workdir/CxxObject/svx/source/svdraw/svdedxv.o:svdedxv.cxx:typeinfo for SdrObjEditView: error: undefined reference to 'typeinfo for EditViewCallbacks' > svx/source/svdraw/svdfmtf.cxx:1206: error: undefined reference to 'MetaMapModeAction::Execute(OutputDevice*)' > svx/source/svdraw/svdfmtf.cxx:1239: error: undefined reference to 'typeinfo for MetaGradientExAction' > svx/source/svdraw/svdfmtf.hxx:139: error: undefined reference to 'MetaLayoutModeAction::Execute(OutputDevice*)' > svx/source/svdraw/svdfmtf.hxx:136: error: undefined reference to 'MetaTextLineColorAction::Execute(OutputDevice*)' > svx/source/svdraw/svdfmtf.hxx:135: error: undefined reference to 'MetaRefPointAction::Execute(OutputDevice*)' > svx/source/svdraw/svdfmtf.hxx:115: error: undefined reference to 'MetaRasterOpAction::Execute(OutputDevice*)' > svx/source/svdraw/svdfmtf.hxx:117: error: undefined reference to 'MetaPopAction::Execute(OutputDevice*)' > svx/source/svdraw/svdfmtf.hxx:116: error: undefined reference to 'MetaPushAction::Execute(OutputDevice*)' > svx/source/svdraw/svdfmtf.hxx:112: error: undefined reference to 'MetaFontAction::Execute(OutputDevice*)' > svx/source/svdraw/svdfmtf.cxx:1206: error: undefined reference to 'MetaMapModeAction::Execute(OutputDevice*)' > svx/source/svdraw/svdfmtf.hxx:113: error: undefined reference to 'MetaTextAlignAction::Execute(OutputDevice*)' > svx/source/svdraw/svdfmtf.hxx:111: error: undefined reference to 'MetaTextFillColorAction::Execute(OutputDevice*)' > svx/source/svdraw/svdfmtf.hxx:110: error: undefined reference to 'MetaTextColorAction::Execute(OutputDevice*)' > svx/source/svdraw/svdfmtf.hxx:118: error: undefined reference to 'MetaMoveClipRegionAction::Execute(OutputDevice*)' > svx/source/svdraw/svdfmtf.hxx:120: error: undefined reference to 'MetaISectRegionClipRegionAction::Execute(OutputDevice*)' > svx/source/svdraw/svdfmtf.hxx:119: error: undefined reference to 'MetaISectRectClipRegionAction::Execute(OutputDevice*)' > svx/source/svdraw/svdfmtf.hxx:114: error: undefined reference to 'MetaClipRegionAction::Execute(OutputDevice*)' > svx/source/svdraw/svdfmtf.hxx:140: error: undefined reference to 'MetaTextLanguageAction::Execute(OutputDevice*)' > svx/source/svdraw/svdfmtf.hxx:141: error: undefined reference to 'MetaOverlineColorAction::Execute(OutputDevice*)' > /usr/include/c++/12.0.0/bits/unique_ptr.h:85: error: undefined reference to 'OFlowChainedText::~OFlowChainedText()' > /usr/include/c++/12.0.0/bits/unique_ptr.h:85: error: undefined reference to 'OFlowChainedText::~OFlowChainedText()' > svx/source/svdraw/textchainflow.cxx:274: error: undefined reference to 'OFlowChainedText::RemoveOverflowingText(Outliner*)' > /usr/include/c++/12.0.0/bits/unique_ptr.h:85: error: undefined reference to 'OFlowChainedText::~OFlowChainedText()' > /usr/include/c++/12.0.0/bits/unique_ptr.h:85: error: undefined reference to 'OFlowChainedText::~OFlowChainedText()' > svx/source/svdraw/textchainflow.cxx:101: error: undefined reference to 'UFlowChainedText::UFlowChainedText(Outliner const*, bool)' > svx/source/svdraw/textchainflow.cxx:96: error: undefined reference to 'OFlowChainedText::OFlowChainedText(Outliner const*, bool)' > svx/source/svdraw/textchainflow.cxx:123: error: undefined reference to 'OFlowChainedText::GetOverflowPointSel() const' > svx/source/svdraw/textchainflow.cxx:123: error: undefined reference to 'OFlowChainedText::GetOverflowPointSel() const' > svx/source/svdraw/textchainflow.cxx:159: error: undefined reference to 'UFlowChainedText::CreateMergedUnderflowParaObject(Outliner*, OutlinerParaObject const*)' > svx/source/svdraw/textchainflow.cxx:202: error: undefined reference to 'OFlowChainedText::RemoveOverflowingText(Outliner*)' > svx/source/svdraw/textchainflow.cxx:227: error: undefined reference to 'OFlowChainedText::InsertOverflowingText(Outliner*, OutlinerParaObject const*)' > svx/source/svdraw/textchainflow.cxx:239: error: undefined reference to 'OFlowChainedText::IsLastParaInterrupted() const' > svx/source/svdraw/textchainflow.cxx:235: error: undefined reference to 'OFlowChainedText::IsLastParaInterrupted() const' > svx/source/svdraw/textchainflow.cxx:235: error: undefined reference to 'OFlowChainedText::IsLastParaInterrupted() const' > svx/source/tbxctrls/tbcontrl.cxx:2747: error: undefined reference to 'SfxStatusListener::ReBind()' > include/svx/tbcontrl.hxx:175: error: undefined reference to 'SfxStatusListener::ReBind()' > svx/source/tbxctrls/tbcontrl.cxx:2697: error: undefined reference to 'SfxStatusListener::UnBind()' > svx/source/tbxctrls/tbcontrl.cxx:2493: error: undefined reference to 'SfxStatusListener::SfxStatusListener(com::sun::star::uno::Reference<com::sun::star::frame::XDispatchProvider> const&, unsigned short, rtl::OUString const&)' > svx/source/tbxctrls/tbcontrl.cxx:2493: error: undefined reference to 'SfxStatusListener::SfxStatusListener(com::sun::star::uno::Reference<com::sun::star::frame::XDispatchProvider> const&, unsigned short, rtl::OUString const&)' > svx/source/tbxctrls/tbcontrl.cxx:815: error: undefined reference to 'SfxStatusListener::~SfxStatusListener()' > svx/source/tbxctrls/tbcontrl.cxx:815: error: undefined reference to 'SfxStatusListener::~SfxStatusListener()' > workdir/CxxObject/svx/source/tbxctrls/tbcontrl.o:tbcontrl.cxx:typeinfo for SfxStyleControllerItem_Impl: error: undefined reference to 'typeinfo for SfxStatusListener' > workdir/CxxObject/svx/source/tbxctrls/tbcontrl.o:tbcontrl.cxx:vtable for SfxStyleControllerItem_Impl: error: undefined reference to 'SfxStatusListener::dispose()' > workdir/CxxObject/svx/source/tbxctrls/tbcontrl.o:tbcontrl.cxx:vtable for SfxStyleControllerItem_Impl: error: undefined reference to 'SfxStatusListener::addEventListener(com::sun::star::uno::Reference<com::sun::star::lang::XEventListener> const&)' > workdir/CxxObject/svx/source/tbxctrls/tbcontrl.o:tbcontrl.cxx:vtable for SfxStyleControllerItem_Impl: error: undefined reference to 'SfxStatusListener::removeEventListener(com::sun::star::uno::Reference<com::sun::star::lang::XEventListener> const&)' > workdir/CxxObject/svx/source/tbxctrls/tbcontrl.o:tbcontrl.cxx:vtable for SfxStyleControllerItem_Impl: error: undefined reference to 'SfxStatusListener::disposing(com::sun::star::lang::EventObject const&)' > workdir/CxxObject/svx/source/tbxctrls/tbcontrl.o:tbcontrl.cxx:vtable for SfxStyleControllerItem_Impl: error: undefined reference to 'SfxStatusListener::statusChanged(com::sun::star::frame::FeatureStateEvent const&)' > workdir/CxxObject/svx/source/tbxctrls/tbcontrl.o:tbcontrl.cxx:vtable for SfxStyleControllerItem_Impl: error: undefined reference to 'non-virtual thunk to SfxStatusListener::disposing(com::sun::star::lang::EventObject const&)' > workdir/CxxObject/svx/source/tbxctrls/tbcontrl.o:tbcontrl.cxx:vtable for SfxStyleControllerItem_Impl: error: undefined reference to 'non-virtual thunk to SfxStatusListener::statusChanged(com::sun::star::frame::FeatureStateEvent const&)' > workdir/CxxObject/svx/source/tbxctrls/tbcontrl.o:tbcontrl.cxx:vtable for SfxStyleControllerItem_Impl: error: undefined reference to 'non-virtual thunk to SfxStatusListener::dispose()' > workdir/CxxObject/svx/source/tbxctrls/tbcontrl.o:tbcontrl.cxx:vtable for SfxStyleControllerItem_Impl: error: undefined reference to 'non-virtual thunk to SfxStatusListener::addEventListener(com::sun::star::uno::Reference<com::sun::star::lang::XEventListener> const&)' > workdir/CxxObject/svx/source/tbxctrls/tbcontrl.o:tbcontrl.cxx:vtable for SfxStyleControllerItem_Impl: error: undefined reference to 'non-virtual thunk to SfxStatusListener::removeEventListener(com::sun::star::uno::Reference<com::sun::star::lang::XEventListener> const&)' > svx/source/tbxctrls/StylesPreviewWindow.cxx:63: error: undefined reference to 'SfxStatusListener::SfxStatusListener(com::sun::star::uno::Reference<com::sun::star::frame::XDispatchProvider> const&, unsigned short, rtl::OUString const&)' > svx/source/tbxctrls/StylesPreviewWindow.cxx:65: error: undefined reference to 'SfxStatusListener::ReBind()' > svx/source/tbxctrls/StylesPreviewWindow.cxx:409: error: undefined reference to 'SfxStatusListener::UnBind()' > svx/source/tbxctrls/StylesPreviewWindow.cxx:413: error: undefined reference to 'SfxStatusListener::dispose()' > svx/source/inc/StylesPreviewWindow.hxx:32: error: undefined reference to 'SfxStatusListener::~SfxStatusListener()' > svx/source/inc/StylesPreviewWindow.hxx:32: error: undefined reference to 'SfxStatusListener::~SfxStatusListener()' > workdir/CxxObject/svx/source/tbxctrls/StylesPreviewWindow.o:StylesPreviewWindow.cxx:typeinfo for StyleStatusListener: error: undefined reference to 'typeinfo for SfxStatusListener' > workdir/CxxObject/svx/source/tbxctrls/StylesPreviewWindow.o:StylesPreviewWindow.cxx:vtable for StyleStatusListener: error: undefined reference to 'SfxStatusListener::dispose()' > workdir/CxxObject/svx/source/tbxctrls/StylesPreviewWindow.o:StylesPreviewWindow.cxx:vtable for StyleStatusListener: error: undefined reference to 'SfxStatusListener::addEventListener(com::sun::star::uno::Reference<com::sun::star::lang::XEventListener> const&)' > workdir/CxxObject/svx/source/tbxctrls/StylesPreviewWindow.o:StylesPreviewWindow.cxx:vtable for StyleStatusListener: error: undefined reference to 'SfxStatusListener::removeEventListener(com::sun::star::uno::Reference<com::sun::star::lang::XEventListener> const&)' > workdir/CxxObject/svx/source/tbxctrls/StylesPreviewWindow.o:StylesPreviewWindow.cxx:vtable for StyleStatusListener: error: undefined reference to 'SfxStatusListener::disposing(com::sun::star::lang::EventObject const&)' > workdir/CxxObject/svx/source/tbxctrls/StylesPreviewWindow.o:StylesPreviewWindow.cxx:vtable for StyleStatusListener: error: undefined reference to 'SfxStatusListener::statusChanged(com::sun::star::frame::FeatureStateEvent const&)' > workdir/CxxObject/svx/source/tbxctrls/StylesPreviewWindow.o:StylesPreviewWindow.cxx:vtable for StyleStatusListener: error: undefined reference to 'non-virtual thunk to SfxStatusListener::disposing(com::sun::star::lang::EventObject const&)' > workdir/CxxObject/svx/source/tbxctrls/StylesPreviewWindow.o:StylesPreviewWindow.cxx:vtable for StyleStatusListener: error: undefined reference to 'non-virtual thunk to SfxStatusListener::statusChanged(com::sun::star::frame::FeatureStateEvent const&)' > workdir/CxxObject/svx/source/tbxctrls/StylesPreviewWindow.o:StylesPreviewWindow.cxx:vtable for StyleStatusListener: error: undefined reference to 'non-virtual thunk to SfxStatusListener::dispose()' > workdir/CxxObject/svx/source/tbxctrls/StylesPreviewWindow.o:StylesPreviewWindow.cxx:vtable for StyleStatusListener: error: undefined reference to 'non-virtual thunk to SfxStatusListener::addEventListener(com::sun::star::uno::Reference<com::sun::star::lang::XEventListener> const&)' > workdir/CxxObject/svx/source/tbxctrls/StylesPreviewWindow.o:StylesPreviewWindow.cxx:vtable for StyleStatusListener: error: undefined reference to 'non-virtual thunk to SfxStatusListener::removeEventListener(com::sun::star::uno::Reference<com::sun::star::lang::XEventListener> const&)' > svx/source/unodraw/unoshap3.cxx:324: error: undefined reference to 'B3dViewport::SetViewportValues(basegfx::B3DPoint const&, basegfx::B3DVector const&, basegfx::B3DVector const&)' > svx/source/xml/xmlxtexp.cxx:92: error: undefined reference to 'XMLMarkerStyleExport::~XMLMarkerStyleExport()' > svx/source/xml/xmlxtexp.cxx:102: error: undefined reference to 'XMLDashStyleExport::~XMLDashStyleExport()' > svx/source/xml/xmlxtexp.cxx:113: error: undefined reference to 'XMLHatchStyleExport::~XMLHatchStyleExport()' > svx/source/xml/xmlxtexp.cxx:123: error: undefined reference to 'XMLGradientStyleExport::~XMLGradientStyleExport()' > svx/source/xml/xmlxtexp.cxx:454: error: undefined reference to 'XMLHatchStyleExport::XMLHatchStyleExport(SvXMLExport&)' > svx/source/xml/xmlxtexp.cxx:432: error: undefined reference to 'XMLMarkerStyleExport::XMLMarkerStyleExport(SvXMLExport&)' > svx/source/xml/xmlxtexp.cxx:443: error: undefined reference to 'XMLDashStyleExport::XMLDashStyleExport(SvXMLExport&)' > svx/source/xml/xmlxtexp.cxx:465: error: undefined reference to 'XMLGradientStyleExport::XMLGradientStyleExport(SvXMLExport&)' > svx/source/xml/xmlxtexp.cxx:438: error: undefined reference to 'XMLMarkerStyleExport::exportXML(rtl::OUString const&, com::sun::star::uno::Any const&)' > svx/source/xml/xmlxtexp.cxx:92: error: undefined reference to 'XMLMarkerStyleExport::~XMLMarkerStyleExport()' > svx/source/xml/xmlxtexp.cxx:449: error: undefined reference to 'XMLDashStyleExport::exportXML(rtl::OUString const&, com::sun::star::uno::Any const&)' > svx/source/xml/xmlxtexp.cxx:102: error: undefined reference to 'XMLDashStyleExport::~XMLDashStyleExport()' > svx/source/xml/xmlxtexp.cxx:460: error: undefined reference to 'XMLHatchStyleExport::exportXML(rtl::OUString const&, com::sun::star::uno::Any const&)' > svx/source/xml/xmlxtexp.cxx:113: error: undefined reference to 'XMLHatchStyleExport::~XMLHatchStyleExport()' > svx/source/xml/xmlxtexp.cxx:471: error: undefined reference to 'XMLGradientStyleExport::exportXML(rtl::OUString const&, com::sun::star::uno::Any const&)' > svx/source/xml/xmlxtexp.cxx:123: error: undefined reference to 'XMLGradientStyleExport::~XMLGradientStyleExport()' > svx/source/xml/xmlxtexp.cxx:482: error: undefined reference to 'XMLImageStyle::exportXML(rtl::OUString const&, com::sun::star::uno::Any const&, SvXMLExport&)' > svx/source/xml/xmlxtimp.cxx:220: error: undefined reference to 'XMLMarkerStyleImport::XMLMarkerStyleImport(SvXMLImport&)' > svx/source/xml/xmlxtimp.cxx:221: error: undefined reference to 'XMLMarkerStyleImport::importXML(com::sun::star::uno::Reference<com::sun::star::xml::sax::XFastAttributeList> const&, com::sun::star::uno::Any&, rtl::OUString&)' > svx/source/xml/xmlxtimp.cxx:222: error: undefined reference to 'XMLMarkerStyleImport::~XMLMarkerStyleImport()' > svx/source/xml/xmlxtimp.cxx:233: error: undefined reference to 'XMLDashStyleImport::XMLDashStyleImport(SvXMLImport&)' > svx/source/xml/xmlxtimp.cxx:234: error: undefined reference to 'XMLDashStyleImport::importXML(com::sun::star::uno::Reference<com::sun::star::xml::sax::XFastAttributeList> const&, com::sun::star::uno::Any&, rtl::OUString&)' > svx/source/xml/xmlxtimp.cxx:235: error: undefined reference to 'XMLDashStyleImport::~XMLDashStyleImport()' > svx/source/xml/xmlxtimp.cxx:259: error: undefined reference to 'XMLGradientStyleImport::XMLGradientStyleImport(SvXMLImport&)' > svx/source/xml/xmlxtimp.cxx:260: error: undefined reference to 'XMLGradientStyleImport::importXML(com::sun::star::uno::Reference<com::sun::star::xml::sax::XFastAttributeList> const&, com::sun::star::uno::Any&, rtl::OUString&)' > svx/source/xml/xmlxtimp.cxx:261: error: undefined reference to 'XMLGradientStyleImport::~XMLGradientStyleImport()' > svx/source/xml/xmlxtimp.cxx:246: error: undefined reference to 'XMLHatchStyleImport::XMLHatchStyleImport(SvXMLImport&)' > svx/source/xml/xmlxtimp.cxx:247: error: undefined reference to 'XMLHatchStyleImport::importXML(com::sun::star::uno::Reference<com::sun::star::xml::sax::XFastAttributeList> const&, com::sun::star::uno::Any&, rtl::OUString&)' > svx/source/xml/xmlxtimp.cxx:248: error: undefined reference to 'XMLHatchStyleImport::~XMLHatchStyleImport()' > svx/source/xml/xmlxtimp.cxx:273: error: undefined reference to 'XMLImageStyle::importXML(com::sun::star::uno::Reference<com::sun::star::xml::sax::XFastAttributeList> const&, com::sun::star::uno::Any&, rtl::OUString&, SvXMLImport&)' > svx/source/xml/xmlxtimp.cxx:222: error: undefined reference to 'XMLMarkerStyleImport::~XMLMarkerStyleImport()' > svx/source/xml/xmlxtimp.cxx:235: error: undefined reference to 'XMLDashStyleImport::~XMLDashStyleImport()' > svx/source/xml/xmlxtimp.cxx:248: error: undefined reference to 'XMLHatchStyleImport::~XMLHatchStyleImport()' > svx/source/xml/xmlxtimp.cxx:261: error: undefined reference to 'XMLGradientStyleImport::~XMLGradientStyleImport()' > include/vcl/vclptr.hxx:129: error: undefined reference to 'svt::MultiLineTextCell::MultiLineTextCell(BrowserDataWin*)' > include/vcl/vclptr.hxx:129: error: undefined reference to 'svt::MultiLineTextCell::MultiLineTextCell(BrowserDataWin*)' > include/svtools/editbrowsebox.hxx:246: error: undefined reference to 'svt::IEditImplementation::~IEditImplementation()' > include/svtools/editbrowsebox.hxx:246: error: undefined reference to 'svt::IEditImplementation::~IEditImplementation()' > include/svtools/editbrowsebox.hxx:246: error: undefined reference to 'svt::IEditImplementation::~IEditImplementation()' > include/svtools/editbrowsebox.hxx:234: error: undefined reference to 'svt::IEditImplementation::~IEditImplementation()' > svx/source/form/fmshimp.cxx:3919: error: undefined reference to 'comphelper::IndexAccessIterator::IndexAccessIterator(com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const&)' > svx/source/form/fmshimp.cxx:3919: error: undefined reference to 'comphelper::IndexAccessIterator::IndexAccessIterator(com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const&)' > svx/source/form/fmshimp.cxx:2342: error: undefined reference to 'comphelper::IndexAccessIterator::Next()' > svx/source/form/fmshimp.cxx:2437: error: undefined reference to 'comphelper::IndexAccessIterator::Next()' > svx/source/inc/fmshimp.hxx:544: error: undefined reference to 'comphelper::IndexAccessIterator::~IndexAccessIterator()' > svx/source/inc/fmshimp.hxx:100: error: undefined reference to 'comphelper::IndexAccessIterator::IndexAccessIterator(com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const&)' > svx/source/form/fmshimp.cxx:3092: error: undefined reference to 'comphelper::IndexAccessIterator::Next()' > svx/source/inc/fmshimp.hxx:97: error: undefined reference to 'comphelper::IndexAccessIterator::~IndexAccessIterator()' > svx/source/inc/fmshimp.hxx:97: error: undefined reference to 'comphelper::IndexAccessIterator::~IndexAccessIterator()' > svx/source/inc/fmshimp.hxx:100: error: undefined reference to 'comphelper::IndexAccessIterator::IndexAccessIterator(com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const&)' > svx/source/form/fmshimp.cxx:3212: error: undefined reference to 'comphelper::IndexAccessIterator::Next()' > svx/source/inc/fmshimp.hxx:97: error: undefined reference to 'comphelper::IndexAccessIterator::~IndexAccessIterator()' > svx/source/form/fmshimp.cxx:1636: error: undefined reference to 'comphelper::IndexAccessIterator::IndexAccessIterator(com::sun::star::uno::Reference<com::sun::star::uno::XInterface> const&)' > svx/source/form/fmshimp.cxx:1636: error: undefined reference to 'comphelper::IndexAccessIterator::~IndexAccessIterator()' > svx/source/form/fmshimp.cxx:1636: error: undefined reference to 'comphelper::IndexAccessIterator::~IndexAccessIterator()' > workdir/CxxObject/svx/source/form/fmshimp.o:fmshimp.cxx:typeinfo for FmXBoundFormFieldIterator: error: undefined reference to 'typeinfo for comphelper::IndexAccessIterator' > workdir/CxxObject/svx/source/form/fmshimp.o:fmshimp.cxx:typeinfo for SearchableControlIterator: error: undefined reference to 'typeinfo for comphelper::IndexAccessIterator' Change-Id: I9911219083676cd10f5ccfc067655252eb172a3e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119676 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-05-06use Widget::get_clipboardCaolán McNamara1-1/+8
there's no different from GetSystemClipboard except potentially for the libreofficekit case where per-frame clipboards are possible Change-Id: I3173e39f81a03a7cbe114ebca6020d5ed36a659a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115179 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-05-02finally 'Change return value to Rectangle in next incompatible build'Caolán McNamara1-1/+1
Change-Id: I8d301857a2529125c6dab43e3969aa61909537b7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114977 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-04-06remove Application::GetDefDialogParent call in editengCaolán McNamara1-3/+3
and pass in an explicit parent to use Change-Id: I1aa768ec5ac13b2097b78499f964a3590a0ac14e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113695 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-04-06ExecuteSpellPopup never called with a null spelling callbackCaolán McNamara1-1/+1
Change-Id: Id03001541ccfd8503a7b8181598bad9811542b4e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113694 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-03-20add GetInputLanguage to EditViewCaolán McNamara1-0/+2
and hide the need to expose its vcl::Window Change-Id: Ide8a2e2500116af412a8717052a300e8ef4d1a48 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112782 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-03-14loplugin:unusedmethodsNoel1-1/+0
Change-Id: I851eba4ca80eac9ee5896df53fbcd0f5ad125763 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112433 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-02-24avoid LOK text selection update when reference cell is in different tabPranam Lashkari1-1/+1
Change-Id: I511b9c5a27f97b6e14e9a844179c27a96997abe1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111315 Tested-by: Jenkins Reviewed-by: Pranam Lashkari <lpranam@collabora.com>
2021-02-15tdf#140414 add getting mouse pos to EditViewCallbacksCaolán McNamara1-0/+3
Change-Id: I09172e0cb24f5c45d2837cf2f2fc7cc4baa456a4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110932 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-01-26loplugin:passstuffbyrefNoel1-1/+1
Change-Id: I330e0ab6c9955939dad313f9d472f93e39dbd313 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109924 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-01-21lok: fix incorrect invalidate cursor positionHenry Castro1-0/+1
When the comment is created and it's shown in the "Writer" application, it creates an initial output area: mpOutlinerView->SetOutputArea( PixelToLogic( tools::Rectangle(0,0,1,1) ) ); Unfortunately, it causes that send to client side cursor position and scroll to the beginning of the document. Change-Id: I13e21c71328b7f05781e7cdeed082d6cc2b9d679 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109371 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Jan Holesovsky <kendy@collabora.com> (cherry picked from commit 4618849a1cbba4e249ee13c3b6412337160a2816) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109732 Tested-by: Jenkins Reviewed-by: Henry Castro <hcastro@collabora.com>
2020-12-27Preparations for customized xml entities on exportdante1-1/+1
Change-Id: I8ad4af7e27ae5f8908f4c932242cb96abbf3de90 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108354 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-12-18add a return to EditView::Command to indicate if the command was consumedCaolán McNamara1-1/+1
Change-Id: I971fcfb77d93d7d1146443a8ec30d9159746bd89 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107960 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-12-18add GetOutputDevice to EditViewCaolán McNamara1-0/+1
Change-Id: I8b2555669106096b9ab37e0cc89267f5759efa3f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107958 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-12-10add a way to provide a parent for a popup menuCaolán McNamara1-0/+6
Change-Id: Ic21726f243248a4b09f9e2f462e53df2e39df7df Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107570 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-10-27Resolves: tdf#137620 add DeleteSurroundingText at vcl::Window levelCaolán McNamara1-0/+1
a) give it a default implementation based on the current one b) re-use code introduced for WeldEditView::DeleteSurroundingText for the EditView containing vcl::Window in impress/draw and various similar Annotation windows Change-Id: I55547c70e90ee394795b5545450cf8131538fad8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104781 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-10-23tdf#104378: don't reset para attributes whileMark Hung1-0/+1
converting Chinese characters. In TextConvWrapper::ChangeText_impl, calls to EditView::RemoveAttribs() reset the paragraph attributes. That makes SvxLanguageItem of EE_CHAR_LANGUAGE_CJK become LANGUAGE_DONTKNOW. Hence it always stops converting after the first success. This patch overload EditView::RemoveAttribs() so that it is possible to clear all character attributes of the selction without touching paragraph attributes. Before, bRemoveParaAttribs either removes items between EE_ITEMS_START and EE_CHAR_END, or removes items between EE_CHAR_START and EE_CHAR_END. The patch add a new enum class EERemoveParaAttribsMode, with the following values: 1. RemoveAll : correspond to the old bRemoveParaAttribs = true 2. RemoveCharItems: correspond to the old bRemoveParaAttribs = false 3. RemoveNone: new thing for "don't touch para attributes." Change-Id: I5132e708dea9e2066f13f1b001bd954d7b477f56 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104484 Tested-by: Jenkins Reviewed-by: Mark Hung <marklh9@gmail.com>
2020-10-20use tools::Long in editengNoel1-2/+2
Change-Id: Ib7014c353489461ad9489d9f3fefd59a32f8f877 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104524 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-10-16weld InputBarCaolán McNamara1-0/+1
this also restores that DnD of a selection from the inputbar is pasted as plain text not rich text formatted with the happenstance formatting of the inputbar's EditEngine Change-Id: If4934f83c14357afec2e0a7e1d51c8a1aea1d292 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104037 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-10-08add EditViewCallbacks handler to support updating scrollbar stateCaolán McNamara1-0/+5
the problem is that since... commit 319d8be9dad248a3ced5ac311e0b20ec3ed4cef7 Date: Tue Nov 22 16:21:20 2011 +0000 tweak experimental gsoc multiline input bar, better resizing, enable scroll that uses SetNofifyHdl to try and keep its scrollbar up to date, but that SetNotifyHdl is also used by a11y to listen to the editengine and only one can be set at a time, so with a11y enabled (the gtk default case) either a11y works or the multiline scroll doesn't or vice versa. Seeing as the a11y case is the very complicated case, leave a11y alone and plot a route to disentangle the straightforward calc multiline edit from a11y. Change-Id: Iedc7ffc39940354e8a05c0620944f617eee6b550 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104080 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-10-02tdf#134566 gtk IM support for custom widgetsCaolán McNamara1-0/+3
Change-Id: I5c731161768d09d021db5c353de816e173159096 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103764 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-09-30tdf#134566 accept input engine commands in editview in custom widgetCaolán McNamara1-5/+9
for the generic case first Change-Id: I10bd707900b54c70c9bda79d5d09532cc159779e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103692 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-08-31Fix typo in codeAndrea Gelmini1-2/+2
It passed "make check" on Linux Change-Id: I7596db11cae77c2dcadd740c44cc72fd5dbceb9b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101619 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2020-07-14tdf#134478 Refactor dumping of EditEngine dataJan-Marek Glogowski1-1/+1
- document key combinations in README - dump data into workdir as editenginedump.log - move as static function into EditEngine class - get rid of the EditDbg class and editdbg.hxx Change-Id: I965f0143a9a275a289b202f54c0ea65da63c52f6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97873 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2020-07-09lokit: Avoid sending wrong edit-cursor/selection messages when...Dennis Francis1-0/+3
the EditView's output-area needs to be tweaked temporarily to render it to a tile which is meant for another view. Change-Id: I2b8fc1986c247ce65c18ea64e3b43d25625c7e9c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98129 Tested-by: Jenkins Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
2020-07-07Introduce LOK 'special positioning' methods to EditViewDennis Francis1-0/+16
This is meant for Calc. In Calc, all positions in twips are computed by doing independent pixel-alignment for each cell's size. To allow print-twips coordinates in LOK messages specific to EditView, this patch introduces new methods to set/update both 'output-area' and 'visible-doc-position' in print twips coordinates, which are stored separately. Change-Id: Id165966c970fa26c79d583f435dccd62c7eb1f0c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98120 Tested-by: Jenkins Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
2020-04-23lokit: fix edit-text/view-cursor positionDennis Francis1-0/+2
in case of views with heterogeneous zooms. 1. EditText render position fix The EditView has an 'output-area' which is used to clip the rectangle we pass to the Paint() call. It also holds on to the ScGridWindow instance where the edit started. The 'output-area' of the EditView is in the coordinates/units of the MapMode of the ScGridWindow it holds. So we need to temporarily change the MapMode and 'output-area' of the EditView in agreement to the device(with the current view's zoom settings) where we are going to paint to. After we call the Paint(), we rollback the original settings of the EditView. 2. EditViewCursor position fix Before this change the cursor position in twips (calculated based on pixel aligned cell position in the view where editing occurred) is broadcasted to all the client-views. If the clients have different zooms, then simply scaling this common cursor position in the client for its zoom is not going to be accurate enough (due to the non-linear Logic->Pixel->Logic transformation involving pixel rounding). This is very visible if you are editing far away from A1 (like Z50). The fix is to turn off this broadcast for calc-cell editing and send view specific edit-cursor invalidation messages. This is accompanied by a online.git patch that removes unnessecary broadcast of view-cursor invalidation messages which messes up things again. "Do not broadcast view-cursor invalidation messages" (cherry picked from commit d58f1e334245f9e136750fbba267c2a941a213cc) Conflicts: editeng/source/editeng/impedit.cxx editeng/source/editeng/impedit.hxx Change-Id: Ib2fbbe4b6f93f26fc85d6adaa8684dd4397d886f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92631 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Michael Meeks <michael.meeks@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92721 Tested-by: Jenkins Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
2020-03-23make more classes private in mergedlibs modeNoel Grandin1-1/+2
Change-Id: I486922d0652f26fa7ee56f5fe308e19fe5ff137e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90856 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-03-17sd lok: Implement execution of SID_SPELLCHECK_IGNORE_ALLTamás Zolnai1-0/+1
Used by online spellchecking context menu. Change-Id: Iad3dafedbfed1605ba06f7f87ed91117c9b1a8e1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90597 Tested-by: Tamás Zolnai <tamas.zolnai@collabora.com> Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
2019-09-02loplugin:constmethod in editengNoel Grandin1-3/+3
Change-Id: I07e22d880940ea6df928565942dac268f4b94fea Reviewed-on: https://gerrit.libreoffice.org/78399 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-08-12Don't select hyperlink fields arbitrarilySamuel Mehrbrodt1-0/+1
For some functions, like remove or edit hyperlink, it's required that the hyperlink field is selected. However, we should do that only when executing the function, not when queriying its status. This led to selection changes on mouse over/right click. Change-Id: I22035698032d1e651aae6a74d6e445dfe044bf74 Reviewed-on: https://gerrit.libreoffice.org/77336 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2019-07-15tdf#62561 Add remove/edit hyperlink to calc context menuSamuel Mehrbrodt1-0/+3
Change-Id: Idb1b96dc4e95be40a796f9178975207099101b87 Reviewed-on: https://gerrit.libreoffice.org/75497 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2019-06-26allow welded drag and drop into editviewCaolán McNamara1-0/+9
Change-Id: Ia03083b0507ef969300316034cde9bbcf5963b9a Reviewed-on: https://gerrit.libreoffice.org/74746 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-04-15tdf#42949 Fix IWYU warnings in include/editeng/[a-e]*Gabor Kelemen1-10/+6
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I81917d697adf79b1bd0de4cc262d3cd6bc8eb36f Reviewed-on: https://gerrit.libreoffice.org/70710 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>