batery module now playes with e's powersave api :)

SVN revision: 33989
This commit is contained in:
Carsten Haitzler 2008-03-12 05:43:36 +00:00
parent 5fb31ce07c
commit 167bc53a57
4 changed files with 50 additions and 9 deletions

View File

@ -54,7 +54,7 @@ EAPI E_Action *e_action_add(const char *name);
EAPI void e_action_del(const char *name);
EAPI E_Action *e_action_find(const char *name);
EAPI void e_action_predef_name_set(const char *act_grp, const char *act_name, const char *act_cmd, const char *act_params, const char *param_example, int editable);
EAPI void e_action_predef_name_set(const char *act_grp, const char *act_name, const char *act_cmd, const char *act_params, const char *param_example, int editable);
EAPI void e_action_predef_name_del(const char *act_grp, const char *act_name);
EAPI void e_action_predef_name_all_del(void);
EAPI Evas_List *e_action_groups_get(void);

View File

@ -490,6 +490,7 @@ _e_pointer_active_handle(E_Pointer *p)
edje_object_signal_emit(p->pointer_object, "e,state,mouse,active", "e");
p->idle = 0;
}
if (e_powersave_mode_get() >= E_POWERSAVE_MODE_MEDIUM) return;
/* and scedule a pre-idle check in 1 second if no more events happen */
p->idle_timer = ecore_timer_add(1.0, _e_pointer_cb_idle_timer_pre, p);
}
@ -506,8 +507,11 @@ _e_pointer_cb_mouse_down(void *data, int type, void *event)
{
p = l->data;
_e_pointer_active_handle(p);
if (p->pointer_object)
edje_object_signal_emit(p->pointer_object, "e,action,mouse,down", "e");
if (e_powersave_mode_get() < E_POWERSAVE_MODE_EXTREME)
{
if (p->pointer_object)
edje_object_signal_emit(p->pointer_object, "e,action,mouse,down", "e");
}
}
return 1;
}
@ -524,8 +528,11 @@ _e_pointer_cb_mouse_up(void *data, int type, void *event)
{
p = l->data;
_e_pointer_active_handle(p);
if (p->pointer_object)
edje_object_signal_emit(p->pointer_object, "e,action,mouse,up", "e");
if (e_powersave_mode_get() < E_POWERSAVE_MODE_EXTREME)
{
if (p->pointer_object)
edje_object_signal_emit(p->pointer_object, "e,action,mouse,up", "e");
}
}
return 1;
}
@ -542,8 +549,11 @@ _e_pointer_cb_mouse_move(void *data, int type, void *event)
{
p = l->data;
_e_pointer_active_handle(p);
if (p->pointer_object)
edje_object_signal_emit(p->pointer_object, "e,action,mouse,move", "e");
if (e_powersave_mode_get() < E_POWERSAVE_MODE_HIGH)
{
if (p->pointer_object)
edje_object_signal_emit(p->pointer_object, "e,action,mouse,move", "e");
}
}
return 1;
}
@ -560,8 +570,11 @@ _e_pointer_cb_mouse_wheel(void *data, int type, void *event)
{
p = l->data;
_e_pointer_active_handle(p);
if (p->pointer_object)
edje_object_signal_emit(p->pointer_object, "e,action,mouse,wheel", "e");
if (e_powersave_mode_get() < E_POWERSAVE_MODE_EXTREME)
{
if (p->pointer_object)
edje_object_signal_emit(p->pointer_object, "e,action,mouse,wheel", "e");
}
}
return 1;
}
@ -586,6 +599,14 @@ _e_pointer_cb_idle_timer_wait(void *data)
E_Pointer *p;
p = data;
if (e_powersave_mode_get() >= E_POWERSAVE_MODE_MEDIUM)
{
if (p->idle_poller)
ecore_poller_del(p->idle_poller);
p->idle_poller = NULL;
p->idle_timer = NULL;
return 0;
}
if (!p->idle_poller)
p->idle_poller = ecore_poller_add(ECORE_POLLER_CORE, 64,
_e_pointer_cb_idle_poller, p);
@ -600,6 +621,11 @@ _e_pointer_cb_idle_poller(void *data)
int x, y;
p = data;
if (e_powersave_mode_get() >= E_POWERSAVE_MODE_MEDIUM)
{
p->idle_poller = NULL;
return 0;
}
/* check if pointer actually moved since the 1 second post-mouse move idle
* pre-timer that fetches the position */
ecore_x_pointer_xy_get(p->win, &x, &y);

View File

@ -96,6 +96,8 @@ e_powersave_mode_set(E_Powersave_Mode mode)
{
if (mode < powersave_mode_min) mode = powersave_mode_min;
else if (mode > powersave_mode_max) mode = powersave_mode_max;
if (powersave_mode == mode) return;
printf("CHANGE PW SAVE MODE TO %i / %i\n", (int)mode, E_POWERSAVE_MODE_EXTREME);
powersave_mode = mode;
_e_powersave_mode_eval();
}

View File

@ -414,7 +414,20 @@ _battery_cb_exe_data(void *data, int type, void *event)
edje_object_part_text_set(inst->o_battery, "e.text.time", buf);
}
}
if (!have_battery)
e_powersave_mode_set(E_POWERSAVE_MODE_LOW);
else
{
if ((have_power) || (full > 95))
e_powersave_mode_set(E_POWERSAVE_MODE_LOW);
else if (full > 30)
e_powersave_mode_set(E_POWERSAVE_MODE_HIGH);
else
e_powersave_mode_set(E_POWERSAVE_MODE_EXTREME);
}
}
else
e_powersave_mode_set(E_POWERSAVE_MODE_LOW);
battery_config->full = full;
battery_config->time_left = time_left;
battery_config->have_battery = have_battery;