X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fidentity.cpp;h=0569178ade8b86b0fbc150c2cbe322d3d64ecb1b;hp=c1858e8da8bd3964f4c165e223332da86c996d6f;hb=9f461bad6c890d3fe92d89ebf1b6a3f313d7e8ef;hpb=45d45257f6c24bc19c28e46de96d2d4761a84678 diff --git a/src/common/identity.cpp b/src/common/identity.cpp index c1858e8d..0569178a 100644 --- a/src/common/identity.cpp +++ b/src/common/identity.cpp @@ -22,6 +22,7 @@ #include #include +#include #ifdef Q_OS_MAC # include @@ -88,7 +89,10 @@ QString Identity::defaultNick() { nick = shortUserName; #elif defined(Q_OS_UNIX) - QString userName = getlogin(); + QString userName; + struct passwd *pwd = getpwuid(getuid()); + if(pwd) + userName = pwd->pw_name; if(!userName.isEmpty()) nick = userName; @@ -123,7 +127,7 @@ QString Identity::defaultRealName() { QString realName; struct passwd *pwd = getpwuid(getuid()); if(pwd) - realName = pwd->pw_gecos; + realName = QString::fromUtf8(pwd->pw_gecos); if(!realName.isEmpty()) return realName; else @@ -144,8 +148,7 @@ QString Identity::defaultRealName() { void Identity::setToDefaults() { setIdentityName(tr("")); setRealName(defaultRealName()); - QStringList n; - n << defaultNick() << defaultNick() + "_" << defaultNick() + "__"; + QStringList n = QStringList() << defaultNick(); setNicks(n); setAwayNick(""); setAwayNickEnabled(false);