From bc2b316a0fa3a1567a3babc3cd7ca4feb3df4e47 Mon Sep 17 00:00:00 2001 From: liuxd Date: Fri, 3 Mar 2017 16:38:48 +0900 Subject: [PATCH] Add Help Guideline Feature Change-Id: Iea8a84e4db52ca8cd1b62657767238f41239fbac --- CMakeLists.txt | 9 + data/edc/customised_ctxpopup.edc | 927 +++++++++++++++++++++ .../images/ctxpopup/B31_help_popup_picker_bg.png | Bin 0 -> 826 bytes .../ctxpopup/B31_help_popup_picker_bottom.png | Bin 0 -> 1907 bytes .../images/ctxpopup/B31_help_popup_picker_left.png | Bin 0 -> 881 bytes .../ctxpopup/B31_help_popup_picker_right.png | Bin 0 -> 885 bytes .../images/ctxpopup/B31_help_popup_picker_top.png | Bin 0 -> 898 bytes edje/mobile/images/ctxpopup/btn_bubble_tail.png | Bin 0 -> 1794 bytes .../images/ctxpopup/language_change_popup_bg.png | Bin 0 -> 1907 bytes .../images/ctxpopup/popup_stroke_customized.#.png | Bin 0 -> 3004 bytes po/ar.po | 3 + po/as.po | 3 + po/az.po | 3 + po/be_BY.po | 3 + po/bn.po | 6 + po/bn_BD.po | 6 + po/en.po | 3 + po/en_US.po | 3 + po/fr.po | 6 + po/gu.po | 3 + po/hi.po | 3 + po/hy.po | 3 + po/id.po | 3 + po/ka.po | 3 + po/kk.po | 3 + po/kn.po | 3 + po/ko_KR.po | 3 + po/ky_KG.po | 6 + po/ml.po | 3 + po/mn_MN.po | 3 + po/mr.po | 3 + po/ms.po | 3 + po/ne.po | 3 + po/or.po | 6 + po/pa.po | 3 + po/ru_RU.po | 6 + po/si.po | 3 + po/ta.po | 3 + po/te.po | 3 + po/tg_TJ.po | 3 + po/tk_TM.po | 3 + po/uk.po | 3 + po/ur.po | 2 + po/uz.po | 3 + po/zh_CN.po | 3 + src/config.cpp | 16 + src/include/config.h | 5 + src/ise.cpp | 173 +++- 48 files changed, 1251 insertions(+), 1 deletion(-) create mode 100644 data/edc/customised_ctxpopup.edc create mode 100644 edje/mobile/images/ctxpopup/B31_help_popup_picker_bg.png create mode 100644 edje/mobile/images/ctxpopup/B31_help_popup_picker_bottom.png create mode 100644 edje/mobile/images/ctxpopup/B31_help_popup_picker_left.png create mode 100644 edje/mobile/images/ctxpopup/B31_help_popup_picker_right.png create mode 100644 edje/mobile/images/ctxpopup/B31_help_popup_picker_top.png create mode 100644 edje/mobile/images/ctxpopup/btn_bubble_tail.png create mode 100644 edje/mobile/images/ctxpopup/language_change_popup_bg.png create mode 100644 edje/mobile/images/ctxpopup/popup_stroke_customized.#.png diff --git a/CMakeLists.txt b/CMakeLists.txt index f26a4b9..18fb0bb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -134,6 +134,15 @@ ADD_CUSTOM_TARGET( ADD_DEPENDENCIES(${PROJECT_NAME} layout_keypad.edj) INSTALL(FILES ${CMAKE_BINARY_DIR}/layout_keypad.edj DESTINATION ${ISE_RESDIR}/edje) +ADD_CUSTOM_TARGET( customised_ctxpopup.edj COMMAND edje_cc + -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/mobile + -sd ${CMAKE_CURRENT_SOURCE_DIR}/edje/mobile + ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/customised_ctxpopup.edc + ${CMAKE_BINARY_DIR}/customised_ctxpopup.edj + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/data/edc/customised_ctxpopup.edc) +ADD_DEPENDENCIES(${PROJECT_NAME} customised_ctxpopup.edj) +INSTALL(FILES ${CMAKE_BINARY_DIR}/customised_ctxpopup.edj DESTINATION ${ISE_RESDIR}/edje/mobile) + if(${TARGET} STREQUAL "wearable") ADD_CUSTOM_TARGET(w-input-stt.edj COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/edje/wearable/images diff --git a/data/edc/customised_ctxpopup.edc b/data/edc/customised_ctxpopup.edc new file mode 100644 index 0000000..36ccbfe --- /dev/null +++ b/data/edc/customised_ctxpopup.edc @@ -0,0 +1,927 @@ +/* + * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +/////////////////////////////////////////////////////////////////////////////////////// +// +// customised ctxpopup +// +/////////////////////////////////////////////////////////////////////////////////////// + + +#define CTXPOPUP_SHADOW_LEFT_PADDING 7 +#define CTXPOPUP_SHADOW_RIGHT_PADDING 7 +#define CTXPOPUP_SHADOW_LEFT_PADDING_LANDSCAPE 80 +#define CTXPOPUP_SHADOW_RIGHT_PADDING_LANDSCAPE 80 +#define CTXPOPUP_SHADOW_TOP_PADDING 9 +#define CTXPOPUP_SHADOW_BOTTOM_PADDING 9 + +#define CTXPOPUP_CONTENT_LEFT_PADDING_WIDTH 42 +#define CTXPOPUP_CONTENT_LEFT_PADDING_HEIGHT 9 +#define CTXPOPUP_CONTENT_RIGHT_PADDING_WIDTH 42 +#define CTXPOPUP_CONTENT_RIGHT_PADDING_HEIGHT 9 + +#define CTXPOPUP_ICON_ITEM_HORIZONTAL_WIDTH_INC 112 +#define CTXPOPUP_ITEM_TEXT_PADDING_INC 20 +#define CTXPOPUP_MOVE_PAD_INC 40 +#define CTXPOPUP_SHADOW_PADDING 10 +#define CTXPOPUP_LIST_PADDING 10 +#define CTXPOPUP_LIST_SHADOW_PADDING 3 +#define CTXPOPUP_ARROW_PADDING 1 +#define CTXPOPUP_FRAME_CORNER_ARROW_PADDING 13 + +#define CTXPOPUP_FRAME_CORNER_SIZE 4 4 +#define CTXPOPUP_ARROW_SIZE_INC 34 24 +#define CTXPOPUP_SEPARATOR_PXLINE_SIZE_INC 1 +#define CTXPOPUP_LIST_MAIN_TEXT_SIZE_INC 40 +#define CTXPOPUP_LIST_MAIN_TEXT_MAX_SIZE_INC (CTXPOPUP_LIST_MAIN_TEXT_SIZE_INC * 2) + +#define CTXPOPUP_BUBBLE_BG_IMAGE_BORDER 24 24 24 24 +#define CTXPOPUP_BUBBLE_BG_PRESSED_IMAGE_BORDER 8 8 8 8 + +#define CTXPOPUP_LIST_MAIN_TEXT_COLOR_INC 0 0 0 255 +#define CTXPOPUP_LIST_MAIN_TEXT_DIM_COLOR_INC 128 131 133 255 +#define CTXPOPUP_LIST_MAIN_TEXT_PRESS_COLOR_INC 250 250 250 255 +#define CTXPOPUP_SEPARATOR_COLOR_INC 105 108 112 255 +#define CTXPOPUP_ITEM_DISABLED_COLOR 0 0 0 0 +#define CTXPOPUP_FONT_COLOR 0 0 0 255 +#define CTXPOPUP_CLICKED_FONT_COLOR 255 255 255 255 + + +collections { + base_scale: 1.6; + +//======================================================================== +group { + name: "elm/ctxpopup/layout/customised_guideline_popup"; + alias: "elm/ctxpopup/layout/customised_guideline_popup_landscape"; + parts { + part { + name: "top_padding"; + type: SPACER; + scale: 1; + description { + state: "default" 0.0; + min: 0 CTXPOPUP_MOVE_PAD_INC; + fixed: 0 1; + align: 0.5 0.0; + rel1.relative: 0.0 0.0; + rel2.relative: 1.0 0.0; + } + description { + state: "show_up" 0.0; + inherit: "default" 0.0; + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + min: 0 0; + } + } + part { + name: "bottom_padding"; + type: SPACER; + scale: 1; + description { + state: "default" 0.0; + min: 0 CTXPOPUP_MOVE_PAD_INC; + fixed: 0 1; + align: 0.5 1.0; + rel1.relative: 0.0 1.0; + rel2.relative: 1.0 1.0; + } + description { + state: "show_down" 0.0; + inherit: "default" 0.0; + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + min: 0 0; + } + } + part { + name: "left_padding"; + type: SPACER; + scale: 1; + description { + state: "default" 0.0; + min: CTXPOPUP_MOVE_PAD_INC 0; + fixed: 1 0; + align: 0.0 0.5; + rel1.relative: 0.0 0.0; + rel2.relative: 0.0 1.0; + } + description { + state: "show_left" 0.0; + inherit: "default" 0.0; + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + min: 0 0; + } + } + part { + name: "right_padding"; + type: SPACER; + scale: 1; + description { + state: "default" 0.0; + min: CTXPOPUP_MOVE_PAD_INC 0; + fixed: 1 0; + align: 1 0.5; + rel1.relative: 1.0 0.0; + rel2.relative: 1.0 1.0; + } + description { + state: "show_right" 0.0; + inherit: "default" 0.0; + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + min: 0 0; + } + } + part { + name: "swallow"; + type: SWALLOW; + clip_to: "layout_clip"; + scale: 1; + description { + state: "default" 0.0; + visible: 0; + } + description { + state: "show_up" 0.0; + rel1 {to_x:"left_padding"; to_y:"top_padding"; relative: 1.0 1.0;} + rel2 {to_x:"right_padding"; to_y:"top_padding"; relative: 0.0 1.0;} + align: 0.5 0.0; + } + description { + state: "show_down" 0.0; + rel1 {to_x:"left_padding"; to_y:"bottom_padding"; relative: 1.0 0.0;} + rel2 {to_x:"right_padding"; to_y:"bottom_padding"; relative: 0.0 0.0;} + align: 0.5 1.0; + } + description { + state: "show_left" 0.0; + rel1 {to_x:"left_padding"; to_y:"top_padding"; relative: 1.0 1.0;} + rel2 {to_x:"left_padding"; to_y:"bottom_padding"; relative: 1.0 0.0;} + align: 0.0 0.5; + } + description { + state: "show_right" 0.0; + rel1 {to_x:"right_padding"; to_y:"top_padding"; relative: 0.0 1.0;} + rel2 {to_x:"right_padding"; to_y:"bottom_padding"; relative: 0.0 0.0;} + align: 1.0 0.5; + } + } + part { + name: "event_blocker"; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + visible: 1; + color: 0 0 0 0; + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + part { + name: "layout_clip"; + type: RECT; + scale: 1; + description { + state: "default" 0.0; + color: 255 255 255 255; + rel1 {to: "swallow"; relative: -0.2 -0.2;} + rel2 {to: "swallow"; relative: 1.2 1.2;} + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + color: 255 255 255 255; + } + } + } + programs { + program { + name: "showup"; + signal: "elm,state,show,up"; + source: "elm"; + script { + new st[31]; + new Float:vl; + get_state(PART:"swallow", st, 30, vl); + if (strcmp(st, "show_up")) { + set_state(PART:"swallow", "show_up", 0.0); + set_state(PART:"top_padding", "show_up", 0.0); + } + } + after: "showupend"; + } + program { + name: "showdown"; + signal: "elm,state,show,down"; + source: "elm"; + script { + new st[31]; + new Float:vl; + get_state(PART:"swallow", st, 30, vl); + if (strcmp(st, "show_down")) { + set_state(PART:"swallow", "show_down", 0.0); + set_state(PART:"bottom_padding", "show_down", 0.0); + } + } + after: "showdownend"; + } + program { + name: "showleft"; + signal: "elm,state,show,left"; + source: "elm"; + script { + new st[31]; + new Float:vl; + get_state(PART:"swallow", st, 30, vl); + if (strcmp(st, "show_left")) { + set_state(PART:"swallow", "show_left", 0.0); + set_state(PART:"left_padding", "show_left", 0.0); + } + } + after: "showleftend"; + } + program { + name: "showright"; + signal: "elm,state,show,right"; + source: "elm"; + script { + new st[31]; + new Float:vl; + get_state(PART:"swallow", st, 30, vl); + if (strcmp(st, "show_right")) { + set_state(PART:"swallow", "show_right", 0.0); + set_state(PART:"right_padding", "show_right", 0.0); + } + } + after: "showrightend"; + } + program { + name: "show_clip_blocker"; + signal: "elm,state,show,*"; + source: "elm"; + action: STATE_SET "visible" 0.0; + transition: SIN_FAC 0.25 0.5; + target: "layout_clip"; + target: "event_blocker"; + } + program { + name: "showupend"; + action: STATE_SET "visible" 0.0; + transition: SIN_FAC 0.25 1.7; + target: "top_padding"; + } + program { + name: "showdownend"; + action: STATE_SET "visible" 0.0; + transition: SIN_FAC 0.25 1.7; + target: "bottom_padding"; + } + program { + name: "showleftend"; + action: STATE_SET "visible" 0.0; + transition: SIN_FAC 0.25 1.7; + target: "left_padding"; + } + program { + name: "showrightend"; + action: STATE_SET "visible" 0.0; + transition: SIN_FAC 0.25 1.7; + target: "right_padding"; + } + program { + name: "hideup"; + signal: "elm,state,hide,up"; + source: "elm"; + action: STATE_SET "show_up" 0.0; + target: "swallow"; + target: "top_padding"; + transition: SIN_FAC 0.13 1.1; + after: "be_default"; + } + program { + name: "hidedown"; + signal: "elm,state,hide,down"; + source: "elm"; + action: STATE_SET "show_down" 0.0; + target: "swallow"; + target: "bottom_padding"; + transition: SIN_FAC 0.13 1.1; + after: "be_default"; + } + program { + name: "hideleft"; + signal: "elm,state,hide,left"; + source: "elm"; + action: STATE_SET "show_left" 0.0; + target: "swallow"; + target: "left_padding"; + transition: SIN_FAC 0.13 1.1; + after: "be_default"; + } + program { + name: "hideright"; + signal: "elm,state,hide,right"; + source: "elm"; + action: STATE_SET "show_right" 0.0; + target: "swallow"; + target: "right_padding"; + transition: SIN_FAC 0.13 1.1; + after: "be_default"; + } + program { + name: "hide_clip"; + signal: "elm,state,hide,*"; + source: "elm"; + action: STATE_SET "default" 0.0; + target: "layout_clip"; + transition: SIN_FAC 0.13 0.5; + after: "be_default"; + } + program { + name: "hide_event_blocker"; + signal: "elm,state,hide,*"; + source: "elm"; + action: STATE_SET "default" 0.0; + target: "event_blocker"; + } + program { + name: "be_default"; + action: STATE_SET "default" 0.0; + target: "swallow"; + target: "top_padding"; + target: "bottom_padding"; + target: "left_padding"; + target: "right_padding"; + after: "hidefinished"; + } + program { + name: "hidefinished"; + action: SIGNAL_EMIT "elm,action,hide,finished" ""; + } + } +} + + +group { + name: "elm/ctxpopup/layout/landscape/customised_guideline_popup"; + alias: "elm/ctxpopup/layout/landscape/customised_guideline_popup_landscape"; + inherit: "elm/ctxpopup/layout/customised_guideline_popup"; + +// data.item: "visible_maxw" CTXPOPUP_WIDTH_INC; +} + +//======================================================================== +group { + name: "elm/ctxpopup/base/customised_guideline_popup"; + images { + image : "images/ctxpopup/popup_stroke_customized.#.png" COMP; + } + parts { + part { + name:"frame_shadow_left_top_padding"; + type: SPACER; + scale: 1; + description { + state: "default" 0.0; + min: CTXPOPUP_SHADOW_LEFT_PADDING CTXPOPUP_SHADOW_TOP_PADDING; + max: CTXPOPUP_SHADOW_LEFT_PADDING CTXPOPUP_SHADOW_TOP_PADDING; + rel2 { relative: 0 0; } + align: 0 0; + fixed: 1 1; + } + } + part { + name:"frame_shadow_right_bottom_padding"; + type: SPACER; + scale: 1; + description { + state: "default" 0.0; + min: CTXPOPUP_SHADOW_RIGHT_PADDING CTXPOPUP_SHADOW_BOTTOM_PADDING; + max: CTXPOPUP_SHADOW_RIGHT_PADDING CTXPOPUP_SHADOW_BOTTOM_PADDING; + rel1{relative: 1 1;} + align: 1 1; + fixed: 1 1; + } + } + part { + name: "frame_bg"; + type: IMAGE; + scale: 1; + mouse_events: 0; + description { + state: "default" 0.0; + rel1 { relative: 1.0 1.0; to:"frame_shadow_left_top_padding";} + rel2 { relative: 0.0 0.0; to:"frame_shadow_right_bottom_padding"; } + min: (CTXPOPUP_ICON_ITEM_HORIZONTAL_WIDTH_INC + CTXPOPUP_SHADOW_LEFT_PADDING + CTXPOPUP_SHADOW_RIGHT_PADDING) 0; + image { + normal: "images/ctxpopup/popup_stroke_customized.#.png"; + } + } + } + part { + name: "access.outline"; + type: RECT; + scale: 1; + description { state: "default" 0.0; + fixed: 1 1; + rel1.to: "frame_bg"; + rel2.to: "frame_bg"; + color: 0 0 0 0; + } + } + part { + name: "arrow_area_left"; + type: SPACER; + scale: 1; + description { state: "default" 0.0; + min: CTXPOPUP_ARROW_SIZE_INC; + fixed: 1 1; + align: 1 0.5; + rel1 { + relative: 1 1; + to_x:"arrow_left_top_padding"; + to_y: "ctxpopup_frame_left_top"; + } + rel2 { + relative: 1 0; + to_x:"arrow_left_top_padding"; + to_y:"ctxpopup_frame_right_bottom"; + } + } + } + part { + name: "arrow_area_right"; + type: SPACER; + scale: 1; + description { state: "default" 0.0; + min: CTXPOPUP_ARROW_SIZE_INC; + fixed: 1 1; + align: 0 0.5; + rel1 { + relative: 0 1; + to_x:"arrow_right_bottom_padding"; + to_y:"ctxpopup_frame_left_top"; + } + rel2 { + relative: 0 0; + to_x:"arrow_right_bottom_padding"; + to_y: "ctxpopup_frame_right_bottom"; + } + } + } + part { + name: "arrow_area_up"; + type: SPACER; + scale: 1; + description { state: "default" 0.0; + min: CTXPOPUP_ARROW_SIZE_INC; + fixed: 1 1; + align: 0.5 1; + rel1 { + relative: 1 1; + to_x: "ctxpopup_frame_left_top"; + to_y: "arrow_left_top_padding"; + } + rel2 { + relative: 0 1; + to_x:"ctxpopup_frame_right_bottom"; + to_y: "arrow_left_top_padding"; + } + } + } + part { + name: "arrow_area_down"; + type: SPACER; + scale: 1; + description { state: "default" 0.0; + min: CTXPOPUP_ARROW_SIZE_INC; + fixed: 1 1; + align: 0.5 0; + rel1 { + relative: 1 1; + to_x:"ctxpopup_frame_left_top"; + to_y:"frame_bg"; + offset: 0 -2; + } + rel2 { + relative: 0 1; + to_x: "ctxpopup_frame_right_bottom"; + to_y:"frame_bg"; + offset: 0 -2; + } + } + } + part { + name: "elm.swallow.arrow_up"; + type: SWALLOW; + mouse_events: 0; + scale: 1; + dragable { + x: 1 1 0; + y: 1 1 0; + confine: "arrow_area_up"; + } + description { + state: "default" 0.0; + min: CTXPOPUP_ARROW_SIZE_INC; + fixed: 1 1; + visible: 1; + } + } + part { + name: "elm.swallow.arrow_down"; + type: SWALLOW; + mouse_events: 0; + scale: 1; + dragable { + x: 1 1 0; + y: 1 1 0; + confine: "arrow_area_down"; + } + description { + state: "default" 0.0; + min: CTXPOPUP_ARROW_SIZE_INC; + fixed: 1 1; + visible: 1; + } + } + part { + name: "elm.swallow.arrow_left"; + type: SWALLOW; + mouse_events: 0; + scale: 1; + dragable { + x: 1 1 0; + y: 1 1 0; + confine: "arrow_area_left"; + } + description { + state: "default" 0.0; + min: CTXPOPUP_ARROW_SIZE_INC; + fixed: 1 1; + visible: 1; + } + } + part { + name: "elm.swallow.arrow_right"; + type: SWALLOW; + mouse_events: 0; + scale: 1; + dragable { + x: 1 1 0; + y: 1 1 0; + confine: "arrow_area_right"; + } + description { + state: "default" 0.0; + min: CTXPOPUP_ARROW_SIZE_INC; + fixed: 1 1; + visible: 1; + } + } + part { + name: "ctxpopup_frame_left_top"; + type: SPACER; + scale: 1; + description { + state: "default" 0.0; + align: 0 0; + fixed: 1 1; + min: CTXPOPUP_FRAME_CORNER_ARROW_PADDING CTXPOPUP_FRAME_CORNER_ARROW_PADDING; + max: CTXPOPUP_FRAME_CORNER_ARROW_PADDING CTXPOPUP_FRAME_CORNER_ARROW_PADDING; + rel1 { + relative: 1 1; + to: "frame_shadow_left_top_padding"; + } + } + } + part { + name: "ctxpopup_frame_right_bottom"; + type: SPACER; + scale: 1; + description { + state: "default" 0.0; + align: 1 1; + fixed: 1 1; + min: CTXPOPUP_FRAME_CORNER_ARROW_PADDING CTXPOPUP_FRAME_CORNER_ARROW_PADDING; + max: CTXPOPUP_FRAME_CORNER_ARROW_PADDING CTXPOPUP_FRAME_CORNER_ARROW_PADDING; + rel2 { + relative: 0 0; + to: "frame_shadow_right_bottom_padding"; + } + } + } + part { + name:"content_left_top_padding"; + type: SPACER; + scale: 1; + description { + state: "default" 0.0; + min: CTXPOPUP_CONTENT_LEFT_PADDING_WIDTH CTXPOPUP_CONTENT_LEFT_PADDING_HEIGHT; + max: CTXPOPUP_CONTENT_LEFT_PADDING_WIDTH CTXPOPUP_CONTENT_LEFT_PADDING_HEIGHT; + rel1 { + to:"frame_shadow_left_top_padding"; + relative: 1.0 1.0; + } + align: 0 0; + fixed: 1 1; + } + } + part { + name:"content_right_bottom_padding"; + type: SPACER; + scale: 1; + description { + state: "default" 0.0; + min: CTXPOPUP_CONTENT_RIGHT_PADDING_WIDTH CTXPOPUP_CONTENT_RIGHT_PADDING_HEIGHT; + max: CTXPOPUP_CONTENT_RIGHT_PADDING_WIDTH CTXPOPUP_CONTENT_RIGHT_PADDING_HEIGHT; + rel2 { + to:"frame_shadow_right_bottom_padding"; + relative: 0.0 0.0; + } + align: 1 1; + fixed: 1 1; + } + } + part { + name: "arrow_left_top_padding"; + type: SPACER; + scale: 1; + description { + state: "default" 0.0; + min: CTXPOPUP_ARROW_PADDING CTXPOPUP_ARROW_PADDING; + max: CTXPOPUP_ARROW_PADDING CTXPOPUP_ARROW_PADDING; + rel1 { + to:"frame_shadow_left_top_padding"; + relative: 1.0 1.0; + } + align: 0 0; + } + } + part { + name: "arrow_right_bottom_padding"; + type: SPACER; + scale: 1; + description { + state: "default" 0.0; + min: CTXPOPUP_ARROW_PADDING CTXPOPUP_ARROW_PADDING; + max: CTXPOPUP_ARROW_PADDING CTXPOPUP_ARROW_PADDING; + rel2 { + to:"frame_shadow_right_bottom_padding"; + relative: 0.0 0.0; + } + align: 1 1; + } + } + part { + name: "elm.swallow.content"; + type: SWALLOW; + scale: 1; + description { + state: "default" 0.0; + align: 0 0; + rel1 { + to:"content_left_top_padding"; + relative: 1.0 1.0; + } + rel2 { + to:"content_right_bottom_padding"; + relative: 0.0 0.0; + } + } + } + } +} + +//======================================================================== +group { + name: "elm/ctxpopup/arrow/customised_guideline_popup"; + alias: "elm/ctxpopup/arrow/customised_guideline_popup_landscape"; + images { + image: "images/ctxpopup/B31_help_popup_picker_left.png" COMP; + image: "images/ctxpopup/B31_help_popup_picker_right.png" COMP; + image: "images/ctxpopup/B31_help_popup_picker_top.png" COMP; + image: "images/ctxpopup/B31_help_popup_picker_bottom.png" COMP; + image: "images/ctxpopup/btn_bubble_tail.png" COMP; + } + parts { + part { + name: "ctxpopup_arrow"; + type: IMAGE; + scale: 1; + description { + state: "default" 0.0; + min: CTXPOPUP_ARROW_SIZE_INC; + max: CTXPOPUP_ARROW_SIZE_INC; + fixed: 1 1; + visible: 1; + align: 0.5 0.5; + } + description { + state: "left" 0.0; + min: CTXPOPUP_ARROW_SIZE_INC; + max: CTXPOPUP_ARROW_SIZE_INC; + fixed: 1 1; + align: 1.0 0.5; + image { + normal: "images/ctxpopup/B31_help_popup_picker_left.png"; + } + } + description { + state: "right" 0.0; + min: CTXPOPUP_ARROW_SIZE_INC; + max: CTXPOPUP_ARROW_SIZE_INC; + fixed: 1 1; + align: 0.0 0.5; + image { + normal: "images/ctxpopup/B31_help_popup_picker_right.png"; + } + } + description { + state: "top" 0.0; + min: CTXPOPUP_ARROW_SIZE_INC; + max: CTXPOPUP_ARROW_SIZE_INC; + fixed: 1 1; + align: 0.5 1.0; + image { + normal: "images/ctxpopup/B31_help_popup_picker_top.png"; + } + } + description { + state: "bottom" 0.0; + min: CTXPOPUP_ARROW_SIZE_INC; + max: CTXPOPUP_ARROW_SIZE_INC; + fixed: 1 1; + align: 0.5 0.0; + image { +// normal: "images/ctxpopup/B31_help_popup_picker_bottom.png"; + normal: "images/ctxpopup/btn_bubble_tail.png"; + } + } + } + } + programs { + program { + name: "enable_left_arrow"; + signal: "elm,state,left"; + source: "elm"; + action: STATE_SET "left" 0.0; + target: "ctxpopup_arrow"; + } + program { + name: "enable_right_arrow"; + signal: "elm,state,right"; + source: "elm"; + action: STATE_SET "right" 0.0; + target: "ctxpopup_arrow"; + } + program { + name: "enable_top_arrow"; + signal: "elm,state,top"; + source: "elm"; + action: STATE_SET "top" 0.0; + target: "ctxpopup_arrow"; + } + program { + name: "enable_bottom_arrow"; + signal: "elm,state,bottom"; + source: "elm"; + action: STATE_SET "bottom" 0.0; + target: "ctxpopup_arrow"; + } + } +} + +group { + name: "elm/ctxpopup/bg/customised_guideline_popup"; + alias: "elm/ctxpopup/bg/customised_guideline_popup_landscape"; + parts { + part { + name: "bg"; + type: RECT; + scale: 1; + mouse_events: 1; + description { + state: "default" 0.0; + visible: 0; + color: 0 0 0 77; + } + description { + state: "visible" 0.0; + inherit: "default" 0.0; + align: 0.0 0.0; + visible: 1; + } + } + part { + name: "event_blocker"; + type: RECT; + description { + state: "default" 0.0; + color: 0 0 0 0; + rel1.to: "bg"; + rel2.to: "bg"; + visible: 1; + } + description { + state: "visible" 0.0; + visible: 0; + } + } + } + programs { + program { + name: "transition_finished"; + in: 0.3 0.0; + action: STATE_SET "visible" 0.0; + target: "event_blocker"; + } + program { + name: "clicked_event"; + signal: "mouse,clicked,1"; + source: "bg"; + action: SIGNAL_EMIT "elm,action,click" ""; + } + program { + name: "show"; + signal: "elm,state,show"; + source: "elm"; + action: STATE_SET "visible" 0.0; + target: "bg"; + after:"transition_finished"; + } + program { + name: "hide"; + signal: "elm,state,hide"; + source: "elm"; + action: STATE_SET "default" 0.0; + target: "bg"; + } + } +} + +////////////////////////////////////////////////////////////////////////// +group { + name: "elm/ctxpopup/base/customised_guideline_popup_landscape"; + inherit: "elm/ctxpopup/base/customised_guideline_popup"; + + parts { + part { + name:"frame_shadow_left_top_padding"; + type: SPACER; + scale: 1; + description { + state: "default" 0.0; + min: CTXPOPUP_SHADOW_LEFT_PADDING_LANDSCAPE CTXPOPUP_SHADOW_TOP_PADDING; + max: CTXPOPUP_SHADOW_LEFT_PADDING_LANDSCAPE CTXPOPUP_SHADOW_TOP_PADDING; + rel2 { relative: 0 0; } + align: 0 0; + fixed: 1 1; + } + } + part { + name:"frame_shadow_right_bottom_padding"; + type: SPACER; + scale: 1; + description { + state: "default" 0.0; + min: CTXPOPUP_SHADOW_RIGHT_PADDING_LANDSCAPE CTXPOPUP_SHADOW_BOTTOM_PADDING; + max: CTXPOPUP_SHADOW_RIGHT_PADDING_LANDSCAPE CTXPOPUP_SHADOW_BOTTOM_PADDING; + rel1{relative: 1 1;} + align: 1 1; + fixed: 1 1; + } + } + } +} + +} \ No newline at end of file diff --git a/edje/mobile/images/ctxpopup/B31_help_popup_picker_bg.png b/edje/mobile/images/ctxpopup/B31_help_popup_picker_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..fafe5eaaf7a0cc646109133d1f71b7e191f6df97 GIT binary patch literal 826 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nC-mUKs7M+SzC{oH>NS%G}c0*}aI z1_r)EAj~ML;ne^Xlq_+LC<)F_D=AMbN@WO0%*-p%^K%VRC^ObG)w3|SZir=IVA}5K z;uwfmZRu)%|8RlPvo)k`Z(jG|p!L>!kb zec`i{Ly7nHSLRpzS60P735Zf`IlXJ{z30FDT<$!U@VO^FkA2?Nxy9!`7nOdwH{a#_>YYp67Z>44bLLK;CgVG6y8&NJ?Ubw?A5&hvSZjE>r25bF<6<}O zpI_!WYgy*yGmCU?-?pA*UGa9~PMd$1e9oPbI{!QIP}Anmmo6CpJ9WWDy0>^`*^dLK zcFk*-f3?16R(brsS7i^KxqY`>T(LH6T6gNzyO#Qw=bGMk-XmP^bo$)7H4A&)a!`@rj&w6$?%;W`>x!V}?&D z-z?ws#pWDPfrx+dJVEQ$hTT!b)NW;53Df?kpwqGa>+4T19E5XCvQ~@MPpG(UtAEihVPECEJVCoHAdlV3N`2S2 z<(qFI_x-v#7jqA_i~V=sw>5tj$oWT8Ha-0%@n3Iy&mM#I>h>?g9)48&e=~m}*e6`# z!r8{Z`*L1O%(z#Wcq62=_lJL4q8GES$wjxt+oC?ouQ?K%`f`@=%gcL(L+Ac|Z!F%P zzIu1l+MQF3ml|Z`Kgp3=^0YG2^{wZvErs{kwf_f(-_d&~E`3yOW2IdG^b-sAa$j-) z2C!)Dm9O!39d~wRO>AvH!uD~4E1yQIW3_VnWuWYzI+5C+2ehY&KC+sasC6`|aC?OM zHTE6LUD)29ojJ!BiftNELr2Uw=0gQ;dh^zlWZO7{i8 s4%e;VXg~b0z(R%(Nd5SJB*~uf6lZ#(N~dKrFr71ay85}Sb4q9e05vLp-T(jq literal 0 HcmV?d00001 diff --git a/edje/mobile/images/ctxpopup/B31_help_popup_picker_bottom.png b/edje/mobile/images/ctxpopup/B31_help_popup_picker_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..32f84e7b1569544a0f43432c2123fd05dc6f791e GIT binary patch literal 1907 zcmaJ?c~}y87$y(OLfy=@w8L4fR!dHmkOfP@1C4T#uq+dVQ4nD!7zMS=%Jr=5u*0M+ zt?X1QH8U}@?B49u?s98OYfaOv-3)Dq%Gy8Hoo8l#$Me4L_kF+booBK`=LA}hbQ+1l zV63@896mZaqmRP~Ec&Jw1$Lu@BjP_F34>w~tym3We5Ft{2ym6+Sdb5jrAbRJf=mp? z94{BlN9OZpGbE6bC^lh;Iwg#>eW92FqzN@w#56Gn~e7F~n%!ApW zOdgc12E&r)2qei0iMJF#(+6Pc7^r{}M8tqj8L!eXbS(TQT?RTgZIkf8CkUco;Xfxe zpBDvz5ST$CX|-CS)`JMCV@VWmZ*P+Zl}bPn1Wl3(5$gyljmw|{2h>Q^au|_A zD!`;Dj)oEt79P#?a|ufLtE@`%<(SX|Bk9C2i9#fsN*V<6c>fPoD!-yN2p{~G?|%ww z1W7PR;)5C}K`lWW7vo|I1vA)cP>euo0R+Vlo?@sBLLiL{f&q3I4R8&YtE7-t;S9+op~;X; zjr~`n2e(l7n5JKCi!QzzA5@`kSEIJJvC;|AuceL4@fGOqb>yeShb7pbzgkyK_%kA0 zR37v^r(wm-eWP|-=fxkN26))TniVW}ol`uHW{1mhnvKI|HU?cwYy1Vbl8I2ncZF>@ z+;clo>tb9BJMz@VhBFcMQ7>0+I3bjEyfkm6x6WhQ7P~ei)sAWDn4TH3b|BMiz<8VC zYJ4%-Gg7-E?IM+E>yEXld^2hL^(T%_84tQHwN`I#8b0z-UkJgt=&_BNS=41+@u5=J z9ku*kn;#oVk=8BS-xpV0P84M)?b(0TS%0RL2z_^SM{pgfUB*ej5~$c|xQ>me!qmKJ z>$qD(Q?QgF6E07fveR>)JSio(UfKS(G*{%N9$V6ITS4uzVrCIjbwzoVBZCcPz zms-?P;N*NeZfn2v-KIywem``@Dx|GsmR{)L_V?=MVNho|CQ4>O<;NtKW@_uS-MgPL zRF*%d3ew_ZVeYj8;fhDS2hxXSNv$?EPIw_#B%V)SmXLQfs?yM(5g56wX1dcXgU@q^ z*EB$62Q4d)2LiruH{?EIaI^KhXK1MI>#J`44LAdY;~Nikz` zdsTGADPel6i^ayrZ+Vs{&n7-QZHL)3>u%QdwDAY$dK!9;CUItZP$J{X296ugKa90v z1}*ro|KQn+r>d)#ZLlL}mK@o7AytT-xG5%IbhMeBvvzaIHY=l`Fvl({KU@D0)4=TQ zDEVmK({30uPIltql_$^KvTpF7yC7@)#+2V!m9Z+?{@@F5KU!cXc4;~MUhmE=`gnW! c@_v_7n45+J7LMLUEvDZf*MAPD%ulrPAFs{^`Tzg` literal 0 HcmV?d00001 diff --git a/edje/mobile/images/ctxpopup/B31_help_popup_picker_left.png b/edje/mobile/images/ctxpopup/B31_help_popup_picker_left.png new file mode 100644 index 0000000000000000000000000000000000000000..da8a683630efbc7e563cd5f188d32383abd4d337 GIT binary patch literal 881 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 S(L!(D9zuGfy~rL>h5rG~Ik$=c literal 0 HcmV?d00001 diff --git a/edje/mobile/images/ctxpopup/popup_stroke_customized.#.png b/edje/mobile/images/ctxpopup/popup_stroke_customized.#.png new file mode 100644 index 0000000000000000000000000000000000000000..dd1e8bb126117dffd6cfeb11eef8d7d30dab3f4c GIT binary patch literal 3004 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 literal 0 HcmV?d00001 diff --git a/po/ar.po b/po/ar.po index 9ad40d6..aee5a38 100644 --- a/po/ar.po +++ b/po/ar.po @@ -126,3 +126,6 @@ msgstr "خدمة التعرف مشغولة." msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "انقر للإيقاف مؤقتاً" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "اسحب شريط المسافة إلى اليسار أو اليمين للتغيير بين اللغات." \ No newline at end of file diff --git a/po/as.po b/po/as.po index 655b5cd..06547ae 100644 --- a/po/as.po +++ b/po/as.po @@ -126,3 +126,6 @@ msgstr "স্বীকৃতিপ্ৰাপ্ত সেৱা ব্যস msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "বিৰতি দিবলৈ টিপক" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "ভাষাসমূহৰ মাজত সাল-সলনি কৰিবলৈ স্পেচ দণ্ডিকা বাঁও বা সোঁ দিশলৈ ঘঁহাওক৷" \ No newline at end of file diff --git a/po/az.po b/po/az.po index 39bb700..044461b 100644 --- a/po/az.po +++ b/po/az.po @@ -126,3 +126,6 @@ msgstr "Tanınma xidməti məşğuldur." msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "Pauza üçün vur" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "Dilləri dəyişmək üçün boşluq panelini sola və ya sağa sürüşdürün." \ No newline at end of file diff --git a/po/be_BY.po b/po/be_BY.po index e65a5d1..396cabb 100755 --- a/po/be_BY.po +++ b/po/be_BY.po @@ -126,3 +126,6 @@ msgstr "Сэрвіс распазнавання заняты." msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "Націс.,каб прыпыніць" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "Правядзіце ўздоўж прабелу ўлева або ўправа, каб пераключыцца на іншую мову." \ No newline at end of file diff --git a/po/bn.po b/po/bn.po index ba61775..bbec6c3 100644 --- a/po/bn.po +++ b/po/bn.po @@ -126,3 +126,9 @@ msgstr "শনাক্তকরণ পরিষেবা ব্যস্ত।" msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "বিরতি দিতে ট্যাপ ক:" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "ভাষাগুলির মধ্যে পরিবর্তন করতে স্পেস বারটি বাম থেকে ডানে সোয়াইপ করুন।" + +msgid "IDS_IME_BODY_TAP_AND_HOLD_THIS_KEY_TO_SEE_THE_SYMBOL_LIST_SELECT_ONE_TO_USE_IT_AS_A_SHORTCUT" +msgstr "প্রতীকের তালিকাটি দেখতে এই কী ট্যাপ করুন ও ধরে থাকুন। শর্টকাট রূপে ব্যবহার করার জন্য একটি নির্বাচন করুন।" \ No newline at end of file diff --git a/po/bn_BD.po b/po/bn_BD.po index d2a2dcb..f9ae99f 100644 --- a/po/bn_BD.po +++ b/po/bn_BD.po @@ -126,3 +126,9 @@ msgstr "শনাক্তকরণ পরিষেবা ব্যস্ত।" msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "বিরতি দিতে ট্যাপ করুন" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "ভাষা পরিবর্তন করতে স্পেস বারটি বামে বা ডানে সোয়াইপ করুন।" + +msgid "IDS_IME_BODY_TAP_AND_HOLD_THIS_KEY_TO_SEE_THE_SYMBOL_LIST_SELECT_ONE_TO_USE_IT_AS_A_SHORTCUT" +msgstr "প্রতীকের তালিকাটি দেখতে এই কী ট্যাপ করুন ও ধরে থাকুন। শর্টকাট রূপে ব্যবহার করতে একটি নির্বাচন করুন।" \ No newline at end of file diff --git a/po/en.po b/po/en.po index 52d2a32..264854a 100644 --- a/po/en.po +++ b/po/en.po @@ -126,3 +126,6 @@ msgstr "Recognition service busy." msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "Tap to pause" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "Swipe the space bar left or right to change between languages." diff --git a/po/en_US.po b/po/en_US.po index 6ea66fe..8556e18 100755 --- a/po/en_US.po +++ b/po/en_US.po @@ -126,3 +126,6 @@ msgstr "Recognition service busy." msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "Tap to pause" + +msgid "IDS_IME_BODY_TAP_AND_HOLD_THIS_KEY_TO_SEE_THE_SYMBOL_LIST_SELECT_ONE_TO_USE_IT_AS_A_SHORTCUT" +msgstr "Tap and hold this key to see the symbol list. Select one to use it as a shortcut." diff --git a/po/fr.po b/po/fr.po index 4295a93..a885010 100644 --- a/po/fr.po +++ b/po/fr.po @@ -126,3 +126,9 @@ msgstr "Service de reconnaissance occupé" msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "Appuyer pour pause" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "Faites glisser votre doigt vers la gauche ou la droite sur la barre d'espace pour passer d'une langue à l'autre." + +msgid "IDS_IME_BODY_TAP_AND_HOLD_THIS_KEY_TO_SEE_THE_SYMBOL_LIST_SELECT_ONE_TO_USE_IT_AS_A_SHORTCUT" +msgstr "Appuyez sur cette touche et maintenez-la enfoncée pour afficher la liste des symboles. Sélectionnez-en un pour l'utiliser comme raccourci." \ No newline at end of file diff --git a/po/gu.po b/po/gu.po index d132546..c05c9c4 100644 --- a/po/gu.po +++ b/po/gu.po @@ -126,3 +126,6 @@ msgstr "ઓળખાણ સેવા વ્યસ્ત." msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "થોભાવવા ટેપ કરો" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "ભાષાઓ વચ્ચે બદલી કરવા માટે સ્પેસ બારને ડાબે અથવા જમણે સરકાવો." \ No newline at end of file diff --git a/po/hi.po b/po/hi.po index 97473f3..63c3111 100644 --- a/po/hi.po +++ b/po/hi.po @@ -126,3 +126,6 @@ msgstr "पहचान सेवा व्यस्त।" msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "विराम हेतु टैप करें" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "भाषाएँ बदलने के लिए स्पेस बार बाएँ या दाएँ स्वाइप करें।" \ No newline at end of file diff --git a/po/hy.po b/po/hy.po index fc6b812..6fa927b 100644 --- a/po/hy.po +++ b/po/hy.po @@ -126,3 +126,6 @@ msgstr "Ճանաչման ծառայությունը զբաղված է:" msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "Թակել ընդմիջելու հր" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "Բացատի ստեղնը մատով սահեցրեք ձախ կամ աջ՝ լեզուները փոխելու համար:" \ No newline at end of file diff --git a/po/id.po b/po/id.po index fb7837d..0eb2910 100644 --- a/po/id.po +++ b/po/id.po @@ -126,3 +126,6 @@ msgstr "Layanan pengenal sibuk." msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "Ketuk untuk jeda" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "Usap bilah spasi ke kiri atau kanan untuk mengubah bahasa." \ No newline at end of file diff --git a/po/ka.po b/po/ka.po index 8bb5fbd..3e9400b 100644 --- a/po/ka.po +++ b/po/ka.po @@ -126,3 +126,6 @@ msgstr "ამოცნობის სერვისი დაკავებ msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "შეეხე, რომ დაპაუზდეს" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "ენის შესაცვლელად, ინტერვალის კლავიშს გადაუსვით თითი მარცხნივ ან მარჯვნივ." \ No newline at end of file diff --git a/po/kk.po b/po/kk.po index 544fd46..66d7cc7 100644 --- a/po/kk.po +++ b/po/kk.po @@ -126,3 +126,6 @@ msgstr "Тану қызметі бос емес." msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "Кідірту үшін түрту" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "Тілдер арасында өзгерту үшін бос орын пернесін солға немесе оңға сипаңыз." \ No newline at end of file diff --git a/po/kn.po b/po/kn.po index b24f1ad..326b9b5 100644 --- a/po/kn.po +++ b/po/kn.po @@ -126,3 +126,6 @@ msgstr "ಗುರುತಿಸುವಿಕೆ ಸೇವೆ ನಿರತ." msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "ವಿರಾಮಗೊಳಿಸಲು ತಟ್ಟಿ" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "Usap bilah spasi ke kiri atau kanan untuk mengubah bahasa." \ No newline at end of file diff --git a/po/ko_KR.po b/po/ko_KR.po index bc77d63..489f6e0 100644 --- a/po/ko_KR.po +++ b/po/ko_KR.po @@ -126,3 +126,6 @@ msgstr "인식 서비스가 응답하지 않습니다." msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "일시정지하려면 누르세요" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "언어를 변경하려면 스페이스 키를 왼쪽 또는 오른쪽으로 움직이세요." \ No newline at end of file diff --git a/po/ky_KG.po b/po/ky_KG.po index a5a7cd6..142b64c 100644 --- a/po/ky_KG.po +++ b/po/ky_KG.po @@ -126,3 +126,9 @@ msgstr "Таануу кызматы бош эмес" msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "Тыныгуу үчүн басыңыз" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "Тилдерди өзгөртүүгө ара тилкесин солго же оңго ала салыңыз." + +msgid "IDS_IME_BODY_TAP_AND_HOLD_THIS_KEY_TO_SEE_THE_SYMBOL_LIST_SELECT_ONE_TO_USE_IT_AS_A_SHORTCUT" +msgstr "Сиволдор тизмесин көрүүгө, бул баскычты таптап кармап туруңуз. Бирөөсүн тез чакырма катары колдонууга, тандап алыңыз." \ No newline at end of file diff --git a/po/ml.po b/po/ml.po index e22841f..6ff3557 100644 --- a/po/ml.po +++ b/po/ml.po @@ -126,3 +126,6 @@ msgstr "തിരിച്ചറിയല്‍ സേവനം തിരക് msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "തൽക്കാലം നിർത്താൻ സ്പർശിക്കുക" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "ഭാഷകൾ പരസ്പരം മാറുന്നതിന് സ്പെയ്സ് ബാർ ഇടത്തോട്ടോ വലത്തോട്ടോ സ്വൈപ് ചെയ്യുക." \ No newline at end of file diff --git a/po/mn_MN.po b/po/mn_MN.po index cf26abe..5e56582 100644 --- a/po/mn_MN.po +++ b/po/mn_MN.po @@ -126,3 +126,6 @@ msgstr "Таних үйлчилгээ завгүй" msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "Товшоод түр зогс" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "Хэлнүүдийн хооронд өөрчлөхийн тулд зай авдаг хөндлийг зүүн эсвэл баруун тийш шудар." \ No newline at end of file diff --git a/po/mr.po b/po/mr.po index 3b86c7f..854adfd 100644 --- a/po/mr.po +++ b/po/mr.po @@ -126,3 +126,6 @@ msgstr "ओळख सेवा व्यस्त." msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "विराम देण्यासाठी टॅप करा" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "भाषांदरम्‍यान बदलण्‍यासाठी स्‍पेस बार डावीकडे किंवा उजवीकडे स्‍वाइप करा." \ No newline at end of file diff --git a/po/ms.po b/po/ms.po index 8a20278..e58a2ff 100644 --- a/po/ms.po +++ b/po/ms.po @@ -126,3 +126,6 @@ msgstr "Perkhidmatan pengecaman sibuk." msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "Ketik untuk dijedakn" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "Leret bar ruang ke kiri atau ke kanan untuk menukar antara bahasa." \ No newline at end of file diff --git a/po/ne.po b/po/ne.po index 10175a2..2804ba2 100644 --- a/po/ne.po +++ b/po/ne.po @@ -126,3 +126,6 @@ msgstr "पहिचान सेवा व्यस्त छ।" msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "पज गर्न ट्याप गर्नुहोस्" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "भाषाहरू परिवर्तन गर्न स्पेस बारलाई बायाँ वा दायाँ स्वाइप गर्नुहोस्।" \ No newline at end of file diff --git a/po/or.po b/po/or.po index 5ac815b..14b3930 100644 --- a/po/or.po +++ b/po/or.po @@ -126,3 +126,9 @@ msgstr "ଚିହ୍ନଟ ସେବା ବ୍ୟସ୍ତ ଅଛି।" msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "ବିରତ କରିବାକୁ ଟ୍ୟାପ୍" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "ଭାଷାଗୁଡିକ ମଧ୍ୟରେ ବଦଳାଇବାକୁ ସ୍ପେସ୍ ବାର୍ ବାମ କିମ୍ଵା ଡାହାଣକୁ ଘୁଞ୍ଚାନ୍ତୁ।" + +msgid "IDS_IME_BODY_TAP_AND_HOLD_THIS_KEY_TO_SEE_THE_SYMBOL_LIST_SELECT_ONE_TO_USE_IT_AS_A_SHORTCUT" +msgstr "ଚିହ୍ନ ତାଲିକା ଦେଖିବାକୁ ଏହି କୀ ଟ୍ୟାପ୍ ଏବଂ ହୋଲ୍ଡ କରନ୍ତୁ। ଏହାକୁ ଏକ ସର୍ଟକଟ୍ ଭାବେ ବ୍ୟବହାର କରିବାକୁ ଚୟନ କରନ୍ତୁ।" \ No newline at end of file diff --git a/po/pa.po b/po/pa.po index b8c2e92..1ac9c5a 100644 --- a/po/pa.po +++ b/po/pa.po @@ -126,3 +126,6 @@ msgstr "ਪਛਾਣ ਸੇਵਾ ਵਿਅਸਤ।" msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "ਵਿਰਾਮ ਦੇਣ ਲਈ ਟੈਪ ਕਰੋ" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "ਭਾਸ਼ਾਵਾਂ ਦੇ ਵਿਚਕਾਰ ਬਦਲਣ ਦੇ ਲਈ ਸਪੇਸ ਬਾਰ ਨੂੰ ਖੱਬੇ ਜਾਂ ਸੱਜੇ ਸਵਾਈਪ ਕਰੋ।" \ No newline at end of file diff --git a/po/ru_RU.po b/po/ru_RU.po index 2fc68b8..af4c82c 100644 --- a/po/ru_RU.po +++ b/po/ru_RU.po @@ -126,3 +126,9 @@ msgstr "Служба распознавания занята." msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "Коснитесь для паузы" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "Чтобы изменить язык, проведите пальцем по клавише пробела влево или вправо." + +msgid "IDS_IME_BODY_TAP_AND_HOLD_THIS_KEY_TO_SEE_THE_SYMBOL_LIST_SELECT_ONE_TO_USE_IT_AS_A_SHORTCUT" +msgstr "Для просмотра списка символов нажмите и удерживайте эту клавишу. Выберите один из них для ярлыка." \ No newline at end of file diff --git a/po/si.po b/po/si.po index 1a23bae..3de749d 100644 --- a/po/si.po +++ b/po/si.po @@ -126,3 +126,6 @@ msgstr "හඳුනාගැනීමේ සේවාව කාර්ය බහ msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "රැඳවීමට තට්ටු කරන්න" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "භාෂා අතර වෙනස් කිරීමට ඉඩ යතුර වමට හෝ දකුණට ස්වයිප් කරන්න." \ No newline at end of file diff --git a/po/ta.po b/po/ta.po index cc982af..7e0ffad 100644 --- a/po/ta.po +++ b/po/ta.po @@ -126,3 +126,6 @@ msgstr "கண்டறிதல் சேவை பிஸியாக உள் msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "இ.நிறுத்தம் டேப் செய்க" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "மொழிகளுக்கு இடையில் மாறுவதற்கு ஸ்பேஸ் பாரை இடமாக அல்லது வலமாக ஸ்வைப் செய்க." \ No newline at end of file diff --git a/po/te.po b/po/te.po index d3334a4..1b5072a 100644 --- a/po/te.po +++ b/po/te.po @@ -126,3 +126,6 @@ msgstr "గుర్తింపు సేవ పనిలో ఉంది." msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "పాజ్ చేయడానికి ట్యాప్ చేయండి" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "భాషల మధ్య మారడానికి ఎడమ లేదా కుడి స్పేస్ బార్ స్వైప్ చేయండి." \ No newline at end of file diff --git a/po/tg_TJ.po b/po/tg_TJ.po index cd46e3c..be7b1a8 100644 --- a/po/tg_TJ.po +++ b/po/tg_TJ.po @@ -126,3 +126,6 @@ msgstr "Хидмати шинохтагирӣ банд аст." msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "Барои таваққуф, зрба" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "Барои гузариш байни забонҳо тугмаи фосиларо ба чап ё рост молед." \ No newline at end of file diff --git a/po/tk_TM.po b/po/tk_TM.po index 2ad873b..564719e 100644 --- a/po/tk_TM.po +++ b/po/tk_TM.po @@ -126,3 +126,6 @@ msgstr "Tanama hyzmaty meşgul" msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "Säginmek üçin bas" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "Dilden-dile geçmek üçin, probeli çepe ýa-da saga syryň." \ No newline at end of file diff --git a/po/uk.po b/po/uk.po index a9f61d8..7dac521 100644 --- a/po/uk.po +++ b/po/uk.po @@ -126,3 +126,6 @@ msgstr "Служба розпізнавання зайнята." msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "Торкніться для паузи" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "Проведіть по пробілу вліво або вправо для переключення між мовами." \ No newline at end of file diff --git a/po/ur.po b/po/ur.po index 8dff3c5..bf42c1d 100644 --- a/po/ur.po +++ b/po/ur.po @@ -127,3 +127,5 @@ msgstr "پہچان کی خدمت مشغول ہے۔" msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "وقفہ کے لیے تھپکی دیں" +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "زبانیں تبدیل کرنے کے لیے اسپیس بار کو دائیں یا بائیں سوائپ کریں۔" \ No newline at end of file diff --git a/po/uz.po b/po/uz.po index 9d5e289..bcd0fad 100644 --- a/po/uz.po +++ b/po/uz.po @@ -126,3 +126,6 @@ msgstr "Aniqlash xizmati band." msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "To‘xtam uchun teging" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "Tillarni o‘zgartirish uhcun bo‘shliq tugmasini chap yoki o‘ngga suring." \ No newline at end of file diff --git a/po/zh_CN.po b/po/zh_CN.po index 66d59d6..87a3d94 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -126,3 +126,6 @@ msgstr "识别服务忙。" msgid "IDS_VOICE_NPBODY_TAP_TO_PAUSE_ABB" msgstr "点击以暂停" + +msgid "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES" +msgstr "向左或向右滑动空格键切换语言。" \ No newline at end of file diff --git a/src/config.cpp b/src/config.cpp index 6640f7a..7f7c06d 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -52,6 +52,8 @@ CONFIG_VALUES::CONFIG_VALUES() { sound_on = SOUND_ON; vibration_on = VIBRATION_ON; preview_on = PREVIEW_ON; + first_guideset = FALSE; + first_guidechange = FALSE; }; CONFIG_VALUES g_config_values; @@ -115,6 +117,14 @@ void read_ise_config_values() { integer_value = PREVIEW_ON; preference_get_int(ISE_CONFIG_PREVIEW_ON, &integer_value); g_config_values.preview_on = integer_value; + + integer_value = 0; + preference_get_int(ISE_CONFIG_FIRST_GUIDELINE_POPUP_FOR_SETTING, &integer_value); + g_config_values.first_guideset = integer_value; + + integer_value = 0; + preference_get_int(ISE_CONFIG_FIRST_GUIDELINE_POPUP_FOR_LANGUAGE_CHANGE, &integer_value); + g_config_values.first_guidechange = integer_value; #ifdef _TV g_config_values.enabled_languages.push_back("English"); g_config_values.enabled_languages.push_back("Chinese"); @@ -143,6 +153,8 @@ void write_ise_config_values() { preference_set_int(ISE_CONFIG_SOUND_ON, g_config_values.sound_on); preference_set_int(ISE_CONFIG_VIBRATION_ON, g_config_values.vibration_on); preference_set_int(ISE_CONFIG_PREVIEW_ON, g_config_values.preview_on); + preference_set_int(ISE_CONFIG_FIRST_GUIDELINE_POPUP_FOR_SETTING, g_config_values.first_guideset); + preference_set_int(ISE_CONFIG_FIRST_GUIDELINE_POPUP_FOR_LANGUAGE_CHANGE, g_config_values.first_guidechange); } void erase_ise_config_values() { @@ -155,6 +167,8 @@ void erase_ise_config_values() { preference_remove(ISE_CONFIG_SOUND_ON); preference_remove(ISE_CONFIG_VIBRATION_ON); preference_remove(ISE_CONFIG_PREVIEW_ON); + preference_remove(ISE_CONFIG_FIRST_GUIDELINE_POPUP_FOR_SETTING); + preference_remove(ISE_CONFIG_FIRST_GUIDELINE_POPUP_FOR_LANGUAGE_CHANGE); } void reset_ise_config_values() { @@ -168,6 +182,8 @@ void reset_ise_config_values() { g_config_values.sound_on = SOUND_ON; g_config_values.vibration_on = VIBRATION_ON; g_config_values.preview_on = PREVIEW_ON; + g_config_values.first_guideset = FALSE; + g_config_values.first_guidechange = FALSE; write_ise_config_values(); } diff --git a/src/include/config.h b/src/include/config.h index 796e461..bfcd6e7 100644 --- a/src/include/config.h +++ b/src/include/config.h @@ -33,6 +33,9 @@ #define ISE_CONFIG_VIBRATION_ON "/ise-default/vibration_on" #define ISE_CONFIG_PREVIEW_ON "/ise-default/preview_on" #define ISE_CONFIG_RECENT_EMOTICONS_LIST "/ise-default/recent_emoticons_list" +#define ISE_CONFIG_FIRST_GUIDELINE_POPUP_FOR_SETTING "/ise-default/first_guideline_popup_for_setting" +#define ISE_CONFIG_FIRST_GUIDELINE_POPUP_FOR_LANGUAGE_CHANGE "/ise-default/first_guideline_popup_for_language_change" + using namespace scl; @@ -53,6 +56,8 @@ struct CONFIG_VALUES { sclboolean sound_on; sclboolean vibration_on; sclboolean preview_on; + sclboolean first_guideset; + sclboolean first_guidechange; }; void read_ise_config_string(const char *key, std::string &value); diff --git a/src/ise.cpp b/src/ise.cpp index da39016..86caed0 100644 --- a/src/ise.cpp +++ b/src/ise.cpp @@ -41,7 +41,7 @@ #include "ise-stt-option.h" #include "ise-language-change.h" #include "modeindicator.h" - +#define EDJ_FILE RESDIR"/edje/mobile/customised_ctxpopup.edj" #define EXPORTED __attribute__((visibility("default"))) #define CANDIDATE_WINDOW_HEIGHT 84 @@ -75,6 +75,7 @@ static string g_current_punctuation[MAX_DEFAULT_PUNCTUATION-1] = {"RCENT1", "RCE static vector g_softcandidate_string; static bool g_softcandidate_show = false; static bool g_caps_mode_pending = false; +static Ecore_Timer *guideline_timer = NULL; #define SOFT_CANDIDATE_DELETE_TIME (1.0/100) static Ecore_Timer *g_softcandidate_hide_timer = NULL; @@ -159,6 +160,7 @@ static ISELanguageManager _language_manager; static sclboolean _cm_popup_opened = FALSE; static const char *_cm_key_list[CM_KEY_LIST_SIZE] = {USER_KEYSTRING_OPTION, USER_KEYSTRING_EMOTICON, USER_KEYSTRING_CLIPBOARD, USER_KEYSTRING_VOICE}; static scluint _current_cm_key_id = 0; +Evas_Object* _guide_popup_window = NULL; /* * This callback class will receive all response events from SCL @@ -607,6 +609,132 @@ SCLEventReturnType CUIEventCallback::on_event_notification(SCLUINotiType noti_ty return ret; } +void ise_destory_guideline_popup() +{ + if (_guide_popup_window != NULL) { + evas_object_del(_guide_popup_window); + _guide_popup_window = NULL; + } +} + +void _guideline_popup_dismissed_cb(void *data, Evas_Object *obj, void *event_info) +{ + evas_object_smart_callback_del(obj, "dismissed", _guideline_popup_dismissed_cb); + evas_object_del(obj); + obj = NULL; + + if (_guide_popup_window != NULL) + { + evas_object_del(_guide_popup_window); + _guide_popup_window = NULL; + } + + g_config_values.first_guideset = TRUE; + write_ise_config_values(); +} + +Evas_Object *open_message_popup(Evas_Object *parentWnd) +{ + static Evas_Object *msg_window = NULL; + if (msg_window) { + evas_object_del(msg_window); + msg_window = NULL; + } + msg_window = elm_win_add(parentWnd, "MCFMessagePopup", ELM_WIN_UTILITY); + if (msg_window) { + int w, h; + elm_win_borderless_set(msg_window, EINA_TRUE); + elm_win_alpha_set(msg_window, EINA_TRUE); + elm_win_title_set(msg_window, "ISF Popup"); + elm_win_screen_size_get(msg_window, NULL, NULL, &w, &h); + elm_win_prop_focus_skip_set(msg_window, TRUE); + int rots[4] = {0, 90, 180, 270}; + elm_win_wm_rotation_available_rotations_set(msg_window, rots, 4); + evas_object_resize(msg_window, w, h); + } + + int rots[4] = { 0, 90, 180, 270 }; + elm_win_wm_rotation_available_rotations_set(msg_window, rots, 4); + evas_object_show(msg_window); + return msg_window; +} + +void ise_show_help_popup(sclulong keyEvent) +{ + char buf[2048] = {0, }; + int font_size = 40; + sclint scr_w = 0; + sclint scr_h = 0; + SclRectangle rectangle = {0}; + + if (g_ui) + g_ui->get_screen_resolution(&scr_w, &scr_h); + + if (keyEvent == MVK_space) + { + g_ui->get_button_geometry("SPACE_KEY", &rectangle); + } else { + g_ui->get_button_geometry("CM_KEY", &rectangle); + } + + _guide_popup_window = open_message_popup(NATIVE_WINDOW_CAST(ime_get_main_window())); + + Elm_Theme *theme = elm_theme_new(); + elm_theme_ref_set(theme, NULL); + elm_theme_extension_add(theme, EDJ_FILE); + + Evas_Object *ctxpopup = elm_ctxpopup_add(_guide_popup_window); + elm_object_theme_set(ctxpopup, theme); + + int rotation = elm_win_rotation_get(NATIVE_WINDOW_CAST(ime_get_main_window())); + if (rotation == 0 || rotation == 180) { + elm_object_style_set(ctxpopup, "customised_guideline_popup"); + } else { + elm_object_style_set(ctxpopup, "customised_guideline_popup_landscape"); + } + + evas_object_smart_callback_add(ctxpopup, "dismissed", _guideline_popup_dismissed_cb, (void *)keyEvent); + elm_ctxpopup_direction_priority_set(ctxpopup, ELM_CTXPOPUP_DIRECTION_UP, + ELM_CTXPOPUP_DIRECTION_UNKNOWN, + ELM_CTXPOPUP_DIRECTION_UNKNOWN, + ELM_CTXPOPUP_DIRECTION_UNKNOWN); + + Evas_Object* text = elm_label_add(ctxpopup); + + if (keyEvent == MVK_space) { + sprintf(buf, "%s", font_size, + dgettext(PACKAGE, "IDS_IME_BODY_SWIPE_THE_SPACE_BAR_LEFT_OR_RIGHT_TO_CHANGE_BETWEEN_LANGUAGES")); + } else { + sprintf(buf, "%s", font_size, + dgettext(PACKAGE, "IDS_IME_BODY_TAP_AND_HOLD_THIS_KEY_TO_SEE_THE_SYMBOL_LIST_SELECT_ONE_TO_USE_IT_AS_A_SHORTCUT")); + } + elm_object_text_set(text, buf); + elm_object_content_set(ctxpopup, text); + Evas_Coord x, y, w, h; + evas_object_geometry_get(NATIVE_WINDOW_CAST(ime_get_main_window()), &x, &y, &w, &h); + + if (rotation == 0 || rotation == 180) { + elm_label_wrap_width_set(text, (scr_w * 4) / 5); + evas_object_size_hint_min_set(ctxpopup, ELM_SCALE_SIZE(scr_w), ELM_SCALE_SIZE(50)); + evas_object_size_hint_max_set(ctxpopup, ELM_SCALE_SIZE(scr_w), ELM_SCALE_SIZE(600)); + evas_object_move(ctxpopup, rectangle.x + rectangle.width / 2, + (scr_h - h) + rectangle.y - ELM_SCALE_SIZE(5)); + } else { + elm_label_wrap_width_set(text, (scr_h * 4) / 5); + evas_object_size_hint_min_set(ctxpopup, ELM_SCALE_SIZE(scr_h), ELM_SCALE_SIZE(50)); + evas_object_size_hint_max_set(ctxpopup, ELM_SCALE_SIZE(scr_h), ELM_SCALE_SIZE(600)); + evas_object_move(ctxpopup, rectangle.x + rectangle.width / 2, + (scr_w - h)+ rectangle.y - ELM_SCALE_SIZE(5)); + } + elm_label_line_wrap_set(text, ELM_WRAP_MIXED); + evas_object_show(text); + + evas_object_layer_set(_guide_popup_window, EVAS_LAYER_MAX); + evas_object_show(_guide_popup_window); + evas_object_layer_set(ctxpopup, EVAS_LAYER_MAX); + evas_object_show(ctxpopup); +} + SCLEventReturnType CUIEventCallback::on_event_drag_state_changed(SclUIEventDesc event_desc) { if (event_desc.event_type == EVENT_TYPE_MOVE) { @@ -757,6 +885,10 @@ SCLEventReturnType CUIEventCallback::on_event_key_clicked(SclUIEventDesc event_d break; } case KEY_TYPE_MODECHANGE: + if (!g_config_values.first_guideset){ + ise_show_help_popup(event_desc.key_event); + break; + } if (strcmp(event_desc.key_value, USER_VOICE_LANGUAGE) == 0) { if (!g_setting_window_open_status) { create_setting_window(); @@ -919,6 +1051,41 @@ ise_focus_out(int ic) _reset_multitap_state(true); } +bool ise_is_guideline_popup_enable_layout(void) +{ + bool ret; + switch (_context_layout) + { + case ISE_LAYOUT_STYLE_PHONENUMBER: + case ISE_LAYOUT_STYLE_IP: + case ISE_LAYOUT_STYLE_MONTH: + case ISE_LAYOUT_STYLE_NUMBERONLY: + case ISE_LAYOUT_STYLE_HEX: + case ISE_LAYOUT_STYLE_TERMINAL: + case ISE_LAYOUT_STYLE_DATETIME: + case ISE_LAYOUT_STYLE_PASSWORD: + ret = false; + break; + default: + ret = true; + break; + } + return ret; +} + +static Eina_Bool popup_guideline_timer_cb(void *data) +{ + if ((!g_config_values.first_guidechange)&&(_language_manager.get_enabled_languages_num() > 1)) + { + ise_show_help_popup(MVK_space); + g_config_values.first_guidechange = TRUE; + write_ise_config_values(); + } + + guideline_timer = NULL; + return ECORE_CALLBACK_CANCEL; +} + void ise_show(int ic) { @@ -1109,6 +1276,9 @@ ise_show(int ic) #ifdef _IVI g_ui->enable_button("CM_KEY", false); #endif + if (ise_is_guideline_popup_enable_layout()) { + guideline_timer = ecore_timer_add(0.1, popup_guideline_timer_cb, NULL); + } } g_keyboard_state.visible_state = TRUE; @@ -1226,6 +1396,7 @@ ise_hide() _click_count = 0; delete_commit_timer(); + ise_destory_guideline_popup(); g_keyboard_state.visible_state = FALSE; -- 2.7.4