TizenRefApp-7722 Weekdays improperly displayed on Set schedule screen (part II) 89/100589/2 submit/tizen_3.0/20161128.134316
authorDenis Dolzhenko <d.dolzhenko@samsung.com>
Mon, 28 Nov 2016 12:38:38 +0000 (14:38 +0200)
committerDenis Dolzhenko <d.dolzhenko@samsung.com>
Mon, 28 Nov 2016 12:41:51 +0000 (14:41 +0200)
Change-Id: Ie7de62333896d70d7885bc059d8142e50b241bc2
Signed-off-by: Denis Dolzhenko <d.dolzhenko@samsung.com>
src/set-schedule-info.c

index 3a1fbfe0617c0f6df86236b2ad1cbe5a5b1ff129..f91f86b3bb97fe31064e47a0eadd64479f3c6443 100755 (executable)
@@ -103,6 +103,7 @@ int get_date_format(const char *locale, const i18n_uchar *pattern, i18n_udate_fo
 static char *get_timezone();
 static char *get_formatted_date(const char *locale, const char *best_pattern, time_t time);
 static char *make_time_string(time_t curr_time);
+static void calc_label_size(Evas_Object *label);
 
 static bool is_empty_str(const char *str)
 {
@@ -467,6 +468,7 @@ static void week_button_clicked_cb(void *data, Evas_Object *obj, void *event_inf
         elm_object_text_set(cc->label, buf);
     }
 
+    calc_label_size(cc->label);
     cc->change_color = !cc->change_color;
 
     update_system_settings();
@@ -501,12 +503,7 @@ static Evas_Object *create_week_button(Evas_Object *parent, const char *text, dn
         cc->change_color = true;
     }
     elm_object_text_set(label, buf);
-    Evas_Object *edje_label = elm_layout_edje_get(label);
-    const Evas_Object *text_block = edje_object_part_object_get(edje_label, "elm.text");
-    Evas_Coord ww = 0;
-    Evas_Coord hh = 0;
-    evas_object_textblock_size_native_get(text_block, &ww, &hh);
-    evas_object_size_hint_min_set(label, ww, hh);
+    calc_label_size(label);
     evas_object_show(label);
 
     evas_object_smart_callback_add(button, "clicked", week_button_clicked_cb, cc);
@@ -722,6 +719,16 @@ Evas_Object *start_end_time_item(Evas_Object *parent, bool is_start_time_item)
     return layout;
 }
 
+static void calc_label_size(Evas_Object *label)
+{
+    Evas_Object *edje_label = elm_layout_edje_get(label);
+    const Evas_Object *text_block = edje_object_part_object_get(edje_label, "elm.text");
+    Evas_Coord ww = 0;
+    Evas_Coord hh = 0;
+    evas_object_textblock_size_native_get(text_block, &ww, &hh);
+    evas_object_size_hint_min_set(label, ww, hh);
+}
+
 static void close_set_schedule_cb(void *data, Evas_Object *obj, void *event_info)
 {
     NOTISET_TRACE_BEGIN;