TTS : item, uninstall, edit, scrolling, init
authorJin Yoon <jinny.yoon@samsung.com>
Wed, 29 May 2013 08:35:17 +0000 (17:35 +0900)
committerJin Yoon <jinny.yoon@samsung.com>
Wed, 29 May 2013 08:35:17 +0000 (17:35 +0900)
77 files changed:
data/edje/all_apps_portrait.edc
data/edje/button_edit.edc
data/edje/item_4x4.edc
data/images/btn_edit_nor.9.png [new file with mode: 0644]
data/images/btn_edit_press.9.png [new file with mode: 0644]
data/images/icon_btn_done_nor.png [new file with mode: 0644]
data/images/icon_btn_done_press.png [new file with mode: 0644]
data/images/icon_btn_edit_nor.png [new file with mode: 0644]
data/images/icon_btn_edit_press.png [new file with mode: 0644]
data/org.tizen.menu-screen.xml.in
data/po/ar.po
data/po/az.po
data/po/bg.po
data/po/ca.po
data/po/cs.po
data/po/da.po
data/po/de_DE.po
data/po/el_GR.po
data/po/en.po
data/po/en_PH.po
data/po/en_US.po
data/po/es_ES.po
data/po/es_MX.po
data/po/et.po
data/po/eu.po
data/po/fi.po
data/po/fr_CA.po
data/po/fr_FR.po
data/po/ga.po
data/po/gl.po
data/po/hi.po
data/po/hr.po
data/po/hu.po
data/po/hy.po
data/po/is.po
data/po/it_IT.po
data/po/ja_JP.po
data/po/ka.po
data/po/kk.po
data/po/ko_KR.po
data/po/lt.po
data/po/lv.po
data/po/mk.po
data/po/nb.po
data/po/nl_NL.po
data/po/pl.po
data/po/pt_BR.po
data/po/pt_PT.po
data/po/ro.po
data/po/ru_RU.po
data/po/sk.po
data/po/sl.po
data/po/sr.po
data/po/sv.po
data/po/tr_TR.po
data/po/uk.po
data/po/uz.po
data/po/zh_CN.po
data/po/zh_HK.po
data/po/zh_SG.po
data/po/zh_TW.po
debian/changelog [deleted file]
debian/compat [deleted file]
debian/control [deleted file]
debian/copyright [deleted file]
debian/jobs [deleted file]
debian/org.tizen.menu-screen.install.in [deleted file]
debian/org.tizen.menu-screen.postinst [deleted file]
debian/rules [deleted file]
include/menu_screen.h
include/page_scroller.h
include/util.h
packaging/org.tizen.menu-screen.spec
src/all_apps/layout.c
src/item.c
src/menu_screen.c
src/page_scroller.c

index ac04d728a92c6fc2a5c7bca9c8c8a7704a520e61..bbbc2875f5940c29d143f8ccde299e186c4f827c 100644 (file)
@@ -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;
                                }
                        }
index 5dfec241a14a098326c2c3b51abe89482ab5f13a..abb0ff4e0d6c63c9e16d15d4c481374a82e2a7f9 100644 (file)
 
 
 
+#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";
                        }
                }
index 2d5f23579b54e54d6b79f36f4621fd019994bc18..7d688d2e35b1cb5fb63cac7c2700809bb73d031a 100644 (file)
@@ -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 (file)
index 0000000..1cb7440
Binary files /dev/null and b/data/images/btn_edit_nor.9.png differ
diff --git a/data/images/btn_edit_press.9.png b/data/images/btn_edit_press.9.png
new file mode 100644 (file)
index 0000000..8619ff3
Binary files /dev/null and b/data/images/btn_edit_press.9.png differ
diff --git a/data/images/icon_btn_done_nor.png b/data/images/icon_btn_done_nor.png
new file mode 100644 (file)
index 0000000..a28bd95
Binary files /dev/null and b/data/images/icon_btn_done_nor.png differ
diff --git a/data/images/icon_btn_done_press.png b/data/images/icon_btn_done_press.png
new file mode 100644 (file)
index 0000000..cc9256f
Binary files /dev/null and b/data/images/icon_btn_done_press.png differ
diff --git a/data/images/icon_btn_edit_nor.png b/data/images/icon_btn_edit_nor.png
new file mode 100644 (file)
index 0000000..f79ea92
Binary files /dev/null and b/data/images/icon_btn_edit_nor.png differ
diff --git a/data/images/icon_btn_edit_press.png b/data/images/icon_btn_edit_press.png
new file mode 100644 (file)
index 0000000..aaaa7fa
Binary files /dev/null and b/data/images/icon_btn_edit_press.png differ
index e944c02898dae006db3b3c07d3b5f483b1007c29..83353c11382828ac059c462ea11295866d7ad082 100755 (executable)
@@ -1,5 +1,5 @@
 <?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>
index ab58d167753e412b89b686da408c100482b92bbb..31821ad2c5c97af338b7ed07ec22835141b16e99 100644 (file)
@@ -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
index 463e83efec679b0fd9c4178cf772596e4ef1c3c2..991ce1698f16b4777a378140838cbe55b658fb03 100644 (file)
@@ -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
index c69d9375ad2f294b6899b960b065ae853e9392e1..20cb7d5cb2ccf4bce346ddc606677a475fa1594b 100644 (file)
@@ -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
index be404dd77fe63768679cc91220cfab7185381a30..a4bc2cb474d3354e4eac5f71c431578d0066a522 100644 (file)
@@ -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
index 719a82fd16741b1f5e9d5c0a8c10775e2a11aa58..71d19423cd1bbc37d8ccd7810cea7b5fb25f3fbc 100644 (file)
@@ -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
index 0c9f442fa9d562071f84a56beaf1c565e806cee9..d99306a40a9e5e2e41c0e4a0806bef70a3f9addd 100644 (file)
@@ -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
index 1be4d6c9865f1ad7158388191bcaae5200e5d618..f5f4d32ed408129c1b2d2d9045cdb97b1663a83e 100644 (file)
@@ -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
index 97ff2e703dc8b73a65f59f2ebf58830392792ec4..be489f7da7ffb6e3cd912df943f627906b106248 100644 (file)
@@ -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
index d24f1daa33e273209b5f8aaec107d45b361dbe2e..953689939cb926b2e7b7a9858ed919f3ac018099 100644 (file)
@@ -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
index d24f1daa33e273209b5f8aaec107d45b361dbe2e..953689939cb926b2e7b7a9858ed919f3ac018099 100644 (file)
@@ -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
index d24f1daa33e273209b5f8aaec107d45b361dbe2e..953689939cb926b2e7b7a9858ed919f3ac018099 100644 (file)
@@ -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
index bc229f6ad5b7f5bc6e722b7bf1ad3b06fd426079..02cc7573006e008b76a9a8157f81b5b8df5c3780 100644 (file)
@@ -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
index 3b24a12c2663b8dd5de058ba557c16a8bd7825f0..279a111d8c934bf60def6a2b3b4006558164b576 100644 (file)
@@ -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
index 8b1bee842337674b245038c6cf52a2fa9f9b7aeb..be64f0cbbb0b5f7024ee648515cb64f1507c7edf 100644 (file)
@@ -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
index 73d79e27c95280fa9fd87a6d0fea56b47ce1ecd3..13b57956ec83c10a5ef4f54f343e5f601c19a9b2 100644 (file)
@@ -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
index 71206fe7d434aaae1b7370225400b7a1ccb76479..0802515a65e7d1c3e4da62608c61be0957bfe714 100644 (file)
@@ -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
index 4bd264c01198c32e1274ac99f093882fa88d0f6c..7977fd83826798a357341700472b50eea89fb525 100644 (file)
@@ -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
index 4bd264c01198c32e1274ac99f093882fa88d0f6c..7977fd83826798a357341700472b50eea89fb525 100644 (file)
@@ -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
index be8ff944af7c12d54af0dc6e8babdd4aad4c9783..36117b4ccbe0fc5d054f56bf9f10287de4db5b02 100644 (file)
@@ -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
index 72a8f93e8010878f3999dfeebd73c5a26a5616bf..5c99a7f0b5c08cf2f4e546192e403f9b6b48b391 100644 (file)
@@ -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
index 34373c1e4a2d40c10e66f356c5c11b31dfa342a8..78e0813c80e4a9c1d2ea46a2feb898461ef9ea8b 100644 (file)
@@ -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
index e995ee41f718361fb71190b909e05b3f54934f8b..8a4cf42bfafd807fa4f293a3ca0f6f5e8ee25af5 100644 (file)
@@ -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
index 87aad3d33ac27eb4c34a8d6ca56d81e64546d6d4..61409918392d3561b866ba7bdf6f1d3941607b3b 100644 (file)
@@ -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
index 12fa94ef56fa73adceb9edbc9abd971876ae9da8..ec74b44f9de3b1a3081dce7c9c1fe613d2907375 100644 (file)
@@ -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
index 8b20c159be7d8ffb93f0d0163555efd3538eedbb..0d5ee011073a7439e4db7a3a15282bb8ff999ef4 100644 (file)
@@ -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
index 26cc693e00a9de8af57f6f10628b756df47ad5a3..81b02daa5c7a746a9f64ceaaacae45b56a52e532 100644 (file)
@@ -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
index 807018ce61351d55ce0bce0f165d0ac98ef2119d..bacd41c4db2f42af7414b18ab2a1739bd7989680 100644 (file)
@@ -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
index 9da318cc70f84234f30e74adfe64d005d7fdffde..31d27265a88d778dfa33fb2d384a39e547674fe8 100644 (file)
@@ -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
index 57ce2f57fe959411e726bb42349c5e8d5216ca72..c1d9813ebb95830516882c83535ea2237304e9dc 100644 (file)
@@ -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
index 2c0c07c70da018ecd8e304ee7311d400060998f9..606c7c2d283f6e1c7ef2b577857d7a6ebb341740 100644 (file)
@@ -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
index d031262a3c1607eb9169249bcad0d67956fff5ad..dd44366eba4daad18e256ce01760ce75d0ab5070 100644 (file)
@@ -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
index 41227e0e54ba13da6b4a37c7b30df1308587b4ca..8160d6ca1dbcfc82cfa41b4560dca5b109e1e11e 100644 (file)
@@ -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
index 521a6f8092dca299a3988a960759fab82abb001c..eb6aca3be6d1b1e49489686e34b8732bb332432c 100644 (file)
@@ -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
index bafa5f260437483e8bc9a98f233311fa140fee5c..e6961ca246578c0dbed4eb4c31e51020e3e7b744 100644 (file)
@@ -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
index f4bb3ab8b808960db159b908eb91c858861b8741..f29bdb7a5b49b81b078dcfbe5a3e97a2a5a72ad3 100644 (file)
@@ -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
index 2df7d65128f5345b49db3963bbb82febc45f795c..c971254f4a3897ef7cc5ca3b6a3b804d6144ef2d 100644 (file)
@@ -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
index eb37967fad46623a3a2ba750433c1b6607dabee8..28b996a1f6ea09b6566b48c7f680799f72a07492 100644 (file)
@@ -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
index e0b260fd41d51c528299a7424e2f3dfa5c04fdd6..814098007c5bd8030eea73364132ccc68946e9db 100644 (file)
@@ -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
index 9250183e8b0292d7cd10561e94b54112a4a24478..a93f22646d93a53fcfb834175f9639a0a699f0c2 100644 (file)
@@ -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
index d173e725c57ad632c8b687b321f5cc5fe549c73d..83768b3a02903415d94fd946fd88272062455859 100644 (file)
@@ -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
index 416552b5c3385906bf19305acbb082863a0445e7..bd962da966ad1e4953b57f09db2a8712d5decd87 100644 (file)
@@ -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
index 572c35c2c086f325a84f76dccb7e29b98366db6b..4b5555ebbf3976a1582af9fabe09041cdae5f853 100644 (file)
@@ -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
index 1f3a38f7d2b5663f7b923886dca74e1e4e31e88b..a9fb72159c79173cf8deab15e7762bdde25a8a0a 100644 (file)
@@ -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
index 5040051cc341c2d026c1ced38b8cdca4f67ad071..330726d003e62160f435c5df363111898c97d7fa 100644 (file)
@@ -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
index add97196cca84b6e6764fafa7108dbc7ac11d837..32ce85c00577a45f577313a6bde7fb5c763cb084 100644 (file)
@@ -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
index 0cf95e1400b63eb981c20ab58205628d8ca55261..d50f5c567949367cb943f3f7155770ceb12a5aa4 100644 (file)
@@ -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
index 11beb22477241e4f11b91d0c011a54930a65b570..170b97a0e41d530ec53d4d2920658282b376e9c0 100644 (file)
@@ -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
index 30bcc37a5ef6fce3a39b13408c01d18b279a18eb..781b4f0f4b8cbbef9522fe6fa75b8fc27829745a 100644 (file)
@@ -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
index 8ea78cb3a3c4e8915cabc485be8d0ab32d1e7104..708e6ef25d62274d279b2e57fe59a317d99dc2f6 100644 (file)
@@ -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
index 30bcc37a5ef6fce3a39b13408c01d18b279a18eb..781b4f0f4b8cbbef9522fe6fa75b8fc27829745a 100644 (file)
@@ -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
index 8ea78cb3a3c4e8915cabc485be8d0ab32d1e7104..708e6ef25d62274d279b2e57fe59a317d99dc2f6 100644 (file)
@@ -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 (file)
index f555b97..0000000
+++ /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 <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
diff --git a/debian/compat b/debian/compat
deleted file mode 100644 (file)
index 7ed6ff8..0000000
+++ /dev/null
@@ -1 +0,0 @@
-5
diff --git a/debian/control b/debian/control
deleted file mode 100644 (file)
index ae4e7a2..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-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)
diff --git a/debian/copyright b/debian/copyright
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/debian/jobs b/debian/jobs
deleted file mode 100644 (file)
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 (file)
index 32c44ee..0000000
+++ /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 (file)
index ef33c15..0000000
+++ /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 (executable)
index 7fb4408..0000000
+++ /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
index 9389d18f43bc5fca0c1559f36253c63ca65a88fe..03848f329a4aa30dfe648f8171430a5121d97298 100644 (file)
@@ -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__
 
index a4819151fb093cb223432c5367a869bf48621372..c482831c4bff32c288143ab8b3cd48ea03883595 100644 (file)
@@ -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
index 42697aa40038993a8327766ad613362a28a42c01..44579b31f0f56697281e628b7bbe9833b110c38a 100644 (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)
 
index 47482edeb37c453410312169c312c15a4fa38a9d..ee6b9c3e1b2b038b1d19e4031b3dd6d27307dfb1 100644 (file)
@@ -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
index dc1620ab6603375959f66b04b3226b10714bcd9b..e79f628fd221b49a5ff3ddb76a3e480c1d6e09c2 100644 (file)
@@ -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;
index 273f1b1da08e66365e09aff361169ec30e3ee29b..5659d2c48ba483a051cc8888754167bd6bc27f1b 100644 (file)
@@ -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);
 }
 
index baeabc044bdd734a581906a3dd601acbf9804018..67449ff7b0dfcdd6cf6189e35f0480f78723e351 100644 (file)
@@ -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);
 }
 
 
index 754000b38290ff0a05d084060d6616a02acd0fc3..f9285308ff4277ec4f47481cde669c148b3064a2 100644 (file)
@@ -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