summaryrefslogtreecommitdiff
path: root/svx/source/svdraw/svdedxv.cxx
AgeCommit message (Collapse)Author
2017-10-21loplugin:redundantcast handle dynamic_castNoel Grandin
Change-Id: I7855c76e820efce96778b1c19ec71dffcc4b4abb Reviewed-on: https://gerrit.libreoffice.org/43621 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-09-13clang-tidy modernize-use-emplace in svxNoel Grandin
Change-Id: I52f062bf0b4c1af44576546d0593699758d71084 Reviewed-on: https://gerrit.libreoffice.org/42232 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-29svx: Mark functions as localTakeshi Abe
Change-Id: I15498d3d2b80b20cfae35ce6b304fd83ce8f5083 Reviewed-on: https://gerrit.libreoffice.org/41641 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
2017-08-22drop unused SvxScriptTypeItemJochen Nitschke
apparently there was never a user for this item since initial commit in the year 2000. SvxScriptSetItem gets the ScriptType by parameter see GetItemOfScript and PutItemForScriptType. remove SID_ATTR_CHAR_SCRIPTTYPE and don't put the item in any set. keep the gap in the ID range because it's not part of any range and there are already other gaps. Change-Id: Iee24f13b329593af2dc5548d8b6bc2282c2dc5b3 Reviewed-on: https://gerrit.libreoffice.org/41423 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-17remove UL/L suffixes from integer constants on the RHS of expressionsNoel Grandin
Change-Id: I899a8126c9d971601fea6c77eca165718aea0ac5 Reviewed-on: https://gerrit.libreoffice.org/41237 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-12try to please ubsanJochen Nitschke
tinderbox Jenkins_Linux_Ubsan fails with: > /home/tdf/lode/jenkins/workspace/lo_ubsan/svx/source/svdraw > /svdedxv.cxx:462:48: > error: default initialization of an object of const type > ´const std::vector<basegfx::B2DRange>´ > without a user-provided default constructor > const std::vector< basegfx::B2DRange > aEmptySelection; > ^ > {} we have to use value initialization instead of default initialization Change-Id: I1e5e1266ac76e27afcbe57bc1414fd6ac774c9be Reviewed-on: https://gerrit.libreoffice.org/41071 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
2017-08-11Fix typosAndrea Gelmini
Change-Id: Ia36c8abe91e8c2ac46498e88def59a9887711ba1 Reviewed-on: https://gerrit.libreoffice.org/41014 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2017-08-11editviewoverlay: corrected AttributeChangeArmin Le Grand
EditView on Overlay visualization needs to handle selection change when e.g. FontSize attribute of a selected text portion changes. Changed handling so that selection overlay is an integral part of text visualization overlay and refreshing text visualization always refreshes selection visuals, but not the other way around. Both anyways check for real change, so just extra testing is avoided which is still the better solution Change-Id: I3ce6570fd9a18a7c1d7ced4bc4ca9aeda57538e0 Reviewed-on: https://gerrit.libreoffice.org/40993 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
2017-08-10editviewoverlay: correct reaction on property changeArmin Le Grand
Do not hand over LogicalSelectionRanges directly on selection change, better let the visulizer do what he needs. On AttributeChange, tge resulting repaint needs to refresh all OverlayObjects, not only text, but also the selection to make look okay e.g. at font size change Change-Id: Ibb9737c33d6f85a9f68df3edbb989c0443cd4a5c
2017-08-10editviewoverlay: more cases securedArmin Le Grand
Added support for vertical text, checked all combinations for text positioning, secured cursor stuff, ensured collaboration with LibreOfficeKit Change-Id: I98d1187700907c0c72abdccb9c9979496f6c20cf
2017-08-10editviewoverlay: EditViewSelection reorganizedArmin Le Grand
The Selection visualization in EditVierw is organized to use XOR for visualization, thus DrawSelection is used e.g. before and after changes to the Selection. Ensured athat all changers of selection have to use SetEditSelection by making return of GetEditSelection const. This allows to use a central and safe SelectionChanged which is needed for alternatives of Selection visualization. Change-Id: I994553f3be6b58fd595aa500922d8d1d8ddd36d4
2017-08-10editviewoverlay: Allow EditView to run in OverlayArmin Le Grand
This is the first basic functionality to get the active EditView with EditEngine work in the Overlay which all Apps support. Reason is that the current EditEngine 'plugs' into the Window and uses Invalidate() calls to repaint deeply everything under a text change. While this is acceptable for simple cases it can get very slow when there are excessive, expensive to paint objects in the background, e.g. MasterPages in Draw/Impress with gradients and other stuff. This was avoided in older versions (LO51) by 'guessing' a good BackgrundColor by the EditEngine, not invalidating but painting actively using that guess (with better or worse results) which someone removed. For the future it is anyways the better way to get the EditEngine functionality to Overlay and using Primitives, this will be a first step. This may enable Text Editing without repainting the Background (fast), using a non-XOR selection paint and more. It will need thorough testing and further experimenting due to EditEngine being used in many places (DrawObjects, Calc Cells, Formular Fields, Controls, ...) Change-Id: Ib9eb0f3999fd61a82ddf7a60ab1ea6ccda3a60da
2017-08-04rename Anz->Cnt in svxNoel Grandin
Change-Id: Idbe6849d36727c382ffd11d6bf04e78d6a66a878 Reviewed-on: https://gerrit.libreoffice.org/40740 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-27loplugin:constparams in svxNoel Grandin
and fix a bug in the plugin itself when calling operator's like the one on std::function<> Change-Id: I1617607107eeff06785c1841f69e13ad2926218e Reviewed-on: https://gerrit.libreoffice.org/40446 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-21migrate to boost::gettextCaolán McNamara
* all .ui files go from <interface> to <interface domain="MODULE"> e.g. vcl * all .src files go away and the english source strings folded into the .hrc as NC_("context", "source string") * ResMgr is dropped in favour of std::locale imbued by boost::locale::generator pointed at matching MODULE .mo files * UIConfig translations are folded into the module .mo, so e.g. UIConfig_cui goes from l10n target to normal one, so the res/lang.zips of UI files go away * translation via Translation::get(hrc-define-key, imbued-std::locale) * python can now be translated with its inbuilt gettext support (we keep the name strings.hrc there to keep finding the .hrc file uniform) so magic numbers can go away there * java and starbasic components can be translated via the pre-existing css.resource.StringResourceWithLocation mechanism * en-US res files go away, their strings are now the .hrc keys in the source code * remaining .res files are replaced by .mo files * in .res/.ui-lang-zip files, the old scheme missing translations of strings results in inserting the english original so something can be found, now the standard fallback of using the english original from the source key is used, so partial translations shrink dramatically in size * extract .hrc strings with hrcex which backs onto xgettext -C --add-comments --keyword=NC_:1c,2 --from-code=UTF-8 --no-wrap * extract .ui strings with uiex which backs onto xgettext --add-comments --no-wrap * qtz for gettext translations is generated at runtime as ascii-ified crc32 of content + "|" + msgid * [API CHANGE] remove deprecated binary .res resouce loader related uno apis com::sun::star::resource::OfficeResourceLoader com::sun::star::resource::XResourceBundleLoader com::sun::star::resource::XResourceBundle when translating strings via uno apis com.sun.star.resource.StringResourceWithLocation can continue to be used Change-Id: Ia2594a2672b7301d9c3421fdf31b6cfe7f3f8d0a
2017-07-01tdf#107505: Impress - crash with two people co-editing one slideTamás Zolnai
In tiledrendering mode cursor inside shapes are not handled very well now. Different LO instances manipulates the same cursor instead of having one separate cursor for all instances (as in case of simple text editing in Writer). Crashes caused by that one cursor is owned (created and destroyed) by one LO instance but used by an other instance in the meantime. We can avoid this by not making this cursor available to the other instances. Cursor is hidden anyway so don't need to have it set to the corresponding Window. Change-Id: Id78f79e73eda88f3c2c6aa7f534c32f3f8aba174 Reviewed-on: https://gerrit.libreoffice.org/39432 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
2017-06-21loplugin:unusedfields in svx part2Noel Grandin
Change-Id: Ie9fd55b71a152f428a397d9917918f0e9de39aaf Reviewed-on: https://gerrit.libreoffice.org/39014 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-06-21loplugin:unusedfields in svx part1Noel Grandin
Change-Id: I6621e0dda5a5dc3e68c7b1613975c075e2879912 Reviewed-on: https://gerrit.libreoffice.org/39006 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-06-18tdf#107666: EDITING: No caret outside the textbox after inserting a textboxTamás Zolnai
This reverts commit 44555103217df34b218787f3dc6a2634b41fe52e. Now revert the related commit, need to revisit the original bug later. Change-Id: I08f42c4e859277ab411e4be5ad065fe3cca8bbb6 Reviewed-on: https://gerrit.libreoffice.org/38923 Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com> Tested-by: Tamás Zolnai <tamas.zolnai@collabora.com>
2017-06-12tdf#108480: Undo from clone formating does not remove vertical alignmentTamás Zolnai
In the related change: d36aa2ba3132ce62a370b7260ca620642cbf7dbf wrong method was used to set cell properties, which does not handle undo actions, so use the proper function. Other issue was related to undo handling of vertical text alignment in general. In some cases undo actions were lost after user clicked out of the cell. It is because vertical alignment is not affecting the outliner and so the related undo actions were just dropped in EndTextEdit() method. Change-Id: I3a6a95fac711056a658a3dee616733939cd13330 Reviewed-on: https://gerrit.libreoffice.org/38699 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
2017-06-12clang-tidy readability-delete-null-pointerNoel Grandin
which in turn triggered some loplugin:useuniqueptr Change-Id: I0c38561fc9b68dac44e8cf58c8aa1f582196cc64 Reviewed-on: https://gerrit.libreoffice.org/38281 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-05-05loplugin:checkunusedparams in svx(part3)Noel Grandin
Change-Id: I4b9b749565750acc7f674957fd619870b0e29237 Reviewed-on: https://gerrit.libreoffice.org/37240 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-05-04convert EVAnchorMode enum to scoped enumJochen Nitschke
change values to match position in definition to their meaning Change-Id: Ia96e0c7e0c70c847dea518ef871608516542d3cb Reviewed-on: https://gerrit.libreoffice.org/37186 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-05-03svx: SdrObjEditView::SdrEndTextEdit() must be called after SdrBeginTextEdit()Michael Stahl
... to prevent disasters with managing the UndoManager, so assert that. Change-Id: Id577ea465e21e3d358b3ff0bb36de0af34e0b69d
2017-05-03svx: SdrObjEditView is not the owner of mpOldTextEditUndoManagerMichael Stahl
In all of sc, sd, sw, the UndoManager returned by getSdrUndoManagerForEnhancedTextEdit() is owned by the application and SdrObjEditView should leave its grubby paws off of it. Change-Id: I7be3d336e0aaf4905323c1e99ff0643b3844f295
2017-04-29tdf#107505: Impress - crash with two people co-editing one slideTamás Zolnai
Deleting outliner view removes the pointed Cursor (pTECursorMerker). Change-Id: Iac17386d1d02bf52bd5322073e49da05c6e89d9b Reviewed-on: https://gerrit.libreoffice.org/37085 Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com> Tested-by: Tamás Zolnai <tamas.zolnai@collabora.com>
2017-04-05loplugin:constantparamNoel Grandin
Change-Id: I1996319e5b664dff95f7a9b2346aea6092d333ec Reviewed-on: https://gerrit.libreoffice.org/36070 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-03-31tdf#82580 tools: rename Rectangle to tools::RectangleMiklos Vajna
Mostly generated using make check COMPILER_EXTERNAL_TOOL=1 CCACHE_PREFIX=clang-rename-wrapper RENAME_ARGS="-qualified-name=Rectangle -new-name=tools::Rectangle" Except some modules have their own foo::tools namespace, so there have to use ::tools::Rectangle. This commit just moves the class from the global namespace, it does not update pre/postwin.h yet. Change-Id: I42b2de3c6f769fcf28cfe086f98eb31e42a305f2 Reviewed-on: https://gerrit.libreoffice.org/35923 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2017-02-21remove unused OBJ_DUMMY from SdrObjKind enumNoel Grandin
Change-Id: I953c81cf477fddf0f136b3b03a6682c962850deb Reviewed-on: https://gerrit.libreoffice.org/34471 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-02-14remove unused ModelSaved enumerator from SdrHintKind enumNoel Grandin
Change-Id: I0a236705efdcbc5f44cad8517f7f8f80d326934d Reviewed-on: https://gerrit.libreoffice.org/34209 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-01-14coverity#1398583 Dereference after null checkCaolán McNamara
and coverity#1398580 Dereference after null check Change-Id: Ib02a05d97c2ee2824eb1e8ad7fa97022fd573879
2016-12-16avoid dynamic_castEike Rathke
Change-Id: I9f64eac95b39adc649b2e63cd5abdd6e7a448ee6
2016-12-07tdf#104405 Clone Formatting ignores vertical text alignmentNoel Grandin
Change-Id: I56cce69ddb21f7f9336b8f59e181e91306e92019 Reviewed-on: https://gerrit.libreoffice.org/31623 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2016-12-05silence some BAD_SHIFTsCaolán McNamara
Change-Id: I2a669aff0a8a63eb4b16600344cea9f601d5e68a Reviewed-on: https://gerrit.libreoffice.org/31601 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-12-02use early return to simplify flowNoel Grandin
Change-Id: I98201eac2e038c152422bbc6380cfa321ba266df Reviewed-on: https://gerrit.libreoffice.org/31534 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-11-23small tidyup in SdrObjEditView::ApplyFormatPaintBrushNoel Grandin
Change-Id: I8c1797e78f644bd15eb6d26a96fcc3ed909c2aab
2016-11-21convert inventorId to scoped enumNoel Grandin
SW_DRAWLAYER had the same value as SC_DRAWLAYER, so I merged it into the ScOrSwDraw enum constant Change-Id: I5c45d378c00364d11cc960c9e48a6e3f10928724 Reviewed-on: https://gerrit.libreoffice.org/31037 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-10-05convert MapUnit to scoped enumNoel Grandin
I left a prefix on the names "Map" so that I would not have to re-arrange each name too much, since I can't start identifiers with digits like "100thMM" And remove RSC_EXTRAMAPUNIT, which doesn't seem to be doing anything anymore. Change-Id: I5187824aa87e30caf5357b51b5384b5ab919d224 Reviewed-on: https://gerrit.libreoffice.org/29096 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-10-05Remove _TYPED suffix from tools/link.hxx macrosStephan Bergmann
...which was introduced with 3ead3ad52f9bb2f9d1d6cf8dfc73a0a25e6778ed "Gradually typed Link" to distinguish the new, typed versions from the old, untyped ones, but is no longer necessary since 382eb1a23c390154619c385414bdbe6f6e461173 "remove untyped Link<>" removed the old versions. Change-Id: I494025df486a16a45861fcd8192dfe0275b1103c
2016-09-14sd lok draw text: make sure watching views have no cursorsMiklos Vajna
These additional views are only created to follow the updates done in the editing view, not to contribute additional cursors. With this, if the first view edits a shape text and the second view is created, then no unwanted text view cursor is created in the first view for the shape text from the second view. Be precise in the unit test and make sure that cursors from all views are hidden, because even without a fix the cursor of view #2 is hidden, but not from view #3, so the test wouldn't fail without the fix. (But hardcoding the 0-1 and 2-3 view IDs exposed by Impress before/after initializeForRendering() would be ugly.) Change-Id: Idf64f7bfcc35c98a5eada9a0a523a9b45b65a211
2016-09-02svx: move GetSfxViewShell() to SdrMarkViewMiklos Vajna
... from SdrObjEditView. This way SdrMarkView can avoid SfxViewShell::Current() calls, and it can avoid clearing the LOK graphic selection of the old view when constructing a new view. With this, an existing graphic selection in an Impress LOK view is no longer cleared when creating a new view, thanks to the sd::View::GetSfxViewShell() override. Change-Id: I70a287aa9c2265bf59a9fb18e0c3839b8f119bbc Reviewed-on: https://gerrit.libreoffice.org/28618 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2016-08-23convert SdrEndTextEditKind to scoped enumNoel Grandin
Change-Id: Ic331db66ad937eba6488e6a9bbb30131230a29d7
2016-08-22convert SdrHintKind to scoped enumNoel Grandin
Change-Id: I77ad33425d440263a71bc94f41d8e141f16dfb78
2016-08-02editeng: make SfxUndoAction::GetViewShellId() interface availableMiklos Vajna
Extend the existing OutlinerViewCallable interface to be able to obtain the view shell ID of a view shell, even from editeng. Change-Id: I13708b0e4f58ee86643b913c7d21de022a685223 Reviewed-on: https://gerrit.libreoffice.org/27788 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2016-07-27svx lok: fix handling of text edit drawing when view/page changesMiklos Vajna
This is a follow-up to commit 9d91d371e92548c7f75a7d0155eecaf3769fdee6 (svx lok: draw text edits in all views, 2016-07-26). Two corner-cases are now handled: 1) When the SfxViewShell is created after begin text edit and 2) When the other draw view is already created, but at the time begin text edit happens, the other draw view shows a different page. And the opposite of these: switching away from a page were we observe a text edit done in an other view or destroying a view that observes a text edit. When the complete view goes away, then SdrObjEditView::HideSdrPage() is not called, so also try to destroy the outliner view of the text edit from SdrObjEditView::DeleteWindowFromPaintView(). The GetSfxViewShell() call in SdrObjEditView::ShowSdrPage() is important, because we let the other draw view create the outliner view, but the outliner view should invoke our view shell, not the view shell of the other draw view. Also improve the SdTiledRenderingTest::testCursorViews() testcase, so that it asserts it managed to begin text edit and use a test document that still has a single slide and shape, but the shape is not auto-sized; otherwise invalidations happen even if outliner views are not created in all draw views, so the test would pass even without the fixes. Change-Id: I2c3bb27826c6887115366db818599fc8adabc5a5 Reviewed-on: https://gerrit.libreoffice.org/27583 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2016-07-27svx lok: avoid SfxViewShell::Current() during constructing a new view shellMiklos Vajna
Currently when a text edit is started, then in the LOK case if there is an other view that shows the same page, then both draw views will have an outliner view showing the text edit. This means that in case a view shell is created after starting the text edit, that won't have an outliner view for the text edit. Before fixing this, calls to SfxViewShell::Current() has to be avoided when we're in the process of setting up a new LOK view. In case of Impress, this is a double initialization, and by the time SdrObjEditView::ImpMakeOutlinerView() is called, we're already in the process of setting up the second SfxViewShell (as part of SdXImpressDocument::initializeForTiledRendering()), but SfxViewShell::Current() still points to the old view shell. Which means that the outliner view would refer to a view shell that's deleted soon, and we crash as soon as it tries to invoke a LOK callback. Fix this by adding a virtual member function to SdrObjEditView, and override it in sd, so in case applications want to provide a more precise way of giving the view shell owning a draw view, then they can. Change-Id: Ie0005f73237d4ff9cf576bf16fa5b46280f13759 Reviewed-on: https://gerrit.libreoffice.org/27561 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2016-07-26svx lok: draw text edits in all viewsMiklos Vajna
Use case: a document has a shape with text, and two views. If one view starts to edit the shape text, the model text is hidden (via TextHierarchyEditPrimitive2D), and the in-progress text was painted directly only in the view that edits it. The remaining views presented the shape as if it had no text. This commit addresses the subset of this use case when the views are already created and they already show the same draw page. Fix the problem by looking for other views showing the same draw page, create a view of the text edit for them, and paint them in all views after the own text edit is painted. There is not much LOK-specific in this code, except that some extra code would be needed to not paint the blinking cursor of the text edit in other views, and then it could be enabled in the non-LOK case as well. Change-Id: Ib3096a3369fa56663ee209794e102090d362de66 Reviewed-on: https://gerrit.libreoffice.org/27535 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2016-07-26masses of MessBoxes not being disposed promptlyCaolán McNamara
since... commit ba81e5c6bd420b41a84ade6ccd774011a8089f7f Date: Thu May 28 21:35:43 2015 +0100 tdf#91702 - fix stack-based MessBox allocation. There is no special ScopedVclPtr<X>::Create or ScopedVclPtrInstance<X>::Create just VclPtr<X>::Create and a raw VclPtr<X>::Create()->foo doesn't call dispose on the owned X Change-Id: Ifacc8d5e742820701307c3c37b9b86487667d84f
2016-07-20sd lok: decouple vcl window focus from cursor visibilityMiklos Vajna
The problem was the the blinking cursor was hidden when another vcl window got its focus, so it wasn't possible to edit two shape text in parallel in two windows. The code path is like this: - show cursor, cursor is created: SdrObjEditView::SdrBeginTextEdit() -> OutlinerView::ShowCursor() - show cursor, focus case: sd::FuText::Activate() -> OutlinerView::ShowCursor() - hide cursor, cursor is deleted: SdrObjEditView::SdrEndTextEdit() -> OutlinerView::HideCursor() - hide cursor, focus case: sd::FuText::Deactivate() -> OutlinerView::HideCursor() So add a new optional bool parameter that allows not emitting the LOK_CALLBACK_CURSOR_VISIBLE callback in the focus change case. Also, if we're at it, make sure that painting emits no show/cursor LOK callbacks. Change-Id: I1068a1b1f5cd76fd09b5a79066834bfb0daebc77 Reviewed-on: https://gerrit.libreoffice.org/27335 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org>
2016-06-27loplugin:singlevalfields in svx(part3)Noel Grandin
Change-Id: I6b7a33b5f1297309a7225cac8150dbf1175506b6 Reviewed-on: https://gerrit.libreoffice.org/26642 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>