Elementary calendar: Fix format month / year function

When the format function is set, it should apply it
immediately on displayed month / year.



SVN revision: 61384
This commit is contained in:
Bruno Dilly 2011-07-14 15:46:26 +00:00
parent 930d594771
commit 5ce6c8cd9d
1 changed files with 18 additions and 10 deletions

View File

@ -207,6 +207,22 @@ _text_day_color_set(Widget_Data *wd, Day_Color col, int pos)
_text_day_color_update(wd, pos);
}
static void
_set_month_year(Widget_Data *wd)
{
char *buf;
/* Set selected month */
buf = wd->format_func(&wd->selected_time);
if (buf)
{
edje_object_part_text_set(wd->calendar, "month_text", buf);
free(buf);
}
else
edje_object_part_text_set(wd->calendar, "month_text", "");
}
static void
_populate(Evas_Object *obj)
{
@ -215,7 +231,6 @@ _populate(Evas_Object *obj)
char part[12], day_s[3];
struct tm first_day;
Eina_List *l;
char *buf;
Eina_Bool last_row = EINA_TRUE;
Widget_Data *wd = elm_widget_data_get(obj);
@ -227,15 +242,7 @@ _populate(Evas_Object *obj)
mon = wd->selected_time.tm_mon;
year = wd->selected_time.tm_year;
/* Set selected month */
buf = wd->format_func(&wd->selected_time);
if (buf)
{
edje_object_part_text_set(wd->calendar, "month_text", buf);
free(buf);
}
else
edje_object_part_text_set(wd->calendar, "month_text", "");
_set_month_year(wd);
/* Set days */
day = 0;
@ -911,6 +918,7 @@ elm_calendar_format_function_set(Evas_Object *obj, char * (*format_function) (st
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
wd->format_func = format_function;
_set_month_year(wd);
}
EAPI Elm_Calendar_Mark *