basic/Library_sb.mk | 1 basic/Package_inc.mk | 1 basic/inc/basic/global.hxx | 45 ++++++++++++++++++++++++++++++++++++ basic/source/basmgr/basmgr.cxx | 8 +++--- basic/source/classes/global.cxx | 50 ++++++++++++++++++++++++++++++++++++++++ 5 files changed, 101 insertions(+), 4 deletions(-)
New commits: commit da39d1443c03da64fe64a1862cdc36246e19d6aa Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Fri Feb 10 22:50:27 2012 +0100 use TransliterationWrapper in lcl_queryMacro, fdo#45607 diff --git a/basic/source/basmgr/basmgr.cxx b/basic/source/basmgr/basmgr.cxx index df20c20..83000b8 100644 --- a/basic/source/basmgr/basmgr.cxx +++ b/basic/source/basmgr/basmgr.cxx @@ -46,6 +46,7 @@ #include <basic/sbuno.hxx> #include <basic/basmgr.hxx> +#include <basic/global.hxx> #include <sbunoobj.hxx> #include "basrid.hxx" #include "sbintern.hxx" @@ -1736,12 +1737,11 @@ namespace String sModule = sMacro.GetToken( 0, '.', nLast ); sMacro.Erase( 0, nLast ); - IntlWrapper aIntlWrapper( ::comphelper::getProcessServiceFactory(), Application::GetSettings().GetLocale() ); - const CollatorWrapper* pCollator = aIntlWrapper.getCollator(); + utl::TransliterationWrapper* pTransliteration = SbGlobal::GetTransliteration(); sal_uInt16 nLibCount = i_manager->GetLibCount(); for ( sal_uInt16 nLib = 0; nLib < nLibCount; ++nLib ) { - if ( COMPARE_EQUAL == pCollator->compareString( i_manager->GetLibName( nLib ), sLibName ) ) + if ( pTransliteration->isEqual( i_manager->GetLibName( nLib ), sLibName ) ) { StarBASIC* pLib = i_manager->GetLib( nLib ); if( !pLib ) @@ -1756,7 +1756,7 @@ namespace for( sal_uInt16 nMod = 0; nMod < nModCount; ++nMod ) { SbModule* pMod = (SbModule*)pLib->GetModules()->Get( nMod ); - if ( pMod && COMPARE_EQUAL == pCollator->compareString( pMod->GetName(), sModule ) ) + if ( pMod && pTransliteration->isEqual( pMod->GetName(), sModule ) ) { SbMethod* pMethod = (SbMethod*)pMod->Find( sMacro, SbxCLASS_METHOD ); if( pMethod ) commit 05d48fb71f85af3bd66ff1156b71f8d95ea7a411 Author: Markus Mohrhard <markus.mohrh...@googlemail.com> Date: Fri Feb 10 22:12:03 2012 +0100 add SbGlobal for shared static objects diff --git a/basic/Library_sb.mk b/basic/Library_sb.mk index 04dad27..0171682 100644 --- a/basic/Library_sb.mk +++ b/basic/Library_sb.mk @@ -70,6 +70,7 @@ $(eval $(call gb_Library_add_exception_objects,sb,\ basic/source/basmgr/vbahelper \ basic/source/classes/errobject \ basic/source/classes/eventatt \ + basic/source/classes/global \ basic/source/classes/image \ basic/source/classes/propacc \ basic/source/classes/sb \ diff --git a/basic/Package_inc.mk b/basic/Package_inc.mk index 603e694..1b1da04 100644 --- a/basic/Package_inc.mk +++ b/basic/Package_inc.mk @@ -44,6 +44,7 @@ $(eval $(call gb_Package_add_file,basic_inc,inc/basic/sbxdef.hxx,basic/sbxdef.hx $(eval $(call gb_Package_add_file,basic_inc,inc/basic/sbxfac.hxx,basic/sbxfac.hxx)) $(eval $(call gb_Package_add_file,basic_inc,inc/basic/sbxform.hxx,basic/sbxform.hxx)) $(eval $(call gb_Package_add_file,basic_inc,inc/basic/sbx.hxx,basic/sbx.hxx)) +$(eval $(call gb_Package_add_file,basic_inc,inc/basic/global.hxx,basic/global.hxx)) $(eval $(call gb_Package_add_file,basic_inc,inc/basic/sbxmeth.hxx,basic/sbxmeth.hxx)) $(eval $(call gb_Package_add_file,basic_inc,inc/basic/sbxobj.hxx,basic/sbxobj.hxx)) $(eval $(call gb_Package_add_file,basic_inc,inc/basic/sbxprop.hxx,basic/sbxprop.hxx)) diff --git a/basic/inc/basic/global.hxx b/basic/inc/basic/global.hxx new file mode 100644 index 0000000..75c5d62 --- /dev/null +++ b/basic/inc/basic/global.hxx @@ -0,0 +1,45 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * Version: MPL 1.1 / GPLv3+ / LGPLv3+ + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License or as specified alternatively below. You may obtain a copy of + * the License at http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * Major Contributor(s): + * Copyright (C) 2012 Markus Mohrhard <markus.mohrh...@googlemail.com> (initial developer) + * + * All Rights Reserved. + * + * For minor contributions see the git repository. + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 3 or later (the "GPLv3+"), or + * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), + * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable + * instead of those above. + */ + +#ifndef BASIC_SBGLOBAL_HXX +#define BASIC_SBGLOBAL_HXX + +namespace utl { + class TransliterationWrapper; +} + +class SbGlobal +{ + static utl::TransliterationWrapper* pTransliteration; +public: + static utl::TransliterationWrapper* GetTransliteration(); +}; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/basic/source/classes/global.cxx b/basic/source/classes/global.cxx new file mode 100644 index 0000000..023ed85 --- /dev/null +++ b/basic/source/classes/global.cxx @@ -0,0 +1,50 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * Version: MPL 1.1 / GPLv3+ / LGPLv3+ + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License or as specified alternatively below. You may obtain a copy of + * the License at http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * Major Contributor(s): + * Copyright (C) 2012 Markus Mohrhard <markus.mohrh...@googlemail.com> (initial developer) + * + * All Rights Reserved. + * + * For minor contributions see the git repository. + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 3 or later (the "GPLv3+"), or + * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), + * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable + * instead of those above. + */ + +#include "basic/global.hxx" +#include <unotools/transliterationwrapper.hxx> +#include <comphelper/processfactory.hxx> +#include <i18npool/lang.h> +#include <vcl/svapp.hxx> + +utl::TransliterationWrapper* SbGlobal::pTransliteration = NULL; + +utl::TransliterationWrapper* SbGlobal::GetTransliteration() +{ + if(!pTransliteration) + { + const LanguageType eOfficeLanguage = Application::GetSettings().GetLanguage(); + pTransliteration = new ::utl::TransliterationWrapper( + comphelper::getProcessServiceFactory(), + com::sun::star::i18n::TransliterationModules_IGNORE_CASE ); + pTransliteration->loadModuleIfNeeded( eOfficeLanguage ); + } + return pTransliteration; +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ _______________________________________________ Libreoffice-commits mailing list Libreoffice-commits@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits