Kaydet (Commit) 2902a836 authored tarafından Akash Shetye's avatar Akash Shetye Kaydeden (comit) Kohei Yoshida

fdo#51296 Patch accounts security setting requiring ctrl+click for hyperlinks.

Have used a boolean variable that acts as an entry condition to OpenURL
methods main body/code and is set on qualification of security check.

Change-Id: I1280e7cf7e8923282fda17088fd7c61fbf503b9d
(cherry picked from commit 99932fa8)
Reviewed-on: https://gerrit.libreoffice.org/3032Reviewed-by: 's avatarKohei Yoshida <kohei.yoshida@gmail.com>
Tested-by: 's avatarKohei Yoshida <kohei.yoshida@gmail.com>
üst 0224cbfe
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
#include <sal/macros.h> #include <sal/macros.h>
#include <tools/rcid.h> #include <tools/rcid.h>
#include <unotools/charclass.hxx> #include <unotools/charclass.hxx>
#include <unotools/securityoptions.hxx>
#include <stdlib.h> #include <stdlib.h>
#include <time.h> #include <time.h>
#include <ctype.h> #include <ctype.h>
...@@ -925,13 +926,25 @@ void ScGlobal::OpenURL( const String& rURL, const String& rTarget ) ...@@ -925,13 +926,25 @@ void ScGlobal::OpenURL( const String& rURL, const String& rTarget )
{ {
// OpenURL wird immer ueber irgendwelche Umwege durch Mausklicks im GridWindow // OpenURL wird immer ueber irgendwelche Umwege durch Mausklicks im GridWindow
// aufgerufen, darum stimmen pScActiveViewShell und nScClickMouseModifier. // aufgerufen, darum stimmen pScActiveViewShell und nScClickMouseModifier.
//SvtSecurityOptions to access Libreoffice global security parameters
SvtSecurityOptions aSecOpt;
bool bProceedHyperlink = false;
if ( (nScClickMouseModifier & KEY_MOD1) && aSecOpt.IsOptionSet( SvtSecurityOptions::E_CTRLCLICK_HYPERLINK )) // control-click -> into new window
{
//Ctrl key is pressed and ctrl+click hyperlink security control is set
bProceedHyperlink = true;
}
else if( !aSecOpt.IsOptionSet( SvtSecurityOptions::E_CTRLCLICK_HYPERLINK ) )
{
//ctrl+click hyperlink security control is disabled just click will do
bProceedHyperlink = true;
}
if ( !bProceedHyperlink )
return;
SfxStringItem aUrl( SID_FILE_NAME, rURL ); SfxStringItem aUrl( SID_FILE_NAME, rURL );
SfxStringItem aTarget( SID_TARGETNAME, rTarget ); SfxStringItem aTarget( SID_TARGETNAME, rTarget );
aTarget.SetValue(rtl::OUString("_blank"));
if ( nScClickMouseModifier & KEY_MOD1 ) // control-click -> into new window
aTarget.SetValue(rtl::OUString("_blank"));
SfxViewFrame* pFrame = NULL; SfxViewFrame* pFrame = NULL;
String aReferName; String aReferName;
if ( pScActiveViewShell ) if ( pScActiveViewShell )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment