X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fidentity.cpp;h=6cb37808c5235a2ee3cf81373b328bb0a7332eec;hp=275afcc6dfd3634413ba7fcb65e7f758a22763ad;hb=cd78f70e75d797cb6217b32fceebdfb6022fbe83;hpb=5ec74a7b8f20e9e3f48cf286e0944f1855a271c3 diff --git a/src/common/identity.cpp b/src/common/identity.cpp index 275afcc6..6cb37808 100644 --- a/src/common/identity.cpp +++ b/src/common/identity.cpp @@ -76,6 +76,18 @@ Identity::Identity(const Identity &other, QObject *parent) init(); } +#ifdef Q_WS_WIN +#ifdef UNICODE +QString tcharToQString(TCHAR *tchar){ + return QString::fromUtf16( reinterpret_cast(tchar)); +} +#else +QString tcharToQString(TCHAR *tchar){ + return QString::fromLocal8Bit(tchar); +} +#endif + +#endif void Identity::init() { setObjectName(QString::number(id().toInt())); setAllowClientUpdates(true); @@ -102,7 +114,7 @@ QString Identity::defaultNick() { DWORD bufCharCount = 128; //if(GetUserNameEx(/* NameSamCompatible */ 1, infoBuf, &bufCharCount)) if(GetUserNameEx(NameSamCompatible, infoBuf, &bufCharCount)) { - QString nickName(infoBuf); + QString nickName(tcharToQString(infoBuf)); int lastBs = nickName.lastIndexOf('\\'); if(lastBs != -1) { nickName = nickName.mid(lastBs + 1); @@ -138,7 +150,7 @@ QString Identity::defaultRealName() { TCHAR infoBuf[128]; DWORD bufCharCount = 128; if(GetUserName(infoBuf, &bufCharCount)) - return QString(infoBuf); + return tcharToQString(infoBuf); else return generalDefault; #else