sc/source/ui/inc/gridwin.hxx | 5 ++--- sc/source/ui/unoobj/docuno.cxx | 16 ++++++++++++++-- 2 files changed, 16 insertions(+), 5 deletions(-)
New commits: commit be01dd78c47b51b19603a6259504e29b11979b0b Author: Gökay Şatır <gokay.sa...@collabora.com> AuthorDate: Mon Jan 15 17:17:33 2024 +0300 Commit: Miklos Vajna <vmik...@collabora.com> CommitDate: Tue Jan 16 09:01:35 2024 +0100 Implement hyperlinkInfoAtPosition function for Calc. Move getEditURL function to public. When in readonly mode, we need a way to get the hyperlink info (if any) when user clicks on a certain coordinate. Signed-off-by: Gökay Şatır <gokay.sa...@collabora.com> Change-Id: I2329b3569cfdca91f64cbdb46f43a3a9c34706c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162111 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Miklos Vajna <vmik...@collabora.com> diff --git a/sc/source/ui/inc/gridwin.hxx b/sc/source/ui/inc/gridwin.hxx index 8d5dcc08696f..773cb3a1eac3 100644 --- a/sc/source/ui/inc/gridwin.hxx +++ b/sc/source/ui/inc/gridwin.hxx @@ -291,9 +291,6 @@ class SAL_DLLPUBLIC_RTTI ScGridWindow : public vcl::DocWindow, public DropTarget void DrawHiddenIndicator( SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2, vcl::RenderContext& rRenderContext); void DrawPagePreview( SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2, vcl::RenderContext& rRenderContext); - bool GetEditUrl( const Point& rPos, - OUString* pName=nullptr, OUString* pUrl=nullptr, OUString* pTarget=nullptr ); - bool HitRangeFinder( const Point& rMouse, RfCorner& rCorner, sal_uInt16* pIndex, SCCOL* pAddX, SCROW* pAddY ); @@ -390,6 +387,8 @@ public: /// Get the cell selection, coordinates are in logic units. void GetCellSelection(std::vector<tools::Rectangle>& rLogicRects); + bool GetEditUrl( const Point& rPos, OUString* pName=nullptr, OUString* pUrl=nullptr, OUString* pTarget=nullptr ); + virtual css::uno::Reference< css::accessibility::XAccessible > CreateAccessible() override; void FakeButtonUp(); diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx index 83db29153bca..593ff4bba5a6 100644 --- a/sc/source/ui/unoobj/docuno.cxx +++ b/sc/source/ui/unoobj/docuno.cxx @@ -891,9 +891,21 @@ void ScModelObj::setTextSelection(int nType, int nX, int nY) } } -OUString ScModelObj::hyperlinkInfoAtPosition(int /*x*/, int /*y*/) +OUString ScModelObj::hyperlinkInfoAtPosition(int x, int y) { - // To be implemented.. + if (ScViewData* pViewData = ScDocShell::GetViewData()) + { + ScGridWindow* pGridWindow = pViewData->GetActiveWin(); + if (pGridWindow) + { + const Point point(x, y); + OUString name; + OUString url; + pGridWindow->GetEditUrl(point, &name, &url); + return url; + } + } + return OUString(); }