Fix for gadcon update. Not added new gadcon functions.

SVN revision: 31732
This commit is contained in:
Sebastian Dransfeld 2007-09-16 01:46:52 +00:00
parent 0f587b2489
commit 2f3ac93e24
6 changed files with 23 additions and 50 deletions

View File

@ -1,6 +1,6 @@
#include <e.h>
#include "e_mod_main.h"
#include "e_mod_config.h"
#include "e_mod_main.h"
#include "e_mod_net.h"
EAPI Config_Item *
@ -78,28 +78,22 @@ _config_devices_get(void)
}
EAPI void
_config_updated(const char *id)
_config_updated(Config_Item *ci)
{
Evas_List *l;
Config_Item *ci;
if (!cfg) return;
ci = _config_item_get(id);
for (l = cfg->instances; l; l = l->next)
{
Instance *inst;
inst = l->data;
if (!inst) continue;
if (!inst->gcc->id) continue;
if (strcmp(inst->gcc->id, id)) continue;
if (inst->ci != ci) continue;
if (!inst->timer)
inst->timer = ecore_timer_add(0.5, _cb_poll, inst);
if (!ci->show_text)
edje_object_signal_emit(inst->o_net, "e,state,text,hide", "e");
else
edje_object_signal_emit(inst->o_net, "e,state,text,show", "e");
break;
}
}

View File

@ -1,7 +1,7 @@
#include <e.h>
#include "e_mod_config.h"
#include "e_mod_main.h"
#include "e_mod_configure.h"
#include "e_mod_config.h"
struct _E_Config_Dialog_Data
{
@ -169,6 +169,6 @@ _apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
ci->app = evas_stringshare_add(cfdata->app);
e_config_save_queue();
_config_updated(ci->id);
_config_updated(ci);
return 1;
}

View File

@ -1,8 +1,8 @@
#include <e.h>
#include "e_mod_config.h"
#include "e_mod_main.h"
#include "e_mod_gadcon.h"
#include "e_mod_net.h"
#include "e_mod_config.h"
static E_Gadcon_Client *_gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style);
static void _gc_shutdown(E_Gadcon_Client *gcc);
@ -22,15 +22,14 @@ _gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style)
{
Instance *inst;
E_Gadcon_Client *gcc;
Config_Item *ci;
char buf[PATH_MAX];
snprintf(buf, sizeof(buf), "%s/net.edj", e_module_dir_get(cfg->mod));
ci = _config_item_get(id);
if (!ci->id) evas_stringshare_add(id);
inst = E_NEW(Instance, 1);
inst->ci = _config_item_get(id);
if (!inst->ci->id) evas_stringshare_add(id);
inst->o_net = edje_object_add(gc->evas);
if (!e_theme_edje_object_set(inst->o_net, "base/theme/modules/net",
"modules/net/main"))
@ -41,7 +40,7 @@ _gc_init(E_Gadcon *gc, const char *name, const char *id, const char *style)
_cb_mouse_out, inst);
evas_object_show(inst->o_net);
if (!ci->show_text)
if (!inst->ci->show_text)
edje_object_signal_emit(inst->o_net, "e,state,text,hide", "e");
else
edje_object_signal_emit(inst->o_net, "e,state,text,show", "e");

View File

@ -1,7 +1,7 @@
#include <e.h>
#include "e_mod_config.h"
#include "e_mod_main.h"
#include "e_mod_gadcon.h"
#include "e_mod_config.h"
static E_Config_DD *conf_edd = NULL;
static E_Config_DD *item_edd = NULL;
@ -77,19 +77,6 @@ e_modapi_shutdown(E_Module *m)
EAPI int
e_modapi_save(E_Module *m)
{
Evas_List *l;
for (l = cfg->instances; l; l = l->next)
{
Instance *inst;
Config_Item *ci;
inst = l->data;
ci = _config_item_get(inst->gcc->id);
if (ci->id) evas_stringshare_del(ci->id);
ci->id = evas_stringshare_add(inst->gcc->id);
}
e_config_domain_save("module.net", conf_edd, cfg);
return 1;
}

View File

@ -15,6 +15,8 @@ struct _Instance
short popup_locked;
bytes_t in, out;
Config_Item *ci;
};
EAPI extern E_Module_Api e_modapi;

View File

@ -2,9 +2,9 @@
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
*/
#include <e.h>
#include "e_mod_config.h"
#include "e_mod_main.h"
#include "e_mod_net.h"
#include "e_mod_config.h"
#include "e_mod_configure.h"
#ifdef __FreeBSD__
#include <sys/socket.h>
@ -43,13 +43,11 @@ EAPI int
_cb_poll(void *data)
{
Instance *inst;
Config_Item *ci;
char buf[256], popbuf[256], tmp[100];
long bin, bout;
bytes_t in, out = 0;
inst = data;
ci = _config_item_get(inst->gcc->id);
#ifndef __FreeBSD__
FILE *f;
@ -73,7 +71,7 @@ _cb_poll(void *data)
&dummy, &dummy, &dummy, &dummy, &dummy, &dummy) < 17)
continue;
if (!strcmp(dev, ci->device)) found = 1;
if (!strcmp(dev, inst->ci->device)) found = 1;
if (found) break;
}
fclose(f);
@ -89,7 +87,7 @@ _cb_poll(void *data)
for(i=1; i <= count; ++i)
{
get_ifmib_general(i, ifmd);
if (!strcmp(ifmd->ifmd_name, ci->device)) break;
if (!strcmp(ifmd->ifmd_name, inst->ci->device)) break;
}
in = ifmd->ifmd_data.ifi_ibytes;
@ -105,11 +103,11 @@ _cb_poll(void *data)
inst->in = in;
inst->out = out;
if (bin <= ci->limit)
if (bin <= inst->ci->limit)
edje_object_signal_emit(inst->o_net, "e,state,receive,idle", "e");
else
edje_object_signal_emit(inst->o_net, "e,state,receive,active", "e");
if (bout <= ci->limit)
if (bout <= inst->ci->limit)
edje_object_signal_emit(inst->o_net, "e,state,send,idle", "e");
else
edje_object_signal_emit(inst->o_net, "e,state,send,active", "e");
@ -141,18 +139,16 @@ EAPI void
_cb_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event)
{
Instance *inst;
Config_Item *ci;
Ecore_Exe *x;
Evas_Event_Mouse_Down *ev;
inst = data;
ev = event;
ci = _config_item_get(inst->gcc->id);
if ((ev->button == 1) && (ev->flags & EVAS_BUTTON_DOUBLE_CLICK))
{
if (ci->app != NULL)
if (inst->ci->app != NULL)
{
x = ecore_exe_run(ci->app, NULL);
x = ecore_exe_run(inst->ci->app, NULL);
if (x) ecore_exe_free(x);
}
}
@ -191,15 +187,12 @@ EAPI void
_cb_mouse_in(void *data, Evas_Object *obj, const char *emission, const char *source)
{
Instance *inst;
Config_Item *ci;
Evas_Object *bg;
Evas_Coord gw, gh;
char buf[PATH_MAX], tmp[100];
inst = data;
if (inst->popup != NULL) return;
ci = _config_item_get(inst->gcc->id);
if (!ci->show_popup) return;
if (!inst->ci->show_popup) return;
inst->popup = e_gadcon_popup_new(inst->gcc, NULL);
snprintf(buf, sizeof(buf), "%s/net.edj", e_module_dir_get(cfg->mod));
@ -208,7 +201,7 @@ _cb_mouse_in(void *data, Evas_Object *obj, const char *emission, const char *sou
if (!e_theme_edje_object_set(bg, "base/theme/modules",
"modules/net/popup"))
edje_object_file_set(bg, buf, "modules/net/popup");
snprintf(buf, sizeof(buf), D_("Device - %s"), ci->device);
snprintf(buf, sizeof(buf), D_("Device - %s"), inst->ci->device);
edje_object_part_text_set(bg, "e.text.title", buf);
inst->pop_bg = bg;
@ -259,9 +252,7 @@ static void
_cb_configure(void *data, E_Menu *m, E_Menu_Item *mi)
{
Instance *inst;
Config_Item *ci;
inst = data;
ci = _config_item_get(inst->gcc->id);
_configure_net_module(ci);
_configure_net_module(inst->ci);
}