A little bit more work on Desktop Locking:

- an look and feel of the desklock window is desined. However, it requires
a little bit work on alligments.


SVN revision: 20655
This commit is contained in:
sndev 2006-02-21 00:19:56 +00:00 committed by sndev
parent 7a044a1d5c
commit 7df1d76c4b
4 changed files with 243 additions and 15 deletions

View File

@ -52,6 +52,7 @@ default_ilist.edc \
default_tlist.edc \ default_tlist.edc \
default_slider.edc \ default_slider.edc \
default_exebuf.edc \ default_exebuf.edc \
default_desklock.edc \
default_textblock.edc \ default_textblock.edc \
default_shelf.edc default_shelf.edc

View File

@ -60,6 +60,7 @@ collections {
#include "default_tlist.edc" #include "default_tlist.edc"
#include "default_slider.edc" #include "default_slider.edc"
#include "default_exebuf.edc" #include "default_exebuf.edc"
#include "default_desklock.edc"
#include "default_textblock.edc" #include "default_textblock.edc"
#include "default_shelf.edc" #include "default_shelf.edc"
} }

View File

@ -0,0 +1,213 @@
images {
image, "e17_entry_cursor.png" COMP;
image, "e17_brushed.png" COMP;
image, "e17_logo.png" COMP;
image, "e17_gadman_overlay.png" COMP;
}
group
{
name, "widgets/desklock/main";
min, 640 480;
parts
{
part
{
name, "background";
type, IMAGE;
mouse_events, 0;
description
{
state, "default" 0.0;
rel1
{
relative, 0.0 0.0;
offset, 0 0;
}
rel2
{
relative, 1.0 1.0;
offset, -1 -1;
}
image
{
normal, "e17_brushed.png";
}
}
}
part
{
name: "logo";
mouse_events, 0;
description
{
state, "default" 0.0;
min, 64 64;
max, 64 64;
//align, 0.5 0.0;
rel1
{
relative, 0.3 0.5;
offset, 0 0;
}
rel2
{
relative, 0.3 0.5;
offset, 0 0;
}
image
{
normal, "e17_logo.png";
}
}
}
part
{
name: "text_label1";
type: TEXT;
effect: SHADOW;
description {
state: "default" 0.0;
color: 0 0 0 255;
fixed: 0 1;
align: 0.0 0.5;
rel1
{
relative, 1.0 0.0;
offset, 20 0;
to, "logo";
}
rel2
{
relative, 1.0 0.3;
offset, 0 0;
to, "logo";
}
color: 0 0 0 255;
color3: 255 255 255 128;
text {
text: "Please enter your password to unlock:";
font: "Edje-Vera-Bold";
size: 10;
align: 0.0 0.5;
min: 1 1;
}
}
}
part
{
name, "passwd_border";
mouse_events, 0;
description
{
state, "default" 0.0;
rel1
{
relative, 1.0 0.3;
offset, 0 0;
to, "logo";
}
rel2
{
relative, 5.0 0.9;
offset, 0 0;
to, "logo";
}
image
{
normal, "e17_gadman_overlay.png";
}
}
}
part
{
name, "passwd_entry_clip";
type, RECT;
mouse_events, 0;
description
{
state, "default" 0.0;
visible, 1;
rel1
{
relative, 0.0 0.0;
offset, 10 10;
to, "passwd_border";
}
rel2
{
relative, 1.0 1.0;
offset, -17 -10;
to, "passwd_border";
}
}
}
part
{
name, "passwd";
type, TEXT;
effect, SOFT_SHADOW;
clip_to, "passwd_entry_clip";
description {
state: "default" 0.0;
color: 0 0 0 255;
fixed: 0 1;
align: 0.0 0.5;
rel1
{
relative, 0.0 0.0;
offset, 0 0;
to, "passwd_entry_clip";
}
rel2
{
relative, 0.0 1.0;
offset, 0 0;
to, "passwd_entry_clip";
}
color: 0 0 0 255;
color3: 255 255 255 128;
text {
text: "****";
font: "Edje-Vera-Bold";
size: 16;
align: 0.0 0.5;
min: 1 1;
text_class: "desklock_passwd";
}
}
}
part
{
name, "cursor";
mouse_events, 0;
clip_to, "passwd_entry_clip";
description {
state: "default" 0.0;
min: 16 16;
max: 16 16;
align: 0.0 0.5;
fixed: 1 1;
rel1 {
relative: 1.0 0.0;
offset: 0 -2;
to: "passwd";
}
rel2 {
relative: 1.0 0.9;
offset: 0 0;
to: "passwd";
}
image {
normal: "e17_entry_cursor.png";
}
}
}
}
}

View File

@ -34,10 +34,10 @@ e_desklock_show(void)
E_Zone *zone = NULL; E_Zone *zone = NULL;
e_error_dialog_show(_("Enlightenment Desktop Lock!"), /*e_error_dialog_show(_("Enlightenment Desktop Lock!"),
_("The Desktop Lock mechanism is not complitely working yet.\n" _("The Desktop Lock mechanism is not complitely working yet.\n"
"It is just a simple development version of Desktop Locking.\n" "It is just a simple development version of Desktop Locking.\n"
"To return to E, just hit Enter")); "To return to E, just hit Enter"));*/
zone = e_zone_current_get(e_container_current_get(e_manager_current_get())); zone = e_zone_current_get(e_container_current_get(e_manager_current_get()));
{ {
@ -45,10 +45,10 @@ e_desklock_show(void)
ecore_x_window_show(elock_wnd); ecore_x_window_show(elock_wnd);
e_grabinput_get(elock_wnd, 0, elock_wnd); e_grabinput_get(elock_wnd, 0, elock_wnd);
x = zone->x + 100; x = zone->x;
y = zone->y + 100; y = zone->y;
w = zone->w - 200; w = zone->w;
h = zone->h - 200; h = zone->h;
elock_wnd_popup = e_popup_new(zone, x, y, w, h); elock_wnd_popup = e_popup_new(zone, x, y, w, h);
evas_event_feed_mouse_move(elock_wnd_popup->evas, -1000000, -1000000, evas_event_feed_mouse_move(elock_wnd_popup->evas, -1000000, -1000000,
@ -60,15 +60,16 @@ e_desklock_show(void)
bg_object = edje_object_add(elock_wnd_popup->evas); bg_object = edje_object_add(elock_wnd_popup->evas);
// this option should be made as a user option. // this option should be made as a user option.
e_theme_edje_object_set(bg_object, "base/theme/background", "desktop/background"); /*e_theme_edje_object_set(bg_object, "base/theme/background", "desktop/background");
passwd_entry = edje_object_add(elock_wnd_popup->evas); passwd_entry = edje_object_add(elock_wnd_popup->evas);
e_theme_edje_object_set(passwd_entry, "base/theme/exebuf", "widgets/exebuf/main"); e_theme_edje_object_set(passwd_entry, "base/theme/desklock", "widgets/desklock/main");
edje_object_part_text_set(passwd_entry, "label", passwd); edje_object_part_text_set(passwd_entry, "passwd", passwd);
edje_object_part_swallow(bg_object, "passwd_entry", passwd_entry); edje_object_part_swallow(bg_object, "passwd_entry", passwd_entry);
evas_object_move(passwd_entry, x + 200, y + 200); evas_object_move(passwd_entry, x + 200, y + 200);
evas_object_show(passwd_entry); evas_object_show(passwd_entry);*/
e_theme_edje_object_set(bg_object, "base/theme/desklock", "widgets/desklock/main");
e_popup_move_resize(elock_wnd_popup, x, y, w, h); e_popup_move_resize(elock_wnd_popup, x, y, w, h);
@ -177,6 +178,7 @@ e_desklock_show(void)
"Double check to see if Enlightenment is not already on this display,\n" "Double check to see if Enlightenment is not already on this display,\n"
"but if that fails try deleting all files in ~/.ecore/enlightenment-*\n" "but if that fails try deleting all files in ~/.ecore/enlightenment-*\n"
"and try running again."));*/ "and try running again."));*/
_e_desklock_passwd_update();
return 1; return 1;
} }
@ -204,6 +206,8 @@ e_desklock_hide(void)
ecore_x_window_del(elock_wnd); ecore_x_window_del(elock_wnd);
e_grabinput_release(elock_wnd, elock_wnd); e_grabinput_release(elock_wnd, elock_wnd);
elock_wnd = 0; elock_wnd = 0;
memset(passwd, 0, sizeof(char) * PASSWD_LEN);
} }
static int static int
@ -219,13 +223,22 @@ _e_desklock_cb_key_down(void *data, int type, void *event)
else if (!strcmp(ev->keysymbol, "KP_Enter")) else if (!strcmp(ev->keysymbol, "KP_Enter"))
{ {
// here we have to go to auth // here we have to go to auth
e_desklock_hide(); // Actually, escape MUST be ignored. if (1 || strcmp(passwd, "password") == 0)
; e_desklock_hide(); // Actually, escape MUST be ignored.
else
; // report about invalid password
memset(passwd, 0, sizeof(char) * PASSWD_LEN);
_e_desklock_passwd_update();
} }
else if (!strcmp(ev->keysymbol, "Return")) else if (!strcmp(ev->keysymbol, "Return"))
{ {
// here we have to go to auth // here we have to go to auth
e_desklock_hide(); // Actually, escape MUST be ignored. if (1 || strcmp(passwd, "password") == 0)
e_desklock_hide(); // Actually, escape MUST be ignored.
else
; // report about invalid password
memset(passwd, 0, sizeof(char) * PASSWD_LEN);
_e_desklock_passwd_update();
} }
else if (!strcmp(ev->keysymbol, "BackSpace")) else if (!strcmp(ev->keysymbol, "BackSpace"))
_e_desklock_backspace(); _e_desklock_backspace();
@ -301,8 +314,8 @@ _e_desklock_passwd_update()
{ {
strcat(passwd_hidden, "*"); strcat(passwd_hidden, "*");
} }
edje_object_part_text_set(passwd_entry, "label", passwd_hidden); edje_object_part_text_set(bg_object, "passwd", passwd_hidden);
//edje_object_part_text_set(passwd_entry, "label", passwd); /*edje_object_part_text_set(bg_object, "passwd", passwd);*/
return; return;
} }