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