Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_entry.c e_entry.h e_gadcon.c e_int_config_desklock.c 
        e_widget_entry.c e_widget_entry.h 


Log Message:


remove really evil/bad code int he desklock config dialog. don't go digging
and recreating internal widget data - you need a feature - add it to the
widget, or use existing ones. password mode disabled because it's just a bad
buggy hack. see comments.

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_entry.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- e_entry.c   7 Jan 2006 10:39:45 -0000       1.15
+++ e_entry.c   1 Jun 2006 04:09:33 -0000       1.16
@@ -128,10 +128,10 @@
 
    if ((!object) || !(sd = evas_object_smart_data_get(object)))
      return;
-   if ((!text) || ((strlen(text) <= 1) && (*text < 0x20)))
+   if ((!text) || ((strlen(text) <= 1) && (text[0] < 0x20)))
      return;
 
-   printf("Insert: \"%s\", %c\n", text, *text);
+   printf("Insert: \"%s\"\n", text);
    cursor = (Evas_Textblock_Cursor 
*)evas_object_textblock_cursor_get(sd->text_object);
 
    if (sd->cursor_at_the_end)
@@ -489,7 +489,6 @@
    
    edje_object_signal_emit(sd->edje_object, "focus_out", "");
 }
-   
 
 /**************************
  *
@@ -613,6 +612,7 @@
 }
 
 /* Make the cursor blink */
+// FIXME: cursor should not be a rect - shoudl be an edje. timers not needed 
then
 static int
 _e_editable_text_cursor_timer_cb(void *data)
 {
@@ -667,6 +667,7 @@
    e_editable_text_style_use_count++;
    evas_object_smart_member_add(sd->text_object, object);
 
+   // FIXME: cursor should not be a rect - shoudl be an edje.
    sd->clip = evas_object_rectangle_add(evas);
    evas_object_clip_set(sd->text_object, sd->clip);
    evas_object_smart_member_add(sd->clip, object);
@@ -773,35 +774,45 @@
 
    obj = sd->entry_object;
 
-   if (strcmp(key_event->keyname, "BackSpace") == 0)
+   if ((!strcmp(key_event->keyname, "BackSpace")) ||
+       ((key_event->string) && (strlen(key_event->string) == 1) &&
+       (key_event->string[0] == 0x8)))
      {
        e_editable_text_delete_char_before(obj);
-       if(sd->change_func)
+       if (sd->change_func)
          sd->change_func(sd->change_data, obj, "");
      }
-   else if (strcmp(key_event->keyname, "Delete") == 0)
+   else if ((!strcmp(key_event->keyname, "Delete")) ||
+           ((key_event->string) && (strlen(key_event->string) == 1) &&
+            (key_event->string[0] == 0x4)))
      {
        e_editable_text_delete_char_after(obj);
-       if(sd->change_func)
+       if (sd->change_func)
          sd->change_func(sd->change_data, obj, "");
      }
-   else if (strcmp(key_event->keyname, "Left") == 0)
+   else if (!strcmp(key_event->keyname, "Left"))
      e_editable_text_cursor_move_left(obj);
-   else if (strcmp(key_event->keyname, "Right") == 0)
+   else if (!strcmp(key_event->keyname, "Right"))
      e_editable_text_cursor_move_right(obj);
-   else if (strcmp(key_event->keyname, "Home") == 0)
+   else if ((!strcmp(key_event->keyname, "Home")) ||
+           ((key_event->string) && (strlen(key_event->string) == 1) &&
+            (key_event->string[0] == 0x1)))
      e_editable_text_cursor_move_at_start(obj);
-   else if (strcmp(key_event->keyname, "End") == 0)
+   else if ((!strcmp(key_event->keyname, "End")) ||
+           ((key_event->string) && (strlen(key_event->string) == 1) &&
+            (key_event->string[0] == 0x5)))
      e_editable_text_cursor_move_at_end(obj);
    else
      { 
        e_editable_text_insert(obj, key_event->string);
-       
-       if(key_event->string && strcmp(key_event->keyname, "Escape"))
+       if ((key_event->string) && (strcmp(key_event->keyname, "Escape")))
          {
-            if(*(key_event->string) >= 32 && *(key_event->string) <= 126)
-              if(sd->change_func)
-                sd->change_func(sd->change_data, obj, (char 
*)key_event->string);
+            if (*(key_event->string) >= 0x20)
+              {
+                 if (sd->change_func)
+                   sd->change_func(sd->change_data, obj,
+                                   (char *)key_event->string);
+              }
          }
      }
 }
@@ -917,4 +928,3 @@
 
    evas_object_hide(sd->edje_object);
 }
-
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_entry.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- e_entry.h   29 Dec 2005 15:03:04 -0000      1.8
+++ e_entry.h   1 Jun 2006 04:09:33 -0000       1.9
@@ -47,6 +47,7 @@
 EAPI void         e_entry_change_handler_set(Evas_Object *object, void 
(*func)(void *data, Evas_Object *entry, char *key), void *data);
 EAPI void         e_entry_focus(Evas_Object *object);
 EAPI void         e_entry_unfocus(Evas_Object *object);
-    
+EAPI void         e_entry_password_set(Evas_Object *object, int pw);
+
 #endif
 #endif
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_gadcon.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -3 -r1.28 -r1.29
--- e_gadcon.c  31 May 2006 18:44:18 -0000      1.28
+++ e_gadcon.c  1 Jun 2006 04:09:33 -0000       1.29
@@ -291,7 +291,9 @@
    for (l = e_config->gadcons; l; l = l->next)
      {
        cf_gc = l->data;
-       if ((!strcmp(cf_gc->name, gc->name)) &&
+       if ((cf_gc->name) && (gc->name) &&
+           (cf_gc->id) && (gc->id) &&
+           (!strcmp(cf_gc->name, gc->name)) &&
            (!strcmp(cf_gc->id, gc->id)))
          {
             ok = 1;
@@ -303,7 +305,8 @@
         for (l = cf_gc->clients; l; l = l->next)
          {
             cf_gcc = l->data;
-            if (!strcmp(cf_gcc->name, cc->name))
+            if ((cf_gcc->name) && (cc->name) && 
+                (!strcmp(cf_gcc->name, cc->name)))
               {
                  E_Gadcon_Client *gcc;
                  
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_desklock.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -3 -r1.17 -r1.18
--- e_int_config_desklock.c     31 May 2006 18:58:26 -0000      1.17
+++ e_int_config_desklock.c     1 Jun 2006 04:09:33 -0000       1.18
@@ -28,26 +28,15 @@
 
 
/******************************************************************************************/
 
-static void _e_desklock_passwd_cb_change(void *data, Evas_Object *obj);
-static void _e_desklock_cb_show_passwd(void *data, Evas_Object *obj, const 
char *emission,
-                                      const char *source);
-static int  _e_desklock_zone_num_get();
-
+static int  _e_desklock_zone_num_get(void);
 static void _load_bgs(E_Config_Dialog_Data *cfdata);
 static void _ibg_list_cb_bg_selected(void *data);
 
-static void _e_desklock_cb_lb_show_on_all_screens(void *data, Evas_Object *obj,
-                                                 const char *emission, const 
char *source);
-static void _e_desklock_cb_lb_show_on_current_screen(void *data, Evas_Object 
*obj,
-                                                    const char *emission, 
const char *source);
-static void _e_desklock_cb_lb_show_on_specific_screen(void *data, Evas_Object 
*obj,
-                                                     const char *emission, 
const char *source);
-
+static void _e_desklock_passwd_cb_change(void *data, Evas_Object *obj);
+static void _e_desklock_cb_show_passwd(void *data, Evas_Object *obj);
+static void _e_desklock_cb_lb_show_change(void *data, Evas_Object *obj);
 #ifdef HAVE_PAM
-static void _e_desklock_cb_syswide_auth_method(void *data, Evas_Object *obj,
-                                              const char *emission, const char 
*source);
-static void _e_desklock_cb_personalized_auth_method(void *data, Evas_Object 
*obj,
-                                                   const char *emission, const 
char *source);
+static void _e_desklock_cb_auth_method_change(void *data, Evas_Object *obj);
 #endif
 
 
/*******************************************************************************************/
@@ -93,40 +82,6 @@
    } gui;
 };
 
-typedef struct _E_Widget_Entry_Data   E_Widget_Entry_Data;
-typedef struct _E_Widget_Check_Data   E_Widget_Check_Data;
-typedef        struct _E_Widget_Radio_Data   E_Widget_Radio_Data;
-typedef struct _E_Widget_Slider_Data  E_Widget_Slider_Data;
-
-struct _E_Widget_Entry_Data
-{
-   Evas_Object *o_entry;
-   Evas_Object *obj;
-   char **valptr;
-   void (*on_change_func) (void *data, Evas_Object *obj);
-   void  *on_change_data;
-};
-
-struct _E_Widget_Check_Data
-{
-   Evas_Object *o_check;
-   int *valptr;
-};
-
-struct _E_Widget_Radio_Data
-{
-  E_Radio_Group *group;
-  Evas_Object  *o_radio;
-  int          valnum;
-};
-
-struct _E_Widget_Slider_Data
-{
-  Evas_Object *o_widget, *o_slider;
-  double *dval;
-  int   *ival;
-};
-
 EAPI E_Config_Dialog *
 e_int_config_desklock(E_Container *con)
 {
@@ -251,35 +206,27 @@
 _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data 
*cfdata)
 {
    Evas_Object *o, *of, *ob;
-   E_Widget_Check_Data *wd;
-
 #ifdef HAVE_PAM
    E_Radio_Group  *rg_auth;
    Evas_Object   *oc;
 #endif
    
    //_fill_desklock_data(cfdata);
-   
    o = e_widget_list_add(evas, 0, 0);
 
 #ifdef HAVE_PAM
    of = e_widget_framelist_add(evas, _("Password Type"), 0);
-   {
-     rg_auth = e_widget_radio_group_new((int*)(&cfdata->auth_method));
-     oc = e_widget_radio_add(evas, _("Use my login password"), 0, rg_auth);
-     e_widget_framelist_object_append(of, oc);
-
-     rwd = e_widget_data_get(oc);
-     edje_object_signal_callback_add(rwd->o_radio, "toggle_on", "",
-                                    _e_desklock_cb_syswide_auth_method, 
cfdata);
-
-     oc = e_widget_radio_add(evas, _("Personalized password"), 1, rg_auth);
-     e_widget_framelist_object_append(of,oc);
-
-     rwd = e_widget_data_get(oc);
-     edje_object_signal_callback_add(rwd->o_radio, "toggle_on", "",
-                                    _e_desklock_cb_personalized_auth_method, 
cfdata);
-   }
+   
+   rg_auth = e_widget_radio_group_new((int*)(&cfdata->auth_method));
+   
+   oc = e_widget_radio_add(evas, _("Use my login password"), 0, rg_auth);
+   e_widget_on_change_hook_set(oc, _e_desklock_cb_auth_method_change, cfdata);
+   e_widget_framelist_object_append(of, oc);
+   
+   oc = e_widget_radio_add(evas, _("Personalized password"), 1, rg_auth);
+   e_widget_on_change_hook_set(oc, _e_desklock_cb_auth_method_change, cfdata);
+   e_widget_framelist_object_append(of, oc);
+   
    e_widget_list_object_append(o, of, 1, 1, 0.5);
 #endif
    
@@ -287,8 +234,7 @@
    
    cfdata->gui.passwd_field = ob = e_widget_entry_add(evas, 
&(cfdata->desklock_passwd));
 #ifdef HAVE_PAM
-   if (cfdata->auth_method == 0)
-     e_widget_disabled_set(ob, 1);
+   if (cfdata->auth_method == 0) e_widget_disabled_set(ob, 1);
 #endif
    _e_desklock_passwd_cb_change(cfdata, ob);
    e_widget_entry_on_change_callback_set(ob, _e_desklock_passwd_cb_change, 
cfdata);
@@ -296,16 +242,13 @@
    e_widget_framelist_object_append(of, ob);
    
    ob = e_widget_check_add(evas, _("Show password"), &(cfdata->show_password));
+   e_widget_on_change_hook_set(ob, _e_desklock_cb_show_passwd, cfdata);
    cfdata->gui.show_passwd_check = ob;
 #ifdef HAVE_PAM
-   if (cfdata->auth_method == 0)
-     e_widget_disabled_set(ob, 1);
+   if (cfdata->auth_method == 0) e_widget_disabled_set(ob, 1);
 #endif
    e_widget_framelist_object_append(of, ob);
    
-   wd = (E_Widget_Check_Data*)e_widget_data_get(ob);
-   edje_object_signal_callback_add(wd->o_check,"toggle_on", "", 
_e_desklock_cb_show_passwd, cfdata);
-   edje_object_signal_callback_add(wd->o_check,"toggle_off", "", 
_e_desklock_cb_show_passwd, cfdata);
    e_widget_list_object_append(o, of, 1, 1, 0.5);
    
    of = e_widget_framelist_add(evas, _("Automatic Locking"), 0);
@@ -374,9 +317,7 @@
 #endif
 
    if (e_config->desklock_use_timeout)
-     {
-       ecore_x_screensaver_timeout_set(e_config->desklock_timeout);
-     }
+     ecore_x_screensaver_timeout_set(e_config->desklock_timeout);
    
    e_config_save_queue();
    return 1;
@@ -385,405 +326,317 @@
 static Evas_Object *
 _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, 
E_Config_Dialog_Data *cfdata)
 {
-  Evas_Object *of, *ob;
-  E_Widget_Radio_Data *wd;
-
-  E_Radio_Group *rg;
-  Evas_Object *ot;
-
-  E_Widget_Check_Data *cwd;
-
-  cfdata->evas = evas;
-
-  ot = e_widget_table_add(evas, 0);
-  {
-    /* start: bkg list */
-    cfdata->gui.bg_list = e_widget_ilist_add(evas, BG_LIST_ICON_SIZE_W,
-                                      BG_LIST_ICON_SIZE_H, &(cfdata->cur_bg));
-    {
-      e_widget_ilist_selector_set(cfdata->gui.bg_list, 1);
-      e_widget_min_size_set(cfdata->gui.bg_list, 180, 200);
-
-      _load_bgs(cfdata);
-
-      e_widget_focus_set(cfdata->gui.bg_list, 1);
-      e_widget_ilist_go(cfdata->gui.bg_list);
-    }
-    e_widget_table_object_append(ot, cfdata->gui.bg_list, 0, 0, 1, 2, 1, 1, 1, 
1);
-    /* end: bkg list */
-
-    /* start: Desk Lock Window Preview */
-     
-    e_widget_table_object_append(ot, cfdata->preview_image, 1, 0, 1, 1, 1, 1, 
1, 1);
-    /* end: Desk Lock Window Preview */
-
-    /* start: login box options */
-
-    /* Actually I do not know if I have to enable this if. However, if it is 
enabled
-     * this options will be seen only for those peoples who has xinerama.
-     * Otherwise, all the other world will not even know about them.
-     * Let the world know about them. Maybe in the feature somebody will turn 
this if
-     */
-
-    if (1 || _e_desklock_zone_num_get() > 1)
-      {
-        of = e_widget_framelist_add(evas, _("Login Box Settings"), 0);
-        {
-          rg = e_widget_radio_group_new((int *)(&(cfdata->login_box_zone)));
-
-          ob = e_widget_radio_add(evas, _("Show on all screen zones"), 
LOGINBOX_SHOW_ALL_SCREENS,
-                           rg);
-          cfdata->gui.loginbox_obj.show_all_screens = ob;
-          if (cfdata->zone_count == 1) e_widget_disabled_set(ob, 1);
-          e_widget_framelist_object_append(of, ob);
-
-          ob = e_widget_radio_add(evas, _("Show on current screen zone"),
-                           LOGINBOX_SHOW_CURRENT_SCREENS, rg);
-          cfdata->gui.loginbox_obj.show_current_screen = ob;
-          if (cfdata->zone_count == 1) e_widget_disabled_set(ob, 1);
-          e_widget_framelist_object_append(of, ob);
-
-          ob = e_widget_radio_add(evas, _("Show on screen zone #:"), 
LOGINBOX_SHOW_SPECIFIC_SCREEN,
-                           rg);
-          cfdata->gui.loginbox_obj.show_specific_screen = ob;
-          if (cfdata->zone_count == 1) e_widget_disabled_set(ob, 1);
-          e_widget_framelist_object_append(of, ob);
-
-          ob = e_widget_slider_add(evas, 1, 0, _("%1.0f"), 0.0, 
(double)(cfdata->zone_count - 1),
-                            1.0, 0, NULL, &(cfdata->specific_lb_zone), 100);
-          cfdata->gui.loginbox_obj.screen_slider = ob;
-          if (cfdata->zone_count == 1 || cfdata->login_box_zone == 
LOGINBOX_SHOW_ALL_SCREENS)
-           e_widget_disabled_set(ob, 1);
-          e_widget_framelist_object_append(of, ob);
-        }
-        e_widget_table_object_append(ot, of, 1, 1, 1, 1, 1, 1, 1, 1);
-      }
-    /* end: login box options */
-
-#ifdef HAVE_PAM
-      of = e_widget_framelist_add(evas, _("Password Type"), 0);
-      {
-        rg_auth = e_widget_radio_group_new((int*)(&cfdata->auth_method));
-        oc = e_widget_radio_add(evas, _("Use my login password"), 0, rg_auth);
-        e_widget_framelist_object_append(of, oc);
-
-        wd = e_widget_data_get(oc);
-        edje_object_signal_callback_add(wd->o_radio, "toggle_on", "",
-                                        _e_desklock_cb_syswide_auth_method, 
cfdata);
-
-        oc = e_widget_radio_add(evas, _("Personalized password"), 1, rg_auth);
-        e_widget_framelist_object_append(of,oc);
-
-        wd = e_widget_data_get(oc);
-        edje_object_signal_callback_add(wd->o_radio, "toggle_on", "",
-                                        
_e_desklock_cb_personalized_auth_method, cfdata);
-      }
-      e_widget_table_object_append(ot, of, 0, 2, 1, 1, 1, 1, 1, 1);
-#endif
-
-      of = e_widget_framelist_add(evas, _("Personalized Password:"), 0);
-      {
-       cfdata->gui.passwd_field = ob = e_widget_entry_add(evas, 
&(cfdata->desklock_passwd));
+   Evas_Object *of, *ob, *oc;
+   E_Radio_Group *rg;
+   Evas_Object *ot;
 #ifdef HAVE_PAM
-       if (cfdata->auth_method == 0)
-         e_widget_disabled_set(ob, 1);
+   E_Radio_Group *rg_auth;
 #endif
-
-       _e_desklock_passwd_cb_change(cfdata, ob);
-       e_widget_entry_on_change_callback_set(ob, _e_desklock_passwd_cb_change, 
cfdata);
-       e_widget_min_size_set(ob, 200, 25);
+   
+   cfdata->evas = evas;
+   
+   ot = e_widget_table_add(evas, 0);
+   
+   /* start: bkg list */
+   cfdata->gui.bg_list = e_widget_ilist_add(evas, BG_LIST_ICON_SIZE_W,
+                                           BG_LIST_ICON_SIZE_H, 
&(cfdata->cur_bg));
+   
+   e_widget_ilist_selector_set(cfdata->gui.bg_list, 1);
+   e_widget_min_size_set(cfdata->gui.bg_list, 180, 200);
+   
+   _load_bgs(cfdata);
+   
+   e_widget_focus_set(cfdata->gui.bg_list, 1);
+   e_widget_ilist_go(cfdata->gui.bg_list);
+   
+   e_widget_table_object_append(ot, cfdata->gui.bg_list, 0, 0, 1, 2, 1, 1, 1, 
1);
+   /* end: bkg list */
+   
+   /* start: Desk Lock Window Preview */
+   
+   e_widget_table_object_append(ot, cfdata->preview_image, 1, 0, 1, 1, 1, 1, 
1, 1);
+   /* end: Desk Lock Window Preview */
+   
+   /* start: login box options */
+   
+   /* Actually I do not know if I have to enable this if. However, if it is 
enabled
+    * this options will be seen only for those peoples who has xinerama.
+    * Otherwise, all the other world will not even know about them.
+    * Let the world know about them. Maybe in the feature somebody will turn 
this if
+    */
+   
+   if (1 || _e_desklock_zone_num_get() > 1)
+     {
+       of = e_widget_framelist_add(evas, _("Login Box Settings"), 0);
+       rg = e_widget_radio_group_new((int *)(&(cfdata->login_box_zone)));
+       
+       ob = e_widget_radio_add(evas, _("Show on all screen zones"), 
LOGINBOX_SHOW_ALL_SCREENS,
+                               rg);
+       e_widget_on_change_hook_set(ob, _e_desklock_cb_lb_show_change, cfdata);
+       cfdata->gui.loginbox_obj.show_all_screens = ob;
+       if (cfdata->zone_count == 1) e_widget_disabled_set(ob, 1);
        e_widget_framelist_object_append(of, ob);
-     
-       ob = e_widget_check_add(evas, _("Show password"), 
&(cfdata->show_password));
-       cfdata->gui.show_passwd_check = ob;
-
-#ifdef HAVE_PAM
-       if (cfdata->auth_method == 0)
+       
+       ob = e_widget_radio_add(evas, _("Show on current screen zone"),
+                               LOGINBOX_SHOW_CURRENT_SCREENS, rg);
+       e_widget_on_change_hook_set(ob, _e_desklock_cb_lb_show_change, cfdata);
+       cfdata->gui.loginbox_obj.show_current_screen = ob;
+       if (cfdata->zone_count == 1) e_widget_disabled_set(ob, 1);
+       e_widget_framelist_object_append(of, ob);
+       
+       ob = e_widget_radio_add(evas, _("Show on screen zone #:"), 
LOGINBOX_SHOW_SPECIFIC_SCREEN,
+                               rg);
+       e_widget_on_change_hook_set(ob, _e_desklock_cb_lb_show_change, cfdata);
+       cfdata->gui.loginbox_obj.show_specific_screen = ob;
+       if (cfdata->zone_count == 1) e_widget_disabled_set(ob, 1);
+       e_widget_framelist_object_append(of, ob);
+       
+       ob = e_widget_slider_add(evas, 1, 0, _("%1.0f"), 0.0, 
(double)(cfdata->zone_count - 1),
+                                1.0, 0, NULL, &(cfdata->specific_lb_zone), 
100);
+       cfdata->gui.loginbox_obj.screen_slider = ob;
+       if (cfdata->zone_count == 1 || cfdata->login_box_zone == 
LOGINBOX_SHOW_ALL_SCREENS)
          e_widget_disabled_set(ob, 1);
-#endif
        e_widget_framelist_object_append(of, ob);
-     
-       cwd = (E_Widget_Check_Data*)e_widget_data_get(ob);
-       edje_object_signal_callback_add(cwd->o_check,"toggle_on", "",
-                                       _e_desklock_cb_show_passwd, cfdata);
-       edje_object_signal_callback_add(cwd->o_check,"toggle_off", "",
-                                       _e_desklock_cb_show_passwd, cfdata);
-      }
+       e_widget_table_object_append(ot, of, 1, 1, 1, 1, 1, 1, 1, 1);
+     }
+   /* end: login box options */
+   
 #ifdef HAVE_PAM
-      e_widget_table_object_append(ot, of, 0, 3, 1, 1, 1, 1, 1, 1);
+   of = e_widget_framelist_add(evas, _("Password Type"), 0);
+   
+   rg_auth = e_widget_radio_group_new((int*)(&cfdata->auth_method));
+   
+   oc = e_widget_radio_add(evas, _("Use my login password"), 0, rg_auth);
+   e_widget_on_change_hook_set(oc, _e_desklock_cb_auth_method_change, cfdata);
+   e_widget_framelist_object_append(of, oc);
+   
+   oc = e_widget_radio_add(evas, _("Personalized password"), 1, rg_auth);
+   e_widget_on_change_hook_set(oc, _e_desklock_cb_auth_method_change, cfdata);
+   e_widget_framelist_object_append(of,oc);
+   
+   e_widget_table_object_append(ot, of, 0, 2, 1, 1, 1, 1, 1, 1);
+#endif
+   
+   of = e_widget_framelist_add(evas, _("Personalized Password:"), 0);
+   cfdata->gui.passwd_field = ob = e_widget_entry_add(evas, 
&(cfdata->desklock_passwd));
+#ifdef HAVE_PAM
+   if (cfdata->auth_method == 0) e_widget_disabled_set(ob, 1);
+#endif
+   
+   _e_desklock_passwd_cb_change(cfdata, ob);
+   e_widget_entry_on_change_callback_set(ob, _e_desklock_passwd_cb_change, 
cfdata);
+   e_widget_min_size_set(ob, 200, 25);
+   e_widget_framelist_object_append(of, ob);
+   
+   ob = e_widget_check_add(evas, _("Show password"), &(cfdata->show_password));
+   e_widget_on_change_hook_set(ob, _e_desklock_cb_show_passwd, cfdata);
+   cfdata->gui.show_passwd_check = ob;
+#ifdef HAVE_PAM
+   if (cfdata->auth_method == 0) e_widget_disabled_set(ob, 1);
+#endif
+   e_widget_framelist_object_append(of, ob);
+   
+#ifdef HAVE_PAM
+   e_widget_table_object_append(ot, of, 0, 3, 1, 1, 1, 1, 1, 1);
 #else
-      e_widget_table_object_append(ot, of, 0, 2, 1, 1, 1, 1, 1, 1);
+   e_widget_table_object_append(ot, of, 0, 2, 1, 1, 1, 1, 1, 1);
 #endif
-
-      of = e_widget_framelist_add(evas, _("Automatic Locking"), 0);
-      {
-       e_widget_disabled_set(of, !ecore_x_screensaver_event_available_get());
    
-       ob = e_widget_check_add(evas, _("Enable screensaver"), 
&(cfdata->use_timeout));
-       e_widget_disabled_set(ob, !ecore_x_screensaver_event_available_get());
-       e_widget_framelist_object_append(of, ob);
+   of = e_widget_framelist_add(evas, _("Automatic Locking"), 0);
    
-       ob = e_widget_check_add(evas, _("Lock when the screensaver starts"), 
&(cfdata->autolock));
-       e_widget_disabled_set(ob, !ecore_x_screensaver_event_available_get());
-       e_widget_framelist_object_append(of, ob);
-
-       ob = e_widget_label_add(evas, _("Time until screensaver starts"));
-       e_widget_disabled_set(ob, !ecore_x_screensaver_event_available_get());
-       e_widget_framelist_object_append(of, ob);
-       ob = e_widget_slider_add(evas, 1, 0, _("%1.0f seconds"),
-                                1.0, 600.0,
-                                1.0, 0, &(cfdata->timeout), NULL,
-                                200);
-       e_widget_framelist_object_append(of, ob);
-      }
+   e_widget_disabled_set(of, !ecore_x_screensaver_event_available_get());
+   
+   ob = e_widget_check_add(evas, _("Enable screensaver"), 
&(cfdata->use_timeout));
+   e_widget_disabled_set(ob, !ecore_x_screensaver_event_available_get());
+   e_widget_framelist_object_append(of, ob);
+   
+   ob = e_widget_check_add(evas, _("Lock when the screensaver starts"), 
&(cfdata->autolock));
+   e_widget_disabled_set(ob, !ecore_x_screensaver_event_available_get());
+   e_widget_framelist_object_append(of, ob);
+   
+   ob = e_widget_label_add(evas, _("Time until screensaver starts"));
+   e_widget_disabled_set(ob, !ecore_x_screensaver_event_available_get());
+   e_widget_framelist_object_append(of, ob);
+   ob = e_widget_slider_add(evas, 1, 0, _("%1.0f seconds"),
+                           1.0, 600.0,
+                           1.0, 0, &(cfdata->timeout), NULL,
+                           200);
+   e_widget_framelist_object_append(of, ob);
 #ifdef HAVE_PAM
-      e_widget_table_object_append(ot, of, 1, 2, 1, 2 ,1 ,1 ,1 ,1);
+   e_widget_table_object_append(ot, of, 1, 2, 1, 2 ,1 ,1 ,1 ,1);
 #else
-      e_widget_table_object_append(ot, of, 1, 2, 1, 1 ,1 ,1 ,1 ,1);
+   e_widget_table_object_append(ot, of, 1, 2, 1, 1 ,1 ,1 ,1 ,1);
 #endif
-  }
-
-  /* register callbacks for the radios in login box options
-   * in order to propertly update interface
-   */
-
-  wd = e_widget_data_get(cfdata->gui.loginbox_obj.show_all_screens);
-  edje_object_signal_callback_add(wd->o_radio, "toggle_on", "",
-                                 _e_desklock_cb_lb_show_on_all_screens, 
cfdata);
-
-  wd = e_widget_data_get(cfdata->gui.loginbox_obj.show_current_screen);
-  edje_object_signal_callback_add(wd->o_radio, "toggle_on", "",
-                                 _e_desklock_cb_lb_show_on_current_screen, 
cfdata);
-
-  wd = e_widget_data_get(cfdata->gui.loginbox_obj.show_specific_screen);
-  edje_object_signal_callback_add(wd->o_radio, "toggle_on", "",
-                                 _e_desklock_cb_lb_show_on_specific_screen, 
cfdata);
-
-
-  e_dialog_resizable_set(cfd->dia, 0);
-  return ot;
+   
+   e_dialog_resizable_set(cfd->dia, 0);
+   return ot;
 }
 
 
 /* general functionality/callbacks */
 
 static void
-_e_desklock_passwd_cb_change(void *data, Evas_Object *obj)
-{
-  E_Widget_Entry_Data *wd;
-  E_Config_Dialog_Data *cfdata;
-  char *ptr;
-  int i;
-
-  cfdata = data;
-
-  // here goes the hack to have e_widget_entry look like
-  // password entry. However, I think, this should be implemented
-  // at least on the e_widget_entry level. The best would be
-  // e_entry.
-  if (!cfdata->desklock_passwd[0])
-  {
-    E_FREE(cfdata->desklock_passwd_cp);
-    cfdata->desklock_passwd_cp = strdup("");
-    return;
-  }
-
-  if (strlen(cfdata->desklock_passwd) > strlen(cfdata->desklock_passwd_cp))
-    {
-      for (i = 0; i < strlen(cfdata->desklock_passwd_cp); i++)
-       cfdata->desklock_passwd[i] = cfdata->desklock_passwd_cp[i];
-      E_FREE(cfdata->desklock_passwd_cp);
-      cfdata->desklock_passwd_cp = strdup(cfdata->desklock_passwd);
-    }
-  else if (strlen(cfdata->desklock_passwd) < 
strlen(cfdata->desklock_passwd_cp))
-    {
-      cfdata->desklock_passwd_cp[strlen(cfdata->desklock_passwd)] = 0;
-      E_FREE(cfdata->desklock_passwd);
-      cfdata->desklock_passwd = strdup(cfdata->desklock_passwd_cp);
-    }
-  else
-    {
-      E_FREE(cfdata->desklock_passwd);
-      cfdata->desklock_passwd = strdup(cfdata->desklock_passwd_cp);
-    }
-
-  wd = e_widget_data_get(obj);
-  
-  if (cfdata->show_password)
-    {
-      e_entry_text_set(wd->o_entry, cfdata->desklock_passwd);
-      return;
-    }
-
-  for (ptr = cfdata->desklock_passwd; *ptr; ptr++) *ptr = '*';
-  e_entry_text_set(wd->o_entry, cfdata->desklock_passwd);
-}
-
-static void
-_e_desklock_cb_show_passwd(void *data, Evas_Object *obj, const char *emission, 
const char *source)
+_e_desklock_cb_show_passwd(void *data, Evas_Object *obj)
 {
-  E_Config_Dialog_Data *cfdata;
-
-  cfdata = data;
-  _e_desklock_passwd_cb_change(cfdata, cfdata->gui.passwd_field);
+   E_Config_Dialog_Data *cfdata;
+   
+   cfdata = data;
+   _e_desklock_passwd_cb_change(cfdata, cfdata->gui.passwd_field);
 }
 
 static int
-_e_desklock_zone_num_get()
+_e_desklock_zone_num_get(void)
 {
-  int num;
-  Evas_List *l, *l2;
-
-  num = 0;
-  for (l = e_manager_list(); l; l = l->next)
-    {
-      E_Manager *man = l->data;
-
-      for (l2 = man->containers; l2; l2 = l2->next)
-       {
-         E_Container *con = l2->data;
-
-         num += evas_list_count(con->zones);
-       }
-    }
-
-  return num;
+   int num;
+   Evas_List *l, *l2;
+   
+   num = 0;
+   for (l = e_manager_list(); l; l = l->next)
+     {
+       E_Manager *man = l->data;
+       
+       for (l2 = man->containers; l2; l2 = l2->next)
+         {
+            E_Container *con = l2->data;
+            
+            num += evas_list_count(con->zones);
+         }
+     }
+   return num;
 }
 
 static void
 _load_bgs(E_Config_Dialog_Data *cfdata)
 {
-  E_Config_Dialog *cfd;
-  Evas_Object *o, *ic, *im;
-  Ecore_Evas *eebuf;
-  Evas *evasbuf;
-  Evas_List *bg_dirs, *bg;
-  const char *f, *f1;
-  char *c;
-
-  if (!cfdata || !cfdata->gui.bg_list)
-    return;
-
-  cfd = cfdata->cfd;
-  eebuf = ecore_evas_buffer_new(1, 1);
-  evasbuf = ecore_evas_get(eebuf);
-
-  /* Desklock background */
-  o = edje_object_add(evasbuf);
-  f1 = e_theme_edje_file_get("base/theme/desklock", "desklock/background");
-  c = strdup(f1);
-
-  e_widget_ilist_header_append(cfdata->gui.bg_list, NULL, ("Theme 
Backgrounds"));
-  if (edje_object_file_set(o, f1, "desklock/background"))
-    {
-      if (!e_thumb_exists(c))
-       ic = e_thumb_generate_begin(c, BG_LIST_ICON_SIZE_W, BG_LIST_ICON_SIZE_H,
-                                  cfdata->evas, &ic, NULL, NULL);
-      else
-       ic = e_thumb_evas_object_get(c, cfdata->evas, BG_LIST_ICON_SIZE_W, 
BG_LIST_ICON_SIZE_H, 1);
-
-
-      e_widget_ilist_append(cfdata->gui.bg_list, ic, _("Theme Desklock 
Background"),
-                           _ibg_list_cb_bg_selected, cfdata, 
DEF_DESKLOCK_BACKGROUND);
-    }
-
-  if ((!e_config->desklock_background) ||
-      (!strcmp(e_config->desklock_background, DEF_DESKLOCK_BACKGROUND)))
-    e_widget_ilist_selected_set(cfdata->gui.bg_list, 0);
-
+   E_Config_Dialog *cfd;
+   Evas_Object *o, *ic, *im;
+   Ecore_Evas *eebuf;
+   Evas *evasbuf;
+   Evas_List *bg_dirs, *bg;
+   const char *f, *f1;
+   char *c;
+   
+   if (!cfdata || !cfdata->gui.bg_list)
+     return;
+   
+   cfd = cfdata->cfd;
+   eebuf = ecore_evas_buffer_new(1, 1);
+   evasbuf = ecore_evas_get(eebuf);
+   
+   /* Desklock background */
+   o = edje_object_add(evasbuf);
+   f1 = e_theme_edje_file_get("base/theme/desklock", "desklock/background");
+   c = strdup(f1);
+   
+   e_widget_ilist_header_append(cfdata->gui.bg_list, NULL, ("Theme 
Backgrounds"));
+   if (edje_object_file_set(o, f1, "desklock/background"))
+     {
+       if (!e_thumb_exists(c))
+         ic = e_thumb_generate_begin(c, BG_LIST_ICON_SIZE_W, 
BG_LIST_ICON_SIZE_H,
+                                     cfdata->evas, &ic, NULL, NULL);
+       else
+         ic = e_thumb_evas_object_get(c, cfdata->evas, BG_LIST_ICON_SIZE_W, 
BG_LIST_ICON_SIZE_H, 1);
+       
+       
+       e_widget_ilist_append(cfdata->gui.bg_list, ic, _("Theme Desklock 
Background"),
+                             _ibg_list_cb_bg_selected, cfdata, 
DEF_DESKLOCK_BACKGROUND);
+     }
+   
+   if ((!e_config->desklock_background) ||
+       (!strcmp(e_config->desklock_background, DEF_DESKLOCK_BACKGROUND)))
+     e_widget_ilist_selected_set(cfdata->gui.bg_list, 0);
+   
    im = e_widget_preview_add(cfdata->evas, BG_PREVIEW_W, BG_PREVIEW_H);
    e_widget_preview_edje_set(im, c, "desktop/background");
-
-  evas_object_del(o);
-  ecore_evas_free(eebuf);
-  free(c);
-  /* end: Desklock background */
-
-  /* Theme Background */
-
-
-  eebuf = ecore_evas_buffer_new(1, 1);
-  evasbuf = ecore_evas_get(eebuf);
-
-  o = edje_object_add(evasbuf);
-  f = e_theme_edje_file_get("base/theme/backgrounds", "desktop/background");
-  c = strdup(f);
-  if (edje_object_file_set(o, f, "desktop/background"))
-    {
-      if (!e_thumb_exists(c))
-       ic = e_thumb_generate_begin(c, BG_LIST_ICON_SIZE_W, BG_LIST_ICON_SIZE_H,
-                                  cfdata->evas, &ic, NULL, NULL);
-      else
-       ic = e_thumb_evas_object_get(c, cfdata->evas, BG_LIST_ICON_SIZE_W, 
BG_LIST_ICON_SIZE_H, 1);
-
-      e_widget_ilist_append(cfdata->gui.bg_list, ic, _("Theme Background"), 
_ibg_list_cb_bg_selected,
-                           cfdata, DEF_THEME_BACKGROUND);
-    }
-
-  if ((e_config->desklock_background) &&
-      (!strcmp(e_config->desklock_background, DEF_THEME_BACKGROUND)))
-    {
-       e_widget_ilist_selected_set(cfdata->gui.bg_list, 1);
-       im = e_widget_preview_add(cfdata->evas, BG_PREVIEW_W, BG_PREVIEW_H);
-       e_widget_preview_edje_set(im, c, "desktop/background");
-    }
-
-  evas_object_del(o);
-  ecore_evas_free(eebuf);
-  free(c);
- 
-  e_widget_ilist_header_append(cfdata->gui.bg_list, NULL, _("Personal"));
-  bg_dirs = e_path_dir_list_get(path_backgrounds);
-  for (bg = bg_dirs; bg; bg = bg->next)
-    {
-      E_Path_Dir *d;
-
-      d = bg->data;
-      if (ecore_file_is_dir(d->dir))
-       {
-         char *bg_file;
-         Ecore_List *bgs;
-         int i = e_widget_ilist_count(cfdata->gui.bg_list);
-
-         bgs = ecore_file_ls(d->dir);
-         if (!bgs) continue;
-         while ((bg_file = ecore_list_next(bgs)))
-           {
-             char full_path[4096];
-
-             snprintf(full_path, sizeof(full_path), "%s/%s", d->dir, bg_file);
-             if (ecore_file_is_dir(full_path)) continue;
-             if (!e_util_edje_collection_exists(full_path, 
"desktop/background")) continue;
-
-             if (!e_thumb_exists(full_path))
-               ic = e_thumb_generate_begin(full_path, BG_LIST_ICON_SIZE_W, 
BG_LIST_ICON_SIZE_H,
-                                           cfdata->evas, &ic, NULL, NULL);
-             else
-               ic = e_thumb_evas_object_get(full_path, cfdata->evas, 
BG_LIST_ICON_SIZE_W,
-                                            BG_LIST_ICON_SIZE_H, 1);
-
-             e_widget_ilist_append(cfdata->gui.bg_list, ic, 
ecore_file_strip_ext(bg_file),
-                                   _ibg_list_cb_bg_selected, cfdata, 
full_path);
-
-             if ((e_config->desklock_background) &&
-                 (!strcmp(e_config->desklock_background, full_path)))
-               {
-                  e_widget_ilist_selected_set(cfdata->gui.bg_list, i);
-                  evas_object_del(im);
-                  im = e_widget_preview_add(cfdata->evas, BG_PREVIEW_W, 
BG_PREVIEW_H);
-                  e_widget_preview_edje_set(im, full_path, 
"desktop/background");
-               }
-             i++;
-           }
-         free(bg_file);
-         ecore_list_destroy(bgs);
-       }
-      free(d);
-    }
-  evas_list_free(bg);
-  evas_list_free(bg_dirs);
-
-  cfdata->preview_image = im;
+   
+   evas_object_del(o);
+   ecore_evas_free(eebuf);
+   free(c);
+   /* end: Desklock background */
+   
+   /* Theme Background */
+   eebuf = ecore_evas_buffer_new(1, 1);
+   evasbuf = ecore_evas_get(eebuf);
+   
+   o = edje_object_add(evasbuf);
+   f = e_theme_edje_file_get("base/theme/backgrounds", "desktop/background");
+   c = strdup(f);
+   if (edje_object_file_set(o, f, "desktop/background"))
+     {
+       if (!e_thumb_exists(c))
+         ic = e_thumb_generate_begin(c, BG_LIST_ICON_SIZE_W, 
BG_LIST_ICON_SIZE_H,
+                                     cfdata->evas, &ic, NULL, NULL);
+       else
+         ic = e_thumb_evas_object_get(c, cfdata->evas, BG_LIST_ICON_SIZE_W, 
BG_LIST_ICON_SIZE_H, 1);
+       
+       e_widget_ilist_append(cfdata->gui.bg_list, ic, _("Theme Background"), 
_ibg_list_cb_bg_selected,
+                             cfdata, DEF_THEME_BACKGROUND);
+     }
+   
+   if ((e_config->desklock_background) &&
+       (!strcmp(e_config->desklock_background, DEF_THEME_BACKGROUND)))
+     {
+       e_widget_ilist_selected_set(cfdata->gui.bg_list, 1);
+       im = e_widget_preview_add(cfdata->evas, BG_PREVIEW_W, BG_PREVIEW_H);
+       e_widget_preview_edje_set(im, c, "desktop/background");
+     }
+   
+   evas_object_del(o);
+   ecore_evas_free(eebuf);
+   free(c);
+   
+   e_widget_ilist_header_append(cfdata->gui.bg_list, NULL, _("Personal"));
+   bg_dirs = e_path_dir_list_get(path_backgrounds);
+   for (bg = bg_dirs; bg; bg = bg->next)
+     {
+       E_Path_Dir *d;
+       
+       d = bg->data;
+       if (ecore_file_is_dir(d->dir))
+         {
+            char *bg_file;
+            Ecore_List *bgs;
+            int i = e_widget_ilist_count(cfdata->gui.bg_list);
+            
+            bgs = ecore_file_ls(d->dir);
+            if (!bgs) continue;
+            while ((bg_file = ecore_list_next(bgs)))
+              {
+                 char full_path[4096];
+                 
+                 snprintf(full_path, sizeof(full_path), "%s/%s", d->dir, 
bg_file);
+                 if (ecore_file_is_dir(full_path)) continue;
+                 if (!e_util_edje_collection_exists(full_path, 
"desktop/background")) continue;
+                 
+                 if (!e_thumb_exists(full_path))
+                   ic = e_thumb_generate_begin(full_path, BG_LIST_ICON_SIZE_W, 
BG_LIST_ICON_SIZE_H,
+                                               cfdata->evas, &ic, NULL, NULL);
+                 else
+                   ic = e_thumb_evas_object_get(full_path, cfdata->evas, 
BG_LIST_ICON_SIZE_W,
+                                                BG_LIST_ICON_SIZE_H, 1);
+                 
+                 e_widget_ilist_append(cfdata->gui.bg_list, ic, 
ecore_file_strip_ext(bg_file),
+                                       _ibg_list_cb_bg_selected, cfdata, 
full_path);
+                 
+                 if ((e_config->desklock_background) &&
+                     (!strcmp(e_config->desklock_background, full_path)))
+                   {
+                      e_widget_ilist_selected_set(cfdata->gui.bg_list, i);
+                      evas_object_del(im);
+                      im = e_widget_preview_add(cfdata->evas, BG_PREVIEW_W, 
BG_PREVIEW_H);
+                      e_widget_preview_edje_set(im, full_path, 
"desktop/background");
+                   }
+                 i++;
+              }
+            free(bg_file);
+            ecore_list_destroy(bgs);
+         }
+       free(d);
+     }
+   evas_list_free(bg);
+   evas_list_free(bg_dirs);
+   
+   cfdata->preview_image = im;
 }
 
 static void
@@ -792,17 +645,16 @@
    E_Config_Dialog_Data *cfdata;
    
    cfdata = data;
-   
    if (cfdata->cur_bg[0])
      {
-       if (strcmp(cfdata->cur_bg, DEF_DESKLOCK_BACKGROUND) == 0)
+       if (!strcmp(cfdata->cur_bg, DEF_DESKLOCK_BACKGROUND))
          {
             const char *theme;
             
             theme = e_theme_edje_file_get("base/theme/desklock", 
"desklock/background");
             e_widget_preview_edje_set(cfdata->preview_image, theme, 
"desktop/background");
          }
-       else if (strcmp(cfdata->cur_bg, DEF_THEME_BACKGROUND) == 0)
+       else if (!strcmp(cfdata->cur_bg, DEF_THEME_BACKGROUND))
          {
             const char *theme;
             
@@ -810,9 +662,7 @@
             e_widget_preview_edje_set(cfdata->preview_image, theme, 
"desktop/background");
          }
        else
-         {
-            e_widget_preview_edje_set(cfdata->preview_image, cfdata->cur_bg, 
"desktop/background");
-         }
+         e_widget_preview_edje_set(cfdata->preview_image, cfdata->cur_bg, 
"desktop/background");
      }
    else
      {
@@ -824,65 +674,94 @@
 }
 
 static void
-_e_desklock_cb_lb_show_on_all_screens(void *data, Evas_Object *obj, const char 
*emission,
-                                     const char *source)
-{
-  E_Config_Dialog_Data *cfdata;
-
-  if (!(cfdata = data)) return;
-
-  cfdata->specific_lb_zone_backup = cfdata->specific_lb_zone;
-
-  e_widget_disabled_set(cfdata->gui.loginbox_obj.screen_slider, 1);
-}
-
-static void
-_e_desklock_cb_lb_show_on_current_screen(void *data, Evas_Object *obj, const 
char *emission,
-                                        const char *source)
+_e_desklock_passwd_cb_change(void *data, Evas_Object *obj)
 {
-  _e_desklock_cb_lb_show_on_all_screens(data, obj, emission, source);
+   E_Config_Dialog_Data        *cfdata;
+   char *ptr;
+   int i;
+   
+   cfdata = data;
+   
+   // here goes the hack to have e_widget_entry look like
+   // password entry. However, I think, this should be implemented
+   // at least on the e_widget_entry level. The best would be
+   // e_entry.
+   if (!cfdata->desklock_passwd[0])
+     {
+       E_FREE(cfdata->desklock_passwd_cp);
+       cfdata->desklock_passwd_cp = strdup("");
+       return;
+     }
+   
+   if (strlen(cfdata->desklock_passwd) > strlen(cfdata->desklock_passwd_cp))
+     {
+       for (i = 0; i < strlen(cfdata->desklock_passwd_cp); i++)
+         cfdata->desklock_passwd[i] = cfdata->desklock_passwd_cp[i];
+       E_FREE(cfdata->desklock_passwd_cp);
+       cfdata->desklock_passwd_cp = strdup(cfdata->desklock_passwd);
+     }
+   else if (strlen(cfdata->desklock_passwd) < 
strlen(cfdata->desklock_passwd_cp))
+     {
+       cfdata->desklock_passwd_cp[strlen(cfdata->desklock_passwd)] = 0;
+       E_FREE(cfdata->desklock_passwd);
+       cfdata->desklock_passwd = strdup(cfdata->desklock_passwd_cp);
+     }
+   else
+     {
+       E_FREE(cfdata->desklock_passwd);
+       cfdata->desklock_passwd = strdup(cfdata->desklock_passwd_cp);
+     }
+   
+   if (cfdata->show_password)
+     {
+       e_widget_entry_text_set(obj, cfdata->desklock_passwd);
+       return;
+     }
+  
+// FIXME: this is a hack. disable. see e_widget_entry.c for doing this right.  
 
+//   for (ptr = cfdata->desklock_passwd; *ptr; ptr++) *ptr = '*';
+//   e_widget_entry_text_set(obj, cfdata->desklock_passwd);
 }
 
 static void
-_e_desklock_cb_lb_show_on_specific_screen(void *data, Evas_Object *obj, const 
char *emission,
-                                        const char *source)
+_e_desklock_cb_lb_show_change(void *data, Evas_Object *obj)
 {
-  E_Widget_Slider_Data *wd;
-  E_Config_Dialog_Data *cfdata;
-
-  if (!(cfdata = data)) return;
-
-  wd = e_widget_data_get(cfdata->gui.loginbox_obj.screen_slider);
-  e_slider_value_set(wd->o_slider, cfdata->specific_lb_zone_backup);
-  cfdata->specific_lb_zone = cfdata->specific_lb_zone_backup;
+   E_Config_Dialog_Data *cfdata;
 
-  e_widget_disabled_set(wd->o_widget, 0);
+   cfdata = data;
+   if (cfdata->login_box_zone == LOGINBOX_SHOW_ALL_SCREENS)
+     {
+       cfdata->specific_lb_zone_backup = cfdata->specific_lb_zone;
+       e_widget_disabled_set(cfdata->gui.loginbox_obj.screen_slider, 1);
+     }
+   else if (cfdata->login_box_zone == LOGINBOX_SHOW_CURRENT_SCREENS)
+     {
+       cfdata->specific_lb_zone_backup = cfdata->specific_lb_zone;
+       e_widget_disabled_set(cfdata->gui.loginbox_obj.screen_slider, 1);
+     }
+   else if (cfdata->login_box_zone == LOGINBOX_SHOW_SPECIFIC_SCREEN)
+     {
+       e_widget_slider_value_int_set(cfdata->gui.loginbox_obj.screen_slider, 
cfdata->specific_lb_zone_backup);
+       e_widget_disabled_set(cfdata->gui.loginbox_obj.screen_slider, 0);
+     }
 }
 
 #ifdef HAVE_PAM
 static void
-_e_desklock_cb_syswide_auth_method(void *data, Evas_Object *obj, const char 
*emission,
-                                  const char *source)
+_e_desklock_cb_auth_method_change(void *data, Evas_Object *obj)
 {
-  E_Widget_Entry_Data *ewd;
-  E_Widget_Check_Data *cwd;
-  E_Config_Dialog_Data *cfdata;
-
-  if (!(cfdata = data)) return;
-
-  e_widget_disabled_set(cfdata->gui.passwd_field, 1);
-  e_widget_disabled_set(cfdata->gui.show_passwd_check, 1);
-}
-
-static void
-_e_desklock_cb_personalized_auth_method(void *data, Evas_Object *obj, const 
char *emission,
-                                       const char *source)
-{
-  E_Config_Dialog_Data *cfdata;
-
-  if (!(cfdata = data)) return;
+   E_Config_Dialog_Data *cfdata;
 
-  e_widget_disabled_set(cfdata->gui.passwd_field, 0);
-  e_widget_disabled_set(cfdata->gui.show_passwd_check, 0);
+   cfdata = data;
+   if (cfdata->auth_method == 0)
+     {
+       e_widget_disabled_set(cfdata->gui.passwd_field, 1);
+       e_widget_disabled_set(cfdata->gui.show_passwd_check, 1);
+     }
+   else if (cfdata->auth_method == 1)
+     {
+       e_widget_disabled_set(cfdata->gui.passwd_field, 0);
+       e_widget_disabled_set(cfdata->gui.show_passwd_check, 0);
+     }
 }
 #endif
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_widget_entry.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- e_widget_entry.c    1 Apr 2006 09:24:56 -0000       1.11
+++ e_widget_entry.c    1 Jun 2006 04:09:33 -0000       1.12
@@ -139,16 +139,6 @@
    return obj;         
 }
 
-EAPI void
-e_widget_entry_on_change_callback_set(Evas_Object *obj, void (*func) (void 
*data, Evas_Object *obj), void *data)
-{
-   E_Widget_Data *wd;
-   
-   wd = e_widget_data_get(obj);
-   wd->on_change_func = func;
-   wd->on_change_data = data;
-}
-
 void             
 e_widget_entry_text_set(Evas_Object *entry, const char *text)
 {
@@ -160,64 +150,22 @@
    *(wd->valptr) = strdup(text);
 }
 
-#if 0
-const char *
-e_widget_entry_text_get(Evas_Object *entry)
-{
-   return e_entry_text_get(entry);
-}
-
-void
-e_widget_entry_text_insert(Evas_Object *entry, const char *text)
-{
-   e_entry_text_insert(entry, text);
-}
-
-void
-e_widget_entry_delete_char_before(Evas_Object *entry)
-{
-   e_entry_delete_char_before(entry);
-}
-
-void
-e_widget_entry_delete_char_after(Evas_Object *entry)
-{
-   e_entry_delete_char_after(entry);     
-}
-
-void
-e_widget_entry_cursor_move_at_start(Evas_Object *entry)
-{
-   e_entry_cursor_move_at_start(entry);     
-}
-
-void
-e_widget_entry_cursor_move_at_end(Evas_Object *entry)
-{
-   e_entry_cursor_move_at_end(entry);     
-}
-
-void
-e_widget_entry_cursor_move_left(Evas_Object *entry)
-{
-   e_entry_cursor_move_left(entry);
-}
-
-void
-e_widget_entry_cursor_move_right(Evas_Object *entry)
-{
-   e_entry_cursor_move_right(entry);
-}
-
-void
-e_widget_entry_cursor_show(Evas_Object *entry)
+EAPI void
+e_widget_entry_on_change_callback_set(Evas_Object *obj, void (*func) (void 
*data, Evas_Object *obj), void *data)
 {
-   e_entry_cursor_show(entry);
+   E_Widget_Data *wd;
+   
+   wd = e_widget_data_get(obj);
+   wd->on_change_func = func;
+   wd->on_change_data = data;
 }
 
-void
-e_widget_entry_cursor_hide(Evas_Object *entry)
+EAPI void
+e_widget_entry_password_set(Evas_Object *obj, int pw)
 {
-   e_entry_cursor_hide(entry);
+   E_Widget_Data *wd;
+   
+   wd = e_widget_data_get(obj);
+// FIXME: need password mode for entry.   
+//   e_entry_password_set(wd->o_entry, pw);
 }
-#endif
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_widget_entry.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- e_widget_entry.h    7 Nov 2005 00:09:20 -0000       1.3
+++ e_widget_entry.h    1 Jun 2006 04:09:33 -0000       1.4
@@ -7,18 +7,9 @@
 #define E_WIDGET_ENTRY_H
 
 EAPI Evas_Object     *e_widget_entry_add(Evas *evas, char **val);
-EAPI void             e_widget_entry_text_set (Evas_Object *entry, const char 
*text);
-EAPI const char      *e_editable_text_text_get(Evas_Object *entry);
+EAPI void             e_widget_entry_text_set(Evas_Object *entry, const char 
*text);
 EAPI void             e_widget_entry_text_insert (Evas_Object *entry, const 
char *text);
-EAPI void             e_widget_entry_delete_char_before(Evas_Object *entry);
-EAPI void             e_widget_entry_delete_char_after(Evas_Object *entry);
-EAPI void             e_widget_entry_cursor_move_at_start(Evas_Object *entry);
-EAPI void             e_widget_entry_cursor_move_at_end(Evas_Object *entry);
-EAPI void             e_widget_entry_cursor_move_left(Evas_Object *entry);
-EAPI void             e_widget_entry_cursor_move_right(Evas_Object *entry);
-EAPI void             e_widget_entry_cursor_show(Evas_Object *entry);
-EAPI void             e_widget_entry_cursor_hide(Evas_Object *entry);
 EAPI void             e_widget_entry_on_change_callback_set(Evas_Object *obj, 
void (*func) (void *data, Evas_Object *obj), void *data);
-
+EAPI void             e_widget_entry_password_set(Evas_Object *obj, int pw);
 #endif
 #endif




_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to