summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSzymon Kłos <szymon.klos@collabora.com>2019-06-05 15:44:15 +0200
committerSzymon Kłos <szymon.klos@collabora.com>2020-03-02 08:07:47 +0100
commit5512ac595eb87fffda43f4dd91eaaa1ba90aac74 (patch)
tree2eb828fe2001ca888c3f81fe850661a89fc07c9d
parent6a031edca26cadd5917a94de2d3b6a706197a8fc (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.cxx22
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