entrance: improve login appearance in conf panel

This commit is contained in:
Michael Bouchaud 2014-02-24 23:29:27 +00:00
parent 6183f3d7ab
commit c2f54553b6
3 changed files with 28 additions and 18 deletions

View File

@ -308,7 +308,7 @@ collections {
type: EXTERNAL; type: EXTERNAL;
source: "elm/button"; source: "elm/button";
repeat_events: 0; repeat_events: 0;
description { description { state: "default" 0.0;
max: 9999 0; max: 9999 0;
rel1.to: "entrance.password"; rel1.to: "entrance.password";
rel1.relative: 0.5 1.0; rel1.relative: 0.5 1.0;
@ -319,23 +319,27 @@ collections {
string: "label" "Login"; string: "label" "Login";
} }
} }
description { state: "xsessions_disabled" 0.0;
inherit: "default" 0.0;
rel1.relative: 0.0 1.0;
}
} }
part { name: "entrance.xsessions"; part { name: "entrance.xsessions";
type: SWALLOW; type: SWALLOW;
description { state: "default" 0.0; description { state: "default" 0.0;
max: 9999 0; fixed: 1 1;
rel1.to: "entrance.password"; rel1.to: "entrance.password";
rel1.relative: 0.0 1.0; rel1.relative: 0.0 1.0;
rel2.to_x: "entrance.password"; rel2.to_x: "entrance.password";
rel2.relative: 0.5 1.0; rel2.relative: 0.5 1.0;
align: 0.5 0.0; align: 0.5 0.0;
//visible: 0;
}
description { state: "enabled" 0.0;
inherit: "default" 0.0;
visible: 1; visible: 1;
} }
description { state: "xsessions_disabled" 0.0;
inherit: "default" 0.0;
visible: 0;
}
} }
part { name: "entrance.error"; part { name: "entrance.error";
type: TEXT; type: TEXT;
@ -376,15 +380,17 @@ collections {
name: "xsession_enabled"; name: "xsession_enabled";
signal: "entrance,xsession,enabled"; signal: "entrance,xsession,enabled";
source: ""; source: "";
action: STATE_SET "enabled" 0.0; action: STATE_SET "default" 0.0;
target: "entrance.xsessions"; target: "entrance.xsessions";
target: "login_button";
} }
program { program {
name: "xsession_disabled"; name: "xsession_disabled";
signal: "entrance,xsession,disabled"; signal: "entrance,xsession,disabled";
source: ""; source: "";
action: STATE_SET "default" 0.0; action: STATE_SET "xsessions_disabled" 0.0;
target: "entrance.xsessions"; target: "entrance.xsessions";
target: "login_button";
} }
program { program {
name: "login_error"; name: "login_error";

View File

@ -552,6 +552,7 @@ _entrance_conf_user_build(Evas_Object *obj)
evas_object_show(ly); evas_object_show(ly);
o = entrance_login_add(ly, _entrance_conf_user_auth, ly); o = entrance_login_add(ly, _entrance_conf_user_auth, ly);
entrance_login_open_session_set(o, EINA_FALSE);
elm_object_part_content_set(ly, "entrance.login", o); elm_object_part_content_set(ly, "entrance.login", o);
evas_object_show(o); evas_object_show(o);
t = elm_table_add(obj); t = elm_table_add(obj);

View File

@ -507,8 +507,6 @@ entrance_login_xsessions_populate(Evas_Object *widget, Eina_List *xsessions)
_login_xsession_clicked_cb, widget); _login_xsession_clicked_cb, widget);
login->session = eina_list_data_get(xsessions); login->session = eina_list_data_get(xsessions);
_login_xsession_update(widget); _login_xsession_update(widget);
edje_object_signal_emit(widget,
"entrance,xsession,enabled", "");
} }
void void
@ -522,7 +520,7 @@ entrance_login_login_set(Evas_Object *widget, const char *user)
o = elm_object_part_content_get(widget, "entrance.password"); o = elm_object_part_content_get(widget, "entrance.password");
elm_object_focus_set(o, EINA_TRUE); elm_object_focus_set(o, EINA_TRUE);
_login_xsession_guess(widget, user); _login_xsession_guess(widget, user);
} }
void void
@ -531,14 +529,19 @@ entrance_login_open_session_set(Evas_Object *widget, Eina_Bool open_session)
Evas_Object *o; Evas_Object *o;
LOGIN_GET(widget); LOGIN_GET(widget);
open_session = !!open_session; open_session = !!open_session;
if (login->open_session != open_session) login->open_session = open_session;
o = elm_object_part_content_get(widget, "entrance.xsessions");
if (login->open_session)
{ {
login->open_session = open_session; elm_object_signal_emit(widget,
o = elm_object_part_content_get(widget, "entrance.xsessions"); "entrance,xsession,enabled", "");
if (login->open_session) evas_object_show(o);
evas_object_show(o); }
else else
evas_object_hide(o); {
elm_object_signal_emit(widget,
"entrance,xsession,disabled", "");
evas_object_hide(o);
} }
} }