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

-- 


Reply via email to