[SM][Data] Linked main view and its' subviews 59/135659/3
authorRadek Kintop <r.kintop@samsung.com>
Fri, 23 Jun 2017 15:28:12 +0000 (17:28 +0200)
committerKiseok Chang <kiso.chang@samsung.com>
Thu, 6 Jul 2017 09:35:58 +0000 (09:35 +0000)
- added data usage settings click callback to
go from the main view to mobile data setting and/or
wifi data setting subview

Change-Id: Ie096d849d327a9acba063708a7a1487d1abd8217
Signed-off-by: Radek Kintop <r.kintop@samsung.com>
setting-smartmanager/smartmanager-data/src/smartmanager-data-main-view.c
setting-smartmanager/smartmanager-data/src/smartmanager-data-usage-mobile-settings.c
setting-smartmanager/smartmanager-data/src/smartmanager-data-usage-wifi-settings.c
setting-smartmanager/smartmanager-data/src/smartmanager-data.c

index c1ee5791c55f98de425b1b130467117e99c35743..d78a938b97ac41476e310e29ca63b62dcceeaa04 100644 (file)
@@ -1,4 +1,6 @@
 #include "smartmanager-data-main-view.h"
+#include "smartmanager-data-usage-mobile-settings.h"
+#include "smartmanager-data-usage-wifi-settings.h"
 #include "smartmanager-data.h"
 #include "setting-common-init.h"
 #include "setting-common-draw-widget.h"
@@ -18,8 +20,10 @@ static void _softkey_back_cb(void *data, Evas_Object *obj,
                                                                void *event_info);
 static void _toolbar_item_click(void *data, Evas_Object *toolbar,
                                                                void *event_info);
+static void _data_usage_sett_click_cb(void *data, Evas_Object *obj,
+                                                                               void *event_info);
 
-static void _generate_list(Evas_Object *genlist,
+static void _generate_list(SmartMgrData *ad, Evas_Object *genlist,
                                                const Elm_Genlist_Item_Class *itc_data_usage_graph,
                                                const Elm_Genlist_Item_Class *itc_data_usage_setting,
                                                Elm_Object_Item **item_data_amount,
@@ -102,6 +106,11 @@ static int _create(void *data)
 
        evas_object_show(ad->md.window);
 
+       /* Init sub views */
+       init_mobile_settings_view(ad);
+       setting_view_node_table_register(ad->mobile_view, ad->main_view);
+       init_wifi_settings_view(ad);
+       setting_view_node_table_register(ad->wifi_view, ad->main_view);
        smartmanager_view_data_main.is_create = 1;
 
        return 0;
@@ -136,6 +145,23 @@ static void _toolbar_item_click(void *data, Evas_Object *toolbar,
        evas_object_show(genlist_to_set);
 }
 
+static void _data_usage_sett_click_cb(void *data, Evas_Object *obj,
+                                                                               void *event_info)
+{
+       SmartMgrData *ad = data;
+       ret_if(!data);
+
+       elm_genlist_item_selected_set(event_info, EINA_FALSE);
+
+       if (event_info == ad->item_sim_1_data_usage_set ||
+               event_info == ad->item_sim_2_data_usage_set
+               )
+               setting_view_change(&smartmanager_view_data_main, ad->mobile_view, ad);
+
+       if (event_info == ad->item_wifi_data_usage_set)
+               setting_view_change(&smartmanager_view_data_main, ad->wifi_view, ad);
+}
+
 static void _set_warning_limit_value(Evas_Object *layout, float warn, float limit)
 {
        SETTING_TRACE_BEGIN;
@@ -258,7 +284,7 @@ static Evas_Object *_aplication_item_get(
        return layout;
 }
 
-static void _generate_list(Evas_Object *genlist,
+static void _generate_list(SmartMgrData *ad, Evas_Object *genlist,
                                                const Elm_Genlist_Item_Class *itc_data_usage_graph,
                                                const Elm_Genlist_Item_Class *itc_data_usage_setting,
                                                Elm_Object_Item **item_data_amount,
@@ -267,8 +293,8 @@ static void _generate_list(Evas_Object *genlist,
 {
        Setting_GenGroupItem_Data *item = NULL;
 
-       if (!genlist) {
-               dlog_print(DLOG_ERROR, LOG_TAG, "genlist == NULL");
+       if (!genlist || !ad) {
+               dlog_print(DLOG_ERROR, LOG_TAG, "NULL argument");
                return;
        }
 
@@ -285,8 +311,8 @@ static void _generate_list(Evas_Object *genlist,
        }
        *item_data_amount = item->item;
 
-       item = setting_create_Gendial_field_def(genlist,
-                                                                       itc_data_usage_setting, NULL, NULL,
+       item = setting_create_Gendial_field_def(genlist, itc_data_usage_setting,
+                                                                       _data_usage_sett_click_cb, ad,
                                                                        SWALLOW_Type_INVALID, NULL, NULL, 0,
                                                                        "Data usage settings",
                                                                        data_usage_setting_txt,
@@ -393,7 +419,7 @@ static void _redraw_lists(SmartMgrData *ad)
        ad->item_sim_2_data_usage_set = NULL;
 
        if (ad->num_sim_cards_available <= 1) {
-               _generate_list(ad->sim_1_genlist,
+               _generate_list(ad, ad->sim_1_genlist,
                                                &ad->gl_data_usage_itc, &ad->gl_text_itc,
                                                &ad->item_sim_1_data_amount,
                                                &ad->item_sim_1_data_usage_set,
@@ -404,7 +430,7 @@ static void _redraw_lists(SmartMgrData *ad)
        }
 
        if (ad->num_sim_cards_available > 1) {
-               _generate_list(ad->sim_1_genlist,
+               _generate_list(ad, ad->sim_1_genlist,
                                                &ad->gl_data_usage_itc, &ad->gl_text_itc,
                                                &ad->item_sim_1_data_amount,
                                                &ad->item_sim_1_data_usage_set,
@@ -413,7 +439,7 @@ static void _redraw_lists(SmartMgrData *ad)
                                                        ad->sim_1_apps, ad->sim_1_genlist,
                                                        &ad->gl_header_itc, &ad->gl_application_itc);
 
-               _generate_list(ad->sim_2_genlist,
+               _generate_list(ad, ad->sim_2_genlist,
                                                &ad->gl_data_usage_itc, &ad->gl_text_itc,
                                                &ad->item_sim_2_data_amount,
                                                &ad->item_sim_2_data_usage_set,
@@ -423,7 +449,7 @@ static void _redraw_lists(SmartMgrData *ad)
                                                        &ad->gl_header_itc, &ad->gl_application_itc);
        }
 
-       _generate_list(ad->wifi_genlist,
+       _generate_list(ad, ad->wifi_genlist,
                                        &ad->gl_data_usage_itc, &ad->gl_text_itc,
                                        &ad->item_wifi_data_amount,
                                        &ad->item_wifi_data_usage_set,
index af5126334174494db489327e75a364bc1392396f..7f6116b29bd22763d95a1ee50c8052c8ba7bd443 100644 (file)
@@ -1,4 +1,3 @@
-#include "smartmanager-data-main-view.h"
 #include "smartmanager-data-usage-mobile-settings.h"
 #include "setting-common-draw-widget.h"
 
index 9322785c61a4dfccb448743fd1ba5c4348263b75..6bb1182ee9fbc3617bda06cc27bbb1d02f10b218 100644 (file)
@@ -1,4 +1,3 @@
-#include "smartmanager-data-main-view.h"
 #include "smartmanager-data-usage-wifi-settings.h"
 #include "setting-common-draw-widget.h"
 
index 271390d3e25ed821550711905b1139c9ce562d47..eb5e5ea93f32028bcdd61168b57aafaa01993d80 100644 (file)
@@ -77,6 +77,7 @@ static bool _create_app(void *data)
 */
        init_main_view(ad);
        setting_view_node_table_intialize();
+       setting_view_node_table_register(ad->main_view, NULL);
        setting_view_create(ad->main_view, ad);
        setting_view_node_set_cur_view(ad->main_view);