okra pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=3fb81494860bf5e66c24831273fdd803944f979f

commit 3fb81494860bf5e66c24831273fdd803944f979f
Author: Stephen 'Okra' Houston <[email protected]>
Date:   Sun Jan 8 14:26:11 2017 -0600

    Enlightenment: Sysinfo gadget: Calculate aspects correctly.
---
 src/modules/sysinfo/cpumonitor/cpumonitor.c | 18 +++++++++--
 src/modules/sysinfo/memusage/memusage.c     | 11 +++++++
 src/modules/sysinfo/sysinfo.c               | 47 ++++++++++++++---------------
 src/modules/sysinfo/sysinfo.h               |  1 +
 4 files changed, 50 insertions(+), 27 deletions(-)

diff --git a/src/modules/sysinfo/cpumonitor/cpumonitor.c 
b/src/modules/sysinfo/cpumonitor/cpumonitor.c
index b685848..4e2d452 100644
--- a/src/modules/sysinfo/cpumonitor/cpumonitor.c
+++ b/src/modules/sysinfo/cpumonitor/cpumonitor.c
@@ -12,14 +12,14 @@ struct _Thread_Config
 static void
 _cpumonitor_face_update(Instance *inst)
 {
-   Edje_Message_Int_Set *usage_msg;
    Eina_List *l;
    CPU_Core *core;
 
-   usage_msg = malloc(sizeof(Edje_Message_Int_Set) + 1 * sizeof(int));
-   EINA_SAFETY_ON_NULL_RETURN(usage_msg);
    EINA_LIST_FOREACH(inst->cfg->cpumonitor.cores, l, core)
      {
+        Edje_Message_Int_Set *usage_msg;
+        usage_msg = malloc(sizeof(Edje_Message_Int_Set) + 1 * sizeof(int));
+        EINA_SAFETY_ON_NULL_RETURN(usage_msg);
         usage_msg->count = 1;
         usage_msg->val[0] = core->percent;
         edje_object_message_send(elm_layout_edje_get(core->layout), 
EDJE_MESSAGE_INT_SET, 1,
@@ -162,7 +162,13 @@ _cpumonitor_eval_instance_aspect(Instance *inst)
    if (num_cores < 1)
      return;
 
+   if (!inst->o_main)
+     return;
+
    owner = e_gadget_site_get(inst->o_main);
+   if (!owner)
+     return;
+
    switch (e_gadget_site_orient_get(owner))
      {
         case E_GADGET_SITE_ORIENT_HORIZONTAL:
@@ -173,6 +179,10 @@ _cpumonitor_eval_instance_aspect(Instance *inst)
            evas_object_geometry_get(owner, NULL, NULL, &sw, NULL);
            break;
 
+        case E_GADGET_SITE_ORIENT_NONE:
+           evas_object_geometry_get(owner, NULL, NULL, NULL, &sh);
+           break;
+
         default:
            sw = sh = 48;
            break;
@@ -209,10 +219,12 @@ Evas_Object *
 sysinfo_cpumonitor_create(Evas_Object *parent, Instance *inst)
 {
    inst->cfg->cpumonitor.o_gadget = elm_box_add(parent);
+   elm_box_horizontal_set(inst->cfg->cpumonitor.o_gadget, EINA_TRUE);
    E_EXPAND(inst->cfg->cpumonitor.o_gadget);
    E_FILL(inst->cfg->cpumonitor.o_gadget);
    evas_object_show(inst->cfg->cpumonitor.o_gadget);
    _cpumonitor_config_updated(inst);
+   _cpumonitor_eval_instance_aspect(inst);
 
    return inst->cfg->cpumonitor.o_gadget;
 }
diff --git a/src/modules/sysinfo/memusage/memusage.c 
b/src/modules/sysinfo/memusage/memusage.c
index a3b29f8..7c8f790 100644
--- a/src/modules/sysinfo/memusage/memusage.c
+++ b/src/modules/sysinfo/memusage/memusage.c
@@ -112,7 +112,12 @@ _memusage_eval_instance_aspect(Instance *inst)
    Evas_Coord sw = 0, sh = 0;
    Evas_Object *owner, *ed;
 
+   if (!inst->o_main)
+     return;
+
    owner = e_gadget_site_get(inst->o_main);
+   if (!owner)
+     return;
    switch (e_gadget_site_orient_get(owner))
      {
         case E_GADGET_SITE_ORIENT_HORIZONTAL:
@@ -125,6 +130,11 @@ _memusage_eval_instance_aspect(Instance *inst)
            sh = sw;
            break;
 
+        case E_GADGET_SITE_ORIENT_NONE:
+           evas_object_geometry_get(owner, NULL, NULL, NULL, &sh);
+           sw = sh;
+           break;
+
         default:
            sw = sh = 48;
            break;
@@ -162,6 +172,7 @@ sysinfo_memusage_create(Evas_Object *parent, Instance *inst)
    E_EXPAND(inst->cfg->memusage.o_gadget);
    E_FILL(inst->cfg->memusage.o_gadget);
    evas_object_show(inst->cfg->memusage.o_gadget);
+   _memusage_eval_instance_aspect(inst);
    _memusage_config_updated(inst);
 
    return inst->cfg->memusage.o_gadget;
diff --git a/src/modules/sysinfo/sysinfo.c b/src/modules/sysinfo/sysinfo.c
index 83bd8df..06e5a77 100644
--- a/src/modules/sysinfo/sysinfo.c
+++ b/src/modules/sysinfo/sysinfo.c
@@ -23,18 +23,18 @@ _sysinfo_created_cb(void *data, Evas_Object *obj, void 
*event_data EINA_UNUSED)
 {
    Instance *inst = data;
 
-   inst->cfg->sysinfo.o_batman = sysinfo_batman_create(inst->o_main, inst);
-   elm_table_pack(inst->o_main, inst->cfg->sysinfo.o_batman, 0, 0, 1, 1);
-   inst->cfg->sysinfo.o_thermal = sysinfo_thermal_create(inst->o_main, inst);
-   elm_table_pack(inst->o_main, inst->cfg->sysinfo.o_thermal, 1, 0, 1, 1);
-   inst->cfg->sysinfo.o_cpuclock = sysinfo_cpuclock_create(inst->o_main, inst);
-   elm_table_pack(inst->o_main, inst->cfg->sysinfo.o_cpuclock, 0, 1, 1, 1);
-   inst->cfg->sysinfo.o_cpumonitor = sysinfo_cpumonitor_create(inst->o_main, 
inst);
-   elm_table_pack(inst->o_main, inst->cfg->sysinfo.o_cpumonitor, 1, 1, 1, 1);
-   inst->cfg->sysinfo.o_memusage = sysinfo_memusage_create(inst->o_main, inst);
-   elm_table_pack(inst->o_main, inst->cfg->sysinfo.o_memusage, 0, 2, 1, 1);
-   inst->cfg->sysinfo.o_netstatus = sysinfo_netstatus_create(inst->o_main, 
inst);
-   elm_table_pack(inst->o_main, inst->cfg->sysinfo.o_netstatus, 1, 2, 1, 1);
+   inst->cfg->sysinfo.o_batman = sysinfo_batman_create(inst->o_table, inst);
+   elm_table_pack(inst->o_table, inst->cfg->sysinfo.o_batman, 0, 0, 1, 1);
+   inst->cfg->sysinfo.o_thermal = sysinfo_thermal_create(inst->o_table, inst);
+   elm_table_pack(inst->o_table, inst->cfg->sysinfo.o_thermal, 1, 0, 1, 1);
+   inst->cfg->sysinfo.o_cpuclock = sysinfo_cpuclock_create(inst->o_table, 
inst);
+   elm_table_pack(inst->o_table, inst->cfg->sysinfo.o_cpuclock, 0, 1, 1, 1);
+   inst->cfg->sysinfo.o_cpumonitor = sysinfo_cpumonitor_create(inst->o_table, 
inst);
+   elm_table_pack(inst->o_table, inst->cfg->sysinfo.o_cpumonitor, 1, 1, 1, 1);
+   inst->cfg->sysinfo.o_memusage = sysinfo_memusage_create(inst->o_table, 
inst);
+   elm_table_pack(inst->o_table, inst->cfg->sysinfo.o_memusage, 0, 2, 1, 1);
+   inst->cfg->sysinfo.o_netstatus = sysinfo_netstatus_create(inst->o_table, 
inst);
+   elm_table_pack(inst->o_table, inst->cfg->sysinfo.o_netstatus, 1, 2, 1, 1);
 
    evas_object_smart_callback_del_full(obj, "gadget_created", 
_sysinfo_created_cb, data);
 }
@@ -104,33 +104,32 @@ Evas_Object *
 sysinfo_create(Evas_Object *parent, int *id, E_Gadget_Site_Orient orient 
EINA_UNUSED)
 {
    Instance *inst;
-   Evas_Object *scroller;
 
    inst = E_NEW(Instance, 1);
    inst->cfg = _conf_item_get(id);
    *id = inst->cfg->id;
 
-   scroller = elm_scroller_add(parent);
-   elm_object_style_set(scroller, "no_inset_shadow");
-   E_EXPAND(scroller);
-   evas_object_size_hint_aspect_set(scroller, EVAS_ASPECT_CONTROL_BOTH, 1, 1);
-   evas_object_show(scroller);
-
-   inst->o_main = elm_table_add(parent);
-   elm_table_homogeneous_set(inst->o_main, EINA_TRUE);
+   inst->o_main = elm_scroller_add(parent);
+   elm_object_style_set(inst->o_main, "no_inset_shadow");
    E_EXPAND(inst->o_main);
    evas_object_size_hint_aspect_set(inst->o_main, EVAS_ASPECT_CONTROL_BOTH, 1, 
1);
-   elm_object_content_set(scroller, inst->o_main);
    evas_object_show(inst->o_main);
 
+   inst->o_table = elm_table_add(inst->o_main);
+   elm_table_homogeneous_set(inst->o_table, EINA_TRUE);
+   E_EXPAND(inst->o_table);
+   evas_object_size_hint_aspect_set(inst->o_table, EVAS_ASPECT_CONTROL_BOTH, 
1, 1);
+   elm_object_content_set(inst->o_main, inst->o_table);
+   evas_object_show(inst->o_table);
+
    evas_object_smart_callback_add(parent, "gadget_created", 
_sysinfo_created_cb, inst);
    evas_object_smart_callback_add(parent, "gadget_removed", 
_sysinfo_removed_cb, inst);
 
-   if (inst->cfg->id < 0) return scroller;
+   if (inst->cfg->id < 0) return inst->o_main;
 
    sysinfo_instances =
      eina_list_append(sysinfo_instances, inst);
 
-   return scroller;
+   return inst->o_main;
 }
 
diff --git a/src/modules/sysinfo/sysinfo.h b/src/modules/sysinfo/sysinfo.h
index 4fa79c4..42cec8f 100644
--- a/src/modules/sysinfo/sysinfo.h
+++ b/src/modules/sysinfo/sysinfo.h
@@ -211,6 +211,7 @@ struct _Config_Item
 struct _Instance
 {
    Evas_Object         *o_main;
+   Evas_Object         *o_table;
    Evas_Object         *popup_battery;
    Evas_Object         *warning;
    Config_Item         *cfg;

-- 


Reply via email to