From cefd0afdd0bd82c2e58ffe450fa297804ae8c383 Mon Sep 17 00:00:00 2001 From: Michal Skorupinski Date: Mon, 8 May 2017 13:23:05 +0200 Subject: [PATCH] [UI] The 12/24 checkbox issue fixed. Change-Id: I3e040e78c2ece004c8168b59f8cb582cf79c26c3 Signed-off-by: Michal Skorupinski --- src/view/system/view_clock.c | 61 +++++++------------------------------------- 1 file changed, 9 insertions(+), 52 deletions(-) diff --git a/src/view/system/view_clock.c b/src/view/system/view_clock.c index 90bb406..a32c8d2 100755 --- a/src/view/system/view_clock.c +++ b/src/view/system/view_clock.c @@ -58,6 +58,7 @@ typedef struct { bool input_panel_show; Evas_Object *focused_entry; enum setup_type view_mode_on_show; + struct tm displayed_time; } clock_view_priv_data; @@ -83,7 +84,7 @@ static void _cancel_mouse_cb(int id, void *data, Evas_Object *obj); /* In automatic time settings some controls should be disabled:*/ static void _disable_manual_settings(bool disable, const clock_view_priv_data *priv); /* Helper to make time out of widgets values: */ -static void _get_time_from_controls(struct tm *result, const clock_view_priv_data *priv); +//static void _get_time_from_controls(struct tm *result, const clock_view_priv_data *priv); /* When auto/manual setup dropdown is active, focus should be only on it*/ static void _datetime_btn_clicked_cb(int id, void *data, Evas_Object *obj); @@ -249,10 +250,9 @@ static bool _add_clock_setting(clock_view_priv_data *priv) static void _datetime_popup_callback_hide_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { clock_view_priv_data *priv = data; - Elm_Datetime_Time time = {0,}; - elm_datetime_value_get(priv->datetime_popup_datetime, &time); - _set_displayed_time(priv, &time, elm_check_state_get(priv->check_24)); + elm_datetime_value_get(priv->datetime_popup_datetime, &priv->displayed_time); + _set_displayed_time(priv, &priv->displayed_time, elm_check_state_get(priv->check_24)); } static bool _datetime_popup_create(clock_view_priv_data *priv) @@ -394,7 +394,6 @@ static void _show(void *data) bool h24 = true; clock_view_priv_data *priv = (clock_view_priv_data *)data; bool display_mode; - struct tm current_time = {0,}; if (!priv) { _ERR("Get data failed."); @@ -403,7 +402,7 @@ static void _show(void *data) display_mode = priv->view_mode_on_show ? TYPE_AUTO : TYPE_MANUAL; - if (!settings_clock_get_current_time(¤t_time)) + if (!settings_clock_get_current_time(&priv->displayed_time)) _ERR("Failed to obtain current time"); if (!settings_clock_is_24h_set(&h24)) @@ -415,7 +414,7 @@ static void _show(void *data) _disable_manual_settings(display_mode, priv); elm_check_state_set(priv->check_24, h24); - _set_displayed_time(priv, ¤t_time, h24); + _set_displayed_time(priv, &priv->displayed_time, h24); evas_object_show(priv->popup); elm_object_focus_set(priv->time_part, EINA_TRUE); @@ -509,18 +508,13 @@ static void _any_item_back_key_down_cb(int id, void *data, Evas *e, static void _datetime_btn_clicked_cb(int id, void *data, Evas_Object *obj) { - struct tm current_time = {0,}; clock_view_priv_data *priv = (clock_view_priv_data *)data; - if (!settings_clock_get_current_time(¤t_time)) - _ERR("Failed to obtain current time"); - - view_datetime_set_time_mode(priv->datetime_popup, priv->datetime_popup_datetime, id == INPUT_HANDLER_TYPE_DATE, elm_check_state_get(priv->check_24)); - elm_datetime_value_set(obj, ¤t_time); + elm_datetime_value_set(obj, &priv->displayed_time); evas_object_show(priv->datetime_popup); } @@ -528,23 +522,18 @@ static void _h_24_12_changed_cb(int id, void *data, Evas_Object *check_24) { Eina_Bool state = EINA_FALSE; clock_view_priv_data *priv = NULL; - struct tm current_time = {0,}; priv = (clock_view_priv_data *)data; if (!check_24 || !priv) return; - if (!settings_clock_get_current_time(¤t_time)) - _ERR("Failed to obtain current time"); - state = elm_check_state_get(check_24); - _set_displayed_time(priv, ¤t_time, state); + _set_displayed_time(priv, &priv->displayed_time, state); } static void _done_mouse_cb(int id, void *data, Evas_Object *obj) { - struct tm current_time = {0,}; clock_view_priv_data *priv = NULL; priv = (clock_view_priv_data *)data; @@ -563,8 +552,7 @@ static void _done_mouse_cb(int id, void *data, Evas_Object *obj) settings_clock_set_time_automatic(true); } else { settings_clock_set_time_automatic(false); - _get_time_from_controls(¤t_time, priv); - if (!settings_clock_set_current_time(¤t_time)) + if (!settings_clock_set_current_time(&priv->displayed_time)) _ERR("Date and time set error"); } @@ -581,34 +569,3 @@ static void _disable_manual_settings(bool disable, const clock_view_priv_data *p elm_object_disabled_set(priv->date_part, disable); elm_object_disabled_set(priv->time_part, disable); } - -static void _get_time_from_controls(struct tm *result, const clock_view_priv_data *priv) -{ - struct tm tmp = {0,}; - - if (!result || !priv) - return; - - elm_datetime_value_get(priv->date_part, &tmp); - result->tm_year = tmp.tm_year; - result->tm_mon = tmp.tm_mon; - result->tm_mday = tmp.tm_mday; - result->tm_wday = tmp.tm_wday; - result->tm_yday = tmp.tm_yday; - elm_datetime_value_get(priv->time_part, &tmp); - result->tm_hour = tmp.tm_hour; - result->tm_min = tmp.tm_min; - result->tm_sec = tmp.tm_sec; - result->tm_isdst = -1; - - SETTING_TRACE("result->tm_year: %d", result->tm_year); - SETTING_TRACE("result->tm_mon: %d", result->tm_mon); - SETTING_TRACE("result->tm_mday: %d", result->tm_mday); - SETTING_TRACE("result->tm_wday: %d", result->tm_wday); - SETTING_TRACE("result->tm_yday: %d", result->tm_yday); - - SETTING_TRACE("result->tm_hour: %d", result->tm_hour); - SETTING_TRACE("result->tm_min: %d", result->tm_min); - SETTING_TRACE("result->tm_sec: %d", result->tm_sec); - -} -- 2.7.4