summaryrefslogtreecommitdiff
path: root/unotools
diff options
context:
space:
mode:
authorAndras Timar <andras.timar@collabora.com>2014-07-09 11:44:32 +0200
committerAndras Timar <andras.timar@collabora.com>2014-07-09 11:46:09 +0200
commit33c36fb9fbc69bbc32088532dd21db7153aee09d (patch)
tree8fd913d65851d144fe82dd1b1374636ee9c5d4e5 /unotools
parentf285ac7c0a5df29d1476462fe2ba1b4d13b27aa4 (diff)
localized GetFullName()
Change-Id: I4f2bffadef3db1bd07432202525734ab9b0cb0de
Diffstat (limited to 'unotools')
-rw-r--r--unotools/source/config/useroptions.cxx38
1 files changed, 32 insertions, 6 deletions
diff --git a/unotools/source/config/useroptions.cxx b/unotools/source/config/useroptions.cxx
index 0f9299121f8e..6fab07777503 100644
--- a/unotools/source/config/useroptions.cxx
+++ b/unotools/source/config/useroptions.cxx
@@ -18,7 +18,7 @@
*/
#include <unotools/useroptions.hxx>
-
+#include <unotools/syslocale.hxx>
#include <unotools/configmgr.hxx>
#include <com/sun/star/uno/Any.hxx>
#include <com/sun/star/uno/Sequence.hxx>
@@ -37,6 +37,7 @@
#include <com/sun/star/util/ChangesEvent.hpp>
#include <comphelper/configurationhelper.hxx>
#include <comphelper/processfactory.hxx>
+#include <i18nlangtag/mslangid.hxx>
using namespace utl;
using namespace com::sun::star;
@@ -194,11 +195,36 @@ void SvtUserOptions::Impl::SetToken (sal_uInt16 nToken, OUString const& sToken)
OUString SvtUserOptions::Impl::GetFullName () const
{
- // TODO international name
- OUString sFullName = GetToken(USER_OPT_FIRSTNAME).trim();
- if (!sFullName.isEmpty())
- sFullName += " ";
- sFullName += GetToken(USER_OPT_LASTNAME).trim();
+ OUString sFullName;
+ switch (LanguageType const eLang = SvtSysLocale().GetUILanguageTag().getLanguageType())
+ {
+ case LANGUAGE_RUSSIAN:
+ sFullName = GetToken(USER_OPT_FIRSTNAME).trim();
+ if (!sFullName.isEmpty())
+ sFullName += " ";
+ sFullName += GetToken(USER_OPT_FATHERSNAME).trim();
+ if (!sFullName.isEmpty())
+ sFullName += " ";
+ sFullName += GetToken(USER_OPT_LASTNAME).trim();
+ break;
+ default:
+ if (MsLangId::isFamilyNameFirst(eLang))
+ {
+ sFullName = GetToken(USER_OPT_LASTNAME).trim();
+ if (!sFullName.isEmpty())
+ sFullName += " ";
+ sFullName += GetToken(USER_OPT_FIRSTNAME).trim();
+ }
+ else
+ {
+ sFullName = GetToken(USER_OPT_FIRSTNAME).trim();
+ if (!sFullName.isEmpty())
+ sFullName += " ";
+ sFullName += GetToken(USER_OPT_LASTNAME).trim();
+ }
+ break;
+ }
+
return sFullName;
}