sd/sdi/_drvwsh.sdi | 5 +++++ sd/source/ui/view/drviews2.cxx | 20 ++++++++++++++++++++ sd/source/ui/view/drviews7.cxx | 3 +++ sd/uiconfig/sdraw/popupmenu/drawtext.xml | 3 +++ sd/uiconfig/simpress/popupmenu/drawtext.xml | 1 + 5 files changed, 32 insertions(+)
New commits: commit 37fc9f51a8de11d40632e8cda17ccf1fa4b1f503 Author: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> AuthorDate: Tue Aug 6 13:59:50 2019 +0200 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Tue Aug 6 14:46:31 2019 +0200 Add missing hyperlink context menu entries to sd * Impress: Add "Copy Hyperlink location" * Draw: Add "Copy Hyperlink location", "Edit hyperlink", "Remove Hyperlink" Change-Id: I1357285f8d5fa31419275c9d65cef61d2accf326 Reviewed-on: https://gerrit.libreoffice.org/77020 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> diff --git a/sd/sdi/_drvwsh.sdi b/sd/sdi/_drvwsh.sdi index 3c98b281347f..25ebcceb66cc 100644 --- a/sd/sdi/_drvwsh.sdi +++ b/sd/sdi/_drvwsh.sdi @@ -2267,6 +2267,11 @@ interface DrawView ExecMethod = FuTemporary ; StateMethod = GetMenuState ; ] + SID_COPY_HYPERLINK_LOCATION // ole : no, status : ? + [ + ExecMethod = FuTemporary ; + StateMethod = GetMenuState ; + ] SID_HIDE_LAST_LEVEL // ole : no, status : ? [ ExecMethod = FuTemporary ; diff --git a/sd/source/ui/view/drviews2.cxx b/sd/source/ui/view/drviews2.cxx index 63d5c5709d7b..036862ed0229 100644 --- a/sd/source/ui/view/drviews2.cxx +++ b/sd/source/ui/view/drviews2.cxx @@ -102,6 +102,7 @@ #include <vcl/graph.hxx> #include <vcl/svapp.hxx> +#include <vcl/unohelp2.hxx> #include <vcl/waitobj.hxx> #include <vcl/weld.hxx> @@ -2164,6 +2165,25 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq) } break; + case SID_COPY_HYPERLINK_LOCATION: + { + OutlinerView* pOutView = mpDrawView->GetTextEditOutlinerView(); + if ( pOutView ) + { + const SvxFieldData* pField = pOutView->GetFieldAtCursor(); + if (const SvxURLField* pURLField = dynamic_cast<const SvxURLField*>(pField)) + { + uno::Reference<datatransfer::clipboard::XClipboard> xClipboard + = pOutView->GetWindow()->GetClipboard(); + vcl::unohelper::TextDataObject::CopyStringTo(pURLField->GetURL(), xClipboard); + } + } + + Cancel(); + rReq.Done (); + } + break; + case SID_HYPERLINK_SETLINK: { const SfxItemSet* pReqArgs = rReq.GetArgs(); diff --git a/sd/source/ui/view/drviews7.cxx b/sd/source/ui/view/drviews7.cxx index f69c566021f2..390abefe2f42 100644 --- a/sd/source/ui/view/drviews7.cxx +++ b/sd/source/ui/view/drviews7.cxx @@ -1513,7 +1513,10 @@ void DrawViewShell::GetMenuState( SfxItemSet &rSet ) rSet.DisableItem( SID_EDIT_HYPERLINK ); if ( bDisableEditHyperlink ) + { rSet.DisableItem( SID_OPEN_HYPERLINK ); + rSet.DisableItem( SID_COPY_HYPERLINK_LOCATION ); + } //fdo#78151 enable show next level/hide last level if editing a master page //PRESOBJ_OUTLINE object and the current selection allow that to happen diff --git a/sd/uiconfig/sdraw/popupmenu/drawtext.xml b/sd/uiconfig/sdraw/popupmenu/drawtext.xml index eb351f4513ce..3cb30bc3f5b2 100644 --- a/sd/uiconfig/sdraw/popupmenu/drawtext.xml +++ b/sd/uiconfig/sdraw/popupmenu/drawtext.xml @@ -19,6 +19,9 @@ <menu:menuitem menu:id=".uno:OutlineBullet"/> <menu:menuseparator/> <menu:menuitem menu:id=".uno:OpenHyperlinkOnCursor"/> + <menu:menuitem menu:id=".uno:EditHyperlink"/> + <menu:menuitem menu:id=".uno:CopyHyperlinkLocation"/> + <menu:menuitem menu:id=".uno:RemoveHyperlink"/> <menu:menuitem menu:id=".uno:ThesaurusFromContext"/> <menu:menuseparator/> <menu:menuitem menu:id=".uno:SetDefault"/> diff --git a/sd/uiconfig/simpress/popupmenu/drawtext.xml b/sd/uiconfig/simpress/popupmenu/drawtext.xml index 70e153b14afa..d0b1a95280bb 100644 --- a/sd/uiconfig/simpress/popupmenu/drawtext.xml +++ b/sd/uiconfig/simpress/popupmenu/drawtext.xml @@ -20,6 +20,7 @@ <menu:menuseparator/> <menu:menuitem menu:id=".uno:OpenHyperlinkOnCursor"/> <menu:menuitem menu:id=".uno:EditHyperlink"/> + <menu:menuitem menu:id=".uno:CopyHyperlinkLocation"/> <menu:menuitem menu:id=".uno:RemoveHyperlink"/> <menu:menuitem menu:id=".uno:ThesaurusFromContext"/> <menu:menuseparator/> _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits