tdf#152483 Fix the insert hyperlink behaviour on Calc

Cursor invalidation message shouldn't carry a hyperlink info to online
side if there is no hyperlink under the cursor

Change-Id: Ibdb6e32d029e101212d03bc117a5a14a712822ef
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143986
Tested-by: Jenkins
Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
This commit is contained in:
Gülşah Köse 2022-12-12 14:22:53 +03:00 committed by Dennis Francis
parent 8faeb46a5d
commit e9356f9ced

View file

@ -22,6 +22,7 @@
#include <editeng/editeng.hxx>
#include <editeng/editview.hxx>
#include <editeng/outliner.hxx>
#include <editeng/urlfieldhelper.hxx>
#include <tools/poly.hxx>
#include <editeng/unolingu.hxx>
#include <com/sun/star/linguistic2/XDictionary.hpp>
@ -1415,19 +1416,17 @@ void ImpEditView::ShowCursor( bool bGotoCursor, bool bForceVisCursor )
// is cursor at a misspelled word ?
Reference< linguistic2::XSpellChecker1 > xSpeller( pEditEngine->pImpEditEngine->GetSpeller() );
bool bIsWrong = xSpeller.is() && IsWrongSpelledWord(aPaM, /*bMarkIfWrong*/ false);
EditView* pActiveView = GetEditViewPtr();
boost::property_tree::ptree aHyperlinkTree;
if (const SvxFieldItem* pFld = GetField(aPos, nullptr, nullptr))
if (URLFieldHelper::IsCursorAtURLField(*pActiveView))
{
if (auto pUrlField = dynamic_cast<const SvxURLField*>(pFld->GetField()))
{
aHyperlinkTree = getHyperlinkPropTree(pUrlField->GetRepresentation(), pUrlField->GetURL());
}
if (const SvxFieldItem* pFld = GetField(aPos, nullptr, nullptr))
if (auto pUrlField = dynamic_cast<const SvxURLField*>(pFld->GetField()))
aHyperlinkTree = getHyperlinkPropTree(pUrlField->GetRepresentation(), pUrlField->GetURL());
}
else if (GetEditSelection().HasRange())
{
EditView* pActiveView = GetEditViewPtr();
if (pActiveView)
{
const SvxFieldItem* pFieldItem = pActiveView->GetFieldAtSelection();