From f78070cec1e4ee8ac6661721e56b27cdac350334 Mon Sep 17 00:00:00 2001 From: YoungHun Cho Date: Thu, 26 May 2016 16:23:05 +0900 Subject: [PATCH 01/16] add folder entry callback Change-Id: Iac3ab46c4f617db8eda6764732f369c08a55c450 Signed-off-by: YoungHun Cho --- .rds_delta | 2 +- .sdk_delta.info | Bin 28191 -> 31257 bytes .sign/.manifest.tmp | 4 ++-- .sign/author-signature.xml | 8 ++++---- .sign/signature1.xml | 10 +++++----- src/apps_view.c | 23 ++++++++++++++++++----- 6 files changed, 30 insertions(+), 17 deletions(-) diff --git a/.rds_delta b/.rds_delta index 0d3bdc4..a8acc85 100644 --- a/.rds_delta +++ b/.rds_delta @@ -3,4 +3,4 @@ #modify author-signature.xml signature1.xml -res/edje/apps_chooser_btn.edj +bin/homescreen-efl diff --git a/.sdk_delta.info b/.sdk_delta.info index 1fa2e246f41f8b090684dbcc3d0ed68623ee4366..a61d4ea30eae94fb9a07c7b6cb9fd3f1bb8ba377 100644 GIT binary patch delta 4195 zcmZ`+d5l$88NY7^Bm+`r`dCDY42WY%8FKa|q9!(Iv=gvJlg2iwXKkSqniSCZNAsE{ zrm>-g=0+p7w29GwESBZA6sVQTVyz5IRjdf4zBW-4l8!{wnAqrd=Pmctc|DWNySe8( zzu&ii=RSM6w)=W**Ts)q9lvlmE7#EC+u(nH`+38GYn%IF^XS*7UJRbT2*0!1&&_=6 zjGfiV!HFfXF{8CPF`N&rT$1yd+f#wZ5`mrhk(JAe=FBhEYGe88StGT+eB-RK#t7rW zOD_yF+B(I&G8`Ksjb>ITqB(X-DxTG{!CGII)xL7|zNhw2an_r!O#PPs>dl{LSs(Hs zmi7I=*iRC%=W5vqwcatrtyD6sjg*rJl#z(d{dn})rJ&?~G zXn;Q-9~fIdVn`rNM24fXNFxC*wa!tGf)`2<8UmxDw{Za8UiIcLfQX>{)!7S*YXcW* zfd1MXh*p$A1k9DdmJu&_#7IaB!NNK)WQ~`MN!HU0K6;Ylk z$vM%HSxq@5&MDQ~Lnk_TpxntU-#Pc4vHolXW8oRK!f^<%v6fNI1MiQGQ$o8?+M

cjDlP*AIw)+BmB_{jd50D3CX`jB0!@3> zo3CZrNWchVLKuruddxjF1P2U|HV{EPM1(rRdj}QHcd@`beaz;=OBWO?<_-5vMb`)e z{#Q^=6fxx>Z9K)AdF=)Bh5&={X@*vgY5BSYuQy-M@>_?FHF)X5=`CenM+K1F57A)J zX-B{t%owH(=TvcI1z`#jH)?Q8;Iwy2y`Dh*8mL6s1lo+3@_9FYr)89hIvUC(7g$3{ zNCokakrQmAhgJfaOL{j+z-+I2^K@41zVV@2qts-&QLVOG3fG$lz$mVRvnWQ!6j8xo z<*2h(3LlUqfimbVZYp=CcjnU_PJo&KDw)*!@qgs2mk#8s=il8Z13X=i1Igior5;gO zr?C^rLEGdaf|m*P3PnhJXHBGv*|G~y*8{lQtKK|Q>XA$cXq|hO59H6xp9{@x@BFg4 zX=q|pQ>%yt?;<80!4fe7?IuJf2=Pd&om;ZDA?lMtemRN0I02sol6Urb4?UQOKGtQww zNv|miJxw^*fdk#nXT`1sq}C|wWO{&#MDhi&0_KV|7AqzZb)Y(p!5Ig0R9F}jMo6lo zL_JB*Cs1zyl}-}n?XlwA!rS{A<;ji`ooh?I`9gB?#Zn0p3={>C6#jgW(0Z}p78;AC z&;dNWwkRF26%-J+SH1ZgpfYI*UN1%$zxDnpU&Y|X&Oz|mp)#J{3dyafE+T{t7Eu}N zBk?j)$6bgLqFXljPO4T=K-^X0x1|!vl)rR6Up+KXtXT41tx+aJ#~an@L!HB*$V;Gz zVF4O73j!+`*BsLz9P>eY2iFh<(LoVLU{6JWysOCXfXbywu-SAc(n}pNpgate5h=xW z4B&JQ#iAuv5_?O*Vq+i^VMub5R!^lp&~zy;bY)4UO0n!KL9)&L#+kd#C$_4kbYS9?bMf(62Ts-Hs%3N1?)C`cdJP#*pEV zb5Ld)6Y9J%*1>IrILsnV2X8e6fu_Cc%{O5RN@U8bQ|UH{6BB?#;hGqjYJl6y{u3G8 zNP9*J&Udl?P^zC^8^+K4b!xNTJlc^0D_;hOIZFVMFlgXqxU3~S5E+p$P7p((M7#?; zTV7>og#|S2Rc~G_{=4*VwGU|EFL&gC^k+Z{%^FE3;ffy+MxH>=Q&9*QnQ(zXa4B{Q zW_Ds`<+AeoqqXYIKbB@D4gC1O^8YMbSYE)8G}KXO-VE+q(mE+bQ1Im-up|h+C8(f2 z^d?2R z@`bBbBzu2K_D<#-R^62BHIuzl#Urcc^?iQw-iKR26HkMZ-))1EEStS%%cd=x%{}7} z+?(px72gBmKWdAAu6Xm7+iQy^-S^vAKY-1@w>O{2KRf#IWN&w}_jvxTQBbfATEF~n zI5RYLu6|`szIT*;v}^SFN8tTr3-gT!v+R@kzR_jH;x%{oC)mK><=s*2z+b)T3zbse zOEw?NvN;cK9}inwR;Ctqjd&L1ueAuzKAGRV{?7?fo?tzie`3SI%7`nUhBJdx=jvD1 z7w>L(ulBJ@i6@hT-_EiRZQr(OJU3rnln>u=*YZm2sYGlieBO_J@z!tEk`ezz!oe81^ieD&$@aO=(Ka$wACKVQuL2iG&O ABme*a delta 1023 zcmY+DUr19?9LLY^UYE9^-Z5@d=f7Ntpss0KHpI%8qMSk5gQRIwuS?ObbY{{&2_mqP z;%B9q3^eLBJ1;#1MQ^n!t{y_vvVscI2f>G=gwA#^-P3(I=XZXe@BRI|=Z>vIcoA;T zXMCx>^_0XPb7l=&1Remuq6Sd$TBWEY&e`0;sj9}gQ6;k=Ap@HL${%C z`@ir~bchoS6O!DcbO%EUnw>ITHq-!kuq3$<0PB*yv@xX~u+Vsy9bXu|w9d2&%&boJ zioz}zR_DmHC9O5?GD}}U!2RYiXu(*DOmi*y0&@?^FNNJ@xYH`*yKPqh=!EqWKt)`F zlbMZpCd0kE(aX{smmwWc|?0r0g+uEZjfl{Tti_7Jk-;)SoS=?YdX!dV>>~ZNm&0S^wj|nEle00roS!j+afwtdnHW6{XQXcVMTDNp2&N)YrkjY1NjTWG6o+2 diff --git a/.sign/.manifest.tmp b/.sign/.manifest.tmp index 26f7e6e..0d660b0 100644 --- a/.sign/.manifest.tmp +++ b/.sign/.manifest.tmp @@ -1,4 +1,4 @@ -bin/homescreen-efl__DEL__R/GdPheI6ENeaZXAuFNgLeu4rlXVsKAxbYM6fehbfy0= +bin/homescreen-efl__DEL__eTq3efsJy3ZZoKNlLaZ9YAEzn/s5GNn8Ld3OAWbZ6yw= res/edje/add_widget_viewer.edj__DEL__KaDoUUh0Qg+t+Cw1qHJXA6PUxIh2xuIQHnCu9OV4/hc= res/edje/app_icon.edj__DEL__Eu43j1+2+ea+oxjufrHtApUvLicZcONCnpZkQFMLZUs= res/edje/apps_chooser_btn.edj__DEL__pAJeOFkfFmGw5h4Uvur4s7KUUVSRScqAnG8rBBiF/b8= @@ -92,4 +92,4 @@ res/locale/zh_HK/LC_MESSAGES/homescreen-efl.mo__DEL__XbmoPGvpjZD09qMkipbn/N/GNg/ res/locale/zh_TW/LC_MESSAGES/homescreen-efl.mo__DEL__oV3fIhDtXRMBjVuLETwBwYVDwiCHWvpDVpgtektLlM4= shared/res/homescreen-efl.png__DEL__1d0oEZHqPn+QzNzGIHwj9ODby6x9ggFs9uOsav6jPNs= tizen-manifest.xml__DEL__HlwQmaFXgrNH4ygDj7kH+fT/9cUP7JE60jlK1v0pnlo= -author-signature.xml__DEL__LEJgor6DxAIDrDYn7VOLyJJmQw051xwNYfubBv0ui+o= +author-signature.xml__DEL__qBw3ojaI9mHXmStXQqj6UheMnUNxYh2vLEsp1lW17ng= diff --git a/.sign/author-signature.xml b/.sign/author-signature.xml index 7659ecb..709ab03 100644 --- a/.sign/author-signature.xml +++ b/.sign/author-signature.xml @@ -4,7 +4,7 @@ -R/GdPheI6ENeaZXAuFNgLeu4rlXVsKAxbYM6fehbfy0= +eTq3efsJy3ZZoKNlLaZ9YAEzn/s5GNn8Ld3OAWbZ6yw= @@ -387,9 +387,9 @@ -ATS/lBe3U3mDOGWBzlGsQQAthuPohthWdudegnw6d0psxAgmbYMGD/chaeYPmmbVLsFTiopEtmrl -xE1T8DFjKqG+snMMKQAd82XF2vATSbHAEkHgt2b1kjqw0iaggHNAjK2AedwLL/tH5zFMHt+3GpI5 -6b24fmnPqpQZDqCfoxY= +d6OHq4Nq3I1jnehuAEg9cUpAahMi3ddhrop/NS3AuN9u7rKnllR3OJRcfkSRlFvodPyPVt2VhuhG +wCzgAvUvOxODuHCdT0lwoNrJ2GtVRNVHJAYsgv6zofvvRLmJ+d77w9XtMaehYx+1pKv7d/RL5CpB +OuqHAY2pFA7UkLpXyhE= diff --git a/.sign/signature1.xml b/.sign/signature1.xml index 4ae1011..bbd76b2 100644 --- a/.sign/signature1.xml +++ b/.sign/signature1.xml @@ -4,11 +4,11 @@ -LEJgor6DxAIDrDYn7VOLyJJmQw051xwNYfubBv0ui+o= +qBw3ojaI9mHXmStXQqj6UheMnUNxYh2vLEsp1lW17ng= -R/GdPheI6ENeaZXAuFNgLeu4rlXVsKAxbYM6fehbfy0= +eTq3efsJy3ZZoKNlLaZ9YAEzn/s5GNn8Ld3OAWbZ6yw= @@ -391,9 +391,9 @@ -qzYK1eyFru9qMzWatulA2jLFF4NpcW775/b+g2zc5l+kRFstUOwKoSqNJL9DLX4HDznlpOcq6699 -soYm4maO5blm9FYimKlKMiPexaaMWvwY3x7hvaRp2ayvjubNJD9Eq1jRfx0dgR4eJdSDZ+Z1xCJx -8QQQuhEm0mYVpDoOLvs= +WBzVKlIahWHYeFKhjahxiS/GhfPjYxFRZclUVLelXGbJ9whOfFvUpzs0D13oLsjqYam+u/woz1An +T640+CIxwKcZpdnHeW10HRomDXuptNM2VY8PWHo0ZXeOW6i8cI4r8i1TRT8NDCzFokxTIOKLKB3k +APG31joACyxHygafuz0= diff --git a/src/apps_view.c b/src/apps_view.c index d126c36..c1fdb02 100755 --- a/src/apps_view.c +++ b/src/apps_view.c @@ -153,6 +153,8 @@ static void __apps_view_scroll_to_page(int page_idx, bool animation); static int __apps_view_get_index(int page_index, int x, int y); static void __apps_view__set_icon_label_style(app_data_t *item, view_state_t state); +static void __apps_view_folder_entry_done_cb(void *data, Evas_Object *obj, void *event_info); + Evas_Object *apps_view_create(Evas_Object *win) { int ret = BADGE_ERROR_NONE; @@ -211,9 +213,8 @@ void apps_view_show_anim(double pos) evas_object_color_set(apps_view_s.box, 255, 255, 255, pos*255); evas_object_move(apps_view_s.scroller, 0, APPS_VIEW_PADDING_TOP + (APPS_VIEW_ANIMATION_DELTA * (1-pos))); - if (pos <= 0.01) { + if (pos >= (1.0 - (1e-10))) { evas_object_show(apps_view_s.event_block_bg); - } else if (pos >= (1.0 - (1e-10))) { evas_object_color_set(apps_view_s.box, 255, 255, 255, 255); evas_object_move(apps_view_s.scroller, 0, APPS_VIEW_PADDING_TOP); edje_object_signal_emit(edje, SIGNAL_APPS_VIEW_SHOW, SIGNAL_SOURCE); @@ -239,9 +240,8 @@ void apps_view_hide_anim(double pos) evas_object_color_set(apps_view_s.box, 255, 255, 255, (1-pos)*255); evas_object_move(apps_view_s.scroller, 0, APPS_VIEW_PADDING_TOP + (APPS_VIEW_ANIMATION_DELTA * pos)); - if (pos <= 0.01) { + if (pos >= (1.0 - (1e-10))) { evas_object_hide(apps_view_s.event_block_bg); - } else if (pos >= (1.0 - (1e-10))) { evas_object_color_set(apps_view_s.box, 255, 255, 255, 0); evas_object_move(apps_view_s.scroller, 0, apps_view_s.height); edje_object_signal_emit(edje, SIGNAL_APPS_VIEW_HIDE, SIGNAL_SOURCE); @@ -1011,8 +1011,15 @@ static void __apps_view_open_folder_popup(app_data_t *item) elm_entry_scrollable_set(entry, EINA_TRUE); evas_object_show(entry); + char style_string[STR_MAX] = {0, }; + snprintf(style_string, sizeof(style_string), "%s", _("IDS_COM_HEADER_UNNAMED_FOLDER")); + elm_object_part_text_set(entry, "elm.guide", style_string); + elm_entry_input_panel_return_key_type_set(entry, ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE); - elm_entry_text_style_user_push(entry, "DEFAULT='font=Samsung Condensed:style=Regular align=center color=#4DE7FFFF font_size=40 wrap=none'"); + + evas_object_smart_callback_add(entry, "activated", __apps_view_folder_entry_done_cb, entry); + + elm_entry_text_style_user_push(entry, "DEFAULT='font=Tizen:style=Regular align=center color=#4DE7FFFF font_size=40 wrap=none'"); elm_entry_entry_set(entry, apps_view_s.opened_folder->label_str); elm_object_part_content_set(apps_view_s.folder_popup_ly, APPS_FOLDER_TITLE, entry); @@ -1621,3 +1628,9 @@ static void __apps_view__set_icon_label_style(app_data_t *item, view_state_t sta snprintf(style_string, sizeof(style_string), "%s", font_size, text_color, text_shadow_color,item->label_str); elm_object_part_text_set(item->app_layout, APPS_ICON_NAME, style_string); } + +static void __apps_view_folder_entry_done_cb(void *data, Evas_Object *obj, void *event_info) +{ + elm_entry_input_panel_hide(obj); + elm_object_focus_set(obj, EINA_FALSE); +} -- 2.7.4 From 99db27234b78c348d58b95305e7e32ab2c706691 Mon Sep 17 00:00:00 2001 From: YoungHun Cho Date: Mon, 30 May 2016 14:40:29 +0900 Subject: [PATCH 02/16] cluster view edit animation & fix bug (allpage reposition) Change-Id: Ic37a86fa2521e9d3b39a62d7a5af57de1a2697a5 Signed-off-by: YoungHun Cho --- .sdk_delta.info | Bin 31257 -> 32127 bytes .sign/.manifest.tmp | 6 +- .sign/author-signature.xml | 10 +- .sign/signature1.xml | 12 +-- inc/apps_data.h | 1 + inc/apps_view.h | 2 +- inc/cluster_page.h | 2 + inc/cluster_view.h | 4 +- inc/conf.h | 1 + src/add_widget_viewer/add_widget_viewer.c | 7 +- src/apps_data.c | 16 ++- src/apps_view.c | 41 +++++--- src/cluster_page.c | 50 ++++++++- src/cluster_view.c | 164 ++++++++++++++++++++++++------ src/homescreen-efl.c | 6 +- src/widget_viewer.c | 26 ++++- tizen-manifest.xml | 1 + 17 files changed, 276 insertions(+), 73 deletions(-) diff --git a/.sdk_delta.info b/.sdk_delta.info index a61d4ea30eae94fb9a07c7b6cb9fd3f1bb8ba377..6d039b28685338f98542abcd1b039be4fbe8ea3c 100644 GIT binary patch delta 5675 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 B8iW7< diff --git a/.sign/.manifest.tmp b/.sign/.manifest.tmp index 0d660b0..2dbae78 100644 --- a/.sign/.manifest.tmp +++ b/.sign/.manifest.tmp @@ -1,4 +1,4 @@ -bin/homescreen-efl__DEL__eTq3efsJy3ZZoKNlLaZ9YAEzn/s5GNn8Ld3OAWbZ6yw= +bin/homescreen-efl__DEL__ipNhMGA9YdCS9WORWvE96K43jMicxNCwjm21OChmqWk= res/edje/add_widget_viewer.edj__DEL__KaDoUUh0Qg+t+Cw1qHJXA6PUxIh2xuIQHnCu9OV4/hc= res/edje/app_icon.edj__DEL__Eu43j1+2+ea+oxjufrHtApUvLicZcONCnpZkQFMLZUs= res/edje/apps_chooser_btn.edj__DEL__pAJeOFkfFmGw5h4Uvur4s7KUUVSRScqAnG8rBBiF/b8= @@ -91,5 +91,5 @@ res/locale/zh_CN/LC_MESSAGES/homescreen-efl.mo__DEL__RIZ1KIFfGF2e+0IkBlDIut/N5Y8 res/locale/zh_HK/LC_MESSAGES/homescreen-efl.mo__DEL__XbmoPGvpjZD09qMkipbn/N/GNg/T74qcAmfZ09aTVIM= res/locale/zh_TW/LC_MESSAGES/homescreen-efl.mo__DEL__oV3fIhDtXRMBjVuLETwBwYVDwiCHWvpDVpgtektLlM4= shared/res/homescreen-efl.png__DEL__1d0oEZHqPn+QzNzGIHwj9ODby6x9ggFs9uOsav6jPNs= -tizen-manifest.xml__DEL__HlwQmaFXgrNH4ygDj7kH+fT/9cUP7JE60jlK1v0pnlo= -author-signature.xml__DEL__qBw3ojaI9mHXmStXQqj6UheMnUNxYh2vLEsp1lW17ng= +tizen-manifest.xml__DEL__n71/oOsgirvYilXhpF4alQgL4lw91QqnbgS1i/ve70M= +author-signature.xml__DEL__X+8Jrm6O6fvHlWPM947dQtNm06dzUhr2o2QQvz8rbJQ= diff --git a/.sign/author-signature.xml b/.sign/author-signature.xml index 709ab03..a50129c 100644 --- a/.sign/author-signature.xml +++ b/.sign/author-signature.xml @@ -4,7 +4,7 @@ -eTq3efsJy3ZZoKNlLaZ9YAEzn/s5GNn8Ld3OAWbZ6yw= +ipNhMGA9YdCS9WORWvE96K43jMicxNCwjm21OChmqWk= @@ -376,7 +376,7 @@ -HlwQmaFXgrNH4ygDj7kH+fT/9cUP7JE60jlK1v0pnlo= +n71/oOsgirvYilXhpF4alQgL4lw91QqnbgS1i/ve70M= @@ -387,9 +387,9 @@ -d6OHq4Nq3I1jnehuAEg9cUpAahMi3ddhrop/NS3AuN9u7rKnllR3OJRcfkSRlFvodPyPVt2VhuhG -wCzgAvUvOxODuHCdT0lwoNrJ2GtVRNVHJAYsgv6zofvvRLmJ+d77w9XtMaehYx+1pKv7d/RL5CpB -OuqHAY2pFA7UkLpXyhE= +LdNqJQBfp75uvgHwUBy36Q1xSOuRaswzhY9hwJ4uAzb91/H5gUuZnLwV7PoN5mzki76xM0wEAOv1 +UGGHPcwWtYUTWMfUIyBWICNYmosRIgyymEJAodRwwywP4zixMgB5Da+CviFzED4J0I2Q2CtToSqQ +pAfWzwF451kqwNBXYRk= diff --git a/.sign/signature1.xml b/.sign/signature1.xml index bbd76b2..3c88678 100644 --- a/.sign/signature1.xml +++ b/.sign/signature1.xml @@ -4,11 +4,11 @@ -qBw3ojaI9mHXmStXQqj6UheMnUNxYh2vLEsp1lW17ng= +X+8Jrm6O6fvHlWPM947dQtNm06dzUhr2o2QQvz8rbJQ= -eTq3efsJy3ZZoKNlLaZ9YAEzn/s5GNn8Ld3OAWbZ6yw= +ipNhMGA9YdCS9WORWvE96K43jMicxNCwjm21OChmqWk= @@ -380,7 +380,7 @@ -HlwQmaFXgrNH4ygDj7kH+fT/9cUP7JE60jlK1v0pnlo= +n71/oOsgirvYilXhpF4alQgL4lw91QqnbgS1i/ve70M= @@ -391,9 +391,9 @@ -WBzVKlIahWHYeFKhjahxiS/GhfPjYxFRZclUVLelXGbJ9whOfFvUpzs0D13oLsjqYam+u/woz1An -T640+CIxwKcZpdnHeW10HRomDXuptNM2VY8PWHo0ZXeOW6i8cI4r8i1TRT8NDCzFokxTIOKLKB3k -APG31joACyxHygafuz0= +WsBEmp+6nWUTg/LhM0fltpiZ5Q/ZGaHwhGmQP//ULH+BJf507I8pyd0B1X5vW6BhWOH/FZg2nHFD +I9n0/kA45DpoLtEaJE2Hv/E76MjDrEMJVGZfTHP32OpVQ+rEpuTUlzBNaE6xPOiFbtFCHR5CjahX +MbklcMzpsOa10/2+kNY= diff --git a/inc/apps_data.h b/inc/apps_data.h index fb63dc5..0a6d0ec 100755 --- a/inc/apps_data.h +++ b/inc/apps_data.h @@ -61,5 +61,6 @@ void apps_data_update_folder(app_data_t *folder_item); void apps_data_delete_item(app_data_t *item); void apps_data_delete_list(Eina_List *list); app_data_t *apps_data_find_item_by_index(int index); +int apps_data_get_folder_item_count(app_data_t *folder); #endif /* __APPS_DATA_H__ */ diff --git a/inc/apps_view.h b/inc/apps_view.h index 27cb582..97aebf1 100755 --- a/inc/apps_view.h +++ b/inc/apps_view.h @@ -40,7 +40,7 @@ void apps_view_icon_unset(app_data_t *item); void apps_view_icon_add(app_data_t *item); void apps_view_hw_menu_key(void); -void apps_view_hw_home_key(void); +bool apps_view_hw_home_key(void); bool apps_view_hw_back_key(void); view_state_t apps_view_get_state(void); void apps_view_set_state(view_state_t state); diff --git a/inc/cluster_page.h b/inc/cluster_page.h index e04965f..2760527 100755 --- a/inc/cluster_page.h +++ b/inc/cluster_page.h @@ -42,9 +42,11 @@ bool cluster_page_set_widget(cluster_page_t *page, widget_data_t *item); bool cluster_page_unset(cluster_page_t *page, widget_data_t *item); bool cluster_page_check_empty_space(cluster_page_t *page, widget_size_type_e type, int pos_x, int pos_y, int *empty_x, int *empty_y); +void cluster_page_check_empty_space_pos(cluster_page_t *page, widget_data_t *item, int *out_x, int *out_y); Evas_Object *cluster_page_thumbnail(cluster_page_t *page); void cluster_page_drag_cancel(cluster_page_t *page); void cluster_page_drag_widget(cluster_page_t *page, widget_size_type_e type, int pos_x, int pos_y); bool cluster_page_drop_widget(cluster_page_t *page, widget_data_t *widget); +void cluster_page_get_highlight_xy(cluster_page_t *page, int *x, int *y); #endif /* __CLUSTER_VIEW_PAGE_H__ */ diff --git a/inc/cluster_view.h b/inc/cluster_view.h index 3b0ddcb..3e1f671 100755 --- a/inc/cluster_view.h +++ b/inc/cluster_view.h @@ -31,10 +31,10 @@ void cluster_view_show_anim(double pos); void cluster_view_hide_anim(double pos); void cluster_view_hw_menu_key(void); -void cluster_view_hw_home_key(void); +bool cluster_view_hw_home_key(void); bool cluster_view_hw_back_key(void); view_state_t cluster_view_get_state(void); -void cluster_view_set_state(view_state_t state); +bool cluster_view_set_state(view_state_t state); void cluster_view_delete_widget(widget_data_t *item); bool cluster_view_add_widget(widget_data_t *item, bool scroll); diff --git a/inc/conf.h b/inc/conf.h index 4ab597c..b3f1bef 100755 --- a/inc/conf.h +++ b/inc/conf.h @@ -79,6 +79,7 @@ extern int __conf_get_window_w(); #define CLUSTER_COL 4 #define CLUSTER_HOME_PAGE 0 #define CLUSTER_MAX_PAGE 6 +#define CLUSTER_VIEW_ALLPAGE_MOVE_GAP 10000 #define PAGE_INDICATOR_PADDING_BOTTON ((16) * (__conf_get_resolution_scale_h())) #define PAGE_INDICATOR_H ((76) * (__conf_get_resolution_scale_h())) diff --git a/src/add_widget_viewer/add_widget_viewer.c b/src/add_widget_viewer/add_widget_viewer.c index 42116d4..9485c72 100755 --- a/src/add_widget_viewer/add_widget_viewer.c +++ b/src/add_widget_viewer/add_widget_viewer.c @@ -571,9 +571,12 @@ static void __add_widget_viewer_preview_clicked_cb(void *data, Evas_Object *obj, return; } - cluster_data_insert_widget(widget->widget_id, widget->widget_id, *size); - + int type = *size; free(size); + char *widget_id = strdup(widget->widget_id); cluster_view_set_state(VIEW_STATE_NORMAL); + + cluster_data_insert_widget(widget_id, widget_id, type); + free(widget_id); } diff --git a/src/apps_data.c b/src/apps_data.c index 23fefb0..196cc74 100755 --- a/src/apps_data.c +++ b/src/apps_data.c @@ -29,7 +29,7 @@ static struct { .data_list = NULL }; -void __apps_data_print(Eina_List *list); +static void __apps_data_print(Eina_List *list); static int __apps_data_sort_cb(const void *a , const void *b); static void __apps_data_item_free(app_data_t *item); app_data_t *__apps_data_find_item(int db_id); @@ -359,7 +359,7 @@ static void __apps_data_item_free(app_data_t *item) free(item); } -void __apps_data_print(Eina_List *list) +static void __apps_data_print(Eina_List *list) { app_data_t *item = NULL; Eina_List *find_list; @@ -370,3 +370,15 @@ void __apps_data_print(Eina_List *list) } LOGD("========================================"); } + +int apps_data_get_folder_item_count(app_data_t *folder) +{ + int cnt = 0; + app_data_t *item = NULL; + Eina_List *find_list; + EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { + if (item->parent_db_id == folder->db_id) + cnt += 1; + } + return cnt; +} diff --git a/src/apps_view.c b/src/apps_view.c index c1fdb02..30b91cc 100755 --- a/src/apps_view.c +++ b/src/apps_view.c @@ -704,16 +704,20 @@ static void __apps_view_icon_uninstall_btn_clicked_cb(void *data, Evas_Object *o LOGD("Uninstall :: %s", item->pkg_str); if (item->is_folder) { - Evas_Smart_Cb func[3] = { __apps_view_delete_folder_cb, NULL, NULL }; - void *data[3] = { item, NULL, NULL }; - char btn_text[3][STR_MAX] = { "", "", "" }; - char title_text[STR_MAX] = { "" }; - char popup_text[STR_MAX] = { "" }; - snprintf(btn_text[0], sizeof(btn_text[0]), "%s", _("IDS_ST_BUTTON_REMOVE_ABB2")); - snprintf(btn_text[1], sizeof(btn_text[1]), "%s", _("IDS_CAM_SK_CANCEL")); - snprintf(title_text, sizeof(title_text), "%s", _("IDS_HS_HEADER_REMOVE_FOLDER_ABB")); - snprintf(popup_text, sizeof(popup_text), "%s", _("IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED")); - popup_show(2, func, data, btn_text, title_text, popup_text); + if (apps_data_get_folder_item_count(item) > 0) { + Evas_Smart_Cb func[3] = { __apps_view_delete_folder_cb, NULL, NULL }; + void *data[3] = { item, NULL, NULL }; + char btn_text[3][STR_MAX] = { "", "", "" }; + char title_text[STR_MAX] = { "" }; + char popup_text[STR_MAX] = { "" }; + snprintf(btn_text[0], sizeof(btn_text[0]), "%s", _("IDS_ST_BUTTON_REMOVE_ABB2")); + snprintf(btn_text[1], sizeof(btn_text[1]), "%s", _("IDS_CAM_SK_CANCEL")); + snprintf(title_text, sizeof(title_text), "%s", _("IDS_HS_HEADER_REMOVE_FOLDER_ABB")); + snprintf(popup_text, sizeof(popup_text), "%s", _("IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED")); + popup_show(2, func, data, btn_text, title_text, popup_text); + } else { + apps_data_delete_folder(item); + } } else if (item->type >= APPS_DATA_TYPE_APP_SHORTCUT) { LOGD("Delete shortcut"); apps_data_delete_item(item); @@ -800,13 +804,15 @@ void apps_view_hw_menu_key(void) menu_change_state_on_hw_menu_key(apps_menu_table); } -void apps_view_hw_home_key(void) +bool apps_view_hw_home_key(void) { if (apps_view_s.opened_folder != NULL) { __apps_view_close_folder_popup(apps_view_s.opened_folder); } apps_view_set_state(VIEW_STATE_NORMAL); + + return false; } bool apps_view_hw_back_key(void) @@ -994,6 +1000,11 @@ void apps_view_icon_add(app_data_t *item) static void __apps_view_open_folder_popup(app_data_t *item) { + if (apps_view_s.animator != NULL) { + LOGE("apps_view_s.animator != NULL"); + return ; + } + char edj_path[PATH_MAX] = {0, }; snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/apps_folder_popup.edj")); @@ -1061,8 +1072,12 @@ static Eina_Bool __apps_view_hide_folder_anim(void *data, double pos) static void __apps_view_close_folder_popup(app_data_t *item) { - if (apps_view_s.animator == NULL) - apps_view_s.animator = ecore_animator_timeline_add(HOME_FOLDR_ANIMATION_TIME, __apps_view_hide_folder_anim, NULL); + if (apps_view_s.animator != NULL) { + LOGE("apps_view_s.animator != NULL"); + return ; + } + + apps_view_s.animator = ecore_animator_timeline_add(HOME_FOLDR_ANIMATION_TIME, __apps_view_hide_folder_anim, NULL); } static void __apps_view_close_folder_popup_done(void) diff --git a/src/cluster_page.c b/src/cluster_page.c index 265f519..d0e97f7 100755 --- a/src/cluster_page.c +++ b/src/cluster_page.c @@ -147,6 +147,39 @@ bool cluster_page_check_empty_space(cluster_page_t *page, widget_size_type_e typ return false; } +void cluster_page_check_empty_space_pos(cluster_page_t *page, widget_data_t *item, int *out_x, int *out_y) +{ + int x, y; + *out_x = INIT_VALUE; + *out_y = INIT_VALUE; + + int gx, gy, w, h; + evas_object_geometry_get(page->grid, &gx, &gy, &w, &h); + if (cluster_page_check_empty_space(page, item->type, item->pos_x, item->pos_y, &x, &y)) { + *out_x = gx + x * (w / CLUSTER_COL); + *out_y = gy + y * (h / CLUSTER_ROW); + } else if (cluster_page_check_empty_space(page, item->type, INIT_VALUE, INIT_VALUE, &x, &y)) { + *out_x = gx + x * (w / CLUSTER_COL); + *out_y = gy + y * (h / CLUSTER_ROW); + } else { + *out_x = gx + item->pos_x * (w / CLUSTER_COL); + *out_y = gy + item->pos_y * (h / CLUSTER_ROW); + } +} + +void cluster_page_get_highlight_xy(cluster_page_t *page, int *x, int *y) +{ + int gx, gy, w, h; + evas_object_geometry_get(page->grid, &gx, &gy, &w, &h); + if (page->highlight_pos_x == INIT_VALUE || page->highlight_pos_y == INIT_VALUE) { + *x = INIT_VALUE; + *y = INIT_VALUE; + } else { + *x = gx + page->highlight_pos_x * (w / CLUSTER_COL); + *y = gy + page->highlight_pos_y * (h / CLUSTER_ROW); + } +} + void __cluster_page_set(cluster_page_t *page, widget_data_t *item) { int w, h; @@ -194,6 +227,8 @@ void cluster_page_drag_cancel(cluster_page_t *page) if (page->highlight) { evas_object_del(page->highlight); page->highlight = NULL; + page->highlight_pos_x = INIT_VALUE; + page->highlight_pos_y = INIT_VALUE; } } @@ -232,8 +267,18 @@ void cluster_page_drag_widget(cluster_page_t *page, widget_size_type_e type, int bool cluster_page_drop_widget(cluster_page_t *page, widget_data_t *widget) { - if (!page->highlight || page->highlight_pos_x == INIT_VALUE || page->highlight_pos_y == INIT_VALUE) + if (!page->highlight || page->highlight_pos_x == INIT_VALUE || page->highlight_pos_y == INIT_VALUE) { + int x, y; + if (cluster_page_check_empty_space(page, widget->type, widget->pos_x, widget->pos_y, &x, &y) || + cluster_page_check_empty_space(page, widget->type, INIT_VALUE, INIT_VALUE, &x, &y)) { + widget->page_idx = page->page_index; + widget->pos_x = x; + widget->pos_y = y; + __cluster_page_set(page, widget); + return true; + } return false; + } elm_grid_unpack(page->grid, page->highlight); evas_object_del(page->highlight); @@ -243,6 +288,9 @@ bool cluster_page_drop_widget(cluster_page_t *page, widget_data_t *widget) widget->pos_x = page->highlight_pos_x; widget->pos_y = page->highlight_pos_y; __cluster_page_set(page, widget); + + page->highlight_pos_x = INIT_VALUE; + page->highlight_pos_y = INIT_VALUE; return true; } diff --git a/src/cluster_view.c b/src/cluster_view.c index dd07a3c..5f6043a 100755 --- a/src/cluster_view.c +++ b/src/cluster_view.c @@ -46,6 +46,11 @@ static struct { widget_data_t *picked_widget; Ecore_Timer *edit_mode_scroll_timer; bool is_srolling; + Ecore_Animator *edit_animator; + int animation_from_x; + int animation_from_y; + int animation_to_x; + int animation_to_y; } cluster_view_s = { .scroller = NULL, .box = NULL, @@ -61,6 +66,11 @@ static struct { .picked_widget = NULL, .edit_mode_scroll_timer = NULL, .is_srolling = false, + .edit_animator = NULL, + .animation_from_x = INIT_VALUE, + .animation_from_y = INIT_VALUE, + .animation_to_x = INIT_VALUE, + .animation_to_y = INIT_VALUE, }; static int cluster_menu_list[4] = { @@ -128,10 +138,12 @@ static Eina_Bool __cluster_view_widget_long_press_time_cb(void *data); static void __cluster_view_edit_pick_up_widget(void *data); static void __cluster_view_edit_drag_widget(void *data); static void __cluster_view_edit_drop_widget(void *data); - +static Eina_Bool __cluster_view_edit_move_anim(void *data, double pos); +static void __cluster_view_edit_move_anim_done(void *data); static Eina_Bool __cluster_view_scroll_timer_cb(void *data); +static void __cluster_view_scroll_anim_start_cb(void *data, Evas_Object *obj, void *event_info); static void __cluster_view_scroll_anim_stop_cb(void *data, Evas_Object *obj, void *event_info); static void __cluster_view_allpage_get_page_pos(int page_idx, int *w, int *h); static int __cluster_view_allpage_get_page_index(int x, int y); @@ -218,6 +230,7 @@ Evas_Object *__cluster_view_create_base_gui(Evas_Object *win) evas_object_event_callback_add(cluster_view_s.scroller, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_scroller_up_cb, NULL); evas_object_smart_callback_add(cluster_view_s.scroller, "scroll,anim,stop", __cluster_view_scroll_anim_stop_cb, NULL); + evas_object_smart_callback_add(cluster_view_s.scroller, "scroll,anim,start", __cluster_view_scroll_anim_start_cb, NULL); cluster_view_s.box = elm_box_add(cluster_view_s.scroller); elm_box_horizontal_set(cluster_view_s.box, EINA_TRUE); @@ -324,7 +337,7 @@ void cluster_view_hw_menu_key(void) menu_change_state_on_hw_menu_key(cluster_menu_table); } -void cluster_view_hw_home_key(void) +bool cluster_view_hw_home_key(void) { if (cluster_view_s.view_state == VIEW_STATE_NORMAL) { __cluster_view_scroll_to_home(); @@ -335,13 +348,13 @@ void cluster_view_hw_home_key(void) } else if (cluster_view_s.view_state == VIEW_STATE_ALL_PAGE) { cluster_view_set_state(VIEW_STATE_NORMAL); } + + return false; } bool cluster_view_hw_back_key(void) { - if (cluster_view_s.view_state == VIEW_STATE_NORMAL) { - return true; - } else if (cluster_view_s.view_state == VIEW_STATE_EDIT) { + if (cluster_view_s.view_state == VIEW_STATE_EDIT) { cluster_view_set_state(VIEW_STATE_NORMAL); } else if (cluster_view_s.view_state == VIEW_STATE_ADD_VIEWER) { cluster_view_set_state(VIEW_STATE_NORMAL); @@ -357,8 +370,19 @@ view_state_t cluster_view_get_state(void) return cluster_view_s.view_state; } -void cluster_view_set_state(view_state_t state) +bool cluster_view_set_state(view_state_t state) { + if (cluster_view_s.is_srolling) { + LOGE("cannot change view-state"); + return false; + } + + if (cluster_view_s.edit_animator) { + ecore_animator_del(cluster_view_s.edit_animator); + cluster_view_s.edit_animator = NULL; + __cluster_view_edit_move_anim_done(cluster_view_s.picked_widget); + } + if (state == VIEW_STATE_EDIT) { homescreen_efl_btn_hide(HOMESCREEN_VIEW_HOME); @@ -413,6 +437,7 @@ void cluster_view_set_state(view_state_t state) Eina_List *find_list = NULL; cluster_page_t *page_item = NULL; + elm_box_unpack_all(cluster_view_s.box); EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { if (page_item->page_layout) { elm_box_pack_end(cluster_view_s.box, page_item->page_layout); @@ -435,6 +460,8 @@ void cluster_view_set_state(view_state_t state) } cluster_view_s.view_state = state; + + return true; } bool cluster_view_add_widget(widget_data_t *item, bool scroll) @@ -454,7 +481,7 @@ bool cluster_view_add_widget(widget_data_t *item, bool scroll) cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, page_idx); set_on = cluster_page_set_widget(page, item); - if (!set_on && !cluster_page_set_widget(page, item)) { + if (!set_on) { Eina_List *find_list = NULL; cluster_page_t *page_item = NULL; bool set_on = false; @@ -532,7 +559,6 @@ static void __cluster_view_scroll_to_home(void) static void __cluster_view_scroll_to_page(int page_idx, bool animation) { if (animation) { - cluster_view_s.is_srolling = true; elm_scroller_page_bring_in(cluster_view_s.scroller, page_idx, 0); } else { page_indicator_set_current_page(cluster_view_s.indicator, page_idx); @@ -677,27 +703,31 @@ static void __cluster_view_allpage_get_page_pos(int page_idx, int *w, int *h) static int __cluster_view_allpage_get_page_index(int x, int y) { - double row, col; - int int_row, int_col; - int start_y = 0; - int index = 0; + int idx = 0; + int sx = CLUSTER_ALL_PAGE_PADDING_SIDE; + int sy = 0; if (cluster_view_s.page_count < 2) { - start_y = (WINDOW_H - CLUSTER_ALL_PAGE_H) / 2; + sy = (WINDOW_H - CLUSTER_ALL_PAGE_H) / 2; } else if (cluster_view_s.page_count < 4) { - start_y = (WINDOW_H - (CLUSTER_ALL_PAGE_H * 2 + CLUSTER_ALL_PAGE_GAP_H)) / 2; + sy = (WINDOW_H - (CLUSTER_ALL_PAGE_H * 2 + CLUSTER_ALL_PAGE_GAP_H)) / 2; } else { - start_y = (WINDOW_H - (CLUSTER_ALL_PAGE_H * 3 + CLUSTER_ALL_PAGE_GAP_H * 2)) / 2; + sy = (WINDOW_H - (CLUSTER_ALL_PAGE_H * 3 + CLUSTER_ALL_PAGE_GAP_H * 2)) / 2; } - col = (double)(x - CLUSTER_ALL_PAGE_PADDING_SIDE) / (CLUSTER_ALL_PAGE_W + CLUSTER_ALL_PAGE_GAP_W); - int_col = (int)(col + 0.5); - row = (double)(y - start_y)/(CLUSTER_ALL_PAGE_H + CLUSTER_ALL_PAGE_GAP_H); - int_row = (int)(row + 0.5); - - if (((int_col - ALLPAGE_MOVE_GAP) < col && (int_col + ALLPAGE_MOVE_GAP) > col) && - ((int_row - ALLPAGE_MOVE_GAP) < row && (int_row + ALLPAGE_MOVE_GAP) > row)) { - index = int_row * 2 + int_col; - return index; + int w = CLUSTER_ALL_PAGE_W + CLUSTER_ALL_PAGE_GAP_W; + int h = CLUSTER_ALL_PAGE_H + CLUSTER_ALL_PAGE_GAP_H; + + for (idx=0; idx < cluster_view_s.page_count; idx++) { + int row = idx / 2; + int col = idx % 2; + int ny = sy + (row * h); + int nx = sx + (col * w); + + int d = (ny - y) * (ny - y) + (nx - x) * (nx - x); + if (d < CLUSTER_VIEW_ALLPAGE_MOVE_GAP) { + return (row * 2) + col; + } } + return INIT_VALUE; } @@ -766,6 +796,9 @@ static void __cluster_view_page_delete(cluster_page_t *page) static void __cluster_view_allpage_delete_clicked(void *data, Evas_Object *obj, const char *emission, const char *source) { + if (cluster_view_s.page_count <= 1) + return ; + cluster_page_t *page_item = (cluster_page_t *)data; if (eina_list_count(page_item->widget_list) > 0) { Evas_Smart_Cb func[3] = { __cluster_view_allpage_delete_page_cb, NULL, NULL }; @@ -1033,7 +1066,8 @@ static void __cluster_view_allpage_pick_up_page(void *data) static void __cluster_view_allpage_drop_page(void *data) { if (cluster_view_s.picked_page) { - elm_object_signal_emit(cluster_view_s.picked_page->thumbnail_ly, SIGNAL_ALLPAGE_DELETE_BUTTON_SHOW, SIGNAL_SOURCE); + if (cluster_view_s.page_count > 1) + elm_object_signal_emit(cluster_view_s.picked_page->thumbnail_ly, SIGNAL_ALLPAGE_DELETE_BUTTON_SHOW, SIGNAL_SOURCE); elm_object_signal_emit(cluster_view_s.picked_page->thumbnail_ly, SIGNAL_ALLPAGE_DRAG_BG_HIDE, SIGNAL_SOURCE); int x, y; @@ -1043,6 +1077,16 @@ static void __cluster_view_allpage_drop_page(void *data) } cluster_view_s.page_list = eina_list_sort(cluster_view_s.page_list, eina_list_count(cluster_view_s.page_list), __cluster_view_page_sort_cb); + + Eina_List *find_list = NULL, *widget_list = NULL; + cluster_page_t *page_item = NULL; + widget_data_t *widget_item = NULL; + EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { + EINA_LIST_FOREACH(page_item->widget_list, widget_list, widget_item) { + widget_item->page_idx = page_item->page_index; + cluster_data_update(widget_item); + } + } } static void __clsuter_view_widget_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) @@ -1050,6 +1094,11 @@ static void __clsuter_view_widget_down_cb(void *data, Evas *e, Evas_Object *obj, Evas_Event_Mouse_Down* ev = event_info; LOGD("DOWN: (%d,%d)", ev->output.x, ev->output.y); + if (cluster_view_s.edit_animator) { + LOGE("edit animator is running"); + return ; + } + cluster_mouse_info.pressed = true; cluster_mouse_info.pressed_obj = obj; @@ -1093,8 +1142,6 @@ static void __clsuter_view_widget_up_cb(void *data, Evas *e, Evas_Object *obj, v if (cluster_view_s.picked_widget) { __cluster_view_edit_drop_widget(data); - - cluster_view_s.picked_widget = NULL; } } @@ -1228,20 +1275,63 @@ static void __cluster_view_edit_drag_widget(void *data) static void __cluster_view_edit_drop_widget(void *data) { - Evas_Object *widget_layout = cluster_view_s.picked_widget->widget_layout; - elm_object_signal_emit(widget_layout, SIGNAL_DELETE_BUTTON_SHOW_ANI, SIGNAL_SOURCE); - elm_object_signal_emit(widget_layout, SIGNAL_CLUSTER_EDIT_STATE, SIGNAL_SOURCE); - if (cluster_view_s.edit_mode_scroll_timer) { ecore_timer_del(cluster_view_s.edit_mode_scroll_timer); cluster_view_s.edit_mode_scroll_timer = NULL; } + if (cluster_view_s.edit_animator) { + ecore_animator_del(cluster_view_s.edit_animator); + cluster_view_s.edit_animator = NULL; + } + + int to_x, to_y; + cluster_view_s.animation_from_x = cluster_mouse_info.move_x - cluster_mouse_info.offset_x; + cluster_view_s.animation_from_y = cluster_mouse_info.move_y - cluster_mouse_info.offset_y; + + cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.current_page); + cluster_page_get_highlight_xy(page, &to_x, &to_y); + if (to_x == INIT_VALUE || to_y == INIT_VALUE) { + cluster_page_check_empty_space_pos(page, cluster_view_s.picked_widget, &to_x, &to_y); + } + + cluster_view_s.animation_to_x = to_x; + cluster_view_s.animation_to_y = to_y; + + cluster_view_s.edit_animator = ecore_animator_timeline_add(HOME_ANIMATION_TIME, __cluster_view_edit_move_anim, NULL); +} +static Eina_Bool __cluster_view_edit_move_anim(void *data, double pos) +{ + evas_object_move(cluster_view_s.picked_widget->widget_layout, + (cluster_view_s.animation_to_x - cluster_view_s.animation_from_x) * pos + cluster_view_s.animation_from_x, + (cluster_view_s.animation_to_y - cluster_view_s.animation_from_y) * pos + cluster_view_s.animation_from_y); + + if (pos >= 1.0 - (1e-10)) { + __cluster_view_edit_move_anim_done(data); + + cluster_view_s.edit_animator = NULL; + return ECORE_CALLBACK_DONE; + } + + return ECORE_CALLBACK_RENEW; +} + +static void __cluster_view_edit_move_anim_done(void *data) +{ + Evas_Object *widget_layout = cluster_view_s.picked_widget->widget_layout; + elm_object_signal_emit(widget_layout, SIGNAL_DELETE_BUTTON_SHOW_ANI, SIGNAL_SOURCE); + elm_object_signal_emit(widget_layout, SIGNAL_CLUSTER_EDIT_STATE, SIGNAL_SOURCE); + cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.current_page); if (!cluster_page_drop_widget(page, cluster_view_s.picked_widget)) { - cluster_view_add_widget(cluster_view_s.picked_widget, false); + cluster_view_s.current_page = cluster_view_s.picked_widget->page_idx; + __cluster_view_scroll_to_page(cluster_view_s.current_page, true); + + cluster_view_add_widget(cluster_view_s.picked_widget, true); } + + cluster_view_s.picked_widget = NULL; } static void __clsuter_view_scroller_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) @@ -1251,6 +1341,11 @@ static void __clsuter_view_scroller_down_cb(void *data, Evas *e, Evas_Object *ob if (cluster_view_s.view_state != VIEW_STATE_NORMAL) return ; + if (cluster_view_s.edit_animator) { + LOGE("edit animator is running"); + return ; + } + LOGD("DOWN: (%d,%d)", ev->output.x, ev->output.y); cluster_mouse_info.pressed = true; @@ -1328,6 +1423,10 @@ static Eina_Bool __cluster_view_scroller_long_press_time_cb(void *data) return ECORE_CALLBACK_CANCEL; } +static void __cluster_view_scroll_anim_start_cb(void *data, Evas_Object *obj, void *event_info) +{ + cluster_view_s.is_srolling = true; +} static void __cluster_view_scroll_anim_stop_cb(void *data, Evas_Object *obj, void *event_info) { @@ -1353,4 +1452,3 @@ static Eina_Bool __cluster_view_scroll_timer_cb(void *data) __cluster_view_scroll_to_page(next_page_idx, true); return ECORE_CALLBACK_RENEW; } - diff --git a/src/homescreen-efl.c b/src/homescreen-efl.c index 5f4fc9c..38dc3dd 100755 --- a/src/homescreen-efl.c +++ b/src/homescreen-efl.c @@ -50,7 +50,7 @@ static struct { .root_width = 0, .root_height = 0, .view_type = HOMESCREEN_VIEW_HOME, - .animator = NULL + .animator = NULL, }; static void __homescreen_efl_get_window_size(Evas_Object *win); @@ -340,8 +340,8 @@ void homescreen_efl_hw_home_key_release(void) if (main_info.view_type == HOMESCREEN_VIEW_HOME) { cluster_view_hw_home_key(); } else if (main_info.view_type == HOMESCREEN_VIEW_APPS) { - apps_view_hw_home_key(); - __homescreen_efl_change_view(); + if (apps_view_hw_home_key() == false) + __homescreen_efl_change_view(); } } diff --git a/src/widget_viewer.c b/src/widget_viewer.c index df8f64e..1dcf348 100755 --- a/src/widget_viewer.c +++ b/src/widget_viewer.c @@ -20,6 +20,16 @@ #include "conf.h" #include "edc_conf.h" +//#define _TEST_ +#ifdef _TEST_ +static Eina_Bool __widget_viewer_test_timer_cb(void *data) +{ + Evas_Object *widget = (Evas_Object*) data; + evas_object_color_set(widget, rand()%255, rand()%255, rand()%255, 100); + return ECORE_CALLBACK_RENEW; +} +static int count = 0; +#endif static void __widget_viewer_delete_btn_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source); void widget_viewer_init(Evas_Object *win) @@ -49,17 +59,29 @@ Evas_Object *widget_viewer_add_widget(Evas_Object *parent, widget_data_t *item, evas_object_show(rect); elm_object_part_content_set(widget_layout, SIZE_SETTER, rect); -#if 1 +#ifndef _TEST_ Evas_Object *widget = widget_viewer_evas_add_widget(widget_layout, item->pkg_name, NULL, item->period); evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(widget, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_color_set(widget, 255, 255, 255, 255); #else // for TEST - Evas_Object *widget = evas_object_rectangle_add(evas_object_evas_get(widget_layout)); +/* Evas_Object *widget = evas_object_rectangle_add(evas_object_evas_get(widget_layout)); evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(widget, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_color_set(widget, 0, 0, 255, 100); evas_object_show(widget); +*/ + char number[1000]; + sprintf(number, "%s_%d", item->pkg_name, count++); + Evas_Object *widget = elm_label_add(evas_object_evas_get(widget_layout)); + elm_object_style_set(widget, "popup/default"); + evas_object_size_hint_weight_set(widget, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_text_set(widget, number); + evas_object_color_set(widget, 0, 0, 255, 100); + evas_object_show(widget); + + Ecore_Timer *timer = ecore_timer_add(1, __widget_viewer_test_timer_cb, widget); #endif elm_object_part_content_set(widget_layout, WIDGET_CONTENT, widget); diff --git a/tizen-manifest.xml b/tizen-manifest.xml index 03aa533..6e9472f 100755 --- a/tizen-manifest.xml +++ b/tizen-manifest.xml @@ -13,6 +13,7 @@ http://tizen.org/privilege/appmanager.launch http://tizen.org/privilege/packagemanager.admin http://tizen.org/privilege/shortcut + http://tizen.org/privilege/notification http://tizen.org/privilege/packagemanager.info http://tizen.org/privilege/widget.viewer -- 2.7.4 From b14a596ad9e4092eba4dfc871fdc743421699e77 Mon Sep 17 00:00:00 2001 From: YoungHun Cho Date: Mon, 30 May 2016 20:28:20 +0900 Subject: [PATCH 03/16] [TSAM-4076] booting speed Change-Id: I2e590d5e40c663daf5e31fd3174714e90603810f Signed-off-by: YoungHun Cho --- .sdk_delta.info | Bin 32127 -> 34440 bytes .sign/.manifest.tmp | 6 +++--- .sign/author-signature.xml | 10 +++++----- .sign/signature1.xml | 12 ++++++------ inc/apps_data.h | 2 +- inc/conf.h | 2 ++ src/apps_data.c | 2 +- src/apps_package_manager.c | 9 ++++++--- src/apps_view.c | 19 ++++++++++++------- src/homescreen-efl.c | 43 +++++++++++++++++++++++++++---------------- src/widget_viewer.c | 4 ++-- tizen-manifest.xml | 2 +- 12 files changed, 66 insertions(+), 45 deletions(-) diff --git a/.sdk_delta.info b/.sdk_delta.info index 6d039b28685338f98542abcd1b039be4fbe8ea3c..12a13c12c3890a94bb270ad30c487a84cee378c4 100644 GIT binary patch delta 6711 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 diff --git a/.sign/.manifest.tmp b/.sign/.manifest.tmp index 2dbae78..f877c80 100644 --- a/.sign/.manifest.tmp +++ b/.sign/.manifest.tmp @@ -1,4 +1,4 @@ -bin/homescreen-efl__DEL__ipNhMGA9YdCS9WORWvE96K43jMicxNCwjm21OChmqWk= +bin/homescreen-efl__DEL__m+q3OmoWJI96OeYhREaKgoFEowzqjVOWoU0o4DE3xIQ= res/edje/add_widget_viewer.edj__DEL__KaDoUUh0Qg+t+Cw1qHJXA6PUxIh2xuIQHnCu9OV4/hc= res/edje/app_icon.edj__DEL__Eu43j1+2+ea+oxjufrHtApUvLicZcONCnpZkQFMLZUs= res/edje/apps_chooser_btn.edj__DEL__pAJeOFkfFmGw5h4Uvur4s7KUUVSRScqAnG8rBBiF/b8= @@ -91,5 +91,5 @@ res/locale/zh_CN/LC_MESSAGES/homescreen-efl.mo__DEL__RIZ1KIFfGF2e+0IkBlDIut/N5Y8 res/locale/zh_HK/LC_MESSAGES/homescreen-efl.mo__DEL__XbmoPGvpjZD09qMkipbn/N/GNg/T74qcAmfZ09aTVIM= res/locale/zh_TW/LC_MESSAGES/homescreen-efl.mo__DEL__oV3fIhDtXRMBjVuLETwBwYVDwiCHWvpDVpgtektLlM4= shared/res/homescreen-efl.png__DEL__1d0oEZHqPn+QzNzGIHwj9ODby6x9ggFs9uOsav6jPNs= -tizen-manifest.xml__DEL__n71/oOsgirvYilXhpF4alQgL4lw91QqnbgS1i/ve70M= -author-signature.xml__DEL__X+8Jrm6O6fvHlWPM947dQtNm06dzUhr2o2QQvz8rbJQ= +tizen-manifest.xml__DEL__h4EjwXZOHtndaFT2qpZoLKMnGk4zNFA+q12iBS78pK4= +author-signature.xml__DEL__EY6S+Ad4xny2zAQc0Au13QBnOsCXTIgajj9kekYEcgQ= diff --git a/.sign/author-signature.xml b/.sign/author-signature.xml index a50129c..64a0de9 100644 --- a/.sign/author-signature.xml +++ b/.sign/author-signature.xml @@ -4,7 +4,7 @@ -ipNhMGA9YdCS9WORWvE96K43jMicxNCwjm21OChmqWk= +m+q3OmoWJI96OeYhREaKgoFEowzqjVOWoU0o4DE3xIQ= @@ -376,7 +376,7 @@ -n71/oOsgirvYilXhpF4alQgL4lw91QqnbgS1i/ve70M= +h4EjwXZOHtndaFT2qpZoLKMnGk4zNFA+q12iBS78pK4= @@ -387,9 +387,9 @@ -LdNqJQBfp75uvgHwUBy36Q1xSOuRaswzhY9hwJ4uAzb91/H5gUuZnLwV7PoN5mzki76xM0wEAOv1 -UGGHPcwWtYUTWMfUIyBWICNYmosRIgyymEJAodRwwywP4zixMgB5Da+CviFzED4J0I2Q2CtToSqQ -pAfWzwF451kqwNBXYRk= +jmy7AwRuptKwzUHMVwFhNITs1iuJsZKDH3ntFO2nJ0Zt0RJAwc9cR96bIh37hQ2k1FyAHQkPl8xV +xpVITLtZ38zyTSHJtNLqXrQiq0OOJvR2DPgnekiLZI3KzuYhJfJZpC7vh+wPfWTz1YtFgpyCfaWD +BSjoHZHNjag/Jop0vV4= diff --git a/.sign/signature1.xml b/.sign/signature1.xml index 3c88678..02cc75f 100644 --- a/.sign/signature1.xml +++ b/.sign/signature1.xml @@ -4,11 +4,11 @@ -X+8Jrm6O6fvHlWPM947dQtNm06dzUhr2o2QQvz8rbJQ= +EY6S+Ad4xny2zAQc0Au13QBnOsCXTIgajj9kekYEcgQ= -ipNhMGA9YdCS9WORWvE96K43jMicxNCwjm21OChmqWk= +m+q3OmoWJI96OeYhREaKgoFEowzqjVOWoU0o4DE3xIQ= @@ -380,7 +380,7 @@ -n71/oOsgirvYilXhpF4alQgL4lw91QqnbgS1i/ve70M= +h4EjwXZOHtndaFT2qpZoLKMnGk4zNFA+q12iBS78pK4= @@ -391,9 +391,9 @@ -WsBEmp+6nWUTg/LhM0fltpiZ5Q/ZGaHwhGmQP//ULH+BJf507I8pyd0B1X5vW6BhWOH/FZg2nHFD -I9n0/kA45DpoLtEaJE2Hv/E76MjDrEMJVGZfTHP32OpVQ+rEpuTUlzBNaE6xPOiFbtFCHR5CjahX -MbklcMzpsOa10/2+kNY= +qXl6S1CnGZfGstZmUltEmMJxiduxspkKv1R44M7uZ7ePoD2IccsKzMnuKZquLyRUu5skZl1wmykr +rnnkd50X33k1gBPdGt1U1/k4//UspwMj0Y6KXxJkLtDY5GjLvW/Im6IRVUIWwIjmcOAqyrgp1JZ0 +juXBbfKx/HPuWmYhlJ0= diff --git a/inc/apps_data.h b/inc/apps_data.h index 0a6d0ec..251db80 100755 --- a/inc/apps_data.h +++ b/inc/apps_data.h @@ -49,7 +49,7 @@ enum { APPS_DATA_TYPE_URI_SHORTCUT }; -void apps_data_init(void); +void apps_data_init(void *data, Ecore_Thread *th); void apps_data_sort(void); Eina_List *apps_data_get_list(void); void apps_data_get_folder_item_list(Eina_List **list, app_data_t *folder); diff --git a/inc/conf.h b/inc/conf.h index b3f1bef..17872ab 100755 --- a/inc/conf.h +++ b/inc/conf.h @@ -32,6 +32,8 @@ #define MAX_FILE_PATH_LEN 1024 #define HOME_EDIT_SCROLL_MOVE_TIME 1 +#define HOME_LOADING_TIME 0.5 + extern double __conf_get_resolution_scale_h(); extern double __conf_get_resolution_scale_w(); extern int __conf_get_window_h(); diff --git a/src/apps_data.c b/src/apps_data.c index 196cc74..dc4bf8c 100755 --- a/src/apps_data.c +++ b/src/apps_data.c @@ -37,7 +37,7 @@ static int __apps_data_shortcut_request_cb(const char *pkgname, const char *name, int type, const char *content_info, const char *icon, int pid, double period, int allow_duplicate, void *data); -void apps_data_init(void) +void apps_data_init(void *data, Ecore_Thread *th) { Eina_List *pkg_list = NULL, *db_list = NULL; Eina_List *pkg_find_list, *db_find_list; diff --git a/src/apps_package_manager.c b/src/apps_package_manager.c index 60e3bed..5267074 100755 --- a/src/apps_package_manager.c +++ b/src/apps_package_manager.c @@ -76,9 +76,11 @@ static void __apps_package_manager_event_cb(const char *type, const char *packag Eina_Bool apps_package_manger_get_list(Eina_List **list) { int ret; - ret = app_manager_foreach_app_info(__apps_package_manager_get_item, list); - if (ret != PACKAGE_MANAGER_ERROR_NONE) - LOGE("package_manager_foreach_package_info failed[%d]", ret); + app_info_filter_h handle = NULL; + + ret = app_info_filter_create(&handle); + app_info_filter_add_bool(handle, PACKAGE_INFO_PROP_APP_NODISPLAY , false); + app_info_filter_foreach_appinfo(handle, __apps_package_manager_get_item, list); return true; } @@ -89,6 +91,7 @@ static bool __apps_package_manager_get_item(app_info_h app_handle, void *data) if (__apps_data_pkg_get_apps_info(app_handle, &item)) { *list = eina_list_append(*list, item); } + usleep(1); return true; } diff --git a/src/apps_view.c b/src/apps_view.c index 30b91cc..9e68276 100755 --- a/src/apps_view.c +++ b/src/apps_view.c @@ -110,7 +110,7 @@ static Eina_Hash *apps_menu_table = NULL; static void __apps_view_create_base_gui(Evas_Object *win); static Evas_Object * __apps_view_add_page(void); static void __apps_view_remove_page(void); -static void __apps_view_fill_apps(void); +static void __apps_view_fill_apps(void *data, Ecore_Thread *th); static void __apps_view_icon_clicked_cb(app_data_t *item); static void __apps_view_icon_uninstall_btn_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source); static void __apps_view_delete_folder_cb(void *data, Evas_Object *obj, void *event_info); @@ -157,21 +157,19 @@ static void __apps_view_folder_entry_done_cb(void *data, Evas_Object *obj, void Evas_Object *apps_view_create(Evas_Object *win) { - int ret = BADGE_ERROR_NONE; elm_win_screen_size_get(win, NULL, NULL, &apps_view_s.width, &apps_view_s.height); - apps_data_init(); __apps_view_create_base_gui(win); - __apps_view_fill_apps(); __apps_view_create_chooser(); __apps_view_create_menu(); - ret = badge_register_changed_cb(__apps_view_badge_update_cb, NULL); - if (!apps_view_s.scroller) { LOGE("[FAILED][apps_view_s.scroller==NULL]"); return NULL; } + + ecore_thread_run(apps_data_init, __apps_view_fill_apps, __apps_view_fill_apps, NULL); + return apps_view_s.scroller; } @@ -626,7 +624,7 @@ static void __apps_view_remove_page(void) evas_object_del(item); } -static void __apps_view_fill_apps(void) +static void __apps_view_fill_apps(void *data, Ecore_Thread *th) { Eina_List *list = apps_data_get_list(); app_data_t *item = NULL; @@ -638,6 +636,13 @@ static void __apps_view_fill_apps(void) } } apps_view_reroder(); + + int ret = BADGE_ERROR_NONE; + ret = badge_register_changed_cb(__apps_view_badge_update_cb, NULL); + + if (ret != BADGE_ERROR_NONE) { + LOGE("badge_register_changed_cb failed [%d]", ret); + } } static void __apps_view_folder_fill_apps(void) diff --git a/src/homescreen-efl.c b/src/homescreen-efl.c index 38dc3dd..c448f53 100755 --- a/src/homescreen-efl.c +++ b/src/homescreen-efl.c @@ -66,6 +66,8 @@ static void __homescreen_efl_change_view(void); static Eina_Bool __homescreen_efl_show_apps_anim(void *data, double pos); static Eina_Bool __homescreen_efl_show_cluster_anim(void *data, double pos); +static Eina_Bool __homescreen_efl_create_view(void *data); + static void __homescreen_efl_lang_changed_cb(app_event_info_h event_info, void *user_data) { LOGD("called"); @@ -105,28 +107,17 @@ static bool __homescreen_efl_app_create_cb(void *data) __homescreen_efl_set_wallpaper(); evas_object_show(main_info.win); - main_info.cluster_layout = cluster_view_create(main_info.win); - if (main_info.cluster_layout == NULL) { - LOGE("main_info.cluster_layout == NULL"); - return false; - } - evas_object_move(main_info.cluster_layout, 0, INDICATOR_H); - evas_object_show(main_info.cluster_layout); - main_info.apps_layout = apps_view_create(main_info.win); - if (main_info.apps_layout == NULL) { - LOGE("main_info.apps_layout == NULL"); - return false; - } - evas_object_move(main_info.apps_layout, 0, main_info.root_height); - evas_object_show(main_info.apps_layout); + __homescreen_efl_set_conformant(); __homescreen_efl_create_home_btn(); + + ecore_timer_add(HOME_LOADING_TIME, __homescreen_efl_create_view, NULL); + return true; } static void __homescreen_efl_app_control_cb(app_control_h app_control, void *data) { - } static void __homescreen_efl_app_pause_cb(void *data) @@ -136,7 +127,6 @@ static void __homescreen_efl_app_pause_cb(void *data) static void __homescreen_efl_app_resume_cb(void *data) { - } static void __homescreen_efl_app_terminate_cb(void *data) @@ -387,3 +377,24 @@ void homescreen_efl_btn_hide(homescreen_view_t view_t) break; } } + +static Eina_Bool __homescreen_efl_create_view(void *data) +{ + main_info.cluster_layout = cluster_view_create(main_info.win); + if (main_info.cluster_layout == NULL) { + LOGE("main_info.cluster_layout == NULL"); + return ECORE_CALLBACK_CANCEL; + } + evas_object_move(main_info.cluster_layout, 0, INDICATOR_H); + evas_object_show(main_info.cluster_layout); + + main_info.apps_layout = apps_view_create(main_info.win); + if (main_info.apps_layout == NULL) { + LOGE("main_info.apps_layout == NULL"); + return ECORE_CALLBACK_CANCEL; + } + evas_object_move(main_info.apps_layout, 0, main_info.root_height); + evas_object_show(main_info.apps_layout); + + return ECORE_CALLBACK_CANCEL; +} diff --git a/src/widget_viewer.c b/src/widget_viewer.c index 1dcf348..28abce5 100755 --- a/src/widget_viewer.c +++ b/src/widget_viewer.c @@ -61,6 +61,7 @@ Evas_Object *widget_viewer_add_widget(Evas_Object *parent, widget_data_t *item, #ifndef _TEST_ Evas_Object *widget = widget_viewer_evas_add_widget(widget_layout, item->pkg_name, NULL, item->period); + //evas_object_smart_callback_add(widget, WIDGET_SMART_SIGNAL_WIDGET_CREATED, __widget_viewer_widget_create_cb, NULL); evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(widget, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_color_set(widget, 255, 255, 255, 255); @@ -103,6 +104,5 @@ void widget_viewer_send_cancel_click_event(widget_data_t *widget) { Evas_Object *widget_obj = NULL; widget_obj = elm_object_part_content_get(widget->widget_layout, WIDGET_CONTENT); - // Widget crash. : temp - //widget_viewer_evas_cancel_click_event(widget_obj); + widget_viewer_evas_cancel_click_event(widget_obj); } diff --git a/tizen-manifest.xml b/tizen-manifest.xml index 6e9472f..c69c6d0 100755 --- a/tizen-manifest.xml +++ b/tizen-manifest.xml @@ -3,7 +3,7 @@ Homescreen Application - + homescreen-efl.png -- 2.7.4 From cc71bf48eb8cf9cad66e48fec2f345324b07d050 Mon Sep 17 00:00:00 2001 From: YoungHun Cho Date: Wed, 1 Jun 2016 14:59:24 +0900 Subject: [PATCH 04/16] add check-box on folder Change-Id: I9c3be0457382431c861a17c3283eb5d051ee75d6 Signed-off-by: YoungHun Cho --- .sdk_delta.info | Bin 34440 -> 36222 bytes .sign/.manifest.tmp | 32 ++++++++--------- .sign/author-signature.xml | 36 +++++++++---------- .sign/signature1.xml | 38 ++++++++++---------- inc/apps_view.h | 1 + inc/cluster_view.h | 1 + inc/conf.h | 3 ++ inc/edc_conf.h | 2 ++ res/edje/add_widget_viewer.edc | 2 +- res/edje/app_icon.edc | 24 +++++++++++-- res/edje/apps_chooser_btn.edc | 32 ++++++++--------- src/apps_view.c | 78 +++++++++++++++++++++++++++++++++++------ src/cluster_view.c | 13 ++++--- src/homescreen-efl.c | 22 +++++++++--- 14 files changed, 192 insertions(+), 92 deletions(-) diff --git a/.sdk_delta.info b/.sdk_delta.info index 12a13c12c3890a94bb270ad30c487a84cee378c4..90d2a988cf357a07ecddf91596a0f25e4b8001d5 100644 GIT binary patch delta 6607 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 diff --git a/.sign/.manifest.tmp b/.sign/.manifest.tmp index f877c80..dead9c0 100644 --- a/.sign/.manifest.tmp +++ b/.sign/.manifest.tmp @@ -1,18 +1,18 @@ -bin/homescreen-efl__DEL__m+q3OmoWJI96OeYhREaKgoFEowzqjVOWoU0o4DE3xIQ= -res/edje/add_widget_viewer.edj__DEL__KaDoUUh0Qg+t+Cw1qHJXA6PUxIh2xuIQHnCu9OV4/hc= -res/edje/app_icon.edj__DEL__Eu43j1+2+ea+oxjufrHtApUvLicZcONCnpZkQFMLZUs= -res/edje/apps_chooser_btn.edj__DEL__pAJeOFkfFmGw5h4Uvur4s7KUUVSRScqAnG8rBBiF/b8= -res/edje/apps_folder_icon.edj__DEL__CjxtXzz3JIaxVzS7/4sMm1530dLMMbLt7bXsXUTaxVY= -res/edje/apps_folder_popup.edj__DEL__4jjfC1WUf47jMNjx4HiA4jSqqJT3TkWSY8Y9smNAnho= -res/edje/apps_view.edj__DEL__uPbY0nk6vZ4l4LCSw022vHFGA0ImbzIhlVJ8MzFltzc= -res/edje/apps_view_bg.edj__DEL__1Ng05qvrCC315hPy/ekMeqiXqNfIYyt+LuUsU5m0eLE= -res/edje/cluster_allpage.edj__DEL__WtmYWB3bi4WEzN28IlodOnIZ6T88qo52wR/xBwFB3kA= -res/edje/cluster_allpage_thumbnail.edj__DEL__QhYcaoP9mnP4J8Uski3uKtyWFp8+oGs5aaCRix1yCcI= -res/edje/cluster_page.edj__DEL__oXQPkNrYEB4djrOeNNEoyqqTPKDQ+u2GzDLaxIT5AIA= -res/edje/home.edj__DEL__MPsLzRdqMFBPp+0veKjxytfv3IRY/Rs0FUPKXiWTn7c= -res/edje/home_btn.edj__DEL__cjUutx3Xu/QaCKyySHoTGTM4O2a2ml4cn34QTMbJUAI= -res/edje/page_indicator_unit.edj__DEL__e/SQs2RRSuMGl4kkrXtNO8klSqR+9ig29iTQr3svMPw= -res/edje/widget.edj__DEL__bZiBoDmHJvmEm7iXTEZ4pVkriORUqUpnKHeFoxygJfM= +bin/homescreen-efl__DEL__2bQyZdR+e7aZA2LJArWX+QjznWXcHXO2sjkckoKtWTE= +res/edje/add_widget_viewer.edj__DEL__WVuCE87r6Uhnl66QCW4dLyP14oUDuhlPnL255AipxA8= +res/edje/app_icon.edj__DEL__rOtWL2AxfqW96Wwkch+uDB+/3DNmFjzR6RWNaTn2HI0= +res/edje/apps_chooser_btn.edj__DEL__ft6uFlFwFCuZim+9EGDAUXsYd3Chl5oN22kt9563Qoc= +res/edje/apps_folder_icon.edj__DEL__HfUJDyWtwwyrwWfg3GMNJVFdUhQgFV5uk8H6ZWTCh3Y= +res/edje/apps_folder_popup.edj__DEL__NemFZXEB7HdOyX7tqY73NgbdekXidPmVuYfLP1g1x0g= +res/edje/apps_view.edj__DEL__x1m1yASDqi3xtE37FecJxGmv9dgKTq2kg1hzKmnr+24= +res/edje/apps_view_bg.edj__DEL__JHAfBFXpv7S+wXFHC+qN5E+aTgpaofr4ixMApxn0mp8= +res/edje/cluster_allpage.edj__DEL__5mFrg7kh/41OXDQSoHPjuJ32IzminUUlsTH8m4Prs3U= +res/edje/cluster_allpage_thumbnail.edj__DEL__Tjc7p5sS3R89AeuLrdipemku9hGhg02dyHu2eLoo4q4= +res/edje/cluster_page.edj__DEL__dSDcDYHetB628r52JWmKTxom2tqL1FP4inJhWsSopcA= +res/edje/home.edj__DEL__CYUtxYlsFmW9C54nDWSIbwr6kkR1BtgMHIJQgjk3RH4= +res/edje/home_btn.edj__DEL__RQ79phnrU52HqrCRonx0x23PuMwsO0H/+kGUJsS5xDY= +res/edje/page_indicator_unit.edj__DEL__c9v+iek1DlusuZNu12LvN73sUY/mSftiw5y29JXVUGw= +res/edje/widget.edj__DEL__6yc1tUF/pJkCMzQEj32/O+Yz7VV5LW82L0CY3bINmnA= res/images/add_page_nor.png__DEL__hqnpwU7y0026fePoeHQUHiIsQkQkE6YMrEOLgWmi24s= res/images/add_page_press.png__DEL__FeY8xIiCwRls8AYZLRxOVUNJqWCB85HWNvWcSibOOhE= res/images/all_page_add.png__DEL__NaFgj2lXKUfBbZk4VmOeQamahPg7kXuwItRyeq8/bSY= @@ -92,4 +92,4 @@ res/locale/zh_HK/LC_MESSAGES/homescreen-efl.mo__DEL__XbmoPGvpjZD09qMkipbn/N/GNg/ res/locale/zh_TW/LC_MESSAGES/homescreen-efl.mo__DEL__oV3fIhDtXRMBjVuLETwBwYVDwiCHWvpDVpgtektLlM4= shared/res/homescreen-efl.png__DEL__1d0oEZHqPn+QzNzGIHwj9ODby6x9ggFs9uOsav6jPNs= tizen-manifest.xml__DEL__h4EjwXZOHtndaFT2qpZoLKMnGk4zNFA+q12iBS78pK4= -author-signature.xml__DEL__EY6S+Ad4xny2zAQc0Au13QBnOsCXTIgajj9kekYEcgQ= +author-signature.xml__DEL__4q3PBx0HUQUvwJI8vryFCEpk+uO2ZYtaCvetVRqA6kI= diff --git a/.sign/author-signature.xml b/.sign/author-signature.xml index 64a0de9..0cdac69 100644 --- a/.sign/author-signature.xml +++ b/.sign/author-signature.xml @@ -4,63 +4,63 @@ -m+q3OmoWJI96OeYhREaKgoFEowzqjVOWoU0o4DE3xIQ= +2bQyZdR+e7aZA2LJArWX+QjznWXcHXO2sjkckoKtWTE= -KaDoUUh0Qg+t+Cw1qHJXA6PUxIh2xuIQHnCu9OV4/hc= +WVuCE87r6Uhnl66QCW4dLyP14oUDuhlPnL255AipxA8= -Eu43j1+2+ea+oxjufrHtApUvLicZcONCnpZkQFMLZUs= +rOtWL2AxfqW96Wwkch+uDB+/3DNmFjzR6RWNaTn2HI0= -pAJeOFkfFmGw5h4Uvur4s7KUUVSRScqAnG8rBBiF/b8= +ft6uFlFwFCuZim+9EGDAUXsYd3Chl5oN22kt9563Qoc= -CjxtXzz3JIaxVzS7/4sMm1530dLMMbLt7bXsXUTaxVY= +HfUJDyWtwwyrwWfg3GMNJVFdUhQgFV5uk8H6ZWTCh3Y= -4jjfC1WUf47jMNjx4HiA4jSqqJT3TkWSY8Y9smNAnho= +NemFZXEB7HdOyX7tqY73NgbdekXidPmVuYfLP1g1x0g= -uPbY0nk6vZ4l4LCSw022vHFGA0ImbzIhlVJ8MzFltzc= +x1m1yASDqi3xtE37FecJxGmv9dgKTq2kg1hzKmnr+24= -1Ng05qvrCC315hPy/ekMeqiXqNfIYyt+LuUsU5m0eLE= +JHAfBFXpv7S+wXFHC+qN5E+aTgpaofr4ixMApxn0mp8= -WtmYWB3bi4WEzN28IlodOnIZ6T88qo52wR/xBwFB3kA= +5mFrg7kh/41OXDQSoHPjuJ32IzminUUlsTH8m4Prs3U= -QhYcaoP9mnP4J8Uski3uKtyWFp8+oGs5aaCRix1yCcI= +Tjc7p5sS3R89AeuLrdipemku9hGhg02dyHu2eLoo4q4= -oXQPkNrYEB4djrOeNNEoyqqTPKDQ+u2GzDLaxIT5AIA= +dSDcDYHetB628r52JWmKTxom2tqL1FP4inJhWsSopcA= -MPsLzRdqMFBPp+0veKjxytfv3IRY/Rs0FUPKXiWTn7c= +CYUtxYlsFmW9C54nDWSIbwr6kkR1BtgMHIJQgjk3RH4= -cjUutx3Xu/QaCKyySHoTGTM4O2a2ml4cn34QTMbJUAI= +RQ79phnrU52HqrCRonx0x23PuMwsO0H/+kGUJsS5xDY= -e/SQs2RRSuMGl4kkrXtNO8klSqR+9ig29iTQr3svMPw= +c9v+iek1DlusuZNu12LvN73sUY/mSftiw5y29JXVUGw= -bZiBoDmHJvmEm7iXTEZ4pVkriORUqUpnKHeFoxygJfM= +6yc1tUF/pJkCMzQEj32/O+Yz7VV5LW82L0CY3bINmnA= @@ -387,9 +387,9 @@ -jmy7AwRuptKwzUHMVwFhNITs1iuJsZKDH3ntFO2nJ0Zt0RJAwc9cR96bIh37hQ2k1FyAHQkPl8xV -xpVITLtZ38zyTSHJtNLqXrQiq0OOJvR2DPgnekiLZI3KzuYhJfJZpC7vh+wPfWTz1YtFgpyCfaWD -BSjoHZHNjag/Jop0vV4= +L3+ROfTa/630v48AAqEpYCbArvO764GkHhFtq/whERmMVO6JdxcNNZTSw+jrTHtzbujs9cc8peGd +ZZEfvbmlGoEheHNpcppw+93GdvA31Y234X6R6RSjxQ7mt8B0xBiJH28lMjpTwrOJD66EL6cujf42 +hAYIFDgsJ35hu6PmnW4= diff --git a/.sign/signature1.xml b/.sign/signature1.xml index 02cc75f..4546295 100644 --- a/.sign/signature1.xml +++ b/.sign/signature1.xml @@ -4,67 +4,67 @@ -EY6S+Ad4xny2zAQc0Au13QBnOsCXTIgajj9kekYEcgQ= +4q3PBx0HUQUvwJI8vryFCEpk+uO2ZYtaCvetVRqA6kI= -m+q3OmoWJI96OeYhREaKgoFEowzqjVOWoU0o4DE3xIQ= +2bQyZdR+e7aZA2LJArWX+QjznWXcHXO2sjkckoKtWTE= -KaDoUUh0Qg+t+Cw1qHJXA6PUxIh2xuIQHnCu9OV4/hc= +WVuCE87r6Uhnl66QCW4dLyP14oUDuhlPnL255AipxA8= -Eu43j1+2+ea+oxjufrHtApUvLicZcONCnpZkQFMLZUs= +rOtWL2AxfqW96Wwkch+uDB+/3DNmFjzR6RWNaTn2HI0= -pAJeOFkfFmGw5h4Uvur4s7KUUVSRScqAnG8rBBiF/b8= +ft6uFlFwFCuZim+9EGDAUXsYd3Chl5oN22kt9563Qoc= -CjxtXzz3JIaxVzS7/4sMm1530dLMMbLt7bXsXUTaxVY= +HfUJDyWtwwyrwWfg3GMNJVFdUhQgFV5uk8H6ZWTCh3Y= -4jjfC1WUf47jMNjx4HiA4jSqqJT3TkWSY8Y9smNAnho= +NemFZXEB7HdOyX7tqY73NgbdekXidPmVuYfLP1g1x0g= -uPbY0nk6vZ4l4LCSw022vHFGA0ImbzIhlVJ8MzFltzc= +x1m1yASDqi3xtE37FecJxGmv9dgKTq2kg1hzKmnr+24= -1Ng05qvrCC315hPy/ekMeqiXqNfIYyt+LuUsU5m0eLE= +JHAfBFXpv7S+wXFHC+qN5E+aTgpaofr4ixMApxn0mp8= -WtmYWB3bi4WEzN28IlodOnIZ6T88qo52wR/xBwFB3kA= +5mFrg7kh/41OXDQSoHPjuJ32IzminUUlsTH8m4Prs3U= -QhYcaoP9mnP4J8Uski3uKtyWFp8+oGs5aaCRix1yCcI= +Tjc7p5sS3R89AeuLrdipemku9hGhg02dyHu2eLoo4q4= -oXQPkNrYEB4djrOeNNEoyqqTPKDQ+u2GzDLaxIT5AIA= +dSDcDYHetB628r52JWmKTxom2tqL1FP4inJhWsSopcA= -MPsLzRdqMFBPp+0veKjxytfv3IRY/Rs0FUPKXiWTn7c= +CYUtxYlsFmW9C54nDWSIbwr6kkR1BtgMHIJQgjk3RH4= -cjUutx3Xu/QaCKyySHoTGTM4O2a2ml4cn34QTMbJUAI= +RQ79phnrU52HqrCRonx0x23PuMwsO0H/+kGUJsS5xDY= -e/SQs2RRSuMGl4kkrXtNO8klSqR+9ig29iTQr3svMPw= +c9v+iek1DlusuZNu12LvN73sUY/mSftiw5y29JXVUGw= -bZiBoDmHJvmEm7iXTEZ4pVkriORUqUpnKHeFoxygJfM= +6yc1tUF/pJkCMzQEj32/O+Yz7VV5LW82L0CY3bINmnA= @@ -391,9 +391,9 @@ -qXl6S1CnGZfGstZmUltEmMJxiduxspkKv1R44M7uZ7ePoD2IccsKzMnuKZquLyRUu5skZl1wmykr -rnnkd50X33k1gBPdGt1U1/k4//UspwMj0Y6KXxJkLtDY5GjLvW/Im6IRVUIWwIjmcOAqyrgp1JZ0 -juXBbfKx/HPuWmYhlJ0= +pnRU+eZVsqYLIkU6nOntCBZXBKn+Z7OZ9AUS3g0Truj6SQIjKwqihYlTZ0uhBJd+3ONv0h4V11mU +GPcm9SNCSWa0ASFhmNm2fSQIBShDt8RvUmrM6iD01eyCXfZLRZml7QfwmgjZwBIXn/5avE1aN3jF +4pxjhuVMUyBYXRbyC8o= diff --git a/inc/apps_view.h b/inc/apps_view.h index 97aebf1..a281ff1 100755 --- a/inc/apps_view.h +++ b/inc/apps_view.h @@ -23,6 +23,7 @@ #include "apps_data.h" Evas_Object *apps_view_create(Evas_Object *parent); +void apps_view_init(void); void apps_view_app_terminate(void); void apps_view_show(void); void apps_view_hide(void); diff --git a/inc/cluster_view.h b/inc/cluster_view.h index 3e1f671..0f2e57c 100755 --- a/inc/cluster_view.h +++ b/inc/cluster_view.h @@ -23,6 +23,7 @@ #include "view.h" Evas_Object *cluster_view_create(Evas_Object *parent); +void cluster_view_init(void); void cluster_view_app_terminate(void); void cluster_view_show(void); diff --git a/inc/conf.h b/inc/conf.h index 17872ab..04c2639 100755 --- a/inc/conf.h +++ b/inc/conf.h @@ -60,6 +60,9 @@ extern int __conf_get_window_w(); #define APPS_VIEW_EDIT_RIGHT_SCROLL_REGION (APPS_VIEW_W - APPS_VIEW_EDIT_LEFT_SCROLL_REGION) #define APPS_VIEW_EDIT_MOVE_GAP 2500 +#define APPS_VIEW_CHOOSER_TEXT_SIZE ((48) * (__conf_get_resolution_scale_h())) +#define APPS_VIEW_CHOOSER_BUTTON_TEXT_SIZE ((32) * (__conf_get_resolution_scale_h())) +#define APPS_VIEW_CHOOSER_TEXT "%s" #define CLUSTER_VIEW_W ((720) * (__conf_get_resolution_scale_w())) #define CLUSTER_VIEW_H ((1150) * (__conf_get_resolution_scale_h())) diff --git a/inc/edc_conf.h b/inc/edc_conf.h index 795f6bc..f9b8c47 100755 --- a/inc/edc_conf.h +++ b/inc/edc_conf.h @@ -97,11 +97,13 @@ #define SIGNAL_EDIT_MODE_OFF "edit_off" #define SIGNAL_CHOOSER_MODE_ON "chooser_on" #define SIGNAL_CHOOSER_MODE_OFF "chooser_off" +#define SIGNAL_CHOOSER_MODE_ON_FOLDER "chooser_on_folder" #define SIGNAL_CHOOSER_LEFT_BTN_CLICKED "chooser_left_btn_clicked" #define SIGNAL_CHOOSER_RIGHT_BTN_CLICKED "chooser_right_btn_clicked" #define SIGNAL_CHECK_CHECK_BOX "check" #define SIGNAL_UNCHECK_CHECK_BOX "uncheck" #define SIGNAL_CHANGED_CHECK_BOX "changed_checkbox_state" +#define SIGNAL_CHECK_HALF_CHECK_BOX "half-check" #define SIGNAL_APPS_VIEW_HIDE "apps_bg_hide" #define SIGNAL_APPS_VIEW_SHOW "apps_bg_show" diff --git a/res/edje/add_widget_viewer.edc b/res/edje/add_widget_viewer.edc index d923d07..92233cc 100755 --- a/res/edje/add_widget_viewer.edc +++ b/res/edje/add_widget_viewer.edc @@ -24,7 +24,7 @@ images { styles { style { name: "leaf,font"; - base: "font=Tizen text_class=T024 font_size=38 align=left color=#606060FF color_class=T024 ellipsis=1.0"; + base: "font=Tizen text_class=T024 font_size=38 align=left color=#808080FF color_class=T024 ellipsis=1.0"; } } diff --git a/res/edje/app_icon.edc b/res/edje/app_icon.edc index c1e12e9..8573798 100755 --- a/res/edje/app_icon.edc +++ b/res/edje/app_icon.edc @@ -304,6 +304,12 @@ collections { color: 255 255 255 255; visible: 1; } + description { + state: "half-checked" 0.0; + inherit: "default" 0.0; + color: 255 255 255 127; + visible: 1; + } } part { name: "icon_checkbox_touch"; @@ -399,7 +405,6 @@ collections { target: APPS_ICON_UNINSTALL_BUTTON; transition: DECELERATE ANIMATION_RESIZE_TIME; } - program{ name: "checkbox_show"; signal:SIGNAL_CHOOSER_MODE_ON; @@ -421,7 +426,15 @@ collections { target:"icon_checkbox_touch"; transition: DECELERATE ANIMATION_RESIZE_TIME; } - + program{ + name: "checkbox_show_folder"; + signal:SIGNAL_CHOOSER_MODE_ON_FOLDER; + source:SIGNAL_SOURCE; + action:STATE_SET "blank" 0.0; + target:"icon_checkbox_bg"; + target:"icon_checkbox_border"; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } //Set default value of check box. program{ name: "checkbox_check"; @@ -430,6 +443,13 @@ collections { action:STATE_SET "checked" 0.0; target:"icon_checkbox"; } + program{ + name: "checkbox_half_check"; + signal:SIGNAL_CHECK_HALF_CHECK_BOX; + source:SIGNAL_SOURCE; + action:STATE_SET "half-checked" 0.0; + target:"icon_checkbox"; + } //Set default value of check box. program{ name: "checkbox_uncheck"; diff --git a/res/edje/apps_chooser_btn.edc b/res/edje/apps_chooser_btn.edc index ae1eb95..642d888 100755 --- a/res/edje/apps_chooser_btn.edc +++ b/res/edje/apps_chooser_btn.edc @@ -19,12 +19,17 @@ collections { images { } + styles { + style{ + name: "label"; + base: "font=Tizen:style=Regular align=center color=#FFFFFFFF font_size=26 ellipsis=1.0"; + } + } group { name: GROUP_APPS_CHOOSER_BTN_LY; parts { part { name: "chooser_spacer"; type: SPACER; - scale: 0; mouse_events: 0; description { state: "default" 0.0; @@ -34,8 +39,7 @@ collections { } part { name: APPS_CHOOSER_LEFT_LABEL; - type: TEXT; - scale: 1; + type: TEXTBLOCK; description { color: 255 255 255 255; @@ -44,11 +48,11 @@ collections { text { align: 0.25 0.90; - size: 11; + style: label; text: "CANCEL"; } rel1 { relative: 0.0 0.0;to: "chooser_spacer"; } - rel2 { relative: 0.33 1.0;to: "chooser_spacer"; } + rel2 { relative: 0.28 1.0;to: "chooser_spacer"; } } description { state: "show" 0.0; @@ -60,14 +64,13 @@ collections { name: "chooser_left_clickable_space"; type: RECT; mouse_events: 1; - scale: 0; description { state: "default" 0.0; color: 0 0 0 0; visible: 0; rel1 { relative: 0.0 0.0; to: APPS_CHOOSER_LEFT_LABEL; } - rel2 { relative: 1.0 1.0; to: APPS_CHOOSER_LEFT_LABEL; } + rel2 { relative: 1.0 1.5; to: APPS_CHOOSER_LEFT_LABEL; } } description { state: "show" 0.0; @@ -77,8 +80,7 @@ collections { } part { name: APPS_CHOOSER_MIDDLE_LABEL; - type: TEXT; - scale: 1; + type: TEXTBLOCK; description { state: "default" 0.0; @@ -88,7 +90,7 @@ collections { { align: 0.5 0.90; text: "0 Selected"; - size: 16; + style: label; } rel1 { relative: 0.30 0.0;to: "chooser_spacer"; } rel2 { relative: 0.70 1.0;to: "chooser_spacer"; } @@ -101,8 +103,7 @@ collections { } part { name: APPS_CHOOSER_RIGHT_LABEL; - type: TEXT; - scale: 1; + type: TEXTBLOCK; description { state: "default" 0.0; @@ -111,10 +112,10 @@ collections { text { align: (1.0 - 0.25) 0.90; - size: 11; + style: label; text: "DONE"; } - rel1 { relative: 0.66 0.0;to: "chooser_spacer"; } + rel1 { relative: 0.72 0.0;to: "chooser_spacer"; } rel2 { relative: 1.0 1.0;to: "chooser_spacer"; } } description { @@ -127,14 +128,13 @@ collections { name: "chooser_right_clickable_space"; type: RECT; mouse_events: 1; - scale: 0; description { state: "default" 0.0; visible: 0; color: 0 0 0 0; rel1 { relative: 0.0 0.0;to: APPS_CHOOSER_RIGHT_LABEL; } - rel2 { relative: 1.0 1.0;to: APPS_CHOOSER_RIGHT_LABEL; } + rel2 { relative: 1.0 1.5;to: APPS_CHOOSER_RIGHT_LABEL; } } description { state: "show" 0.0; diff --git a/src/apps_view.c b/src/apps_view.c index 9e68276..f14e182 100755 --- a/src/apps_view.c +++ b/src/apps_view.c @@ -168,11 +168,14 @@ Evas_Object *apps_view_create(Evas_Object *win) return NULL; } - ecore_thread_run(apps_data_init, __apps_view_fill_apps, __apps_view_fill_apps, NULL); - return apps_view_s.scroller; } +void apps_view_init(void) +{ + ecore_thread_run(apps_data_init, __apps_view_fill_apps, __apps_view_fill_apps, NULL); +} + void apps_view_app_terminate(void) { evas_object_event_callback_del(apps_view_s.scroller, EVAS_CALLBACK_MOUSE_DOWN, __apps_view_scroller_down_cb); @@ -383,6 +386,9 @@ Evas_Object* apps_view_create_icon(app_data_t *item) elm_object_signal_emit(item->app_layout, SIGNAL_UNINSTALL_BUTTON_SHOW, SIGNAL_SOURCE); } else if (apps_view_s.view_state == VIEW_STATE_CHOOSER) { elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_ON, SIGNAL_SOURCE); + if (item->is_checked) { + elm_object_signal_emit(item->app_layout, SIGNAL_CHECK_CHECK_BOX, SIGNAL_SOURCE); + } } __apps_view_badge_update_icon(item); @@ -786,6 +792,27 @@ static void __apps_view_icon_check_changed_cb(void *data, Evas_Object *obj, cons elm_object_signal_emit(item->app_layout, SIGNAL_UNCHECK_CHECK_BOX, SIGNAL_SOURCE); apps_view_s.selected_items = eina_list_remove(apps_view_s.selected_items, item); item->is_checked = !item->is_checked; + + if (apps_view_s.opened_folder && item->parent_db_id == apps_view_s.opened_folder->db_id) { + bool blank = true; + Eina_List *list = NULL; + app_data_t *folder_item = NULL; + Eina_List *find_list; + + apps_data_get_folder_item_list(&list, apps_view_s.opened_folder); + + EINA_LIST_FOREACH(list, find_list, folder_item) { + if (folder_item->is_checked) { + blank = false; + break; + } + } + if (blank) { + elm_object_signal_emit(apps_view_s.opened_folder->app_layout, SIGNAL_UNCHECK_CHECK_BOX, SIGNAL_SOURCE); + } else { + elm_object_signal_emit(apps_view_s.opened_folder->app_layout, SIGNAL_CHECK_HALF_CHECK_BOX, SIGNAL_SOURCE); + } + } } else { int item_count = eina_list_count(apps_view_s.selected_items); if (apps_view_s.selected_item_count + item_count >= APPS_FOLDER_MAX_ITEM) { @@ -798,6 +825,27 @@ static void __apps_view_icon_check_changed_cb(void *data, Evas_Object *obj, cons elm_object_signal_emit(item->app_layout, SIGNAL_CHECK_CHECK_BOX, SIGNAL_SOURCE); apps_view_s.selected_items = eina_list_append(apps_view_s.selected_items, item); item->is_checked = !item->is_checked; + + if (apps_view_s.opened_folder && item->parent_db_id == apps_view_s.opened_folder->db_id) { + bool all_check = true; + Eina_List *list = NULL; + app_data_t *folder_item = NULL; + Eina_List *find_list; + + apps_data_get_folder_item_list(&list, apps_view_s.opened_folder); + + EINA_LIST_FOREACH(list, find_list, folder_item) { + if (!folder_item->is_checked) { + all_check = false; + break; + } + } + if (all_check) { + elm_object_signal_emit(apps_view_s.opened_folder->app_layout, SIGNAL_CHECK_CHECK_BOX, SIGNAL_SOURCE); + } else { + elm_object_signal_emit(apps_view_s.opened_folder->app_layout, SIGNAL_CHECK_HALF_CHECK_BOX, SIGNAL_SOURCE); + } + } } } __apps_view_update_chooser_text(eina_list_count(apps_view_s.selected_items)); @@ -895,6 +943,8 @@ void apps_view_set_state(view_state_t state) __apps_view__set_icon_label_style(item, VIEW_STATE_CHOOSER); if (!item->is_folder) elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_ON, SIGNAL_SOURCE); + else if (item != apps_view_s.dest_folder) + elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_ON_FOLDER, SIGNAL_SOURCE); elm_object_signal_emit(item->app_layout, SIGNAL_UNINSTALL_BUTTON_HIDE_ANI, SIGNAL_SOURCE); } } @@ -991,7 +1041,6 @@ static void __apps_view_menu_create_folder_cb(void *data, Evas_Object *obj, void menu_hide(); apps_view_s.dest_folder = apps_data_add_folder(); - //apps_view_set_state(VIEW_STATE_CHOOSER); __apps_view_open_folder_popup(apps_view_s.dest_folder); } @@ -1096,6 +1145,7 @@ static void __apps_view_close_folder_popup_done(void) apps_data_update_folder(apps_view_s.opened_folder); } + int page_idx = apps_view_s.opened_folder->position / (APPS_VIEW_COL * APPS_VIEW_ROW); Eina_List *list = apps_data_get_list(); app_data_t *item = NULL; Eina_List *find_list; @@ -1109,6 +1159,8 @@ static void __apps_view_close_folder_popup_done(void) apps_view_s.folder_popup_ly = NULL; apps_view_s.opened_folder = NULL; apps_view_s.animator = NULL; + + __apps_view_scroll_to_page(page_idx, true); } static void __apps_view_hide_folder_cb(void *data, Evas_Object *obj, const char *emission, const char *source) @@ -1170,14 +1222,20 @@ static void __apps_view_chooser_right_btn_clicked(void *data, Evas_Object *obj, static void __apps_view_update_chooser_text(int item_count) { - char text[STR_MAX]; + char text1[STR_MAX], text2[STR_MAX]; if (apps_view_s.selected_item_count + item_count > 0) { - sprintf(text, _("IDS_MEMO_HEADER_PD_SELECTED_ABB2"), apps_view_s.selected_item_count + item_count); + sprintf(text1, _("IDS_MEMO_HEADER_PD_SELECTED_ABB2"), apps_view_s.selected_item_count + item_count); } else - sprintf(text, ""); - elm_object_part_text_set(apps_view_s.chooser_btn, APPS_CHOOSER_MIDDLE_LABEL, text); - elm_object_part_text_set(apps_view_s.chooser_btn, APPS_CHOOSER_LEFT_LABEL, _("IDS_COM_SK_CANCEL")); - elm_object_part_text_set(apps_view_s.chooser_btn, APPS_CHOOSER_RIGHT_LABEL, _("IDS_COM_SK_DONE")); + sprintf(text1, ""); + + sprintf(text2, APPS_VIEW_CHOOSER_TEXT, (int)APPS_VIEW_CHOOSER_TEXT_SIZE, text1); + elm_object_part_text_set(apps_view_s.chooser_btn, APPS_CHOOSER_MIDDLE_LABEL, text2); + + sprintf(text2, APPS_VIEW_CHOOSER_TEXT, (int)APPS_VIEW_CHOOSER_BUTTON_TEXT_SIZE, _("IDS_TPLATFORM_ACBUTTON_CANCEL_ABB")); + elm_object_part_text_set(apps_view_s.chooser_btn, APPS_CHOOSER_LEFT_LABEL, text2); + + sprintf(text2, APPS_VIEW_CHOOSER_TEXT, (int)APPS_VIEW_CHOOSER_BUTTON_TEXT_SIZE, _("IDS_TPLATFORM_ACBUTTON_DONE_ABB")); + elm_object_part_text_set(apps_view_s.chooser_btn, APPS_CHOOSER_RIGHT_LABEL, text2); } static void __apps_view_badge_update_cb(unsigned int action, const char *app_id, unsigned int count, void *user_data) @@ -1251,9 +1309,9 @@ static void __apps_view_plus_icon_clicked(void *data, Evas_Object *obj, const ch { app_data_t *item = (app_data_t *)data; Eina_List *folder_list = NULL; - apps_view_set_state(VIEW_STATE_CHOOSER); __apps_view_close_folder_popup_done(); apps_view_s.dest_folder = item; + apps_view_set_state(VIEW_STATE_CHOOSER); elm_object_signal_emit(item->app_layout, SIGNAL_ICON_DISABLE, SIGNAL_SOURCE); apps_data_get_folder_item_list(&folder_list, item); diff --git a/src/cluster_view.c b/src/cluster_view.c index 5f6043a..38742c4 100755 --- a/src/cluster_view.c +++ b/src/cluster_view.c @@ -154,9 +154,6 @@ Evas_Object *cluster_view_create(Evas_Object *win) { cluster_view_s.win = win; - widget_viewer_init(win); - cluster_data_init(); - Evas_Object *base_layout = __cluster_view_create_base_gui(win); if (base_layout == NULL) { @@ -167,10 +164,16 @@ Evas_Object *cluster_view_create(Evas_Object *win) cluster_view_s.indicator = page_indictor_create(cluster_view_s.scroller); page_indicator_scroller_resize(cluster_view_s.indicator, CLUSTER_VIEW_W , CLUSTER_VIEW_H); + return base_layout; +} + +void cluster_view_init(void) +{ + widget_viewer_init(cluster_view_s.win); + cluster_data_init(); + __cluster_view_create_cluster(); __cluster_view_create_menu(); - - return base_layout; } void cluster_view_app_terminate(void) diff --git a/src/homescreen-efl.c b/src/homescreen-efl.c index c448f53..2b80705 100755 --- a/src/homescreen-efl.c +++ b/src/homescreen-efl.c @@ -66,7 +66,8 @@ static void __homescreen_efl_change_view(void); static Eina_Bool __homescreen_efl_show_apps_anim(void *data, double pos); static Eina_Bool __homescreen_efl_show_cluster_anim(void *data, double pos); -static Eina_Bool __homescreen_efl_create_view(void *data); +static bool __homescreen_efl_create_view(void); +static Eina_Bool __homescreen_efl_init_view(void *data); static void __homescreen_efl_lang_changed_cb(app_event_info_h event_info, void *user_data) { @@ -108,10 +109,12 @@ static bool __homescreen_efl_app_create_cb(void *data) __homescreen_efl_set_wallpaper(); evas_object_show(main_info.win); + __homescreen_efl_create_view(); + __homescreen_efl_set_conformant(); __homescreen_efl_create_home_btn(); - ecore_timer_add(HOME_LOADING_TIME, __homescreen_efl_create_view, NULL); + ecore_timer_add(HOME_LOADING_TIME, __homescreen_efl_init_view, NULL); return true; } @@ -378,12 +381,12 @@ void homescreen_efl_btn_hide(homescreen_view_t view_t) } } -static Eina_Bool __homescreen_efl_create_view(void *data) +static bool __homescreen_efl_create_view(void) { main_info.cluster_layout = cluster_view_create(main_info.win); if (main_info.cluster_layout == NULL) { LOGE("main_info.cluster_layout == NULL"); - return ECORE_CALLBACK_CANCEL; + return false; } evas_object_move(main_info.cluster_layout, 0, INDICATOR_H); evas_object_show(main_info.cluster_layout); @@ -391,10 +394,19 @@ static Eina_Bool __homescreen_efl_create_view(void *data) main_info.apps_layout = apps_view_create(main_info.win); if (main_info.apps_layout == NULL) { LOGE("main_info.apps_layout == NULL"); - return ECORE_CALLBACK_CANCEL; + return false; } evas_object_move(main_info.apps_layout, 0, main_info.root_height); evas_object_show(main_info.apps_layout); + return true; +} + + +static Eina_Bool __homescreen_efl_init_view(void *data) +{ + cluster_view_init(); + apps_view_init(); + return ECORE_CALLBACK_CANCEL; } -- 2.7.4 From 876805514726685b663fff7a88d639c032ab8813 Mon Sep 17 00:00:00 2001 From: "gs86.lee" Date: Thu, 2 Jun 2016 17:33:07 +0900 Subject: [PATCH 05/16] Prevent overlapping main layout Change-Id: I744614fe0efc87f83dab9ee65e66156c172c5199 --- src/homescreen-efl.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/homescreen-efl.c b/src/homescreen-efl.c index 2b80705..bdb2612 100755 --- a/src/homescreen-efl.c +++ b/src/homescreen-efl.c @@ -180,19 +180,21 @@ static void __homescreen_efl_get_window_size(Evas_Object *win) static void __homescreen_efl_set_wallpaper(void) { - char edj_path[PATH_MAX] = {0, }; const char *bg_path = util_get_res_file_path(IMAGE_DIR"/default_bg.png"); char *buf = NULL; int ret = -1; - snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/home.edj")); + if (main_info.main_layout == NULL) { + char edj_path[PATH_MAX] = {0, }; + snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/home.edj")); - main_info.main_layout = elm_layout_add(main_info.win); - elm_layout_file_set(main_info.main_layout, edj_path, GROUP_HOME_LY); - evas_object_size_hint_weight_set(main_info.main_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(main_info.win, main_info.main_layout); + main_info.main_layout = elm_layout_add(main_info.win); + elm_layout_file_set(main_info.main_layout, edj_path, GROUP_HOME_LY); + evas_object_size_hint_weight_set(main_info.main_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_win_resize_object_add(main_info.win, main_info.main_layout); - evas_object_show(main_info.main_layout); + evas_object_show(main_info.main_layout); + } if (main_info.bg == NULL) { main_info.bg = evas_object_image_filled_add(evas_object_evas_get(main_info.main_layout)); -- 2.7.4 From 5e8631af07b574b54a80a445251e0fd3e9ecaad8 Mon Sep 17 00:00:00 2001 From: YoungHun Cho Date: Thu, 2 Jun 2016 18:02:08 +0900 Subject: [PATCH 06/16] GUI 3.0 - folder image Change-Id: I8b167696836a2c7375134b48e0802b1b58722dc6 Signed-off-by: YoungHun Cho --- inc/apps_view.h | 2 +- res/edje/apps_folder_icon.edc | 71 ++++++---------------------- res/images/folder_appicon_bg.png | Bin 3797 -> 6266 bytes res/images/folder_appicon_bg_impossible.png | Bin 6376 -> 7623 bytes res/images/folder_appicon_bg_possible.png | Bin 6361 -> 7551 bytes src/apps_data.c | 14 +++--- src/apps_view.c | 17 ++++--- 7 files changed, 33 insertions(+), 71 deletions(-) mode change 100644 => 100755 res/images/folder_appicon_bg_impossible.png mode change 100644 => 100755 res/images/folder_appicon_bg_possible.png diff --git a/inc/apps_view.h b/inc/apps_view.h index a281ff1..88036b3 100755 --- a/inc/apps_view.h +++ b/inc/apps_view.h @@ -29,7 +29,7 @@ void apps_view_show(void); void apps_view_hide(void); void apps_view_show_anim(double pos); void apps_view_hide_anim(double pos); -void apps_view_reroder(void); +void apps_view_reorder(void); void apps_view_folder_reroder(void); void apps_view_update_folder_icon(app_data_t *item); diff --git a/res/edje/apps_folder_icon.edc b/res/edje/apps_folder_icon.edc index 8b92b74..927f4be 100755 --- a/res/edje/apps_folder_icon.edc +++ b/res/edje/apps_folder_icon.edc @@ -49,34 +49,6 @@ collections { aspect: 1.0 1.0; aspect_preference: BOTH; image { - normal: "../res/images/folder_appicon_empty_bg.png"; - } - } - description { - state: "item_count_1" 0.0; - inherit: "default" 0.0; - image { - normal: "../res/images/folder_appicon_bg.png"; - } - } - description { - state: "item_count_2" 0.0; - inherit: "default" 0.0; - image { - normal: "../res/images/folder_appicon_bg.png"; - } - } - description { - state: "item_count_3" 0.0; - inherit: "default" 0.0; - image { - normal: "../res/images/folder_appicon_bg.png"; - } - } - description { - state: "item_count_4" 0.0; - inherit: "default" 0.0; - image { normal: "../res/images/folder_appicon_bg.png"; } } @@ -119,34 +91,30 @@ collections { type: SWALLOW; description { state: "default" 0.0; - rel1{relative: 0.325 0.325; to: SIZE_SETTER;} - rel2{relative: 0.675 0.675; to: SIZE_SETTER;} + rel1{relative: 0.185 0.185; to: SIZE_SETTER;} + rel2{relative: 0.485 0.485; to: SIZE_SETTER;} aspect: 1.0 1.0; aspect_preference: BOTH; visible: 0; } description { state: "item_count_1" 0.0; - rel1{relative: 0.325 0.325; to: SIZE_SETTER;} - rel2{relative: 0.675 0.675; to: SIZE_SETTER;} + inherit: "default" 0.0; visible: 1; } description { state: "item_count_2" 0.0; - rel1{relative: 0.135 0.325; to: SIZE_SETTER;} - rel2{relative: 0.485 0.675; to: SIZE_SETTER;} + inherit: "default" 0.0; visible: 1; } description { state: "item_count_3" 0.0; - rel1{relative: 0.185 0.185; to: SIZE_SETTER;} - rel2{relative: 0.485 0.485; to: SIZE_SETTER;} + inherit: "default" 0.0; visible: 1; } description { state: "item_count_4" 0.0; - rel1{relative: 0.185 0.185; to: SIZE_SETTER;} - rel2{relative: 0.485 0.485; to: SIZE_SETTER;} + inherit: "default" 0.0; visible: 1; } } @@ -155,8 +123,8 @@ collections { type: SWALLOW; description { state: "default" 0.0; - rel1{relative: 0.488 0.325; to: SIZE_SETTER;} - rel2{relative: 0.838 0.675; to: SIZE_SETTER;} + rel1{relative: 0.515 0.185; to: SIZE_SETTER;} + rel2{relative: 0.815 0.485; to: SIZE_SETTER;} aspect: 1.0 1.0; aspect_preference: BOTH; visible: 0; @@ -169,20 +137,17 @@ collections { } description { state: "item_count_2" 0.0; - rel1{relative: 0.488 0.325; to: SIZE_SETTER;} - rel2{relative: 0.838 0.675; to: SIZE_SETTER;} + inherit: "default" 0.0; visible: 1; } description { state: "item_count_3" 0.0; - rel1{relative: 0.515 0.185; to: SIZE_SETTER;} - rel2{relative: 0.815 0.485; to: SIZE_SETTER;} + inherit: "default" 0.0; visible: 1; } description { state: "item_count_4" 0.0; - rel1{relative: 0.515 0.185; to: SIZE_SETTER;} - rel2{relative: 0.815 0.485; to: SIZE_SETTER;} + inherit: "default" 0.0; visible: 1; } } @@ -209,14 +174,12 @@ collections { } description { state: "item_count_3" 0.0; - rel1{relative: 0.185 0.515; to: SIZE_SETTER;} - rel2{relative: 0.485 0.815; to: SIZE_SETTER;} + inherit: "default" 0.0; visible: 1; } description { state: "item_count_4" 0.0; - rel1{relative: 0.185 0.515; to: SIZE_SETTER;} - rel2{relative: 0.485 0.815; to: SIZE_SETTER;} + inherit: "default" 0.0; visible: 1; } } @@ -248,8 +211,7 @@ collections { } description { state: "item_count_4" 0.0; - rel1{relative: 0.515 0.515; to: SIZE_SETTER;} - rel2{relative: 0.815 0.815; to: SIZE_SETTER;} + inherit: "default" 0.0; visible: 1; } } @@ -264,7 +226,6 @@ collections { target: "icon_1"; target: "icon_2"; target: "icon_3"; - target: "folder_icon_bg_image"; transition: DECELERATE 0.2; } @@ -277,7 +238,6 @@ collections { target: "icon_1"; target: "icon_2"; target: "icon_3"; - target: "folder_icon_bg_image"; transition: DECELERATE 0.2; } @@ -290,7 +250,6 @@ collections { target: "icon_1"; target: "icon_2"; target: "icon_3"; - target: "folder_icon_bg_image"; transition: DECELERATE 0.2; } program { @@ -302,7 +261,6 @@ collections { target: "icon_1"; target: "icon_2"; target: "icon_3"; - target: "folder_icon_bg_image"; transition: DECELERATE 0.2; } program { @@ -314,7 +272,6 @@ collections { target: "icon_1"; target: "icon_2"; target: "icon_3"; - target: "folder_icon_bg_image"; } program { diff --git a/res/images/folder_appicon_bg.png b/res/images/folder_appicon_bg.png index 5d3bec12d4e2eff1e5c15fd69506b87e09634841..210055586e39d9a540831dccf6f2461a665a87bb 100755 GIT binary patch literal 6266 zcmV-=7=`DFP)lcKyU?7@^>pcU!!(eT(UEBv081{YuBWi^Ic zglp*(txGyBM^&aPlBJ);fIqU!o{}#bV9idvQ1rr3W^<6!_69iZN(Ys-Azfb@4q{19 z>TEi!(1%79`ja;|@Kr6*R3s9q=mcJ`cfoJ!`A{a%z^hNybJ=S|r1I6sIEmsi!x`qa z(F}d(Ei3sk3)lkmQh)M8tHta${hS`4&@v$`$x)39_sZ<&uB+#Ne8B*lC!fzZ?_*!> zkNuM;o4l{lV{=i|Lh+j-E&ul%8;VtWzAY4`5hwS^?02rJ7e8O_vGc{jOt2~jwh};J z3nd>}E6AU-F%&o7bI>%67=|I=GuuqijKIqS4^7jwSxr?{@;z^WHA?A7pl@Ek+WTNB z_Ybu1`CrfLS~uPD=Z3$tOW};X9FpGKB1k`W(6Vic^JM|avMgx;C;%YKGKx*cP&_e- zlJNxoj^p1XlvOggWs!!@uV%C4c!psSMN^1_b8tKoL;<-RF63~zkjv#pPNxgmM3Gzv z0M6p$pp^r(jncVoF7&1Sr~5u}LUz69quYEho9zqFuo%RiPgtMplN(y>*|%!w)Cz)U ziO0di1CTt=69y+RaAW{QfOn)>07JoFEw^2-s(!T@BG9jas0di zd%i$DFqGcgBBno1=~_uv6u{s(4g(_)Mn)#aQGZ_#8XFlV62!6$VT!OIq7v*A8w06iWaMZ-gbL~>WGyacUoUV~M)hrDD8R{6!GIKZpyt%3BTFZIOlKAB+m z+`q*Zoh7jpwZOnGBCdZ7r61UAm%c@5Dpl+{45(Txp}@HD@EGdAfJU*zfcgb>ns+jm zg5cV4A9+(SJQPBGz1>7zx2)fYYHRDr?-@|jQ?}etQQ)@SmD$uFs3Si*{!$k!k z#<%s!+|K5KmzDWk`-Yp}W&8pzsMp(*x@5CMjuitHfCFh%a42&4&;fMt&DV*oaygyL z4%F%A!S|k3vsi-Pz|Zss0UMsN*z@f0WG>t6$b^p8-Vj_^i49jMv4Nb#?(0oovE3!T z$!Kc9mqoxaB8$~7c(|P%r%71CW6zeND0CqZc*&WJf@5b5t!vqUR>qklH*9yNUj!#fH}!T|0$>)u$wyibqUgi~5^DvCVOK;SQo;P7ng*2|I8wa8PZt4nIoi=m zohxXKO>5BFwd;x07ILg~n$ZtWiaW)wKOQM|?(1$e29^d@JfF|OxT9%@D}5MgS;}l5 z$ivbMjoRCepdJh=zYIOzg>tUo+2O@Leyo+`s)09Vd;^|hE%;Wl>FTC=hh_6Q==HdV z-{zLj(0Z0OmsF7?_m3VvgjMhuvWYhAG_h0h+Qrx4*?|YKXapTOe2^qG2#?Hw!Mxq( z&YYQSyvknq+-AUnw^L@@WS0hbP2tV9i};4&#*elhLa9^|+3n&~f*xJe4R`)t*A*ii&j$4 zZMpD{M+y#!jvYBf>}?^n>}4{wwza!nEMH>Fp!THW(@lbOQz7-MV@Yj4egxmJLX!5m z5*o7FIgNyVm`CkxtyppktK}wp=0>IQ%FmW1v7|6rLVIDD4{mm*9|z!!whKH@E_AZ} zI99(Y>h#z8(~rh>)Z{R6s0=EUf{rfM>wF{@xzKOA=s+2mDz%F?=N`E6`u2qoijasxE<(Y35*#SM6wgkG4Kx4>gF+Fql7zfcK+{pG4e&}cIx_R~0|$#?FuRPe&8WS}9;TaVXIk{Lz?1Ch!KQQziA@ShKsC9#{m zna7OY2-0Dj<4|az7YEqtl6Eq?kik_kZwLB&39o4r!P)HB{-G>Y{F^@Kr`EYLUgJsy zk0xVLl)x$&VlV)9=5PtCEleZvE%a^1yyjTrikLuY>~n3yj~RwLgQ0;rKc0>WBO5(( z(CAG9y$`{(BuN)s?}us(fxzswtlvb2tQhrtOsllKW>te&RAQg)cKyYAw;VK+)))+_ z$Ye;rCCk}a+{VDL63pvpbb|2SFpt1!!czwZ?k(y(H9E78LGSK!ohHbTfQlF$9U-nc zW!ct6C*U{a=Ep{dk;mhm9w>G$T~ZDzVSJ?RIbUN|zc-D~sZjG1Ai=20KyK z=e&G?*WgG2?^%=HCq7=Q`Od!XfN6rl$E)9RGB6xtc0f!`*;nXX4mCpP+F|L+^V5LW zz;oa|sAejceVWs@)N?T5R#9*ma z40<^>dC;}zsN!4}^69glHO(%$#wcS9z)nV^4JbP#q}A#KXrmGKEdlm>`0IKCY<_%f zgI&4VXsj%Q1LbroLAr0yl;sI8wTGOBk%*#*Rr6f$xY0}Rn&CVl^qbxqZk0o>GpZ9o z)&t%YtNKzMEgnyhE;UA2Ia$s2ug`b!Q_d4i#-QBmuLbAe}DkBIz-EKEB!mQp!t;;!2cw5k>1dK*g(iDTTie!1hRYnSqX#pD} z%p9yvY%KkY4$tZun=(hPb2?nb-dEOAfmPPX92c58<@e0Sjiz+!8_%BFz}h)<2SRhf zhpsL#^qzohiEI^?^s>ZDHp&#%x!I4>4o2N&lzW5(v{GPzu0>0&jx$8~jIi_C(bX)^ zXw62bgDNI&wI!`pDzU1m#JU93$l6)8&TNuOm>|Ofwn~A`$FK(2xp?GeMMiTP2E+IR zb-;z6<IGC8w8 zm2I++txjN34kJ<=I0sygK{QA#Z78vtKCO~1sy?Eo(u+pZ-veSSWh&~$$6#8tguoiq z&SwEDvMOb?1L*HuqQgSAN|Bwmu|^t~HP_*w#i8?*ZZWYcRWXeUO_#`~Gn8)Q45o9( zaT4Srb={KKY9x{;o;e@LEN!bJR@LX`iSyOhoRPJdShcDcF}&QDihB4+~;hOG2VM%#@g+2i>8W|K#<6Q6fmN}w8g3tUPTYP=OU<;CHFIOvxcF`1NVnAC(y3vJ%(G=iUE{)UW+gFZs@9myetJ@3KIjs%b25yupCqM_XtP^R)Dk#N zQaWX-hT}4;ML`g|R1HXm#f!A=?KtDrLGo zGBJU`dA6pKU)ZVQL1JNn2Q$6{CI|cMcNZF^K^;B(X2G}TmAC!Ju3tN`)oizjIn4N5^gLuD!rg8hR=O_2E#9%^*o{#*awV!Mv|;G?kcsb zvV@`$a}^92yoj;*`t4k}s8@aD(1DUJ{6??u?C#Z(wdR2|i|SXdB4bK&ahFA|+H_LKHMk7Om)2kO-iw_oVc|HNpfOlqm zm9jK?q0@Ws*KQZb&pn4Ju&7jIar@xTp`Si~I`DL%eI#u7M+ZYBz_ui}u%rTyMlq;T z0cQ!?bEj*c`qFK-pOlrkYCX8W?3;S6$A9{oril%O_OaWYsBXn2xo$O9*Hr`cOJhkL zFzwO*|8~`X_V(-iEoR#TwY8P0;+gGmzp(AZh&xtjpJXb5hC+R$gL7{Eb}LT^4R`@O z85-!{rJz}18DfnLYP-iTc;v>()N2l~2+#|M>)i#@9Z zJOEyV`g%}0nJma-;4Sd@@w=UJp>vu8J5T!Xm4n0kI=tIMlQyN$ei>Ot1HD~jVOy4C zFIq{3XNNd7&x=Adh%9tu~P+WkYDIkAqZul#5pwBkCO3t(fvXD{l3$`=ixhD ztra_H3-JJZ?`uBv`%d4s-l#(^wr?^KN4;HVi8lz+dm)Yqf@dQAfblcJvz7uX@D78z z?cqDzhswL&BB)}0Hn^vLd&b|?HtLBMJ4VSWST*;eVf-fN94qDm>dul|1{9tRo)MN( zDaMa>%roHK*Y9wjD))Meriy3M4}d?Q6q}MH9*dI75S0C(Xb-ep z)pNc80>$x(@JPwA`=9y(op1JvoA=)9QWo-ls6%hOR?!Kr+=Fv<(!-C&osIgqA{bmO;NeTl>_*A6j=O{2z%#=5>9a&$oCs z)`%XtXWgAopJ=#eFm5lYpK2B}WMnXex;sx{?>S6@c&HfBQ=Pi1slh$Ly)pP6;a`S928X}NP+!sgjbCHCO{KUM_buB)ysxcvj)>95_{5I?Z{lJJ^x zW{ZL_!R_%PpT7o)b~~{cpx&0MS0p6d^Xto4jeL7No|2FGU^i?oAJ{y7`Ul;gxx8-jp-cTS=VIB!JfOKm2%7FyuW7lC z?~74VJRR{QT8G_V{q{$iA20QossnaDD*0Uc)DL<-zcm>D!WMtjOH<2p$cUy>sC~j4 zZ69+!`t1)lKUVJX^EHWPe6JYTKihNNf-&b4PxkzEi!b#rTLaN%7pE+XDOVE;rymb{ zyE`KG&wlTtO}{$d*Ecg47}!@T1orv`zuCLK+h4QFBY$_jH}UTE-bwd-9j(P8aELl% z?#VL|=X3or;r^f9ziND`?!^pPwi@TYoMIFS-tYdmzLr(a%%iJZsq0!ialeyY8c9xM zIlVLHn&^+)U+quuU--$#8#}96lTZi#^a@%o^muDC7j)|P1?=*BR@mh&D;-IC?> ko6dGFhvzo~_WuMJ05S^0gHBuTh5!Hn07*qoM6N<$f>Sw1r~m)} literal 3797 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 A`v3p{ diff --git a/res/images/folder_appicon_bg_impossible.png b/res/images/folder_appicon_bg_impossible.png old mode 100644 new mode 100755 index 99344ad49c1e34768da3c0dbcd0b21526200204d..84d1fec7002212406ecedc6a8de3d4b4dd9584bf GIT binary patch delta 7617 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 literal 6376 zcmbVRcT^MGx~D4y@F)hQiu4{rCv*tC_t0xVz$B1_-UI{=Akw5r2kABRCQU>{L{Jby zRf_Z`0wVRrbMCqC{c+cOYrR=Bv)kAAZ?FB$o>)VD4H_y&Dk35x8ZAwzF`@MR{amLY zyjjZJZW0OxtQrh!f^xK_-`(JV)g!=Dp5IfsnBv?;*_P>pS z=^3)AqR?-2Kp;OqKVd&HVHDa81eTGJ`7J|KRER(!gb6@m9sPxn7><7= zK;al?w7VD99ff53Ez!{l<%5-HCs_Ko3kWYgy?+ZvV*V8+^tpq&Zx;mYw3Ga+{WyQ1HO1ZyA$Xm`S-I6j1;oP7{* zBvuP5&rTQ-c5!!sK&92xq?DyarKHrQ)x^PIWpQz+nu-`0tfs0gCMvD+kBtAstFEdn zE~*Mv7EzOuATUU%h$ySch)bwRi9jX9B_+lF;nhN7u#QM)_&<8x33~s97SN{!tLgU|y2aY7H7&KvNU_vtnh=_o9 zwV=wT{xjRT058)upTWKPnB!V9iu*~AdpR5<5v)$VFRcvL@ndf&LvMQxdf(;oHU6Y8 zhnUZbk;T5byXok}sVSe@^5Mk>{=-Q!Lu3NNNfvxO!AGu}K=Mj7@%Hp07v=rlPYT8J zo$^;zd(}N%XSP}bhi&n@QW#fzzk5H=k8}2d*UonR4nwRKTEU#3Imfk-ob7oo>{_u& zDk&nd_n#&vL$%mBYg9fYpNFsfrkYA3;e#wFyzp`+z79ZTv3e{_fUlD4BHKh)8 z03ZIjGOA@xnR!3sqFZ`MmJ^inlAATiA?U%lX1BqCP|Ej!rK2$oMT3JqP98bj^PNO3 zR-X2l*BQf1BZj=sGo|Y}jOP~HghFu&#>-`xC#b!(J1R2FY(QB zCvZ>n?Bry@!X*8KwKX7EPcJ(3GFaN{GT8C!TsynH-0tXi=KWu&l=DX`Vd@YVnPPTS z=Z=ZaQwF-k(aewOnX;`T)wSK#de3hG$Vf^@*T&C7!{VUhKJrn6ZCo1)M&8-C;(CQ* zky)ia*}B{kx3;|5llR@r^clK2G~SSHZpNw7&^TWp5bCsRN0LKy>?e#y4gy-Cnhnf7 zg{_fvbllL6%BtC=;q=@eBY79(;kv-vw~4H%eiElDk+?DnDv=;hp$G>dx~=Fe3Y|pa z$qoZAAGt5n(-q6z0Vn(GW4rTokw-@Z;j62!6!O;eQwE`rL-ZmC{L!RCjNV`BZ{8Pc z@p8mW9egVb`LP;ulbS+Lsn{C8&Gycan3leZs8SB2)JPgVu#~>I1SWIn?C3a|%s4+; z{zxwCr!Pv&%=>~ga0?>hx}e^mHrKP-yP$vIoRS^b{GlCVEjv{$!$1{9^y#(GTn+WD zpA77*jb?Fcq94+0%p$U;Wo~IYwr>nl&o-D3#VwXDe{UndJIP#Klgn6LC9n|*yvOs) zGv!7t5VxM)l5(zRfNZTQD&ja!K;?Ye>!_L*p$70)r`ps~W)@w&#~CsdvDk%WQ)f61 z(?2;Qv*0LKfPskyoxt)(lh!3~1nP7t^W?23#s^c+|8(hk`{lTo$kk~ zt!A}t5W8-&fHhC2O=l+yb>>C5V0DIV6MVoZuF0g+H!aFOa3fktN5{ZcPku;h0I?7r z@@S=u^FCUk^&;Y@NK2EU0>;}cY2tscb4uqRh}^u#GMJNnPjG9B*YMlUM)sS3PWk>oSkK+*;lkvZ{pH~Z>(F!Ms2 zx9k2y1z0|K#dk3)6-g0)`HegUs9i!9Idt-=#4UAeGM86SkW5!cdZwAw2k<_RZB{7r zg&PU=){z?f&HSEHSF81|pZx1;WyRM%rQDzr@MXb!b9R2Web?PoR3zUL8WIT(y9C1c z9+7ZIaJn;ZLI5M5)iC#-6i_7*Pc0ZA;)_&>)3Oij^)lgS<90Z+mz{d z-PrF-nAij+rntB`UEePDCA}f%v0#!-G8iksS(>bEJ4+S<2@coGMuHX22}|6WHZ?e{ zc!YAP z0KD^{A+JDeU6>2&;(5h}%`+JWZd0dR8LIarDg=r{Ln`Sel3gqG)3?a(bVSm!EYRkT zG7I7|O9Ir$^cZSFjy9cdUr63JL`Q5kgNUoXs`!mLp853zy}xf5VtIx}96pK|u*$Qn zTv7encWu-wF3HVBt~?|L5WZW`-`m;~LIE**Nz)M)SkNcT^{ca5d~s!H=PhsSifUla zrt%1l@D>f^v2dZuy7~8(9-trvncylgta_SzXd@%DevtL-+4$oF>CbhvBri)D)3N={ zSe~z0W9|<}vMAQ^mtkzbVkd_iin=2P7)zLT4Bli2%R39&_*-hzl@3;LNSyAVn%+AH zt^d){v|4sYu#JR8V8NGkNYPdZ&&TPxW8kC!G(j1wD6$A9JX`5k;sLkyME$m9(x&H< z3|r$r%h*@?#UbBZ&FN!VUgerYZ0e13Qu*?W7=cq;JyNQNwXiM+_uhyKY*@VYIwQp5sUN>C!HnB-VF=sj+xA<7x2>I@!a;mml z>!PN_nLxxduK^67SheY6C(iYmR-1|-7n-X(*i;@Rzmcbte(SE*rwj4{>)pA!t#~x? znLqtRTpX?7&1Q|hJOHa)#(N`CvJM`K%K9C}W8k)F&DqSv`|hL5Gp2#tIYaTS@^|Fg zgr6T#=c@jE{Z(wB@Mp?r{T%>aV|&!us5SKGyx#dT`4P8i#l!Th+N9xd~hV@7AFt|NfAZ36csNze>yUiaj! z_<^~0d)|ohB)P0)J~$62VV8tPd|9ban`)&supgEo^^UEel&pLl#ZqlgE*Uy1?^fbz zDqkS1X(Mt2=j}BZ${^TM&%|>tnORnHH(RDL*9|2dvfjtSTAt&&GJOw6%rRT&;9o_3 zEMPeaaaPZ63gr{Z%ZdU0>7->X1U6<4v`%!O!>ro8Zn~M><5sbYv)QHZqj+*VCPa-w z_RD3ZrELhg^~PJz2>G`Dy{9FJMB~-%X^Y!2!Vb8*XQpr^ny3_~L9qpVKT~JNAWK=< zVN+#g<^X@AnUfpP<+$0`a0H#2M4!w z(9wnr&=&E5ywGk$1Hrx8-gxMvk(nW;Z0R5q%xaq$W?OvJ*I!RaT4TrjaSfg$H3@1ZW<^`MWt(&xg+tDIv@uYOHYE| zt}5QJ|Ekvi>n4jVta{O>Xv*VWb%k%oQ|S4D`KBGlUgyVs^SBIWqHNo56^-MKE5Ys_ z=H7D8bD_KI`#MMN*ip2tTLt8c9}a)L*VTUD^9s0}U@4rcONn(`{$h!l7g!G*TrZMR=l~Eu2 zj7Ul`J#goP76wefou$5xoKWjry;Ef#aq?atd!VN0kDDza39|h56yUp?BS`|JTcb3i2cH^oxbT% zBz->cMDFpI8HXW@-%_%B zOI1Y6!XG=}1i5DPu-T3&r8_MZ$}3zQ8MQQa=Pk`(5J~(o>O?o_kF>xaBcg3Cf4ViR zde&6?i4Xx~!}@f$XtuRvI<$W__ngDw;*3WD=CX1GJ(1x{V^VLe435bKt;{QGzD_s3 zAZczMKl$PeS9}?JqO1c|Y8?Y_F?C!c9k329IA!L+otaX`_iEfr&`9uRJ@v}^h#4Z? ziwN+b?TG$R7!;#B-fh!cBp<%_j%ap|6hP_Kdh5yqrPtvuBsAeljbZsGK zec@8^k0(tweNJ{L4RiZWx6u`tv-90$K30nW;Q$9)T=n0Z3p}PYQ)3SRYx2ojn#tRL zlORS&y3SvD$Y;p)3d0U-x-~hMVrqe?SV~E&u)e%c9b5Ho6vk!x3E!tCV8YMGZJZV+ zBWDfD$8t5HFh~?K#JW{Kl0ZKzj6Y-&oKZ~8!6`BX?sdiC`y!`eFC|&HFkxGLJ4~k5 zJsxVkV|-YqnZ~kLj?$;5sQmdmIFYlShHJ)$0_W<89V~iivS)bVOCbJqa{GcGOPQ)KkNZ1IXyyN%X~;@x&Ma1t)7zs&dv3jeH$yDZ+$zYrjr@h(}Tyju$BJSAt+*# zu)bGZFM@R@7eZcy9yeyo+6UE88!;Q(=k)G>J*G9|WUIb@mymh@QSsO32PsGeuRP7G z?05+|;`8tJ7gW#r^6BQ1sbO|>4`ZkZxr}N|Yn^$(a9&oJ&u-66dy({&MA3)}Q*DhI z0du>BS~GL2+|H)X><@`G*Ek+ZF-Re#@!4; z4~B?IlZ5MS=!5VWar3OC zXz@Qom+N}$%wZ;C@kJjVE$y5&@3LFu%7?_z;d{-_k=S*=`O}{5*u~dc`gXOH2u&tYd_=8P)ukt*cTEzn&#RxFF`atW z&p9M(s(*RGCpjyK@97aQ-Lj3{7@z&+as=YroGS8c>9o_QbCM<%P&>@_-)$dykr(3I z(XYYG(XMKOI8BKh*gT_H4dzaISrSWi%W}DRAbylv5_#TKUjBB4agUek@huKxy@Qu6 zcAaT6uI|A(Mk)t=jyZA1$+(I1?$ABQ~&VN}z zbNy01i?r3a4jP1OxLjn50cKc#V7E$d7dnt1opYn$NZji%<&r;5LhWJZJR0>_r zpUQs7+M3EId{yZdHLz!ZfF+Y{Pu%T@(!&q#re&;Cl|yVmuI?&(J@$oz%b_ueuL5^t zf&kB==>!uk!MlO)Hy+jUnFtR`qH1rLnZLnH#2c4d4#Wh^2DU1tySiY{B9L<=+?@+2 zZutyv=nUSYGXs}fY>TPRnyKNueP~sx?XoP77oNL88G8je?+CK5 zpAtsFZ(SaIzu|fcRv@_tKCJg9Pd+t}!K`}nwuOBgi{Ol4iiNluA|Lxj)=@>g!{hVS zuidUzt-~%G4hgO_X}!+X!X~FqAMKkcNC3#DE^*Ch#J2O@D^Rz;YC#FtT)&1?(pc;1>112 zsdnZ*;BgSU|0zF&_3rMLv}7<~zgiXaEvqb@d{ zC!(j>b^q)1;#b|y&+K}&_$-J;wRB|G$}6)=CK{gO#%W?oz1 z`}jxUN8DSR>UXyB;2{D`b-lx%@y9kMxWrG!q}}*MmCp38_H$D8`fy)5a5U?4^ugzH zEHw`2s_?TMGp&$ zKu7Kg3DJA|i{S8%jwM6Yepr}wc5;8fB0rVjs)7if3M&9Z@+w|P56xRWO}#30F*r1^fG&*j(i=AKn#WNGF`w%v=3r zkJLdL>MKO1F`ae=6d82uk=dt39@^%|es!z+W7|I+o2^1P*3qX=05Z4!>3Exp#kso? zdi~AtTZ->l?53!Pcbwmu-*;=?6*{b+g-EU{EYZhrgYZ{(9Ee^grfbOr)9?NM_n@Vw K53N;ki1;tP(b66O diff --git a/res/images/folder_appicon_bg_possible.png b/res/images/folder_appicon_bg_possible.png old mode 100644 new mode 100755 index d61a603feff9a2293084fce4d213902bdfe0ee8a..038a971352a3b6100396eccca02233007ba07e82 GIT binary patch delta 7544 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 diff --git a/src/apps_data.c b/src/apps_data.c index dc4bf8c..39c31ef 100755 --- a/src/apps_data.c +++ b/src/apps_data.c @@ -165,7 +165,7 @@ void apps_data_install(app_data_t *item) apps_db_insert(item); apps_data_sort(); apps_view_icon_add(item); - apps_view_reroder(); + apps_view_reorder(); } void apps_data_uninstall(const char *package) @@ -205,7 +205,7 @@ app_data_t *apps_data_add_folder(void) apps_db_insert(new_item); apps_view_icon_add(new_item); apps_data_sort(); - apps_view_reroder(); + apps_view_reorder(); return new_item; } @@ -224,7 +224,7 @@ void apps_data_delete_folder(app_data_t *folder_item) apps_data_s.data_list = eina_list_remove(apps_data_s.data_list, folder_item); apps_db_delete(folder_item); apps_data_sort(); - apps_view_reroder(); + apps_view_reorder(); apps_view_delete_icon(folder_item); __apps_data_item_free(folder_item); } @@ -233,7 +233,7 @@ void apps_data_update_folder(app_data_t *folder_item) { apps_db_update(folder_item); apps_data_sort(); - apps_view_reroder(); + apps_view_reorder(); } static int __apps_data_shortcut_request_cb(const char *package_name, @@ -276,7 +276,7 @@ static int __apps_data_shortcut_request_cb(const char *package_name, apps_db_insert(new_item); apps_view_icon_add(new_item); apps_data_sort(); - apps_view_reroder(); + apps_view_reorder(); return 0; } @@ -286,7 +286,7 @@ void apps_data_delete_item(app_data_t *item) apps_data_s.data_list = eina_list_remove(apps_data_s.data_list, item); apps_db_delete(item); apps_data_sort(); - apps_view_reroder(); + apps_view_reorder(); apps_view_folder_reroder(); if (item->parent_db_id != APPS_ROOT) { app_data_t *parent = __apps_data_find_item(item->parent_db_id); @@ -307,7 +307,7 @@ void apps_data_delete_list(Eina_List *list) } apps_data_sort(); - apps_view_reroder(); + apps_view_reorder(); apps_view_folder_reroder(); EINA_LIST_FOREACH(list, find_list, item) { diff --git a/src/apps_view.c b/src/apps_view.c index f14e182..ea2741f 100755 --- a/src/apps_view.c +++ b/src/apps_view.c @@ -249,7 +249,7 @@ void apps_view_hide_anim(double pos) } } -void apps_view_reroder(void) +void apps_view_reorder(void) { Eina_List *data_list = apps_data_get_list(); app_data_t *item = NULL; @@ -641,7 +641,7 @@ static void __apps_view_fill_apps(void *data, Ecore_Thread *th) item->app_layout = apps_view_create_icon(item); } } - apps_view_reroder(); + apps_view_reorder(); int ret = BADGE_ERROR_NONE; ret = badge_register_changed_cb(__apps_view_badge_update_cb, NULL); @@ -1208,7 +1208,7 @@ static void __apps_view_chooser_right_btn_clicked(void *data, Evas_Object *obj, } } apps_data_sort(); - apps_view_reroder(); + apps_view_reorder(); Eina_List *list = apps_data_get_list(); EINA_LIST_FOREACH(list, find_list, item) { @@ -1593,7 +1593,10 @@ static void __apps_view_edit_drag_icon(void *data) } } if (apps_view_s.candidate_folder) { - elm_object_signal_emit(apps_view_s.candidate_folder->folder_layout, SIGNAL_FRAME_POSSIBLE_SHOW, SIGNAL_SOURCE); + if(apps_data_get_folder_item_count(apps_view_s.candidate_folder) >= APPS_FOLDER_MAX_ITEM) + elm_object_signal_emit(apps_view_s.candidate_folder->folder_layout, SIGNAL_FRAME_IMPOSSIBLE_SHOW, SIGNAL_SOURCE); + else + elm_object_signal_emit(apps_view_s.candidate_folder->folder_layout, SIGNAL_FRAME_POSSIBLE_SHOW, SIGNAL_SOURCE); } } } @@ -1634,11 +1637,13 @@ static void __apps_view_edit_drop_icon(void *data) evas_object_del(item->app_layout); item->app_layout = NULL; } - apps_view_s.candidate_folder = NULL; } + elm_object_signal_emit(apps_view_s.candidate_folder->folder_layout, SIGNAL_FRAME_POSSIBLE_HIDE, SIGNAL_SOURCE); + apps_view_s.candidate_folder = NULL; + } apps_data_sort(); - apps_view_reroder(); + apps_view_reorder(); } static Eina_Bool __apps_view_scroll_timer_cb(void *data) -- 2.7.4 From 1595d34acd127e5e17db97aea16d1c1256ce79a3 Mon Sep 17 00:00:00 2001 From: YoungHun Cho Date: Fri, 3 Jun 2016 16:48:42 +0900 Subject: [PATCH 07/16] add mapbuf & modify page-indicator rotation logic Change-Id: I5c6bf561191e1786ff6b095bd0730ebf670ad302 Signed-off-by: YoungHun Cho --- inc/edc_conf.h | 2 +- res/edje/apps_view_bg.edc | 14 ++++---------- src/apps_view.c | 39 +++++++++++++++++++++++++++++++-------- src/page_indicator.c | 25 +++++++++---------------- 4 files changed, 45 insertions(+), 35 deletions(-) diff --git a/inc/edc_conf.h b/inc/edc_conf.h index f9b8c47..5672531 100755 --- a/inc/edc_conf.h +++ b/inc/edc_conf.h @@ -111,7 +111,7 @@ #define APPS_VIEW_COL 4 #define APPS_VIEW_ROW 5 -#define APPS_VIEW_BG_OPACITY 70 +#define APPS_VIEW_BG_OPACITY 50 #define GROUP_APP_ICON_LY "icon_ly" #define APPS_ICON_CONTENT "icon_content" diff --git a/res/edje/apps_view_bg.edc b/res/edje/apps_view_bg.edc index 1bf4f53..635a68f 100755 --- a/res/edje/apps_view_bg.edc +++ b/res/edje/apps_view_bg.edc @@ -19,17 +19,13 @@ collections { group { name: GROUP_APPS_BG_LY; script { - public rel1; - public rel2; public alpha; public message(Msg_Type:type, id, ...) { if (type == MSG_FLOAT_SET) { - set_float(rel1, getfarg(2)); - set_float(rel2, getfarg(3)); - set_float(alpha, getfarg(4)); - send_message(type, id, getfarg(2), getfarg(3), getfarg(4)); + set_float(alpha, getfarg(2)); + send_message(type, id, getfarg(2)); } } } @@ -62,8 +58,8 @@ collections { state: "edit" 0.0; inherit: "default" 0.0; visible: 1; - rel1 {relative: 0.06 0.09; to:SIZE_SETTER;} - rel2 {relative: 0.95 0.87; to:SIZE_SETTER;} + rel1 {relative: 0.055 0.0855; to:SIZE_SETTER;} + rel2 {relative: 0.95 0.873; to:SIZE_SETTER;} } description { state: "hide" 0.0; @@ -98,8 +94,6 @@ collections { source: SIGNAL_SOURCE; script { custom_state(PART:APPS_APPS_VIEW_BG, "show", 0.0); - //set_state_val(PART:APPS_APPS_VIEW_BG, STATE_REL1, 0, get_float(rel1)); - //set_state_val(PART:APPS_APPS_VIEW_BG, STATE_REL2, 0, get_float(rel2)); set_state_val(PART:APPS_APPS_VIEW_BG, STATE_COLOR, 0, 0, 0, round(get_float(alpha))); set_state(PART:APPS_APPS_VIEW_BG, "custom", 0.0); } diff --git a/src/apps_view.c b/src/apps_view.c index ea2741f..b25be03 100755 --- a/src/apps_view.c +++ b/src/apps_view.c @@ -203,11 +203,9 @@ void apps_view_show_anim(double pos) LOGE("Failed to get edje from layout"); return; } - Edje_Message_Float_Set *msg = malloc(sizeof(*msg) + 3 * sizeof(double)); - msg->count = 3; - msg->val[0] = ((APPS_VIEW_ANIMATION_DELTA * (1-pos)) / apps_view_s.height); - msg->val[1] = 1+((APPS_VIEW_ANIMATION_DELTA * (1-pos)) / apps_view_s.height); - msg->val[2] = pos*APPS_VIEW_BG_OPACITY; + Edje_Message_Float_Set *msg = malloc(sizeof(*msg) + sizeof(double)); + msg->count = 1; + msg->val[0] = pos*APPS_VIEW_BG_OPACITY; edje_object_message_send(edje, EDJE_MESSAGE_FLOAT_SET, 1, msg); edje_object_signal_emit(edje, SIGNAL_APPS_VIEW_ANIM, SIGNAL_SOURCE); @@ -262,10 +260,19 @@ void apps_view_reorder(void) if (apps_view_icon_set(item)) item_count++; } + //Delete empty page while (((item_count-1) / (APPS_VIEW_COL*APPS_VIEW_ROW) +1) < eina_list_count(apps_view_s.page_list)) { __apps_view_remove_page(); } + + Evas_Object *mapbuf = NULL; + find_list = NULL; + Evas_Object *page_ly = NULL; + EINA_LIST_FOREACH(apps_view_s.page_list, find_list, page_ly) { + mapbuf = evas_object_data_get(page_ly, "mapbuf"); + elm_mapbuf_enabled_set(mapbuf, EINA_TRUE); + } } void apps_view_folder_reroder(void) @@ -601,9 +608,20 @@ static Evas_Object *__apps_view_add_page(void) evas_object_show(rect); elm_object_part_content_set(page_ly, SIZE_SETTER, rect); - elm_box_pack_end(apps_view_s.box, page_ly); evas_object_show(page_ly); + Evas_Object *mapbuf; + mapbuf = elm_mapbuf_add(apps_view_s.box); + + elm_mapbuf_smooth_set(mapbuf, EINA_TRUE); + elm_mapbuf_alpha_set(mapbuf, EINA_TRUE); + elm_object_content_set(mapbuf, page_ly); + evas_object_show(mapbuf); + + elm_box_pack_end(apps_view_s.box, mapbuf); + + evas_object_data_set(page_ly, "mapbuf", mapbuf); + apps_view_s.page_list = eina_list_append(apps_view_s.page_list, page_ly); apps_view_s.page_count += 1; page_indicator_set_page_count(apps_view_s.indicator, apps_view_s.page_count); @@ -624,9 +642,12 @@ static void __apps_view_remove_page(void) apps_view_s.current_page = apps_view_s.page_count - 1; } + Evas_Object *mapbuf = evas_object_data_get(item, "mapbuf"); + elm_scroller_page_bring_in(apps_view_s.scroller, apps_view_s.current_page, 0); - elm_box_unpack(apps_view_s.box, item); + elm_box_unpack(apps_view_s.box, mapbuf); page_indicator_set_page_count(apps_view_s.indicator, apps_view_s.page_count); + evas_object_del(mapbuf); evas_object_del(item); } @@ -863,7 +884,8 @@ bool apps_view_hw_home_key(void) __apps_view_close_folder_popup(apps_view_s.opened_folder); } - apps_view_set_state(VIEW_STATE_NORMAL); + if (apps_view_s.view_state != VIEW_STATE_NORMAL) + apps_view_set_state(VIEW_STATE_NORMAL); return false; } @@ -960,6 +982,7 @@ void apps_view_set_state(view_state_t state) LOGE("Failed to get edje from layout"); return; } + edje_object_signal_emit(edje, SIGNAL_EDIT_MODE_OFF_ANI, SIGNAL_SOURCE); Eina_List *find_list = NULL; diff --git a/src/page_indicator.c b/src/page_indicator.c index 8cc0a5a..0715f50 100755 --- a/src/page_indicator.c +++ b/src/page_indicator.c @@ -145,26 +145,18 @@ static void __page_indicator_scroll_cb(void *data, Evas_Object *obj, void *event current_x = page_indicator->current_page * page_indicator->w; angle = (double)(x - current_x) / page_indicator->w * 90.0; - - if (fabs((float)(x - current_x)) <= page_indicator->w) { - next_page = x > current_x ? (page_indicator->current_page + 1) % page_indicator->page_count : page_indicator->current_page-1; - color = fabs(angle) * 2; + if (angle > 90.0) { + angle = (double)(x - page_indicator->w * page_indicator->page_count) / page_indicator->w * 90.0; + next_page = page_indicator->page_count - 1; } else { - if (x > current_x) { - next_page = page_indicator->page_count-1; - color = (double)(page_indicator->w*page_indicator->page_count - x)/page_indicator->w * 180.0; - } else { - next_page = 0; - color = 180.0; - } + next_page = page_indicator->current_page + (angle > 0 ? 1 : -1); + next_page %= page_indicator->page_count; } - if (next_page == page_indicator->page_count - 1 && page_indicator->current_page == 0 && page_indicator->page_count % 2 == 1) { - angle = angle - 270.0; - } + color = fabs(angle) * 2; - __page_indicator_unit_rotate(page_indicator->unit[page_indicator->current_page], 90.0 + angle, 255.0 - color); - __page_indicator_unit_rotate(page_indicator->unit[next_page], angle, 75.0 + color); + __page_indicator_unit_rotate(page_indicator->unit[page_indicator->current_page], 90 + angle, 255.0 - color); + __page_indicator_unit_rotate(page_indicator->unit[next_page], (angle < 0 ? 360 + angle : angle), 75.0 + color); } static void __page_indicator_scroll_anim_stop_cb(void *data, Evas_Object *obj, void *event_info) @@ -177,6 +169,7 @@ static void __page_indicator_scroll_anim_stop_cb(void *data, Evas_Object *obj, v page_indicator_t *page_indicator = (page_indicator_t*) data; elm_scroller_current_page_get(obj, &page_indicator->current_page, NULL); + page_indicator->current_page %= page_indicator->page_count; __page_indicator_set_current_page(page_indicator); } -- 2.7.4 From 9979672b0dbd6894167a55f4743a4f602d947dbd Mon Sep 17 00:00:00 2001 From: cskim Date: Tue, 7 Jun 2016 11:12:22 +0900 Subject: [PATCH 08/16] [TSAM-4506] Fix Web App uninstall failing issue. Change-Id: I15fff4f6f3bfe45abefe4c9bbff127e916f4f3d1 --- inc/apps_data.h | 3 +- inc/apps_db.h | 3 +- src/apps_data.c | 25 ++++++++++++----- src/apps_db.c | 68 +++++++++++++++++++++++++++++++++------------- src/apps_package_manager.c | 34 ++++++++++------------- src/apps_view.c | 32 +++++++++++----------- 6 files changed, 102 insertions(+), 63 deletions(-) diff --git a/inc/apps_data.h b/inc/apps_data.h index 251db80..627f968 100755 --- a/inc/apps_data.h +++ b/inc/apps_data.h @@ -29,7 +29,8 @@ typedef struct { char* owner; Eina_Bool is_folder; int position; - char* pkg_str; + char* app_id; + char* pkg_id; char* label_str; char* icon_path_str; char* uri; diff --git a/inc/apps_db.h b/inc/apps_db.h index 99c7ea6..b8763d8 100755 --- a/inc/apps_db.h +++ b/inc/apps_db.h @@ -25,7 +25,8 @@ bool apps_db_close(); bool apps_db_update(app_data_t *item); bool apps_db_insert(app_data_t *item); bool apps_db_delete(app_data_t *item); -bool apps_db_delete_by_pkg_str(const char* pkg); +bool apps_db_delete_by_app_id(const char* app_id); +bool apps_db_delete_by_pkg_id(const char* pkg_id); bool apps_db_get_list(Eina_List **apps); bool apps_db_get_app_list(Eina_List **apps); diff --git a/src/apps_data.c b/src/apps_data.c index 39c31ef..9d0f82c 100755 --- a/src/apps_data.c +++ b/src/apps_data.c @@ -51,7 +51,7 @@ void apps_data_init(void *data, Ecore_Thread *th) EINA_LIST_FOREACH(pkg_list, pkg_find_list, pkg_item) { EINA_LIST_FOREACH(db_list, db_find_list, db_item) { - if (!strcmp(pkg_item->pkg_str, db_item->pkg_str) && !strcmp(pkg_item->owner, db_item->owner)) { + if (!strcmp(pkg_item->app_id, db_item->app_id) && !strcmp(pkg_item->owner, db_item->owner)) { pkg_item->db_id = db_item->db_id; pkg_item->parent_db_id = db_item->parent_db_id; db_item->temp = true; @@ -63,7 +63,7 @@ void apps_data_init(void *data, Ecore_Thread *th) EINA_LIST_FOREACH(db_list, db_find_list, db_item) { if (!db_item->temp) { - apps_db_delete_by_pkg_str(db_item->pkg_str); + apps_db_delete_by_app_id(db_item->app_id); apps_view_delete_icon(db_item); __apps_data_item_free(db_item); } @@ -175,7 +175,7 @@ void apps_data_uninstall(const char *package) app_data_t *item = NULL; EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { - if (item->pkg_str && (strcmp(item->pkg_str, package) == 0) && + if (item->pkg_id && (strcmp(item->pkg_id, package) == 0) && item->owner && (strcmp(item->owner, TEMP_OWNER) == 0)) { find_result = eina_list_append(find_result, item); } @@ -257,7 +257,16 @@ static int __apps_data_shortcut_request_cb(const char *package_name, new_item->owner = strdup(TEMP_OWNER); new_item->position = INIT_VALUE; new_item->label_str = strdup(name); - new_item->pkg_str = strdup(package_name); + new_item->app_id = strdup(package_name); + + char* pkg_id = NULL; + int ret = package_manager_get_package_id_by_app_id(package_name, &pkg_id); + if (ret != PACKAGE_MANAGER_ERROR_NONE) { + new_item->pkg_id = strdup(package_name); + LOGE("Failed to get package ID, %s, [%d] %s", package_name, ret, get_error_message(ret)); + } else { + new_item->pkg_id = pkg_id; + } if (type == LAUNCH_BY_URI) { new_item->uri = strdup(content_info); new_item->type = APPS_DATA_TYPE_URI_SHORTCUT; @@ -349,8 +358,10 @@ static void __apps_data_item_free(app_data_t *item) free(item->label_str); if (item && item->icon_path_str) free(item->icon_path_str); - if (item && item->pkg_str) - free(item->pkg_str); + if (item && item->app_id) + free(item->app_id); + if (item && item->pkg_id) + free(item->pkg_id); if (item && item->owner) free(item->owner); if (item && item->uri) @@ -366,7 +377,7 @@ static void __apps_data_print(Eina_List *list) LOGD("========================================"); EINA_LIST_FOREACH(list, find_list, item) { if (item != NULL) - LOGD("%d [pkg: %s][name:%s][iconPath: %s][icon:%p]", item->position, item->pkg_str, item->label_str, item->icon_path_str, item->app_layout); + LOGD("%d [app: %s][pkg: %s][name:%s][iconPath: %s][icon:%p]", item->position, item->app_id, item->pkg_id, item->label_str, item->icon_path_str, item->app_layout); } LOGD("========================================"); } diff --git a/src/apps_db.c b/src/apps_db.c index 922090d..85576f8 100755 --- a/src/apps_db.c +++ b/src/apps_db.c @@ -28,12 +28,13 @@ static sqlite3 *apps_db = NULL; enum { - COL_APP_ID = 0, + COL_ID = 0, COL_PARENT_ID, COL_OWNER, COL_IS_FOLDER, COL_POSITION, - COL_PACKAGE_STR, + COL_APPLICATION_ID, + COL_PACKAGE_ID, COL_LABEL, COL_URI, COL_TYPE, @@ -43,12 +44,13 @@ enum { }; #define CREATE_APPS_DB_TABLE "create table if not exists apps(\ - appId INTEGER PRIMARY KEY AUTOINCREMENT,\ + id INTEGER PRIMARY KEY AUTOINCREMENT,\ parentId INTEGER,\ owner TEXT,\ isFolder INTEGER,\ position INTEGER,\ - pkgStr TEXT,\ + appId TEXT,\ + pkgId TEXT,\ label TEXT,\ uri TEXT,\ type INTEGER,\ @@ -61,26 +63,28 @@ enum { owner='%s',\ isFolder=%d,\ position=%d,\ - pkgStr='%s',\ + appId='%s',\ + pkgId='%s',\ label='%s',\ uri='%s',\ type=%d,\ isSystem=%d,\ isRemovable=%d,\ - iconPath='%s' WHERE appId = %d" + iconPath='%s' WHERE id = %d" #define INSERT_APPS_DB_TABLE "INSERT into apps (\ parentId,\ owner,\ isFolder,\ position,\ - pkgStr,\ + appId,\ + pkgId,\ label,\ uri,\ type,\ isSystem,\ isRemovable,\ - iconPath) VALUES(%d,'%s',%d,%d,'%s','%s','%s',%d,%d,%d,'%s')" + iconPath) VALUES(%d,'%s',%d,%d,'%s','%s','%s','%s',%d,%d,%d,'%s')" #define SELECT_ITEM "SELECT * FROM apps;" #define SELECT_APP_ITEM "SELECT * FROM apps WHERE type=0 AND isFolder=0;" @@ -151,14 +155,16 @@ bool apps_db_get_list(Eina_List **apps) app_data_t *item = (app_data_t *)malloc(sizeof(app_data_t)); memset(item, 0, sizeof(app_data_t)); - item->db_id = sqlite3_column_int(stmt, COL_APP_ID); + item->db_id = sqlite3_column_int(stmt, COL_ID); item->parent_db_id = sqlite3_column_int(stmt, COL_PARENT_ID); str = (const char *) sqlite3_column_text(stmt, COL_OWNER); item->owner = (!str || !strlen(str)) ? NULL : strdup(str); item->is_folder = sqlite3_column_int(stmt, COL_IS_FOLDER); item->position = sqlite3_column_int(stmt, COL_POSITION); - str = (const char *) sqlite3_column_text(stmt, COL_PACKAGE_STR); - item->pkg_str = (!str || !strlen(str)) ? NULL : strdup(str); + str = (const char *) sqlite3_column_text(stmt, COL_APPLICATION_ID); + item->app_id = (!str || !strlen(str)) ? NULL : strdup(str); + str = (const char *) sqlite3_column_text(stmt, COL_PACKAGE_ID); + item->pkg_id = (!str || !strlen(str)) ? NULL : strdup(str); str = (const char *) sqlite3_column_text(stmt, COL_LABEL); item->label_str = (!str) ? NULL : strdup(str); str = (const char *) sqlite3_column_text(stmt, COL_URI); @@ -192,14 +198,16 @@ bool apps_db_get_app_list(Eina_List **apps) app_data_t *item = (app_data_t *)malloc(sizeof(app_data_t)); memset(item, 0, sizeof(app_data_t)); - item->db_id = sqlite3_column_int(stmt, COL_APP_ID); + item->db_id = sqlite3_column_int(stmt, COL_ID); item->parent_db_id = sqlite3_column_int(stmt, COL_PARENT_ID); str = (const char *) sqlite3_column_text(stmt, COL_OWNER); item->owner = (!str || !strlen(str)) ? NULL : strdup(str); item->is_folder = sqlite3_column_int(stmt, COL_IS_FOLDER); item->position = sqlite3_column_int(stmt, COL_POSITION); - str = (const char *) sqlite3_column_text(stmt, COL_PACKAGE_STR); - item->pkg_str = (!str || !strlen(str)) ? NULL : strdup(str); + str = (const char *) sqlite3_column_text(stmt, COL_APPLICATION_ID); + item->app_id = (!str || !strlen(str)) ? NULL : strdup(str); + str = (const char *) sqlite3_column_text(stmt, COL_PACKAGE_ID); + item->pkg_id = (!str || !strlen(str)) ? NULL : strdup(str); str = (const char *) sqlite3_column_text(stmt, COL_LABEL); item->label_str = (!str || !strlen(str)) ? NULL : strdup(str); str = (const char *) sqlite3_column_text(stmt, COL_URI); @@ -226,7 +234,8 @@ bool apps_db_update(app_data_t *item) item->owner, item->is_folder, item->position, - item->pkg_str, + item->app_id, + item->pkg_id, item->label_str, item->uri, item->type, @@ -257,7 +266,8 @@ bool apps_db_insert(app_data_t *item) item->owner, item->is_folder, item->position, - item->pkg_str, + item->app_id, + item->pkg_id, item->label_str, item->uri, item->type, @@ -284,7 +294,7 @@ bool apps_db_delete(app_data_t *item) sqlite3_stmt *stmt; if (!__apps_db_open()) return false; - snprintf(query, QUERY_MAXLEN, "DELETE FROM apps WHERE appId=%d", item->db_id); + snprintf(query, QUERY_MAXLEN, "DELETE FROM apps WHERE id=%d", item->db_id); int ret = sqlite3_prepare(apps_db, query, QUERY_MAXLEN , &stmt, NULL); if (ret != SQLITE_OK) { LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(apps_db)); @@ -298,13 +308,33 @@ bool apps_db_delete(app_data_t *item) return true; } -bool apps_db_delete_by_pkg_str(const char* pkg) +bool apps_db_delete_by_app_id(const char* app_id) { char query[QUERY_MAXLEN]; sqlite3_stmt *stmt; if (!__apps_db_open()) return false; - snprintf(query, QUERY_MAXLEN, "DELETE FROM apps WHERE pkgStr='%s'", pkg); + snprintf(query, QUERY_MAXLEN, "DELETE FROM apps WHERE appId='%s'", app_id); + int ret = sqlite3_prepare(apps_db, query, QUERY_MAXLEN , &stmt, NULL); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(apps_db)); + return false; + } + + sqlite3_step(stmt); + sqlite3_finalize(stmt); + + apps_db_close(); + return true; +} + +bool apps_db_delete_by_pkg_id(const char* pkg_id) +{ + char query[QUERY_MAXLEN]; + sqlite3_stmt *stmt; + if (!__apps_db_open()) + return false; + snprintf(query, QUERY_MAXLEN, "DELETE FROM apps WHERE pkgId='%s'", pkg_id); int ret = sqlite3_prepare(apps_db, query, QUERY_MAXLEN , &stmt, NULL); if (ret != SQLITE_OK) { LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(apps_db)); diff --git a/src/apps_package_manager.c b/src/apps_package_manager.c index 5267074..cd3a5bf 100755 --- a/src/apps_package_manager.c +++ b/src/apps_package_manager.c @@ -97,7 +97,6 @@ static bool __apps_package_manager_get_item(app_info_h app_handle, void *data) static bool __apps_data_pkg_get_apps_info(app_info_h app_handle, app_data_t **item) { - char *pkg = NULL; bool nodisplay = false; int ret; package_info_h p_handle = NULL; @@ -118,36 +117,35 @@ static bool __apps_data_pkg_get_apps_info(app_info_h app_handle, app_data_t **it new_item->uri = NULL; new_item->type = APPS_DATA_TYPE_APP; - ret = app_info_get_app_id(app_handle, &new_item->pkg_str); + ret = app_info_get_app_id(app_handle, &new_item->app_id); if (APP_MANAGER_ERROR_NONE != ret) { - LOGE("app_info_get_app_id return [%d] %s", ret, new_item->pkg_str); + LOGE("app_info_get_app_id return [%d] %s", ret, new_item->app_id); goto ERROR; } - ret = app_info_get_label(app_handle, &new_item->label_str); + ret = app_info_get_package(app_handle, &new_item->pkg_id); if (APP_MANAGER_ERROR_NONE != ret) { - LOGE("app_info_get_label return [%d] %s", ret, new_item->label_str); + LOGE("app_info_get_package return [%d] %s", ret, new_item->pkg_id); goto ERROR; } - ret = app_info_get_icon(app_handle, &new_item->icon_path_str); + ret = app_info_get_label(app_handle, &new_item->label_str); if (APP_MANAGER_ERROR_NONE != ret) { - LOGE("app_info_get_icon return [%d]", ret); + LOGE("app_info_get_label return [%d] %s", ret, new_item->label_str); goto ERROR; } - ret = app_info_get_package(app_handle, &pkg); + ret = app_info_get_icon(app_handle, &new_item->icon_path_str); if (APP_MANAGER_ERROR_NONE != ret) { LOGE("app_info_get_icon return [%d]", ret); goto ERROR; } - LOGD("%s", pkg); - - ret = package_manager_get_package_info(pkg, &p_handle); + LOGD("%s", new_item->pkg_id); + + ret = package_manager_get_package_info(new_item->pkg_id, &p_handle); if (ret != PACKAGE_MANAGER_ERROR_NONE) { - LOGE("Failed to inialize package handle for item : %s", - pkg); + LOGE("Failed to inialize package handle for item : %s", new_item->pkg_id); goto ERROR; } @@ -169,19 +167,17 @@ static bool __apps_data_pkg_get_apps_info(app_info_h app_handle, app_data_t **it new_item->icon_path_str = malloc(MAX_FILE_PATH_LEN); sprintf(new_item->icon_path_str, "%s", util_get_res_file_path(IMAGE_DIR"/default_app_icon.png")); } - if (pkg) - free(pkg); return true; ERROR: - if (pkg) - free(pkg); if (new_item && new_item->label_str) free(new_item->label_str); if (new_item && new_item->icon_path_str) free(new_item->icon_path_str); - if (new_item && new_item->pkg_str) - free(new_item->pkg_str); + if (new_item && new_item->app_id) + free(new_item->app_id); + if (new_item && new_item->pkg_id) + free(new_item->pkg_id); if (new_item && new_item->owner) free(new_item->owner); if (new_item) free(new_item); diff --git a/src/apps_view.c b/src/apps_view.c index b25be03..e178757 100755 --- a/src/apps_view.c +++ b/src/apps_view.c @@ -411,7 +411,7 @@ Evas_Object* apps_view_create_icon(app_data_t *item) evas_object_show(icon_layout); - LOGD("icon [%s] create", item->pkg_str); + LOGD("icon [%s, %s] create", item->app_id, item->pkg_id); return icon_layout; } @@ -490,7 +490,7 @@ bool apps_view_icon_set(app_data_t *item) if (item == NULL) return false; - LOGD("%s %d %d", item->pkg_str, item->parent_db_id, item->position); + LOGD("%s %d %d", item->app_id, item->parent_db_id, item->position); if (item->parent_db_id == APPS_ROOT) { page_index = item->position / (APPS_VIEW_COL*APPS_VIEW_ROW); col = (item->position / APPS_VIEW_COL)%APPS_VIEW_ROW; @@ -507,7 +507,7 @@ bool apps_view_icon_set(app_data_t *item) elm_object_part_content_unset(page, icon_container); } elm_object_part_content_set(page, icon_container, item->app_layout); - LOGD("[%s] -> [%s], [%p] page : %d", item->pkg_str, icon_container, item->app_layout, page_index); + LOGD("[%s] -> [%s], [%p] page : %d", item->app_id, icon_container, item->app_layout, page_index); return true; } else if (apps_view_s.opened_folder && item->parent_db_id == apps_view_s.opened_folder->db_id) { col = (item->position / APPS_FOLDER_COL)%APPS_FOLDER_ROW; @@ -519,7 +519,7 @@ bool apps_view_icon_set(app_data_t *item) elm_object_part_content_unset(apps_view_s.folder_popup_ly, icon_container); } elm_object_part_content_set(apps_view_s.folder_popup_ly, icon_container, item->app_layout); - LOGD("[%s] -> [%s], [%p]", item->pkg_str, icon_container, item->app_layout); + LOGD("[%s] -> [%s], [%p]", item->app_id, icon_container, item->app_layout); } return false; @@ -695,7 +695,7 @@ static void __apps_view_icon_clicked_cb(app_data_t *item) LOGD("%d(%s) folder clicked", item->db_id, item->label_str); __apps_view_open_folder_popup(item); } else if (apps_view_s.view_state == VIEW_STATE_NORMAL) { - LOGD("%s(%s) applciation clicked", item->pkg_str, item->owner); + LOGD("%s(%s) applciation clicked", item->app_id, item->owner); if (app_control_create(&app_control_handle) != APP_CONTROL_ERROR_NONE) { LOGE("[FAILED][app_control_create]"); return; @@ -711,7 +711,7 @@ static void __apps_view_icon_clicked_cb(app_data_t *item) app_control_destroy(app_control_handle); return; } - if (app_control_set_app_id(app_control_handle, item->pkg_str) != APP_CONTROL_ERROR_NONE) { + if (app_control_set_app_id(app_control_handle, item->app_id) != APP_CONTROL_ERROR_NONE) { LOGE("[FAILED][app_control_set_app_id]"); app_control_destroy(app_control_handle); return; @@ -734,7 +734,7 @@ static void __apps_view_icon_uninstall_btn_clicked_cb(void *data, Evas_Object *o LOGE("item is NULL"); } - LOGD("Uninstall :: %s", item->pkg_str); + LOGD("Uninstall :: %s", item->app_id); if (item->is_folder) { if (apps_data_get_folder_item_count(item) > 0) { Evas_Smart_Cb func[3] = { __apps_view_delete_folder_cb, NULL, NULL }; @@ -783,20 +783,20 @@ static void __apps_view_uninstall_app_cb(void *data, Evas_Object *obj, void *eve popup_hide(); if (package_manager_request_create(&request) != PACKAGE_MANAGER_ERROR_NONE) { - LOGE("Could not create unistall request. App: %s", item->pkg_str); + LOGE("Could not create unistall request. App: %s", item->pkg_id); return; } int ret = package_manager_request_set_mode(request, PACKAGE_MANAGER_REQUEST_MODE_DEFAULT); if (ret != PACKAGE_MANAGER_ERROR_NONE) { - LOGE("Could not set request mode. App: %s", item->pkg_str); + LOGE("Could not set request mode. App: %s", item->pkg_id); return; } - if (package_manager_request_uninstall(request, item->pkg_str, &id) != PACKAGE_MANAGER_ERROR_NONE) { - LOGE("Could not uninstall application. App: %s", item->pkg_str); + if (package_manager_request_uninstall(request, item->pkg_id, &id) != PACKAGE_MANAGER_ERROR_NONE) { + LOGE("Could not uninstall application. App: %s", item->pkg_id); return; } if (package_manager_request_destroy(request) != PACKAGE_MANAGER_ERROR_NONE) { - LOGE("Could not destroy unistall request. App: %s", item->pkg_str); + LOGE("Could not destroy unistall request. App: %s", item->pkg_id); return; } } @@ -1275,7 +1275,7 @@ static void __apps_view_badge_update_cb(unsigned int action, const char *app_id, return; } EINA_LIST_FOREACH(data_list, find_list, item) { - if (strcmp(app_id, item->pkg_str) == 0) { + if (strcmp(app_id, item->app_id) == 0) { __apps_view_badge_update_count(item); } } @@ -1286,12 +1286,12 @@ static void __apps_view_badge_update_count(app_data_t *item) unsigned int to_be_displayed = 0; int result = BADGE_ERROR_NONE; - if (!item->pkg_str) { + if (!item->app_id) { LOGE("app_item is NULL in badge count"); return; } - result = badge_get_display(item->pkg_str, &to_be_displayed); + result = badge_get_display(item->app_id, &to_be_displayed); if (result != BADGE_ERROR_NONE) { LOGE("badge_get_display error %d", result); item->badge_count = 0; @@ -1302,7 +1302,7 @@ static void __apps_view_badge_update_count(app_data_t *item) return; } - result = badge_get_count(item->pkg_str, &item->badge_count); + result = badge_get_count(item->app_id, &item->badge_count); if (result != BADGE_ERROR_NONE) { LOGE("badge_get_count error %d", result); item->badge_count = 0; -- 2.7.4 From afaa4ea66afcf465578c98424d91f2bd9d9aeec7 Mon Sep 17 00:00:00 2001 From: YoungHun Cho Date: Wed, 8 Jun 2016 14:54:45 +0900 Subject: [PATCH 09/16] apps-view layout -> grid Change-Id: I8d66018aced37bac2d8e2e86e7921a8fcf47974a Signed-off-by: YoungHun Cho --- inc/edc_conf.h | 3 +- res/edje/app_icon.edc | 7 ++- res/edje/apps_folder_popup.edc | 12 ++-- res/edje/apps_view.edc | 128 ++++++++++++++++++----------------------- res/edje/apps_view_bg.edc | 22 +++---- src/apps_view.c | 97 ++++++++++++++++++------------- 6 files changed, 135 insertions(+), 134 deletions(-) diff --git a/inc/edc_conf.h b/inc/edc_conf.h index 5672531..fa00ea9 100755 --- a/inc/edc_conf.h +++ b/inc/edc_conf.h @@ -75,7 +75,7 @@ // apps view #define GROUP_APPS_LY "apps_ly" -#define APPS_APPS_VIEW_BG "apps_view_bg" +#define APPS_VIEW_BG "apps_view_bg" #define GROUP_APPS_BG_LY "apps_bg_ly" #define GROUP_APPS_CHOOSER_BTN_LY "apps_chooser_btn_ly" @@ -105,6 +105,7 @@ #define SIGNAL_CHANGED_CHECK_BOX "changed_checkbox_state" #define SIGNAL_CHECK_HALF_CHECK_BOX "half-check" +#define APPS_VIEW_GRID "apps_view_grid" #define SIGNAL_APPS_VIEW_HIDE "apps_bg_hide" #define SIGNAL_APPS_VIEW_SHOW "apps_bg_show" #define SIGNAL_APPS_VIEW_ANIM "apps_bg_anim" diff --git a/res/edje/app_icon.edc b/res/edje/app_icon.edc index 8573798..9062ae1 100755 --- a/res/edje/app_icon.edc +++ b/res/edje/app_icon.edc @@ -48,7 +48,7 @@ collections { state: "default" 0.0; align: 0 0; rel1.relative: 0.0 0.0; - rel2.relative: 0.0 0.0; + rel2.relative: 1.0 1.0; } } part { name: APPS_ICON_CONTENT; @@ -58,6 +58,7 @@ collections { rel1{relative: 0.16 0; to: SIZE_SETTER;} rel2{relative: 0.84 0.6; to: SIZE_SETTER;} align: 0.5 0.5; + fixed: 1 1; } } //APPS_ICON_CONTENT @@ -193,8 +194,8 @@ collections { scale: 0; description { state: "default" 0.0; - rel1{relative: -0.1 -0.1; to: APPS_ICON_CONTENT;} - rel2{relative: 0.4 0.4; to: APPS_ICON_CONTENT;} + rel1{relative: 0.0 -0.1; to: SIZE_SETTER;} + rel2{relative: 0.4 0.4; to: SIZE_SETTER;} color: 255 255 255 0; visible: 0; aspect: 1.0 1.0; diff --git a/res/edje/apps_folder_popup.edc b/res/edje/apps_folder_popup.edc index bdf76dc..25ed671 100755 --- a/res/edje/apps_folder_popup.edc +++ b/res/edje/apps_folder_popup.edc @@ -23,11 +23,11 @@ state : "default" 0.0;\ fixed : 1 1;\ rel1 {\ - relative: num_y/APPS_FOLDER_COL num_x/APPS_FOLDER_ROW ;\ + relative: num_x/APPS_FOLDER_COL num_y/APPS_FOLDER_ROW;\ to: APPS_FOLDER_CONTAINER;\ }\ rel2 {\ - relative :(num_y+1)/APPS_FOLDER_COL (num_x+1)/APPS_FOLDER_ROW ;\ + relative :(num_x+1)/APPS_FOLDER_COL (num_y+1)/APPS_FOLDER_ROW;\ to: APPS_FOLDER_CONTAINER;\ }\ align: 0.0 0.0;\ @@ -116,13 +116,13 @@ collections { } } MAKE_TILE(0,0) - MAKE_TILE(0,1) - MAKE_TILE(0,2) MAKE_TILE(1,0) - MAKE_TILE(1,1) - MAKE_TILE(1,2) MAKE_TILE(2,0) + MAKE_TILE(0,1) + MAKE_TILE(1,1) MAKE_TILE(2,1) + MAKE_TILE(0,2) + MAKE_TILE(1,2) MAKE_TILE(2,2) part { name: APPS_FOLDER_PLUS_ICON; type: IMAGE; diff --git a/res/edje/apps_view.edc b/res/edje/apps_view.edc index 8b716b9..6ede61c 100755 --- a/res/edje/apps_view.edc +++ b/res/edje/apps_view.edc @@ -62,7 +62,7 @@ collections { rel2.relative: 0.0 0.0; } } - part { name: APPS_APPS_VIEW_BG; + part { name: APPS_VIEW_BG; type: RECT; mouse_events: 1; repeat_events: 1; @@ -77,103 +77,87 @@ collections { description { state: "edit_done" 0.0; inherit: "default" 0.0; - rel1 {relative: 0.055 0.035; to:SIZE_SETTER;} - rel2 {relative: 0.95 0.985; to:SIZE_SETTER;} + rel1 {relative :0.05 0.05; to: SIZE_SETTER;} + rel2 {relative :0.95 0.95; to: SIZE_SETTER;} color: 0 0 0 APPS_VIEW_BG_OPACITY; visible: 1; } } - MAKE_TILE(0,0); - MAKE_TILE(0,1); - MAKE_TILE(0,2); - MAKE_TILE(0,3); - MAKE_TILE(1,0); - MAKE_TILE(1,1); - MAKE_TILE(1,2); - MAKE_TILE(1,3); - MAKE_TILE(2,0); - MAKE_TILE(2,1); - MAKE_TILE(2,2); - MAKE_TILE(2,3); - MAKE_TILE(3,0); - MAKE_TILE(3,1); - MAKE_TILE(3,2); - MAKE_TILE(3,3); - MAKE_TILE(4,0); - MAKE_TILE(4,1); - MAKE_TILE(4,2); - MAKE_TILE(4,3); + part { name: APPS_VIEW_GRID; + type: SWALLOW; + mouse_events: 1; + repeat_events: 1; + description { + state: "default" 0.0; + align: 0 0; + rel1 {relative: 0.0 0.0; to:SIZE_SETTER;} + rel2 {relative: 1.0 1.0; to:SIZE_SETTER;} + } + description { + state: "edit" 0.0; + inherit: "default" 0.0; + rel1 {relative :0.05 0.05; to: SIZE_SETTER;} + rel2 {relative :0.95 0.95; to: SIZE_SETTER;} + } + } } programs { program { - name: "bg_edit_mode_on"; + name: "bg_edit_mode_on_ani"; signal: SIGNAL_EDIT_MODE_ON_ANI; source: SIGNAL_SOURCE; action: STATE_SET "edit" 0.0; - target: "icon_0_0"; - target: "icon_0_1"; - target: "icon_0_2"; - target: "icon_0_3"; - target: "icon_1_0"; - target: "icon_1_1"; - target: "icon_1_2"; - target: "icon_1_3"; - target: "icon_2_0"; - target: "icon_2_1"; - target: "icon_2_2"; - target: "icon_2_3"; - target: "icon_3_0"; - target: "icon_3_1"; - target: "icon_3_2"; - target: "icon_3_3"; - target: "icon_4_0"; - target: "icon_4_1"; - target: "icon_4_2"; - target: "icon_4_3"; + target: APPS_VIEW_GRID; transition: DECELERATE ANIMATION_RESIZE_TIME; after: bg_edit_mode_on_ani_done; } + program { - name: "bg_edit_mode_off"; + name: "bg_edit_mode_on"; + signal: SIGNAL_EDIT_MODE_ON; + source: SIGNAL_SOURCE; + action: STATE_SET "edit" 0.0; + target: APPS_VIEW_GRID; + after: bg_edit_mode_on_ani_done; + } + program { + name: "bg_edit_mode_on_ani_done"; + signal: SIGNAL_EDIT_MODE_ON_ANI_DONE; + source: SIGNAL_SOURCE; + action: STATE_SET "edit_done" 0.0; + target: APPS_VIEW_BG; + } + + program { + name: "bg_edit_mode_off_ani"; signal: SIGNAL_EDIT_MODE_OFF_ANI; source: SIGNAL_SOURCE; action: STATE_SET "default" 0.0; - target: APPS_APPS_VIEW_BG; + target: APPS_VIEW_BG; + after: "bg_edit_mode_off2_ani"; + } + program { + name: "bg_edit_mode_off"; + signal: SIGNAL_EDIT_MODE_OFF; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: APPS_VIEW_BG; after: "bg_edit_mode_off2"; } program { - name: "bg_edit_mode_off2"; - signal: "bg_edit_mode_off2"; + name: "bg_edit_mode_off2_ani"; + signal: "bg_edit_mode_off2_ani"; source: SIGNAL_SOURCE; action: STATE_SET "default" 0.0; - target: "icon_0_0"; - target: "icon_0_1"; - target: "icon_0_2"; - target: "icon_0_3"; - target: "icon_1_0"; - target: "icon_1_1"; - target: "icon_1_2"; - target: "icon_1_3"; - target: "icon_2_0"; - target: "icon_2_1"; - target: "icon_2_2"; - target: "icon_2_3"; - target: "icon_3_0"; - target: "icon_3_1"; - target: "icon_3_2"; - target: "icon_3_3"; - target: "icon_4_0"; - target: "icon_4_1"; - target: "icon_4_2"; - target: "icon_4_3"; + target: APPS_VIEW_GRID; transition: DECELERATE ANIMATION_RESIZE_TIME; } program { - name: "bg_edit_mode_on_ani_done"; - signal: SIGNAL_EDIT_MODE_ON_ANI_DONE; + name: "bg_edit_mode_off2"; + signal: "bg_edit_mode_off2"; source: SIGNAL_SOURCE; - action: STATE_SET "edit_done" 0.0; - target: APPS_APPS_VIEW_BG; + action: STATE_SET "default" 0.0; + target: APPS_VIEW_GRID; } } } diff --git a/res/edje/apps_view_bg.edc b/res/edje/apps_view_bg.edc index 635a68f..cbb1d20 100755 --- a/res/edje/apps_view_bg.edc +++ b/res/edje/apps_view_bg.edc @@ -42,7 +42,7 @@ collections { visible: 1; } } - part { name: APPS_APPS_VIEW_BG; + part { name: APPS_VIEW_BG; type: RECT; mouse_events: 1; repeat_events: 1; @@ -58,8 +58,8 @@ collections { state: "edit" 0.0; inherit: "default" 0.0; visible: 1; - rel1 {relative: 0.055 0.0855; to:SIZE_SETTER;} - rel2 {relative: 0.95 0.873; to:SIZE_SETTER;} + rel1 {relative: 0.052 0.1; to:SIZE_SETTER;} + rel2 {relative: 0.95 0.845; to:SIZE_SETTER;} } description { state: "hide" 0.0; @@ -79,23 +79,23 @@ collections { signal: SIGNAL_APPS_VIEW_HIDE; source: SIGNAL_SOURCE; action: STATE_SET "hide" 0.0; - target: APPS_APPS_VIEW_BG; + target: APPS_VIEW_BG; } program { name: "apps_bg_show"; signal: SIGNAL_APPS_VIEW_SHOW; source: SIGNAL_SOURCE; action: STATE_SET "show" 0.0; - target: APPS_APPS_VIEW_BG; + target: APPS_VIEW_BG; } program { name: "rotation,changed"; signal: SIGNAL_APPS_VIEW_ANIM; source: SIGNAL_SOURCE; script { - custom_state(PART:APPS_APPS_VIEW_BG, "show", 0.0); - set_state_val(PART:APPS_APPS_VIEW_BG, STATE_COLOR, 0, 0, 0, round(get_float(alpha))); - set_state(PART:APPS_APPS_VIEW_BG, "custom", 0.0); + custom_state(PART:APPS_VIEW_BG, "show", 0.0); + set_state_val(PART:APPS_VIEW_BG, STATE_COLOR, 0, 0, 0, round(get_float(alpha))); + set_state(PART:APPS_VIEW_BG, "custom", 0.0); } } program { @@ -103,7 +103,7 @@ collections { signal: SIGNAL_EDIT_MODE_ON_ANI; source: SIGNAL_SOURCE; action: STATE_SET "edit" 0.0; - target: APPS_APPS_VIEW_BG; + target: APPS_VIEW_BG; transition: DECELERATE ANIMATION_RESIZE_TIME; after: SIGNAL_APPS_VIEW_HIDE; } @@ -112,7 +112,7 @@ collections { signal: SIGNAL_EDIT_MODE_OFF_ANI; source: SIGNAL_SOURCE; action: STATE_SET "edit" 0.0; - target: APPS_APPS_VIEW_BG; + target: APPS_VIEW_BG; after: "bg_edit_mode_off2"; } program { @@ -120,7 +120,7 @@ collections { signal: "bg_edit_mode_off2"; source: SIGNAL_SOURCE; action: STATE_SET "show" 0.0; - target: APPS_APPS_VIEW_BG; + target: APPS_VIEW_BG; transition: DECELERATE ANIMATION_RESIZE_TIME; } } diff --git a/src/apps_view.c b/src/apps_view.c index e178757..a1a4008 100755 --- a/src/apps_view.c +++ b/src/apps_view.c @@ -265,14 +265,6 @@ void apps_view_reorder(void) while (((item_count-1) / (APPS_VIEW_COL*APPS_VIEW_ROW) +1) < eina_list_count(apps_view_s.page_list)) { __apps_view_remove_page(); } - - Evas_Object *mapbuf = NULL; - find_list = NULL; - Evas_Object *page_ly = NULL; - EINA_LIST_FOREACH(apps_view_s.page_list, find_list, page_ly) { - mapbuf = evas_object_data_get(page_ly, "mapbuf"); - elm_mapbuf_enabled_set(mapbuf, EINA_TRUE); - } } void apps_view_folder_reroder(void) @@ -331,8 +323,8 @@ Evas_Object* apps_view_create_icon(app_data_t *item) return NULL; } evas_object_color_set(rect, 0, 0, 0, 0); - evas_object_size_hint_min_set(rect, APPS_VIEW_W / APPS_VIEW_COL, APPS_VIEW_H / APPS_VIEW_ROW); - evas_object_size_hint_max_set(rect, APPS_VIEW_W / APPS_VIEW_COL, APPS_VIEW_H / APPS_VIEW_ROW); + evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(rect, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_part_content_set(icon_layout, SIZE_SETTER, rect); item->app_layout = icon_layout; @@ -373,8 +365,8 @@ Evas_Object* apps_view_create_icon(app_data_t *item) LOGD("Create Image: %s", item->icon_path_str); icon_image = elm_image_add(icon_layout); elm_image_file_set(icon_image, item->icon_path_str, NULL); - evas_object_size_hint_min_set(icon_image, APPS_VIEW_ICON_IMAGE, APPS_VIEW_ICON_IMAGE); - evas_object_size_hint_max_set(icon_image, APPS_VIEW_ICON_IMAGE, APPS_VIEW_ICON_IMAGE); + evas_object_size_hint_weight_set(icon_image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(icon_image, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_part_content_set(icon_layout, APPS_ICON_CONTENT, icon_image); } else { LOGE("Can not read : %s", item->icon_path_str); @@ -382,8 +374,8 @@ Evas_Object* apps_view_create_icon(app_data_t *item) const char *default_icon = util_get_res_file_path(IMAGE_DIR"/default_app_icon.png"); icon_image = elm_image_add(icon_layout); elm_image_file_set(icon_image, default_icon, NULL); - evas_object_size_hint_min_set(icon_image, APPS_VIEW_ICON_IMAGE, APPS_VIEW_ICON_IMAGE); - evas_object_size_hint_max_set(icon_image, APPS_VIEW_ICON_IMAGE, APPS_VIEW_ICON_IMAGE); + evas_object_size_hint_weight_set(icon_image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(icon_image, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_part_content_set(icon_layout, APPS_ICON_CONTENT, icon_image); } @@ -439,39 +431,33 @@ void apps_view_delete_icon(app_data_t *item) void apps_view_unset_all(void) { - int i, j; - char icon_container[STR_MAX]; Eina_List *find_list = NULL; - Evas_Object * page; + Evas_Object *page; + Evas_Object *grid; EINA_LIST_FOREACH(apps_view_s.page_list, find_list, page) { - for (i = 0; i < APPS_VIEW_ROW; i++) - for (j = 0; j < APPS_VIEW_COL; j++) { - sprintf(icon_container, "icon_%d_%d", i, j); - elm_object_part_content_unset(page, icon_container); - } + grid = elm_object_part_content_get(page, APPS_VIEW_GRID); + elm_grid_clear(grid, EINA_FALSE); } } void apps_view_icon_unset(app_data_t *item) { Evas_Object *page = NULL; + Evas_Object *grid = NULL; int page_index; int col, row; char icon_container[STR_MAX]; if (item->parent_db_id == APPS_ROOT) { page_index = item->position / (APPS_VIEW_COL*APPS_VIEW_ROW); - col = (item->position / APPS_VIEW_COL)%APPS_VIEW_ROW; - row = item->position % APPS_VIEW_COL; page = eina_list_nth(apps_view_s.page_list, page_index); - - sprintf(icon_container, "icon_%d_%d", col, row); - elm_object_part_content_unset(page, icon_container); + grid = elm_object_part_content_get(page, APPS_VIEW_GRID); + elm_grid_unpack(grid, item->app_layout); } else if(apps_view_s.opened_folder && item->parent_db_id == apps_view_s.opened_folder->db_id) { - col = (item->position / APPS_FOLDER_COL)%APPS_FOLDER_ROW; - row = item->position % APPS_FOLDER_COL; + row = (item->position / APPS_FOLDER_COL) % APPS_FOLDER_ROW; + col = item->position % APPS_FOLDER_COL; sprintf(icon_container, "icon_%d_%d", col, row); if (elm_object_part_content_get(apps_view_s.folder_popup_ly, icon_container) != NULL) { @@ -483,8 +469,11 @@ void apps_view_icon_unset(app_data_t *item) bool apps_view_icon_set(app_data_t *item) { Evas_Object *page = NULL; + Evas_Object *grid = NULL; int page_index; int col, row; + int x, y; + int w, h; char icon_container[STR_MAX]; if (item == NULL) @@ -492,26 +481,27 @@ bool apps_view_icon_set(app_data_t *item) LOGD("%s %d %d", item->app_id, item->parent_db_id, item->position); if (item->parent_db_id == APPS_ROOT) { + w = APPS_VIEW_W / APPS_VIEW_COL; + h = APPS_VIEW_H / APPS_VIEW_ROW; page_index = item->position / (APPS_VIEW_COL*APPS_VIEW_ROW); - col = (item->position / APPS_VIEW_COL)%APPS_VIEW_ROW; - row = item->position % APPS_VIEW_COL; + row = (item->position / APPS_VIEW_COL) % APPS_VIEW_ROW; + col = item->position % APPS_VIEW_COL; + x = col * w; + y = row * h; if (eina_list_count(apps_view_s.page_list) < page_index+1) { page = __apps_view_add_page(); } else page = eina_list_nth(apps_view_s.page_list, page_index); - sprintf(icon_container, "icon_%d_%d", col, row); - if (elm_object_part_content_get(page, icon_container) != NULL) { - LOGE("unset %p", elm_object_part_content_get(page, icon_container)); - elm_object_part_content_unset(page, icon_container); - } - elm_object_part_content_set(page, icon_container, item->app_layout); + grid = elm_object_part_content_get(page, APPS_VIEW_GRID); + elm_grid_pack(grid, item->app_layout, x, y, w, h); + LOGD("[%s] -> [%s], [%p] page : %d", item->app_id, icon_container, item->app_layout, page_index); return true; } else if (apps_view_s.opened_folder && item->parent_db_id == apps_view_s.opened_folder->db_id) { - col = (item->position / APPS_FOLDER_COL)%APPS_FOLDER_ROW; - row = item->position % APPS_FOLDER_COL; + row = (item->position / APPS_VIEW_COL) % APPS_FOLDER_ROW; + col = item->position % APPS_FOLDER_COL; sprintf(icon_container, "icon_%d_%d", col, row); if (elm_object_part_content_get(apps_view_s.folder_popup_ly, icon_container) != NULL) { @@ -608,6 +598,11 @@ static Evas_Object *__apps_view_add_page(void) evas_object_show(rect); elm_object_part_content_set(page_ly, SIZE_SETTER, rect); + Evas_Object *grid = elm_grid_add(apps_view_s.box); + evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_grid_size_set(grid, APPS_VIEW_W, APPS_VIEW_H); + elm_object_part_content_set(page_ly, APPS_VIEW_GRID, grid); evas_object_show(page_ly); Evas_Object *mapbuf; @@ -621,6 +616,7 @@ static Evas_Object *__apps_view_add_page(void) elm_box_pack_end(apps_view_s.box, mapbuf); evas_object_data_set(page_ly, "mapbuf", mapbuf); + elm_mapbuf_enabled_set(mapbuf, EINA_TRUE); apps_view_s.page_list = eina_list_append(apps_view_s.page_list, page_ly); apps_view_s.page_count += 1; @@ -925,8 +921,13 @@ void apps_view_set_state(view_state_t state) Eina_List *find_list = NULL; Evas_Object *page_ly; + int page_index = 0; EINA_LIST_FOREACH(apps_view_s.page_list, find_list, page_ly) { - elm_object_signal_emit(page_ly, SIGNAL_EDIT_MODE_ON_ANI, SIGNAL_SOURCE); + if (page_index == apps_view_s.current_page) + elm_object_signal_emit(page_ly, SIGNAL_EDIT_MODE_ON_ANI, SIGNAL_SOURCE); + else + elm_object_signal_emit(page_ly, SIGNAL_EDIT_MODE_ON, SIGNAL_SOURCE); + page_index ++; } Eina_List *data_list = apps_data_get_list(); @@ -954,8 +955,13 @@ void apps_view_set_state(view_state_t state) elm_object_signal_emit(apps_view_s.bg, SIGNAL_EDIT_MODE_ON_ANI, SIGNAL_SOURCE); Eina_List *find_list = NULL; Evas_Object *page_ly; + int page_index = 0; EINA_LIST_FOREACH(apps_view_s.page_list, find_list, page_ly) { - elm_object_signal_emit(page_ly, SIGNAL_EDIT_MODE_ON_ANI, SIGNAL_SOURCE); + if (page_index == apps_view_s.current_page) + elm_object_signal_emit(page_ly, SIGNAL_EDIT_MODE_ON_ANI, SIGNAL_SOURCE); + else + elm_object_signal_emit(page_ly, SIGNAL_EDIT_MODE_ON, SIGNAL_SOURCE); + page_index ++; } Eina_List *data_list = apps_data_get_list(); @@ -1555,8 +1561,17 @@ static void __apps_view_edit_pick_up_icon(void *data) apps_mouse_info.offset_x = cx - gx; apps_mouse_info.offset_y = cy - gy; + Evas_Object *mapbuf = NULL; + Evas_Object *page_ly = NULL; + int page_index = apps_view_s.picked_item->position / (APPS_VIEW_COL*APPS_VIEW_ROW); + page_ly = eina_list_nth(apps_view_s.page_list, page_index); + mapbuf = evas_object_data_get(page_ly, "mapbuf"); + elm_mapbuf_enabled_set(mapbuf, EINA_FALSE); + apps_view_icon_unset(apps_view_s.picked_item); + elm_mapbuf_enabled_set(mapbuf, EINA_TRUE); + elm_object_signal_emit(icon_layout, SIGNAL_UNINSTALL_BUTTON_HIDE_ANI, SIGNAL_SOURCE); elm_object_signal_emit(icon_layout, SIGNAL_ICON_NAME_HIDE, SIGNAL_SOURCE); -- 2.7.4 From 0728e2d7c3c70a13d2e88c54217380c80e6a826f Mon Sep 17 00:00:00 2001 From: YoungHun Cho Date: Wed, 8 Jun 2016 15:24:43 +0900 Subject: [PATCH 10/16] coding rule Change-Id: I12352e6fca85a5059f04022cad98fe4101416f45 Signed-off-by: YoungHun Cho --- inc/add_widget_viewer/add_widget_data.h | 18 +- inc/apps_data.h | 42 +- inc/cluster_data.h | 20 +- inc/cluster_page.h | 20 +- inc/homescreen-efl.h | 16 +- inc/menu.h | 16 +- inc/mouse.h | 24 +- inc/page_indicator.h | 18 +- inc/popup.h | 2 +- inc/util.h | 6 +- inc/view.h | 12 +- res/edje/add_widget_viewer.edc | 522 +++--- res/edje/app_icon.edc | 978 +++++------ res/edje/apps_chooser_btn.edc | 326 ++-- res/edje/apps_folder_icon.edc | 548 +++--- res/edje/apps_folder_popup.edc | 390 ++--- res/edje/apps_view.edc | 282 ++-- res/edje/apps_view_bg.edc | 214 +-- res/edje/cluster_allpage.edc | 44 +- res/edje/cluster_allpage_thumbnail.edc | 438 ++--- res/edje/cluster_page.edc | 126 +- res/edje/home.edc | 34 +- res/edje/home_btn.edc | 514 +++--- res/edje/page_indicator_unit.edc | 172 +- res/edje/widget.edc | 318 ++-- src/add_widget_viewer/add_widget_data.c | 190 +-- src/add_widget_viewer/add_widget_viewer.c | 834 +++++----- src/apps_data.c | 568 +++---- src/apps_db.c | 562 +++---- src/apps_package_manager.c | 284 ++-- src/apps_view.c | 2576 ++++++++++++++--------------- src/cluster_data.c | 162 +- src/cluster_db.c | 350 ++-- src/cluster_page.c | 488 +++--- src/cluster_view.c | 2030 +++++++++++------------ src/conf.c | 16 +- src/homescreen-efl.c | 440 ++--- src/hw_key.c | 152 +- src/menu.c | 104 +- src/page_indicator.c | 300 ++-- src/popup.c | 118 +- src/util.c | 82 +- src/widget_viewer.c | 92 +- 43 files changed, 7223 insertions(+), 7225 deletions(-) diff --git a/inc/add_widget_viewer/add_widget_data.h b/inc/add_widget_viewer/add_widget_data.h index 763b56a..71cd47c 100755 --- a/inc/add_widget_viewer/add_widget_data.h +++ b/inc/add_widget_viewer/add_widget_data.h @@ -18,20 +18,20 @@ #define __ADD_WIDGET_DATA_H__ typedef struct { - char *widget_id; - char *app_id; - char *label; + char *widget_id; + char *app_id; + char *label; - Eina_List *preview_list; - Elm_Object_Item *genlist_item; + Eina_List *preview_list; + Elm_Object_Item *genlist_item; - int size_types_count; - int size_types; + int size_types_count; + int size_types; } add_widget_data_t; typedef struct { - int type; - char *path; + int type; + char *path; } add_widget_data_preview_t; bool add_widget_data_init(void); diff --git a/inc/apps_data.h b/inc/apps_data.h index 627f968..288188b 100755 --- a/inc/apps_data.h +++ b/inc/apps_data.h @@ -24,30 +24,30 @@ #define TEMP_OWNER "owner" typedef struct { - int db_id; - int parent_db_id; - char* owner; - Eina_Bool is_folder; - int position; - char* app_id; - char* pkg_id; - char* label_str; - char* icon_path_str; - char* uri; - int type; - bool is_removable; - bool is_system; - Evas_Object *app_layout; - Evas_Object *folder_layout; - unsigned int badge_count; - Eina_Bool is_checked; - bool temp; + int db_id; + int parent_db_id; + char* owner; + Eina_Bool is_folder; + int position; + char* app_id; + char* pkg_id; + char* label_str; + char* icon_path_str; + char* uri; + int type; + bool is_removable; + bool is_system; + Evas_Object *app_layout; + Evas_Object *folder_layout; + unsigned int badge_count; + Eina_Bool is_checked; + bool temp; } app_data_t; enum { - APPS_DATA_TYPE_APP = 0, - APPS_DATA_TYPE_APP_SHORTCUT, - APPS_DATA_TYPE_URI_SHORTCUT + APPS_DATA_TYPE_APP = 0, + APPS_DATA_TYPE_APP_SHORTCUT, + APPS_DATA_TYPE_URI_SHORTCUT }; void apps_data_init(void *data, Ecore_Thread *th); diff --git a/inc/cluster_data.h b/inc/cluster_data.h index 0a191ac..edf13f3 100755 --- a/inc/cluster_data.h +++ b/inc/cluster_data.h @@ -22,16 +22,16 @@ #include typedef struct { - int widget_id; - int page_idx; - int pos_y; - int pos_x; - char *pkg_name; - char *content_info; - widget_size_type_e type; - double period; - int allow_duplicate; - Evas_Object *widget_layout; + int widget_id; + int page_idx; + int pos_y; + int pos_x; + char *pkg_name; + char *content_info; + widget_size_type_e type; + double period; + int allow_duplicate; + Evas_Object *widget_layout; } widget_data_t; void cluster_data_init(void); diff --git a/inc/cluster_page.h b/inc/cluster_page.h index 2760527..c7205d5 100755 --- a/inc/cluster_page.h +++ b/inc/cluster_page.h @@ -23,17 +23,17 @@ #include "cluster_data.h" typedef struct { - int page_index; - Evas_Object *page_layout; - int space[CLUSTER_ROW][CLUSTER_COL]; + int page_index; + Evas_Object *page_layout; + int space[CLUSTER_ROW][CLUSTER_COL]; - Evas_Object *grid; - Evas_Object *thumbnail_ly; - Evas_Object *highlight; - int highlight_pos_x; - int highlight_pos_y; + Evas_Object *grid; + Evas_Object *thumbnail_ly; + Evas_Object *highlight; + int highlight_pos_x; + int highlight_pos_y; - Eina_List *widget_list; + Eina_List *widget_list; } cluster_page_t; cluster_page_t *cluster_page_new(Evas_Object* parent); @@ -41,7 +41,7 @@ void cluster_page_delete(cluster_page_t *page); bool cluster_page_set_widget(cluster_page_t *page, widget_data_t *item); bool cluster_page_unset(cluster_page_t *page, widget_data_t *item); bool cluster_page_check_empty_space(cluster_page_t *page, widget_size_type_e type, - int pos_x, int pos_y, int *empty_x, int *empty_y); + int pos_x, int pos_y, int *empty_x, int *empty_y); void cluster_page_check_empty_space_pos(cluster_page_t *page, widget_data_t *item, int *out_x, int *out_y); Evas_Object *cluster_page_thumbnail(cluster_page_t *page); void cluster_page_drag_cancel(cluster_page_t *page); diff --git a/inc/homescreen-efl.h b/inc/homescreen-efl.h index 2534331..cc8de26 100755 --- a/inc/homescreen-efl.h +++ b/inc/homescreen-efl.h @@ -25,14 +25,14 @@ #endif typedef enum { - HOMESCREEN_VIEW_HOME = 0, - //HOMESCREEN_VIEW_HOME_EDIT, - //HOMESCREEN_VIEW_HOME_ALL_PAGES, - //HOMESCREEN_VIEW_HOME_ADD_VIEWER, - HOMESCREEN_VIEW_APPS, - //HOMESCREEN_VIEW_APPS_EDIT, - //HOMESCREEN_VIEW_APPS_CHOOSE, - HOMESCREEN_VIEW_UNKNOWN, + HOMESCREEN_VIEW_HOME = 0, + //HOMESCREEN_VIEW_HOME_EDIT, + //HOMESCREEN_VIEW_HOME_ALL_PAGES, + //HOMESCREEN_VIEW_HOME_ADD_VIEWER, + HOMESCREEN_VIEW_APPS, + //HOMESCREEN_VIEW_APPS_EDIT, + //HOMESCREEN_VIEW_APPS_CHOOSE, + HOMESCREEN_VIEW_UNKNOWN, } homescreen_view_t; Evas_Object *homescreen_efl_get_win(void); diff --git a/inc/menu.h b/inc/menu.h index 2394da4..b956d48 100755 --- a/inc/menu.h +++ b/inc/menu.h @@ -21,14 +21,14 @@ #include typedef enum { - MENU_DEFAULT = -1, - MENU_CLUSTER_EDIT = 0, - MENU_CLUSTER_ADD_WIDGET, - MENU_CLUSTER_CHANGE_WALLPAPER, - MENU_CLUSTER_ALL_PAGES, - MENU_APPS_EDIT, - MENU_APPS_CREATE_FOLDER, - MENU_MAX + MENU_DEFAULT = -1, + MENU_CLUSTER_EDIT = 0, + MENU_CLUSTER_ADD_WIDGET, + MENU_CLUSTER_CHANGE_WALLPAPER, + MENU_CLUSTER_ALL_PAGES, + MENU_APPS_EDIT, + MENU_APPS_CREATE_FOLDER, + MENU_MAX } menu_item_t; void menu_show(Eina_Hash* hash_table); diff --git a/inc/mouse.h b/inc/mouse.h index 99e514b..95d2fe3 100755 --- a/inc/mouse.h +++ b/inc/mouse.h @@ -20,18 +20,18 @@ #define MOUSE_MOVE_MIN_DISTANCE 100 typedef struct { - bool pressed; - bool long_pressed; - Evas_Coord down_x; - Evas_Coord down_y; - Evas_Coord move_x; - Evas_Coord move_y; - Evas_Coord up_x; - Evas_Coord up_y; - int offset_x; - int offset_y; - Ecore_Timer *long_press_timer; - Evas_Object *pressed_obj; + bool pressed; + bool long_pressed; + Evas_Coord down_x; + Evas_Coord down_y; + Evas_Coord move_x; + Evas_Coord move_y; + Evas_Coord up_x; + Evas_Coord up_y; + int offset_x; + int offset_y; + Ecore_Timer *long_press_timer; + Evas_Object *pressed_obj; } mouse_info_t; #endif /* __MOUSE_H__ */ diff --git a/inc/page_indicator.h b/inc/page_indicator.h index fcbdaa4..bbfe4ed 100755 --- a/inc/page_indicator.h +++ b/inc/page_indicator.h @@ -23,16 +23,16 @@ #define PAGE_INDICATOR_MAX_PAGE_COUNT 7 typedef struct { - Evas_Object *scroller; - Evas_Object *box; - Evas_Object *unit[PAGE_INDICATOR_MAX_PAGE_COUNT]; + Evas_Object *scroller; + Evas_Object *box; + Evas_Object *unit[PAGE_INDICATOR_MAX_PAGE_COUNT]; - int page_count; - int x; - int y; - int w; - int h; - int current_page; + int page_count; + int x; + int y; + int w; + int h; + int current_page; } page_indicator_t; page_indicator_t * page_indictor_create(Evas_Object *scroller); diff --git a/inc/popup.h b/inc/popup.h index 7df99e4..41636f6 100755 --- a/inc/popup.h +++ b/inc/popup.h @@ -20,7 +20,7 @@ #include "conf.h" void popup_show(int btn_count, Evas_Smart_Cb btn_func[3], void *func_data[3], - const char (*btn_text)[STR_MAX], const char *title_text, const char *popup_text); + const char (*btn_text)[STR_MAX], const char *title_text, const char *popup_text); void popup_hide(void); bool popup_is_show(void); diff --git a/inc/util.h b/inc/util.h index 25828ec..70d6ba2 100755 --- a/inc/util.h +++ b/inc/util.h @@ -29,9 +29,9 @@ #define LOG_TAG "HOMESCREEN_EFL" #define LOG_(prio, tag, fmt, arg...) \ - ({ do { \ - dlog_print(prio, tag, "%s: %s(%d) > " fmt, __MODULE__, __func__, __LINE__, ##arg);\ - } while (0); }) + ({ do { \ + dlog_print(prio, tag, "%s: %s(%d) > " fmt, __MODULE__, __func__, __LINE__, ##arg);\ + } while (0); }) #define LOGD(format, arg...) LOG_(DLOG_DEBUG, LOG_TAG, format, ##arg) #define LOGI(format, arg...) LOG_(DLOG_INFO, LOG_TAG, format, ##arg) diff --git a/inc/view.h b/inc/view.h index b73b612..3c3692c 100755 --- a/inc/view.h +++ b/inc/view.h @@ -18,12 +18,12 @@ #define __VIEW_H__ typedef enum { - VIEW_STATE_NORMAL = 0, - VIEW_STATE_EDIT, - VIEW_STATE_CHOOSER, - VIEW_STATE_ADD_VIEWER, - VIEW_STATE_ALL_PAGE, - VIEW_STATE_UNKNOWN, + VIEW_STATE_NORMAL = 0, + VIEW_STATE_EDIT, + VIEW_STATE_CHOOSER, + VIEW_STATE_ADD_VIEWER, + VIEW_STATE_ALL_PAGE, + VIEW_STATE_UNKNOWN, } view_state_t; #endif /* __VIEW_H__ */ diff --git a/res/edje/add_widget_viewer.edc b/res/edje/add_widget_viewer.edc index 92233cc..0a52873 100755 --- a/res/edje/add_widget_viewer.edc +++ b/res/edje/add_widget_viewer.edc @@ -17,282 +17,282 @@ #include "../../inc/edc_conf.h" images { - image: "preview_bg_4x2.png" COMP; - image: "preview_bg_4x4.png" COMP; + image: "preview_bg_4x2.png" COMP; + image: "preview_bg_4x4.png" COMP; } styles { - style { - name: "leaf,font"; - base: "font=Tizen text_class=T024 font_size=38 align=left color=#808080FF color_class=T024 ellipsis=1.0"; - } + style { + name: "leaf,font"; + base: "font=Tizen text_class=T024 font_size=38 align=left color=#808080FF color_class=T024 ellipsis=1.0"; + } } collections { - group { - name: "elm/genlist/item/widget,leaf/default"; + group { + name: "elm/genlist/item/widget,leaf/default"; - data.item: "contents" "size_setter elm.icon"; - data.item: "texts" "elm.text"; + data.item: "contents" "size_setter elm.icon"; + data.item: "texts" "elm.text"; - parts { - part { - name: SIZE_SETTER; - type: SWALLOW; - mouse_events: 1; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 1.0 1.0; } - } - } - part { - name: "elm.text"; - type: TEXTBLOCK; - mouse_events: 0; - description { - state: "default" 0.0; - rel1 { relative: 0.044 0.026; to: SIZE_SETTER; } - rel2 { relative: 0.894 0.159; to: SIZE_SETTER; } - align: 0.0 0.0; - text { style: "leaf,font"; } - } - } - part { - name: "elm.icon"; - type: SWALLOW; - mouse_events: 1; - description { - state: "default" 0.0; - rel1 { relative: 0.044 0.180; to: SIZE_SETTER; } - rel2 { relative: 0.894 0.954; to: SIZE_SETTER; } - align: 0.0 0.0; - } - } - } - } + parts { + part { + name: SIZE_SETTER; + type: SWALLOW; + mouse_events: 1; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 1.0; } + } + } + part { + name: "elm.text"; + type: TEXTBLOCK; + mouse_events: 0; + description { + state: "default" 0.0; + rel1 { relative: 0.044 0.026; to: SIZE_SETTER; } + rel2 { relative: 0.894 0.159; to: SIZE_SETTER; } + align: 0.0 0.0; + text { style: "leaf,font"; } + } + } + part { + name: "elm.icon"; + type: SWALLOW; + mouse_events: 1; + description { + state: "default" 0.0; + rel1 { relative: 0.044 0.180; to: SIZE_SETTER; } + rel2 { relative: 0.894 0.954; to: SIZE_SETTER; } + align: 0.0 0.0; + } + } + } + } - group { - name: ADD_WIDGET_VIEWER_CONFORMANT_FRAME; - parts { - part { - name: "bg"; - type: RECT; - scale: 1; - mouse_events: 0; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 1.0 1.0; } - visible: 0; - } - } + group { + name: ADD_WIDGET_VIEWER_CONFORMANT_FRAME; + parts { + part { + name: "bg"; + type: RECT; + scale: 1; + mouse_events: 0; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 1.0; } + visible: 0; + } + } - part { - name: "content"; - type: SWALLOW; - mouse_events: 1; - scale: 1; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 1.0 1.0; } - } - } - } - } + part { + name: "content"; + type: SWALLOW; + mouse_events: 1; + scale: 1; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 1.0; } + } + } + } + } - group { - name: ADD_WIDGET_VIEWER_CONTENT_FRAME; - parts { - part { - name: "content"; - type: SWALLOW; - mouse_events: 1; - scale: 1; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 1.0 1.0; } - align: 0.0 0.0; - visible: 0; - } - description { - state: "show,normal" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } + group { + name: ADD_WIDGET_VIEWER_CONTENT_FRAME; + parts { + part { + name: "content"; + type: SWALLOW; + mouse_events: 1; + scale: 1; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 1.0; } + align: 0.0 0.0; + visible: 0; + } + description { + state: "show,normal" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } - part { - name: "index"; - type: SWALLOW; - mouse_events: 1; - scale: 1; - description { - state: "default" 0.0; - rel1 { relative: 0.00 0.0;} - rel2 { relative: 1.00 1.00; } - visible: 0; - } - description { - state: "show,normal" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } + part { + name: "index"; + type: SWALLOW; + mouse_events: 1; + scale: 1; + description { + state: "default" 0.0; + rel1 { relative: 0.00 0.0;} + rel2 { relative: 1.00 1.00; } + visible: 0; + } + description { + state: "show,normal" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } - part { - name: "loading"; - type: RECT; - mouse_events: 0; - description { - state: "default" 0.0; - rel1 { relative: 0.25 0.40; } - rel2 { relative: 0.75 0.60; } - color: 100 100 200 200; - visible: 0; - } + part { + name: "loading"; + type: RECT; + mouse_events: 0; + description { + state: "default" 0.0; + rel1 { relative: 0.25 0.40; } + rel2 { relative: 0.75 0.60; } + color: 100 100 200 200; + visible: 0; + } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible: 0; - } - } + description { + state: "show" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } - part { - name: "loading,txt"; - type: TEXT; - mouse_events: 0; - scale: 1; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; to, "loading"; } - rel2 { relative: 1.0 1.0; to, "loading"; } - text { - font: "Tizen:style=Bold"; - text_class: "tizen"; - align: 0.5 0.5; - size: 26; - text: "Loading"; - } - visible: 0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible: 0; - } - } - } - programs { - program { - name: "loading,on"; - source: ADD_WIDGET_VIEWER_CONTENT_FRAME; - signal: "loading,on"; - action: STATE_SET "show" 0.0; - target: "loading"; - target: "loading,txt"; - } - program { - name: "loading,off"; - source: ADD_WIDGET_VIEWER_CONTENT_FRAME; - signal: "loading,off"; - action: STATE_SET "default" 0.0; - target: "loading"; - target: "loading,txt"; - } - program { - name: "show,normal"; - signal: "display,normal"; - source: "container"; - action: STATE_SET "show,normal" 0.0; - target: "content"; - } - program { - name: "show,normal,index"; - signal: "display,index"; - source: "container"; - action: STATE_SET "show,normal" 0.0; - target: "index"; - } - } - } + part { + name: "loading,txt"; + type: TEXT; + mouse_events: 0; + scale: 1; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; to, "loading"; } + rel2 { relative: 1.0 1.0; to, "loading"; } + text { + font: "Tizen:style=Bold"; + text_class: "tizen"; + align: 0.5 0.5; + size: 26; + text: "Loading"; + } + visible: 0; + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + } + programs { + program { + name: "loading,on"; + source: ADD_WIDGET_VIEWER_CONTENT_FRAME; + signal: "loading,on"; + action: STATE_SET "show" 0.0; + target: "loading"; + target: "loading,txt"; + } + program { + name: "loading,off"; + source: ADD_WIDGET_VIEWER_CONTENT_FRAME; + signal: "loading,off"; + action: STATE_SET "default" 0.0; + target: "loading"; + target: "loading,txt"; + } + program { + name: "show,normal"; + signal: "display,normal"; + source: "container"; + action: STATE_SET "show,normal" 0.0; + target: "content"; + } + program { + name: "show,normal,index"; + signal: "display,index"; + source: "container"; + action: STATE_SET "show,normal" 0.0; + target: "index"; + } + } + } - group { - name: ADD_WIDGET_VIEWER_PREVIEW; - parts { - part { - name: SIZE_SETTER; - type: SWALLOW; - mouse_events: 1; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 1.0 1.0; } - } - } - part { - name: "bg"; - type: RECT; - mouse_events: 0; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; to: SIZE_SETTER; } - rel2 { relative: 1.0 1.0; to: SIZE_SETTER; } - color: 61 185 204 178; - } - description { - state: "pressed" 0.0; - inherit: "default" 0.0; - color: 255 0 121 212; - } - } - part { - name: ADD_WIDGET_VIEWER_PREVIEW_ICON; - type: SWALLOW; - mouse_events: 1; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; to: SIZE_SETTER; } - rel2 { relative: 1.0 1.0; to: SIZE_SETTER; } - } - } - part { - name: "icon,touch"; - type: RECT; - mouse_events: 1; - description { - state: "default" 0.0; - rel1 { relative: 0.0 0.0; to: ADD_WIDGET_VIEWER_PREVIEW_ICON; } - rel2 { relative: 1.0 1.0; to: ADD_WIDGET_VIEWER_PREVIEW_ICON; } - color: 0 0 0 0; - } - } - } - programs { - program { - name: "icon,clicked"; - signal: "mouse,clicked,1"; - source: "icon,touch"; - action: SIGNAL_EMIT SIGNAL_PREVIEW_CLICKED SIGNAL_SOURCE; - } - program { - name: "icon,down"; - source: "icon,touch"; - signal: "mouse,down,1"; - action: STATE_SET "pressed" 0.0; - target: "bg"; - } - program { - name: "icon,up"; - source: "icon,touch"; - signal: "mouse,up,1"; - action: STATE_SET "default" 0.0; - target: "bg"; - } - } - } + group { + name: ADD_WIDGET_VIEWER_PREVIEW; + parts { + part { + name: SIZE_SETTER; + type: SWALLOW; + mouse_events: 1; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 1.0; } + } + } + part { + name: "bg"; + type: RECT; + mouse_events: 0; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; to: SIZE_SETTER; } + rel2 { relative: 1.0 1.0; to: SIZE_SETTER; } + color: 61 185 204 178; + } + description { + state: "pressed" 0.0; + inherit: "default" 0.0; + color: 255 0 121 212; + } + } + part { + name: ADD_WIDGET_VIEWER_PREVIEW_ICON; + type: SWALLOW; + mouse_events: 1; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; to: SIZE_SETTER; } + rel2 { relative: 1.0 1.0; to: SIZE_SETTER; } + } + } + part { + name: "icon,touch"; + type: RECT; + mouse_events: 1; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; to: ADD_WIDGET_VIEWER_PREVIEW_ICON; } + rel2 { relative: 1.0 1.0; to: ADD_WIDGET_VIEWER_PREVIEW_ICON; } + color: 0 0 0 0; + } + } + } + programs { + program { + name: "icon,clicked"; + signal: "mouse,clicked,1"; + source: "icon,touch"; + action: SIGNAL_EMIT SIGNAL_PREVIEW_CLICKED SIGNAL_SOURCE; + } + program { + name: "icon,down"; + source: "icon,touch"; + signal: "mouse,down,1"; + action: STATE_SET "pressed" 0.0; + target: "bg"; + } + program { + name: "icon,up"; + source: "icon,touch"; + signal: "mouse,up,1"; + action: STATE_SET "default" 0.0; + target: "bg"; + } + } + } } diff --git a/res/edje/app_icon.edc b/res/edje/app_icon.edc index 9062ae1..aeca487 100755 --- a/res/edje/app_icon.edc +++ b/res/edje/app_icon.edc @@ -17,502 +17,502 @@ #include "../../inc/edc_conf.h" images { - image: "../res/images/app_press_117.png" COMP; - image: "../res/images/btn_delete_nor.png" COMP; - image: "../res/images/btn_delete_press.png" COMP; - image: "../res/images/icon_badge_container.png" COMP; - image: "../res/images/core_check_bg.png" COMP; - image: "../res/images/core_check_bg_stroke.png" COMP; - image: "../res/images/core_check_icon.png" COMP; - image: "../res/images/folder_appicon_bg.png" COMP; + image: "../res/images/app_press_117.png" COMP; + image: "../res/images/btn_delete_nor.png" COMP; + image: "../res/images/btn_delete_press.png" COMP; + image: "../res/images/icon_badge_container.png" COMP; + image: "../res/images/core_check_bg.png" COMP; + image: "../res/images/core_check_bg_stroke.png" COMP; + image: "../res/images/core_check_icon.png" COMP; + image: "../res/images/folder_appicon_bg.png" COMP; } styles { - style{ - name: "icon_label"; - base: "font=Tizen:style=Regular align=center color=#FFFFFFFF style=shadow,bottom shadow_color=#000000FF font_size=26 ellipsis=1.0 wrap=mixed"; - } - style{ - name: "icon_label_edit"; - base: "font=Tizen:style=Regular align=center color=#FFFFFFFF style=shadow,bottom shadow_color=#000000FF font_size=23 ellipsis=1.0 wrap=mixed"; - } + style{ + name: "icon_label"; + base: "font=Tizen:style=Regular align=center color=#FFFFFFFF style=shadow,bottom shadow_color=#000000FF font_size=26 ellipsis=1.0 wrap=mixed"; + } + style{ + name: "icon_label_edit"; + base: "font=Tizen:style=Regular align=center color=#FFFFFFFF style=shadow,bottom shadow_color=#000000FF font_size=23 ellipsis=1.0 wrap=mixed"; + } } collections { - group { name: GROUP_APP_ICON_LY; - parts { - part { name: SIZE_SETTER; - type: SWALLOW; - mouse_events: 1; - repeat_events: 1; - description { - state: "default" 0.0; - align: 0 0; - rel1.relative: 0.0 0.0; - rel2.relative: 1.0 1.0; - } - } - part { name: APPS_ICON_CONTENT; - type: SWALLOW; - description { - state: "default" 0.0; - rel1{relative: 0.16 0; to: SIZE_SETTER;} - rel2{relative: 0.84 0.6; to: SIZE_SETTER;} - align: 0.5 0.5; - fixed: 1 1; - } - } //APPS_ICON_CONTENT + group { name: GROUP_APP_ICON_LY; + parts { + part { name: SIZE_SETTER; + type: SWALLOW; + mouse_events: 1; + repeat_events: 1; + description { + state: "default" 0.0; + align: 0 0; + rel1.relative: 0.0 0.0; + rel2.relative: 1.0 1.0; + } + } + part { name: APPS_ICON_CONTENT; + type: SWALLOW; + description { + state: "default" 0.0; + rel1{relative: 0.16 0; to: SIZE_SETTER;} + rel2{relative: 0.84 0.6; to: SIZE_SETTER;} + align: 0.5 0.5; + fixed: 1 1; + } + } //APPS_ICON_CONTENT - part { name: APPS_ICON_CONTENT_TOUCH; - type: IMAGE; - mouse_events: 1; - repeat_events: 1; - scale: 1; - description { - state: "default" 0.0; - rel1{relative: 0.0 0.0; to: APPS_ICON_CONTENT;} - rel2{relative: 1.0 1.0; to: APPS_ICON_CONTENT;} - aspect: 1.0 1.0; - aspect_preference: BOTH; - color: 0 0 0 0; - image { - normal: "../res/images/app_press_117.png"; - } - } - description{ - state: "icon_touched" 0.0; - inherit: "default" 0.0; - color: 0 0 0 250; - } - } //APPS_ICON_CONTENT_TOUCH + part { name: APPS_ICON_CONTENT_TOUCH; + type: IMAGE; + mouse_events: 1; + repeat_events: 1; + scale: 1; + description { + state: "default" 0.0; + rel1{relative: 0.0 0.0; to: APPS_ICON_CONTENT;} + rel2{relative: 1.0 1.0; to: APPS_ICON_CONTENT;} + aspect: 1.0 1.0; + aspect_preference: BOTH; + color: 0 0 0 0; + image { + normal: "../res/images/app_press_117.png"; + } + } + description{ + state: "icon_touched" 0.0; + inherit: "default" 0.0; + color: 0 0 0 250; + } + } //APPS_ICON_CONTENT_TOUCH - part { name: "app_icon_disable"; - type: IMAGE; - mouse_events: 1; - repeat_events: 0; - scale: 1; - description { - state: "default" 0.0; - rel1{relative: 0.0 0.0; to: APPS_ICON_CONTENT;} - rel2{relative: 1.0 1.0; to: APPS_ICON_CONTENT;} - aspect: 1.0 1.0; - aspect_preference: BOTH; - color: 0 0 0 0; - image { - normal: "../res/images/folder_appicon_bg.png"; - } - visible: 0; - } - description{ - state: "disable" 0.0; - inherit: "default" 0.0; - color: 0 0 0 150; - visible: 1; - } - } //APPS_ICON_CONTENT_TOUCH + part { name: "app_icon_disable"; + type: IMAGE; + mouse_events: 1; + repeat_events: 0; + scale: 1; + description { + state: "default" 0.0; + rel1{relative: 0.0 0.0; to: APPS_ICON_CONTENT;} + rel2{relative: 1.0 1.0; to: APPS_ICON_CONTENT;} + aspect: 1.0 1.0; + aspect_preference: BOTH; + color: 0 0 0 0; + image { + normal: "../res/images/folder_appicon_bg.png"; + } + visible: 0; + } + description{ + state: "disable" 0.0; + inherit: "default" 0.0; + color: 0 0 0 150; + visible: 1; + } + } //APPS_ICON_CONTENT_TOUCH - part { name: APPS_ICON_NAME; - type: TEXTBLOCK; - mouse_events: 1; - repeat_events: 1; - description { - state: "default" 0.0; - rel1{relative: 0.04 0.6; to: SIZE_SETTER;} - rel2{relative: 0.95 0.98; to: SIZE_SETTER;} - color: 255 255 255 255; - text { - style: "icon_label"; - align: 0.5 0.0; - } - } - description { - state: "disable" 0.0; - inherit: "default" 0.0; - color: 0 0 0 50; - } - description { - state: "hide" 0.0; - inherit: "default" 0.0; - visible: 0; - } - }//APPS_ICON_NAME - part - { - name: "icon_badge"; - type: IMAGE; - scale: 0; - description - { - state: "default" 0.0; - rel1{relative: 0.0 0.0; offset: -10 -1; to: APPS_ICON_BADGE_TEXT;} - rel2{relative: 1.0 1.0; offset: 13 1; to: APPS_ICON_BADGE_TEXT;} - visible: 0; - image - { - normal: "../res/images/icon_badge_container.png"; - } - } - description - { - state: "show" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - part - { - name: APPS_ICON_BADGE_TEXT; - type: TEXT; - scale: 1; - description - { - state: "default" 0.0; - visible: 0; - fixed: 1 1; - color: 255 255 255 255; - rel1{relative: 0.95 -0.05; to: APPS_ICON_CONTENT;} - rel2{relative: 0.95 -0.05; to: APPS_ICON_CONTENT;} - align: 1.0 0.0; - text - { - font: "arial"; - size: 12; - text_class: "ATO002"; - min: 1 1; - max: 1 1; - } - } - description - { - state: "show" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - part { //APPS_ICON_UNINSTALL_BUTTON - name: APPS_ICON_UNINSTALL_BUTTON; - type: IMAGE; - scale: 0; - description { - state: "default" 0.0; - rel1{relative: 0.0 -0.1; to: SIZE_SETTER;} - rel2{relative: 0.4 0.4; to: SIZE_SETTER;} - color: 255 255 255 0; - visible: 0; - aspect: 1.0 1.0; - aspect_preference: BOTH; - image { - normal: "../res/images/btn_delete_nor.png"; - } - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - visible: 1; - } - description { - state: "press" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - image { - normal: "../res/images/btn_delete_press.png"; - } - visible: 1; - } - }//APPS_ICON_UNINSTALL_BUTTON + part { name: APPS_ICON_NAME; + type: TEXTBLOCK; + mouse_events: 1; + repeat_events: 1; + description { + state: "default" 0.0; + rel1{relative: 0.04 0.6; to: SIZE_SETTER;} + rel2{relative: 0.95 0.98; to: SIZE_SETTER;} + color: 255 255 255 255; + text { + style: "icon_label"; + align: 0.5 0.0; + } + } + description { + state: "disable" 0.0; + inherit: "default" 0.0; + color: 0 0 0 50; + } + description { + state: "hide" 0.0; + inherit: "default" 0.0; + visible: 0; + } + }//APPS_ICON_NAME + part + { + name: "icon_badge"; + type: IMAGE; + scale: 0; + description + { + state: "default" 0.0; + rel1{relative: 0.0 0.0; offset: -10 -1; to: APPS_ICON_BADGE_TEXT;} + rel2{relative: 1.0 1.0; offset: 13 1; to: APPS_ICON_BADGE_TEXT;} + visible: 0; + image + { + normal: "../res/images/icon_badge_container.png"; + } + } + description + { + state: "show" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part + { + name: APPS_ICON_BADGE_TEXT; + type: TEXT; + scale: 1; + description + { + state: "default" 0.0; + visible: 0; + fixed: 1 1; + color: 255 255 255 255; + rel1{relative: 0.95 -0.05; to: APPS_ICON_CONTENT;} + rel2{relative: 0.95 -0.05; to: APPS_ICON_CONTENT;} + align: 1.0 0.0; + text + { + font: "arial"; + size: 12; + text_class: "ATO002"; + min: 1 1; + max: 1 1; + } + } + description + { + state: "show" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { //APPS_ICON_UNINSTALL_BUTTON + name: APPS_ICON_UNINSTALL_BUTTON; + type: IMAGE; + scale: 0; + description { + state: "default" 0.0; + rel1{relative: 0.0 -0.1; to: SIZE_SETTER;} + rel2{relative: 0.4 0.4; to: SIZE_SETTER;} + color: 255 255 255 0; + visible: 0; + aspect: 1.0 1.0; + aspect_preference: BOTH; + image { + normal: "../res/images/btn_delete_nor.png"; + } + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + visible: 1; + } + description { + state: "press" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + image { + normal: "../res/images/btn_delete_press.png"; + } + visible: 1; + } + }//APPS_ICON_UNINSTALL_BUTTON - part { //"icon_checkbox_bg"; - name: "icon_checkbox_bg"; - type: IMAGE; - scale: 0; - description { - state: "default" 0.0; - rel1{relative: 0.6 -0.1; to: APPS_ICON_CONTENT;} - rel2{relative: 1.1 0.4; to: APPS_ICON_CONTENT;} - color: 61 184 204 120; - visible: 0; - aspect: 1.0 1.0; - aspect_preference: BOTH; - image { - normal: "../res/images/core_check_bg.png"; - } - } - description { - state: "blank" 0.0; - inherit: "default" 0.0; - visible: 1; - } - description { - state: "checked" 0.0; - inherit: "default" 0.0; - color: 61 184 204 120; - visible: 1; - } - }//"icon_checkbox_bg" - part { //"icon_checkbox_border"; - name: "icon_checkbox_border"; - type: IMAGE; - scale: 0; - description { - state: "default" 0.0; - rel1{relative: 0.0 0.0; to: "icon_checkbox_bg";} - rel2{relative: 1.0 1.0; to: "icon_checkbox_bg";} - color: 255 255 255 0; - visible: 0; - aspect: 1.0 1.0; - aspect_preference: BOTH; - image { - normal: "../res/images/core_check_bg_stroke.png"; - } - } - description { - state: "blank" 0.0; - inherit: "default" 0.0; - color: 61 184 204 255; - visible: 1; - } - description { - state: "checked" 0.0; - inherit: "default" 0.0; - color: 61 184 204 120; - visible: 1; - } - }//"icon_checkbox_border" - part { //"icon_checkbox" - name: "icon_checkbox"; - type: IMAGE; - scale: 0; - description { - state: "default" 0.0; - rel1{relative: 0.0 0.0; to: "icon_checkbox_bg";} - rel2{relative: 1.0 1.0; to: "icon_checkbox_bg";} - color: 255 255 255 120; - visible: 0; - aspect: 1.0 1.0; - aspect_preference: BOTH; - image { - normal: "../res/images/core_check_icon.png"; - } - } - description { - state: "blank" 0.0; - inherit: "default" 0.0; - visible: 0; - } - description { - state: "checked" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - visible: 1; - } - description { - state: "half-checked" 0.0; - inherit: "default" 0.0; - color: 255 255 255 127; - visible: 1; - } - } - part { - name: "icon_checkbox_touch"; - type:RECT; - scale:0; - mouse_events: 1; - repeat_events: 0; - description { - state: "default" 0.0; - rel1{relative: 0.0 -0.1; to: APPS_ICON_CONTENT;} - rel2{relative: 1.2 1.0; to: APPS_ICON_CONTENT;} - color: 255 255 255 0; - visible: 0; - } - description { - state: "blank" 0.0; - inherit: "default" 0.0; - visible: 1; - } - description { - state: "checked" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - } - programs { - program { - name: "icon_touch_program"; - signal: "mouse,down,1"; - source: APPS_ICON_CONTENT_TOUCH; - action: STATE_SET "icon_touched" 0.0; - target: APPS_ICON_CONTENT_TOUCH; - transition: LINEAR 0.1; - } - program { - name: "icon_touch_release_program"; - signal: "mouse,up,1"; - source: APPS_ICON_CONTENT_TOUCH; - action: STATE_SET "default" 0.0; - target: APPS_ICON_CONTENT_TOUCH; - transition: LINEAR 0.1; - } - program { - name: "uninstall_button_show_ani"; - signal: SIGNAL_UNINSTALL_BUTTON_SHOW_ANI; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: APPS_ICON_UNINSTALL_BUTTON; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program { - name: "uninstall_button_show"; - signal: SIGNAL_UNINSTALL_BUTTON_SHOW; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: APPS_ICON_UNINSTALL_BUTTON; - } - program { - name: "uninstall_button_hide_ani"; - signal: SIGNAL_UNINSTALL_BUTTON_HIDE_ANI; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: APPS_ICON_UNINSTALL_BUTTON; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program { - name: "uninstall_button_hide"; - signal: SIGNAL_UNINSTALL_BUTTON_HIDE; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: APPS_ICON_UNINSTALL_BUTTON; - } - program { - name: "uninstall_button_clicked"; - signal: "mouse,clicked,1"; - source: APPS_ICON_UNINSTALL_BUTTON; - action: SIGNAL_EMIT SIGNAL_UNINSTALL_BUTTON_CLICKED SIGNAL_SOURCE; - } - program { - name: "uninstall_button_mouse_down"; - signal: "mouse,down,1"; - source: APPS_ICON_UNINSTALL_BUTTON; - action: STATE_SET "press" 0.0; - target: APPS_ICON_UNINSTALL_BUTTON; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program { - name: "uninstall_button_mouse_up"; - signal: "mouse,up,1"; - source: APPS_ICON_UNINSTALL_BUTTON; - action: STATE_SET "show" 0.0; - target: APPS_ICON_UNINSTALL_BUTTON; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program{ - name: "checkbox_show"; - signal:SIGNAL_CHOOSER_MODE_ON; - source:SIGNAL_SOURCE; - action:STATE_SET "blank" 0.0; - target:"icon_checkbox_bg"; - target:"icon_checkbox_border"; - target:"icon_checkbox_touch"; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program{ - name: "checkbox_hide"; - signal:SIGNAL_CHOOSER_MODE_OFF; - source:SIGNAL_SOURCE; - action:STATE_SET "default" 0.0; - target:"icon_checkbox_bg"; - target:"icon_checkbox_border"; - target:"icon_checkbox"; - target:"icon_checkbox_touch"; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program{ - name: "checkbox_show_folder"; - signal:SIGNAL_CHOOSER_MODE_ON_FOLDER; - source:SIGNAL_SOURCE; - action:STATE_SET "blank" 0.0; - target:"icon_checkbox_bg"; - target:"icon_checkbox_border"; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - //Set default value of check box. - program{ - name: "checkbox_check"; - signal:SIGNAL_CHECK_CHECK_BOX; - source:SIGNAL_SOURCE; - action:STATE_SET "checked" 0.0; - target:"icon_checkbox"; - } - program{ - name: "checkbox_half_check"; - signal:SIGNAL_CHECK_HALF_CHECK_BOX; - source:SIGNAL_SOURCE; - action:STATE_SET "half-checked" 0.0; - target:"icon_checkbox"; - } - //Set default value of check box. - program{ - name: "checkbox_uncheck"; - signal:SIGNAL_UNCHECK_CHECK_BOX; - source:SIGNAL_SOURCE; - action:STATE_SET "blank" 0.0; - target:"icon_checkbox"; - } - program { - name: "checkbox_clicked"; - signal:"mouse,clicked,1"; - source:"icon_checkbox_touch"; - script { - emit(SIGNAL_CHANGED_CHECK_BOX, SIGNAL_SOURCE); //signal for C listener - } - } - program { - name: "icon_badge_show"; - signal: SIGNAL_BADGE_SHOW; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: "icon_badge"; - target: APPS_ICON_BADGE_TEXT; - } - program { - name: "icon_badge_hide"; - signal: SIGNAL_BADGE_HIDE; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: "icon_badge"; - target: APPS_ICON_BADGE_TEXT; - } - program { - name: "icon_disable"; - signal: SIGNAL_ICON_DISABLE; - source: SIGNAL_SOURCE; - action: STATE_SET "disable" 0.0; - target: "app_icon_disable"; - target: APPS_ICON_NAME; - } - program { - name: "icon_enable"; - signal: SIGNAL_ICON_ENABLE; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: APPS_ICON_NAME; - target: "app_icon_disable"; - } - program { - name: "icon_picked"; - signal: SIGNAL_ICON_NAME_HIDE; - source: SIGNAL_SOURCE; - action: STATE_SET "hide" 0.0; - target: APPS_ICON_NAME; - } - program { - name: "icon_drop"; - signal: SIGNAL_ICON_NAME_SHOW; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: APPS_ICON_NAME; - } - } - } + part { //"icon_checkbox_bg"; + name: "icon_checkbox_bg"; + type: IMAGE; + scale: 0; + description { + state: "default" 0.0; + rel1{relative: 0.6 -0.1; to: APPS_ICON_CONTENT;} + rel2{relative: 1.1 0.4; to: APPS_ICON_CONTENT;} + color: 61 184 204 120; + visible: 0; + aspect: 1.0 1.0; + aspect_preference: BOTH; + image { + normal: "../res/images/core_check_bg.png"; + } + } + description { + state: "blank" 0.0; + inherit: "default" 0.0; + visible: 1; + } + description { + state: "checked" 0.0; + inherit: "default" 0.0; + color: 61 184 204 120; + visible: 1; + } + }//"icon_checkbox_bg" + part { //"icon_checkbox_border"; + name: "icon_checkbox_border"; + type: IMAGE; + scale: 0; + description { + state: "default" 0.0; + rel1{relative: 0.0 0.0; to: "icon_checkbox_bg";} + rel2{relative: 1.0 1.0; to: "icon_checkbox_bg";} + color: 255 255 255 0; + visible: 0; + aspect: 1.0 1.0; + aspect_preference: BOTH; + image { + normal: "../res/images/core_check_bg_stroke.png"; + } + } + description { + state: "blank" 0.0; + inherit: "default" 0.0; + color: 61 184 204 255; + visible: 1; + } + description { + state: "checked" 0.0; + inherit: "default" 0.0; + color: 61 184 204 120; + visible: 1; + } + }//"icon_checkbox_border" + part { //"icon_checkbox" + name: "icon_checkbox"; + type: IMAGE; + scale: 0; + description { + state: "default" 0.0; + rel1{relative: 0.0 0.0; to: "icon_checkbox_bg";} + rel2{relative: 1.0 1.0; to: "icon_checkbox_bg";} + color: 255 255 255 120; + visible: 0; + aspect: 1.0 1.0; + aspect_preference: BOTH; + image { + normal: "../res/images/core_check_icon.png"; + } + } + description { + state: "blank" 0.0; + inherit: "default" 0.0; + visible: 0; + } + description { + state: "checked" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + visible: 1; + } + description { + state: "half-checked" 0.0; + inherit: "default" 0.0; + color: 255 255 255 127; + visible: 1; + } + } + part { + name: "icon_checkbox_touch"; + type:RECT; + scale:0; + mouse_events: 1; + repeat_events: 0; + description { + state: "default" 0.0; + rel1{relative: 0.0 -0.1; to: APPS_ICON_CONTENT;} + rel2{relative: 1.2 1.0; to: APPS_ICON_CONTENT;} + color: 255 255 255 0; + visible: 0; + } + description { + state: "blank" 0.0; + inherit: "default" 0.0; + visible: 1; + } + description { + state: "checked" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + } + programs { + program { + name: "icon_touch_program"; + signal: "mouse,down,1"; + source: APPS_ICON_CONTENT_TOUCH; + action: STATE_SET "icon_touched" 0.0; + target: APPS_ICON_CONTENT_TOUCH; + transition: LINEAR 0.1; + } + program { + name: "icon_touch_release_program"; + signal: "mouse,up,1"; + source: APPS_ICON_CONTENT_TOUCH; + action: STATE_SET "default" 0.0; + target: APPS_ICON_CONTENT_TOUCH; + transition: LINEAR 0.1; + } + program { + name: "uninstall_button_show_ani"; + signal: SIGNAL_UNINSTALL_BUTTON_SHOW_ANI; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: APPS_ICON_UNINSTALL_BUTTON; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "uninstall_button_show"; + signal: SIGNAL_UNINSTALL_BUTTON_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: APPS_ICON_UNINSTALL_BUTTON; + } + program { + name: "uninstall_button_hide_ani"; + signal: SIGNAL_UNINSTALL_BUTTON_HIDE_ANI; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: APPS_ICON_UNINSTALL_BUTTON; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "uninstall_button_hide"; + signal: SIGNAL_UNINSTALL_BUTTON_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: APPS_ICON_UNINSTALL_BUTTON; + } + program { + name: "uninstall_button_clicked"; + signal: "mouse,clicked,1"; + source: APPS_ICON_UNINSTALL_BUTTON; + action: SIGNAL_EMIT SIGNAL_UNINSTALL_BUTTON_CLICKED SIGNAL_SOURCE; + } + program { + name: "uninstall_button_mouse_down"; + signal: "mouse,down,1"; + source: APPS_ICON_UNINSTALL_BUTTON; + action: STATE_SET "press" 0.0; + target: APPS_ICON_UNINSTALL_BUTTON; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "uninstall_button_mouse_up"; + signal: "mouse,up,1"; + source: APPS_ICON_UNINSTALL_BUTTON; + action: STATE_SET "show" 0.0; + target: APPS_ICON_UNINSTALL_BUTTON; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program{ + name: "checkbox_show"; + signal:SIGNAL_CHOOSER_MODE_ON; + source:SIGNAL_SOURCE; + action:STATE_SET "blank" 0.0; + target:"icon_checkbox_bg"; + target:"icon_checkbox_border"; + target:"icon_checkbox_touch"; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program{ + name: "checkbox_hide"; + signal:SIGNAL_CHOOSER_MODE_OFF; + source:SIGNAL_SOURCE; + action:STATE_SET "default" 0.0; + target:"icon_checkbox_bg"; + target:"icon_checkbox_border"; + target:"icon_checkbox"; + target:"icon_checkbox_touch"; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program{ + name: "checkbox_show_folder"; + signal:SIGNAL_CHOOSER_MODE_ON_FOLDER; + source:SIGNAL_SOURCE; + action:STATE_SET "blank" 0.0; + target:"icon_checkbox_bg"; + target:"icon_checkbox_border"; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + //Set default value of check box. + program{ + name: "checkbox_check"; + signal:SIGNAL_CHECK_CHECK_BOX; + source:SIGNAL_SOURCE; + action:STATE_SET "checked" 0.0; + target:"icon_checkbox"; + } + program{ + name: "checkbox_half_check"; + signal:SIGNAL_CHECK_HALF_CHECK_BOX; + source:SIGNAL_SOURCE; + action:STATE_SET "half-checked" 0.0; + target:"icon_checkbox"; + } + //Set default value of check box. + program{ + name: "checkbox_uncheck"; + signal:SIGNAL_UNCHECK_CHECK_BOX; + source:SIGNAL_SOURCE; + action:STATE_SET "blank" 0.0; + target:"icon_checkbox"; + } + program { + name: "checkbox_clicked"; + signal:"mouse,clicked,1"; + source:"icon_checkbox_touch"; + script { + emit(SIGNAL_CHANGED_CHECK_BOX, SIGNAL_SOURCE); //signal for C listener + } + } + program { + name: "icon_badge_show"; + signal: SIGNAL_BADGE_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: "icon_badge"; + target: APPS_ICON_BADGE_TEXT; + } + program { + name: "icon_badge_hide"; + signal: SIGNAL_BADGE_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: "icon_badge"; + target: APPS_ICON_BADGE_TEXT; + } + program { + name: "icon_disable"; + signal: SIGNAL_ICON_DISABLE; + source: SIGNAL_SOURCE; + action: STATE_SET "disable" 0.0; + target: "app_icon_disable"; + target: APPS_ICON_NAME; + } + program { + name: "icon_enable"; + signal: SIGNAL_ICON_ENABLE; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: APPS_ICON_NAME; + target: "app_icon_disable"; + } + program { + name: "icon_picked"; + signal: SIGNAL_ICON_NAME_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "hide" 0.0; + target: APPS_ICON_NAME; + } + program { + name: "icon_drop"; + signal: SIGNAL_ICON_NAME_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: APPS_ICON_NAME; + } + } + } } \ No newline at end of file diff --git a/res/edje/apps_chooser_btn.edc b/res/edje/apps_chooser_btn.edc index 642d888..523882c 100755 --- a/res/edje/apps_chooser_btn.edc +++ b/res/edje/apps_chooser_btn.edc @@ -17,167 +17,167 @@ #include "../../inc/edc_conf.h" collections { - images { - } - styles { - style{ - name: "label"; - base: "font=Tizen:style=Regular align=center color=#FFFFFFFF font_size=26 ellipsis=1.0"; - } - } - group { name: GROUP_APPS_CHOOSER_BTN_LY; - parts { - part { - name: "chooser_spacer"; - type: SPACER; - mouse_events: 0; - description { - state: "default" 0.0; - rel1.relative: 0.0 0.0; - rel2.relative: 1.0 0.0625; - } - } - part { - name: APPS_CHOOSER_LEFT_LABEL; - type: TEXTBLOCK; - description - { - color: 255 255 255 255; - state: "default" 0.0; - visible: 0; - text - { - align: 0.25 0.90; - style: label; - text: "CANCEL"; - } - rel1 { relative: 0.0 0.0;to: "chooser_spacer"; } - rel2 { relative: 0.28 1.0;to: "chooser_spacer"; } - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - part { - name: "chooser_left_clickable_space"; - type: RECT; - mouse_events: 1; - description - { - state: "default" 0.0; - color: 0 0 0 0; - visible: 0; - rel1 { relative: 0.0 0.0; to: APPS_CHOOSER_LEFT_LABEL; } - rel2 { relative: 1.0 1.5; to: APPS_CHOOSER_LEFT_LABEL; } - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - part { - name: APPS_CHOOSER_MIDDLE_LABEL; - type: TEXTBLOCK; - description - { - state: "default" 0.0; - visible: 0; - color: 255 255 255 255; - text - { - align: 0.5 0.90; - text: "0 Selected"; - style: label; - } - rel1 { relative: 0.30 0.0;to: "chooser_spacer"; } - rel2 { relative: 0.70 1.0;to: "chooser_spacer"; } - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - part { - name: APPS_CHOOSER_RIGHT_LABEL; - type: TEXTBLOCK; - description - { - state: "default" 0.0; - visible: 0; - color: 255 255 255 255; - text - { - align: (1.0 - 0.25) 0.90; - style: label; - text: "DONE"; - } - rel1 { relative: 0.72 0.0;to: "chooser_spacer"; } - rel2 { relative: 1.0 1.0;to: "chooser_spacer"; } - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - part { - name: "chooser_right_clickable_space"; - type: RECT; - mouse_events: 1; - description - { - state: "default" 0.0; - visible: 0; - color: 0 0 0 0; - rel1 { relative: 0.0 0.0;to: APPS_CHOOSER_RIGHT_LABEL; } - rel2 { relative: 1.0 1.5;to: APPS_CHOOSER_RIGHT_LABEL; } - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - } - programs { - program { - name: "chooser_btn_show"; - signal: SIGNAL_CHOOSER_BUTTON_SHOW; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: APPS_CHOOSER_LEFT_LABEL; - target: "chooser_left_clickable_space"; - target: APPS_CHOOSER_MIDDLE_LABEL; - target: APPS_CHOOSER_RIGHT_LABEL; - target: "chooser_right_clickable_space"; - } - program { - name: "chooser_btn_hide"; - signal: SIGNAL_CHOOSER_BUTTON_HIDE; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: APPS_CHOOSER_LEFT_LABEL; - target: "chooser_left_clickable_space"; - target: APPS_CHOOSER_MIDDLE_LABEL; - target: APPS_CHOOSER_RIGHT_LABEL; - target: "chooser_right_clickable_space"; - } - program { - name: "chooser_left_click"; - signal: "mouse,down,1"; - source: "chooser_left_clickable_space"; - action: SIGNAL_EMIT SIGNAL_CHOOSER_LEFT_BTN_CLICKED SIGNAL_SOURCE; - } - program { - name: "chooser_right_click"; - signal: "mouse,clicked,1"; - source: "chooser_right_clickable_space"; - action: SIGNAL_EMIT SIGNAL_CHOOSER_RIGHT_BTN_CLICKED SIGNAL_SOURCE; - } - } - } + images { + } + styles { + style{ + name: "label"; + base: "font=Tizen:style=Regular align=center color=#FFFFFFFF font_size=26 ellipsis=1.0"; + } + } + group { name: GROUP_APPS_CHOOSER_BTN_LY; + parts { + part { + name: "chooser_spacer"; + type: SPACER; + mouse_events: 0; + description { + state: "default" 0.0; + rel1.relative: 0.0 0.0; + rel2.relative: 1.0 0.0625; + } + } + part { + name: APPS_CHOOSER_LEFT_LABEL; + type: TEXTBLOCK; + description + { + color: 255 255 255 255; + state: "default" 0.0; + visible: 0; + text + { + align: 0.25 0.90; + style: label; + text: "CANCEL"; + } + rel1 { relative: 0.0 0.0;to: "chooser_spacer"; } + rel2 { relative: 0.28 1.0;to: "chooser_spacer"; } + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { + name: "chooser_left_clickable_space"; + type: RECT; + mouse_events: 1; + description + { + state: "default" 0.0; + color: 0 0 0 0; + visible: 0; + rel1 { relative: 0.0 0.0; to: APPS_CHOOSER_LEFT_LABEL; } + rel2 { relative: 1.0 1.5; to: APPS_CHOOSER_LEFT_LABEL; } + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { + name: APPS_CHOOSER_MIDDLE_LABEL; + type: TEXTBLOCK; + description + { + state: "default" 0.0; + visible: 0; + color: 255 255 255 255; + text + { + align: 0.5 0.90; + text: "0 Selected"; + style: label; + } + rel1 { relative: 0.30 0.0;to: "chooser_spacer"; } + rel2 { relative: 0.70 1.0;to: "chooser_spacer"; } + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { + name: APPS_CHOOSER_RIGHT_LABEL; + type: TEXTBLOCK; + description + { + state: "default" 0.0; + visible: 0; + color: 255 255 255 255; + text + { + align: (1.0 - 0.25) 0.90; + style: label; + text: "DONE"; + } + rel1 { relative: 0.72 0.0;to: "chooser_spacer"; } + rel2 { relative: 1.0 1.0;to: "chooser_spacer"; } + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { + name: "chooser_right_clickable_space"; + type: RECT; + mouse_events: 1; + description + { + state: "default" 0.0; + visible: 0; + color: 0 0 0 0; + rel1 { relative: 0.0 0.0;to: APPS_CHOOSER_RIGHT_LABEL; } + rel2 { relative: 1.0 1.5;to: APPS_CHOOSER_RIGHT_LABEL; } + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + } + programs { + program { + name: "chooser_btn_show"; + signal: SIGNAL_CHOOSER_BUTTON_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: APPS_CHOOSER_LEFT_LABEL; + target: "chooser_left_clickable_space"; + target: APPS_CHOOSER_MIDDLE_LABEL; + target: APPS_CHOOSER_RIGHT_LABEL; + target: "chooser_right_clickable_space"; + } + program { + name: "chooser_btn_hide"; + signal: SIGNAL_CHOOSER_BUTTON_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: APPS_CHOOSER_LEFT_LABEL; + target: "chooser_left_clickable_space"; + target: APPS_CHOOSER_MIDDLE_LABEL; + target: APPS_CHOOSER_RIGHT_LABEL; + target: "chooser_right_clickable_space"; + } + program { + name: "chooser_left_click"; + signal: "mouse,down,1"; + source: "chooser_left_clickable_space"; + action: SIGNAL_EMIT SIGNAL_CHOOSER_LEFT_BTN_CLICKED SIGNAL_SOURCE; + } + program { + name: "chooser_right_click"; + signal: "mouse,clicked,1"; + source: "chooser_right_clickable_space"; + action: SIGNAL_EMIT SIGNAL_CHOOSER_RIGHT_BTN_CLICKED SIGNAL_SOURCE; + } + } + } } \ No newline at end of file diff --git a/res/edje/apps_folder_icon.edc b/res/edje/apps_folder_icon.edc index 927f4be..734e532 100755 --- a/res/edje/apps_folder_icon.edc +++ b/res/edje/apps_folder_icon.edc @@ -17,284 +17,284 @@ #include "../../inc/edc_conf.h" images { - image: "../res/images/folder_appicon_bg.png" COMP; - image: "../res/images/folder_appicon_bg_possible.png" COMP; - image: "../res/images/folder_appicon_bg_impossible.png" COMP; - image: "../res/images/folder_appicon_empty_bg.png" COMP; + image: "../res/images/folder_appicon_bg.png" COMP; + image: "../res/images/folder_appicon_bg_possible.png" COMP; + image: "../res/images/folder_appicon_bg_impossible.png" COMP; + image: "../res/images/folder_appicon_empty_bg.png" COMP; } collections { - group { name: GROUP_FOLDER_ICON_LY; - parts { - part { - name: SIZE_SETTER; - type: SWALLOW; - mouse_events: 1; - repeat_events: 1; - description { - state: "default" 0.0; - rel1{relative: 0.0 0.0; } - rel2{relative: 1.0 1.0; } - align: 0.5 0.5; - } - } - part { - name: "folder_icon_bg_image"; - type: IMAGE; - mouse_events: 1; - scale: 1; - description { - state: "default" 0.0; - rel1{relative: 0.0 0.0; to: SIZE_SETTER;} - rel2{relative: 1.0 1.0; to: SIZE_SETTER;} - aspect: 1.0 1.0; - aspect_preference: BOTH; - image { - normal: "../res/images/folder_appicon_bg.png"; - } - } - } - part { - name: "folder_icon_image_possible"; - type: IMAGE; - mouse_events: 1; - scale: 1; - description { - state: "default" 0.0; - rel1{relative: 0.0 0.0; to: SIZE_SETTER;} - rel2{relative: 1.0 1.0; to: SIZE_SETTER;} - aspect: 1.0 1.0; - aspect_preference: BOTH; - image { - normal: "../res/images/folder_appicon_bg_possible.png"; - } - visible: 0; - } - description { - state: "frame_possible" 0.0; - inherit: "default" 0.0; - image { - normal: "../res/images/folder_appicon_bg_possible.png"; - } - visible: 1; - } - description { - state: "frame_impossible" 0.0; - inherit: "default" 0.0; - image { - normal: "../res/images/folder_appicon_bg_impossible.png"; - } - visible: 1; - } - } - part{ - name :"icon_0"; - type: SWALLOW; - description { - state: "default" 0.0; - rel1{relative: 0.185 0.185; to: SIZE_SETTER;} - rel2{relative: 0.485 0.485; to: SIZE_SETTER;} - aspect: 1.0 1.0; - aspect_preference: BOTH; - visible: 0; - } - description { - state: "item_count_1" 0.0; - inherit: "default" 0.0; - visible: 1; - } - description { - state: "item_count_2" 0.0; - inherit: "default" 0.0; - visible: 1; - } - description { - state: "item_count_3" 0.0; - inherit: "default" 0.0; - visible: 1; - } - description { - state: "item_count_4" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - part{ - name :"icon_1"; - type: SWALLOW; - description { - state: "default" 0.0; - rel1{relative: 0.515 0.185; to: SIZE_SETTER;} - rel2{relative: 0.815 0.485; to: SIZE_SETTER;} - aspect: 1.0 1.0; - aspect_preference: BOTH; - visible: 0; - } + group { name: GROUP_FOLDER_ICON_LY; + parts { + part { + name: SIZE_SETTER; + type: SWALLOW; + mouse_events: 1; + repeat_events: 1; + description { + state: "default" 0.0; + rel1{relative: 0.0 0.0; } + rel2{relative: 1.0 1.0; } + align: 0.5 0.5; + } + } + part { + name: "folder_icon_bg_image"; + type: IMAGE; + mouse_events: 1; + scale: 1; + description { + state: "default" 0.0; + rel1{relative: 0.0 0.0; to: SIZE_SETTER;} + rel2{relative: 1.0 1.0; to: SIZE_SETTER;} + aspect: 1.0 1.0; + aspect_preference: BOTH; + image { + normal: "../res/images/folder_appicon_bg.png"; + } + } + } + part { + name: "folder_icon_image_possible"; + type: IMAGE; + mouse_events: 1; + scale: 1; + description { + state: "default" 0.0; + rel1{relative: 0.0 0.0; to: SIZE_SETTER;} + rel2{relative: 1.0 1.0; to: SIZE_SETTER;} + aspect: 1.0 1.0; + aspect_preference: BOTH; + image { + normal: "../res/images/folder_appicon_bg_possible.png"; + } + visible: 0; + } + description { + state: "frame_possible" 0.0; + inherit: "default" 0.0; + image { + normal: "../res/images/folder_appicon_bg_possible.png"; + } + visible: 1; + } + description { + state: "frame_impossible" 0.0; + inherit: "default" 0.0; + image { + normal: "../res/images/folder_appicon_bg_impossible.png"; + } + visible: 1; + } + } + part{ + name :"icon_0"; + type: SWALLOW; + description { + state: "default" 0.0; + rel1{relative: 0.185 0.185; to: SIZE_SETTER;} + rel2{relative: 0.485 0.485; to: SIZE_SETTER;} + aspect: 1.0 1.0; + aspect_preference: BOTH; + visible: 0; + } + description { + state: "item_count_1" 0.0; + inherit: "default" 0.0; + visible: 1; + } + description { + state: "item_count_2" 0.0; + inherit: "default" 0.0; + visible: 1; + } + description { + state: "item_count_3" 0.0; + inherit: "default" 0.0; + visible: 1; + } + description { + state: "item_count_4" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part{ + name :"icon_1"; + type: SWALLOW; + description { + state: "default" 0.0; + rel1{relative: 0.515 0.185; to: SIZE_SETTER;} + rel2{relative: 0.815 0.485; to: SIZE_SETTER;} + aspect: 1.0 1.0; + aspect_preference: BOTH; + visible: 0; + } - description { - state: "item_count_1" 0.0; - inherit: "default" 0.0; - visible: 0; - } - description { - state: "item_count_2" 0.0; - inherit: "default" 0.0; - visible: 1; - } - description { - state: "item_count_3" 0.0; - inherit: "default" 0.0; - visible: 1; - } - description { - state: "item_count_4" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - part{ - name :"icon_2"; - type: SWALLOW; - description { - state: "default" 0.0; - rel1{relative: 0.185 0.515; to: SIZE_SETTER;} - rel2{relative: 0.485 0.815; to: SIZE_SETTER;} - aspect: 1.0 1.0; - aspect_preference: BOTH; - visible: 0; - } - description { - state: "item_count_1" 0.0; - inherit: "default" 0.0; - visible: 0; - } - description { - state: "item_count_2" 0.0; - inherit: "default" 0.0; - visible: 0; - } - description { - state: "item_count_3" 0.0; - inherit: "default" 0.0; - visible: 1; - } - description { - state: "item_count_4" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - part{ - name :"icon_3"; - type: SWALLOW; - description { - state: "default" 0.0; - rel1{relative: 0.515 0.515; to: SIZE_SETTER;} - rel2{relative: 0.815 0.815; to: SIZE_SETTER;} - aspect: 1.0 1.0; - aspect_preference: BOTH; - visible: 0; - } - description { - state: "item_count_1" 0.0; - inherit: "default" 0.0; - visible: 0; - } - description { - state: "item_count_2" 0.0; - inherit: "default" 0.0; - visible: 0; - } - description { - state: "item_count_3" 0.0; - inherit: "default" 0.0; - visible: 0; - } - description { - state: "item_count_4" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - programs - { - program { - name: "set_item_count_1"; - signal: "set_item_count_1"; - source: SIGNAL_SOURCE; - action: STATE_SET "item_count_1" 0.0; - target: "icon_0"; - target: "icon_1"; - target: "icon_2"; - target: "icon_3"; - transition: DECELERATE 0.2; - } + description { + state: "item_count_1" 0.0; + inherit: "default" 0.0; + visible: 0; + } + description { + state: "item_count_2" 0.0; + inherit: "default" 0.0; + visible: 1; + } + description { + state: "item_count_3" 0.0; + inherit: "default" 0.0; + visible: 1; + } + description { + state: "item_count_4" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part{ + name :"icon_2"; + type: SWALLOW; + description { + state: "default" 0.0; + rel1{relative: 0.185 0.515; to: SIZE_SETTER;} + rel2{relative: 0.485 0.815; to: SIZE_SETTER;} + aspect: 1.0 1.0; + aspect_preference: BOTH; + visible: 0; + } + description { + state: "item_count_1" 0.0; + inherit: "default" 0.0; + visible: 0; + } + description { + state: "item_count_2" 0.0; + inherit: "default" 0.0; + visible: 0; + } + description { + state: "item_count_3" 0.0; + inherit: "default" 0.0; + visible: 1; + } + description { + state: "item_count_4" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part{ + name :"icon_3"; + type: SWALLOW; + description { + state: "default" 0.0; + rel1{relative: 0.515 0.515; to: SIZE_SETTER;} + rel2{relative: 0.815 0.815; to: SIZE_SETTER;} + aspect: 1.0 1.0; + aspect_preference: BOTH; + visible: 0; + } + description { + state: "item_count_1" 0.0; + inherit: "default" 0.0; + visible: 0; + } + description { + state: "item_count_2" 0.0; + inherit: "default" 0.0; + visible: 0; + } + description { + state: "item_count_3" 0.0; + inherit: "default" 0.0; + visible: 0; + } + description { + state: "item_count_4" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + programs + { + program { + name: "set_item_count_1"; + signal: "set_item_count_1"; + source: SIGNAL_SOURCE; + action: STATE_SET "item_count_1" 0.0; + target: "icon_0"; + target: "icon_1"; + target: "icon_2"; + target: "icon_3"; + transition: DECELERATE 0.2; + } - program { - name: "set_item_count_2"; - signal: "set_item_count_2"; - source: SIGNAL_SOURCE; - action: STATE_SET "item_count_2" 0.0; - target: "icon_0"; - target: "icon_1"; - target: "icon_2"; - target: "icon_3"; - transition: DECELERATE 0.2; - } + program { + name: "set_item_count_2"; + signal: "set_item_count_2"; + source: SIGNAL_SOURCE; + action: STATE_SET "item_count_2" 0.0; + target: "icon_0"; + target: "icon_1"; + target: "icon_2"; + target: "icon_3"; + transition: DECELERATE 0.2; + } - program { - name: "set_item_count_3"; - signal: "set_item_count_3"; - source: SIGNAL_SOURCE; - action: STATE_SET "item_count_3" 0.0; - target: "icon_0"; - target: "icon_1"; - target: "icon_2"; - target: "icon_3"; - transition: DECELERATE 0.2; - } - program { - name: "set_item_count_4"; - signal: "set_item_count_4"; - source: SIGNAL_SOURCE; - action: STATE_SET "item_count_4" 0.0; - target: "icon_0"; - target: "icon_1"; - target: "icon_2"; - target: "icon_3"; - transition: DECELERATE 0.2; - } - program { - name: "set_item_count_0"; - signal: "set_item_count_0"; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: "icon_0"; - target: "icon_1"; - target: "icon_2"; - target: "icon_3"; - } + program { + name: "set_item_count_3"; + signal: "set_item_count_3"; + source: SIGNAL_SOURCE; + action: STATE_SET "item_count_3" 0.0; + target: "icon_0"; + target: "icon_1"; + target: "icon_2"; + target: "icon_3"; + transition: DECELERATE 0.2; + } + program { + name: "set_item_count_4"; + signal: "set_item_count_4"; + source: SIGNAL_SOURCE; + action: STATE_SET "item_count_4" 0.0; + target: "icon_0"; + target: "icon_1"; + target: "icon_2"; + target: "icon_3"; + transition: DECELERATE 0.2; + } + program { + name: "set_item_count_0"; + signal: "set_item_count_0"; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: "icon_0"; + target: "icon_1"; + target: "icon_2"; + target: "icon_3"; + } - program { - name: "show,bg,possible"; - signal: SIGNAL_FRAME_POSSIBLE_SHOW; - source: SIGNAL_SOURCE; - action: STATE_SET "frame_possible" 0.0; - target: "folder_icon_image_possible"; - } - program { - name: "show,bg,impossible"; - signal: SIGNAL_FRAME_IMPOSSIBLE_SHOW; - source: SIGNAL_SOURCE; - action: STATE_SET "frame_impossible" 0.0; - target: "folder_icon_image_possible"; - } - program { - name: "hide,bg,possible"; - signal: SIGNAL_FRAME_POSSIBLE_HIDE; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: "folder_icon_image_possible"; - } - } - } + program { + name: "show,bg,possible"; + signal: SIGNAL_FRAME_POSSIBLE_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "frame_possible" 0.0; + target: "folder_icon_image_possible"; + } + program { + name: "show,bg,impossible"; + signal: SIGNAL_FRAME_IMPOSSIBLE_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "frame_impossible" 0.0; + target: "folder_icon_image_possible"; + } + program { + name: "hide,bg,possible"; + signal: SIGNAL_FRAME_POSSIBLE_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: "folder_icon_image_possible"; + } + } + } } diff --git a/res/edje/apps_folder_popup.edc b/res/edje/apps_folder_popup.edc index 25ed671..5ce73f0 100755 --- a/res/edje/apps_folder_popup.edc +++ b/res/edje/apps_folder_popup.edc @@ -17,205 +17,205 @@ #include "../../inc/edc_conf.h" #define MAKE_TILE(num_x,num_y)\ - part{ name: "icon_"num_x"_"num_y;\ - type : SWALLOW;\ - description {\ - state : "default" 0.0;\ - fixed : 1 1;\ - rel1 {\ - relative: num_x/APPS_FOLDER_COL num_y/APPS_FOLDER_ROW;\ - to: APPS_FOLDER_CONTAINER;\ - }\ - rel2 {\ - relative :(num_x+1)/APPS_FOLDER_COL (num_y+1)/APPS_FOLDER_ROW;\ - to: APPS_FOLDER_CONTAINER;\ - }\ - align: 0.0 0.0;\ - }\ - } + part{ name: "icon_"num_x"_"num_y;\ + type : SWALLOW;\ + description {\ + state : "default" 0.0;\ + fixed : 1 1;\ + rel1 {\ + relative: num_x/APPS_FOLDER_COL num_y/APPS_FOLDER_ROW;\ + to: APPS_FOLDER_CONTAINER;\ + }\ + rel2 {\ + relative :(num_x+1)/APPS_FOLDER_COL (num_y+1)/APPS_FOLDER_ROW;\ + to: APPS_FOLDER_CONTAINER;\ + }\ + align: 0.0 0.0;\ + }\ + } images { - image: "../res/images/folder_popup_bg.png" COMP; - image: "../res/images/btn_add_nor.png" COMP; - image: "../res/images/btn_add_press.png" COMP; + image: "../res/images/folder_popup_bg.png" COMP; + image: "../res/images/btn_add_nor.png" COMP; + image: "../res/images/btn_add_press.png" COMP; } collections { - group { name: GROUP_APPS_FOLDER_POPUP_LY; - script { - public plus_x; - public plus_y; + group { name: GROUP_APPS_FOLDER_POPUP_LY; + script { + public plus_x; + public plus_y; - public message(Msg_Type:type, id, ...) { - if (type == MSG_FLOAT_SET) - { - set_float(plus_x, getfarg(2)); - set_float(plus_y, getfarg(3)); - send_message(type, id, getfarg(2), getfarg(3)); - } - } - } - parts { - part { name: SIZE_SETTER; - type: RECT; - mouse_events: 1; - repeat_events: 0; - description { - state: "default" 0.0; - align: 0.0 0.0; - color: 0 0 0 100; - rel1.relative: 0.0 0.0; - rel2.relative: 1.0 1.0; - } - } - part { name: APPS_FOLDER_BG; - type: IMAGE; - mouse_events: 1; - repeat_events: 0; - description { - state: "default" 0.0; - align: 0.0 0.0; - rel1 {relative: 0.04 0.2; to:SIZE_SETTER;} - rel2 {relative: 0.96 0.8; to:SIZE_SETTER;} - image { - normal: "../res/images/folder_popup_bg.png"; - border: 5 5 5 5; - } - color: 255 255 255 255; - } - } - part { name: APPS_FOLDER_TITLE; - type: SWALLOW; - mouse_events: 1; - repeat_events: 0; - description { state: "default" 0.0; - align: 0 0; - rel1 {relative: 0.08 0.02; to:APPS_FOLDER_BG;} - rel2 {relative: 0.92 0.12; to:APPS_FOLDER_BG;} - color: 255 255 255 255; - } - } - part { name: APPS_FOLDER_SEPARATOR; - type: RECT; - mouse_events: 1; - repeat_events: 0; - description { state: "default" 0.0; - align: 0 0; - rel1 {relative: 0.08 0.12; to:APPS_FOLDER_BG;} - rel2 {relative: 0.92 0.125; to:APPS_FOLDER_BG;} - color: 77 231 255 255; - } - } - part { name: APPS_FOLDER_CONTAINER; - type: SPACER; - mouse_events: 1; - repeat_events: 0; - description { state: "default" 0.0; - align: 0 0; - rel1 {relative: 0.08 0.15; to:APPS_FOLDER_BG;} - rel2 {relative: 0.92 0.96; to:APPS_FOLDER_BG;} - } - } - MAKE_TILE(0,0) - MAKE_TILE(1,0) - MAKE_TILE(2,0) - MAKE_TILE(0,1) - MAKE_TILE(1,1) - MAKE_TILE(2,1) - MAKE_TILE(0,2) - MAKE_TILE(1,2) - MAKE_TILE(2,2) - part { name: APPS_FOLDER_PLUS_ICON; - type: IMAGE; - mouse_events: 1; - repeat_events: 0; - description { state: "default" 0.0; - aspect: 1.0 1.0; - rel1 { - relative: (0 + 0.16 / APPS_FOLDER_COL) 0 ; - to: APPS_FOLDER_CONTAINER; - } - rel2 { - relative :(1 - 0.16)/APPS_FOLDER_COL (1 - 0.4)/APPS_FOLDER_ROW; - to: APPS_FOLDER_CONTAINER; - } - image { - normal: "../res/images/btn_add_nor.png"; - } - } - description { - state: "press" 0.0; - inherit: "default" 0.0; - image { - normal: "../res/images/btn_add_press.png"; - } - } - description { - state: "hide" 0.0; - inherit: "default" 0.0; - visible: 0; - } - } - } - programs { - program { - name:"bg_touched"; - signal: "mouse,clicked,1"; - source: SIZE_SETTER; - action: SIGNAL_EMIT SIGNAL_APPS_FOLDER_HIDE SIGNAL_SOURCE; - } - program { - name: "set_plus_btn"; - signal: SIGNAL_APPS_FOLDER_SET_PLUS_ICON; - source: SIGNAL_SOURCE; - script { - custom_state(PART:APPS_FOLDER_PLUS_ICON, "default", 0.0); - set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL1, ((get_float(plus_y) + 0.16) / APPS_FOLDER_COL), (get_float(plus_x)) / APPS_FOLDER_ROW); - set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL2, (((get_float(plus_y)) + 0.84) / APPS_FOLDER_COL), (((get_float(plus_x)) + 0.6) / APPS_FOLDER_ROW)); - set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_IMAGE, get_image_id("../res/images/btn_add_nor.png")); - set_state(PART:APPS_FOLDER_PLUS_ICON, "custom", 0.0); - } - } - program { - name: "set_plus_btn_up"; - signal: "mouse,up,1"; - source: APPS_FOLDER_PLUS_ICON; - script { - custom_state(PART:APPS_FOLDER_PLUS_ICON, "default", 0.0); - set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL1, ((get_float(plus_y) + 0.16) / APPS_FOLDER_COL), (get_float(plus_x)) / APPS_FOLDER_ROW); - set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL2, (((get_float(plus_y)) + 0.84) / APPS_FOLDER_COL), (((get_float(plus_x)) + 0.6) / APPS_FOLDER_ROW)); - set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_IMAGE, get_image_id("../res/images/btn_add_nor.png")); - set_state(PART:APPS_FOLDER_PLUS_ICON, "custom", 0.0); - } - } - program { - name: "set_plus_btn_down"; - signal: "mouse,down,1"; - source: APPS_FOLDER_PLUS_ICON; - script { - custom_state(PART:APPS_FOLDER_PLUS_ICON, "press", 0.0); - set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL1, ((get_float(plus_y) + 0.16) / APPS_FOLDER_COL), (get_float(plus_x)) / APPS_FOLDER_ROW); - set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL2, (((get_float(plus_y)) + 0.84) / APPS_FOLDER_COL), (((get_float(plus_x)) + 0.6) / APPS_FOLDER_ROW)); - set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_IMAGE, get_image_id("../res/images/btn_add_press.png")); - set_state(PART:APPS_FOLDER_PLUS_ICON, "custom", 0.0); - } - } + public message(Msg_Type:type, id, ...) { + if (type == MSG_FLOAT_SET) + { + set_float(plus_x, getfarg(2)); + set_float(plus_y, getfarg(3)); + send_message(type, id, getfarg(2), getfarg(3)); + } + } + } + parts { + part { name: SIZE_SETTER; + type: RECT; + mouse_events: 1; + repeat_events: 0; + description { + state: "default" 0.0; + align: 0.0 0.0; + color: 0 0 0 100; + rel1.relative: 0.0 0.0; + rel2.relative: 1.0 1.0; + } + } + part { name: APPS_FOLDER_BG; + type: IMAGE; + mouse_events: 1; + repeat_events: 0; + description { + state: "default" 0.0; + align: 0.0 0.0; + rel1 {relative: 0.04 0.2; to:SIZE_SETTER;} + rel2 {relative: 0.96 0.8; to:SIZE_SETTER;} + image { + normal: "../res/images/folder_popup_bg.png"; + border: 5 5 5 5; + } + color: 255 255 255 255; + } + } + part { name: APPS_FOLDER_TITLE; + type: SWALLOW; + mouse_events: 1; + repeat_events: 0; + description { state: "default" 0.0; + align: 0 0; + rel1 {relative: 0.08 0.02; to:APPS_FOLDER_BG;} + rel2 {relative: 0.92 0.12; to:APPS_FOLDER_BG;} + color: 255 255 255 255; + } + } + part { name: APPS_FOLDER_SEPARATOR; + type: RECT; + mouse_events: 1; + repeat_events: 0; + description { state: "default" 0.0; + align: 0 0; + rel1 {relative: 0.08 0.12; to:APPS_FOLDER_BG;} + rel2 {relative: 0.92 0.125; to:APPS_FOLDER_BG;} + color: 77 231 255 255; + } + } + part { name: APPS_FOLDER_CONTAINER; + type: SPACER; + mouse_events: 1; + repeat_events: 0; + description { state: "default" 0.0; + align: 0 0; + rel1 {relative: 0.08 0.15; to:APPS_FOLDER_BG;} + rel2 {relative: 0.92 0.96; to:APPS_FOLDER_BG;} + } + } + MAKE_TILE(0,0) + MAKE_TILE(1,0) + MAKE_TILE(2,0) + MAKE_TILE(0,1) + MAKE_TILE(1,1) + MAKE_TILE(2,1) + MAKE_TILE(0,2) + MAKE_TILE(1,2) + MAKE_TILE(2,2) + part { name: APPS_FOLDER_PLUS_ICON; + type: IMAGE; + mouse_events: 1; + repeat_events: 0; + description { state: "default" 0.0; + aspect: 1.0 1.0; + rel1 { + relative: (0 + 0.16 / APPS_FOLDER_COL) 0 ; + to: APPS_FOLDER_CONTAINER; + } + rel2 { + relative :(1 - 0.16)/APPS_FOLDER_COL (1 - 0.4)/APPS_FOLDER_ROW; + to: APPS_FOLDER_CONTAINER; + } + image { + normal: "../res/images/btn_add_nor.png"; + } + } + description { + state: "press" 0.0; + inherit: "default" 0.0; + image { + normal: "../res/images/btn_add_press.png"; + } + } + description { + state: "hide" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + } + programs { + program { + name:"bg_touched"; + signal: "mouse,clicked,1"; + source: SIZE_SETTER; + action: SIGNAL_EMIT SIGNAL_APPS_FOLDER_HIDE SIGNAL_SOURCE; + } + program { + name: "set_plus_btn"; + signal: SIGNAL_APPS_FOLDER_SET_PLUS_ICON; + source: SIGNAL_SOURCE; + script { + custom_state(PART:APPS_FOLDER_PLUS_ICON, "default", 0.0); + set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL1, ((get_float(plus_y) + 0.16) / APPS_FOLDER_COL), (get_float(plus_x)) / APPS_FOLDER_ROW); + set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL2, (((get_float(plus_y)) + 0.84) / APPS_FOLDER_COL), (((get_float(plus_x)) + 0.6) / APPS_FOLDER_ROW)); + set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_IMAGE, get_image_id("../res/images/btn_add_nor.png")); + set_state(PART:APPS_FOLDER_PLUS_ICON, "custom", 0.0); + } + } + program { + name: "set_plus_btn_up"; + signal: "mouse,up,1"; + source: APPS_FOLDER_PLUS_ICON; + script { + custom_state(PART:APPS_FOLDER_PLUS_ICON, "default", 0.0); + set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL1, ((get_float(plus_y) + 0.16) / APPS_FOLDER_COL), (get_float(plus_x)) / APPS_FOLDER_ROW); + set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL2, (((get_float(plus_y)) + 0.84) / APPS_FOLDER_COL), (((get_float(plus_x)) + 0.6) / APPS_FOLDER_ROW)); + set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_IMAGE, get_image_id("../res/images/btn_add_nor.png")); + set_state(PART:APPS_FOLDER_PLUS_ICON, "custom", 0.0); + } + } + program { + name: "set_plus_btn_down"; + signal: "mouse,down,1"; + source: APPS_FOLDER_PLUS_ICON; + script { + custom_state(PART:APPS_FOLDER_PLUS_ICON, "press", 0.0); + set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL1, ((get_float(plus_y) + 0.16) / APPS_FOLDER_COL), (get_float(plus_x)) / APPS_FOLDER_ROW); + set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL2, (((get_float(plus_y)) + 0.84) / APPS_FOLDER_COL), (((get_float(plus_x)) + 0.6) / APPS_FOLDER_ROW)); + set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_IMAGE, get_image_id("../res/images/btn_add_press.png")); + set_state(PART:APPS_FOLDER_PLUS_ICON, "custom", 0.0); + } + } - program { - name: "set_plus_btn_clicked"; - signal: "mouse,clicked,1"; - source: APPS_FOLDER_PLUS_ICON; - action: SIGNAL_EMIT SIGNAL_APPS_FOLDER_CLICKED_PLUS_ICON SIGNAL_SOURCE; - } - program { - name: "hide_plus_icon"; - signal: SIGNAL_APPS_FOLDER_HIDE_PLUS_ICON; - source: SIGNAL_SOURCE; - script { - custom_state(PART:APPS_FOLDER_PLUS_ICON, "default", 0.0); - set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_VISIBLE, 0); - set_state(PART:APPS_FOLDER_PLUS_ICON, "custom", 0.0); - } - } - } - } + program { + name: "set_plus_btn_clicked"; + signal: "mouse,clicked,1"; + source: APPS_FOLDER_PLUS_ICON; + action: SIGNAL_EMIT SIGNAL_APPS_FOLDER_CLICKED_PLUS_ICON SIGNAL_SOURCE; + } + program { + name: "hide_plus_icon"; + signal: SIGNAL_APPS_FOLDER_HIDE_PLUS_ICON; + source: SIGNAL_SOURCE; + script { + custom_state(PART:APPS_FOLDER_PLUS_ICON, "default", 0.0); + set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_VISIBLE, 0); + set_state(PART:APPS_FOLDER_PLUS_ICON, "custom", 0.0); + } + } + } + } } \ No newline at end of file diff --git a/res/edje/apps_view.edc b/res/edje/apps_view.edc index 6ede61c..8eab85b 100755 --- a/res/edje/apps_view.edc +++ b/res/edje/apps_view.edc @@ -17,148 +17,146 @@ #include "../../inc/edc_conf.h" #define MAKE_TILE(num_x,num_y)\ - part{ name: "icon_"num_x"_"num_y;\ - type : SWALLOW;\ - description {\ - state : "default" 0.0;\ - fixed : 1 1;\ - rel1 {\ - relative :num_y/APPS_VIEW_COL num_x/APPS_VIEW_ROW ;\ - to: SIZE_SETTER;\ - }\ - rel2 {\ - relative :(num_y+1)/APPS_VIEW_COL (num_x+1)/APPS_VIEW_ROW ;\ - to: SIZE_SETTER;\ - }\ - align: 0.0 0.0;\ - }\ - description {\ - state: "edit" 0.0;\ - inherit: "default" 0.0;\ - rel1 {\ - relative :0.04+(num_y/APPS_VIEW_COL)*0.9 0.05+(num_x/APPS_VIEW_ROW)*0.9 ;\ - to: SIZE_SETTER;\ - }\ - rel2 {\ - relative :0.04+((num_y+1)/APPS_VIEW_COL)*0.9 0.05+((num_x+1)/APPS_VIEW_ROW)*0.09 ;\ - to: SIZE_SETTER;\ - };\ - }\ - } + part{ name: "icon_"num_x"_"num_y;\ + type : SWALLOW;\ + description {\ + state : "default" 0.0;\ + fixed : 1 1;\ + rel1 {\ + relative :num_y/APPS_VIEW_COL num_x/APPS_VIEW_ROW ;\ + to: SIZE_SETTER;\ + }\ + rel2 {\ + relative :(num_y+1)/APPS_VIEW_COL (num_x+1)/APPS_VIEW_ROW ;\ + to: SIZE_SETTER;\ + }\ + align: 0.0 0.0;\ + }\ + description {\ + state: "edit" 0.0;\ + inherit: "default" 0.0;\ + rel1 {\ + relative :0.04+(num_y/APPS_VIEW_COL)*0.9 0.05+(num_x/APPS_VIEW_ROW)*0.9 ;\ + to: SIZE_SETTER;\ + }\ + rel2 {\ + relative :0.04+((num_y+1)/APPS_VIEW_COL)*0.9 0.05+((num_x+1)/APPS_VIEW_ROW)*0.09 ;\ + to: SIZE_SETTER;\ + };\ + }\ + } collections { - images { - } - group { name: GROUP_APPS_LY; - parts { - part { name: SIZE_SETTER; - type: SWALLOW; - mouse_events: 1; - repeat_events: 1; - description { - state: "default" 0.0; - align: 0 0; - rel1.relative: 0.0 0.0; - rel2.relative: 0.0 0.0; - } - } - part { name: APPS_VIEW_BG; - type: RECT; - mouse_events: 1; - repeat_events: 1; - description { - state: "default" 0.0; - align: 0 0; - rel1 {relative: 0.0 0.0; to:SIZE_SETTER;} - rel2 {relative: 1.0 1.0; to:SIZE_SETTER;} - color: 0 0 0 0; - visible: 0; - } - description { - state: "edit_done" 0.0; - inherit: "default" 0.0; - rel1 {relative :0.05 0.05; to: SIZE_SETTER;} - rel2 {relative :0.95 0.95; to: SIZE_SETTER;} - color: 0 0 0 APPS_VIEW_BG_OPACITY; - visible: 1; - } - } - part { name: APPS_VIEW_GRID; - type: SWALLOW; - mouse_events: 1; - repeat_events: 1; - description { - state: "default" 0.0; - align: 0 0; - rel1 {relative: 0.0 0.0; to:SIZE_SETTER;} - rel2 {relative: 1.0 1.0; to:SIZE_SETTER;} - } - description { - state: "edit" 0.0; - inherit: "default" 0.0; - rel1 {relative :0.05 0.05; to: SIZE_SETTER;} - rel2 {relative :0.95 0.95; to: SIZE_SETTER;} - } - } - } - programs { - program { - name: "bg_edit_mode_on_ani"; - signal: SIGNAL_EDIT_MODE_ON_ANI; - source: SIGNAL_SOURCE; - action: STATE_SET "edit" 0.0; - target: APPS_VIEW_GRID; - transition: DECELERATE ANIMATION_RESIZE_TIME; - after: bg_edit_mode_on_ani_done; - } - - program { - name: "bg_edit_mode_on"; - signal: SIGNAL_EDIT_MODE_ON; - source: SIGNAL_SOURCE; - action: STATE_SET "edit" 0.0; - target: APPS_VIEW_GRID; - after: bg_edit_mode_on_ani_done; - } - program { - name: "bg_edit_mode_on_ani_done"; - signal: SIGNAL_EDIT_MODE_ON_ANI_DONE; - source: SIGNAL_SOURCE; - action: STATE_SET "edit_done" 0.0; - target: APPS_VIEW_BG; - } - - program { - name: "bg_edit_mode_off_ani"; - signal: SIGNAL_EDIT_MODE_OFF_ANI; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: APPS_VIEW_BG; - after: "bg_edit_mode_off2_ani"; - } - program { - name: "bg_edit_mode_off"; - signal: SIGNAL_EDIT_MODE_OFF; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: APPS_VIEW_BG; - after: "bg_edit_mode_off2"; - } - program { - name: "bg_edit_mode_off2_ani"; - signal: "bg_edit_mode_off2_ani"; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: APPS_VIEW_GRID; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program { - name: "bg_edit_mode_off2"; - signal: "bg_edit_mode_off2"; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: APPS_VIEW_GRID; - } - } - } + images { + } + group { name: GROUP_APPS_LY; + parts { + part { name: SIZE_SETTER; + type: SWALLOW; + mouse_events: 1; + repeat_events: 1; + description { + state: "default" 0.0; + align: 0 0; + rel1.relative: 0.0 0.0; + rel2.relative: 0.0 0.0; + } + } + part { name: APPS_VIEW_BG; + type: RECT; + mouse_events: 1; + repeat_events: 1; + description { + state: "default" 0.0; + align: 0 0; + rel1 {relative: 0.0 0.0; to:SIZE_SETTER;} + rel2 {relative: 1.0 1.0; to:SIZE_SETTER;} + color: 0 0 0 0; + visible: 0; + } + description { + state: "edit_done" 0.0; + inherit: "default" 0.0; + rel1 {relative :0.05 0.05; to: SIZE_SETTER;} + rel2 {relative :0.95 0.95; to: SIZE_SETTER;} + color: 0 0 0 APPS_VIEW_BG_OPACITY; + visible: 1; + } + } + part { name: APPS_VIEW_GRID; + type: SWALLOW; + mouse_events: 1; + repeat_events: 1; + description { + state: "default" 0.0; + align: 0 0; + rel1 {relative: 0.0 0.0; to:SIZE_SETTER;} + rel2 {relative: 1.0 1.0; to:SIZE_SETTER;} + } + description { + state: "edit" 0.0; + inherit: "default" 0.0; + rel1 {relative :0.05 0.05; to: SIZE_SETTER;} + rel2 {relative :0.95 0.95; to: SIZE_SETTER;} + } + } + } + programs { + program { + name: "bg_edit_mode_on_ani"; + signal: SIGNAL_EDIT_MODE_ON_ANI; + source: SIGNAL_SOURCE; + action: STATE_SET "edit" 0.0; + target: APPS_VIEW_GRID; + transition: DECELERATE ANIMATION_RESIZE_TIME; + after: bg_edit_mode_on_ani_done; + } + program { + name: "bg_edit_mode_on"; + signal: SIGNAL_EDIT_MODE_ON; + source: SIGNAL_SOURCE; + action: STATE_SET "edit" 0.0; + target: APPS_VIEW_GRID; + after: bg_edit_mode_on_ani_done; + } + program { + name: "bg_edit_mode_on_ani_done"; + signal: SIGNAL_EDIT_MODE_ON_ANI_DONE; + source: SIGNAL_SOURCE; + action: STATE_SET "edit_done" 0.0; + target: APPS_VIEW_BG; + } + program { + name: "bg_edit_mode_off_ani"; + signal: SIGNAL_EDIT_MODE_OFF_ANI; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: APPS_VIEW_BG; + after: "bg_edit_mode_off2_ani"; + } + program { + name: "bg_edit_mode_off"; + signal: SIGNAL_EDIT_MODE_OFF; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: APPS_VIEW_BG; + after: "bg_edit_mode_off2"; + } + program { + name: "bg_edit_mode_off2_ani"; + signal: "bg_edit_mode_off2_ani"; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: APPS_VIEW_GRID; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "bg_edit_mode_off2"; + signal: "bg_edit_mode_off2"; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: APPS_VIEW_GRID; + } + } + } } \ No newline at end of file diff --git a/res/edje/apps_view_bg.edc b/res/edje/apps_view_bg.edc index cbb1d20..1bed222 100755 --- a/res/edje/apps_view_bg.edc +++ b/res/edje/apps_view_bg.edc @@ -17,112 +17,112 @@ #include "../../inc/edc_conf.h" collections { - group { name: GROUP_APPS_BG_LY; - script { - public alpha; + group { name: GROUP_APPS_BG_LY; + script { + public alpha; - public message(Msg_Type:type, id, ...) { - if (type == MSG_FLOAT_SET) - { - set_float(alpha, getfarg(2)); - send_message(type, id, getfarg(2)); - } - } - } - parts { - part { name: SIZE_SETTER; - type: SWALLOW; - mouse_events: 1; - repeat_events: 1; - description { - state: "default" 0.0; - align: 0.0 0.0; - rel1.relative: 0.0 0.0; - rel2.relative: 0.0 0.0; - visible: 1; - } - } - part { name: APPS_VIEW_BG; - type: RECT; - mouse_events: 1; - repeat_events: 1; - description { - state: "default" 0.0; - align: 0.0 0.0; - color: 0 0 0 APPS_VIEW_BG_OPACITY; - rel1 {relative: 0.0 0.0; to:SIZE_SETTER;} - rel2 {relative: 1.0 1.0; to:SIZE_SETTER;} - visible: 0; - } - description { - state: "edit" 0.0; - inherit: "default" 0.0; - visible: 1; - rel1 {relative: 0.052 0.1; to:SIZE_SETTER;} - rel2 {relative: 0.95 0.845; to:SIZE_SETTER;} - } - description { - state: "hide" 0.0; - inherit: "default" 0.0; - visible: 0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - } - programs { - program { - name: "apps_bg_hide"; - signal: SIGNAL_APPS_VIEW_HIDE; - source: SIGNAL_SOURCE; - action: STATE_SET "hide" 0.0; - target: APPS_VIEW_BG; - } - program { - name: "apps_bg_show"; - signal: SIGNAL_APPS_VIEW_SHOW; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: APPS_VIEW_BG; - } - program { - name: "rotation,changed"; - signal: SIGNAL_APPS_VIEW_ANIM; - source: SIGNAL_SOURCE; - script { - custom_state(PART:APPS_VIEW_BG, "show", 0.0); - set_state_val(PART:APPS_VIEW_BG, STATE_COLOR, 0, 0, 0, round(get_float(alpha))); - set_state(PART:APPS_VIEW_BG, "custom", 0.0); - } - } - program { - name: "bg_edit_mode_on"; - signal: SIGNAL_EDIT_MODE_ON_ANI; - source: SIGNAL_SOURCE; - action: STATE_SET "edit" 0.0; - target: APPS_VIEW_BG; - transition: DECELERATE ANIMATION_RESIZE_TIME; - after: SIGNAL_APPS_VIEW_HIDE; - } - program { - name: "bg_edit_mode_off"; - signal: SIGNAL_EDIT_MODE_OFF_ANI; - source: SIGNAL_SOURCE; - action: STATE_SET "edit" 0.0; - target: APPS_VIEW_BG; - after: "bg_edit_mode_off2"; - } - program { - name: "bg_edit_mode_off2"; - signal: "bg_edit_mode_off2"; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: APPS_VIEW_BG; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - } - } + public message(Msg_Type:type, id, ...) { + if (type == MSG_FLOAT_SET) + { + set_float(alpha, getfarg(2)); + send_message(type, id, getfarg(2)); + } + } + } + parts { + part { name: SIZE_SETTER; + type: SWALLOW; + mouse_events: 1; + repeat_events: 1; + description { + state: "default" 0.0; + align: 0.0 0.0; + rel1.relative: 0.0 0.0; + rel2.relative: 0.0 0.0; + visible: 1; + } + } + part { name: APPS_VIEW_BG; + type: RECT; + mouse_events: 1; + repeat_events: 1; + description { + state: "default" 0.0; + align: 0.0 0.0; + color: 0 0 0 APPS_VIEW_BG_OPACITY; + rel1 {relative: 0.0 0.0; to:SIZE_SETTER;} + rel2 {relative: 1.0 1.0; to:SIZE_SETTER;} + visible: 0; + } + description { + state: "edit" 0.0; + inherit: "default" 0.0; + visible: 1; + rel1 {relative: 0.052 0.1; to:SIZE_SETTER;} + rel2 {relative: 0.95 0.845; to:SIZE_SETTER;} + } + description { + state: "hide" 0.0; + inherit: "default" 0.0; + visible: 0; + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + } + programs { + program { + name: "apps_bg_hide"; + signal: SIGNAL_APPS_VIEW_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "hide" 0.0; + target: APPS_VIEW_BG; + } + program { + name: "apps_bg_show"; + signal: SIGNAL_APPS_VIEW_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: APPS_VIEW_BG; + } + program { + name: "rotation,changed"; + signal: SIGNAL_APPS_VIEW_ANIM; + source: SIGNAL_SOURCE; + script { + custom_state(PART:APPS_VIEW_BG, "show", 0.0); + set_state_val(PART:APPS_VIEW_BG, STATE_COLOR, 0, 0, 0, round(get_float(alpha))); + set_state(PART:APPS_VIEW_BG, "custom", 0.0); + } + } + program { + name: "bg_edit_mode_on"; + signal: SIGNAL_EDIT_MODE_ON_ANI; + source: SIGNAL_SOURCE; + action: STATE_SET "edit" 0.0; + target: APPS_VIEW_BG; + transition: DECELERATE ANIMATION_RESIZE_TIME; + after: SIGNAL_APPS_VIEW_HIDE; + } + program { + name: "bg_edit_mode_off"; + signal: SIGNAL_EDIT_MODE_OFF_ANI; + source: SIGNAL_SOURCE; + action: STATE_SET "edit" 0.0; + target: APPS_VIEW_BG; + after: "bg_edit_mode_off2"; + } + program { + name: "bg_edit_mode_off2"; + signal: "bg_edit_mode_off2"; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: APPS_VIEW_BG; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + } + } } \ No newline at end of file diff --git a/res/edje/cluster_allpage.edc b/res/edje/cluster_allpage.edc index 2bae1b7..6980a5b 100755 --- a/res/edje/cluster_allpage.edc +++ b/res/edje/cluster_allpage.edc @@ -16,26 +16,26 @@ #include "../../inc/edc_conf.h" collections { - group { name: GROUP_CLUSTER_ALLPAGE_LY; - parts { - part { name: SIZE_SETTER; - type: SWALLOW; - description { - state: "default" 0.0; - align: 0 0; - rel1.relative: 0.0 0.0; - rel2.relative: 1.0 1.0; - } - } - part { name: CLUSTER_ALLPAGE_GRID; - type: SWALLOW; - description { - state: "default" 0.0; - align: 0 0; - rel1{relative: 0.0 0.0; to: SIZE_SETTER;} - rel2{relative: 1.0 1.0; to: SIZE_SETTER;} - } - } - } - } + group { name: GROUP_CLUSTER_ALLPAGE_LY; + parts { + part { name: SIZE_SETTER; + type: SWALLOW; + description { + state: "default" 0.0; + align: 0 0; + rel1.relative: 0.0 0.0; + rel2.relative: 1.0 1.0; + } + } + part { name: CLUSTER_ALLPAGE_GRID; + type: SWALLOW; + description { + state: "default" 0.0; + align: 0 0; + rel1{relative: 0.0 0.0; to: SIZE_SETTER;} + rel2{relative: 1.0 1.0; to: SIZE_SETTER;} + } + } + } + } } \ No newline at end of file diff --git a/res/edje/cluster_allpage_thumbnail.edc b/res/edje/cluster_allpage_thumbnail.edc index 1ed1f04..64296dc 100755 --- a/res/edje/cluster_allpage_thumbnail.edc +++ b/res/edje/cluster_allpage_thumbnail.edc @@ -17,223 +17,223 @@ #include "../../inc/edc_conf.h" collections { - images { - image: "../res/images/btn_delete_nor.png" COMP; - image: "../res/images/btn_delete_press.png" COMP; - image: "../res/images/all_page_add.png" COMP; - image: "../res/images/all_page_add_press.png" COMP; - image: "../res/images/all_page_drag.png" COMP; - } - group { name: GROUP_CLUSTER_ALLPAGE_THUMBNAIL_LY; - parts { - part { name: "bg"; - type: RECT; - description { - state: "default" 0.0; - align: 0 0; - color: 0 0 0 50; - rel1.relative: 0.0 0.0; - rel2.relative: 1.0 1.0; - } - description { - state: "hide" 0.0; - inherit: "default" 0.0; - color: 0 0 0 0; - visible: 0; - } - } - part { name: CLUSTER_ALLPAGE_ADD_BUTTON; - type: IMAGE; - description { - state: "default" 0.0; - rel1{relative: 0.375 0.375; to: "bg";} - rel2{relative: 0.625 0.625; to: "bg";} - visible: 0; - aspect: 1.0 1.0; - aspect_preference: BOTH; - image { - normal: "../res/images/all_page_add.png"; - } - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - visible: 1; - } - description { - state: "press" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - image { - normal: "../res/images/all_page_add_press.png"; - } - visible: 1; - } - } - part { name: "cluster_allpage_add_button_touch_rect"; - type: RECT; - description { - state: "default" 0.0; - rel1{relative: 0.0 0.0; to: "bg";} - rel2{relative: 1.0 1.0; to: "bg";} - visible: 0; - color: 0 0 0 0; - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - part { name: CLUSTER_ALLPAGE_THUMBNAIL_IMAGE; - type: SWALLOW; - description { - state: "default" 0.0; - align: 0 0; - rel1.relative: 0.0 0.0; - rel2.relative: 1.0 1.0; - } - } - part { name: CLUSTER_ALLPAGE_DRAG_IMAGE; - type: IMAGE; - description { - state: "default" 0.0; - rel1{relative: -0.03 -0.03; to: CLUSTER_ALLPAGE_THUMBNAIL_IMAGE;} - rel2{relative: 1.03 1.03; to: CLUSTER_ALLPAGE_THUMBNAIL_IMAGE;} - color: 255 255 255 150; - visible: 0; - image { - normal: "../res/images/all_page_drag.png"; - } - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } - part { - name: CLUSTER_ALLPAGE_DELETE_BUTTON; - type: IMAGE; - description { - state: "default" 0.0; - rel1{relative: 0.031 0.031; to: CLUSTER_ALLPAGE_THUMBNAIL_IMAGE;} - rel2{relative: 0.218 0.218; to: CLUSTER_ALLPAGE_THUMBNAIL_IMAGE;} - color: 255 255 255 0; - visible: 0; - aspect: 1.0 1.0; - aspect_preference: BOTH; - image { - normal: "../res/images/btn_delete_nor.png"; - } - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - visible: 1; - } - description { - state: "press" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - image { - normal: "../res/images/btn_delete_press.png"; - } - visible: 1; - } - } - } - programs { - program { - name: "delete_button_clicked"; - signal: "mouse,clicked,1"; - source: CLUSTER_ALLPAGE_DELETE_BUTTON; - action: SIGNAL_EMIT SIGNAL_ALLPAGE_DELETE_BUTTON_CLICKED SIGNAL_SOURCE; - } - program { - name: "delete_button_mouse_down"; - signal: "mouse,down,1"; - source: CLUSTER_ALLPAGE_DELETE_BUTTON; - action: STATE_SET "press" 0.0; - target: CLUSTER_ALLPAGE_DELETE_BUTTON; - } - program { - name: "delete_button_mouse_up"; - signal: "mouse,up,1"; - source: CLUSTER_ALLPAGE_DELETE_BUTTON; - action: STATE_SET "show" 0.0; - target: CLUSTER_ALLPAGE_DELETE_BUTTON; - } - program { - name: "delete_button_show"; - signal: SIGNAL_ALLPAGE_DELETE_BUTTON_SHOW; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: CLUSTER_ALLPAGE_DELETE_BUTTON; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program { - name: "delete_button_hide"; - signal: SIGNAL_ALLPAGE_DELETE_BUTTON_HIDE; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: CLUSTER_ALLPAGE_DELETE_BUTTON; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program { - name: "add_button_clicked"; - signal: "mouse,clicked,1"; - source: "cluster_allpage_add_button_touch_rect"; - action: SIGNAL_EMIT SIGNAL_ALLPAGE_ADD_BUTTON_CLICKED SIGNAL_SOURCE; - } - program { - name: "add_button_mouse_down"; - signal: "mouse,down,1"; - source: "cluster_allpage_add_button_touch_rect"; - action: STATE_SET "press" 0.0; - target: CLUSTER_ALLPAGE_ADD_BUTTON; - } - program { - name: "add_button_mouse_up"; - signal: "mouse,up,1"; - source: "cluster_allpage_add_button_touch_rect"; - action: STATE_SET "show" 0.0; - target: CLUSTER_ALLPAGE_ADD_BUTTON; - } - program { - name: "add_button_show"; - signal: SIGNAL_ALLPAGE_ADD_BUTTON_SHOW; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: CLUSTER_ALLPAGE_ADD_BUTTON; - target: "cluster_allpage_add_button_touch_rect"; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program { - name: "add_button_hide"; - signal: SIGNAL_ALLPAGE_ADD_BUTTON_HIDE; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: CLUSTER_ALLPAGE_ADD_BUTTON; - target: "cluster_allpage_add_button_touch_rect"; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program { - name: "drag_show"; - signal: SIGNAL_ALLPAGE_DRAG_BG_SHOW; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: CLUSTER_ALLPAGE_DRAG_IMAGE; - } - program { - name: "drag_hide"; - signal: SIGNAL_ALLPAGE_DRAG_BG_HIDE; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: CLUSTER_ALLPAGE_DRAG_IMAGE; - } - } - } + images { + image: "../res/images/btn_delete_nor.png" COMP; + image: "../res/images/btn_delete_press.png" COMP; + image: "../res/images/all_page_add.png" COMP; + image: "../res/images/all_page_add_press.png" COMP; + image: "../res/images/all_page_drag.png" COMP; + } + group { name: GROUP_CLUSTER_ALLPAGE_THUMBNAIL_LY; + parts { + part { name: "bg"; + type: RECT; + description { + state: "default" 0.0; + align: 0 0; + color: 0 0 0 50; + rel1.relative: 0.0 0.0; + rel2.relative: 1.0 1.0; + } + description { + state: "hide" 0.0; + inherit: "default" 0.0; + color: 0 0 0 0; + visible: 0; + } + } + part { name: CLUSTER_ALLPAGE_ADD_BUTTON; + type: IMAGE; + description { + state: "default" 0.0; + rel1{relative: 0.375 0.375; to: "bg";} + rel2{relative: 0.625 0.625; to: "bg";} + visible: 0; + aspect: 1.0 1.0; + aspect_preference: BOTH; + image { + normal: "../res/images/all_page_add.png"; + } + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + visible: 1; + } + description { + state: "press" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + image { + normal: "../res/images/all_page_add_press.png"; + } + visible: 1; + } + } + part { name: "cluster_allpage_add_button_touch_rect"; + type: RECT; + description { + state: "default" 0.0; + rel1{relative: 0.0 0.0; to: "bg";} + rel2{relative: 1.0 1.0; to: "bg";} + visible: 0; + color: 0 0 0 0; + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { name: CLUSTER_ALLPAGE_THUMBNAIL_IMAGE; + type: SWALLOW; + description { + state: "default" 0.0; + align: 0 0; + rel1.relative: 0.0 0.0; + rel2.relative: 1.0 1.0; + } + } + part { name: CLUSTER_ALLPAGE_DRAG_IMAGE; + type: IMAGE; + description { + state: "default" 0.0; + rel1{relative: -0.03 -0.03; to: CLUSTER_ALLPAGE_THUMBNAIL_IMAGE;} + rel2{relative: 1.03 1.03; to: CLUSTER_ALLPAGE_THUMBNAIL_IMAGE;} + color: 255 255 255 150; + visible: 0; + image { + normal: "../res/images/all_page_drag.png"; + } + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { + name: CLUSTER_ALLPAGE_DELETE_BUTTON; + type: IMAGE; + description { + state: "default" 0.0; + rel1{relative: 0.031 0.031; to: CLUSTER_ALLPAGE_THUMBNAIL_IMAGE;} + rel2{relative: 0.218 0.218; to: CLUSTER_ALLPAGE_THUMBNAIL_IMAGE;} + color: 255 255 255 0; + visible: 0; + aspect: 1.0 1.0; + aspect_preference: BOTH; + image { + normal: "../res/images/btn_delete_nor.png"; + } + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + visible: 1; + } + description { + state: "press" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + image { + normal: "../res/images/btn_delete_press.png"; + } + visible: 1; + } + } + } + programs { + program { + name: "delete_button_clicked"; + signal: "mouse,clicked,1"; + source: CLUSTER_ALLPAGE_DELETE_BUTTON; + action: SIGNAL_EMIT SIGNAL_ALLPAGE_DELETE_BUTTON_CLICKED SIGNAL_SOURCE; + } + program { + name: "delete_button_mouse_down"; + signal: "mouse,down,1"; + source: CLUSTER_ALLPAGE_DELETE_BUTTON; + action: STATE_SET "press" 0.0; + target: CLUSTER_ALLPAGE_DELETE_BUTTON; + } + program { + name: "delete_button_mouse_up"; + signal: "mouse,up,1"; + source: CLUSTER_ALLPAGE_DELETE_BUTTON; + action: STATE_SET "show" 0.0; + target: CLUSTER_ALLPAGE_DELETE_BUTTON; + } + program { + name: "delete_button_show"; + signal: SIGNAL_ALLPAGE_DELETE_BUTTON_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: CLUSTER_ALLPAGE_DELETE_BUTTON; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "delete_button_hide"; + signal: SIGNAL_ALLPAGE_DELETE_BUTTON_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: CLUSTER_ALLPAGE_DELETE_BUTTON; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "add_button_clicked"; + signal: "mouse,clicked,1"; + source: "cluster_allpage_add_button_touch_rect"; + action: SIGNAL_EMIT SIGNAL_ALLPAGE_ADD_BUTTON_CLICKED SIGNAL_SOURCE; + } + program { + name: "add_button_mouse_down"; + signal: "mouse,down,1"; + source: "cluster_allpage_add_button_touch_rect"; + action: STATE_SET "press" 0.0; + target: CLUSTER_ALLPAGE_ADD_BUTTON; + } + program { + name: "add_button_mouse_up"; + signal: "mouse,up,1"; + source: "cluster_allpage_add_button_touch_rect"; + action: STATE_SET "show" 0.0; + target: CLUSTER_ALLPAGE_ADD_BUTTON; + } + program { + name: "add_button_show"; + signal: SIGNAL_ALLPAGE_ADD_BUTTON_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: CLUSTER_ALLPAGE_ADD_BUTTON; + target: "cluster_allpage_add_button_touch_rect"; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "add_button_hide"; + signal: SIGNAL_ALLPAGE_ADD_BUTTON_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: CLUSTER_ALLPAGE_ADD_BUTTON; + target: "cluster_allpage_add_button_touch_rect"; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "drag_show"; + signal: SIGNAL_ALLPAGE_DRAG_BG_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: CLUSTER_ALLPAGE_DRAG_IMAGE; + } + program { + name: "drag_hide"; + signal: SIGNAL_ALLPAGE_DRAG_BG_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: CLUSTER_ALLPAGE_DRAG_IMAGE; + } + } + } } \ No newline at end of file diff --git a/res/edje/cluster_page.edc b/res/edje/cluster_page.edc index 8512f37..fb619fb 100755 --- a/res/edje/cluster_page.edc +++ b/res/edje/cluster_page.edc @@ -17,67 +17,67 @@ #include "../../inc/edc_conf.h" collections { - images { - image: "../res/images/btn_delete_nor.png" COMP; - image: "../res/images/btn_delete_press.png" COMP; - } - group { name: GROUP_CLUSTER_PAGE_LY; - parts { - part { name: SIZE_SETTER; - type: SWALLOW; - description { - state: "default" 0.0; - align: 0 0; - rel1.relative: 0.0 0.0; - rel2.relative: 1.0 1.0; - } - } - part { name: CLUSTER_BG; - type: RECT; - description { - state: "default" 0.0; - align: 0 0; - visible: 0; - color : 0 0 0 0; - rel1{relative: 0.0 0.0; to: SIZE_SETTER;} - rel2{relative: 1.0 1.0; to: SIZE_SETTER;} - } - description { - state: "edit" 0.0; - inherit: "default" 0.0; - color : 0 0 0 50; - visible: 1; - rel1{relative: 0.05 0.05; to: SIZE_SETTER;} - rel2{relative: 0.95 0.95; to: SIZE_SETTER;} - } - } - part { name: CLUSTER_BOX; - type: SWALLOW; - description { - state: "default" 0.0; - align: 0 0; - rel1{relative: 0.0 0.0; to: CLUSTER_BG;} - rel2{relative: 1.0 1.0; to: CLUSTER_BG;} - } - } - } - programs { - program { - name: "edit_mode_on"; - signal: SIGNAL_EDIT_MODE_ON; - source: SIGNAL_SOURCE; - action: STATE_SET "edit" 0.0; - target: CLUSTER_BG; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program { - name: "edit_mode_off"; - signal: SIGNAL_EDIT_MODE_OFF; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: CLUSTER_BG; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - } - } + images { + image: "../res/images/btn_delete_nor.png" COMP; + image: "../res/images/btn_delete_press.png" COMP; + } + group { name: GROUP_CLUSTER_PAGE_LY; + parts { + part { name: SIZE_SETTER; + type: SWALLOW; + description { + state: "default" 0.0; + align: 0 0; + rel1.relative: 0.0 0.0; + rel2.relative: 1.0 1.0; + } + } + part { name: CLUSTER_BG; + type: RECT; + description { + state: "default" 0.0; + align: 0 0; + visible: 0; + color : 0 0 0 0; + rel1{relative: 0.0 0.0; to: SIZE_SETTER;} + rel2{relative: 1.0 1.0; to: SIZE_SETTER;} + } + description { + state: "edit" 0.0; + inherit: "default" 0.0; + color : 0 0 0 50; + visible: 1; + rel1{relative: 0.05 0.05; to: SIZE_SETTER;} + rel2{relative: 0.95 0.95; to: SIZE_SETTER;} + } + } + part { name: CLUSTER_BOX; + type: SWALLOW; + description { + state: "default" 0.0; + align: 0 0; + rel1{relative: 0.0 0.0; to: CLUSTER_BG;} + rel2{relative: 1.0 1.0; to: CLUSTER_BG;} + } + } + } + programs { + program { + name: "edit_mode_on"; + signal: SIGNAL_EDIT_MODE_ON; + source: SIGNAL_SOURCE; + action: STATE_SET "edit" 0.0; + target: CLUSTER_BG; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "edit_mode_off"; + signal: SIGNAL_EDIT_MODE_OFF; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: CLUSTER_BG; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + } + } } \ No newline at end of file diff --git a/res/edje/home.edc b/res/edje/home.edc index 5398e9b..16fdc93 100755 --- a/res/edje/home.edc +++ b/res/edje/home.edc @@ -17,21 +17,21 @@ #include "../../inc/edc_conf.h" collections { - images { - } - group { name: GROUP_HOME_LY; - parts { - part { name: HOME_BG; - type: SWALLOW; - scale: 1; - description { state: "default" 0.0; - align: 0 0; - rel1.relative: 0.0 0.0; - rel2.relative: 0.0 0.0; - } - } - } - programs { - } - } + images { + } + group { name: GROUP_HOME_LY; + parts { + part { name: HOME_BG; + type: SWALLOW; + scale: 1; + description { state: "default" 0.0; + align: 0 0; + rel1.relative: 0.0 0.0; + rel2.relative: 0.0 0.0; + } + } + } + programs { + } + } } \ No newline at end of file diff --git a/res/edje/home_btn.edc b/res/edje/home_btn.edc index 125bd01..12af99f 100755 --- a/res/edje/home_btn.edc +++ b/res/edje/home_btn.edc @@ -17,261 +17,261 @@ #include "../../inc/edc_conf.h" collections { - images { - image: "../res/images/home_button_bg.png" COMP; - image: "../res/images/home_button_menu.png" COMP; - image: "../res/images/home_button_home.png" COMP; - image: "../res/images/home_button_apps.png" COMP; - } - group { name: GROUP_HOME_BTN_LY; - parts { - // Menu button - part { name: MENU_BUTTON; - type: IMAGE; - description { state: "default" 0.0; - align: 0 0; - rel1{relative: 0.044 0.928;} - rel2{relative: 0.223 0.986;} - color: 0 0 0 40; - visible: 1; - image { - normal: "../res/images/home_button_bg.png"; - } - } - description { - state: "press" 0.0; - inherit: "default" 0.0; - color: 255 255 255 40; - } - description { state: "show" 0.0; - inherit: "default" 0.0; - } - description { state: "hide" 0.0; - inherit: "default" 0.0; - color: 0 0 0 0; - visible: 0; - } - } - part { name: "menu_btn_icon"; - type: IMAGE; - mouse_events: 0; - description { state: "default" 0.0; - align: 0 0; - rel1{relative: 0.27 0.1; to:MENU_BUTTON;} - rel2{relative: 0.73 0.9; to:MENU_BUTTON;} - color: 255 255 255 255; - visible: 1; - image { - normal: "../res/images/home_button_menu.png"; - } - } - description { state: "show" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - } - description { state: "hide" 0.0; - inherit: "default" 0.0; - color: 255 255 255 0; - visible: 0; - } - } - //Home Button - part { name: HOME_BUTTON; - type: IMAGE; - description {state: "default" 0.0; - align: 0 0; - rel1{relative: 0.776 0.928;} - rel2{relative: 0.955 0.986;} - color: 0 0 0 40; - visible: 1; - image { - normal: "../res/images/home_button_bg.png"; - } - } - description { - state: "press" 0.0; - inherit: "default" 0.0; - color : 255 255 255 40; - } - description { state: "show" 0.0; - inherit: "default" 0.0; - } - description { state: "hide" 0.0; - inherit: "default" 0.0; - color: 0 0 0 0; - visible: 0; - } - } - part { name: "home_btn_home_icon"; - type: IMAGE; - mouse_events: 0; - description { state: "default" 0.0; - align: 0 0; - rel1{relative: 0.27 0.1; to:HOME_BUTTON;} - rel2{relative: 0.73 0.9; to:HOME_BUTTON;} - color: 255 255 255 0; - visible: 1; - image { - normal: "../res/images/home_button_home.png"; - } - } - description { state: "show" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - } - description { state: "hide" 0.0; - inherit: "default" 0.0; - color: 255 255 255 0; - visible: 0; - } - } - part { name: "home_btn_app_icon"; - type: IMAGE; - mouse_events: 0; - description { state: "default" 0.0; - align: 0 0; - rel1{relative: 0.27 0.1; to:HOME_BUTTON;} - rel2{relative: 0.73 0.9; to:HOME_BUTTON;} - color: 255 255 255 255; - visible: 1; - image { - normal: "../res/images/home_button_apps.png"; - } - } - description { state: "show" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - } - description { state: "hide" 0.0; - inherit: "default" 0.0; - color: 255 255 255 0; - visible: 0; - } - } - } - programs { - //menu button event - program { - name: "menu_btn_down"; - signal: "mouse,down,1"; - source: MENU_BUTTON; - action: STATE_SET "press" 0.0; - target: MENU_BUTTON; - transition: DECELERATE 0.1; - } - program { - name: "menu_btn_up"; - signal: "mouse,up,1"; - source: MENU_BUTTON; - action: STATE_SET "default" 0.0; - target: MENU_BUTTON; - transition: DECELERATE 0.1; - } - program { - name: "menu_btn_click"; - signal: "mouse,clicked,1"; - source: MENU_BUTTON; - action: SIGNAL_EMIT SIGNAL_MENU_BTN_CLICKED SIGNAL_SOURCE; - } - //home button event - program { - name: "home_btn_down"; - signal: "mouse,down,1"; - source: HOME_BUTTON; - action: STATE_SET "press" 0.0; - target: HOME_BUTTON; - transition: DECELERATE 0.1; - } - program { - name: "home_btn_up"; - signal: "mouse,up,1"; - source: HOME_BUTTON; - action: STATE_SET "default" 0.0; - target: HOME_BUTTON; - transition: DECELERATE 0.1; - } - program { - name: "home_btn_click"; - signal: "mouse,clicked,1"; - source: HOME_BUTTON; - action: SIGNAL_EMIT SIGNAL_HOME_BTN_CLICKED SIGNAL_SOURCE; - } - program { - name: "home_btn_show"; - signal: SIGNAL_HOME_BTN_ICON_SHOW; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: "home_btn_home_icon"; - transition: DECELERATE 0.3; - } - program { - name: "home_btn_hide"; - signal: SIGNAL_HOME_BTN_ICON_HIDE; - source: SIGNAL_SOURCE; - action: STATE_SET "hide" 0.0; - target: "home_btn_home_icon"; - transition: DECELERATE 0.3; - } - program { - name: "apps_btn_show"; - signal: SIGNAL_APPS_BTN_ICON_SHOW; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: "home_btn_app_icon"; - transition: DECELERATE 0.3; - } - program { - name: "apps_btn_hide"; - signal: SIGNAL_APPS_BTN_ICON_HIDE; - source: SIGNAL_SOURCE; - action: STATE_SET "hide" 0.0; - target: "home_btn_app_icon"; - transition: DECELERATE 0.3; - } - program { - name: "btn_show_home"; - signal: SIGNAL_BTN_SHOW_APPS_STATE; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: MENU_BUTTON; - target: "menu_btn_icon"; - target: HOME_BUTTON; - target: "home_btn_home_icon"; - transition: DECELERATE 0.3; - } - program { - name: "btn_hide_home"; - signal: SIGNAL_BTN_HIDE_APPS_STATE; - source: SIGNAL_SOURCE; - action: STATE_SET "hide" 0.0; - target: MENU_BUTTON; - target: "menu_btn_icon"; - target: HOME_BUTTON; - target: "home_btn_home_icon"; - transition: DECELERATE 0.3; - } - program { - name: "btn_show_apps"; - signal: SIGNAL_BTN_SHOW_HOME_STATE; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: MENU_BUTTON; - target: "menu_btn_icon"; - target: HOME_BUTTON; - target: "home_btn_app_icon"; - transition: DECELERATE 0.3; - } - program { - name: "btn_hide_apps"; - signal: SIGNAL_BTN_HIDE_HOME_STATE; - source: SIGNAL_SOURCE; - action: STATE_SET "hide" 0.0; - target: MENU_BUTTON; - target: "menu_btn_icon"; - target: HOME_BUTTON; - target: "home_btn_app_icon"; - transition: DECELERATE 0.3; - } - } - } + images { + image: "../res/images/home_button_bg.png" COMP; + image: "../res/images/home_button_menu.png" COMP; + image: "../res/images/home_button_home.png" COMP; + image: "../res/images/home_button_apps.png" COMP; + } + group { name: GROUP_HOME_BTN_LY; + parts { + // Menu button + part { name: MENU_BUTTON; + type: IMAGE; + description { state: "default" 0.0; + align: 0 0; + rel1{relative: 0.044 0.928;} + rel2{relative: 0.223 0.986;} + color: 0 0 0 40; + visible: 1; + image { + normal: "../res/images/home_button_bg.png"; + } + } + description { + state: "press" 0.0; + inherit: "default" 0.0; + color: 255 255 255 40; + } + description { state: "show" 0.0; + inherit: "default" 0.0; + } + description { state: "hide" 0.0; + inherit: "default" 0.0; + color: 0 0 0 0; + visible: 0; + } + } + part { name: "menu_btn_icon"; + type: IMAGE; + mouse_events: 0; + description { state: "default" 0.0; + align: 0 0; + rel1{relative: 0.27 0.1; to:MENU_BUTTON;} + rel2{relative: 0.73 0.9; to:MENU_BUTTON;} + color: 255 255 255 255; + visible: 1; + image { + normal: "../res/images/home_button_menu.png"; + } + } + description { state: "show" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + description { state: "hide" 0.0; + inherit: "default" 0.0; + color: 255 255 255 0; + visible: 0; + } + } + //Home Button + part { name: HOME_BUTTON; + type: IMAGE; + description {state: "default" 0.0; + align: 0 0; + rel1{relative: 0.776 0.928;} + rel2{relative: 0.955 0.986;} + color: 0 0 0 40; + visible: 1; + image { + normal: "../res/images/home_button_bg.png"; + } + } + description { + state: "press" 0.0; + inherit: "default" 0.0; + color : 255 255 255 40; + } + description { state: "show" 0.0; + inherit: "default" 0.0; + } + description { state: "hide" 0.0; + inherit: "default" 0.0; + color: 0 0 0 0; + visible: 0; + } + } + part { name: "home_btn_home_icon"; + type: IMAGE; + mouse_events: 0; + description { state: "default" 0.0; + align: 0 0; + rel1{relative: 0.27 0.1; to:HOME_BUTTON;} + rel2{relative: 0.73 0.9; to:HOME_BUTTON;} + color: 255 255 255 0; + visible: 1; + image { + normal: "../res/images/home_button_home.png"; + } + } + description { state: "show" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + description { state: "hide" 0.0; + inherit: "default" 0.0; + color: 255 255 255 0; + visible: 0; + } + } + part { name: "home_btn_app_icon"; + type: IMAGE; + mouse_events: 0; + description { state: "default" 0.0; + align: 0 0; + rel1{relative: 0.27 0.1; to:HOME_BUTTON;} + rel2{relative: 0.73 0.9; to:HOME_BUTTON;} + color: 255 255 255 255; + visible: 1; + image { + normal: "../res/images/home_button_apps.png"; + } + } + description { state: "show" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + description { state: "hide" 0.0; + inherit: "default" 0.0; + color: 255 255 255 0; + visible: 0; + } + } + } + programs { + //menu button event + program { + name: "menu_btn_down"; + signal: "mouse,down,1"; + source: MENU_BUTTON; + action: STATE_SET "press" 0.0; + target: MENU_BUTTON; + transition: DECELERATE 0.1; + } + program { + name: "menu_btn_up"; + signal: "mouse,up,1"; + source: MENU_BUTTON; + action: STATE_SET "default" 0.0; + target: MENU_BUTTON; + transition: DECELERATE 0.1; + } + program { + name: "menu_btn_click"; + signal: "mouse,clicked,1"; + source: MENU_BUTTON; + action: SIGNAL_EMIT SIGNAL_MENU_BTN_CLICKED SIGNAL_SOURCE; + } + //home button event + program { + name: "home_btn_down"; + signal: "mouse,down,1"; + source: HOME_BUTTON; + action: STATE_SET "press" 0.0; + target: HOME_BUTTON; + transition: DECELERATE 0.1; + } + program { + name: "home_btn_up"; + signal: "mouse,up,1"; + source: HOME_BUTTON; + action: STATE_SET "default" 0.0; + target: HOME_BUTTON; + transition: DECELERATE 0.1; + } + program { + name: "home_btn_click"; + signal: "mouse,clicked,1"; + source: HOME_BUTTON; + action: SIGNAL_EMIT SIGNAL_HOME_BTN_CLICKED SIGNAL_SOURCE; + } + program { + name: "home_btn_show"; + signal: SIGNAL_HOME_BTN_ICON_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: "home_btn_home_icon"; + transition: DECELERATE 0.3; + } + program { + name: "home_btn_hide"; + signal: SIGNAL_HOME_BTN_ICON_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "hide" 0.0; + target: "home_btn_home_icon"; + transition: DECELERATE 0.3; + } + program { + name: "apps_btn_show"; + signal: SIGNAL_APPS_BTN_ICON_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: "home_btn_app_icon"; + transition: DECELERATE 0.3; + } + program { + name: "apps_btn_hide"; + signal: SIGNAL_APPS_BTN_ICON_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "hide" 0.0; + target: "home_btn_app_icon"; + transition: DECELERATE 0.3; + } + program { + name: "btn_show_home"; + signal: SIGNAL_BTN_SHOW_APPS_STATE; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: MENU_BUTTON; + target: "menu_btn_icon"; + target: HOME_BUTTON; + target: "home_btn_home_icon"; + transition: DECELERATE 0.3; + } + program { + name: "btn_hide_home"; + signal: SIGNAL_BTN_HIDE_APPS_STATE; + source: SIGNAL_SOURCE; + action: STATE_SET "hide" 0.0; + target: MENU_BUTTON; + target: "menu_btn_icon"; + target: HOME_BUTTON; + target: "home_btn_home_icon"; + transition: DECELERATE 0.3; + } + program { + name: "btn_show_apps"; + signal: SIGNAL_BTN_SHOW_HOME_STATE; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: MENU_BUTTON; + target: "menu_btn_icon"; + target: HOME_BUTTON; + target: "home_btn_app_icon"; + transition: DECELERATE 0.3; + } + program { + name: "btn_hide_apps"; + signal: SIGNAL_BTN_HIDE_HOME_STATE; + source: SIGNAL_SOURCE; + action: STATE_SET "hide" 0.0; + target: MENU_BUTTON; + target: "menu_btn_icon"; + target: HOME_BUTTON; + target: "home_btn_app_icon"; + transition: DECELERATE 0.3; + } + } + } } \ No newline at end of file diff --git a/res/edje/page_indicator_unit.edc b/res/edje/page_indicator_unit.edc index 9c142a3..0dbae85 100755 --- a/res/edje/page_indicator_unit.edc +++ b/res/edje/page_indicator_unit.edc @@ -17,92 +17,92 @@ #include "../../inc/edc_conf.h" collections { - group { - name: GROUP_PAGE_INDICATOR_UNIT; - images { - image: "../res/images/page_indicator_current.png" COMP; - image: "../res/images/page_indicator_unit.png" COMP; - } - script { - public rot; - public alpha; + group { + name: GROUP_PAGE_INDICATOR_UNIT; + images { + image: "../res/images/page_indicator_current.png" COMP; + image: "../res/images/page_indicator_unit.png" COMP; + } + script { + public rot; + public alpha; - public message(Msg_Type:type, id, ...) { - if (type == MSG_FLOAT_SET) - { - set_float(rot, getfarg(2)); - set_float(alpha, getfarg(3)); - send_message(type, id, getfarg(2), getfarg(3)); - } - } - } - parts { - part { name: SIZE_SETTER; - type: SWALLOW; - description { - state: "default" 0.0; - align: 0 0; - rel1.relative: 0.0 0.0; - rel2.relative: 0.0 0.0; - } - } - part { - name: "unit"; - type: IMAGE; + public message(Msg_Type:type, id, ...) { + if (type == MSG_FLOAT_SET) + { + set_float(rot, getfarg(2)); + set_float(alpha, getfarg(3)); + send_message(type, id, getfarg(2), getfarg(3)); + } + } + } + parts { + part { name: SIZE_SETTER; + type: SWALLOW; + description { + state: "default" 0.0; + align: 0 0; + rel1.relative: 0.0 0.0; + rel2.relative: 0.0 0.0; + } + } + part { + name: "unit"; + type: IMAGE; - description { - state: "default" 0.0; - color: 255 255 255 75; - rel1{relative: 0.0 0.0; to:SIZE_SETTER;} - rel2{relative: 1.0 1.0; to:SIZE_SETTER;} - image { - normal: "../res/images/page_indicator_unit.png"; - } - map { - on: 1; - perspective_on: 1; - smooth: 1; - alpha: 1; - } - } - description { - state: "current" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - image { - normal: "../res/images/page_indicator_current.png"; - } - } - } - } - programs { - program - { - name: "indice_set_default"; - signal: SIGNAL_PAGE_IDICATOR_DEFAULT; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: "unit"; - } - program - { - name: "indice_set_current"; - signal: SIGNAL_PAGE_IDICATOR_CURRENT; - source: SIGNAL_SOURCE; - action: STATE_SET "current" 0.0; - target: "unit"; - } - program { - name: "rotation,changed"; - signal: SIGNAL_PAGE_IDICATOR_ROTATION_CHANGE; - source: SIGNAL_SOURCE; - script { - custom_state(PART:"unit", "default", 0.0); - set_state_val(PART:"unit", STATE_MAP_ROT_Z, get_float(rot)); - set_state_val(PART:"unit", STATE_COLOR, 255, 255, 255, round(get_float(alpha))); - set_state(PART:"unit", "custom", 0.0); - } - } - } - } + description { + state: "default" 0.0; + color: 255 255 255 75; + rel1{relative: 0.0 0.0; to:SIZE_SETTER;} + rel2{relative: 1.0 1.0; to:SIZE_SETTER;} + image { + normal: "../res/images/page_indicator_unit.png"; + } + map { + on: 1; + perspective_on: 1; + smooth: 1; + alpha: 1; + } + } + description { + state: "current" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + image { + normal: "../res/images/page_indicator_current.png"; + } + } + } + } + programs { + program + { + name: "indice_set_default"; + signal: SIGNAL_PAGE_IDICATOR_DEFAULT; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: "unit"; + } + program + { + name: "indice_set_current"; + signal: SIGNAL_PAGE_IDICATOR_CURRENT; + source: SIGNAL_SOURCE; + action: STATE_SET "current" 0.0; + target: "unit"; + } + program { + name: "rotation,changed"; + signal: SIGNAL_PAGE_IDICATOR_ROTATION_CHANGE; + source: SIGNAL_SOURCE; + script { + custom_state(PART:"unit", "default", 0.0); + set_state_val(PART:"unit", STATE_MAP_ROT_Z, get_float(rot)); + set_state_val(PART:"unit", STATE_COLOR, 255, 255, 255, round(get_float(alpha))); + set_state(PART:"unit", "custom", 0.0); + } + } + } + } } \ No newline at end of file diff --git a/res/edje/widget.edc b/res/edje/widget.edc index 41b41f7..22add8a 100755 --- a/res/edje/widget.edc +++ b/res/edje/widget.edc @@ -1,166 +1,166 @@ #include "../../inc/edc_conf.h" images { - image: "../res/images/btn_delete_nor.png" COMP; - image: "../res/images/btn_delete_press.png" COMP; + image: "../res/images/btn_delete_nor.png" COMP; + image: "../res/images/btn_delete_press.png" COMP; } collections { - group { name: GROUP_WIDGET_LY; - parts { - part { name: WIDGET_CONTENT; - type: SWALLOW; - mouse_events: 1; - repeat_events: 1; - description { - state: "default" 0.0; - rel1.relative: 0.0 0.0; - } - } - part { name: SIZE_SETTER; - type: SWALLOW; - mouse_events: 1; - repeat_events: 1; - description { - state: "default" 0.0; - color: 0 0 0 0; - align: 0 0; - visible: 0; - rel1.relative: 0.0 0.0; - rel2.relative: 0.01 0.01; - } - } - part { name: "touch,block"; - type: RECT; - mouse_events: 1; - repeat_events: 0; - description { - state: "default" 0.0; - color: 0 0 0 0; - visible: 0; - rel1{relative: 0.0 0.0; to: WIDGET_CONTENT;} - rel2{relative: 1.0 1.0; to: WIDGET_CONTENT;} - } - description { - state: "edit" 0.0; - inherit: "default" 0.0; - visible: 1; - } - description { - state: "pickup" 0.0; - inherit: "default" 0.0; - color: 0 0 0 100; - visible: 1; - } - } - part { - name: WIDGET_DELETE_BUTTON; - type: IMAGE; - scale: 0; - description { - state: "default" 0.0; - rel1{relative: 0.055 0.055; to: SIZE_SETTER;} - rel2{relative: 0.388 0.388; to: SIZE_SETTER;} - color: 255 255 255 0; - visible: 0; - aspect: 1.0 1.0; - aspect_preference: BOTH; - image { - normal: "../res/images/btn_delete_nor.png"; - } - } - description { - state: "show" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - visible: 1; - } - description { - state: "press" 0.0; - inherit: "default" 0.0; - color: 255 255 255 255; - image { - normal: "../res/images/btn_delete_press.png"; - } - visible: 1; - } - } - } - programs { - program { - name: "delete_button_show_ani"; - signal: SIGNAL_DELETE_BUTTON_SHOW_ANI; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: WIDGET_DELETE_BUTTON; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program { - name: "delete_button_show"; - signal: SIGNAL_DELETE_BUTTON_SHOW; - source: SIGNAL_SOURCE; - action: STATE_SET "show" 0.0; - target: WIDGET_DELETE_BUTTON; - } - program { - name: "delete_button_hide_ani"; - signal: SIGNAL_DELETE_BUTTON_HIDE_ANI; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: WIDGET_DELETE_BUTTON; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program { - name: "delete_button_hide"; - signal: SIGNAL_DELETE_BUTTON_HIDE; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: WIDGET_DELETE_BUTTON; - } - program { - name: "delete_button_clicked"; - signal: "mouse,clicked,1"; - source: WIDGET_DELETE_BUTTON; - action: SIGNAL_EMIT SIGNAL_DELETE_BUTTON_CLICKED SIGNAL_SOURCE; - } - program { - name: "delete_button_mouse_down"; - signal: "mouse,down,1"; - source: WIDGET_DELETE_BUTTON; - action: STATE_SET "press" 0.0; - target: WIDGET_DELETE_BUTTON; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program { - name: "delete_button_mouse_up"; - signal: "mouse,up,1"; - source: WIDGET_DELETE_BUTTON; - action: STATE_SET "show" 0.0; - target: WIDGET_DELETE_BUTTON; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - program { - name: "touch,disable"; - signal: SIGNAL_CLUSTER_EDIT_STATE; - source: SIGNAL_SOURCE; - action: STATE_SET "edit" 0.0; - target: "touch,block"; - } - program { - name: "touch,enable"; - signal: SIGNAL_CLUSTER_NORMAL_STATE; - source: SIGNAL_SOURCE; - action: STATE_SET "default" 0.0; - target: "touch,block"; - } - program { - name: "pick,up,widget"; - signal: SIGNAL_CLUSTER_PICKUP_STATE; - source: SIGNAL_SOURCE; - action: STATE_SET "pickup" 0.0; - target: "touch,block"; - transition: DECELERATE ANIMATION_RESIZE_TIME; - } - } - } + group { name: GROUP_WIDGET_LY; + parts { + part { name: WIDGET_CONTENT; + type: SWALLOW; + mouse_events: 1; + repeat_events: 1; + description { + state: "default" 0.0; + rel1.relative: 0.0 0.0; + } + } + part { name: SIZE_SETTER; + type: SWALLOW; + mouse_events: 1; + repeat_events: 1; + description { + state: "default" 0.0; + color: 0 0 0 0; + align: 0 0; + visible: 0; + rel1.relative: 0.0 0.0; + rel2.relative: 0.01 0.01; + } + } + part { name: "touch,block"; + type: RECT; + mouse_events: 1; + repeat_events: 0; + description { + state: "default" 0.0; + color: 0 0 0 0; + visible: 0; + rel1{relative: 0.0 0.0; to: WIDGET_CONTENT;} + rel2{relative: 1.0 1.0; to: WIDGET_CONTENT;} + } + description { + state: "edit" 0.0; + inherit: "default" 0.0; + visible: 1; + } + description { + state: "pickup" 0.0; + inherit: "default" 0.0; + color: 0 0 0 100; + visible: 1; + } + } + part { + name: WIDGET_DELETE_BUTTON; + type: IMAGE; + scale: 0; + description { + state: "default" 0.0; + rel1{relative: 0.055 0.055; to: SIZE_SETTER;} + rel2{relative: 0.388 0.388; to: SIZE_SETTER;} + color: 255 255 255 0; + visible: 0; + aspect: 1.0 1.0; + aspect_preference: BOTH; + image { + normal: "../res/images/btn_delete_nor.png"; + } + } + description { + state: "show" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + visible: 1; + } + description { + state: "press" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + image { + normal: "../res/images/btn_delete_press.png"; + } + visible: 1; + } + } + } + programs { + program { + name: "delete_button_show_ani"; + signal: SIGNAL_DELETE_BUTTON_SHOW_ANI; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: WIDGET_DELETE_BUTTON; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "delete_button_show"; + signal: SIGNAL_DELETE_BUTTON_SHOW; + source: SIGNAL_SOURCE; + action: STATE_SET "show" 0.0; + target: WIDGET_DELETE_BUTTON; + } + program { + name: "delete_button_hide_ani"; + signal: SIGNAL_DELETE_BUTTON_HIDE_ANI; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: WIDGET_DELETE_BUTTON; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "delete_button_hide"; + signal: SIGNAL_DELETE_BUTTON_HIDE; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: WIDGET_DELETE_BUTTON; + } + program { + name: "delete_button_clicked"; + signal: "mouse,clicked,1"; + source: WIDGET_DELETE_BUTTON; + action: SIGNAL_EMIT SIGNAL_DELETE_BUTTON_CLICKED SIGNAL_SOURCE; + } + program { + name: "delete_button_mouse_down"; + signal: "mouse,down,1"; + source: WIDGET_DELETE_BUTTON; + action: STATE_SET "press" 0.0; + target: WIDGET_DELETE_BUTTON; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "delete_button_mouse_up"; + signal: "mouse,up,1"; + source: WIDGET_DELETE_BUTTON; + action: STATE_SET "show" 0.0; + target: WIDGET_DELETE_BUTTON; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + program { + name: "touch,disable"; + signal: SIGNAL_CLUSTER_EDIT_STATE; + source: SIGNAL_SOURCE; + action: STATE_SET "edit" 0.0; + target: "touch,block"; + } + program { + name: "touch,enable"; + signal: SIGNAL_CLUSTER_NORMAL_STATE; + source: SIGNAL_SOURCE; + action: STATE_SET "default" 0.0; + target: "touch,block"; + } + program { + name: "pick,up,widget"; + signal: SIGNAL_CLUSTER_PICKUP_STATE; + source: SIGNAL_SOURCE; + action: STATE_SET "pickup" 0.0; + target: "touch,block"; + transition: DECELERATE ANIMATION_RESIZE_TIME; + } + } + } } \ No newline at end of file diff --git a/src/add_widget_viewer/add_widget_data.c b/src/add_widget_viewer/add_widget_data.c index eaff0bf..61a6dc0 100755 --- a/src/add_widget_viewer/add_widget_data.c +++ b/src/add_widget_viewer/add_widget_data.c @@ -22,9 +22,9 @@ #include "util.h" static struct { - Eina_List *data_list; + Eina_List *data_list; } add_widget_data_s = { - .data_list = NULL + .data_list = NULL }; static void __add_widget_data_list_delete(void); @@ -34,129 +34,129 @@ static int __add_widget_data_widget_compare_cb(const void *data1, const void *da bool add_widget_data_init(void) { - int ret = 0; - ret = widget_service_get_widget_list(__add_widget_data_widget_list_cb, NULL); - if (ret < 0 || add_widget_data_s.data_list == NULL) { - LOGE("Can not create widget list, ret: %d", ret); - return false; - } - - return true; + int ret = 0; + ret = widget_service_get_widget_list(__add_widget_data_widget_list_cb, NULL); + if (ret < 0 || add_widget_data_s.data_list == NULL) { + LOGE("Can not create widget list, ret: %d", ret); + return false; + } + + return true; } void add_widget_data_fini(void) { - __add_widget_data_list_delete(); + __add_widget_data_list_delete(); } Eina_List *add_widget_data_get_widget_list(void) { - return add_widget_data_s.data_list; + return add_widget_data_s.data_list; } Eina_List *add_widget_data_get_widget_preview_list(add_widget_data_t *widget) { - return widget->preview_list; + return widget->preview_list; } static int __add_widget_data_widget_list_cb(const char *app_id, const char *widget_id, int is_prime, void *data) { - LOGD("App id: %s", app_id); - LOGD("Widget id: %s", widget_id); - - add_widget_data_t *widget = NULL; - add_widget_data_preview_t *widget_preview_type = NULL; - - int *type = NULL; - int types_count = 0; - int ret = WIDGET_ERROR_NONE; - - ret = widget_service_get_supported_size_types(widget_id, &types_count, &type); - if (ret != WIDGET_ERROR_NONE || types_count <= 0) { - LOGE("Can not get widgets supported size types"); - return WIDGET_ERROR_FAULT; - } - - widget = calloc(1, sizeof(add_widget_data_t)); - if (!widget) { - LOGE("Can not allocate memory for list item"); - return WIDGET_ERROR_FAULT; - } - - int i; - for (i = 0; i < types_count; ++i) { - widget_preview_type = calloc(1, sizeof(add_widget_data_preview_t)); - if (!widget_preview_type) { - LOGE("Can not allocate memory for list item preview type"); - __add_widget_data_list_delete(); - return WIDGET_ERROR_FAULT; - } - - widget_preview_type->path = widget_service_get_preview_image_path(widget_id, type[i]); - if (!widget_preview_type->path) { - free(widget_preview_type); - continue; - } - - widget_preview_type->type = type[i]; - - widget->size_types |= type[i]; - widget->preview_list = eina_list_append(widget->preview_list, widget_preview_type); - } - - widget->size_types_count = types_count; - widget->app_id = strdup(app_id); - widget->widget_id = strdup(widget_id); - widget->label = widget_service_get_name(widget->widget_id, NULL); - if (!widget->label || strlen(widget->label) == 0) - widget->label = strdup(widget_id); - - add_widget_data_s.data_list = eina_list_sorted_insert(add_widget_data_s.data_list, - __add_widget_data_widget_compare_cb, widget); - - free(type); - - return WIDGET_ERROR_NONE; + LOGD("App id: %s", app_id); + LOGD("Widget id: %s", widget_id); + + add_widget_data_t *widget = NULL; + add_widget_data_preview_t *widget_preview_type = NULL; + + int *type = NULL; + int types_count = 0; + int ret = WIDGET_ERROR_NONE; + + ret = widget_service_get_supported_size_types(widget_id, &types_count, &type); + if (ret != WIDGET_ERROR_NONE || types_count <= 0) { + LOGE("Can not get widgets supported size types"); + return WIDGET_ERROR_FAULT; + } + + widget = calloc(1, sizeof(add_widget_data_t)); + if (!widget) { + LOGE("Can not allocate memory for list item"); + return WIDGET_ERROR_FAULT; + } + + int i; + for (i = 0; i < types_count; ++i) { + widget_preview_type = calloc(1, sizeof(add_widget_data_preview_t)); + if (!widget_preview_type) { + LOGE("Can not allocate memory for list item preview type"); + __add_widget_data_list_delete(); + return WIDGET_ERROR_FAULT; + } + + widget_preview_type->path = widget_service_get_preview_image_path(widget_id, type[i]); + if (!widget_preview_type->path) { + free(widget_preview_type); + continue; + } + + widget_preview_type->type = type[i]; + + widget->size_types |= type[i]; + widget->preview_list = eina_list_append(widget->preview_list, widget_preview_type); + } + + widget->size_types_count = types_count; + widget->app_id = strdup(app_id); + widget->widget_id = strdup(widget_id); + widget->label = widget_service_get_name(widget->widget_id, NULL); + if (!widget->label || strlen(widget->label) == 0) + widget->label = strdup(widget_id); + + add_widget_data_s.data_list = eina_list_sorted_insert(add_widget_data_s.data_list, + __add_widget_data_widget_compare_cb, widget); + + free(type); + + return WIDGET_ERROR_NONE; } static int __add_widget_data_widget_compare_cb(const void *data1, const void *data2) { - int res = 0; - add_widget_data_t *w1 = (add_widget_data_t *)data1; - add_widget_data_t *w2 = (add_widget_data_t *)data2; + int res = 0; + add_widget_data_t *w1 = (add_widget_data_t *)data1; + add_widget_data_t *w2 = (add_widget_data_t *)data2; - res = strcmp(w1->label, w2->label); + res = strcmp(w1->label, w2->label); - if (res < 0) return -1; - if (res > 0) return 1; - return 0; + if (res < 0) return -1; + if (res > 0) return 1; + return 0; } static void __add_widget_data_list_delete(void) { - Eina_List *list; - add_widget_data_t *item; + Eina_List *list; + add_widget_data_t *item; - EINA_LIST_FOREACH(add_widget_data_s.data_list, list, item) - __add_widget_data_free(item); + EINA_LIST_FOREACH(add_widget_data_s.data_list, list, item) + __add_widget_data_free(item); - eina_list_free(add_widget_data_s.data_list); - add_widget_data_s.data_list = NULL; + eina_list_free(add_widget_data_s.data_list); + add_widget_data_s.data_list = NULL; } static void __add_widget_data_free(add_widget_data_t *item) { - Eina_List *list; - add_widget_data_preview_t *preview; - - EINA_LIST_FOREACH(item->preview_list, list, preview) { - free(preview->path); - free(preview); - } - - eina_list_free(item->preview_list); - free(item->app_id); - free(item->widget_id); - free(item->label); - free(item); + Eina_List *list; + add_widget_data_preview_t *preview; + + EINA_LIST_FOREACH(item->preview_list, list, preview) { + free(preview->path); + free(preview); + } + + eina_list_free(item->preview_list); + free(item->app_id); + free(item->widget_id); + free(item->label); + free(item); } diff --git a/src/add_widget_viewer/add_widget_viewer.c b/src/add_widget_viewer/add_widget_viewer.c index 9485c72..029a1ff 100755 --- a/src/add_widget_viewer/add_widget_viewer.c +++ b/src/add_widget_viewer/add_widget_viewer.c @@ -27,23 +27,23 @@ #include "edc_conf.h" static struct { - Evas_Object *win; - Evas_Object *conformant; - Evas_Object *layout; - Evas_Object *naviframe; - Evas_Object *genlist; - Elm_Theme *theme; - Elm_Object_Item *navi_item; - Evas_Object *index; + Evas_Object *win; + Evas_Object *conformant; + Evas_Object *layout; + Evas_Object *naviframe; + Evas_Object *genlist; + Elm_Theme *theme; + Elm_Object_Item *navi_item; + Evas_Object *index; } add_widget_viewer_s = { - .win = NULL, - .conformant = NULL, - .layout = NULL, - .naviframe = NULL, - .genlist = NULL, - .theme = NULL, - .navi_item = NULL, - .index = NULL + .win = NULL, + .conformant = NULL, + .layout = NULL, + .naviframe = NULL, + .genlist = NULL, + .theme = NULL, + .navi_item = NULL, + .index = NULL }; static void __add_widget_viewer_win_del_cb(void *data, Evas_Object* obj, void* event_info); @@ -66,517 +66,517 @@ static void __add_widget_viewer_item_realized_cb(void *data, Evas_Object *obj, v void add_widget_viewer_win_create(void) { - if (!add_widget_data_init()) { - LOGE("Can not create widget list"); - return ; - } + if (!add_widget_data_init()) { + LOGE("Can not create widget list"); + return ; + } - add_widget_viewer_s.win = elm_win_add(NULL, "add_viewer", ELM_WIN_BASIC); - if (!add_widget_viewer_s.win) { - LOGE("Failed to create a new window"); - return; - } + add_widget_viewer_s.win = elm_win_add(NULL, "add_viewer", ELM_WIN_BASIC); + if (!add_widget_viewer_s.win) { + LOGE("Failed to create a new window"); + return; + } - elm_win_alpha_set(add_widget_viewer_s.win, EINA_TRUE); - elm_win_autodel_set(add_widget_viewer_s.win, EINA_TRUE); - evas_object_smart_callback_add(add_widget_viewer_s.win, "delete,request", __add_widget_viewer_win_del_cb, NULL); + elm_win_alpha_set(add_widget_viewer_s.win, EINA_TRUE); + elm_win_autodel_set(add_widget_viewer_s.win, EINA_TRUE); + evas_object_smart_callback_add(add_widget_viewer_s.win, "delete,request", __add_widget_viewer_win_del_cb, NULL); - add_widget_viewer_s.theme = __add_widget_viewer_create_theme(); - add_widget_viewer_s.conformant = __add_widget_viewer_create_conformant(); - add_widget_viewer_s.layout = __add_widget_viewer_create_layout(); - add_widget_viewer_s.naviframe = __add_widget_viewer_create_naviframe(); + add_widget_viewer_s.theme = __add_widget_viewer_create_theme(); + add_widget_viewer_s.conformant = __add_widget_viewer_create_conformant(); + add_widget_viewer_s.layout = __add_widget_viewer_create_layout(); + add_widget_viewer_s.naviframe = __add_widget_viewer_create_naviframe(); - add_widget_viewer_s.navi_item = __add_widget_viewer_create_content(add_widget_viewer_s.naviframe, add_widget_viewer_s.genlist); + add_widget_viewer_s.navi_item = __add_widget_viewer_create_content(add_widget_viewer_s.naviframe, add_widget_viewer_s.genlist); - elm_object_signal_emit(add_widget_viewer_s.layout, "display,normal", "container"); + elm_object_signal_emit(add_widget_viewer_s.layout, "display,normal", "container"); - elm_win_indicator_mode_set(add_widget_viewer_s.win, ELM_WIN_INDICATOR_SHOW); - elm_win_indicator_opacity_set(add_widget_viewer_s.win, ELM_WIN_INDICATOR_OPAQUE); - elm_win_resize_object_add(add_widget_viewer_s.win, add_widget_viewer_s.conformant); - elm_win_conformant_set(add_widget_viewer_s.win, EINA_TRUE); - evas_object_resize(add_widget_viewer_s.win, WINDOW_W, WINDOW_H); + elm_win_indicator_mode_set(add_widget_viewer_s.win, ELM_WIN_INDICATOR_SHOW); + elm_win_indicator_opacity_set(add_widget_viewer_s.win, ELM_WIN_INDICATOR_OPAQUE); + elm_win_resize_object_add(add_widget_viewer_s.win, add_widget_viewer_s.conformant); + elm_win_conformant_set(add_widget_viewer_s.win, EINA_TRUE); + evas_object_resize(add_widget_viewer_s.win, WINDOW_W, WINDOW_H); - evas_object_show(add_widget_viewer_s.naviframe); - evas_object_show(add_widget_viewer_s.layout); - evas_object_show(add_widget_viewer_s.conformant); + evas_object_show(add_widget_viewer_s.naviframe); + evas_object_show(add_widget_viewer_s.layout); + evas_object_show(add_widget_viewer_s.conformant); - evas_object_show(add_widget_viewer_s.win); + evas_object_show(add_widget_viewer_s.win); } void add_widget_viewer_win_destroy(void) { - evas_object_del(add_widget_viewer_s.win); - add_widget_data_fini(); + evas_object_del(add_widget_viewer_s.win); + add_widget_data_fini(); } static void __add_widget_viewer_win_del_cb(void *data, Evas_Object* obj, void* event_info) { - evas_object_del(add_widget_viewer_s.win); + evas_object_del(add_widget_viewer_s.win); } static Elm_Theme *__add_widget_viewer_create_theme(void) { - Elm_Theme *theme = elm_theme_new(); - if (!theme) { - LOGE("Failed to create theme\n"); - return NULL; - } + Elm_Theme *theme = elm_theme_new(); + if (!theme) { + LOGE("Failed to create theme\n"); + return NULL; + } - elm_theme_ref_set(theme, NULL); - elm_theme_extension_add(theme, util_get_res_file_path(EDJE_DIR"/add_widget_viewer.edj")); + elm_theme_ref_set(theme, NULL); + elm_theme_extension_add(theme, util_get_res_file_path(EDJE_DIR"/add_widget_viewer.edj")); - return theme; + return theme; } static Evas_Object *__add_widget_viewer_create_conformant(void) { - Evas_Object *conformant; - Evas_Object *bg; - - conformant = elm_conformant_add(add_widget_viewer_s.win); - if (!conformant) { - LOGE("Failed to create a conformant\n"); - return NULL; - } - - evas_object_size_hint_weight_set(conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - - bg = elm_bg_add(conformant); - if (bg) { - elm_object_style_set(bg, "indicator/headerbg"); - elm_object_part_content_set(conformant, "elm.swallow.indicator_bg", bg); - evas_object_show(bg); - } else { - LOGE("Failed to create a BG object\n"); - } - - return conformant; + Evas_Object *conformant; + Evas_Object *bg; + + conformant = elm_conformant_add(add_widget_viewer_s.win); + if (!conformant) { + LOGE("Failed to create a conformant\n"); + return NULL; + } + + evas_object_size_hint_weight_set(conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + bg = elm_bg_add(conformant); + if (bg) { + elm_object_style_set(bg, "indicator/headerbg"); + elm_object_part_content_set(conformant, "elm.swallow.indicator_bg", bg); + evas_object_show(bg); + } else { + LOGE("Failed to create a BG object\n"); + } + + return conformant; } static Evas_Object *__add_widget_viewer_create_layout() { - Evas_Object *layout; - char edj_path[STR_PATH_LEN] = {0, }; + Evas_Object *layout; + char edj_path[STR_PATH_LEN] = {0, }; - if (!add_widget_viewer_s.conformant) { - return NULL; - } + if (!add_widget_viewer_s.conformant) { + return NULL; + } - layout = elm_layout_add(add_widget_viewer_s.conformant); - if (!layout) { - return NULL; - } + layout = elm_layout_add(add_widget_viewer_s.conformant); + if (!layout) { + return NULL; + } - snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/add_widget_viewer.edj")); - if (elm_layout_file_set(layout, edj_path, ADD_WIDGET_VIEWER_CONFORMANT_FRAME) != EINA_TRUE) { - evas_object_del(layout); - return NULL; - } + snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/add_widget_viewer.edj")); + if (elm_layout_file_set(layout, edj_path, ADD_WIDGET_VIEWER_CONFORMANT_FRAME) != EINA_TRUE) { + evas_object_del(layout); + return NULL; + } - elm_object_part_content_set(add_widget_viewer_s.conformant, "elm.swallow.content", layout); + elm_object_part_content_set(add_widget_viewer_s.conformant, "elm.swallow.content", layout); - return layout; + return layout; } static Evas_Object *__add_widget_viewer_create_naviframe() { - Evas_Object *naviframe; + Evas_Object *naviframe; - naviframe = elm_naviframe_add(add_widget_viewer_s.conformant); - if (!naviframe) { - return NULL; - } + naviframe = elm_naviframe_add(add_widget_viewer_s.conformant); + if (!naviframe) { + return NULL; + } - elm_naviframe_content_preserve_on_pop_set(naviframe, EINA_TRUE); - elm_object_part_content_set(add_widget_viewer_s.layout, "content", naviframe); + elm_naviframe_content_preserve_on_pop_set(naviframe, EINA_TRUE); + elm_object_part_content_set(add_widget_viewer_s.layout, "content", naviframe); - return naviframe; + return naviframe; } static Evas_Object *__add_widget_viewer_create_content(Evas_Object *naviframe, Evas_Object *genlist) { - Elm_Object_Item *item; - Evas_Object *content; - - content = elm_layout_add(naviframe); - if (!content) { - return NULL; - } - - if (elm_layout_file_set(content, util_get_res_file_path(EDJE_DIR"/add_widget_viewer.edj"), ADD_WIDGET_VIEWER_CONTENT_FRAME) != EINA_TRUE) { - LOGE("Can not set layout file"); - evas_object_del(content); - return NULL; - } - add_widget_viewer_s.index = __add_widget_viewer_create_index(content); - if (!add_widget_viewer_s.index) { - evas_object_del(content); - return NULL; - } - elm_object_part_content_set(content, "index", add_widget_viewer_s.index); - - genlist = __add_widget_viewer_create_list(content); - elm_object_part_content_set(content, "content", genlist); - - item = elm_naviframe_item_push(naviframe, _("IDS_HS_HEADER_ADD_WIDGET"), NULL, NULL, content, NULL); - elm_object_signal_emit(content, "display,normal", "container"); - elm_object_signal_emit(content, "display,index", "container"); - - if (!item) { - LOGD("Failed to push an item\n"); - return NULL; - } - - return content; + Elm_Object_Item *item; + Evas_Object *content; + + content = elm_layout_add(naviframe); + if (!content) { + return NULL; + } + + if (elm_layout_file_set(content, util_get_res_file_path(EDJE_DIR"/add_widget_viewer.edj"), ADD_WIDGET_VIEWER_CONTENT_FRAME) != EINA_TRUE) { + LOGE("Can not set layout file"); + evas_object_del(content); + return NULL; + } + add_widget_viewer_s.index = __add_widget_viewer_create_index(content); + if (!add_widget_viewer_s.index) { + evas_object_del(content); + return NULL; + } + elm_object_part_content_set(content, "index", add_widget_viewer_s.index); + + genlist = __add_widget_viewer_create_list(content); + elm_object_part_content_set(content, "content", genlist); + + item = elm_naviframe_item_push(naviframe, _("IDS_HS_HEADER_ADD_WIDGET"), NULL, NULL, content, NULL); + elm_object_signal_emit(content, "display,normal", "container"); + elm_object_signal_emit(content, "display,index", "container"); + + if (!item) { + LOGD("Failed to push an item\n"); + return NULL; + } + + return content; } static Evas_Object *__add_widget_viewer_create_index(Evas_Object *layout) { - Evas_Object *index; - const char *idx_str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; - char ch[2] = {0, }; + Evas_Object *index; + const char *idx_str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + char ch[2] = {0, }; - index = elm_index_add(layout); - elm_index_autohide_disabled_set(index, EINA_TRUE); - elm_index_omit_enabled_set(index, EINA_TRUE); - elm_index_item_append(index, "#", NULL, NULL); + index = elm_index_add(layout); + elm_index_autohide_disabled_set(index, EINA_TRUE); + elm_index_omit_enabled_set(index, EINA_TRUE); + elm_index_item_append(index, "#", NULL, NULL); - int i; - for (i = 0; i < strlen(idx_str); ++i) { - ch[0] = idx_str[i]; - ch[1] = '\0'; - elm_index_item_append(index, ch, __add_widget_viewer_index_cb, &ch[0]); - } + int i; + for (i = 0; i < strlen(idx_str); ++i) { + ch[0] = idx_str[i]; + ch[1] = '\0'; + elm_index_item_append(index, ch, __add_widget_viewer_index_cb, &ch[0]); + } - elm_index_level_go(index, 0); + elm_index_level_go(index, 0); - return index; + return index; } static void __add_widget_viewer_index_cb(void *data, Evas_Object *obj, void *event_info) { - char *idx_str = (char *)data; - Eina_List *widget_list = NULL; - add_widget_data_t *widget = NULL; + char *idx_str = (char *)data; + Eina_List *widget_list = NULL; + add_widget_data_t *widget = NULL; - widget_list = add_widget_data_get_widget_list(); - if (!widget_list) { - LOGE("Can not get widget list"); - return; - } + widget_list = add_widget_data_get_widget_list(); + if (!widget_list) { + LOGE("Can not get widget list"); + return; + } - widget = eina_list_search_unsorted(widget_list, __add_widget_viewer_compare_index_cb, idx_str); - if (!widget) { - LOGE("Can not find widget"); - return; - } + widget = eina_list_search_unsorted(widget_list, __add_widget_viewer_compare_index_cb, idx_str); + if (!widget) { + LOGE("Can not find widget"); + return; + } - elm_genlist_item_bring_in(widget->genlist_item, ELM_GENLIST_ITEM_SCROLLTO_TOP); + elm_genlist_item_bring_in(widget->genlist_item, ELM_GENLIST_ITEM_SCROLLTO_TOP); } static int __add_widget_viewer_compare_index_cb(const void *data1, const void *data2) { - add_widget_data_t *w = (add_widget_data_t *)data1; - char *idx_str = (char *)data2; + add_widget_data_t *w = (add_widget_data_t *)data1; + char *idx_str = (char *)data2; - char c1 = 0; - char c2 = 0; + char c1 = 0; + char c2 = 0; - c1 = tolower(idx_str[0]); - c2 = tolower(w->widget_id[0]); + c1 = tolower(idx_str[0]); + c2 = tolower(w->widget_id[0]); - LOGD("Compare: %c == %c in %s, %s", c1, c2, idx_str, w->widget_id); + LOGD("Compare: %c == %c in %s, %s", c1, c2, idx_str, w->widget_id); - if (c1 < c2) return -1; - if (c1 > c2) return 1; - return 0; + if (c1 < c2) return -1; + if (c1 > c2) return 1; + return 0; } static Evas_Object *__add_widget_viewer_create_list(Evas_Object *content) { - Elm_Genlist_Item_Class *itc_widget; - Evas_Object *genlist = NULL; - Elm_Object_Item *widget_gl_item = NULL; - Eina_List *widget_list = NULL, *l = NULL; - add_widget_data_t *widget = NULL; - - genlist = elm_genlist_add(content); - if (!genlist) { - LOGE("Failed to create a genlist\n"); - return NULL; - } - - elm_scroller_bounce_set(genlist, EINA_FALSE, EINA_TRUE); - elm_scroller_policy_set(genlist, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); - elm_genlist_select_mode_set(genlist, ELM_OBJECT_SELECT_MODE_NONE); - - if (add_widget_viewer_s.theme) - elm_object_theme_set(genlist, add_widget_viewer_s.theme); - - itc_widget = elm_genlist_item_class_new(); - itc_widget->item_style = "widget,leaf"; - itc_widget->func.text_get = __add_widget_viewer_list_text_get_cb; - itc_widget->func.content_get = __add_widget_viewer_list_content_get_cb; - - widget_list = add_widget_data_get_widget_list(); - if (!widget_list) { - LOGE("Can not get widget list"); - return NULL; - } - - LOGD("Widget list length: %d", eina_list_count(widget_list)); - EINA_LIST_FOREACH(widget_list, l, widget) { - LOGD("Genlist append %s", widget->app_id); - widget_gl_item = elm_genlist_item_append(genlist, itc_widget, widget, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); - widget->genlist_item = widget_gl_item; - } - - evas_object_smart_callback_add(genlist, "realized", __add_widget_viewer_item_realized_cb, NULL); - - elm_genlist_item_class_free(itc_widget); - - return genlist; + Elm_Genlist_Item_Class *itc_widget; + Evas_Object *genlist = NULL; + Elm_Object_Item *widget_gl_item = NULL; + Eina_List *widget_list = NULL, *l = NULL; + add_widget_data_t *widget = NULL; + + genlist = elm_genlist_add(content); + if (!genlist) { + LOGE("Failed to create a genlist\n"); + return NULL; + } + + elm_scroller_bounce_set(genlist, EINA_FALSE, EINA_TRUE); + elm_scroller_policy_set(genlist, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); + elm_genlist_select_mode_set(genlist, ELM_OBJECT_SELECT_MODE_NONE); + + if (add_widget_viewer_s.theme) + elm_object_theme_set(genlist, add_widget_viewer_s.theme); + + itc_widget = elm_genlist_item_class_new(); + itc_widget->item_style = "widget,leaf"; + itc_widget->func.text_get = __add_widget_viewer_list_text_get_cb; + itc_widget->func.content_get = __add_widget_viewer_list_content_get_cb; + + widget_list = add_widget_data_get_widget_list(); + if (!widget_list) { + LOGE("Can not get widget list"); + return NULL; + } + + LOGD("Widget list length: %d", eina_list_count(widget_list)); + EINA_LIST_FOREACH(widget_list, l, widget) { + LOGD("Genlist append %s", widget->app_id); + widget_gl_item = elm_genlist_item_append(genlist, itc_widget, widget, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL); + widget->genlist_item = widget_gl_item; + } + + evas_object_smart_callback_add(genlist, "realized", __add_widget_viewer_item_realized_cb, NULL); + + elm_genlist_item_class_free(itc_widget); + + return genlist; } static void __add_widget_viewer_item_realized_cb(void *data, Evas_Object *obj, void *event_info) { - LOGD("item realized_cb"); + LOGD("item realized_cb"); - char ch[2] = {0, }; - Elm_Object_Item *item = event_info; - Elm_Index_Item *index_item = NULL; - add_widget_data_t *widget = NULL; + char ch[2] = {0, }; + Elm_Object_Item *item = event_info; + Elm_Index_Item *index_item = NULL; + add_widget_data_t *widget = NULL; - widget = (add_widget_data_t *)elm_object_item_data_get(item); + widget = (add_widget_data_t *)elm_object_item_data_get(item); - LOGD("item data: %s", widget->widget_id); - ch[0] = widget->widget_id[0]; + LOGD("item data: %s", widget->widget_id); + ch[0] = widget->widget_id[0]; - if (strlen(ch) == 0) { - LOGE("Can not get first char of widget name"); - return; - } + if (strlen(ch) == 0) { + LOGE("Can not get first char of widget name"); + return; + } - index_item = elm_index_item_find(add_widget_viewer_s.index, ch); - if (!index_item) { - LOGE("Can not set selected index item"); - return ; - } + index_item = elm_index_item_find(add_widget_viewer_s.index, ch); + if (!index_item) { + LOGE("Can not set selected index item"); + return ; + } - elm_index_item_selected_set(index_item, EINA_TRUE); + elm_index_item_selected_set(index_item, EINA_TRUE); } static char *__add_widget_viewer_list_text_get_cb(void *data, Evas_Object *obj, const char *part) { - add_widget_data_t *widget = data; + add_widget_data_t *widget = data; - if (!widget || !part) - return NULL; + if (!widget || !part) + return NULL; - if (!strcmp(part, "elm.text")) { - char style_string[STR_MAX] = {0, }; - snprintf(style_string, sizeof(style_string), "%s", (int)CLUSTER_ADDVIEWER_TEXT_SIZE, widget->label); - return strdup(style_string); - } + if (!strcmp(part, "elm.text")) { + char style_string[STR_MAX] = {0, }; + snprintf(style_string, sizeof(style_string), "%s", (int)CLUSTER_ADDVIEWER_TEXT_SIZE, widget->label); + return strdup(style_string); + } - return strdup("widget name not found"); + return strdup("widget name not found"); } static Evas_Object *__add_widget_viewer_list_content_get_cb(void *data, Evas_Object *obj, const char *part) { - LOGD("Part: %s", part); - - Evas_Object *main_box = NULL; - add_widget_data_t *widget = data; - - if (!widget || !part) - return NULL; - - if (!strcmp(part, SIZE_SETTER)) { - Evas_Object *rect = NULL; - rect = evas_object_rectangle_add(evas_object_evas_get(obj)); - if (!rect) { - LOGE("Can not create preview box"); - return NULL; - } - evas_object_color_set(rect, 255, 255, 255, 0); - evas_object_size_hint_min_set(rect, ALLPAGE_PREVIEW_LIST_ITEM_W, ALLPAGE_PREVIEW_LIST_ITEM_H); - evas_object_size_hint_max_set(rect, ALLPAGE_PREVIEW_LIST_ITEM_W, ALLPAGE_PREVIEW_LIST_ITEM_H); - evas_object_show(rect); - return rect; - } else if (!strcmp(part, "elm.icon")) { - main_box = __add_widget_viewer_list_widget_box_create(obj, widget); - if (!main_box) { - LOGE("Can not create preview box"); - return NULL; - } - } - - return main_box; + LOGD("Part: %s", part); + + Evas_Object *main_box = NULL; + add_widget_data_t *widget = data; + + if (!widget || !part) + return NULL; + + if (!strcmp(part, SIZE_SETTER)) { + Evas_Object *rect = NULL; + rect = evas_object_rectangle_add(evas_object_evas_get(obj)); + if (!rect) { + LOGE("Can not create preview box"); + return NULL; + } + evas_object_color_set(rect, 255, 255, 255, 0); + evas_object_size_hint_min_set(rect, ALLPAGE_PREVIEW_LIST_ITEM_W, ALLPAGE_PREVIEW_LIST_ITEM_H); + evas_object_size_hint_max_set(rect, ALLPAGE_PREVIEW_LIST_ITEM_W, ALLPAGE_PREVIEW_LIST_ITEM_H); + evas_object_show(rect); + return rect; + } else if (!strcmp(part, "elm.icon")) { + main_box = __add_widget_viewer_list_widget_box_create(obj, widget); + if (!main_box) { + LOGE("Can not create preview box"); + return NULL; + } + } + + return main_box; } static Evas_Object *__add_widget_viewer_list_widget_box_create(Evas_Object *obj, add_widget_data_t *widget) { - LOGD("Create box for %s", widget->widget_id); - - Evas_Object *box = NULL; - Evas_Object *preview_layout = NULL; - Eina_List *l; - Eina_List *children; - add_widget_data_preview_t *preview; - - box = elm_box_add(obj); - if (!box) { - LOGE("Can not create preview box"); - return NULL; - } - - elm_box_align_set(box, 0.0, 0.0); - elm_box_horizontal_set(box, EINA_TRUE); - elm_box_homogeneous_set(box, EINA_FALSE); - elm_box_padding_set(box, ALLPAGE_PREVIEW_PADDING_MID, 0); - evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - - EINA_LIST_FOREACH(widget->preview_list, l, preview) { - preview_layout = __add_widget_viewer_list_widget_preview_box_create(box, widget, preview); - if (!preview_layout) { - LOGE("Can not create preview layout"); - continue; - } - evas_object_show(preview_layout); - - switch (preview->type) { - case WIDGET_SIZE_TYPE_4x4: - case WIDGET_SIZE_TYPE_4x2: - evas_object_size_hint_align_set(preview_layout, 0.0, 0.0); - elm_box_pack_end(box, preview_layout); - break; - default: - LOGE("Unsupported size\n"); - break; - return NULL; - } - } - - children = elm_box_children_get(box); - if (eina_list_count(children) == 0) { - evas_object_del(box); - LOGE("Preview is not exists"); - box = NULL; - } else { - evas_object_show(box); - } - - eina_list_free(children); - - return box; + LOGD("Create box for %s", widget->widget_id); + + Evas_Object *box = NULL; + Evas_Object *preview_layout = NULL; + Eina_List *l; + Eina_List *children; + add_widget_data_preview_t *preview; + + box = elm_box_add(obj); + if (!box) { + LOGE("Can not create preview box"); + return NULL; + } + + elm_box_align_set(box, 0.0, 0.0); + elm_box_horizontal_set(box, EINA_TRUE); + elm_box_homogeneous_set(box, EINA_FALSE); + elm_box_padding_set(box, ALLPAGE_PREVIEW_PADDING_MID, 0); + evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + EINA_LIST_FOREACH(widget->preview_list, l, preview) { + preview_layout = __add_widget_viewer_list_widget_preview_box_create(box, widget, preview); + if (!preview_layout) { + LOGE("Can not create preview layout"); + continue; + } + evas_object_show(preview_layout); + + switch (preview->type) { + case WIDGET_SIZE_TYPE_4x4: + case WIDGET_SIZE_TYPE_4x2: + evas_object_size_hint_align_set(preview_layout, 0.0, 0.0); + elm_box_pack_end(box, preview_layout); + break; + default: + LOGE("Unsupported size\n"); + break; + return NULL; + } + } + + children = elm_box_children_get(box); + if (eina_list_count(children) == 0) { + evas_object_del(box); + LOGE("Preview is not exists"); + box = NULL; + } else { + evas_object_show(box); + } + + eina_list_free(children); + + return box; } static Evas_Object *__add_widget_viewer_list_widget_preview_box_create(Evas_Object *main_box, add_widget_data_t *widget, add_widget_data_preview_t *preview) { - LOGD("Create preview: type->%d path->%s", preview->type, preview->path); - - Evas_Object *preview_layout = NULL; - Evas_Object *preview_img = NULL; - int w = 0, h = 0; - int ret = 0; - - if (!preview || !preview->path || !preview->type) { - LOGE("Path to preview image is empty"); - return NULL; - } - - preview_layout = elm_layout_add(main_box); - if (!preview_layout) { - LOGE("Can not create preview layout"); - return NULL; - } - - ret = elm_layout_file_set(preview_layout, util_get_res_file_path(EDJE_DIR"/add_widget_viewer.edj"), ADD_WIDGET_VIEWER_PREVIEW); - if (ret != EINA_TRUE) { - LOGE("Can not set preview layout"); - evas_object_del(preview_layout); - return NULL; - } - - switch (preview->type) { - case WIDGET_SIZE_TYPE_4x2: - w = ALLPAGE_PREVIEW_4X2_W; - h = ALLPAGE_PREVIEW_4X2_H; - break; - case WIDGET_SIZE_TYPE_4x4: - w = ALLPAGE_PREVIEW_4X4_W; - h = ALLPAGE_PREVIEW_4X4_H; - break; - default: - return NULL; - } - - Evas_Object *rect = NULL; - rect = evas_object_rectangle_add(evas_object_evas_get(preview_layout)); - if (!rect) { - LOGE("Can not create preview layout"); - return NULL; - } - evas_object_color_set(rect, 255, 255, 255, 0); - evas_object_size_hint_min_set(rect, w, h); - evas_object_size_hint_max_set(rect, w, h); - elm_object_part_content_set(preview_layout, SIZE_SETTER, rect); - - int *preview_type = calloc(1, sizeof(int)); - if (!preview_type) { - LOGE("Can not allocate memory for additional data"); - evas_object_del(preview_layout); - return NULL; - } - *preview_type = preview->type; - - preview_img = evas_object_image_filled_add(evas_object_evas_get(preview_layout)); - if (!preview_img) { - LOGE("Can not create image object"); - evas_object_del(preview_layout); - return NULL; - } - - evas_object_data_set(preview_layout, "preview_type", preview_type); - - elm_object_signal_callback_add(preview_layout, SIGNAL_PREVIEW_CLICKED, SIGNAL_SOURCE, __add_widget_viewer_preview_clicked_cb, widget); - - evas_object_image_file_set(preview_img, preview->path, NULL); - evas_object_image_size_get(preview_img, &w, &h); - evas_object_image_fill_set(preview_img, 0, 0, w, h); - - elm_object_part_content_set(preview_layout, ADD_WIDGET_VIEWER_PREVIEW_ICON, preview_img); - - return preview_layout; + LOGD("Create preview: type->%d path->%s", preview->type, preview->path); + + Evas_Object *preview_layout = NULL; + Evas_Object *preview_img = NULL; + int w = 0, h = 0; + int ret = 0; + + if (!preview || !preview->path || !preview->type) { + LOGE("Path to preview image is empty"); + return NULL; + } + + preview_layout = elm_layout_add(main_box); + if (!preview_layout) { + LOGE("Can not create preview layout"); + return NULL; + } + + ret = elm_layout_file_set(preview_layout, util_get_res_file_path(EDJE_DIR"/add_widget_viewer.edj"), ADD_WIDGET_VIEWER_PREVIEW); + if (ret != EINA_TRUE) { + LOGE("Can not set preview layout"); + evas_object_del(preview_layout); + return NULL; + } + + switch (preview->type) { + case WIDGET_SIZE_TYPE_4x2: + w = ALLPAGE_PREVIEW_4X2_W; + h = ALLPAGE_PREVIEW_4X2_H; + break; + case WIDGET_SIZE_TYPE_4x4: + w = ALLPAGE_PREVIEW_4X4_W; + h = ALLPAGE_PREVIEW_4X4_H; + break; + default: + return NULL; + } + + Evas_Object *rect = NULL; + rect = evas_object_rectangle_add(evas_object_evas_get(preview_layout)); + if (!rect) { + LOGE("Can not create preview layout"); + return NULL; + } + evas_object_color_set(rect, 255, 255, 255, 0); + evas_object_size_hint_min_set(rect, w, h); + evas_object_size_hint_max_set(rect, w, h); + elm_object_part_content_set(preview_layout, SIZE_SETTER, rect); + + int *preview_type = calloc(1, sizeof(int)); + if (!preview_type) { + LOGE("Can not allocate memory for additional data"); + evas_object_del(preview_layout); + return NULL; + } + *preview_type = preview->type; + + preview_img = evas_object_image_filled_add(evas_object_evas_get(preview_layout)); + if (!preview_img) { + LOGE("Can not create image object"); + evas_object_del(preview_layout); + return NULL; + } + + evas_object_data_set(preview_layout, "preview_type", preview_type); + + elm_object_signal_callback_add(preview_layout, SIGNAL_PREVIEW_CLICKED, SIGNAL_SOURCE, __add_widget_viewer_preview_clicked_cb, widget); + + evas_object_image_file_set(preview_img, preview->path, NULL); + evas_object_image_size_get(preview_img, &w, &h); + evas_object_image_fill_set(preview_img, 0, 0, w, h); + + elm_object_part_content_set(preview_layout, ADD_WIDGET_VIEWER_PREVIEW_ICON, preview_img); + + return preview_layout; } static void __add_widget_viewer_preview_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) { - LOGD("Preview clicked"); + LOGD("Preview clicked"); - add_widget_data_t *widget = NULL; - int *size = NULL; + add_widget_data_t *widget = NULL; + int *size = NULL; - size = evas_object_data_del(obj, "preview_type"); - if (*size == WIDGET_SIZE_TYPE_UNKNOWN) { - LOGE("Can not get widgets size type"); - return; - } + size = evas_object_data_del(obj, "preview_type"); + if (*size == WIDGET_SIZE_TYPE_UNKNOWN) { + LOGE("Can not get widgets size type"); + return; + } - widget = (add_widget_data_t *)data; - if (!widget) { - LOGE("Can not get widget"); - return; - } + widget = (add_widget_data_t *)data; + if (!widget) { + LOGE("Can not get widget"); + return; + } - int type = *size; - free(size); - char *widget_id = strdup(widget->widget_id); + int type = *size; + free(size); + char *widget_id = strdup(widget->widget_id); - cluster_view_set_state(VIEW_STATE_NORMAL); + cluster_view_set_state(VIEW_STATE_NORMAL); - cluster_data_insert_widget(widget_id, widget_id, type); - free(widget_id); + cluster_data_insert_widget(widget_id, widget_id, type); + free(widget_id); } diff --git a/src/apps_data.c b/src/apps_data.c index 9d0f82c..a6b6cc0 100755 --- a/src/apps_data.c +++ b/src/apps_data.c @@ -24,9 +24,9 @@ #include "conf.h" static struct { - Eina_List *data_list; + Eina_List *data_list; } apps_data_s = { - .data_list = NULL + .data_list = NULL }; static void __apps_data_print(Eina_List *list); @@ -34,362 +34,362 @@ static int __apps_data_sort_cb(const void *a , const void *b); static void __apps_data_item_free(app_data_t *item); app_data_t *__apps_data_find_item(int db_id); static int __apps_data_shortcut_request_cb(const char *pkgname, - const char *name, int type, const char *content_info, const char *icon, - int pid, double period, int allow_duplicate, void *data); + const char *name, int type, const char *content_info, const char *icon, + int pid, double period, int allow_duplicate, void *data); void apps_data_init(void *data, Ecore_Thread *th) { - Eina_List *pkg_list = NULL, *db_list = NULL; - Eina_List *pkg_find_list, *db_find_list; - app_data_t *pkg_item = NULL, *db_item = NULL; - apps_package_manager_init(); - apps_package_manger_get_list(&pkg_list); - - if (!apps_db_create()) { - apps_db_get_app_list(&db_list); - } - - EINA_LIST_FOREACH(pkg_list, pkg_find_list, pkg_item) { - EINA_LIST_FOREACH(db_list, db_find_list, db_item) { - if (!strcmp(pkg_item->app_id, db_item->app_id) && !strcmp(pkg_item->owner, db_item->owner)) { - pkg_item->db_id = db_item->db_id; - pkg_item->parent_db_id = db_item->parent_db_id; - db_item->temp = true; - break; - } - } - apps_data_s.data_list = eina_list_append(apps_data_s.data_list, pkg_item); - } - - EINA_LIST_FOREACH(db_list, db_find_list, db_item) { - if (!db_item->temp) { - apps_db_delete_by_app_id(db_item->app_id); - apps_view_delete_icon(db_item); - __apps_data_item_free(db_item); - } - } - db_list = eina_list_free(db_list); - - apps_db_get_list(&db_list); - EINA_LIST_FOREACH(db_list, db_find_list, db_item) { - if (db_item->is_folder || db_item->type >= APPS_DATA_TYPE_APP_SHORTCUT) { - apps_data_s.data_list = eina_list_append(apps_data_s.data_list, db_item); - } - } - eina_list_free(db_list); - eina_list_free(pkg_list); - - apps_data_sort(); - - EINA_LIST_FOREACH(apps_data_s.data_list, pkg_find_list, pkg_item) { - if (pkg_item->db_id == INIT_VALUE) - apps_db_insert(pkg_item); - else - apps_db_update(pkg_item); - } - __apps_data_print(apps_data_s.data_list); - - int ret = shortcut_set_request_cb(__apps_data_shortcut_request_cb, NULL); - if (ret != SHORTCUT_ERROR_NONE) - LOGE("Failed to add shortcut request cb: 0x%X\n", ret); + Eina_List *pkg_list = NULL, *db_list = NULL; + Eina_List *pkg_find_list, *db_find_list; + app_data_t *pkg_item = NULL, *db_item = NULL; + apps_package_manager_init(); + apps_package_manger_get_list(&pkg_list); + + if (!apps_db_create()) { + apps_db_get_app_list(&db_list); + } + + EINA_LIST_FOREACH(pkg_list, pkg_find_list, pkg_item) { + EINA_LIST_FOREACH(db_list, db_find_list, db_item) { + if (!strcmp(pkg_item->app_id, db_item->app_id) && !strcmp(pkg_item->owner, db_item->owner)) { + pkg_item->db_id = db_item->db_id; + pkg_item->parent_db_id = db_item->parent_db_id; + db_item->temp = true; + break; + } + } + apps_data_s.data_list = eina_list_append(apps_data_s.data_list, pkg_item); + } + + EINA_LIST_FOREACH(db_list, db_find_list, db_item) { + if (!db_item->temp) { + apps_db_delete_by_app_id(db_item->app_id); + apps_view_delete_icon(db_item); + __apps_data_item_free(db_item); + } + } + db_list = eina_list_free(db_list); + + apps_db_get_list(&db_list); + EINA_LIST_FOREACH(db_list, db_find_list, db_item) { + if (db_item->is_folder || db_item->type >= APPS_DATA_TYPE_APP_SHORTCUT) { + apps_data_s.data_list = eina_list_append(apps_data_s.data_list, db_item); + } + } + eina_list_free(db_list); + eina_list_free(pkg_list); + + apps_data_sort(); + + EINA_LIST_FOREACH(apps_data_s.data_list, pkg_find_list, pkg_item) { + if (pkg_item->db_id == INIT_VALUE) + apps_db_insert(pkg_item); + else + apps_db_update(pkg_item); + } + __apps_data_print(apps_data_s.data_list); + + int ret = shortcut_set_request_cb(__apps_data_shortcut_request_cb, NULL); + if (ret != SHORTCUT_ERROR_NONE) + LOGE("Failed to add shortcut request cb: 0x%X\n", ret); } void apps_data_sort(void) { - int index = 0; - int parent_id = APPS_ROOT; - app_data_t *item = NULL; - Eina_List *find_list; - - if (apps_data_s.data_list) { - apps_data_s.data_list = eina_list_sort(apps_data_s.data_list, eina_list_count(apps_data_s.data_list), __apps_data_sort_cb); - } - EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { - if (item->parent_db_id == parent_id) { - item->position = index++; - } else { - parent_id = item->parent_db_id; - index = 0; - item->position = index++; - } - } + int index = 0; + int parent_id = APPS_ROOT; + app_data_t *item = NULL; + Eina_List *find_list; + + if (apps_data_s.data_list) { + apps_data_s.data_list = eina_list_sort(apps_data_s.data_list, eina_list_count(apps_data_s.data_list), __apps_data_sort_cb); + } + EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { + if (item->parent_db_id == parent_id) { + item->position = index++; + } else { + parent_id = item->parent_db_id; + index = 0; + item->position = index++; + } + } } static int __apps_data_sort_cb(const void *a , const void *b) { - int i; - app_data_t *item1 = (app_data_t *)a; - app_data_t *item2 = (app_data_t *)b; - if (item1->parent_db_id < item2->parent_db_id) - return -1; - else if (item1->parent_db_id > item2->parent_db_id) - return 1; - - if (item1->label_str == NULL && item2->label_str == NULL) - return 1; - else if (item1->label_str == NULL) - return -1; - else if (item2->label_str == NULL) - return 1; - - for (i = 0; item1->label_str[i]; i++) { - if (tolower(item1->label_str[i]) != tolower(item2->label_str[i])) { - int ret = tolower(item1->label_str[i]) - tolower(item2->label_str[i]); - return ret; - } - } - - return item2->label_str[i] ? -1 : (item2->db_id - item1->db_id); + int i; + app_data_t *item1 = (app_data_t *)a; + app_data_t *item2 = (app_data_t *)b; + if (item1->parent_db_id < item2->parent_db_id) + return -1; + else if (item1->parent_db_id > item2->parent_db_id) + return 1; + + if (item1->label_str == NULL && item2->label_str == NULL) + return 1; + else if (item1->label_str == NULL) + return -1; + else if (item2->label_str == NULL) + return 1; + + for (i = 0; item1->label_str[i]; i++) { + if (tolower(item1->label_str[i]) != tolower(item2->label_str[i])) { + int ret = tolower(item1->label_str[i]) - tolower(item2->label_str[i]); + return ret; + } + } + + return item2->label_str[i] ? -1 : (item2->db_id - item1->db_id); } Eina_List *apps_data_get_list(void) { - return apps_data_s.data_list; + return apps_data_s.data_list; } void apps_data_get_folder_item_list(Eina_List **list, app_data_t *folder) { - app_data_t *item = NULL; - Eina_List *find_list; - - EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { - if (item->parent_db_id == folder->db_id) { - *list = eina_list_append(*list , item); - } - } + app_data_t *item = NULL; + Eina_List *find_list; + + EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { + if (item->parent_db_id == folder->db_id) { + *list = eina_list_append(*list , item); + } + } } void apps_data_install(app_data_t *item) { - apps_data_s.data_list = eina_list_append(apps_data_s.data_list, item); - apps_db_insert(item); - apps_data_sort(); - apps_view_icon_add(item); - apps_view_reorder(); + apps_data_s.data_list = eina_list_append(apps_data_s.data_list, item); + apps_db_insert(item); + apps_data_sort(); + apps_view_icon_add(item); + apps_view_reorder(); } void apps_data_uninstall(const char *package) { - Eina_List *find_list; - Eina_List *find_result = NULL; - app_data_t *item = NULL; - - EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { - if (item->pkg_id && (strcmp(item->pkg_id, package) == 0) && - item->owner && (strcmp(item->owner, TEMP_OWNER) == 0)) { - find_result = eina_list_append(find_result, item); - } - } - apps_data_delete_list(find_result); + Eina_List *find_list; + Eina_List *find_result = NULL; + app_data_t *item = NULL; + + EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { + if (item->pkg_id && (strcmp(item->pkg_id, package) == 0) && + item->owner && (strcmp(item->owner, TEMP_OWNER) == 0)) { + find_result = eina_list_append(find_result, item); + } + } + apps_data_delete_list(find_result); } app_data_t *apps_data_add_folder(void) { - app_data_t *new_item = (app_data_t *)malloc(sizeof(app_data_t)); - memset(new_item, 0, sizeof(app_data_t)); + app_data_t *new_item = (app_data_t *)malloc(sizeof(app_data_t)); + memset(new_item, 0, sizeof(app_data_t)); - new_item->db_id = INIT_VALUE; - new_item->parent_db_id = APPS_ROOT; - new_item->owner = strdup(TEMP_OWNER); - new_item->position = INIT_VALUE; - new_item->label_str = strdup(""); - new_item->type = APPS_DATA_TYPE_APP; + new_item->db_id = INIT_VALUE; + new_item->parent_db_id = APPS_ROOT; + new_item->owner = strdup(TEMP_OWNER); + new_item->position = INIT_VALUE; + new_item->label_str = strdup(""); + new_item->type = APPS_DATA_TYPE_APP; - new_item->is_checked = false; - new_item->is_folder = true; - new_item->is_removable = true; - new_item->is_system = false; + new_item->is_checked = false; + new_item->is_folder = true; + new_item->is_removable = true; + new_item->is_system = false; - apps_data_s.data_list = eina_list_append(apps_data_s.data_list, new_item); + apps_data_s.data_list = eina_list_append(apps_data_s.data_list, new_item); - apps_db_insert(new_item); - apps_view_icon_add(new_item); - apps_data_sort(); - apps_view_reorder(); + apps_db_insert(new_item); + apps_view_icon_add(new_item); + apps_data_sort(); + apps_view_reorder(); - return new_item; + return new_item; } void apps_data_delete_folder(app_data_t *folder_item) { - app_data_t *item = NULL; - Eina_List *find_list; - EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { - if (item->parent_db_id == folder_item->db_id) { - item->parent_db_id = APPS_ROOT; - apps_db_update(item); - apps_view_icon_add(item); - } - } - apps_data_s.data_list = eina_list_remove(apps_data_s.data_list, folder_item); - apps_db_delete(folder_item); - apps_data_sort(); - apps_view_reorder(); - apps_view_delete_icon(folder_item); - __apps_data_item_free(folder_item); + app_data_t *item = NULL; + Eina_List *find_list; + EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { + if (item->parent_db_id == folder_item->db_id) { + item->parent_db_id = APPS_ROOT; + apps_db_update(item); + apps_view_icon_add(item); + } + } + apps_data_s.data_list = eina_list_remove(apps_data_s.data_list, folder_item); + apps_db_delete(folder_item); + apps_data_sort(); + apps_view_reorder(); + apps_view_delete_icon(folder_item); + __apps_data_item_free(folder_item); } void apps_data_update_folder(app_data_t *folder_item) { - apps_db_update(folder_item); - apps_data_sort(); - apps_view_reorder(); + apps_db_update(folder_item); + apps_data_sort(); + apps_view_reorder(); } static int __apps_data_shortcut_request_cb(const char *package_name, - const char *name, int type, const char *content_info, const char *icon, - int pid, double period, int allow_duplicate, void *data) + const char *name, int type, const char *content_info, const char *icon, + int pid, double period, int allow_duplicate, void *data) { - LOGD("package_name: %s", package_name); - LOGD("name: %s", name); - LOGD("type: %d", type); - LOGD("content_info: %s", content_info); - LOGD("icon: %s", icon); - LOGD("pid: %d", pid); - LOGD("period: %.2lf", period); - LOGD("allow_duplicate: %d", allow_duplicate); - - app_data_t *new_item = (app_data_t *)malloc(sizeof(app_data_t)); - memset(new_item, 0, sizeof(app_data_t)); - - new_item->db_id = INIT_VALUE; - new_item->parent_db_id = APPS_ROOT; - new_item->owner = strdup(TEMP_OWNER); - new_item->position = INIT_VALUE; - new_item->label_str = strdup(name); - new_item->app_id = strdup(package_name); - - char* pkg_id = NULL; - int ret = package_manager_get_package_id_by_app_id(package_name, &pkg_id); - if (ret != PACKAGE_MANAGER_ERROR_NONE) { - new_item->pkg_id = strdup(package_name); - LOGE("Failed to get package ID, %s, [%d] %s", package_name, ret, get_error_message(ret)); - } else { - new_item->pkg_id = pkg_id; - } - if (type == LAUNCH_BY_URI) { - new_item->uri = strdup(content_info); - new_item->type = APPS_DATA_TYPE_URI_SHORTCUT; - } else { - new_item->type = APPS_DATA_TYPE_APP_SHORTCUT; - } - new_item->icon_path_str = strdup(icon); - - new_item->is_checked = false; - new_item->is_folder = false; - new_item->is_removable = true; - new_item->is_system = false; - - apps_data_s.data_list = eina_list_append(apps_data_s.data_list, new_item); - - apps_db_insert(new_item); - apps_view_icon_add(new_item); - apps_data_sort(); - apps_view_reorder(); - - return 0; + LOGD("package_name: %s", package_name); + LOGD("name: %s", name); + LOGD("type: %d", type); + LOGD("content_info: %s", content_info); + LOGD("icon: %s", icon); + LOGD("pid: %d", pid); + LOGD("period: %.2lf", period); + LOGD("allow_duplicate: %d", allow_duplicate); + + app_data_t *new_item = (app_data_t *)malloc(sizeof(app_data_t)); + memset(new_item, 0, sizeof(app_data_t)); + + new_item->db_id = INIT_VALUE; + new_item->parent_db_id = APPS_ROOT; + new_item->owner = strdup(TEMP_OWNER); + new_item->position = INIT_VALUE; + new_item->label_str = strdup(name); + new_item->app_id = strdup(package_name); + + char* pkg_id = NULL; + int ret = package_manager_get_package_id_by_app_id(package_name, &pkg_id); + if (ret != PACKAGE_MANAGER_ERROR_NONE) { + new_item->pkg_id = strdup(package_name); + LOGE("Failed to get package ID, %s, [%d] %s", package_name, ret, get_error_message(ret)); + } else { + new_item->pkg_id = pkg_id; + } + if (type == LAUNCH_BY_URI) { + new_item->uri = strdup(content_info); + new_item->type = APPS_DATA_TYPE_URI_SHORTCUT; + } else { + new_item->type = APPS_DATA_TYPE_APP_SHORTCUT; + } + new_item->icon_path_str = strdup(icon); + + new_item->is_checked = false; + new_item->is_folder = false; + new_item->is_removable = true; + new_item->is_system = false; + + apps_data_s.data_list = eina_list_append(apps_data_s.data_list, new_item); + + apps_db_insert(new_item); + apps_view_icon_add(new_item); + apps_data_sort(); + apps_view_reorder(); + + return 0; } void apps_data_delete_item(app_data_t *item) { - apps_data_s.data_list = eina_list_remove(apps_data_s.data_list, item); - apps_db_delete(item); - apps_data_sort(); - apps_view_reorder(); - apps_view_folder_reroder(); - if (item->parent_db_id != APPS_ROOT) { - app_data_t *parent = __apps_data_find_item(item->parent_db_id); - if (parent) - apps_view_update_folder_icon(parent); - } - apps_view_delete_icon(item); - __apps_data_item_free(item); + apps_data_s.data_list = eina_list_remove(apps_data_s.data_list, item); + apps_db_delete(item); + apps_data_sort(); + apps_view_reorder(); + apps_view_folder_reroder(); + if (item->parent_db_id != APPS_ROOT) { + app_data_t *parent = __apps_data_find_item(item->parent_db_id); + if (parent) + apps_view_update_folder_icon(parent); + } + apps_view_delete_icon(item); + __apps_data_item_free(item); } void apps_data_delete_list(Eina_List *list) { - app_data_t *item = NULL; - Eina_List *find_list; - EINA_LIST_FOREACH(list, find_list, item) { - apps_data_s.data_list = eina_list_remove(apps_data_s.data_list, item); - apps_db_delete(item); - } - - apps_data_sort(); - apps_view_reorder(); - apps_view_folder_reroder(); - - EINA_LIST_FOREACH(list, find_list, item) { - if (item->parent_db_id != APPS_ROOT) { - app_data_t *parent = __apps_data_find_item(item->parent_db_id); - if (parent) - apps_view_update_folder_icon(parent); - } - apps_view_delete_icon(item); - __apps_data_item_free(item); - } + app_data_t *item = NULL; + Eina_List *find_list; + EINA_LIST_FOREACH(list, find_list, item) { + apps_data_s.data_list = eina_list_remove(apps_data_s.data_list, item); + apps_db_delete(item); + } + + apps_data_sort(); + apps_view_reorder(); + apps_view_folder_reroder(); + + EINA_LIST_FOREACH(list, find_list, item) { + if (item->parent_db_id != APPS_ROOT) { + app_data_t *parent = __apps_data_find_item(item->parent_db_id); + if (parent) + apps_view_update_folder_icon(parent); + } + apps_view_delete_icon(item); + __apps_data_item_free(item); + } } app_data_t *apps_data_find_item_by_index(int index) { - app_data_t *item = NULL; - Eina_List *find_list; - EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { - if (item->position == index && item->parent_db_id == APPS_ROOT) - return item; - } - return NULL; + app_data_t *item = NULL; + Eina_List *find_list; + EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { + if (item->position == index && item->parent_db_id == APPS_ROOT) + return item; + } + return NULL; } app_data_t *__apps_data_find_item(int db_id) { - app_data_t *item = NULL; - Eina_List *find_list; - EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { - if (item->db_id == db_id) - return item; - } - return NULL; + app_data_t *item = NULL; + Eina_List *find_list; + EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { + if (item->db_id == db_id) + return item; + } + return NULL; } static void __apps_data_item_free(app_data_t *item) { - if (item && item->label_str) - free(item->label_str); - if (item && item->icon_path_str) - free(item->icon_path_str); - if (item && item->app_id) - free(item->app_id); - if (item && item->pkg_id) - free(item->pkg_id); - if (item && item->owner) - free(item->owner); - if (item && item->uri) - free(item->uri); - if (item) - free(item); + if (item && item->label_str) + free(item->label_str); + if (item && item->icon_path_str) + free(item->icon_path_str); + if (item && item->app_id) + free(item->app_id); + if (item && item->pkg_id) + free(item->pkg_id); + if (item && item->owner) + free(item->owner); + if (item && item->uri) + free(item->uri); + if (item) + free(item); } static void __apps_data_print(Eina_List *list) { - app_data_t *item = NULL; - Eina_List *find_list; - LOGD("========================================"); - EINA_LIST_FOREACH(list, find_list, item) { - if (item != NULL) - LOGD("%d [app: %s][pkg: %s][name:%s][iconPath: %s][icon:%p]", item->position, item->app_id, item->pkg_id, item->label_str, item->icon_path_str, item->app_layout); - } - LOGD("========================================"); + app_data_t *item = NULL; + Eina_List *find_list; + LOGD("========================================"); + EINA_LIST_FOREACH(list, find_list, item) { + if (item != NULL) + LOGD("%d [app: %s][pkg: %s][name:%s][iconPath: %s][icon:%p]", item->position, item->app_id, item->pkg_id, item->label_str, item->icon_path_str, item->app_layout); + } + LOGD("========================================"); } int apps_data_get_folder_item_count(app_data_t *folder) { - int cnt = 0; - app_data_t *item = NULL; - Eina_List *find_list; - EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { - if (item->parent_db_id == folder->db_id) - cnt += 1; - } - return cnt; + int cnt = 0; + app_data_t *item = NULL; + Eina_List *find_list; + EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { + if (item->parent_db_id == folder->db_id) + cnt += 1; + } + return cnt; } diff --git a/src/apps_db.c b/src/apps_db.c index 85576f8..1e69fa7 100755 --- a/src/apps_db.c +++ b/src/apps_db.c @@ -23,68 +23,68 @@ #define APPS_DB_NAME ".apps-data.db" -#define QUERY_MAXLEN 4096 +#define QUERY_MAXLEN 4096 static sqlite3 *apps_db = NULL; enum { - COL_ID = 0, - COL_PARENT_ID, - COL_OWNER, - COL_IS_FOLDER, - COL_POSITION, - COL_APPLICATION_ID, - COL_PACKAGE_ID, - COL_LABEL, - COL_URI, - COL_TYPE, - COL_IS_SYSTEM, - COL_IS_REMOVABLE, - COL_ICON_PATH + COL_ID = 0, + COL_PARENT_ID, + COL_OWNER, + COL_IS_FOLDER, + COL_POSITION, + COL_APPLICATION_ID, + COL_PACKAGE_ID, + COL_LABEL, + COL_URI, + COL_TYPE, + COL_IS_SYSTEM, + COL_IS_REMOVABLE, + COL_ICON_PATH }; #define CREATE_APPS_DB_TABLE "create table if not exists apps(\ - id INTEGER PRIMARY KEY AUTOINCREMENT,\ - parentId INTEGER,\ - owner TEXT,\ - isFolder INTEGER,\ - position INTEGER,\ - appId TEXT,\ - pkgId TEXT,\ - label TEXT,\ - uri TEXT,\ - type INTEGER,\ - isSystem INTEGER,\ - isRemovable INTEGER,\ - iconPath TEXT);" + id INTEGER PRIMARY KEY AUTOINCREMENT,\ + parentId INTEGER,\ + owner TEXT,\ + isFolder INTEGER,\ + position INTEGER,\ + appId TEXT,\ + pkgId TEXT,\ + label TEXT,\ + uri TEXT,\ + type INTEGER,\ + isSystem INTEGER,\ + isRemovable INTEGER,\ + iconPath TEXT);" #define UPDATE_APPS_DB_TABLE "UPDATE apps set \ - parentId=%d,\ - owner='%s',\ - isFolder=%d,\ - position=%d,\ - appId='%s',\ - pkgId='%s',\ - label='%s',\ - uri='%s',\ - type=%d,\ - isSystem=%d,\ - isRemovable=%d,\ - iconPath='%s' WHERE id = %d" + parentId=%d,\ + owner='%s',\ + isFolder=%d,\ + position=%d,\ + appId='%s',\ + pkgId='%s',\ + label='%s',\ + uri='%s',\ + type=%d,\ + isSystem=%d,\ + isRemovable=%d,\ + iconPath='%s' WHERE id = %d" #define INSERT_APPS_DB_TABLE "INSERT into apps (\ - parentId,\ - owner,\ - isFolder,\ - position,\ - appId,\ - pkgId,\ - label,\ - uri,\ - type,\ - isSystem,\ - isRemovable,\ - iconPath) VALUES(%d,'%s',%d,%d,'%s','%s','%s','%s',%d,%d,%d,'%s')" + parentId,\ + owner,\ + isFolder,\ + position,\ + appId,\ + pkgId,\ + label,\ + uri,\ + type,\ + isSystem,\ + isRemovable,\ + iconPath) VALUES(%d,'%s',%d,%d,'%s','%s','%s','%s',%d,%d,%d,'%s')" #define SELECT_ITEM "SELECT * FROM apps;" #define SELECT_APP_ITEM "SELECT * FROM apps WHERE type=0 AND isFolder=0;" @@ -93,270 +93,270 @@ static bool __apps_db_open(void); bool apps_db_create(void) { - char *errMsg; - int ret; - const char *db_path = util_get_data_file_path(APPS_DB_NAME); - FILE *fp = fopen(db_path, "r"); - if (fp) { - fclose(fp); - LOGE("Apps DB[%s] exist", db_path); - return false; - } - - ret = sqlite3_open(db_path, &apps_db); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%d] : path [%s]", ret, db_path); - return false; - } - - ret = sqlite3_exec(apps_db, "PRAGMA journal_mode = PERSIST", - NULL, NULL, &errMsg); - if (ret != SQLITE_OK) { - LOGE("SQL error(%d) : %s", ret, errMsg); - sqlite3_free(errMsg); - return false; - } - - ret = sqlite3_exec(apps_db, CREATE_APPS_DB_TABLE, NULL, NULL, &errMsg); - if (ret != SQLITE_OK) { - LOGE("SQL error(%d) : %s", ret, errMsg); - sqlite3_free(errMsg); - return false; - } - LOGD("Create DB[%s] : [%s] OK ", db_path, CREATE_APPS_DB_TABLE); - return true; + char *errMsg; + int ret; + const char *db_path = util_get_data_file_path(APPS_DB_NAME); + FILE *fp = fopen(db_path, "r"); + if (fp) { + fclose(fp); + LOGE("Apps DB[%s] exist", db_path); + return false; + } + + ret = sqlite3_open(db_path, &apps_db); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%d] : path [%s]", ret, db_path); + return false; + } + + ret = sqlite3_exec(apps_db, "PRAGMA journal_mode = PERSIST", + NULL, NULL, &errMsg); + if (ret != SQLITE_OK) { + LOGE("SQL error(%d) : %s", ret, errMsg); + sqlite3_free(errMsg); + return false; + } + + ret = sqlite3_exec(apps_db, CREATE_APPS_DB_TABLE, NULL, NULL, &errMsg); + if (ret != SQLITE_OK) { + LOGE("SQL error(%d) : %s", ret, errMsg); + sqlite3_free(errMsg); + return false; + } + LOGD("Create DB[%s] : [%s] OK ", db_path, CREATE_APPS_DB_TABLE); + return true; } bool apps_db_close() { - if (apps_db) { - sqlite3_exec(apps_db, "COMMIT TRANSACTION", NULL, NULL, NULL); - sqlite3_close(apps_db); - apps_db = NULL; - } - return true; + if (apps_db) { + sqlite3_exec(apps_db, "COMMIT TRANSACTION", NULL, NULL, NULL); + sqlite3_close(apps_db); + apps_db = NULL; + } + return true; } bool apps_db_get_list(Eina_List **apps) { - sqlite3_stmt *stmt; - - if (!__apps_db_open()) - return false; - - int ret = sqlite3_prepare_v2(apps_db, SELECT_ITEM, strlen(SELECT_ITEM), &stmt, NULL); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%s,%s]", SELECT_ITEM, sqlite3_errmsg(apps_db)); - return false; - } - - const char *str = NULL; - while (sqlite3_step(stmt) == SQLITE_ROW) { - app_data_t *item = (app_data_t *)malloc(sizeof(app_data_t)); - memset(item, 0, sizeof(app_data_t)); - - item->db_id = sqlite3_column_int(stmt, COL_ID); - item->parent_db_id = sqlite3_column_int(stmt, COL_PARENT_ID); - str = (const char *) sqlite3_column_text(stmt, COL_OWNER); - item->owner = (!str || !strlen(str)) ? NULL : strdup(str); - item->is_folder = sqlite3_column_int(stmt, COL_IS_FOLDER); - item->position = sqlite3_column_int(stmt, COL_POSITION); - str = (const char *) sqlite3_column_text(stmt, COL_APPLICATION_ID); - item->app_id = (!str || !strlen(str)) ? NULL : strdup(str); - str = (const char *) sqlite3_column_text(stmt, COL_PACKAGE_ID); - item->pkg_id = (!str || !strlen(str)) ? NULL : strdup(str); - str = (const char *) sqlite3_column_text(stmt, COL_LABEL); - item->label_str = (!str) ? NULL : strdup(str); - str = (const char *) sqlite3_column_text(stmt, COL_URI); - item->uri = (!str || !strlen(str)) ? NULL : strdup(str); - item->type = sqlite3_column_int(stmt, COL_TYPE); - item->is_system = sqlite3_column_int(stmt, COL_IS_SYSTEM); - item->is_removable = sqlite3_column_int(stmt, COL_IS_REMOVABLE); - str = (const char *)sqlite3_column_text(stmt, COL_ICON_PATH); - item->icon_path_str = (!str || !strlen(str)) ? NULL : strdup(str); - *apps = eina_list_append(*apps, item); - } - sqlite3_finalize(stmt); - return true; + sqlite3_stmt *stmt; + + if (!__apps_db_open()) + return false; + + int ret = sqlite3_prepare_v2(apps_db, SELECT_ITEM, strlen(SELECT_ITEM), &stmt, NULL); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%s,%s]", SELECT_ITEM, sqlite3_errmsg(apps_db)); + return false; + } + + const char *str = NULL; + while (sqlite3_step(stmt) == SQLITE_ROW) { + app_data_t *item = (app_data_t *)malloc(sizeof(app_data_t)); + memset(item, 0, sizeof(app_data_t)); + + item->db_id = sqlite3_column_int(stmt, COL_ID); + item->parent_db_id = sqlite3_column_int(stmt, COL_PARENT_ID); + str = (const char *) sqlite3_column_text(stmt, COL_OWNER); + item->owner = (!str || !strlen(str)) ? NULL : strdup(str); + item->is_folder = sqlite3_column_int(stmt, COL_IS_FOLDER); + item->position = sqlite3_column_int(stmt, COL_POSITION); + str = (const char *) sqlite3_column_text(stmt, COL_APPLICATION_ID); + item->app_id = (!str || !strlen(str)) ? NULL : strdup(str); + str = (const char *) sqlite3_column_text(stmt, COL_PACKAGE_ID); + item->pkg_id = (!str || !strlen(str)) ? NULL : strdup(str); + str = (const char *) sqlite3_column_text(stmt, COL_LABEL); + item->label_str = (!str) ? NULL : strdup(str); + str = (const char *) sqlite3_column_text(stmt, COL_URI); + item->uri = (!str || !strlen(str)) ? NULL : strdup(str); + item->type = sqlite3_column_int(stmt, COL_TYPE); + item->is_system = sqlite3_column_int(stmt, COL_IS_SYSTEM); + item->is_removable = sqlite3_column_int(stmt, COL_IS_REMOVABLE); + str = (const char *)sqlite3_column_text(stmt, COL_ICON_PATH); + item->icon_path_str = (!str || !strlen(str)) ? NULL : strdup(str); + *apps = eina_list_append(*apps, item); + } + sqlite3_finalize(stmt); + return true; } bool apps_db_get_app_list(Eina_List **apps) { - sqlite3_stmt *stmt; - - if (!__apps_db_open()) - return false; - - int ret = sqlite3_prepare_v2(apps_db, SELECT_APP_ITEM, strlen(SELECT_APP_ITEM), &stmt, NULL); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%s,%s]", SELECT_APP_ITEM, sqlite3_errmsg(apps_db)); - return false; - } - - const char *str = NULL; - while (sqlite3_step(stmt) == SQLITE_ROW) { - app_data_t *item = (app_data_t *)malloc(sizeof(app_data_t)); - memset(item, 0, sizeof(app_data_t)); - - item->db_id = sqlite3_column_int(stmt, COL_ID); - item->parent_db_id = sqlite3_column_int(stmt, COL_PARENT_ID); - str = (const char *) sqlite3_column_text(stmt, COL_OWNER); - item->owner = (!str || !strlen(str)) ? NULL : strdup(str); - item->is_folder = sqlite3_column_int(stmt, COL_IS_FOLDER); - item->position = sqlite3_column_int(stmt, COL_POSITION); - str = (const char *) sqlite3_column_text(stmt, COL_APPLICATION_ID); - item->app_id = (!str || !strlen(str)) ? NULL : strdup(str); - str = (const char *) sqlite3_column_text(stmt, COL_PACKAGE_ID); - item->pkg_id = (!str || !strlen(str)) ? NULL : strdup(str); - str = (const char *) sqlite3_column_text(stmt, COL_LABEL); - item->label_str = (!str || !strlen(str)) ? NULL : strdup(str); - str = (const char *) sqlite3_column_text(stmt, COL_URI); - item->uri = (!str || !strlen(str)) ? NULL : strdup(str); - item->type = sqlite3_column_int(stmt, COL_TYPE); - item->is_system = sqlite3_column_int(stmt, COL_IS_SYSTEM); - item->is_removable = sqlite3_column_int(stmt, COL_IS_REMOVABLE); - str = (const char *)sqlite3_column_text(stmt, COL_ICON_PATH); - item->icon_path_str = (!str || !strlen(str)) ? NULL : strdup(str); - *apps = eina_list_append(*apps, item); - } - sqlite3_finalize(stmt); - return true; + sqlite3_stmt *stmt; + + if (!__apps_db_open()) + return false; + + int ret = sqlite3_prepare_v2(apps_db, SELECT_APP_ITEM, strlen(SELECT_APP_ITEM), &stmt, NULL); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%s,%s]", SELECT_APP_ITEM, sqlite3_errmsg(apps_db)); + return false; + } + + const char *str = NULL; + while (sqlite3_step(stmt) == SQLITE_ROW) { + app_data_t *item = (app_data_t *)malloc(sizeof(app_data_t)); + memset(item, 0, sizeof(app_data_t)); + + item->db_id = sqlite3_column_int(stmt, COL_ID); + item->parent_db_id = sqlite3_column_int(stmt, COL_PARENT_ID); + str = (const char *) sqlite3_column_text(stmt, COL_OWNER); + item->owner = (!str || !strlen(str)) ? NULL : strdup(str); + item->is_folder = sqlite3_column_int(stmt, COL_IS_FOLDER); + item->position = sqlite3_column_int(stmt, COL_POSITION); + str = (const char *) sqlite3_column_text(stmt, COL_APPLICATION_ID); + item->app_id = (!str || !strlen(str)) ? NULL : strdup(str); + str = (const char *) sqlite3_column_text(stmt, COL_PACKAGE_ID); + item->pkg_id = (!str || !strlen(str)) ? NULL : strdup(str); + str = (const char *) sqlite3_column_text(stmt, COL_LABEL); + item->label_str = (!str || !strlen(str)) ? NULL : strdup(str); + str = (const char *) sqlite3_column_text(stmt, COL_URI); + item->uri = (!str || !strlen(str)) ? NULL : strdup(str); + item->type = sqlite3_column_int(stmt, COL_TYPE); + item->is_system = sqlite3_column_int(stmt, COL_IS_SYSTEM); + item->is_removable = sqlite3_column_int(stmt, COL_IS_REMOVABLE); + str = (const char *)sqlite3_column_text(stmt, COL_ICON_PATH); + item->icon_path_str = (!str || !strlen(str)) ? NULL : strdup(str); + *apps = eina_list_append(*apps, item); + } + sqlite3_finalize(stmt); + return true; } bool apps_db_update(app_data_t *item) { - char query[QUERY_MAXLEN]; - sqlite3_stmt *stmt; - if (!__apps_db_open()) - return false; - snprintf(query, QUERY_MAXLEN, UPDATE_APPS_DB_TABLE, - item->parent_db_id, - item->owner, - item->is_folder, - item->position, - item->app_id, - item->pkg_id, - item->label_str, - item->uri, - item->type, - item->is_system, - item->is_removable, - item->icon_path_str, - item->db_id); - int ret = sqlite3_prepare(apps_db, query, QUERY_MAXLEN , &stmt, NULL); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(apps_db)); - return false; - } - sqlite3_step(stmt); - sqlite3_finalize(stmt); - apps_db_close(); - return true; + char query[QUERY_MAXLEN]; + sqlite3_stmt *stmt; + if (!__apps_db_open()) + return false; + snprintf(query, QUERY_MAXLEN, UPDATE_APPS_DB_TABLE, + item->parent_db_id, + item->owner, + item->is_folder, + item->position, + item->app_id, + item->pkg_id, + item->label_str, + item->uri, + item->type, + item->is_system, + item->is_removable, + item->icon_path_str, + item->db_id); + int ret = sqlite3_prepare(apps_db, query, QUERY_MAXLEN , &stmt, NULL); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(apps_db)); + return false; + } + sqlite3_step(stmt); + sqlite3_finalize(stmt); + apps_db_close(); + return true; } bool apps_db_insert(app_data_t *item) { - char query[QUERY_MAXLEN]; - sqlite3_stmt *stmt; - if (!__apps_db_open()) - return false; - - snprintf(query, QUERY_MAXLEN, INSERT_APPS_DB_TABLE, - item->parent_db_id, - item->owner, - item->is_folder, - item->position, - item->app_id, - item->pkg_id, - item->label_str, - item->uri, - item->type, - item->is_system, - item->is_removable, - item->icon_path_str); - - int ret = sqlite3_prepare(apps_db, query, QUERY_MAXLEN , &stmt, NULL); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(apps_db)); - return false; - } - sqlite3_step(stmt); - sqlite3_finalize(stmt); - item->db_id = (int)sqlite3_last_insert_rowid(apps_db); - - apps_db_close(); - return true; + char query[QUERY_MAXLEN]; + sqlite3_stmt *stmt; + if (!__apps_db_open()) + return false; + + snprintf(query, QUERY_MAXLEN, INSERT_APPS_DB_TABLE, + item->parent_db_id, + item->owner, + item->is_folder, + item->position, + item->app_id, + item->pkg_id, + item->label_str, + item->uri, + item->type, + item->is_system, + item->is_removable, + item->icon_path_str); + + int ret = sqlite3_prepare(apps_db, query, QUERY_MAXLEN , &stmt, NULL); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(apps_db)); + return false; + } + sqlite3_step(stmt); + sqlite3_finalize(stmt); + item->db_id = (int)sqlite3_last_insert_rowid(apps_db); + + apps_db_close(); + return true; } bool apps_db_delete(app_data_t *item) { - char query[QUERY_MAXLEN]; - sqlite3_stmt *stmt; - if (!__apps_db_open()) - return false; - snprintf(query, QUERY_MAXLEN, "DELETE FROM apps WHERE id=%d", item->db_id); - int ret = sqlite3_prepare(apps_db, query, QUERY_MAXLEN , &stmt, NULL); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(apps_db)); - return false; - } - - sqlite3_step(stmt); - sqlite3_finalize(stmt); - - apps_db_close(); - return true; + char query[QUERY_MAXLEN]; + sqlite3_stmt *stmt; + if (!__apps_db_open()) + return false; + snprintf(query, QUERY_MAXLEN, "DELETE FROM apps WHERE id=%d", item->db_id); + int ret = sqlite3_prepare(apps_db, query, QUERY_MAXLEN , &stmt, NULL); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(apps_db)); + return false; + } + + sqlite3_step(stmt); + sqlite3_finalize(stmt); + + apps_db_close(); + return true; } bool apps_db_delete_by_app_id(const char* app_id) { - char query[QUERY_MAXLEN]; - sqlite3_stmt *stmt; - if (!__apps_db_open()) - return false; - snprintf(query, QUERY_MAXLEN, "DELETE FROM apps WHERE appId='%s'", app_id); - int ret = sqlite3_prepare(apps_db, query, QUERY_MAXLEN , &stmt, NULL); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(apps_db)); - return false; - } - - sqlite3_step(stmt); - sqlite3_finalize(stmt); - - apps_db_close(); - return true; + char query[QUERY_MAXLEN]; + sqlite3_stmt *stmt; + if (!__apps_db_open()) + return false; + snprintf(query, QUERY_MAXLEN, "DELETE FROM apps WHERE appId='%s'", app_id); + int ret = sqlite3_prepare(apps_db, query, QUERY_MAXLEN , &stmt, NULL); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(apps_db)); + return false; + } + + sqlite3_step(stmt); + sqlite3_finalize(stmt); + + apps_db_close(); + return true; } bool apps_db_delete_by_pkg_id(const char* pkg_id) { - char query[QUERY_MAXLEN]; - sqlite3_stmt *stmt; - if (!__apps_db_open()) - return false; - snprintf(query, QUERY_MAXLEN, "DELETE FROM apps WHERE pkgId='%s'", pkg_id); - int ret = sqlite3_prepare(apps_db, query, QUERY_MAXLEN , &stmt, NULL); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(apps_db)); - return false; - } - - sqlite3_step(stmt); - sqlite3_finalize(stmt); - - apps_db_close(); - return true; + char query[QUERY_MAXLEN]; + sqlite3_stmt *stmt; + if (!__apps_db_open()) + return false; + snprintf(query, QUERY_MAXLEN, "DELETE FROM apps WHERE pkgId='%s'", pkg_id); + int ret = sqlite3_prepare(apps_db, query, QUERY_MAXLEN , &stmt, NULL); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(apps_db)); + return false; + } + + sqlite3_step(stmt); + sqlite3_finalize(stmt); + + apps_db_close(); + return true; } bool __apps_db_open() { - if (!apps_db) { - int ret; - ret = sqlite3_open(util_get_data_file_path(APPS_DB_NAME), &apps_db); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%d] : path [%s]", ret, util_get_data_file_path(APPS_DB_NAME)); - return false; - } - } - return true; + if (!apps_db) { + int ret; + ret = sqlite3_open(util_get_data_file_path(APPS_DB_NAME), &apps_db); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%d] : path [%s]", ret, util_get_data_file_path(APPS_DB_NAME)); + return false; + } + } + return true; } diff --git a/src/apps_package_manager.c b/src/apps_package_manager.c index cd3a5bf..0fdbc5b 100755 --- a/src/apps_package_manager.c +++ b/src/apps_package_manager.c @@ -22,8 +22,8 @@ static package_manager_h pkg_mgr = NULL; static void __apps_package_manager_event_cb(const char *type, const char *package, - package_manager_event_type_e event_type, package_manager_event_state_e event_state, int progress, - package_manager_error_e error, void *user_data); + package_manager_event_type_e event_type, package_manager_event_state_e event_state, int progress, + package_manager_error_e error, void *user_data); static bool __apps_data_pkg_get_apps_info(app_info_h app_handle, app_data_t **item); static bool __apps_package_manager_get_item(app_info_h app_handle, void *data); static void __apps_package_manager_install(const char *package); @@ -31,174 +31,174 @@ static void __apps_package_manager_uninstall(const char *package); void apps_package_manager_init() { - int ret; - if (pkg_mgr != NULL) - return; - - ret = package_manager_create(&pkg_mgr); - if (ret != PACKAGE_MANAGER_ERROR_NONE) { - LOGE("package_manager_create : failed[%d]", ret); - } - - ret = package_manager_set_event_status(pkg_mgr, PACKAGE_MANAGER_STATUS_TYPE_INSTALL|PACKAGE_MANAGER_STATUS_TYPE_UNINSTALL); - if (ret != PACKAGE_MANAGER_ERROR_NONE) { - LOGE("package_manager_set_event_status : failed[%d]", ret); - } - - ret = package_manager_set_event_cb(pkg_mgr, __apps_package_manager_event_cb, NULL); - if (ret != PACKAGE_MANAGER_ERROR_NONE) { - LOGE("package_manager_set_event_cb : failed[%d]", ret); - } + int ret; + if (pkg_mgr != NULL) + return; + + ret = package_manager_create(&pkg_mgr); + if (ret != PACKAGE_MANAGER_ERROR_NONE) { + LOGE("package_manager_create : failed[%d]", ret); + } + + ret = package_manager_set_event_status(pkg_mgr, PACKAGE_MANAGER_STATUS_TYPE_INSTALL|PACKAGE_MANAGER_STATUS_TYPE_UNINSTALL); + if (ret != PACKAGE_MANAGER_ERROR_NONE) { + LOGE("package_manager_set_event_status : failed[%d]", ret); + } + + ret = package_manager_set_event_cb(pkg_mgr, __apps_package_manager_event_cb, NULL); + if (ret != PACKAGE_MANAGER_ERROR_NONE) { + LOGE("package_manager_set_event_cb : failed[%d]", ret); + } } static void __apps_package_manager_event_cb(const char *type, const char *package, - package_manager_event_type_e event_type, package_manager_event_state_e event_state, int progress, - package_manager_error_e error, void *user_data) + package_manager_event_type_e event_type, package_manager_event_state_e event_state, int progress, + package_manager_error_e error, void *user_data) { - if (event_state == PACKAGE_MANAGER_EVENT_STATE_STARTED) { - LOGI("pkg:%s type:%d state:PACKAGE_MANAGER_EVENT_STATE_STARTED", package, event_type); - } else if (event_state == PACKAGE_MANAGER_EVENT_STATE_PROCESSING) { - LOGI("pkg:%s type:%d PACKAGE_MANAGER_EVENT_STATE_PROCESSING", package, event_type); - } else if (event_state == PACKAGE_MANAGER_EVENT_STATE_COMPLETED) { - LOGI("pkg:%s type:%d PACKAGE_MANAGER_EVENT_STATE_COMPLETED", package, event_type); - if (event_type == PACKAGE_MANAGER_EVENT_TYPE_INSTALL) { - __apps_package_manager_install(package); - } else if (event_type == PACKAGE_MANAGER_EVENT_TYPE_UNINSTALL) { - __apps_package_manager_uninstall(package); - } else { //PACKAGE_MANAGER_EVENT_TYPE_UPDATE - LOGD("UPDATE - %s", package); - } - } else { - LOGE("pkg:%s type:%d state:PACKAGE_MANAGER_EVENT_STATE_COMPLETED: FAILED", package, event_type); - } + if (event_state == PACKAGE_MANAGER_EVENT_STATE_STARTED) { + LOGI("pkg:%s type:%d state:PACKAGE_MANAGER_EVENT_STATE_STARTED", package, event_type); + } else if (event_state == PACKAGE_MANAGER_EVENT_STATE_PROCESSING) { + LOGI("pkg:%s type:%d PACKAGE_MANAGER_EVENT_STATE_PROCESSING", package, event_type); + } else if (event_state == PACKAGE_MANAGER_EVENT_STATE_COMPLETED) { + LOGI("pkg:%s type:%d PACKAGE_MANAGER_EVENT_STATE_COMPLETED", package, event_type); + if (event_type == PACKAGE_MANAGER_EVENT_TYPE_INSTALL) { + __apps_package_manager_install(package); + } else if (event_type == PACKAGE_MANAGER_EVENT_TYPE_UNINSTALL) { + __apps_package_manager_uninstall(package); + } else { //PACKAGE_MANAGER_EVENT_TYPE_UPDATE + LOGD("UPDATE - %s", package); + } + } else { + LOGE("pkg:%s type:%d state:PACKAGE_MANAGER_EVENT_STATE_COMPLETED: FAILED", package, event_type); + } } Eina_Bool apps_package_manger_get_list(Eina_List **list) { - int ret; - app_info_filter_h handle = NULL; + int ret; + app_info_filter_h handle = NULL; - ret = app_info_filter_create(&handle); - app_info_filter_add_bool(handle, PACKAGE_INFO_PROP_APP_NODISPLAY , false); - app_info_filter_foreach_appinfo(handle, __apps_package_manager_get_item, list); - return true; + ret = app_info_filter_create(&handle); + app_info_filter_add_bool(handle, PACKAGE_INFO_PROP_APP_NODISPLAY , false); + app_info_filter_foreach_appinfo(handle, __apps_package_manager_get_item, list); + return true; } static bool __apps_package_manager_get_item(app_info_h app_handle, void *data) { - Eina_List **list = (Eina_List **)data; - app_data_t *item = NULL; - if (__apps_data_pkg_get_apps_info(app_handle, &item)) { - *list = eina_list_append(*list, item); - } - usleep(1); - return true; + Eina_List **list = (Eina_List **)data; + app_data_t *item = NULL; + if (__apps_data_pkg_get_apps_info(app_handle, &item)) { + *list = eina_list_append(*list, item); + } + usleep(1); + return true; } static bool __apps_data_pkg_get_apps_info(app_info_h app_handle, app_data_t **item) { - bool nodisplay = false; - int ret; - package_info_h p_handle = NULL; - - app_data_t *new_item = (app_data_t *)malloc(sizeof(app_data_t)); - memset(new_item, 0, sizeof(app_data_t)); - *item = new_item; - - app_info_is_nodisplay(app_handle, &nodisplay); - if (nodisplay) - goto ERROR; - - new_item->db_id = INIT_VALUE; - new_item->parent_db_id = APPS_ROOT; - new_item->owner = strdup(TEMP_OWNER); - new_item->is_folder = false; - new_item->position = INIT_VALUE; - new_item->uri = NULL; - new_item->type = APPS_DATA_TYPE_APP; - - ret = app_info_get_app_id(app_handle, &new_item->app_id); - if (APP_MANAGER_ERROR_NONE != ret) { - LOGE("app_info_get_app_id return [%d] %s", ret, new_item->app_id); - goto ERROR; - } - - ret = app_info_get_package(app_handle, &new_item->pkg_id); - if (APP_MANAGER_ERROR_NONE != ret) { - LOGE("app_info_get_package return [%d] %s", ret, new_item->pkg_id); - goto ERROR; - } - - ret = app_info_get_label(app_handle, &new_item->label_str); - if (APP_MANAGER_ERROR_NONE != ret) { - LOGE("app_info_get_label return [%d] %s", ret, new_item->label_str); - goto ERROR; - } - - ret = app_info_get_icon(app_handle, &new_item->icon_path_str); - if (APP_MANAGER_ERROR_NONE != ret) { - LOGE("app_info_get_icon return [%d]", ret); - goto ERROR; - } - - LOGD("%s", new_item->pkg_id); - - ret = package_manager_get_package_info(new_item->pkg_id, &p_handle); - if (ret != PACKAGE_MANAGER_ERROR_NONE) { - LOGE("Failed to inialize package handle for item : %s", new_item->pkg_id); - goto ERROR; - } - - ret = package_info_is_removable_package(p_handle, &new_item->is_removable); - if (PACKAGE_MANAGER_ERROR_NONE != ret) { - LOGE("package_info_is_removable_package return [%d]", ret); - goto ERROR; - } - - ret = package_info_is_system_package(p_handle, &new_item->is_system); - if (PACKAGE_MANAGER_ERROR_NONE != ret) { - LOGE("package_info_is_system_package return [%d]", ret); - goto ERROR; - } - - if (!new_item->icon_path_str || !ecore_file_can_read(new_item->icon_path_str)) { - if (new_item->icon_path_str) free(new_item->icon_path_str); - - new_item->icon_path_str = malloc(MAX_FILE_PATH_LEN); - sprintf(new_item->icon_path_str, "%s", util_get_res_file_path(IMAGE_DIR"/default_app_icon.png")); - } - return true; + bool nodisplay = false; + int ret; + package_info_h p_handle = NULL; + + app_data_t *new_item = (app_data_t *)malloc(sizeof(app_data_t)); + memset(new_item, 0, sizeof(app_data_t)); + *item = new_item; + + app_info_is_nodisplay(app_handle, &nodisplay); + if (nodisplay) + goto ERROR; + + new_item->db_id = INIT_VALUE; + new_item->parent_db_id = APPS_ROOT; + new_item->owner = strdup(TEMP_OWNER); + new_item->is_folder = false; + new_item->position = INIT_VALUE; + new_item->uri = NULL; + new_item->type = APPS_DATA_TYPE_APP; + + ret = app_info_get_app_id(app_handle, &new_item->app_id); + if (APP_MANAGER_ERROR_NONE != ret) { + LOGE("app_info_get_app_id return [%d] %s", ret, new_item->app_id); + goto ERROR; + } + + ret = app_info_get_package(app_handle, &new_item->pkg_id); + if (APP_MANAGER_ERROR_NONE != ret) { + LOGE("app_info_get_package return [%d] %s", ret, new_item->pkg_id); + goto ERROR; + } + + ret = app_info_get_label(app_handle, &new_item->label_str); + if (APP_MANAGER_ERROR_NONE != ret) { + LOGE("app_info_get_label return [%d] %s", ret, new_item->label_str); + goto ERROR; + } + + ret = app_info_get_icon(app_handle, &new_item->icon_path_str); + if (APP_MANAGER_ERROR_NONE != ret) { + LOGE("app_info_get_icon return [%d]", ret); + goto ERROR; + } + + LOGD("%s", new_item->pkg_id); + + ret = package_manager_get_package_info(new_item->pkg_id, &p_handle); + if (ret != PACKAGE_MANAGER_ERROR_NONE) { + LOGE("Failed to inialize package handle for item : %s", new_item->pkg_id); + goto ERROR; + } + + ret = package_info_is_removable_package(p_handle, &new_item->is_removable); + if (PACKAGE_MANAGER_ERROR_NONE != ret) { + LOGE("package_info_is_removable_package return [%d]", ret); + goto ERROR; + } + + ret = package_info_is_system_package(p_handle, &new_item->is_system); + if (PACKAGE_MANAGER_ERROR_NONE != ret) { + LOGE("package_info_is_system_package return [%d]", ret); + goto ERROR; + } + + if (!new_item->icon_path_str || !ecore_file_can_read(new_item->icon_path_str)) { + if (new_item->icon_path_str) free(new_item->icon_path_str); + + new_item->icon_path_str = malloc(MAX_FILE_PATH_LEN); + sprintf(new_item->icon_path_str, "%s", util_get_res_file_path(IMAGE_DIR"/default_app_icon.png")); + } + return true; ERROR: - if (new_item && new_item->label_str) - free(new_item->label_str); - if (new_item && new_item->icon_path_str) - free(new_item->icon_path_str); - if (new_item && new_item->app_id) - free(new_item->app_id); - if (new_item && new_item->pkg_id) - free(new_item->pkg_id); - if (new_item && new_item->owner) - free(new_item->owner); - if (new_item) free(new_item); - return false; + if (new_item && new_item->label_str) + free(new_item->label_str); + if (new_item && new_item->icon_path_str) + free(new_item->icon_path_str); + if (new_item && new_item->app_id) + free(new_item->app_id); + if (new_item && new_item->pkg_id) + free(new_item->pkg_id); + if (new_item && new_item->owner) + free(new_item->owner); + if (new_item) free(new_item); + return false; } static void __apps_package_manager_install(const char *package) { - app_info_h app_info = NULL; - app_data_t *item = NULL; + app_info_h app_info = NULL; + app_data_t *item = NULL; - app_manager_get_app_info(package, &app_info); - if (__apps_data_pkg_get_apps_info(app_info, &item)) { - apps_data_install(item); - } - app_info_destroy(app_info); + app_manager_get_app_info(package, &app_info); + if (__apps_data_pkg_get_apps_info(app_info, &item)) { + apps_data_install(item); + } + app_info_destroy(app_info); } static void __apps_package_manager_uninstall(const char *package) { - apps_data_uninstall(package); + apps_data_uninstall(package); } diff --git a/src/apps_view.c b/src/apps_view.c index a1a4008..2472cd1 100755 --- a/src/apps_view.c +++ b/src/apps_view.c @@ -34,75 +34,75 @@ #define MAX_BADGE_DISPLAY_COUNT 999 static struct { - Evas_Object *scroller; - Evas_Object *bg; - Evas_Object *box; - Evas_Object *chooser_btn; - Evas_Object *folder_popup_ly; - Evas_Object *folder_title_entry; - Evas_Object *event_block_bg; - app_data_t *picked_item; - int width; - int height; - page_indicator_t *indicator; - Eina_List *page_list; - int page_count; - int current_page; - view_state_t view_state; - view_state_t pre_view_state; - Eina_List *selected_items; - app_data_t *dest_folder; - app_data_t *opened_folder; - app_data_t *candidate_folder; - int selected_item_count; - Ecore_Animator *animator; - Ecore_Timer *edit_mode_scroll_timer; - bool is_srolling; + Evas_Object *scroller; + Evas_Object *bg; + Evas_Object *box; + Evas_Object *chooser_btn; + Evas_Object *folder_popup_ly; + Evas_Object *folder_title_entry; + Evas_Object *event_block_bg; + app_data_t *picked_item; + int width; + int height; + page_indicator_t *indicator; + Eina_List *page_list; + int page_count; + int current_page; + view_state_t view_state; + view_state_t pre_view_state; + Eina_List *selected_items; + app_data_t *dest_folder; + app_data_t *opened_folder; + app_data_t *candidate_folder; + int selected_item_count; + Ecore_Animator *animator; + Ecore_Timer *edit_mode_scroll_timer; + bool is_srolling; } apps_view_s = { - .scroller = NULL, - .bg = NULL, - .box = NULL, - .chooser_btn = NULL, - .folder_popup_ly = NULL, - .folder_title_entry = NULL, - .event_block_bg = NULL, - .picked_item = NULL, - .width = 0, - .height = 0, - .indicator = NULL, - .page_list = NULL, - .page_count = 0, - .current_page = 0, - .view_state = VIEW_STATE_NORMAL, - .pre_view_state = VIEW_STATE_UNKNOWN, - .selected_items = NULL, - .selected_item_count = 0, - .dest_folder = NULL, - .opened_folder = NULL, - .candidate_folder = NULL, - .animator = NULL, - .edit_mode_scroll_timer = NULL, - .is_srolling = false, + .scroller = NULL, + .bg = NULL, + .box = NULL, + .chooser_btn = NULL, + .folder_popup_ly = NULL, + .folder_title_entry = NULL, + .event_block_bg = NULL, + .picked_item = NULL, + .width = 0, + .height = 0, + .indicator = NULL, + .page_list = NULL, + .page_count = 0, + .current_page = 0, + .view_state = VIEW_STATE_NORMAL, + .pre_view_state = VIEW_STATE_UNKNOWN, + .selected_items = NULL, + .selected_item_count = 0, + .dest_folder = NULL, + .opened_folder = NULL, + .candidate_folder = NULL, + .animator = NULL, + .edit_mode_scroll_timer = NULL, + .is_srolling = false, }; static int apps_menu_list[2] = { - MENU_APPS_EDIT, - MENU_APPS_CREATE_FOLDER + MENU_APPS_EDIT, + MENU_APPS_CREATE_FOLDER }; static mouse_info_t apps_mouse_info = { - .pressed = false, - .long_pressed = false, - .down_x = 0, - .down_y = 0, - .move_x = 0, - .move_y = 0, - .up_x = 0, - .up_y = 0, - .long_press_timer = NULL, - .offset_x = 0, - .offset_y = 0, - .pressed_obj = NULL, + .pressed = false, + .long_pressed = false, + .down_x = 0, + .down_y = 0, + .move_x = 0, + .move_y = 0, + .up_x = 0, + .up_y = 0, + .long_press_timer = NULL, + .offset_x = 0, + .offset_y = 0, + .pressed_obj = NULL, }; static Eina_Hash *apps_menu_table = NULL; @@ -157,1601 +157,1601 @@ static void __apps_view_folder_entry_done_cb(void *data, Evas_Object *obj, void Evas_Object *apps_view_create(Evas_Object *win) { - elm_win_screen_size_get(win, NULL, NULL, &apps_view_s.width, &apps_view_s.height); + elm_win_screen_size_get(win, NULL, NULL, &apps_view_s.width, &apps_view_s.height); - __apps_view_create_base_gui(win); - __apps_view_create_chooser(); - __apps_view_create_menu(); + __apps_view_create_base_gui(win); + __apps_view_create_chooser(); + __apps_view_create_menu(); - if (!apps_view_s.scroller) { - LOGE("[FAILED][apps_view_s.scroller==NULL]"); - return NULL; - } + if (!apps_view_s.scroller) { + LOGE("[FAILED][apps_view_s.scroller==NULL]"); + return NULL; + } - return apps_view_s.scroller; + return apps_view_s.scroller; } void apps_view_init(void) { - ecore_thread_run(apps_data_init, __apps_view_fill_apps, __apps_view_fill_apps, NULL); + ecore_thread_run(apps_data_init, __apps_view_fill_apps, __apps_view_fill_apps, NULL); } void apps_view_app_terminate(void) { - evas_object_event_callback_del(apps_view_s.scroller, EVAS_CALLBACK_MOUSE_DOWN, __apps_view_scroller_down_cb); - evas_object_event_callback_del(apps_view_s.scroller, EVAS_CALLBACK_MOUSE_MOVE, __apps_view_scroller_move_cb); - evas_object_event_callback_del(apps_view_s.scroller, EVAS_CALLBACK_MOUSE_UP, __apps_view_scroller_up_cb); + evas_object_event_callback_del(apps_view_s.scroller, EVAS_CALLBACK_MOUSE_DOWN, __apps_view_scroller_down_cb); + evas_object_event_callback_del(apps_view_s.scroller, EVAS_CALLBACK_MOUSE_MOVE, __apps_view_scroller_move_cb); + evas_object_event_callback_del(apps_view_s.scroller, EVAS_CALLBACK_MOUSE_UP, __apps_view_scroller_up_cb); - eina_hash_free(apps_menu_table); + eina_hash_free(apps_menu_table); } void apps_view_show(void) { - page_indicator_show(apps_view_s.indicator); + page_indicator_show(apps_view_s.indicator); } void apps_view_hide(void) { - page_indicator_hide(apps_view_s.indicator); + page_indicator_hide(apps_view_s.indicator); } void apps_view_show_anim(double pos) { - Evas_Object *edje = NULL; - edje = elm_layout_edje_get(apps_view_s.bg); - if (!edje) { - LOGE("Failed to get edje from layout"); - return; - } - Edje_Message_Float_Set *msg = malloc(sizeof(*msg) + sizeof(double)); - msg->count = 1; - msg->val[0] = pos*APPS_VIEW_BG_OPACITY; - - edje_object_message_send(edje, EDJE_MESSAGE_FLOAT_SET, 1, msg); - edje_object_signal_emit(edje, SIGNAL_APPS_VIEW_ANIM, SIGNAL_SOURCE); - - evas_object_color_set(apps_view_s.box, 255, 255, 255, pos*255); - evas_object_move(apps_view_s.scroller, 0, APPS_VIEW_PADDING_TOP + (APPS_VIEW_ANIMATION_DELTA * (1-pos))); - if (pos >= (1.0 - (1e-10))) { - evas_object_show(apps_view_s.event_block_bg); - evas_object_color_set(apps_view_s.box, 255, 255, 255, 255); - evas_object_move(apps_view_s.scroller, 0, APPS_VIEW_PADDING_TOP); - edje_object_signal_emit(edje, SIGNAL_APPS_VIEW_SHOW, SIGNAL_SOURCE); - } + Evas_Object *edje = NULL; + edje = elm_layout_edje_get(apps_view_s.bg); + if (!edje) { + LOGE("Failed to get edje from layout"); + return; + } + Edje_Message_Float_Set *msg = malloc(sizeof(*msg) + sizeof(double)); + msg->count = 1; + msg->val[0] = pos*APPS_VIEW_BG_OPACITY; + + edje_object_message_send(edje, EDJE_MESSAGE_FLOAT_SET, 1, msg); + edje_object_signal_emit(edje, SIGNAL_APPS_VIEW_ANIM, SIGNAL_SOURCE); + + evas_object_color_set(apps_view_s.box, 255, 255, 255, pos*255); + evas_object_move(apps_view_s.scroller, 0, APPS_VIEW_PADDING_TOP + (APPS_VIEW_ANIMATION_DELTA * (1-pos))); + if (pos >= (1.0 - (1e-10))) { + evas_object_show(apps_view_s.event_block_bg); + evas_object_color_set(apps_view_s.box, 255, 255, 255, 255); + evas_object_move(apps_view_s.scroller, 0, APPS_VIEW_PADDING_TOP); + edje_object_signal_emit(edje, SIGNAL_APPS_VIEW_SHOW, SIGNAL_SOURCE); + } } void apps_view_hide_anim(double pos) { - Evas_Object *edje = NULL; - edje = elm_layout_edje_get(apps_view_s.bg); - if (!edje) { - LOGE("Failed to get edje from layout"); - return; - } - Edje_Message_Float_Set *msg = malloc(sizeof(*msg) + 3 * sizeof(double)); - msg->count = 3; - msg->val[0] = ((APPS_VIEW_ANIMATION_DELTA * pos) / apps_view_s.height); - msg->val[1] = 1+((APPS_VIEW_ANIMATION_DELTA * pos) / apps_view_s.height); - msg->val[2] = (1-pos)*APPS_VIEW_BG_OPACITY; - - edje_object_message_send(edje, EDJE_MESSAGE_FLOAT_SET, 1, msg); - edje_object_signal_emit(edje, SIGNAL_APPS_VIEW_ANIM, SIGNAL_SOURCE); - - evas_object_color_set(apps_view_s.box, 255, 255, 255, (1-pos)*255); - evas_object_move(apps_view_s.scroller, 0, APPS_VIEW_PADDING_TOP + (APPS_VIEW_ANIMATION_DELTA * pos)); - if (pos >= (1.0 - (1e-10))) { - evas_object_hide(apps_view_s.event_block_bg); - evas_object_color_set(apps_view_s.box, 255, 255, 255, 0); - evas_object_move(apps_view_s.scroller, 0, apps_view_s.height); - edje_object_signal_emit(edje, SIGNAL_APPS_VIEW_HIDE, SIGNAL_SOURCE); - } + Evas_Object *edje = NULL; + edje = elm_layout_edje_get(apps_view_s.bg); + if (!edje) { + LOGE("Failed to get edje from layout"); + return; + } + Edje_Message_Float_Set *msg = malloc(sizeof(*msg) + 3 * sizeof(double)); + msg->count = 3; + msg->val[0] = ((APPS_VIEW_ANIMATION_DELTA * pos) / apps_view_s.height); + msg->val[1] = 1+((APPS_VIEW_ANIMATION_DELTA * pos) / apps_view_s.height); + msg->val[2] = (1-pos)*APPS_VIEW_BG_OPACITY; + + edje_object_message_send(edje, EDJE_MESSAGE_FLOAT_SET, 1, msg); + edje_object_signal_emit(edje, SIGNAL_APPS_VIEW_ANIM, SIGNAL_SOURCE); + + evas_object_color_set(apps_view_s.box, 255, 255, 255, (1-pos)*255); + evas_object_move(apps_view_s.scroller, 0, APPS_VIEW_PADDING_TOP + (APPS_VIEW_ANIMATION_DELTA * pos)); + if (pos >= (1.0 - (1e-10))) { + evas_object_hide(apps_view_s.event_block_bg); + evas_object_color_set(apps_view_s.box, 255, 255, 255, 0); + evas_object_move(apps_view_s.scroller, 0, apps_view_s.height); + edje_object_signal_emit(edje, SIGNAL_APPS_VIEW_HIDE, SIGNAL_SOURCE); + } } void apps_view_reorder(void) { - Eina_List *data_list = apps_data_get_list(); - app_data_t *item = NULL; - Eina_List *find_list; - int item_count = 0; + Eina_List *data_list = apps_data_get_list(); + app_data_t *item = NULL; + Eina_List *find_list; + int item_count = 0; - apps_view_unset_all(); + apps_view_unset_all(); - EINA_LIST_FOREACH(data_list, find_list, item) { - if (apps_view_icon_set(item)) - item_count++; - } + EINA_LIST_FOREACH(data_list, find_list, item) { + if (apps_view_icon_set(item)) + item_count++; + } - //Delete empty page - while (((item_count-1) / (APPS_VIEW_COL*APPS_VIEW_ROW) +1) < eina_list_count(apps_view_s.page_list)) { - __apps_view_remove_page(); - } + //Delete empty page + while (((item_count-1) / (APPS_VIEW_COL*APPS_VIEW_ROW) +1) < eina_list_count(apps_view_s.page_list)) { + __apps_view_remove_page(); + } } void apps_view_folder_reroder(void) { - Eina_List *data_list = apps_data_get_list(); - app_data_t *item = NULL; - Eina_List *find_list; - int item_count = 0; - if (!apps_view_s.opened_folder) - return; - - EINA_LIST_FOREACH(data_list, find_list, item) { - if (item->parent_db_id == apps_view_s.opened_folder->db_id) { - apps_view_icon_set(item); - item_count++; - } - } - - if (item_count < APPS_FOLDER_MAX_ITEM) { - Edje_Message_Float_Set *msg = malloc(sizeof(*msg) + 2 * sizeof(double)); - msg->count = 2; - msg->val[0] = item_count / APPS_FOLDER_COL; - msg->val[1] = item_count % APPS_FOLDER_COL; - - if (apps_view_get_state() != VIEW_STATE_CHOOSER) { - Evas_Object *edje = NULL; - edje = elm_layout_edje_get(apps_view_s.folder_popup_ly); - edje_object_message_send(edje, EDJE_MESSAGE_FLOAT_SET, 1, msg); - edje_object_signal_emit(edje, SIGNAL_APPS_FOLDER_SET_PLUS_ICON, SIGNAL_SOURCE); - elm_object_signal_callback_add(apps_view_s.folder_popup_ly, SIGNAL_APPS_FOLDER_CLICKED_PLUS_ICON, SIGNAL_SOURCE, - __apps_view_plus_icon_clicked, (void *)apps_view_s.opened_folder); - } else { - elm_object_signal_emit(apps_view_s.folder_popup_ly, SIGNAL_APPS_FOLDER_HIDE_PLUS_ICON, SIGNAL_SOURCE); - } - free(msg); - } else { - elm_object_signal_emit(apps_view_s.folder_popup_ly, SIGNAL_APPS_FOLDER_HIDE_PLUS_ICON, SIGNAL_SOURCE); - elm_object_signal_callback_del(apps_view_s.folder_popup_ly, SIGNAL_APPS_FOLDER_CLICKED_PLUS_ICON, SIGNAL_SOURCE, - __apps_view_plus_icon_clicked); - } + Eina_List *data_list = apps_data_get_list(); + app_data_t *item = NULL; + Eina_List *find_list; + int item_count = 0; + if (!apps_view_s.opened_folder) + return; + + EINA_LIST_FOREACH(data_list, find_list, item) { + if (item->parent_db_id == apps_view_s.opened_folder->db_id) { + apps_view_icon_set(item); + item_count++; + } + } + + if (item_count < APPS_FOLDER_MAX_ITEM) { + Edje_Message_Float_Set *msg = malloc(sizeof(*msg) + 2 * sizeof(double)); + msg->count = 2; + msg->val[0] = item_count / APPS_FOLDER_COL; + msg->val[1] = item_count % APPS_FOLDER_COL; + + if (apps_view_get_state() != VIEW_STATE_CHOOSER) { + Evas_Object *edje = NULL; + edje = elm_layout_edje_get(apps_view_s.folder_popup_ly); + edje_object_message_send(edje, EDJE_MESSAGE_FLOAT_SET, 1, msg); + edje_object_signal_emit(edje, SIGNAL_APPS_FOLDER_SET_PLUS_ICON, SIGNAL_SOURCE); + elm_object_signal_callback_add(apps_view_s.folder_popup_ly, SIGNAL_APPS_FOLDER_CLICKED_PLUS_ICON, SIGNAL_SOURCE, + __apps_view_plus_icon_clicked, (void *)apps_view_s.opened_folder); + } else { + elm_object_signal_emit(apps_view_s.folder_popup_ly, SIGNAL_APPS_FOLDER_HIDE_PLUS_ICON, SIGNAL_SOURCE); + } + free(msg); + } else { + elm_object_signal_emit(apps_view_s.folder_popup_ly, SIGNAL_APPS_FOLDER_HIDE_PLUS_ICON, SIGNAL_SOURCE); + elm_object_signal_callback_del(apps_view_s.folder_popup_ly, SIGNAL_APPS_FOLDER_CLICKED_PLUS_ICON, SIGNAL_SOURCE, + __apps_view_plus_icon_clicked); + } } Evas_Object* apps_view_create_icon(app_data_t *item) { - Evas_Object *icon_layout; - Evas_Object *rect = NULL; - Evas_Object *icon_image = NULL; - - icon_layout = elm_layout_add(apps_view_s.box); - elm_layout_file_set(icon_layout, util_get_res_file_path(EDJE_DIR"/app_icon.edj"), GROUP_APP_ICON_LY); - evas_object_size_hint_weight_set(icon_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - - rect = evas_object_rectangle_add(evas_object_evas_get(icon_layout)); - if (!rect) { - LOGE("[FAILED][rect=NULL]"); - return NULL; - } - evas_object_color_set(rect, 0, 0, 0, 0); - evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(rect, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_part_content_set(icon_layout, SIZE_SETTER, rect); - - item->app_layout = icon_layout; - - //icon image - if (item->is_folder) { - LOGD("Create Folder ICON"); - Evas_Object *folder_layout; - Evas_Object *size_setter; - - folder_layout = elm_layout_add(icon_layout); - elm_layout_file_set(folder_layout, util_get_res_file_path(EDJE_DIR"/apps_folder_icon.edj"), GROUP_FOLDER_ICON_LY); - evas_object_size_hint_weight_set(folder_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - - size_setter = evas_object_rectangle_add(evas_object_evas_get(folder_layout)); - if (!rect) { - LOGE("[FAILED][rect=NULL]"); - return NULL; - } - evas_object_color_set(size_setter, 0, 0, 0, 0); - evas_object_size_hint_min_set(size_setter, APPS_VIEW_ICON_IMAGE, APPS_VIEW_ICON_IMAGE); - evas_object_size_hint_max_set(size_setter, APPS_VIEW_ICON_IMAGE, APPS_VIEW_ICON_IMAGE); - elm_object_part_content_set(folder_layout, SIZE_SETTER, size_setter); - item->folder_layout = folder_layout; - - apps_view_update_folder_icon(item); - elm_object_part_content_set(icon_layout, APPS_ICON_CONTENT, folder_layout); - - __apps_view__set_icon_label_style(item, apps_view_s.view_state); - if (apps_view_s.view_state == VIEW_STATE_EDIT) { - elm_object_signal_emit(item->app_layout, SIGNAL_UNINSTALL_BUTTON_SHOW_ANI, SIGNAL_SOURCE); - } - evas_object_event_callback_add(folder_layout, EVAS_CALLBACK_MOUSE_DOWN, __apps_view_icon_down_cb, item); - evas_object_event_callback_add(folder_layout, EVAS_CALLBACK_MOUSE_MOVE, __apps_view_icon_move_cb, item); - evas_object_event_callback_add(folder_layout, EVAS_CALLBACK_MOUSE_UP, __apps_view_icon_up_cb, item); - } else { - if (ecore_file_can_read(item->icon_path_str)) { - LOGD("Create Image: %s", item->icon_path_str); - icon_image = elm_image_add(icon_layout); - elm_image_file_set(icon_image, item->icon_path_str, NULL); - evas_object_size_hint_weight_set(icon_image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(icon_image, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_part_content_set(icon_layout, APPS_ICON_CONTENT, icon_image); - } else { - LOGE("Can not read : %s", item->icon_path_str); - - const char *default_icon = util_get_res_file_path(IMAGE_DIR"/default_app_icon.png"); - icon_image = elm_image_add(icon_layout); - elm_image_file_set(icon_image, default_icon, NULL); - evas_object_size_hint_weight_set(icon_image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(icon_image, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_part_content_set(icon_layout, APPS_ICON_CONTENT, icon_image); - } - - __apps_view__set_icon_label_style(item, apps_view_s.view_state); - if (apps_view_s.view_state == VIEW_STATE_EDIT) { - if (item->is_removable) - elm_object_signal_emit(item->app_layout, SIGNAL_UNINSTALL_BUTTON_SHOW, SIGNAL_SOURCE); - } else if (apps_view_s.view_state == VIEW_STATE_CHOOSER) { - elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_ON, SIGNAL_SOURCE); - if (item->is_checked) { - elm_object_signal_emit(item->app_layout, SIGNAL_CHECK_CHECK_BOX, SIGNAL_SOURCE); - } - } - - __apps_view_badge_update_icon(item); - evas_object_show(icon_image); - - evas_object_event_callback_add(icon_image, EVAS_CALLBACK_MOUSE_DOWN, __apps_view_icon_down_cb, item); - evas_object_event_callback_add(icon_image, EVAS_CALLBACK_MOUSE_MOVE, __apps_view_icon_move_cb, item); - evas_object_event_callback_add(icon_image, EVAS_CALLBACK_MOUSE_UP, __apps_view_icon_up_cb, item); - } - - elm_object_signal_callback_add(icon_layout, SIGNAL_UNINSTALL_BUTTON_CLICKED, SIGNAL_SOURCE, __apps_view_icon_uninstall_btn_clicked_cb, (void *)item); - elm_object_signal_callback_add(icon_layout, SIGNAL_CHANGED_CHECK_BOX, SIGNAL_SOURCE, __apps_view_icon_check_changed_cb, (void *)item); - - evas_object_show(icon_layout); - - LOGD("icon [%s, %s] create", item->app_id, item->pkg_id); - - return icon_layout; + Evas_Object *icon_layout; + Evas_Object *rect = NULL; + Evas_Object *icon_image = NULL; + + icon_layout = elm_layout_add(apps_view_s.box); + elm_layout_file_set(icon_layout, util_get_res_file_path(EDJE_DIR"/app_icon.edj"), GROUP_APP_ICON_LY); + evas_object_size_hint_weight_set(icon_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + rect = evas_object_rectangle_add(evas_object_evas_get(icon_layout)); + if (!rect) { + LOGE("[FAILED][rect=NULL]"); + return NULL; + } + evas_object_color_set(rect, 0, 0, 0, 0); + evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(rect, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_part_content_set(icon_layout, SIZE_SETTER, rect); + + item->app_layout = icon_layout; + + //icon image + if (item->is_folder) { + LOGD("Create Folder ICON"); + Evas_Object *folder_layout; + Evas_Object *size_setter; + + folder_layout = elm_layout_add(icon_layout); + elm_layout_file_set(folder_layout, util_get_res_file_path(EDJE_DIR"/apps_folder_icon.edj"), GROUP_FOLDER_ICON_LY); + evas_object_size_hint_weight_set(folder_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + size_setter = evas_object_rectangle_add(evas_object_evas_get(folder_layout)); + if (!rect) { + LOGE("[FAILED][rect=NULL]"); + return NULL; + } + evas_object_color_set(size_setter, 0, 0, 0, 0); + evas_object_size_hint_min_set(size_setter, APPS_VIEW_ICON_IMAGE, APPS_VIEW_ICON_IMAGE); + evas_object_size_hint_max_set(size_setter, APPS_VIEW_ICON_IMAGE, APPS_VIEW_ICON_IMAGE); + elm_object_part_content_set(folder_layout, SIZE_SETTER, size_setter); + item->folder_layout = folder_layout; + + apps_view_update_folder_icon(item); + elm_object_part_content_set(icon_layout, APPS_ICON_CONTENT, folder_layout); + + __apps_view__set_icon_label_style(item, apps_view_s.view_state); + if (apps_view_s.view_state == VIEW_STATE_EDIT) { + elm_object_signal_emit(item->app_layout, SIGNAL_UNINSTALL_BUTTON_SHOW_ANI, SIGNAL_SOURCE); + } + evas_object_event_callback_add(folder_layout, EVAS_CALLBACK_MOUSE_DOWN, __apps_view_icon_down_cb, item); + evas_object_event_callback_add(folder_layout, EVAS_CALLBACK_MOUSE_MOVE, __apps_view_icon_move_cb, item); + evas_object_event_callback_add(folder_layout, EVAS_CALLBACK_MOUSE_UP, __apps_view_icon_up_cb, item); + } else { + if (ecore_file_can_read(item->icon_path_str)) { + LOGD("Create Image: %s", item->icon_path_str); + icon_image = elm_image_add(icon_layout); + elm_image_file_set(icon_image, item->icon_path_str, NULL); + evas_object_size_hint_weight_set(icon_image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(icon_image, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_part_content_set(icon_layout, APPS_ICON_CONTENT, icon_image); + } else { + LOGE("Can not read : %s", item->icon_path_str); + + const char *default_icon = util_get_res_file_path(IMAGE_DIR"/default_app_icon.png"); + icon_image = elm_image_add(icon_layout); + elm_image_file_set(icon_image, default_icon, NULL); + evas_object_size_hint_weight_set(icon_image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(icon_image, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_part_content_set(icon_layout, APPS_ICON_CONTENT, icon_image); + } + + __apps_view__set_icon_label_style(item, apps_view_s.view_state); + if (apps_view_s.view_state == VIEW_STATE_EDIT) { + if (item->is_removable) + elm_object_signal_emit(item->app_layout, SIGNAL_UNINSTALL_BUTTON_SHOW, SIGNAL_SOURCE); + } else if (apps_view_s.view_state == VIEW_STATE_CHOOSER) { + elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_ON, SIGNAL_SOURCE); + if (item->is_checked) { + elm_object_signal_emit(item->app_layout, SIGNAL_CHECK_CHECK_BOX, SIGNAL_SOURCE); + } + } + + __apps_view_badge_update_icon(item); + evas_object_show(icon_image); + + evas_object_event_callback_add(icon_image, EVAS_CALLBACK_MOUSE_DOWN, __apps_view_icon_down_cb, item); + evas_object_event_callback_add(icon_image, EVAS_CALLBACK_MOUSE_MOVE, __apps_view_icon_move_cb, item); + evas_object_event_callback_add(icon_image, EVAS_CALLBACK_MOUSE_UP, __apps_view_icon_up_cb, item); + } + + elm_object_signal_callback_add(icon_layout, SIGNAL_UNINSTALL_BUTTON_CLICKED, SIGNAL_SOURCE, __apps_view_icon_uninstall_btn_clicked_cb, (void *)item); + elm_object_signal_callback_add(icon_layout, SIGNAL_CHANGED_CHECK_BOX, SIGNAL_SOURCE, __apps_view_icon_check_changed_cb, (void *)item); + + evas_object_show(icon_layout); + + LOGD("icon [%s, %s] create", item->app_id, item->pkg_id); + + return icon_layout; } void apps_view_delete_icon(app_data_t *item) { - if (item == NULL) - return ; + if (item == NULL) + return ; - if (item->app_layout) { - Evas_Object *icon_image = elm_object_part_content_get(item->app_layout, APPS_ICON_CONTENT); - evas_object_event_callback_del(icon_image, EVAS_CALLBACK_MOUSE_DOWN, __apps_view_icon_down_cb); - evas_object_event_callback_del(icon_image, EVAS_CALLBACK_MOUSE_MOVE, __apps_view_icon_move_cb); - evas_object_event_callback_del(icon_image, EVAS_CALLBACK_MOUSE_UP, __apps_view_icon_up_cb); + if (item->app_layout) { + Evas_Object *icon_image = elm_object_part_content_get(item->app_layout, APPS_ICON_CONTENT); + evas_object_event_callback_del(icon_image, EVAS_CALLBACK_MOUSE_DOWN, __apps_view_icon_down_cb); + evas_object_event_callback_del(icon_image, EVAS_CALLBACK_MOUSE_MOVE, __apps_view_icon_move_cb); + evas_object_event_callback_del(icon_image, EVAS_CALLBACK_MOUSE_UP, __apps_view_icon_up_cb); - evas_object_del(item->app_layout); - item->app_layout = NULL; - } + evas_object_del(item->app_layout); + item->app_layout = NULL; + } - if (item->folder_layout) { - evas_object_del(item->folder_layout); - item->folder_layout = NULL; - } + if (item->folder_layout) { + evas_object_del(item->folder_layout); + item->folder_layout = NULL; + } } void apps_view_unset_all(void) { - Eina_List *find_list = NULL; - Evas_Object *page; - Evas_Object *grid; + Eina_List *find_list = NULL; + Evas_Object *page; + Evas_Object *grid; - EINA_LIST_FOREACH(apps_view_s.page_list, find_list, page) { - grid = elm_object_part_content_get(page, APPS_VIEW_GRID); - elm_grid_clear(grid, EINA_FALSE); - } + EINA_LIST_FOREACH(apps_view_s.page_list, find_list, page) { + grid = elm_object_part_content_get(page, APPS_VIEW_GRID); + elm_grid_clear(grid, EINA_FALSE); + } } void apps_view_icon_unset(app_data_t *item) { - Evas_Object *page = NULL; - Evas_Object *grid = NULL; - int page_index; - int col, row; - char icon_container[STR_MAX]; + Evas_Object *page = NULL; + Evas_Object *grid = NULL; + int page_index; + int col, row; + char icon_container[STR_MAX]; - if (item->parent_db_id == APPS_ROOT) { - page_index = item->position / (APPS_VIEW_COL*APPS_VIEW_ROW); + if (item->parent_db_id == APPS_ROOT) { + page_index = item->position / (APPS_VIEW_COL*APPS_VIEW_ROW); - page = eina_list_nth(apps_view_s.page_list, page_index); - grid = elm_object_part_content_get(page, APPS_VIEW_GRID); - elm_grid_unpack(grid, item->app_layout); - } else if(apps_view_s.opened_folder && item->parent_db_id == apps_view_s.opened_folder->db_id) { - row = (item->position / APPS_FOLDER_COL) % APPS_FOLDER_ROW; - col = item->position % APPS_FOLDER_COL; + page = eina_list_nth(apps_view_s.page_list, page_index); + grid = elm_object_part_content_get(page, APPS_VIEW_GRID); + elm_grid_unpack(grid, item->app_layout); + } else if (apps_view_s.opened_folder && item->parent_db_id == apps_view_s.opened_folder->db_id) { + row = (item->position / APPS_FOLDER_COL) % APPS_FOLDER_ROW; + col = item->position % APPS_FOLDER_COL; - sprintf(icon_container, "icon_%d_%d", col, row); - if (elm_object_part_content_get(apps_view_s.folder_popup_ly, icon_container) != NULL) { - elm_object_part_content_unset(apps_view_s.folder_popup_ly, icon_container); - } - } + sprintf(icon_container, "icon_%d_%d", col, row); + if (elm_object_part_content_get(apps_view_s.folder_popup_ly, icon_container) != NULL) { + elm_object_part_content_unset(apps_view_s.folder_popup_ly, icon_container); + } + } } bool apps_view_icon_set(app_data_t *item) { - Evas_Object *page = NULL; - Evas_Object *grid = NULL; - int page_index; - int col, row; - int x, y; - int w, h; - char icon_container[STR_MAX]; - - if (item == NULL) - return false; - - LOGD("%s %d %d", item->app_id, item->parent_db_id, item->position); - if (item->parent_db_id == APPS_ROOT) { - w = APPS_VIEW_W / APPS_VIEW_COL; - h = APPS_VIEW_H / APPS_VIEW_ROW; - page_index = item->position / (APPS_VIEW_COL*APPS_VIEW_ROW); - row = (item->position / APPS_VIEW_COL) % APPS_VIEW_ROW; - col = item->position % APPS_VIEW_COL; - x = col * w; - y = row * h; - - if (eina_list_count(apps_view_s.page_list) < page_index+1) { - page = __apps_view_add_page(); - } else - page = eina_list_nth(apps_view_s.page_list, page_index); - - grid = elm_object_part_content_get(page, APPS_VIEW_GRID); - elm_grid_pack(grid, item->app_layout, x, y, w, h); - - LOGD("[%s] -> [%s], [%p] page : %d", item->app_id, icon_container, item->app_layout, page_index); - return true; - } else if (apps_view_s.opened_folder && item->parent_db_id == apps_view_s.opened_folder->db_id) { - row = (item->position / APPS_VIEW_COL) % APPS_FOLDER_ROW; - col = item->position % APPS_FOLDER_COL; - - sprintf(icon_container, "icon_%d_%d", col, row); - if (elm_object_part_content_get(apps_view_s.folder_popup_ly, icon_container) != NULL) { - LOGE("unset %p", elm_object_part_content_get(apps_view_s.folder_popup_ly, icon_container)); - elm_object_part_content_unset(apps_view_s.folder_popup_ly, icon_container); - } - elm_object_part_content_set(apps_view_s.folder_popup_ly, icon_container, item->app_layout); - LOGD("[%s] -> [%s], [%p]", item->app_id, icon_container, item->app_layout); - } - - return false; + Evas_Object *page = NULL; + Evas_Object *grid = NULL; + int page_index; + int col, row; + int x, y; + int w, h; + char icon_container[STR_MAX]; + + if (item == NULL) + return false; + + LOGD("%s %d %d", item->app_id, item->parent_db_id, item->position); + if (item->parent_db_id == APPS_ROOT) { + w = APPS_VIEW_W / APPS_VIEW_COL; + h = APPS_VIEW_H / APPS_VIEW_ROW; + page_index = item->position / (APPS_VIEW_COL*APPS_VIEW_ROW); + row = (item->position / APPS_VIEW_COL) % APPS_VIEW_ROW; + col = item->position % APPS_VIEW_COL; + x = col * w; + y = row * h; + + if (eina_list_count(apps_view_s.page_list) < page_index+1) { + page = __apps_view_add_page(); + } else + page = eina_list_nth(apps_view_s.page_list, page_index); + + grid = elm_object_part_content_get(page, APPS_VIEW_GRID); + elm_grid_pack(grid, item->app_layout, x, y, w, h); + + LOGD("[%s] -> [%s], [%p] page : %d", item->app_id, icon_container, item->app_layout, page_index); + return true; + } else if (apps_view_s.opened_folder && item->parent_db_id == apps_view_s.opened_folder->db_id) { + row = (item->position / APPS_VIEW_COL) % APPS_FOLDER_ROW; + col = item->position % APPS_FOLDER_COL; + + sprintf(icon_container, "icon_%d_%d", col, row); + if (elm_object_part_content_get(apps_view_s.folder_popup_ly, icon_container) != NULL) { + LOGE("unset %p", elm_object_part_content_get(apps_view_s.folder_popup_ly, icon_container)); + elm_object_part_content_unset(apps_view_s.folder_popup_ly, icon_container); + } + elm_object_part_content_set(apps_view_s.folder_popup_ly, icon_container, item->app_layout); + LOGD("[%s] -> [%s], [%p]", item->app_id, icon_container, item->app_layout); + } + + return false; } static void __apps_view_create_base_gui(Evas_Object *win) { - char edj_path[PATH_MAX] = {0, }; - apps_view_s.bg = elm_layout_add(win); - if (!apps_view_s.bg) { - LOGE("[FAILED][apps_view_s.bg==NULL]"); - return; - } - snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/apps_view_bg.edj")); - elm_layout_file_set(apps_view_s.bg, edj_path, GROUP_APPS_BG_LY); - evas_object_size_hint_weight_set(apps_view_s.bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(win, apps_view_s.bg); - evas_object_show(apps_view_s.bg); - - Evas_Object *rect = evas_object_rectangle_add(homescreen_efl_get_win()); - evas_object_color_set(rect, 0, 0, 0, 0); - evas_object_size_hint_min_set(rect, apps_view_s.width, apps_view_s.height); - evas_object_size_hint_max_set(rect, apps_view_s.width, apps_view_s.height); - evas_object_resize(rect, apps_view_s.width, apps_view_s.height); - elm_object_part_content_set(apps_view_s.bg, SIZE_SETTER, rect); - evas_object_show(rect); - - apps_view_s.event_block_bg = evas_object_rectangle_add(homescreen_efl_get_win()); - evas_object_color_set(apps_view_s.event_block_bg, 0, 0, 0, 0); - evas_object_resize(apps_view_s.event_block_bg, apps_view_s.width, CLUSTER_VIEW_H + INDICATOR_H); - evas_object_move(apps_view_s.event_block_bg, 0, 0); - evas_object_repeat_events_set(apps_view_s.event_block_bg, EINA_FALSE); - evas_object_hide(apps_view_s.event_block_bg); - - apps_view_s.scroller = elm_scroller_add(win); - if (!apps_view_s.scroller) { - LOGE("[FAILED][apps_view_s.scroller==NULL]"); - return; - } - elm_scroller_content_min_limit(apps_view_s.scroller, EINA_FALSE, EINA_FALSE); - elm_scroller_bounce_set(apps_view_s.scroller, EINA_FALSE, EINA_TRUE); - elm_scroller_policy_set(apps_view_s.scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); - elm_scroller_page_scroll_limit_set(apps_view_s.scroller, 1, 1); - evas_object_size_hint_weight_set(apps_view_s.scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - - elm_scroller_loop_set(apps_view_s.scroller, EINA_TRUE, EINA_FALSE); - elm_scroller_page_size_set(apps_view_s.scroller, APPS_VIEW_W, APPS_VIEW_H); - evas_object_resize(apps_view_s.scroller, APPS_VIEW_W , APPS_VIEW_H); - - evas_object_event_callback_add(apps_view_s.scroller, EVAS_CALLBACK_MOUSE_DOWN, __apps_view_scroller_down_cb, NULL); - evas_object_event_callback_add(apps_view_s.scroller, EVAS_CALLBACK_MOUSE_MOVE, __apps_view_scroller_move_cb, NULL); - evas_object_event_callback_add(apps_view_s.scroller, EVAS_CALLBACK_MOUSE_UP, __apps_view_scroller_up_cb, NULL); - - evas_object_smart_callback_add(apps_view_s.scroller, "scroll,anim,stop", __apps_view_scroll_anim_stop_cb, NULL); - - apps_view_s.box = elm_box_add(apps_view_s.scroller); - elm_box_horizontal_set(apps_view_s.box, EINA_TRUE); - elm_box_align_set(apps_view_s.box, 0.5, 0.5); - evas_object_show(apps_view_s.box); - - elm_object_content_set(apps_view_s.scroller, apps_view_s.box); - - apps_view_s.indicator = page_indictor_create(apps_view_s.scroller); - page_indicator_scroller_resize(apps_view_s.indicator, apps_view_s.width, apps_view_s.height); - page_indicator_hide(apps_view_s.indicator); - - __apps_view_add_page(); - page_indicator_set_current_page(apps_view_s.indicator, 0); + char edj_path[PATH_MAX] = {0, }; + apps_view_s.bg = elm_layout_add(win); + if (!apps_view_s.bg) { + LOGE("[FAILED][apps_view_s.bg==NULL]"); + return; + } + snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/apps_view_bg.edj")); + elm_layout_file_set(apps_view_s.bg, edj_path, GROUP_APPS_BG_LY); + evas_object_size_hint_weight_set(apps_view_s.bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_win_resize_object_add(win, apps_view_s.bg); + evas_object_show(apps_view_s.bg); + + Evas_Object *rect = evas_object_rectangle_add(homescreen_efl_get_win()); + evas_object_color_set(rect, 0, 0, 0, 0); + evas_object_size_hint_min_set(rect, apps_view_s.width, apps_view_s.height); + evas_object_size_hint_max_set(rect, apps_view_s.width, apps_view_s.height); + evas_object_resize(rect, apps_view_s.width, apps_view_s.height); + elm_object_part_content_set(apps_view_s.bg, SIZE_SETTER, rect); + evas_object_show(rect); + + apps_view_s.event_block_bg = evas_object_rectangle_add(homescreen_efl_get_win()); + evas_object_color_set(apps_view_s.event_block_bg, 0, 0, 0, 0); + evas_object_resize(apps_view_s.event_block_bg, apps_view_s.width, CLUSTER_VIEW_H + INDICATOR_H); + evas_object_move(apps_view_s.event_block_bg, 0, 0); + evas_object_repeat_events_set(apps_view_s.event_block_bg, EINA_FALSE); + evas_object_hide(apps_view_s.event_block_bg); + + apps_view_s.scroller = elm_scroller_add(win); + if (!apps_view_s.scroller) { + LOGE("[FAILED][apps_view_s.scroller==NULL]"); + return; + } + elm_scroller_content_min_limit(apps_view_s.scroller, EINA_FALSE, EINA_FALSE); + elm_scroller_bounce_set(apps_view_s.scroller, EINA_FALSE, EINA_TRUE); + elm_scroller_policy_set(apps_view_s.scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); + elm_scroller_page_scroll_limit_set(apps_view_s.scroller, 1, 1); + evas_object_size_hint_weight_set(apps_view_s.scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + + elm_scroller_loop_set(apps_view_s.scroller, EINA_TRUE, EINA_FALSE); + elm_scroller_page_size_set(apps_view_s.scroller, APPS_VIEW_W, APPS_VIEW_H); + evas_object_resize(apps_view_s.scroller, APPS_VIEW_W , APPS_VIEW_H); + + evas_object_event_callback_add(apps_view_s.scroller, EVAS_CALLBACK_MOUSE_DOWN, __apps_view_scroller_down_cb, NULL); + evas_object_event_callback_add(apps_view_s.scroller, EVAS_CALLBACK_MOUSE_MOVE, __apps_view_scroller_move_cb, NULL); + evas_object_event_callback_add(apps_view_s.scroller, EVAS_CALLBACK_MOUSE_UP, __apps_view_scroller_up_cb, NULL); + + evas_object_smart_callback_add(apps_view_s.scroller, "scroll,anim,stop", __apps_view_scroll_anim_stop_cb, NULL); + + apps_view_s.box = elm_box_add(apps_view_s.scroller); + elm_box_horizontal_set(apps_view_s.box, EINA_TRUE); + elm_box_align_set(apps_view_s.box, 0.5, 0.5); + evas_object_show(apps_view_s.box); + + elm_object_content_set(apps_view_s.scroller, apps_view_s.box); + + apps_view_s.indicator = page_indictor_create(apps_view_s.scroller); + page_indicator_scroller_resize(apps_view_s.indicator, apps_view_s.width, apps_view_s.height); + page_indicator_hide(apps_view_s.indicator); + + __apps_view_add_page(); + page_indicator_set_current_page(apps_view_s.indicator, 0); } static Evas_Object *__apps_view_add_page(void) { - char edj_path[PATH_MAX] = {0, }; - Evas_Object *page_ly = elm_layout_add(apps_view_s.box); + char edj_path[PATH_MAX] = {0, }; + Evas_Object *page_ly = elm_layout_add(apps_view_s.box); - snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/apps_view.edj")); - elm_layout_file_set(page_ly, edj_path, GROUP_APPS_LY); - evas_object_size_hint_weight_set(page_ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_resize(page_ly, APPS_VIEW_W, APPS_VIEW_H); + snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/apps_view.edj")); + elm_layout_file_set(page_ly, edj_path, GROUP_APPS_LY); + evas_object_size_hint_weight_set(page_ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_resize(page_ly, APPS_VIEW_W, APPS_VIEW_H); - Evas_Object *rect = evas_object_rectangle_add(homescreen_efl_get_win()); - evas_object_color_set(rect, 255, 255, 255, 0); - evas_object_size_hint_min_set(rect, APPS_VIEW_W, APPS_VIEW_H); - evas_object_size_hint_max_set(rect, APPS_VIEW_W, APPS_VIEW_H); - evas_object_resize(rect, APPS_VIEW_W, APPS_VIEW_H); - evas_object_show(rect); - elm_object_part_content_set(page_ly, SIZE_SETTER, rect); + Evas_Object *rect = evas_object_rectangle_add(homescreen_efl_get_win()); + evas_object_color_set(rect, 255, 255, 255, 0); + evas_object_size_hint_min_set(rect, APPS_VIEW_W, APPS_VIEW_H); + evas_object_size_hint_max_set(rect, APPS_VIEW_W, APPS_VIEW_H); + evas_object_resize(rect, APPS_VIEW_W, APPS_VIEW_H); + evas_object_show(rect); + elm_object_part_content_set(page_ly, SIZE_SETTER, rect); - Evas_Object *grid = elm_grid_add(apps_view_s.box); - evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_grid_size_set(grid, APPS_VIEW_W, APPS_VIEW_H); - elm_object_part_content_set(page_ly, APPS_VIEW_GRID, grid); - evas_object_show(page_ly); + Evas_Object *grid = elm_grid_add(apps_view_s.box); + evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_grid_size_set(grid, APPS_VIEW_W, APPS_VIEW_H); + elm_object_part_content_set(page_ly, APPS_VIEW_GRID, grid); + evas_object_show(page_ly); - Evas_Object *mapbuf; - mapbuf = elm_mapbuf_add(apps_view_s.box); + Evas_Object *mapbuf; + mapbuf = elm_mapbuf_add(apps_view_s.box); - elm_mapbuf_smooth_set(mapbuf, EINA_TRUE); - elm_mapbuf_alpha_set(mapbuf, EINA_TRUE); - elm_object_content_set(mapbuf, page_ly); - evas_object_show(mapbuf); + elm_mapbuf_smooth_set(mapbuf, EINA_TRUE); + elm_mapbuf_alpha_set(mapbuf, EINA_TRUE); + elm_object_content_set(mapbuf, page_ly); + evas_object_show(mapbuf); - elm_box_pack_end(apps_view_s.box, mapbuf); + elm_box_pack_end(apps_view_s.box, mapbuf); - evas_object_data_set(page_ly, "mapbuf", mapbuf); - elm_mapbuf_enabled_set(mapbuf, EINA_TRUE); + evas_object_data_set(page_ly, "mapbuf", mapbuf); + elm_mapbuf_enabled_set(mapbuf, EINA_TRUE); - apps_view_s.page_list = eina_list_append(apps_view_s.page_list, page_ly); - apps_view_s.page_count += 1; - page_indicator_set_page_count(apps_view_s.indicator, apps_view_s.page_count); - return page_ly; + apps_view_s.page_list = eina_list_append(apps_view_s.page_list, page_ly); + apps_view_s.page_count += 1; + page_indicator_set_page_count(apps_view_s.indicator, apps_view_s.page_count); + return page_ly; } static void __apps_view_remove_page(void) { - if (apps_view_s.page_count == 0) { - apps_view_s.page_count = 1; - return ; - } + if (apps_view_s.page_count == 0) { + apps_view_s.page_count = 1; + return ; + } - Evas_Object *item = eina_list_nth(apps_view_s.page_list, apps_view_s.page_count-1); - apps_view_s.page_list = eina_list_remove(apps_view_s.page_list, item); - apps_view_s.page_count -= 1; - if (apps_view_s.current_page >= apps_view_s.page_count) { - apps_view_s.current_page = apps_view_s.page_count - 1; - } + Evas_Object *item = eina_list_nth(apps_view_s.page_list, apps_view_s.page_count-1); + apps_view_s.page_list = eina_list_remove(apps_view_s.page_list, item); + apps_view_s.page_count -= 1; + if (apps_view_s.current_page >= apps_view_s.page_count) { + apps_view_s.current_page = apps_view_s.page_count - 1; + } - Evas_Object *mapbuf = evas_object_data_get(item, "mapbuf"); + Evas_Object *mapbuf = evas_object_data_get(item, "mapbuf"); - elm_scroller_page_bring_in(apps_view_s.scroller, apps_view_s.current_page, 0); - elm_box_unpack(apps_view_s.box, mapbuf); - page_indicator_set_page_count(apps_view_s.indicator, apps_view_s.page_count); - evas_object_del(mapbuf); - evas_object_del(item); + elm_scroller_page_bring_in(apps_view_s.scroller, apps_view_s.current_page, 0); + elm_box_unpack(apps_view_s.box, mapbuf); + page_indicator_set_page_count(apps_view_s.indicator, apps_view_s.page_count); + evas_object_del(mapbuf); + evas_object_del(item); } static void __apps_view_fill_apps(void *data, Ecore_Thread *th) { - Eina_List *list = apps_data_get_list(); - app_data_t *item = NULL; - Eina_List *find_list; + Eina_List *list = apps_data_get_list(); + app_data_t *item = NULL; + Eina_List *find_list; - EINA_LIST_FOREACH(list, find_list, item) { - if (item != NULL && item->parent_db_id == APPS_ROOT) { - item->app_layout = apps_view_create_icon(item); - } - } - apps_view_reorder(); + EINA_LIST_FOREACH(list, find_list, item) { + if (item != NULL && item->parent_db_id == APPS_ROOT) { + item->app_layout = apps_view_create_icon(item); + } + } + apps_view_reorder(); - int ret = BADGE_ERROR_NONE; - ret = badge_register_changed_cb(__apps_view_badge_update_cb, NULL); + int ret = BADGE_ERROR_NONE; + ret = badge_register_changed_cb(__apps_view_badge_update_cb, NULL); - if (ret != BADGE_ERROR_NONE) { - LOGE("badge_register_changed_cb failed [%d]", ret); - } + if (ret != BADGE_ERROR_NONE) { + LOGE("badge_register_changed_cb failed [%d]", ret); + } } static void __apps_view_folder_fill_apps(void) { - Eina_List *list = apps_data_get_list(); - app_data_t *item = NULL; - Eina_List *find_list; + Eina_List *list = apps_data_get_list(); + app_data_t *item = NULL; + Eina_List *find_list; - EINA_LIST_FOREACH(list, find_list, item) { - if (item != NULL && item->parent_db_id == apps_view_s.opened_folder->db_id) { - item->app_layout = apps_view_create_icon(item); - } - } - apps_view_folder_reroder(); + EINA_LIST_FOREACH(list, find_list, item) { + if (item != NULL && item->parent_db_id == apps_view_s.opened_folder->db_id) { + item->app_layout = apps_view_create_icon(item); + } + } + apps_view_folder_reroder(); } static void __apps_view_icon_clicked_cb(app_data_t *item) { - app_control_h app_control_handle = NULL; - feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TAP); - - if (item->is_folder) { - LOGD("%d(%s) folder clicked", item->db_id, item->label_str); - __apps_view_open_folder_popup(item); - } else if (apps_view_s.view_state == VIEW_STATE_NORMAL) { - LOGD("%s(%s) applciation clicked", item->app_id, item->owner); - if (app_control_create(&app_control_handle) != APP_CONTROL_ERROR_NONE) { - LOGE("[FAILED][app_control_create]"); - return; - } - /*if (app_control_set_operation(app_control_handle, APP_CONTROL_OPERATION_VIEW) != APP_CONTROL_ERROR_NONE) { - LOGE("[FAILED][app_control_set_operation]"); - app_control_destroy(app_control_handle); - return; - }*/ - if (item->type == APPS_DATA_TYPE_URI_SHORTCUT && item->uri && strlen(item->uri) && - app_control_set_uri(app_control_handle, item->uri) != APP_CONTROL_ERROR_NONE) { - LOGE("[FAILED][app_control_set_uri]"); - app_control_destroy(app_control_handle); - return; - } - if (app_control_set_app_id(app_control_handle, item->app_id) != APP_CONTROL_ERROR_NONE) { - LOGE("[FAILED][app_control_set_app_id]"); - app_control_destroy(app_control_handle); - return; - } - if (app_control_send_launch_request(app_control_handle, NULL, NULL) != APP_CONTROL_ERROR_NONE) { - LOGE("[FAILED][app_control_send_launch_request]"); - app_control_destroy(app_control_handle); - return; - } - app_control_destroy(app_control_handle); - } + app_control_h app_control_handle = NULL; + feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TAP); + + if (item->is_folder) { + LOGD("%d(%s) folder clicked", item->db_id, item->label_str); + __apps_view_open_folder_popup(item); + } else if (apps_view_s.view_state == VIEW_STATE_NORMAL) { + LOGD("%s(%s) applciation clicked", item->app_id, item->owner); + if (app_control_create(&app_control_handle) != APP_CONTROL_ERROR_NONE) { + LOGE("[FAILED][app_control_create]"); + return; + } + /*if (app_control_set_operation(app_control_handle, APP_CONTROL_OPERATION_VIEW) != APP_CONTROL_ERROR_NONE) { + LOGE("[FAILED][app_control_set_operation]"); + app_control_destroy(app_control_handle); + return; + }*/ + if (item->type == APPS_DATA_TYPE_URI_SHORTCUT && item->uri && strlen(item->uri) && + app_control_set_uri(app_control_handle, item->uri) != APP_CONTROL_ERROR_NONE) { + LOGE("[FAILED][app_control_set_uri]"); + app_control_destroy(app_control_handle); + return; + } + if (app_control_set_app_id(app_control_handle, item->app_id) != APP_CONTROL_ERROR_NONE) { + LOGE("[FAILED][app_control_set_app_id]"); + app_control_destroy(app_control_handle); + return; + } + if (app_control_send_launch_request(app_control_handle, NULL, NULL) != APP_CONTROL_ERROR_NONE) { + LOGE("[FAILED][app_control_send_launch_request]"); + app_control_destroy(app_control_handle); + return; + } + app_control_destroy(app_control_handle); + } } static void __apps_view_icon_uninstall_btn_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) { - app_data_t *item = (app_data_t *)data; - feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TAP); - - if (!item) { - LOGE("item is NULL"); - } - - LOGD("Uninstall :: %s", item->app_id); - if (item->is_folder) { - if (apps_data_get_folder_item_count(item) > 0) { - Evas_Smart_Cb func[3] = { __apps_view_delete_folder_cb, NULL, NULL }; - void *data[3] = { item, NULL, NULL }; - char btn_text[3][STR_MAX] = { "", "", "" }; - char title_text[STR_MAX] = { "" }; - char popup_text[STR_MAX] = { "" }; - snprintf(btn_text[0], sizeof(btn_text[0]), "%s", _("IDS_ST_BUTTON_REMOVE_ABB2")); - snprintf(btn_text[1], sizeof(btn_text[1]), "%s", _("IDS_CAM_SK_CANCEL")); - snprintf(title_text, sizeof(title_text), "%s", _("IDS_HS_HEADER_REMOVE_FOLDER_ABB")); - snprintf(popup_text, sizeof(popup_text), "%s", _("IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED")); - popup_show(2, func, data, btn_text, title_text, popup_text); - } else { - apps_data_delete_folder(item); - } - } else if (item->type >= APPS_DATA_TYPE_APP_SHORTCUT) { - LOGD("Delete shortcut"); - apps_data_delete_item(item); - } else { - Evas_Smart_Cb func[3] = { __apps_view_uninstall_app_cb, NULL, NULL }; - void *data[3] = { item, NULL, NULL }; - char btn_text[3][STR_MAX] = { "", "", "" }; - char title_text[STR_MAX] = { "" }; - char popup_text[STR_MAX] = { "" }; - snprintf(btn_text[0], sizeof(btn_text[0]), "%s", _("IDS_AT_BODY_UNINSTALL")); - snprintf(btn_text[1], sizeof(btn_text[1]), "%s", _("IDS_CAM_SK_CANCEL")); - snprintf(title_text, sizeof(title_text), "%s", _("IDS_AT_BODY_UNINSTALL")); - snprintf(popup_text, sizeof(popup_text), _("IDS_HS_POP_PS_WILL_BE_UNINSTALLED"), item->label_str); - popup_show(2, func, data, btn_text, title_text, popup_text); - } + app_data_t *item = (app_data_t *)data; + feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TAP); + + if (!item) { + LOGE("item is NULL"); + } + + LOGD("Uninstall :: %s", item->app_id); + if (item->is_folder) { + if (apps_data_get_folder_item_count(item) > 0) { + Evas_Smart_Cb func[3] = { __apps_view_delete_folder_cb, NULL, NULL }; + void *data[3] = { item, NULL, NULL }; + char btn_text[3][STR_MAX] = { "", "", "" }; + char title_text[STR_MAX] = { "" }; + char popup_text[STR_MAX] = { "" }; + snprintf(btn_text[0], sizeof(btn_text[0]), "%s", _("IDS_ST_BUTTON_REMOVE_ABB2")); + snprintf(btn_text[1], sizeof(btn_text[1]), "%s", _("IDS_CAM_SK_CANCEL")); + snprintf(title_text, sizeof(title_text), "%s", _("IDS_HS_HEADER_REMOVE_FOLDER_ABB")); + snprintf(popup_text, sizeof(popup_text), "%s", _("IDS_HS_BODY_FOLDER_WILL_BE_REMOVED_APPLICATIONS_IN_THIS_FOLDER_WILL_NOT_BE_UNINSTALLED")); + popup_show(2, func, data, btn_text, title_text, popup_text); + } else { + apps_data_delete_folder(item); + } + } else if (item->type >= APPS_DATA_TYPE_APP_SHORTCUT) { + LOGD("Delete shortcut"); + apps_data_delete_item(item); + } else { + Evas_Smart_Cb func[3] = { __apps_view_uninstall_app_cb, NULL, NULL }; + void *data[3] = { item, NULL, NULL }; + char btn_text[3][STR_MAX] = { "", "", "" }; + char title_text[STR_MAX] = { "" }; + char popup_text[STR_MAX] = { "" }; + snprintf(btn_text[0], sizeof(btn_text[0]), "%s", _("IDS_AT_BODY_UNINSTALL")); + snprintf(btn_text[1], sizeof(btn_text[1]), "%s", _("IDS_CAM_SK_CANCEL")); + snprintf(title_text, sizeof(title_text), "%s", _("IDS_AT_BODY_UNINSTALL")); + snprintf(popup_text, sizeof(popup_text), _("IDS_HS_POP_PS_WILL_BE_UNINSTALLED"), item->label_str); + popup_show(2, func, data, btn_text, title_text, popup_text); + } } static void __apps_view_delete_folder_cb(void *data, Evas_Object *obj, void *event_info) { - popup_hide(); - app_data_t *item = (app_data_t *)data; - apps_data_delete_folder(item); + popup_hide(); + app_data_t *item = (app_data_t *)data; + apps_data_delete_folder(item); } static void __apps_view_uninstall_app_cb(void *data, Evas_Object *obj, void *event_info) { - app_data_t *item = (app_data_t *)data; - package_manager_request_h request; - int id = 0; - - popup_hide(); - - if (package_manager_request_create(&request) != PACKAGE_MANAGER_ERROR_NONE) { - LOGE("Could not create unistall request. App: %s", item->pkg_id); - return; - } - int ret = package_manager_request_set_mode(request, PACKAGE_MANAGER_REQUEST_MODE_DEFAULT); - if (ret != PACKAGE_MANAGER_ERROR_NONE) { - LOGE("Could not set request mode. App: %s", item->pkg_id); - return; - } - if (package_manager_request_uninstall(request, item->pkg_id, &id) != PACKAGE_MANAGER_ERROR_NONE) { - LOGE("Could not uninstall application. App: %s", item->pkg_id); - return; - } - if (package_manager_request_destroy(request) != PACKAGE_MANAGER_ERROR_NONE) { - LOGE("Could not destroy unistall request. App: %s", item->pkg_id); - return; - } + app_data_t *item = (app_data_t *)data; + package_manager_request_h request; + int id = 0; + + popup_hide(); + + if (package_manager_request_create(&request) != PACKAGE_MANAGER_ERROR_NONE) { + LOGE("Could not create unistall request. App: %s", item->pkg_id); + return; + } + int ret = package_manager_request_set_mode(request, PACKAGE_MANAGER_REQUEST_MODE_DEFAULT); + if (ret != PACKAGE_MANAGER_ERROR_NONE) { + LOGE("Could not set request mode. App: %s", item->pkg_id); + return; + } + if (package_manager_request_uninstall(request, item->pkg_id, &id) != PACKAGE_MANAGER_ERROR_NONE) { + LOGE("Could not uninstall application. App: %s", item->pkg_id); + return; + } + if (package_manager_request_destroy(request) != PACKAGE_MANAGER_ERROR_NONE) { + LOGE("Could not destroy unistall request. App: %s", item->pkg_id); + return; + } } static void __apps_view_icon_check_changed_cb(void *data, Evas_Object *obj, const char *emission, const char *source) { - app_data_t *item = (app_data_t *)data; - - if (apps_view_s.view_state != VIEW_STATE_CHOOSER) - return; - - if (item->is_checked) { - LOGD("%s - uncheck", item->label_str); - elm_object_signal_emit(item->app_layout, SIGNAL_UNCHECK_CHECK_BOX, SIGNAL_SOURCE); - apps_view_s.selected_items = eina_list_remove(apps_view_s.selected_items, item); - item->is_checked = !item->is_checked; - - if (apps_view_s.opened_folder && item->parent_db_id == apps_view_s.opened_folder->db_id) { - bool blank = true; - Eina_List *list = NULL; - app_data_t *folder_item = NULL; - Eina_List *find_list; - - apps_data_get_folder_item_list(&list, apps_view_s.opened_folder); - - EINA_LIST_FOREACH(list, find_list, folder_item) { - if (folder_item->is_checked) { - blank = false; - break; - } - } - if (blank) { - elm_object_signal_emit(apps_view_s.opened_folder->app_layout, SIGNAL_UNCHECK_CHECK_BOX, SIGNAL_SOURCE); - } else { - elm_object_signal_emit(apps_view_s.opened_folder->app_layout, SIGNAL_CHECK_HALF_CHECK_BOX, SIGNAL_SOURCE); - } - } - } else { - int item_count = eina_list_count(apps_view_s.selected_items); - if (apps_view_s.selected_item_count + item_count >= APPS_FOLDER_MAX_ITEM) { - LOGD("checked item : %d > HOME_FOLDER_MAX_ITEM(9)", item_count); - char str[1024]; - sprintf(str, _("IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"), APPS_FOLDER_MAX_ITEM); - toast_show(str); - } else { - LOGD("%s - check", item->label_str); - elm_object_signal_emit(item->app_layout, SIGNAL_CHECK_CHECK_BOX, SIGNAL_SOURCE); - apps_view_s.selected_items = eina_list_append(apps_view_s.selected_items, item); - item->is_checked = !item->is_checked; - - if (apps_view_s.opened_folder && item->parent_db_id == apps_view_s.opened_folder->db_id) { - bool all_check = true; - Eina_List *list = NULL; - app_data_t *folder_item = NULL; - Eina_List *find_list; - - apps_data_get_folder_item_list(&list, apps_view_s.opened_folder); - - EINA_LIST_FOREACH(list, find_list, folder_item) { - if (!folder_item->is_checked) { - all_check = false; - break; - } - } - if (all_check) { - elm_object_signal_emit(apps_view_s.opened_folder->app_layout, SIGNAL_CHECK_CHECK_BOX, SIGNAL_SOURCE); - } else { - elm_object_signal_emit(apps_view_s.opened_folder->app_layout, SIGNAL_CHECK_HALF_CHECK_BOX, SIGNAL_SOURCE); - } - } - } - } - __apps_view_update_chooser_text(eina_list_count(apps_view_s.selected_items)); + app_data_t *item = (app_data_t *)data; + + if (apps_view_s.view_state != VIEW_STATE_CHOOSER) + return; + + if (item->is_checked) { + LOGD("%s - uncheck", item->label_str); + elm_object_signal_emit(item->app_layout, SIGNAL_UNCHECK_CHECK_BOX, SIGNAL_SOURCE); + apps_view_s.selected_items = eina_list_remove(apps_view_s.selected_items, item); + item->is_checked = !item->is_checked; + + if (apps_view_s.opened_folder && item->parent_db_id == apps_view_s.opened_folder->db_id) { + bool blank = true; + Eina_List *list = NULL; + app_data_t *folder_item = NULL; + Eina_List *find_list; + + apps_data_get_folder_item_list(&list, apps_view_s.opened_folder); + + EINA_LIST_FOREACH(list, find_list, folder_item) { + if (folder_item->is_checked) { + blank = false; + break; + } + } + if (blank) { + elm_object_signal_emit(apps_view_s.opened_folder->app_layout, SIGNAL_UNCHECK_CHECK_BOX, SIGNAL_SOURCE); + } else { + elm_object_signal_emit(apps_view_s.opened_folder->app_layout, SIGNAL_CHECK_HALF_CHECK_BOX, SIGNAL_SOURCE); + } + } + } else { + int item_count = eina_list_count(apps_view_s.selected_items); + if (apps_view_s.selected_item_count + item_count >= APPS_FOLDER_MAX_ITEM) { + LOGD("checked item : %d > HOME_FOLDER_MAX_ITEM(9)", item_count); + char str[1024]; + sprintf(str, _("IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"), APPS_FOLDER_MAX_ITEM); + toast_show(str); + } else { + LOGD("%s - check", item->label_str); + elm_object_signal_emit(item->app_layout, SIGNAL_CHECK_CHECK_BOX, SIGNAL_SOURCE); + apps_view_s.selected_items = eina_list_append(apps_view_s.selected_items, item); + item->is_checked = !item->is_checked; + + if (apps_view_s.opened_folder && item->parent_db_id == apps_view_s.opened_folder->db_id) { + bool all_check = true; + Eina_List *list = NULL; + app_data_t *folder_item = NULL; + Eina_List *find_list; + + apps_data_get_folder_item_list(&list, apps_view_s.opened_folder); + + EINA_LIST_FOREACH(list, find_list, folder_item) { + if (!folder_item->is_checked) { + all_check = false; + break; + } + } + if (all_check) { + elm_object_signal_emit(apps_view_s.opened_folder->app_layout, SIGNAL_CHECK_CHECK_BOX, SIGNAL_SOURCE); + } else { + elm_object_signal_emit(apps_view_s.opened_folder->app_layout, SIGNAL_CHECK_HALF_CHECK_BOX, SIGNAL_SOURCE); + } + } + } + } + __apps_view_update_chooser_text(eina_list_count(apps_view_s.selected_items)); } void apps_view_hw_menu_key(void) { - if (apps_view_s.view_state == VIEW_STATE_NORMAL) - menu_change_state_on_hw_menu_key(apps_menu_table); + if (apps_view_s.view_state == VIEW_STATE_NORMAL) + menu_change_state_on_hw_menu_key(apps_menu_table); } bool apps_view_hw_home_key(void) { - if (apps_view_s.opened_folder != NULL) { - __apps_view_close_folder_popup(apps_view_s.opened_folder); - } + if (apps_view_s.opened_folder != NULL) { + __apps_view_close_folder_popup(apps_view_s.opened_folder); + } - if (apps_view_s.view_state != VIEW_STATE_NORMAL) - apps_view_set_state(VIEW_STATE_NORMAL); + if (apps_view_s.view_state != VIEW_STATE_NORMAL) + apps_view_set_state(VIEW_STATE_NORMAL); - return false; + return false; } bool apps_view_hw_back_key(void) { - LOGD("%d", apps_view_s.pre_view_state); - if (apps_view_s.opened_folder != NULL) { - __apps_view_close_folder_popup(apps_view_s.opened_folder); - return true; - } + LOGD("%d", apps_view_s.pre_view_state); + if (apps_view_s.opened_folder != NULL) { + __apps_view_close_folder_popup(apps_view_s.opened_folder); + return true; + } - if (apps_view_s.view_state == VIEW_STATE_NORMAL) - return false; + if (apps_view_s.view_state == VIEW_STATE_NORMAL) + return false; - if (apps_view_s.view_state == VIEW_STATE_CHOOSER) { - apps_view_set_state(apps_view_s.pre_view_state); - } else if (apps_view_s.view_state == VIEW_STATE_EDIT) { - apps_view_set_state(VIEW_STATE_NORMAL); - } + if (apps_view_s.view_state == VIEW_STATE_CHOOSER) { + apps_view_set_state(apps_view_s.pre_view_state); + } else if (apps_view_s.view_state == VIEW_STATE_EDIT) { + apps_view_set_state(VIEW_STATE_NORMAL); + } - return true; + return true; } view_state_t apps_view_get_state(void) { - return apps_view_s.view_state; + return apps_view_s.view_state; } void apps_view_set_state(view_state_t state) { - if (state == VIEW_STATE_EDIT) { - homescreen_efl_btn_hide(HOMESCREEN_VIEW_APPS); - - if (apps_view_s.view_state != VIEW_STATE_CHOOSER) - elm_object_signal_emit(apps_view_s.bg, SIGNAL_EDIT_MODE_ON_ANI, SIGNAL_SOURCE); - - Eina_List *find_list = NULL; - Evas_Object *page_ly; - int page_index = 0; - EINA_LIST_FOREACH(apps_view_s.page_list, find_list, page_ly) { - if (page_index == apps_view_s.current_page) - elm_object_signal_emit(page_ly, SIGNAL_EDIT_MODE_ON_ANI, SIGNAL_SOURCE); - else - elm_object_signal_emit(page_ly, SIGNAL_EDIT_MODE_ON, SIGNAL_SOURCE); - page_index ++; - } - - Eina_List *data_list = apps_data_get_list(); - app_data_t *item = NULL; - EINA_LIST_FOREACH(data_list, find_list, item) { - if (item->app_layout) { - elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_OFF, SIGNAL_SOURCE); - - if (item != apps_view_s.picked_item) - __apps_view__set_icon_label_style(item, VIEW_STATE_EDIT); - if (item->is_removable && item != apps_view_s.picked_item) - elm_object_signal_emit(item->app_layout, SIGNAL_UNINSTALL_BUTTON_SHOW_ANI, SIGNAL_SOURCE); - elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_OFF, SIGNAL_SOURCE); - } - } - if (apps_view_s.dest_folder) - elm_object_signal_emit(apps_view_s.dest_folder->app_layout, SIGNAL_ICON_ENABLE, SIGNAL_SOURCE); - elm_object_signal_emit(apps_view_s.chooser_btn, SIGNAL_CHOOSER_BUTTON_HIDE, SIGNAL_SOURCE); - - } else if (state == VIEW_STATE_CHOOSER) { - homescreen_efl_btn_hide(HOMESCREEN_VIEW_APPS); - elm_win_indicator_mode_set(homescreen_efl_get_win(), ELM_WIN_INDICATOR_HIDE); - - if (apps_view_s.view_state != VIEW_STATE_EDIT) - elm_object_signal_emit(apps_view_s.bg, SIGNAL_EDIT_MODE_ON_ANI, SIGNAL_SOURCE); - Eina_List *find_list = NULL; - Evas_Object *page_ly; - int page_index = 0; - EINA_LIST_FOREACH(apps_view_s.page_list, find_list, page_ly) { - if (page_index == apps_view_s.current_page) - elm_object_signal_emit(page_ly, SIGNAL_EDIT_MODE_ON_ANI, SIGNAL_SOURCE); - else - elm_object_signal_emit(page_ly, SIGNAL_EDIT_MODE_ON, SIGNAL_SOURCE); - page_index ++; - } - - Eina_List *data_list = apps_data_get_list(); - app_data_t *item = NULL; - EINA_LIST_FOREACH(data_list, find_list, item) { - if (item->app_layout) { - __apps_view__set_icon_label_style(item, VIEW_STATE_CHOOSER); - if (!item->is_folder) - elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_ON, SIGNAL_SOURCE); - else if (item != apps_view_s.dest_folder) - elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_ON_FOLDER, SIGNAL_SOURCE); - elm_object_signal_emit(item->app_layout, SIGNAL_UNINSTALL_BUTTON_HIDE_ANI, SIGNAL_SOURCE); - } - } - - elm_object_signal_emit(apps_view_s.chooser_btn, SIGNAL_CHOOSER_BUTTON_SHOW, SIGNAL_SOURCE); - } else if (state == VIEW_STATE_NORMAL) { - homescreen_efl_btn_show(HOMESCREEN_VIEW_APPS); - elm_win_indicator_mode_set(homescreen_efl_get_win(), ELM_WIN_INDICATOR_SHOW); - - Evas_Object *edje = NULL; - edje = elm_layout_edje_get(apps_view_s.bg); - if (!edje) { - LOGE("Failed to get edje from layout"); - return; - } - - edje_object_signal_emit(edje, SIGNAL_EDIT_MODE_OFF_ANI, SIGNAL_SOURCE); - - Eina_List *find_list = NULL; - Evas_Object *page_ly; - EINA_LIST_FOREACH(apps_view_s.page_list, find_list, page_ly) { - elm_object_signal_emit(page_ly, SIGNAL_EDIT_MODE_OFF_ANI, SIGNAL_SOURCE); - } - Eina_List *data_list = apps_data_get_list(); - app_data_t *item = NULL; - EINA_LIST_FOREACH(data_list, find_list, item) { - if (item->app_layout) { - __apps_view__set_icon_label_style(item, VIEW_STATE_NORMAL); - elm_object_signal_emit(item->app_layout, SIGNAL_UNINSTALL_BUTTON_HIDE_ANI, SIGNAL_SOURCE); - elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_OFF, SIGNAL_SOURCE); - } - item->is_checked = false; - } - if (apps_view_s.dest_folder) - elm_object_signal_emit(apps_view_s.dest_folder->app_layout, SIGNAL_ICON_ENABLE, SIGNAL_SOURCE); - apps_view_s.selected_items = eina_list_free(apps_view_s.selected_items); - apps_view_s.dest_folder = NULL; - apps_view_s.selected_item_count = 0; - elm_object_signal_emit(apps_view_s.chooser_btn, SIGNAL_CHOOSER_BUTTON_HIDE, SIGNAL_SOURCE); - } - - apps_view_s.pre_view_state = apps_view_s.view_state; - apps_view_s.view_state = state; + if (state == VIEW_STATE_EDIT) { + homescreen_efl_btn_hide(HOMESCREEN_VIEW_APPS); + + if (apps_view_s.view_state != VIEW_STATE_CHOOSER) + elm_object_signal_emit(apps_view_s.bg, SIGNAL_EDIT_MODE_ON_ANI, SIGNAL_SOURCE); + + Eina_List *find_list = NULL; + Evas_Object *page_ly; + int page_index = 0; + EINA_LIST_FOREACH(apps_view_s.page_list, find_list, page_ly) { + if (page_index == apps_view_s.current_page) + elm_object_signal_emit(page_ly, SIGNAL_EDIT_MODE_ON_ANI, SIGNAL_SOURCE); + else + elm_object_signal_emit(page_ly, SIGNAL_EDIT_MODE_ON, SIGNAL_SOURCE); + page_index++; + } + + Eina_List *data_list = apps_data_get_list(); + app_data_t *item = NULL; + EINA_LIST_FOREACH(data_list, find_list, item) { + if (item->app_layout) { + elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_OFF, SIGNAL_SOURCE); + + if (item != apps_view_s.picked_item) + __apps_view__set_icon_label_style(item, VIEW_STATE_EDIT); + if (item->is_removable && item != apps_view_s.picked_item) + elm_object_signal_emit(item->app_layout, SIGNAL_UNINSTALL_BUTTON_SHOW_ANI, SIGNAL_SOURCE); + elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_OFF, SIGNAL_SOURCE); + } + } + if (apps_view_s.dest_folder) + elm_object_signal_emit(apps_view_s.dest_folder->app_layout, SIGNAL_ICON_ENABLE, SIGNAL_SOURCE); + elm_object_signal_emit(apps_view_s.chooser_btn, SIGNAL_CHOOSER_BUTTON_HIDE, SIGNAL_SOURCE); + + } else if (state == VIEW_STATE_CHOOSER) { + homescreen_efl_btn_hide(HOMESCREEN_VIEW_APPS); + elm_win_indicator_mode_set(homescreen_efl_get_win(), ELM_WIN_INDICATOR_HIDE); + + if (apps_view_s.view_state != VIEW_STATE_EDIT) + elm_object_signal_emit(apps_view_s.bg, SIGNAL_EDIT_MODE_ON_ANI, SIGNAL_SOURCE); + Eina_List *find_list = NULL; + Evas_Object *page_ly; + int page_index = 0; + EINA_LIST_FOREACH(apps_view_s.page_list, find_list, page_ly) { + if (page_index == apps_view_s.current_page) + elm_object_signal_emit(page_ly, SIGNAL_EDIT_MODE_ON_ANI, SIGNAL_SOURCE); + else + elm_object_signal_emit(page_ly, SIGNAL_EDIT_MODE_ON, SIGNAL_SOURCE); + page_index++; + } + + Eina_List *data_list = apps_data_get_list(); + app_data_t *item = NULL; + EINA_LIST_FOREACH(data_list, find_list, item) { + if (item->app_layout) { + __apps_view__set_icon_label_style(item, VIEW_STATE_CHOOSER); + if (!item->is_folder) + elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_ON, SIGNAL_SOURCE); + else if (item != apps_view_s.dest_folder) + elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_ON_FOLDER, SIGNAL_SOURCE); + elm_object_signal_emit(item->app_layout, SIGNAL_UNINSTALL_BUTTON_HIDE_ANI, SIGNAL_SOURCE); + } + } + + elm_object_signal_emit(apps_view_s.chooser_btn, SIGNAL_CHOOSER_BUTTON_SHOW, SIGNAL_SOURCE); + } else if (state == VIEW_STATE_NORMAL) { + homescreen_efl_btn_show(HOMESCREEN_VIEW_APPS); + elm_win_indicator_mode_set(homescreen_efl_get_win(), ELM_WIN_INDICATOR_SHOW); + + Evas_Object *edje = NULL; + edje = elm_layout_edje_get(apps_view_s.bg); + if (!edje) { + LOGE("Failed to get edje from layout"); + return; + } + + edje_object_signal_emit(edje, SIGNAL_EDIT_MODE_OFF_ANI, SIGNAL_SOURCE); + + Eina_List *find_list = NULL; + Evas_Object *page_ly; + EINA_LIST_FOREACH(apps_view_s.page_list, find_list, page_ly) { + elm_object_signal_emit(page_ly, SIGNAL_EDIT_MODE_OFF_ANI, SIGNAL_SOURCE); + } + Eina_List *data_list = apps_data_get_list(); + app_data_t *item = NULL; + EINA_LIST_FOREACH(data_list, find_list, item) { + if (item->app_layout) { + __apps_view__set_icon_label_style(item, VIEW_STATE_NORMAL); + elm_object_signal_emit(item->app_layout, SIGNAL_UNINSTALL_BUTTON_HIDE_ANI, SIGNAL_SOURCE); + elm_object_signal_emit(item->app_layout, SIGNAL_CHOOSER_MODE_OFF, SIGNAL_SOURCE); + } + item->is_checked = false; + } + if (apps_view_s.dest_folder) + elm_object_signal_emit(apps_view_s.dest_folder->app_layout, SIGNAL_ICON_ENABLE, SIGNAL_SOURCE); + apps_view_s.selected_items = eina_list_free(apps_view_s.selected_items); + apps_view_s.dest_folder = NULL; + apps_view_s.selected_item_count = 0; + elm_object_signal_emit(apps_view_s.chooser_btn, SIGNAL_CHOOSER_BUTTON_HIDE, SIGNAL_SOURCE); + } + + apps_view_s.pre_view_state = apps_view_s.view_state; + apps_view_s.view_state = state; } void apps_view_update_folder_icon(app_data_t* item) { - Eina_List *folder_list = NULL; - Eina_List *find_list; - app_data_t *temp_item; - char folder_item_count_string[STR_MAX]; - Evas_Object *icon_image = NULL; - - int item_count = 0; - int i; - apps_data_get_folder_item_list(&folder_list, item); - item_count = eina_list_count(folder_list); - LOGD("item_count %d", item_count); - - for (i = 0, find_list = folder_list, temp_item = eina_list_data_get(find_list); - i < 4 && find_list; - i++, find_list = eina_list_next(find_list), temp_item = eina_list_data_get(find_list)) { - LOGD("%s", temp_item->label_str); - sprintf(folder_item_count_string, "icon_%d", i); - LOGD("%s", folder_item_count_string); - icon_image = elm_image_add(item->folder_layout); - elm_image_file_set(icon_image, temp_item->icon_path_str, NULL); - evas_object_size_hint_weight_set(icon_image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_object_part_content_set(item->folder_layout, folder_item_count_string, icon_image); - evas_object_show(icon_image); - } - sprintf(folder_item_count_string, "set_item_count_%d", item_count > 4 ? 4 : item_count); - LOGD("%s", folder_item_count_string); - elm_object_signal_emit(item->folder_layout, folder_item_count_string, SIGNAL_SOURCE); - evas_object_show(item->folder_layout); - eina_list_free(folder_list); + Eina_List *folder_list = NULL; + Eina_List *find_list; + app_data_t *temp_item; + char folder_item_count_string[STR_MAX]; + Evas_Object *icon_image = NULL; + + int item_count = 0; + int i; + apps_data_get_folder_item_list(&folder_list, item); + item_count = eina_list_count(folder_list); + LOGD("item_count %d", item_count); + + for (i = 0, find_list = folder_list, temp_item = eina_list_data_get(find_list); + i < 4 && find_list; + i++, find_list = eina_list_next(find_list), temp_item = eina_list_data_get(find_list)) { + LOGD("%s", temp_item->label_str); + sprintf(folder_item_count_string, "icon_%d", i); + LOGD("%s", folder_item_count_string); + icon_image = elm_image_add(item->folder_layout); + elm_image_file_set(icon_image, temp_item->icon_path_str, NULL); + evas_object_size_hint_weight_set(icon_image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_object_part_content_set(item->folder_layout, folder_item_count_string, icon_image); + evas_object_show(icon_image); + } + sprintf(folder_item_count_string, "set_item_count_%d", item_count > 4 ? 4 : item_count); + LOGD("%s", folder_item_count_string); + elm_object_signal_emit(item->folder_layout, folder_item_count_string, SIGNAL_SOURCE); + evas_object_show(item->folder_layout); + eina_list_free(folder_list); } static void __apps_view_create_menu(void) { - apps_menu_table = eina_hash_int32_new(NULL); - eina_hash_add(apps_menu_table, &apps_menu_list[0], __apps_view_menu_edit_cb); - eina_hash_add(apps_menu_table, &apps_menu_list[1], __apps_view_menu_create_folder_cb); + apps_menu_table = eina_hash_int32_new(NULL); + eina_hash_add(apps_menu_table, &apps_menu_list[0], __apps_view_menu_edit_cb); + eina_hash_add(apps_menu_table, &apps_menu_list[1], __apps_view_menu_create_folder_cb); } static void __apps_view_menu_edit_cb(void *data, Evas_Object *obj, void *event_info) { - menu_hide(); + menu_hide(); - apps_view_set_state(VIEW_STATE_EDIT); + apps_view_set_state(VIEW_STATE_EDIT); } static void __apps_view_menu_create_folder_cb(void *data, Evas_Object *obj, void *event_info) { - menu_hide(); + menu_hide(); - apps_view_s.dest_folder = apps_data_add_folder(); - __apps_view_open_folder_popup(apps_view_s.dest_folder); + apps_view_s.dest_folder = apps_data_add_folder(); + __apps_view_open_folder_popup(apps_view_s.dest_folder); } void apps_view_icon_add(app_data_t *item) { - if (item->parent_db_id == APPS_ROOT) - apps_view_create_icon(item); - else - LOGE("Parent is NOT APPS_ROOT"); + if (item->parent_db_id == APPS_ROOT) + apps_view_create_icon(item); + else + LOGE("Parent is NOT APPS_ROOT"); } static void __apps_view_open_folder_popup(app_data_t *item) { - if (apps_view_s.animator != NULL) { - LOGE("apps_view_s.animator != NULL"); - return ; - } + if (apps_view_s.animator != NULL) { + LOGE("apps_view_s.animator != NULL"); + return ; + } - char edj_path[PATH_MAX] = {0, }; - snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/apps_folder_popup.edj")); + char edj_path[PATH_MAX] = {0, }; + snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/apps_folder_popup.edj")); - apps_view_s.opened_folder = item; + apps_view_s.opened_folder = item; - apps_view_s.folder_popup_ly = elm_layout_add(homescreen_efl_get_win()); - elm_layout_file_set(apps_view_s.folder_popup_ly , edj_path, GROUP_APPS_FOLDER_POPUP_LY); - evas_object_size_hint_weight_set(apps_view_s.folder_popup_ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_resize(apps_view_s.folder_popup_ly, apps_view_s.width, apps_view_s.height); + apps_view_s.folder_popup_ly = elm_layout_add(homescreen_efl_get_win()); + elm_layout_file_set(apps_view_s.folder_popup_ly , edj_path, GROUP_APPS_FOLDER_POPUP_LY); + evas_object_size_hint_weight_set(apps_view_s.folder_popup_ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_resize(apps_view_s.folder_popup_ly, apps_view_s.width, apps_view_s.height); - Evas_Object *entry = elm_entry_add(apps_view_s.folder_popup_ly); - apps_view_s.folder_title_entry = entry; - evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_entry_single_line_set(entry, EINA_TRUE); - elm_entry_scrollable_set(entry, EINA_TRUE); - evas_object_show(entry); + Evas_Object *entry = elm_entry_add(apps_view_s.folder_popup_ly); + apps_view_s.folder_title_entry = entry; + evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_entry_single_line_set(entry, EINA_TRUE); + elm_entry_scrollable_set(entry, EINA_TRUE); + evas_object_show(entry); - char style_string[STR_MAX] = {0, }; - snprintf(style_string, sizeof(style_string), "%s", _("IDS_COM_HEADER_UNNAMED_FOLDER")); - elm_object_part_text_set(entry, "elm.guide", style_string); + char style_string[STR_MAX] = {0, }; + snprintf(style_string, sizeof(style_string), "%s", _("IDS_COM_HEADER_UNNAMED_FOLDER")); + elm_object_part_text_set(entry, "elm.guide", style_string); - elm_entry_input_panel_return_key_type_set(entry, ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE); + elm_entry_input_panel_return_key_type_set(entry, ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE); - evas_object_smart_callback_add(entry, "activated", __apps_view_folder_entry_done_cb, entry); + evas_object_smart_callback_add(entry, "activated", __apps_view_folder_entry_done_cb, entry); - elm_entry_text_style_user_push(entry, "DEFAULT='font=Tizen:style=Regular align=center color=#4DE7FFFF font_size=40 wrap=none'"); - elm_entry_entry_set(entry, apps_view_s.opened_folder->label_str); - elm_object_part_content_set(apps_view_s.folder_popup_ly, APPS_FOLDER_TITLE, entry); + elm_entry_text_style_user_push(entry, "DEFAULT='font=Tizen:style=Regular align=center color=#4DE7FFFF font_size=40 wrap=none'"); + elm_entry_entry_set(entry, apps_view_s.opened_folder->label_str); + elm_object_part_content_set(apps_view_s.folder_popup_ly, APPS_FOLDER_TITLE, entry); - __apps_view_folder_fill_apps(); + __apps_view_folder_fill_apps(); - evas_object_color_set(apps_view_s.folder_popup_ly, 255, 255, 255, 0); - apps_view_s.animator = ecore_animator_timeline_add(HOME_FOLDR_ANIMATION_TIME, __apps_view_show_folder_anim, NULL); - elm_object_signal_callback_add(apps_view_s.folder_popup_ly, SIGNAL_APPS_FOLDER_HIDE, SIGNAL_SOURCE, - __apps_view_hide_folder_cb, NULL); + evas_object_color_set(apps_view_s.folder_popup_ly, 255, 255, 255, 0); + apps_view_s.animator = ecore_animator_timeline_add(HOME_FOLDR_ANIMATION_TIME, __apps_view_show_folder_anim, NULL); + elm_object_signal_callback_add(apps_view_s.folder_popup_ly, SIGNAL_APPS_FOLDER_HIDE, SIGNAL_SOURCE, + __apps_view_hide_folder_cb, NULL); - evas_object_show(apps_view_s.folder_popup_ly); + evas_object_show(apps_view_s.folder_popup_ly); } static Eina_Bool __apps_view_show_folder_anim(void *data, double pos) { - evas_object_color_set(apps_view_s.folder_popup_ly, 255, 255, 255, pos*255); + evas_object_color_set(apps_view_s.folder_popup_ly, 255, 255, 255, pos*255); - if (pos >= (1.0 - (1e-10))) { - evas_object_color_set(apps_view_s.folder_popup_ly, 255, 255, 255, 255); - apps_view_s.animator = NULL; - return ECORE_CALLBACK_DONE; - } + if (pos >= (1.0 - (1e-10))) { + evas_object_color_set(apps_view_s.folder_popup_ly, 255, 255, 255, 255); + apps_view_s.animator = NULL; + return ECORE_CALLBACK_DONE; + } - return ECORE_CALLBACK_RENEW; + return ECORE_CALLBACK_RENEW; } static Eina_Bool __apps_view_hide_folder_anim(void *data, double pos) { - evas_object_color_set(apps_view_s.folder_popup_ly, 255, 255, 255, (1-pos)*255); - if (pos >= (1.0 - (1e-10))) { - evas_object_color_set(apps_view_s.folder_popup_ly, 255, 255, 255, 0); - __apps_view_close_folder_popup_done(); - apps_view_s.animator = NULL; - return ECORE_CALLBACK_DONE; - } + evas_object_color_set(apps_view_s.folder_popup_ly, 255, 255, 255, (1-pos)*255); + if (pos >= (1.0 - (1e-10))) { + evas_object_color_set(apps_view_s.folder_popup_ly, 255, 255, 255, 0); + __apps_view_close_folder_popup_done(); + apps_view_s.animator = NULL; + return ECORE_CALLBACK_DONE; + } - return ECORE_CALLBACK_RENEW; + return ECORE_CALLBACK_RENEW; } static void __apps_view_close_folder_popup(app_data_t *item) { - if (apps_view_s.animator != NULL) { - LOGE("apps_view_s.animator != NULL"); - return ; - } + if (apps_view_s.animator != NULL) { + LOGE("apps_view_s.animator != NULL"); + return ; + } - apps_view_s.animator = ecore_animator_timeline_add(HOME_FOLDR_ANIMATION_TIME, __apps_view_hide_folder_anim, NULL); + apps_view_s.animator = ecore_animator_timeline_add(HOME_FOLDR_ANIMATION_TIME, __apps_view_hide_folder_anim, NULL); } static void __apps_view_close_folder_popup_done(void) { - const char *folder_text = elm_object_text_get(apps_view_s.folder_title_entry); - if (!apps_view_s.opened_folder->label_str || strcmp(apps_view_s.opened_folder->label_str, folder_text)) { - if (apps_view_s.opened_folder->label_str) - free(apps_view_s.opened_folder->label_str); - apps_view_s.opened_folder->label_str = strdup(folder_text); - elm_object_part_text_set(apps_view_s.opened_folder->app_layout, APPS_ICON_NAME, apps_view_s.opened_folder->label_str); - apps_data_update_folder(apps_view_s.opened_folder); - } - - int page_idx = apps_view_s.opened_folder->position / (APPS_VIEW_COL * APPS_VIEW_ROW); - Eina_List *list = apps_data_get_list(); - app_data_t *item = NULL; - Eina_List *find_list; - EINA_LIST_FOREACH(list, find_list, item) { - if (item != NULL && item->parent_db_id == apps_view_s.opened_folder->db_id && item->app_layout) { - evas_object_del(item->app_layout); - } - } - evas_object_del(apps_view_s.folder_popup_ly); - apps_view_s.folder_title_entry = NULL; - apps_view_s.folder_popup_ly = NULL; - apps_view_s.opened_folder = NULL; - apps_view_s.animator = NULL; - - __apps_view_scroll_to_page(page_idx, true); + const char *folder_text = elm_object_text_get(apps_view_s.folder_title_entry); + if (!apps_view_s.opened_folder->label_str || strcmp(apps_view_s.opened_folder->label_str, folder_text)) { + if (apps_view_s.opened_folder->label_str) + free(apps_view_s.opened_folder->label_str); + apps_view_s.opened_folder->label_str = strdup(folder_text); + elm_object_part_text_set(apps_view_s.opened_folder->app_layout, APPS_ICON_NAME, apps_view_s.opened_folder->label_str); + apps_data_update_folder(apps_view_s.opened_folder); + } + + int page_idx = apps_view_s.opened_folder->position / (APPS_VIEW_COL * APPS_VIEW_ROW); + Eina_List *list = apps_data_get_list(); + app_data_t *item = NULL; + Eina_List *find_list; + EINA_LIST_FOREACH(list, find_list, item) { + if (item != NULL && item->parent_db_id == apps_view_s.opened_folder->db_id && item->app_layout) { + evas_object_del(item->app_layout); + } + } + evas_object_del(apps_view_s.folder_popup_ly); + apps_view_s.folder_title_entry = NULL; + apps_view_s.folder_popup_ly = NULL; + apps_view_s.opened_folder = NULL; + apps_view_s.animator = NULL; + + __apps_view_scroll_to_page(page_idx, true); } static void __apps_view_hide_folder_cb(void *data, Evas_Object *obj, const char *emission, const char *source) { - if (apps_view_s.opened_folder) - __apps_view_close_folder_popup(apps_view_s.opened_folder); + if (apps_view_s.opened_folder) + __apps_view_close_folder_popup(apps_view_s.opened_folder); } static void __apps_view_create_chooser(void) { - char edj_path[PATH_MAX] = {0, }; + char edj_path[PATH_MAX] = {0, }; - snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/apps_chooser_btn.edj")); + snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/apps_chooser_btn.edj")); - apps_view_s.chooser_btn = elm_layout_add(homescreen_efl_get_win()); - elm_layout_file_set(apps_view_s.chooser_btn, edj_path, GROUP_APPS_CHOOSER_BTN_LY); - evas_object_size_hint_weight_set(apps_view_s.chooser_btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_resize(apps_view_s.chooser_btn, apps_view_s.width, apps_view_s.height); - evas_object_show(apps_view_s.chooser_btn); + apps_view_s.chooser_btn = elm_layout_add(homescreen_efl_get_win()); + elm_layout_file_set(apps_view_s.chooser_btn, edj_path, GROUP_APPS_CHOOSER_BTN_LY); + evas_object_size_hint_weight_set(apps_view_s.chooser_btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_resize(apps_view_s.chooser_btn, apps_view_s.width, apps_view_s.height); + evas_object_show(apps_view_s.chooser_btn); - elm_object_signal_callback_add(apps_view_s.chooser_btn, SIGNAL_CHOOSER_LEFT_BTN_CLICKED, SIGNAL_SOURCE, __apps_view_chooser_left_btn_clicked, NULL); - elm_object_signal_callback_add(apps_view_s.chooser_btn, SIGNAL_CHOOSER_RIGHT_BTN_CLICKED, SIGNAL_SOURCE, __apps_view_chooser_right_btn_clicked, NULL); - __apps_view_update_chooser_text(apps_view_s.selected_item_count); + elm_object_signal_callback_add(apps_view_s.chooser_btn, SIGNAL_CHOOSER_LEFT_BTN_CLICKED, SIGNAL_SOURCE, __apps_view_chooser_left_btn_clicked, NULL); + elm_object_signal_callback_add(apps_view_s.chooser_btn, SIGNAL_CHOOSER_RIGHT_BTN_CLICKED, SIGNAL_SOURCE, __apps_view_chooser_right_btn_clicked, NULL); + __apps_view_update_chooser_text(apps_view_s.selected_item_count); } static void __apps_view_chooser_left_btn_clicked(void *data, Evas_Object *obj, const char *emission, const char *source) { - LOGD("Cancel button clicked"); - apps_view_set_state(apps_view_s.pre_view_state); + LOGD("Cancel button clicked"); + apps_view_set_state(apps_view_s.pre_view_state); } static void __apps_view_chooser_right_btn_clicked(void *data, Evas_Object *obj, const char *emission, const char *source) { - LOGD("Done button clicked"); - app_data_t *dest_folder_item = apps_view_s.dest_folder; - Eina_List *find_list; - app_data_t *item = NULL; - EINA_LIST_FOREACH(apps_view_s.selected_items, find_list, item) { - LOGD("%s-> move to folder {%d}", item->label_str, apps_view_s.dest_folder->db_id); - item->parent_db_id = apps_view_s.dest_folder->db_id; - apps_db_update(item); - if (item->app_layout) { - evas_object_del(item->app_layout); - item->app_layout = NULL; - } - } - apps_data_sort(); - apps_view_reorder(); - - Eina_List *list = apps_data_get_list(); - EINA_LIST_FOREACH(list, find_list, item) { - if (item->is_folder) - apps_view_update_folder_icon(item); - } - //apps_view_update_folder_icon(apps_view_s.dest_folder); - apps_view_set_state(VIEW_STATE_NORMAL); - __apps_view_open_folder_popup(dest_folder_item); + LOGD("Done button clicked"); + app_data_t *dest_folder_item = apps_view_s.dest_folder; + Eina_List *find_list; + app_data_t *item = NULL; + EINA_LIST_FOREACH(apps_view_s.selected_items, find_list, item) { + LOGD("%s-> move to folder {%d}", item->label_str, apps_view_s.dest_folder->db_id); + item->parent_db_id = apps_view_s.dest_folder->db_id; + apps_db_update(item); + if (item->app_layout) { + evas_object_del(item->app_layout); + item->app_layout = NULL; + } + } + apps_data_sort(); + apps_view_reorder(); + + Eina_List *list = apps_data_get_list(); + EINA_LIST_FOREACH(list, find_list, item) { + if (item->is_folder) + apps_view_update_folder_icon(item); + } + //apps_view_update_folder_icon(apps_view_s.dest_folder); + apps_view_set_state(VIEW_STATE_NORMAL); + __apps_view_open_folder_popup(dest_folder_item); } static void __apps_view_update_chooser_text(int item_count) { - char text1[STR_MAX], text2[STR_MAX]; - if (apps_view_s.selected_item_count + item_count > 0) { - sprintf(text1, _("IDS_MEMO_HEADER_PD_SELECTED_ABB2"), apps_view_s.selected_item_count + item_count); - } else - sprintf(text1, ""); + char text1[STR_MAX], text2[STR_MAX]; + if (apps_view_s.selected_item_count + item_count > 0) { + sprintf(text1, _("IDS_MEMO_HEADER_PD_SELECTED_ABB2"), apps_view_s.selected_item_count + item_count); + } else + sprintf(text1, ""); - sprintf(text2, APPS_VIEW_CHOOSER_TEXT, (int)APPS_VIEW_CHOOSER_TEXT_SIZE, text1); - elm_object_part_text_set(apps_view_s.chooser_btn, APPS_CHOOSER_MIDDLE_LABEL, text2); + sprintf(text2, APPS_VIEW_CHOOSER_TEXT, (int)APPS_VIEW_CHOOSER_TEXT_SIZE, text1); + elm_object_part_text_set(apps_view_s.chooser_btn, APPS_CHOOSER_MIDDLE_LABEL, text2); - sprintf(text2, APPS_VIEW_CHOOSER_TEXT, (int)APPS_VIEW_CHOOSER_BUTTON_TEXT_SIZE, _("IDS_TPLATFORM_ACBUTTON_CANCEL_ABB")); - elm_object_part_text_set(apps_view_s.chooser_btn, APPS_CHOOSER_LEFT_LABEL, text2); + sprintf(text2, APPS_VIEW_CHOOSER_TEXT, (int)APPS_VIEW_CHOOSER_BUTTON_TEXT_SIZE, _("IDS_TPLATFORM_ACBUTTON_CANCEL_ABB")); + elm_object_part_text_set(apps_view_s.chooser_btn, APPS_CHOOSER_LEFT_LABEL, text2); - sprintf(text2, APPS_VIEW_CHOOSER_TEXT, (int)APPS_VIEW_CHOOSER_BUTTON_TEXT_SIZE, _("IDS_TPLATFORM_ACBUTTON_DONE_ABB")); - elm_object_part_text_set(apps_view_s.chooser_btn, APPS_CHOOSER_RIGHT_LABEL, text2); + sprintf(text2, APPS_VIEW_CHOOSER_TEXT, (int)APPS_VIEW_CHOOSER_BUTTON_TEXT_SIZE, _("IDS_TPLATFORM_ACBUTTON_DONE_ABB")); + elm_object_part_text_set(apps_view_s.chooser_btn, APPS_CHOOSER_RIGHT_LABEL, text2); } static void __apps_view_badge_update_cb(unsigned int action, const char *app_id, unsigned int count, void *user_data) { - LOGD("%s updated", app_id); - Eina_List *data_list = apps_data_get_list(); - Eina_List *find_list = NULL; - app_data_t *item = NULL; - if (app_id == NULL) { - LOGD("app id is NULL"); - EINA_LIST_FOREACH(data_list, find_list, item) { - __apps_view_badge_update_count(item); - } - return; - } - EINA_LIST_FOREACH(data_list, find_list, item) { - if (strcmp(app_id, item->app_id) == 0) { - __apps_view_badge_update_count(item); - } - } + LOGD("%s updated", app_id); + Eina_List *data_list = apps_data_get_list(); + Eina_List *find_list = NULL; + app_data_t *item = NULL; + if (app_id == NULL) { + LOGD("app id is NULL"); + EINA_LIST_FOREACH(data_list, find_list, item) { + __apps_view_badge_update_count(item); + } + return; + } + EINA_LIST_FOREACH(data_list, find_list, item) { + if (strcmp(app_id, item->app_id) == 0) { + __apps_view_badge_update_count(item); + } + } } static void __apps_view_badge_update_count(app_data_t *item) { - unsigned int to_be_displayed = 0; - int result = BADGE_ERROR_NONE; - - if (!item->app_id) { - LOGE("app_item is NULL in badge count"); - return; - } - - result = badge_get_display(item->app_id, &to_be_displayed); - if (result != BADGE_ERROR_NONE) { - LOGE("badge_get_display error %d", result); - item->badge_count = 0; - return; - } - if (!to_be_displayed) { - item->badge_count = 0; - return; - } - - result = badge_get_count(item->app_id, &item->badge_count); - if (result != BADGE_ERROR_NONE) { - LOGE("badge_get_count error %d", result); - item->badge_count = 0; - return; - } - __apps_view_badge_update_icon(item); + unsigned int to_be_displayed = 0; + int result = BADGE_ERROR_NONE; + + if (!item->app_id) { + LOGE("app_item is NULL in badge count"); + return; + } + + result = badge_get_display(item->app_id, &to_be_displayed); + if (result != BADGE_ERROR_NONE) { + LOGE("badge_get_display error %d", result); + item->badge_count = 0; + return; + } + if (!to_be_displayed) { + item->badge_count = 0; + return; + } + + result = badge_get_count(item->app_id, &item->badge_count); + if (result != BADGE_ERROR_NONE) { + LOGE("badge_get_count error %d", result); + item->badge_count = 0; + return; + } + __apps_view_badge_update_icon(item); } static void __apps_view_badge_update_icon(app_data_t *item) { - char number_str[STR_MAX]; - if (item->badge_count == 0) { - elm_object_signal_emit(item->app_layout, SIGNAL_BADGE_HIDE, SIGNAL_SOURCE); - return; - } + char number_str[STR_MAX]; + if (item->badge_count == 0) { + elm_object_signal_emit(item->app_layout, SIGNAL_BADGE_HIDE, SIGNAL_SOURCE); + return; + } - if (item->badge_count > MAX_BADGE_DISPLAY_COUNT) { - sprintf(number_str, "%d+", MAX_BADGE_DISPLAY_COUNT); - } else { - sprintf(number_str, "%d", item->badge_count); - } - elm_layout_text_set(item->app_layout, APPS_ICON_BADGE_TEXT, number_str); - elm_object_signal_emit(item->app_layout, SIGNAL_BADGE_SHOW, SIGNAL_SOURCE); + if (item->badge_count > MAX_BADGE_DISPLAY_COUNT) { + sprintf(number_str, "%d+", MAX_BADGE_DISPLAY_COUNT); + } else { + sprintf(number_str, "%d", item->badge_count); + } + elm_layout_text_set(item->app_layout, APPS_ICON_BADGE_TEXT, number_str); + elm_object_signal_emit(item->app_layout, SIGNAL_BADGE_SHOW, SIGNAL_SOURCE); } static void __apps_view_plus_icon_clicked(void *data, Evas_Object *obj, const char *emission, const char *source) { - app_data_t *item = (app_data_t *)data; - Eina_List *folder_list = NULL; - __apps_view_close_folder_popup_done(); - apps_view_s.dest_folder = item; - apps_view_set_state(VIEW_STATE_CHOOSER); - elm_object_signal_emit(item->app_layout, SIGNAL_ICON_DISABLE, SIGNAL_SOURCE); + app_data_t *item = (app_data_t *)data; + Eina_List *folder_list = NULL; + __apps_view_close_folder_popup_done(); + apps_view_s.dest_folder = item; + apps_view_set_state(VIEW_STATE_CHOOSER); + elm_object_signal_emit(item->app_layout, SIGNAL_ICON_DISABLE, SIGNAL_SOURCE); - apps_data_get_folder_item_list(&folder_list, item); - apps_view_s.selected_item_count = eina_list_count(folder_list); - __apps_view_update_chooser_text(0); + apps_data_get_folder_item_list(&folder_list, item); + apps_view_s.selected_item_count = eina_list_count(folder_list); + __apps_view_update_chooser_text(0); - eina_list_free(folder_list); + eina_list_free(folder_list); } static void __apps_view_scroller_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - Evas_Event_Mouse_Down* ev = event_info; + Evas_Event_Mouse_Down* ev = event_info; - if (apps_view_s.view_state != VIEW_STATE_NORMAL) - return ; + if (apps_view_s.view_state != VIEW_STATE_NORMAL) + return ; - LOGD("DOWN: (%d,%d)", ev->output.x, ev->output.y); + LOGD("DOWN: (%d,%d)", ev->output.x, ev->output.y); - apps_mouse_info.pressed = true; - apps_mouse_info.pressed_obj = obj; + apps_mouse_info.pressed = true; + apps_mouse_info.pressed_obj = obj; - apps_mouse_info.down_x = apps_mouse_info.move_x = ev->output.x; - apps_mouse_info.down_y = apps_mouse_info.move_y = ev->output.y; + apps_mouse_info.down_x = apps_mouse_info.move_x = ev->output.x; + apps_mouse_info.down_y = apps_mouse_info.move_y = ev->output.y; - if (apps_mouse_info.long_press_timer) { - ecore_timer_del(apps_mouse_info.long_press_timer); - apps_mouse_info.long_press_timer = NULL; - } + if (apps_mouse_info.long_press_timer) { + ecore_timer_del(apps_mouse_info.long_press_timer); + apps_mouse_info.long_press_timer = NULL; + } - apps_mouse_info.long_press_timer = ecore_timer_add(LONG_PRESS_TIME, - __apps_view_scroller_long_press_time_cb, obj); + apps_mouse_info.long_press_timer = ecore_timer_add(LONG_PRESS_TIME, + __apps_view_scroller_long_press_time_cb, obj); } static void __apps_view_scroller_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - Evas_Event_Mouse_Up* ev = event_info; + Evas_Event_Mouse_Up* ev = event_info; - if (!apps_mouse_info.pressed || apps_mouse_info.pressed_obj != obj) - return ; + if (!apps_mouse_info.pressed || apps_mouse_info.pressed_obj != obj) + return ; - LOGD("UP: (%d,%d)", ev->output.x, ev->output.y); + LOGD("UP: (%d,%d)", ev->output.x, ev->output.y); - apps_mouse_info.pressed = false; + apps_mouse_info.pressed = false; - if (apps_mouse_info.long_press_timer) { - ecore_timer_del(apps_mouse_info.long_press_timer); - apps_mouse_info.long_press_timer = NULL; - } + if (apps_mouse_info.long_press_timer) { + ecore_timer_del(apps_mouse_info.long_press_timer); + apps_mouse_info.long_press_timer = NULL; + } - apps_mouse_info.up_x = ev->output.x; - apps_mouse_info.up_y = ev->output.y; + apps_mouse_info.up_x = ev->output.x; + apps_mouse_info.up_y = ev->output.y; - apps_mouse_info.long_pressed = false; + apps_mouse_info.long_pressed = false; } static void __apps_view_scroller_move_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - Evas_Event_Mouse_Move* ev = event_info; + Evas_Event_Mouse_Move* ev = event_info; - if (!apps_mouse_info.pressed || apps_mouse_info.pressed_obj != obj) - return ; + if (!apps_mouse_info.pressed || apps_mouse_info.pressed_obj != obj) + return ; - LOGD("MOVE: (%d,%d)", ev->cur.output.x, ev->cur.output.y); + LOGD("MOVE: (%d,%d)", ev->cur.output.x, ev->cur.output.y); - apps_mouse_info.move_x = ev->cur.output.x; - apps_mouse_info.move_y = ev->cur.output.y; + apps_mouse_info.move_x = ev->cur.output.x; + apps_mouse_info.move_y = ev->cur.output.y; - if (!apps_mouse_info.long_pressed) { - int distance = (apps_mouse_info.move_x - apps_mouse_info.down_x) * (apps_mouse_info.move_x - apps_mouse_info.down_x); - distance += (apps_mouse_info.move_y - apps_mouse_info.down_y) * (apps_mouse_info.move_y - apps_mouse_info.down_y); + if (!apps_mouse_info.long_pressed) { + int distance = (apps_mouse_info.move_x - apps_mouse_info.down_x) * (apps_mouse_info.move_x - apps_mouse_info.down_x); + distance += (apps_mouse_info.move_y - apps_mouse_info.down_y) * (apps_mouse_info.move_y - apps_mouse_info.down_y); - if (distance > MOUSE_MOVE_MIN_DISTANCE) { - if (apps_mouse_info.long_press_timer) { - ecore_timer_del(apps_mouse_info.long_press_timer); - apps_mouse_info.long_press_timer = NULL; - } - return ; - } - } + if (distance > MOUSE_MOVE_MIN_DISTANCE) { + if (apps_mouse_info.long_press_timer) { + ecore_timer_del(apps_mouse_info.long_press_timer); + apps_mouse_info.long_press_timer = NULL; + } + return ; + } + } } static Eina_Bool __apps_view_scroller_long_press_time_cb(void *data) { - if (!apps_mouse_info.pressed || apps_mouse_info.pressed_obj != data) - return ECORE_CALLBACK_CANCEL; + if (!apps_mouse_info.pressed || apps_mouse_info.pressed_obj != data) + return ECORE_CALLBACK_CANCEL; - apps_mouse_info.long_pressed = true; + apps_mouse_info.long_pressed = true; - apps_view_set_state(VIEW_STATE_EDIT); + apps_view_set_state(VIEW_STATE_EDIT); - return ECORE_CALLBACK_CANCEL; + return ECORE_CALLBACK_CANCEL; } static void __apps_view_icon_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - Evas_Event_Mouse_Down* ev = event_info; - LOGD("DOWN: (%d,%d)", ev->output.x, ev->output.y); + Evas_Event_Mouse_Down* ev = event_info; + LOGD("DOWN: (%d,%d)", ev->output.x, ev->output.y); - apps_mouse_info.pressed = true; - apps_mouse_info.pressed_obj = obj; + apps_mouse_info.pressed = true; + apps_mouse_info.pressed_obj = obj; - apps_mouse_info.down_x = apps_mouse_info.move_x = ev->output.x; - apps_mouse_info.down_y = apps_mouse_info.move_y = ev->output.y; + apps_mouse_info.down_x = apps_mouse_info.move_x = ev->output.x; + apps_mouse_info.down_y = apps_mouse_info.move_y = ev->output.y; - if (apps_mouse_info.long_press_timer) { - ecore_timer_del(apps_mouse_info.long_press_timer); - apps_mouse_info.long_press_timer = NULL; - } + if (apps_mouse_info.long_press_timer) { + ecore_timer_del(apps_mouse_info.long_press_timer); + apps_mouse_info.long_press_timer = NULL; + } - apps_mouse_info.long_press_timer = ecore_timer_add(LONG_PRESS_TIME, - __apps_view_icon_long_press_time_cb, data); + apps_mouse_info.long_press_timer = ecore_timer_add(LONG_PRESS_TIME, + __apps_view_icon_long_press_time_cb, data); } static void __apps_view_icon_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - Evas_Event_Mouse_Up* ev = event_info; - LOGD("UP: (%d,%d)", ev->output.x, ev->output.y); + Evas_Event_Mouse_Up* ev = event_info; + LOGD("UP: (%d,%d)", ev->output.x, ev->output.y); - if (!apps_mouse_info.pressed) - return ; + if (!apps_mouse_info.pressed) + return ; - apps_mouse_info.pressed = false; - apps_mouse_info.pressed_obj = NULL; + apps_mouse_info.pressed = false; + apps_mouse_info.pressed_obj = NULL; - if (apps_mouse_info.long_press_timer) { - ecore_timer_del(apps_mouse_info.long_press_timer); - apps_mouse_info.long_press_timer = NULL; - } + if (apps_mouse_info.long_press_timer) { + ecore_timer_del(apps_mouse_info.long_press_timer); + apps_mouse_info.long_press_timer = NULL; + } - apps_mouse_info.up_x = ev->output.x; - apps_mouse_info.up_y = ev->output.y; + apps_mouse_info.up_x = ev->output.x; + apps_mouse_info.up_y = ev->output.y; - if (!apps_mouse_info.long_pressed) { - int distance = (apps_mouse_info.move_x - apps_mouse_info.down_x) * (apps_mouse_info.move_x - apps_mouse_info.down_x); - distance += (apps_mouse_info.move_y - apps_mouse_info.down_y) * (apps_mouse_info.move_y - apps_mouse_info.down_y); + if (!apps_mouse_info.long_pressed) { + int distance = (apps_mouse_info.move_x - apps_mouse_info.down_x) * (apps_mouse_info.move_x - apps_mouse_info.down_x); + distance += (apps_mouse_info.move_y - apps_mouse_info.down_y) * (apps_mouse_info.move_y - apps_mouse_info.down_y); - if (distance <= MOUSE_MOVE_MIN_DISTANCE) { - __apps_view_icon_clicked_cb((app_data_t *)data); - } - return ; - } + if (distance <= MOUSE_MOVE_MIN_DISTANCE) { + __apps_view_icon_clicked_cb((app_data_t *)data); + } + return ; + } - apps_mouse_info.long_pressed = false; + apps_mouse_info.long_pressed = false; - elm_scroller_movement_block_set(apps_view_s.scroller, ELM_SCROLLER_MOVEMENT_NO_BLOCK); + elm_scroller_movement_block_set(apps_view_s.scroller, ELM_SCROLLER_MOVEMENT_NO_BLOCK); - if (apps_view_s.picked_item) { - __apps_view_edit_drop_icon(data); - apps_view_s.picked_item = NULL; - } + if (apps_view_s.picked_item) { + __apps_view_edit_drop_icon(data); + apps_view_s.picked_item = NULL; + } } static void __apps_view_icon_move_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - Evas_Event_Mouse_Move* ev = event_info; - LOGD("MOVE: (%d,%d)", ev->cur.output.x, ev->cur.output.y); + Evas_Event_Mouse_Move* ev = event_info; + LOGD("MOVE: (%d,%d)", ev->cur.output.x, ev->cur.output.y); - if (!apps_mouse_info.pressed) - return ; + if (!apps_mouse_info.pressed) + return ; - apps_mouse_info.move_x = ev->cur.output.x; - apps_mouse_info.move_y = ev->cur.output.y; + apps_mouse_info.move_x = ev->cur.output.x; + apps_mouse_info.move_y = ev->cur.output.y; - if (!apps_mouse_info.long_pressed) { - int distance = (apps_mouse_info.move_x - apps_mouse_info.down_x) * (apps_mouse_info.move_x - apps_mouse_info.down_x); - distance += (apps_mouse_info.move_y - apps_mouse_info.down_y) * (apps_mouse_info.move_y - apps_mouse_info.down_y); + if (!apps_mouse_info.long_pressed) { + int distance = (apps_mouse_info.move_x - apps_mouse_info.down_x) * (apps_mouse_info.move_x - apps_mouse_info.down_x); + distance += (apps_mouse_info.move_y - apps_mouse_info.down_y) * (apps_mouse_info.move_y - apps_mouse_info.down_y); - if (distance > MOUSE_MOVE_MIN_DISTANCE) { - if (apps_mouse_info.long_press_timer) { - ecore_timer_del(apps_mouse_info.long_press_timer); - apps_mouse_info.long_press_timer = NULL; - } - return ; - } - } + if (distance > MOUSE_MOVE_MIN_DISTANCE) { + if (apps_mouse_info.long_press_timer) { + ecore_timer_del(apps_mouse_info.long_press_timer); + apps_mouse_info.long_press_timer = NULL; + } + return ; + } + } - if (apps_view_s.picked_item) { - __apps_view_edit_drag_icon(data); - } + if (apps_view_s.picked_item) { + __apps_view_edit_drag_icon(data); + } } static Eina_Bool __apps_view_icon_long_press_time_cb(void *data) { - app_data_t *item = (app_data_t *)data; - if (!apps_mouse_info.pressed) - return ECORE_CALLBACK_CANCEL; + app_data_t *item = (app_data_t *)data; + if (!apps_mouse_info.pressed) + return ECORE_CALLBACK_CANCEL; - apps_mouse_info.long_pressed = true; + apps_mouse_info.long_pressed = true; - elm_scroller_movement_block_set(apps_view_s.scroller, ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL); + elm_scroller_movement_block_set(apps_view_s.scroller, ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL); - if (!item->is_folder) { - __apps_view_edit_pick_up_icon(data); - } + if (!item->is_folder) { + __apps_view_edit_pick_up_icon(data); + } - if (apps_view_s.view_state == VIEW_STATE_NORMAL) - apps_view_set_state(VIEW_STATE_EDIT); + if (apps_view_s.view_state == VIEW_STATE_NORMAL) + apps_view_set_state(VIEW_STATE_EDIT); - return ECORE_CALLBACK_CANCEL; + return ECORE_CALLBACK_CANCEL; } static void __apps_view_edit_pick_up_icon(void *data) { - int cx = -1, cy = -1; - int gx = -1, gy = -1, gw = 0, gh = 0; - Evas *e = NULL; - apps_view_s.picked_item = (app_data_t *)data; + int cx = -1, cy = -1; + int gx = -1, gy = -1, gw = 0, gh = 0; + Evas *e = NULL; + apps_view_s.picked_item = (app_data_t *)data; - Evas_Object *icon_layout = apps_view_s.picked_item->app_layout; + Evas_Object *icon_layout = apps_view_s.picked_item->app_layout; - e = evas_object_evas_get(icon_layout); + e = evas_object_evas_get(icon_layout); - evas_pointer_canvas_xy_get(e, &cx, &cy); - evas_object_geometry_get(icon_layout, &gx, &gy, &gw, &gh); - LOGD("cx, cy (%d, %d )", cx, cy); - LOGD("gx, gy, gw, gh (%d, %d, %d, %d)", gx, gy, gw, gh); + evas_pointer_canvas_xy_get(e, &cx, &cy); + evas_object_geometry_get(icon_layout, &gx, &gy, &gw, &gh); + LOGD("cx, cy (%d, %d )", cx, cy); + LOGD("gx, gy, gw, gh (%d, %d, %d, %d)", gx, gy, gw, gh); - apps_mouse_info.offset_x = cx - gx; - apps_mouse_info.offset_y = cy - gy; + apps_mouse_info.offset_x = cx - gx; + apps_mouse_info.offset_y = cy - gy; - Evas_Object *mapbuf = NULL; - Evas_Object *page_ly = NULL; - int page_index = apps_view_s.picked_item->position / (APPS_VIEW_COL*APPS_VIEW_ROW); - page_ly = eina_list_nth(apps_view_s.page_list, page_index); - mapbuf = evas_object_data_get(page_ly, "mapbuf"); - elm_mapbuf_enabled_set(mapbuf, EINA_FALSE); + Evas_Object *mapbuf = NULL; + Evas_Object *page_ly = NULL; + int page_index = apps_view_s.picked_item->position / (APPS_VIEW_COL*APPS_VIEW_ROW); + page_ly = eina_list_nth(apps_view_s.page_list, page_index); + mapbuf = evas_object_data_get(page_ly, "mapbuf"); + elm_mapbuf_enabled_set(mapbuf, EINA_FALSE); - apps_view_icon_unset(apps_view_s.picked_item); + apps_view_icon_unset(apps_view_s.picked_item); - elm_mapbuf_enabled_set(mapbuf, EINA_TRUE); + elm_mapbuf_enabled_set(mapbuf, EINA_TRUE); - elm_object_signal_emit(icon_layout, SIGNAL_UNINSTALL_BUTTON_HIDE_ANI, SIGNAL_SOURCE); - elm_object_signal_emit(icon_layout, SIGNAL_ICON_NAME_HIDE, SIGNAL_SOURCE); + elm_object_signal_emit(icon_layout, SIGNAL_UNINSTALL_BUTTON_HIDE_ANI, SIGNAL_SOURCE); + elm_object_signal_emit(icon_layout, SIGNAL_ICON_NAME_HIDE, SIGNAL_SOURCE); - evas_object_move(icon_layout, apps_mouse_info.move_x - apps_mouse_info.offset_x, - apps_mouse_info.move_y - apps_mouse_info.offset_y); + evas_object_move(icon_layout, apps_mouse_info.move_x - apps_mouse_info.offset_x, + apps_mouse_info.move_y - apps_mouse_info.offset_y); } static void __apps_view_edit_drag_icon(void *data) { - if (!apps_view_s.picked_item) - return ; - - Evas_Object *app_layout = apps_view_s.picked_item->app_layout; - evas_object_move(app_layout, apps_mouse_info.move_x - apps_mouse_info.offset_x, - apps_mouse_info.move_y - apps_mouse_info.offset_y); - - if (apps_view_s.folder_popup_ly) { - int gx, gy, gw, gh; - edje_object_part_geometry_get(elm_layout_edje_get(apps_view_s.folder_popup_ly), APPS_FOLDER_BG, &gx, &gy, &gw, &gh); - - if (apps_mouse_info.move_x < gx || apps_mouse_info.move_x > gx + gw || - apps_mouse_info.move_y < gy || apps_mouse_info.move_y > gy + gh) { - if (apps_view_s.animator == NULL) { - app_data_t *opened_folder = apps_view_s.opened_folder; - __apps_view_close_folder_popup(apps_view_s.opened_folder); - apps_view_s.picked_item->parent_db_id = APPS_ROOT; - apps_db_update(apps_view_s.picked_item); - apps_data_sort(); - apps_view_update_folder_icon(opened_folder); - } - } - } else if (apps_mouse_info.move_x > APPS_VIEW_EDIT_RIGHT_SCROLL_REGION) { - LOGD("Move to next page"); - if (!apps_view_s.edit_mode_scroll_timer) - apps_view_s.edit_mode_scroll_timer = ecore_timer_add(HOME_EDIT_SCROLL_MOVE_TIME, __apps_view_scroll_timer_cb, NULL); - - } else if (apps_mouse_info.move_x < APPS_VIEW_EDIT_LEFT_SCROLL_REGION) { - LOGD("Move to prev page"); - if (!apps_view_s.edit_mode_scroll_timer) - apps_view_s.edit_mode_scroll_timer = ecore_timer_add(HOME_EDIT_SCROLL_MOVE_TIME, __apps_view_scroll_timer_cb, NULL); - } else { - if (apps_view_s.edit_mode_scroll_timer) { - ecore_timer_del(apps_view_s.edit_mode_scroll_timer); - apps_view_s.edit_mode_scroll_timer = NULL; - } - - if (apps_view_s.picked_item->parent_db_id == APPS_ROOT) { - int index = __apps_view_get_index(apps_view_s.current_page, apps_mouse_info.move_x - apps_mouse_info.offset_x, - apps_mouse_info.move_y - apps_mouse_info.offset_y); - if(apps_view_s.candidate_folder == NULL || - apps_view_s.candidate_folder->position != index) { - if (apps_view_s.candidate_folder) - elm_object_signal_emit(apps_view_s.candidate_folder->folder_layout, SIGNAL_FRAME_POSSIBLE_HIDE, SIGNAL_SOURCE); - apps_view_s.candidate_folder = apps_data_find_item_by_index(index); - if (apps_view_s.candidate_folder && !apps_view_s.candidate_folder->is_folder) { - apps_view_s.candidate_folder = NULL; - } - } - if (apps_view_s.candidate_folder) { - if(apps_data_get_folder_item_count(apps_view_s.candidate_folder) >= APPS_FOLDER_MAX_ITEM) - elm_object_signal_emit(apps_view_s.candidate_folder->folder_layout, SIGNAL_FRAME_IMPOSSIBLE_SHOW, SIGNAL_SOURCE); - else - elm_object_signal_emit(apps_view_s.candidate_folder->folder_layout, SIGNAL_FRAME_POSSIBLE_SHOW, SIGNAL_SOURCE); - } - } - } + if (!apps_view_s.picked_item) + return ; + + Evas_Object *app_layout = apps_view_s.picked_item->app_layout; + evas_object_move(app_layout, apps_mouse_info.move_x - apps_mouse_info.offset_x, + apps_mouse_info.move_y - apps_mouse_info.offset_y); + + if (apps_view_s.folder_popup_ly) { + int gx, gy, gw, gh; + edje_object_part_geometry_get(elm_layout_edje_get(apps_view_s.folder_popup_ly), APPS_FOLDER_BG, &gx, &gy, &gw, &gh); + + if (apps_mouse_info.move_x < gx || apps_mouse_info.move_x > gx + gw || + apps_mouse_info.move_y < gy || apps_mouse_info.move_y > gy + gh) { + if (apps_view_s.animator == NULL) { + app_data_t *opened_folder = apps_view_s.opened_folder; + __apps_view_close_folder_popup(apps_view_s.opened_folder); + apps_view_s.picked_item->parent_db_id = APPS_ROOT; + apps_db_update(apps_view_s.picked_item); + apps_data_sort(); + apps_view_update_folder_icon(opened_folder); + } + } + } else if (apps_mouse_info.move_x > APPS_VIEW_EDIT_RIGHT_SCROLL_REGION) { + LOGD("Move to next page"); + if (!apps_view_s.edit_mode_scroll_timer) + apps_view_s.edit_mode_scroll_timer = ecore_timer_add(HOME_EDIT_SCROLL_MOVE_TIME, __apps_view_scroll_timer_cb, NULL); + + } else if (apps_mouse_info.move_x < APPS_VIEW_EDIT_LEFT_SCROLL_REGION) { + LOGD("Move to prev page"); + if (!apps_view_s.edit_mode_scroll_timer) + apps_view_s.edit_mode_scroll_timer = ecore_timer_add(HOME_EDIT_SCROLL_MOVE_TIME, __apps_view_scroll_timer_cb, NULL); + } else { + if (apps_view_s.edit_mode_scroll_timer) { + ecore_timer_del(apps_view_s.edit_mode_scroll_timer); + apps_view_s.edit_mode_scroll_timer = NULL; + } + + if (apps_view_s.picked_item->parent_db_id == APPS_ROOT) { + int index = __apps_view_get_index(apps_view_s.current_page, apps_mouse_info.move_x - apps_mouse_info.offset_x, + apps_mouse_info.move_y - apps_mouse_info.offset_y); + if (apps_view_s.candidate_folder == NULL || + apps_view_s.candidate_folder->position != index) { + if (apps_view_s.candidate_folder) + elm_object_signal_emit(apps_view_s.candidate_folder->folder_layout, SIGNAL_FRAME_POSSIBLE_HIDE, SIGNAL_SOURCE); + apps_view_s.candidate_folder = apps_data_find_item_by_index(index); + if (apps_view_s.candidate_folder && !apps_view_s.candidate_folder->is_folder) { + apps_view_s.candidate_folder = NULL; + } + } + if (apps_view_s.candidate_folder) { + if (apps_data_get_folder_item_count(apps_view_s.candidate_folder) >= APPS_FOLDER_MAX_ITEM) + elm_object_signal_emit(apps_view_s.candidate_folder->folder_layout, SIGNAL_FRAME_IMPOSSIBLE_SHOW, SIGNAL_SOURCE); + else + elm_object_signal_emit(apps_view_s.candidate_folder->folder_layout, SIGNAL_FRAME_POSSIBLE_SHOW, SIGNAL_SOURCE); + } + } + } } static void __apps_view_edit_drop_icon(void *data) { - app_data_t *item = (app_data_t *)data; - Evas_Object *app_layout = apps_view_s.picked_item->app_layout; - - if (apps_view_s.edit_mode_scroll_timer) { - ecore_timer_del(apps_view_s.edit_mode_scroll_timer); - apps_view_s.edit_mode_scroll_timer = NULL; - } - - if (item->is_removable) - elm_object_signal_emit(app_layout, SIGNAL_UNINSTALL_BUTTON_SHOW_ANI, SIGNAL_SOURCE); - - elm_object_signal_emit(app_layout, SIGNAL_ICON_NAME_SHOW, SIGNAL_SOURCE); - - __apps_view__set_icon_label_style(item, VIEW_STATE_EDIT); - - if (apps_view_s.candidate_folder) { - Eina_List *folder_list = NULL; - int folder_item_count =0; - apps_data_get_folder_item_list(&folder_list, apps_view_s.candidate_folder); - folder_item_count = eina_list_count(folder_list); - if (folder_item_count >= APPS_FOLDER_MAX_ITEM) { - char str[1024]; - sprintf(str, _("IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"), APPS_FOLDER_MAX_ITEM); - toast_show(str); - } else { - item->parent_db_id = apps_view_s.candidate_folder->db_id; - apps_db_update(apps_view_s.picked_item); - apps_view_update_folder_icon(apps_view_s.candidate_folder); - elm_object_signal_emit(apps_view_s.candidate_folder->folder_layout, SIGNAL_FRAME_POSSIBLE_HIDE, SIGNAL_SOURCE); - if (item->app_layout) { - evas_object_del(item->app_layout); - item->app_layout = NULL; - } - } - elm_object_signal_emit(apps_view_s.candidate_folder->folder_layout, SIGNAL_FRAME_POSSIBLE_HIDE, SIGNAL_SOURCE); - apps_view_s.candidate_folder = NULL; - - } - apps_data_sort(); - apps_view_reorder(); + app_data_t *item = (app_data_t *)data; + Evas_Object *app_layout = apps_view_s.picked_item->app_layout; + + if (apps_view_s.edit_mode_scroll_timer) { + ecore_timer_del(apps_view_s.edit_mode_scroll_timer); + apps_view_s.edit_mode_scroll_timer = NULL; + } + + if (item->is_removable) + elm_object_signal_emit(app_layout, SIGNAL_UNINSTALL_BUTTON_SHOW_ANI, SIGNAL_SOURCE); + + elm_object_signal_emit(app_layout, SIGNAL_ICON_NAME_SHOW, SIGNAL_SOURCE); + + __apps_view__set_icon_label_style(item, VIEW_STATE_EDIT); + + if (apps_view_s.candidate_folder) { + Eina_List *folder_list = NULL; + int folder_item_count = 0; + apps_data_get_folder_item_list(&folder_list, apps_view_s.candidate_folder); + folder_item_count = eina_list_count(folder_list); + if (folder_item_count >= APPS_FOLDER_MAX_ITEM) { + char str[1024]; + sprintf(str, _("IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"), APPS_FOLDER_MAX_ITEM); + toast_show(str); + } else { + item->parent_db_id = apps_view_s.candidate_folder->db_id; + apps_db_update(apps_view_s.picked_item); + apps_view_update_folder_icon(apps_view_s.candidate_folder); + elm_object_signal_emit(apps_view_s.candidate_folder->folder_layout, SIGNAL_FRAME_POSSIBLE_HIDE, SIGNAL_SOURCE); + if (item->app_layout) { + evas_object_del(item->app_layout); + item->app_layout = NULL; + } + } + elm_object_signal_emit(apps_view_s.candidate_folder->folder_layout, SIGNAL_FRAME_POSSIBLE_HIDE, SIGNAL_SOURCE); + apps_view_s.candidate_folder = NULL; + + } + apps_data_sort(); + apps_view_reorder(); } static Eina_Bool __apps_view_scroll_timer_cb(void *data) { - int next_page_idx = 0; - if (apps_mouse_info.move_x > APPS_VIEW_EDIT_RIGHT_SCROLL_REGION) { - next_page_idx = apps_view_s.current_page + 1; - } else if (apps_mouse_info.move_x < APPS_VIEW_EDIT_LEFT_SCROLL_REGION) { - next_page_idx = apps_view_s.current_page - 1; - } else { - return ECORE_CALLBACK_CANCEL; - } - __apps_view_scroll_to_page(next_page_idx, true); - return ECORE_CALLBACK_RENEW; + int next_page_idx = 0; + if (apps_mouse_info.move_x > APPS_VIEW_EDIT_RIGHT_SCROLL_REGION) { + next_page_idx = apps_view_s.current_page + 1; + } else if (apps_mouse_info.move_x < APPS_VIEW_EDIT_LEFT_SCROLL_REGION) { + next_page_idx = apps_view_s.current_page - 1; + } else { + return ECORE_CALLBACK_CANCEL; + } + __apps_view_scroll_to_page(next_page_idx, true); + return ECORE_CALLBACK_RENEW; } static void __apps_view_scroll_anim_stop_cb(void *data, Evas_Object *obj, void *event_info) { - apps_view_s.is_srolling = false; - elm_scroller_current_page_get(obj, &apps_view_s.current_page, NULL); - apps_view_s.current_page = apps_view_s.current_page % apps_view_s.page_count; - LOGD("current page %d", apps_view_s.current_page); + apps_view_s.is_srolling = false; + elm_scroller_current_page_get(obj, &apps_view_s.current_page, NULL); + apps_view_s.current_page = apps_view_s.current_page % apps_view_s.page_count; + LOGD("current page %d", apps_view_s.current_page); } static void __apps_view_scroll_to_page(int page_idx, bool animation) { - if (animation) { - apps_view_s.is_srolling = true; - elm_scroller_page_bring_in(apps_view_s.scroller, page_idx, 0); - } else { - page_indicator_set_current_page(apps_view_s.indicator, page_idx); - elm_scroller_page_show(apps_view_s.scroller, page_idx, 0); - } + if (animation) { + apps_view_s.is_srolling = true; + elm_scroller_page_bring_in(apps_view_s.scroller, page_idx, 0); + } else { + page_indicator_set_current_page(apps_view_s.indicator, page_idx); + elm_scroller_page_show(apps_view_s.scroller, page_idx, 0); + } } static int __apps_view_get_index(int page_index, int x, int y) { - int row, col; - int sx = APPS_VIEW_W * 0.04; - int sy = APPS_VIEW_PADDING_TOP + APPS_VIEW_H * 0.05; - int w = (APPS_VIEW_W * 0.9) / APPS_VIEW_COL; - int h = (APPS_VIEW_H * 0.9) / APPS_VIEW_ROW; + int row, col; + int sx = APPS_VIEW_W * 0.04; + int sy = APPS_VIEW_PADDING_TOP + APPS_VIEW_H * 0.05; + int w = (APPS_VIEW_W * 0.9) / APPS_VIEW_COL; + int h = (APPS_VIEW_H * 0.9) / APPS_VIEW_ROW; - for (row = 0; row < APPS_VIEW_ROW; row++) { - for(col = 0; col < APPS_VIEW_COL; col++) { - int ny = sy + (row * h); - int nx = sx + (col * w); + for (row = 0; row < APPS_VIEW_ROW; row++) { + for (col = 0; col < APPS_VIEW_COL; col++) { + int ny = sy + (row * h); + int nx = sx + (col * w); - int d = (ny - y) * (ny - y) + (nx - x) * (nx - x); - if (d < APPS_VIEW_EDIT_MOVE_GAP) { - return ((APPS_VIEW_COL * APPS_VIEW_ROW) * page_index) + (row * APPS_VIEW_COL) + col; - } - } - } + int d = (ny - y) * (ny - y) + (nx - x) * (nx - x); + if (d < APPS_VIEW_EDIT_MOVE_GAP) { + return ((APPS_VIEW_COL * APPS_VIEW_ROW) * page_index) + (row * APPS_VIEW_COL) + col; + } + } + } - return INIT_VALUE; + return INIT_VALUE; } static void __apps_view__set_icon_label_style(app_data_t *item, view_state_t state) { - char style_string[STR_MAX] = {0, }; - char *text_color = item->parent_db_id == APPS_ROOT ? APPS_VIEW_ICON_TEXT_COLOR_WHITE : APPS_VIEW_ICON_TEXT_COLOR_BLACK; - char *text_shadow_color = item->parent_db_id == APPS_ROOT ? "000000FF" : "FFFFFFFF"; - int font_size = (state == VIEW_STATE_NORMAL || item->parent_db_id != APPS_ROOT) ? APPS_VIEW_ICON_TEXT_SIZE_NORMAL : APPS_VIEW_ICON_TEXT_SIZE_EDIT; - snprintf(style_string, sizeof(style_string), "%s", font_size, text_color, text_shadow_color,item->label_str); - elm_object_part_text_set(item->app_layout, APPS_ICON_NAME, style_string); + char style_string[STR_MAX] = {0, }; + char *text_color = item->parent_db_id == APPS_ROOT ? APPS_VIEW_ICON_TEXT_COLOR_WHITE : APPS_VIEW_ICON_TEXT_COLOR_BLACK; + char *text_shadow_color = item->parent_db_id == APPS_ROOT ? "000000FF" : "FFFFFFFF"; + int font_size = (state == VIEW_STATE_NORMAL || item->parent_db_id != APPS_ROOT) ? APPS_VIEW_ICON_TEXT_SIZE_NORMAL : APPS_VIEW_ICON_TEXT_SIZE_EDIT; + snprintf(style_string, sizeof(style_string), "%s", font_size, text_color, text_shadow_color, item->label_str); + elm_object_part_text_set(item->app_layout, APPS_ICON_NAME, style_string); } static void __apps_view_folder_entry_done_cb(void *data, Evas_Object *obj, void *event_info) { - elm_entry_input_panel_hide(obj); - elm_object_focus_set(obj, EINA_FALSE); + elm_entry_input_panel_hide(obj); + elm_object_focus_set(obj, EINA_FALSE); } diff --git a/src/cluster_data.c b/src/cluster_data.c index ed714e8..3d23438 100755 --- a/src/cluster_data.c +++ b/src/cluster_data.c @@ -24,9 +24,9 @@ #define CLUSTER_DATA_PAGE_COUNT "cluster_page_count" static struct { - Eina_List *data_list; + Eina_List *data_list; } cluster_data_s = { - .data_list = NULL + .data_list = NULL }; static void __cluster_data_item_free(widget_data_t *item); @@ -34,121 +34,121 @@ static void __cluster_data_insert_default_data(void); void cluster_data_init(void) { - if (cluster_db_create()) { - __cluster_data_insert_default_data(); - cluster_data_set_page_count(2); - } - cluster_db_get_list(&cluster_data_s.data_list); + if (cluster_db_create()) { + __cluster_data_insert_default_data(); + cluster_data_set_page_count(2); + } + cluster_db_get_list(&cluster_data_s.data_list); } Eina_List *cluster_data_get_widget_list(void) { - return cluster_data_s.data_list; + return cluster_data_s.data_list; } int cluster_data_get_page_count() { - int result = -1; - if (preference_get_int(CLUSTER_DATA_PAGE_COUNT, &result) != PREFERENCE_ERROR_NONE) { - LOGE("preference_get_int : Error"); - result = -1; - } - return result; + int result = -1; + if (preference_get_int(CLUSTER_DATA_PAGE_COUNT, &result) != PREFERENCE_ERROR_NONE) { + LOGE("preference_get_int : Error"); + result = -1; + } + return result; } void cluster_data_set_page_count(int count) { - if (preference_set_int(CLUSTER_DATA_PAGE_COUNT, count) != PREFERENCE_ERROR_NONE) { - LOGE("preference_set_int(CLUSTER_DATA_PAGE_COUNT, %d): Error", count); - } + if (preference_set_int(CLUSTER_DATA_PAGE_COUNT, count) != PREFERENCE_ERROR_NONE) { + LOGE("preference_set_int(CLUSTER_DATA_PAGE_COUNT, %d): Error", count); + } } void cluster_data_insert_widget(const char* pkg_name, const char* content_info, int type) { - widget_data_t *new_item = (widget_data_t *)malloc(sizeof(widget_data_t)); - memset(new_item, 0, sizeof(widget_data_t)); - - new_item->page_idx = INIT_VALUE; - new_item->pos_y = INIT_VALUE; - new_item->pos_x = INIT_VALUE; - new_item->pkg_name = strdup(pkg_name); - new_item->content_info = content_info == NULL ? NULL : strdup(content_info); - new_item->type = type; - new_item->period = 0.0; - new_item->allow_duplicate = 1; - - if (!cluster_view_add_widget(new_item, true)) { - cluster_view_delete_widget(new_item); - __cluster_data_item_free(new_item); - return ; - } - cluster_data_insert(new_item); + widget_data_t *new_item = (widget_data_t *)malloc(sizeof(widget_data_t)); + memset(new_item, 0, sizeof(widget_data_t)); + + new_item->page_idx = INIT_VALUE; + new_item->pos_y = INIT_VALUE; + new_item->pos_x = INIT_VALUE; + new_item->pkg_name = strdup(pkg_name); + new_item->content_info = content_info == NULL ? NULL : strdup(content_info); + new_item->type = type; + new_item->period = 0.0; + new_item->allow_duplicate = 1; + + if (!cluster_view_add_widget(new_item, true)) { + cluster_view_delete_widget(new_item); + __cluster_data_item_free(new_item); + return ; + } + cluster_data_insert(new_item); } void cluster_data_insert(widget_data_t *item) { - LOGD("%s - inserted to paged[%d]", item->pkg_name, item->page_idx); - cluster_db_insert(item); - cluster_data_s.data_list = eina_list_append(cluster_data_s.data_list, item); + LOGD("%s - inserted to paged[%d]", item->pkg_name, item->page_idx); + cluster_db_insert(item); + cluster_data_s.data_list = eina_list_append(cluster_data_s.data_list, item); } void cluster_data_delete(widget_data_t *item) { - LOGD("%s - delete", item->pkg_name); - cluster_db_delete(item); - cluster_data_s.data_list = eina_list_remove(cluster_data_s.data_list, item); - cluster_view_delete_widget(item); - __cluster_data_item_free(item); + LOGD("%s - delete", item->pkg_name); + cluster_db_delete(item); + cluster_data_s.data_list = eina_list_remove(cluster_data_s.data_list, item); + cluster_view_delete_widget(item); + __cluster_data_item_free(item); } void cluster_data_update(widget_data_t *item) { - cluster_db_update(item); + cluster_db_update(item); } static void __cluster_data_insert_default_data(void) { - /* org.tizen.gallery.widget - * org.tizen.calendar.widget - * org.tizen.music-player.widget - * org.tizen.contacts-widget - */ - widget_data_t *new_item = (widget_data_t *)malloc(sizeof(widget_data_t)); - memset(new_item, 0, sizeof(widget_data_t)); - new_item->page_idx = 0; - new_item->pos_y = 0; - new_item->pos_x = 0; - new_item->pkg_name = strdup("org.tizen.calendar.widget"); - new_item->content_info = NULL; - new_item->type = WIDGET_SIZE_TYPE_4x4; - new_item->period = 0.0; - new_item->allow_duplicate = 1; - - cluster_db_insert(new_item); + /* org.tizen.gallery.widget + * org.tizen.calendar.widget + * org.tizen.music-player.widget + * org.tizen.contacts-widget + */ + widget_data_t *new_item = (widget_data_t *)malloc(sizeof(widget_data_t)); + memset(new_item, 0, sizeof(widget_data_t)); + new_item->page_idx = 0; + new_item->pos_y = 0; + new_item->pos_x = 0; + new_item->pkg_name = strdup("org.tizen.calendar.widget"); + new_item->content_info = NULL; + new_item->type = WIDGET_SIZE_TYPE_4x4; + new_item->period = 0.0; + new_item->allow_duplicate = 1; + + cluster_db_insert(new_item); /* - new_item = (widget_data_t *)malloc(sizeof(widget_data_t)); - memset(new_item, 0, sizeof(widget_data_t)); - - new_item->page_idx = 1; - new_item->pos_y = 0; - new_item->pos_x = 0; - new_item->pkg_name = strdup("org.tizen.gallery.widget"); - new_item->content_info = NULL; - new_item->type = WIDGET_SIZE_TYPE_4x4; - new_item->period = 0.0; - new_item->allow_duplicate = 1; - - cluster_data_insert(new_item); - */ + new_item = (widget_data_t *)malloc(sizeof(widget_data_t)); + memset(new_item, 0, sizeof(widget_data_t)); + + new_item->page_idx = 1; + new_item->pos_y = 0; + new_item->pos_x = 0; + new_item->pkg_name = strdup("org.tizen.gallery.widget"); + new_item->content_info = NULL; + new_item->type = WIDGET_SIZE_TYPE_4x4; + new_item->period = 0.0; + new_item->allow_duplicate = 1; + + cluster_data_insert(new_item); + */ } static void __cluster_data_item_free(widget_data_t *item) { - if (item && item->pkg_name) - free(item->pkg_name); - if (item && item->content_info) - free(item->content_info); - if (item) - free(item); + if (item && item->pkg_name) + free(item->pkg_name); + if (item && item->content_info) + free(item->content_info); + if (item) + free(item); } diff --git a/src/cluster_db.c b/src/cluster_db.c index db22d5c..cc0aa38 100755 --- a/src/cluster_db.c +++ b/src/cluster_db.c @@ -22,52 +22,52 @@ #include "util.h" #define CLUSTER_DB_NAME ".cluster-data.db" -#define QUERY_MAXLEN 4096 +#define QUERY_MAXLEN 4096 static sqlite3 *cluster_db = NULL; enum { - COL_WIDGET_ID = 0, - COL_PAGE_INDEX, - COL_POS_Y, - COL_POS_X, - COL_PKG_NAME, - COL_CONTENT_INFO, - COL_TYPE, - COL_PERIOD, - COL_ALLOW_DUPLICATE + COL_WIDGET_ID = 0, + COL_PAGE_INDEX, + COL_POS_Y, + COL_POS_X, + COL_PKG_NAME, + COL_CONTENT_INFO, + COL_TYPE, + COL_PERIOD, + COL_ALLOW_DUPLICATE }; #define CREATE_CLUSTER_DB_TABLE "CREATE TABLE IF NOT EXISTS clusters (\ - widgetId INTEGER PRIMARY KEY AUTOINCREMENT,\ - pageIndex INTEGER default 0,\ - y INTEGER default 0,\ - x INTEGER default 0,\ - pkgName TEXT,\ - content TEXT,\ - type INTEGER default 0,\ - period REAL default 0.0,\ - allow INTEGER default 1);" + widgetId INTEGER PRIMARY KEY AUTOINCREMENT,\ + pageIndex INTEGER default 0,\ + y INTEGER default 0,\ + x INTEGER default 0,\ + pkgName TEXT,\ + content TEXT,\ + type INTEGER default 0,\ + period REAL default 0.0,\ + allow INTEGER default 1);" #define UPDATE_CLUSTER_DB_TABLE "UPDATE clusters set \ - pageIndex=%d,\ - y=%d,\ - x=%d,\ - pkgName='%s',\ - content='%s',\ - type=%d,\ - period=%lf,\ - allow=%d WHERE widgetId=%d" + pageIndex=%d,\ + y=%d,\ + x=%d,\ + pkgName='%s',\ + content='%s',\ + type=%d,\ + period=%lf,\ + allow=%d WHERE widgetId=%d" #define INSERT_CLUSTER_DB_TABLE "INSERT into clusters (\ - pageIndex,\ - y,\ - x,\ - pkgName,\ - content,\ - type,\ - period,\ - allow) VALUES(%d,%d, %d,'%s','%s',%d, '%lf',%d)" + pageIndex,\ + y,\ + x,\ + pkgName,\ + content,\ + type,\ + period,\ + allow) VALUES(%d,%d, %d,'%s','%s',%d, '%lf',%d)" #define SELECT_ITEM "SELECT * FROM clusters;" @@ -75,169 +75,169 @@ static bool __cluster_db_open(void); bool cluster_db_create(void) { - char *errMsg; - int ret; - const char *db_path = util_get_data_file_path(CLUSTER_DB_NAME); - FILE *fp = fopen(db_path, "r"); - if (fp) { - fclose(fp); - LOGE("cluster DB[%s] exist", db_path); - return false; - } - - ret = sqlite3_open(db_path, &cluster_db); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%d] : path [%s]", ret, db_path); - return false; - } - - ret = sqlite3_exec(cluster_db, "PRAGMA journal_mode = PERSIST", NULL, NULL, &errMsg); - if (ret != SQLITE_OK) { - LOGE("SQL error(%d) : %s", ret, errMsg); - sqlite3_free(errMsg); - return false; - } - - ret = sqlite3_exec(cluster_db, CREATE_CLUSTER_DB_TABLE, NULL, NULL, &errMsg); - if (ret != SQLITE_OK) { - LOGE("SQL error(%d) : %s", ret, errMsg); - sqlite3_free(errMsg); - return false; - } - LOGD("Create DB[%s] : [%s] OK ", db_path, CREATE_CLUSTER_DB_TABLE); - return true; + char *errMsg; + int ret; + const char *db_path = util_get_data_file_path(CLUSTER_DB_NAME); + FILE *fp = fopen(db_path, "r"); + if (fp) { + fclose(fp); + LOGE("cluster DB[%s] exist", db_path); + return false; + } + + ret = sqlite3_open(db_path, &cluster_db); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%d] : path [%s]", ret, db_path); + return false; + } + + ret = sqlite3_exec(cluster_db, "PRAGMA journal_mode = PERSIST", NULL, NULL, &errMsg); + if (ret != SQLITE_OK) { + LOGE("SQL error(%d) : %s", ret, errMsg); + sqlite3_free(errMsg); + return false; + } + + ret = sqlite3_exec(cluster_db, CREATE_CLUSTER_DB_TABLE, NULL, NULL, &errMsg); + if (ret != SQLITE_OK) { + LOGE("SQL error(%d) : %s", ret, errMsg); + sqlite3_free(errMsg); + return false; + } + LOGD("Create DB[%s] : [%s] OK ", db_path, CREATE_CLUSTER_DB_TABLE); + return true; } bool cluster_db_close() { - if (cluster_db) { - sqlite3_exec(cluster_db, "COMMIT TRANSACTION", NULL, NULL, NULL); - sqlite3_close(cluster_db); - cluster_db = NULL; - } - return true; + if (cluster_db) { + sqlite3_exec(cluster_db, "COMMIT TRANSACTION", NULL, NULL, NULL); + sqlite3_close(cluster_db); + cluster_db = NULL; + } + return true; } bool cluster_db_get_list(Eina_List **cluster_list) { - sqlite3_stmt *stmt; - if (!__cluster_db_open()) - return false; - int ret = sqlite3_prepare_v2(cluster_db, SELECT_ITEM, strlen(SELECT_ITEM), &stmt, NULL); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%s,%s]", SELECT_ITEM, sqlite3_errmsg(cluster_db)); - return false; - } - - const char *str; - while (sqlite3_step(stmt) == SQLITE_ROW) { - widget_data_t *item = (widget_data_t *)malloc(sizeof(widget_data_t)); - memset(item, 0, sizeof(widget_data_t)); - - item->widget_id = sqlite3_column_int(stmt, COL_WIDGET_ID); - item->page_idx = sqlite3_column_int(stmt, COL_PAGE_INDEX); - item->pos_y = sqlite3_column_int(stmt, COL_POS_Y); - item->pos_x = sqlite3_column_int(stmt, COL_POS_X); - str = (const char *) sqlite3_column_text(stmt, COL_PKG_NAME); - item->pkg_name = (!str || !strlen(str)) ? NULL : strdup(str); - str = (const char *) sqlite3_column_text(stmt, COL_CONTENT_INFO); - item->content_info = (!str || !strlen(str)) ? NULL : strdup(str); - item->type = sqlite3_column_int(stmt, COL_TYPE); - item->period = sqlite3_column_double(stmt, COL_PERIOD); - item->allow_duplicate = sqlite3_column_int(stmt, COL_ALLOW_DUPLICATE); - *cluster_list = eina_list_append(*cluster_list, item); - } - sqlite3_finalize(stmt); - return true; + sqlite3_stmt *stmt; + if (!__cluster_db_open()) + return false; + int ret = sqlite3_prepare_v2(cluster_db, SELECT_ITEM, strlen(SELECT_ITEM), &stmt, NULL); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%s,%s]", SELECT_ITEM, sqlite3_errmsg(cluster_db)); + return false; + } + + const char *str; + while (sqlite3_step(stmt) == SQLITE_ROW) { + widget_data_t *item = (widget_data_t *)malloc(sizeof(widget_data_t)); + memset(item, 0, sizeof(widget_data_t)); + + item->widget_id = sqlite3_column_int(stmt, COL_WIDGET_ID); + item->page_idx = sqlite3_column_int(stmt, COL_PAGE_INDEX); + item->pos_y = sqlite3_column_int(stmt, COL_POS_Y); + item->pos_x = sqlite3_column_int(stmt, COL_POS_X); + str = (const char *) sqlite3_column_text(stmt, COL_PKG_NAME); + item->pkg_name = (!str || !strlen(str)) ? NULL : strdup(str); + str = (const char *) sqlite3_column_text(stmt, COL_CONTENT_INFO); + item->content_info = (!str || !strlen(str)) ? NULL : strdup(str); + item->type = sqlite3_column_int(stmt, COL_TYPE); + item->period = sqlite3_column_double(stmt, COL_PERIOD); + item->allow_duplicate = sqlite3_column_int(stmt, COL_ALLOW_DUPLICATE); + *cluster_list = eina_list_append(*cluster_list, item); + } + sqlite3_finalize(stmt); + return true; } bool cluster_db_update(widget_data_t *item) { - char query[QUERY_MAXLEN]; - sqlite3_stmt *stmt; - if (!__cluster_db_open()) - return false; - - snprintf(query, QUERY_MAXLEN, UPDATE_CLUSTER_DB_TABLE, - item->page_idx, - item->pos_y, - item->pos_x, - item->pkg_name, - item->content_info, - item->type, - item->period, - item->allow_duplicate, - item->widget_id); - int ret = sqlite3_prepare(cluster_db, query, QUERY_MAXLEN , &stmt, NULL); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(cluster_db)); - return false; - } - sqlite3_step(stmt); - sqlite3_finalize(stmt); - cluster_db_close(); - return true; + char query[QUERY_MAXLEN]; + sqlite3_stmt *stmt; + if (!__cluster_db_open()) + return false; + + snprintf(query, QUERY_MAXLEN, UPDATE_CLUSTER_DB_TABLE, + item->page_idx, + item->pos_y, + item->pos_x, + item->pkg_name, + item->content_info, + item->type, + item->period, + item->allow_duplicate, + item->widget_id); + int ret = sqlite3_prepare(cluster_db, query, QUERY_MAXLEN , &stmt, NULL); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(cluster_db)); + return false; + } + sqlite3_step(stmt); + sqlite3_finalize(stmt); + cluster_db_close(); + return true; } bool cluster_db_insert(widget_data_t *item) { - char query[QUERY_MAXLEN]; - sqlite3_stmt *stmt; - if (!__cluster_db_open()) - return false; - snprintf(query, QUERY_MAXLEN, INSERT_CLUSTER_DB_TABLE, - item->page_idx, - item->pos_y, - item->pos_x, - item->pkg_name, - item->content_info, - item->type, - item->period, - item->allow_duplicate); - int ret = sqlite3_prepare(cluster_db, query, QUERY_MAXLEN , &stmt, NULL); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(cluster_db)); - return false; - } - sqlite3_step(stmt); - sqlite3_finalize(stmt); - item->widget_id = (int)sqlite3_last_insert_rowid(cluster_db); - - cluster_db_close(); - return true; + char query[QUERY_MAXLEN]; + sqlite3_stmt *stmt; + if (!__cluster_db_open()) + return false; + snprintf(query, QUERY_MAXLEN, INSERT_CLUSTER_DB_TABLE, + item->page_idx, + item->pos_y, + item->pos_x, + item->pkg_name, + item->content_info, + item->type, + item->period, + item->allow_duplicate); + int ret = sqlite3_prepare(cluster_db, query, QUERY_MAXLEN , &stmt, NULL); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(cluster_db)); + return false; + } + sqlite3_step(stmt); + sqlite3_finalize(stmt); + item->widget_id = (int)sqlite3_last_insert_rowid(cluster_db); + + cluster_db_close(); + return true; } bool cluster_db_delete(widget_data_t *item) { - char query[QUERY_MAXLEN]; - sqlite3_stmt *stmt; - if (!__cluster_db_open()) - return false; - - snprintf(query, QUERY_MAXLEN, "DELETE FROM clusters WHERE widgetId=%d", item->widget_id); - int ret = sqlite3_prepare(cluster_db, query, QUERY_MAXLEN , &stmt, NULL); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(cluster_db)); - return false; - } - - sqlite3_step(stmt); - sqlite3_finalize(stmt); - - cluster_db_close(); - return true; + char query[QUERY_MAXLEN]; + sqlite3_stmt *stmt; + if (!__cluster_db_open()) + return false; + + snprintf(query, QUERY_MAXLEN, "DELETE FROM clusters WHERE widgetId=%d", item->widget_id); + int ret = sqlite3_prepare(cluster_db, query, QUERY_MAXLEN , &stmt, NULL); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%s,%s]", query, sqlite3_errmsg(cluster_db)); + return false; + } + + sqlite3_step(stmt); + sqlite3_finalize(stmt); + + cluster_db_close(); + return true; } bool __cluster_db_open() { - if (!cluster_db) { - int ret; - ret = sqlite3_open(util_get_data_file_path(CLUSTER_DB_NAME), &cluster_db); - if (ret != SQLITE_OK) { - LOGE("sqlite error : [%d] : path [%s]", ret, util_get_data_file_path(CLUSTER_DB_NAME)); - return false; - } - } - return true; + if (!cluster_db) { + int ret; + ret = sqlite3_open(util_get_data_file_path(CLUSTER_DB_NAME), &cluster_db); + if (ret != SQLITE_OK) { + LOGE("sqlite error : [%d] : path [%s]", ret, util_get_data_file_path(CLUSTER_DB_NAME)); + return false; + } + } + return true; } diff --git a/src/cluster_page.c b/src/cluster_page.c index d0e97f7..dd1482e 100755 --- a/src/cluster_page.c +++ b/src/cluster_page.c @@ -25,299 +25,299 @@ void __cluster_page_get_widget_size(widget_size_type_e type, int *w, int *h); cluster_page_t *cluster_page_new(Evas_Object* parent) { - cluster_page_t *page_t = (cluster_page_t *)malloc(sizeof(cluster_page_t)); - memset(page_t, 0, sizeof(cluster_page_t)); - - page_t->page_layout = elm_layout_add(parent); - elm_layout_file_set(page_t->page_layout, util_get_res_file_path(EDJE_DIR"/cluster_page.edj"), GROUP_CLUSTER_PAGE_LY); - evas_object_size_hint_align_set(page_t->page_layout, 0, 0); - evas_object_size_hint_weight_set(page_t->page_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_resize(page_t->page_layout, CLUSTER_W, CLUSTER_H); - evas_object_show(page_t->page_layout); - - Evas_Object *page_bg = evas_object_rectangle_add(evas_object_evas_get(page_t->page_layout)); - evas_object_size_hint_min_set(page_bg, CLUSTER_W, CLUSTER_H); - evas_object_size_hint_align_set(page_bg, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(page_bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_color_set(page_bg, 0, 0, 0, 0); - evas_object_show(page_bg); - elm_object_part_content_set(page_t->page_layout, SIZE_SETTER, page_bg); - - Evas_Object *grid = elm_grid_add(page_t->page_layout); - evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_grid_size_set(grid, CLUSTER_COL, CLUSTER_ROW); - evas_object_show(grid); - elm_layout_content_set(page_t->page_layout, CLUSTER_BOX, grid); - page_t->grid = grid; - return page_t; + cluster_page_t *page_t = (cluster_page_t *)malloc(sizeof(cluster_page_t)); + memset(page_t, 0, sizeof(cluster_page_t)); + + page_t->page_layout = elm_layout_add(parent); + elm_layout_file_set(page_t->page_layout, util_get_res_file_path(EDJE_DIR"/cluster_page.edj"), GROUP_CLUSTER_PAGE_LY); + evas_object_size_hint_align_set(page_t->page_layout, 0, 0); + evas_object_size_hint_weight_set(page_t->page_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_resize(page_t->page_layout, CLUSTER_W, CLUSTER_H); + evas_object_show(page_t->page_layout); + + Evas_Object *page_bg = evas_object_rectangle_add(evas_object_evas_get(page_t->page_layout)); + evas_object_size_hint_min_set(page_bg, CLUSTER_W, CLUSTER_H); + evas_object_size_hint_align_set(page_bg, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(page_bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_color_set(page_bg, 0, 0, 0, 0); + evas_object_show(page_bg); + elm_object_part_content_set(page_t->page_layout, SIZE_SETTER, page_bg); + + Evas_Object *grid = elm_grid_add(page_t->page_layout); + evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_grid_size_set(grid, CLUSTER_COL, CLUSTER_ROW); + evas_object_show(grid); + elm_layout_content_set(page_t->page_layout, CLUSTER_BOX, grid); + page_t->grid = grid; + return page_t; } void cluster_page_delete(cluster_page_t *page) { - evas_object_del(page->page_layout); - eina_list_free(page->widget_list); - free(page); + evas_object_del(page->page_layout); + eina_list_free(page->widget_list); + free(page); } bool cluster_page_set_widget(cluster_page_t *page, widget_data_t *item) { - if (item == NULL) { - LOGE("widget data is NULL"); - return false; - } - - int x, y; - if (cluster_page_check_empty_space(page, item->type, item->pos_x, item->pos_y, &x, &y)) { - item->page_idx = page->page_index; - item->pos_x = x; - item->pos_y = y; - __cluster_page_set(page, item); - return true; - } - return false; + if (item == NULL) { + LOGE("widget data is NULL"); + return false; + } + + int x, y; + if (cluster_page_check_empty_space(page, item->type, item->pos_x, item->pos_y, &x, &y)) { + item->page_idx = page->page_index; + item->pos_x = x; + item->pos_y = y; + __cluster_page_set(page, item); + return true; + } + return false; } bool cluster_page_unset(cluster_page_t *page, widget_data_t *item) { - int w, h; - int i, j; - __cluster_page_get_widget_size(item->type, &w, &h); - - for (i = 0; i < h; i++) { - for (j = 0; j < w; j++) { - page->space[item->pos_y + i][item->pos_x + j] = 0; - } - } - - elm_grid_unpack(page->grid, item->widget_layout); - page->widget_list = eina_list_remove(page->widget_list, item); - return true; + int w, h; + int i, j; + __cluster_page_get_widget_size(item->type, &w, &h); + + for (i = 0; i < h; i++) { + for (j = 0; j < w; j++) { + page->space[item->pos_y + i][item->pos_x + j] = 0; + } + } + + elm_grid_unpack(page->grid, item->widget_layout); + page->widget_list = eina_list_remove(page->widget_list, item); + return true; } bool cluster_page_check_empty_space(cluster_page_t *page, widget_size_type_e type, - int pos_x, int pos_y, int *empty_x, int *empty_y) + int pos_x, int pos_y, int *empty_x, int *empty_y) { - LOGD("%d %d", pos_x, pos_y); - int w, h; - int from_x, to_x, from_y, to_y; - int x, y, i, j; - __cluster_page_get_widget_size(type, &w, &h); - - if (pos_x == INIT_VALUE || pos_y == INIT_VALUE) { - from_x = from_y = 0; - to_x = to_y = 3; - } else if (pos_x < 0 || pos_y < 0 || pos_x >= CLUSTER_COL || pos_y >= CLUSTER_ROW) { - return false; - } else { - from_x = to_x = pos_x; - from_y = to_y = pos_y; - } - LOGD("from %d %d", from_x, from_y); - - for (y = from_y; y <= to_y; y++) { - for (x = from_x; x <= to_x; x++) { - bool find = true; - for (i = 0; i < h; i++) { - for (j = 0; j < w; j++) { - if (y + i >= 4 || x + j >= 4 || page->space[y + i][x + j] == 1) { - find = false; - break; - } - if (!find) - break; - } - } - if (find) { - if (empty_x) - *empty_x = x; - if (empty_y) - *empty_y = y; - LOGD("empty"); - return true; - } - } - } - - if (empty_x) - *empty_x = INIT_VALUE; - if (empty_y) - *empty_y = INIT_VALUE; - LOGD("NOT empty"); - return false; + LOGD("%d %d", pos_x, pos_y); + int w, h; + int from_x, to_x, from_y, to_y; + int x, y, i, j; + __cluster_page_get_widget_size(type, &w, &h); + + if (pos_x == INIT_VALUE || pos_y == INIT_VALUE) { + from_x = from_y = 0; + to_x = to_y = 3; + } else if (pos_x < 0 || pos_y < 0 || pos_x >= CLUSTER_COL || pos_y >= CLUSTER_ROW) { + return false; + } else { + from_x = to_x = pos_x; + from_y = to_y = pos_y; + } + LOGD("from %d %d", from_x, from_y); + + for (y = from_y; y <= to_y; y++) { + for (x = from_x; x <= to_x; x++) { + bool find = true; + for (i = 0; i < h; i++) { + for (j = 0; j < w; j++) { + if (y + i >= 4 || x + j >= 4 || page->space[y + i][x + j] == 1) { + find = false; + break; + } + if (!find) + break; + } + } + if (find) { + if (empty_x) + *empty_x = x; + if (empty_y) + *empty_y = y; + LOGD("empty"); + return true; + } + } + } + + if (empty_x) + *empty_x = INIT_VALUE; + if (empty_y) + *empty_y = INIT_VALUE; + LOGD("NOT empty"); + return false; } void cluster_page_check_empty_space_pos(cluster_page_t *page, widget_data_t *item, int *out_x, int *out_y) { - int x, y; - *out_x = INIT_VALUE; - *out_y = INIT_VALUE; - - int gx, gy, w, h; - evas_object_geometry_get(page->grid, &gx, &gy, &w, &h); - if (cluster_page_check_empty_space(page, item->type, item->pos_x, item->pos_y, &x, &y)) { - *out_x = gx + x * (w / CLUSTER_COL); - *out_y = gy + y * (h / CLUSTER_ROW); - } else if (cluster_page_check_empty_space(page, item->type, INIT_VALUE, INIT_VALUE, &x, &y)) { - *out_x = gx + x * (w / CLUSTER_COL); - *out_y = gy + y * (h / CLUSTER_ROW); - } else { - *out_x = gx + item->pos_x * (w / CLUSTER_COL); - *out_y = gy + item->pos_y * (h / CLUSTER_ROW); - } + int x, y; + *out_x = INIT_VALUE; + *out_y = INIT_VALUE; + + int gx, gy, w, h; + evas_object_geometry_get(page->grid, &gx, &gy, &w, &h); + if (cluster_page_check_empty_space(page, item->type, item->pos_x, item->pos_y, &x, &y)) { + *out_x = gx + x * (w / CLUSTER_COL); + *out_y = gy + y * (h / CLUSTER_ROW); + } else if (cluster_page_check_empty_space(page, item->type, INIT_VALUE, INIT_VALUE, &x, &y)) { + *out_x = gx + x * (w / CLUSTER_COL); + *out_y = gy + y * (h / CLUSTER_ROW); + } else { + *out_x = gx + item->pos_x * (w / CLUSTER_COL); + *out_y = gy + item->pos_y * (h / CLUSTER_ROW); + } } void cluster_page_get_highlight_xy(cluster_page_t *page, int *x, int *y) { - int gx, gy, w, h; - evas_object_geometry_get(page->grid, &gx, &gy, &w, &h); - if (page->highlight_pos_x == INIT_VALUE || page->highlight_pos_y == INIT_VALUE) { - *x = INIT_VALUE; - *y = INIT_VALUE; - } else { - *x = gx + page->highlight_pos_x * (w / CLUSTER_COL); - *y = gy + page->highlight_pos_y * (h / CLUSTER_ROW); - } + int gx, gy, w, h; + evas_object_geometry_get(page->grid, &gx, &gy, &w, &h); + if (page->highlight_pos_x == INIT_VALUE || page->highlight_pos_y == INIT_VALUE) { + *x = INIT_VALUE; + *y = INIT_VALUE; + } else { + *x = gx + page->highlight_pos_x * (w / CLUSTER_COL); + *y = gy + page->highlight_pos_y * (h / CLUSTER_ROW); + } } void __cluster_page_set(cluster_page_t *page, widget_data_t *item) { - int w, h; - int i, j; - __cluster_page_get_widget_size(item->type, &w, &h); - - for (i = 0; i < h; i++) { - for (j = 0; j < w; j++) { - page->space[item->pos_y + i][item->pos_x + j] = 1; - } - } - - elm_grid_pack(page->grid, item->widget_layout, item->pos_x, item->pos_y, w, h); - cluster_data_update(item); - page->widget_list = eina_list_append(page->widget_list, item); + int w, h; + int i, j; + __cluster_page_get_widget_size(item->type, &w, &h); + + for (i = 0; i < h; i++) { + for (j = 0; j < w; j++) { + page->space[item->pos_y + i][item->pos_x + j] = 1; + } + } + + elm_grid_pack(page->grid, item->widget_layout, item->pos_x, item->pos_y, w, h); + cluster_data_update(item); + page->widget_list = eina_list_append(page->widget_list, item); } Evas_Object *cluster_page_thumbnail(cluster_page_t *page_t) { - Evas_Object *image = NULL; - if (!page_t || !page_t->page_layout) { - LOGE("Invalid page"); - return NULL; - } - - image = evas_object_image_filled_add(evas_object_evas_get(page_t->page_layout)); - if (!image) { - LOGE("Could not create image proxy object"); - return NULL; - } - - if (!evas_object_image_source_set(image, page_t->page_layout)) { - evas_object_del(image); - LOGE("Could not set proxy image source"); - return NULL; - } - - evas_object_image_fill_set(image, 0, 0, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H); - evas_object_show(image); - - return image; + Evas_Object *image = NULL; + if (!page_t || !page_t->page_layout) { + LOGE("Invalid page"); + return NULL; + } + + image = evas_object_image_filled_add(evas_object_evas_get(page_t->page_layout)); + if (!image) { + LOGE("Could not create image proxy object"); + return NULL; + } + + if (!evas_object_image_source_set(image, page_t->page_layout)) { + evas_object_del(image); + LOGE("Could not set proxy image source"); + return NULL; + } + + evas_object_image_fill_set(image, 0, 0, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H); + evas_object_show(image); + + return image; } void cluster_page_drag_cancel(cluster_page_t *page) { - if (page->highlight) { - evas_object_del(page->highlight); - page->highlight = NULL; - page->highlight_pos_x = INIT_VALUE; - page->highlight_pos_y = INIT_VALUE; - } + if (page->highlight) { + evas_object_del(page->highlight); + page->highlight = NULL; + page->highlight_pos_x = INIT_VALUE; + page->highlight_pos_y = INIT_VALUE; + } } void cluster_page_drag_widget(cluster_page_t *page, widget_size_type_e type, int pos_x, int pos_y) { - if (!page->highlight) { - int w = 0, h = 0; - LOGD("Create Highlight"); - page->highlight_pos_x = INIT_VALUE; - page->highlight_pos_y = INIT_VALUE; - page->highlight = evas_object_rectangle_add(evas_object_evas_get(page->page_layout)); - edje_object_part_geometry_get(elm_layout_edje_get(page->page_layout), CLUSTER_BG, NULL, NULL, &w, &h); - evas_object_size_hint_min_set(page->highlight, w /CLUSTER_COL, h / CLUSTER_ROW); - evas_object_size_hint_align_set(page->highlight, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(page->highlight, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_color_set(page->highlight, 255 , 255, 255, 100); - } - - if (cluster_page_check_empty_space(page, type, pos_x, pos_y, NULL, NULL)) { - if (pos_x != page->highlight_pos_x || pos_y != page->highlight_pos_y) { - int w, h; - page->highlight_pos_x = pos_x; - page->highlight_pos_y = pos_y; - elm_grid_unpack(page->grid, page->highlight); - __cluster_page_get_widget_size(type, &w, &h); - elm_grid_pack(page->grid, page->highlight, pos_x, pos_y, w, h); - evas_object_show(page->highlight); - } - } else { - page->highlight_pos_x = INIT_VALUE; - page->highlight_pos_y = INIT_VALUE; - elm_grid_unpack(page->grid, page->highlight); - evas_object_hide(page->highlight); - } + if (!page->highlight) { + int w = 0, h = 0; + LOGD("Create Highlight"); + page->highlight_pos_x = INIT_VALUE; + page->highlight_pos_y = INIT_VALUE; + page->highlight = evas_object_rectangle_add(evas_object_evas_get(page->page_layout)); + edje_object_part_geometry_get(elm_layout_edje_get(page->page_layout), CLUSTER_BG, NULL, NULL, &w, &h); + evas_object_size_hint_min_set(page->highlight, w /CLUSTER_COL, h / CLUSTER_ROW); + evas_object_size_hint_align_set(page->highlight, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(page->highlight, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_color_set(page->highlight, 255 , 255, 255, 100); + } + + if (cluster_page_check_empty_space(page, type, pos_x, pos_y, NULL, NULL)) { + if (pos_x != page->highlight_pos_x || pos_y != page->highlight_pos_y) { + int w, h; + page->highlight_pos_x = pos_x; + page->highlight_pos_y = pos_y; + elm_grid_unpack(page->grid, page->highlight); + __cluster_page_get_widget_size(type, &w, &h); + elm_grid_pack(page->grid, page->highlight, pos_x, pos_y, w, h); + evas_object_show(page->highlight); + } + } else { + page->highlight_pos_x = INIT_VALUE; + page->highlight_pos_y = INIT_VALUE; + elm_grid_unpack(page->grid, page->highlight); + evas_object_hide(page->highlight); + } } bool cluster_page_drop_widget(cluster_page_t *page, widget_data_t *widget) { - if (!page->highlight || page->highlight_pos_x == INIT_VALUE || page->highlight_pos_y == INIT_VALUE) { - int x, y; - if (cluster_page_check_empty_space(page, widget->type, widget->pos_x, widget->pos_y, &x, &y) || - cluster_page_check_empty_space(page, widget->type, INIT_VALUE, INIT_VALUE, &x, &y)) { - widget->page_idx = page->page_index; - widget->pos_x = x; - widget->pos_y = y; - __cluster_page_set(page, widget); - return true; - } - return false; - } - - elm_grid_unpack(page->grid, page->highlight); - evas_object_del(page->highlight); - page->highlight = NULL; - - widget->page_idx = page->page_index; - widget->pos_x = page->highlight_pos_x; - widget->pos_y = page->highlight_pos_y; - __cluster_page_set(page, widget); - - page->highlight_pos_x = INIT_VALUE; - page->highlight_pos_y = INIT_VALUE; - return true; + if (!page->highlight || page->highlight_pos_x == INIT_VALUE || page->highlight_pos_y == INIT_VALUE) { + int x, y; + if (cluster_page_check_empty_space(page, widget->type, widget->pos_x, widget->pos_y, &x, &y) || + cluster_page_check_empty_space(page, widget->type, INIT_VALUE, INIT_VALUE, &x, &y)) { + widget->page_idx = page->page_index; + widget->pos_x = x; + widget->pos_y = y; + __cluster_page_set(page, widget); + return true; + } + return false; + } + + elm_grid_unpack(page->grid, page->highlight); + evas_object_del(page->highlight); + page->highlight = NULL; + + widget->page_idx = page->page_index; + widget->pos_x = page->highlight_pos_x; + widget->pos_y = page->highlight_pos_y; + __cluster_page_set(page, widget); + + page->highlight_pos_x = INIT_VALUE; + page->highlight_pos_y = INIT_VALUE; + return true; } void __cluster_page_print_space(cluster_page_t *page) { - LOGD("========================================="); - int i; - for (i = 0; i < 4; i++) { - LOGD("%d %d %d %d", page->space[i][0], page->space[i][1], page->space[i][2], page->space[i][3]); - } - LOGD("========================================="); + LOGD("========================================="); + int i; + for (i = 0; i < 4; i++) { + LOGD("%d %d %d %d", page->space[i][0], page->space[i][1], page->space[i][2], page->space[i][3]); + } + LOGD("========================================="); } void __cluster_page_get_widget_size(widget_size_type_e type, int *w, int *h) { - switch (type) { - case WIDGET_SIZE_TYPE_4x2: - *w = 4; - *h = 2; - break; - case WIDGET_SIZE_TYPE_4x4: - *w = 4; - *h = 4; - break; - default: - *w = *h = 0; - LOGE("NOT support type : %d", type); - break; - } + switch (type) { + case WIDGET_SIZE_TYPE_4x2: + *w = 4; + *h = 2; + break; + case WIDGET_SIZE_TYPE_4x4: + *w = 4; + *h = 4; + break; + default: + *w = *h = 0; + LOGE("NOT support type : %d", type); + break; + } } diff --git a/src/cluster_view.c b/src/cluster_view.c index 38742c4..4884dec 100755 --- a/src/cluster_view.c +++ b/src/cluster_view.c @@ -31,68 +31,68 @@ #include "mouse.h" static struct { - Evas_Object *win; - Evas_Object *scroller; - Evas_Object *box; - Evas_Object *allpage; - Evas_Object *allpage_add_page; - Evas_Object *allpage_grid; - page_indicator_t *indicator; - int page_count; - int current_page; - view_state_t view_state; - Eina_List *page_list; - cluster_page_t *picked_page; - widget_data_t *picked_widget; - Ecore_Timer *edit_mode_scroll_timer; - bool is_srolling; - Ecore_Animator *edit_animator; - int animation_from_x; - int animation_from_y; - int animation_to_x; - int animation_to_y; + Evas_Object *win; + Evas_Object *scroller; + Evas_Object *box; + Evas_Object *allpage; + Evas_Object *allpage_add_page; + Evas_Object *allpage_grid; + page_indicator_t *indicator; + int page_count; + int current_page; + view_state_t view_state; + Eina_List *page_list; + cluster_page_t *picked_page; + widget_data_t *picked_widget; + Ecore_Timer *edit_mode_scroll_timer; + bool is_srolling; + Ecore_Animator *edit_animator; + int animation_from_x; + int animation_from_y; + int animation_to_x; + int animation_to_y; } cluster_view_s = { - .scroller = NULL, - .box = NULL, - .allpage = NULL, - .allpage_add_page = NULL, - .allpage_grid = NULL, - .indicator = NULL, - .page_count = 0, - .current_page = INIT_VALUE, - .view_state = VIEW_STATE_NORMAL, - .page_list = NULL, - .picked_page = NULL, - .picked_widget = NULL, - .edit_mode_scroll_timer = NULL, - .is_srolling = false, - .edit_animator = NULL, - .animation_from_x = INIT_VALUE, - .animation_from_y = INIT_VALUE, - .animation_to_x = INIT_VALUE, - .animation_to_y = INIT_VALUE, + .scroller = NULL, + .box = NULL, + .allpage = NULL, + .allpage_add_page = NULL, + .allpage_grid = NULL, + .indicator = NULL, + .page_count = 0, + .current_page = INIT_VALUE, + .view_state = VIEW_STATE_NORMAL, + .page_list = NULL, + .picked_page = NULL, + .picked_widget = NULL, + .edit_mode_scroll_timer = NULL, + .is_srolling = false, + .edit_animator = NULL, + .animation_from_x = INIT_VALUE, + .animation_from_y = INIT_VALUE, + .animation_to_x = INIT_VALUE, + .animation_to_y = INIT_VALUE, }; static int cluster_menu_list[4] = { - MENU_CLUSTER_EDIT, - MENU_CLUSTER_ADD_WIDGET, - MENU_CLUSTER_CHANGE_WALLPAPER, - MENU_CLUSTER_ALL_PAGES + MENU_CLUSTER_EDIT, + MENU_CLUSTER_ADD_WIDGET, + MENU_CLUSTER_CHANGE_WALLPAPER, + MENU_CLUSTER_ALL_PAGES }; static mouse_info_t cluster_mouse_info = { - .pressed = false, - .long_pressed = false, - .down_x = 0, - .down_y = 0, - .move_x = 0, - .move_y = 0, - .up_x = 0, - .up_y = 0, - .long_press_timer = NULL, - .offset_x = 0, - .offset_y = 0, - .pressed_obj = NULL, + .pressed = false, + .long_pressed = false, + .down_x = 0, + .down_y = 0, + .move_x = 0, + .move_y = 0, + .up_x = 0, + .up_y = 0, + .long_press_timer = NULL, + .offset_x = 0, + .offset_y = 0, + .pressed_obj = NULL, }; static Eina_Hash *cluster_menu_table = NULL; @@ -152,1306 +152,1306 @@ static int __cluster_view_page_sort_cb(const void *a , const void *b); Evas_Object *cluster_view_create(Evas_Object *win) { - cluster_view_s.win = win; + cluster_view_s.win = win; - Evas_Object *base_layout = __cluster_view_create_base_gui(win); + Evas_Object *base_layout = __cluster_view_create_base_gui(win); - if (base_layout == NULL) { - LOGE("[FAILED][base_layout == NULL]"); - return NULL; - } + if (base_layout == NULL) { + LOGE("[FAILED][base_layout == NULL]"); + return NULL; + } - cluster_view_s.indicator = page_indictor_create(cluster_view_s.scroller); - page_indicator_scroller_resize(cluster_view_s.indicator, CLUSTER_VIEW_W , CLUSTER_VIEW_H); + cluster_view_s.indicator = page_indictor_create(cluster_view_s.scroller); + page_indicator_scroller_resize(cluster_view_s.indicator, CLUSTER_VIEW_W , CLUSTER_VIEW_H); - return base_layout; + return base_layout; } void cluster_view_init(void) { - widget_viewer_init(cluster_view_s.win); - cluster_data_init(); + widget_viewer_init(cluster_view_s.win); + cluster_data_init(); - __cluster_view_create_cluster(); - __cluster_view_create_menu(); + __cluster_view_create_cluster(); + __cluster_view_create_menu(); } void cluster_view_app_terminate(void) { - evas_object_event_callback_del(cluster_view_s.scroller, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_scroller_down_cb); - evas_object_event_callback_del(cluster_view_s.scroller, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_scroller_move_cb); - evas_object_event_callback_del(cluster_view_s.scroller, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_scroller_up_cb); + evas_object_event_callback_del(cluster_view_s.scroller, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_scroller_down_cb); + evas_object_event_callback_del(cluster_view_s.scroller, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_scroller_move_cb); + evas_object_event_callback_del(cluster_view_s.scroller, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_scroller_up_cb); - eina_hash_free(cluster_menu_table); - widget_viewer_fini(); + eina_hash_free(cluster_menu_table); + widget_viewer_fini(); } void cluster_view_show(void) { - page_indicator_show(cluster_view_s.indicator); + page_indicator_show(cluster_view_s.indicator); } void cluster_view_hide(void) { - page_indicator_hide(cluster_view_s.indicator); + page_indicator_hide(cluster_view_s.indicator); } void cluster_view_show_anim(double pos) { - evas_object_color_set(cluster_view_s.box, 255, 255, 255, pos*255); - if (pos >= (1.0 - (1e-10))) { - evas_object_color_set(cluster_view_s.box, 255, 255, 255, 255); - } + evas_object_color_set(cluster_view_s.box, 255, 255, 255, pos*255); + if (pos >= (1.0 - (1e-10))) { + evas_object_color_set(cluster_view_s.box, 255, 255, 255, 255); + } } void cluster_view_hide_anim(double pos) { - evas_object_color_set(cluster_view_s.box, 255, 255, 255, (1-pos)*255); - if (pos >= (1.0 - (1e-10))) { - evas_object_color_set(cluster_view_s.box, 255, 255, 255, 0); - } + evas_object_color_set(cluster_view_s.box, 255, 255, 255, (1-pos)*255); + if (pos >= (1.0 - (1e-10))) { + evas_object_color_set(cluster_view_s.box, 255, 255, 255, 0); + } } Evas_Object *__cluster_view_create_base_gui(Evas_Object *win) { - cluster_view_s.scroller = elm_scroller_add(win); - if (cluster_view_s.scroller == NULL) { - return NULL; - } - elm_scroller_content_min_limit(cluster_view_s.scroller, EINA_FALSE, EINA_FALSE); - elm_scroller_bounce_set(cluster_view_s.scroller, EINA_FALSE, EINA_TRUE); - elm_scroller_policy_set(cluster_view_s.scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); - elm_scroller_page_scroll_limit_set(cluster_view_s.scroller, 1, 0); - evas_object_size_hint_weight_set(cluster_view_s.scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_resize(cluster_view_s.scroller, CLUSTER_VIEW_W, CLUSTER_VIEW_H); - - elm_scroller_loop_set(cluster_view_s.scroller, EINA_TRUE, EINA_FALSE); - elm_scroller_page_size_set(cluster_view_s.scroller, CLUSTER_W , CLUSTER_H); - - evas_object_event_callback_add(cluster_view_s.scroller, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_scroller_down_cb, NULL); - evas_object_event_callback_add(cluster_view_s.scroller, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_scroller_move_cb, NULL); - evas_object_event_callback_add(cluster_view_s.scroller, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_scroller_up_cb, NULL); - - evas_object_smart_callback_add(cluster_view_s.scroller, "scroll,anim,stop", __cluster_view_scroll_anim_stop_cb, NULL); - evas_object_smart_callback_add(cluster_view_s.scroller, "scroll,anim,start", __cluster_view_scroll_anim_start_cb, NULL); - - cluster_view_s.box = elm_box_add(cluster_view_s.scroller); - elm_box_horizontal_set(cluster_view_s.box, EINA_TRUE); - evas_object_size_hint_weight_set(cluster_view_s.box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(cluster_view_s.box, 0, 0); - evas_object_show(cluster_view_s.box); - - elm_object_content_set(cluster_view_s.scroller, cluster_view_s.box); - - return cluster_view_s.scroller; + cluster_view_s.scroller = elm_scroller_add(win); + if (cluster_view_s.scroller == NULL) { + return NULL; + } + elm_scroller_content_min_limit(cluster_view_s.scroller, EINA_FALSE, EINA_FALSE); + elm_scroller_bounce_set(cluster_view_s.scroller, EINA_FALSE, EINA_TRUE); + elm_scroller_policy_set(cluster_view_s.scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); + elm_scroller_page_scroll_limit_set(cluster_view_s.scroller, 1, 0); + evas_object_size_hint_weight_set(cluster_view_s.scroller, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_resize(cluster_view_s.scroller, CLUSTER_VIEW_W, CLUSTER_VIEW_H); + + elm_scroller_loop_set(cluster_view_s.scroller, EINA_TRUE, EINA_FALSE); + elm_scroller_page_size_set(cluster_view_s.scroller, CLUSTER_W , CLUSTER_H); + + evas_object_event_callback_add(cluster_view_s.scroller, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_scroller_down_cb, NULL); + evas_object_event_callback_add(cluster_view_s.scroller, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_scroller_move_cb, NULL); + evas_object_event_callback_add(cluster_view_s.scroller, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_scroller_up_cb, NULL); + + evas_object_smart_callback_add(cluster_view_s.scroller, "scroll,anim,stop", __cluster_view_scroll_anim_stop_cb, NULL); + evas_object_smart_callback_add(cluster_view_s.scroller, "scroll,anim,start", __cluster_view_scroll_anim_start_cb, NULL); + + cluster_view_s.box = elm_box_add(cluster_view_s.scroller); + elm_box_horizontal_set(cluster_view_s.box, EINA_TRUE); + evas_object_size_hint_weight_set(cluster_view_s.box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(cluster_view_s.box, 0, 0); + evas_object_show(cluster_view_s.box); + + elm_object_content_set(cluster_view_s.scroller, cluster_view_s.box); + + return cluster_view_s.scroller; } static void __cluster_view_create_cluster(void) { - Eina_List *widget_list = cluster_data_get_widget_list(); - int page_count = cluster_data_get_page_count(); - cluster_view_s.current_page = CLUSTER_HOME_PAGE; - - while (page_count--) { - __cluster_view_page_new(); - } - - Eina_List *find_list; - widget_data_t *item = NULL; - EINA_LIST_FOREACH(widget_list, find_list, item) { - __cluster_view_add_widget_content(item); - cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, item->page_idx); - if (page == NULL) { - LOGE("page is NULL"); - } else { - if (!cluster_page_set_widget(page, item)) { - LOGE("failed cluster_page_set_widget page %d", item->page_idx); - } - } - } - - page_indicator_set_current_page(cluster_view_s.indicator, cluster_view_s.current_page); + Eina_List *widget_list = cluster_data_get_widget_list(); + int page_count = cluster_data_get_page_count(); + cluster_view_s.current_page = CLUSTER_HOME_PAGE; + + while (page_count--) { + __cluster_view_page_new(); + } + + Eina_List *find_list; + widget_data_t *item = NULL; + EINA_LIST_FOREACH(widget_list, find_list, item) { + __cluster_view_add_widget_content(item); + cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, item->page_idx); + if (page == NULL) { + LOGE("page is NULL"); + } else { + if (!cluster_page_set_widget(page, item)) { + LOGE("failed cluster_page_set_widget page %d", item->page_idx); + } + } + } + + page_indicator_set_current_page(cluster_view_s.indicator, cluster_view_s.current_page); } static void __cluster_view_create_menu(void) { - cluster_menu_table = eina_hash_int32_new(NULL); - eina_hash_add(cluster_menu_table, &cluster_menu_list[0], __cluster_view_menu_edit_cb); - eina_hash_add(cluster_menu_table, &cluster_menu_list[1], __cluster_view_menu_add_widget_cb); - eina_hash_add(cluster_menu_table, &cluster_menu_list[2], __cluster_view_menu_change_wallpaper_cb); - eina_hash_add(cluster_menu_table, &cluster_menu_list[3], __cluster_view_menu_all_pages_cb); + cluster_menu_table = eina_hash_int32_new(NULL); + eina_hash_add(cluster_menu_table, &cluster_menu_list[0], __cluster_view_menu_edit_cb); + eina_hash_add(cluster_menu_table, &cluster_menu_list[1], __cluster_view_menu_add_widget_cb); + eina_hash_add(cluster_menu_table, &cluster_menu_list[2], __cluster_view_menu_change_wallpaper_cb); + eina_hash_add(cluster_menu_table, &cluster_menu_list[3], __cluster_view_menu_all_pages_cb); } static void __cluster_view_menu_edit_cb(void *data, Evas_Object *obj, void *event_info) { - menu_hide(); + menu_hide(); - cluster_view_set_state(VIEW_STATE_EDIT); + cluster_view_set_state(VIEW_STATE_EDIT); } static void __cluster_view_menu_add_widget_cb(void *data, Evas_Object *obj, void *event_info) { - menu_hide(); + menu_hide(); - cluster_view_set_state(VIEW_STATE_ADD_VIEWER); + cluster_view_set_state(VIEW_STATE_ADD_VIEWER); } static void __cluster_view_menu_change_wallpaper_cb(void *data, Evas_Object *obj, void *event_info) { - const char *appid = "org.tizen.wallpaper-ui-service"; - app_control_h app_control_handle = NULL; + const char *appid = "org.tizen.wallpaper-ui-service"; + app_control_h app_control_handle = NULL; - if (app_control_create(&app_control_handle) != APP_CONTROL_ERROR_NONE) { - LOGE("[FAILED][app_control_create]"); - return; - } + if (app_control_create(&app_control_handle) != APP_CONTROL_ERROR_NONE) { + LOGE("[FAILED][app_control_create]"); + return; + } - app_control_add_extra_data(app_control_handle, "from", "Homescreen-efl"); - app_control_add_extra_data(app_control_handle, "popup_type", "selection_popup"); - app_control_add_extra_data(app_control_handle, "setas-type", "Homescreen"); + app_control_add_extra_data(app_control_handle, "from", "Homescreen-efl"); + app_control_add_extra_data(app_control_handle, "popup_type", "selection_popup"); + app_control_add_extra_data(app_control_handle, "setas-type", "Homescreen"); - if (app_control_set_app_id(app_control_handle, appid) != APP_CONTROL_ERROR_NONE) { - LOGE("[FAILED][app_control_set_app_id]"); - app_control_destroy(app_control_handle); - return; - } + if (app_control_set_app_id(app_control_handle, appid) != APP_CONTROL_ERROR_NONE) { + LOGE("[FAILED][app_control_set_app_id]"); + app_control_destroy(app_control_handle); + return; + } - if (app_control_send_launch_request(app_control_handle, __cluster_view_app_launch_request_cb, NULL) != APP_CONTROL_ERROR_NONE) { - LOGE("[FAILED][app_control_send_launch_request]"); - app_control_destroy(app_control_handle); - return; - } + if (app_control_send_launch_request(app_control_handle, __cluster_view_app_launch_request_cb, NULL) != APP_CONTROL_ERROR_NONE) { + LOGE("[FAILED][app_control_send_launch_request]"); + app_control_destroy(app_control_handle); + return; + } - app_control_destroy(app_control_handle); + app_control_destroy(app_control_handle); - menu_hide(); + menu_hide(); } static void __cluster_view_menu_all_pages_cb(void *data, Evas_Object *obj, void *event_info) { - menu_hide(); + menu_hide(); - cluster_view_set_state(VIEW_STATE_ALL_PAGE); + cluster_view_set_state(VIEW_STATE_ALL_PAGE); } void cluster_view_hw_menu_key(void) { - if (cluster_view_s.view_state == VIEW_STATE_NORMAL) - menu_change_state_on_hw_menu_key(cluster_menu_table); + if (cluster_view_s.view_state == VIEW_STATE_NORMAL) + menu_change_state_on_hw_menu_key(cluster_menu_table); } bool cluster_view_hw_home_key(void) { - if (cluster_view_s.view_state == VIEW_STATE_NORMAL) { - __cluster_view_scroll_to_home(); - } else if (cluster_view_s.view_state == VIEW_STATE_EDIT) { - cluster_view_set_state(VIEW_STATE_NORMAL); - } else if (cluster_view_s.view_state == VIEW_STATE_ADD_VIEWER) { - cluster_view_set_state(VIEW_STATE_NORMAL); - } else if (cluster_view_s.view_state == VIEW_STATE_ALL_PAGE) { - cluster_view_set_state(VIEW_STATE_NORMAL); - } - - return false; + if (cluster_view_s.view_state == VIEW_STATE_NORMAL) { + __cluster_view_scroll_to_home(); + } else if (cluster_view_s.view_state == VIEW_STATE_EDIT) { + cluster_view_set_state(VIEW_STATE_NORMAL); + } else if (cluster_view_s.view_state == VIEW_STATE_ADD_VIEWER) { + cluster_view_set_state(VIEW_STATE_NORMAL); + } else if (cluster_view_s.view_state == VIEW_STATE_ALL_PAGE) { + cluster_view_set_state(VIEW_STATE_NORMAL); + } + + return false; } bool cluster_view_hw_back_key(void) { - if (cluster_view_s.view_state == VIEW_STATE_EDIT) { - cluster_view_set_state(VIEW_STATE_NORMAL); - } else if (cluster_view_s.view_state == VIEW_STATE_ADD_VIEWER) { - cluster_view_set_state(VIEW_STATE_NORMAL); - } else if (cluster_view_s.view_state == VIEW_STATE_ALL_PAGE) { - cluster_view_set_state(VIEW_STATE_NORMAL); - } - - return true; + if (cluster_view_s.view_state == VIEW_STATE_EDIT) { + cluster_view_set_state(VIEW_STATE_NORMAL); + } else if (cluster_view_s.view_state == VIEW_STATE_ADD_VIEWER) { + cluster_view_set_state(VIEW_STATE_NORMAL); + } else if (cluster_view_s.view_state == VIEW_STATE_ALL_PAGE) { + cluster_view_set_state(VIEW_STATE_NORMAL); + } + + return true; } view_state_t cluster_view_get_state(void) { - return cluster_view_s.view_state; + return cluster_view_s.view_state; } bool cluster_view_set_state(view_state_t state) { - if (cluster_view_s.is_srolling) { - LOGE("cannot change view-state"); - return false; - } - - if (cluster_view_s.edit_animator) { - ecore_animator_del(cluster_view_s.edit_animator); - cluster_view_s.edit_animator = NULL; - __cluster_view_edit_move_anim_done(cluster_view_s.picked_widget); - } - - if (state == VIEW_STATE_EDIT) { - homescreen_efl_btn_hide(HOMESCREEN_VIEW_HOME); - - Eina_List *data_list = cluster_data_get_widget_list(); - Eina_List *find_list = NULL; - - cluster_page_t *page_item = NULL; - EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { - if (page_item->page_layout) { - elm_object_signal_emit(page_item->page_layout, SIGNAL_EDIT_MODE_ON, SIGNAL_SOURCE); - } - } - - widget_data_t *item = NULL; - EINA_LIST_FOREACH(data_list, find_list, item) { - if (item->widget_layout) { - if (!cluster_view_s.picked_widget || item->widget_layout != cluster_view_s.picked_widget->widget_layout) - elm_object_signal_emit(item->widget_layout, SIGNAL_DELETE_BUTTON_SHOW_ANI, SIGNAL_SOURCE); - elm_object_signal_emit(item->widget_layout, SIGNAL_CLUSTER_EDIT_STATE, SIGNAL_SOURCE); - } - } - } else if (state == VIEW_STATE_NORMAL) { - if (cluster_view_s.view_state == VIEW_STATE_EDIT) { - homescreen_efl_btn_show(HOMESCREEN_VIEW_HOME); - - Eina_List *data_list = cluster_data_get_widget_list(); - Eina_List *find_list = NULL; - - cluster_page_t *page_item = NULL; - EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { - if (page_item->page_layout) { - elm_object_signal_emit(page_item->page_layout, SIGNAL_EDIT_MODE_OFF, SIGNAL_SOURCE); - } - } - - widget_data_t *item = NULL; - EINA_LIST_FOREACH(data_list, find_list, item) { - if (item->widget_layout) { - elm_object_signal_emit(item->widget_layout, SIGNAL_DELETE_BUTTON_HIDE_ANI, SIGNAL_SOURCE); - elm_object_signal_emit(item->widget_layout, SIGNAL_CLUSTER_NORMAL_STATE, SIGNAL_SOURCE); - } - } - } else if (cluster_view_s.view_state == VIEW_STATE_ADD_VIEWER) { - add_widget_viewer_win_destroy(); - } else if (cluster_view_s.view_state == VIEW_STATE_ALL_PAGE) { - elm_win_indicator_mode_set(homescreen_efl_get_win(), ELM_WIN_INDICATOR_SHOW); - homescreen_efl_btn_show(HOMESCREEN_VIEW_HOME); - page_indicator_show(cluster_view_s.indicator); - evas_object_show(cluster_view_s.scroller); - __cluster_view_destroy_all_page(); - - Eina_List *find_list = NULL; - - cluster_page_t *page_item = NULL; - elm_box_unpack_all(cluster_view_s.box); - EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { - if (page_item->page_layout) { - elm_box_pack_end(cluster_view_s.box, page_item->page_layout); - } - } - - if (cluster_view_s.current_page >= cluster_view_s.page_count) { - cluster_view_s.current_page = CLUSTER_HOME_PAGE; - } - __cluster_view_scroll_to_page(cluster_view_s.current_page, false); - } - } else if (state == VIEW_STATE_ADD_VIEWER) { - add_widget_viewer_win_create(); - } else if (state == VIEW_STATE_ALL_PAGE) { - elm_win_indicator_mode_set(homescreen_efl_get_win(), ELM_WIN_INDICATOR_HIDE); - homescreen_efl_btn_hide(HOMESCREEN_VIEW_HOME); - page_indicator_hide(cluster_view_s.indicator); - - __cluster_view_create_all_page(); - } - - cluster_view_s.view_state = state; - - return true; + if (cluster_view_s.is_srolling) { + LOGE("cannot change view-state"); + return false; + } + + if (cluster_view_s.edit_animator) { + ecore_animator_del(cluster_view_s.edit_animator); + cluster_view_s.edit_animator = NULL; + __cluster_view_edit_move_anim_done(cluster_view_s.picked_widget); + } + + if (state == VIEW_STATE_EDIT) { + homescreen_efl_btn_hide(HOMESCREEN_VIEW_HOME); + + Eina_List *data_list = cluster_data_get_widget_list(); + Eina_List *find_list = NULL; + + cluster_page_t *page_item = NULL; + EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { + if (page_item->page_layout) { + elm_object_signal_emit(page_item->page_layout, SIGNAL_EDIT_MODE_ON, SIGNAL_SOURCE); + } + } + + widget_data_t *item = NULL; + EINA_LIST_FOREACH(data_list, find_list, item) { + if (item->widget_layout) { + if (!cluster_view_s.picked_widget || item->widget_layout != cluster_view_s.picked_widget->widget_layout) + elm_object_signal_emit(item->widget_layout, SIGNAL_DELETE_BUTTON_SHOW_ANI, SIGNAL_SOURCE); + elm_object_signal_emit(item->widget_layout, SIGNAL_CLUSTER_EDIT_STATE, SIGNAL_SOURCE); + } + } + } else if (state == VIEW_STATE_NORMAL) { + if (cluster_view_s.view_state == VIEW_STATE_EDIT) { + homescreen_efl_btn_show(HOMESCREEN_VIEW_HOME); + + Eina_List *data_list = cluster_data_get_widget_list(); + Eina_List *find_list = NULL; + + cluster_page_t *page_item = NULL; + EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { + if (page_item->page_layout) { + elm_object_signal_emit(page_item->page_layout, SIGNAL_EDIT_MODE_OFF, SIGNAL_SOURCE); + } + } + + widget_data_t *item = NULL; + EINA_LIST_FOREACH(data_list, find_list, item) { + if (item->widget_layout) { + elm_object_signal_emit(item->widget_layout, SIGNAL_DELETE_BUTTON_HIDE_ANI, SIGNAL_SOURCE); + elm_object_signal_emit(item->widget_layout, SIGNAL_CLUSTER_NORMAL_STATE, SIGNAL_SOURCE); + } + } + } else if (cluster_view_s.view_state == VIEW_STATE_ADD_VIEWER) { + add_widget_viewer_win_destroy(); + } else if (cluster_view_s.view_state == VIEW_STATE_ALL_PAGE) { + elm_win_indicator_mode_set(homescreen_efl_get_win(), ELM_WIN_INDICATOR_SHOW); + homescreen_efl_btn_show(HOMESCREEN_VIEW_HOME); + page_indicator_show(cluster_view_s.indicator); + evas_object_show(cluster_view_s.scroller); + __cluster_view_destroy_all_page(); + + Eina_List *find_list = NULL; + + cluster_page_t *page_item = NULL; + elm_box_unpack_all(cluster_view_s.box); + EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { + if (page_item->page_layout) { + elm_box_pack_end(cluster_view_s.box, page_item->page_layout); + } + } + + if (cluster_view_s.current_page >= cluster_view_s.page_count) { + cluster_view_s.current_page = CLUSTER_HOME_PAGE; + } + __cluster_view_scroll_to_page(cluster_view_s.current_page, false); + } + } else if (state == VIEW_STATE_ADD_VIEWER) { + add_widget_viewer_win_create(); + } else if (state == VIEW_STATE_ALL_PAGE) { + elm_win_indicator_mode_set(homescreen_efl_get_win(), ELM_WIN_INDICATOR_HIDE); + homescreen_efl_btn_hide(HOMESCREEN_VIEW_HOME); + page_indicator_hide(cluster_view_s.indicator); + + __cluster_view_create_all_page(); + } + + cluster_view_s.view_state = state; + + return true; } bool cluster_view_add_widget(widget_data_t *item, bool scroll) { - if (!item->widget_layout) - __cluster_view_add_widget_content(item); - - int page_idx = INIT_VALUE; - bool set_on = false; - - if (item->page_idx >= 0) { - page_idx = item->page_idx; - } else { - page_idx = cluster_view_s.current_page; - } - - cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, page_idx); - set_on = cluster_page_set_widget(page, item); - - if (!set_on) { - Eina_List *find_list = NULL; - cluster_page_t *page_item = NULL; - bool set_on = false; - EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { - if (page_item == NULL) { - LOGE("page is NULL"); - } else { - if (cluster_page_set_widget(page_item, item)) { - page_idx = page_item->page_index; - set_on = true; - break; - } - } - } - - if (!set_on) { - if (cluster_view_s.page_count >= CLUSTER_MAX_PAGE) { - LOGE("cluster page is max."); - - Evas_Smart_Cb func[3] = { NULL, NULL, NULL }; - void *data[3] = { NULL, NULL, NULL }; - char btn_text[3][STR_MAX] = { "", "", "" }; - char title_text[STR_MAX] = { "" }; - char popup_text[STR_MAX] = { "" }; - snprintf(btn_text[0], sizeof(btn_text[0]), "%s", _("IDS_CAM_SK_OK")); - snprintf(title_text, sizeof(title_text), "%s", _("IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB")); - snprintf(popup_text, sizeof(popup_text), "%s", _("IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG")); - popup_show(1, func, data, btn_text, title_text, popup_text); - return false; - } else { - cluster_page_t *page_t = __cluster_view_page_new(); - if (!page_t || !cluster_page_set_widget(page_t, item)) { - LOGE("Cannot add widget"); - return false; - } - page_idx = page_t->page_index; - } - } - } - - if (scroll) { - cluster_view_s.current_page = page_idx; - __cluster_view_scroll_to_page(cluster_view_s.current_page, true); - } - - return true; + if (!item->widget_layout) + __cluster_view_add_widget_content(item); + + int page_idx = INIT_VALUE; + bool set_on = false; + + if (item->page_idx >= 0) { + page_idx = item->page_idx; + } else { + page_idx = cluster_view_s.current_page; + } + + cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, page_idx); + set_on = cluster_page_set_widget(page, item); + + if (!set_on) { + Eina_List *find_list = NULL; + cluster_page_t *page_item = NULL; + bool set_on = false; + EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { + if (page_item == NULL) { + LOGE("page is NULL"); + } else { + if (cluster_page_set_widget(page_item, item)) { + page_idx = page_item->page_index; + set_on = true; + break; + } + } + } + + if (!set_on) { + if (cluster_view_s.page_count >= CLUSTER_MAX_PAGE) { + LOGE("cluster page is max."); + + Evas_Smart_Cb func[3] = { NULL, NULL, NULL }; + void *data[3] = { NULL, NULL, NULL }; + char btn_text[3][STR_MAX] = { "", "", "" }; + char title_text[STR_MAX] = { "" }; + char popup_text[STR_MAX] = { "" }; + snprintf(btn_text[0], sizeof(btn_text[0]), "%s", _("IDS_CAM_SK_OK")); + snprintf(title_text, sizeof(title_text), "%s", _("IDS_HS_HEADER_UNABLE_TO_ADD_WIDGET_ABB")); + snprintf(popup_text, sizeof(popup_text), "%s", _("IDS_HS_POP_UNABLE_TO_ADD_THIS_HOME_BOX_TO_THE_HOME_SCREEN_THERE_IS_NOT_ENOUGH_SPACE_ON_THE_HOME_SCREEN_MSG")); + popup_show(1, func, data, btn_text, title_text, popup_text); + return false; + } else { + cluster_page_t *page_t = __cluster_view_page_new(); + if (!page_t || !cluster_page_set_widget(page_t, item)) { + LOGE("Cannot add widget"); + return false; + } + page_idx = page_t->page_index; + } + } + } + + if (scroll) { + cluster_view_s.current_page = page_idx; + __cluster_view_scroll_to_page(cluster_view_s.current_page, true); + } + + return true; } void cluster_view_delete_widget(widget_data_t *item) { - if (item == NULL) - return ; - - cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, item->page_idx); - if (page) - cluster_page_unset(page, item); - else - LOGE("Page is NULL"); - - if (item->widget_layout) { - evas_object_event_callback_del(item->widget_layout, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_widget_down_cb); - evas_object_event_callback_del(item->widget_layout, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_widget_move_cb); - evas_object_event_callback_del(item->widget_layout, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_widget_up_cb); - - evas_object_del(item->widget_layout); - item->widget_layout = NULL; - } + if (item == NULL) + return ; + + cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, item->page_idx); + if (page) + cluster_page_unset(page, item); + else + LOGE("Page is NULL"); + + if (item->widget_layout) { + evas_object_event_callback_del(item->widget_layout, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_widget_down_cb); + evas_object_event_callback_del(item->widget_layout, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_widget_move_cb); + evas_object_event_callback_del(item->widget_layout, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_widget_up_cb); + + evas_object_del(item->widget_layout); + item->widget_layout = NULL; + } } static void __cluster_view_scroll_to_home(void) { - __cluster_view_scroll_to_page(CLUSTER_HOME_PAGE, true); + __cluster_view_scroll_to_page(CLUSTER_HOME_PAGE, true); } static void __cluster_view_scroll_to_page(int page_idx, bool animation) { - if (animation) { - elm_scroller_page_bring_in(cluster_view_s.scroller, page_idx, 0); - } else { - page_indicator_set_current_page(cluster_view_s.indicator, page_idx); - elm_scroller_page_show(cluster_view_s.scroller, page_idx, 0); - } + if (animation) { + elm_scroller_page_bring_in(cluster_view_s.scroller, page_idx, 0); + } else { + page_indicator_set_current_page(cluster_view_s.indicator, page_idx); + elm_scroller_page_show(cluster_view_s.scroller, page_idx, 0); + } } static void __cluster_view_app_launch_request_cb(app_control_h request, app_control_h reply, app_control_result_e result, void *data) { - switch (result) { - case APP_CONTROL_RESULT_CANCELED: - LOGE("[APP_CONTROL_RESULT_CANCELED]"); - break; - case APP_CONTROL_RESULT_FAILED: - LOGE("[APP_CONTROL_RESULT_FAILED]"); - break; - case APP_CONTROL_RESULT_SUCCEEDED: - LOGD("[APP_CONTROL_RESULT_SUCCEEDED]"); - break; - default: - LOGE("UNKNOWN ERROR"); - break; - } + switch (result) { + case APP_CONTROL_RESULT_CANCELED: + LOGE("[APP_CONTROL_RESULT_CANCELED]"); + break; + case APP_CONTROL_RESULT_FAILED: + LOGE("[APP_CONTROL_RESULT_FAILED]"); + break; + case APP_CONTROL_RESULT_SUCCEEDED: + LOGD("[APP_CONTROL_RESULT_SUCCEEDED]"); + break; + default: + LOGE("UNKNOWN ERROR"); + break; + } } static void __cluster_view_add_widget_content(widget_data_t *item) { - int w, h; - LOGD("Create Widget: pkg[%s], type[%d]", item->pkg_name, item->type); - item->widget_layout = widget_viewer_add_widget(cluster_view_s.win, item, &w, &h); - evas_object_event_callback_add(item->widget_layout, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_widget_down_cb, item); - evas_object_event_callback_add(item->widget_layout, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_widget_move_cb, item); - evas_object_event_callback_add(item->widget_layout, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_widget_up_cb, item); - LOGD("widget size : %d %d", w, h); + int w, h; + LOGD("Create Widget: pkg[%s], type[%d]", item->pkg_name, item->type); + item->widget_layout = widget_viewer_add_widget(cluster_view_s.win, item, &w, &h); + evas_object_event_callback_add(item->widget_layout, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_widget_down_cb, item); + evas_object_event_callback_add(item->widget_layout, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_widget_move_cb, item); + evas_object_event_callback_add(item->widget_layout, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_widget_up_cb, item); + LOGD("widget size : %d %d", w, h); } static void __cluster_view_create_all_page(void) { - cluster_view_s.allpage = elm_layout_add(homescreen_efl_get_win()); - elm_layout_file_set(cluster_view_s.allpage, util_get_res_file_path(EDJE_DIR"/cluster_allpage.edj"), GROUP_CLUSTER_ALLPAGE_LY); - - evas_object_size_hint_align_set(cluster_view_s.allpage, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(cluster_view_s.allpage, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_move(cluster_view_s.allpage, 0, 0); - evas_object_show(cluster_view_s.allpage); - - Evas_Object *page_bg = evas_object_rectangle_add(evas_object_evas_get(cluster_view_s.allpage)); - evas_object_size_hint_min_set(page_bg, WINDOW_W, WINDOW_H); - evas_object_size_hint_align_set(page_bg, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(page_bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_color_set(page_bg, 0, 0, 0, 50); - evas_object_show(page_bg); - elm_object_part_content_set(cluster_view_s.allpage, SIZE_SETTER, page_bg); - - Evas_Object *grid = elm_grid_add(cluster_view_s.allpage); - evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_grid_size_set(grid, WINDOW_W, WINDOW_H); - evas_object_show(grid); - elm_layout_content_set(cluster_view_s.allpage, CLUSTER_ALLPAGE_GRID, grid); - cluster_view_s.allpage_grid = grid; - - Eina_List *find_list = NULL; - cluster_page_t *page_item = NULL; - elm_box_unpack_all(cluster_view_s.box); - EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { - evas_object_move(page_item->page_layout, -720, 0); - if (page_item->page_layout) { - page_item->thumbnail_ly = elm_layout_add(page_item->page_layout); - elm_layout_file_set(page_item->thumbnail_ly, util_get_res_file_path(EDJE_DIR"/cluster_allpage_thumbnail.edj"), GROUP_CLUSTER_ALLPAGE_THUMBNAIL_LY); - - evas_object_size_hint_align_set(page_item->thumbnail_ly, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(page_item->thumbnail_ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(page_item->thumbnail_ly); - - Evas_Object *thumbnail = cluster_page_thumbnail(page_item); - elm_object_part_content_set(page_item->thumbnail_ly, CLUSTER_ALLPAGE_THUMBNAIL_IMAGE, thumbnail); - elm_object_signal_callback_add(page_item->thumbnail_ly, - SIGNAL_ALLPAGE_DELETE_BUTTON_CLICKED, SIGNAL_SOURCE, - __cluster_view_allpage_delete_clicked, page_item); - - evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_thumbnail_down_cb, page_item); - evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_thumbnail_move_cb, page_item); - evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_thumbnail_up_cb, page_item); - } - } - - __cluster_view_allpage_reposition(); - - if (cluster_view_s.page_count < CLUSTER_MAX_PAGE) { - int x = 0, y = 0; - cluster_view_s.allpage_add_page = elm_layout_add(cluster_view_s.allpage_grid); - elm_layout_file_set(cluster_view_s.allpage_add_page, util_get_res_file_path(EDJE_DIR"/cluster_allpage_thumbnail.edj"), GROUP_CLUSTER_ALLPAGE_THUMBNAIL_LY); - - evas_object_size_hint_align_set(cluster_view_s.allpage_add_page, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(cluster_view_s.allpage_add_page, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(cluster_view_s.allpage_add_page); - - elm_object_signal_emit(cluster_view_s.allpage_add_page, SIGNAL_ALLPAGE_ADD_BUTTON_SHOW, SIGNAL_SOURCE); - elm_object_signal_callback_add(cluster_view_s.allpage_add_page, - SIGNAL_ALLPAGE_ADD_BUTTON_CLICKED, SIGNAL_SOURCE, - __cluster_view_allpage_add_clicked, NULL); - - __cluster_view_allpage_get_page_pos(cluster_view_s.page_count, &x, &y); - elm_grid_pack(cluster_view_s.allpage_grid, cluster_view_s.allpage_add_page, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H); - } + cluster_view_s.allpage = elm_layout_add(homescreen_efl_get_win()); + elm_layout_file_set(cluster_view_s.allpage, util_get_res_file_path(EDJE_DIR"/cluster_allpage.edj"), GROUP_CLUSTER_ALLPAGE_LY); + + evas_object_size_hint_align_set(cluster_view_s.allpage, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(cluster_view_s.allpage, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_move(cluster_view_s.allpage, 0, 0); + evas_object_show(cluster_view_s.allpage); + + Evas_Object *page_bg = evas_object_rectangle_add(evas_object_evas_get(cluster_view_s.allpage)); + evas_object_size_hint_min_set(page_bg, WINDOW_W, WINDOW_H); + evas_object_size_hint_align_set(page_bg, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(page_bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_color_set(page_bg, 0, 0, 0, 50); + evas_object_show(page_bg); + elm_object_part_content_set(cluster_view_s.allpage, SIZE_SETTER, page_bg); + + Evas_Object *grid = elm_grid_add(cluster_view_s.allpage); + evas_object_size_hint_weight_set(grid, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(grid, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_grid_size_set(grid, WINDOW_W, WINDOW_H); + evas_object_show(grid); + elm_layout_content_set(cluster_view_s.allpage, CLUSTER_ALLPAGE_GRID, grid); + cluster_view_s.allpage_grid = grid; + + Eina_List *find_list = NULL; + cluster_page_t *page_item = NULL; + elm_box_unpack_all(cluster_view_s.box); + EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { + evas_object_move(page_item->page_layout, -720, 0); + if (page_item->page_layout) { + page_item->thumbnail_ly = elm_layout_add(page_item->page_layout); + elm_layout_file_set(page_item->thumbnail_ly, util_get_res_file_path(EDJE_DIR"/cluster_allpage_thumbnail.edj"), GROUP_CLUSTER_ALLPAGE_THUMBNAIL_LY); + + evas_object_size_hint_align_set(page_item->thumbnail_ly, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(page_item->thumbnail_ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(page_item->thumbnail_ly); + + Evas_Object *thumbnail = cluster_page_thumbnail(page_item); + elm_object_part_content_set(page_item->thumbnail_ly, CLUSTER_ALLPAGE_THUMBNAIL_IMAGE, thumbnail); + elm_object_signal_callback_add(page_item->thumbnail_ly, + SIGNAL_ALLPAGE_DELETE_BUTTON_CLICKED, SIGNAL_SOURCE, + __cluster_view_allpage_delete_clicked, page_item); + + evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_thumbnail_down_cb, page_item); + evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_thumbnail_move_cb, page_item); + evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_thumbnail_up_cb, page_item); + } + } + + __cluster_view_allpage_reposition(); + + if (cluster_view_s.page_count < CLUSTER_MAX_PAGE) { + int x = 0, y = 0; + cluster_view_s.allpage_add_page = elm_layout_add(cluster_view_s.allpage_grid); + elm_layout_file_set(cluster_view_s.allpage_add_page, util_get_res_file_path(EDJE_DIR"/cluster_allpage_thumbnail.edj"), GROUP_CLUSTER_ALLPAGE_THUMBNAIL_LY); + + evas_object_size_hint_align_set(cluster_view_s.allpage_add_page, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(cluster_view_s.allpage_add_page, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(cluster_view_s.allpage_add_page); + + elm_object_signal_emit(cluster_view_s.allpage_add_page, SIGNAL_ALLPAGE_ADD_BUTTON_SHOW, SIGNAL_SOURCE); + elm_object_signal_callback_add(cluster_view_s.allpage_add_page, + SIGNAL_ALLPAGE_ADD_BUTTON_CLICKED, SIGNAL_SOURCE, + __cluster_view_allpage_add_clicked, NULL); + + __cluster_view_allpage_get_page_pos(cluster_view_s.page_count, &x, &y); + elm_grid_pack(cluster_view_s.allpage_grid, cluster_view_s.allpage_add_page, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H); + } } static void __cluster_view_allpage_reposition(void) { - Eina_List *find_list = NULL; - cluster_page_t *page_item = NULL; - EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { - int x = 0, y = 0; - __cluster_view_allpage_get_page_pos(page_item->page_index, &x, &y); - elm_grid_pack(cluster_view_s.allpage_grid, page_item->thumbnail_ly, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H); - if (cluster_view_s.page_count > 1) - elm_object_signal_emit(page_item->thumbnail_ly, SIGNAL_ALLPAGE_DELETE_BUTTON_SHOW, SIGNAL_SOURCE); - else { - elm_object_signal_emit(page_item->thumbnail_ly, SIGNAL_ALLPAGE_DELETE_BUTTON_HIDE, SIGNAL_SOURCE); - } - } + Eina_List *find_list = NULL; + cluster_page_t *page_item = NULL; + EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { + int x = 0, y = 0; + __cluster_view_allpage_get_page_pos(page_item->page_index, &x, &y); + elm_grid_pack(cluster_view_s.allpage_grid, page_item->thumbnail_ly, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H); + if (cluster_view_s.page_count > 1) + elm_object_signal_emit(page_item->thumbnail_ly, SIGNAL_ALLPAGE_DELETE_BUTTON_SHOW, SIGNAL_SOURCE); + else { + elm_object_signal_emit(page_item->thumbnail_ly, SIGNAL_ALLPAGE_DELETE_BUTTON_HIDE, SIGNAL_SOURCE); + } + } } static void __cluster_view_allpage_get_page_pos(int page_idx, int *w, int *h) { - int row, col; - int start_y = 0; - if (cluster_view_s.page_count < 2) { - start_y = (WINDOW_H - CLUSTER_ALL_PAGE_H) / 2; - } else if (cluster_view_s.page_count < 4) { - start_y = (WINDOW_H - (CLUSTER_ALL_PAGE_H * 2 + CLUSTER_ALL_PAGE_GAP_H)) / 2; - } else { - start_y = (WINDOW_H - (CLUSTER_ALL_PAGE_H * 3 + CLUSTER_ALL_PAGE_GAP_H * 2)) / 2; - } - row = page_idx / 2; - col = page_idx % 2; - - *w = CLUSTER_ALL_PAGE_PADDING_SIDE + (col * (CLUSTER_ALL_PAGE_W + CLUSTER_ALL_PAGE_GAP_W)); - *h = start_y + (row * (CLUSTER_ALL_PAGE_H + CLUSTER_ALL_PAGE_GAP_H)); + int row, col; + int start_y = 0; + if (cluster_view_s.page_count < 2) { + start_y = (WINDOW_H - CLUSTER_ALL_PAGE_H) / 2; + } else if (cluster_view_s.page_count < 4) { + start_y = (WINDOW_H - (CLUSTER_ALL_PAGE_H * 2 + CLUSTER_ALL_PAGE_GAP_H)) / 2; + } else { + start_y = (WINDOW_H - (CLUSTER_ALL_PAGE_H * 3 + CLUSTER_ALL_PAGE_GAP_H * 2)) / 2; + } + row = page_idx / 2; + col = page_idx % 2; + + *w = CLUSTER_ALL_PAGE_PADDING_SIDE + (col * (CLUSTER_ALL_PAGE_W + CLUSTER_ALL_PAGE_GAP_W)); + *h = start_y + (row * (CLUSTER_ALL_PAGE_H + CLUSTER_ALL_PAGE_GAP_H)); } static int __cluster_view_allpage_get_page_index(int x, int y) { - int idx = 0; - int sx = CLUSTER_ALL_PAGE_PADDING_SIDE; - int sy = 0; - if (cluster_view_s.page_count < 2) { - sy = (WINDOW_H - CLUSTER_ALL_PAGE_H) / 2; - } else if (cluster_view_s.page_count < 4) { - sy = (WINDOW_H - (CLUSTER_ALL_PAGE_H * 2 + CLUSTER_ALL_PAGE_GAP_H)) / 2; - } else { - sy = (WINDOW_H - (CLUSTER_ALL_PAGE_H * 3 + CLUSTER_ALL_PAGE_GAP_H * 2)) / 2; - } - int w = CLUSTER_ALL_PAGE_W + CLUSTER_ALL_PAGE_GAP_W; - int h = CLUSTER_ALL_PAGE_H + CLUSTER_ALL_PAGE_GAP_H; - - for (idx=0; idx < cluster_view_s.page_count; idx++) { - int row = idx / 2; - int col = idx % 2; - int ny = sy + (row * h); - int nx = sx + (col * w); - - int d = (ny - y) * (ny - y) + (nx - x) * (nx - x); - if (d < CLUSTER_VIEW_ALLPAGE_MOVE_GAP) { - return (row * 2) + col; - } - } - - return INIT_VALUE; + int idx = 0; + int sx = CLUSTER_ALL_PAGE_PADDING_SIDE; + int sy = 0; + if (cluster_view_s.page_count < 2) { + sy = (WINDOW_H - CLUSTER_ALL_PAGE_H) / 2; + } else if (cluster_view_s.page_count < 4) { + sy = (WINDOW_H - (CLUSTER_ALL_PAGE_H * 2 + CLUSTER_ALL_PAGE_GAP_H)) / 2; + } else { + sy = (WINDOW_H - (CLUSTER_ALL_PAGE_H * 3 + CLUSTER_ALL_PAGE_GAP_H * 2)) / 2; + } + int w = CLUSTER_ALL_PAGE_W + CLUSTER_ALL_PAGE_GAP_W; + int h = CLUSTER_ALL_PAGE_H + CLUSTER_ALL_PAGE_GAP_H; + + for (idx = 0; idx < cluster_view_s.page_count; idx++) { + int row = idx / 2; + int col = idx % 2; + int ny = sy + (row * h); + int nx = sx + (col * w); + + int d = (ny - y) * (ny - y) + (nx - x) * (nx - x); + if (d < CLUSTER_VIEW_ALLPAGE_MOVE_GAP) { + return (row * 2) + col; + } + } + + return INIT_VALUE; } static void __cluster_view_destroy_all_page(void) { - Eina_List *find_list = NULL; - cluster_page_t *page_item = NULL; - EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { - if (page_item) { - Evas_Object *image = elm_object_part_content_get(page_item->thumbnail_ly, CLUSTER_ALLPAGE_THUMBNAIL_IMAGE); - evas_object_event_callback_del(image, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_thumbnail_down_cb); - evas_object_event_callback_del(image, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_thumbnail_move_cb); - evas_object_event_callback_del(image, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_thumbnail_up_cb); - - evas_object_del(page_item->thumbnail_ly); - page_item->thumbnail_ly = NULL; - } - } - if (cluster_view_s.allpage_add_page) - evas_object_del(cluster_view_s.allpage_add_page); - if (cluster_view_s.allpage) - evas_object_del(cluster_view_s.allpage); - - cluster_view_s.allpage_add_page = NULL; - cluster_view_s.allpage = NULL; + Eina_List *find_list = NULL; + cluster_page_t *page_item = NULL; + EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { + if (page_item) { + Evas_Object *image = elm_object_part_content_get(page_item->thumbnail_ly, CLUSTER_ALLPAGE_THUMBNAIL_IMAGE); + evas_object_event_callback_del(image, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_thumbnail_down_cb); + evas_object_event_callback_del(image, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_thumbnail_move_cb); + evas_object_event_callback_del(image, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_thumbnail_up_cb); + + evas_object_del(page_item->thumbnail_ly); + page_item->thumbnail_ly = NULL; + } + } + if (cluster_view_s.allpage_add_page) + evas_object_del(cluster_view_s.allpage_add_page); + if (cluster_view_s.allpage) + evas_object_del(cluster_view_s.allpage); + + cluster_view_s.allpage_add_page = NULL; + cluster_view_s.allpage = NULL; } static cluster_page_t *__cluster_view_page_new(void) { - if (cluster_view_s.page_count >= CLUSTER_MAX_PAGE) { - LOGE("cluster page is max."); - return NULL; - } + if (cluster_view_s.page_count >= CLUSTER_MAX_PAGE) { + LOGE("cluster page is max."); + return NULL; + } - cluster_page_t *page_t = cluster_page_new(cluster_view_s.box); - cluster_view_s.page_list = eina_list_append(cluster_view_s.page_list, page_t); - elm_box_pack_end(cluster_view_s.box, page_t->page_layout); - cluster_view_s.page_count = eina_list_count(cluster_view_s.page_list); - page_t->page_index = cluster_view_s.page_count - 1; - cluster_data_set_page_count(cluster_view_s.page_count); + cluster_page_t *page_t = cluster_page_new(cluster_view_s.box); + cluster_view_s.page_list = eina_list_append(cluster_view_s.page_list, page_t); + elm_box_pack_end(cluster_view_s.box, page_t->page_layout); + cluster_view_s.page_count = eina_list_count(cluster_view_s.page_list); + page_t->page_index = cluster_view_s.page_count - 1; + cluster_data_set_page_count(cluster_view_s.page_count); - page_indicator_set_page_count(cluster_view_s.indicator, cluster_view_s.page_count); + page_indicator_set_page_count(cluster_view_s.indicator, cluster_view_s.page_count); - return page_t; + return page_t; } static void __cluster_view_page_delete(cluster_page_t *page) { - elm_grid_unpack(cluster_view_s.allpage_grid, page->thumbnail_ly); + elm_grid_unpack(cluster_view_s.allpage_grid, page->thumbnail_ly); - cluster_view_s.page_list = eina_list_remove(cluster_view_s.page_list, page); - elm_box_unpack(cluster_view_s.box, page->page_layout); + cluster_view_s.page_list = eina_list_remove(cluster_view_s.page_list, page); + elm_box_unpack(cluster_view_s.box, page->page_layout); - Eina_List *find_list = NULL; - widget_data_t *widget = NULL; - EINA_LIST_FOREACH(page->widget_list, find_list, widget) { - cluster_data_delete(widget); - } - cluster_page_delete(page); + Eina_List *find_list = NULL; + widget_data_t *widget = NULL; + EINA_LIST_FOREACH(page->widget_list, find_list, widget) { + cluster_data_delete(widget); + } + cluster_page_delete(page); - cluster_view_s.page_count--; + cluster_view_s.page_count--; - cluster_data_set_page_count(cluster_view_s.page_count); - page_indicator_set_page_count(cluster_view_s.indicator, cluster_view_s.page_count); + cluster_data_set_page_count(cluster_view_s.page_count); + page_indicator_set_page_count(cluster_view_s.indicator, cluster_view_s.page_count); } static void __cluster_view_allpage_delete_clicked(void *data, Evas_Object *obj, const char *emission, const char *source) { - if (cluster_view_s.page_count <= 1) - return ; - - cluster_page_t *page_item = (cluster_page_t *)data; - if (eina_list_count(page_item->widget_list) > 0) { - Evas_Smart_Cb func[3] = { __cluster_view_allpage_delete_page_cb, NULL, NULL }; - void *data[3] = { page_item, NULL, NULL }; - char btn_text[3][STR_MAX] = { "", "", "" }; - char title_text[STR_MAX] = { "" }; - char popup_text[STR_MAX] = { "" }; - snprintf(btn_text[0], sizeof(btn_text[0]), "%s", _("IDS_HS_OPT_DELETE")); - snprintf(btn_text[1], sizeof(btn_text[1]), "%s", _("IDS_CAM_SK_CANCEL")); - snprintf(title_text, sizeof(title_text), "%s", _("IDS_HS_HEADER_DELETE_PAGE_ABB2")); - snprintf(popup_text, sizeof(popup_text), "%s", _("IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED")); - popup_show(2, func, data, btn_text, title_text, popup_text); - } else { - __cluster_view_allpage_delete_page_cb(page_item, NULL, NULL); - } + if (cluster_view_s.page_count <= 1) + return ; + + cluster_page_t *page_item = (cluster_page_t *)data; + if (eina_list_count(page_item->widget_list) > 0) { + Evas_Smart_Cb func[3] = { __cluster_view_allpage_delete_page_cb, NULL, NULL }; + void *data[3] = { page_item, NULL, NULL }; + char btn_text[3][STR_MAX] = { "", "", "" }; + char title_text[STR_MAX] = { "" }; + char popup_text[STR_MAX] = { "" }; + snprintf(btn_text[0], sizeof(btn_text[0]), "%s", _("IDS_HS_OPT_DELETE")); + snprintf(btn_text[1], sizeof(btn_text[1]), "%s", _("IDS_CAM_SK_CANCEL")); + snprintf(title_text, sizeof(title_text), "%s", _("IDS_HS_HEADER_DELETE_PAGE_ABB2")); + snprintf(popup_text, sizeof(popup_text), "%s", _("IDS_HS_POP_THIS_PAGE_AND_ALL_THE_ITEMS_IT_CONTAINS_WILL_BE_DELETED")); + popup_show(2, func, data, btn_text, title_text, popup_text); + } else { + __cluster_view_allpage_delete_page_cb(page_item, NULL, NULL); + } } static void __cluster_view_allpage_add_clicked(void *data, Evas_Object *obj, const char *emission, const char *source) { - cluster_page_t *page_t = __cluster_view_page_new(); - if (!page_t) { - LOGE("cluster page is max."); - return ; - } - - elm_grid_unpack(cluster_view_s.allpage_grid, cluster_view_s.allpage_add_page); - - page_t->thumbnail_ly = elm_layout_add(page_t->page_layout); - elm_layout_file_set(page_t->thumbnail_ly, util_get_res_file_path(EDJE_DIR"/cluster_allpage_thumbnail.edj"), GROUP_CLUSTER_ALLPAGE_THUMBNAIL_LY); - - evas_object_size_hint_align_set(page_t->thumbnail_ly, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(page_t->thumbnail_ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(page_t->thumbnail_ly); - - Evas_Object *thumbnail = cluster_page_thumbnail(page_t); - elm_object_part_content_set(page_t->thumbnail_ly, CLUSTER_ALLPAGE_THUMBNAIL_IMAGE, thumbnail); - elm_object_signal_emit(page_t->thumbnail_ly, SIGNAL_ALLPAGE_DELETE_BUTTON_SHOW, SIGNAL_SOURCE); - elm_object_signal_callback_add(page_t->thumbnail_ly, - SIGNAL_ALLPAGE_DELETE_BUTTON_CLICKED, SIGNAL_SOURCE, - __cluster_view_allpage_delete_clicked, page_t); - - evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_thumbnail_down_cb, page_t); - evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_thumbnail_move_cb, page_t); - evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_thumbnail_up_cb, page_t); - - __cluster_view_allpage_reposition(); - - if (cluster_view_s.page_count < CLUSTER_MAX_PAGE) { - int x = 0, y = 0; - __cluster_view_allpage_get_page_pos(cluster_view_s.page_count, &x, &y); - elm_grid_pack(cluster_view_s.allpage_grid, cluster_view_s.allpage_add_page, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H); - } else { - evas_object_del(cluster_view_s.allpage_add_page); - cluster_view_s.allpage_add_page = NULL; - } + cluster_page_t *page_t = __cluster_view_page_new(); + if (!page_t) { + LOGE("cluster page is max."); + return ; + } + + elm_grid_unpack(cluster_view_s.allpage_grid, cluster_view_s.allpage_add_page); + + page_t->thumbnail_ly = elm_layout_add(page_t->page_layout); + elm_layout_file_set(page_t->thumbnail_ly, util_get_res_file_path(EDJE_DIR"/cluster_allpage_thumbnail.edj"), GROUP_CLUSTER_ALLPAGE_THUMBNAIL_LY); + + evas_object_size_hint_align_set(page_t->thumbnail_ly, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(page_t->thumbnail_ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(page_t->thumbnail_ly); + + Evas_Object *thumbnail = cluster_page_thumbnail(page_t); + elm_object_part_content_set(page_t->thumbnail_ly, CLUSTER_ALLPAGE_THUMBNAIL_IMAGE, thumbnail); + elm_object_signal_emit(page_t->thumbnail_ly, SIGNAL_ALLPAGE_DELETE_BUTTON_SHOW, SIGNAL_SOURCE); + elm_object_signal_callback_add(page_t->thumbnail_ly, + SIGNAL_ALLPAGE_DELETE_BUTTON_CLICKED, SIGNAL_SOURCE, + __cluster_view_allpage_delete_clicked, page_t); + + evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_thumbnail_down_cb, page_t); + evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_thumbnail_move_cb, page_t); + evas_object_event_callback_add(thumbnail, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_thumbnail_up_cb, page_t); + + __cluster_view_allpage_reposition(); + + if (cluster_view_s.page_count < CLUSTER_MAX_PAGE) { + int x = 0, y = 0; + __cluster_view_allpage_get_page_pos(cluster_view_s.page_count, &x, &y); + elm_grid_pack(cluster_view_s.allpage_grid, cluster_view_s.allpage_add_page, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H); + } else { + evas_object_del(cluster_view_s.allpage_add_page); + cluster_view_s.allpage_add_page = NULL; + } } static void __cluster_view_allpage_delete_page_cb(void *data, Evas_Object *obj, void *event_info) { - cluster_page_t *page = (cluster_page_t *)data; - - Eina_List *find_list = NULL; - cluster_page_t *page_item = NULL; - EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { - if (page_item->page_index > page->page_index) { - page_item->page_index -= 1; - } - } - - __cluster_view_page_delete(page); - __cluster_view_allpage_reposition(); - - if (cluster_view_s.page_count < CLUSTER_MAX_PAGE) { - if (cluster_view_s.allpage_add_page == NULL) { - cluster_view_s.allpage_add_page = elm_layout_add(cluster_view_s.allpage); - elm_layout_file_set(cluster_view_s.allpage_add_page, util_get_res_file_path(EDJE_DIR"/cluster_allpage_thumbnail.edj"), GROUP_CLUSTER_ALLPAGE_THUMBNAIL_LY); - - evas_object_size_hint_align_set(cluster_view_s.allpage_add_page, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(cluster_view_s.allpage_add_page, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(cluster_view_s.allpage_add_page); - - elm_object_signal_emit(cluster_view_s.allpage_add_page, SIGNAL_ALLPAGE_ADD_BUTTON_SHOW, SIGNAL_SOURCE); - elm_object_signal_callback_add(cluster_view_s.allpage_add_page, - SIGNAL_ALLPAGE_ADD_BUTTON_CLICKED, SIGNAL_SOURCE, - __cluster_view_allpage_add_clicked, NULL); - } - int x = 0, y = 0; - __cluster_view_allpage_get_page_pos(cluster_view_s.page_count, &x, &y); - elm_grid_pack(cluster_view_s.allpage_grid, cluster_view_s.allpage_add_page, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H); - } - popup_hide(); + cluster_page_t *page = (cluster_page_t *)data; + + Eina_List *find_list = NULL; + cluster_page_t *page_item = NULL; + EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { + if (page_item->page_index > page->page_index) { + page_item->page_index -= 1; + } + } + + __cluster_view_page_delete(page); + __cluster_view_allpage_reposition(); + + if (cluster_view_s.page_count < CLUSTER_MAX_PAGE) { + if (cluster_view_s.allpage_add_page == NULL) { + cluster_view_s.allpage_add_page = elm_layout_add(cluster_view_s.allpage); + elm_layout_file_set(cluster_view_s.allpage_add_page, util_get_res_file_path(EDJE_DIR"/cluster_allpage_thumbnail.edj"), GROUP_CLUSTER_ALLPAGE_THUMBNAIL_LY); + + evas_object_size_hint_align_set(cluster_view_s.allpage_add_page, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(cluster_view_s.allpage_add_page, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(cluster_view_s.allpage_add_page); + + elm_object_signal_emit(cluster_view_s.allpage_add_page, SIGNAL_ALLPAGE_ADD_BUTTON_SHOW, SIGNAL_SOURCE); + elm_object_signal_callback_add(cluster_view_s.allpage_add_page, + SIGNAL_ALLPAGE_ADD_BUTTON_CLICKED, SIGNAL_SOURCE, + __cluster_view_allpage_add_clicked, NULL); + } + int x = 0, y = 0; + __cluster_view_allpage_get_page_pos(cluster_view_s.page_count, &x, &y); + elm_grid_pack(cluster_view_s.allpage_grid, cluster_view_s.allpage_add_page, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H); + } + popup_hide(); } static void __clsuter_view_thumbnail_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - Evas_Event_Mouse_Down* ev = event_info; - LOGD("DOWN: (%d,%d)", ev->output.x, ev->output.y); + Evas_Event_Mouse_Down* ev = event_info; + LOGD("DOWN: (%d,%d)", ev->output.x, ev->output.y); - cluster_mouse_info.pressed = true; - cluster_mouse_info.pressed_obj = obj; + cluster_mouse_info.pressed = true; + cluster_mouse_info.pressed_obj = obj; - cluster_mouse_info.down_x = cluster_mouse_info.move_x = ev->output.x; - cluster_mouse_info.down_y = cluster_mouse_info.move_y = ev->output.y; + cluster_mouse_info.down_x = cluster_mouse_info.move_x = ev->output.x; + cluster_mouse_info.down_y = cluster_mouse_info.move_y = ev->output.y; - if (cluster_mouse_info.long_press_timer) { - ecore_timer_del(cluster_mouse_info.long_press_timer); - cluster_mouse_info.long_press_timer = NULL; - } + if (cluster_mouse_info.long_press_timer) { + ecore_timer_del(cluster_mouse_info.long_press_timer); + cluster_mouse_info.long_press_timer = NULL; + } - cluster_mouse_info.long_press_timer = ecore_timer_add(LONG_PRESS_TIME, - __cluster_view_thumbnail_long_press_time_cb, data); + cluster_mouse_info.long_press_timer = ecore_timer_add(LONG_PRESS_TIME, + __cluster_view_thumbnail_long_press_time_cb, data); } static void __clsuter_view_thumbnail_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - cluster_page_t *page_t = (cluster_page_t *)data; - Evas_Event_Mouse_Up* ev = event_info; - LOGD("UP: (%d,%d)", ev->output.x, ev->output.y); + cluster_page_t *page_t = (cluster_page_t *)data; + Evas_Event_Mouse_Up* ev = event_info; + LOGD("UP: (%d,%d)", ev->output.x, ev->output.y); - if (!cluster_mouse_info.pressed) - return ; + if (!cluster_mouse_info.pressed) + return ; - cluster_mouse_info.pressed = false; - cluster_mouse_info.pressed_obj = NULL; + cluster_mouse_info.pressed = false; + cluster_mouse_info.pressed_obj = NULL; - if (cluster_mouse_info.long_press_timer) { - ecore_timer_del(cluster_mouse_info.long_press_timer); - cluster_mouse_info.long_press_timer = NULL; - } + if (cluster_mouse_info.long_press_timer) { + ecore_timer_del(cluster_mouse_info.long_press_timer); + cluster_mouse_info.long_press_timer = NULL; + } - cluster_mouse_info.up_x = ev->output.x; - cluster_mouse_info.up_y = ev->output.y; + cluster_mouse_info.up_x = ev->output.x; + cluster_mouse_info.up_y = ev->output.y; - if (!cluster_mouse_info.long_pressed) { - int distance = (cluster_mouse_info.down_x - cluster_mouse_info.up_x) * (cluster_mouse_info.down_x - cluster_mouse_info.up_x); - distance += (cluster_mouse_info.down_y - cluster_mouse_info.up_y) * (cluster_mouse_info.down_y - cluster_mouse_info.up_y); + if (!cluster_mouse_info.long_pressed) { + int distance = (cluster_mouse_info.down_x - cluster_mouse_info.up_x) * (cluster_mouse_info.down_x - cluster_mouse_info.up_x); + distance += (cluster_mouse_info.down_y - cluster_mouse_info.up_y) * (cluster_mouse_info.down_y - cluster_mouse_info.up_y); - if (distance <= MOUSE_MOVE_MIN_DISTANCE) { - cluster_view_s.current_page = page_t->page_index; - cluster_view_set_state(VIEW_STATE_NORMAL); - } + if (distance <= MOUSE_MOVE_MIN_DISTANCE) { + cluster_view_s.current_page = page_t->page_index; + cluster_view_set_state(VIEW_STATE_NORMAL); + } - return ; - } + return ; + } - cluster_mouse_info.long_pressed = false; + cluster_mouse_info.long_pressed = false; - if (cluster_view_s.picked_page) { - __cluster_view_allpage_drop_page(data); - } + if (cluster_view_s.picked_page) { + __cluster_view_allpage_drop_page(data); + } } static int __cluster_view_page_sort_cb(const void *a , const void *b) { - cluster_page_t *item1 = (cluster_page_t *)a; - cluster_page_t *item2 = (cluster_page_t *)b; + cluster_page_t *item1 = (cluster_page_t *)a; + cluster_page_t *item2 = (cluster_page_t *)b; - return item1->page_index - item2->page_index; + return item1->page_index - item2->page_index; } static void __clsuter_view_thumbnail_move_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - Evas_Event_Mouse_Move* ev = event_info; + Evas_Event_Mouse_Move* ev = event_info; - if (!cluster_mouse_info.pressed) - return ; + if (!cluster_mouse_info.pressed) + return ; - cluster_mouse_info.move_x = ev->cur.output.x; - cluster_mouse_info.move_y = ev->cur.output.y; + cluster_mouse_info.move_x = ev->cur.output.x; + cluster_mouse_info.move_y = ev->cur.output.y; - if (!cluster_mouse_info.long_pressed) { - int distance = (cluster_mouse_info.move_x - cluster_mouse_info.down_x) * (cluster_mouse_info.move_x - cluster_mouse_info.down_x); - distance += (cluster_mouse_info.move_y - cluster_mouse_info.down_y) * (cluster_mouse_info.move_y - cluster_mouse_info.down_y); + if (!cluster_mouse_info.long_pressed) { + int distance = (cluster_mouse_info.move_x - cluster_mouse_info.down_x) * (cluster_mouse_info.move_x - cluster_mouse_info.down_x); + distance += (cluster_mouse_info.move_y - cluster_mouse_info.down_y) * (cluster_mouse_info.move_y - cluster_mouse_info.down_y); - if (distance > MOUSE_MOVE_MIN_DISTANCE) { - if (cluster_mouse_info.long_press_timer) { - ecore_timer_del(cluster_mouse_info.long_press_timer); - cluster_mouse_info.long_press_timer = NULL; - } + if (distance > MOUSE_MOVE_MIN_DISTANCE) { + if (cluster_mouse_info.long_press_timer) { + ecore_timer_del(cluster_mouse_info.long_press_timer); + cluster_mouse_info.long_press_timer = NULL; + } - return ; - } - } + return ; + } + } - if (cluster_view_s.picked_page) { - __cluster_view_allpage_drag_page(data); - } + if (cluster_view_s.picked_page) { + __cluster_view_allpage_drag_page(data); + } } static Eina_Bool __cluster_view_thumbnail_long_press_time_cb(void *data) { - if (!cluster_mouse_info.pressed) - return ECORE_CALLBACK_CANCEL; + if (!cluster_mouse_info.pressed) + return ECORE_CALLBACK_CANCEL; - cluster_mouse_info.long_pressed = true; + cluster_mouse_info.long_pressed = true; - if (cluster_mouse_info.long_press_timer) { - ecore_timer_del(cluster_mouse_info.long_press_timer); - cluster_mouse_info.long_press_timer = NULL; - } + if (cluster_mouse_info.long_press_timer) { + ecore_timer_del(cluster_mouse_info.long_press_timer); + cluster_mouse_info.long_press_timer = NULL; + } - __cluster_view_allpage_pick_up_page(data); + __cluster_view_allpage_pick_up_page(data); - return ECORE_CALLBACK_CANCEL; + return ECORE_CALLBACK_CANCEL; } static void __cluster_view_allpage_drag_page(void *data) { - if (cluster_view_s.picked_page) { - int move_x = cluster_mouse_info.move_x - cluster_mouse_info.offset_x; - int move_y = cluster_mouse_info.move_y - cluster_mouse_info.offset_y; - int new_index = INIT_VALUE; - evas_object_move(cluster_view_s.picked_page->thumbnail_ly, move_x, move_y); - new_index = __cluster_view_allpage_get_page_index(move_x, move_y); - - int move = 0; - int start, end; - if (new_index != cluster_view_s.picked_page->page_index && new_index != INIT_VALUE) { - if (cluster_view_s.picked_page->page_index < new_index) { - move = -1; - start = cluster_view_s.picked_page->page_index; - end = new_index; - } else if (cluster_view_s.picked_page->page_index > new_index) { - move = +1; - end = cluster_view_s.picked_page->page_index; - start = new_index; - } - - Eina_List *find_list = NULL; - cluster_page_t *page_item = NULL; - EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { - if (page_item == cluster_view_s.picked_page) { - page_item->page_index = new_index; - } else if (page_item->page_index >= start && page_item->page_index <= end) { - page_item->page_index += move; - } - elm_grid_unpack(cluster_view_s.allpage_grid, page_item->thumbnail_ly); - } - - int x, y; - EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { - if (page_item != cluster_view_s.picked_page) { - __cluster_view_allpage_get_page_pos(page_item->page_index, &x, &y); - elm_grid_pack(cluster_view_s.allpage_grid, page_item->thumbnail_ly, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H); - } - } - } - } + if (cluster_view_s.picked_page) { + int move_x = cluster_mouse_info.move_x - cluster_mouse_info.offset_x; + int move_y = cluster_mouse_info.move_y - cluster_mouse_info.offset_y; + int new_index = INIT_VALUE; + evas_object_move(cluster_view_s.picked_page->thumbnail_ly, move_x, move_y); + new_index = __cluster_view_allpage_get_page_index(move_x, move_y); + + int move = 0; + int start, end; + if (new_index != cluster_view_s.picked_page->page_index && new_index != INIT_VALUE) { + if (cluster_view_s.picked_page->page_index < new_index) { + move = -1; + start = cluster_view_s.picked_page->page_index; + end = new_index; + } else if (cluster_view_s.picked_page->page_index > new_index) { + move = +1; + end = cluster_view_s.picked_page->page_index; + start = new_index; + } + + Eina_List *find_list = NULL; + cluster_page_t *page_item = NULL; + EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { + if (page_item == cluster_view_s.picked_page) { + page_item->page_index = new_index; + } else if (page_item->page_index >= start && page_item->page_index <= end) { + page_item->page_index += move; + } + elm_grid_unpack(cluster_view_s.allpage_grid, page_item->thumbnail_ly); + } + + int x, y; + EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { + if (page_item != cluster_view_s.picked_page) { + __cluster_view_allpage_get_page_pos(page_item->page_index, &x, &y); + elm_grid_pack(cluster_view_s.allpage_grid, page_item->thumbnail_ly, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H); + } + } + } + } } static void __cluster_view_allpage_pick_up_page(void *data) { - cluster_view_s.picked_page = (cluster_page_t *)data; - elm_grid_unpack(cluster_view_s.allpage_grid, cluster_view_s.picked_page->thumbnail_ly); + cluster_view_s.picked_page = (cluster_page_t *)data; + elm_grid_unpack(cluster_view_s.allpage_grid, cluster_view_s.picked_page->thumbnail_ly); - elm_object_signal_emit(cluster_view_s.picked_page->thumbnail_ly, SIGNAL_ALLPAGE_DELETE_BUTTON_HIDE, SIGNAL_SOURCE); - elm_object_signal_emit(cluster_view_s.picked_page->thumbnail_ly, SIGNAL_ALLPAGE_DRAG_BG_SHOW, SIGNAL_SOURCE); + elm_object_signal_emit(cluster_view_s.picked_page->thumbnail_ly, SIGNAL_ALLPAGE_DELETE_BUTTON_HIDE, SIGNAL_SOURCE); + elm_object_signal_emit(cluster_view_s.picked_page->thumbnail_ly, SIGNAL_ALLPAGE_DRAG_BG_SHOW, SIGNAL_SOURCE); - int x, y; - __cluster_view_allpage_get_page_pos(cluster_view_s.picked_page->page_index, &x, &y); - cluster_mouse_info.offset_x = cluster_mouse_info.down_x - x; - cluster_mouse_info.offset_y = cluster_mouse_info.down_y - y; + int x, y; + __cluster_view_allpage_get_page_pos(cluster_view_s.picked_page->page_index, &x, &y); + cluster_mouse_info.offset_x = cluster_mouse_info.down_x - x; + cluster_mouse_info.offset_y = cluster_mouse_info.down_y - y; } static void __cluster_view_allpage_drop_page(void *data) { - if (cluster_view_s.picked_page) { - if (cluster_view_s.page_count > 1) - elm_object_signal_emit(cluster_view_s.picked_page->thumbnail_ly, SIGNAL_ALLPAGE_DELETE_BUTTON_SHOW, SIGNAL_SOURCE); - elm_object_signal_emit(cluster_view_s.picked_page->thumbnail_ly, SIGNAL_ALLPAGE_DRAG_BG_HIDE, SIGNAL_SOURCE); - - int x, y; - __cluster_view_allpage_get_page_pos(cluster_view_s.picked_page->page_index, &x, &y); - elm_grid_pack(cluster_view_s.allpage_grid, cluster_view_s.picked_page->thumbnail_ly, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H); - cluster_view_s.picked_page = NULL; - } - cluster_view_s.page_list = eina_list_sort(cluster_view_s.page_list, - eina_list_count(cluster_view_s.page_list), __cluster_view_page_sort_cb); - - Eina_List *find_list = NULL, *widget_list = NULL; - cluster_page_t *page_item = NULL; - widget_data_t *widget_item = NULL; - EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { - EINA_LIST_FOREACH(page_item->widget_list, widget_list, widget_item) { - widget_item->page_idx = page_item->page_index; - cluster_data_update(widget_item); - } - } + if (cluster_view_s.picked_page) { + if (cluster_view_s.page_count > 1) + elm_object_signal_emit(cluster_view_s.picked_page->thumbnail_ly, SIGNAL_ALLPAGE_DELETE_BUTTON_SHOW, SIGNAL_SOURCE); + elm_object_signal_emit(cluster_view_s.picked_page->thumbnail_ly, SIGNAL_ALLPAGE_DRAG_BG_HIDE, SIGNAL_SOURCE); + + int x, y; + __cluster_view_allpage_get_page_pos(cluster_view_s.picked_page->page_index, &x, &y); + elm_grid_pack(cluster_view_s.allpage_grid, cluster_view_s.picked_page->thumbnail_ly, x, y, CLUSTER_ALL_PAGE_W, CLUSTER_ALL_PAGE_H); + cluster_view_s.picked_page = NULL; + } + cluster_view_s.page_list = eina_list_sort(cluster_view_s.page_list, + eina_list_count(cluster_view_s.page_list), __cluster_view_page_sort_cb); + + Eina_List *find_list = NULL, *widget_list = NULL; + cluster_page_t *page_item = NULL; + widget_data_t *widget_item = NULL; + EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { + EINA_LIST_FOREACH(page_item->widget_list, widget_list, widget_item) { + widget_item->page_idx = page_item->page_index; + cluster_data_update(widget_item); + } + } } static void __clsuter_view_widget_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - Evas_Event_Mouse_Down* ev = event_info; - LOGD("DOWN: (%d,%d)", ev->output.x, ev->output.y); + Evas_Event_Mouse_Down* ev = event_info; + LOGD("DOWN: (%d,%d)", ev->output.x, ev->output.y); - if (cluster_view_s.edit_animator) { - LOGE("edit animator is running"); - return ; - } + if (cluster_view_s.edit_animator) { + LOGE("edit animator is running"); + return ; + } - cluster_mouse_info.pressed = true; - cluster_mouse_info.pressed_obj = obj; + cluster_mouse_info.pressed = true; + cluster_mouse_info.pressed_obj = obj; - cluster_mouse_info.down_x = cluster_mouse_info.move_x = ev->output.x; - cluster_mouse_info.down_y = cluster_mouse_info.move_y = ev->output.y; + cluster_mouse_info.down_x = cluster_mouse_info.move_x = ev->output.x; + cluster_mouse_info.down_y = cluster_mouse_info.move_y = ev->output.y; - if (cluster_mouse_info.long_press_timer) { - ecore_timer_del(cluster_mouse_info.long_press_timer); - cluster_mouse_info.long_press_timer = NULL; - } + if (cluster_mouse_info.long_press_timer) { + ecore_timer_del(cluster_mouse_info.long_press_timer); + cluster_mouse_info.long_press_timer = NULL; + } - cluster_mouse_info.long_press_timer = ecore_timer_add(LONG_PRESS_TIME, - __cluster_view_widget_long_press_time_cb, data); + cluster_mouse_info.long_press_timer = ecore_timer_add(LONG_PRESS_TIME, + __cluster_view_widget_long_press_time_cb, data); } static void __clsuter_view_widget_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - Evas_Event_Mouse_Up* ev = event_info; - LOGD("UP: (%d,%d)", ev->output.x, ev->output.y); + Evas_Event_Mouse_Up* ev = event_info; + LOGD("UP: (%d,%d)", ev->output.x, ev->output.y); - if (!cluster_mouse_info.pressed) - return ; + if (!cluster_mouse_info.pressed) + return ; - cluster_mouse_info.pressed = false; - cluster_mouse_info.pressed_obj = NULL; + cluster_mouse_info.pressed = false; + cluster_mouse_info.pressed_obj = NULL; - if (cluster_mouse_info.long_press_timer) { - ecore_timer_del(cluster_mouse_info.long_press_timer); - cluster_mouse_info.long_press_timer = NULL; - } + if (cluster_mouse_info.long_press_timer) { + ecore_timer_del(cluster_mouse_info.long_press_timer); + cluster_mouse_info.long_press_timer = NULL; + } - cluster_mouse_info.up_x = ev->output.x; - cluster_mouse_info.up_y = ev->output.y; + cluster_mouse_info.up_x = ev->output.x; + cluster_mouse_info.up_y = ev->output.y; - if (!cluster_mouse_info.long_pressed) - return ; + if (!cluster_mouse_info.long_pressed) + return ; - cluster_mouse_info.long_pressed = false; + cluster_mouse_info.long_pressed = false; - elm_scroller_movement_block_set(cluster_view_s.scroller, ELM_SCROLLER_MOVEMENT_NO_BLOCK); + elm_scroller_movement_block_set(cluster_view_s.scroller, ELM_SCROLLER_MOVEMENT_NO_BLOCK); - if (cluster_view_s.picked_widget) { - __cluster_view_edit_drop_widget(data); - } + if (cluster_view_s.picked_widget) { + __cluster_view_edit_drop_widget(data); + } } static void __clsuter_view_widget_move_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - Evas_Event_Mouse_Move* ev = event_info; - LOGD("MOVE: (%d,%d)", ev->cur.output.x, ev->cur.output.y); + Evas_Event_Mouse_Move* ev = event_info; + LOGD("MOVE: (%d,%d)", ev->cur.output.x, ev->cur.output.y); - if (!cluster_mouse_info.pressed) - return ; + if (!cluster_mouse_info.pressed) + return ; - cluster_mouse_info.move_x = ev->cur.output.x; - cluster_mouse_info.move_y = ev->cur.output.y; + cluster_mouse_info.move_x = ev->cur.output.x; + cluster_mouse_info.move_y = ev->cur.output.y; - if (!cluster_mouse_info.long_pressed) { - int distance = (cluster_mouse_info.move_x - cluster_mouse_info.down_x) * (cluster_mouse_info.move_x - cluster_mouse_info.down_x); - distance += (cluster_mouse_info.move_y - cluster_mouse_info.down_y) * (cluster_mouse_info.move_y - cluster_mouse_info.down_y); + if (!cluster_mouse_info.long_pressed) { + int distance = (cluster_mouse_info.move_x - cluster_mouse_info.down_x) * (cluster_mouse_info.move_x - cluster_mouse_info.down_x); + distance += (cluster_mouse_info.move_y - cluster_mouse_info.down_y) * (cluster_mouse_info.move_y - cluster_mouse_info.down_y); - if (distance > MOUSE_MOVE_MIN_DISTANCE) { - if (cluster_mouse_info.long_press_timer) { - ecore_timer_del(cluster_mouse_info.long_press_timer); - cluster_mouse_info.long_press_timer = NULL; - } + if (distance > MOUSE_MOVE_MIN_DISTANCE) { + if (cluster_mouse_info.long_press_timer) { + ecore_timer_del(cluster_mouse_info.long_press_timer); + cluster_mouse_info.long_press_timer = NULL; + } - return ; - } - } + return ; + } + } - if (cluster_view_s.picked_widget) { - __cluster_view_edit_drag_widget(data); - } + if (cluster_view_s.picked_widget) { + __cluster_view_edit_drag_widget(data); + } } static Eina_Bool __cluster_view_widget_long_press_time_cb(void *data) { - widget_data_t *widget = (widget_data_t *)data; - if (!cluster_mouse_info.pressed) - return ECORE_CALLBACK_CANCEL; + widget_data_t *widget = (widget_data_t *)data; + if (!cluster_mouse_info.pressed) + return ECORE_CALLBACK_CANCEL; - cluster_mouse_info.long_pressed = true; + cluster_mouse_info.long_pressed = true; - elm_scroller_movement_block_set(cluster_view_s.scroller, ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL); + elm_scroller_movement_block_set(cluster_view_s.scroller, ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL); - __cluster_view_edit_pick_up_widget(data); + __cluster_view_edit_pick_up_widget(data); - widget_viewer_send_cancel_click_event(widget); + widget_viewer_send_cancel_click_event(widget); - return ECORE_CALLBACK_CANCEL; + return ECORE_CALLBACK_CANCEL; } static void __cluster_view_edit_pick_up_widget(void *data) { - int cx = -1, cy = -1; - int gx = -1, gy = -1, gw = 0, gh = 0; - Evas *e = NULL; - cluster_view_s.picked_widget = (widget_data_t *)data; + int cx = -1, cy = -1; + int gx = -1, gy = -1, gw = 0, gh = 0; + Evas *e = NULL; + cluster_view_s.picked_widget = (widget_data_t *)data; - Evas_Object *widget_layout = cluster_view_s.picked_widget->widget_layout; + Evas_Object *widget_layout = cluster_view_s.picked_widget->widget_layout; - e = evas_object_evas_get(widget_layout); + e = evas_object_evas_get(widget_layout); - evas_pointer_canvas_xy_get(e, &cx, &cy); - evas_object_geometry_get(widget_layout, &gx, &gy, &gw, &gh); - LOGD("cx, cy (%d, %d )", cx, cy); - LOGD("gx, gy, gw, gh (%d, %d, %d, %d)", gx, gy, gw, gh); + evas_pointer_canvas_xy_get(e, &cx, &cy); + evas_object_geometry_get(widget_layout, &gx, &gy, &gw, &gh); + LOGD("cx, cy (%d, %d )", cx, cy); + LOGD("gx, gy, gw, gh (%d, %d, %d, %d)", gx, gy, gw, gh); - cluster_mouse_info.offset_x = cx - gx; - cluster_mouse_info.offset_y = cy - gy; + cluster_mouse_info.offset_x = cx - gx; + cluster_mouse_info.offset_y = cy - gy; - cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.picked_widget->page_idx); + cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.picked_widget->page_idx); - cluster_page_unset(page, cluster_view_s.picked_widget); + cluster_page_unset(page, cluster_view_s.picked_widget); - if (cluster_view_s.view_state == VIEW_STATE_NORMAL) { - evas_object_resize(widget_layout, gw * 0.9, gh * 0.9); + if (cluster_view_s.view_state == VIEW_STATE_NORMAL) { + evas_object_resize(widget_layout, gw * 0.9, gh * 0.9); - cluster_mouse_info.offset_x *= 0.9; - cluster_mouse_info.offset_y *= 0.9; + cluster_mouse_info.offset_x *= 0.9; + cluster_mouse_info.offset_y *= 0.9; - cluster_view_set_state(VIEW_STATE_EDIT); - } + cluster_view_set_state(VIEW_STATE_EDIT); + } - elm_object_signal_emit(widget_layout, SIGNAL_DELETE_BUTTON_HIDE_ANI, SIGNAL_SOURCE); - elm_object_signal_emit(widget_layout, SIGNAL_CLUSTER_PICKUP_STATE, SIGNAL_SOURCE); + elm_object_signal_emit(widget_layout, SIGNAL_DELETE_BUTTON_HIDE_ANI, SIGNAL_SOURCE); + elm_object_signal_emit(widget_layout, SIGNAL_CLUSTER_PICKUP_STATE, SIGNAL_SOURCE); - evas_object_move(widget_layout, cluster_mouse_info.move_x - cluster_mouse_info.offset_x, - cluster_mouse_info.move_y - cluster_mouse_info.offset_y); + evas_object_move(widget_layout, cluster_mouse_info.move_x - cluster_mouse_info.offset_x, + cluster_mouse_info.move_y - cluster_mouse_info.offset_y); } static void __cluster_view_edit_drag_widget(void *data) { - int page_x, page_y; - int bg_x, bg_y, bg_w, bg_h; - int widget_x, widget_y; - cluster_view_s.picked_widget = (widget_data_t *)data; - - if (!cluster_view_s.picked_widget) - return ; - - Evas_Object *widget_layout = cluster_view_s.picked_widget->widget_layout; - evas_object_move(widget_layout, cluster_mouse_info.move_x - cluster_mouse_info.offset_x, - cluster_mouse_info.move_y - cluster_mouse_info.offset_y); - - cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.current_page); - evas_object_geometry_get(page->page_layout, &page_x, &page_y, NULL, NULL); - edje_object_part_geometry_get(elm_layout_edje_get(page->page_layout), CLUSTER_BG, &bg_x, &bg_y, &bg_w, &bg_h); - evas_object_geometry_get(widget_layout, &widget_x, &widget_y, NULL, NULL); - - if (cluster_mouse_info.move_x > CLUSTER_EDIT_RIGHT_SCROLL_REGION) { - LOGD("Move to next page"); - if (!cluster_view_s.edit_mode_scroll_timer) - cluster_view_s.edit_mode_scroll_timer = ecore_timer_add(HOME_EDIT_SCROLL_MOVE_TIME, __cluster_view_scroll_timer_cb, NULL); - - } else if (cluster_mouse_info.move_x < CLUSTER_EDIT_LEFT_SCROLL_REGION) { - LOGD("Move to prev page"); - if (!cluster_view_s.edit_mode_scroll_timer) - cluster_view_s.edit_mode_scroll_timer = ecore_timer_add(HOME_EDIT_SCROLL_MOVE_TIME, __cluster_view_scroll_timer_cb, NULL); - } else { - widget_x -= (page_x + bg_x); - widget_y -= (page_y + bg_y); - if (cluster_view_s.edit_mode_scroll_timer) { - ecore_timer_del(cluster_view_s.edit_mode_scroll_timer); - cluster_view_s.edit_mode_scroll_timer = NULL; - } - - if (!cluster_view_s.is_srolling) { - cluster_page_drag_widget(page, cluster_view_s.picked_widget->type, widget_x / (bg_w / CLUSTER_COL), widget_y / (bg_h / CLUSTER_ROW)); - } - } + int page_x, page_y; + int bg_x, bg_y, bg_w, bg_h; + int widget_x, widget_y; + cluster_view_s.picked_widget = (widget_data_t *)data; + + if (!cluster_view_s.picked_widget) + return ; + + Evas_Object *widget_layout = cluster_view_s.picked_widget->widget_layout; + evas_object_move(widget_layout, cluster_mouse_info.move_x - cluster_mouse_info.offset_x, + cluster_mouse_info.move_y - cluster_mouse_info.offset_y); + + cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.current_page); + evas_object_geometry_get(page->page_layout, &page_x, &page_y, NULL, NULL); + edje_object_part_geometry_get(elm_layout_edje_get(page->page_layout), CLUSTER_BG, &bg_x, &bg_y, &bg_w, &bg_h); + evas_object_geometry_get(widget_layout, &widget_x, &widget_y, NULL, NULL); + + if (cluster_mouse_info.move_x > CLUSTER_EDIT_RIGHT_SCROLL_REGION) { + LOGD("Move to next page"); + if (!cluster_view_s.edit_mode_scroll_timer) + cluster_view_s.edit_mode_scroll_timer = ecore_timer_add(HOME_EDIT_SCROLL_MOVE_TIME, __cluster_view_scroll_timer_cb, NULL); + + } else if (cluster_mouse_info.move_x < CLUSTER_EDIT_LEFT_SCROLL_REGION) { + LOGD("Move to prev page"); + if (!cluster_view_s.edit_mode_scroll_timer) + cluster_view_s.edit_mode_scroll_timer = ecore_timer_add(HOME_EDIT_SCROLL_MOVE_TIME, __cluster_view_scroll_timer_cb, NULL); + } else { + widget_x -= (page_x + bg_x); + widget_y -= (page_y + bg_y); + if (cluster_view_s.edit_mode_scroll_timer) { + ecore_timer_del(cluster_view_s.edit_mode_scroll_timer); + cluster_view_s.edit_mode_scroll_timer = NULL; + } + + if (!cluster_view_s.is_srolling) { + cluster_page_drag_widget(page, cluster_view_s.picked_widget->type, widget_x / (bg_w / CLUSTER_COL), widget_y / (bg_h / CLUSTER_ROW)); + } + } } static void __cluster_view_edit_drop_widget(void *data) { - if (cluster_view_s.edit_mode_scroll_timer) { - ecore_timer_del(cluster_view_s.edit_mode_scroll_timer); - cluster_view_s.edit_mode_scroll_timer = NULL; - } - - if (cluster_view_s.edit_animator) { - ecore_animator_del(cluster_view_s.edit_animator); - cluster_view_s.edit_animator = NULL; - } - - int to_x, to_y; - cluster_view_s.animation_from_x = cluster_mouse_info.move_x - cluster_mouse_info.offset_x; - cluster_view_s.animation_from_y = cluster_mouse_info.move_y - cluster_mouse_info.offset_y; - - cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.current_page); - cluster_page_get_highlight_xy(page, &to_x, &to_y); - if (to_x == INIT_VALUE || to_y == INIT_VALUE) { - cluster_page_check_empty_space_pos(page, cluster_view_s.picked_widget, &to_x, &to_y); - } - - cluster_view_s.animation_to_x = to_x; - cluster_view_s.animation_to_y = to_y; - - cluster_view_s.edit_animator = ecore_animator_timeline_add(HOME_ANIMATION_TIME, __cluster_view_edit_move_anim, NULL); + if (cluster_view_s.edit_mode_scroll_timer) { + ecore_timer_del(cluster_view_s.edit_mode_scroll_timer); + cluster_view_s.edit_mode_scroll_timer = NULL; + } + + if (cluster_view_s.edit_animator) { + ecore_animator_del(cluster_view_s.edit_animator); + cluster_view_s.edit_animator = NULL; + } + + int to_x, to_y; + cluster_view_s.animation_from_x = cluster_mouse_info.move_x - cluster_mouse_info.offset_x; + cluster_view_s.animation_from_y = cluster_mouse_info.move_y - cluster_mouse_info.offset_y; + + cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.current_page); + cluster_page_get_highlight_xy(page, &to_x, &to_y); + if (to_x == INIT_VALUE || to_y == INIT_VALUE) { + cluster_page_check_empty_space_pos(page, cluster_view_s.picked_widget, &to_x, &to_y); + } + + cluster_view_s.animation_to_x = to_x; + cluster_view_s.animation_to_y = to_y; + + cluster_view_s.edit_animator = ecore_animator_timeline_add(HOME_ANIMATION_TIME, __cluster_view_edit_move_anim, NULL); } static Eina_Bool __cluster_view_edit_move_anim(void *data, double pos) { - evas_object_move(cluster_view_s.picked_widget->widget_layout, - (cluster_view_s.animation_to_x - cluster_view_s.animation_from_x) * pos + cluster_view_s.animation_from_x, - (cluster_view_s.animation_to_y - cluster_view_s.animation_from_y) * pos + cluster_view_s.animation_from_y); + evas_object_move(cluster_view_s.picked_widget->widget_layout, + (cluster_view_s.animation_to_x - cluster_view_s.animation_from_x) * pos + cluster_view_s.animation_from_x, + (cluster_view_s.animation_to_y - cluster_view_s.animation_from_y) * pos + cluster_view_s.animation_from_y); - if (pos >= 1.0 - (1e-10)) { - __cluster_view_edit_move_anim_done(data); + if (pos >= 1.0 - (1e-10)) { + __cluster_view_edit_move_anim_done(data); - cluster_view_s.edit_animator = NULL; - return ECORE_CALLBACK_DONE; - } + cluster_view_s.edit_animator = NULL; + return ECORE_CALLBACK_DONE; + } - return ECORE_CALLBACK_RENEW; + return ECORE_CALLBACK_RENEW; } static void __cluster_view_edit_move_anim_done(void *data) { - Evas_Object *widget_layout = cluster_view_s.picked_widget->widget_layout; - elm_object_signal_emit(widget_layout, SIGNAL_DELETE_BUTTON_SHOW_ANI, SIGNAL_SOURCE); - elm_object_signal_emit(widget_layout, SIGNAL_CLUSTER_EDIT_STATE, SIGNAL_SOURCE); + Evas_Object *widget_layout = cluster_view_s.picked_widget->widget_layout; + elm_object_signal_emit(widget_layout, SIGNAL_DELETE_BUTTON_SHOW_ANI, SIGNAL_SOURCE); + elm_object_signal_emit(widget_layout, SIGNAL_CLUSTER_EDIT_STATE, SIGNAL_SOURCE); - cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.current_page); + cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.current_page); - if (!cluster_page_drop_widget(page, cluster_view_s.picked_widget)) { - cluster_view_s.current_page = cluster_view_s.picked_widget->page_idx; - __cluster_view_scroll_to_page(cluster_view_s.current_page, true); + if (!cluster_page_drop_widget(page, cluster_view_s.picked_widget)) { + cluster_view_s.current_page = cluster_view_s.picked_widget->page_idx; + __cluster_view_scroll_to_page(cluster_view_s.current_page, true); - cluster_view_add_widget(cluster_view_s.picked_widget, true); - } + cluster_view_add_widget(cluster_view_s.picked_widget, true); + } - cluster_view_s.picked_widget = NULL; + cluster_view_s.picked_widget = NULL; } static void __clsuter_view_scroller_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - Evas_Event_Mouse_Down* ev = event_info; + Evas_Event_Mouse_Down* ev = event_info; - if (cluster_view_s.view_state != VIEW_STATE_NORMAL) - return ; + if (cluster_view_s.view_state != VIEW_STATE_NORMAL) + return ; - if (cluster_view_s.edit_animator) { - LOGE("edit animator is running"); - return ; - } + if (cluster_view_s.edit_animator) { + LOGE("edit animator is running"); + return ; + } - LOGD("DOWN: (%d,%d)", ev->output.x, ev->output.y); + LOGD("DOWN: (%d,%d)", ev->output.x, ev->output.y); - cluster_mouse_info.pressed = true; - cluster_mouse_info.pressed_obj = obj; + cluster_mouse_info.pressed = true; + cluster_mouse_info.pressed_obj = obj; - cluster_mouse_info.down_x = cluster_mouse_info.move_x = ev->output.x; - cluster_mouse_info.down_y = cluster_mouse_info.move_y = ev->output.y; + cluster_mouse_info.down_x = cluster_mouse_info.move_x = ev->output.x; + cluster_mouse_info.down_y = cluster_mouse_info.move_y = ev->output.y; - if (cluster_mouse_info.long_press_timer) { - ecore_timer_del(cluster_mouse_info.long_press_timer); - cluster_mouse_info.long_press_timer = NULL; - } + if (cluster_mouse_info.long_press_timer) { + ecore_timer_del(cluster_mouse_info.long_press_timer); + cluster_mouse_info.long_press_timer = NULL; + } - cluster_mouse_info.long_press_timer = ecore_timer_add(LONG_PRESS_TIME, - __cluster_view_scroller_long_press_time_cb, obj); + cluster_mouse_info.long_press_timer = ecore_timer_add(LONG_PRESS_TIME, + __cluster_view_scroller_long_press_time_cb, obj); } static void __clsuter_view_scroller_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - Evas_Event_Mouse_Up* ev = event_info; + Evas_Event_Mouse_Up* ev = event_info; - if (!cluster_mouse_info.pressed || cluster_mouse_info.pressed_obj != obj) - return ; + if (!cluster_mouse_info.pressed || cluster_mouse_info.pressed_obj != obj) + return ; - LOGD("UP: (%d,%d)", ev->output.x, ev->output.y); + LOGD("UP: (%d,%d)", ev->output.x, ev->output.y); - cluster_mouse_info.pressed = false; + cluster_mouse_info.pressed = false; - if (cluster_mouse_info.long_press_timer) { - ecore_timer_del(cluster_mouse_info.long_press_timer); - cluster_mouse_info.long_press_timer = NULL; - } + if (cluster_mouse_info.long_press_timer) { + ecore_timer_del(cluster_mouse_info.long_press_timer); + cluster_mouse_info.long_press_timer = NULL; + } - cluster_mouse_info.up_x = ev->output.x; - cluster_mouse_info.up_y = ev->output.y; + cluster_mouse_info.up_x = ev->output.x; + cluster_mouse_info.up_y = ev->output.y; - cluster_mouse_info.long_pressed = false; + cluster_mouse_info.long_pressed = false; } static void __clsuter_view_scroller_move_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { - Evas_Event_Mouse_Move* ev = event_info; + Evas_Event_Mouse_Move* ev = event_info; - if (!cluster_mouse_info.pressed || cluster_mouse_info.pressed_obj != obj) - return ; + if (!cluster_mouse_info.pressed || cluster_mouse_info.pressed_obj != obj) + return ; - LOGD("MOVE: (%d,%d)", ev->cur.output.x, ev->cur.output.y); + LOGD("MOVE: (%d,%d)", ev->cur.output.x, ev->cur.output.y); - cluster_mouse_info.move_x = ev->cur.output.x; - cluster_mouse_info.move_y = ev->cur.output.y; + cluster_mouse_info.move_x = ev->cur.output.x; + cluster_mouse_info.move_y = ev->cur.output.y; - if (!cluster_mouse_info.long_pressed) { - int distance = (cluster_mouse_info.move_x - cluster_mouse_info.down_x) * (cluster_mouse_info.move_x - cluster_mouse_info.down_x); - distance += (cluster_mouse_info.move_y - cluster_mouse_info.down_y) * (cluster_mouse_info.move_y - cluster_mouse_info.down_y); + if (!cluster_mouse_info.long_pressed) { + int distance = (cluster_mouse_info.move_x - cluster_mouse_info.down_x) * (cluster_mouse_info.move_x - cluster_mouse_info.down_x); + distance += (cluster_mouse_info.move_y - cluster_mouse_info.down_y) * (cluster_mouse_info.move_y - cluster_mouse_info.down_y); - if (distance > MOUSE_MOVE_MIN_DISTANCE) { - if (cluster_mouse_info.long_press_timer) { - ecore_timer_del(cluster_mouse_info.long_press_timer); - cluster_mouse_info.long_press_timer = NULL; - } + if (distance > MOUSE_MOVE_MIN_DISTANCE) { + if (cluster_mouse_info.long_press_timer) { + ecore_timer_del(cluster_mouse_info.long_press_timer); + cluster_mouse_info.long_press_timer = NULL; + } - return ; - } - } + return ; + } + } } static Eina_Bool __cluster_view_scroller_long_press_time_cb(void *data) { - if (!cluster_mouse_info.pressed || cluster_mouse_info.pressed_obj != data) - return ECORE_CALLBACK_CANCEL; + if (!cluster_mouse_info.pressed || cluster_mouse_info.pressed_obj != data) + return ECORE_CALLBACK_CANCEL; - cluster_mouse_info.long_pressed = true; + cluster_mouse_info.long_pressed = true; - cluster_view_set_state(VIEW_STATE_EDIT); + cluster_view_set_state(VIEW_STATE_EDIT); - return ECORE_CALLBACK_CANCEL; + return ECORE_CALLBACK_CANCEL; } static void __cluster_view_scroll_anim_start_cb(void *data, Evas_Object *obj, void *event_info) { - cluster_view_s.is_srolling = true; + cluster_view_s.is_srolling = true; } static void __cluster_view_scroll_anim_stop_cb(void *data, Evas_Object *obj, void *event_info) { - cluster_view_s.is_srolling = false; - elm_scroller_current_page_get(obj, &cluster_view_s.current_page, NULL); - cluster_view_s.current_page = cluster_view_s.current_page % cluster_view_s.page_count; - LOGD("current page %d", cluster_view_s.current_page); + cluster_view_s.is_srolling = false; + elm_scroller_current_page_get(obj, &cluster_view_s.current_page, NULL); + cluster_view_s.current_page = cluster_view_s.current_page % cluster_view_s.page_count; + LOGD("current page %d", cluster_view_s.current_page); } static Eina_Bool __cluster_view_scroll_timer_cb(void *data) { - cluster_page_t *current_page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.current_page); - - int next_page_idx = 0; - if (cluster_mouse_info.move_x > CLUSTER_EDIT_RIGHT_SCROLL_REGION) { - next_page_idx = current_page->page_index + 1; - } else if (cluster_mouse_info.move_x < CLUSTER_EDIT_LEFT_SCROLL_REGION) { - next_page_idx = current_page->page_index - 1; - } else { - return ECORE_CALLBACK_CANCEL; - } - cluster_page_drag_cancel(current_page); - __cluster_view_scroll_to_page(next_page_idx, true); - return ECORE_CALLBACK_RENEW; + cluster_page_t *current_page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.current_page); + + int next_page_idx = 0; + if (cluster_mouse_info.move_x > CLUSTER_EDIT_RIGHT_SCROLL_REGION) { + next_page_idx = current_page->page_index + 1; + } else if (cluster_mouse_info.move_x < CLUSTER_EDIT_LEFT_SCROLL_REGION) { + next_page_idx = current_page->page_index - 1; + } else { + return ECORE_CALLBACK_CANCEL; + } + cluster_page_drag_cancel(current_page); + __cluster_view_scroll_to_page(next_page_idx, true); + return ECORE_CALLBACK_RENEW; } diff --git a/src/conf.c b/src/conf.c index f399498..3763b03 100755 --- a/src/conf.c +++ b/src/conf.c @@ -24,28 +24,28 @@ static double resolution_scale_w = 1.0; int __conf_get_window_h(void) { - return window_h; + return window_h; } int __conf_get_window_w(void) { - return window_w; + return window_w; } double __conf_get_resolution_scale_h() { - return resolution_scale_h; + return resolution_scale_h; } double __conf_get_resolution_scale_w() { - return resolution_scale_w; + return resolution_scale_w; } void conf_set_resolution_scale(int win_width, int win_height) { - window_h = win_height; - window_w = win_width; - resolution_scale_w = (double)win_width / 720; - resolution_scale_h = (double)win_height / 1280; + window_h = win_height; + window_w = win_width; + resolution_scale_w = (double)win_width / 720; + resolution_scale_h = (double)win_height / 1280; } diff --git a/src/homescreen-efl.c b/src/homescreen-efl.c index bdb2612..1b8feb8 100755 --- a/src/homescreen-efl.c +++ b/src/homescreen-efl.c @@ -28,29 +28,29 @@ #include "view.h" static struct { - Evas_Object *win; - Evas_Object *bg; - Evas_Object *conformant; - Evas_Object *main_layout; - Evas_Object *apps_layout; - Evas_Object *cluster_layout; - Evas_Object *btn_layout; - int root_width; - int root_height; - homescreen_view_t view_type; - Ecore_Animator *animator; + Evas_Object *win; + Evas_Object *bg; + Evas_Object *conformant; + Evas_Object *main_layout; + Evas_Object *apps_layout; + Evas_Object *cluster_layout; + Evas_Object *btn_layout; + int root_width; + int root_height; + homescreen_view_t view_type; + Ecore_Animator *animator; } main_info = { - .win = NULL, - .bg = NULL, - .conformant = NULL, - .main_layout = NULL, - .apps_layout = NULL, - .cluster_layout = NULL, - .btn_layout = NULL, - .root_width = 0, - .root_height = 0, - .view_type = HOMESCREEN_VIEW_HOME, - .animator = NULL, + .win = NULL, + .bg = NULL, + .conformant = NULL, + .main_layout = NULL, + .apps_layout = NULL, + .cluster_layout = NULL, + .btn_layout = NULL, + .root_width = 0, + .root_height = 0, + .view_type = HOMESCREEN_VIEW_HOME, + .animator = NULL, }; static void __homescreen_efl_get_window_size(Evas_Object *win); @@ -71,52 +71,52 @@ static Eina_Bool __homescreen_efl_init_view(void *data); static void __homescreen_efl_lang_changed_cb(app_event_info_h event_info, void *user_data) { - LOGD("called"); + LOGD("called"); } static void __homescreen_efl_orient_changed_cb(app_event_info_h event_info, void *user_data) { - LOGD("called"); + LOGD("called"); } static void __homescreen_efl_region_changed_cb(app_event_info_h event_info, void *user_data) { - LOGD("called"); + LOGD("called"); } static void __homescreen_efl_low_battery_cb(app_event_info_h event_info, void *user_data) { - LOGD("called"); + LOGD("called"); } static void __homescreen_efl_low_memory_cb(app_event_info_h event_info, void *user_data) { - LOGD("called"); + LOGD("called"); } static bool __homescreen_efl_app_create_cb(void *data) { - elm_config_accel_preference_set("3d"); - ecore_animator_frametime_set(FRAMES_PER_SECOND); + elm_config_accel_preference_set("3d"); + ecore_animator_frametime_set(FRAMES_PER_SECOND); - feedback_initialize(); + feedback_initialize(); - hw_key_register(); + hw_key_register(); - main_info.win = elm_win_util_standard_add(PACKAGE, PACKAGE); - __homescreen_efl_get_window_size(main_info.win); + main_info.win = elm_win_util_standard_add(PACKAGE, PACKAGE); + __homescreen_efl_get_window_size(main_info.win); - __homescreen_efl_set_wallpaper(); - evas_object_show(main_info.win); + __homescreen_efl_set_wallpaper(); + evas_object_show(main_info.win); - __homescreen_efl_create_view(); + __homescreen_efl_create_view(); - __homescreen_efl_set_conformant(); - __homescreen_efl_create_home_btn(); + __homescreen_efl_set_conformant(); + __homescreen_efl_create_home_btn(); - ecore_timer_add(HOME_LOADING_TIME, __homescreen_efl_init_view, NULL); + ecore_timer_add(HOME_LOADING_TIME, __homescreen_efl_init_view, NULL); - return true; + return true; } static void __homescreen_efl_app_control_cb(app_control_h app_control, void *data) @@ -134,281 +134,281 @@ static void __homescreen_efl_app_resume_cb(void *data) static void __homescreen_efl_app_terminate_cb(void *data) { - apps_view_app_terminate(); - cluster_view_app_terminate(); - hw_key_unregister(); - feedback_deinitialize(); + apps_view_app_terminate(); + cluster_view_app_terminate(); + hw_key_unregister(); + feedback_deinitialize(); } int main(int argc, char *argv[]) { - LOGD("Starting homescreen-efl"); + LOGD("Starting homescreen-efl"); - int ret = 0; - ui_app_lifecycle_callback_s event_callback = {0,}; - app_event_handler_h handlers[5] = {NULL, }; + int ret = 0; + ui_app_lifecycle_callback_s event_callback = {0,}; + app_event_handler_h handlers[5] = {NULL, }; - event_callback.create = __homescreen_efl_app_create_cb; - event_callback.terminate = __homescreen_efl_app_terminate_cb; - event_callback.pause = __homescreen_efl_app_pause_cb; - event_callback.resume = __homescreen_efl_app_resume_cb; - event_callback.app_control = __homescreen_efl_app_control_cb; + event_callback.create = __homescreen_efl_app_create_cb; + event_callback.terminate = __homescreen_efl_app_terminate_cb; + event_callback.pause = __homescreen_efl_app_pause_cb; + event_callback.resume = __homescreen_efl_app_resume_cb; + event_callback.app_control = __homescreen_efl_app_control_cb; - ui_app_add_event_handler(&handlers[APP_EVENT_LOW_BATTERY], APP_EVENT_LOW_BATTERY, __homescreen_efl_low_battery_cb, NULL); - ui_app_add_event_handler(&handlers[APP_EVENT_LOW_MEMORY], APP_EVENT_LOW_MEMORY, __homescreen_efl_low_memory_cb, NULL); - ui_app_add_event_handler(&handlers[APP_EVENT_DEVICE_ORIENTATION_CHANGED], APP_EVENT_DEVICE_ORIENTATION_CHANGED, __homescreen_efl_orient_changed_cb, NULL); - ui_app_add_event_handler(&handlers[APP_EVENT_LANGUAGE_CHANGED], APP_EVENT_LANGUAGE_CHANGED, __homescreen_efl_lang_changed_cb, NULL); - ui_app_add_event_handler(&handlers[APP_EVENT_REGION_FORMAT_CHANGED], APP_EVENT_REGION_FORMAT_CHANGED, __homescreen_efl_region_changed_cb, NULL); + ui_app_add_event_handler(&handlers[APP_EVENT_LOW_BATTERY], APP_EVENT_LOW_BATTERY, __homescreen_efl_low_battery_cb, NULL); + ui_app_add_event_handler(&handlers[APP_EVENT_LOW_MEMORY], APP_EVENT_LOW_MEMORY, __homescreen_efl_low_memory_cb, NULL); + ui_app_add_event_handler(&handlers[APP_EVENT_DEVICE_ORIENTATION_CHANGED], APP_EVENT_DEVICE_ORIENTATION_CHANGED, __homescreen_efl_orient_changed_cb, NULL); + ui_app_add_event_handler(&handlers[APP_EVENT_LANGUAGE_CHANGED], APP_EVENT_LANGUAGE_CHANGED, __homescreen_efl_lang_changed_cb, NULL); + ui_app_add_event_handler(&handlers[APP_EVENT_REGION_FORMAT_CHANGED], APP_EVENT_REGION_FORMAT_CHANGED, __homescreen_efl_region_changed_cb, NULL); - ret = ui_app_main(argc, argv, &event_callback, NULL); - if (ret != APP_ERROR_NONE) - LOGE("ui_app_main() is failed. err = %d", ret); + ret = ui_app_main(argc, argv, &event_callback, NULL); + if (ret != APP_ERROR_NONE) + LOGE("ui_app_main() is failed. err = %d", ret); - main_info.view_type = HOMESCREEN_VIEW_HOME; + main_info.view_type = HOMESCREEN_VIEW_HOME; - return ret; + return ret; } static void __homescreen_efl_get_window_size(Evas_Object *win) { - elm_win_screen_size_get(win, NULL, NULL, &main_info.root_width, &main_info.root_height); + elm_win_screen_size_get(win, NULL, NULL, &main_info.root_width, &main_info.root_height); - conf_set_resolution_scale(main_info.root_width, main_info.root_height); + conf_set_resolution_scale(main_info.root_width, main_info.root_height); - LOGD("Width: [%d], Height: [%d]", main_info.root_width, main_info.root_height); + LOGD("Width: [%d], Height: [%d]", main_info.root_width, main_info.root_height); } static void __homescreen_efl_set_wallpaper(void) { - const char *bg_path = util_get_res_file_path(IMAGE_DIR"/default_bg.png"); - char *buf = NULL; - int ret = -1; - - if (main_info.main_layout == NULL) { - char edj_path[PATH_MAX] = {0, }; - snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/home.edj")); - - main_info.main_layout = elm_layout_add(main_info.win); - elm_layout_file_set(main_info.main_layout, edj_path, GROUP_HOME_LY); - evas_object_size_hint_weight_set(main_info.main_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(main_info.win, main_info.main_layout); - - evas_object_show(main_info.main_layout); - } - - if (main_info.bg == NULL) { - main_info.bg = evas_object_image_filled_add(evas_object_evas_get(main_info.main_layout)); - - system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, __homescreen_efl_home_bg_changed_cb, NULL); - - evas_object_size_hint_min_set(main_info.bg, main_info.root_width, main_info.root_height); - elm_object_part_content_set(main_info.main_layout, "home_bg", main_info.bg); - evas_object_show(main_info.bg); - } - - ret = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, &buf); - if (!buf || !ecore_file_can_read(buf) || ret != SYSTEM_SETTINGS_ERROR_NONE) { - evas_object_image_file_set(main_info.bg, bg_path, "bg"); - } else { - evas_object_image_file_set(main_info.bg, buf, "bg"); - } - if (buf) free(buf); + const char *bg_path = util_get_res_file_path(IMAGE_DIR"/default_bg.png"); + char *buf = NULL; + int ret = -1; + + if (main_info.main_layout == NULL) { + char edj_path[PATH_MAX] = {0, }; + snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/home.edj")); + + main_info.main_layout = elm_layout_add(main_info.win); + elm_layout_file_set(main_info.main_layout, edj_path, GROUP_HOME_LY); + evas_object_size_hint_weight_set(main_info.main_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_win_resize_object_add(main_info.win, main_info.main_layout); + + evas_object_show(main_info.main_layout); + } + + if (main_info.bg == NULL) { + main_info.bg = evas_object_image_filled_add(evas_object_evas_get(main_info.main_layout)); + + system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, __homescreen_efl_home_bg_changed_cb, NULL); + + evas_object_size_hint_min_set(main_info.bg, main_info.root_width, main_info.root_height); + elm_object_part_content_set(main_info.main_layout, "home_bg", main_info.bg); + evas_object_show(main_info.bg); + } + + ret = system_settings_get_value_string(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, &buf); + if (!buf || !ecore_file_can_read(buf) || ret != SYSTEM_SETTINGS_ERROR_NONE) { + evas_object_image_file_set(main_info.bg, bg_path, "bg"); + } else { + evas_object_image_file_set(main_info.bg, buf, "bg"); + } + if (buf) free(buf); } static void __homescreen_efl_home_bg_changed_cb(system_settings_key_e key, void *data) { - __homescreen_efl_set_wallpaper(); + __homescreen_efl_set_wallpaper(); } static void __homescreen_efl_set_conformant(void) { - elm_win_conformant_set(main_info.win, EINA_TRUE); + elm_win_conformant_set(main_info.win, EINA_TRUE); - main_info.conformant = elm_conformant_add(main_info.win); - evas_object_size_hint_weight_set(main_info.conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(main_info.win, main_info.conformant); + main_info.conformant = elm_conformant_add(main_info.win); + evas_object_size_hint_weight_set(main_info.conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_win_resize_object_add(main_info.win, main_info.conformant); - elm_win_indicator_mode_set(main_info.win, ELM_WIN_INDICATOR_SHOW); - elm_win_indicator_opacity_set(main_info.win, ELM_WIN_INDICATOR_TRANSLUCENT); - elm_object_signal_emit(main_info.conformant, "elm,state,indicator,overlap", "elm"); + elm_win_indicator_mode_set(main_info.win, ELM_WIN_INDICATOR_SHOW); + elm_win_indicator_opacity_set(main_info.win, ELM_WIN_INDICATOR_TRANSLUCENT); + elm_object_signal_emit(main_info.conformant, "elm,state,indicator,overlap", "elm"); - evas_object_show(main_info.conformant); + evas_object_show(main_info.conformant); } static void __homescreen_efl_create_home_btn(void) { - char edj_path[PATH_MAX] = {0, }; + char edj_path[PATH_MAX] = {0, }; - snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/home_btn.edj")); + snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/home_btn.edj")); - main_info.btn_layout = elm_layout_add(main_info.win); - elm_layout_file_set(main_info.btn_layout, edj_path, GROUP_HOME_BTN_LY); - evas_object_size_hint_weight_set(main_info.btn_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(main_info.win, main_info.btn_layout); + main_info.btn_layout = elm_layout_add(main_info.win); + elm_layout_file_set(main_info.btn_layout, edj_path, GROUP_HOME_BTN_LY); + evas_object_size_hint_weight_set(main_info.btn_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_win_resize_object_add(main_info.win, main_info.btn_layout); - evas_object_show(main_info.btn_layout); + evas_object_show(main_info.btn_layout); - elm_object_signal_callback_add(main_info.btn_layout, SIGNAL_MENU_BTN_CLICKED, SIGNAL_SOURCE, __homescreen_efl_menu_btn_clicked, NULL); - elm_object_signal_callback_add(main_info.btn_layout, SIGNAL_HOME_BTN_CLICKED, SIGNAL_SOURCE, __homescreen_efl_home_btn_clicked, NULL); + elm_object_signal_callback_add(main_info.btn_layout, SIGNAL_MENU_BTN_CLICKED, SIGNAL_SOURCE, __homescreen_efl_menu_btn_clicked, NULL); + elm_object_signal_callback_add(main_info.btn_layout, SIGNAL_HOME_BTN_CLICKED, SIGNAL_SOURCE, __homescreen_efl_home_btn_clicked, NULL); } static void __homescreen_efl_menu_btn_clicked(void *data, Evas_Object *obj, const char *emission, const char *source) { - feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TAP); - homescreen_efl_hw_menu_key_release(); + feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TAP); + homescreen_efl_hw_menu_key_release(); } static void __homescreen_efl_home_btn_clicked(void *data, Evas_Object *obj, const char *emission, const char *source) { - feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TAP); - __homescreen_efl_change_view(); + feedback_play_type(FEEDBACK_TYPE_SOUND, FEEDBACK_PATTERN_TAP); + __homescreen_efl_change_view(); } static void __homescreen_efl_change_view(void) { - if (main_info.animator != NULL) { - LOGE("main_info.animator != NULL"); - return ; - } - - if (main_info.view_type == HOMESCREEN_VIEW_APPS) { - apps_view_hide(); - main_info.animator = ecore_animator_timeline_add(HOME_ANIMATION_TIME, __homescreen_efl_show_cluster_anim, NULL); - - elm_object_signal_emit(main_info.btn_layout, SIGNAL_HOME_BTN_ICON_HIDE, SIGNAL_SOURCE); - elm_object_signal_emit(main_info.btn_layout, SIGNAL_APPS_BTN_ICON_SHOW, SIGNAL_SOURCE); - main_info.view_type = HOMESCREEN_VIEW_HOME; - } else if (main_info.view_type == HOMESCREEN_VIEW_HOME) { - cluster_view_hide(); - main_info.animator = ecore_animator_timeline_add(HOME_ANIMATION_TIME, __homescreen_efl_show_apps_anim, NULL); - - elm_object_signal_emit(main_info.btn_layout, SIGNAL_APPS_BTN_ICON_HIDE, SIGNAL_SOURCE); - elm_object_signal_emit(main_info.btn_layout, SIGNAL_HOME_BTN_ICON_SHOW, SIGNAL_SOURCE); - main_info.view_type = HOMESCREEN_VIEW_APPS; - } + if (main_info.animator != NULL) { + LOGE("main_info.animator != NULL"); + return ; + } + + if (main_info.view_type == HOMESCREEN_VIEW_APPS) { + apps_view_hide(); + main_info.animator = ecore_animator_timeline_add(HOME_ANIMATION_TIME, __homescreen_efl_show_cluster_anim, NULL); + + elm_object_signal_emit(main_info.btn_layout, SIGNAL_HOME_BTN_ICON_HIDE, SIGNAL_SOURCE); + elm_object_signal_emit(main_info.btn_layout, SIGNAL_APPS_BTN_ICON_SHOW, SIGNAL_SOURCE); + main_info.view_type = HOMESCREEN_VIEW_HOME; + } else if (main_info.view_type == HOMESCREEN_VIEW_HOME) { + cluster_view_hide(); + main_info.animator = ecore_animator_timeline_add(HOME_ANIMATION_TIME, __homescreen_efl_show_apps_anim, NULL); + + elm_object_signal_emit(main_info.btn_layout, SIGNAL_APPS_BTN_ICON_HIDE, SIGNAL_SOURCE); + elm_object_signal_emit(main_info.btn_layout, SIGNAL_HOME_BTN_ICON_SHOW, SIGNAL_SOURCE); + main_info.view_type = HOMESCREEN_VIEW_APPS; + } } static Eina_Bool __homescreen_efl_show_apps_anim(void *data, double pos) { - cluster_view_hide_anim(pos); - apps_view_show_anim(pos); + cluster_view_hide_anim(pos); + apps_view_show_anim(pos); - if (pos >= (1.0 - (1e-10))) { - apps_view_show(); - main_info.animator = NULL; - return ECORE_CALLBACK_DONE; - } + if (pos >= (1.0 - (1e-10))) { + apps_view_show(); + main_info.animator = NULL; + return ECORE_CALLBACK_DONE; + } - return ECORE_CALLBACK_RENEW; + return ECORE_CALLBACK_RENEW; } static Eina_Bool __homescreen_efl_show_cluster_anim(void *data, double pos) { - apps_view_hide_anim(pos); - cluster_view_show_anim(pos); + apps_view_hide_anim(pos); + cluster_view_show_anim(pos); - if (pos >= (1.0 - (1e-10))) { - cluster_view_show(); - main_info.animator = NULL; - return ECORE_CALLBACK_DONE; - } + if (pos >= (1.0 - (1e-10))) { + cluster_view_show(); + main_info.animator = NULL; + return ECORE_CALLBACK_DONE; + } - return ECORE_CALLBACK_RENEW; + return ECORE_CALLBACK_RENEW; } Evas_Object *homescreen_efl_get_win(void) { - return main_info.win; + return main_info.win; } void homescreen_efl_hw_menu_key_release(void) { - if (main_info.view_type == HOMESCREEN_VIEW_HOME) { - cluster_view_hw_menu_key(); - } else if (main_info.view_type == HOMESCREEN_VIEW_APPS) { - apps_view_hw_menu_key(); - } + if (main_info.view_type == HOMESCREEN_VIEW_HOME) { + cluster_view_hw_menu_key(); + } else if (main_info.view_type == HOMESCREEN_VIEW_APPS) { + apps_view_hw_menu_key(); + } } void homescreen_efl_hw_home_key_release(void) { - if (main_info.view_type == HOMESCREEN_VIEW_HOME) { - cluster_view_hw_home_key(); - } else if (main_info.view_type == HOMESCREEN_VIEW_APPS) { - if (apps_view_hw_home_key() == false) - __homescreen_efl_change_view(); - } + if (main_info.view_type == HOMESCREEN_VIEW_HOME) { + cluster_view_hw_home_key(); + } else if (main_info.view_type == HOMESCREEN_VIEW_APPS) { + if (apps_view_hw_home_key() == false) + __homescreen_efl_change_view(); + } } void homescreen_efl_hw_back_key_release(void) { - if (main_info.view_type == HOMESCREEN_VIEW_HOME) { - if (cluster_view_hw_back_key() == false) { - __homescreen_efl_change_view(); - } - } else if (main_info.view_type == HOMESCREEN_VIEW_APPS) { - if (apps_view_hw_back_key() == false) { - __homescreen_efl_change_view(); - } - } + if (main_info.view_type == HOMESCREEN_VIEW_HOME) { + if (cluster_view_hw_back_key() == false) { + __homescreen_efl_change_view(); + } + } else if (main_info.view_type == HOMESCREEN_VIEW_APPS) { + if (apps_view_hw_back_key() == false) { + __homescreen_efl_change_view(); + } + } } void homescreen_efl_btn_show(homescreen_view_t view_t) { - LOGD("state %d", view_t); - switch (view_t) { - case HOMESCREEN_VIEW_HOME: - elm_object_signal_emit(main_info.btn_layout, SIGNAL_BTN_SHOW_HOME_STATE, SIGNAL_SOURCE); - break; - case HOMESCREEN_VIEW_APPS: - elm_object_signal_emit(main_info.btn_layout, SIGNAL_BTN_SHOW_APPS_STATE, SIGNAL_SOURCE); - break; - default: - break; - } + LOGD("state %d", view_t); + switch (view_t) { + case HOMESCREEN_VIEW_HOME: + elm_object_signal_emit(main_info.btn_layout, SIGNAL_BTN_SHOW_HOME_STATE, SIGNAL_SOURCE); + break; + case HOMESCREEN_VIEW_APPS: + elm_object_signal_emit(main_info.btn_layout, SIGNAL_BTN_SHOW_APPS_STATE, SIGNAL_SOURCE); + break; + default: + break; + } } void homescreen_efl_btn_hide(homescreen_view_t view_t) { - LOGD("state %d", view_t); - switch (view_t) { - case HOMESCREEN_VIEW_HOME: - elm_object_signal_emit(main_info.btn_layout, SIGNAL_BTN_HIDE_HOME_STATE, SIGNAL_SOURCE); - break; - case HOMESCREEN_VIEW_APPS: - elm_object_signal_emit(main_info.btn_layout, SIGNAL_BTN_HIDE_APPS_STATE, SIGNAL_SOURCE); - break; - default: - break; - } + LOGD("state %d", view_t); + switch (view_t) { + case HOMESCREEN_VIEW_HOME: + elm_object_signal_emit(main_info.btn_layout, SIGNAL_BTN_HIDE_HOME_STATE, SIGNAL_SOURCE); + break; + case HOMESCREEN_VIEW_APPS: + elm_object_signal_emit(main_info.btn_layout, SIGNAL_BTN_HIDE_APPS_STATE, SIGNAL_SOURCE); + break; + default: + break; + } } static bool __homescreen_efl_create_view(void) { - main_info.cluster_layout = cluster_view_create(main_info.win); - if (main_info.cluster_layout == NULL) { - LOGE("main_info.cluster_layout == NULL"); - return false; - } - evas_object_move(main_info.cluster_layout, 0, INDICATOR_H); - evas_object_show(main_info.cluster_layout); - - main_info.apps_layout = apps_view_create(main_info.win); - if (main_info.apps_layout == NULL) { - LOGE("main_info.apps_layout == NULL"); - return false; - } - evas_object_move(main_info.apps_layout, 0, main_info.root_height); - evas_object_show(main_info.apps_layout); - - return true; + main_info.cluster_layout = cluster_view_create(main_info.win); + if (main_info.cluster_layout == NULL) { + LOGE("main_info.cluster_layout == NULL"); + return false; + } + evas_object_move(main_info.cluster_layout, 0, INDICATOR_H); + evas_object_show(main_info.cluster_layout); + + main_info.apps_layout = apps_view_create(main_info.win); + if (main_info.apps_layout == NULL) { + LOGE("main_info.apps_layout == NULL"); + return false; + } + evas_object_move(main_info.apps_layout, 0, main_info.root_height); + evas_object_show(main_info.apps_layout); + + return true; } static Eina_Bool __homescreen_efl_init_view(void *data) { - cluster_view_init(); - apps_view_init(); + cluster_view_init(); + apps_view_init(); - return ECORE_CALLBACK_CANCEL; + return ECORE_CALLBACK_CANCEL; } diff --git a/src/hw_key.c b/src/hw_key.c index 946867a..625c1b3 100755 --- a/src/hw_key.c +++ b/src/hw_key.c @@ -31,22 +31,22 @@ #define KEY_RETURN "Return" typedef enum { - HW_KEY_NONE = -1, - HW_KEY_BACK, - HW_KEY_HOME, - HW_KEY_MENU, + HW_KEY_NONE = -1, + HW_KEY_BACK, + HW_KEY_HOME, + HW_KEY_MENU, } hw_key_t; static struct { - Eina_Bool pressed; - Ecore_Event_Handler *press_handler; - Ecore_Event_Handler *release_handler; - Eina_Bool register_handler; + Eina_Bool pressed; + Ecore_Event_Handler *press_handler; + Ecore_Event_Handler *release_handler; + Eina_Bool register_handler; } hw_key_info = { - .pressed = EINA_FALSE, - .press_handler = NULL, - .release_handler = NULL, - .register_handler = EINA_FALSE + .pressed = EINA_FALSE, + .press_handler = NULL, + .release_handler = NULL, + .register_handler = EINA_FALSE }; static Eina_Bool __hw_key_release_cb(void *data, int type, void *event); @@ -54,86 +54,86 @@ static Eina_Bool __hw_key_press_cb(void *data, int type, void *event); void hw_key_register(void) { - if (!hw_key_info.release_handler) { - hw_key_info.release_handler = ecore_event_handler_add(ECORE_EVENT_KEY_UP, __hw_key_release_cb, NULL); - if (!hw_key_info.release_handler) - LOGE("Failed to register a key up event handler"); - } - - if (!hw_key_info.press_handler) { - hw_key_info.press_handler = ecore_event_handler_add(ECORE_EVENT_KEY_DOWN, __hw_key_press_cb, NULL); - if (!hw_key_info.press_handler) - LOGE("Failed to register a key down event handler"); - } - - hw_key_info.pressed = EINA_FALSE; - hw_key_info.register_handler = EINA_TRUE; + if (!hw_key_info.release_handler) { + hw_key_info.release_handler = ecore_event_handler_add(ECORE_EVENT_KEY_UP, __hw_key_release_cb, NULL); + if (!hw_key_info.release_handler) + LOGE("Failed to register a key up event handler"); + } + + if (!hw_key_info.press_handler) { + hw_key_info.press_handler = ecore_event_handler_add(ECORE_EVENT_KEY_DOWN, __hw_key_press_cb, NULL); + if (!hw_key_info.press_handler) + LOGE("Failed to register a key down event handler"); + } + + hw_key_info.pressed = EINA_FALSE; + hw_key_info.register_handler = EINA_TRUE; } void hw_key_unregister(void) { - if (hw_key_info.release_handler) { - ecore_event_handler_del(hw_key_info.release_handler); - hw_key_info.release_handler = NULL; - } + if (hw_key_info.release_handler) { + ecore_event_handler_del(hw_key_info.release_handler); + hw_key_info.release_handler = NULL; + } - if (hw_key_info.press_handler) { - ecore_event_handler_del(hw_key_info.press_handler); - hw_key_info.press_handler = NULL; - } + if (hw_key_info.press_handler) { + ecore_event_handler_del(hw_key_info.press_handler); + hw_key_info.press_handler = NULL; + } - hw_key_info.register_handler = EINA_FALSE; + hw_key_info.register_handler = EINA_FALSE; } static Eina_Bool __hw_key_press_cb(void *data, int type, void *event) { - Evas_Event_Key_Down *ev = event; + Evas_Event_Key_Down *ev = event; - if (!hw_key_info.register_handler || !ev) - return ECORE_CALLBACK_RENEW; + if (!hw_key_info.register_handler || !ev) + return ECORE_CALLBACK_RENEW; - hw_key_info.pressed = EINA_TRUE; + hw_key_info.pressed = EINA_TRUE; - return ECORE_CALLBACK_RENEW; + return ECORE_CALLBACK_RENEW; } static Eina_Bool __hw_key_release_cb(void *data, int type, void *event) { - Evas_Event_Key_Up *ev = event; - - if (!hw_key_info.register_handler || !ev) - return ECORE_CALLBACK_RENEW; - - LOGD("Key(%s) released %d", ev->keyname, hw_key_info.pressed); - - if (hw_key_info.pressed == EINA_FALSE) - return ECORE_CALLBACK_RENEW; - - if (!strcmp(ev->keyname, KEY_BACK)) { - if (menu_is_show()) { - menu_hide(); - } else if (popup_is_show()) { - popup_hide(); - } else { - homescreen_efl_hw_back_key_release(); - } - } else if (!strcmp(ev->keyname, KEY_MENU)) { - homescreen_efl_hw_menu_key_release(); - } else if (!strcmp(ev->keyname, KEY_HOME)) { - if (menu_is_show()) { - menu_hide(); - } else if (popup_is_show()) { - popup_hide(); - } - homescreen_efl_hw_home_key_release(); - } else { - hw_key_info.pressed = EINA_FALSE; - - return ECORE_CALLBACK_RENEW; - } - - hw_key_info.pressed = EINA_FALSE; - - return ECORE_CALLBACK_RENEW; + Evas_Event_Key_Up *ev = event; + + if (!hw_key_info.register_handler || !ev) + return ECORE_CALLBACK_RENEW; + + LOGD("Key(%s) released %d", ev->keyname, hw_key_info.pressed); + + if (hw_key_info.pressed == EINA_FALSE) + return ECORE_CALLBACK_RENEW; + + if (!strcmp(ev->keyname, KEY_BACK)) { + if (menu_is_show()) { + menu_hide(); + } else if (popup_is_show()) { + popup_hide(); + } else { + homescreen_efl_hw_back_key_release(); + } + } else if (!strcmp(ev->keyname, KEY_MENU)) { + homescreen_efl_hw_menu_key_release(); + } else if (!strcmp(ev->keyname, KEY_HOME)) { + if (menu_is_show()) { + menu_hide(); + } else if (popup_is_show()) { + popup_hide(); + } + homescreen_efl_hw_home_key_release(); + } else { + hw_key_info.pressed = EINA_FALSE; + + return ECORE_CALLBACK_RENEW; + } + + hw_key_info.pressed = EINA_FALSE; + + return ECORE_CALLBACK_RENEW; } diff --git a/src/menu.c b/src/menu.c index 07456d7..436192b 100755 --- a/src/menu.c +++ b/src/menu.c @@ -19,84 +19,84 @@ #include "conf.h" static struct { - Evas_Object *menu; - bool is_visible; + Evas_Object *menu; + bool is_visible; } menu_info = { - .menu = NULL, - .is_visible = false + .menu = NULL, + .is_visible = false }; /* menu_item_t */ static const char menu_text[MENU_MAX][STR_ID_LEN] = { - "IDS_HS_OPT_EDIT", - "IDS_HS_HEADER_ADD_WIDGET", - "IDS_HS_OPT_CHANGE_WALLPAPER_ABB", - "IDS_HS_OPT_ALL_PAGES", - "IDS_HS_OPT_EDIT", - "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" + "IDS_HS_OPT_EDIT", + "IDS_HS_HEADER_ADD_WIDGET", + "IDS_HS_OPT_CHANGE_WALLPAPER_ABB", + "IDS_HS_OPT_ALL_PAGES", + "IDS_HS_OPT_EDIT", + "IDS_HS_OPT_CREATE_FOLDER_OPT_TTS" }; static void __menu_dismissed_cb(void *data, Evas_Object *obj, void *event_info) { - menu_info.is_visible = false; + menu_info.is_visible = false; - if (menu_info.menu) { - evas_object_del(menu_info.menu); - menu_info.menu = NULL; - } + if (menu_info.menu) { + evas_object_del(menu_info.menu); + menu_info.menu = NULL; + } } void menu_show(Eina_Hash* hash_table) { - int menu_id; - if (menu_info.is_visible) { - return ; - } - - menu_info.is_visible = true; - - menu_info.menu = elm_ctxpopup_add(homescreen_efl_get_win()); - elm_object_style_set(menu_info.menu, "more/default"); - elm_ctxpopup_horizontal_set(menu_info.menu, EINA_FALSE); - elm_ctxpopup_auto_hide_disabled_set(menu_info.menu, EINA_TRUE); - elm_ctxpopup_direction_priority_set(menu_info.menu, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_DOWN); - - evas_object_smart_callback_add(menu_info.menu, "dismissed", __menu_dismissed_cb, NULL); - - for (menu_id = MENU_DEFAULT+1; menu_id < MENU_MAX; menu_id++) { - void *data = eina_hash_find(hash_table, &menu_id); - if (data) { - elm_ctxpopup_item_append(menu_info.menu, _(menu_text[menu_id]), NULL, data, NULL); - } - } - - evas_object_move(menu_info.menu, 0, WINDOW_H); - evas_object_show(menu_info.menu); + int menu_id; + if (menu_info.is_visible) { + return ; + } + + menu_info.is_visible = true; + + menu_info.menu = elm_ctxpopup_add(homescreen_efl_get_win()); + elm_object_style_set(menu_info.menu, "more/default"); + elm_ctxpopup_horizontal_set(menu_info.menu, EINA_FALSE); + elm_ctxpopup_auto_hide_disabled_set(menu_info.menu, EINA_TRUE); + elm_ctxpopup_direction_priority_set(menu_info.menu, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_DOWN); + + evas_object_smart_callback_add(menu_info.menu, "dismissed", __menu_dismissed_cb, NULL); + + for (menu_id = MENU_DEFAULT+1; menu_id < MENU_MAX; menu_id++) { + void *data = eina_hash_find(hash_table, &menu_id); + if (data) { + elm_ctxpopup_item_append(menu_info.menu, _(menu_text[menu_id]), NULL, data, NULL); + } + } + + evas_object_move(menu_info.menu, 0, WINDOW_H); + evas_object_show(menu_info.menu); } void menu_hide(void) { - if (!menu_info.is_visible) { - return ; - } + if (!menu_info.is_visible) { + return ; + } - menu_info.is_visible = false; + menu_info.is_visible = false; - evas_object_hide(menu_info.menu); - evas_object_del(menu_info.menu); - menu_info.menu = NULL; + evas_object_hide(menu_info.menu); + evas_object_del(menu_info.menu); + menu_info.menu = NULL; } bool menu_is_show(void) { - return menu_info.is_visible; + return menu_info.is_visible; } void menu_change_state_on_hw_menu_key(Eina_Hash* hash_table) { - if (menu_info.is_visible) { - menu_hide(); - } else { - menu_show(hash_table); - } + if (menu_info.is_visible) { + menu_hide(); + } else { + menu_show(hash_table); + } } diff --git a/src/page_indicator.c b/src/page_indicator.c index 0715f50..802327e 100755 --- a/src/page_indicator.c +++ b/src/page_indicator.c @@ -27,202 +27,202 @@ static void __page_indicator_unit_rotate(Evas_Object *unit, double angle, double page_indicator_t * page_indictor_create(Evas_Object *scroller) { - int i; - char edj_path[PATH_MAX] = {0, }; - page_indicator_t *page_indicator = NULL; - - snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/page_indicator_unit.edj")); - - if (scroller == NULL) - return NULL; - page_indicator = (page_indicator_t *)malloc(sizeof(page_indicator_t)); - page_indicator->scroller = scroller; - page_indicator->page_count = 0; - page_indicator->current_page = -1; - - page_indicator->box = elm_box_add(homescreen_efl_get_win()); - if (!page_indicator->box) { - LOGE("page_index->box==NULL"); - free(page_indicator); - return NULL; - } - elm_box_homogeneous_set(page_indicator->box, EINA_TRUE); - elm_box_horizontal_set(page_indicator->box, EINA_TRUE); - - evas_object_size_hint_weight_set(page_indicator->box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_box_align_set(page_indicator->box, 0.5, 0.5); - elm_box_padding_set(page_indicator->box, PAGE_INDICATOR_GAP, 0); - evas_object_show(page_indicator->box); - evas_object_move(page_indicator->box, page_indicator->x, page_indicator->y); - - evas_object_smart_callback_add(scroller, "scroll", __page_indicator_scroll_cb, page_indicator); - evas_object_smart_callback_add(scroller, "scroll,anim,stop", __page_indicator_scroll_anim_stop_cb, page_indicator); - - for (i = 0; i < PAGE_INDICATOR_MAX_PAGE_COUNT; i++) { - page_indicator->unit[i] = elm_layout_add(homescreen_efl_get_win()); - elm_layout_file_set(page_indicator->unit[i], edj_path, GROUP_PAGE_INDICATOR_UNIT); - evas_object_size_hint_weight_set(page_indicator->unit[i], EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_resize(page_indicator->unit[i], PAGE_INDICATOR_UNIT, PAGE_INDICATOR_UNIT); - - Evas_Object *rect = evas_object_rectangle_add(homescreen_efl_get_win()); - evas_object_color_set(rect, 255, 255, 255, 0); - evas_object_size_hint_min_set(rect, PAGE_INDICATOR_UNIT, PAGE_INDICATOR_UNIT); - evas_object_size_hint_max_set(rect, PAGE_INDICATOR_UNIT, PAGE_INDICATOR_UNIT); - evas_object_resize(rect, PAGE_INDICATOR_UNIT, PAGE_INDICATOR_UNIT); - evas_object_show(rect); - elm_object_part_content_set(page_indicator->unit[i], SIZE_SETTER, rect); - } - - return page_indicator; + int i; + char edj_path[PATH_MAX] = {0, }; + page_indicator_t *page_indicator = NULL; + + snprintf(edj_path, sizeof(edj_path), "%s", util_get_res_file_path(EDJE_DIR"/page_indicator_unit.edj")); + + if (scroller == NULL) + return NULL; + page_indicator = (page_indicator_t *)malloc(sizeof(page_indicator_t)); + page_indicator->scroller = scroller; + page_indicator->page_count = 0; + page_indicator->current_page = -1; + + page_indicator->box = elm_box_add(homescreen_efl_get_win()); + if (!page_indicator->box) { + LOGE("page_index->box==NULL"); + free(page_indicator); + return NULL; + } + elm_box_homogeneous_set(page_indicator->box, EINA_TRUE); + elm_box_horizontal_set(page_indicator->box, EINA_TRUE); + + evas_object_size_hint_weight_set(page_indicator->box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_box_align_set(page_indicator->box, 0.5, 0.5); + elm_box_padding_set(page_indicator->box, PAGE_INDICATOR_GAP, 0); + evas_object_show(page_indicator->box); + evas_object_move(page_indicator->box, page_indicator->x, page_indicator->y); + + evas_object_smart_callback_add(scroller, "scroll", __page_indicator_scroll_cb, page_indicator); + evas_object_smart_callback_add(scroller, "scroll,anim,stop", __page_indicator_scroll_anim_stop_cb, page_indicator); + + for (i = 0; i < PAGE_INDICATOR_MAX_PAGE_COUNT; i++) { + page_indicator->unit[i] = elm_layout_add(homescreen_efl_get_win()); + elm_layout_file_set(page_indicator->unit[i], edj_path, GROUP_PAGE_INDICATOR_UNIT); + evas_object_size_hint_weight_set(page_indicator->unit[i], EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_resize(page_indicator->unit[i], PAGE_INDICATOR_UNIT, PAGE_INDICATOR_UNIT); + + Evas_Object *rect = evas_object_rectangle_add(homescreen_efl_get_win()); + evas_object_color_set(rect, 255, 255, 255, 0); + evas_object_size_hint_min_set(rect, PAGE_INDICATOR_UNIT, PAGE_INDICATOR_UNIT); + evas_object_size_hint_max_set(rect, PAGE_INDICATOR_UNIT, PAGE_INDICATOR_UNIT); + evas_object_resize(rect, PAGE_INDICATOR_UNIT, PAGE_INDICATOR_UNIT); + evas_object_show(rect); + elm_object_part_content_set(page_indicator->unit[i], SIZE_SETTER, rect); + } + + return page_indicator; } void page_indicator_set_page_count(page_indicator_t *page_indicator, int count) { - if (page_indicator == NULL) { - LOGE("page indicator is NULL."); - return ; - } - - int i; - int width = count * PAGE_INDICATOR_UNIT + (PAGE_INDICATOR_GAP * (count-1)); - if (page_indicator->page_count == count) { - return ; - } - elm_box_unpack_all(page_indicator->box); - for (i = 0 ; i < PAGE_INDICATOR_MAX_PAGE_COUNT; i++) { - if (i < count) { - elm_box_pack_end(page_indicator->box, page_indicator->unit[i]); - evas_object_show(page_indicator->unit[i]); - } else { - evas_object_move(page_indicator->unit[i], 0, -100); - } - - } - - page_indicator->x = (WINDOW_W - width) / 2; - page_indicator->y = WINDOW_H - PAGE_INDICATOR_H - PAGE_INDICATOR_PADDING_BOTTON; - page_indicator->page_count = count; - - evas_object_resize(page_indicator->box, width, PAGE_INDICATOR_H); - evas_object_move(page_indicator->box, page_indicator->x, page_indicator->y); + if (page_indicator == NULL) { + LOGE("page indicator is NULL."); + return ; + } + + int i; + int width = count * PAGE_INDICATOR_UNIT + (PAGE_INDICATOR_GAP * (count-1)); + if (page_indicator->page_count == count) { + return ; + } + elm_box_unpack_all(page_indicator->box); + for (i = 0 ; i < PAGE_INDICATOR_MAX_PAGE_COUNT; i++) { + if (i < count) { + elm_box_pack_end(page_indicator->box, page_indicator->unit[i]); + evas_object_show(page_indicator->unit[i]); + } else { + evas_object_move(page_indicator->unit[i], 0, -100); + } + + } + + page_indicator->x = (WINDOW_W - width) / 2; + page_indicator->y = WINDOW_H - PAGE_INDICATOR_H - PAGE_INDICATOR_PADDING_BOTTON; + page_indicator->page_count = count; + + evas_object_resize(page_indicator->box, width, PAGE_INDICATOR_H); + evas_object_move(page_indicator->box, page_indicator->x, page_indicator->y); } void page_indicator_scroller_resize(page_indicator_t *page_indicator, int width, int height) { - LOGD("w:%d h:%d", width, height); - page_indicator->w = width; - page_indicator->h = height; + LOGD("w:%d h:%d", width, height); + page_indicator->w = width; + page_indicator->h = height; } void page_indicator_set_current_page(page_indicator_t *page_indicator, int page_number) { - if (page_indicator == NULL) { - LOGE("page indicator is NULL."); - return ; - } + if (page_indicator == NULL) { + LOGE("page indicator is NULL."); + return ; + } - LOGD("Set Current :%d, old : %d", page_number, page_indicator->current_page); + LOGD("Set Current :%d, old : %d", page_number, page_indicator->current_page); - page_indicator->current_page = page_number; + page_indicator->current_page = page_number; - __page_indicator_set_current_page(page_indicator); + __page_indicator_set_current_page(page_indicator); } static void __page_indicator_scroll_cb(void *data, Evas_Object *obj, void *event_info) { - int x = 0; - int current_x = 0; - double angle = 0.0; - double color = 0.0; - int next_page = -1; - - page_indicator_t *page_indicator = (page_indicator_t*) data; - if (!page_indicator) { - LOGE("Invalid page_indicator"); - return; - } - elm_scroller_region_get(obj, &x, NULL, NULL, NULL); - - current_x = page_indicator->current_page * page_indicator->w; - angle = (double)(x - current_x) / page_indicator->w * 90.0; - if (angle > 90.0) { - angle = (double)(x - page_indicator->w * page_indicator->page_count) / page_indicator->w * 90.0; - next_page = page_indicator->page_count - 1; - } else { - next_page = page_indicator->current_page + (angle > 0 ? 1 : -1); - next_page %= page_indicator->page_count; - } - - color = fabs(angle) * 2; - - __page_indicator_unit_rotate(page_indicator->unit[page_indicator->current_page], 90 + angle, 255.0 - color); - __page_indicator_unit_rotate(page_indicator->unit[next_page], (angle < 0 ? 360 + angle : angle), 75.0 + color); + int x = 0; + int current_x = 0; + double angle = 0.0; + double color = 0.0; + int next_page = -1; + + page_indicator_t *page_indicator = (page_indicator_t*) data; + if (!page_indicator) { + LOGE("Invalid page_indicator"); + return; + } + elm_scroller_region_get(obj, &x, NULL, NULL, NULL); + + current_x = page_indicator->current_page * page_indicator->w; + angle = (double)(x - current_x) / page_indicator->w * 90.0; + if (angle > 90.0) { + angle = (double)(x - page_indicator->w * page_indicator->page_count) / page_indicator->w * 90.0; + next_page = page_indicator->page_count - 1; + } else { + next_page = page_indicator->current_page + (angle > 0 ? 1 : -1); + next_page %= page_indicator->page_count; + } + + color = fabs(angle) * 2; + + __page_indicator_unit_rotate(page_indicator->unit[page_indicator->current_page], 90 + angle, 255.0 - color); + __page_indicator_unit_rotate(page_indicator->unit[next_page], (angle < 0 ? 360 + angle : angle), 75.0 + color); } static void __page_indicator_scroll_anim_stop_cb(void *data, Evas_Object *obj, void *event_info) { - if (data == NULL) { - LOGE("Invalid data"); - return ; - } + if (data == NULL) { + LOGE("Invalid data"); + return ; + } - page_indicator_t *page_indicator = (page_indicator_t*) data; + page_indicator_t *page_indicator = (page_indicator_t*) data; - elm_scroller_current_page_get(obj, &page_indicator->current_page, NULL); - page_indicator->current_page %= page_indicator->page_count; + elm_scroller_current_page_get(obj, &page_indicator->current_page, NULL); + page_indicator->current_page %= page_indicator->page_count; - __page_indicator_set_current_page(page_indicator); + __page_indicator_set_current_page(page_indicator); } static void __page_indicator_set_current_page(page_indicator_t *page_indicator) { - int i; - for (i = 0; i < page_indicator->page_count && i < PAGE_INDICATOR_MAX_PAGE_COUNT; i++) { - Evas_Object *edje = NULL; - edje = elm_layout_edje_get(page_indicator->unit[i]); - if (i == page_indicator->current_page) { - edje_object_signal_emit(edje, SIGNAL_PAGE_IDICATOR_CURRENT, SIGNAL_SOURCE); - } - //else if { } // i == center_circle - else { - edje_object_signal_emit(edje, SIGNAL_PAGE_IDICATOR_DEFAULT, SIGNAL_SOURCE); - } - } + int i; + for (i = 0; i < page_indicator->page_count && i < PAGE_INDICATOR_MAX_PAGE_COUNT; i++) { + Evas_Object *edje = NULL; + edje = elm_layout_edje_get(page_indicator->unit[i]); + if (i == page_indicator->current_page) { + edje_object_signal_emit(edje, SIGNAL_PAGE_IDICATOR_CURRENT, SIGNAL_SOURCE); + } + //else if { } // i == center_circle + else { + edje_object_signal_emit(edje, SIGNAL_PAGE_IDICATOR_DEFAULT, SIGNAL_SOURCE); + } + } } static void __page_indicator_unit_rotate(Evas_Object *unit, double angle, double alpha) { - Evas_Object *edje = NULL; + Evas_Object *edje = NULL; - if (!unit) { - LOGE("Invalid argument : unit is NULL"); - return; - } + if (!unit) { + LOGE("Invalid argument : unit is NULL"); + return; + } - edje = elm_layout_edje_get(unit); - if (!edje) { - LOGE("Failed to get edje from layout"); - return; - } + edje = elm_layout_edje_get(unit); + if (!edje) { + LOGE("Failed to get edje from layout"); + return; + } - Edje_Message_Float_Set *msg = malloc(sizeof(*msg) + 2 * sizeof(double)); - msg->count = 2; - msg->val[0] = angle; - msg->val[1] = alpha; + Edje_Message_Float_Set *msg = malloc(sizeof(*msg) + 2 * sizeof(double)); + msg->count = 2; + msg->val[0] = angle; + msg->val[1] = alpha; - edje_object_message_send(edje, EDJE_MESSAGE_FLOAT_SET, 1, msg); - edje_object_signal_emit(edje, SIGNAL_PAGE_IDICATOR_ROTATION_CHANGE, SIGNAL_SOURCE); + edje_object_message_send(edje, EDJE_MESSAGE_FLOAT_SET, 1, msg); + edje_object_signal_emit(edje, SIGNAL_PAGE_IDICATOR_ROTATION_CHANGE, SIGNAL_SOURCE); - free(msg); + free(msg); } void page_indicator_show(page_indicator_t *page_indicator) { - evas_object_show(page_indicator->box); + evas_object_show(page_indicator->box); } void page_indicator_hide(page_indicator_t *page_indicator) { - evas_object_hide(page_indicator->box); + evas_object_hide(page_indicator->box); } diff --git a/src/popup.c b/src/popup.c index 670aaf9..5575836 100755 --- a/src/popup.c +++ b/src/popup.c @@ -23,11 +23,11 @@ #include "util.h" static struct { - Evas_Object *popup; - bool is_visible; + Evas_Object *popup; + bool is_visible; } popup_info = { - .popup = NULL, - .is_visible = false + .popup = NULL, + .is_visible = false }; static void __popup_default_cb(void *data, Evas_Object *obj, void *event_info); @@ -37,89 +37,89 @@ static void __toast_timeout_cb(void *data, Evas_Object *obj, void *event_info); static void __toast_block_clicked_cb(void *data, Evas_Object *obj, void *event_info); void popup_show(int btn_count, Evas_Smart_Cb btn_func[3], void *func_data[3], - const char (*btn_text)[STR_MAX], const char *title_text, const char *popup_text) + const char (*btn_text)[STR_MAX], const char *title_text, const char *popup_text) { - if (popup_info.is_visible) { - return ; - } - - char part[3][10] = { "button1", "button2", "button3" }; - - popup_info.is_visible = true; - - popup_info.popup = elm_popup_add(homescreen_efl_get_win()); - elm_popup_align_set(popup_info.popup, ELM_NOTIFY_ALIGN_FILL, 1.0); - evas_object_size_hint_weight_set(popup_info.popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_object_part_text_set(popup_info.popup, "title,text", title_text); - elm_object_part_text_set(popup_info.popup, "default", popup_text); - evas_object_smart_callback_add(popup_info.popup, "dismissed", __popup_dismissed_cb, NULL); - - int idx = 0; - for (idx = 0; idx < btn_count; idx++) { - Evas_Object *btn; - btn = elm_button_add(popup_info.popup); - elm_object_style_set(btn, "popup"); - elm_object_text_set(btn, btn_text[idx]); - elm_object_part_content_set(popup_info.popup, part[idx], btn); - evas_object_smart_callback_add(btn, "clicked", - (btn_func[idx] == NULL ? __popup_default_cb : btn_func[idx]), func_data[idx]); - } - evas_object_show(popup_info.popup); + if (popup_info.is_visible) { + return ; + } + + char part[3][10] = { "button1", "button2", "button3" }; + + popup_info.is_visible = true; + + popup_info.popup = elm_popup_add(homescreen_efl_get_win()); + elm_popup_align_set(popup_info.popup, ELM_NOTIFY_ALIGN_FILL, 1.0); + evas_object_size_hint_weight_set(popup_info.popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_object_part_text_set(popup_info.popup, "title,text", title_text); + elm_object_part_text_set(popup_info.popup, "default", popup_text); + evas_object_smart_callback_add(popup_info.popup, "dismissed", __popup_dismissed_cb, NULL); + + int idx = 0; + for (idx = 0; idx < btn_count; idx++) { + Evas_Object *btn; + btn = elm_button_add(popup_info.popup); + elm_object_style_set(btn, "popup"); + elm_object_text_set(btn, btn_text[idx]); + elm_object_part_content_set(popup_info.popup, part[idx], btn); + evas_object_smart_callback_add(btn, "clicked", + (btn_func[idx] == NULL ? __popup_default_cb : btn_func[idx]), func_data[idx]); + } + evas_object_show(popup_info.popup); } void popup_hide(void) { - if (!popup_info.is_visible) { - return ; - } + if (!popup_info.is_visible) { + return ; + } - popup_info.is_visible = false; + popup_info.is_visible = false; - evas_object_hide(popup_info.popup); - evas_object_del(popup_info.popup); - popup_info.popup = NULL; + evas_object_hide(popup_info.popup); + evas_object_del(popup_info.popup); + popup_info.popup = NULL; } bool popup_is_show(void) { - return popup_info.is_visible; + return popup_info.is_visible; } static void __popup_default_cb(void *data, Evas_Object *obj, void *event_info) { - popup_hide(); + popup_hide(); } static void __popup_dismissed_cb(void *data, Evas_Object *obj, void *event_info) { - popup_info.is_visible = false; - if (popup_info.popup) { - evas_object_del(popup_info.popup); - popup_info.popup = NULL; - } + popup_info.is_visible = false; + if (popup_info.popup) { + evas_object_del(popup_info.popup); + popup_info.popup = NULL; + } } void toast_show(char* str) { - Evas_Object *popup; - - popup = elm_popup_add(homescreen_efl_get_win()); - elm_object_style_set(popup, "toast"); - evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_object_text_set(popup, str); - elm_popup_timeout_set(popup, 2.0); - eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, eext_popup_back_cb, NULL); - evas_object_smart_callback_add(popup, "block,clicked", __toast_block_clicked_cb, NULL); - evas_object_smart_callback_add(popup, "timeout", __toast_timeout_cb, NULL); - - evas_object_show(popup); + Evas_Object *popup; + + popup = elm_popup_add(homescreen_efl_get_win()); + elm_object_style_set(popup, "toast"); + evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_object_text_set(popup, str); + elm_popup_timeout_set(popup, 2.0); + eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, eext_popup_back_cb, NULL); + evas_object_smart_callback_add(popup, "block,clicked", __toast_block_clicked_cb, NULL); + evas_object_smart_callback_add(popup, "timeout", __toast_timeout_cb, NULL); + + evas_object_show(popup); } static void __toast_timeout_cb(void *data, Evas_Object *obj, void *event_info) { - evas_object_del(obj); + evas_object_del(obj); } static void __toast_block_clicked_cb(void *data, Evas_Object *obj, void *event_info) { - evas_object_del(obj); + evas_object_del(obj); } diff --git a/src/util.c b/src/util.c index 22cdc78..22a7de9 100755 --- a/src/util.c +++ b/src/util.c @@ -21,47 +21,47 @@ const char *util_get_file_path(enum app_subdir dir, const char *relative) { - static char buf[PATH_MAX]; - char *prefix; + static char buf[PATH_MAX]; + char *prefix; - switch (dir) { - case APP_DIR_DATA: - prefix = app_get_data_path(); - break; - case APP_DIR_CACHE: - prefix = app_get_cache_path(); - break; - case APP_DIR_RESOURCE: - prefix = app_get_resource_path(); - break; - case APP_DIR_SHARED_DATA: - prefix = app_get_shared_data_path(); - break; - case APP_DIR_SHARED_RESOURCE: - prefix = app_get_shared_resource_path(); - break; - case APP_DIR_SHARED_TRUSTED: - prefix = app_get_shared_trusted_path(); - break; - case APP_DIR_EXTERNAL_DATA: - prefix = app_get_external_data_path(); - break; - case APP_DIR_EXTERNAL_CACHE: - prefix = app_get_external_cache_path(); - break; - case APP_DIR_EXTERNAL_SHARED_DATA: - prefix = app_get_external_shared_data_path(); - break; - default: - LOGE("Not handled directory type."); - return NULL; - } - size_t res = eina_file_path_join(buf, sizeof(buf), prefix, relative); - free(prefix); - if (res > sizeof(buf)) { - LOGE("Path exceeded PATH_MAX"); - return NULL; - } + switch (dir) { + case APP_DIR_DATA: + prefix = app_get_data_path(); + break; + case APP_DIR_CACHE: + prefix = app_get_cache_path(); + break; + case APP_DIR_RESOURCE: + prefix = app_get_resource_path(); + break; + case APP_DIR_SHARED_DATA: + prefix = app_get_shared_data_path(); + break; + case APP_DIR_SHARED_RESOURCE: + prefix = app_get_shared_resource_path(); + break; + case APP_DIR_SHARED_TRUSTED: + prefix = app_get_shared_trusted_path(); + break; + case APP_DIR_EXTERNAL_DATA: + prefix = app_get_external_data_path(); + break; + case APP_DIR_EXTERNAL_CACHE: + prefix = app_get_external_cache_path(); + break; + case APP_DIR_EXTERNAL_SHARED_DATA: + prefix = app_get_external_shared_data_path(); + break; + default: + LOGE("Not handled directory type."); + return NULL; + } + size_t res = eina_file_path_join(buf, sizeof(buf), prefix, relative); + free(prefix); + if (res > sizeof(buf)) { + LOGE("Path exceeded PATH_MAX"); + return NULL; + } - return &buf[0]; + return &buf[0]; } diff --git a/src/widget_viewer.c b/src/widget_viewer.c index 28abce5..ec65a5a 100755 --- a/src/widget_viewer.c +++ b/src/widget_viewer.c @@ -24,9 +24,9 @@ #ifdef _TEST_ static Eina_Bool __widget_viewer_test_timer_cb(void *data) { - Evas_Object *widget = (Evas_Object*) data; - evas_object_color_set(widget, rand()%255, rand()%255, rand()%255, 100); - return ECORE_CALLBACK_RENEW; + Evas_Object *widget = (Evas_Object*) data; + evas_object_color_set(widget, rand()%255, rand()%255, rand()%255, 100); + return ECORE_CALLBACK_RENEW; } static int count = 0; #endif @@ -34,75 +34,75 @@ static void __widget_viewer_delete_btn_clicked_cb(void *data, Evas_Object *obj, void widget_viewer_init(Evas_Object *win) { - widget_viewer_evas_init(win); + widget_viewer_evas_init(win); } void widget_viewer_fini(void) { - widget_viewer_evas_fini(); + widget_viewer_evas_fini(); } Evas_Object *widget_viewer_add_widget(Evas_Object *parent, widget_data_t *item, int *widget_width, int *widget_height) { - Evas_Object *widget_layout; + Evas_Object *widget_layout; - widget_layout = elm_layout_add(parent); - elm_layout_file_set(widget_layout, util_get_res_file_path(EDJE_DIR"/widget.edj"), GROUP_WIDGET_LY); - evas_object_size_hint_weight_set(widget_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + widget_layout = elm_layout_add(parent); + elm_layout_file_set(widget_layout, util_get_res_file_path(EDJE_DIR"/widget.edj"), GROUP_WIDGET_LY); + evas_object_size_hint_weight_set(widget_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - widget_service_get_size(item->type, widget_width, widget_height); + widget_service_get_size(item->type, widget_width, widget_height); - Evas_Object *rect = evas_object_rectangle_add(evas_object_evas_get(widget_layout)); - evas_object_size_hint_min_set(rect, CLUSTER_W / 4, CLUSTER_H / 4); - evas_object_size_hint_align_set(rect, 0, 0); - evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_show(rect); - elm_object_part_content_set(widget_layout, SIZE_SETTER, rect); + Evas_Object *rect = evas_object_rectangle_add(evas_object_evas_get(widget_layout)); + evas_object_size_hint_min_set(rect, CLUSTER_W / 4, CLUSTER_H / 4); + evas_object_size_hint_align_set(rect, 0, 0); + evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(rect); + elm_object_part_content_set(widget_layout, SIZE_SETTER, rect); #ifndef _TEST_ - Evas_Object *widget = widget_viewer_evas_add_widget(widget_layout, item->pkg_name, NULL, item->period); - //evas_object_smart_callback_add(widget, WIDGET_SMART_SIGNAL_WIDGET_CREATED, __widget_viewer_widget_create_cb, NULL); - evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(widget, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_color_set(widget, 255, 255, 255, 255); + Evas_Object *widget = widget_viewer_evas_add_widget(widget_layout, item->pkg_name, NULL, item->period); + //evas_object_smart_callback_add(widget, WIDGET_SMART_SIGNAL_WIDGET_CREATED, __widget_viewer_widget_create_cb, NULL); + evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(widget, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_color_set(widget, 255, 255, 255, 255); #else // for TEST -/* Evas_Object *widget = evas_object_rectangle_add(evas_object_evas_get(widget_layout)); - evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_size_hint_weight_set(widget, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_color_set(widget, 0, 0, 255, 100); - evas_object_show(widget); +/* Evas_Object *widget = evas_object_rectangle_add(evas_object_evas_get(widget_layout)); + evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(widget, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_color_set(widget, 0, 0, 255, 100); + evas_object_show(widget); */ - char number[1000]; - sprintf(number, "%s_%d", item->pkg_name, count++); - Evas_Object *widget = elm_label_add(evas_object_evas_get(widget_layout)); - elm_object_style_set(widget, "popup/default"); - evas_object_size_hint_weight_set(widget, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_object_text_set(widget, number); - evas_object_color_set(widget, 0, 0, 255, 100); - evas_object_show(widget); + char number[1000]; + sprintf(number, "%s_%d", item->pkg_name, count++); + Evas_Object *widget = elm_label_add(evas_object_evas_get(widget_layout)); + elm_object_style_set(widget, "popup/default"); + evas_object_size_hint_weight_set(widget, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_text_set(widget, number); + evas_object_color_set(widget, 0, 0, 255, 100); + evas_object_show(widget); - Ecore_Timer *timer = ecore_timer_add(1, __widget_viewer_test_timer_cb, widget); + Ecore_Timer *timer = ecore_timer_add(1, __widget_viewer_test_timer_cb, widget); #endif - elm_object_part_content_set(widget_layout, WIDGET_CONTENT, widget); + elm_object_part_content_set(widget_layout, WIDGET_CONTENT, widget); - elm_object_signal_callback_add(widget_layout, SIGNAL_DELETE_BUTTON_CLICKED, SIGNAL_SOURCE, __widget_viewer_delete_btn_clicked_cb, (void *)item); + elm_object_signal_callback_add(widget_layout, SIGNAL_DELETE_BUTTON_CLICKED, SIGNAL_SOURCE, __widget_viewer_delete_btn_clicked_cb, (void *)item); - evas_object_show(widget); - evas_object_show(widget_layout); + evas_object_show(widget); + evas_object_show(widget_layout); - return widget_layout; + return widget_layout; } static void __widget_viewer_delete_btn_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) { - widget_data_t *item = (widget_data_t *)data; - cluster_data_delete(item); + widget_data_t *item = (widget_data_t *)data; + cluster_data_delete(item); } void widget_viewer_send_cancel_click_event(widget_data_t *widget) { - Evas_Object *widget_obj = NULL; - widget_obj = elm_object_part_content_get(widget->widget_layout, WIDGET_CONTENT); - widget_viewer_evas_cancel_click_event(widget_obj); + Evas_Object *widget_obj = NULL; + widget_obj = elm_object_part_content_get(widget->widget_layout, WIDGET_CONTENT); + widget_viewer_evas_cancel_click_event(widget_obj); } -- 2.7.4 From 4baa20280a7b04d079d0a94793c50eded758c36f Mon Sep 17 00:00:00 2001 From: "juhee,park" Date: Wed, 8 Jun 2016 16:03:43 +0900 Subject: [PATCH 11/16] TSAM-4105:All apps in homescreen do not translate when changing any language Signed-off-by: juhee,park Change-Id: I6124f3119ea47576e23524668b3c1c00a79a5234 --- inc/apps_data.h | 1 + inc/apps_package_manager.h | 3 +++ inc/apps_view.h | 3 +++ src/apps_data.c | 14 ++++++++++++++ src/apps_package_manager.c | 14 ++++++++++++++ src/apps_view.c | 16 ++++++++++++++++ src/homescreen-efl.c | 3 +++ 7 files changed, 54 insertions(+) diff --git a/inc/apps_data.h b/inc/apps_data.h index 288188b..ab68431 100755 --- a/inc/apps_data.h +++ b/inc/apps_data.h @@ -63,5 +63,6 @@ void apps_data_delete_item(app_data_t *item); void apps_data_delete_list(Eina_List *list); app_data_t *apps_data_find_item_by_index(int index); int apps_data_get_folder_item_count(app_data_t *folder); +void apps_data_update_item_label(void); #endif /* __APPS_DATA_H__ */ diff --git a/inc/apps_package_manager.h b/inc/apps_package_manager.h index 32879d5..0e44dbb 100755 --- a/inc/apps_package_manager.h +++ b/inc/apps_package_manager.h @@ -24,7 +24,10 @@ #include #include +#include "apps_data.h" + void apps_package_manager_init(); Eina_Bool apps_package_manger_get_list(Eina_List **list); +void apps_package_manager_update_label(const char *app_id, app_data_t *item); #endif /* __APPS_PACKAGE_MANAGER_H__ */ diff --git a/inc/apps_view.h b/inc/apps_view.h index 88036b3..977dee1 100755 --- a/inc/apps_view.h +++ b/inc/apps_view.h @@ -21,6 +21,7 @@ #include "view.h" #include "apps_data.h" +#include "homescreen-efl.h" Evas_Object *apps_view_create(Evas_Object *parent); void apps_view_init(void); @@ -45,5 +46,7 @@ bool apps_view_hw_home_key(void); bool apps_view_hw_back_key(void); view_state_t apps_view_get_state(void); void apps_view_set_state(view_state_t state); +void apps_view_update_label(app_data_t *item); +void apps_view_lang_changed(homescreen_view_t view_type); #endif /* __APPS_VIEW_H__ */ diff --git a/src/apps_data.c b/src/apps_data.c index a6b6cc0..bf2ccad 100755 --- a/src/apps_data.c +++ b/src/apps_data.c @@ -393,3 +393,17 @@ int apps_data_get_folder_item_count(app_data_t *folder) } return cnt; } + + +void apps_data_update_item_label(void) +{ + app_data_t *item = NULL; + Eina_List *find_list; + EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) { + if (!item->is_folder) { + apps_package_manager_update_label(item->app_id, item); + apps_db_update(item); + apps_view_update_label(item); + } + } +} diff --git a/src/apps_package_manager.c b/src/apps_package_manager.c index 0fdbc5b..05b822c 100755 --- a/src/apps_package_manager.c +++ b/src/apps_package_manager.c @@ -185,6 +185,20 @@ ERROR: } +void apps_package_manager_update_label(const char *app_id, app_data_t *item) +{ + app_info_h app_info = NULL; + int ret = APP_MANAGER_ERROR_NONE; + app_manager_get_app_info(app_id, &app_info); + + if (item->label_str) + free(item->label_str); + ret = app_info_get_label(app_info, &item->label_str); + if (APP_MANAGER_ERROR_NONE != ret) { + LOGE("app_info_get_label return [%d] %s", ret, item->label_str); + } +} + static void __apps_package_manager_install(const char *package) { app_info_h app_info = NULL; diff --git a/src/apps_view.c b/src/apps_view.c index 2472cd1..5b590b8 100755 --- a/src/apps_view.c +++ b/src/apps_view.c @@ -515,6 +515,22 @@ bool apps_view_icon_set(app_data_t *item) return false; } +void apps_view_update_label(app_data_t *item) +{ + __apps_view__set_icon_label_style(item, apps_view_s.view_state); +} + +void apps_view_lang_changed(homescreen_view_t view_type) +{ + if (apps_view_s.opened_folder != NULL) { + __apps_view_close_folder_popup(apps_view_s.opened_folder); + } + if (view_type == HOMESCREEN_VIEW_APPS) { + apps_view_set_state(VIEW_STATE_NORMAL); + } + apps_data_update_item_label(); +} + static void __apps_view_create_base_gui(Evas_Object *win) { char edj_path[PATH_MAX] = {0, }; diff --git a/src/homescreen-efl.c b/src/homescreen-efl.c index 1b8feb8..7de19c5 100755 --- a/src/homescreen-efl.c +++ b/src/homescreen-efl.c @@ -26,6 +26,7 @@ #include "cluster_view.h" #include "hw_key.h" #include "view.h" +#include "menu.h" static struct { Evas_Object *win; @@ -72,6 +73,8 @@ static Eina_Bool __homescreen_efl_init_view(void *data); static void __homescreen_efl_lang_changed_cb(app_event_info_h event_info, void *user_data) { LOGD("called"); + menu_hide(); + apps_view_lang_changed(main_info.view_type); } static void __homescreen_efl_orient_changed_cb(app_event_info_h event_info, void *user_data) -- 2.7.4 From 25f11a629312db773cdb82199bd4d4903cc3d73d Mon Sep 17 00:00:00 2001 From: cskim Date: Wed, 8 Jun 2016 16:53:19 +0900 Subject: [PATCH 12/16] Fix Svace Defects(Error, Warnings) Remove .sign folder and ignore it with svace directory in git. Change-Id: If1ccf6339eeae8723f9ad941c50e8627efe437c7 --- .gitignore | 2 + .sign/.manifest.tmp | 95 ------- .sign/author-signature.xml | 430 ----------------------------- .sign/signature1.xml | 433 ------------------------------ src/add_widget_viewer/add_widget_viewer.c | 8 +- src/apps_package_manager.c | 7 +- src/apps_view.c | 29 +- src/cluster_data.c | 1 + src/widget_viewer.c | 2 +- 9 files changed, 31 insertions(+), 976 deletions(-) delete mode 100644 .sign/.manifest.tmp delete mode 100644 .sign/author-signature.xml delete mode 100644 .sign/signature1.xml diff --git a/.gitignore b/.gitignore index 65fa71e..813772b 100755 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ /Debug /SA_Report +.svace-dir +.sign diff --git a/.sign/.manifest.tmp b/.sign/.manifest.tmp deleted file mode 100644 index dead9c0..0000000 --- a/.sign/.manifest.tmp +++ /dev/null @@ -1,95 +0,0 @@ -bin/homescreen-efl__DEL__2bQyZdR+e7aZA2LJArWX+QjznWXcHXO2sjkckoKtWTE= -res/edje/add_widget_viewer.edj__DEL__WVuCE87r6Uhnl66QCW4dLyP14oUDuhlPnL255AipxA8= -res/edje/app_icon.edj__DEL__rOtWL2AxfqW96Wwkch+uDB+/3DNmFjzR6RWNaTn2HI0= -res/edje/apps_chooser_btn.edj__DEL__ft6uFlFwFCuZim+9EGDAUXsYd3Chl5oN22kt9563Qoc= -res/edje/apps_folder_icon.edj__DEL__HfUJDyWtwwyrwWfg3GMNJVFdUhQgFV5uk8H6ZWTCh3Y= -res/edje/apps_folder_popup.edj__DEL__NemFZXEB7HdOyX7tqY73NgbdekXidPmVuYfLP1g1x0g= -res/edje/apps_view.edj__DEL__x1m1yASDqi3xtE37FecJxGmv9dgKTq2kg1hzKmnr+24= -res/edje/apps_view_bg.edj__DEL__JHAfBFXpv7S+wXFHC+qN5E+aTgpaofr4ixMApxn0mp8= -res/edje/cluster_allpage.edj__DEL__5mFrg7kh/41OXDQSoHPjuJ32IzminUUlsTH8m4Prs3U= -res/edje/cluster_allpage_thumbnail.edj__DEL__Tjc7p5sS3R89AeuLrdipemku9hGhg02dyHu2eLoo4q4= -res/edje/cluster_page.edj__DEL__dSDcDYHetB628r52JWmKTxom2tqL1FP4inJhWsSopcA= -res/edje/home.edj__DEL__CYUtxYlsFmW9C54nDWSIbwr6kkR1BtgMHIJQgjk3RH4= -res/edje/home_btn.edj__DEL__RQ79phnrU52HqrCRonx0x23PuMwsO0H/+kGUJsS5xDY= -res/edje/page_indicator_unit.edj__DEL__c9v+iek1DlusuZNu12LvN73sUY/mSftiw5y29JXVUGw= -res/edje/widget.edj__DEL__6yc1tUF/pJkCMzQEj32/O+Yz7VV5LW82L0CY3bINmnA= -res/images/add_page_nor.png__DEL__hqnpwU7y0026fePoeHQUHiIsQkQkE6YMrEOLgWmi24s= -res/images/add_page_press.png__DEL__FeY8xIiCwRls8AYZLRxOVUNJqWCB85HWNvWcSibOOhE= -res/images/all_page_add.png__DEL__NaFgj2lXKUfBbZk4VmOeQamahPg7kXuwItRyeq8/bSY= -res/images/all_page_add_press.png__DEL__nN+eVeUdDmM7ZmWzctRbHQ0iGchd9tW87QWttAgq33c= -res/images/all_page_drag.png__DEL__QZcF6UVugz5DGrb237UpVkRFAfW7nGwFVw1wktOnNM8= -res/images/app_press_117.png__DEL__E0bg/oVwC1pn7GMC+aZdkXgJFEXghqC3BrLkLWgt9Ko= -res/images/btn_add_nor.png__DEL__yXmN6gPaInzPqMnnvZy6EGtYkGEG9yxPC29xjSSOZnw= -res/images/btn_add_press.png__DEL__Rp80WWmWlHdOMKUD28T+RwUiyKpO0W+ITPmDk0qgLLo= -res/images/btn_delete_nor.png__DEL__87nZJ0uJhX3Kx2dv6BMUmHDw/4xagceKslZ7bML7hvo= -res/images/btn_delete_press.png__DEL__y/oiTmwzPmU93wfx6D3bfCr5fKoc1IBSRmHvlpTEQtI= -res/images/core_check_bg.png__DEL__HCpFQAsWha3GigpGWrubNVXVShl0PT5o7LxsThAkhI0= -res/images/core_check_bg_stroke.png__DEL__5XLz72s6yi/KOjCLocZJ/WrWgwYlAlGxDvJO90k3JPM= -res/images/core_check_icon.png__DEL__rJzE+OVrzZm9HJFzeBi1+8FPano9ukrWB10nQV82m1o= -res/images/default_app_icon.png__DEL__Y9zRuA/OXInxUgtMSp1QJqrh999tKjpCQ7YPsMcF8Kk= -res/images/default_bg.png__DEL__0gUX7G8t9qf8/bUeaHc1qp9EXAT934YJ9dYS1wupGI4= -res/images/folder_appicon_bg.png__DEL__noOZYNOHHOiWJijd4qawld1rsQZ12oYwz7PsgZybiZ8= -res/images/folder_appicon_bg_impossible.png__DEL__zsCUAlXZcgZpTpvNM8pwzCCvzQxDtltJf7V6YA0DT4I= -res/images/folder_appicon_bg_possible.png__DEL__z5iytDrt/KDlOXhLpUdQYzzujZE6edmRR6lasSQewHw= -res/images/folder_appicon_empty_bg.png__DEL__IHPVIyyHM+Xr16lKSzHDDHqflN4mg4RLjaEKhSe4w7s= -res/images/folder_popup_bg.png__DEL__APqmJrt2ZwFNUC2PENUcmJ5cItcb+xkHI1KbVut6IsA= -res/images/home_button_apps.png__DEL__NpjsIH4S1p/IhdqXCsHoNKNILPtXfeAfzacXL+giMA4= -res/images/home_button_bg.png__DEL__gv8sVrOYti1vU2kcRO8xmD0KF8U1BsQ8xbXXCea5HDQ= -res/images/home_button_home.png__DEL__7SZnhNb1SQmaKs2YuWz9x8wxiG04DRVpr+ZqzMncM8s= -res/images/home_button_menu.png__DEL__buZftpza+NBOtEcuDVxbYeMZ/zDK0wFhnvpzpV02zu4= -res/images/icon_badge_container.png__DEL__jT49M8iXi1RBYngrDVZGYqunMNnGE2W9RCnqcJIU1WM= -res/images/page_indicator_current.png__DEL__HM+yEA7kUCEMRryHHz8v/ZQq645n2iarGYmWJK+MjkA= -res/images/page_indicator_unit.png__DEL__0c7mkvcdYnXZToRUScakcXFG8if7PQ5kCjJqbD0d5IM= -res/locale/ar/LC_MESSAGES/homescreen-efl.mo__DEL__ibnLSm8JGIo5UjVKQql8slRiGOWa82qiiJPJY5vuZek= -res/locale/az/LC_MESSAGES/homescreen-efl.mo__DEL__GzPOUx1zzTz6bhIuf8r9d7oXy/sV1nRXWKZ5btoVRPI= -res/locale/bg/LC_MESSAGES/homescreen-efl.mo__DEL__0S9duKaLJFBEXDZpVNKiapv7jRHNZ2YIdzrdgZZ0n7Y= -res/locale/ca/LC_MESSAGES/homescreen-efl.mo__DEL__iz/7dxAP0L4yBmJMByeowbhIEpucBqcK5GJacKtuJmU= -res/locale/cs/LC_MESSAGES/homescreen-efl.mo__DEL__tDeQdJ+xC98GlCKTApleYaH9HyxPyDfHt0g1Oj6QKTs= -res/locale/da/LC_MESSAGES/homescreen-efl.mo__DEL__A4lQ15pkmbb54FahN0njXRIA0nv95olfbX2zEUkMsRs= -res/locale/de/LC_MESSAGES/homescreen-efl.mo__DEL__c1Y2E3rFnvxwGaqWVzrqdxdx7u1ciELljaOcbSK6Ofk= -res/locale/el_GR/LC_MESSAGES/homescreen-efl.mo__DEL__+swN5kVV1P54WCjD50HrJokTyorUIo7BczsE9rMBtxI= -res/locale/en/LC_MESSAGES/homescreen-efl.mo__DEL__gu5LsFomEKn5zDthQ79Pq00l7lNTPwpWmfc8DGvCdNI= -res/locale/en_PH/LC_MESSAGES/homescreen-efl.mo__DEL__tXgXXEhmbLn0AxD/MWNw8mFAWBElGh2Pgmn4VjRiH6A= -res/locale/en_US/LC_MESSAGES/homescreen-efl.mo__DEL__pPmkr267A8TmCbznNyz7ngQXBG3Kq8X9nBWvo05qrqY= -res/locale/es_ES/LC_MESSAGES/homescreen-efl.mo__DEL__qkjALrQWoRk39CZdSoOg77SZhs3g6TOzDPauojV3s8c= -res/locale/es_US/LC_MESSAGES/homescreen-efl.mo__DEL__BMWnX1L36IlipJsskB76AAE3Ijq3k6O5W85syPDTGOw= -res/locale/et/LC_MESSAGES/homescreen-efl.mo__DEL__MEr/xeDQBlrRY3KZUWHrrwGIqOjOzcLM6gxWX07M5bc= -res/locale/eu/LC_MESSAGES/homescreen-efl.mo__DEL__sat+2O/zZMlEIQ6HZyWIS3E2RFC/C3h82p0jkiSfXR8= -res/locale/fi/LC_MESSAGES/homescreen-efl.mo__DEL__py2C9x3kxqwOQD/w0XfVwCij7UykPjfJcNpPaYrL/4o= -res/locale/fr/LC_MESSAGES/homescreen-efl.mo__DEL__3w7W8u64bBfu03NiAdPUZuTxQ69DykBj8J1oW2DjYn8= -res/locale/fr_CA/LC_MESSAGES/homescreen-efl.mo__DEL__Nvdus943mCM8IWbIseBnGtDKO33HqFtQfpKNQ5r5BXM= -res/locale/ga/LC_MESSAGES/homescreen-efl.mo__DEL__+niA3/OBbBtCIjmZG9tFcowLo32CnV44MnSnSCjrBqI= -res/locale/gl/LC_MESSAGES/homescreen-efl.mo__DEL__vGkr5Tlj9qSunxS9gO2KQm5IwxbxzD1bLW1qEzeWhsE= -res/locale/hi/LC_MESSAGES/homescreen-efl.mo__DEL__WpVjXKJ5C28pXq2nRFFpFozLB4yHuG14Hf66RJgdYvk= -res/locale/hr/LC_MESSAGES/homescreen-efl.mo__DEL__AHz+NWh8DdiZlhlpt6HWSP/V7OMPTsV58onsK+s7WuA= -res/locale/hu/LC_MESSAGES/homescreen-efl.mo__DEL__SrzqXXl2lHwQtmtQ+FlHLGmB2NTU71U894GWFMm4/PY= -res/locale/hy/LC_MESSAGES/homescreen-efl.mo__DEL__AZV+SSlvQXHMN6d/4YVNB5aUvPR0jFHo/SLHvm6oikA= -res/locale/is/LC_MESSAGES/homescreen-efl.mo__DEL__zh1QJJAZQpSJn26UNJumB87DT42bj/CWyurMpHg9Ynw= -res/locale/it_IT/LC_MESSAGES/homescreen-efl.mo__DEL__zoYrYjZG8DrwCJMHHc5Adf7CqGKMHsSeKn5P+eUiXWs= -res/locale/ja_JP/LC_MESSAGES/homescreen-efl.mo__DEL__68NceM+wgJTiDr9KLFNwKHEWokXmqZyYP8FcDu/I5XM= -res/locale/ka/LC_MESSAGES/homescreen-efl.mo__DEL__oXznH37kzPA8fB2mc0U1HA/LV3kZ4mslpvOdAaNfDRw= -res/locale/kk/LC_MESSAGES/homescreen-efl.mo__DEL__v7d3w1h5B+ZehwYWsVRELZY278R6rgDKPPeDA+Z+sOg= -res/locale/ko_KR/LC_MESSAGES/homescreen-efl.mo__DEL__q2CHGLpi9nuAAPPYsYGXHxJ6V0hb32KbXj8EqxlIjaA= -res/locale/lt/LC_MESSAGES/homescreen-efl.mo__DEL__h1CtHiv/VcyqBeUTQoju4K289eyR+9iLbvCNyRboQCI= -res/locale/lv/LC_MESSAGES/homescreen-efl.mo__DEL__HgRJYnB3rCmV6MYT93LVG4dIrTdUaJMUXHJ+U7Cr99Y= -res/locale/mk/LC_MESSAGES/homescreen-efl.mo__DEL__T7TTKYVEXjmGWVruFXlPeGI0WvRtWiHdbVVz2Qgd5Jw= -res/locale/nb/LC_MESSAGES/homescreen-efl.mo__DEL__edmzo3YuUKbxOlrfAWaZMDGvRFG7lV50nQJvtB+7X1Q= -res/locale/nl/LC_MESSAGES/homescreen-efl.mo__DEL__RWxv0Ow+mBFyuonGadQio/KDxzoY5K53VLZtqOiU7rs= -res/locale/pl/LC_MESSAGES/homescreen-efl.mo__DEL__stpxGiwDfSseoI5lpKWEH1jaPbmH8pRpG4n1nsVau4Y= -res/locale/pt_BR/LC_MESSAGES/homescreen-efl.mo__DEL__ECccZWVv5eiiVH8ukv3GAps1GjQf+FjAQbxJIqnxoX8= -res/locale/pt_PT/LC_MESSAGES/homescreen-efl.mo__DEL__TqFfxXKPwFxR9GrOoBg21CK/3gucGfZfNEc2UBO4Bgk= -res/locale/ro/LC_MESSAGES/homescreen-efl.mo__DEL__y0MNvjYNAAkXjeb5RtRxHjK630n9flnXSL7Cgl+NtGA= -res/locale/ru_RU/LC_MESSAGES/homescreen-efl.mo__DEL__pgTvV2t3cHsfRDHzgSqfIeFlgAb1IUx0U6WVxpPAxlU= -res/locale/sk/LC_MESSAGES/homescreen-efl.mo__DEL__cDWKpiXOL6/ed7abaGpzMy15NreKea3F/nA2qOTeWUQ= -res/locale/sl/LC_MESSAGES/homescreen-efl.mo__DEL__wlHFqnDo90H+cbQCSP3XJZbdwHd8jP/wQybabH0AMio= -res/locale/sr/LC_MESSAGES/homescreen-efl.mo__DEL__ZSDkTPRPOtRRTGPJfc17ajNRQ7L8KNq6PgywcU/NVrk= -res/locale/sv/LC_MESSAGES/homescreen-efl.mo__DEL__nsZDxMADpomu7OdG/bD/H0zvU549EdrX9C7NL4PYH+w= -res/locale/tr_TR/LC_MESSAGES/homescreen-efl.mo__DEL__pYKJbx3F3gp+pYo+qfULyifxu7bQK4uZ9TPH+gStk2o= -res/locale/uk/LC_MESSAGES/homescreen-efl.mo__DEL__AFzXVJVlIdnLBTiWPsX5KoH4CwxY8nAvqU40HWePpbc= -res/locale/uz/LC_MESSAGES/homescreen-efl.mo__DEL__RHOh/MQmFdqEgQAjg4fCwfZH8NqIkQV7bUMy0Jo/qf4= -res/locale/zh_CN/LC_MESSAGES/homescreen-efl.mo__DEL__RIZ1KIFfGF2e+0IkBlDIut/N5Y8JlVuOdHuEhVoNpV4= -res/locale/zh_HK/LC_MESSAGES/homescreen-efl.mo__DEL__XbmoPGvpjZD09qMkipbn/N/GNg/T74qcAmfZ09aTVIM= -res/locale/zh_TW/LC_MESSAGES/homescreen-efl.mo__DEL__oV3fIhDtXRMBjVuLETwBwYVDwiCHWvpDVpgtektLlM4= -shared/res/homescreen-efl.png__DEL__1d0oEZHqPn+QzNzGIHwj9ODby6x9ggFs9uOsav6jPNs= -tizen-manifest.xml__DEL__h4EjwXZOHtndaFT2qpZoLKMnGk4zNFA+q12iBS78pK4= -author-signature.xml__DEL__4q3PBx0HUQUvwJI8vryFCEpk+uO2ZYtaCvetVRqA6kI= diff --git a/.sign/author-signature.xml b/.sign/author-signature.xml deleted file mode 100644 index 0cdac69..0000000 --- a/.sign/author-signature.xml +++ /dev/null @@ -1,430 +0,0 @@ - - - - - - -2bQyZdR+e7aZA2LJArWX+QjznWXcHXO2sjkckoKtWTE= - - - -WVuCE87r6Uhnl66QCW4dLyP14oUDuhlPnL255AipxA8= - - - -rOtWL2AxfqW96Wwkch+uDB+/3DNmFjzR6RWNaTn2HI0= - - - -ft6uFlFwFCuZim+9EGDAUXsYd3Chl5oN22kt9563Qoc= - - - -HfUJDyWtwwyrwWfg3GMNJVFdUhQgFV5uk8H6ZWTCh3Y= - - - -NemFZXEB7HdOyX7tqY73NgbdekXidPmVuYfLP1g1x0g= - - - -x1m1yASDqi3xtE37FecJxGmv9dgKTq2kg1hzKmnr+24= - - - -JHAfBFXpv7S+wXFHC+qN5E+aTgpaofr4ixMApxn0mp8= - - - -5mFrg7kh/41OXDQSoHPjuJ32IzminUUlsTH8m4Prs3U= - - - -Tjc7p5sS3R89AeuLrdipemku9hGhg02dyHu2eLoo4q4= - - - -dSDcDYHetB628r52JWmKTxom2tqL1FP4inJhWsSopcA= - - - -CYUtxYlsFmW9C54nDWSIbwr6kkR1BtgMHIJQgjk3RH4= - - - -RQ79phnrU52HqrCRonx0x23PuMwsO0H/+kGUJsS5xDY= - - - -c9v+iek1DlusuZNu12LvN73sUY/mSftiw5y29JXVUGw= - - - -6yc1tUF/pJkCMzQEj32/O+Yz7VV5LW82L0CY3bINmnA= - - - -hqnpwU7y0026fePoeHQUHiIsQkQkE6YMrEOLgWmi24s= - - - -FeY8xIiCwRls8AYZLRxOVUNJqWCB85HWNvWcSibOOhE= - - - -NaFgj2lXKUfBbZk4VmOeQamahPg7kXuwItRyeq8/bSY= - - - -nN+eVeUdDmM7ZmWzctRbHQ0iGchd9tW87QWttAgq33c= - - - -QZcF6UVugz5DGrb237UpVkRFAfW7nGwFVw1wktOnNM8= - - - -E0bg/oVwC1pn7GMC+aZdkXgJFEXghqC3BrLkLWgt9Ko= - - - -yXmN6gPaInzPqMnnvZy6EGtYkGEG9yxPC29xjSSOZnw= - - - -Rp80WWmWlHdOMKUD28T+RwUiyKpO0W+ITPmDk0qgLLo= - - - -87nZJ0uJhX3Kx2dv6BMUmHDw/4xagceKslZ7bML7hvo= - - - -y/oiTmwzPmU93wfx6D3bfCr5fKoc1IBSRmHvlpTEQtI= - - - -HCpFQAsWha3GigpGWrubNVXVShl0PT5o7LxsThAkhI0= - - - -5XLz72s6yi/KOjCLocZJ/WrWgwYlAlGxDvJO90k3JPM= - - - -rJzE+OVrzZm9HJFzeBi1+8FPano9ukrWB10nQV82m1o= - - - -Y9zRuA/OXInxUgtMSp1QJqrh999tKjpCQ7YPsMcF8Kk= - - - -0gUX7G8t9qf8/bUeaHc1qp9EXAT934YJ9dYS1wupGI4= - - - -noOZYNOHHOiWJijd4qawld1rsQZ12oYwz7PsgZybiZ8= - - - -zsCUAlXZcgZpTpvNM8pwzCCvzQxDtltJf7V6YA0DT4I= - - - -z5iytDrt/KDlOXhLpUdQYzzujZE6edmRR6lasSQewHw= - - - -IHPVIyyHM+Xr16lKSzHDDHqflN4mg4RLjaEKhSe4w7s= - - - -APqmJrt2ZwFNUC2PENUcmJ5cItcb+xkHI1KbVut6IsA= - - - -NpjsIH4S1p/IhdqXCsHoNKNILPtXfeAfzacXL+giMA4= - - - -gv8sVrOYti1vU2kcRO8xmD0KF8U1BsQ8xbXXCea5HDQ= - - - -7SZnhNb1SQmaKs2YuWz9x8wxiG04DRVpr+ZqzMncM8s= - - - -buZftpza+NBOtEcuDVxbYeMZ/zDK0wFhnvpzpV02zu4= - - - -jT49M8iXi1RBYngrDVZGYqunMNnGE2W9RCnqcJIU1WM= - - - -HM+yEA7kUCEMRryHHz8v/ZQq645n2iarGYmWJK+MjkA= - - - -0c7mkvcdYnXZToRUScakcXFG8if7PQ5kCjJqbD0d5IM= - - - -ibnLSm8JGIo5UjVKQql8slRiGOWa82qiiJPJY5vuZek= - - - -GzPOUx1zzTz6bhIuf8r9d7oXy/sV1nRXWKZ5btoVRPI= - - - -0S9duKaLJFBEXDZpVNKiapv7jRHNZ2YIdzrdgZZ0n7Y= - - - -iz/7dxAP0L4yBmJMByeowbhIEpucBqcK5GJacKtuJmU= - - - -tDeQdJ+xC98GlCKTApleYaH9HyxPyDfHt0g1Oj6QKTs= - - - -A4lQ15pkmbb54FahN0njXRIA0nv95olfbX2zEUkMsRs= - - - -c1Y2E3rFnvxwGaqWVzrqdxdx7u1ciELljaOcbSK6Ofk= - - - -+swN5kVV1P54WCjD50HrJokTyorUIo7BczsE9rMBtxI= - - - -gu5LsFomEKn5zDthQ79Pq00l7lNTPwpWmfc8DGvCdNI= - - - -tXgXXEhmbLn0AxD/MWNw8mFAWBElGh2Pgmn4VjRiH6A= - - - -pPmkr267A8TmCbznNyz7ngQXBG3Kq8X9nBWvo05qrqY= - - - -qkjALrQWoRk39CZdSoOg77SZhs3g6TOzDPauojV3s8c= - - - -BMWnX1L36IlipJsskB76AAE3Ijq3k6O5W85syPDTGOw= - - - -MEr/xeDQBlrRY3KZUWHrrwGIqOjOzcLM6gxWX07M5bc= - - - -sat+2O/zZMlEIQ6HZyWIS3E2RFC/C3h82p0jkiSfXR8= - - - -py2C9x3kxqwOQD/w0XfVwCij7UykPjfJcNpPaYrL/4o= - - - -3w7W8u64bBfu03NiAdPUZuTxQ69DykBj8J1oW2DjYn8= - - - -Nvdus943mCM8IWbIseBnGtDKO33HqFtQfpKNQ5r5BXM= - - - -+niA3/OBbBtCIjmZG9tFcowLo32CnV44MnSnSCjrBqI= - - - -vGkr5Tlj9qSunxS9gO2KQm5IwxbxzD1bLW1qEzeWhsE= - - - -WpVjXKJ5C28pXq2nRFFpFozLB4yHuG14Hf66RJgdYvk= - - - -AHz+NWh8DdiZlhlpt6HWSP/V7OMPTsV58onsK+s7WuA= - - - -SrzqXXl2lHwQtmtQ+FlHLGmB2NTU71U894GWFMm4/PY= - - - -AZV+SSlvQXHMN6d/4YVNB5aUvPR0jFHo/SLHvm6oikA= - - - -zh1QJJAZQpSJn26UNJumB87DT42bj/CWyurMpHg9Ynw= - - - -zoYrYjZG8DrwCJMHHc5Adf7CqGKMHsSeKn5P+eUiXWs= - - - -68NceM+wgJTiDr9KLFNwKHEWokXmqZyYP8FcDu/I5XM= - - - -oXznH37kzPA8fB2mc0U1HA/LV3kZ4mslpvOdAaNfDRw= - - - -v7d3w1h5B+ZehwYWsVRELZY278R6rgDKPPeDA+Z+sOg= - - - -q2CHGLpi9nuAAPPYsYGXHxJ6V0hb32KbXj8EqxlIjaA= - - - -h1CtHiv/VcyqBeUTQoju4K289eyR+9iLbvCNyRboQCI= - - - -HgRJYnB3rCmV6MYT93LVG4dIrTdUaJMUXHJ+U7Cr99Y= - - - -T7TTKYVEXjmGWVruFXlPeGI0WvRtWiHdbVVz2Qgd5Jw= - - - -edmzo3YuUKbxOlrfAWaZMDGvRFG7lV50nQJvtB+7X1Q= - - - -RWxv0Ow+mBFyuonGadQio/KDxzoY5K53VLZtqOiU7rs= - - - -stpxGiwDfSseoI5lpKWEH1jaPbmH8pRpG4n1nsVau4Y= - - - -ECccZWVv5eiiVH8ukv3GAps1GjQf+FjAQbxJIqnxoX8= - - - -TqFfxXKPwFxR9GrOoBg21CK/3gucGfZfNEc2UBO4Bgk= - - - -y0MNvjYNAAkXjeb5RtRxHjK630n9flnXSL7Cgl+NtGA= - - - -pgTvV2t3cHsfRDHzgSqfIeFlgAb1IUx0U6WVxpPAxlU= - - - -cDWKpiXOL6/ed7abaGpzMy15NreKea3F/nA2qOTeWUQ= - - - -wlHFqnDo90H+cbQCSP3XJZbdwHd8jP/wQybabH0AMio= - - - -ZSDkTPRPOtRRTGPJfc17ajNRQ7L8KNq6PgywcU/NVrk= - - - -nsZDxMADpomu7OdG/bD/H0zvU549EdrX9C7NL4PYH+w= - - - -pYKJbx3F3gp+pYo+qfULyifxu7bQK4uZ9TPH+gStk2o= - - - -AFzXVJVlIdnLBTiWPsX5KoH4CwxY8nAvqU40HWePpbc= - - - -RHOh/MQmFdqEgQAjg4fCwfZH8NqIkQV7bUMy0Jo/qf4= - - - -RIZ1KIFfGF2e+0IkBlDIut/N5Y8JlVuOdHuEhVoNpV4= - - - -XbmoPGvpjZD09qMkipbn/N/GNg/T74qcAmfZ09aTVIM= - - - -oV3fIhDtXRMBjVuLETwBwYVDwiCHWvpDVpgtektLlM4= - - - -1d0oEZHqPn+QzNzGIHwj9ODby6x9ggFs9uOsav6jPNs= - - - -h4EjwXZOHtndaFT2qpZoLKMnGk4zNFA+q12iBS78pK4= - - - - - - -lpo8tUDs054eLlBQXiDPVDVKfw30ZZdtkRs1jd7H5K8= - - - -L3+ROfTa/630v48AAqEpYCbArvO764GkHhFtq/whERmMVO6JdxcNNZTSw+jrTHtzbujs9cc8peGd -ZZEfvbmlGoEheHNpcppw+93GdvA31Y234X6R6RSjxQ7mt8B0xBiJH28lMjpTwrOJD66EL6cujf42 -hAYIFDgsJ35hu6PmnW4= - - - - -MIICmzCCAYOgAwIBAgIGAT8T+Ms5MA0GCSqGSIb3DQEBBQUAMFYxGjAYBgNVBAoMEVRpemVuIEFz -c29jaWF0aW9uMRowGAYDVQQLDBFUaXplbiBBc3NvY2lhdGlvbjEcMBoGA1UEAwwTVGl6ZW4gRGV2 -ZWxvcGVycyBDQTAeFw0xMjExMDEwMDAwMDBaFw0xOTAxMDEwMDAwMDBaMBcxFTATBgNVBAMMDHRp -emVuX2F1dGhvcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAssi+tZOAmBSLiy8JTOk7gXrk -Nlg8Jq+O+4yd14a407BTbmp9r4qfNlUKLpYRL0TyU84XUWrLHHXe9aO2G223v/DUz3f182W5JWK0 -HvHt0vYcBycOBkXCc5y26funq7qhEgC9e1NNxIc1mFYD0jJiRNJgxIRCw33Ca/8qdGPY1K8CAwEA -AaMyMDAwDAYDVR0TAQH/BAIwADALBgNVHQ8EBAMCB4AwEwYDVR0lBAwwCgYIKwYBBQUHAwMwDQYJ -KoZIhvcNAQEFBQADggEBAJweqlVjN2GHF01jlE1HfZNFJ5Y7Ye+NagJnNdj6iVOPGP9J9PVOmllB -8S8pon1fUXPvrHFe8gNFg1klLMJaPbeDQM+UiPWn80A+8e4gJpHz+E9on2ZYkEBCZHOXSxxzaS7D -0bwj3eotbpY/duepn3U91fcLcnoehO3oe4pawrC6AObRjqY/Sh9I4j8btHFxRRVpsa7VkSg/5JB4 -2jfKlJ2otI8bYYuOiYeZC2ody9PsHzlqmqlo+J68RlxAemPMovRqGeK0XDqJEt7dJEzknQmp0732 -fhAZNyXVlukjdR8+3+f1J5vu4MEqT/7aLXLOwLN/qgUfCBA2YQ/YqMJvf9Y= - - -MIIDOTCCAiGgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMRowGAYDVQQKDBFUaXplbiBBc3NvY2lh -dGlvbjEaMBgGA1UECwwRVGl6ZW4gQXNzb2NpYXRpb24xHjAcBgNVBAMMFVRpemVuIERldmVsb3Bl -cnMgUm9vdDAeFw0xMjAxMDEwMDAwMDBaFw0yNzAxMDEwMDAwMDBaMFYxGjAYBgNVBAoMEVRpemVu -IEFzc29jaWF0aW9uMRowGAYDVQQLDBFUaXplbiBBc3NvY2lhdGlvbjEcMBoGA1UEAwwTVGl6ZW4g -RGV2ZWxvcGVycyBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANVGhRGmMIUyBA7o -PCz8Sxut6z6HNkF4oDIuzuKaMzRYPeWodwe9O0gmqAkToQHfwg2giRhE5GoPld0fq+OYMMwSasCu -g8dwODx1eDeSYVuOLWRxpAmbTXOsSFi6VoWeyaPEm18JBHvZBsU5YQtgZ6Kp7MqzvQg3pXOxtajj -vyHxiatJl+xXrHgcXC1wgyG3buty7u/Fi2mvKXJ0PRJcCjjK81dqe/Vr20sRUCrbk02zbm5ggFt/ -jIEhV8wbFRQpliobc7J4dSTKhFfrqGM8rdd54LYhD7gSI1CFSe16pUXfcVR7FhJztRaiGLnCrwBE -dyTZ248+D4L/qR/D0axb3jcCAwEAAaMQMA4wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOC -AQEAnOXXQ/1O/QTDHyrmQDtFziqPY3xWlJBqJtEqXiT7Y+Ljpe66e+Ee/OjQMlZe8gu21/8cKklH -95RxjopMWCVedXDUbWdvS2+CdyvVW/quT2E0tjqIzXDekUTYwwhlPWlGxvfj3VsxqSFq3p8Brl04 -1Gx5RKAGyKVsMfTLhbbwSWwApuBUxYfcNpKwLWGPXkysu+HctY03OKv4/xKBnVWiN8ex/Sgesi0M -+OBAOMdZMPK32uJBTeKFx1xZgTLIhk45V0hPOomPjZloiv0LSS11eyd451ufjW0iHRE7WlpR6EvI -W6TFyZgMpQq+kg4hWl2SBTf3s2VI8Ygz7gj8TMlClg== - - - - - \ No newline at end of file diff --git a/.sign/signature1.xml b/.sign/signature1.xml deleted file mode 100644 index 4546295..0000000 --- a/.sign/signature1.xml +++ /dev/null @@ -1,433 +0,0 @@ - - - - - - -4q3PBx0HUQUvwJI8vryFCEpk+uO2ZYtaCvetVRqA6kI= - - - -2bQyZdR+e7aZA2LJArWX+QjznWXcHXO2sjkckoKtWTE= - - - -WVuCE87r6Uhnl66QCW4dLyP14oUDuhlPnL255AipxA8= - - - -rOtWL2AxfqW96Wwkch+uDB+/3DNmFjzR6RWNaTn2HI0= - - - -ft6uFlFwFCuZim+9EGDAUXsYd3Chl5oN22kt9563Qoc= - - - -HfUJDyWtwwyrwWfg3GMNJVFdUhQgFV5uk8H6ZWTCh3Y= - - - -NemFZXEB7HdOyX7tqY73NgbdekXidPmVuYfLP1g1x0g= - - - -x1m1yASDqi3xtE37FecJxGmv9dgKTq2kg1hzKmnr+24= - - - -JHAfBFXpv7S+wXFHC+qN5E+aTgpaofr4ixMApxn0mp8= - - - -5mFrg7kh/41OXDQSoHPjuJ32IzminUUlsTH8m4Prs3U= - - - -Tjc7p5sS3R89AeuLrdipemku9hGhg02dyHu2eLoo4q4= - - - -dSDcDYHetB628r52JWmKTxom2tqL1FP4inJhWsSopcA= - - - -CYUtxYlsFmW9C54nDWSIbwr6kkR1BtgMHIJQgjk3RH4= - - - -RQ79phnrU52HqrCRonx0x23PuMwsO0H/+kGUJsS5xDY= - - - -c9v+iek1DlusuZNu12LvN73sUY/mSftiw5y29JXVUGw= - - - -6yc1tUF/pJkCMzQEj32/O+Yz7VV5LW82L0CY3bINmnA= - - - -hqnpwU7y0026fePoeHQUHiIsQkQkE6YMrEOLgWmi24s= - - - -FeY8xIiCwRls8AYZLRxOVUNJqWCB85HWNvWcSibOOhE= - - - -NaFgj2lXKUfBbZk4VmOeQamahPg7kXuwItRyeq8/bSY= - - - -nN+eVeUdDmM7ZmWzctRbHQ0iGchd9tW87QWttAgq33c= - - - -QZcF6UVugz5DGrb237UpVkRFAfW7nGwFVw1wktOnNM8= - - - -E0bg/oVwC1pn7GMC+aZdkXgJFEXghqC3BrLkLWgt9Ko= - - - -yXmN6gPaInzPqMnnvZy6EGtYkGEG9yxPC29xjSSOZnw= - - - -Rp80WWmWlHdOMKUD28T+RwUiyKpO0W+ITPmDk0qgLLo= - - - -87nZJ0uJhX3Kx2dv6BMUmHDw/4xagceKslZ7bML7hvo= - - - -y/oiTmwzPmU93wfx6D3bfCr5fKoc1IBSRmHvlpTEQtI= - - - -HCpFQAsWha3GigpGWrubNVXVShl0PT5o7LxsThAkhI0= - - - -5XLz72s6yi/KOjCLocZJ/WrWgwYlAlGxDvJO90k3JPM= - - - -rJzE+OVrzZm9HJFzeBi1+8FPano9ukrWB10nQV82m1o= - - - -Y9zRuA/OXInxUgtMSp1QJqrh999tKjpCQ7YPsMcF8Kk= - - - -0gUX7G8t9qf8/bUeaHc1qp9EXAT934YJ9dYS1wupGI4= - - - -noOZYNOHHOiWJijd4qawld1rsQZ12oYwz7PsgZybiZ8= - - - -zsCUAlXZcgZpTpvNM8pwzCCvzQxDtltJf7V6YA0DT4I= - - - -z5iytDrt/KDlOXhLpUdQYzzujZE6edmRR6lasSQewHw= - - - -IHPVIyyHM+Xr16lKSzHDDHqflN4mg4RLjaEKhSe4w7s= - - - -APqmJrt2ZwFNUC2PENUcmJ5cItcb+xkHI1KbVut6IsA= - - - -NpjsIH4S1p/IhdqXCsHoNKNILPtXfeAfzacXL+giMA4= - - - -gv8sVrOYti1vU2kcRO8xmD0KF8U1BsQ8xbXXCea5HDQ= - - - -7SZnhNb1SQmaKs2YuWz9x8wxiG04DRVpr+ZqzMncM8s= - - - -buZftpza+NBOtEcuDVxbYeMZ/zDK0wFhnvpzpV02zu4= - - - -jT49M8iXi1RBYngrDVZGYqunMNnGE2W9RCnqcJIU1WM= - - - -HM+yEA7kUCEMRryHHz8v/ZQq645n2iarGYmWJK+MjkA= - - - -0c7mkvcdYnXZToRUScakcXFG8if7PQ5kCjJqbD0d5IM= - - - -ibnLSm8JGIo5UjVKQql8slRiGOWa82qiiJPJY5vuZek= - - - -GzPOUx1zzTz6bhIuf8r9d7oXy/sV1nRXWKZ5btoVRPI= - - - -0S9duKaLJFBEXDZpVNKiapv7jRHNZ2YIdzrdgZZ0n7Y= - - - -iz/7dxAP0L4yBmJMByeowbhIEpucBqcK5GJacKtuJmU= - - - -tDeQdJ+xC98GlCKTApleYaH9HyxPyDfHt0g1Oj6QKTs= - - - -A4lQ15pkmbb54FahN0njXRIA0nv95olfbX2zEUkMsRs= - - - -c1Y2E3rFnvxwGaqWVzrqdxdx7u1ciELljaOcbSK6Ofk= - - - -+swN5kVV1P54WCjD50HrJokTyorUIo7BczsE9rMBtxI= - - - -gu5LsFomEKn5zDthQ79Pq00l7lNTPwpWmfc8DGvCdNI= - - - -tXgXXEhmbLn0AxD/MWNw8mFAWBElGh2Pgmn4VjRiH6A= - - - -pPmkr267A8TmCbznNyz7ngQXBG3Kq8X9nBWvo05qrqY= - - - -qkjALrQWoRk39CZdSoOg77SZhs3g6TOzDPauojV3s8c= - - - -BMWnX1L36IlipJsskB76AAE3Ijq3k6O5W85syPDTGOw= - - - -MEr/xeDQBlrRY3KZUWHrrwGIqOjOzcLM6gxWX07M5bc= - - - -sat+2O/zZMlEIQ6HZyWIS3E2RFC/C3h82p0jkiSfXR8= - - - -py2C9x3kxqwOQD/w0XfVwCij7UykPjfJcNpPaYrL/4o= - - - -3w7W8u64bBfu03NiAdPUZuTxQ69DykBj8J1oW2DjYn8= - - - -Nvdus943mCM8IWbIseBnGtDKO33HqFtQfpKNQ5r5BXM= - - - -+niA3/OBbBtCIjmZG9tFcowLo32CnV44MnSnSCjrBqI= - - - -vGkr5Tlj9qSunxS9gO2KQm5IwxbxzD1bLW1qEzeWhsE= - - - -WpVjXKJ5C28pXq2nRFFpFozLB4yHuG14Hf66RJgdYvk= - - - -AHz+NWh8DdiZlhlpt6HWSP/V7OMPTsV58onsK+s7WuA= - - - -SrzqXXl2lHwQtmtQ+FlHLGmB2NTU71U894GWFMm4/PY= - - - -AZV+SSlvQXHMN6d/4YVNB5aUvPR0jFHo/SLHvm6oikA= - - - -zh1QJJAZQpSJn26UNJumB87DT42bj/CWyurMpHg9Ynw= - - - -zoYrYjZG8DrwCJMHHc5Adf7CqGKMHsSeKn5P+eUiXWs= - - - -68NceM+wgJTiDr9KLFNwKHEWokXmqZyYP8FcDu/I5XM= - - - -oXznH37kzPA8fB2mc0U1HA/LV3kZ4mslpvOdAaNfDRw= - - - -v7d3w1h5B+ZehwYWsVRELZY278R6rgDKPPeDA+Z+sOg= - - - -q2CHGLpi9nuAAPPYsYGXHxJ6V0hb32KbXj8EqxlIjaA= - - - -h1CtHiv/VcyqBeUTQoju4K289eyR+9iLbvCNyRboQCI= - - - -HgRJYnB3rCmV6MYT93LVG4dIrTdUaJMUXHJ+U7Cr99Y= - - - -T7TTKYVEXjmGWVruFXlPeGI0WvRtWiHdbVVz2Qgd5Jw= - - - -edmzo3YuUKbxOlrfAWaZMDGvRFG7lV50nQJvtB+7X1Q= - - - -RWxv0Ow+mBFyuonGadQio/KDxzoY5K53VLZtqOiU7rs= - - - -stpxGiwDfSseoI5lpKWEH1jaPbmH8pRpG4n1nsVau4Y= - - - -ECccZWVv5eiiVH8ukv3GAps1GjQf+FjAQbxJIqnxoX8= - - - -TqFfxXKPwFxR9GrOoBg21CK/3gucGfZfNEc2UBO4Bgk= - - - -y0MNvjYNAAkXjeb5RtRxHjK630n9flnXSL7Cgl+NtGA= - - - -pgTvV2t3cHsfRDHzgSqfIeFlgAb1IUx0U6WVxpPAxlU= - - - -cDWKpiXOL6/ed7abaGpzMy15NreKea3F/nA2qOTeWUQ= - - - -wlHFqnDo90H+cbQCSP3XJZbdwHd8jP/wQybabH0AMio= - - - -ZSDkTPRPOtRRTGPJfc17ajNRQ7L8KNq6PgywcU/NVrk= - - - -nsZDxMADpomu7OdG/bD/H0zvU549EdrX9C7NL4PYH+w= - - - -pYKJbx3F3gp+pYo+qfULyifxu7bQK4uZ9TPH+gStk2o= - - - -AFzXVJVlIdnLBTiWPsX5KoH4CwxY8nAvqU40HWePpbc= - - - -RHOh/MQmFdqEgQAjg4fCwfZH8NqIkQV7bUMy0Jo/qf4= - - - -RIZ1KIFfGF2e+0IkBlDIut/N5Y8JlVuOdHuEhVoNpV4= - - - -XbmoPGvpjZD09qMkipbn/N/GNg/T74qcAmfZ09aTVIM= - - - -oV3fIhDtXRMBjVuLETwBwYVDwiCHWvpDVpgtektLlM4= - - - -1d0oEZHqPn+QzNzGIHwj9ODby6x9ggFs9uOsav6jPNs= - - - -h4EjwXZOHtndaFT2qpZoLKMnGk4zNFA+q12iBS78pK4= - - - - - - -u/jU3U4Zm5ihTMSjKGlGYbWzDfRkGphPPHx3gJIYEJ4= - - - -pnRU+eZVsqYLIkU6nOntCBZXBKn+Z7OZ9AUS3g0Truj6SQIjKwqihYlTZ0uhBJd+3ONv0h4V11mU -GPcm9SNCSWa0ASFhmNm2fSQIBShDt8RvUmrM6iD01eyCXfZLRZml7QfwmgjZwBIXn/5avE1aN3jF -4pxjhuVMUyBYXRbyC8o= - - - - -MIICtzCCAiACCQCX7BAlwjllkTANBgkqhkiG9w0BAQUFADCBnTELMAkGA1UEBhMCS1IxDjAMBgNV -BAgMBVN1d29uMQ4wDAYDVQQHDAVTdXdvbjEWMBQGA1UECgwNVGl6ZW4gVGVzdCBDQTEiMCAGA1UE -CwwZVGl6ZW4gRGlzdHJpYnV0b3IgVGVzdCBDQTEyMDAGA1UEAwwpVGl6ZW4gUGFydG5lci1NYW51 -ZmFjdHVyZXIgRGlzdHJpYnV0b3IgQ0EwHhcNMTIxMjEzMDU0NDI3WhcNMjIxMjExMDU0NDI3WjCB -oTELMAkGA1UEBhMCS1IxDjAMBgNVBAgMBVN1d29uMQ4wDAYDVQQHDAVTdXdvbjEWMBQGA1UECgwN -VGl6ZW4gVGVzdCBDQTEiMCAGA1UECwwZVGl6ZW4gRGlzdHJpYnV0b3IgVGVzdCBDQTE2MDQGA1UE -AwwtVGl6ZW4gUGFydG5lci1NYW51ZmFjdHVyZXIgRGlzdHJpYnV0b3IgU2lnbmVyMIGfMA0GCSqG -SIb3DQEBAQUAA4GNADCBiQKBgQC2O0i2ou9Pa8KI+RVu6/1QAMichy8YqDtpM4cogiX+tYfafN/v -4l7q9sQdotaFPLWPR1HNtG6O6SKWZmM/Hp2U+S3vDeylEhex/IopWF9RZMPJFyKr9bJnlzTqiZuz -qItlXOZZBHhUL73v6OxqYg2BsA88jLtCoZWVAkoKDX93ZQIDAQABMA0GCSqGSIb3DQEBBQUAA4GB -AJ5vn+dEhnZFuRdIMUt8TwQzXSxPMqNmR8+fcwwzAacxeOTgeK1C+DqE31vead/c8CVDMurZHQbs -qH/Ala6FomTm1q0uuM3Ll2qZaPkI3qr+h37YD4AI5scyIlP7ppApcdPRSkDgqfXkika62Q9M0+MN -nxl8+AvEukgC6qcd90oL - - -MIICzzCCAjigAwIBAgIJAMNp1nbwir4GMA0GCSqGSIb3DQEBBQUAMIGiMQswCQYDVQQGEwJLUjEO -MAwGA1UECAwFU3V3b24xDjAMBgNVBAcMBVN1d29uMRYwFAYDVQQKDA1UaXplbiBUZXN0IENBMSIw -IAYDVQQLDBlUaXplbiBEaXN0cmlidXRvciBUZXN0IENBMTcwNQYDVQQDDC5UaXplbiBQYXJ0bmVy -LU1hbnVmYWN0dXJlciBEaXN0cmlidXRvciBSb290IENBMB4XDTEyMTIxMzA1NDQyMFoXDTIyMTIx -MTA1NDQyMFowgZ0xCzAJBgNVBAYTAktSMQ4wDAYDVQQIDAVTdXdvbjEOMAwGA1UEBwwFU3V3b24x -FjAUBgNVBAoMDVRpemVuIFRlc3QgQ0ExIjAgBgNVBAsMGVRpemVuIERpc3RyaWJ1dG9yIFRlc3Qg -Q0ExMjAwBgNVBAMMKVRpemVuIFBhcnRuZXItTWFudWZhY3R1cmVyIERpc3RyaWJ1dG9yIENBMIGf -MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMni4Qmv96ww/De92kYhtzpas7viwyYoFTTuvcmayD -FBuDoaHqrSDsrb9M7qrR4N9higg1mT8a9J8CUhPLKhlifK9OwyQsZS+8xVfPfogIJ3wumfjLl5zi -nqpkSe2ernxOTU+PB5lWU8toKbnJO3+jchm14DjCQ4ZoqG26qbG5pQIDAQABoxAwDjAMBgNVHRME -BTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBAA9lsDyArDR9balTfqrjN241nVqyLqPOP+MFRjGWrIlI -yLDcw2/L9hxguD8XhgAanaQUzS06XM6BajDjcSiJrohjoMFkB09M+r5fVkrhkT29oABsKXO87+p8 -JbbbIfdwMUrAjXsrjMUzJ3J6fn86/dn/PcuMAkCgrD069IzpE8NM - - - - - \ No newline at end of file diff --git a/src/add_widget_viewer/add_widget_viewer.c b/src/add_widget_viewer/add_widget_viewer.c index 029a1ff..bd2acc8 100755 --- a/src/add_widget_viewer/add_widget_viewer.c +++ b/src/add_widget_viewer/add_widget_viewer.c @@ -476,8 +476,6 @@ static Evas_Object *__add_widget_viewer_list_widget_box_create(Evas_Object *obj, static Evas_Object *__add_widget_viewer_list_widget_preview_box_create(Evas_Object *main_box, add_widget_data_t *widget, add_widget_data_preview_t *preview) { - LOGD("Create preview: type->%d path->%s", preview->type, preview->path); - Evas_Object *preview_layout = NULL; Evas_Object *preview_img = NULL; int w = 0, h = 0; @@ -488,6 +486,8 @@ static Evas_Object *__add_widget_viewer_list_widget_preview_box_create(Evas_Obje return NULL; } + LOGD("Create preview: type->%d path->%s", preview->type, preview->path); + preview_layout = elm_layout_add(main_box); if (!preview_layout) { LOGE("Can not create preview layout"); @@ -537,6 +537,8 @@ static Evas_Object *__add_widget_viewer_list_widget_preview_box_create(Evas_Obje if (!preview_img) { LOGE("Can not create image object"); evas_object_del(preview_layout); + if (preview_type) + free(preview_type); return NULL; } @@ -560,7 +562,7 @@ static void __add_widget_viewer_preview_clicked_cb(void *data, Evas_Object *obj, int *size = NULL; size = evas_object_data_del(obj, "preview_type"); - if (*size == WIDGET_SIZE_TYPE_UNKNOWN) { + if (!size || *size == WIDGET_SIZE_TYPE_UNKNOWN) { LOGE("Can not get widgets size type"); return; } diff --git a/src/apps_package_manager.c b/src/apps_package_manager.c index 05b822c..7d8dc7a 100755 --- a/src/apps_package_manager.c +++ b/src/apps_package_manager.c @@ -102,6 +102,11 @@ static bool __apps_data_pkg_get_apps_info(app_info_h app_handle, app_data_t **it package_info_h p_handle = NULL; app_data_t *new_item = (app_data_t *)malloc(sizeof(app_data_t)); + if (!new_item) { + LOGE("memory allocation is failed!!!"); + return false; + } + memset(new_item, 0, sizeof(app_data_t)); *item = new_item; @@ -165,7 +170,7 @@ static bool __apps_data_pkg_get_apps_info(app_info_h app_handle, app_data_t **it if (new_item->icon_path_str) free(new_item->icon_path_str); new_item->icon_path_str = malloc(MAX_FILE_PATH_LEN); - sprintf(new_item->icon_path_str, "%s", util_get_res_file_path(IMAGE_DIR"/default_app_icon.png")); + snprintf(new_item->icon_path_str, MAX_FILE_PATH_LEN, "%s", util_get_res_file_path(IMAGE_DIR"/default_app_icon.png")); } return true; diff --git a/src/apps_view.c b/src/apps_view.c index 5b590b8..f80e6be 100755 --- a/src/apps_view.c +++ b/src/apps_view.c @@ -209,6 +209,7 @@ void apps_view_show_anim(double pos) edje_object_message_send(edje, EDJE_MESSAGE_FLOAT_SET, 1, msg); edje_object_signal_emit(edje, SIGNAL_APPS_VIEW_ANIM, SIGNAL_SOURCE); + free(msg); evas_object_color_set(apps_view_s.box, 255, 255, 255, pos*255); evas_object_move(apps_view_s.scroller, 0, APPS_VIEW_PADDING_TOP + (APPS_VIEW_ANIMATION_DELTA * (1-pos))); @@ -236,6 +237,7 @@ void apps_view_hide_anim(double pos) edje_object_message_send(edje, EDJE_MESSAGE_FLOAT_SET, 1, msg); edje_object_signal_emit(edje, SIGNAL_APPS_VIEW_ANIM, SIGNAL_SOURCE); + free(msg); evas_object_color_set(apps_view_s.box, 255, 255, 255, (1-pos)*255); evas_object_move(apps_view_s.scroller, 0, APPS_VIEW_PADDING_TOP + (APPS_VIEW_ANIMATION_DELTA * pos)); @@ -459,7 +461,7 @@ void apps_view_icon_unset(app_data_t *item) row = (item->position / APPS_FOLDER_COL) % APPS_FOLDER_ROW; col = item->position % APPS_FOLDER_COL; - sprintf(icon_container, "icon_%d_%d", col, row); + snprintf(icon_container, sizeof(icon_container), "icon_%d_%d", col, row); if (elm_object_part_content_get(apps_view_s.folder_popup_ly, icon_container) != NULL) { elm_object_part_content_unset(apps_view_s.folder_popup_ly, icon_container); } @@ -503,7 +505,7 @@ bool apps_view_icon_set(app_data_t *item) row = (item->position / APPS_VIEW_COL) % APPS_FOLDER_ROW; col = item->position % APPS_FOLDER_COL; - sprintf(icon_container, "icon_%d_%d", col, row); + snprintf(icon_container, sizeof(icon_container), "icon_%d_%d", col, row); if (elm_object_part_content_get(apps_view_s.folder_popup_ly, icon_container) != NULL) { LOGE("unset %p", elm_object_part_content_get(apps_view_s.folder_popup_ly, icon_container)); elm_object_part_content_unset(apps_view_s.folder_popup_ly, icon_container); @@ -744,6 +746,7 @@ static void __apps_view_icon_uninstall_btn_clicked_cb(void *data, Evas_Object *o if (!item) { LOGE("item is NULL"); + return; } LOGD("Uninstall :: %s", item->app_id); @@ -851,7 +854,7 @@ static void __apps_view_icon_check_changed_cb(void *data, Evas_Object *obj, cons if (apps_view_s.selected_item_count + item_count >= APPS_FOLDER_MAX_ITEM) { LOGD("checked item : %d > HOME_FOLDER_MAX_ITEM(9)", item_count); char str[1024]; - sprintf(str, _("IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"), APPS_FOLDER_MAX_ITEM); + snprintf(str, sizeof(str), _("IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"), APPS_FOLDER_MAX_ITEM); toast_show(str); } else { LOGD("%s - check", item->label_str); @@ -1052,7 +1055,7 @@ void apps_view_update_folder_icon(app_data_t* item) i < 4 && find_list; i++, find_list = eina_list_next(find_list), temp_item = eina_list_data_get(find_list)) { LOGD("%s", temp_item->label_str); - sprintf(folder_item_count_string, "icon_%d", i); + snprintf(folder_item_count_string, sizeof(folder_item_count_string), "icon_%d", i); LOGD("%s", folder_item_count_string); icon_image = elm_image_add(item->folder_layout); elm_image_file_set(icon_image, temp_item->icon_path_str, NULL); @@ -1060,7 +1063,7 @@ void apps_view_update_folder_icon(app_data_t* item) elm_object_part_content_set(item->folder_layout, folder_item_count_string, icon_image); evas_object_show(icon_image); } - sprintf(folder_item_count_string, "set_item_count_%d", item_count > 4 ? 4 : item_count); + snprintf(folder_item_count_string, sizeof(folder_item_count_string), "set_item_count_%d", item_count > 4 ? 4 : item_count); LOGD("%s", folder_item_count_string); elm_object_signal_emit(item->folder_layout, folder_item_count_string, SIGNAL_SOURCE); evas_object_show(item->folder_layout); @@ -1269,17 +1272,17 @@ static void __apps_view_update_chooser_text(int item_count) { char text1[STR_MAX], text2[STR_MAX]; if (apps_view_s.selected_item_count + item_count > 0) { - sprintf(text1, _("IDS_MEMO_HEADER_PD_SELECTED_ABB2"), apps_view_s.selected_item_count + item_count); + snprintf(text1, sizeof(text1), _("IDS_MEMO_HEADER_PD_SELECTED_ABB2"), apps_view_s.selected_item_count + item_count); } else - sprintf(text1, ""); + snprintf(text1, sizeof(text1), ""); - sprintf(text2, APPS_VIEW_CHOOSER_TEXT, (int)APPS_VIEW_CHOOSER_TEXT_SIZE, text1); + snprintf(text2, sizeof(text2), APPS_VIEW_CHOOSER_TEXT, (int)APPS_VIEW_CHOOSER_TEXT_SIZE, text1); elm_object_part_text_set(apps_view_s.chooser_btn, APPS_CHOOSER_MIDDLE_LABEL, text2); - sprintf(text2, APPS_VIEW_CHOOSER_TEXT, (int)APPS_VIEW_CHOOSER_BUTTON_TEXT_SIZE, _("IDS_TPLATFORM_ACBUTTON_CANCEL_ABB")); + snprintf(text2, sizeof(text2), APPS_VIEW_CHOOSER_TEXT, (int)APPS_VIEW_CHOOSER_BUTTON_TEXT_SIZE, _("IDS_TPLATFORM_ACBUTTON_CANCEL_ABB")); elm_object_part_text_set(apps_view_s.chooser_btn, APPS_CHOOSER_LEFT_LABEL, text2); - sprintf(text2, APPS_VIEW_CHOOSER_TEXT, (int)APPS_VIEW_CHOOSER_BUTTON_TEXT_SIZE, _("IDS_TPLATFORM_ACBUTTON_DONE_ABB")); + snprintf(text2, sizeof(text2), APPS_VIEW_CHOOSER_TEXT, (int)APPS_VIEW_CHOOSER_BUTTON_TEXT_SIZE, _("IDS_TPLATFORM_ACBUTTON_DONE_ABB")); elm_object_part_text_set(apps_view_s.chooser_btn, APPS_CHOOSER_RIGHT_LABEL, text2); } @@ -1342,9 +1345,9 @@ static void __apps_view_badge_update_icon(app_data_t *item) } if (item->badge_count > MAX_BADGE_DISPLAY_COUNT) { - sprintf(number_str, "%d+", MAX_BADGE_DISPLAY_COUNT); + snprintf(number_str, sizeof(number_str), "%d+", MAX_BADGE_DISPLAY_COUNT); } else { - sprintf(number_str, "%d", item->badge_count); + snprintf(number_str, sizeof(number_str), "%d", item->badge_count); } elm_layout_text_set(item->app_layout, APPS_ICON_BADGE_TEXT, number_str); elm_object_signal_emit(item->app_layout, SIGNAL_BADGE_SHOW, SIGNAL_SOURCE); @@ -1680,7 +1683,7 @@ static void __apps_view_edit_drop_icon(void *data) folder_item_count = eina_list_count(folder_list); if (folder_item_count >= APPS_FOLDER_MAX_ITEM) { char str[1024]; - sprintf(str, _("IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"), APPS_FOLDER_MAX_ITEM); + snprintf(str, sizeof(str), _("IDS_HS_TPOP_MAXIMUM_NUMBER_OF_APPLICATIONS_IN_FOLDER_HPD_REACHED"), APPS_FOLDER_MAX_ITEM); toast_show(str); } else { item->parent_db_id = apps_view_s.candidate_folder->db_id; diff --git a/src/cluster_data.c b/src/cluster_data.c index 3d23438..09eadaf 100755 --- a/src/cluster_data.c +++ b/src/cluster_data.c @@ -125,6 +125,7 @@ static void __cluster_data_insert_default_data(void) new_item->allow_duplicate = 1; cluster_db_insert(new_item); + __cluster_data_item_free(new_item); /* new_item = (widget_data_t *)malloc(sizeof(widget_data_t)); memset(new_item, 0, sizeof(widget_data_t)); diff --git a/src/widget_viewer.c b/src/widget_viewer.c index ec65a5a..bec1d62 100755 --- a/src/widget_viewer.c +++ b/src/widget_viewer.c @@ -73,7 +73,7 @@ Evas_Object *widget_viewer_add_widget(Evas_Object *parent, widget_data_t *item, evas_object_show(widget); */ char number[1000]; - sprintf(number, "%s_%d", item->pkg_name, count++); + snprintf(number, sizeof(number), "%s_%d", item->pkg_name, count++); Evas_Object *widget = elm_label_add(evas_object_evas_get(widget_layout)); elm_object_style_set(widget, "popup/default"); evas_object_size_hint_weight_set(widget, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); -- 2.7.4 From bea4795f0348cf4b97c36c5497a1ea6b40ba2b84 Mon Sep 17 00:00:00 2001 From: YoungHun Cho Date: Wed, 8 Jun 2016 17:41:22 +0900 Subject: [PATCH 13/16] bug fix (folder icon position) Change-Id: I8fd3d9142579747ce8ae1255714240ed4cfe7290 Signed-off-by: YoungHun Cho --- src/apps_view.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/apps_view.c b/src/apps_view.c index f80e6be..636cfcc 100755 --- a/src/apps_view.c +++ b/src/apps_view.c @@ -502,7 +502,7 @@ bool apps_view_icon_set(app_data_t *item) LOGD("[%s] -> [%s], [%p] page : %d", item->app_id, icon_container, item->app_layout, page_index); return true; } else if (apps_view_s.opened_folder && item->parent_db_id == apps_view_s.opened_folder->db_id) { - row = (item->position / APPS_VIEW_COL) % APPS_FOLDER_ROW; + row = (item->position / APPS_FOLDER_COL) % APPS_FOLDER_ROW; col = item->position % APPS_FOLDER_COL; snprintf(icon_container, sizeof(icon_container), "icon_%d_%d", col, row); -- 2.7.4 From 4792e6a839b40b60b5838de81040a2a2a3f396e9 Mon Sep 17 00:00:00 2001 From: "juhee,park" Date: Thu, 9 Jun 2016 09:55:27 +0900 Subject: [PATCH 14/16] change BG size of apps view Signed-off-by: juhee,park Change-Id: I3cca16ab15cabb1227503586b104ac6d394fc3ec --- res/edje/apps_view.edc | 32 +------------------------------- res/edje/apps_view_bg.edc | 2 +- 2 files changed, 2 insertions(+), 32 deletions(-) diff --git a/res/edje/apps_view.edc b/res/edje/apps_view.edc index 8eab85b..b5fbf22 100755 --- a/res/edje/apps_view.edc +++ b/res/edje/apps_view.edc @@ -16,36 +16,6 @@ #include "../../inc/edc_conf.h" -#define MAKE_TILE(num_x,num_y)\ - part{ name: "icon_"num_x"_"num_y;\ - type : SWALLOW;\ - description {\ - state : "default" 0.0;\ - fixed : 1 1;\ - rel1 {\ - relative :num_y/APPS_VIEW_COL num_x/APPS_VIEW_ROW ;\ - to: SIZE_SETTER;\ - }\ - rel2 {\ - relative :(num_y+1)/APPS_VIEW_COL (num_x+1)/APPS_VIEW_ROW ;\ - to: SIZE_SETTER;\ - }\ - align: 0.0 0.0;\ - }\ - description {\ - state: "edit" 0.0;\ - inherit: "default" 0.0;\ - rel1 {\ - relative :0.04+(num_y/APPS_VIEW_COL)*0.9 0.05+(num_x/APPS_VIEW_ROW)*0.9 ;\ - to: SIZE_SETTER;\ - }\ - rel2 {\ - relative :0.04+((num_y+1)/APPS_VIEW_COL)*0.9 0.05+((num_x+1)/APPS_VIEW_ROW)*0.09 ;\ - to: SIZE_SETTER;\ - };\ - }\ - } - collections { images { } @@ -77,7 +47,7 @@ collections { description { state: "edit_done" 0.0; inherit: "default" 0.0; - rel1 {relative :0.05 0.05; to: SIZE_SETTER;} + rel1 {relative :0.05 0.03; to: SIZE_SETTER;} rel2 {relative :0.95 0.95; to: SIZE_SETTER;} color: 0 0 0 APPS_VIEW_BG_OPACITY; visible: 1; diff --git a/res/edje/apps_view_bg.edc b/res/edje/apps_view_bg.edc index 1bed222..d2b1a38 100755 --- a/res/edje/apps_view_bg.edc +++ b/res/edje/apps_view_bg.edc @@ -58,7 +58,7 @@ collections { state: "edit" 0.0; inherit: "default" 0.0; visible: 1; - rel1 {relative: 0.052 0.1; to:SIZE_SETTER;} + rel1 {relative: 0.052 0.08; to:SIZE_SETTER;} rel2 {relative: 0.95 0.845; to:SIZE_SETTER;} } description { -- 2.7.4 From 5e2d518f644c740cb97ca427ad77b712c176934e Mon Sep 17 00:00:00 2001 From: YoungHun Cho Date: Mon, 13 Jun 2016 14:48:56 +0900 Subject: [PATCH 15/16] Modification of Widget scale animation Change-Id: I3d5220c785b1851a223625d5431326d28d26df65 Signed-off-by: YoungHun Cho --- Build/basedef.mk | 20 +++- Build/build_c.mk | 110 ++++++++++++++++++ Build/build_edc.mk | 81 +++++++++++++ Build/build_po.mk | 64 +++++++++++ Build/funcs.mk | 50 ++++++++ Build/makefile | 283 ++++------------------------------------------ Build/makefile.mk | 191 +++++++++++++++++++++++++++++++ Build/tooldef.mk | 15 +++ build_def.prop | 6 + inc/cluster_data.h | 1 + inc/cluster_view.h | 2 + inc/edc_conf.h | 3 + inc/widget_viewer.h | 6 +- res/edje/cluster_page.edc | 10 ++ res/edje/widget.edc | 9 ++ src/cluster_page.c | 41 ++++++- src/cluster_view.c | 52 ++++++--- src/widget_viewer.c | 56 +++++++-- 18 files changed, 701 insertions(+), 299 deletions(-) create mode 100644 Build/build_c.mk create mode 100644 Build/build_edc.mk create mode 100644 Build/build_po.mk create mode 100644 Build/funcs.mk create mode 100644 Build/makefile.mk create mode 100644 build_def.prop diff --git a/Build/basedef.mk b/Build/basedef.mk index 7cacafc..8812624 100755 --- a/Build/basedef.mk +++ b/Build/basedef.mk @@ -2,13 +2,23 @@ C_DEPS += -SYSROOT := $(SBI_SYSROOT) +USES_EFL = yes +USES_USR_INC = yes -ROOTSTRAP_INCS := $(addprefix -I $(SYSROOT)/,$(PLATFORM_INCS_EX)) -EFL_INCS := +SYSROOT = $(SBI_SYSROOT) + +USR_INCS := $(addprefix -I $(SYSROOT),$(PLATFORM_INCS_EX)) +EFL_INCS = + +ifeq ($(strip $(PLATFORM_LIB_PATHS)),) +RS_LIB_PATHS := "$(SYSROOT)/usr/lib" +else +RS_LIB_PATHS := $(addprefix -L$(SYSROOT),$(PLATFORM_LIB_PATHS)) +endif RS_LIBRARIES := $(addprefix -l,$(RS_LIBRARIES_EX)) -PLATFORM_INCS := $(ROOTSTRAP_INCS) $(EFL_INCS) \ - -I"$(SDK_PATH)/library" +PLATFORM_INCS = $(USR_INCS) $(EFL_INCS) \ + -I"$(SDK_PATH)/library" +OS_NAME := $(shell $(UNAME)) diff --git a/Build/build_c.mk b/Build/build_c.mk new file mode 100644 index 0000000..81940cd --- /dev/null +++ b/Build/build_c.mk @@ -0,0 +1,110 @@ +# C/C++ build script + + +_FUNC_EXT2O = $(patsubst %.$(3),$(1)/%.o,$(2)) +_FUNC_C2O = $(call _FUNC_EXT2O,$(1),$(2),c) +_FUNC_CPP2O = $(call _FUNC_EXT2O,$(1),$(2),cpp) + + +# parameter : +# $(1) - C/C++ soruce file +# $(2) - output path +# $(3) - .ext +CONVERT_ESC_EXT_TO_O = $(addprefix $(2)/,$(call CONVERT_4MAKE_TO_OUT,$(patsubst %.$(3),%.o,$(1)))) + +CONVERT_ESC_C_TO_O = $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),c) +CONVERT_ESC_CPP_TO_O = $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),cpp) + + +# parameter : +# $(1) - encoded one C/C++ soruce file +# $(2) - output path +# $(3) - ext title (C/C++) +# $(4) - ext (c/cpp) +# $(5) - compiler ($(CC)/$(CXX)) +# $(6) - build opt +# $(7) - build opt file +# output : +# $(8) - output files list +define C_BUILD_PROC_RAW +$(call CONVERT_ESC_EXT_TO_O,$(1),$(2),$(4)) : $(call DECODE_4MAKE,$(1)) $(7) + @echo ' Building file: $$<' + @echo ' Invoking: $(3) Compiler' + $$(call MAKEDIRS,$$(@D)) + $(5) -c "$$<" -o "$$@" $(6) @$(7) + @echo ' Finished building: $$<' +$(8) += $(call CONVERT_ESC_EXT_TO_O,$(1),$(2),$(4)) +endef + + +# parameter : +# $(1) - output paths +# $(2) - src paths +# $(3) - inc paths +# $(4) - inc files +# $(5) - Defs +# $(6) - UnDefs +# $(7) - compiler opt +# $(8) - compiler opt file +# $(9) - ext title (C/C++) +# $(10) - ext (c/cpp) +# $(11) - compiler ($(CC)/$(CXX)) +# output : +# $(12) - OBJS +# return : +# none +define C_PROC_RAW + +_OUTPUT_DIR := $$(strip $(1))# +_SRCS := $(2)# +_INCS := $(3)# +_INC_FILES := $(4)# +_DEFS := $(5)# +_UNDEFS := $(6)# + +_OPT := $(7) +_OPT_FILE := $(8) + +_EXT_TITLE := $(9) +_EXT := $(10) +_COMPILER := $(11) + +#_OUTPUT_FILES := $(12) + +_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS)) +_ENC_SRCS := $$(filter %.$$(_EXT),$$(_ENC_SRCS)) + +ifneq ($$(strip $$(_SRCS)),) + +_NORMAL_SRCS := $$(filter-out %*.$$(_EXT),$$(_ENC_SRCS)) +_WIDLCARD_SRCS := $$(filter %*.$$(_EXT),$$(_ENC_SRCS)) + +_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \ + $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var)))) + +ifneq ($$(strip $$(_ALL_SRCS)),) + +_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS)) + +_CDEFS := $$(CDEFS) +_CDEFS += $$(addprefix -D,$$(_DEFS)) +_CDEFS += $$(addprefix -U,$$(_UNDEFS)) + +_ENC_C_INCS := $$(call ENCODE_4MAKE,$$(_INCS)) +_ENC_C_INCS := $$(addprefix -I,$$(_ENC_C_INCS)) + +_ENC_INC_FILES := $$(call ENCODE_4MAKE,$$(_INC_FILES)) +_ENC_INC_FILES += $$(addprefix -include,$$(_ENC_INC_FILES)) + +_C_INCS := $$(call DECODE_4MAKE,$$(_ENC_C_INCS) $$(_ENC_C_INC_FILES)) + +_DEFS := $$(_CDEFS) $$(_C_INCS) -I"pch" $$(_OPT) + +$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call C_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_EXT_TITLE),$$(_EXT),$$(_COMPILER),$$(_DEFS),$$(_OPT_FILE),$(12)))) + +endif # (_(strip _(_ALL_SRCS)),) + +endif # (_(strip _(_SRCS)),) + + +endef diff --git a/Build/build_edc.mk b/Build/build_edc.mk new file mode 100644 index 0000000..38e5598 --- /dev/null +++ b/Build/build_edc.mk @@ -0,0 +1,81 @@ +# EDC build script + + +FUNC_EDC2EDJ = $(patsubst %.edc,$(2)/%.edj,$(1)) + +# parameter : +# $(1) - C/C++ soruce file +# $(2) - output path +CONVERT_ESC_EDC_TO_EDJ = $(call CONVERT_4MAKE_TO_OUT,$(call FUNC_EDC2EDJ,$(1),$(2))) + + +# parameter : +# $(1) - encoded one C/C++ soruce file +# $(2) - output path +# $(3) - build opt +# output : +# $(4) - output files list +define EDJ_BUILD_PROC_RAW +$(call CONVERT_ESC_EDC_TO_EDJ,$(1),$(2)) : $(call DECODE_4MAKE,$(1)) + @echo ' Building file: $$<' + @echo ' Invoking: EDC Resource Compiler' + $$(call MAKEDIRS,$$(@D)) + $$(EDJE_CC) $(3) "$$<" "$$@" + @echo ' Finished building: $$<' +$(4) += $(call CONVERT_ESC_EDC_TO_EDJ,$(1),$(2)) +endef + + +# parameter : +# $(1) - output paths +# $(2) - src paths +# $(3) - image inc paths +# $(4) - sound inc paths +# $(5) - font inc paths +# output : +# $(6) - OBJS +# return : +# none +define EDJ_PROC_RAW + +_OUTPUT_DIR := $$(strip $(1))# +_SRCS := $(2)# +_IMAGE_DIRS := $(3)# +_SOUND_DIRS := $(4)# +_FONT_DIRS := $(5)# + +ifneq ($$(strip $$(_SRCS)),) + +_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS)) + +_NORMAL_SRCS := $$(filter-out %*.edc,$$(_ENC_SRCS)) +_WIDLCARD_SRCS := $$(filter %*.edc,$$(_ENC_SRCS)) + +_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \ + $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var)))) + +ifneq ($$(strip $$(_ALL_SRCS)),) + +_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS)) + +_COMPILER_FLAGS := -id "$$(SDK_TOOLPATH)/enventor/share/enventor/images" +_COMPILER_FLAGS += -sd "$$(SDK_TOOLPATH)/enventor/share/enventor/sounds" +_COMPILER_FLAGS += -fd "$$(SDK_TOOLPATH)/enventor/share/enventor/fonts" + +ifneq ($$(strip $$(_IMAGE_DIRS)),) +_COMPILER_FLAGS += $$(addprefix -id ,$$(_IMAGE_DIRS)) +endif +ifneq ($$(strip $$(_SOUND_DIRS)),) +_COMPILER_FLAGS += $$(addprefix -sd ,$$(_SOUND_DIRS)) +endif +ifneq ($$(strip $$(_FONT_DIRS)),) +_COMPILER_FLAGS += $$(addprefix -fd ,$$(_FONT_DIRS)) +endif + +$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call EDJ_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_COMPILER_FLAGS),$(6)))) + +endif # (_(strip _(_ALL_SRCS)),) + +endif # (_(strip _(_SRCS)),) + +endef diff --git a/Build/build_po.mk b/Build/build_po.mk new file mode 100644 index 0000000..23eb0df --- /dev/null +++ b/Build/build_po.mk @@ -0,0 +1,64 @@ +# PO build script + + +_FUNC_PO2MO = $(patsubst %.po,$(2)/res/locale/%/LC_MESSAGES/$(3).mo,$(notdir $(1))) + + +# parameter : +# $(1) - C/C++ soruce file +# $(2) - output path +# $(3) - app name +CONVERT_ESC_PO_TO_MO = $(call CONVERT_4MAKE_TO_OUT,$(call _FUNC_PO2MO,$(1),$(2),$(3))) + + +# parameter : +# $(1) - encoded one C/C++ soruce file +# $(2) - output path +# $(3) - app name +# output : +# $(4) - output files list +define MO_BUILD_PROC_RAW +$(call CONVERT_ESC_PO_TO_MO,$(1),$(2),$(3)) : $(call DECODE_4MAKE,$(1)) + @echo ' Building file: $$<' + @echo ' Invoking: msgfmt String Formatter' + $$(call MAKEDIRS,$$(@D)) + $$(MSGFMT) -o "$$@" "$$<" + @echo ' Finished building: $$<' +$(4) += $(call CONVERT_ESC_PO_TO_MO,$(1),$(2),$(3)) +endef + + +# parameter : +# $(1) - output dir +# $(2) - src paths +# $(3) - app name +# output : +# $(4) - OBJS + +define MO_PROC_RAW + +_PROJ_ROOT := $(1) +_SRCS := $(2) +_APPNAME := $(3) + +ifneq ($$(strip $$(_SRCS)),) + +_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_SRCS)) + +_NORMAL_SRCS := $$(filter-out %*.po,$$(_ENC_SRCS)) +_WIDLCARD_SRCS := $$(filter %*.po,$$(_ENC_SRCS)) + +_ALL_SRCS := $$(call DECODE_4MAKE,$$(_NORMAL_SRCS)) \ + $$(foreach var,$$(_WIDLCARD_SRCS),$$(call FIND_FILES_4MAKE,$$(call DECODE_4MAKE,$$(var)))) + +ifneq ($$(strip $$(_ALL_SRCS)),) + +_ENC_SRCS := $$(call ENCODE_4MAKE,$$(_ALL_SRCS)) + +$$(foreach var,$$(_ENC_SRCS),$$(eval $$(call MO_BUILD_PROC_RAW,$$(var),$$(_OUTPUT_DIR),$$(_APPNAME),$(4)))) + +endif # (_(strip _(_ALL_SRCS)),) + +endif # (_(strip _(_SRCS)),) + +endef diff --git a/Build/funcs.mk b/Build/funcs.mk new file mode 100644 index 0000000..8297d18 --- /dev/null +++ b/Build/funcs.mk @@ -0,0 +1,50 @@ + +BSLASH := \\# +NULL_CHAR := # +SPACE := \ # +COLON := :# +DOTDOT := ..# +SPACE_ESC := &sp;# +COLON_ESC := &co;# +SPACE_OUT := ~sp~# +COLON_OUT := ~co~# +DOTDOT_OUT := ~dtdt~# + +BSLASH2SLASH = $(subst $(BSLASH),/,$(1)) + +REMOVE_TAIL = $(patsubst %/,%,$(1)) + +#LOWER_CASE = $(shell echo translit($(1),[A-Z],[a-z])|$(M4)) +LOWER_CASE = $(shell echo $(1)|$(TR) [A-Z] [a-z]) + +#ifneq ($(findstring Windows,$(OS)),) +# ... +#endif + +FIND_FILES = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///') +FIND_FILES_ESC = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///' -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g') +FIND_FILES_4MAKE = $(shell $(FIND) $(1)/$(2) | $(SED) 's/^$(subst /,$(BSLASH)/,$(1))$(BSLASH)///') + +FIND_FILES_ABS = $(shell $(FIND) $(1)) +FIND_FILES_ABS_4MAKE = $(shell $(FIND) $(1) -e 's/$(BSLASH) /$(BSLASH)&sp;/g') +FIND_FILES_ABS_ESC = $(shell $(FIND) $(1) -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g') + +FIND_FILES_4MAKE = $(shell $(FIND) $(1) | $(SED) 's/ /\\\ /g') + +#ENCODE_ESC = $(shell echo $(1) | $(SED) -e 's/:/$(BSLASH)&co;/g' -e 's/$(BSLASH) /$(BSLASH)&sp;/g') +#DECODE_ESC = $(shell echo $(1) | $(SED) -e 's/$(BSLASH)&co;/:/g' -e 's/$(BSLASH)&sp;/$(BSLASH) / g') +ENCODE_ESC = $(subst $(SPACE),$(SPACE_ESC),$(subst $(COLON),$(COLON_ESC),$(1))) +DECODE_ESC = $(subst $(COLON_ESC),$(COLON),$(subst $(SPACE_ESC),$(SPACE),$(1))) +ENCODE_4MAKE = $(subst $(SPACE),$(SPACE_ESC),$(1)) +DECODE_4MAKE = $(subst $(SPACE_ESC),$(SPACE),$(1)) + +CONVERT_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON),$(COLON_OUT),$(subst $(SPACE),$(SPACE_OUT),$(1)))) +CONVERT_ESC_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON_ESC),$(COLON_OUT),$(subst $(SPACE_ESC),$(SPACE_OUT),$(1)))) +CONVERT_4MAKE_TO_OUT = $(subst $(DOTDOT),$(DOTDOT_OUT),$(subst $(COLON),$(COLON_OUT),$(subst $(SPACE_ESC),$(SPACE_OUT),$(1)))) + +PROC_NO_EXIST = $(if $(wildcard $(1)),,$(call $(2),$(1))) +define MAKEDIRS0 + @echo ' Building directory: $(1)' + @$(MKDIR) $(MKDIR_OP) $(subst $(BSLASH),/,$(1)) +endef +MAKEDIRS = $(call PROC_NO_EXIST,$(1),MAKEDIRS0) diff --git a/Build/makefile b/Build/makefile index 4e2d6c5..9348c50 100755 --- a/Build/makefile +++ b/Build/makefile @@ -1,275 +1,34 @@ -BUILD_SCRIPT_VERSION := 1.0.7 +# +# Usege : make -f /Build/makefile -C +# + +BUILD_SCRIPT_VERSION := 1.1.0 -all : app_build - -clean : app_clean - -version : make_version - - -BSLASH := \\# -BSLASH2SLASH = $(subst $(BSLASH),/,$(1)) -REMOVE_TAIL = $(patsubst %/,%,$(1)) - -PROJ_ROOT := $(call BSLASH2SLASH,$(PROJPATH)) - --include $(PROJ_ROOT)/project_def.prop --include basedef.mk --include tooldef.mk --include flags.mk --include prepost.mk - -APPTYPE := $(type) - -OBJ_OUTPUT := $(call BSLASH2SLASH,$(OUTPUT_DIR)/objs) - -OS_NAME = $(shell $(UNAME)) - -#LOWER_APPNAME := $(shell echo translit($(APPNAME),[A-Z],[a-z])|$(M4)) -LOWER_APPNAME := $(shell echo $(APPNAME)|$(TR) [A-Z] [a-z]) - -ifeq ($(strip $(APPTYPE)),app) -APPFILE := $(OUTPUT_DIR)/$(LOWER_APPNAME) -endif -ifeq ($(strip $(APPTYPE)),staticLib) -APPFILE := $(OUTPUT_DIR)/lib$(LOWER_APPNAME).a -endif -ifeq ($(strip $(APPTYPE)),sharedLib) -APPFILE := $(OUTPUT_DIR)/lib$(LOWER_APPNAME).so -endif - -ifneq ($(strip $(PLATFORM_INCS)),) -PLATFORM_INCS_FILE := $(OBJ_OUTPUT)/platform_incs_file.inc -endif - -FIND_FILES = $(shell $(FIND) $(PROJ_ROOT)/$(dir $(1)) -type f -name $(notdir $(1)) -printf '$(dir $(1))%P ') - -NORMAL_SRCS := $(filter-out %*.c %*.cpp,$(USER_SRCS)) -WIDLCARD_SRCS := $(filter %*.c %*.cpp,$(USER_SRCS)) -ALL_SRCS := $(NORMAL_SRCS) $(foreach var,$(WIDLCARD_SRCS),$(call FIND_FILES,$(var))) - -C_SRCS := $(filter %.c,$(ALL_SRCS)) -CPP_SRCS := $(filter %.cpp,$(ALL_SRCS)) - -USER_EDCS := $(subst $(BSLASH),/,$(USER_EDCS)) -NORMAL_EDCS := $(filter-out %*.edc,$(USER_EDCS)) -WIDLCARD_EDCS := $(filter %*.edc,$(USER_EDCS)) -EDCS := $(NORMAL_EDCS) $(foreach var,$(WIDLCARD_EDCS),$(call FIND_FILES,$(var))) - -NORMAL_POS := $(filter-out %*.po,$(USER_POS)) -WIDLCARD_POS := $(filter %*.po,$(USER_POS)) -POS := $(NORMAL_POS) $(foreach var,$(WIDLCARD_POS),$(call FIND_FILES,$(var))) - -LIBPATHS := $(addprefix -L$(PROJ_ROOT)/,$(USER_LIB_DIRS)) \ - $(addprefix -L,$(USER_LIB_DIRS_ABS)) -LIBS += $(addprefix -l,$(USER_LIBS)) -UOBJS := $(addprefix $(PROJ_ROOT)/,$(USER_OBJS)) \ - $(USER_OBJS_ABS) - -M_OPT = -MMD -MP -MF"$(@:%.o=%.d)" - -FUNC_C2O = $(patsubst %.c,$(OBJ_OUTPUT)/%.o,$(1)) -FUNC_CPP2O = $(patsubst %.cpp,$(OBJ_OUTPUT)/%.o,$(1)) -FUNC_EDC2EDJ = $(patsubst %.edc,$(OUTPUT_DIR)/%.edj,$(1)) -FUNC_PO2MO = $(patsubst %.po,$(OUTPUT_DIR)/res/locale/%/LC_MESSAGES/$(LOWER_APPNAME).mo,$(notdir $(1))) - - -C_OBJS := $(call FUNC_C2O,$(C_SRCS)) -CPP_OBJS := $(call FUNC_CPP2O,$(CPP_SRCS)) -OBJS := $(C_OBJS) $(CPP_OBJS) -EDJ_FILES := $(call FUNC_EDC2EDJ,$(EDCS)) -MO_FILES := $(call FUNC_PO2MO,$(POS)) -DEPS := $(OBJS:.o=.d) - - -ifneq ($(strip $(DEPS)),) --include $(DEPS) -endif - -ifeq ($(strip $(APPTYPE)),app) -$(APPFILE) : $(OBJS) $(UOBJS) - @echo ' Building target: $@' - @echo ' Invoking: C/C++ Linker' - @$(MKDIR) $(MKDIR_OP) $(subst $(BSLASH),/,$(@D)) - $(CXX) -o "$(APPFILE)" $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -pie -lpthread -Xlinker -rpath="/home/developer/sdk_tools/lib" --sysroot="$(SYSROOT)" -Xlinker --version-script="$(PROJ_PATH)/.exportMap" -L"$(SBI_SYSROOT)/usr/lib" $(RS_LIBRARIES) -Xlinker -rpath="/opt/usr/apps/$(APPID)/lib" -Werror-implicit-function-declaration - @echo ' Finished building target: $@' -endif -ifeq ($(strip $(APPTYPE)),staticLib) -$(APPFILE) : $(OBJS) $(UOBJS) - @echo ' Building target: $@' - @echo ' Invoking: Archive utility' - @$(MKDIR) $(MKDIR_OP) $(subst $(BSLASH),/,$(@D)) - $(AR) -r "$(APPFILE)" $(OBJS) $(UOBJS) $(AR_FLAGS) - @echo ' Finished building target: $@' -endif -ifeq ($(strip $(APPTYPE)),sharedLib) -$(APPFILE) : $(OBJS) $(UOBJS) - @echo ' Building target: $@' - @echo ' Invoking: C/C++ Linker' - @$(MKDIR) $(MKDIR_OP) $(subst $(BSLASH),/,$(@D)) - $(CXX) -o "$(APPFILE)" $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -shared -lpthread --sysroot="$(SYSROOT)" -L"$(SYSROOT)/usr/lib" $(RS_LIBRARIES) - @echo ' Finished building target: $@' -endif - - -ifneq ($(strip $(C_SRCS)),) -CDEFS += $(addprefix -D,$(USER_DEFS)) -CDEFS += $(addprefix -U,$(USER_UNDEFS)) +.PHONY : app_version app_build app_clean build_version -INCS := $(addprefix -I$(PROJ_ROOT)/,$(USER_INC_DIRS)) \ - $(addprefix -I,$(USER_INC_DIRS_ABS)) \ - $(addprefix -include$(PROJ_ROOT)/,$(USER_INC_FILES)) \ - $(addprefix -include,$(USER_INC_FILES_ABS)) -$(C_OBJS) : $(OBJ_OUTPUT)/%.o : $(PROJ_ROOT)/%.c $(PLATFORM_INCS_FILE) - @echo ' Building file: $<' - @echo ' Invoking: C Compiler' - @$(MKDIR) $(MKDIR_OP) $(subst $(BSLASH),/,$(@D)) -ifeq ($(strip $(APPTYPE)),sharedLib) - $(CC) -c $< -o $@ $(CDEFS) $(INCS) -I"pch" $(COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) -fPIC --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) @$(PLATFORM_INCS_FILE) -else - $(CC) -c $< -o $@ $(CDEFS) $(INCS) -I"pch" $(COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) -fPIE --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) @$(PLATFORM_INCS_FILE) -endif - @echo ' Finished building: $<' -endif - -ifneq ($(strip $(CPP_SRCS)),) -CPPDEFS += $(addprefix -D,$(USER_CPP_DEFS)) -CPPDEFS += $(addprefix -U,$(USER_CPP_UNDEFS)) - -CPP_INCS := $(addprefix -I$(PROJ_ROOT)/,$(USER_CPP_INC_DIRS)) \ - $(addprefix -I,$(USER_CPP_INC_DIRS_ABS)) \ - $(addprefix -include$(PROJ_ROOT)/,$(USER_CPP_INC_FILES)) \ - $(addprefix -include,$(USER_CPP_INC_FILES_ABS)) - -$(CPP_OBJS) : $(OBJ_OUTPUT)/%.o : $(PROJ_ROOT)/%.cpp $(PLATFORM_INCS_FILE) - @echo ' Building file: $<' - @echo ' Invoking: C++ Compiler' - @$(MKDIR) $(MKDIR_OP) $(subst $(BSLASH),/,$(@D)) -ifeq ($(strip $(APPTYPE)),sharedLib) - $(CXX) -c $< -o $@ $(CPPDEFS) $(CPP_INCS) -I"pch" $(CPP_COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) -fPIC --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) @$(PLATFORM_INCS_FILE) -else - $(CXX) -c $< -o $@ $(CPPDEFS) $(CPP_INCS) -I"pch" $(CPP_COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) -fPIE --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) @$(PLATFORM_INCS_FILE) -endif - @echo ' Finished building: $<' -endif - - -$(OBJ_OUTPUT) : - @echo ' Building directory: $@' - @$(MKDIR) $(MKDIR_OP) $(OBJ_OUTPUT) - -preproc : $(OBJ_OUTPUT) -ifneq ($(strip $(PREBUILD_COMMAND)),) -ifneq ($(strip $(PREBUILD_DESC)),) - @echo $(PREBUILD_DESC) -endif - @echo $(shell $(PREBUILD_COMMAND)) -endif - - -postproc : -ifneq ($(strip $(POSTBUILD_COMMAND)),) -ifneq ($(strip $(POSTBUILD_DESC)),) - @echo $(POSTBUILD_DESC) -endif - @echo $(shell $(POSTBUILD_COMMAND)) -endif - -ifneq ($(strip $(PLATFORM_INCS)),) -$(PLATFORM_INCS_FILE) : $(OBJ_OUTPUT) - @echo ' Building inc file: $@' -ifneq ($(findstring Linux,$(OS_NAME)),) - @echo $(PLATFORM_INCS) > $@ -else -ifneq ($(findstring 3.82,$(MAKE_VERSION)),) - $(file > $@,$(PLATFORM_INCS)) -else - @echo $(PLATFORM_INCS) > $@ -endif -endif -endif - -ALL_EDJ_FILES := - -define EDJ_PROC -ALL_EDCS := $$(subst $(BSLASH),/,$$($(2))) -NORMAL_EDCS := $$(filter-out %*.edc,$$(ALL_EDCS)) -WIDLCARD_EDCS := $$(filter %*.edc,$$(ALL_EDCS)) -EDCS := $$(NORMAL_EDCS) $$(foreach var_edc,$$(WIDLCARD_EDCS),$$(call FIND_FILES,$$(var_edc))) - -ifneq ($$(strip $$(EDCS)),) -EDJ_FILES := $$(call FUNC_EDC2EDJ,$$(EDCS)) - -ALL_EDJ_FILES += $$(EDJ_FILES) - -EDC_$(1)_COMPILER_FLAGS := -id "$$(SDK_TOOLPATH)/enventor/share/enventor/images" -EDC_$(1)_COMPILER_FLAGS += -sd "$$(SDK_TOOLPATH)/enventor/share/enventor/sounds" -EDC_$(1)_COMPILER_FLAGS += -fd "$$(SDK_TOOLPATH)/enventor/share/enventor/fonts" +all : app_build -ifneq ($$(strip $(3)),) -EDC_$(1)_COMPILER_FLAGS += $$(addprefix -id $$(PROJ_PATH)/,$$($(3))) -endif -ifneq ($$(strip $(4)),) -EDC_$(1)_COMPILER_FLAGS += $$(addprefix -id ,$$($(4))) -endif -ifneq ($$(strip $(5)),) -EDC_$(1)_COMPILER_FLAGS += $$(addprefix -sd $$(PROJ_PATH)/,$$($(5))) -endif -ifneq ($$(strip $(6)),) -EDC_$(1)_COMPILER_FLAGS += $$(addprefix -sd ,$$($(6))) -endif -ifneq ($$(strip $(7)),) -EDC_$(1)_COMPILER_FLAGS += $$(addprefix -fd $$(PROJ_PATH)/,$$($(7))) -endif -ifneq ($$(strip $(8)),) -EDC_$(1)_COMPILER_FLAGS += $$(addprefix -fd ,$$($(8))) -endif +clean : app_clean -$$(EDJ_FILES) : $$(OUTPUT_DIR)/%.edj : $$(PROJ_ROOT)/%.edc - @echo ' Building file: $$<' - @echo ' Invoking: EDC Resource Compiler' - @$$(MKDIR) $$(MKDIR_OP) $$(subst $$(BSLASH),/,$$(@D)) - $$(EDJE_CC) $$(EDC_$(1)_COMPILER_FLAGS) $$(CDEFS) "$$<" "$$@" - @echo ' Finished building: $$<' -endif -endef +version : build_version -# Global EDCs -ifneq ($(strip $(USER_EDCS)),) -$(eval $(call EDJ_PROC,,USER_EDCS,USER_EDCS_IMAGE_DIRS,USER_EDCS_IMAGE_DIRS_ABS,USER_EDCS_SOUND_DIRS,USER_EDCS_SOUND_DIRS_ABS,USER_EDCS_FONT_DIRS,USER_EDCS_FONT_DIRS_ABS)) -endif +#PROJ_ROOT = . +BUILD_ROOT := $(PROJ_PATH)/Build# -# Individual EDCs -ifneq ($(strip $(USER_EXT_EDC_KEYS)),) -$(foreach var,$(USER_EXT_EDC_KEYS),$(eval $(call EDJ_PROC,$(var),USER_EXT_$(var)_EDCS,USER_EXT_$(var)_EDCS_IMAGE_DIRS,USER_EXT_$(var)_EDCS_IMAGE_DIRS_ABS,USER_EXT_$(var)_EDCS_SOUND_DIRS,USER_EXT_$(var)_EDCS_SOUND_DIRS_ABS,USER_EXT_$(var)_EDCS_FONT_DIRS,USER_EXT_$(var)_EDCS_FONT_DIRS_ABS))) +ifeq ($(MAKE_NAME),mingw32-make) +ifneq ($(SHELL),) +OPTIONS += --eval="SHELL=$(SHELL)" endif - - -ifneq ($(strip $(POS)),) -define MO_RULE -$(call FUNC_PO2MO,$(1)) : $(PROJ_ROOT)/$(1) - @echo ' Building file: $$<' - @echo ' Invoking: msgfmt String Formatter' - @$$(MKDIR) $$(MKDIR_OP) $$(subst $$(BSLASH),/,$$(@D)) - $$(MSGFMT) -o $$@ $$< - @echo ' Finished building: $$<' -endef - -$(foreach var,$(POS),$(eval $(call MO_RULE,$(var)))) endif - -secondary-outputs : $(ALL_EDJ_FILES) $(MO_FILES) - --include appendix.mk - - -app_build : preproc $(APPFILE) secondary-outputs postproc +app_build : + @echo $(MAKE) -f "$(BUILD_ROOT)/makefile.mk" + @$(MAKE) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS) app_clean : - rm -f "$(APPFILE)" - rm -rf "$(OUTPUT_DIR)" + @$(MAKE) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS) clean -make_version : - @echo $(BUILD_SCRIPT_VERSION) +build_version : + @echo makefile : $(BUILD_SCRIPT_VERSION) + @$(MAKE) -f "$(BUILD_ROOT)/makefile.mk" -C "$(PROJ_PATH)" $(OPTIONS) version diff --git a/Build/makefile.mk b/Build/makefile.mk new file mode 100644 index 0000000..b07df26 --- /dev/null +++ b/Build/makefile.mk @@ -0,0 +1,191 @@ +# +# Usege : make -f /Build/makefile -C +# + +BUILD_SCRIPT_VERSION := 1.2.0 + +.PHONY : app_version app_clean build_version + + +all : app_build + +clean : app_clean + +version : build_version + + +#PROJ_ROOT := $(call BSLASH2SLASH,$(PROJPATH)) +PROJ_ROOT := . +BUILD_ROOT := $(PROJ_ROOT)/Build + +include $(PROJ_ROOT)/project_def.prop +-include $(PROJ_ROOT)/build_def.prop + +include $(BUILD_ROOT)/funcs.mk + +-include $(BUILD_ROOT)/basedef.mk +-include $(BUILD_ROOT)/tooldef.mk +-include $(BUILD_ROOT)/flags.mk + + +APPTYPE := $(type) + +OUTPUT_DIR := $(PROJ_ROOT)/$(BUILD_CONFIG) +OBJ_OUTPUT := $(OUTPUT_DIR)/objs + +LOWER_APPNAME := $(call LOWER_CASE,$(APPNAME)) +APPID2 := $(subst $(basename $(APPID)).,,$(APPID)) + +ifeq ($(strip $(APPTYPE)),app) +APPFILE := $(OUTPUT_DIR)/$(LOWER_APPNAME) +endif +ifeq ($(strip $(APPTYPE)),staticLib) +APPFILE := $(OUTPUT_DIR)/lib$(LOWER_APPNAME).a +endif +ifeq ($(strip $(APPTYPE)),sharedLib) +APPFILE := $(OUTPUT_DIR)/lib$(LOWER_APPNAME).so +endif + +ifneq ($(strip $(PLATFORM_INCS)),) +PLATFORM_INCS_FILE := $(OBJ_OUTPUT)/platform_incs_file.inc +endif + +include $(BUILD_ROOT)/build_c.mk + + +ifeq ($(strip $(APPTYPE)),app) +EXT_OP := -fPIE +endif +ifeq ($(strip $(APPTYPE)),staticLib) +EXT_OP := -fPIE +endif +ifeq ($(strip $(APPTYPE)),sharedLib) +EXT_OP := -fPIC +endif + +C_OPT := $(C_COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) $(EXT_OP) --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) +CPP_OPT := $(CPP_COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) $(EXT_OP) --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) +C_OPT_FILE := $(PLATFORM_INCS_FILE) + +OBJS := # + +# Global C/C++ +ifeq ($(strip $(USER_ROOT)),) +USER_ROOT := $(PROJ_ROOT) +endif +$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_SRCS),$(USER_INC_DIRS),$(USER_INC_FILES),$(USER_DEFS),$(USER_UNDEFS),$(C_OPT),$(C_OPT_FILE),C,c,$(CC),OBJS)) +$(foreach ext,cpp cxx cc c++ C,$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_SRCS),$(USER_INC_DIRS),$(USER_CPP_INC_FILES),$(USER_CPP_DEFS),$(USER_CPP_UNDEFS),$(CPP_OPT),$(C_OPT_FILE),C++,$(ext),$(CXX),OBJS))) + +# Individual C/C++ +ifneq ($(strip $(USER_EXT_C_KEYS)),) +$(foreach var,$(USER_EXT_C_KEYS),$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_EXT_$(var)_SRCS),$(USER_EXT_$(var)_INC_DIRS),$(USER_EXT_$(var)_INC_FILES),$(USER_EXT_$(var)_DEFS),$(USER_EXT_$(var)_UNDEFS),$(C_OPT),$(C_OPT_FILE),C,c,$(CC),OBJS))) +$(foreach ext,cpp cxx cc c++ C,$(foreach var,$(USER_EXT_C_KEYS),$(eval $(call C_PROC_RAW,$(OBJ_OUTPUT),$(USER_EXT_$(var)_SRCS),$(USER_EXT_$(var)_INC_DIRS),$(USER_EXT_$(var)_CPP_INC_FILES),$(USER_EXT_$(var)_CPP_DEFS),$(USER_EXT_$(var)_CPP_UNDEFS),$(C_OPT),$(C_OPT_FILE),C++,$(ext),$(CXX),OBJS)))) +endif + + +ifneq ($(strip $(USER_LIB_DIRS)),) +_ENC_USER_LIB_DIRS := $(call ENCODE_4MAKE,$(USER_LIB_DIRS)) +_ENC_USER_LIB_DIRS := $(addprefix -L,$(call $(_ENC_USER_LIB_DIRS)) +LIBPATHS := $(call DECODE_4MAKE,$(_ENC_USER_LIB_DIRS)) +endif + +LIBS += $(addprefix -l,$(USER_LIBS)) + +UOBJS += $(USER_OBJS) + +M_OPT = -MMD -MP -MF"$(@:%.o=%.d)" + +DEPS := $(OBJS:.o=.d) + +ifneq ($(strip $(DEPS)),) +-include $(PROJ_ROOT)/Build/$(DEPS) +endif + + +ifeq ($(strip $(APPTYPE)),app) +$(APPFILE) : $(OBJS) $(UOBJS) + @echo ' Building target: $@' + @echo ' Invoking: C/C++ Linker' + $(call MAKEDIRS,$(@D)) + $(CXX) -o $(APPFILE) $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -pie -lpthread -Xlinker -rpath="/home/developer/sdk_tools/lib" --sysroot="$(SYSROOT)" -Xlinker --version-script="$(PROJ_ROOT)/.exportMap" $(RS_LIB_PATHS) $(RS_LIBRARIES) -Xlinker -rpath="/opt/usr/apps/$(APPID)/lib" -Werror-implicit-function-declaration + @echo ' Finished building target: $@' +endif +ifeq ($(strip $(APPTYPE)),staticLib) +$(APPFILE) : $(OBJS) $(UOBJS) + @echo ' Building target: $@' + @echo ' Invoking: Archive utility' + $(call MAKEDIRS,$(@D)) + $(AR) -r $(APPFILE) $(OBJS) $(UOBJS) $(AR_FLAGS) + @echo ' Finished building target: $@' +endif +ifeq ($(strip $(APPTYPE)),sharedLib) +$(APPFILE) : $(OBJS) $(UOBJS) + @echo ' Building target: $@' + @echo ' Invoking: C/C++ Linker' + $(call MAKEDIRS,$(@D)) + $(CXX) -o $(APPFILE) $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -shared -lpthread --sysroot="$(SYSROOT)" $(RS_LIB_PATHS) $(RS_LIBRARIES) + @echo ' Finished building target: $@' +endif + + +$(OBJ_OUTPUT) : + $(call MAKEDIRS,$@) + +$(OUTPUT_DIR) : + $(call MAKEDIRS,$@) + + +ifneq ($(strip $(PLATFORM_INCS)),) +$(PLATFORM_INCS_FILE) : $(OBJ_OUTPUT) + @echo ' Building inc file: $@' +ifneq ($(findstring Windows,$(OS)),) +ifneq ($(findstring 3.82,$(MAKE_VERSION)),) + $(file > $@,$(PLATFORM_INCS)) +else + @echo $(PLATFORM_INCS) > $@ +endif +else + @echo $(PLATFORM_INCS) > $@ +endif +endif + + +include $(BUILD_ROOT)/build_edc.mk + +EDJ_FILES := + +# Global EDCs +ifneq ($(strip $(USER_EDCS)),) +$(eval $(call EDJ_PROC_RAW,$(OUTPUT_DIR),$(USER_EDCS),$(USER_EDCS_IMAGE_DIRS),$(USER_EDCS_SOUND_DIRS),$(USER_EDCS_FONT_DIRS),EDJ_FILES)) +endif + +# Individual EDCs +ifneq ($(strip $(USER_EXT_EDC_KEYS)),) +$(foreach var,$(USER_EXT_EDC_KEYS),$(eval $(call EDJ_PROC_RAW,$(OUTPUT_DIR),$(USER_EXT_$(var)_EDCS),$(USER_EXT_$(var)_EDCS_IMAGE_DIRS),$(USER_EXT_$(var)_EDCS_SOUND_DIRS),$(USER_EXT_$(var)_EDCS_FONT_DIRS),EDJ_FILES))) +endif + + +include $(BUILD_ROOT)/build_po.mk + +MO_FILES := + +# Global POs +ifneq ($(strip $(USER_POS)),) +$(eval $(call MO_PROC_RAW,$(OUTPUT_DIR),$(USER_POS),$(APPID2),MO_FILES)) +endif + + +secondary-outputs : $(EDJ_FILES) $(MO_FILES) + +-include appendix.mk + +app_build : $(OUTPUT_DIR) $(APPFILE) secondary-outputs + @echo ========= done ========= + + +app_clean : + rm -f $(APPFILE) + rm -rf $(OUTPUT_DIR) + +build_version : + @echo makefile.mk : $(BUILD_SCRIPT_VERSION) diff --git a/Build/tooldef.mk b/Build/tooldef.mk index 4244fb3..9df2a39 100755 --- a/Build/tooldef.mk +++ b/Build/tooldef.mk @@ -4,10 +4,19 @@ ifeq ($(strip $(BUILD_CONFIG)),) BUILD_CONFIG = Debug endif +ifneq ($(strip $(PROJROOT)),) +PROJPATH := $(PROJROOT) +endif + ifeq ($(strip $(OUTPUT_DIR)),) OUTPUT_DIR := $(PROJPATH)/$(BUILD_CONFIG) endif +ifneq ($(strip $(SHELL_BIN)),) +SHELL = $(SHELL_BIN) +else +SHELL = sh +endif ifneq ($(strip $(MKDIR_BIN)),) MKDIR = $(MKDIR_BIN) @@ -41,6 +50,12 @@ else FIND = find endif +ifneq ($(strip $(SED_BIN)),) +SED = $(SED_BIN) +else +SED = sed +endif + ifneq ($(strip $(GREP_BIN)),) GREP = $(GREP_BIN) else diff --git a/build_def.prop b/build_def.prop new file mode 100644 index 0000000..6bb5e2f --- /dev/null +++ b/build_def.prop @@ -0,0 +1,6 @@ + +# Add pre/post build process +PREBUILD_DESC = +PREBUILD_COMMAND = +POSTBUILD_DESC = +POSTBUILD_COMMAND = diff --git a/inc/cluster_data.h b/inc/cluster_data.h index edf13f3..4bc0573 100755 --- a/inc/cluster_data.h +++ b/inc/cluster_data.h @@ -32,6 +32,7 @@ typedef struct { double period; int allow_duplicate; Evas_Object *widget_layout; + Evas_Object *widget_content; } widget_data_t; void cluster_data_init(void); diff --git a/inc/cluster_view.h b/inc/cluster_view.h index 0f2e57c..df518e1 100755 --- a/inc/cluster_view.h +++ b/inc/cluster_view.h @@ -20,6 +20,7 @@ #include #include "cluster_data.h" +#include "cluster_page.h" #include "view.h" Evas_Object *cluster_view_create(Evas_Object *parent); @@ -38,5 +39,6 @@ view_state_t cluster_view_get_state(void); bool cluster_view_set_state(view_state_t state); void cluster_view_delete_widget(widget_data_t *item); bool cluster_view_add_widget(widget_data_t *item, bool scroll); +void cluster_view_edit_on_done(cluster_page_t *page); #endif /* __CLUSTER_VIEW_H__ */ diff --git a/inc/edc_conf.h b/inc/edc_conf.h index fa00ea9..f6b75cc 100755 --- a/inc/edc_conf.h +++ b/inc/edc_conf.h @@ -93,8 +93,10 @@ #define SIGNAL_SET_BLACK_TEXT "set_black_text" #define SIGNAL_EDIT_MODE_ON_ANI "edit_on_ani" #define SIGNAL_EDIT_MODE_ON "edit_on" +#define SIGNAL_EDIT_MODE_ON_DONE "edit_on_done" #define SIGNAL_EDIT_MODE_OFF_ANI "edit_off_ani" #define SIGNAL_EDIT_MODE_OFF "edit_off" +#define SIGNAL_EDIT_MODE_OFF_DONE "edit_off_done" #define SIGNAL_CHOOSER_MODE_ON "chooser_on" #define SIGNAL_CHOOSER_MODE_OFF "chooser_off" #define SIGNAL_CHOOSER_MODE_ON_FOLDER "chooser_on_folder" @@ -154,6 +156,7 @@ #define GROUP_WIDGET_LY "widget_ly" #define WIDGET_CONTENT "widget_content" +#define WIDGET_THUMBNAIL "widget_thumbnail" #define WIDGET_DELETE_BUTTON "widget_delete_button" #define SIGNAL_DELETE_BUTTON_SHOW_ANI "delete_button_show_ani" #define SIGNAL_DELETE_BUTTON_HIDE_ANI "delete_button_hide_ani" diff --git a/inc/widget_viewer.h b/inc/widget_viewer.h index d4c11b9..d33ede5 100755 --- a/inc/widget_viewer.h +++ b/inc/widget_viewer.h @@ -26,7 +26,9 @@ void widget_viewer_init(Evas_Object *win); void widget_viewer_fini(void); -Evas_Object *widget_viewer_add_widget(Evas_Object *parent, widget_data_t *item, int *widget_width, int *widget_height); -void widget_viewer_send_cancel_click_event(widget_data_t *widget); +void widget_viewer_add_widget(Evas_Object *parent, widget_data_t *item, int *widget_width, int *widget_height); +void widget_viewer_send_cancel_click_event(widget_data_t *item); +void widget_viewer_thumbnail_add(widget_data_t *item); +void widget_viewer_thumbnail_delete(widget_data_t *item); #endif /* __WIDGET_VIEWER_H__ */ diff --git a/res/edje/cluster_page.edc b/res/edje/cluster_page.edc index fb619fb..cb75008 100755 --- a/res/edje/cluster_page.edc +++ b/res/edje/cluster_page.edc @@ -69,6 +69,11 @@ collections { action: STATE_SET "edit" 0.0; target: CLUSTER_BG; transition: DECELERATE ANIMATION_RESIZE_TIME; + after: "edit_mode_on_done"; + } + program { + name: "edit_mode_on_done"; + action: SIGNAL_EMIT SIGNAL_EDIT_MODE_ON_DONE SIGNAL_SOURCE; } program { name: "edit_mode_off"; @@ -77,6 +82,11 @@ collections { action: STATE_SET "default" 0.0; target: CLUSTER_BG; transition: DECELERATE ANIMATION_RESIZE_TIME; + after: "edit_mode_off_done"; + } + program { + name: "edit_mode_off_done"; + action: SIGNAL_EMIT SIGNAL_EDIT_MODE_OFF_DONE SIGNAL_SOURCE; } } } diff --git a/res/edje/widget.edc b/res/edje/widget.edc index 22add8a..340f2a0 100755 --- a/res/edje/widget.edc +++ b/res/edje/widget.edc @@ -17,6 +17,15 @@ collections { rel1.relative: 0.0 0.0; } } + part { name: WIDGET_THUMBNAIL; + type: SWALLOW; + mouse_events: 1; + repeat_events: 1; + description { + state: "default" 0.0; + rel1.relative: 0.0 0.0; + } + } part { name: SIZE_SETTER; type: SWALLOW; mouse_events: 1; diff --git a/src/cluster_page.c b/src/cluster_page.c index dd1482e..14f098a 100755 --- a/src/cluster_page.c +++ b/src/cluster_page.c @@ -18,10 +18,16 @@ #include "conf.h" #include "edc_conf.h" #include "util.h" +#include "widget_viewer.h" +#include "cluster_view.h" + +static void __cluster_page_set(cluster_page_t *page, widget_data_t *item); +static void __cluster_page_print_space(cluster_page_t *page); +static void __cluster_page_get_widget_size(widget_size_type_e type, int *w, int *h); + +static void __cluster_page_edit_on_done(void *data, Evas_Object *obj, const char *emission, const char *source); +static void __cluster_page_edit_off_done(void *data, Evas_Object *obj, const char *emission, const char *source); -void __cluster_page_set(cluster_page_t *page, widget_data_t *item); -void __cluster_page_print_space(cluster_page_t *page); -void __cluster_page_get_widget_size(widget_size_type_e type, int *w, int *h); cluster_page_t *cluster_page_new(Evas_Object* parent) { @@ -50,6 +56,12 @@ cluster_page_t *cluster_page_new(Evas_Object* parent) evas_object_show(grid); elm_layout_content_set(page_t->page_layout, CLUSTER_BOX, grid); page_t->grid = grid; + + elm_object_signal_callback_add(page_t->page_layout, SIGNAL_EDIT_MODE_ON_DONE, SIGNAL_SOURCE, + __cluster_page_edit_on_done, (void *)page_t); + elm_object_signal_callback_add(page_t->page_layout, SIGNAL_EDIT_MODE_OFF_DONE, SIGNAL_SOURCE, + __cluster_page_edit_off_done, (void *)page_t); + return page_t; } @@ -180,7 +192,7 @@ void cluster_page_get_highlight_xy(cluster_page_t *page, int *x, int *y) } } -void __cluster_page_set(cluster_page_t *page, widget_data_t *item) +static void __cluster_page_set(cluster_page_t *page, widget_data_t *item) { int w, h; int i, j; @@ -294,7 +306,7 @@ bool cluster_page_drop_widget(cluster_page_t *page, widget_data_t *widget) return true; } -void __cluster_page_print_space(cluster_page_t *page) +static void __cluster_page_print_space(cluster_page_t *page) { LOGD("========================================="); int i; @@ -304,7 +316,7 @@ void __cluster_page_print_space(cluster_page_t *page) LOGD("========================================="); } -void __cluster_page_get_widget_size(widget_size_type_e type, int *w, int *h) +static void __cluster_page_get_widget_size(widget_size_type_e type, int *w, int *h) { switch (type) { case WIDGET_SIZE_TYPE_4x2: @@ -321,3 +333,20 @@ void __cluster_page_get_widget_size(widget_size_type_e type, int *w, int *h) break; } } + +static void __cluster_page_edit_on_done(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + cluster_page_t *page_t = (cluster_page_t *)data; + cluster_view_edit_on_done(page_t); +} + +static void __cluster_page_edit_off_done(void *data, Evas_Object *obj, const char *emission, const char *source) +{ + cluster_page_t *page_t = (cluster_page_t *)data; + Eina_List *find_list; + widget_data_t *item; + + EINA_LIST_FOREACH(page_t->widget_list, find_list, item) { + widget_viewer_thumbnail_delete(item); + } +} diff --git a/src/cluster_view.c b/src/cluster_view.c index 4884dec..8296d3b 100755 --- a/src/cluster_view.c +++ b/src/cluster_view.c @@ -392,21 +392,28 @@ bool cluster_view_set_state(view_state_t state) Eina_List *data_list = cluster_data_get_widget_list(); Eina_List *find_list = NULL; - cluster_page_t *page_item = NULL; - EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { - if (page_item->page_layout) { - elm_object_signal_emit(page_item->page_layout, SIGNAL_EDIT_MODE_ON, SIGNAL_SOURCE); - } - } - widget_data_t *item = NULL; EINA_LIST_FOREACH(data_list, find_list, item) { if (item->widget_layout) { if (!cluster_view_s.picked_widget || item->widget_layout != cluster_view_s.picked_widget->widget_layout) + { elm_object_signal_emit(item->widget_layout, SIGNAL_DELETE_BUTTON_SHOW_ANI, SIGNAL_SOURCE); + } else { + evas_object_event_callback_add(item->widget_content, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_widget_down_cb, item); + evas_object_event_callback_add(item->widget_content, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_widget_move_cb, item); + evas_object_event_callback_add(item->widget_content, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_widget_up_cb, item); + } + widget_viewer_thumbnail_add(item); elm_object_signal_emit(item->widget_layout, SIGNAL_CLUSTER_EDIT_STATE, SIGNAL_SOURCE); } } + + cluster_page_t *page_item = NULL; + EINA_LIST_FOREACH(cluster_view_s.page_list, find_list, page_item) { + if (page_item->page_layout) { + elm_object_signal_emit(page_item->page_layout, SIGNAL_EDIT_MODE_ON, SIGNAL_SOURCE); + } + } } else if (state == VIEW_STATE_NORMAL) { if (cluster_view_s.view_state == VIEW_STATE_EDIT) { homescreen_efl_btn_show(HOMESCREEN_VIEW_HOME); @@ -554,6 +561,17 @@ void cluster_view_delete_widget(widget_data_t *item) } } +void cluster_view_edit_on_done(cluster_page_t *page) +{ + if (cluster_view_s.picked_widget) { + if (page->page_index == cluster_view_s.picked_widget->page_idx) { + cluster_page_unset(page, cluster_view_s.picked_widget); + cluster_mouse_info.offset_x *= 0.9; + cluster_mouse_info.offset_y *= 0.9; + } + } +} + static void __cluster_view_scroll_to_home(void) { __cluster_view_scroll_to_page(CLUSTER_HOME_PAGE, true); @@ -591,7 +609,7 @@ static void __cluster_view_add_widget_content(widget_data_t *item) { int w, h; LOGD("Create Widget: pkg[%s], type[%d]", item->pkg_name, item->type); - item->widget_layout = widget_viewer_add_widget(cluster_view_s.win, item, &w, &h); + widget_viewer_add_widget(cluster_view_s.win, item, &w, &h); evas_object_event_callback_add(item->widget_layout, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_widget_down_cb, item); evas_object_event_callback_add(item->widget_layout, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_widget_move_cb, item); evas_object_event_callback_add(item->widget_layout, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_widget_up_cb, item); @@ -1188,10 +1206,10 @@ static Eina_Bool __cluster_view_widget_long_press_time_cb(void *data) elm_scroller_movement_block_set(cluster_view_s.scroller, ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL); - __cluster_view_edit_pick_up_widget(data); - widget_viewer_send_cancel_click_event(widget); + __cluster_view_edit_pick_up_widget(data); + return ECORE_CALLBACK_CANCEL; } @@ -1216,15 +1234,10 @@ static void __cluster_view_edit_pick_up_widget(void *data) cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.picked_widget->page_idx); - cluster_page_unset(page, cluster_view_s.picked_widget); - if (cluster_view_s.view_state == VIEW_STATE_NORMAL) { - evas_object_resize(widget_layout, gw * 0.9, gh * 0.9); - - cluster_mouse_info.offset_x *= 0.9; - cluster_mouse_info.offset_y *= 0.9; - cluster_view_set_state(VIEW_STATE_EDIT); + } else { + cluster_page_unset(page, cluster_view_s.picked_widget); } elm_object_signal_emit(widget_layout, SIGNAL_DELETE_BUTTON_HIDE_ANI, SIGNAL_SOURCE); @@ -1293,6 +1306,7 @@ static void __cluster_view_edit_drop_widget(void *data) cluster_view_s.animation_from_y = cluster_mouse_info.move_y - cluster_mouse_info.offset_y; cluster_page_t *page = (cluster_page_t *)eina_list_nth(cluster_view_s.page_list, cluster_view_s.current_page); + cluster_page_unset(page, cluster_view_s.picked_widget); cluster_page_get_highlight_xy(page, &to_x, &to_y); if (to_x == INIT_VALUE || to_y == INIT_VALUE) { cluster_page_check_empty_space_pos(page, cluster_view_s.picked_widget, &to_x, &to_y); @@ -1302,6 +1316,10 @@ static void __cluster_view_edit_drop_widget(void *data) cluster_view_s.animation_to_y = to_y; cluster_view_s.edit_animator = ecore_animator_timeline_add(HOME_ANIMATION_TIME, __cluster_view_edit_move_anim, NULL); + + evas_object_event_callback_del(cluster_view_s.picked_widget->widget_content, EVAS_CALLBACK_MOUSE_DOWN, __clsuter_view_widget_down_cb); + evas_object_event_callback_del(cluster_view_s.picked_widget->widget_content, EVAS_CALLBACK_MOUSE_MOVE, __clsuter_view_widget_move_cb); + evas_object_event_callback_del(cluster_view_s.picked_widget->widget_content, EVAS_CALLBACK_MOUSE_UP, __clsuter_view_widget_up_cb); } static Eina_Bool __cluster_view_edit_move_anim(void *data, double pos) { diff --git a/src/widget_viewer.c b/src/widget_viewer.c index bec1d62..018f62d 100755 --- a/src/widget_viewer.c +++ b/src/widget_viewer.c @@ -42,7 +42,7 @@ void widget_viewer_fini(void) widget_viewer_evas_fini(); } -Evas_Object *widget_viewer_add_widget(Evas_Object *parent, widget_data_t *item, int *widget_width, int *widget_height) +void widget_viewer_add_widget(Evas_Object *parent, widget_data_t *item, int *widget_width, int *widget_height) { Evas_Object *widget_layout; @@ -60,11 +60,14 @@ Evas_Object *widget_viewer_add_widget(Evas_Object *parent, widget_data_t *item, elm_object_part_content_set(widget_layout, SIZE_SETTER, rect); #ifndef _TEST_ + int w, h; Evas_Object *widget = widget_viewer_evas_add_widget(widget_layout, item->pkg_name, NULL, item->period); - //evas_object_smart_callback_add(widget, WIDGET_SMART_SIGNAL_WIDGET_CREATED, __widget_viewer_widget_create_cb, NULL); evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(widget, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_color_set(widget, 255, 255, 255, 255); + + //Notify widget_size_type_e to widget application. + widget_service_get_size(item->type, &w, &h); + evas_object_resize(widget, w, h); #else // for TEST /* Evas_Object *widget = evas_object_rectangle_add(evas_object_evas_get(widget_layout)); evas_object_size_hint_align_set(widget, EVAS_HINT_FILL, EVAS_HINT_FILL); @@ -85,13 +88,13 @@ Evas_Object *widget_viewer_add_widget(Evas_Object *parent, widget_data_t *item, Ecore_Timer *timer = ecore_timer_add(1, __widget_viewer_test_timer_cb, widget); #endif elm_object_part_content_set(widget_layout, WIDGET_CONTENT, widget); - elm_object_signal_callback_add(widget_layout, SIGNAL_DELETE_BUTTON_CLICKED, SIGNAL_SOURCE, __widget_viewer_delete_btn_clicked_cb, (void *)item); evas_object_show(widget); evas_object_show(widget_layout); - return widget_layout; + item->widget_content = widget; + item->widget_layout = widget_layout; } static void __widget_viewer_delete_btn_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source) @@ -100,9 +103,48 @@ static void __widget_viewer_delete_btn_clicked_cb(void *data, Evas_Object *obj, cluster_data_delete(item); } -void widget_viewer_send_cancel_click_event(widget_data_t *widget) +void widget_viewer_send_cancel_click_event(widget_data_t *item) { Evas_Object *widget_obj = NULL; - widget_obj = elm_object_part_content_get(widget->widget_layout, WIDGET_CONTENT); + widget_obj = elm_object_part_content_get(item->widget_layout, WIDGET_CONTENT); widget_viewer_evas_cancel_click_event(widget_obj); } + +void widget_viewer_thumbnail_add(widget_data_t *item) +{ + Evas_Object *image = NULL; + + image = evas_object_image_filled_add(evas_object_evas_get(item->widget_layout)); + if (!image) { + LOGE("Could not create image proxy object"); + return; + } + + if (!evas_object_image_source_set(image, item->widget_content)) { + evas_object_del(image); + LOGE("Could not set proxy image source"); + return; + } + + evas_object_image_source_visible_set(image, EINA_FALSE); + + int gw, gh; + evas_object_geometry_get(item->widget_layout, NULL, NULL, &gw, &gh); + evas_object_image_fill_set(image, 0, 0, gw, gh); + evas_object_show(image); + + elm_object_part_content_set(item->widget_layout, WIDGET_THUMBNAIL, image); + elm_object_part_content_unset(item->widget_layout, WIDGET_CONTENT); +} + +void widget_viewer_thumbnail_delete(widget_data_t *item) +{ + if (item && item->widget_layout && item->widget_content) { + Evas_Object *image = NULL; + image = elm_object_part_content_get(item->widget_layout, WIDGET_THUMBNAIL); + evas_object_image_source_visible_set(image, EINA_TRUE); + elm_object_part_content_unset(item->widget_layout, WIDGET_THUMBNAIL); + evas_object_del(image); + elm_object_part_content_set(item->widget_layout, WIDGET_CONTENT, item->widget_content); + } +} -- 2.7.4 From 18972883c6f779e7de65a7ea5ee64bd18e1b7f8b Mon Sep 17 00:00:00 2001 From: "Seunghwan, Lee" Date: Wed, 15 Jun 2016 14:11:14 +0900 Subject: [PATCH 16/16] change option of edje resource Change-Id: I7a94c1d18ef791d9cfae78759b3a22eaa5888e8e Signed-off-by: Seunghwan, Lee --- .cproject | 20 ++++++++++++++++---- project_def.prop | 2 +- res/edje/app_icon.edc | 32 ++++++++++++++++---------------- res/edje/apps_folder_icon.edc | 16 ++++++++-------- res/edje/apps_folder_popup.edc | 18 +++++++++--------- res/edje/cluster_allpage_thumbnail.edc | 20 ++++++++++---------- res/edje/cluster_page.edc | 4 ++-- res/edje/home_btn.edc | 18 +++++++++--------- res/edje/page_indicator_unit.edc | 8 ++++---- res/edje/widget.edc | 8 ++++---- 10 files changed, 79 insertions(+), 67 deletions(-) diff --git a/.cproject b/.cproject index 518044c..19fb4b4 100755 --- a/.cproject +++ b/.cproject @@ -16,7 +16,7 @@ - + @@ -265,7 +265,12 @@ - + + + @@ -293,7 +298,7 @@ - + @@ -567,5 +572,12 @@ - + + + + + + + + diff --git a/project_def.prop b/project_def.prop index ec85acc..4ea0ad1 100755 --- a/project_def.prop +++ b/project_def.prop @@ -61,7 +61,7 @@ USER_EDCS_FONT_DIRS_ABS = USER_EXT_EDC_KEYS = EDC0 USER_EXT_EDC0_EDCS = res/edje/widget.edc res/edje/apps_folder_icon.edc res/edje/apps_folder_popup.edc res/edje/apps_view.edc res/edje/page_indicator_unit.edc res/edje/apps_view_bg.edc res/edje/cluster_allpage_thumbnail.edc res/edje/home_btn.edc res/edje/home.edc res/edje/apps_chooser_btn.edc res/edje/add_widget_viewer.edc res/edje/app_icon.edc res/edje/cluster_page.edc res/edje/cluster_allpage.edc -USER_EXT_EDC0_EDCS_IMAGE_DIRS = edje/images +USER_EXT_EDC0_EDCS_IMAGE_DIRS = edje/images res/images USER_EXT_EDC0_EDCS_IMAGE_DIRS_ABS = USER_EXT_EDC0_EDCS_SOUND_DIRS = edje/sounds USER_EXT_EDC0_EDCS_SOUND_DIRS_ABS = diff --git a/res/edje/app_icon.edc b/res/edje/app_icon.edc index aeca487..19f4204 100755 --- a/res/edje/app_icon.edc +++ b/res/edje/app_icon.edc @@ -17,14 +17,14 @@ #include "../../inc/edc_conf.h" images { - image: "../res/images/app_press_117.png" COMP; - image: "../res/images/btn_delete_nor.png" COMP; - image: "../res/images/btn_delete_press.png" COMP; - image: "../res/images/icon_badge_container.png" COMP; - image: "../res/images/core_check_bg.png" COMP; - image: "../res/images/core_check_bg_stroke.png" COMP; - image: "../res/images/core_check_icon.png" COMP; - image: "../res/images/folder_appicon_bg.png" COMP; + image: "app_press_117.png" COMP; + image: "btn_delete_nor.png" COMP; + image: "btn_delete_press.png" COMP; + image: "icon_badge_container.png" COMP; + image: "core_check_bg.png" COMP; + image: "core_check_bg_stroke.png" COMP; + image: "core_check_icon.png" COMP; + image: "folder_appicon_bg.png" COMP; } styles { @@ -75,7 +75,7 @@ collections { aspect_preference: BOTH; color: 0 0 0 0; image { - normal: "../res/images/app_press_117.png"; + normal: "app_press_117.png"; } } description{ @@ -98,7 +98,7 @@ collections { aspect_preference: BOTH; color: 0 0 0 0; image { - normal: "../res/images/folder_appicon_bg.png"; + normal: "folder_appicon_bg.png"; } visible: 0; } @@ -148,7 +148,7 @@ collections { visible: 0; image { - normal: "../res/images/icon_badge_container.png"; + normal: "icon_badge_container.png"; } } description @@ -201,7 +201,7 @@ collections { aspect: 1.0 1.0; aspect_preference: BOTH; image { - normal: "../res/images/btn_delete_nor.png"; + normal: "btn_delete_nor.png"; } } description { @@ -215,7 +215,7 @@ collections { inherit: "default" 0.0; color: 255 255 255 255; image { - normal: "../res/images/btn_delete_press.png"; + normal: "btn_delete_press.png"; } visible: 1; } @@ -234,7 +234,7 @@ collections { aspect: 1.0 1.0; aspect_preference: BOTH; image { - normal: "../res/images/core_check_bg.png"; + normal: "core_check_bg.png"; } } description { @@ -262,7 +262,7 @@ collections { aspect: 1.0 1.0; aspect_preference: BOTH; image { - normal: "../res/images/core_check_bg_stroke.png"; + normal: "core_check_bg_stroke.png"; } } description { @@ -291,7 +291,7 @@ collections { aspect: 1.0 1.0; aspect_preference: BOTH; image { - normal: "../res/images/core_check_icon.png"; + normal: "core_check_icon.png"; } } description { diff --git a/res/edje/apps_folder_icon.edc b/res/edje/apps_folder_icon.edc index 734e532..ad0af58 100755 --- a/res/edje/apps_folder_icon.edc +++ b/res/edje/apps_folder_icon.edc @@ -17,10 +17,10 @@ #include "../../inc/edc_conf.h" images { - image: "../res/images/folder_appicon_bg.png" COMP; - image: "../res/images/folder_appicon_bg_possible.png" COMP; - image: "../res/images/folder_appicon_bg_impossible.png" COMP; - image: "../res/images/folder_appicon_empty_bg.png" COMP; + image: "folder_appicon_bg.png" COMP; + image: "folder_appicon_bg_possible.png" COMP; + image: "folder_appicon_bg_impossible.png" COMP; + image: "folder_appicon_empty_bg.png" COMP; } collections { group { name: GROUP_FOLDER_ICON_LY; @@ -49,7 +49,7 @@ collections { aspect: 1.0 1.0; aspect_preference: BOTH; image { - normal: "../res/images/folder_appicon_bg.png"; + normal: "folder_appicon_bg.png"; } } } @@ -65,7 +65,7 @@ collections { aspect: 1.0 1.0; aspect_preference: BOTH; image { - normal: "../res/images/folder_appicon_bg_possible.png"; + normal: "folder_appicon_bg_possible.png"; } visible: 0; } @@ -73,7 +73,7 @@ collections { state: "frame_possible" 0.0; inherit: "default" 0.0; image { - normal: "../res/images/folder_appicon_bg_possible.png"; + normal: "folder_appicon_bg_possible.png"; } visible: 1; } @@ -81,7 +81,7 @@ collections { state: "frame_impossible" 0.0; inherit: "default" 0.0; image { - normal: "../res/images/folder_appicon_bg_impossible.png"; + normal: "folder_appicon_bg_impossible.png"; } visible: 1; } diff --git a/res/edje/apps_folder_popup.edc b/res/edje/apps_folder_popup.edc index 5ce73f0..f5b674b 100755 --- a/res/edje/apps_folder_popup.edc +++ b/res/edje/apps_folder_popup.edc @@ -34,9 +34,9 @@ }\ } images { - image: "../res/images/folder_popup_bg.png" COMP; - image: "../res/images/btn_add_nor.png" COMP; - image: "../res/images/btn_add_press.png" COMP; + image: "folder_popup_bg.png" COMP; + image: "btn_add_nor.png" COMP; + image: "btn_add_press.png" COMP; } collections { @@ -77,7 +77,7 @@ collections { rel1 {relative: 0.04 0.2; to:SIZE_SETTER;} rel2 {relative: 0.96 0.8; to:SIZE_SETTER;} image { - normal: "../res/images/folder_popup_bg.png"; + normal: "folder_popup_bg.png"; border: 5 5 5 5; } color: 255 255 255 255; @@ -139,14 +139,14 @@ collections { to: APPS_FOLDER_CONTAINER; } image { - normal: "../res/images/btn_add_nor.png"; + normal: "btn_add_nor.png"; } } description { state: "press" 0.0; inherit: "default" 0.0; image { - normal: "../res/images/btn_add_press.png"; + normal: "btn_add_press.png"; } } description { @@ -171,7 +171,7 @@ collections { custom_state(PART:APPS_FOLDER_PLUS_ICON, "default", 0.0); set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL1, ((get_float(plus_y) + 0.16) / APPS_FOLDER_COL), (get_float(plus_x)) / APPS_FOLDER_ROW); set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL2, (((get_float(plus_y)) + 0.84) / APPS_FOLDER_COL), (((get_float(plus_x)) + 0.6) / APPS_FOLDER_ROW)); - set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_IMAGE, get_image_id("../res/images/btn_add_nor.png")); + set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_IMAGE, get_image_id("btn_add_nor.png")); set_state(PART:APPS_FOLDER_PLUS_ICON, "custom", 0.0); } } @@ -183,7 +183,7 @@ collections { custom_state(PART:APPS_FOLDER_PLUS_ICON, "default", 0.0); set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL1, ((get_float(plus_y) + 0.16) / APPS_FOLDER_COL), (get_float(plus_x)) / APPS_FOLDER_ROW); set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL2, (((get_float(plus_y)) + 0.84) / APPS_FOLDER_COL), (((get_float(plus_x)) + 0.6) / APPS_FOLDER_ROW)); - set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_IMAGE, get_image_id("../res/images/btn_add_nor.png")); + set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_IMAGE, get_image_id("btn_add_nor.png")); set_state(PART:APPS_FOLDER_PLUS_ICON, "custom", 0.0); } } @@ -195,7 +195,7 @@ collections { custom_state(PART:APPS_FOLDER_PLUS_ICON, "press", 0.0); set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL1, ((get_float(plus_y) + 0.16) / APPS_FOLDER_COL), (get_float(plus_x)) / APPS_FOLDER_ROW); set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_REL2, (((get_float(plus_y)) + 0.84) / APPS_FOLDER_COL), (((get_float(plus_x)) + 0.6) / APPS_FOLDER_ROW)); - set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_IMAGE, get_image_id("../res/images/btn_add_press.png")); + set_state_val(PART:APPS_FOLDER_PLUS_ICON, STATE_IMAGE, get_image_id("btn_add_press.png")); set_state(PART:APPS_FOLDER_PLUS_ICON, "custom", 0.0); } } diff --git a/res/edje/cluster_allpage_thumbnail.edc b/res/edje/cluster_allpage_thumbnail.edc index 64296dc..0499cf7 100755 --- a/res/edje/cluster_allpage_thumbnail.edc +++ b/res/edje/cluster_allpage_thumbnail.edc @@ -18,11 +18,11 @@ collections { images { - image: "../res/images/btn_delete_nor.png" COMP; - image: "../res/images/btn_delete_press.png" COMP; - image: "../res/images/all_page_add.png" COMP; - image: "../res/images/all_page_add_press.png" COMP; - image: "../res/images/all_page_drag.png" COMP; + image: "btn_delete_nor.png" COMP; + image: "btn_delete_press.png" COMP; + image: "all_page_add.png" COMP; + image: "all_page_add_press.png" COMP; + image: "all_page_drag.png" COMP; } group { name: GROUP_CLUSTER_ALLPAGE_THUMBNAIL_LY; parts { @@ -52,7 +52,7 @@ collections { aspect: 1.0 1.0; aspect_preference: BOTH; image { - normal: "../res/images/all_page_add.png"; + normal: "all_page_add.png"; } } description { @@ -66,7 +66,7 @@ collections { inherit: "default" 0.0; color: 255 255 255 255; image { - normal: "../res/images/all_page_add_press.png"; + normal: "all_page_add_press.png"; } visible: 1; } @@ -104,7 +104,7 @@ collections { color: 255 255 255 150; visible: 0; image { - normal: "../res/images/all_page_drag.png"; + normal: "all_page_drag.png"; } } description { @@ -125,7 +125,7 @@ collections { aspect: 1.0 1.0; aspect_preference: BOTH; image { - normal: "../res/images/btn_delete_nor.png"; + normal: "btn_delete_nor.png"; } } description { @@ -139,7 +139,7 @@ collections { inherit: "default" 0.0; color: 255 255 255 255; image { - normal: "../res/images/btn_delete_press.png"; + normal: "btn_delete_press.png"; } visible: 1; } diff --git a/res/edje/cluster_page.edc b/res/edje/cluster_page.edc index cb75008..34e4eec 100755 --- a/res/edje/cluster_page.edc +++ b/res/edje/cluster_page.edc @@ -18,8 +18,8 @@ collections { images { - image: "../res/images/btn_delete_nor.png" COMP; - image: "../res/images/btn_delete_press.png" COMP; + image: "btn_delete_nor.png" COMP; + image: "btn_delete_press.png" COMP; } group { name: GROUP_CLUSTER_PAGE_LY; parts { diff --git a/res/edje/home_btn.edc b/res/edje/home_btn.edc index 12af99f..425b6e3 100755 --- a/res/edje/home_btn.edc +++ b/res/edje/home_btn.edc @@ -18,10 +18,10 @@ collections { images { - image: "../res/images/home_button_bg.png" COMP; - image: "../res/images/home_button_menu.png" COMP; - image: "../res/images/home_button_home.png" COMP; - image: "../res/images/home_button_apps.png" COMP; + image: "home_button_bg.png" COMP; + image: "home_button_menu.png" COMP; + image: "home_button_home.png" COMP; + image: "home_button_apps.png" COMP; } group { name: GROUP_HOME_BTN_LY; parts { @@ -35,7 +35,7 @@ collections { color: 0 0 0 40; visible: 1; image { - normal: "../res/images/home_button_bg.png"; + normal: "home_button_bg.png"; } } description { @@ -62,7 +62,7 @@ collections { color: 255 255 255 255; visible: 1; image { - normal: "../res/images/home_button_menu.png"; + normal: "home_button_menu.png"; } } description { state: "show" 0.0; @@ -85,7 +85,7 @@ collections { color: 0 0 0 40; visible: 1; image { - normal: "../res/images/home_button_bg.png"; + normal: "home_button_bg.png"; } } description { @@ -112,7 +112,7 @@ collections { color: 255 255 255 0; visible: 1; image { - normal: "../res/images/home_button_home.png"; + normal: "home_button_home.png"; } } description { state: "show" 0.0; @@ -135,7 +135,7 @@ collections { color: 255 255 255 255; visible: 1; image { - normal: "../res/images/home_button_apps.png"; + normal: "home_button_apps.png"; } } description { state: "show" 0.0; diff --git a/res/edje/page_indicator_unit.edc b/res/edje/page_indicator_unit.edc index 0dbae85..41b07d6 100755 --- a/res/edje/page_indicator_unit.edc +++ b/res/edje/page_indicator_unit.edc @@ -20,8 +20,8 @@ collections { group { name: GROUP_PAGE_INDICATOR_UNIT; images { - image: "../res/images/page_indicator_current.png" COMP; - image: "../res/images/page_indicator_unit.png" COMP; + image: "page_indicator_current.png" COMP; + image: "page_indicator_unit.png" COMP; } script { public rot; @@ -56,7 +56,7 @@ collections { rel1{relative: 0.0 0.0; to:SIZE_SETTER;} rel2{relative: 1.0 1.0; to:SIZE_SETTER;} image { - normal: "../res/images/page_indicator_unit.png"; + normal: "page_indicator_unit.png"; } map { on: 1; @@ -70,7 +70,7 @@ collections { inherit: "default" 0.0; color: 255 255 255 255; image { - normal: "../res/images/page_indicator_current.png"; + normal: "page_indicator_current.png"; } } } diff --git a/res/edje/widget.edc b/res/edje/widget.edc index 340f2a0..647bcbd 100755 --- a/res/edje/widget.edc +++ b/res/edje/widget.edc @@ -1,8 +1,8 @@ #include "../../inc/edc_conf.h" images { - image: "../res/images/btn_delete_nor.png" COMP; - image: "../res/images/btn_delete_press.png" COMP; + image: "btn_delete_nor.png" COMP; + image: "btn_delete_press.png" COMP; } collections { @@ -75,7 +75,7 @@ collections { aspect: 1.0 1.0; aspect_preference: BOTH; image { - normal: "../res/images/btn_delete_nor.png"; + normal: "btn_delete_nor.png"; } } description { @@ -89,7 +89,7 @@ collections { inherit: "default" 0.0; color: 255 255 255 255; image { - normal: "../res/images/btn_delete_press.png"; + normal: "btn_delete_press.png"; } visible: 1; } -- 2.7.4