From 24206804e050da8f6e007a7a84ec48bea1f70492 Mon Sep 17 00:00:00 2001 From: Albert Malewski Date: Tue, 8 Sep 2015 09:44:29 +0200 Subject: [PATCH] Fixed radio selection in settings [Issue] https://bugs.tizen.org/jira/browse/TT-154 [Problem] Cannot select any item in radio list at Web contents Sharing section. [Cause] Every radio was set to one group. Missing state valuesof radios. [Solution] Added enums with state values and separate radio buttons within 3 lists. [Verify] Launch browser > More Menu > Settings > Obs You should be able to select any radio in settings. Change-Id: I894d6527770c51066be60372cc3e69646c21ff82 --- services/SettingsUI/SettingsUI.cpp | 16 ++++++++++++++-- services/SettingsUI/SettingsUI.h | 15 +++++++++++++-- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/services/SettingsUI/SettingsUI.cpp b/services/SettingsUI/SettingsUI.cpp index 2b68784..0799958 100644 --- a/services/SettingsUI/SettingsUI.cpp +++ b/services/SettingsUI/SettingsUI.cpp @@ -156,35 +156,47 @@ void SettingsUI::showSettingsPage() elm_check_state_set(history_checkbox, EINA_TRUE); edje_object_signal_callback_add(elm_layout_edje_get(m_items_layout), "mouse,clicked,1", "history_cb_text", __checkbox_label_click_cb, (void*)id); - Evas_Object *accept_all_rb = elm_radio_add(m_items_layout); elm_object_style_set(accept_all_rb, "settings_radio"); elm_layout_content_set(m_items_layout, "accept_all_rb", accept_all_rb); + Evas_Object *sharingRequestGroup = accept_all_rb; + elm_radio_state_value_set(accept_all_rb, SR_ACCEPT_ALL); Evas_Object *ask_rb = elm_radio_add(m_items_layout); elm_object_style_set(ask_rb, "settings_radio"); elm_layout_content_set(m_items_layout, "ask_rb", ask_rb); + elm_radio_group_add(ask_rb, sharingRequestGroup); + elm_radio_state_value_set(ask_rb, SR_ASK); Evas_Object *sr_disable_rb = elm_radio_add(m_items_layout); elm_object_style_set(sr_disable_rb, "settings_radio"); elm_layout_content_set(m_items_layout, "sr_disable_rb", sr_disable_rb); + elm_radio_group_add(sr_disable_rb, sharingRequestGroup); + elm_radio_state_value_set(sr_disable_rb, SR_DISABLE); Evas_Object *bs_enable_rb = elm_radio_add(m_items_layout); elm_object_style_set(bs_enable_rb, "settings_radio"); elm_layout_content_set(m_items_layout, "bs_enable_rb", bs_enable_rb); + Evas_Object *bookmarkSyncGroup = bs_enable_rb; + elm_radio_state_value_set(bs_enable_rb, BS_ENABLE); Evas_Object *bs_disable_rb = elm_radio_add(m_items_layout); elm_object_style_set(bs_disable_rb, "settings_radio"); elm_layout_content_set(m_items_layout, "bs_disable_rb", bs_disable_rb); + elm_radio_group_add(bs_disable_rb, bookmarkSyncGroup); + elm_radio_state_value_set(bs_disable_rb, BS_DISABLE); Evas_Object *ts_enable_rb = elm_radio_add(m_items_layout); elm_object_style_set(ts_enable_rb, "settings_radio"); elm_layout_content_set(m_items_layout, "ts_enable_rb", ts_enable_rb); + Evas_Object *tabSyncGroup = ts_enable_rb; + elm_radio_state_value_set(ts_enable_rb, TS_ENABLE); Evas_Object *ts_disable_rb = elm_radio_add(m_items_layout); elm_object_style_set(ts_disable_rb, "settings_radio"); elm_layout_content_set(m_items_layout, "ts_disable_rb", ts_disable_rb); - + elm_radio_group_add(ts_disable_rb, tabSyncGroup); + elm_radio_state_value_set(ts_disable_rb, TS_DISABLE); } Evas_Object* SettingsUI::listActionBarContentGet(void* data, Evas_Object* obj , const char* part) diff --git a/services/SettingsUI/SettingsUI.h b/services/SettingsUI/SettingsUI.h index 8adbf4d..70ffab2 100644 --- a/services/SettingsUI/SettingsUI.h +++ b/services/SettingsUI/SettingsUI.h @@ -63,7 +63,6 @@ private: static void _closetabs_clicked(void * data, Evas_Object * obj, void * event_info); static void _onotherdevices_clicked(void * data, Evas_Object * obj, void * event_info); -private: Evas_Object *m_settings_layout; Evas_Object *m_genListActionBar; Evas_Object *m_scroller; @@ -73,7 +72,19 @@ private: Elm_Gengrid_Item_Class * m_item_class; std::string m_edjFilePath; - + enum SharingRequest { + SR_DISABLE = 0, + SR_ASK, + SR_ACCEPT_ALL, + }; + enum BookmarkSync { + BS_DISABLE = 0, + BS_ENABLE + }; + enum TabSync { + TS_DISABLE = 0, + TS_ENABLE + }; }; } -- 2.7.4