summaryrefslogtreecommitdiff
path: root/sfx2
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2017-12-13 15:09:36 +0000
committerAndras Timar <andras.timar@collabora.com>2018-03-19 19:02:21 +0100
commitf4c9b387b697aca3c1e600fcd1fddf188d691a29 (patch)
tree830134d36287e549908401f6b487b93f18649b15 /sfx2
parenta3b1500439ebc9986a57457254cdeaddbf458832 (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.cxx15
-rw-r--r--sfx2/source/appl/sfxhelp.cxx26
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");