diff options
author | Szymon Kłos <szymon.klos@collabora.com> | 2019-06-05 15:44:15 +0200 |
---|---|---|
committer | Szymon Kłos <szymon.klos@collabora.com> | 2020-03-02 08:07:47 +0100 |
commit | 5512ac595eb87fffda43f4dd91eaaa1ba90aac74 (patch) | |
tree | 2eb828fe2001ca888c3f81fe850661a89fc07c9d | |
parent | 6a031edca26cadd5917a94de2d3b6a706197a8fc (diff) |
Open links when editing the text in impress
Change-Id: Ibfead6dce019400ad5fa32a5f5351fa3e8fdea7d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89538
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
-rw-r--r-- | sd/source/ui/func/futext.cxx | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/sd/source/ui/func/futext.cxx b/sd/source/ui/func/futext.cxx index b8beb4e50408..8b2b1108119b 100644 --- a/sd/source/ui/func/futext.cxx +++ b/sd/source/ui/func/futext.cxx @@ -262,6 +262,28 @@ bool FuText::MouseButtonDown(const MouseEvent& rMEvt) SdrViewEvent aVEvt; SdrHitKind eHit = mpView->PickAnything(rMEvt, SdrMouseEventKind::BUTTONDOWN, aVEvt); + // handle URL also during the text editing + if (rMEvt.GetClicks() == 1 && rMEvt.IsLeft() && rMEvt.IsMod1()) + { + OutlinerView* pOLV = mpView->GetTextEditOutlinerView(); + + if (mxTextObj.is() && pOLV && pOLV->GetFieldUnderMousePointer()) + { + const SvxFieldItem* pFieldItem = pOLV->GetFieldUnderMousePointer(); + if (pFieldItem) + { + const SvxFieldData* pField = pFieldItem->GetField(); + + if (pField && dynamic_cast< const SvxURLField *>( pField ) != nullptr) + { + eHit = SdrHitKind::MarkedObject; + aVEvt.eEvent = SdrEventKind::ExecuteUrl; + aVEvt.pURLField = static_cast<const SvxURLField*>(pField); + } + } + } + } + if (eHit == SdrHitKind::TextEdit) { // hit text -> SdrView handles event |