e/connman: Fix main icon

SVN revision: 76075
This commit is contained in:
Bruno Dilly 2012-09-03 22:06:53 +00:00
parent 3c2641d17a
commit 7f7b93b3a8
2 changed files with 93 additions and 25 deletions

View File

@ -7884,7 +7884,8 @@ collections {
aspect_preference: BOTH; \
color: 255 255 255 0; \
image.normal: "connman_status_ready"; \
rel1.relative: 1 0; \
rel1.relative: 0.8 0.8; \
rel2.relative: 1 1; \
align: 1 1; \
min: 8 8; \
} \
@ -7971,17 +7972,17 @@ CONNMAN_ICON(ethernet)
#undef CONNMAN_ICON
#define CONNMAN_IMAGES_SET(_name) \
#define CONNMAN_IMAGES_SET(_name, _min) \
images { \
set { \
name: "connman_"##_name; \
image { \
image: "connman_"##_name##"_128.png" COMP; \
size: 33 33 1000 1000; \
size: (_min+1) (_min+1) 1000 1000; \
} \
image { \
image: "connman_"##_name##"_32.png" COMP; \
size: 1 1 32 32; \
size: 1 1 _min _min; \
} \
} \
} \
@ -8147,8 +8148,8 @@ CONNMAN_ICON(ethernet)
color: 255 255 255 255;
}
}
CONNMAN_IMAGES_SET(status_ready)
CONNMAN_IMAGES_SET(status_online)
CONNMAN_IMAGES_SET(status_ready, 8)
CONNMAN_IMAGES_SET(status_online, 8)
CONNMAN_STATE_PART_ADD()
}
programs {
@ -8224,6 +8225,39 @@ CONNMAN_ICON(ethernet)
group {
name: "e/modules/connman/main";
#define CONNMAN_TECH_ICON_ADD(_tech) \
part { \
name: #_tech##"_icon"; \
type: GROUP; \
mouse_events: 0; \
source: "e/modules/connman/icon/"##_tech; \
description { \
state: "default" 0.0; \
visible: 0; \
} \
description { \
state: "visible" 0.0; \
inherit: "default" 0.0; \
visible: 1; \
} \
} \
program { \
name: "technology_"##_tech; \
signal: "e,changed,technology,"##_tech; \
source: "e"; \
action: STATE_SET "default" 0.0; \
target: "wifi_icon"; \
target: "ethernet_icon"; \
target: "cellular_icon"; \
target: "bluetooth_icon"; \
after: "technology_"##_tech##",2"; \
} \
program { \
name: "technology_"##_tech##",2"; \
action: STATE_SET "visible" 0.0; \
target: #_tech##"_icon"; \
}
parts {
part {
name: "eventarea";
@ -8234,23 +8268,49 @@ CONNMAN_ICON(ethernet)
color: 255 255 255 0;
}
}
part {
name: "icon";
type: GROUP;
mouse_events: 0;
source: "e/modules/connman/icon/wifi";
description {
state: "default" 0.0;
}
CONNMAN_TECH_ICON_ADD(wifi)
CONNMAN_TECH_ICON_ADD(ethernet)
CONNMAN_TECH_ICON_ADD(cellular)
CONNMAN_TECH_ICON_ADD(bluetooth)
}
programs {
program {
name: "technology_other";
signal: "e,changed,technology,other";
source: "e";
after: "technology_wifi";
}
program {
name: "connman,disabled";
signal: "e,unavailable";
source: "e";
after: "connman,enabled";
}
program {
name: "connman,enabled";
signal: "e,available";
source: "e";
action: STATE_SET "default" 0.0;
target: "wifi_icon";
target: "ethernet_icon";
target: "cellular_icon";
target: "bluetooth_icon";
after: "connman,enabled,2";
}
program {
name: "connman,enabled,2";
action: STATE_SET "visible" 0.0;
target: "wifi_icon";
}
}
#undef CONNMAN_TECH_ICON_ADD
}
group {
name: "e/modules/connman/end";
CONNMAN_IMAGES_SET(security1)
CONNMAN_IMAGES_SET(security2)
CONNMAN_IMAGES_SET(security1, 32)
CONNMAN_IMAGES_SET(security2, 32)
parts {
part {

View File

@ -261,17 +261,21 @@ static void _econnman_mod_manager_update_inst(E_Connman_Module_Context *ctxt,
enum Connman_Service_Type type)
{
Evas_Object *o = inst->ui.gadget;
const char *statestr, *typestr;
Edje_Message_Int_Set *msg;
const char *typestr;
char buf[128];
if ((state == CONNMAN_STATE_ONLINE) || (state == CONNMAN_STATE_READY))
edje_object_signal_emit(o, "e,changed,connected,yes", "e");
msg = malloc(sizeof(*msg) + sizeof(int));
msg->count = 2;
msg->val[0] = state;
/* FIXME check if it's possible to receive strenght as props of cm */
if (type == -1)
msg->val[1] = 0;
else
edje_object_signal_emit(o, "e,changed,connected,no", "e");
msg->val[1] = 100;
statestr = econnman_state_to_str(state);
snprintf(buf, sizeof(buf), "e,changed,state,%s", statestr);
edje_object_signal_emit(o, buf, "e");
edje_object_message_send(o, EDJE_MESSAGE_INT_SET, 1, msg);
free(msg);
typestr = econnman_service_type_to_str(type);
snprintf(buf, sizeof(buf), "e,changed,technology,%s", typestr);
@ -291,8 +295,12 @@ void econnman_mod_manager_update(struct Connman_Manager *cm)
DBG("cm->services=%p", cm->services);
if (cm->services && (cm->state == CONNMAN_STATE_ONLINE ||
cm->state == CONNMAN_STATE_READY))
if ((cm->services) && ((cm->state == CONNMAN_STATE_ONLINE) ||
(cm->state == CONNMAN_STATE_READY)))
/* FIXME would be nice to represent "configuring state".
theme already supports it */
/* (cm->state == CONNMAN_STATE_ASSOCIATION) ||
(cm->state == CONNMAN_STATE_CONFIGURATION))) */
{
struct Connman_Service *cs = EINA_INLIST_CONTAINER_GET(cm->services,
struct Connman_Service);