Enlightenment CVS committal

Author  : atmosphere
Project : misc
Module  : elogin

Dir     : misc/elogin/src/client


Modified Files:
        Makefile.am e_login_config.c e_login_config.h 
        e_login_session.c intro.c 


Log Message:
update the login ui to use estyle which makes it slightly prettier.

Also display the hostname with the Date and Time below it. 


===================================================================
RCS file: /cvsroot/enlightenment/misc/elogin/src/client/Makefile.am,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- Makefile.am 24 Jul 2002 02:17:16 -0000      1.3
+++ Makefile.am 21 Jan 2003 18:12:25 -0000      1.4
@@ -4,7 +4,8 @@
        @evas_cflags@ \
        @ebg_cflags@ \
        @edb_cflags@ \
-       @ecore_cflags@
+       @ecore_cflags@ \
+       @estyle_cflags@
 
 bin_PROGRAMS = elogin
 
@@ -23,4 +24,5 @@
        @evas_libs@ \
        @ebg_libs@ \
        @edb_libs@ \
-       @ecore_libs@ 
+       @ecore_libs@ \
+       @estyle_libs@
===================================================================
RCS file: /cvsroot/enlightenment/misc/elogin/src/client/e_login_config.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- e_login_config.c    13 Jan 2003 23:09:55 -0000      1.4
+++ e_login_config.c    21 Jan 2003 18:12:29 -0000      1.5
@@ -16,11 +16,28 @@
 
    return (e);
 }
+static char*
+get_hostname(void)
+{
+    FILE *fp = NULL;
+    char *result = NULL;
+    char buf[PATH_MAX], buf2[PATH_MAX];
+
+    if((fp = fopen("/etc/hostname", "r")))
+    {
+       int read_bytes = fread(buf, 1, PATH_MAX, fp);
+       snprintf(buf2, read_bytes, "%s", buf);
+       result = strdup(buf2);
+       fclose(fp);
+    }
+    return(result);
+}
 
 static void
 e_login_config_populate(E_Login_Config e, E_DB_File * db)
 {
    char *str = NULL;
+   char buf[PATH_MAX];
    Evas_List *l = NULL;
    int i = 0, num_session = 0;
 
@@ -73,6 +90,16 @@
       e->welcome.font.b = 192;
    if (!e_db_int_get(db, "/elogin/welcome/font/a", &(e->welcome.font.a)))
       e->welcome.font.a = 192;
+   if (!e_db_float_get(db, "/elogin/welcome/pos/x", &(e->welcome.pos.x)))
+       e->welcome.pos.x = 0.0;
+   if (!e_db_float_get(db, "/elogin/welcome/pos/y", &(e->welcome.pos.y)))
+       e->welcome.pos.x = 0.0;
+   if (!e_db_int_get(db, "/elogin/welcome/pos/offset/x",
+              &(e->welcome.pos.offset_x)))
+       e->welcome.pos.offset_x = 0;
+   if (!e_db_int_get(db, "/elogin/welcome/pos/offset/y",
+              &(e->welcome.pos.offset_y)))
+       e->welcome.pos.offset_y = 0;
    if (!e_db_int_get
        (db, "/elogin/welcome/font/size", &(e->welcome.font.size)))
       e->welcome.font.size = 20;
@@ -97,6 +124,47 @@
       e->passwd.font.a = 192;
    if (!e_db_int_get(db, "/elogin/passwd/font/size", &(e->passwd.font.size)))
       e->passwd.font.size = 20;
+   if (!e_db_float_get(db, "/elogin/passwd/pos/x", &(e->passwd.pos.x)))
+       e->passwd.pos.x = 0.0;
+   if (!e_db_float_get(db, "/elogin/passwd/pos/y", &(e->passwd.pos.y)))
+       e->passwd.pos.x = 0.0;
+   if (!e_db_int_get(db, "/elogin/passwd/pos/offset/x",
+              &(e->passwd.pos.offset_x)))
+       e->passwd.pos.offset_x = 0;
+   if (!e_db_int_get(db, "/elogin/passwd/pos/offset/y",
+              &(e->passwd.pos.offset_y)))
+       e->passwd.pos.offset_y = 0;
+   if ((str = e_db_str_get(db, "/elogin/greeting/mess")))
+      e->greeting.mess = str;
+   else
+      e->greeting.mess = strdup("Welcome to");
+
+   if ((str = e_db_str_get(db, "/elogin/greeting/font/name")))
+      e->greeting.font.name = str;
+   else
+      e->greeting.font.name = strdup("notepad.ttf");
+
+   if (!e_db_int_get(db, "/elogin/greeting/font/r", &(e->greeting.font.r)))
+      e->greeting.font.r = 192;
+   if (!e_db_int_get(db, "/elogin/greeting/font/g", &(e->greeting.font.g)))
+      e->greeting.font.g = 192;
+   if (!e_db_int_get(db, "/elogin/greeting/font/b", &(e->greeting.font.b)))
+      e->greeting.font.b = 192;
+   if (!e_db_int_get(db, "/elogin/greeting/font/a", &(e->greeting.font.a)))
+      e->greeting.font.a = 192;
+   if (!e_db_float_get(db, "/elogin/greeting/pos/x", &(e->greeting.pos.x)))
+       e->greeting.pos.x = 0.0;
+   if (!e_db_float_get(db, "/elogin/greeting/pos/y", &(e->greeting.pos.y)))
+       e->greeting.pos.x = 0.0;
+   if (!e_db_int_get(db, "/elogin/greeting/pos/offset/x",
+              &(e->greeting.pos.offset_x)))
+       e->greeting.pos.offset_x = 0;
+   if (!e_db_int_get(db, "/elogin/greeting/pos/offset/y",
+              &(e->greeting.pos.offset_y)))
+       e->greeting.pos.offset_y = 0;
+   if (!e_db_int_get
+       (db, "/elogin/greeting/font/size", &(e->greeting.font.size)))
+      e->greeting.font.size = 20;
 
    if (!e_db_int_get(db, "/elogin/xinerama/screens/w", &(e->screens.w)))
       e->screens.w = 1;
@@ -106,7 +174,14 @@
       e->display.w = 1;
    if (!e_db_int_get(db, "/elogin/xinerama/on/h", &(e->display.h)))
       e->display.h = 1;
-
+    
+   if((str = get_hostname()))
+   {
+    snprintf(buf, PATH_MAX, "%s %s", e->greeting.mess, str);
+    free(e->greeting.mess);
+    free(str);
+    e->greeting.mess = strdup(buf);
+   }
 }
 
 E_Login_Config
===================================================================
RCS file: /cvsroot/enlightenment/misc/elogin/src/client/e_login_config.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- e_login_config.h    13 Jan 2003 23:09:57 -0000      1.4
+++ e_login_config.h    21 Jan 2003 18:12:32 -0000      1.5
@@ -22,9 +22,14 @@
          char *name;
       }
       font;
+      struct
+      {
+         float x, y;
+         int offset_x, offset_y;
+      } pos;
       char *mess;
    }
-   welcome, passwd;
+   welcome, passwd, greeting;
 
    struct
    {
===================================================================
RCS file: /cvsroot/enlightenment/misc/elogin/src/client/e_login_session.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- e_login_session.c   13 Jan 2003 23:09:59 -0000      1.8
+++ e_login_session.c   21 Jan 2003 18:12:32 -0000      1.9
@@ -208,7 +208,6 @@
       e->session = evas_list_data(l);
    else
       e->session = NULL;
-
    e->session_index = 0;
 
    e->evas = evas;
===================================================================
RCS file: /cvsroot/enlightenment/misc/elogin/src/client/intro.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- intro.c     13 Jan 2003 23:10:15 -0000      1.8
+++ intro.c     21 Jan 2003 18:12:35 -0000      1.9
@@ -1,46 +1,44 @@
 #include "elogin.h"
 #include "e_login_config.h"
 #include "callbacks.h"
-
-#define PERCENT_DESC_HORIZONTAL_PLACEMENT 0.5
-#define PERCENT_DESC_VERTICAL_PLACEMENT 0.8
+#include <Estyle.h>
 
 static Evas *evas = NULL;
-static Evas_Object *_o_text_desc = NULL;
-static Evas_Object *_o_pass_desc = NULL;
-static Evas_Object *_o_text_entry = NULL;
-static Evas_Object *_o_err_str = NULL;
 static E_Login_Config config = NULL;
+static Estyle *_o_err_str = NULL;
+static Estyle *_o_text_desc = NULL;
+static Estyle *_o_pass_desc = NULL;
+static Estyle *_o_text_entry = NULL;
 
 void
 show_password_description(void)
 {
-   evas_object_show(_o_pass_desc);
+   estyle_show(_o_pass_desc);
 }
 
 void
 hide_password_description(void)
 {
-   evas_object_hide(_o_pass_desc);
+   estyle_hide(_o_pass_desc);
 }
 
 void
 show_text_description(void)
 {
-   evas_object_show(_o_text_desc);
+   estyle_show(_o_text_desc);
 }
 
 void
 hide_text_description(void)
 {
-   evas_object_hide(_o_text_desc);
+   estyle_hide(_o_text_desc);
 }
 
 static void
 error_die(int val, void *_data)
 {
-   evas_object_show(_o_text_desc);
-   evas_object_hide(_o_err_str);
+   estyle_show(_o_text_desc);
+   estyle_hide(_o_err_str);
 }
 
 void
@@ -49,24 +47,23 @@
    int x, y;
    int w, h;
    double tw, th;
-   Evas_Object *o = _o_err_str;
+   Estyle *o = _o_err_str;
 
    if (err_str)
    {
       evas_output_size_get(evas, &w, &h);
-      evas_object_text_text_set(_o_err_str, err_str);
-
-      evas_object_geometry_get(o, NULL, NULL, &tw, &th);
-
-      x = (((w / config->screens.w) -
-            tw) * PERCENT_DESC_HORIZONTAL_PLACEMENT);
-      y = (((h / config->screens.h) - th) * PERCENT_DESC_VERTICAL_PLACEMENT);
+      estyle_set_text(o, err_str);
 
-      evas_object_move(o, x, y);
-
-      evas_object_hide(_o_pass_desc);
-      evas_object_hide(_o_text_desc);
-      evas_object_show(_o_err_str);
+      estyle_geometry(o, NULL, NULL, (int*)&tw, (int*)&th);
+      x = ((((w / config->screens.w) -
+         tw) * config->welcome.pos.x ) + config->welcome.pos.offset_x);
+      y = ((((h / config->screens.h) -
+         th) * config->welcome.pos.y ) + config->welcome.pos.offset_y);
+
+      estyle_move(o, x, y);
+      estyle_hide(_o_pass_desc);
+      estyle_hide(_o_text_desc);
+      estyle_show(_o_err_str);
       ecore_add_event_timer("error_string", 1.5, error_die, 255, o);
    }
 }
@@ -74,31 +71,51 @@
 void
 set_text_entry_text(int is_pass, char *txt)
 {
-   Evas_Object *o = _o_text_entry;
+   Estyle *o = _o_text_entry;
 
-   double tw = 0.0, th = 0.0, x, y;
-   int w, h;
+   int x = 0, y = 0;
+   int w, h, tw = 0, th = 0;
 
    if (is_pass)
-      evas_object_text_text_set(o, "");
+      estyle_set_text(o, "");
    else
-      evas_object_text_text_set(o, txt);
+      estyle_set_text(o, txt);
 
    evas_output_size_get(evas, &w, &h);
-   evas_object_geometry_get(o, NULL, NULL, &tw, &th);
-
-   x = (((w / config->screens.w) - tw) * PERCENT_DESC_HORIZONTAL_PLACEMENT);
-   y = (((h / config->screens.h) - th) * PERCENT_DESC_VERTICAL_PLACEMENT +
-        (config->welcome.font.size + 8));
+   estyle_geometry(o, NULL, NULL, &tw, &th);
+   
+   x = ((((w / config->screens.w) -
+         tw) * config->passwd.pos.x ) + config->passwd.pos.offset_x);
+   y = ((((h / config->screens.h) -
+         th) * config->passwd.pos.y ) + config->passwd.pos.offset_y + th);
+   estyle_move(o, x, y);
+}
 
-   evas_object_move(o, x, y);
+void
+elogin_update_time(int val, void *data)
+{
+    char buf[PATH_MAX], timer[PATH_MAX];
+    
+    if(data)
+    {
+       struct tm *current;
+       time_t _t = time(NULL);
+       current = localtime(&_t);
+       if(val)
+           strftime(buf, PATH_MAX, "%I:%M %Z", current);
+       else
+           strftime(buf, PATH_MAX, "%b %e %Y", current);
+       estyle_set_text((Estyle*)data, buf);
+       snprintf(timer, PATH_MAX, "%s timer", buf);
+       ecore_add_event_timer(timer, 1.0, elogin_update_time, val, data);
+    }
 }
 
 void
 intro_init(E_Login_Session e)
 {
-   Evas_Object *o;
-   double tw, th;
+   Estyle *es;
+   int tw = 0, th = 0;
    double x, y;
 
    if (e->evas)
@@ -106,13 +123,13 @@
    if (evas)
    {
       if (_o_text_desc)
-         evas_object_del(_o_text_desc);
+         estyle_free(_o_text_desc);
       if (_o_pass_desc)
-         evas_object_del(_o_pass_desc);
+         estyle_free(_o_pass_desc);
       if (_o_text_entry)
-         evas_object_del(_o_text_entry);
+         estyle_free(_o_text_entry);
       if (_o_err_str)
-         evas_object_del(_o_err_str);
+         estyle_free(_o_err_str);
    }
    if (e)
       evas = e->evas;
@@ -128,57 +145,92 @@
    /* select a default session */
    elogin_select_session(e, 0);
 
-   o = evas_object_text_add(evas);
-   evas_object_text_font_set(o, config->welcome.font.name,
-                             config->welcome.font.size);
-   evas_object_text_text_set(o, config->welcome.mess);
-   evas_object_color_set(o, config->welcome.font.r, config->welcome.font.g,
-                         config->welcome.font.b, config->welcome.font.a);
-   evas_object_geometry_get(o, NULL, NULL, &tw, &th);
-   x = (((e->geom.w / config->screens.w) -
-         tw) * PERCENT_DESC_HORIZONTAL_PLACEMENT);
-   y = (((e->geom.h / config->screens.h) -
-         th) * PERCENT_DESC_VERTICAL_PLACEMENT);
-   evas_object_move(o, x, y);
-   evas_object_layer_set(o, 5);
-   evas_object_show(o);
-   _o_text_desc = o;
-
+   es = estyle_new(evas, config->welcome.mess, "raised");
+   estyle_set_color(es, config->welcome.font.r, config->welcome.font.g,
+          config->welcome.font.b, config->welcome.font.a);
+   estyle_set_font(es, config->welcome.font.name,
+          config->welcome.font.size); 
+   estyle_geometry(es, NULL, NULL, &tw, &th);
+   x = ((((e->geom.w / config->screens.w) - tw) *
+              config->welcome.pos.x ) + config->welcome.pos.offset_x);
+   y = ((((e->geom.h / config->screens.h) - th) * 
+              config->welcome.pos.y ) + config->welcome.pos.offset_y);
+   estyle_move(es, x, y);
+   estyle_set_layer(es, 5);
+   estyle_show(es);
+   _o_text_desc = es;
+   
    /* password description */
-   o = evas_object_text_add(evas);
-   evas_object_text_font_set(o, config->passwd.font.name,
-                             config->passwd.font.size);
-   evas_object_text_text_set(o, config->passwd.mess);
-   evas_object_color_set(o, config->passwd.font.r, config->passwd.font.g,
-                         config->passwd.font.b, config->passwd.font.a);
-   evas_object_geometry_get(o, NULL, NULL, &tw, &th);
-   x = (((e->geom.w / config->screens.w) -
-         tw) * PERCENT_DESC_HORIZONTAL_PLACEMENT);
-   y = (((e->geom.h / config->screens.h) -
-         th) * PERCENT_DESC_VERTICAL_PLACEMENT);
-   evas_object_move(o, x, y);
-   evas_object_layer_set(o, 5);
-   _o_pass_desc = o;
+   es = estyle_new(evas, config->passwd.mess, "raised");
+   estyle_set_color(es, config->passwd.font.r, config->passwd.font.g,
+          config->passwd.font.b, config->passwd.font.a);
+   estyle_set_font(es, config->passwd.font.name,
+          config->passwd.font.size);
+   estyle_geometry(es, NULL, NULL, &tw, &th);
+   x = ((((e->geom.w / config->screens.w) -
+         tw) * config->passwd.pos.x ) + config->passwd.pos.offset_x);
+   y = ((((e->geom.h / config->screens.h) -
+         th) * config->passwd.pos.y ) + config->passwd.pos.offset_y);
+   estyle_move(es, x, y);
+   estyle_set_layer(es, 5);
+   estyle_hide(es);
+   _o_pass_desc = es;
 
    /* o_text_entry */
-   o = evas_object_text_add(evas);
-   evas_object_text_font_set(o, config->welcome.font.name,
-                             config->welcome.font.size);
-   evas_object_text_text_set(o, "");
-   evas_object_color_set(o, config->welcome.font.r, config->welcome.font.g,
-                         config->welcome.font.b, config->welcome.font.a);
-   evas_object_layer_set(o, 5);
-   evas_object_move(o, -999999, -9999999);
-   evas_object_show(o);
-   _o_text_entry = o;
+   es = estyle_new(evas, "", "raised");
+   estyle_set_color(es, config->welcome.font.r, config->welcome.font.g,
+          config->welcome.font.b, config->welcome.font.a);
+   estyle_set_font(es, config->welcome.font.name,
+          config->welcome.font.size);
+   estyle_move(es, x, y);
+   estyle_set_layer(es, 5);
+   estyle_show(es);
+   _o_text_entry = es;
 
    /* _o_err_str is placed later */
-   o = evas_object_text_add(evas);
-   evas_object_text_font_set(o, config->welcome.font.name,
-                             config->welcome.font.size);
-   evas_object_text_text_set(o, "");
-   evas_object_color_set(o, config->welcome.font.r, config->welcome.font.g,
-                         config->welcome.font.b, config->welcome.font.a);
-   evas_object_layer_set(o, 10);
-   _o_err_str = o;
+   es = estyle_new(evas, "", "raised");
+   estyle_set_color(es, config->welcome.font.r, config->welcome.font.g,
+          config->welcome.font.b, config->welcome.font.a);
+   estyle_set_font(es, config->welcome.font.name,
+          config->welcome.font.size);
+   estyle_move(es, x, y);
+   estyle_hide(es);
+   estyle_set_layer(es, 5);
+   _o_err_str = es;
+
+   /* Greeting Message */
+   es = estyle_new(evas, config->greeting.mess, "raised");
+   estyle_set_color(es, config->greeting.font.r, config->greeting.font.g,
+          config->greeting.font.b, config->greeting.font.a);
+   estyle_set_font(es, config->greeting.font.name,
+          config->greeting.font.size + 8);
+   estyle_geometry(es, NULL, NULL, &tw, &th);
+   x = ((((e->geom.w / config->screens.w) -
+         tw) * config->greeting.pos.x ) + config->greeting.pos.offset_x);
+   y = ((((e->geom.h / config->screens.h) -
+         th) * config->greeting.pos.y ) + config->greeting.pos.offset_y);
+   estyle_move(es, x, y);
+   y += th;
+   estyle_show(es);
+   
+   /* Greeting Date */
+   es = estyle_new(evas, "", "raised");
+   estyle_set_color(es, config->greeting.font.r, config->greeting.font.g,
+          config->greeting.font.b, config->greeting.font.a);
+   estyle_set_font(es, config->greeting.font.name,
+          config->greeting.font.size);
+   estyle_move(es, x, y);
+   y += config->greeting.font.size + 4;
+   estyle_show(es);
+   ecore_add_event_timer("timer", 1.0, elogin_update_time, 0, es);
+   
+   /* Greeting time */
+   es = estyle_new(evas, "", "raised");
+   estyle_set_color(es, config->greeting.font.r, config->greeting.font.g,
+          config->greeting.font.b, config->greeting.font.a);
+   estyle_set_font(es, config->greeting.font.name,
+          config->greeting.font.size);
+   estyle_move(es, x, y);
+   estyle_show(es);
+   ecore_add_event_timer("timer2", 1.0, elogin_update_time, 1, es);
 }




-------------------------------------------------------
This SF.net email is sponsored by: Scholarships for Techies!
Can't afford IT training? All 2003 ictp students receive scholarships.
Get hands-on training in Microsoft, Cisco, Sun, Linux/UNIX, and more.
www.ictp.com/training/sourceforge.asp
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to