rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=548c718b3ab6802c808aa297290779163e3a55a1
commit 548c718b3ab6802c808aa297290779163e3a55a1 Author: Mykyta Biliavskyi <[email protected]> Date: Mon May 30 18:30:32 2016 +0300 Tizen UX: replace mode selector control on workspace toolbar. In Tizen mode the radio widget, which responding for switching between normal code and demo modes is replaced by check. A widget Check with state OFF mean that normal mode is activated, otherwise demo mode enabled. --- src/bin/ui/tabs.c | 4 ++++ src/bin/ui/workspace/workspace.c | 29 ++++++++++++++++++++++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/bin/ui/tabs.c b/src/bin/ui/tabs.c index 7fc1cbd..25c9340 100644 --- a/src/bin/ui/tabs.c +++ b/src/bin/ui/tabs.c @@ -764,6 +764,7 @@ _shortcut_mode_normal_cb(void *data __UNUSED__, workspace_mode_set(tabs.current_workspace, MODE_NORMAL); } +#if !HAVE_TIZEN static void _shortcut_mode_code_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, @@ -772,6 +773,7 @@ _shortcut_mode_code_cb(void *data __UNUSED__, if (tabs.current_workspace) workspace_mode_set(tabs.current_workspace, MODE_CODE); } +#endif static void _shortcut_mode_demo_cb(void *data __UNUSED__, @@ -971,7 +973,9 @@ tabs_add(void) evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_TAB_NUM, _shortcut_tab_num_cb, NULL); evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_TAB_CLOSE, _shortcut_tab_close_cb, NULL); evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_MODE_NORMAL, _shortcut_mode_normal_cb, NULL); +#if !HAVE_TIZEN evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_MODE_CODE, _shortcut_mode_code_cb, NULL); +#endif evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_MODE_DEMO, _shortcut_mode_demo_cb, NULL); evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_ZOOM_IN, _shortcut_zoom_in_cb, NULL); evas_object_smart_callback_add(ap.win, SIGNAL_SHORTCUT_ZOOM_OUT, _shortcut_zoom_out_cb, NULL); diff --git a/src/bin/ui/workspace/workspace.c b/src/bin/ui/workspace/workspace.c index 8fce8a2..74bdb7d 100644 --- a/src/bin/ui/workspace/workspace.c +++ b/src/bin/ui/workspace/workspace.c @@ -80,11 +80,15 @@ struct _Workspace_Data Evas_Object *cmb_zoom; Evas_Object *slider; } zoom; +#if !HAVE_TIZEN struct { Evas_Object *normal; Evas_Object *code; Evas_Object *demo; } mode_switcher; +#else + Evas_Object *mode_switcher; +#endif struct { Evas_Object *spinner_w; Evas_Object *check_chain; @@ -715,7 +719,13 @@ _mode_cb(void *data, Scroll_Area *area = NULL; const Container_Geom *geom; +#if !HAVE_TIZEN mode = elm_radio_value_get(obj); +#else + // Tizen spceific code. Here uses check instead radio button. + mode = elm_check_state_get(obj) == EINA_TRUE ? MODE_DEMO : MODE_NORMAL; +#endif + if (mode == wd->mode) return; wd->mode = mode; @@ -1036,6 +1046,7 @@ workspace_add(Evas_Object *parent, Group *group) wd->zoom_factor = 1.0; _zoom_controls_add(wd); +#if !HAVE_TIZEN /* add to toolbar modes switcher */ wd->toolbar.mode_switcher.normal = _radio_switcher_add(wd, "radio_normal", _mode_cb, MODE_NORMAL, NULL); tb_it = elm_toolbar_item_append(wd->toolbar.obj, NULL, NULL, NULL, NULL); @@ -1049,7 +1060,13 @@ workspace_add(Evas_Object *parent, Group *group) tb_it = elm_toolbar_item_append(wd->toolbar.obj, NULL, NULL, NULL, NULL); elm_toolbar_item_separator_set(tb_it, true); elm_radio_value_set(wd->toolbar.mode_switcher.normal, 1); - +#else + CHECK_ADD(wd->layout, wd->toolbar.mode_switcher); + elm_object_style_set(wd->toolbar.mode_switcher, "demo"); + evas_object_smart_callback_add(wd->toolbar.mode_switcher, "changed", _mode_cb, wd); + tb_it = elm_toolbar_item_append(wd->toolbar.obj, NULL, NULL, NULL, NULL); + elm_object_item_part_content_set(tb_it, NULL, wd->toolbar.mode_switcher); +#endif /* add the container size controls */ _container_size_controls_add(wd); @@ -1120,8 +1137,18 @@ workspace_mode_set(Evas_Object *obj, Workspace_Mode mode) { WS_DATA_GET(obj); +#if !HAVE_TIZEN elm_radio_value_set(wd->toolbar.mode_switcher.normal, mode); _mode_cb(wd, wd->toolbar.mode_switcher.normal, NULL); +#else + assert(mode != MODE_CODE); + + if (mode == MODE_NORMAL) + elm_check_state_set(wd->toolbar.mode_switcher, EINA_FALSE); + else if (mode == MODE_DEMO) + elm_check_state_set(wd->toolbar.mode_switcher, EINA_TRUE); + _mode_cb(wd, wd->toolbar.mode_switcher, NULL); +#endif } void --
