sc/source/ui/inc/gridwin.hxx | 5 ++--- sc/source/ui/unoobj/docuno.cxx | 16 ++++++++++++++-- 2 files changed, 16 insertions(+), 5 deletions(-)
New commits: commit 332d7e878300b5cf627db59ba3065f6ecf63387c Author: Gökay Şatır <gokay.sa...@collabora.com> AuthorDate: Mon Jan 15 17:17:33 2024 +0300 Commit: Caolán McNamara <caolan.mcnam...@collabora.com> CommitDate: Wed Jan 17 11:59:20 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> (cherry picked from commit be01dd78c47b51b19603a6259504e29b11979b0b) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162143 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> diff --git a/sc/source/ui/inc/gridwin.hxx b/sc/source/ui/inc/gridwin.hxx index f7a64cafb86b..9e91409f514c 100644 --- a/sc/source/ui/inc/gridwin.hxx +++ b/sc/source/ui/inc/gridwin.hxx @@ -292,9 +292,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 ); @@ -391,6 +388,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 275b91ba694f..33f1790f532a 100644 --- a/sc/source/ui/unoobj/docuno.cxx +++ b/sc/source/ui/unoobj/docuno.cxx @@ -892,9 +892,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(); }