More accurate text updates.

SVN revision: 22866
This commit is contained in:
Christopher Michael 2006-05-24 20:02:51 +00:00
parent ea1f8be62b
commit e0b390b5cf
2 changed files with 36 additions and 34 deletions

View File

@ -139,12 +139,9 @@ _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
ci = cfd->data;
tmp = ecore_list_goto_index(cfdata->devs, cfdata->dev_num);
if (tmp != NULL)
{
if (strcmp(tmp, ci->device))
{
evas_stringshare_del(ci->device);
ci->device = evas_stringshare_add(strdup(tmp));
}
ci->device = evas_stringshare_add(tmp);
}
ci->poll_time = cfdata->poll_time;

View File

@ -63,7 +63,8 @@ _gc_init(E_Gadcon *gc, char *name, char *id, char *style)
inst = E_NEW(Instance, 1);
ci = _net_config_item_get(id);
if (!ci->id) ci->id = evas_stringshare_add(id);
if (!ci->id)
ci->id = evas_stringshare_add(id);
net = _net_new(gc->evas);
net->inst = inst;
@ -199,7 +200,6 @@ _net_config_updated(const char *id)
if (!strcmp(inst->gcc->id, ci->id))
{
_net_cb_check(inst);
if (inst->check_timer)
ecore_timer_interval_set(inst->check_timer, (double)ci->poll_time);
else
@ -226,7 +226,7 @@ _net_config_item_get(const char *id)
ci = E_NEW(Config_Item, 1);
ci->id = evas_stringshare_add(id);
ci->device = evas_stringshare_add("eth0");
ci->poll_time = 1;
ci->poll_time = 1.0;
ci->max = 1500;
net_config->items = evas_list_append(net_config->items, ci);
return ci;
@ -273,7 +273,7 @@ e_modapi_init(E_Module *m)
ci = E_NEW(Config_Item, 1);
ci->id = evas_stringshare_add("0");
ci->device = evas_stringshare_add("eth0");
ci->poll_time = 1;
ci->poll_time = 1.0;
ci->max = 1500;
net_config->items = evas_list_append(net_config->items, ci);
}
@ -437,7 +437,6 @@ _net_cb_check(void *data)
long bytes_out;
double in_use = 0.0;
double out_use = 0.0;
Edje_Message_Float msg;
char in_str[100];
char out_str[100];
@ -462,7 +461,9 @@ _net_cb_check(void *data)
"%lu %lu %lu %lu\n", dev, &in, &dummy, &dummy,
&dummy, &dummy, &dummy, &dummy, &dummy, &out, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy) < 17)
continue;
if (!strcmp(dev, strdup(ci->device)))
if (!ci->device)
continue;
if (!strcmp(dev, ci->device))
{
found = 1;
break;
@ -483,23 +484,20 @@ _net_cb_check(void *data)
if (bytes_out < 0)
bytes_out = 0;
in_use = (int)((bytes_in * 100L) / max_in);
out_use = (int)((bytes_out * 100L) / max_out);
in_use = ((bytes_in * 100L) / max_in);
out_use = ((bytes_out * 100L) / max_out);
}
else
{
in_use = 0;
out_use = 0;
in_use = 0.0;
out_use = 0.0;
}
old_in = in;
old_out = out;
if ((bytes_in < 0) || (bytes_out < 0))
{
edje_object_part_text_set(inst->net_obj, "tx_label", "Tx: 0 B");
if (bytes_in <= 0)
edje_object_part_text_set(inst->net_obj, "rx_label", "Rx: 0 B");
}
else
{
if (bytes_in > 1048576)
@ -515,6 +513,13 @@ _net_cb_check(void *data)
else
snprintf(in_str, sizeof(in_str), "Rx: %d B", bytes_in);
edje_object_part_text_set(inst->net_obj, "rx_label", in_str);
}
if (bytes_out <= 0)
edje_object_part_text_set(inst->net_obj, "tx_label", "Tx: 0 B");
else
{
if (bytes_out > 1048576)
{
bytes_out = bytes_out / 1048576;
@ -529,19 +534,19 @@ _net_cb_check(void *data)
snprintf(out_str, sizeof(out_str), "Tx: %d B", bytes_out);
edje_object_part_text_set(inst->net_obj, "tx_label", out_str);
edje_object_part_text_set(inst->net_obj, "rx_label", in_str);
}
int x, y, w, h;
double i, o;
evas_object_geometry_get(inst->net_obj, &x, &y, &w, &h);
if (in_use > 100)
in_use = 100;
if (out_use > 100)
out_use = 100;
i = ((double)in_use * ((double)w / (double)100));
o = ((double)out_use * ((double)w / (double)100));
if (i < 0)
i = 0.0;
if (o < 0)
o = 0.0;
if ((i > 0) && (i < 1))
i = 10.0;
if ((o > 0) && (o < 1))