rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=4c0ce155ebfced6dcbf48b542114aee8135e1c5b
commit 4c0ce155ebfced6dcbf48b542114aee8135e1c5b Author: Mykyta Biliavskyi <m.biliavs...@samsung.com> Date: Mon Sep 19 20:13:15 2016 +0300 Tizen: update shortcut popup accordingly to guidelines. --- data/themes/tizen/widgets/genlist.edc | 134 +++++++++++++++++++++++++++++++++ data/themes/tizen/widgets/layout.edc | 12 +++ data/themes/tizen/widgets/popup.edc | 119 +++++++++++++++++++++++++++++ src/bin/ui/main_window.c | 138 +++++++++++++++++++++++++++++++++- 4 files changed, 402 insertions(+), 1 deletion(-) diff --git a/data/themes/tizen/widgets/genlist.edc b/data/themes/tizen/widgets/genlist.edc index 4d6deb6..235bf4b 100644 --- a/data/themes/tizen/widgets/genlist.edc +++ b/data/themes/tizen/widgets/genlist.edc @@ -5,6 +5,140 @@ #define BG_COLOR 39 42 43 255 #define LIST_ITEM_REORDERED_COLOR 200 150 0 255 +group { name: "elm/genlist/item/group_index/default"; + data { + item: "texts" "elm.text"; + item: "treesize " "0"; + item: "contents" ""; + item: "stacking" "above"; + item: "selectraise" "off"; + } + parts { + part { name: "bg"; + type: RECT; + description { state: "default" 0.0; + color_class: "manager_bg"; + rel2.to_y: "separator"; + } + } + part { name: "elm.swallow.pad"; + type: SWALLOW; + description { state: "default" 0.0; + align: 0.0 0.5; + fixed: 1 0; + rel1.offset: 20 0; + rel2.relative: 0.0 1.0; + } + } + part { name: "elm.text"; + type: TEXT; + description {state: "default" 0.0; + color_class: "button_text"; + text { + font: FN_B; + size: 13; + min: 1 1; + max: 1 1; + align: 0 0.5; + ellipsis: -1; + } + align: 0 0; + rel1.offset: 30 0; + } + } + part { name: "separator"; + type: RECT; + description { state: "default" 0.0; + color_class: "border"; + min: 0 1; + max: 360 1; + align: 0 0; + rel1.to: "elm.text"; + rel1.relative: 0 1; + rel1.offset: 0 10; + rel2.offset: -31 0; + } + } + part { name: "elm.text.size"; + type: TEXT; + description {state: "default" 0.0; + color: 0 0 0 0; + text { + font: FN; + size: 8; + min: 1 1; + max: 1 1; + align: 0 0.5; + ellipsis: -1; + } + align: 0 0; + rel1.to: "separator"; + } + } + } +} + +group { name: "elm/genlist/item/shortcuts/default"; + data { + item: "texts" "elm.text"; + item: "treesize " "0"; + item: "contents" ""; + item: "stacking" "above"; + item: "selectraise" "off"; + } + parts { + part { name: "elm.swallow.pad"; + type: SWALLOW; + description { state: "default" 0.0; + align: 0.0 0.5; + fixed: 1 0; + rel1.offset: 20 0; + rel2.relative: 0.0 1.0; + } + } + part { name: "elm.text"; + type: TEXT; + description {state: "default" 0.0; + color: 88 88 88 255; + text { + font: FN; + size: 13; + min: 1 1; + max: 1 1; + align: 0 0.5; + ellipsis: -1; + } + align: 0 0.5; + rel1.offset: 30 0; + } + } + } +} +group { name: "elm/genlist/item/empty/default"; + data { + item: "texts" ""; + item: "treesize " "0"; + item: "contents" ""; + item: "stacking" "above"; + item: "selectraise" "off"; + } + parts { + part { name: "elm.text"; + type: TEXT; + description {state: "default" 0.0; + color: 0 0 0 0; + text { + text: "M"; + font: FN; + size: 21; + min: 1 1; + max: 1 1; + ellipsis: -1; + } + } + } + } +} /* group { name: "elm/genlist/item/default/default"; data { item: "texts" "elm.text"; diff --git a/data/themes/tizen/widgets/layout.edc b/data/themes/tizen/widgets/layout.edc index 1b54d02..ccafba7 100644 --- a/data/themes/tizen/widgets/layout.edc +++ b/data/themes/tizen/widgets/layout.edc @@ -2257,6 +2257,18 @@ group { name: "elm/layout/about/default"; } } +group { name: "elm/layout/shortcuts/default"; + parts { + part { name: "elm.swallow.content"; + type: SWALLOW; + description { state: "default" 0.0; + min: 420 420; + max: 420 420; + } + } + } +} + #include "layouts/manager.edc" #include "layouts/colorclass_manager.edc" #include "layouts/live_view_toolbar_helper.edc" diff --git a/data/themes/tizen/widgets/popup.edc b/data/themes/tizen/widgets/popup.edc index b020f7a..6d726f5 100644 --- a/data/themes/tizen/widgets/popup.edc +++ b/data/themes/tizen/widgets/popup.edc @@ -4,6 +4,7 @@ /*popup widget specific notify style style*/ group { name: "elm/notify/block_events/popup/default"; + alias: "elm/notify/block_events/popup/shortcuts"; parts { part { name: "block_events"; type: RECT; @@ -38,6 +39,7 @@ group { name: "elm/notify/block_events/popup/default"; } } group { name: "elm/notify/center/popup/default"; + alias: "elm/notify/center/popup/shortcuts"; parts { part { name: "shadow"; type: IMAGE; @@ -102,6 +104,7 @@ group { name: "elm/label/base/popup/default"; } } } + group { name: "elm/popup/base/default"; images { image: "General/cd_icon.png" COMP; @@ -215,6 +218,7 @@ group { name: "elm/popup/base/default"; } group { name: "elm/popup/content/popup/default"; + alias: "elm/popup/content/popup/shortcuts"; parts{ part{ name:"elm.swallow.content"; type: SWALLOW; @@ -225,8 +229,122 @@ group { name: "elm/popup/content/popup/default"; } } +group { name: "elm/popup/base/shortcuts"; + images { + image: "General/cd_icon.png" COMP; + } + parts { + part { name: "base"; + type: SPACER; + scale: 1; + description { state: "default" 0.0; + align: 0.0 0.0; + min: 385 0; + } + } + part { name: "elm.text.title"; + type: TEXT; + description { state: "default" 0.0; + align: 0.0 0.0; + fixed: 1 1; + min: 0 30; + max: -1 30; + color_class: "genlist_text_tree"; + text { + font: FN; + size: 15; + align: 0.0 0.5; + } + rel1 { + relative: 1.0 0.0; + offset: 7 0; + to_x: "title.image"; + to_y: "base"; + } + rel2.to: "base"; + } + } + part { name: "content_bg"; + type: RECT; + scale: 1; + description { state: "default" 0.0; + color_class: "manager_bg"; + rel1.to_y: "separator.title"; + rel2.to_y: "separator.action_area"; + } + } + part { name: "elm.swallow.content"; + type: SWALLOW; + scale: 1; + description { state: "default" 0.0; + fixed: 1 0; + min: 420 0; + rel1 { + relative: 0.0 1.0; + offset: 0 0; + to_y: "separator.title"; + } + rel2 { + relative: 1.0 0.0; + offset: -1 -1; + to_y: "separator.action_area"; + } + } + } + part { name: "separator.action_area"; + type: RECT; + description { state: "default" 0.0; + align: 0.5 1.0; + max: -1 1; + color_class: "button_border"; + rel2 { + relative: 1.0 0.0; + to_y: "elm.swallow.action_area"; + } + } + } + part { name: "elm.swallow.action_area"; + type: SWALLOW; + scale: 1; + description { state: "default" 0.0; + align: 0.5 1.0; + min: 420 60; + max: -1 60; + } + } + part { name: "separator.title"; + type: RECT; + description { state: "default" 0.0; + align: 0.5 0.0; + max: -1 1; + color: 204 204 204 255; + rel1 { + relative: 0.0 1.0; + to_y: "elm.text.title"; + } + } + } + part { name: "title.image"; + type: IMAGE; + description { state: "default" 0.0; + align: 0.0 0.0; + min: 16 16; + max: 16 16; + image.normal: "General/cd_icon.png"; + rel1.offset: 10 7; + rel2 { + offset: -1 -8; + to: "base"; + } + } + } + } +} + + group { name: "elm/popup/item/popup/default"; + alias: "elm/popup/item/popup/shortcuts"; script { public item_state = POPUP_ITEM_STATE_ENABLED; } @@ -549,6 +667,7 @@ group { name: "elm/popup/item/popup/default"; } group { name: "elm/popup/buttons1/popup/default"; + alias: "elm/popup/buttons1/popup/shortcuts"; parts{ part { name: "elm.swallow.content.button1"; type: SWALLOW; diff --git a/src/bin/ui/main_window.c b/src/bin/ui/main_window.c index e6befbc..0bd488a 100644 --- a/src/bin/ui/main_window.c +++ b/src/bin/ui/main_window.c @@ -239,6 +239,9 @@ about_window_add(void) } #endif + +#if !HAVE_TIZEN + static Evas_Object * _shortcuts_window_content_get(void *data, Evas_Object *popup __UNUSED__, Evas_Object **to_focus __UNUSED__) { @@ -294,7 +297,6 @@ _shortcuts_window_content_get(void *data, Evas_Object *popup __UNUSED__, Evas_Ob evas_object_size_hint_align_set(scroller, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(scroller); elm_box_pack_end(box, scroller); - return box; } @@ -308,3 +310,137 @@ shortcuts_window_add(void) popup_add(_("Help: shortcuts"), NULL, BTN_OK, _shortcuts_window_content_get, content); return NULL; } +#else +static char * +_label_get(void *data, Evas_Object *obj __UNUSED__, const char *pr __UNUSED__) +{ + return strdup((char *)data); +} +static Evas_Object * +_shortcuts_window_content_get(void *data, Evas_Object *popup __UNUSED__, Evas_Object **to_focus __UNUSED__) +{ + Evas_Object *box = data; + static const char *global_hotkeys[] = { + "F1 - show shortcuts list (this dialog)", + "F2 - normal mode", + "F3 - code mode", + "F4 - demo mode", + "F7 - open image manager", + "F8 - open sound manager", + "F9 - open style manager", + "F10 - open colorclass manager", + "ctrl + q - quit", + NULL}; + static const char *workspace_hotkeys[] = { + "ctrl + s - save", + "ctrl + z - undo", + "ctrl + y - redo", + "ctrl + n - add new group", + "q - add new part", + "w - add new state", + "e - add new item", + "r - add new program", + "t - add new data item", + "del - delete selected part/state/item/etc", + "s - select next state of active part", + "z - select prev part", + "x - select next part", + "ESC - unselect", + "o - show/hide object area", + "ctrl + wheel_up/KP_ADD - zoom in", + "ctrl + wheel_down/KP_SUB - zoom out", + "KP_DIV - set zoom to 100%", + NULL}; + static const char *tabs_hotkeys[] = { + "ctrl + w - close tab", + "ctrl + num - switch to tab 1-10", + "tab/ctrl + pg_down - switch to next tab", + "shift + tab / ctrl + pg_up - switch to prev tab", + NULL}; + + static const char *popup_hotkeys[] = { + "Enter - OK", + "ESC - cancel", + NULL}; + + + + Evas_Object *genlist = elm_genlist_add(ap.win); + Elm_Genlist_Item_Class *group_itc = elm_genlist_item_class_new(); + group_itc->item_style = "group_index"; + group_itc->func.text_get = _label_get; + + Elm_Genlist_Item_Class *shortcut_itc = elm_genlist_item_class_new(); + shortcut_itc->item_style = "shortcuts"; + shortcut_itc->func.text_get = _label_get; + + Elm_Genlist_Item_Class *empty_itc = elm_genlist_item_class_new(); + empty_itc->item_style = "empty"; + + int i = 0; + Elm_Object_Item *global_group = elm_genlist_item_append(genlist, group_itc, strdup("Global"), + NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL); + for (i = 0; global_hotkeys[i] != NULL; i++) + { + elm_genlist_item_append(genlist, shortcut_itc, global_hotkeys[i], + global_group , ELM_GENLIST_ITEM_NONE, NULL, NULL); + } + elm_genlist_item_append(genlist, empty_itc, NULL, + global_group , ELM_GENLIST_ITEM_NONE, NULL, NULL); + + Elm_Object_Item *workspace_group = elm_genlist_item_append(genlist, group_itc, strdup("Workspace"), + NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL); + for (i = 0; workspace_hotkeys[i] != NULL; i++) + { + elm_genlist_item_append(genlist, shortcut_itc, workspace_hotkeys[i], + workspace_group, ELM_GENLIST_ITEM_NONE, NULL, NULL); + } + elm_genlist_item_append(genlist, empty_itc, NULL, + workspace_group , ELM_GENLIST_ITEM_NONE, NULL, NULL); + + + Elm_Object_Item *tabs_group = elm_genlist_item_append(genlist, group_itc, strdup("Tabs"), + NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL); + for (i = 0; tabs_hotkeys[i] != NULL; i++) + { + elm_genlist_item_append(genlist, shortcut_itc, tabs_hotkeys[i], + tabs_group, ELM_GENLIST_ITEM_NONE, NULL, NULL); + } + elm_genlist_item_append(genlist, empty_itc, NULL, + tabs_group , ELM_GENLIST_ITEM_NONE, NULL, NULL); + + + Elm_Object_Item *popup_group = elm_genlist_item_append(genlist, group_itc, strdup("Popup"), + NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL); + for (i = 0; popup_hotkeys[i] != NULL; i++) + { + elm_genlist_item_append(genlist, shortcut_itc, popup_hotkeys[i], + popup_group, ELM_GENLIST_ITEM_NONE, NULL, NULL); + } + elm_genlist_item_append(genlist, empty_itc, NULL, + popup_group , ELM_GENLIST_ITEM_NONE, NULL, NULL); + + + evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(genlist); + Evas_Object *layout = elm_layout_add(ap.win); + elm_layout_theme_set(layout, "layout", "shortcuts", "default"); + elm_layout_content_set(layout, "elm.swallow.content", genlist); + evas_object_show(layout); + elm_box_pack_end(box, layout); + elm_object_style_set(popup, "shortcuts"); + return box; +} + +Evas_Object * +shortcuts_window_add(void) +{ + Evas_Object *content = elm_box_add(ap.win); + + evas_object_size_hint_min_set(content, 420, 460); + + popup_add(_("Help: shortcuts"), NULL, BTN_OK, _shortcuts_window_content_get, content); + return NULL; +} +#endif --