fwk143: #i111516# Support language argument and configuration item for dictionary repository URL.
This commit is contained in:
@@ -157,6 +157,11 @@
|
|||||||
<value install:module="wnt">WIN</value>
|
<value install:module="wnt">WIN</value>
|
||||||
</prop>
|
</prop>
|
||||||
</node>
|
</node>
|
||||||
|
<node oor:name="Dictionaries">
|
||||||
|
<prop oor:name="RepositoryURL" install:module="brand">
|
||||||
|
<value>${DICT_REPO_URL}</value>
|
||||||
|
</prop>
|
||||||
|
</node>
|
||||||
<node oor:name="AutoCorrect">
|
<node oor:name="AutoCorrect">
|
||||||
<prop oor:name="ReplaceSingleQuote" install:module="korea">
|
<prop oor:name="ReplaceSingleQuote" install:module="korea">
|
||||||
<value>true</value>
|
<value>true</value>
|
||||||
|
@@ -974,6 +974,19 @@
|
|||||||
<value>false</value>
|
<value>false</value>
|
||||||
</prop>
|
</prop>
|
||||||
</group>
|
</group>
|
||||||
|
<group oor:name="Dictionaries">
|
||||||
|
<info>
|
||||||
|
<author>CD</author>
|
||||||
|
<desc>Contains settings related to dictionaries.</desc>
|
||||||
|
</info>
|
||||||
|
<prop oor:name="RepositoryURL" oor:type="xs:string">
|
||||||
|
<info>
|
||||||
|
<author>CD</author>
|
||||||
|
<desc>Specifies a repository URL where users can download additional dictionaries.</desc>
|
||||||
|
</info>
|
||||||
|
<value/>
|
||||||
|
</prop>
|
||||||
|
</group>
|
||||||
<group oor:name="Drawinglayer">
|
<group oor:name="Drawinglayer">
|
||||||
<info>
|
<info>
|
||||||
<author>AW</author>
|
<author>AW</author>
|
||||||
|
@@ -51,20 +51,15 @@
|
|||||||
#include <com/sun/star/system/SystemShellExecuteFlags.hpp>
|
#include <com/sun/star/system/SystemShellExecuteFlags.hpp>
|
||||||
#include <com/sun/star/system/SystemShellExecuteException.hpp>
|
#include <com/sun/star/system/SystemShellExecuteException.hpp>
|
||||||
|
|
||||||
#ifndef _UNOTOOLS_PROCESSFACTORY_HXX
|
|
||||||
#include <comphelper/processfactory.hxx>
|
#include <comphelper/processfactory.hxx>
|
||||||
#endif
|
|
||||||
#include <comphelper/storagehelper.hxx>
|
#include <comphelper/storagehelper.hxx>
|
||||||
|
#include "comphelper/configurationhelper.hxx"
|
||||||
|
|
||||||
#ifndef _SVT_DOC_ADDRESSTEMPLATE_HXX_
|
|
||||||
#include <svtools/addresstemplate.hxx>
|
#include <svtools/addresstemplate.hxx>
|
||||||
#endif
|
|
||||||
#include <svl/visitem.hxx>
|
#include <svl/visitem.hxx>
|
||||||
#include <unotools/intlwrapper.hxx>
|
#include <unotools/intlwrapper.hxx>
|
||||||
|
|
||||||
#ifndef _UNOTOOLS_CONFIGMGR_HXX_
|
|
||||||
#include <unotools/configmgr.hxx>
|
#include <unotools/configmgr.hxx>
|
||||||
#endif
|
|
||||||
#include <tools/config.hxx>
|
#include <tools/config.hxx>
|
||||||
#include <tools/diagnose_ex.h>
|
#include <tools/diagnose_ex.h>
|
||||||
#include <vcl/msgbox.hxx>
|
#include <vcl/msgbox.hxx>
|
||||||
@@ -90,6 +85,7 @@
|
|||||||
#include <vos/process.hxx>
|
#include <vos/process.hxx>
|
||||||
#include <rtl/bootstrap.hxx>
|
#include <rtl/bootstrap.hxx>
|
||||||
#include <cppuhelper/exc_hlp.hxx>
|
#include <cppuhelper/exc_hlp.hxx>
|
||||||
|
#include <rtl/ustrbuf.hxx>
|
||||||
|
|
||||||
#include <com/sun/star/script/provider/XScriptProviderFactory.hpp>
|
#include <com/sun/star/script/provider/XScriptProviderFactory.hpp>
|
||||||
#include <com/sun/star/frame/XModuleManager.hpp>
|
#include <com/sun/star/frame/XModuleManager.hpp>
|
||||||
@@ -879,6 +875,31 @@ namespace
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static ::rtl::OUString getConfigurationStringValue(
|
||||||
|
const ::rtl::OUString& rPackage,
|
||||||
|
const ::rtl::OUString& rRelPath,
|
||||||
|
const ::rtl::OUString& rKey,
|
||||||
|
const ::rtl::OUString& rDefaultValue )
|
||||||
|
{
|
||||||
|
::rtl::OUString aDefVal( rDefaultValue );
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
::comphelper::ConfigurationHelper::readDirectKey(
|
||||||
|
comphelper::getProcessServiceFactory(),
|
||||||
|
rPackage,
|
||||||
|
rRelPath,
|
||||||
|
rKey,
|
||||||
|
::comphelper::ConfigurationHelper::E_READONLY) >>= aDefVal;
|
||||||
|
}
|
||||||
|
catch(const com::sun::star::uno::RuntimeException& exRun)
|
||||||
|
{ throw exRun; }
|
||||||
|
catch(const com::sun::star::uno::Exception&)
|
||||||
|
{}
|
||||||
|
|
||||||
|
return aDefVal;
|
||||||
|
}
|
||||||
|
|
||||||
void SfxApplication::OfaExec_Impl( SfxRequest& rReq )
|
void SfxApplication::OfaExec_Impl( SfxRequest& rReq )
|
||||||
{
|
{
|
||||||
DBG_MEMTEST();
|
DBG_MEMTEST();
|
||||||
@@ -924,8 +945,34 @@ void SfxApplication::OfaExec_Impl( SfxRequest& rReq )
|
|||||||
uno::Reference< css::system::XSystemShellExecute > xSystemShell(
|
uno::Reference< css::system::XSystemShellExecute > xSystemShell(
|
||||||
xSMGR->createInstance( DEFINE_CONST_UNICODE("com.sun.star.system.SystemShellExecute" ) ),
|
xSMGR->createInstance( DEFINE_CONST_UNICODE("com.sun.star.system.SystemShellExecute" ) ),
|
||||||
uno::UNO_QUERY_THROW );
|
uno::UNO_QUERY_THROW );
|
||||||
if ( xSystemShell.is() )
|
|
||||||
xSystemShell->execute( DEFINE_CONST_UNICODE("http://extensions.services.openoffice.org/dictionary?cid=926385"), ::rtl::OUString(), css::system::SystemShellExecuteFlags::DEFAULTS );
|
// read repository URL from configuration
|
||||||
|
::rtl::OUString sTemplRepoURL =
|
||||||
|
getConfigurationStringValue(
|
||||||
|
::rtl::OUString::createFromAscii("org.openoffice.Office.Common"),
|
||||||
|
::rtl::OUString::createFromAscii("Dictionaries"),
|
||||||
|
::rtl::OUString::createFromAscii("RepositoryURL"),
|
||||||
|
::rtl::OUString());
|
||||||
|
|
||||||
|
if ( xSystemShell.is() && sTemplRepoURL.getLength() > 0 )
|
||||||
|
{
|
||||||
|
::rtl::OUStringBuffer aURLBuf( sTemplRepoURL );
|
||||||
|
aURLBuf.appendAscii( "?" );
|
||||||
|
aURLBuf.appendAscii( "lang=" );
|
||||||
|
|
||||||
|
// read locale from configuration
|
||||||
|
::rtl::OUString sLocale = getConfigurationStringValue(
|
||||||
|
::rtl::OUString::createFromAscii("org.openoffice.Setup"),
|
||||||
|
::rtl::OUString::createFromAscii("L10N"),
|
||||||
|
::rtl::OUString::createFromAscii("ooLocale"),
|
||||||
|
::rtl::OUString::createFromAscii("en-US"));
|
||||||
|
|
||||||
|
aURLBuf.append( sLocale );
|
||||||
|
xSystemShell->execute(
|
||||||
|
aURLBuf.makeStringAndClear(),
|
||||||
|
::rtl::OUString(),
|
||||||
|
css::system::SystemShellExecuteFlags::DEFAULTS );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch( const ::com::sun::star::uno::Exception& )
|
catch( const ::com::sun::star::uno::Exception& )
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user