okra pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=557a060c78ebe78598804a7bb088066f461248cf

commit 557a060c78ebe78598804a7bb088066f461248cf
Author: Stephen 'Okra' Houston <[email protected]>
Date:   Fri Jul 7 14:38:57 2017 -0500

    Thermal Gadget: Add configuration popup.
    
    Choose temp units, update poll time, and min/max temps.
---
 src/modules/Makefile_sysinfo.mk              |   1 +
 src/modules/sysinfo/mod.c                    |   3 +-
 src/modules/sysinfo/sysinfo.c                |   1 +
 src/modules/sysinfo/sysinfo.h                |   1 +
 src/modules/sysinfo/thermal/thermal.c        |  46 +++-
 src/modules/sysinfo/thermal/thermal.h        |  11 +
 src/modules/sysinfo/thermal/thermal_config.c | 356 +++++++++++++++++++++++++++
 7 files changed, 415 insertions(+), 4 deletions(-)

diff --git a/src/modules/Makefile_sysinfo.mk b/src/modules/Makefile_sysinfo.mk
index e4af9a10f..faf424776 100644
--- a/src/modules/Makefile_sysinfo.mk
+++ b/src/modules/Makefile_sysinfo.mk
@@ -20,6 +20,7 @@ src_modules_sysinfo_module_la_SOURCES = 
src/modules/sysinfo/mod.c \
                          src/modules/sysinfo/batman/batman_config.c \
                          src/modules/sysinfo/thermal/thermal.h \
                          src/modules/sysinfo/thermal/thermal.c \
+                         src/modules/sysinfo/thermal/thermal_config.c \
                          src/modules/sysinfo/thermal/thermal_fallback.c \
                          src/modules/sysinfo/cpuclock/cpuclock.h \
                          src/modules/sysinfo/cpuclock/cpuclock.c \
diff --git a/src/modules/sysinfo/mod.c b/src/modules/sysinfo/mod.c
index ff9ffb651..0fb0f1be5 100644
--- a/src/modules/sysinfo/mod.c
+++ b/src/modules/sysinfo/mod.c
@@ -96,7 +96,8 @@ sysinfo_init(void)
         ci->thermal.sensor_name = NULL;
         ci->thermal.temp = -900;
         ci->thermal.units = CELSIUS;
-        ci->cpuclock.poll_interval = 32;
+        ci->thermal.configure = NULL;
+       ci->cpuclock.poll_interval = 32;
         ci->cpuclock.restore_governor = 0;
         ci->cpuclock.auto_powersave = 1;
         ci->cpuclock.powersave_governor = NULL;
diff --git a/src/modules/sysinfo/sysinfo.c b/src/modules/sysinfo/sysinfo.c
index 956e28888..353ab2a78 100644
--- a/src/modules/sysinfo/sysinfo.c
+++ b/src/modules/sysinfo/sysinfo.c
@@ -104,6 +104,7 @@ _conf_item_get(int *id)
    ci->thermal.sensor_type = SENSOR_TYPE_NONE;
    ci->thermal.sensor_name = NULL;
    ci->thermal.units = CELSIUS;
+   ci->thermal.configure = NULL;
    ci->cpuclock.poll_interval = 32;
    ci->cpuclock.restore_governor = 0;
    ci->cpuclock.auto_powersave = 1;
diff --git a/src/modules/sysinfo/sysinfo.h b/src/modules/sysinfo/sysinfo.h
index 2c9f49a70..896cd83a4 100644
--- a/src/modules/sysinfo/sysinfo.h
+++ b/src/modules/sysinfo/sysinfo.h
@@ -155,6 +155,7 @@ struct _Config_Item
    struct
    {
       Evas_Object         *o_gadget;
+      Evas_Object         *configure;
       int                  poll_interval;
       int                  low, high;
       int                  sensor_type;
diff --git a/src/modules/sysinfo/thermal/thermal.c 
b/src/modules/sysinfo/thermal/thermal.c
index 2ee8a9c9f..e9f670fd5 100644
--- a/src/modules/sysinfo/thermal/thermal.c
+++ b/src/modules/sysinfo/thermal/thermal.c
@@ -135,6 +135,33 @@ _thermal_check_done(void *data, Ecore_Thread *th 
EINA_UNUSED)
 }
 #endif
 
+static Evas_Object *
+_thermal_configure_cb(Evas_Object *g)
+{
+   Instance *inst = evas_object_data_get(g, "Instance");
+
+   if (!sysinfo_config) return NULL;
+   return thermal_configure(inst);
+}
+
+static void
+_thermal_mouse_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_data)
+{
+   Evas_Event_Mouse_Down *ev = event_data;
+   Instance *inst = data;
+
+   if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return;
+   if (ev->button == 3)
+     {
+        if (!sysinfo_config) return;
+        ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
+        if (inst->cfg->esm != E_SYSINFO_MODULE_THERMAL)
+          thermal_configure(inst);
+        else
+          e_gadget_configure(inst->o_main);
+     }
+}
+
 void
 _thermal_config_updated(Instance *inst)
 {
@@ -204,7 +231,8 @@ _thermal_removed_cb(void *data, Evas_Object *obj 
EINA_UNUSED, void *event_data)
    Instance *inst = data;
 
    if (inst->o_main != event_data) return;
-
+   if (inst->cfg->thermal.configure)
+     E_FREE_FUNC(inst->cfg->thermal.configure, evas_object_del);
    _thermal_face_shutdown(inst);
 
    evas_object_event_callback_del_full(inst->o_main, EVAS_CALLBACK_DEL, 
sysinfo_thermal_remove, data);
@@ -218,6 +246,8 @@ sysinfo_thermal_remove(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj EINA_UN
 {
    Instance *inst = data;
 
+   if (inst->cfg->thermal.configure)
+     E_FREE_FUNC(inst->cfg->thermal.configure, evas_object_del);
    _thermal_face_shutdown(inst);
 }
 
@@ -227,6 +257,8 @@ _thermal_created_cb(void *data, Evas_Object *obj, void 
*event_data EINA_UNUSED)
    Instance *inst = data;
    E_Gadget_Site_Orient orient = 
e_gadget_site_orient_get(e_gadget_site_get(inst->o_main));
 
+   e_gadget_configure_cb_set(inst->o_main, _thermal_configure_cb);
+
    inst->cfg->thermal.temp = 900;
    inst->cfg->thermal.have_temp = EINA_FALSE;
 
@@ -241,6 +273,9 @@ _thermal_created_cb(void *data, Evas_Object *obj, void 
*event_data EINA_UNUSED)
    E_EXPAND(inst->cfg->thermal.o_gadget);
    E_FILL(inst->cfg->thermal.o_gadget);
    elm_box_pack_end(inst->o_main, inst->cfg->thermal.o_gadget);
+   evas_object_event_callback_add(inst->cfg->thermal.o_gadget,
+                                  EVAS_CALLBACK_MOUSE_DOWN,
+                                  _thermal_mouse_down_cb, inst);
    evas_object_event_callback_add(inst->cfg->thermal.o_gadget, 
EVAS_CALLBACK_RESIZE, _thermal_resize_cb, inst);
    evas_object_show(inst->cfg->thermal.o_gadget);
    evas_object_smart_callback_del_full(obj, "gadget_created", 
_thermal_created_cb, data);
@@ -254,10 +289,13 @@ sysinfo_thermal_create(Evas_Object *parent, Instance 
*inst)
    inst->cfg->thermal.have_temp = EINA_FALSE;
 
    inst->cfg->thermal.o_gadget = elm_layout_add(parent);
-   e_theme_edje_object_set(inst->cfg->thermal.o_gadget, 
"base/theme/gadget/temperature",
-                           "e/gadget/temperature/main");
+   e_theme_edje_object_set(inst->cfg->thermal.o_gadget, 
"base/theme/gadget/thermal",
+                           "e/gadget/thermal/main");
    E_EXPAND(inst->cfg->thermal.o_gadget);
    E_FILL(inst->cfg->thermal.o_gadget);
+   evas_object_event_callback_add(inst->cfg->thermal.o_gadget,
+                                  EVAS_CALLBACK_MOUSE_DOWN,
+                                  _thermal_mouse_down_cb, inst);
    evas_object_event_callback_add(inst->cfg->thermal.o_gadget, 
EVAS_CALLBACK_RESIZE, _thermal_resize_cb, inst);
    evas_object_show(inst->cfg->thermal.o_gadget);
    _thermal_config_updated(inst);
@@ -291,6 +329,7 @@ _conf_item_get(int *id)
    ci->thermal.sensor_type = SENSOR_TYPE_NONE;
    ci->thermal.sensor_name = NULL;
    ci->thermal.units = CELSIUS;
+   ci->thermal.configure = NULL;
 
    sysinfo_config->items = eina_list_append(sysinfo_config->items, ci);
 
@@ -307,6 +346,7 @@ thermal_create(Evas_Object *parent, int *id, 
E_Gadget_Site_Orient orient EINA_UN
    *id = inst->cfg->id;
    inst->o_main = elm_box_add(parent);
    E_EXPAND(inst->o_main);
+   evas_object_data_set(inst->o_main, "Instance", inst);
    evas_object_smart_callback_add(parent, "gadget_created", 
_thermal_created_cb, inst);
    evas_object_smart_callback_add(parent, "gadget_removed", 
_thermal_removed_cb, inst);
    evas_object_event_callback_add(inst->o_main, EVAS_CALLBACK_DEL, 
sysinfo_thermal_remove, inst);
diff --git a/src/modules/sysinfo/thermal/thermal.h 
b/src/modules/sysinfo/thermal/thermal.h
index 3ecfb6255..fd0ba5222 100644
--- a/src/modules/sysinfo/thermal/thermal.h
+++ b/src/modules/sysinfo/thermal/thermal.h
@@ -3,6 +3,16 @@
 
 #include "../sysinfo.h"
 
+typedef struct _Thermal_Config Thermal_Config;
+
+struct _Thermal_Config
+{
+   Instance *inst;
+   Evas_Object *high;
+   Evas_Object *low;
+};
+
+
 #ifdef HAVE_EEZE
 int thermal_udev_get(Tempthread *tth);
 #endif
@@ -11,6 +21,7 @@ int thermal_udev_get(Tempthread *tth);
 int thermal_sysctl_get(Tempthread *tth);
 #endif
 
+Evas_Object *thermal_configure(Instance *inst);
 int thermal_fallback_get(Tempthread *tth);
 void _thermal_config_updated(Instance *inst);
 
diff --git a/src/modules/sysinfo/thermal/thermal_config.c 
b/src/modules/sysinfo/thermal/thermal_config.c
new file mode 100644
index 000000000..737cd8ef4
--- /dev/null
+++ b/src/modules/sysinfo/thermal/thermal_config.c
@@ -0,0 +1,356 @@
+#include "thermal.h"
+
+#define FAR_2_CEL(x) ((x - 32) / 9.0) * 5.0
+#define CEL_2_FAR(x) (x * 9.0 / 5.0) + 32
+
+static void
+_config_close(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, 
void *event_info EINA_UNUSED)
+{
+   Thermal_Config *tc = data;
+   Instance *inst = tc->inst;
+
+   E_FREE_FUNC(inst->cfg->thermal.configure, evas_object_del);
+   E_FREE_FUNC(tc, free);
+   e_config_save_queue();
+}
+
+static void
+_update_high_temperature(void *data, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNUSED)
+{
+   Thermal_Config *tc = data;
+   Instance *inst = tc->inst;
+   int value = elm_slider_value_get(tc->high);
+
+   inst->cfg->thermal.high = value;
+   e_config_save_queue();
+   _thermal_config_updated(inst);
+}
+
+static void
+_update_low_temperature(void *data, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNUSED)
+{
+   Thermal_Config *tc = data;
+   Instance *inst = tc->inst;
+   int value = elm_slider_value_get(tc->low);
+
+   inst->cfg->thermal.low = value;
+   e_config_save_queue();
+   _thermal_config_updated(inst);
+
+}
+
+static void
+_units_changed(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
+{
+   Thermal_Config *tc = data;
+   Instance *inst = tc->inst;
+   int value = elm_radio_value_get(obj), val;
+
+   switch (value)
+     {
+        case 0:
+          inst->cfg->thermal.units = CELSIUS;
+          break;
+        case 1:
+          inst->cfg->thermal.units = FAHRENHEIT;
+          break;
+        default:
+          inst->cfg->thermal.units = CELSIUS;
+     }
+   if (inst->cfg->thermal.units == FAHRENHEIT)
+     {
+        elm_slider_min_max_set(tc->low, 0, 200);
+        elm_slider_min_max_set(tc->high, 0, 230);
+        val = elm_slider_value_get(tc->low);
+        elm_slider_value_set(tc->low, CEL_2_FAR(val));
+        val = elm_slider_value_get(tc->high);
+        elm_slider_value_set(tc->high, CEL_2_FAR(val));
+        elm_slider_unit_format_set(tc->high, "%1.0f F");
+        elm_slider_indicator_format_set(tc->high, "%1.0f F");
+       elm_slider_unit_format_set(tc->low, "%1.0f F");
+        elm_slider_indicator_format_set(tc->low, "%1.0f F");
+     }
+   else
+     {
+        elm_slider_min_max_set(tc->low, 0, 95);
+        elm_slider_min_max_set(tc->high, 0, 110);
+        val = elm_slider_value_get(tc->low);
+        elm_slider_value_set(tc->low, FAR_2_CEL(val));
+        val = elm_slider_value_get(tc->high);
+        elm_slider_value_set(tc->high, FAR_2_CEL(val));
+        elm_slider_unit_format_set(tc->low, "%1.0f C");
+        elm_slider_indicator_format_set(tc->low, "%1.0f C");
+       elm_slider_unit_format_set(tc->high, "%1.0f C");
+        elm_slider_indicator_format_set(tc->high, "%1.0f C");
+     }
+   val = elm_slider_value_get(tc->high);
+   inst->cfg->thermal.high = val;
+   val = elm_slider_value_get(tc->low);
+   inst->cfg->thermal.low = val;
+   e_config_save_queue();
+   _thermal_config_updated(inst);
+}
+
+static void
+_poll_changed(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
+{
+   Thermal_Config *tc = data;
+   Instance *inst = tc->inst;
+   int value = elm_radio_value_get(obj);
+
+   switch (value)
+     {
+        case 0:
+          inst->cfg->thermal.poll_interval = 4;
+          break;
+        case 1:
+          inst->cfg->thermal.poll_interval = 8;
+          break;
+        case 2:
+          inst->cfg->thermal.poll_interval = 32;
+          break;
+        case 3:
+          inst->cfg->thermal.poll_interval = 64;
+          break;
+        case 4:
+          inst->cfg->thermal.poll_interval = 256;
+          break;
+        default:
+          inst->cfg->thermal.poll_interval = 32;
+     }
+
+   e_config_save_queue();
+   _thermal_config_updated(inst);
+}
+
+Evas_Object *
+thermal_configure(Instance *inst)
+{
+   Evas_Object *popup, *tb, *frame, *box, *o, *group, *groupu, *lbl, *slider;
+   E_Zone *zone = e_zone_current_get();
+   Thermal_Config *tc = E_NEW(Thermal_Config, 1);
+
+   tc->inst = inst;
+
+   popup = elm_popup_add(e_comp->elm);
+   E_EXPAND(popup);
+   elm_popup_allow_events_set(popup, 1);
+   elm_popup_scrollable_set(popup, 1);
+
+   tb = elm_table_add(popup);
+   E_EXPAND(tb);
+   evas_object_show(tb);
+   elm_object_content_set(popup, tb);
+
+   lbl = elm_label_add(tb);
+   evas_object_size_hint_weight_set(lbl, EVAS_HINT_EXPAND, 0.0);
+   evas_object_size_hint_align_set(lbl, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   elm_object_style_set(lbl, "marker");
+   elm_object_text_set(lbl, _("Thermal Configuration"));
+   elm_table_pack(tb, lbl, 0, 0, 1, 1);
+   evas_object_show(lbl);
+
+   frame = elm_frame_add(tb);
+   elm_object_text_set(frame, _("Temperature Units"));
+   E_EXPAND(frame);
+   E_FILL(frame);
+   elm_table_pack(tb, frame, 0, 1, 1, 1);
+   evas_object_show(frame);
+
+   box = elm_box_add(frame);
+   elm_box_horizontal_set(box, EINA_FALSE);
+   E_EXPAND(box);
+   evas_object_show(box);
+
+   o = elm_radio_add(box);
+   elm_radio_state_value_set(o, 0);
+   E_ALIGN(o, 0.0, 0.0);
+   E_WEIGHT(o, EVAS_HINT_EXPAND, 0);
+   elm_object_text_set(o, _("Celsius"));
+   elm_box_pack_end(box, o);
+   evas_object_smart_callback_add(o, "changed", _units_changed, tc);
+   evas_object_show(o);
+   groupu = o;
+
+   o = elm_radio_add(box);
+   elm_radio_state_value_set(o, 1);
+   elm_radio_group_add(o, groupu);
+   E_ALIGN(o, 0.0, 0.0);
+   E_WEIGHT(o, EVAS_HINT_EXPAND, 0);
+   elm_object_text_set(o, _("Fahrenheit"));
+   elm_box_pack_end(box, o);
+   evas_object_smart_callback_add(o, "changed", _units_changed, tc);
+   evas_object_show(o);
+
+   switch(inst->cfg->thermal.units)
+     {
+        case CELSIUS:
+          elm_radio_value_set(groupu, 0);
+          break;
+        case FAHRENHEIT:
+          elm_radio_value_set(groupu, 1);
+          break;
+        default:
+          elm_radio_value_set(groupu, 0);
+     }
+
+   elm_object_content_set(frame, box);
+
+   frame = elm_frame_add(tb);
+   elm_object_text_set(frame, _("Update Poll Interval"));
+   E_EXPAND(frame);
+   E_FILL(frame);
+   elm_table_pack(tb, frame, 0, 2, 1, 1);
+   evas_object_show(frame);
+
+   box = elm_box_add(frame);
+   elm_box_horizontal_set(box, EINA_FALSE);
+   E_EXPAND(box);
+   evas_object_show(box);
+
+   o = elm_radio_add(box);
+   elm_radio_state_value_set(o, 0);
+   E_ALIGN(o, 0.0, 0.0);
+   E_WEIGHT(o, EVAS_HINT_EXPAND, 0);
+   elm_object_text_set(o, _("Fast (4 ticks)"));
+   elm_box_pack_end(box, o);
+   evas_object_smart_callback_add(o, "changed", _poll_changed, tc);
+   evas_object_show(o);
+   group = o;
+
+   o = elm_radio_add(box);
+   elm_radio_state_value_set(o, 1);
+   elm_radio_group_add(o, group);
+   E_ALIGN(o, 0.0, 0.0);
+   E_WEIGHT(o, EVAS_HINT_EXPAND, 0);
+   elm_object_text_set(o, _("Medium (8 ticks)"));
+   elm_box_pack_end(box, o);
+   evas_object_smart_callback_add(o, "changed", _poll_changed, tc);
+   evas_object_show(o);
+
+   o = elm_radio_add(box);
+   elm_radio_state_value_set(o, 2);
+   elm_radio_group_add(o, group);
+   E_ALIGN(o, 0.0, 0.0);
+   E_WEIGHT(o, EVAS_HINT_EXPAND, 0);
+   elm_object_text_set(o, _("Normal (32 ticks)"));
+   elm_box_pack_end(box, o);
+   evas_object_smart_callback_add(o, "changed", _poll_changed, tc);
+   evas_object_show(o);
+
+   o = elm_radio_add(box);
+   elm_radio_state_value_set(o, 3);
+   elm_radio_group_add(o, group);
+   E_ALIGN(o, 0.0, 0.0);
+   E_WEIGHT(o, EVAS_HINT_EXPAND, 0);
+   elm_object_text_set(o, _("Slow (64 ticks)"));
+   elm_box_pack_end(box, o);
+   evas_object_smart_callback_add(o, "changed", _poll_changed, tc);
+   evas_object_show(o);
+
+   o = elm_radio_add(box);
+   elm_radio_state_value_set(o, 4);
+   elm_radio_group_add(o, group);
+   E_ALIGN(o, 0.0, 0.0);
+   E_WEIGHT(o, EVAS_HINT_EXPAND, 0);
+   elm_object_text_set(o, _("Very Slow (256 ticks)"));
+   elm_box_pack_end(box, o);
+   evas_object_smart_callback_add(o, "changed", _poll_changed, tc);
+   evas_object_show(o);
+
+   switch(inst->cfg->thermal.poll_interval)
+     {
+        case 4:
+          elm_radio_value_set(group, 0);
+          break;
+        case 8:
+          elm_radio_value_set(group, 1);
+          break;
+        case 32:
+          elm_radio_value_set(group, 2);
+          break;
+        case 64:
+          elm_radio_value_set(group, 3);
+          break;
+        case 256:
+          elm_radio_value_set(group, 4);
+          break;
+        default:
+          elm_radio_value_set(group, 2);
+     }
+
+   elm_object_content_set(frame, box);
+
+   frame = elm_frame_add(tb);
+   elm_object_text_set(frame, _("Temperature Limits"));
+   E_EXPAND(frame);
+   E_FILL(frame);
+   elm_table_pack(tb, frame, 0, 3, 1, 1);
+   evas_object_show(frame);
+
+   box = elm_box_add(frame);
+   elm_box_horizontal_set(box, EINA_FALSE);
+   E_EXPAND(box);
+   evas_object_show(box);
+
+   slider = elm_slider_add(box);
+   elm_object_text_set(slider, _("High Temperature:"));
+   if (inst->cfg->thermal.units == FAHRENHEIT)
+     {
+        elm_slider_unit_format_set(slider, "%1.0f F");
+        elm_slider_indicator_format_set(slider, "%1.0f F");
+        elm_slider_min_max_set(slider, 0, 230);
+     }
+   else
+     {
+        elm_slider_unit_format_set(slider, "%1.0f C");
+        elm_slider_indicator_format_set(slider, "%1.0f C");
+        elm_slider_min_max_set(slider, 0, 110);
+     }
+   elm_slider_value_set(slider, inst->cfg->thermal.high);
+   elm_slider_step_set(slider, 5);
+   elm_slider_span_size_set(slider, 150);
+   evas_object_size_hint_align_set(slider, EVAS_HINT_FILL, 0.5);
+   evas_object_size_hint_weight_set(slider, EVAS_HINT_EXPAND, 0.0);
+   evas_object_smart_callback_add(slider, "delay,changed", 
_update_high_temperature, tc);
+   elm_box_pack_end(box, slider);
+   evas_object_show(slider);
+   tc->high = slider;
+
+   slider = elm_slider_add(box);
+   elm_object_text_set(slider, _("Low Temperature:"));
+   if (inst->cfg->thermal.units == FAHRENHEIT)
+     {
+        elm_slider_unit_format_set(slider, "%1.0f F");
+        elm_slider_indicator_format_set(slider, "%1.0f F");
+        elm_slider_min_max_set(slider, 0, 200);
+     }
+   else
+     {
+        elm_slider_unit_format_set(slider, "%1.0f C");
+        elm_slider_indicator_format_set(slider, "%1.0f C");
+        elm_slider_min_max_set(slider, 0, 95);
+     }
+   elm_slider_value_set(slider, inst->cfg->thermal.low);
+   elm_slider_step_set(slider, 5);
+   elm_slider_span_size_set(slider, 150);
+   evas_object_size_hint_align_set(slider, EVAS_HINT_FILL, 0.5);
+   evas_object_size_hint_weight_set(slider, EVAS_HINT_EXPAND, 0.0);
+   evas_object_smart_callback_add(slider, "delay,changed", 
_update_low_temperature, tc);
+   elm_box_pack_end(box, slider);
+   evas_object_show(slider);
+   tc->low = slider;
+
+   elm_object_content_set(frame, box);
+
+   popup = e_comp_object_util_add(popup, E_COMP_OBJECT_TYPE_NONE);
+   evas_object_layer_set(popup, E_LAYER_POPUP);
+   evas_object_resize(popup, zone->w / 4, zone->h / 3);
+   e_comp_object_util_center_on_zone(popup, zone);
+   evas_object_show(popup);
+   e_comp_object_util_autoclose(popup, NULL, 
e_comp_object_util_autoclose_on_escape, NULL);
+   evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL, _config_close, tc);
+
+   return inst->cfg->thermal.configure = popup;
+}
+

-- 


Reply via email to