X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fidentity.cpp;h=6cb37808c5235a2ee3cf81373b328bb0a7332eec;hp=728cff128564d0ca918daece76312d946ebf6d8f;hb=cd78f70e75d797cb6217b32fceebdfb6022fbe83;hpb=f6b9eeda207d42c99fc3e9085631722cf2ec83dc diff --git a/src/common/identity.cpp b/src/common/identity.cpp index 728cff12..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 @@ -315,4 +327,6 @@ QDataStream &operator>>(QDataStream &in, Identity &id) { return in; } +#ifdef HAVE_SSL INIT_SYNCABLE_OBJECT(CertManager) +#endif // HAVE_SSL