[EGIT] [core/enlightenment] master 02/03: backlight: remove code duplication

2014-12-03 Thread Luis de Bethencourt
tasn pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=294db70962ae905d7f28b6b46e39e6cc2580f12f

commit 294db70962ae905d7f28b6b46e39e6cc2580f12f
Author: Luis de Bethencourt luis...@samsung.com
Date:   Tue Dec 2 18:21:10 2014 +

backlight: remove code duplication

Move repeated blocks of code to a static function
---
 src/modules/backlight/e_mod_main.c | 78 +++---
 1 file changed, 22 insertions(+), 56 deletions(-)

diff --git a/src/modules/backlight/e_mod_main.c 
b/src/modules/backlight/e_mod_main.c
index bbabfa5..2b63d16 100644
--- a/src/modules/backlight/e_mod_main.c
+++ b/src/modules/backlight/e_mod_main.c
@@ -49,6 +49,7 @@ static Eina_List *handlers;
 
 
 static void _backlight_popup_free(Instance *inst);
+static void _backlight_level_set(Instance *inst, double value, Eina_Bool 
set_slider);
 
 static void
 _backlight_gadget_update(Instance *inst)
@@ -61,6 +62,20 @@ _backlight_gadget_update(Instance *inst)
edje_object_message_send(inst-o_backlight, EDJE_MESSAGE_FLOAT, 0, msg);
 }
 
+static void
+_backlight_level_set(Instance *inst, double val, Eina_Bool set_slider)
+{
+   if (val  1.0) val = 1.0;
+   if (val  0.0) val = 0.0;
+   if (set_slider)
+ e_widget_slider_value_double_set(inst-o_slider, val);
+   inst-val = val;
+   e_backlight_mode_set(inst-gcc-gadcon-zone, E_BACKLIGHT_MODE_NORMAL);
+   e_backlight_level_set(inst-gcc-gadcon-zone, val, 0.0);
+   e_config-backlight.normal = val;
+   e_config_save_queue();
+}
+
 static Eina_Bool
 _backlight_win_key_down_cb(void *data, Ecore_Event_Key *ev)
 {
@@ -79,14 +94,7 @@ _backlight_win_key_down_cb(void *data, Ecore_Event_Key *ev)
 (!strcmp(keysym, bracketright)) ||
 (!strcmp(keysym, Prior)))
  {
-double v = inst-val + 0.1;
-if (v  1.0) v = 1.0;
-e_widget_slider_value_double_set(inst-o_slider, v);
-inst-val = v;
-e_backlight_mode_set(inst-gcc-gadcon-zone, E_BACKLIGHT_MODE_NORMAL);
-e_backlight_level_set(inst-gcc-gadcon-zone, v, 0.0);
-e_config-backlight.normal = v;
-e_config_save_queue();
+_backlight_level_set(inst, inst-val + 0.1, EINA_TRUE);
 _backlight_gadget_update(inst);
  }
else if ((!strcmp(keysym, Down)) ||
@@ -98,14 +106,7 @@ _backlight_win_key_down_cb(void *data, Ecore_Event_Key *ev)
 (!strcmp(keysym, bracketleft)) ||
 (!strcmp(keysym, Next)))
  {
-double v = inst-val - 0.1;
-if (v  0.0) v = 0.0;
-e_widget_slider_value_double_set(inst-o_slider, v);
-inst-val = v;
-e_backlight_mode_set(inst-gcc-gadcon-zone, E_BACKLIGHT_MODE_NORMAL);
-e_backlight_level_set(inst-gcc-gadcon-zone, v, 0.0);
-e_config-backlight.normal = v;
-e_config_save_queue();
+_backlight_level_set(inst, inst-val - 0.1, EINA_TRUE);
 _backlight_gadget_update(inst);
  }
else if ((!strcmp(keysym, 0)) ||
@@ -119,13 +120,7 @@ _backlight_win_key_down_cb(void *data, Ecore_Event_Key *ev)
 (!strcmp(keysym, 8)) ||
 (!strcmp(keysym, 9)))
  {
-double v = (double)atoi(keysym) / 9.0;
-e_widget_slider_value_double_set(inst-o_slider, v);
-inst-val = v;
-e_backlight_mode_set(inst-gcc-gadcon-zone, E_BACKLIGHT_MODE_NORMAL);
-e_backlight_level_set(inst-gcc-gadcon-zone, v, 0.0);
-e_config-backlight.normal = v;
-e_config_save_queue();
+_backlight_level_set(inst, (double)atoi(keysym) / 9.0, EINA_TRUE);
 _backlight_gadget_update(inst);
  }
else
@@ -172,10 +167,7 @@ static void
 _slider_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info 
__UNUSED__)
 {
Instance *inst = data;
-   e_backlight_mode_set(inst-gcc-gadcon-zone, E_BACKLIGHT_MODE_NORMAL);
-   e_backlight_level_set(inst-gcc-gadcon-zone, inst-val, 0.0);
-   e_config-backlight.normal = inst-val;
-   e_config_save_queue();
+   _backlight_level_set(inst, inst-val, EINA_FALSE);
 }
 
 static void
@@ -280,26 +272,6 @@ _backlight_cb_mouse_down(void *data, Evas *evas 
__UNUSED__, Evas_Object *obj __U
 }
 
 static void
-_backlight_level_decrease(Instance *inst)
-{
-   double v = inst-val - 0.1;
-   if (v  0.0) v = 0.0;
-   e_backlight_level_set(inst-gcc-gadcon-zone, v, 0.0);
-   e_config-backlight.normal = v;
-   e_config_save_queue();
-}
-
-static void
-_backlight_level_increase(Instance *inst)
-{
-   double v = inst-val + 0.1;
-   if (v  1.0) v = 1.0;
-   e_backlight_level_set(inst-gcc-gadcon-zone, v, 0.0);
-   e_config-backlight.normal = v;
-   e_config_save_queue();
-}
-
-static void
 _backlight_cb_mouse_wheel(void *data, Evas *evas __UNUSED__, Evas_Object *obj 
__UNUSED__, void *event)
 {
Evas_Event_Mouse_Wheel *ev = event;
@@ -307,9 +279,9 @@ _backlight_cb_mouse_wheel(void *data, Evas *evas 
__UNUSED__, Evas_Object *obj __
 
inst-val = e_backlight_level_get(inst-gcc-gadcon-zone);
if (ev-z  0

[EGIT] [core/enlightenment] master 01/03: backlight: visual feedback when adjusting value through keybindings

2014-12-03 Thread Luis de Bethencourt
tasn pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=1bcc205d2f29cdf6b8491e707a8efaa3e466f56a

commit 1bcc205d2f29cdf6b8491e707a8efaa3e466f56a
Author: Luis de Bethencourt luis...@samsung.com
Date:   Tue Dec 2 17:39:01 2014 +

backlight: visual feedback when adjusting value through keybindings

The backlight module has an action to show the value of the backlight 
brightness
by showing the gadget's popup. Added a parameter to this action to adjust 
the
brightness at the same time.
---
 src/modules/backlight/e_mod_main.c | 56 +++---
 1 file changed, 52 insertions(+), 4 deletions(-)

diff --git a/src/modules/backlight/e_mod_main.c 
b/src/modules/backlight/e_mod_main.c
index 7a9bc9e..bbabfa5 100644
--- a/src/modules/backlight/e_mod_main.c
+++ b/src/modules/backlight/e_mod_main.c
@@ -39,6 +39,7 @@ struct _Instance
Evas_Object *o_backlight, *o_table, *o_slider;
E_Gadcon_Popup  *popup;
double   val;
+   Ecore_Timer *popup_timer;
 };
 
 static Eina_List *backlight_instances = NULL;
@@ -406,17 +407,63 @@ _gc_id_new(const E_Gadcon_Client_Class *client_class)
return buf;
 }
 
+static Eina_Bool
+_backlight_popup_timer_cb(void *data)
+{
+   Instance *inst;
+   inst = data;
+
+   if (inst-popup)
+  _backlight_popup_del_cb(inst-popup);
+   inst-popup_timer = NULL;
+
+   return ECORE_CALLBACK_CANCEL;
+}
+
+static void
+_backlight_popup_timer_new(Instance *inst)
+{
+   if (inst-popup)
+ {
+if (inst-popup_timer)
+  {
+ ecore_timer_del(inst-popup_timer);
+ e_widget_slider_value_double_set(inst-o_slider, inst-val);
+ inst-popup_timer = ecore_timer_add(1.0, 
_backlight_popup_timer_cb, inst);
+  }
+ }
+   else
+ {
+_backlight_popup_new(inst);
+inst-popup_timer = ecore_timer_add(1.0, _backlight_popup_timer_cb, 
inst);
+ }
+}
+
 static void
 _e_mod_action_cb(E_Object *obj __UNUSED__,
- const char *params __UNUSED__)
+ const char *params)
 {
Eina_List *l;
Instance *inst;

EINA_LIST_FOREACH(backlight_instances, l, inst)
  {
-if (inst-popup) _backlight_popup_free(inst);
-else _backlight_popup_new(inst);
+if (!params)
+  {
+ if (inst-popup) _backlight_popup_free(inst);
+ else _backlight_popup_new(inst);
+  }
+else
+  {
+ double v = inst-val + atof(params);
+ if (v  1.0) v = 1.0;
+ if (v  0.0) v = 0.0;
+ inst-val = v;
+ e_backlight_level_set(inst-gcc-gadcon-zone, v, 0.0);
+ e_config-backlight.normal = v;
+ e_config_save_queue();
+ _backlight_popup_timer_new(inst);
+  }
  }
 }
 
@@ -467,7 +514,8 @@ e_modapi_init(E_Module *m)
if (act)
  {
 act-func.go = _e_mod_action_cb;
-e_action_predef_name_set(N_(Screen), N_(Backlight Controls), 
backlight, NULL, NULL, 0);
+e_action_predef_name_set(N_(Screen), N_(Backlight Controls), 
backlight,
+ NULL, syntax: brightness change(-1.0 - 1.0), 
example: -0.1, 1);
  }
return m;
 }

--