summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorSamuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>2021-11-30 23:34:11 +0100
committerSamuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>2021-12-06 14:11:44 +0100
commitb9362e87a3646a6693b81fb0d40e28ce7813a251 (patch)
tree38bd07bc0ff06cdb8e4bc0a0483400d61371d053 /sc
parent8368f48df8d67f6c712534647f4d375bf219ae99 (diff)
tdf#145671 Don't open URL twice in cell edit mode
Change-Id: I8a324d6a037c8a5c0efc0b2825657513c2f9841c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126159 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
Diffstat (limited to 'sc')
-rw-r--r--sc/inc/editutil.hxx2
-rw-r--r--sc/source/core/tool/editutil.cxx7
2 files changed, 6 insertions, 3 deletions
diff --git a/sc/inc/editutil.hxx b/sc/inc/editutil.hxx
index 1353544b96e3..04975b05ccc0 100644
--- a/sc/inc/editutil.hxx
+++ b/sc/inc/editutil.hxx
@@ -180,7 +180,7 @@ public:
void SetExecuteURL(bool bSet) { bExecuteURL = bSet; }
- virtual void FieldClicked( const SvxFieldItem& rField ) override;
+ virtual bool FieldClicked( const SvxFieldItem& rField ) override;
virtual OUString CalcFieldValue( const SvxFieldItem& rField, sal_Int32 nPara, sal_Int32 nPos, std::optional<Color>& rTxtColor, std::optional<Color>& rFldColor ) override;
};
diff --git a/sc/source/core/tool/editutil.cxx b/sc/source/core/tool/editutil.cxx
index 40957b3362b1..331f50af8b93 100644
--- a/sc/source/core/tool/editutil.cxx
+++ b/sc/source/core/tool/editutil.cxx
@@ -895,14 +895,17 @@ OUString ScFieldEditEngine::CalcFieldValue( const SvxFieldItem& rField,
return ScEditUtil::GetCellFieldValue(*pFieldData, mpDoc, &rTxtColor);
}
-void ScFieldEditEngine::FieldClicked( const SvxFieldItem& rField )
+bool ScFieldEditEngine::FieldClicked( const SvxFieldItem& rField )
{
if (!bExecuteURL)
- return;
+ return false;
+
if (const SvxURLField* pURLField = dynamic_cast<const SvxURLField*>(rField.GetField()))
{
ScGlobal::OpenURL(pURLField->GetURL(), pURLField->GetTargetFrame());
+ return true;
}
+ return false;
}
ScNoteEditEngine::ScNoteEditEngine( SfxItemPool* pEnginePoolP,