diff --git a/src/lib/util/kuser.h b/src/lib/util/kuser.h --- a/src/lib/util/kuser.h +++ b/src/lib/util/kuser.h @@ -399,6 +399,17 @@ */ ~KUser(); + /** + * @author ahmedbilal + * + * Return username of a user whose full name is given as argument + * + * @param fullname Full Name of user who username you want to get + * + * @return username corresponding to full name or "" if no user + * found with such fullname + */ + static QString usernameFromFullname(QString fullname); /** * @param maxCount the maximum number of users to return * @return all users of the system. diff --git a/src/lib/util/kuser_unix.cpp b/src/lib/util/kuser_unix.cpp --- a/src/lib/util/kuser_unix.cpp +++ b/src/lib/util/kuser_unix.cpp @@ -302,6 +302,20 @@ return d->properties.value(which); } +QString KUser::usernameFromFullname(QString fullname) +{ + QStringList all_users = KUser::allUserNames(); + QStringListIterator all_users_iterator(all_users); + while (all_users_iterator.hasNext()) + { + KUser user(all_users_iterator.next()); + QString user_fullname = user.property(KUser::FullName).toString(); + if (fullname == user_fullname) + return user.loginName(); + } + return QString(); +} + QList KUser::allUsers(uint maxCount) { QList result;