From 2970ec843820a72d73a91cc11fc353e5b9fde5fd Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Sun, 12 Jul 2015 21:13:57 +0200 Subject: editeng: make Link<> usage typed Change-Id: Iec36c7e4f4fbc2ee2ee25d4d0c8488340ba7d8c4 Reviewed-on: https://gerrit.libreoffice.org/16968 Tested-by: Jenkins Reviewed-by: Noel Grandin --- sc/source/ui/app/scmod.cxx | 62 ++++++++++++++++++++++------------------------ 1 file changed, 30 insertions(+), 32 deletions(-) (limited to 'sc/source') diff --git a/sc/source/ui/app/scmod.cxx b/sc/source/ui/app/scmod.cxx index 754ba8b1efa8..d6b6726d0a0b 100644 --- a/sc/source/ui/app/scmod.cxx +++ b/sc/source/ui/app/scmod.cxx @@ -2140,48 +2140,46 @@ VclPtr ScModule::CreateTabPage( sal_uInt16 nId, vcl::Window* pParent return pRet; } -IMPL_LINK( ScModule, CalcFieldValueHdl, EditFieldInfo*, pInfo ) +IMPL_LINK_TYPED( ScModule, CalcFieldValueHdl, EditFieldInfo*, pInfo, void ) { //TODO: Merge with ScFieldEditEngine! - if (pInfo) + if (!pInfo) + return; + + const SvxFieldItem& rField = pInfo->GetField(); + const SvxFieldData* pField = rField.GetField(); + + if (pField && pField->ISA(SvxURLField)) { - const SvxFieldItem& rField = pInfo->GetField(); - const SvxFieldData* pField = rField.GetField(); + // URLField + const SvxURLField* pURLField = static_cast(pField); + OUString aURL = pURLField->GetURL(); - if (pField && pField->ISA(SvxURLField)) + switch ( pURLField->GetFormat() ) { - // URLField - const SvxURLField* pURLField = static_cast(pField); - OUString aURL = pURLField->GetURL(); - - switch ( pURLField->GetFormat() ) + case SVXURLFORMAT_APPDEFAULT: //TODO: Settable in the App? + case SVXURLFORMAT_REPR: { - case SVXURLFORMAT_APPDEFAULT: //TODO: Settable in the App? - case SVXURLFORMAT_REPR: - { - pInfo->SetRepresentation( pURLField->GetRepresentation() ); - } - break; - - case SVXURLFORMAT_URL: - { - pInfo->SetRepresentation( aURL ); - } - break; + pInfo->SetRepresentation( pURLField->GetRepresentation() ); } + break; - svtools::ColorConfigEntry eEntry = - INetURLHistory::GetOrCreate()->QueryUrl( aURL ) ? svtools::LINKSVISITED : svtools::LINKS; - pInfo->SetTextColor( GetColorConfig().GetColorValue(eEntry).nColor ); - } - else - { - OSL_FAIL("Unknown Field"); - pInfo->SetRepresentation(OUString('?')); + case SVXURLFORMAT_URL: + { + pInfo->SetRepresentation( aURL ); + } + break; } - } - return 0; + svtools::ColorConfigEntry eEntry = + INetURLHistory::GetOrCreate()->QueryUrl( aURL ) ? svtools::LINKSVISITED : svtools::LINKS; + pInfo->SetTextColor( GetColorConfig().GetColorValue(eEntry).nColor ); + } + else + { + OSL_FAIL("Unknown Field"); + pInfo->SetRepresentation(OUString('?')); + } } bool ScModule::RegisterRefWindow( sal_uInt16 nSlotId, vcl::Window *pWnd ) -- cgit