include/sfx2/sfxhelp.hxx | 2 include/sfx2/strings.hrc | 2 sc/inc/globstr.hrc | 2 sc/source/ui/view/gridwin5.cxx | 73 ++------------------------- sd/inc/strings.hrc | 3 - sd/source/ui/func/fudraw.cxx | 23 -------- sfx2/source/appl/sfxhelp.cxx | 22 ++++++++ sw/inc/shellres.hxx | 3 - sw/inc/strings.hrc | 2 sw/source/core/draw/dpage.cxx | 10 +-- sw/source/uibase/docvw/SidebarTxtControl.cxx | 11 +--- sw/source/uibase/docvw/edtwin2.cxx | 10 --- sw/source/uibase/utlui/initui.cxx | 10 --- 13 files changed, 43 insertions(+), 130 deletions(-)
New commits: commit 721cef392f301321a632a1d9286d57cd45335649 Author: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> AuthorDate: Thu Jul 11 11:08:13 2019 +0200 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Thu Jul 11 14:40:03 2019 +0200 Deduplicate URL tooltip creation Change-Id: I94eb40ff4d727029ad764a381df300beee90481c Reviewed-on: https://gerrit.libreoffice.org/75409 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> diff --git a/include/sfx2/sfxhelp.hxx b/include/sfx2/sfxhelp.hxx index e76872f3f201..7af26fab0708 100644 --- a/include/sfx2/sfxhelp.hxx +++ b/include/sfx2/sfxhelp.hxx @@ -50,6 +50,8 @@ public: static OUString GetCurrentModuleIdentifier(); // Check for built-in help static bool IsHelpInstalled(); + + static OUString GetURLHelpText(const OUString&); }; #endif // INCLUDED_SFX2_SFXHELP_HXX diff --git a/include/sfx2/strings.hrc b/include/sfx2/strings.hrc index 96883a2384b0..f7b2c1673b90 100644 --- a/include/sfx2/strings.hrc +++ b/include/sfx2/strings.hrc @@ -319,6 +319,8 @@ #define STR_PASSWORD_LEN NC_("STR_PASSWORD_LEN", "Password length") #define STR_PASSWORD_WARNING NC_("STR_PASSWORD_WARNING", "The password you have entered causes interoperability issues. Please enter a password that is shorter than 52 bytes, or longer than 55 bytes.") +#define STR_CTRLCLICKHYPERLINK NC_("STR_CTRLCLICKHYPERLINK", "%{key}-click to follow hyperlink: %{link}") +#define STR_CLICKHYPERLINK NC_("STR_CLICKHYPERLINK", "Click to open hyperlink: %{link}") #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sc/inc/globstr.hrc b/sc/inc/globstr.hrc index 38d182613fdb..1273baf40238 100644 --- a/sc/inc/globstr.hrc +++ b/sc/inc/globstr.hrc @@ -492,8 +492,6 @@ #define STR_COPYLIST NC_("STR_COPYLIST", "Copy List") #define STR_COPYFROM NC_("STR_COPYFROM", "List from") #define STR_COPYERR NC_("STR_COPYERR", "Cells without text have been ignored.") -#define STR_CTRLCLICKHYPERLINK NC_("STR_CTRLCLICKHYPERLINK", "%s-click to follow hyperlink:") -#define STR_CLICKHYPERLINK NC_("STR_CLICKHYPERLINK", "click to open hyperlink:") #define STR_PRINT_PREVIEW_NODATA NC_("STR_PRINT_PREVIEW_NODATA", "No Data") #define STR_PRINT_PREVIEW_EMPTY_RANGE NC_("STR_PRINT_PREVIEW_EMPTY_RANGE", "Print Range Empty") #define STR_UNDO_CONDFORMAT NC_("STR_UNDO_CONDFORMAT", "Conditional Format") diff --git a/sc/source/ui/view/gridwin5.cxx b/sc/source/ui/view/gridwin5.cxx index 1d2ff0af25b4..44ae79acf321 100644 --- a/sc/source/ui/view/gridwin5.cxx +++ b/sc/source/ui/view/gridwin5.cxx @@ -30,9 +30,7 @@ #include <vcl/svapp.hxx> #include <tools/urlobj.hxx> #include <sfx2/viewfrm.hxx> - -#include <unotools/localedatawrapper.hxx> -#include <unotools/securityoptions.hxx> +#include <sfx2/sfxhelp.hxx> #include <viewuno.hxx> #include <AccessibleDocument.hxx> @@ -216,23 +214,6 @@ bool ScGridWindow::ShowNoteMarker( SCCOL nPosX, SCROW nPosY, bool bKeyboard ) void ScGridWindow::RequestHelp(const HelpEvent& rHEvt) { - //To know whether to prefix STR_CTRLCLICKHYERLINK or STR_CLICKHYPERLINK - //to hyperlink tooltips/help text - SvtSecurityOptions aSecOpt; - bool bCtrlClickHlink = aSecOpt.IsOptionSet( SvtSecurityOptions::EOption::CtrlClickHyperlink ); - //Global string STR_CTRLCLICKHYPERLINK i.e, - // "ctrl-click to follow link:" for not MacOS - // "⌘-click to follow link:" for MacOs - vcl::KeyCode aCode( KEY_SPACE ); - vcl::KeyCode aModifiedCode( KEY_SPACE, KEY_MOD1 ); - OUString aModStr( aModifiedCode.GetName() ); - aModStr = aModStr.replaceFirst(aCode.GetName(), ""); - aModStr = aModStr.replaceAll("+", ""); - OUString aCtrlClickHlinkStr = ScResId( STR_CTRLCLICKHYPERLINK ); - - aCtrlClickHlinkStr = aCtrlClickHlinkStr.replaceAll("%s", aModStr); - //Global string STR_CLICKHYPERLINK i.e, "click to open hyperlink" - OUString aClickHlinkStr = ScResId( STR_CLICKHYPERLINK ); bool bDone = false; bool bHelpEnabled = bool(rHEvt.GetMode() & ( HelpEventMode::BALLOON | HelpEventMode::QUICK )); SdrView* pDrView = pViewData->GetScDrawView(); @@ -294,17 +275,7 @@ void ScGridWindow::RequestHelp(const HelpEvent& rHEvt) // For image maps show the description, if available aHelpText = pIMapObj->GetAltText(); if (aHelpText.isEmpty()) - aHelpText = pIMapObj->GetURL(); - if( bCtrlClickHlink ) - { - //prefix STR_CTRLCLICKHYPERLINK to aHelpText - aHelpText = aCtrlClickHlinkStr + aHelpText; - } - else - { - //Option not set, so prefix STR_CLICKHYPERLINK - aHelpText = aClickHlinkStr + aHelpText; - } + aHelpText = SfxHelp::GetURLHelpText(pIMapObj->GetURL()); aPixRect = LogicToPixel(aVEvt.pObj->GetLogicRect()); } } @@ -313,17 +284,7 @@ void ScGridWindow::RequestHelp(const HelpEvent& rHEvt) { if( aVEvt.eEvent == SdrEventKind::ExecuteUrl ) { - aHelpText = aVEvt.pURLField->GetURL(); - if( bCtrlClickHlink ) - { - //prefix STR_CTRLCLICKHYPERLINK to aHelpText - aHelpText = aCtrlClickHlinkStr + aHelpText; - } - else - { - //Option not set, so prefix STR_CLICKHYPERLINK - aHelpText = aClickHlinkStr + aHelpText; - } + aHelpText = SfxHelp::GetURLHelpText(aVEvt.pURLField->GetURL()); aPixRect = LogicToPixel(aVEvt.pObj->GetLogicRect()); } else @@ -343,18 +304,7 @@ void ScGridWindow::RequestHelp(const HelpEvent& rHEvt) if ( pInfo && (pInfo->GetHlink().getLength() > 0) ) { aPixRect = LogicToPixel(aVEvt.pObj->GetLogicRect()); - aHelpText = pInfo->GetHlink(); - if( bCtrlClickHlink ) - { - //prefix STR_CTRLCLICKHYPERLINK to aHelpText - aHelpText = aCtrlClickHlinkStr + aHelpText; - } - else - { - //Option not set, so prefix STR_CLICKHYPERLINK - aHelpText = aClickHlinkStr + aHelpText; - } - + aHelpText = SfxHelp::GetURLHelpText(pInfo->GetHlink()); } } } @@ -367,19 +317,8 @@ void ScGridWindow::RequestHelp(const HelpEvent& rHEvt) OUString aUrl; if ( GetEditUrl( aPosPixel, nullptr, &aUrl ) ) { - aHelpText = INetURLObject::decode( aUrl, - INetURLObject::DecodeMechanism::Unambiguous ); - - if( bCtrlClickHlink ) - { - //prefix STR_CTRLCLICKHYPERLINK to aHelpText - aHelpText = aCtrlClickHlinkStr + aHelpText; - } - else - { - //Option not set, so prefix STR_CLICKHYPERLINK - aHelpText = aClickHlinkStr + aHelpText; - } + aHelpText = SfxHelp::GetURLHelpText( + INetURLObject::decode(aUrl, INetURLObject::DecodeMechanism::Unambiguous)); ScDocument* pDoc = pViewData->GetDocument(); SCCOL nPosX; diff --git a/sd/inc/strings.hrc b/sd/inc/strings.hrc index 38b9491b497b..6aa554df0c9f 100644 --- a/sd/inc/strings.hrc +++ b/sd/inc/strings.hrc @@ -486,9 +486,6 @@ #define STR_SD_NONE NC_("STR_SD_NONE", "- None -") -#define STR_CTRLCLICKHYPERLINK NC_("STR_CTRLCLICKHYPERLINK", "%s-click to follow hyperlink: ") -#define STR_CLICKHYPERLINK NC_("STR_CLICKHYPERLINK", "Click to open hyperlink: ") - #define RID_SVXSTR_EDIT_GRAPHIC NC_("RID_SVXSTR_EDIT_GRAPHIC", "Link") #endif diff --git a/sd/source/ui/func/fudraw.cxx b/sd/source/ui/func/fudraw.cxx index 64bef1f58aac..b6e915fdd052 100644 --- a/sd/source/ui/func/fudraw.cxx +++ b/sd/source/ui/func/fudraw.cxx @@ -32,6 +32,7 @@ #include <sfx2/app.hxx> #include <sfx2/dispatch.hxx> #include <sfx2/bindings.hxx> +#include <sfx2/sfxhelp.hxx> #include <svx/svdpagv.hxx> #include <vcl/imapobj.hxx> #include <svx/svxids.hrc> @@ -756,27 +757,7 @@ bool FuDraw::SetHelpText(SdrObject* pObj, const Point& rPosPixel, const SdrViewE else return false; - SvtSecurityOptions aSecOpt; - if (aSecOpt.IsOptionSet(SvtSecurityOptions::EOption::CtrlClickHyperlink)) - { - // Hint about Ctrl-click to open hyperlink, but need to detect "Ctrl" key for MacOs - vcl::KeyCode aCode(KEY_SPACE); - vcl::KeyCode aModifiedCode(KEY_SPACE, KEY_MOD1); - OUString aModStr(aModifiedCode.GetName()); - aModStr = aModStr.replaceFirst(aCode.GetName(), ""); - aModStr = aModStr.replaceAll("+", ""); - - OUString aCtrlClickHlinkStr = SdResId(STR_CTRLCLICKHYPERLINK); - - aCtrlClickHlinkStr = aCtrlClickHlinkStr.replaceAll("%s", aModStr); - - aHelpText = aCtrlClickHlinkStr + aURL; - } - else - { - // Hint about just clicking hyperlink - aHelpText = SdResId(STR_CLICKHYPERLINK) + aURL; - } + aHelpText = SfxHelp::GetURLHelpText(aURL); if (aHelpText.isEmpty()) return false; diff --git a/sfx2/source/appl/sfxhelp.cxx b/sfx2/source/appl/sfxhelp.cxx index 8fbdad1fc794..d6fac42bd6de 100644 --- a/sfx2/source/appl/sfxhelp.cxx +++ b/sfx2/source/appl/sfxhelp.cxx @@ -65,8 +65,11 @@ #include <osl/file.hxx> #include <unotools/bootstrap.hxx> #include <unotools/tempfile.hxx> +#include <unotools/localedatawrapper.hxx> +#include <unotools/securityoptions.hxx> #include <rtl/uri.hxx> #include <vcl/commandinfoprovider.hxx> +#include <vcl/keycod.hxx> #include <vcl/layout.hxx> #include <vcl/waitobj.hxx> #include <vcl/weld.hxx> @@ -680,6 +683,25 @@ OUString SfxHelp::GetHelpText(const OUString& aCommandURL, const weld::Widget* p return sHelpText; } +OUString SfxHelp::GetURLHelpText(const OUString& aURL) +{ + SvtSecurityOptions aSecOpt; + bool bCtrlClickHlink = aSecOpt.IsOptionSet(SvtSecurityOptions::EOption::CtrlClickHyperlink); + + // "ctrl-click to follow link:" for not MacOS + // "⌘-click to follow link:" for MacOs + vcl::KeyCode aCode(KEY_SPACE); + vcl::KeyCode aModifiedCode(KEY_SPACE, KEY_MOD1); + OUString aModStr(aModifiedCode.GetName()); + aModStr = aModStr.replaceFirst(aCode.GetName(), ""); + aModStr = aModStr.replaceAll("+", ""); + OUString aHelpStr + = bCtrlClickHlink ? SfxResId(STR_CTRLCLICKHYPERLINK) : SfxResId(STR_CLICKHYPERLINK); + aHelpStr = aHelpStr.replaceFirst("%{key}", aModStr); + aHelpStr = aHelpStr.replaceFirst("%{link}", aURL); + return aHelpStr; +} + void SfxHelp::SearchKeyword( const OUString& rKeyword ) { Start_Impl(OUString(), static_cast<vcl::Window*>(nullptr), rKeyword); diff --git a/sw/inc/shellres.hxx b/sw/inc/shellres.hxx index abdfb341cc35..85b18b0c2478 100644 --- a/sw/inc/shellres.hxx +++ b/sw/inc/shellres.hxx @@ -58,9 +58,6 @@ struct SW_DLLPUBLIC ShellResource OUString const aTOXAuthoritiesName; OUString const aTOXCitationName; - OUString aLinkCtrlClick; - OUString const aLinkClick; - std::vector<OUString> aDocInfoLst; // The autoFormat-Redline comments. diff --git a/sw/inc/strings.hrc b/sw/inc/strings.hrc index 1de4f3303db8..7f9d7e28aeb3 100644 --- a/sw/inc/strings.hrc +++ b/sw/inc/strings.hrc @@ -690,8 +690,6 @@ #define STR_TOX_TBL NC_("STR_TOX_TBL", "Index of Tables") #define STR_TOX_OBJ NC_("STR_TOX_OBJ", "Table of Objects") #define STR_TOX_ILL NC_("STR_TOX_ILL", "Table of Figures") -#define STR_LINK_CTRL_CLICK NC_("STR_LINK_CTRL_CLICK", "%s-Click to follow link") -#define STR_LINK_CLICK NC_("STR_LINK_CLICK", "Click to follow link") // SubType DocInfo #define FLD_DOCINFO_TITEL NC_("FLD_DOCINFO_TITEL", "Title") #define FLD_DOCINFO_THEMA NC_("FLD_DOCINFO_THEMA", "Subject") diff --git a/sw/source/core/draw/dpage.cxx b/sw/source/core/draw/dpage.cxx index 84762f89cea1..15466ed11be8 100644 --- a/sw/source/core/draw/dpage.cxx +++ b/sw/source/core/draw/dpage.cxx @@ -20,8 +20,10 @@ #include <basic/basmgr.hxx> #include <vcl/imapobj.hxx> #include <svl/urihelper.hxx> +#include <sfx2/sfxhelp.hxx> #include <unotools/securityoptions.hxx> #include <vcl/help.hxx> +#include <vcl/svapp.hxx> #include <svx/svdview.hxx> #include <fmturl.hxx> #include <frmfmt.hxx> @@ -205,13 +207,7 @@ bool SwDPage::RequestHelp( vcl::Window* pWindow, SdrView const * pView, bool bExecHyperlinks = pDoc->GetDocShell()->IsReadOnly(); if ( !bExecHyperlinks ) { - SvtSecurityOptions aSecOpts; - bExecHyperlinks = !aSecOpts.IsOptionSet( SvtSecurityOptions::EOption::CtrlClickHyperlink ); - - if ( !bExecHyperlinks ) - sText = SwViewShell::GetShellRes()->aLinkCtrlClick + ": " + sText; - else - sText = SwViewShell::GetShellRes()->aLinkClick + ": " + sText; + sText = SfxHelp::GetURLHelpText(sText); } // then display the help: diff --git a/sw/source/uibase/docvw/SidebarTxtControl.cxx b/sw/source/uibase/docvw/SidebarTxtControl.cxx index ef1f9f915977..bdbb0e2804e4 100644 --- a/sw/source/uibase/docvw/SidebarTxtControl.cxx +++ b/sw/source/uibase/docvw/SidebarTxtControl.cxx @@ -34,6 +34,7 @@ #include <sfx2/viewfrm.hxx> #include <sfx2/bindings.hxx> #include <sfx2/dispatch.hxx> +#include <sfx2/sfxhelp.hxx> #include <vcl/commandevent.hxx> #include <vcl/svapp.hxx> @@ -307,13 +308,9 @@ void SidebarTextControl::MouseMove( const MouseEvent& rMEvt ) const SvxURLField* pURL = dynamic_cast<const SvxURLField*>( pField ); if ( pURL ) { - OUString sURL( pURL->GetURL() ); - SvtSecurityOptions aSecOpts; - if ( aSecOpts.IsOptionSet( SvtSecurityOptions::EOption::CtrlClickHyperlink) ) - sURL = SwViewShell::GetShellRes()->aLinkCtrlClick + ": " + sURL; - else - sURL = SwViewShell::GetShellRes()->aLinkClick + ": " + sURL; - Help::ShowQuickHelp( this,PixelToLogic(tools::Rectangle(GetPosPixel(),Size(50,10))),sURL); + OUString sText(SfxHelp::GetURLHelpText(pURL->GetURL())); + Help::ShowQuickHelp( + this, PixelToLogic(tools::Rectangle(GetPosPixel(), Size(50, 10))), sText); } } } diff --git a/sw/source/uibase/docvw/edtwin2.cxx b/sw/source/uibase/docvw/edtwin2.cxx index 044154da39b2..c8bce67fb972 100644 --- a/sw/source/uibase/docvw/edtwin2.cxx +++ b/sw/source/uibase/docvw/edtwin2.cxx @@ -31,6 +31,7 @@ #include <svl/urihelper.hxx> #include <svx/svdotext.hxx> #include <editeng/outliner.hxx> +#include <sfx2/sfxhelp.hxx> #include <svl/itemiter.hxx> #include <svx/svdview.hxx> #include <svx/svdpagv.hxx> @@ -221,14 +222,7 @@ void SwEditWin::RequestHelp(const HelpEvent &rEvt) bool bExecHyperlinks = m_rView.GetDocShell()->IsReadOnly(); if ( !bExecHyperlinks ) { - SvtSecurityOptions aSecOpts; - bExecHyperlinks = !aSecOpts.IsOptionSet( SvtSecurityOptions::EOption::CtrlClickHyperlink ); - - sText = ": " + sText; - if ( !bExecHyperlinks ) - sText = SwViewShell::GetShellRes()->aLinkCtrlClick + sText; - else - sText = SwViewShell::GetShellRes()->aLinkClick + sText; + sText = SfxHelp::GetURLHelpText(sText); } break; } diff --git a/sw/source/uibase/utlui/initui.cxx b/sw/source/uibase/utlui/initui.cxx index d8fd77e627d1..7a1d9dacea8a 100644 --- a/sw/source/uibase/utlui/initui.cxx +++ b/sw/source/uibase/utlui/initui.cxx @@ -33,7 +33,6 @@ #include <authfld.hxx> #include <dbmgr.hxx> #include <unotools/syslocale.hxx> -#include <vcl/keycod.hxx> #include <unomid.h> @@ -135,19 +134,10 @@ ShellResource::ShellResource() aTOXTablesName( SwResId(STR_TOX_TBL)), aTOXAuthoritiesName( SwResId(STR_TOX_AUTH)), aTOXCitationName( SwResId(STR_TOX_CITATION)), - aLinkCtrlClick(SwResId(STR_LINK_CTRL_CLICK)), - aLinkClick(SwResId(STR_LINK_CLICK)), sPageDescFirstName( SwResId(STR_PAGEDESC_FIRSTNAME)), sPageDescFollowName( SwResId(STR_PAGEDESC_FOLLOWNAME)), sPageDescName( SwResId(STR_PAGEDESC_NAME)) { - vcl::KeyCode aCode( KEY_SPACE ); - vcl::KeyCode aModifiedCode( KEY_SPACE, KEY_MOD1 ); - OUString aModStr( aModifiedCode.GetName() ); - aModStr = aModStr.replaceFirst(aCode.GetName(), ""); - aModStr = aModStr.replaceAll("+", ""); - aLinkCtrlClick = aLinkCtrlClick.replaceAll("%s", aModStr); - for (size_t i = 0; i < SAL_N_ELEMENTS(FLD_DOCINFO_ARY); ++i) aDocInfoLst.push_back(SwResId(FLD_DOCINFO_ARY[i])); } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits