CWS-TOOLING: integrate CWS fwk143

This commit is contained in:
obo 2010-06-22 11:08:42 +02:00
commit 2a93277fde
3 changed files with 73 additions and 8 deletions

View File

@ -157,6 +157,11 @@
<value install:module="wnt">WIN</value>
</prop>
</node>
<node oor:name="Dictionaries">
<prop oor:name="RepositoryURL" install:module="brand">
<value>${DICT_REPO_URL}</value>
</prop>
</node>
<node oor:name="AutoCorrect">
<prop oor:name="ReplaceSingleQuote" install:module="korea">
<value>true</value>

View File

@ -974,6 +974,19 @@
<value>false</value>
</prop>
</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">
<info>
<author>AW</author>

View File

@ -51,20 +51,15 @@
#include <com/sun/star/system/SystemShellExecuteFlags.hpp>
#include <com/sun/star/system/SystemShellExecuteException.hpp>
#ifndef _UNOTOOLS_PROCESSFACTORY_HXX
#include <comphelper/processfactory.hxx>
#endif
#include <comphelper/storagehelper.hxx>
#include "comphelper/configurationhelper.hxx"
#ifndef _SVT_DOC_ADDRESSTEMPLATE_HXX_
#include <svtools/addresstemplate.hxx>
#endif
#include <svl/visitem.hxx>
#include <unotools/intlwrapper.hxx>
#ifndef _UNOTOOLS_CONFIGMGR_HXX_
#include <unotools/configmgr.hxx>
#endif
#include <tools/config.hxx>
#include <tools/diagnose_ex.h>
#include <vcl/msgbox.hxx>
@ -90,6 +85,7 @@
#include <vos/process.hxx>
#include <rtl/bootstrap.hxx>
#include <cppuhelper/exc_hlp.hxx>
#include <rtl/ustrbuf.hxx>
#include <com/sun/star/script/provider/XScriptProviderFactory.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 )
{
DBG_MEMTEST();
@ -924,8 +945,34 @@ void SfxApplication::OfaExec_Impl( SfxRequest& rReq )
uno::Reference< css::system::XSystemShellExecute > xSystemShell(
xSMGR->createInstance( DEFINE_CONST_UNICODE("com.sun.star.system.SystemShellExecute" ) ),
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& )
{