yoz pushed a commit to branch master.

http://git.enlightenment.org/misc/entrance.git/commit/?id=8866cd0f9993b25b846204b84c4efaf80e7ee817

commit 8866cd0f9993b25b846204b84c4efaf80e7ee817
Author: Michael Bouchaud <y...@efl.so>
Date:   Wed Feb 12 23:36:45 2014 +0000

    entrance: use external instead of hard coded widget, so we can do more 
theming
---
 data/themes/default/default.edc | 14 ++++++++++++--
 src/bin/entrance_login.c        | 26 +++++++++-----------------
 2 files changed, 21 insertions(+), 19 deletions(-)

diff --git a/data/themes/default/default.edc b/data/themes/default/default.edc
index 4cd5cb1..f321e18 100644
--- a/data/themes/default/default.edc
+++ b/data/themes/default/default.edc
@@ -304,14 +304,18 @@ collections {
          }
 
          part {
-            name: "entrance.loginbtn";
-            type: SWALLOW;
+            name: "login_button";
+            type: EXTERNAL;
+            source: "elm/button";
             repeat_events: 0;
             description {
                rel1.relative: 0.5 1.0;
                rel1.to_x: "entrance.password";
                rel1.to_y: "entrance.password";
                visible: 1;
+               params {
+                  string: "label" "Login";
+               }
             }
          }
 
@@ -393,6 +397,12 @@ collections {
             target: "error";
             target: "entrance.error";
          }
+         program {
+            name: "check_auth";
+            signal: "clicked";
+            source: "login_button";
+            action: SIGNAL_EMIT "entrance,auth,check" "";
+         }
       }
 /*
 
diff --git a/src/bin/entrance_login.c b/src/bin/entrance_login.c
index 0fb61db..0094575 100644
--- a/src/bin/entrance_login.c
+++ b/src/bin/entrance_login.c
@@ -23,6 +23,7 @@ static void _login_login_activated_cb(void *data, Evas_Object 
*obj, void *event)
 static char *_login_xsession_text_get(void *data, Evas_Object *obj, const char 
*part);
 static void _login_auth_cb(void *data, const char *user, Eina_Bool granted);
 static void _entrance_login_session_set(Evas_Object *widget, const char *name);
+static void _entrance_login_auth_check_cb(void *data, Evas_Object *obj, const 
char *signal, const char *source);
 
 static Entrance_Fill *_login_fill;
 
@@ -354,13 +355,6 @@ _login_xsession_guess(void *data, const char *user)
 }
 
 static void
-_login_loginbutton_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event 
EINA_UNUSED)
-{
-   _login_check_auth(data);
-}
-
-
-static void
 _login_xsession_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void 
*event_info)
 {
    LOGIN_GET(data);
@@ -428,7 +422,11 @@ _entrance_login_session_set(Evas_Object *widget, const 
char *name)
    _login_xsession_update(widget);
 }
 
-
+static void
+_entrance_login_auth_check_cb(void *data, Evas_Object *obj EINA_UNUSED, const 
char *signal EINA_UNUSED, const char *source EINA_UNUSED)
+{
+   _login_check_auth(data);
+}
 
 
////////////////////////////////////////////////////////////////////////////////
 
@@ -451,7 +449,7 @@ entrance_login_shutdown(void)
 Evas_Object *
 entrance_login_add(Evas_Object *obj, Entrance_Login_Cb login_cb, void *data)
 {
-   Evas_Object *o, *h, *p, *b;
+   Evas_Object *o, *h, *p;
    Entrance_Gui_Login *login;
 
    /* layout */
@@ -477,12 +475,6 @@ entrance_login_add(Evas_Object *obj, Entrance_Login_Cb 
login_cb, void *data)
    elm_object_part_content_set(o, "entrance.password", p);
    evas_object_show(p);
 
-   /* login button */
-   b = elm_button_add(o);
-   elm_object_part_content_set(o, "entrance.loginbtn", b);
-   elm_object_text_set(b, "Login");
-   evas_object_show(b);
-
    /* callbacks */
    elm_object_event_callback_add(o, _login_input_event_cb, o);
    evas_object_smart_callback_add(h, "activated",
@@ -493,8 +485,8 @@ entrance_login_add(Evas_Object *obj, Entrance_Login_Cb 
login_cb, void *data)
                                   _login_password_focused_cb, o);
    evas_object_smart_callback_add(p, "unfocused",
                                   _login_password_unfocused_cb, o);
-   evas_object_smart_callback_add(b, "clicked",
-                                  _login_loginbutton_cb, o);
+   elm_object_signal_callback_add(o, "entrance,auth,check", "",
+                                  _entrance_login_auth_check_cb, o);
    h = elm_hoversel_add(o);
    elm_hoversel_hover_parent_set(h, obj);
    evas_object_data_set(o, "entrance", login);

-- 


Reply via email to