[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-5.3' - sfx2/source shell/Library_syssh.mk shell/source
Michael Meeks
michael.meeks at collabora.com
Thu Dec 14 05:43:50 UTC 2017
sfx2/source/appl/openuriexternally.cxx | 16 ++++++++++++++++
sfx2/source/appl/sfxhelp.cxx | 26 ++++++++++++++++++++++++++
shell/Library_syssh.mk | 1 +
shell/source/unix/exec/shellexec.cxx | 7 +++++++
4 files changed, 50 insertions(+)
New commits:
commit 689176e9424e617a64edd5e233b750b2269a7275
Author: Michael Meeks <michael.meeks at collabora.com>
Date: Wed Dec 13 15:09:36 2017 +0000
LOK: fix URL launching, so that Help buttons work.
Change-Id: I9efe0173c35341043c3402042d9aa364a03e4fc5
Reviewed-on: https://gerrit.libreoffice.org/46419
Reviewed-by: Jan Holesovsky <kendy at collabora.com>
Tested-by: Jan Holesovsky <kendy at collabora.com>
diff --git a/sfx2/source/appl/openuriexternally.cxx b/sfx2/source/appl/openuriexternally.cxx
index ed702340fb11..5e597cc4cc2f 100644
--- a/sfx2/source/appl/openuriexternally.cxx
+++ b/sfx2/source/appl/openuriexternally.cxx
@@ -24,6 +24,11 @@
#include <vcl/layout.hxx>
#include <vcl/svapp.hxx>
+#include <comphelper/lok.hxx>
+#include <LibreOfficeKit/LibreOfficeKitEnums.h>
+
+#include <sfx2/viewsh.hxx>
+
#include "openuriexternally.hxx"
#include "app.hrc"
@@ -31,6 +36,17 @@
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 2a4c32566c98..7e98a7984ed2 100644
--- a/sfx2/source/appl/sfxhelp.cxx
+++ b/sfx2/source/appl/sfxhelp.cxx
@@ -58,6 +58,10 @@
#include <svtools/ehdl.hxx>
#include <svtools/sfxecode.hxx>
+#include <comphelper/lok.hxx>
+#include <LibreOfficeKit/LibreOfficeKitEnums.h>
+#include <sfx2/viewsh.hxx>
+
#include "newhelp.hxx"
#include <sfx2/objsh.hxx>
#include <sfx2/docfac.hxx>
@@ -490,6 +494,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());
@@ -517,6 +524,19 @@ static bool impl_showOnlineHelp( const OUString& rURL )
OUString aHelpLink( "http://help.libreoffice.org/" );
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
{
Reference< XSystemShellExecute > xSystemShell(
@@ -611,6 +631,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() )
{
if ( impl_showOnlineHelp( aHelpURL ) )
diff --git a/shell/Library_syssh.mk b/shell/Library_syssh.mk
index 17ee516c5b77..192c16442f57 100644
--- a/shell/Library_syssh.mk
+++ b/shell/Library_syssh.mk
@@ -14,6 +14,7 @@ $(eval $(call gb_Library_use_sdk_api,syssh))
$(eval $(call gb_Library_use_libraries,syssh,\
cppu \
cppuhelper \
+ comphelper \
sal \
$(gb_UWINAPI) \
))
diff --git a/shell/source/unix/exec/shellexec.cxx b/shell/source/unix/exec/shellexec.cxx
index 71f01e764a56..5447b19e1057 100644
--- a/shell/source/unix/exec/shellexec.cxx
+++ b/shell/source/unix/exec/shellexec.cxx
@@ -34,6 +34,7 @@
#include <com/sun/star/uri/ExternalUriReferenceTranslator.hpp>
#include <com/sun/star/uri/UriReferenceFactory.hpp>
#include <cppuhelper/supportsservice.hxx>
+#include <comphelper/lok.hxx>
#include "uno/current_context.hxx"
@@ -99,6 +100,12 @@ void SAL_CALL ShellExec::execute( const OUString& aCommand, const OUString& aPar
{
OStringBuffer aBuffer, aLaunchBuffer;
+ if (comphelper::LibreOfficeKit::isActive())
+ {
+ SAL_WARN("shell", "Unusual - shell attemp to launch " << aCommand << " with params " << aParameter << " under lok");
+ return;
+ }
+
// DESKTOP_LAUNCH, see http://freedesktop.org/pipermail/xdg/2004-August/004489.html
static const char *pDesktopLaunch = getenv( "DESKTOP_LAUNCH" );
More information about the Libreoffice-commits
mailing list