summaryrefslogtreecommitdiff
path: root/editeng
diff options
context:
space:
mode:
authorSamuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>2021-11-30 23:34:11 +0100
committerXisco Fauli <xiscofauli@libreoffice.org>2021-12-09 13:05:49 +0100
commit47d3bd0785869b05497f8ece239eed24e00a1aea (patch)
tree96a8a285a8bb76188518302a379f4be9bdb03cac /editeng
parent3c2836972613ff418d76306d958a8ef85ff18afe (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> (cherry picked from commit b9362e87a3646a6693b81fb0d40e28ce7813a251) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126441 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Diffstat (limited to 'editeng')
-rw-r--r--editeng/source/editeng/editeng.cxx3
-rw-r--r--editeng/source/editeng/impedit2.cxx6
2 files changed, 6 insertions, 3 deletions
diff --git a/editeng/source/editeng/editeng.cxx b/editeng/source/editeng/editeng.cxx
index ae30e651b594..b557dd693d72 100644
--- a/editeng/source/editeng/editeng.cxx
+++ b/editeng/source/editeng/editeng.cxx
@@ -2588,8 +2588,9 @@ OUString EditEngine::CalcFieldValue( const SvxFieldItem&, sal_Int32, sal_Int32,
return OUString(' ');
}
-void EditEngine::FieldClicked( const SvxFieldItem& )
+bool EditEngine::FieldClicked( const SvxFieldItem& )
{
+ return false;
}
diff --git a/editeng/source/editeng/impedit2.cxx b/editeng/source/editeng/impedit2.cxx
index 47672cb090f3..cbbfddff51c7 100644
--- a/editeng/source/editeng/impedit2.cxx
+++ b/editeng/source/editeng/impedit2.cxx
@@ -611,8 +611,11 @@ bool ImpEditEngine::MouseButtonUp( const MouseEvent& rMEvt, EditView* pView )
Point aLogicClick = rOutDev.PixelToLogic(rMEvt.GetPosPixel());
if (const SvxFieldItem* pFld = pView->GetField(aLogicClick))
{
+ bool bUrlOpened = GetEditEnginePtr()->FieldClicked( *pFld );
+ auto pUrlField = dynamic_cast<const SvxURLField*>(pFld->GetField());
+
// tdf#121039 When in edit mode, editeng is responsible for opening the URL on mouse click
- if (auto pUrlField = dynamic_cast<const SvxURLField*>(pFld->GetField()))
+ if (!bUrlOpened && pUrlField)
{
bool bCtrlClickHappened = rMEvt.IsMod1();
bool bCtrlClickSecOption
@@ -627,7 +630,6 @@ bool ImpEditEngine::MouseButtonUp( const MouseEvent& rMEvt, EditView* pView )
css::system::SystemShellExecuteFlags::DEFAULTS);
}
}
- GetEditEnginePtr()->FieldClicked( *pFld );
}
}
}