From d81bc12a6715a94905a4f0e034c241977d120065 Mon Sep 17 00:00:00 2001 From: Release Engineers Date: Fri, 3 Jul 2009 07:59:31 +0000 Subject: CWS-TOOLING: integrate CWS fwk108 2009-05-27 09:53:38 +0200 cd r272332 : CWS-TOOLING: rebase CWS fwk108 to trunk@272291 (milestone: DEV300:m49) 2009-05-26 15:31:26 +0200 cd r272307 : CWS-TOOLING: rebase CWS fwk108 to trunk@271830 (milestone: DEV300:m48) 2009-04-08 12:56:05 +0200 cd r270636 : #i100910# Check for exact type for SfxVoidItem 2009-04-03 16:18:17 +0200 tl r270499 : #i100828# avoid loading library for language guessing at start-up --- framework/inc/helper/mischelper.hxx | 61 ++++++++++++++++++++++ .../inc/uielement/langselectionmenucontroller.hxx | 4 +- .../uielement/langselectionstatusbarcontroller.hxx | 4 +- 3 files changed, 67 insertions(+), 2 deletions(-) create mode 100644 framework/inc/helper/mischelper.hxx (limited to 'framework/inc') diff --git a/framework/inc/helper/mischelper.hxx b/framework/inc/helper/mischelper.hxx new file mode 100644 index 000000000000..1d9df9caa4ff --- /dev/null +++ b/framework/inc/helper/mischelper.hxx @@ -0,0 +1,61 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2008 by Sun Microsystems, Inc. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: acceleratorinfo.hxx,v $ + * $Revision: 1.6 $ + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __MISC_HELPER_HXX_ +#define __MISC_HELPER_HXX_ + +#include + +#include +#include + +namespace framework +{ + +inline bool IsScriptTypeMatchingToLanguage( sal_Int16 nScriptType, LanguageType nLang ) +{ + return 0 != (nScriptType & SvtLanguageOptions::GetScriptTypeOfLanguage( nLang )); +} + + +class LanguageGuessingHelper +{ + mutable ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XLanguageGuessing > m_xLanguageGuesser; + +public: + LanguageGuessingHelper() {} + + ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XLanguageGuessing > GetGuesser() const; +}; + +} // namespace framework + +#endif // __MISC_HELPER_HXX_ + diff --git a/framework/inc/uielement/langselectionmenucontroller.hxx b/framework/inc/uielement/langselectionmenucontroller.hxx index 724b75eba3d8..f9cec2dfb814 100644 --- a/framework/inc/uielement/langselectionmenucontroller.hxx +++ b/framework/inc/uielement/langselectionmenucontroller.hxx @@ -58,6 +58,8 @@ #include #include +#include "helper/mischelper.hxx" + namespace framework { class LanguageSelectionMenuController : public PopupMenuControllerBase @@ -97,7 +99,6 @@ namespace framework }; sal_Bool m_bShowMenu; - ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XLanguageGuessing > m_xLanguageGuesser; ::rtl::OUString m_aLangStatusCommandURL; ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch > m_xLanguageDispatch; ::rtl::OUString m_aMenuCommandURL_Lang; @@ -111,6 +112,7 @@ namespace framework sal_Int16 m_nScriptType; ::rtl::OUString m_aKeyboardLang; ::rtl::OUString m_aGuessedText; + LanguageGuessingHelper m_aLangGuessHelper; void fillPopupMenu( com::sun::star::uno::Reference< com::sun::star::awt::XPopupMenu >& rPopupMenu, const Mode rMode ); }; diff --git a/framework/inc/uielement/langselectionstatusbarcontroller.hxx b/framework/inc/uielement/langselectionstatusbarcontroller.hxx index b2f1a9306ea3..4e886f89adfb 100644 --- a/framework/inc/uielement/langselectionstatusbarcontroller.hxx +++ b/framework/inc/uielement/langselectionstatusbarcontroller.hxx @@ -39,6 +39,8 @@ #include #include +#include "helper/mischelper.hxx" + // component helper namespace namespace framework { @@ -92,7 +94,7 @@ class LangSelectionStatusbarController : public svt::StatusbarController ::rtl::OUString m_aCurLang; ::rtl::OUString m_aKeyboardLang; ::rtl::OUString m_aGuessedText; - ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XLanguageGuessing > m_xLanguageGuesser; + LanguageGuessingHelper m_aLangGuessHelper; void LangMenu() throw (::com::sun::star::uno::RuntimeException); }; -- cgit