Kaydet (Commit) a2685c5f authored tarafından Eike Rathke's avatar Eike Rathke

bumped locale data wrapper to use XLocaleData4 and provide date acceptance patterns

üst ee660ba9
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
#define _UNOTOOLS_LOCALEDATAWRAPPER_HXX #define _UNOTOOLS_LOCALEDATAWRAPPER_HXX
#include <tools/string.hxx> #include <tools/string.hxx>
#include <com/sun/star/i18n/XLocaleData3.hpp> #include <com/sun/star/i18n/XLocaleData4.hpp>
#include <com/sun/star/i18n/LocaleItem.hpp> #include <com/sun/star/i18n/LocaleItem.hpp>
#include <com/sun/star/i18n/reservedWords.hpp> #include <com/sun/star/i18n/reservedWords.hpp>
#include <unotools/readwritemutexguard.hxx> #include <unotools/readwritemutexguard.hxx>
...@@ -67,7 +67,7 @@ class UNOTOOLS_DLLPUBLIC LocaleDataWrapper ...@@ -67,7 +67,7 @@ class UNOTOOLS_DLLPUBLIC LocaleDataWrapper
static sal_uInt8 nLocaleDataChecking; // 0:=dontknow, 1:=yes, 2:=no static sal_uInt8 nLocaleDataChecking; // 0:=dontknow, 1:=yes, 2:=no
::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xSMgr; ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xSMgr;
::com::sun::star::uno::Reference< ::com::sun::star::i18n::XLocaleData3 > xLD; ::com::sun::star::uno::Reference< ::com::sun::star::i18n::XLocaleData4 > xLD;
::com::sun::star::lang::Locale aLocale; ::com::sun::star::lang::Locale aLocale;
::boost::shared_ptr< ::com::sun::star::i18n::Calendar2 > xDefaultCalendar; ::boost::shared_ptr< ::com::sun::star::i18n::Calendar2 > xDefaultCalendar;
::com::sun::star::i18n::LocaleDataItem aLocaleDataItem; ::com::sun::star::i18n::LocaleDataItem aLocaleDataItem;
...@@ -163,6 +163,7 @@ public: ...@@ -163,6 +163,7 @@ public:
::com::sun::star::i18n::ForbiddenCharacters getForbiddenCharacters() const; ::com::sun::star::i18n::ForbiddenCharacters getForbiddenCharacters() const;
::com::sun::star::uno::Sequence< ::rtl::OUString > getReservedWord() const; ::com::sun::star::uno::Sequence< ::rtl::OUString > getReservedWord() const;
::com::sun::star::uno::Sequence< ::com::sun::star::lang::Locale > getAllInstalledLocaleNames() const; ::com::sun::star::uno::Sequence< ::com::sun::star::lang::Locale > getAllInstalledLocaleNames() const;
::com::sun::star::uno::Sequence< ::rtl::OUString > getDateAcceptancePatterns() const;
/// same as the wrapper implementation but static /// same as the wrapper implementation but static
static ::com::sun::star::uno::Sequence< ::com::sun::star::lang::Locale > getInstalledLocaleNames(); static ::com::sun::star::uno::Sequence< ::com::sun::star::lang::Locale > getInstalledLocaleNames();
......
...@@ -82,7 +82,7 @@ LocaleDataWrapper::LocaleDataWrapper( ...@@ -82,7 +82,7 @@ LocaleDataWrapper::LocaleDataWrapper(
bReservedWordValid( sal_False ) bReservedWordValid( sal_False )
{ {
setLocale( rLocale ); setLocale( rLocale );
xLD = Reference< XLocaleData3 > ( xLD = Reference< XLocaleData4 > (
intl_createInstance( xSMgr, "com.sun.star.i18n.LocaleData", intl_createInstance( xSMgr, "com.sun.star.i18n.LocaleData",
"LocaleDataWrapper" ), uno::UNO_QUERY ); "LocaleDataWrapper" ), uno::UNO_QUERY );
} }
...@@ -1950,4 +1950,27 @@ void LocaleDataWrapper::evaluateLocaleDataChecking() ...@@ -1950,4 +1950,27 @@ void LocaleDataWrapper::evaluateLocaleDataChecking()
return ::com::sun::star::uno::Sequence< ::com::sun::star::i18n::Calendar2 >(0); return ::com::sun::star::uno::Sequence< ::com::sun::star::i18n::Calendar2 >(0);
} }
// --- XLocaleData4 ----------------------------------------------------------
::com::sun::star::uno::Sequence< ::rtl::OUString > LocaleDataWrapper::getDateAcceptancePatterns() const
{
try
{
if ( xLD.is() )
return xLD->getDateAcceptancePatterns( getLocale() );
}
catch ( Exception& e )
{
#ifdef DBG_UTIL
rtl::OStringBuffer aMsg("getDateAcceptancePatterns: Exception caught\n");
aMsg.append(rtl::OUStringToOString(e.Message, RTL_TEXTENCODING_UTF8));
DBG_ERRORFILE(aMsg.getStr());
#else
(void)e;
#endif
}
return ::com::sun::star::uno::Sequence< ::rtl::OUString >(0);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
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