summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordiscomfitor <michael.blumenkrantz@gmail.com>2013-10-26 07:50:36 +0100
committerMike Blumenkrantz <zmike@samsung.com>2014-01-13 01:14:16 -0500
commit3b30bdc51b1f33df9172326be734d4221e70fb97 (patch)
tree83b058623eff94e69253ceb63b48c9b486ed3213
parentaddb22f124f343b65c1602afa64f8af34d1b3d90 (diff)
downloadenlightenment-3b30bdc51b1f33df9172326be734d4221e70fb97.tar.gz
nosquash: add blocker rects for desklock
add a black rect to cover the screen during desklock
-rw-r--r--src/bin/e_desklock.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/bin/e_desklock.c b/src/bin/e_desklock.c
index 6028f6a1e0..bd90faa334 100644
--- a/src/bin/e_desklock.c
+++ b/src/bin/e_desklock.c
@@ -78,6 +78,8 @@ static Eina_List *tasks = NULL;
static Eina_List *show_cbs = NULL;
static Eina_List *hide_cbs = NULL;
+static Eina_List *block_rects = NULL;
+
/***********************************************************************/
static Eina_Bool _e_desklock_cb_key_down(void *data, int type, void *event);
@@ -237,7 +239,8 @@ e_desklock_show_autolocked(void)
EAPI int
e_desklock_show(Eina_Bool suspend)
{
- Eina_List *l, *l3;
+ const Eina_List *l, *l3;
+ E_Comp *comp;
E_Manager *man;
int total_zone_num;
E_Event_Desklock *ev;
@@ -298,7 +301,17 @@ e_desklock_show(Eina_Bool suspend)
}
edd = E_NEW(E_Desklock_Data, 1);
if (!edd) return 0;
- //e_comp_block_window_add();
+ EINA_LIST_FOREACH(e_comp_list(), l, comp)
+ {
+ Evas_Object *o;
+
+ o = evas_object_rectangle_add(comp->evas);
+ block_rects = eina_list_append(block_rects, o);
+ evas_object_color_set(o, 0, 0, 0, 255);
+ evas_object_resize(o, comp->man->w, comp->man->h);
+ evas_object_layer_set(o, E_LAYER_DESKLOCK);
+ evas_object_show(o);
+ }
if (e_config->desklock_language)
e_intl_language_set(e_config->desklock_language);
@@ -351,6 +364,7 @@ e_desklock_hide(void)
E_LIST_FOREACH(e_comp_list(), e_comp_override_del);
E_LIST_FOREACH(e_comp_list(), e_comp_shape_queue);
+ E_FREE_LIST(block_rects, evas_object_del);
//e_comp_block_window_del();
if (e_config->desklock_language)
e_intl_language_set(e_config->language);