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;
}
}
+#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;
}
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 {
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;
}
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;
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;
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;
}
}
}
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 {
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";
}
}
image: "../images/menu_badge_01.png" COMP;
}
+
+
collections {
group {
name: "icon";
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 {
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;
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 {
target: "block_event";
target: "uninstall";
target: "uninstall_event";
+ target: "uninstall_focus";
}
program {
name: "uninstall,off";
target: "block_event";
target: "uninstall";
target: "uninstall_event";
+ target: "uninstall_focus";
}
program {
name: "uninstall,down";
<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns="http://tizen.org/ns/packages" package="@PACKAGE_NAME@" version="1.1.1" install-location="internal-only">
+<manifest xmlns="http://tizen.org/ns/packages" package="@PACKAGE_NAME@" version="1.1.2" install-location="internal-only">
<label>Simple Menu-screen</label>
<author email="jinny.yoon@samsung.com" href="www.samsung.com">Jin Yoon</author>
<author email="yjoo93.park@samsung.com" href="www.samsung.com">Youngjoo Park</author>
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
+++ /dev/null
-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 <jinny.yoon@samsung.com> 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 <jinny.yoon@samsung.com> 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 <jinny.yoon@samsung.com> 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 <jinny.yoon@samsung.com> 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 <jinny.yoon@samsung.com> 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 <jinny.yoon@samsung.com> 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 <jinny.yoon@samsung.com> 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 <jinny.yoon@samsung.com> 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 <jinny.yoon@samsung.com> 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 <jinny.yoon@samsung.com> 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 <jinny.yoon@samsung.com> 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 <jinny.yoon@samsung.com> 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 <jinny.yoon@samsung.com> 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 <jinny.yoon@samsung.com> 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 <jinny.yoon@samsung.com> 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 <jinny.yoon@samsung.com> 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 <jinny.yoon@samsung.com> 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 <jinny.yoon@samsung.com> 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 <jinny.yoon@samsung.com> 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 <jinny.yoon@samsung.com> 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 <jinny.yoon@samsung.com> 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 <jinny.yoon@samsung.com> 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 <jinny.yoon@samsung.com> Wed, 02 May 2012 19:00:43 +0900
+++ /dev/null
-Source: menu-screen
-Section: utils
-Priority: extra
-Maintainer: Jin Yoon <jinny.yoon@samsung.com>
-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)
+++ /dev/null
-/usr/share/*
-/opt/apps/org.tizen.menu-screen/*
-/opt/share/packages/*
+++ /dev/null
-#!/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
+++ /dev/null
-#!/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
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__
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);
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
#define ALL_APPS_TABLE "all_apps"
+/* Accessibility */
+#define ACCESS_BUTTON "button"
+#define ACCESS_EDIT "edit"
+
/* Multi-language */
#define D_(str) dgettext("sys_string", str)
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
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);
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 {
+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;
} else {
all_apps_layout_edit(all_apps);
}
+
+ elm_object_signal_emit(obj, "edit_button,release", "menu");
}
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;
}
{
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);
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;
#include "mapbuf.h"
#include "page.h"
#include "page_scroller.h"
+#include "pkgmgr.h"
#include "popup.h"
#include "util.h"
-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;
-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);
}
-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);
}
-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);
}
-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");
-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");
+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;
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");
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);
}
int state;
int root_width;
int root_height;
+ int is_tts;
Evas *evas;
Ecore_Evas *ee;
Evas_Object *win;
bool is_done;
} menu_screen_info = {
.state = APP_STATE_PAUSE,
+ .is_tts = false,
.evas = NULL,
.ee = NULL,
.win = NULL,
+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;
+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;
}
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);
_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();
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;
}
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);
}
static void _anim_stop_cb(void *data, Evas_Object *scroller, void *event_info)
{
_D("Invoked");
+
+ if (menu_screen_is_tts()) {
+ page_scroller_focus(scroller);
+ }
}
+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;
+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