#include <gum/common/gum-user-types.h>
#include <Elementary.h>
#include <cynara-client.h>
+#include <pwd.h>
#include "engine.h"
#include "bus.h"
{
GumUser *user;
const char *icon, *name;
+ struct passwd *passwd;
if (!eng) {
_ERR("Invalid argument");
user = gum_user_get_sync(uid, FALSE);
if (!user) {
_ERR("failed to get login user");
+ passwd = getpwuid(uid);
+ eng->user.name = strdup(passwd->pw_name ?
+ passwd->pw_name : DEF_USER_NAME);
+ eng->user.thumb = strdup(DEF_USER_THUMB);
return -1;
}
r = _load_login_user(eng, user_uid);
if (r < 0) {
_ERR("failed to load login user");
- return -1;
+ return 0;
+ }
+
+ if (engine_ubar_item_get_privilege(eng)) {
+ it = _new_ubar_item(DEF_ADD_NAME, DEF_ADD_THUMB);
+ if (it) {
+ it->eng = eng;
+ eng->ubar_its = eina_list_append(eng->ubar_its, it);
+ }
}
service = gum_user_service_create_sync(FALSE);
eng->ubar_its = eina_list_append(eng->ubar_its, it);
}
- if (engine_ubar_item_get_privilege(eng)) {
- it = _new_ubar_item(DEF_ADD_NAME, DEF_ADD_THUMB);
- if (it) {
- it->eng = eng;
- eng->ubar_its = eina_list_append(eng->ubar_its, it);
- }
- }
-
gum_user_service_list_free(list);
g_object_unref(service);
return -1;
}
elm_object_part_content_set(ly, PART_USER_THUMB, ic);
-
elm_object_part_content_set(base, PART_USER, ly);
- elm_object_focus_allow_set(ly, EINA_TRUE);
evas_object_event_callback_add(ly,
EVAS_CALLBACK_MOUSE_MOVE, _mouse_over, NULL);
_pack_arrow(bar, eina_list_count(bar->list));
+ elm_object_focus_allow_set(bar->user->eo, EINA_TRUE);
evas_object_focus_set(bar->user->eo, EINA_TRUE);
+ elm_object_signal_emit(bar->ly, SIG_SHOW, SRC_PROG);
return 0;
}