diff options
author | Michael Meeks <michael.meeks@collabora.com> | 2017-12-13 15:09:36 +0000 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2018-03-19 19:02:21 +0100 |
commit | f4c9b387b697aca3c1e600fcd1fddf188d691a29 (patch) | |
tree | 830134d36287e549908401f6b487b93f18649b15 /sfx2 | |
parent | a3b1500439ebc9986a57457254cdeaddbf458832 (diff) |
LOK: fix URL launching, so that Help buttons work.
Change-Id: I9efe0173c35341043c3402042d9aa364a03e4fc5
Reviewed-on: https://gerrit.libreoffice.org/46419
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
(cherry picked from commit 2ccf578372cd77060abb6db520985165e779de3f)
(cherry picked from commit 7978eb8f6efa64fb0d5fba993f029793672a78ba)
Diffstat (limited to 'sfx2')
-rw-r--r-- | sfx2/source/appl/openuriexternally.cxx | 15 | ||||
-rw-r--r-- | sfx2/source/appl/sfxhelp.cxx | 26 |
2 files changed, 40 insertions, 1 deletions
diff --git a/sfx2/source/appl/openuriexternally.cxx b/sfx2/source/appl/openuriexternally.cxx index 9518b913441b..5b3e4821b200 100644 --- a/sfx2/source/appl/openuriexternally.cxx +++ b/sfx2/source/appl/openuriexternally.cxx @@ -23,14 +23,27 @@ #include <sfx2/sfxresid.hxx> #include <vcl/layout.hxx> #include <vcl/svapp.hxx> - #include <openuriexternally.hxx> +#include <comphelper/lok.hxx> +#include <LibreOfficeKit/LibreOfficeKitEnums.h> +#include <sfx2/viewsh.hxx> #include <sfx2/strings.hrc> bool sfx2::openUriExternally( OUString const & uri, bool handleSystemShellExecuteException) { + if (comphelper::LibreOfficeKit::isActive()) + { + if(SfxViewShell* pViewShell = SfxViewShell::Current()) + { + pViewShell->libreOfficeKitViewCallback(LOK_CALLBACK_HYPERLINK_CLICKED, + uri.toUtf8().getStr()); + return true; + } + return false; + } + css::uno::Reference< css::system::XSystemShellExecute > exec( css::system::SystemShellExecute::create(comphelper::getProcessComponentContext())); try { diff --git a/sfx2/source/appl/sfxhelp.cxx b/sfx2/source/appl/sfxhelp.cxx index 2df8b5ac7012..a281a6dd479a 100644 --- a/sfx2/source/appl/sfxhelp.cxx +++ b/sfx2/source/appl/sfxhelp.cxx @@ -56,6 +56,10 @@ #include <svtools/sfxecode.hxx> #include <openuriexternally.hxx> +#include <comphelper/lok.hxx> +#include <LibreOfficeKit/LibreOfficeKitEnums.h> +#include <sfx2/viewsh.hxx> + #include "newhelp.hxx" #include <sfx2/objsh.hxx> #include <sfx2/docfac.hxx> @@ -505,6 +509,9 @@ OUString SfxHelp::GetHelpText( const OUString& aCommandURL, const vcl::Window* p /// Check for built-in help static bool impl_hasHelpInstalled( const OUString &rLang = OUString() ) { + if (comphelper::LibreOfficeKit::isActive()) + return false; + OUStringBuffer aHelpRootURL("vnd.sun.star.help://"); AppendConfigToken(aHelpRootURL, true, rLang); std::vector< OUString > aFactories = SfxContentHelper::GetResultSet(aHelpRootURL.makeStringAndClear()); @@ -533,6 +540,19 @@ static bool impl_showOnlineHelp( const OUString& rURL ) aHelpLink += rURL.copy( aInternal.getLength() ); aHelpLink = aHelpLink.replaceAll("%2F","/"); + + + if (comphelper::LibreOfficeKit::isActive()) + { + if(SfxViewShell* pViewShell = SfxViewShell::Current()) + { + pViewShell->libreOfficeKitViewCallback(LOK_CALLBACK_HYPERLINK_CLICKED, + aHelpLink.toUtf8().getStr()); + return true; + } + return false; + } + try { sfx2::openUriExternally(aHelpLink, false); @@ -624,6 +644,12 @@ bool SfxHelp::Start_Impl(const OUString& rURL, const vcl::Window* pWindow, const } } + if ( comphelper::LibreOfficeKit::isActive() ) + { + impl_showOnlineHelp( aHelpURL ); + return true; + } + if ( !impl_hasHelpInstalled() ) { ScopedVclPtrInstance< MessageDialog > aQueryBox(const_cast< vcl::Window* >( pWindow ),"onlinehelpmanual","sfx/ui/helpmanual.ui"); |