From ea9aebf2a7e572c7c72f5d3cea52151ffa099946 Mon Sep 17 00:00:00 2001 From: Jin Yoon Date: Wed, 29 May 2013 17:35:17 +0900 Subject: [PATCH] TTS : item, uninstall, edit, scrolling, init --- data/edje/all_apps_portrait.edc | 1 + data/edje/button_edit.edc | 227 +++++++++++++----------- data/edje/item_4x4.edc | 75 ++++++-- data/images/btn_edit_nor.9.png | Bin 0 -> 6025 bytes data/images/btn_edit_press.9.png | Bin 0 -> 6603 bytes data/images/icon_btn_done_nor.png | Bin 0 -> 3176 bytes data/images/icon_btn_done_press.png | Bin 0 -> 3135 bytes data/images/icon_btn_edit_nor.png | Bin 0 -> 1468 bytes data/images/icon_btn_edit_press.png | Bin 0 -> 1375 bytes data/org.tizen.menu-screen.xml.in | 2 +- data/po/ar.po | 5 +- data/po/az.po | 5 +- data/po/bg.po | 5 +- data/po/ca.po | 5 +- data/po/cs.po | 5 +- data/po/da.po | 5 +- data/po/de_DE.po | 5 +- data/po/el_GR.po | 5 +- data/po/en.po | 5 +- data/po/en_PH.po | 5 +- data/po/en_US.po | 5 +- data/po/es_ES.po | 5 +- data/po/es_MX.po | 5 +- data/po/et.po | 5 +- data/po/eu.po | 5 +- data/po/fi.po | 5 +- data/po/fr_CA.po | 5 +- data/po/fr_FR.po | 5 +- data/po/ga.po | 5 +- data/po/gl.po | 5 +- data/po/hi.po | 5 +- data/po/hr.po | 5 +- data/po/hu.po | 5 +- data/po/hy.po | 5 +- data/po/is.po | 5 +- data/po/it_IT.po | 5 +- data/po/ja_JP.po | 5 +- data/po/ka.po | 5 +- data/po/kk.po | 5 +- data/po/ko_KR.po | 5 +- data/po/lt.po | 5 +- data/po/lv.po | 5 +- data/po/mk.po | 5 +- data/po/nb.po | 5 +- data/po/nl_NL.po | 5 +- data/po/pl.po | 5 +- data/po/pt_BR.po | 5 +- data/po/pt_PT.po | 5 +- data/po/ro.po | 5 +- data/po/ru_RU.po | 5 +- data/po/sk.po | 5 +- data/po/sl.po | 5 +- data/po/sr.po | 5 +- data/po/sv.po | 5 +- data/po/tr_TR.po | 5 +- data/po/uk.po | 5 +- data/po/uz.po | 5 +- data/po/zh_CN.po | 5 +- data/po/zh_HK.po | 5 +- data/po/zh_SG.po | 5 +- data/po/zh_TW.po | 5 +- debian/changelog | 206 --------------------- debian/compat | 1 - debian/control | 19 -- debian/copyright | 0 debian/jobs | 0 debian/org.tizen.menu-screen.install.in | 3 - debian/org.tizen.menu-screen.postinst | 16 -- debian/rules | 153 ---------------- include/menu_screen.h | 2 + include/page_scroller.h | 3 + include/util.h | 4 + packaging/org.tizen.menu-screen.spec | 2 +- src/all_apps/layout.c | 76 +++++++- src/item.c | 130 +++++++++++++- src/menu_screen.c | 65 +++++++ src/page_scroller.c | 34 ++++ 77 files changed, 683 insertions(+), 591 deletions(-) create mode 100644 data/images/btn_edit_nor.9.png create mode 100644 data/images/btn_edit_press.9.png create mode 100644 data/images/icon_btn_done_nor.png create mode 100644 data/images/icon_btn_done_press.png create mode 100644 data/images/icon_btn_edit_nor.png create mode 100644 data/images/icon_btn_edit_press.png delete mode 100644 debian/changelog delete mode 100644 debian/compat delete mode 100644 debian/control delete mode 100644 debian/copyright delete mode 100644 debian/jobs delete mode 100644 debian/org.tizen.menu-screen.install.in delete mode 100644 debian/org.tizen.menu-screen.postinst delete mode 100755 debian/rules diff --git a/data/edje/all_apps_portrait.edc b/data/edje/all_apps_portrait.edc index ac04d72..bbbc287 100644 --- a/data/edje/all_apps_portrait.edc +++ b/data/edje/all_apps_portrait.edc @@ -68,6 +68,7 @@ collections { align: 0.5 0.5; rel1 { relative: 16/720 8/70; to, "index_bg";} rel2 { relative: 144/720 62/70; to, "index_bg";} + fixed: 1 1; visible: 1; } } diff --git a/data/edje/button_edit.edc b/data/edje/button_edit.edc index 5dfec24..abb0ff4 100644 --- a/data/edje/button_edit.edc +++ b/data/edje/button_edit.edc @@ -16,11 +16,18 @@ +#define BUTTON_EDIT_BG_SIZE 98 56 +#define BUTTON_EDIT_IMAGE_SIZE 35 35 + + + images { - image: "../images/RM06_App_tray_setting.png" COMP; - image: "../images/RM06_App_tray_setting_press.png" COMP; - image: "../images/RM06_App_tray_edit_btn.png" COMP; - image: "../images/RM06_App_tray_edit_btn_press.png" COMP; + image: "../images/btn_edit_nor.9.png" COMP; + image: "../images/btn_edit_press.9.png" COMP; + image: "../images/icon_btn_edit_press.png" COMP; + image: "../images/icon_btn_edit_nor.png" COMP; + image: "../images/icon_btn_done_press.png" COMP; + image: "../images/icon_btn_done_nor.png" COMP; } @@ -36,20 +43,17 @@ collections { mouse_events: 1; description { state: "default" 0.0; - rel1 { relative: 25/128 0.0; } + rel1 { relative: 0.0 0.0; } rel2 { relative: 1.0 1.0; } visible: 0; } description { state: "enable" 0.0; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 1.0 1.0; } - visible: 0; + inherit: "default" 0.0; } description { state: "hide" 0.0; inherit: "default" 0.0; - visible: 0; } } part { @@ -61,18 +65,22 @@ collections { state: "default" 0.0; rel1 { relative: 0.5 0.5; to, "edit_button"; } rel2 { relative: 0.5 0.5; to, "edit_button"; } - min: 119 54; - max: 119 54; + min: BUTTON_EDIT_BG_SIZE; + max: BUTTON_EDIT_BG_SIZE; fixed: 1 1; image { - normal: "../images/RM06_App_tray_edit_btn.png"; - border: 3 3 3 3; + normal: "../images/btn_edit_nor.9.png"; + border: 30 30 0 0; middle: DEFAULT; border_scale: 0; } - color: 0 0 0 0; + color: 255 255 255 255; visible: 1; } + description { + state: "edit" 0.0; + inherit: "default" 0.0; + } description { state: "enable" 0.0; inherit: "default" 0.0; @@ -80,19 +88,10 @@ collections { } description { state: "press" 0.0; - rel1 { relative: 0.5 0.5; to, "edit_button"; } - rel2 { relative: 0.5 0.5; to, "edit_button"; } - min: 119 54; - max: 119 54; - fixed: 1 1; + inherit: "default" 0.0; image { - normal: "../images/RM06_App_tray_edit_btn_press.png"; - border: 3 3 3 3; - middle: DEFAULT; - border_scale: 0; + normal: "../images/btn_edit_press.9.png"; } - color: 255 255 255 255; - visible: 1; } description { state: "hide" 0.0; @@ -108,54 +107,49 @@ collections { description { state: "default" 0.0; align: 0.5 0.5; - rel1 { relative: 30/119 0.5; to, "edit_button_bg";} - rel2 { relative: 30/119 0.5; to, "edit_button_bg";} + rel1 { relative: 0.5 0.5; to, "edit_button_bg";} + rel2 { relative: 0.5 0.5; to, "edit_button_bg";} image { - normal: "../images/RM06_App_tray_setting.png"; + normal: "../images/icon_btn_edit_nor.png"; } - min:42 42; + min: BUTTON_EDIT_IMAGE_SIZE; + max: BUTTON_EDIT_IMAGE_SIZE; fixed: 1 1; visible: 1; } + description { + state: "edit" 0.0; + inherit: "default" 0.0; + image { + normal: "../images/icon_btn_done_nor.png"; + } + } description { state: "press" 0.0; inherit: "default" 0.0; image { - normal: "../images/RM06_App_tray_setting_press.png"; + normal: "../images/icon_btn_edit_press.png"; } } description { - state: "hide" 0.0; + state: "edit_press" 0.0; inherit: "default" 0.0; - visible: 0; + image { + normal: "../images/icon_btn_done_press.png"; + } } } - part { - name: "edit_button_text"; - type: TEXT; - effect: SOFT_SHADOW; + part { + name: "edit_button_event"; + type: RECT; scale: 1; mouse_events: 1; description { - state: "default" 0.0; - rel1 { relative: 50/119 0.15; to, "edit_button_bg";} // origin : 59/119 0.0 - rel2 { relative: 1.0 1.0; to, "edit_button_bg";} - color: 183 183 183 255; - color2: 0 0 0 35; - color3: 0 0 0 35; - text { - text_class: "tizen"; - font: "TIZEN:style=medium"; - size: 6; - fit: 1 1; - align: 0.5 0.5; - } + state: "default" 0.0; + rel1 { relative: -0.1 -0.1; to: "edit_button_bg"; } + rel2 { relative: 1.1 1.1; to: "edit_button_bg"; } + color: 0 0 0 0; visible: 1; - } - description { - state: "press" 0.0; - inherit: "default" 0.0; - color: 249 249 249 255; } description { state: "hide" 0.0; @@ -163,24 +157,32 @@ collections { visible: 0; } } - + part { + name: "focus"; + type: SWALLOW; + scale: 1; + mouse_events: 1; + repeat_events: 1; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; to: "edit_button_event"; } + rel2 { relative: 1.0 1.0; to: "edit_button_event"; } + fixed: 1 1; + visible: 1; + } + } part { - name: "edit_button_event"; + name: "state_edit"; type: RECT; scale: 1; mouse_events: 1; description { state: "default" 0.0; - align: 0.5 0.5; - color: 0 0 0 0; - rel1 { relative: 0.0 0.0; to, "edit_button";} - rel2 { relative: 1.0 1.0; to, "edit_button";} - visible: 1; + visible: 0; } description { - state: "hide" 0.0; + state: "edit" 0.0; inherit: "default" 0.0; - visible: 0; } } } @@ -188,11 +190,27 @@ collections { programs { program { name: "edit_button,down"; - signal: "mouse,down,*"; + signal: "mouse,down,1"; source: "edit_button_event"; action: STATE_SET "press" 0.0; - target: "edit_button_image"; - target: "edit_button_text"; + target: "edit_button_bg"; + after: "press_state"; + } + program { + name: "press_state"; + script { + new st[31]; + new Float:vl; + get_state(PART:"state_edit", st, 30, vl); + if (!strcmp(st, "default")) + { + set_state(PART:"edit_button_image", "press", 0.0); + } + else + { + set_state(PART:"edit_button_image", "edit_press", 0.0); + } + } after: "edit_button,down,after"; } program { @@ -202,71 +220,70 @@ collections { program { name: "edit_button,up"; - signal: "mouse,up,*"; + signal: "mouse,up,1"; source: "edit_button_event"; action: STATE_SET "default" 0.0; - target: "edit_button_image"; - target: "edit_button_text"; + target: "edit_button_bg"; after: "edit_button,up,after"; } - program { + program { // Edit or unedit in C codes. name: "edit_button,up,after"; action: SIGNAL_EMIT "edit_button,up" "menu"; } - - program { - name: "edit_button,enable"; - signal: "edit_button,enable"; - source: "menu"; - action: STATE_SET "enable" 0.0; - target: "edit_button"; - target: "edit_button_bg"; - transition: DECELERATE 0.4; - } - program { - name: "edit_button,disable"; - signal: "edit_button,disable"; + program { // This program is called from C. + name: "release_state"; + signal: "edit_button,release"; source: "menu"; - action: STATE_SET "default" 0.0; - target: "edit_button"; - target: "edit_button_bg"; - transition: DECELERATE 0.4; + script { + new st[31]; + new Float:vl; + get_state(PART:"state_edit", st, 30, vl); + if (!strcmp(st, "default")) // Normal mode + { + set_state(PART:"edit_button_image", "default", 0.0); + } + else // Edit mode + { + set_state(PART:"edit_button_image", "edit", 0.0); + } + } } - program { - name: "edit_button,enable,press"; - signal: "edit_button,enable,press"; + program { // Edit mode + name: "edit_button_state,edit"; + signal: "edit_button_state,edit"; source: "menu"; - action: STATE_SET "press" 0.0; + action: STATE_SET "edit" 0.0; + target: "state_edit"; target: "edit_button_bg"; + target: "edit_button_image"; } - program { - name: "edit_button,enable,release"; - signal: "edit_button,enable,release"; + program { // Normal mode + name: "edit_button_state,unedit"; + signal: "edit_button_state,unedit"; source: "menu"; - action: STATE_SET "enable" 0.0; + action: STATE_SET "default" 0.0; + target: "state_edit"; target: "edit_button_bg"; + target: "edit_button_image"; } + program { - name: "edit_button_image,hide"; - signal: "edit_button_image,hide"; + name: "edit_button,show"; + signal: "edit_button,show"; source: "menu"; - action: STATE_SET "hide" 0.0; - target: "edit_button"; + action: STATE_SET "default" 0.0; target: "edit_button_bg"; target: "edit_button_image"; - target: "edit_button_text"; target: "edit_button_event"; } program { - name: "edit_button_image,show"; - signal: "edit_button_image,show"; + name: "edit_button,hide"; + signal: "edit_button,hide"; source: "menu"; - action: STATE_SET "default" 0.0; - target: "edit_button"; + action: STATE_SET "hide" 0.0; target: "edit_button_bg"; target: "edit_button_image"; - target: "edit_button_text"; target: "edit_button_event"; } } diff --git a/data/edje/item_4x4.edc b/data/edje/item_4x4.edc index 2d5f235..7d688d2 100644 --- a/data/edje/item_4x4.edc +++ b/data/edje/item_4x4.edc @@ -35,6 +35,8 @@ images { image: "../images/menu_badge_01.png" COMP; } + + collections { group { name: "icon"; @@ -49,7 +51,8 @@ collections { state: "default" 0.0; rel1 { relative: 0.0 0.0; } rel2 { relative: 1.0 1.0; } - color: 0 0 0 0; + fixed: 1 1; + visible: 0; } } part { @@ -174,24 +177,6 @@ collections { visible: 1; } } - part { - name: "uninstall_event"; - type: RECT; - scale: 1; - mouse_events: 1; - description { - state: "default" 0.0; - rel1 { relative: -0.2 -0.2; to, "uninstall"; } - rel2 { relative: 1.2 1.2; to, "uninstall"; } - color: 0 0 0 0; - visible: 0; - } - description { - state: "edit,release" 0.0; - inherit: "default" 0.0; - visible: 1; - } - } part { name: "txt"; type: TEXT; @@ -223,6 +208,56 @@ collections { color: 0 0 0 0; } } + part { + name: "focus"; + type: SWALLOW; + scale: 1; + mouse_events: 1; + repeat_events: 1; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; to, "bg"; } + rel2 { relative: 1.0 1.0; to, "bg"; } + fixed: 1 1; + visible: 1; + } + } + part { + name: "uninstall_event"; + type: RECT; + scale: 1; + mouse_events: 1; + description { + state: "default" 0.0; + rel1 { relative: -0.2 -0.2; to, "uninstall"; } + rel2 { relative: 1.2 1.2; to, "uninstall"; } + color: 0 0 0 0; + visible: 0; + } + description { + state: "edit,release" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } + part { + name: "uninstall_focus"; + type: SWALLOW; + scale: 1; + mouse_events: 1; + repeat_events: 1; + description { + state: "default" 0.0; + rel1 { relative: 0.0 0.0; to, "uninstall_event"; } + rel2 { relative: 1.0 1.0; to, "uninstall_event"; } + visible: 0; + } + description { + state: "edit,release" 0.0; + inherit: "default" 0.0; + visible: 1; + } + } } programs { @@ -265,6 +300,7 @@ collections { target: "block_event"; target: "uninstall"; target: "uninstall_event"; + target: "uninstall_focus"; } program { name: "uninstall,off"; @@ -274,6 +310,7 @@ collections { target: "block_event"; target: "uninstall"; target: "uninstall_event"; + target: "uninstall_focus"; } program { name: "uninstall,down"; diff --git a/data/images/btn_edit_nor.9.png b/data/images/btn_edit_nor.9.png new file mode 100644 index 0000000000000000000000000000000000000000..1cb7440890f476a5d8449d826e6dfc32f60c68b3 GIT binary patch literal 6025 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 DRRFHd literal 0 HcmV?d00001 diff --git a/data/images/btn_edit_press.9.png b/data/images/btn_edit_press.9.png new file mode 100644 index 0000000000000000000000000000000000000000..8619ff3cad9200043031203e8902d12364b48ae8 GIT binary patch literal 6603 zcmV;+88qgJP)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z000j5Nkl*W@iP0jF|A_=Q zh|mLwk)~)+AV3lH2#Q`P3>0yZqK#`HP181r{a1nnZS6R)9Z61{%4vMWl1%EBEYUpn ze(%jp|CqPSr9{b+WjoXW3y`~u_ugl|zhmY%zZLI2@9>C#9H4t%H#!`U0v1Ss_?>(} zS-<@gH+_-uLr+9N9>{Iqards%r_bD%rpZ=o-6rS!C?erz*SJP^>b*yV)5e(Bj4{WC zR;_&Ug%^JOKN)yDwqx(xo`5r(K7aGjpg|elr3-CyybVNXJ!w0&o-?! zN^6v;3^;%W=nl+P%&j{g(uD?(_XKe7aMoh2MG3DA3{)OFcJ#Hc0=2Ondy^Z5Ha7^X zfbx#J@40v4#K{9`ntoiH2t7~Pj+F|C!ife^;f2u4EnR(GHX|OqLvY|7N_kKk>&CuVt2h2IiXyZ&^UTU-8^SGpqi))B&gG*6j@gj&)D5Yt~$!CXF509NccjnXM zhn}cikFT5S0p7T2^F!5Y?Ep%DFp6?rV2{G797H7~-%l==C#npQU$&n7l3_$eh*BVe zh`QW?=Q+9Wns*k!Y)m|JmiC(yB(vv8;uzPO#ib3zB`9%-fGEMH>HRBKt$wz@ul(rv z@niomwqtMOZ9|VAdZMsl#=cz=7m>jT|7$CZsM9#NZLY3QA!Xaq*k`h z%+|iJVdG}Tj~{(xY{%Z_)uFGFNyZO8kpuc_^~M3E%vNIzqC!yeI*$~V5*11mmT#gw z{7dLu3DE`-ovAwqEL~tO3uE)4Js$C$NFRckcM(cQn9(~Zt=dNY%n@3Xuah<#`1TZH zV?;?uy}_B;+0T9Ww%g8)A35^PvAY+}>1Lt)IezeQ4fGEU4gaTz+NLvLFFL4O8YEv{ zLjQ()$n~v6OoXUTP}6hjc7U%lO^fgFd&Iji5z67c4na<7`p51jzif=^#1DxZ5w0;A zR9BhVdOvdE!o>r?cgGJtF+Fzo16M?Kb(Q<~kE~tymk#!5V^Ce-5~{qM(%>jd-v3c@ zl_6A=N0}T-2Sr4O3F?@42R=~0#j7(>qOxmfM4RrlRg_0Z1@cRWS^9zdDJ~sGl~>?R z5ijBU+C(_do;4$D{~G9D2u>}aa%pVCriWVX_U{E?GY`0L)n*1Z@5bcIXp=|j97;uV zracexrdG(=1W359HYgRLbPjFun0y~gw(Oz2d_AhX9B+ys3Z)d<7~(knov{s@9vVOR zc=?*p;|CvCKxt-n_K%Fop?Z8+l?N%W+(7^O9bI*$SJ`(A_8Ra?BU&Rm3f2`BsBG9t zX>b%(8pP`Yh(;-mF%dJfvtIy;nY+$GXNjT{Qp%(2#{SrtXsOaVte{j5Ra#DA$qAZX3zQmBCIin?*|?MZzzQfW!>h0m(pqCoR2f;j?n^+~FQoKDn2mg` zUjLld!H>}q6e>ieJ}Mh_qM}0Z+YEMII(kn=2VBhuHw6YZe1xdbhtF5SYEUV(HZ+>8 z&wTV__kVce;NxZvx@(pcSFaiQD`O(v$;Dn5kbFOVYj4No`!aP+kHYU2>|22A2vZ!O zJaQW<-=CSeLTQCDh8JJ_=>ecPPw9yteoKISJB}YzIz(PC8Yv7=Trxyq+1Q-I-Kfkj zaP)$!5La|WX~kypmE}l&051j+h0>Zsi#!4-Av*TL!r@UKC0Mr8Ltsvk!EkGt)NKx*e*MdQ^nu ziWCMnh7_SRbj*6u0QVLlRCvBDr4Ow(q!CloUis z7Qk}oT$JsUbheI`#mL*^-;!-~H2GztsL0@T6s$oBN@;!j?RV}0A_YVjE?oF!)irGe zQHiL$A}m0{;Lb|OWToS@Ifb`2`#(&CHhLVe3b2Jj;brGsR&TfXG$w9L zf^&H1@ZR;9`Qjw@ozoHT@!kzIgNq|Cl+zGTneo;ia}QpCpDdmiUp>$zv2Ih1?w*`$-F<0y*$+dCI7;u3tj zN%PI|ptiGfiZ4QP?_F?3o8qmdIW>WAHv)(EIA@8BeumJ$(yg4dSFc+6xU~UJd0PR`C2luqrGB~*GaiHA`og6vxzu$J&&N}D7 zTg0`o%?8!;|A$KxyiGF2?IL0B00%*W$|==zKgG8i;XK&?@(p{>i2(&UwTo(43+q{{Ftd3u;@i3DTS*sZB9` z@-Qxq1Gw!3H~$`|vQ92`-8kcHf=gOVpEyKXpFvtPh)ZzJVbhdKfB#p2=E$yn{tD=9 z)K5-~KMejwYc1e|Z&WYRoIJ(s*(0Gh#Kv78^4W^#-3RXpTF&Bag0nF$iJ3Y50-rk~TA^e?;xVF{r+Qq%Clv=PXTP1}goJ0`*>%VS%2LkzM;*r(gT|zl?3% zRH;_$UlLJh0g^ht_6F6n9+xy37`+qkJxaS!8yB4wVpPw0fZV*YbQT>UEqR;bY>JH= zOrJbVbMh3-zJb^VlBKOQjTxx)|M~G_NB?nT*S;&djjq;nQX4;h?8_sg>sQBd@)?oL zB$66_)=~G4v^~qf+Plb=mLWbn*z-N*;6S^Dr-mA|4Fme{sR+5Xsx>kdZ8aQ!kYp<-;c@_5Tl5SOEHB3Ore6Ph^RPl zRp_KS9TpkwDoJySv^9fE9kiPeSCO=x!P@Rt(b}MJv5>&k8Sw;Y_;~q&@O3E*Jy|(R|1_2Z5*Nyef9G&Z-Wn$CSco;G=up%dqqR6a}H-y zk|d_m-~SgAC z3ubYlC&zo6HO@IieE4)8ti{>{t>k;d!)qS<$qO%h7pM*I-v5>hgbwr#^?PR*uAMo2 z_}jqu-?!}p`!7vSemYIlJLfgIchi**DoN72Y`$8Veg5a(x_{Cz z_frOXl?}VPsmPe8HgDSawL=G=dj@C@@7~{fyUQMPGYiBlEws-(_w0WGKLB#~?)kMl zCMHg7Z?#%m(=_>@hl+D_L*?_fI|rJVW?tlF2x4KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0004#NklgcG z04J*%d}fb3z~DbaAS9uGw{QQgqOR-MNHLK1UbjHK+sI4;yoss4O0$un*8wvC=@y2b ztWs^dLwg`s-a7;Jnub!@ogsY!6+pC7m&L$EDOCeJNS9&$0XN0X%vy%_at-MO)cqS~ zLvB9gVl6{4@S@~REnW3XJKzpDSog0$In&Uy!c8kiTg}h`$gKMr@HMohp2}sRYTjsH zG}3mVov|o4eMMc@#d6RkO0AFD_A1=WdX|w76cbjfag&5{Gt_0ZWI||;_;Pb{aig`p ztG;7AxpuOWv&u{MS>`%(GzMbe-H|tWNJp4}TBpK@@37@!)7y|UMTL?6iXR6utj|re zgdty^GBGrp8y7<%Gfcb`H@=2$++36&M&af@AV|GShDSb)4qJa==*PS}qEe=WSqhn{ zD@Qn9C8Jo=koIqLHaAlz#zx_(SjxOJ+|1%$O)ueGdT96L@DcqKLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0004MNkl80n zbhB#5A1C`sr>Kn+z1TnBop&TrNezHj{JsOY?kkx&09cJFsq;%EL-P|e0PqHqrDLR9 zZD}*T$IOW&N}6d&-W+D;$GB2v8j`ES%(uA@k|+iBXl-$+&TRQVRpzF*$JgX$diG2$ zZdS>Sj6HxOfKO{(zW@xG+)NH`?f^diaU(@?30>caIK^;dFWKaH@MaiD;f68X*oGRD z3!>KA!%fz^RK7~YoIBge`67~=W9UcOf28u{o8d8rL5S5Hlk+Iu22DJbdM?(%roqBcFsQ_&?XjfARL)GP& ziD}S$CxwRwjkYCb@ai$MX!TKB427IFv$=_3Nb1MIQ>SGnwaFhHNwWBoN%iJ>(LOKz Z4gkKT&JQGniW>j`002ovPDHLkV1ndu)l2{Y literal 0 HcmV?d00001 diff --git a/data/images/icon_btn_edit_nor.png b/data/images/icon_btn_edit_nor.png new file mode 100644 index 0000000000000000000000000000000000000000..f79ea9250caf0c5108cf7053b777e7e0e43b079e GIT binary patch literal 1468 zcmeAS@N?(olHy`uVBq!ia0vp^${@_a1|;QfZjJ;}k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvv ztM~P_^2{qPNz6-5^>ndS0-B(gnVDi`X>M-r=;Y$&Xk=n(Xy|HWY3SzYW@zf-;^yXN z>1JpE)9aF-T$-DjR|3-)y{k_+Y+zn(Lh=K<@U2KEi?7Z_GX z1T?PlQcAUUa2S9eB!4kHFoYko=eh#t_NAK+!^vPV*BCyldmjJzAHb|;J^|N zg~QBKOoGg(HJ9xO(n;3z!*Lxp)=lsqez#=27#`SagajFuk3v z&m($M%V6K6CvpZX76QqP2?q`=T&~!7U5@|K}nvxw)_)B8>tuhLmrW?=ql!Lu_O)3}UN8=tEy zE>XW=U0ada`1ibe=^2N0pHFO4XODGy_*tRh=Jy$uleHOceSdqaE7ITXp2Mbl)m}G6 zH_aE3NS>Fuan-V@d@T+)bH>bqBSNe7&HGJQ6~qlSg=e6!?Mc9gz0JiyU(qUcSqCG&;Q{pW22x3kKA(YT*p7puOZ jdV9pS#dSM>i6t-u8}4_nK2kdcRGxae`njxgN@xNAD-0U? literal 0 HcmV?d00001 diff --git a/data/images/icon_btn_edit_press.png b/data/images/icon_btn_edit_press.png new file mode 100644 index 0000000000000000000000000000000000000000..aaaa7fab503bd3ac7b7207e6decb693912ba771d GIT binary patch literal 1375 zcmeAS@N?(olHy`uVBq!ia0vp^${@_a1|;QfZjJ;}k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`f(~1RD^r68eAMwS&*t9 zlvv ztM~P_^2{qPNz6-5^>ndS0-B(gnVDkcXl!6)>}F!*Xk=n(Xy|HWVP@{^Xlm@_=;-WZ zY3k|%)9aF-T$-DjR|3Q!gkfv4~Pj*wm=R%;iu*SQ+p9GSx@wJJIlbpc-hm%F{I+w zo(S%V%?1Kz7cy{KvU@yGxxy$kp`kUnfkmZ&uZg)}g4K!Eb7^Wzf9_E^F#G1qDS2k= zXa8kgHYI7nl_)FS)zfC~`~BtH{nlxA3%)CM2wgYIn)pig(B_LJ7bb6+H{a1s!+u%w zJBbTZ!zUZIM76ueaJ>8aHA&>ynx&~vZ)~Y)7ttz{-!|jW+>}KfvcYRpm!1!@c{yXA zp;1it0$=fL$6_JD*%u!DINX2TkV#Xrd5MxbcTSJm*4IqVzjr+gP-y3=-d%Tg#gWxc z=S}8Ko6s~bRmX{Q>8-fc0VV1SmOVPbe_o#R+xD30zb;tqF=lw((kW@Oc*24w^VZ3~ z&fU5?@Yk%nUWSUsyEnP)`nOT`58JO(ackv>*Nar`G<0@wfeURUT2vE)&z= z>@rY0!o2+K&O>TPGrn%s-oVgQ>@j0{ZYJaH%_o;xE=@@na$5E0j7D&P&&(77C+)?r zTf9_CTHAl!S*NSnwnI5$HjmS#bq7>G_w2lK^Y~p=A*r`lo~4|TnCCAsBf#lWg~ZNF zah@Hmw-}8!FH5*`Y2m5zn9u|#Q45Q^&KwrrOWrAzzx~?Nz29Y4%#zph-PFF+9h+Kv r$obcl@5bNUY;( - + Jin Yoon Youngjoo Park diff --git a/data/po/ar.po b/data/po/ar.po index ab58d16..31821ad 100644 --- a/data/po/ar.po +++ b/data/po/ar.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "تم" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "هل تريد إلغاء تثبيت %s؟" \ No newline at end of file +msgstr "هل تريد إلغاء تثبيت %s؟" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "إلغاء التثبيت" \ No newline at end of file diff --git a/data/po/az.po b/data/po/az.po index 463e83e..991ce16 100644 --- a/data/po/az.po +++ b/data/po/az.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Tamam" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "%s silinsin?" \ No newline at end of file +msgstr "%s silinsin?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Quraşdırılma ləğv edilsin" \ No newline at end of file diff --git a/data/po/bg.po b/data/po/bg.po index c69d937..20cb7d5 100644 --- a/data/po/bg.po +++ b/data/po/bg.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Готово" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Деинсталиране на %s?" \ No newline at end of file +msgstr "Деинсталиране на %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Деинсталиране" \ No newline at end of file diff --git a/data/po/ca.po b/data/po/ca.po index be404dd..a4bc2cb 100644 --- a/data/po/ca.po +++ b/data/po/ca.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Realit" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Desinstal·lar %s?" \ No newline at end of file +msgstr "Desinstal·lar %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Desinstal·lar" \ No newline at end of file diff --git a/data/po/cs.po b/data/po/cs.po index 719a82f..71d1942 100644 --- a/data/po/cs.po +++ b/data/po/cs.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Hot." msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Odinstalovat %s?" \ No newline at end of file +msgstr "Odinstalovat %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Odinstalovat" \ No newline at end of file diff --git a/data/po/da.po b/data/po/da.po index 0c9f442..d99306a 100644 --- a/data/po/da.po +++ b/data/po/da.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Udført" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Afinstallér %s?" \ No newline at end of file +msgstr "Afinstallér %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Afinstallér" \ No newline at end of file diff --git a/data/po/de_DE.po b/data/po/de_DE.po index 1be4d6c..f5f4d32 100644 --- a/data/po/de_DE.po +++ b/data/po/de_DE.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Fertig" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "%s deinstallieren?" \ No newline at end of file +msgstr "%s deinstallieren?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Deinstallieren" \ No newline at end of file diff --git a/data/po/el_GR.po b/data/po/el_GR.po index 97ff2e7..be489f7 100644 --- a/data/po/el_GR.po +++ b/data/po/el_GR.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Τέλος" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Κατάργηση της εγκατάστασης του %s;" \ No newline at end of file +msgstr "Κατάργηση της εγκατάστασης του %s;" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Κατάργηση εγκατάστασης" \ No newline at end of file diff --git a/data/po/en.po b/data/po/en.po index d24f1da..9536899 100644 --- a/data/po/en.po +++ b/data/po/en.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Done" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Uninstall %s?" \ No newline at end of file +msgstr "Uninstall %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Uninstall" \ No newline at end of file diff --git a/data/po/en_PH.po b/data/po/en_PH.po index d24f1da..9536899 100644 --- a/data/po/en_PH.po +++ b/data/po/en_PH.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Done" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Uninstall %s?" \ No newline at end of file +msgstr "Uninstall %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Uninstall" \ No newline at end of file diff --git a/data/po/en_US.po b/data/po/en_US.po index d24f1da..9536899 100644 --- a/data/po/en_US.po +++ b/data/po/en_US.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Done" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Uninstall %s?" \ No newline at end of file +msgstr "Uninstall %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Uninstall" \ No newline at end of file diff --git a/data/po/es_ES.po b/data/po/es_ES.po index bc229f6..02cc757 100644 --- a/data/po/es_ES.po +++ b/data/po/es_ES.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Finalizado" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "¿Desinstalar %s?" \ No newline at end of file +msgstr "¿Desinstalar %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Desinstalar" \ No newline at end of file diff --git a/data/po/es_MX.po b/data/po/es_MX.po index 3b24a12..279a111 100644 --- a/data/po/es_MX.po +++ b/data/po/es_MX.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Realiz." msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "¿Desinstalar %s?" \ No newline at end of file +msgstr "¿Desinstalar %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Desinstalar" \ No newline at end of file diff --git a/data/po/et.po b/data/po/et.po index 8b1bee8..be64f0c 100644 --- a/data/po/et.po +++ b/data/po/et.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Valmis" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Kas desinstallida %s?" \ No newline at end of file +msgstr "Kas desinstallida %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Deinstalli" \ No newline at end of file diff --git a/data/po/eu.po b/data/po/eu.po index 73d79e2..13b5795 100644 --- a/data/po/eu.po +++ b/data/po/eu.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Egina" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Desinstalatu %s?" \ No newline at end of file +msgstr "Desinstalatu %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Desinstalatu" \ No newline at end of file diff --git a/data/po/fi.po b/data/po/fi.po index 71206fe..0802515 100644 --- a/data/po/fi.po +++ b/data/po/fi.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Valmis" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Poistetaanko kohteen %s asennus?" \ No newline at end of file +msgstr "Poistetaanko kohteen %s asennus?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Poista asennus" \ No newline at end of file diff --git a/data/po/fr_CA.po b/data/po/fr_CA.po index 4bd264c..7977fd8 100644 --- a/data/po/fr_CA.po +++ b/data/po/fr_CA.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "OK" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Désinstaller %s ?" \ No newline at end of file +msgstr "Désinstaller %s ?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Désinstaller" \ No newline at end of file diff --git a/data/po/fr_FR.po b/data/po/fr_FR.po index 4bd264c..7977fd8 100644 --- a/data/po/fr_FR.po +++ b/data/po/fr_FR.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "OK" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Désinstaller %s ?" \ No newline at end of file +msgstr "Désinstaller %s ?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Désinstaller" \ No newline at end of file diff --git a/data/po/ga.po b/data/po/ga.po index be8ff94..36117b4 100644 --- a/data/po/ga.po +++ b/data/po/ga.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Déanta" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Díshuiteáil %s?" \ No newline at end of file +msgstr "Díshuiteáil %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Díshuiteáil" \ No newline at end of file diff --git a/data/po/gl.po b/data/po/gl.po index 72a8f93..5c99a7f 100644 --- a/data/po/gl.po +++ b/data/po/gl.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Feito" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Desexas desinstalar %s?" \ No newline at end of file +msgstr "Desexas desinstalar %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Desinstalar" \ No newline at end of file diff --git a/data/po/hi.po b/data/po/hi.po index 34373c1..78e0813 100644 --- a/data/po/hi.po +++ b/data/po/hi.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "पूरा हुआ" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "%s की स्थापना रद्द करें?" \ No newline at end of file +msgstr "%s की स्थापना रद्द करें?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "अस्थापित करें" \ No newline at end of file diff --git a/data/po/hr.po b/data/po/hr.po index e995ee4..8a4cf42 100644 --- a/data/po/hr.po +++ b/data/po/hr.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Kraj" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Deinstalirati %s?" \ No newline at end of file +msgstr "Deinstalirati %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Deinstaliraj" \ No newline at end of file diff --git a/data/po/hu.po b/data/po/hu.po index 87aad3d..6140991 100644 --- a/data/po/hu.po +++ b/data/po/hu.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Kész" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Eltávolítja a(z) %s animált emotikont?" \ No newline at end of file +msgstr "Eltávolítja a(z) %s animált emotikont?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Eltávolítás" \ No newline at end of file diff --git a/data/po/hy.po b/data/po/hy.po index 12fa94e..ec74b44 100644 --- a/data/po/hy.po +++ b/data/po/hy.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Արված է" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Ապատեղադրե՞լ %s-ը:" \ No newline at end of file +msgstr "Ապատեղադրե՞լ %s-ը:" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Ապատեղադրել" \ No newline at end of file diff --git a/data/po/is.po b/data/po/is.po index 8b20c15..0d5ee01 100644 --- a/data/po/is.po +++ b/data/po/is.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Lokið" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Fjarlægja %s?" \ No newline at end of file +msgstr "Fjarlægja %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Fjarlægja" \ No newline at end of file diff --git a/data/po/it_IT.po b/data/po/it_IT.po index 26cc693..81b02da 100644 --- a/data/po/it_IT.po +++ b/data/po/it_IT.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Fatto" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Disinstallare %s?" \ No newline at end of file +msgstr "Disinstallare %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Disinstalla" \ No newline at end of file diff --git a/data/po/ja_JP.po b/data/po/ja_JP.po index 807018c..bacd41c 100644 --- a/data/po/ja_JP.po +++ b/data/po/ja_JP.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "完了" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "%sをアンインストールしますか?" \ No newline at end of file +msgstr "%sをアンインストールしますか?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "アンインストール" \ No newline at end of file diff --git a/data/po/ka.po b/data/po/ka.po index 9da318c..31d2726 100644 --- a/data/po/ka.po +++ b/data/po/ka.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "შესრულდა" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "ამოინსტალირდეს %s?" \ No newline at end of file +msgstr "ამოინსტალირდეს %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "ინსტალაციის გაუქმება" \ No newline at end of file diff --git a/data/po/kk.po b/data/po/kk.po index 57ce2f5..c1d9813 100644 --- a/data/po/kk.po +++ b/data/po/kk.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Дайын" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "%s жою керек пе?" \ No newline at end of file +msgstr "%s жою керек пе?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Жою" \ No newline at end of file diff --git a/data/po/ko_KR.po b/data/po/ko_KR.po index 2c0c07c..606c7c2 100644 --- a/data/po/ko_KR.po +++ b/data/po/ko_KR.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "완료" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "%s을(를) 삭제할까요?" \ No newline at end of file +msgstr "%s을(를) 삭제할까요?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "삭제" \ No newline at end of file diff --git a/data/po/lt.po b/data/po/lt.po index d031262..dd44366 100644 --- a/data/po/lt.po +++ b/data/po/lt.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Atlikta" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Pašalinti „%s“?" \ No newline at end of file +msgstr "Pašalinti „%s“?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Pašalinti" \ No newline at end of file diff --git a/data/po/lv.po b/data/po/lv.po index 41227e0..8160d6c 100644 --- a/data/po/lv.po +++ b/data/po/lv.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Gatavs" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Vai atinstalēt %s?" \ No newline at end of file +msgstr "Vai atinstalēt %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Atinstalēt" \ No newline at end of file diff --git a/data/po/mk.po b/data/po/mk.po index 521a6f8..eb6aca3 100644 --- a/data/po/mk.po +++ b/data/po/mk.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Готово" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Да се деинсталира %s?" \ No newline at end of file +msgstr "Да се деинсталира %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Деинсталирај" \ No newline at end of file diff --git a/data/po/nb.po b/data/po/nb.po index bafa5f2..e6961ca 100644 --- a/data/po/nb.po +++ b/data/po/nb.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Utført" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Avinstallere %s?" \ No newline at end of file +msgstr "Avinstallere %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Avinstaller" \ No newline at end of file diff --git a/data/po/nl_NL.po b/data/po/nl_NL.po index f4bb3ab..f29bdb7 100644 --- a/data/po/nl_NL.po +++ b/data/po/nl_NL.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Gereed" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "%s verwijderen?" \ No newline at end of file +msgstr "%s verwijderen?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Verwijderen" \ No newline at end of file diff --git a/data/po/pl.po b/data/po/pl.po index 2df7d65..c971254 100644 --- a/data/po/pl.po +++ b/data/po/pl.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Gotowe" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Odinstalować %s?" \ No newline at end of file +msgstr "Odinstalować %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Odinstaluj" \ No newline at end of file diff --git a/data/po/pt_BR.po b/data/po/pt_BR.po index eb37967..28b996a 100644 --- a/data/po/pt_BR.po +++ b/data/po/pt_BR.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Concluído" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Desinstalar %s?" \ No newline at end of file +msgstr "Desinstalar %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Desinstalar" \ No newline at end of file diff --git a/data/po/pt_PT.po b/data/po/pt_PT.po index e0b260f..8140980 100644 --- a/data/po/pt_PT.po +++ b/data/po/pt_PT.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Concluir" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Desinstalar %s?" \ No newline at end of file +msgstr "Desinstalar %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Desinstalar" \ No newline at end of file diff --git a/data/po/ro.po b/data/po/ro.po index 9250183..a93f226 100644 --- a/data/po/ro.po +++ b/data/po/ro.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Efectuat" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Dezinstalaţi %s?" \ No newline at end of file +msgstr "Dezinstalaţi %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Dezinstalare" \ No newline at end of file diff --git a/data/po/ru_RU.po b/data/po/ru_RU.po index d173e72..83768b3 100644 --- a/data/po/ru_RU.po +++ b/data/po/ru_RU.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Готово" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Удалить %s?" \ No newline at end of file +msgstr "Удалить %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Удалить" \ No newline at end of file diff --git a/data/po/sk.po b/data/po/sk.po index 416552b..bd962da 100644 --- a/data/po/sk.po +++ b/data/po/sk.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Hotovo" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Odinštalovať program %s?" \ No newline at end of file +msgstr "Odinštalovať program %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Odinštalovať" \ No newline at end of file diff --git a/data/po/sl.po b/data/po/sl.po index 572c35c..4b5555e 100644 --- a/data/po/sl.po +++ b/data/po/sl.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Končano" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Želite odstraniti %s?" \ No newline at end of file +msgstr "Želite odstraniti %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Odstrani" \ No newline at end of file diff --git a/data/po/sr.po b/data/po/sr.po index 1f3a38f..a9fb721 100644 --- a/data/po/sr.po +++ b/data/po/sr.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Gotovo" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Deinstalirati %s?" \ No newline at end of file +msgstr "Deinstalirati %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Deinstaliraj" \ No newline at end of file diff --git a/data/po/sv.po b/data/po/sv.po index 5040051..330726d 100644 --- a/data/po/sv.po +++ b/data/po/sv.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Klar" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Avinstallera %s?" \ No newline at end of file +msgstr "Avinstallera %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Avinstallera" \ No newline at end of file diff --git a/data/po/tr_TR.po b/data/po/tr_TR.po index add9719..32ce85c 100644 --- a/data/po/tr_TR.po +++ b/data/po/tr_TR.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Tamam" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "%s kaldırılsın mı?" \ No newline at end of file +msgstr "%s kaldırılsın mı?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Kaldır" \ No newline at end of file diff --git a/data/po/uk.po b/data/po/uk.po index 0cf95e1..d50f5c5 100644 --- a/data/po/uk.po +++ b/data/po/uk.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Готово" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "Видалити %s?" \ No newline at end of file +msgstr "Видалити %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Видалити" \ No newline at end of file diff --git a/data/po/uz.po b/data/po/uz.po index 11beb22..170b97a 100644 --- a/data/po/uz.po +++ b/data/po/uz.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "Qilindi" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "%s olib tashlansinmi?" \ No newline at end of file +msgstr "%s olib tashlansinmi?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "Olib tashlash" \ No newline at end of file diff --git a/data/po/zh_CN.po b/data/po/zh_CN.po index 30bcc37..781b4f0 100644 --- a/data/po/zh_CN.po +++ b/data/po/zh_CN.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "完成" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "是否卸载 %s?" \ No newline at end of file +msgstr "是否卸载 %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "卸载" \ No newline at end of file diff --git a/data/po/zh_HK.po b/data/po/zh_HK.po index 8ea78cb..708e6ef 100644 --- a/data/po/zh_HK.po +++ b/data/po/zh_HK.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "完成" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "解除安裝 %s 嗎?" \ No newline at end of file +msgstr "解除安裝 %s 嗎?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "解除安裝" \ No newline at end of file diff --git a/data/po/zh_SG.po b/data/po/zh_SG.po index 30bcc37..781b4f0 100644 --- a/data/po/zh_SG.po +++ b/data/po/zh_SG.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "完成" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "是否卸载 %s?" \ No newline at end of file +msgstr "是否卸载 %s?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "卸载" \ No newline at end of file diff --git a/data/po/zh_TW.po b/data/po/zh_TW.po index 8ea78cb..708e6ef 100644 --- a/data/po/zh_TW.po +++ b/data/po/zh_TW.po @@ -2,4 +2,7 @@ msgid "IDS_HS_BUTTON_DONE" msgstr "完成" msgid "IDS_AT_POP_UNINSTALL_PS_Q" -msgstr "解除安裝 %s 嗎?" \ No newline at end of file +msgstr "解除安裝 %s 嗎?" + +msgid "IDS_AT_BODY_UNINSTALL" +msgstr "解除安裝" \ No newline at end of file diff --git a/debian/changelog b/debian/changelog deleted file mode 100644 index f555b97..0000000 --- a/debian/changelog +++ /dev/null @@ -1,206 +0,0 @@ -org.tizen.menu-screen (1.0.35) unstable; urgency=low - - * Git: apps/home/menu-screen - * Tag: menu-screen_1.0.35 - - * Prevent issue : code maintainability - - -- Jin Yoon Tue, 09 Apr 2013 09:53:46 +0900 - -org.tizen.menu-screen (1.0.34) unstable; urgency=low - - * Git: apps/home/menu-screen - * Tag: menu-screen_1.0.34 - - * Support Multi-language - - -- Jin Yoon Wed, 03 Apr 2013 14:17:16 +0900 - -org.tizen.menu-screen (1.0.33) unstable; urgency=low - - * Git: apps/home/menu-screen - * Tag: menu-screen_1.0.33 - - * SMACK Rules - - -- Jin Yoon Thu, 28 Mar 2013 15:44:18 +0900 - -org.tizen.menu-screen (1.0.32) unstable; urgency=low - - * Git: apps/home/menu-screen - * Tag: menu-screen_1.0.32 - - * ELM_ENGINE : software_x11 in Emulator - - -- Jin Yoon Fri, 22 Mar 2013 13:38:48 +0900 - -org.tizen.menu-screen (1.0.31) unstable; urgency=low - - * Git: apps/home/menu-screen - * Tag: menu-screen_1.0.31 - - * [Shortcut API] allow duplicate - - -- Jin Yoon Thu, 21 Mar 2013 10:38:40 +0900 - -org.tizen.menu-screen (1.0.30) unstable; urgency=low - - * Git: apps/home/menu-screen - * Tag: menu-screen_1.0.30 - - * text_class : menu_item -> tizen - - -- Jin Yoon Tue, 19 Mar 2013 17:21:19 +0900 - -org.tizen.menu-screen (1.0.29) unstable; urgency=low - - * Git: apps/home/menu-screen - * Tag: menu-screen_1.0.29 - - * Merge with the private - - -- Jin Yoon Mon, 18 Mar 2013 12:57:04 +0900 - -org.tizen.menu-screen (1.0.28) unstable; urgency=low - - * Git: apps/home/menu-screen - * Tag: menu-screen_1.0.28 - - * If Menu-screen is working on the Emulator, it'll be launched with the software backend. - - -- Jin Yoon Fri, 15 Mar 2013 10:36:22 +0900 - -org.tizen.menu-screen (1.0.27) unstable; urgency=low - - * Git: apps/home/menu-screen - * Tag: menu-screen_1.0.27 - - * Disable the routines for pkgmgr temporarily. - - -- Jin Yoon Tue, 12 Mar 2013 17:06:12 +0900 - -org.tizen.menu-screen (1.0.26) unstable; urgency=low - - * Git: apps/home/menu-screen - * Tag: menu-screen_1.0.26 - - * Merge some features with the private - - -- Jin Yoon Tue, 12 Mar 2013 10:14:39 +0900 - -org.tizen.menu-screen (1.0.25) unstable; urgency=low - - * Git: apps/home/menu-screen - * Tag: menu-screen_1.0.25 - - * Merge with the Private Menu-screen - - -- Jin Yoon Wed, 06 Mar 2013 19:15:21 +0900 - -org.tizen.menu-screen (1.0.24) unstable; urgency=low - - * Git: apps/home/menu-screen - * Tag: menu-screen_1.0.24 - - * sync with the private - - -- Jin Yoon Thu, 14 Feb 2013 17:47:51 +0900 - -org.tizen.menu-screen (1.0.23) unstable; urgency=low - - * Git: apps/home/menu-screen - * Tag: menu-screen_1.0.23 - - * Enlarge the size of icons - - -- Jin Yoon Mon, 04 Feb 2013 11:22:57 +0900 - -org.tizen.menu-screen (1.0.22) unstable; urgency=low - - * Git: apps/home/menu-screen - * Tag: menu-screen_1.0.22 - - * Bring in the scroller with MOUSE_WHEEL_EVENT - - -- Jin Yoon Sun, 27 Jan 2013 01:09:05 +0900 - -org.tizen.menu-screen (1.0.21) unstable; urgency=low - - * Git: apps/home/menu-screen - * Tag: menu-screen_1.0.21 - - * Mapbuf has been disabled all the time. - - -- Jin Yoon Thu, 24 Jan 2013 17:28:06 +0900 - -org.tizen.menu-screen (1.0.20) unstable; urgency=low - - * Git: apps/home/menu-screen - * Tag: menu-screen_1.0.20 - - * mapbuf is re-enabled when installing & removing an app - - -- Jin Yoon Wed, 16 Jan 2013 16:56:22 +0900 - -org.tizen.menu-screen (1.0.19) unstable; urgency=low - - * Git: apps/home/menu-screen - * Tag: menu-screen_1.0.19 - - * EFL Requests : font, style - - -- Jin Yoon Tue, 15 Jan 2013 19:26:11 +0900 - -org.tizen.menu-screen (1.0.18) unstable; urgency=low - - * Git: apps/home/menu-screen - * Tag: menu-screen_1.0.18 - - * Window size is not overflowed more than the root window size. - - -- Jin Yoon Thu, 13 Dec 2012 15:27:55 +0900 - -org.tizen.menu-screen (1.0.17) unstable; urgency=low - - * Git: apps/home/menu-screen - * Tag: menu-screen_1.0.17 - - * Code sync - - -- Jin Yoon Thu, 06 Dec 2012 16:56:25 +0900 - -org.tizen.menu-screen (1.0.15) unstable; urgency=low - - * Git: apps/home/menu-screen - * Tag: menu-screen_1.0.15 - - * SMACK - manifest - - -- Jin Yoon Sun, 04 Nov 2012 09:08:47 +0900 - -org.tizen.menu-screen (1.0.14) unstable; urgency=low - - * Git: apps/home/menu-screen - * Tag: menu-screen_1.0.14 - - * enlarge the area of index - - -- Jin Yoon Fri, 05 Oct 2012 13:39:00 +0900 - -org.tizen.menu-screen (1.0.13) unstable; urgency=low - - * Git: apps/home/menu-screen - * Tag: menu-screen_1.0.13 - - * modify the vconf key for the selected menu-screen. - - -- Jin Yoon Tue, 21 Aug 2012 10:37:58 +0900 - -org.tizen.menu-screen (1.0.12) unstable; urgency=low - - * Git: apps/home/menu-screen - * Tag: menu-screen_1.0.12 - - * [Modify] Environment for ELM_ENGINE, ELM_FPS - - -- Jin Yoon Wed, 02 May 2012 19:00:43 +0900 diff --git a/debian/compat b/debian/compat deleted file mode 100644 index 7ed6ff8..0000000 --- a/debian/compat +++ /dev/null @@ -1 +0,0 @@ -5 diff --git a/debian/control b/debian/control deleted file mode 100644 index ae4e7a2..0000000 --- a/debian/control +++ /dev/null @@ -1,19 +0,0 @@ -Source: menu-screen -Section: utils -Priority: extra -Maintainer: Jin Yoon -Build-Depends: debhelper (>= 5), libelm-dev, libslp-utilx-dev, libslp-setting-dev, libefreet-dev, libslp-sysman-dev, libslp-pm-dev, dlog-dev, libecore-dev, libaul-1-dev, libpkgmgr-client-dev, syspopup-caller-dev, libheynoti-dev, libail-0-dev, librua-dev, libslp-shortcut-dev, menu-daemon, capi-appfw-application-dev, libbadge-dev, pkgmgr-info-dev, capi-system-info-dev, libshortcut-dev, libappsvc-dev -Homepage: N/A -Standards-Version: 0.1.0 - -Package: org.tizen.menu-screen -Section: utils -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, libelm, libeina, libslp-utilx-0, libslp-setting-0, libefreet, libslp-sysman, libslp-pm-0, libdlog-0, libaul-1, libpkgmgr-client-0, syspopup-caller-0, libheynoti-0, libail-0, menu-daemon, capi-appfw-application, libbadge, pkgmgr-info, capi-system-info, libshortcut-0, libappsvc-0 -Description: inhouse menu-screen - -Package: org.tizen.menu-screen-dbg -Section: debug -Architecture: any -Depends: org.tizen.menu-screen (= ${Source-Version}) -Description: inhouse menu-screen (unstripped) diff --git a/debian/copyright b/debian/copyright deleted file mode 100644 index e69de29..0000000 diff --git a/debian/jobs b/debian/jobs deleted file mode 100644 index e69de29..0000000 diff --git a/debian/org.tizen.menu-screen.install.in b/debian/org.tizen.menu-screen.install.in deleted file mode 100644 index 32c44ee..0000000 --- a/debian/org.tizen.menu-screen.install.in +++ /dev/null @@ -1,3 +0,0 @@ -/usr/share/* -/opt/apps/org.tizen.menu-screen/* -/opt/share/packages/* diff --git a/debian/org.tizen.menu-screen.postinst b/debian/org.tizen.menu-screen.postinst deleted file mode 100644 index ef33c15..0000000 --- a/debian/org.tizen.menu-screen.postinst +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -INHOUSE_ID="5000" - -init_vconf() -{ - vconftool set -t int memory/idle-screen/top 0 -i -u 5000 -f - vconftool set -t string file/private/org.tizen.menu-screen/engine "gl" -i -u 5000 -f - vconftool set -t string db/setting/menuscreen/package_name "org.tizen.menu-screen" -i -u 5000 -f -} - - - -init_vconf - -# End of a file diff --git a/debian/rules b/debian/rules deleted file mode 100755 index 7fb4408..0000000 --- a/debian/rules +++ /dev/null @@ -1,153 +0,0 @@ -#!/usr/bin/make -f -# -*- makefile -*- -# Sample debian/rules that uses debhelper. -# This file was originally written by Joey Hess and Craig Small. -# As a special exception, when this file is copied by dh-make into a -# dh-make output file, you may use that output file without restriction. -# This special exception was added by Craig Small in version 0.37 of dh-make. - -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - -CFLAGS += -Wall -fPIC -fpie -CXXFLAGS += -Wall -fPIC -fpie -LDFLAGS ?= -PREFIX ?= /usr -DATADIR ?= /opt - -ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) - CFLAGS += -O0 - CXXFLAGS += -O0 -else - CFLAGS += -O2 - CXXFLAGS += -O2 -endif - -ifneq (,$(findstring arm,$(DEB_HOST_ARCH))) - export ARCH = arm -else - export ARCH = i686 -endif - -LDFLAGS += -Wl,--rpath=$(PREFIX)/lib -Wl,--hash-style=both -Wl,--as-needed -pie - -configure: configure-stamp -configure-stamp: - dh_testdir - # Add here commands to configure the package. - CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" cmake . -DCMAKE_INSTALL_PREFIX=$(PREFIX) - - touch configure-stamp - -build: build-stamp - -build-stamp: configure-stamp - dh_testdir - - # Add here commands to compile the package. - $(MAKE) - #docbook-to-man debian/wavplayer.sgml > wavplayer.1 - - for f in `find $(CURDIR)/debian/ -name "*.in"`; do \ - cat $$f > $${f%.in}; \ - sed -i -e "s#@PREFIX@#$(PREFIX)#g" $${f%.in}; \ - sed -i -e "s#@DATADIR@#$(DATADIR)#g" $${f%.in}; \ - done - - - touch $@ - -clean: - dh_testdir - dh_testroot - rm -f build-stamp configure-stamp - - # Add here commands to clean up after the build process. - -$(MAKE) clean - rm -rf CMakeCache.txt - rm -rf CMakeFiles - rm -rf cmake_install.cmake - rm -rf Makefile - rm -rf install_manifest.txt - - rm -rf data/CMakeCache.txt - rm -rf data/CMakeFiles - rm -rf data/cmake_install.cmake - rm -rf data/install_manifest.txt - rm -rf data/Makefile - - rm -rf data/themes/CMakeCache.txt - rm -rf data/themes/CMakeFiles - rm -rf data/themes/cmake_install.cmake - rm -rf data/themes/install_manifest.txt - rm -rf data/themes/Makefile - - rm -rf data/kdm/CMakeCache.txt - rm -rf data/kdm/CMakeFiles - rm -rf data/kdm/cmake_install.cmake - rm -rf data/kdm/install_manifest.txt - rm -rf data/kdm/Makefile - - rm -rf data/po/CMakeCache.txt - rm -rf data/po/CMakeFiles - rm -rf data/po/cmake_install.cmake - rm -rf data/po/install_manifest.txt - rm -rf data/po/Makefile - - rm -rf data/themes/*.edj - rm -rf data/*.edj - rm -rf *.so - - for f in `find $(CURDIR)/debian/ -name "*.in"`; do \ - rm -f $${f%.in}; \ - done - - dh_clean - -install: build - dh_testdir - dh_testroot - dh_clean -k - dh_installdirs - - # Add here commands to install the package into debian/wavplayer. - $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install - - -# Build architecture-independent files here. -binary-indep: build install -# We have nothing to do by default. - -# Build architecture-dependent files here. -binary-arch: build install - dh_testdir - dh_testroot -# dh_installchangelogs -# dh_installdocs -# dh_installexamples - dh_install --sourcedir=debian/tmp -# dh_installmenu -# dh_installdebconf -# dh_installlogrotate -# dh_installemacsen -# dh_installpam -# dh_installmime -# dh_python -# dh_installinit -# dh_installcron -# dh_installinfo - dh_installman - dh_link - dh_strip --dbg-package=org.tizen.menu-screen-dbg - dh_compress - dh_fixperms -# dh_perl - dh_makeshlibs - dh_installdeb - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb - -binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install configure diff --git a/include/menu_screen.h b/include/menu_screen.h index 9389d18..03848f3 100644 --- a/include/menu_screen.h +++ b/include/menu_screen.h @@ -30,6 +30,8 @@ extern Evas_Object *menu_screen_get_win(void); extern Elm_Theme *menu_screen_get_theme(void); extern bool menu_screen_get_done(void); extern void menu_screen_set_done(bool is_done); +extern int menu_screen_get_state(void); +extern int menu_screen_is_tts(void); #endif //__MENU_SCREEN_H__ diff --git a/include/page_scroller.h b/include/page_scroller.h index a481915..c482831 100644 --- a/include/page_scroller.h +++ b/include/page_scroller.h @@ -40,6 +40,7 @@ extern unsigned int page_scroller_count_page(Evas_Object *scroller); extern int page_scroller_get_page_no(Evas_Object* scroller, Evas_Object *page); extern Evas_Object *page_scroller_push_item(Evas_Object *scroller, app_info_t *ai); +extern int page_scroller_get_current_page_no(Evas_Object *scroller); extern Evas_Object *page_scroller_find_item_by_package(Evas_Object *scroller, const char *package, int *page_no); extern void page_scroller_trim_items(Evas_Object *scroller); extern void page_scroller_bring_in(Evas_Object *scroller, int idx); @@ -49,6 +50,8 @@ extern void page_scroller_edit(Evas_Object *scroller); extern void page_scroller_unedit(Evas_Object *scroller); extern bool page_scroller_is_edited(Evas_Object *scroller); +extern void page_scroller_focus(Evas_Object *scroller); + #endif //__MENU_SCREEN_PAGE_SCROLLER_H__ // End of a file diff --git a/include/util.h b/include/util.h index 42697aa..44579b3 100644 --- a/include/util.h +++ b/include/util.h @@ -28,6 +28,10 @@ #define ALL_APPS_TABLE "all_apps" +/* Accessibility */ +#define ACCESS_BUTTON "button" +#define ACCESS_EDIT "edit" + /* Multi-language */ #define D_(str) dgettext("sys_string", str) diff --git a/packaging/org.tizen.menu-screen.spec b/packaging/org.tizen.menu-screen.spec index 47482ed..ee6b9c3 100644 --- a/packaging/org.tizen.menu-screen.spec +++ b/packaging/org.tizen.menu-screen.spec @@ -16,7 +16,7 @@ Name: org.tizen.menu-screen Summary: An utility library of the menu screen -Version: 1.1.1 +Version: 1.1.2 Release: 1.1 Group: TO_BE/FILLED_IN License: Flora Software License diff --git a/src/all_apps/layout.c b/src/all_apps/layout.c index dc1620a..e79f628 100644 --- a/src/all_apps/layout.c +++ b/src/all_apps/layout.c @@ -49,10 +49,7 @@ HAPI void all_apps_layout_edit(Evas_Object *all_apps) edit_button = elm_object_part_content_get(all_apps, ALL_APPS_EDIT_BUTTON_PART); ret_if(NULL == edit_button); - edje_object_signal_emit(_EDJ(edit_button), "edit_button,enable", "menu"); - if (edje_object_part_text_set(_EDJ(edit_button), "edit_button_text", _(IDS_HS_BUTTON_DONE)) == EINA_FALSE) { - _E("Failed to set text on the part, edje:%p, part:%s, text:%s", _EDJ(edit_button), "edit_button_text", _(IDS_HS_BUTTON_DONE)); - } + elm_object_signal_emit(edit_button, "edit_button_state,edit", "menu"); scroller = elm_object_part_content_get(all_apps, "content"); ret_if(NULL == scroller); @@ -70,11 +67,7 @@ HAPI void all_apps_layout_unedit(Evas_Object *all_apps) do { edit_button = elm_object_part_content_get(all_apps, ALL_APPS_EDIT_BUTTON_PART); ret_if(NULL == edit_button); - - edje_object_signal_emit(_EDJ(edit_button), "edit_button,disable", "menu"); - if (edje_object_part_text_set(_EDJ(edit_button), "edit_button_text", "") == EINA_FALSE) { - _E("Failed to set text on the part, edje:%p, part:%s, text:(null)", _EDJ(edit_button), "edit_button_text"); - } + elm_object_signal_emit(edit_button, "edit_button_state,unedit", "menu"); } while (0); do { @@ -103,6 +96,49 @@ static void _release_edit_button(Evas_Object *edje) +static char *_access_info_cb(void *data, Evas_Object *obj) +{ + Evas_Object *scroller = data; + + char *info; + if (page_scroller_is_edited(scroller)) { + info = _(IDS_HS_BUTTON_DONE); + } else { + info = ACCESS_EDIT; + } + + char *tmp; + tmp = strdup(info); + if (!tmp) return NULL; + return tmp; +} + + + +static void _focus_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + Evas_Object *scroller = data; + + _D("Edit button is up"); + + Evas_Object *all_apps; + all_apps = evas_object_data_get(scroller, "tab"); + ret_if(NULL == all_apps); + + if (page_scroller_is_edited(scroller)) { + _D("Go to the normal mode"); + all_apps_layout_unedit(all_apps); + } else { + _D("Go to the edit mode"); + all_apps_layout_edit(all_apps); + } + + elm_object_signal_emit(obj, "edit_button,release", "menu"); +} + + + + static void _edit_button_down_cb(void *data, Evas_Object *obj, const char* emission, const char* source) { Evas_Object *scroller = data; @@ -138,6 +174,8 @@ static void _edit_button_up_cb(void *data, Evas_Object *obj, const char* emissio } else { all_apps_layout_edit(all_apps); } + + elm_object_signal_emit(obj, "edit_button,release", "menu"); } @@ -174,6 +212,17 @@ static Evas_Object *_add_edit_button(Evas_Object *parent, Evas_Object *scroller) evas_object_event_callback_add(button, EVAS_CALLBACK_MOUSE_IN, _button_in_cb, NULL); evas_object_data_set(button, "pressed", (void *) false); + do { // focus + Evas_Object *focus= NULL; + focus = elm_button_add(button); + retv_if(NULL == focus, NULL); + + elm_object_style_set(focus, "focus"); + elm_object_part_content_set(button, "focus", focus); + elm_access_info_cb_set(focus, ELM_ACCESS_INFO, _access_info_cb, scroller); + evas_object_smart_callback_add(focus, "clicked", _focus_clicked_cb, scroller); + } while (0); + return button; } @@ -183,6 +232,14 @@ static void _remove_edit_button(Evas_Object *button) { ret_if(NULL == button); + do { + Evas_Object *focus = NULL; + focus = elm_object_part_content_unset(button, "focus"); + if (NULL == focus) break; + evas_object_smart_callback_del(focus, "clicked", _focus_clicked_cb); + evas_object_del(focus); + } while (0); + edje_object_signal_callback_del(_EDJ(button), "edit_button,down", "menu", _edit_button_down_cb); edje_object_signal_callback_del(_EDJ(button), "edit_button,up", "menu", _edit_button_up_cb); evas_object_event_callback_del(button, EVAS_CALLBACK_MOUSE_OUT, _button_out_cb); @@ -236,6 +293,7 @@ ERROR: all_apps_list_destroy(list); evas_object_data_del(all_apps, "list"); page_scroller_bring_in(scroller, 0); + page_scroller_focus(scroller); menu_screen_set_done(true); return ECORE_CALLBACK_CANCEL; diff --git a/src/item.c b/src/item.c index 273f1b1..5659d2c 100644 --- a/src/item.c +++ b/src/item.c @@ -32,6 +32,7 @@ #include "mapbuf.h" #include "page.h" #include "page_scroller.h" +#include "pkgmgr.h" #include "popup.h" #include "util.h" @@ -79,14 +80,13 @@ HAPI void item_set_icon(Evas_Object *edje, char *icon, int sync) -HAPI inline char *item_get_icon(Evas_Object *edje) +HAPI char *item_get_icon(Evas_Object *edje) { return evas_object_data_get(edje, STR_ATTRIBUTE_ICON); } - HAPI void item_set_name(Evas_Object *edje, char *name, int sync) { char *tmp; @@ -204,7 +204,7 @@ HAPI void item_set_package(Evas_Object *edje, char *package, int sync) -HAPI inline char *item_get_package(Evas_Object *edje) +HAPI char *item_get_package(Evas_Object *edje) { return evas_object_data_get(edje, STR_ATTRIBUTE_PKG_NAME); } @@ -232,7 +232,7 @@ HAPI void item_set_removable(Evas_Object *edje, int removable, int sync) -HAPI inline int item_get_removable(Evas_Object *edje) +HAPI int item_get_removable(Evas_Object *edje) { return (int) evas_object_data_get(edje, STR_ATTRIBUTE_REMOVABLE); } @@ -260,7 +260,7 @@ HAPI void item_set_page(Evas_Object *edje, Evas_Object *page, int sync) -HAPI inline Evas_Object *item_get_page(Evas_Object *edje) +HAPI Evas_Object *item_get_page(Evas_Object *edje) { return evas_object_data_get(edje, STR_ATTRIBUTE_PAGE); } @@ -268,7 +268,7 @@ HAPI inline Evas_Object *item_get_page(Evas_Object *edje) -HAPI inline void item_enable_delete(Evas_Object *item) +HAPI void item_enable_delete(Evas_Object *item) { if (item_get_removable(item) > 0) { edje_object_signal_emit(_EDJ(item), "delete,on", "menu"); @@ -277,7 +277,7 @@ HAPI inline void item_enable_delete(Evas_Object *item) -HAPI inline void item_disable_delete(Evas_Object *item) +HAPI void item_disable_delete(Evas_Object *item) { if (item_get_removable(item) > 0) { edje_object_signal_emit(_EDJ(item), "delete,off", "menu"); @@ -563,6 +563,83 @@ HAPI void item_update(Evas_Object *item, app_info_t *ai) +static char *_access_info_cb(void *data, Evas_Object *obj) +{ + Evas_Object *item = data; + char *name = NULL; + name = item_get_name(item); + retv_if(NULL == name, NULL); + + char *tmp = NULL; + tmp = strdup(name); + retv_if(NULL == tmp, NULL); + return tmp; +} + + + +/* This function is similar to _item_up_cb. But it's apparently different */ +static void _focus_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + Evas_Object *scroller; + + Evas_Object *item = data; + ret_if(NULL == item); + + _D("ITEM: mouse up event callback is invoked for %p", item); + PRINT_APPFWK(); + + scroller = evas_object_data_get(item, "scroller"); + ret_if(NULL == scroller); + + if (true == page_scroller_is_edited(scroller)) { + return; + } + item_launch(item); +} + + + +#define IDS_AT_BODY_UNINSTALL "IDS_AT_BODY_UNINSTALL" +static char *_access_uninstall_cb(void *data, Evas_Object *obj) +{ + char *info; + char *tmp; + info = _(IDS_AT_BODY_UNINSTALL); + if (!info) return NULL; + tmp = strdup(info); + if (!tmp) return NULL; + return tmp; +} + + + +/* This function is similar to _uninstall_up_cb in item_event.c */ +static void _uninstall_focus_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + Evas_Object *win; + Evas_Object *scroller; + char *package; + + win = menu_screen_get_win(); + ret_if(NULL == win); + + _D("Uninstall button is up"); + + Evas_Object *item = data; + scroller = evas_object_data_get(item, "scroller"); + + package = item_get_package(item); + ret_if(!package || strlen(package) == 0); + ret_if(pkgmgr_find_pended_object(package, 0, scroller, NULL)); + + _D("Uninstalling... [%s]", package); + + popup_create_uninstall(win, item); +} + + + HAPI Evas_Object *item_create(Evas_Object *scroller, app_info_t* ai) { Evas_Object *item; @@ -579,6 +656,28 @@ HAPI Evas_Object *item_create(Evas_Object *scroller, app_info_t* ai) return NULL; } + do { // focus + Evas_Object *focus = NULL; + focus = elm_button_add(item); + retv_if(NULL == focus, NULL); + + elm_object_style_set(focus, "focus"); + elm_object_part_content_set(item, "focus", focus); + elm_access_info_cb_set(focus, ELM_ACCESS_INFO, _access_info_cb, item); + evas_object_smart_callback_add(focus, "clicked", _focus_clicked_cb, item); + } while (0); + + do { // make a button for a focus button of deleting. + Evas_Object *focus = NULL; + focus = elm_button_add(item); + retv_if(NULL == focus, NULL); + + elm_object_style_set(focus, "focus"); + elm_object_part_content_set(item, "uninstall_focus", focus); + elm_access_info_cb_set(focus, ELM_ACCESS_INFO, _access_uninstall_cb, item); + evas_object_smart_callback_add(focus, "clicked", _uninstall_focus_clicked_cb, item); + } while (0); + bg = evas_object_rectangle_add(menu_screen_get_evas()); if (!bg) { _E("Cannot add an rectangle"); @@ -682,6 +781,23 @@ HAPI void item_destroy(Evas_Object *item) evas_object_data_del(item, "x"); evas_object_data_del(item, "y"); evas_object_data_del(item, "dirty"); + + do { + Evas_Object *focus = NULL; + focus = elm_object_part_content_unset(item, "focus"); + if (NULL == focus) break; + evas_object_smart_callback_del(focus, "clicked", _focus_clicked_cb); + evas_object_del(focus); + } while (0); + + do { + Evas_Object *focus = NULL; + focus = elm_object_part_content_unset(item, "uninstall_focus"); + if (NULL == focus) break; + evas_object_smart_callback_del(focus, "clicked", _uninstall_focus_clicked_cb); + evas_object_del(focus); + } while (0); + layout_unload_edj(item); } diff --git a/src/menu_screen.c b/src/menu_screen.c index baeabc0..67449ff 100644 --- a/src/menu_screen.c +++ b/src/menu_screen.c @@ -49,6 +49,7 @@ static struct { int state; int root_width; int root_height; + int is_tts; Evas *evas; Ecore_Evas *ee; Evas_Object *win; @@ -56,6 +57,7 @@ static struct { bool is_done; } menu_screen_info = { .state = APP_STATE_PAUSE, + .is_tts = false, .evas = NULL, .ee = NULL, .win = NULL, @@ -114,6 +116,20 @@ HAPI void menu_screen_set_done(bool is_done) +HAPI int menu_screen_get_state(void) +{ + return menu_screen_info.state; +} + + + +HAPI int menu_screen_is_tts(void) +{ + return menu_screen_info.is_tts; +} + + + static menu_screen_error_e _create_canvas(char *name, char *title) { Ecore_X_Atom ATOM_WM_WINDOW_ROLE; @@ -328,6 +344,20 @@ static void _destroy_conformant(Evas_Object *conformant) +static void _tts_cb(keynode_t *node, void *data) +{ + _D("change tts"); + + int val = -1; + if (0 == vconf_get_bool(VCONFKEY_SETAPPL_ACCESSIBILITY_TTS, &val) && + menu_screen_info.is_tts != val) + { + menu_screen_info.is_tts = val; + } +} + + + static bool _create_cb(void *data) { Evas_Object *conformant; @@ -356,6 +386,11 @@ static bool _create_cb(void *data) } evas_object_data_set(menu_screen_info.win, "layout", layout); +if (vconf_notify_key_changed(VCONFKEY_SETAPPL_ACCESSIBILITY_TTS, _tts_cb, NULL) < 0) { + _E("Failed to register the tts callback"); + } + retv_if(vconf_get_bool(VCONFKEY_SETAPPL_ACCESSIBILITY_TTS, &menu_screen_info.is_tts) < 0, MENU_SCREEN_ERROR_FAIL); + elm_object_content_set(conformant, layout); mouse_register(); aul_listen_app_dead_signal(_dead_cb, NULL); @@ -374,6 +409,10 @@ static void _terminate_cb(void *data) _E("Failed to remove bgset [%s]\n", VCONFKEY_BGSET); } + if (vconf_ignore_key_changed(VCONFKEY_SETAPPL_ACCESSIBILITY_TTS, _tts_cb) < 0) { + _E("Failed to ignore the alpha callback"); + } + evas_object_hide(menu_screen_info.win); mouse_unregister(); @@ -418,6 +457,19 @@ static void _resume_cb(void *data) ecore_x_window_root_get(ecore_evas_window_get(menu_screen_info.ee)) ); + do { // Focus + Evas_Object *layout = evas_object_data_get(menu_screen_info.win, "layout"); + break_if(NULL == layout); + + Evas_Object *all_apps = evas_object_data_get(layout, "all_apps"); + break_if(NULL == all_apps); + + Evas_Object *scroller = elm_object_part_content_get(all_apps, "content"); + break_if(NULL == scroller); + + page_scroller_focus(scroller); + } while (0); + menu_screen_info.state = APP_STATE_RESUME; } @@ -435,6 +487,19 @@ static void _service_cb(service_h service, void *data) ecore_x_display_get(), ecore_x_window_root_get(ecore_evas_window_get(menu_screen_info.ee)) ); + + do { // Focus + Evas_Object *layout = evas_object_data_get(menu_screen_info.win, "layout"); + break_if(NULL == layout); + + Evas_Object *all_apps = evas_object_data_get(layout, "all_apps"); + break_if(NULL == all_apps); + + Evas_Object *scroller = elm_object_part_content_get(all_apps, "content"); + break_if(NULL == scroller); + + page_scroller_focus(scroller); + } while (0); } diff --git a/src/page_scroller.c b/src/page_scroller.c index 754000b..f928530 100644 --- a/src/page_scroller.c +++ b/src/page_scroller.c @@ -96,6 +96,10 @@ HAPI void page_scroller_show_region(Evas_Object *scroller, int idx) static void _anim_stop_cb(void *data, Evas_Object *scroller, void *event_info) { _D("Invoked"); + + if (menu_screen_is_tts()) { + page_scroller_focus(scroller); + } } @@ -1071,6 +1075,13 @@ HAPI int page_scroller_get_page_no(Evas_Object* scroller, Evas_Object *page) +HAPI int page_scroller_get_current_page_no(Evas_Object *scroller) +{ + return (int) evas_object_data_get(scroller, "current_idx"); +} + + + HAPI Evas_Object *page_scroller_find_item_by_package(Evas_Object *scroller, const char *package, int *page_no) { register int i; @@ -1262,4 +1273,27 @@ HAPI bool page_scroller_is_edited(Evas_Object *scroller) +HAPI void page_scroller_focus(Evas_Object *scroller) +{ + int idx = 0; + idx = page_scroller_get_current_page_no(scroller); + + Evas_Object *page = NULL; + page = page_scroller_get_page_at(scroller, (unsigned int) idx); + ret_if(NULL == page); + + Evas_Object *item = NULL; + item = page_get_item_at(page, 0); + ret_if(NULL == item); + + Evas_Object *focus_button = NULL; + focus_button = elm_object_part_content_get(item, "focus"); + ret_if(NULL == focus_button); + + _D("Focus set scroller(%p), page:%d, item:%s", scroller, idx, item_get_name(item)); + elm_object_focus_set(focus_button, EINA_TRUE); +} + + + // End of a file -- 2.34.1