disconnect actiom, bit better gadget and tip, still lacks offline mode indicator

SVN revision: 44842
This commit is contained in:
Gustavo Sverzut Barbieri 2010-01-01 17:20:19 +00:00
parent a1bc311d9a
commit 91d80a9736
5 changed files with 568 additions and 85 deletions

View File

@ -6920,16 +6920,58 @@ collections { /* begin the collection of edje groups that are in this file */
group { name: "e/modules/connman/icon/wifi"; group { name: "e/modules/connman/icon/wifi";
max: 128 128; max: 128 128;
min: 16 16; min: 16 16;
images {
image: "connman-wifi-good.png" COMP;
image: "connman-wifi-medium.png" COMP;
image: "connman-wifi-bad.png" COMP;
}
script {
public message(Msg_Type:type, id, ...) {
if ((type == MSG_INT) && (id == 1)) {
new strength;
strength = getarg(2);
if (strength >= 65)
run_program(PROGRAM:"strength,good");
else if (strength >= 35)
run_program(PROGRAM:"strength,medium");
else
run_program(PROGRAM:"strength,bad");
}
}
}
parts { parts {
part { name: "icon"; part { name: "icon";
type: IMAGE; type: IMAGE;
mouse_events: 0; mouse_events: 0;
description { description { state: "default" 0.0;
state: "default" 0.0;
aspect: 1.0 1.0; aspect: 1.0 1.0;
aspect_preference: BOTH; aspect_preference: BOTH;
image.image: "connman-wifi.png" COMP; image.normal: "connman-wifi-good.png";
image.normal: "connman-wifi.png"; }
description { state: "medium" 0.0;
inherit: "default" 0.0;
image.normal: "connman-wifi-medium.png";
}
description { state: "bad" 0.0;
inherit: "default" 0.0;
image.normal: "connman-wifi-bad.png";
}
}
programs {
program { name: "strength,good";
action: STATE_SET "default" 0.0;
target: "icon";
}
program { name: "strength,medium";
action: STATE_SET "medium" 0.0;
target: "icon";
}
program { name: "strength,bad";
action: STATE_SET "bad" 0.0;
target: "icon";
} }
} }
} }
@ -6942,6 +6984,8 @@ collections { /* begin the collection of edje groups that are in this file */
// e,available: connmand is running // e,available: connmand is running
// //
// e,changed,offline_mode,{yes,no} // e,changed,offline_mode,{yes,no}
// e,changed,connected,{yes,no}
// e,changed,service,{system,ethernet,wifi,wimax,bluetooth,cellular,vpn}
// e,changed,technology,{wifi,ethernet,bluetooth,wimax,cellular} // e,changed,technology,{wifi,ethernet,bluetooth,wimax,cellular}
// e,changed,state,{idle,association,configuration,ready,disconnect,failure} // e,changed,state,{idle,association,configuration,ready,disconnect,failure}
// e,changed,mode,{managed,adhoc,gprs,edge,umts} // e,changed,mode,{managed,adhoc,gprs,edge,umts}
@ -6965,21 +7009,28 @@ collections { /* begin the collection of edje groups that are in this file */
images { images {
image: "connman-disconnect.png" COMP; image: "connman-disconnect.png" COMP;
image: "connman-ethernet.png" COMP; image: "connman-ethernet.png" COMP;
image: "connman-wifi.png" COMP; image: "connman-wifi-good.png" COMP;
image: "connman-wifi-medium.png" COMP;
image: "connman-wifi-bad.png" COMP;
} }
//max: 128 128; //max: 128 128;
min: 16 16; min: 16 16;
#if 0 // TODO: show strength in gadget
script { script {
public message(Msg_Type:type, id, ...) { public message(Msg_Type:type, id, ...) {
if ((type == MSG_INT) && (id == 1)) { if ((type == MSG_INT) && (id == 1)) {
new strength; new strength;
strength = getarg(2); strength = getarg(2);
if (strength >= 65)
run_program(PROGRAM:"strength,good");
else if (strength >= 35)
run_program(PROGRAM:"strength,medium");
else
run_program(PROGRAM:"strength,bad");
} }
} }
} }
#endif
parts { parts {
part { part {
name: "eventarea"; name: "eventarea";
@ -7076,10 +7127,24 @@ collections { /* begin the collection of edje groups that are in this file */
} }
} }
part { name: "technology"; part { name: "disconnected-visibility";
type: IMAGE; type: RECT;
mouse_events: 0; mouse_events: 0;
clip_to: "state-clipper"; clip_to: "state-clipper";
description { state: "default" 0.0;
color: 255 255 255 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
visible: 1;
}
}
part { name: "disconnected";
type: IMAGE;
mouse_events: 0;
clip_to: "disconnected-visibility";
description { description {
state: "default" 0.0; state: "default" 0.0;
aspect: 1.0 1.0; aspect: 1.0 1.0;
@ -7087,36 +7152,130 @@ collections { /* begin the collection of edje groups that are in this file */
fixed: 1 1; fixed: 1 1;
image.normal: "connman-disconnect.png"; image.normal: "connman-disconnect.png";
} }
description { }
state: "ethernet" 0.0;
part { name: "ethernet-visibility";
type: RECT;
mouse_events: 0;
clip_to: "state-clipper";
description { state: "default" 0.0;
color: 255 255 255 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0; inherit: "default" 0.0;
color: 255 255 255 255;
visible: 1;
}
}
part { name: "ethernet";
type: IMAGE;
mouse_events: 0;
clip_to: "ethernet-visibility";
description { state: "default" 0.0;
aspect: 1.0 1.0;
aspect_preference: BOTH;
fixed: 1 1;
image.normal: "connman-ethernet.png"; image.normal: "connman-ethernet.png";
} }
description {
state: "wifi" 0.0;
inherit: "default" 0.0;
image.normal: "connman-wifi.png";
}
// TODO: wimax, cellular, bluetooth
} }
part { name: "wifi-visibility";
type: RECT;
mouse_events: 0;
clip_to: "state-clipper";
description { state: "default" 0.0;
color: 255 255 255 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
visible: 1;
}
}
part { name: "wifi";
type: IMAGE;
mouse_events: 0;
clip_to: "wifi-visibility";
description { state: "default" 0.0;
aspect: 1.0 1.0;
aspect_preference: BOTH;
fixed: 1 1;
image.normal: "connman-wifi-good.png";
}
description { state: "good" 0.0;
inherit: "default" 0.0;
}
description { state: "medium" 0.0;
inherit: "default" 0.0;
image.normal: "connman-wifi-medium.png";
}
description { state: "bad" 0.0;
inherit: "default" 0.0;
image.normal: "connman-wifi-bad.png";
}
}
// TODO: wimax, cellular, bluetooth
programs { programs {
program { name: "strength,good";
action: STATE_SET "good" 0.0;
target: "wifi";
// add wimax, cellular, bluetooth
}
program { name: "strength,medium";
action: STATE_SET "medium" 0.0;
target: "wifi";
// add wimax, cellular, bluetooth
}
program { name: "strength,bad";
action: STATE_SET "bad" 0.0;
target: "wifi";
// add wimax, cellular, bluetooth
}
program { name: "e,changed,technology,none"; program { name: "e,changed,technology,none";
signal: "e,changed,technology,none"; signal: "e,changed,technology,none";
source: "e"; source: "e";
action: STATE_SET "default" 0.0; action: STATE_SET "visible" 0.0;
target: "technology"; target: "disconnected-visibility";
after: "e,changed,technology,none,others";
} }
program { name: "e,changed,technology,none,others";
action: STATE_SET "default" 0.0;
target: "ethernet-visibility";
target: "wifi-visibility";
// add wimax, cellular, bluetooth
}
program { name: "e,changed,technology,ethernet"; program { name: "e,changed,technology,ethernet";
signal: "e,changed,technology,ethernet"; signal: "e,changed,technology,ethernet";
source: "e"; source: "e";
action: STATE_SET "ethernet" 0.0; action: STATE_SET "visible" 0.0;
target: "technology"; target: "ethernet-visibility";
after: "e,changed,technology,ethernet,others";
} }
program { name: "e,changed,technology,ethernet,others";
action: STATE_SET "default" 0.0;
target: "disconnected-visibility";
target: "wifi-visibility";
// add wimax, cellular, bluetooth
}
program { name: "e,changed,technology,wifi"; program { name: "e,changed,technology,wifi";
signal: "e,changed,technology,wifi"; signal: "e,changed,technology,wifi";
source: "e"; source: "e";
action: STATE_SET "wifi" 0.0; action: STATE_SET "visible" 0.0;
target: "technology"; target: "wifi-visibility";
after: "e,changed,technology,wifi,others";
}
program { name: "e,changed,technology,wifi,others";
action: STATE_SET "default" 0.0;
target: "disconnected-visibility";
target: "ethernet-visibility";
// add wimax, cellular, bluetooth
} }
} }
@ -7146,50 +7305,70 @@ collections { /* begin the collection of edje groups that are in this file */
min: 0 1; min: 0 1;
} }
} }
description {
state: "hidden" 0.0;
inherit: "default" 0.0;
visible: 0;
}
}
programs {
program {
name: "e,changed,connected,no";
signal: "e,changed,connected,no";
source: "e";
action: STATE_SET "hidden" 0.0;
target: "e.text.name";
}
program {
name: "e,changed,connected,yes";
signal: "e,changed,connected,yes";
source: "e";
action: STATE_SET "default" 0.0;
target: "e.text.name";
}
} }
} }
} }
group { name: "e/modules/connman/tip"; group { name: "e/modules/connman/tip";
images { images {
image: "base_bg.png" COMP; image: "inset_sunk.png" COMP;
image: "connman-disconnect.png" COMP; image: "connman-disconnect.png" COMP;
image: "connman-ethernet.png" COMP; image: "connman-ethernet.png" COMP;
image: "connman-wifi.png" COMP; image: "connman-wifi.png" COMP;
} }
min: 300 128; min: 300 148;
script { script {
public message(Msg_Type:type, id, ...) { public message(Msg_Type:type, id, ...) {
if ((type == MSG_INT) && (id == 1)) { if ((type == MSG_INT) && (id == 1)) {
new strength; new strength;
new buf[32]; new buf[32];
new Float:val;
strength = getarg(2); strength = getarg(2);
if (strength > 0) { if (strength > 0) {
val = float(strength) / 100.0;
snprintf(buf, sizeof(buf), "%d%%", strength); snprintf(buf, sizeof(buf), "%d%%", strength);
set_text(PART:"strength", buf); set_text(PART:"strength", buf);
set_drag(PART:"strength_gauge_knob", val, 0.0);
emit("strength,show", ""); emit("strength,show", "");
} else } else
emit("strength,hide", ""); emit("strength,hide", "");
if (strength >= 65)
run_program(PROGRAM:"strength,good");
else if (strength >= 35)
run_program(PROGRAM:"strength,medium");
else
run_program(PROGRAM:"strength,bad");
} }
} }
} }
parts { parts {
part { name: "base";
mouse_events: 0;
description { state: "default" 0.0;
align: 0.5 0.0;
color_class: "menu_base";
image {
normal: "base_bg.png";
border: 2 2 2 2;
}
fill.smooth: 0;
}
}
part { name: "state-clipper"; part { name: "state-clipper";
type: RECT; type: RECT;
mouse_events: 0; mouse_events: 0;
@ -7244,12 +7423,11 @@ collections { /* begin the collection of edje groups that are in this file */
} }
part { name: "technology"; part { name: "technology";
type: IMAGE; type: RECT;
mouse_events: 0; mouse_events: 0;
clip_to: "state-clipper";
description { description {
state: "default" 0.0; state: "default" 0.0;
image.normal: "connman-disconnect.png"; color: 255 255 255 0;
min: 128 128; min: 128 128;
max: 128 128; max: 128 128;
align: 0.0 0.0; align: 0.0 0.0;
@ -7263,36 +7441,185 @@ collections { /* begin the collection of edje groups that are in this file */
offset: 137 137; offset: 137 137;
} }
} }
description { }
state: "ethernet" 0.0;
inherit: "default" 0.0; part { name: "disconnected-visibility";
image.normal: "connman-ethernet.png"; type: RECT;
mouse_events: 0;
clip_to: "state-clipper";
description { state: "default" 0.0;
color: 255 255 255 0;
visible: 0;
} }
description { description { state: "visible" 0.0;
state: "wifi" 0.0;
inherit: "default" 0.0; inherit: "default" 0.0;
image.normal: "connman-wifi.png"; color: 255 255 255 255;
visible: 1;
}
}
part { name: "disconnected";
type: IMAGE;
mouse_events: 0;
clip_to: "disconnected-visibility";
description {
state: "default" 0.0;
aspect: 1.0 1.0;
aspect_preference: BOTH;
fixed: 1 1;
image.normal: "connman-disconnect.png";
rel1.to: "technology";
rel2.to: "technology";
} }
// TODO: wimax, cellular, bluetooth
} }
programs { programs {
program {
signal: "load";
after: "e,changed,technology,none";
}
}
part { name: "ethernet-visibility";
type: RECT;
mouse_events: 0;
clip_to: "state-clipper";
description { state: "default" 0.0;
color: 255 255 255 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
visible: 1;
}
}
part { name: "ethernet";
type: IMAGE;
mouse_events: 0;
clip_to: "ethernet-visibility";
description { state: "default" 0.0;
aspect: 1.0 1.0;
aspect_preference: BOTH;
fixed: 1 1;
image.normal: "connman-ethernet.png";
rel1.to: "technology";
rel2.to: "technology";
}
}
part { name: "wifi-visibility";
type: RECT;
mouse_events: 0;
clip_to: "state-clipper";
description { state: "default" 0.0;
color: 255 255 255 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
visible: 1;
}
}
part { name: "wifi";
type: IMAGE;
mouse_events: 0;
clip_to: "wifi-visibility";
description { state: "default" 0.0;
aspect: 1.0 1.0;
aspect_preference: BOTH;
fixed: 1 1;
image.normal: "connman-wifi-good.png";
rel1.to: "technology";
rel2.to: "technology";
}
description { state: "good" 0.0;
inherit: "default" 0.0;
}
description { state: "medium" 0.0;
inherit: "default" 0.0;
image.normal: "connman-wifi-medium.png";
}
description { state: "bad" 0.0;
inherit: "default" 0.0;
image.normal: "connman-wifi-bad.png";
}
}
// TODO: wimax, cellular, bluetooth
programs {
program { name: "strength,good";
action: STATE_SET "good" 0.0;
target: "wifi";
// add wimax, cellular, bluetooth
}
program { name: "strength,medium";
action: STATE_SET "medium" 0.0;
target: "wifi";
// add wimax, cellular, bluetooth
}
program { name: "strength,bad";
action: STATE_SET "bad" 0.0;
target: "wifi";
// add wimax, cellular, bluetooth
}
program { name: "e,changed,technology,none"; program { name: "e,changed,technology,none";
signal: "e,changed,technology,none"; signal: "e,changed,technology,none";
source: "e"; source: "e";
action: STATE_SET "default" 0.0; action: STATE_SET "visible" 0.0;
target: "technology"; target: "disconnected-visibility";
after: "e,changed,technology,none,others";
} }
program { name: "e,changed,technology,none,others";
action: STATE_SET "default" 0.0;
target: "ethernet-visibility";
target: "wifi-visibility";
// add wimax, cellular, bluetooth
}
program { name: "e,changed,technology,ethernet"; program { name: "e,changed,technology,ethernet";
signal: "e,changed,technology,ethernet"; signal: "e,changed,technology,ethernet";
source: "e"; source: "e";
action: STATE_SET "ethernet" 0.0; action: STATE_SET "visible" 0.0;
target: "technology"; target: "ethernet-visibility";
after: "e,changed,technology,ethernet,others";
} }
program { name: "e,changed,technology,ethernet,others";
action: STATE_SET "default" 0.0;
target: "disconnected-visibility";
target: "wifi-visibility";
// add wimax, cellular, bluetooth
}
program { name: "e,changed,technology,wifi"; program { name: "e,changed,technology,wifi";
signal: "e,changed,technology,wifi"; signal: "e,changed,technology,wifi";
source: "e"; source: "e";
action: STATE_SET "wifi" 0.0; action: STATE_SET "visible" 0.0;
target: "technology"; target: "wifi-visibility";
after: "e,changed,technology,wifi,others";
}
program { name: "e,changed,technology,wifi,others";
action: STATE_SET "default" 0.0;
target: "disconnected-visibility";
target: "ethernet-visibility";
// add wimax, cellular, bluetooth
}
program { name: "e,changed,connected,no";
signal: "e,changed,connected,no";
source: "e";
action: STATE_SET "visible" 0.0;
target: "disconnected-visibility";
after: "e,changed,technology,none,others";
after: "strength,hide";
after: "e,changed,connected,no,others";
after: "e,changed,ipv4_address,no";
}
program { name: "e,changed,connected,no,others";
action: STATE_SET "hidden" 0.0;
target: "e.text.error";
} }
} }
@ -7302,9 +7629,10 @@ collections { /* begin the collection of edje groups that are in this file */
effect: SOFT_SHADOW; effect: SOFT_SHADOW;
description { description {
state: "default" 0.0; state: "default" 0.0;
color: 224 224 224 255; color: 240 240 240 255;
color3: 0 0 0 64; color3: 0 0 0 64;
align: 0.0 0.0; align: 0.0 0.0;
fixed: 1 1;
rel1 { rel1 {
to_x: "technology"; to_x: "technology";
relative: 1.0 0.0; relative: 1.0 0.0;
@ -7316,7 +7644,7 @@ collections { /* begin the collection of edje groups that are in this file */
} }
text { text {
font: "Sans:style=Bold"; font: "Sans:style=Bold";
size: 14; size: 16;
align: 0.0 0.0; align: 0.0 0.0;
text: ""; text: "";
min: 1 1; min: 1 1;
@ -7329,7 +7657,7 @@ collections { /* begin the collection of edje groups that are in this file */
mouse_events: 0; mouse_events: 0;
description { description {
state: "default" 0.0; state: "default" 0.0;
color: 96 96 96 255; color: 16 16 16 255;
align: 0.0 0.0; align: 0.0 0.0;
rel1 { rel1 {
to_x: "technology"; to_x: "technology";
@ -7343,8 +7671,8 @@ collections { /* begin the collection of edje groups that are in this file */
offset: -10 25; offset: -10 25;
} }
text { text {
font: "Sans"; font: "Sans:style=Bold";
size: 10; size: 12;
align: 0.0 0.0; align: 0.0 0.0;
text: ""; text: "";
min: 1 1; min: 1 1;
@ -7352,29 +7680,123 @@ collections { /* begin the collection of edje groups that are in this file */
} }
} }
part { name: "strength_gauge_bg";
type: IMAGE;
scale: 1;
mouse_events: 0;
description {
state: "default" 0.0;
min: 100 10;
max: 100 99999;
rel1 {
to_x: "technology";
to_y: "strength";
relative: 1.0 0.0;
offset: 10 -2;
}
rel2 {
to_x: "technology";
to_y: "strength";
relative: 1.0 1.0;
offset: 109 1;
}
image {
normal: "inset_sunk.png";
border: 6 6 6 6;
}
}
description {
state: "hidden" 0.0;
inherit: "default" 0.0;
visible: 0;
min: 0 0;
max: 0 0;
}
}
part { name: "strength_gauge_confine";
type: RECT;
scale: 1;
mouse_events: 0;
description {
state: "default" 0.0;
color: 0 255 0 0;
rel1 {
to: "strength_gauge_bg";
offset: 1 1;
}
rel2 {
to: "strength_gauge_bg";
offset: -2 -2;
}
}
description {
state: "hidden" 0.0;
inherit: "default" 0.0;
visible: 0;
}
}
part { name: "strength_gauge_knob";
mouse_events: 0;
scale: 1;
type: RECT;
dragable {
x: 1 1 0;
y: 0 0 0;
confine: "strength_gauge_confine";
}
description {
state: "default" 0.0;
min: 0 0;
max: 0 0;
}
description {
state: "hidden" 0.0;
inherit: "default" 0.0;
visible: 0;
}
}
part { name: "strength_gauge_fill";
mouse_events: 0;
type: RECT;
description {
state: "default" 0.0;
color: 55 55 55 100;
rel1.to: "strength_gauge_confine";
rel2 {
to_x: "strength_gauge_knob";
to_y: "strength_gauge_confine";
}
}
description {
state: "hidden" 0.0;
inherit: "default" 0.0;
visible: 0;
}
}
part { name: "strength"; part { name: "strength";
type: TEXT; type: TEXT;
mouse_events: 0; mouse_events: 0;
description { description {
state: "default" 0.0; state: "default" 0.0;
color: 96 96 96 255; color: 16 16 16 255;
align: 0.0 0.0; align: 0.5 0.0;
fixed: 1 1; fixed: 1 1;
rel1 { rel1 {
to_x: "technology"; to_x: "strength_gauge_confine";
to_y: "e.text.state"; to_y: "e.text.state";
relative: 1.0 1.0; relative: 0.5 1.0;
offset: 10 10; offset: -1 10;
} }
rel2 { rel2 {
to_x: "strength_gauge_confine";
to_y: "e.text.state"; to_y: "e.text.state";
relative: 1.0 1.0; relative: 0.5 1.0;
offset: -10 25; offset: 1 25;
} }
text { text {
font: "Sans"; font: "Sans";
size: 10; size: 10;
align: 0.0 0.0; align: 0.5 0.5;
text: ""; text: "";
min: 1 1; min: 1 1;
} }
@ -7383,11 +7805,17 @@ collections { /* begin the collection of edje groups that are in this file */
state: "hidden" 0.0; state: "hidden" 0.0;
inherit: "default" 0.0; inherit: "default" 0.0;
visible: 0; visible: 0;
rel1 {
to_x: "technology";
to_y: "e.text.state";
relative: 1.0 1.0;
offset: 0 0;
}
rel2 { /* = rel1 */ rel2 { /* = rel1 */
to_x: "technology"; to_x: "technology";
to_y: "e.text.name"; to_y: "e.text.state";
relative: 0.0 1.0; relative: 1.0 1.0;
offset: 10 10; offset: 0 0;
} }
} }
} }
@ -7397,11 +7825,19 @@ collections { /* begin the collection of edje groups that are in this file */
signal: "strength,show"; signal: "strength,show";
action: STATE_SET "default" 0.0; action: STATE_SET "default" 0.0;
target: "strength"; target: "strength";
target: "strength_gauge_bg";
target: "strength_gauge_confine";
target: "strength_gauge_knob";
target: "strength_gauge_fill";
} }
program { name: "strength,hide"; program { name: "strength,hide";
signal: "strength,show"; signal: "strength,show";
action: STATE_SET "hidden" 0.0; action: STATE_SET "hidden" 0.0;
target: "strength"; target: "strength";
target: "strength_gauge_bg";
target: "strength_gauge_confine";
target: "strength_gauge_knob";
target: "strength_gauge_fill";
} }
} }
@ -7437,11 +7873,17 @@ collections { /* begin the collection of edje groups that are in this file */
inherit: "default" 0.0; inherit: "default" 0.0;
visible: 0; visible: 0;
max: 0 0; max: 0 0;
rel1 {
to_x: "technology";
to_y: "strength";
relative: 1.0 1.0;
offset: 0 0;
}
rel2 { /* = rel1 */ rel2 { /* = rel1 */
to_x: "technology"; to_x: "technology";
to_y: "strength"; to_y: "strength";
relative: 1.0 1.0; relative: 1.0 1.0;
offset: 10 10; offset: 0 0;
} }
} }
} }
@ -7493,11 +7935,17 @@ collections { /* begin the collection of edje groups that are in this file */
inherit: "default" 0.0; inherit: "default" 0.0;
max: 0 0; max: 0 0;
visible: 0; visible: 0;
rel1 {
to_x: "technology";
to_y: "e.text.error";
relative: 1.0 1.0;
offset: 0 0;
}
rel2 { /* = rel1 */ rel2 { /* = rel1 */
to_x: "technology"; to_x: "technology";
to_y: "strength"; to_y: "e.text.error";
relative: 1.0 1.0; relative: 1.0 1.0;
offset: 10 10; offset: 0 0;
} }
} }
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

View File

@ -7,13 +7,16 @@
/* /*
* STATUS: * STATUS:
* *
* displays current status, segfaults often. needs connman from git * displays current status, allows connecting and
* (will be 0.48, still unreleased). * disconnecting. needs connman from git (will be 0.48, still
* unreleased).
* *
* TODO: * TODO:
* *
* MUST: * MUST:
* 1. improve gadget ui * 1. request for passphrase if pass_required is set or
* connect error is org.moblin.connman.Error.PassphraseRequired
* 2. improve gadget ui
* *
* GOOD: * GOOD:
* 1. imporve mouse over popup ui * 1. imporve mouse over popup ui
@ -337,6 +340,30 @@ _connman_service_connect(E_Connman_Service *service)
_connman_operation_error_show(_("Connect to network service.")); _connman_operation_error_show(_("Connect to network service."));
} }
static void
_connman_service_disconnect_cb(void *data, DBusMessage *msg __UNUSED__, DBusError *error)
{
E_Connman_Module_Context *ctxt = data;
if (error && dbus_error_is_set(error))
{
if (strcmp(error->message,
"org.moblin.connman.Error.NotConnected") != 0)
_connman_dbus_error_show(_("Disconnect to network service."), error);
dbus_error_free(error);
}
_connman_default_service_changed_delayed(ctxt);
}
static void
_connman_service_disconnect(E_Connman_Service *service)
{
if (!e_connman_service_disconnect
(service->element, _connman_service_disconnect_cb, service->ctxt))
_connman_operation_error_show(_("Disconnect to network service."));
}
static void static void
_connman_services_free(E_Connman_Module_Context *ctxt) _connman_services_free(E_Connman_Module_Context *ctxt)
{ {
@ -592,6 +619,8 @@ _connman_popup_service_selected(void *data)
if (service->pass_required) if (service->pass_required)
_connman_service_ask_pass_and_connect(service); _connman_service_ask_pass_and_connect(service);
else if (service->state == e_str_ready)
_connman_service_disconnect(service);
else else
_connman_service_connect(service); _connman_service_connect(service);
return; return;
@ -878,6 +907,7 @@ _connman_edje_view_update(E_Connman_Instance *inst, Evas_Object *o)
edje_object_part_text_set(o, "e.text.name", _("No ConnMan")); edje_object_part_text_set(o, "e.text.name", _("No ConnMan"));
edje_object_part_text_set(o, "e.text.error", edje_object_part_text_set(o, "e.text.error",
_("No ConnMan server found.")); _("No ConnMan server found."));
edje_object_signal_emit(o, "e,changed,connected,no", "e");
return; return;
} }
@ -888,7 +918,7 @@ _connman_edje_view_update(E_Connman_Instance *inst, Evas_Object *o)
else else
edje_object_signal_emit(o, "e,changed,offline_mode,no", "e"); edje_object_signal_emit(o, "e,changed,offline_mode,no", "e");
if (ctxt->technology) if (ctxt->technology && ctxt->technology[0])
{ {
edje_object_part_text_set(o, "e.text.technology", edje_object_part_text_set(o, "e.text.technology",
ctxt->technology); ctxt->technology);
@ -907,10 +937,13 @@ _connman_edje_view_update(E_Connman_Instance *inst, Evas_Object *o)
{ {
edje_object_part_text_set(o, "e.text.name", _("No Connection")); edje_object_part_text_set(o, "e.text.name", _("No Connection"));
edje_object_signal_emit(o, "e,changed,service,none", "e"); edje_object_signal_emit(o, "e,changed,service,none", "e");
edje_object_signal_emit(o, "e,changed,connected,no", "e");
edje_object_part_text_set(o, "e.text.error", _("Not connected")); edje_object_part_text_set(o, "e.text.error", _("Not connected"));
edje_object_signal_emit(o, "e,changed,error,no", "e"); edje_object_signal_emit(o, "e,changed,error,no", "e");
edje_object_part_text_set(o, "e.text.state", _("disconnect"));
edje_object_signal_emit(o, "e,changed,mode,no", "e"); edje_object_signal_emit(o, "e,changed,mode,no", "e");
edje_object_signal_emit(o, "e,changed,mode,none", "e"); edje_object_signal_emit(o, "e,changed,mode,none", "e");
@ -926,6 +959,8 @@ _connman_edje_view_update(E_Connman_Instance *inst, Evas_Object *o)
return; return;
} }
edje_object_signal_emit(o, "e,changed,connected,yes", "e");
if (service->name) if (service->name)
edje_object_part_text_set(o, "e.text.name", service->name); edje_object_part_text_set(o, "e.text.name", service->name);
else else
@ -947,7 +982,7 @@ _connman_edje_view_update(E_Connman_Instance *inst, Evas_Object *o)
snprintf(buf, sizeof(buf), "e,changed,state,%s", service->state); snprintf(buf, sizeof(buf), "e,changed,state,%s", service->state);
edje_object_signal_emit(o, buf, "e"); edje_object_signal_emit(o, buf, "e");
edje_object_part_text_set(o, "e.text.state", service->state); edje_object_part_text_set(o, "e.text.state", _(service->state));
if (service->mode) if (service->mode)
{ {
@ -1240,12 +1275,12 @@ e_modapi_init(E_Module *m)
E_Connman_Module_Context *ctxt; E_Connman_Module_Context *ctxt;
E_DBus_Connection *c; E_DBus_Connection *c;
e_str_idle = eina_stringshare_add("idle"); e_str_idle = eina_stringshare_add(N_("idle"));
e_str_association = eina_stringshare_add("association"); e_str_association = eina_stringshare_add(N_("association"));
e_str_configuration = eina_stringshare_add("configuration"); e_str_configuration = eina_stringshare_add(N_("configuration"));
e_str_ready = eina_stringshare_add("ready"); e_str_ready = eina_stringshare_add(N_("ready"));
e_str_disconnect = eina_stringshare_add("disconnect"); e_str_disconnect = eina_stringshare_add(N_("disconnect"));
e_str_failure = eina_stringshare_add("failure"); e_str_failure = eina_stringshare_add(N_("failure"));
c = e_dbus_bus_get(DBUS_BUS_SYSTEM); c = e_dbus_bus_get(DBUS_BUS_SYSTEM);
if (!c) if (!c)