From 20c6c541a2e7507df59985875daebc3cf3f6679f Mon Sep 17 00:00:00 2001 From: Jaime Thomas Date: Wed, 5 Nov 2008 14:54:58 +0000 Subject: [PATCH] Add a check button --- ecdb/trunk/data/themes/default/default.edc | 1 + .../data/themes/default/groups/button.edc | 4 +- .../data/themes/default/groups/check.edc | 205 ++++++++++++++++++ .../data/themes/default/groups/erase_disc.edc | 8 + .../data/themes/default/images/check0.png | Bin 0 -> 400 bytes .../data/themes/default/images/check2.png | Bin 0 -> 603 bytes .../data/themes/default/images/check_base.png | Bin 0 -> 314 bytes .../themes/default/images/check_focus.png | Bin 0 -> 275 bytes .../themes/default/images/check_shadow.png | Bin 0 -> 403 bytes .../data/themes/default/images/images.edc | 5 + ecdb/trunk/src/ecdb_gui.c | 19 +- 11 files changed, 233 insertions(+), 9 deletions(-) create mode 100644 ecdb/trunk/data/themes/default/groups/check.edc create mode 100644 ecdb/trunk/data/themes/default/images/check0.png create mode 100644 ecdb/trunk/data/themes/default/images/check2.png create mode 100644 ecdb/trunk/data/themes/default/images/check_base.png create mode 100644 ecdb/trunk/data/themes/default/images/check_focus.png create mode 100644 ecdb/trunk/data/themes/default/images/check_shadow.png diff --git a/ecdb/trunk/data/themes/default/default.edc b/ecdb/trunk/data/themes/default/default.edc index 9f7151b..0e98bbf 100644 --- a/ecdb/trunk/data/themes/default/default.edc +++ b/ecdb/trunk/data/themes/default/default.edc @@ -11,4 +11,5 @@ collections { #include "groups/button.edc" #include "groups/icons.edc" #include "groups/erase_disc.edc" + #include "groups/check.edc" } diff --git a/ecdb/trunk/data/themes/default/groups/button.edc b/ecdb/trunk/data/themes/default/groups/button.edc index 622e74f..3397bd4 100644 --- a/ecdb/trunk/data/themes/default/groups/button.edc +++ b/ecdb/trunk/data/themes/default/groups/button.edc @@ -278,7 +278,7 @@ group { program { name: "focus_in"; - signal: "ecdb,button,focus,in"; + signal: "ecdb,button,in"; signal: "mouse,down,1"; action: STATE_SET "visible" 0.0; source: "*"; @@ -299,7 +299,7 @@ group { program { name: "focus_out"; - signal: "ecdb,button,focus,out"; + signal: "ecdb,focus,out"; action: STATE_SET "default" 0.0; source: "ecdb"; target: "focus_clip"; diff --git a/ecdb/trunk/data/themes/default/groups/check.edc b/ecdb/trunk/data/themes/default/groups/check.edc new file mode 100644 index 0000000..f5bdebb --- /dev/null +++ b/ecdb/trunk/data/themes/default/groups/check.edc @@ -0,0 +1,205 @@ +group { + name: "ecdb/check"; + + script { + public s; + + public toggle_state() { + if (get_int(s) == 0) + { + set_state(PART:"check", "active", 0.0); + emit("ecdb,check,checked", "ecdb/check"); + set_int(s, 1); + } + else + { + set_state(PART:"check", "default", 0.0); + emit("ecdb,check,unchecked", "ecdb/check"); + set_int(s, 0); + } + } + } + + parts { + part { + name: "check_base"; + type: IMAGE; + + description { + state: "default" 0.0; + min: 20 18; + max: 20 18; + fixed: 1 1; + align: 0.0 0.5; + + rel1 { + relative: 0.0 0.0; + offset: 2 2; + } + + rel2 { + relative: 0.0 1.0; + offset: 2 -3; + } + + image { + normal: "check_base.png"; + } + } + + description { + state: "disabled" 0.0; + inherit: "default" 0.0; + color: 255 255 255 128; + } + } + + part { + name: "check_shadow"; + type: IMAGE; + + description { + state: "default" 0.0; + color: 255 255 255 128; + image.normal: "check_shadow.png"; + + rel1 { + to: "check"; + relative: 0.0 0.0; + offset: 0 1; + } + + rel2 { + to: "check"; + relative: 1.0 1.0; + offset: -1 -1; + } + } + + description { + state: "focused" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + image.normal: "check_focus.png"; + + rel1 { + to: "check"; + relative: 0.0 0.0; + offset: 0 0; + } + + rel2 { + to: "check"; + relative: 1.0 1.0; + offset: -1 -1; + } + } + + description { + state: "disabled" 0.0; + inherit: "default" 0.0; + color: 255 255 255 0; + } + } + + part { + name: "check"; + + description { + state: "default" 0.0; + min: 20 18; + max: 20 18; + fixed: 1 1; + align: 0.0 0.5; + + rel1 { + relative: 0.0 0.0; + offset: 2 2; + } + + rel2 { + relative: 0.0 1.0; + offset: 2 -3; + } + + image { + normal: "check0.png"; + } + } + + description { + state: "active" 0.0; + inherit: "default" 0.0; + + image { + normal: "check2.png"; + } + } + + description { + state: "disabled" 0.0; + inherit: "default" 0.0; + color: 255 255 255 128; + } + } + + part { + name: "label"; + type: TEXT; + + description { + state: "default" 0.0; + color: 60 60 60 255; + fixed: 1 1; + + rel1 { + to: "check"; + offset: 25 0; + } + + rel2 { + relative: 1.0 1.0; + to_y: "check"; + offset: -1 0; + } + + text { + text: "Change Burn Speed"; + font: "ecdb/default"; + min: 1 1; + size: 11; + align: 0.0 0.5; + } + } + } + } + + programs { + program { + name: "focus_in"; + signal: "ecdb,focus,in"; + signal: "mouse,down,1"; + action: STATE_SET "focused" 0.0; + source: "*"; + target: "check_shadow"; + } + + program { + name: "focus_out"; + signal: "ecdb,focus,out"; + action: STATE_SET "default" 0.0; + source: "ecdb"; + target: "check_shadow"; + } + + program { + name: "clicked"; + signal: "mouse,down,1"; + source: "*"; + + script { + toggle_state(); + } + } + } +} diff --git a/ecdb/trunk/data/themes/default/groups/erase_disc.edc b/ecdb/trunk/data/themes/default/groups/erase_disc.edc index 0f9d8d3..dbd593c 100644 --- a/ecdb/trunk/data/themes/default/groups/erase_disc.edc +++ b/ecdb/trunk/data/themes/default/groups/erase_disc.edc @@ -175,6 +175,14 @@ group { after: "hide,finished"; } + program { + name: "erase_page,controls_disable"; + signal: "ecdb,erase,start"; + source: "ecdb"; + action: STATE_SET "disabled" 0.0; + target: "ecdb/erase/return"; + } + program { name: "hide,finished"; action: SIGNAL_EMIT "hide,finished" "erase_page"; diff --git a/ecdb/trunk/data/themes/default/images/check0.png b/ecdb/trunk/data/themes/default/images/check0.png new file mode 100644 index 0000000000000000000000000000000000000000..95cb3accd2eb82230af136a26086ce167ba0481c GIT binary patch literal 400 zcmeAS@N?(olHy`uVBq!ia0vp^B0wy}!3HFwFZ>e#QjEnx?oJHr&dIz4a@dl*-CY>| zgW!U_%O?XxI14-?iy0WWg+Z8+Vb&Z8pdfpRr>`sfbuK;*HQk4k(tUuY2za_UhFF|_ zI{BdAAqRoB{kLkFbC_fd_cgf1H_xkSS;qg!S>oP-bVX4=AxnoHQ>%4fmX#lC7UI=g zbVRz|=w?dV^Vw(5@XeXCXhN}x)Lq7Y`zO7PHm5f&Z$6-_;~P9l#WD2bz2qK8mkg=X zIp2H&MHsH{4iH{ZXD`F&IjLpWy@a)Y%MuNC9OyQf>m%22d;P}E3?DXKwp_kS>(#Df zmf~CL*7Fx^o}JUw+xuYay#=ePtCM{UOnJ6kQ@W?PsD56NfW&b_E{pg7*jG3t>naI# z$S~?$S3S3t@xk(2+jxID2g{w0f5u?({(Ds9wA=i3A6kDFZPakFxf>^b^}C?E{Bo@| r*Hu?PPx#24YJ`L;wH)0002_L%V+f000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iOM( z1qT#P9#9$p00G-cL_t(I%k7iDZxUe`$3J%*EhJ@V%kiTLNe!VBE(R7M)`>7wVRBQW zM#7&_8%I03+|)%92L}Fxx?WmlN&+c~iY`qJym!30_s&I4jfd^7Px4)!Z=O${eDgf; z&y^O|v@Gip@P64)5CnF=-+wzC4qxW;`TLe-c|Sd48LZiCVwxsF5TKO8FbsU($8{I< z`={k@w|fLA-}g6wuSqeu2X_^S(Af^1xR7%n5bWloBEEX@Ml+mlc9s(?EZYG({ zW(XnhJnxsJl=ON%27>{GLV;W^m((=v;yNIj26N%CkP_iIcuL`U9+Sz0PUju5Sd4nT zPCOnbl}fqS0;QD5h0D_?k9qO@8Q(51na}4O9J~TxZ|?!y+qW{gb$l?rGYe#QjEnx?oJHr&dIz4a@dl*-CY>| zgW!U_%O?XxI14-?iy0WWg+Z8+Vb&Z8pdfpRr>`sfbuK;*DS=a*L5qMwyF6VSLo808 zonpw>eJPXAis{!I zPu7pPbK8ua>%oa~wFQi;oM&Bo7I4=? zvY5w|z`S6U(b-K2K-<`@Kc#hu;dLnYKje#QjEnx?oJHr&dIz4a@dl*-CY>| zgW!U_%O?XxI14-?iy0WWg+Z8+Vb&Z8pdfpRr>`sfbuJMuUftD)er^B?P4;wg46!(! zoUp(s!R1-W+PW3z4;;8~;J^U^hn9QGd3bn&B_t%&rnR1`KW-q9b%T+Ojg3)A_G@Ef ze#QjEnx?oJHr&dIz4a@dl*-CY>| zgW!U_%O?XxI14-?iy0WWg+Z8+Vb&Z8pdfpRr>`sfbuJNZ0qcc3yiNg45%zR(46!(U z_KLSRv!O`a!}Lp!{l4b^W3g9-gAse`e+N=?v0=R9cVqEvB^?D z+52GNl`XCtmL|j;TgKG-$NR~wqK99uCoI>Uz&|zSv{vYg_|lk!?%;h#r!{f=?2`C0 zrSynTlHa?ydfrZFnIncbP0l+XkK_hhIb literal 0 HcmV?d00001 diff --git a/ecdb/trunk/data/themes/default/images/images.edc b/ecdb/trunk/data/themes/default/images/images.edc index cd8cbea..b9525ef 100644 --- a/ecdb/trunk/data/themes/default/images/images.edc +++ b/ecdb/trunk/data/themes/default/images/images.edc @@ -12,4 +12,9 @@ images { image: "clear.png" COMP; image: "iso.png" COMP; image: "frame_outline.png" COMP; + image: "check0.png" COMP; + image: "check2.png" COMP; + image: "check_base.png" COMP; + image: "check_focus.png" COMP; + image: "check_shadow.png" COMP; } diff --git a/ecdb/trunk/src/ecdb_gui.c b/ecdb/trunk/src/ecdb_gui.c index d278520..f0b6b9a 100644 --- a/ecdb/trunk/src/ecdb_gui.c +++ b/ecdb/trunk/src/ecdb_gui.c @@ -1,7 +1,7 @@ #include "ecdb.h" static void ecdb_handle_typebuf(Evas_Object *gui); -static void ecdb_cb_buttons_focused(void *data, Evas_Object *o, +static void ecdb_cb_controls_focused(void *data, Evas_Object *o, const char *emission, const char *source); static void ecdb_cb_welcome_page_buttons_clicked(void *data, Evas_Object *o, const char *emission, const char *source); @@ -293,7 +293,7 @@ ecdb_handle_typebuf(Evas_Object *gui) static void -ecdb_cb_buttons_focused(void *data, Evas_Object *o, +ecdb_cb_controls_focused(void *data, Evas_Object *o, const char *emission, const char *source) { static char *old_source; @@ -303,7 +303,7 @@ ecdb_cb_buttons_focused(void *data, Evas_Object *o, { unsel = evas_object_name_find(ecore_evas_get(em->main_win_ee), old_source); - edje_object_signal_emit(unsel, "ecdb,button,focus,out", "ecdb"); + edje_object_signal_emit(unsel, "ecdb,focus,out", "ecdb"); free(old_source); old_source = strdup(source); } @@ -345,6 +345,7 @@ ecdb_cb_erase_page_buttons_clicked(void *data, Evas_Object *o, const char *emission, const char *source) { Evas_Object *swallow, *gui; + static int speed; gui = evas_object_name_find(ecore_evas_get(em->main_win_ee), "gui"); swallow = evas_object_name_find(ecore_evas_get(em->main_win_ee), @@ -375,6 +376,9 @@ ecdb_cb_erase_page_buttons_clicked(void *data, Evas_Object *o, ecdb_erase_project_destroy(proj); } + proj->speed = speed; + speed = 0; + /* 1) Disable buttons... * 2) Start erase * 3) Grab a drive @@ -384,9 +388,10 @@ ecdb_cb_erase_page_buttons_clicked(void *data, Evas_Object *o, } - else if (!strcmp(source, "ecdb/erage/speed")) + else if (!strcmp(source, "ecdb/erase/speed")) { - + speed = !speed; + printf("Burn speed: %d\n", speed); } printf("Action: %s\n", source); @@ -415,7 +420,7 @@ ecdb_welcome_page_show(void) evas_object_resize(swallow, w, h); edje_object_part_swallow(gui, "action_area", swallow); edje_object_signal_callback_add(swallow, "mouse,down,1", - "ecdb/*", ecdb_cb_buttons_focused, + "ecdb/*", ecdb_cb_controls_focused, NULL); edje_object_signal_callback_add(swallow, "mouse,clicked,1", "ecdb/*", ecdb_cb_welcome_page_buttons_clicked, @@ -567,7 +572,7 @@ ecdb_erase_page_show(void) edje_object_part_swallow(gui, "action_area", swallow); evas_object_show(swallow); edje_object_signal_callback_add(swallow, "mouse,down,1", - "ecdb/*", ecdb_cb_buttons_focused, + "ecdb/*", ecdb_cb_controls_focused, NULL); edje_object_signal_callback_add(swallow, "mouse,clicked,1", "ecdb/erase/*",