diff options
author | Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de> | 2021-07-27 14:10:27 +0200 |
---|---|---|
committer | Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de> | 2021-07-27 16:19:17 +0200 |
commit | 3c6b0322e2dc897bdd986afe0fe876a5d429528a (patch) | |
tree | 086bb5e417a1df5a8dbfeadd791aae9210d7bc3b | |
parent | cec95cd93ce002ff57e9a530ee920170f5d36e38 (diff) |
tdf#123626 Add "Open hyperlink" context menu to hyperlinked shapes
Was missing in a23b44fd9f0119f7ea3523e32875f55c1a07c1cd
Change-Id: Ifcee4af79a00c77206be4c2d5ff621f56f2d0018
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119551
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
-rw-r--r-- | sw/sdi/_drwbase.sdi | 6 | ||||
-rw-r--r-- | sw/source/uibase/shells/drwbassh.cxx | 14 |
2 files changed, 18 insertions, 2 deletions
diff --git a/sw/sdi/_drwbase.sdi b/sw/sdi/_drwbase.sdi index e90d50cb92fb..6c700380ed10 100644 --- a/sw/sdi/_drwbase.sdi +++ b/sw/sdi/_drwbase.sdi @@ -117,6 +117,12 @@ interface BaseTextDrawBase StateMethod = GetState ; DisableFlags="SfxDisableFlags::SwOnProtectedCursor"; ] + SID_OPEN_HYPERLINK + [ + ExecMethod = Execute ; + StateMethod = GetState ; + DisableFlags="SfxDisableFlags::SwOnProtectedCursor"; + ] SID_EDIT_HYPERLINK [ ExecMethod = Execute ; diff --git a/sw/source/uibase/shells/drwbassh.cxx b/sw/source/uibase/shells/drwbassh.cxx index 29b7ec39a2a6..14c07162d711 100644 --- a/sw/source/uibase/shells/drwbassh.cxx +++ b/sw/source/uibase/shells/drwbassh.cxx @@ -605,6 +605,15 @@ void SwDrawBaseShell::Execute(SfxRequest const &rReq) break; } + case SID_OPEN_HYPERLINK: + { + const SdrMarkList& rMarkList = pSdrView->GetMarkedObjectList(); + SdrObject* pObj = rMarkList.GetMark(0)->GetMarkedSdrObj(); + LoadURL(GetShell(), pObj->getHyperlink(), LoadUrlFlags::NewView, + /*rTargetFrameName=*/OUString()); + break; + } + case SID_EDIT_HYPERLINK: case SID_HYPERLINK_DIALOG: { @@ -837,6 +846,7 @@ void SwDrawBaseShell::GetState(SfxItemSet& rSet) } break; + case SID_OPEN_HYPERLINK: case SID_EDIT_HYPERLINK: case SID_HYPERLINK_DIALOG: case SID_REMOVE_HYPERLINK: @@ -844,8 +854,8 @@ void SwDrawBaseShell::GetState(SfxItemSet& rSet) { if (pSdrView->GetMarkedObjectCount() != 1) rSet.DisableItem(nWhich); - else if (nWhich == SID_REMOVE_HYPERLINK || nWhich == SID_EDIT_HYPERLINK - || nWhich == SID_COPY_HYPERLINK_LOCATION) + else if (nWhich == SID_OPEN_HYPERLINK || nWhich == SID_REMOVE_HYPERLINK + || nWhich == SID_EDIT_HYPERLINK || nWhich == SID_COPY_HYPERLINK_LOCATION) { const SdrMarkList& rMarkList = pSdrView->GetMarkedObjectList(); SdrObject* pObj = rMarkList.GetMark(0)->GetMarkedSdrObj(); |