[elm_datefield.c] fix indentation
authorSeunggyun Kim <sgyun.kim@samsung.com>
Tue, 7 Dec 2010 12:11:43 +0000 (21:11 +0900)
committerSeunggyun Kim <sgyun.kim@samsung.com>
Tue, 7 Dec 2010 12:11:43 +0000 (21:11 +0900)
src/lib/elm_datefield.c

index b88f207..e8e8b69 100644 (file)
 typedef struct _Widget_Data Widget_Data;
 
 enum {
-       DATE_YEAR,
-       DATE_MON,
-       DATE_DAY,
-       DATE_MAX
+     DATE_YEAR,
+     DATE_MON,
+     DATE_DAY,
+     DATE_MAX
 };
 
 enum {
-       TIME_HOUR,
-       TIME_MIN,
-       TIME_MAX
+     TIME_HOUR,
+     TIME_MIN,
+     TIME_MAX
 };
 
 enum {
-       DATE_FORMAT_YYMMDD,
-       DATE_FORMAT_YYDDMM,
-       DATE_FORMAT_MMYYDD,
-       DATE_FORMAT_MMDDYY,
-       DATE_FORMAT_DDYYMM,
-       DATE_FORMAT_DDMMYY,
-       DATE_FORMAT_MAX
+     DATE_FORMAT_YYMMDD,
+     DATE_FORMAT_YYDDMM,
+     DATE_FORMAT_MMYYDD,
+     DATE_FORMAT_MMDDYY,
+     DATE_FORMAT_DDYYMM,
+     DATE_FORMAT_DDMMYY,
+     DATE_FORMAT_MAX
 };
 
 #define YEAR_MAX_LENGTH        4
@@ -47,23 +47,23 @@ static char month_label[12][4] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul
 
 struct _Widget_Data
 {
-       Evas_Object *base;      
-       Evas_Object *date[DATE_MAX];
-       Evas_Object *time[TIME_MAX];
-       Ecore_Event_Handler *handler;
-       Ecore_Idler *idler;
-       int layout;
-
-       int year, month, day, hour, min;
-       int y_max, m_max, d_max;
-       int y_min, m_min, d_min;
-       int date_format;
-       Eina_Bool pm:1;
-       Eina_Bool time_mode:1;
-       Eina_Bool editing:1;
-
-       void (*func)(void *data, Evas_Object *obj, int value);
-       void *func_data;
+   Evas_Object *base;  
+   Evas_Object *date[DATE_MAX];
+   Evas_Object *time[TIME_MAX];
+   Ecore_Event_Handler *handler;
+   Ecore_Idler *idler;
+   int layout;
+
+   int year, month, day, hour, min;
+   int y_max, m_max, d_max;
+   int y_min, m_min, d_min;
+   int date_format;
+   Eina_Bool pm:1;
+   Eina_Bool time_mode:1;
+   Eina_Bool editing:1;
+
+   void (*func)(void *data, Evas_Object *obj, int value);
+   void *func_data;
 };
 
 static const char *widtype = NULL;
@@ -94,645 +94,645 @@ static int _check_date_boundary(Evas_Object *obj, int num, int flag);
 static void
 _del_hook(Evas_Object *obj)
 {
-       Widget_Data *wd = elm_widget_data_get(obj);
-       if (!wd) return ;       
+   Widget_Data *wd = elm_widget_data_get(obj);
+   if (!wd) return ;   
 
-       ecore_event_handler_del(wd->handler);
-               
-       free(wd);
+   ecore_event_handler_del(wd->handler);
+
+   free(wd);
 }
 
 static void
 _on_focus_hook(void *data, Evas_Object *obj)
 {
-       Widget_Data *wd = elm_widget_data_get(obj);
-       if (!wd || !wd->base) return ;
+   Widget_Data *wd = elm_widget_data_get(obj);
+   if (!wd || !wd->base) return ;
 
-       if (elm_widget_focus_get(obj)) wd->idler = ecore_idler_add(_focus_idler_cb, obj);
+   if (elm_widget_focus_get(obj)) wd->idler = ecore_idler_add(_focus_idler_cb, obj);
 }
 
 static void
 _theme_hook(Evas_Object *obj)
 {
-       Widget_Data *wd = elm_widget_data_get(obj);
-       int i;
-       if (!wd || !wd->base) return;
-
-       if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME)
-       {
-               _elm_theme_object_set(obj, wd->base, "datefield", "dateandtime", elm_widget_style_get(obj));
-
-               for (i = 0; i < DATE_MAX; i++)
-                       elm_object_style_set(wd->date[i], "datefield/hybrid");
-               for (i = 0; i < TIME_MAX; i++)
-                       elm_object_style_set(wd->time[i], "datefield/hybrid");
-       }
-       else if (wd->layout == ELM_DATEFIELD_LAYOUT_DATE)
-       {
-               _elm_theme_object_set(obj, wd->base, "datefield", "date", elm_widget_style_get(obj));
-
-               for (i = 0; i < DATE_MAX; i++)
-                       elm_object_style_set(wd->date[i], "datefield");
-
-               for (i = 0; i < TIME_MAX; i++)
-                       evas_object_hide(wd->time[i]);
-       }
-       else if (wd->layout == ELM_DATEFIELD_LAYOUT_TIME)
-       {
-               _elm_theme_object_set(obj, wd->base, "datefield", "time", elm_widget_style_get(obj));
-
-               for (i = 0; i < TIME_MAX; i++)
-                       elm_object_style_set(wd->time[i], "datefield");
-
-               for (i = 0; i < DATE_MAX; i++)
-                       evas_object_hide(wd->date[i]);
-       }
-
-       if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME || wd->layout == ELM_DATEFIELD_LAYOUT_DATE)
-       {
-               edje_object_part_swallow(wd->base, "elm.swallow.date.year", wd->date[DATE_YEAR]);
-               edje_object_part_swallow(wd->base, "elm.swallow.date.month", wd->date[DATE_MON]);
-               edje_object_part_swallow(wd->base, "elm.swallow.date.day", wd->date[DATE_DAY]);
-               edje_object_part_text_set(wd->base, "elm.text.date.comma", ",");        
-       }
-       
-       if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME || wd->layout == ELM_DATEFIELD_LAYOUT_TIME)
-       {
-               edje_object_part_swallow(wd->base, "elm.swallow.time.hour", wd->time[TIME_HOUR]);
-               edje_object_part_swallow(wd->base, "elm.swallow.time.min", wd->time[TIME_MIN]);
-               edje_object_part_text_set(wd->base, "elm.text.colon", ":");
-       }
-
-       edje_object_scale_set(wd->base, elm_widget_scale_get(obj) * _elm_config->scale);
-
-       _date_update(obj);
-       _sizing_eval(obj);
+   Widget_Data *wd = elm_widget_data_get(obj);
+   int i;
+   if (!wd || !wd->base) return;
+
+   if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME)
+     {
+       _elm_theme_object_set(obj, wd->base, "datefield", "dateandtime", elm_widget_style_get(obj));
+
+       for (i = 0; i < DATE_MAX; i++)
+         elm_object_style_set(wd->date[i], "datefield/hybrid");
+       for (i = 0; i < TIME_MAX; i++)
+         elm_object_style_set(wd->time[i], "datefield/hybrid");
+     }
+   else if (wd->layout == ELM_DATEFIELD_LAYOUT_DATE)
+     {
+       _elm_theme_object_set(obj, wd->base, "datefield", "date", elm_widget_style_get(obj));
+
+       for (i = 0; i < DATE_MAX; i++)
+         elm_object_style_set(wd->date[i], "datefield");
+
+       for (i = 0; i < TIME_MAX; i++)
+         evas_object_hide(wd->time[i]);
+     }
+   else if (wd->layout == ELM_DATEFIELD_LAYOUT_TIME)
+     {
+       _elm_theme_object_set(obj, wd->base, "datefield", "time", elm_widget_style_get(obj));
+
+       for (i = 0; i < TIME_MAX; i++)
+         elm_object_style_set(wd->time[i], "datefield");
+
+       for (i = 0; i < DATE_MAX; i++)
+         evas_object_hide(wd->date[i]);
+     }
+
+   if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME || wd->layout == ELM_DATEFIELD_LAYOUT_DATE)
+     {
+       edje_object_part_swallow(wd->base, "elm.swallow.date.year", wd->date[DATE_YEAR]);
+       edje_object_part_swallow(wd->base, "elm.swallow.date.month", wd->date[DATE_MON]);
+       edje_object_part_swallow(wd->base, "elm.swallow.date.day", wd->date[DATE_DAY]);
+       edje_object_part_text_set(wd->base, "elm.text.date.comma", ",");        
+     }
+
+   if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME || wd->layout == ELM_DATEFIELD_LAYOUT_TIME)
+     {
+       edje_object_part_swallow(wd->base, "elm.swallow.time.hour", wd->time[TIME_HOUR]);
+       edje_object_part_swallow(wd->base, "elm.swallow.time.min", wd->time[TIME_MIN]);
+       edje_object_part_text_set(wd->base, "elm.text.colon", ":");
+     }
+
+   edje_object_scale_set(wd->base, elm_widget_scale_get(obj) * _elm_config->scale);
+
+   _date_update(obj);
+   _sizing_eval(obj);
 }
 
 static void
 _sizing_eval(Evas_Object *obj)
 {
-       Widget_Data *wd = elm_widget_data_get(obj);
-       Evas_Coord minw = -1, minh = -1;
+   Widget_Data *wd = elm_widget_data_get(obj);
+   Evas_Coord minw = -1, minh = -1;
 
-       edje_object_size_min_calc(wd->base, &minw, &minh);
-       evas_object_size_hint_min_set(obj, minw, minh);
-       evas_object_size_hint_max_set(obj, -1, -1);
+   edje_object_size_min_calc(wd->base, &minw, &minh);
+   evas_object_size_hint_min_set(obj, minw, minh);
+   evas_object_size_hint_max_set(obj, -1, -1);
 }
 
 static void
 _signal_ampm_mouse_down(void *data, Evas_Object *obj, const char *emission, const char *source)
 {
-       Widget_Data *wd = elm_widget_data_get(data);
-       Evas_Object *focus_obj;
-       
-       if (!wd || !wd->base) return ;  
+   Widget_Data *wd = elm_widget_data_get(data);
+   Evas_Object *focus_obj;
+
+   if (!wd || !wd->base) return ;      
 
-       focus_obj = elm_widget_focused_object_get(data);
-       if (focus_obj) elm_object_unfocus(focus_obj);
+   focus_obj = elm_widget_focused_object_get(data);
+   if (focus_obj) elm_object_unfocus(focus_obj);
 }
 
 static void
 _signal_ampm_clicked(void *data, Evas_Object *obj, const char *emission, const char *source)
 {
-       Widget_Data *wd = elm_widget_data_get(data);
-       if (!wd || !wd->base) return ;  
-
-       wd->pm = !wd->pm;
-
-       if (wd->pm)
-       {
-               edje_object_part_text_set(wd->base, "elm.text.ampm", "PM");
-               wd->hour += HOUR_12H_MAXIMUM;
-       }
-       else
-       {
-               edje_object_part_text_set(wd->base, "elm.text.ampm", "AM");
-               wd->hour -= HOUR_12H_MAXIMUM;
-       }
+   Widget_Data *wd = elm_widget_data_get(data);
+   if (!wd || !wd->base) return ;      
+
+   wd->pm = !wd->pm;
+
+   if (wd->pm)
+     {
+       edje_object_part_text_set(wd->base, "elm.text.ampm", "PM");
+       wd->hour += HOUR_12H_MAXIMUM;
+     }
+   else
+     {
+       edje_object_part_text_set(wd->base, "elm.text.ampm", "AM");
+       wd->hour -= HOUR_12H_MAXIMUM;
+     }
 }
 
 static void
 _signal_rect_mouse_down(void *data, Evas_Object *obj, const char *emission, const char *source)
 {
-       Widget_Data *wd = elm_widget_data_get(data);
-       if (!wd) return ;
-
-       if (!strcmp(source, "elm.rect.date.year.over"))
-               elm_object_focus(wd->date[DATE_YEAR]);
-       else if (!strcmp(source, "elm.rect.date.month.over"))
-               elm_object_focus(wd->date[DATE_MON]);
-       else if (!strcmp(source, "elm.rect.date.day.over"))
-               elm_object_focus(wd->date[DATE_DAY]);
-       else if (!strcmp(source, "elm.rect.time.hour.over"))
-               elm_object_focus(wd->time[TIME_HOUR]);
-       else if (!strcmp(source, "elm.rect.time.min.over"))
-               elm_object_focus(wd->time[TIME_MIN]);
-       else if (!strcmp(source, "elm.rect.date.left.pad"))
-       {
-               switch (wd->date_format)
-               {
-                       case DATE_FORMAT_YYDDMM:
-                       case DATE_FORMAT_YYMMDD:
-                               elm_object_focus(wd->date[DATE_YEAR]);
-                               break;
-                       case DATE_FORMAT_MMDDYY:
-                       case DATE_FORMAT_MMYYDD:
-                               elm_object_focus(wd->date[DATE_MON]);
-                               break;
-                       case DATE_FORMAT_DDMMYY:
-                       case DATE_FORMAT_DDYYMM:
-                               elm_object_focus(wd->date[DATE_DAY]);
-               }
-       }
-       else if (!strcmp(source, "elm.rect.date.right.pad"))
-       {
-               switch (wd->date_format)
-               {
-                       case DATE_FORMAT_MMDDYY:
-                       case DATE_FORMAT_DDMMYY:
-                               elm_object_focus(wd->date[DATE_YEAR]);
-                               break;
-                       case DATE_FORMAT_DDYYMM:
-                       case DATE_FORMAT_YYDDMM:
-                               elm_object_focus(wd->date[DATE_MON]);
-                               break;
-                       case DATE_FORMAT_YYMMDD:
-                       case DATE_FORMAT_MMYYDD:
-                               elm_object_focus(wd->date[DATE_DAY]);
-               }
-       }
+   Widget_Data *wd = elm_widget_data_get(data);
+   if (!wd) return ;
+
+   if (!strcmp(source, "elm.rect.date.year.over"))
+     elm_object_focus(wd->date[DATE_YEAR]);
+   else if (!strcmp(source, "elm.rect.date.month.over"))
+     elm_object_focus(wd->date[DATE_MON]);
+   else if (!strcmp(source, "elm.rect.date.day.over"))
+     elm_object_focus(wd->date[DATE_DAY]);
+   else if (!strcmp(source, "elm.rect.time.hour.over"))
+     elm_object_focus(wd->time[TIME_HOUR]);
+   else if (!strcmp(source, "elm.rect.time.min.over"))
+     elm_object_focus(wd->time[TIME_MIN]);
+   else if (!strcmp(source, "elm.rect.date.left.pad"))
+     {
+       switch (wd->date_format)
+         {
+          case DATE_FORMAT_YYDDMM:
+          case DATE_FORMAT_YYMMDD:
+             elm_object_focus(wd->date[DATE_YEAR]);
+             break;
+          case DATE_FORMAT_MMDDYY:
+          case DATE_FORMAT_MMYYDD:
+             elm_object_focus(wd->date[DATE_MON]);
+             break;
+          case DATE_FORMAT_DDMMYY:
+          case DATE_FORMAT_DDYYMM:
+             elm_object_focus(wd->date[DATE_DAY]);
+         }
+     }
+   else if (!strcmp(source, "elm.rect.date.right.pad"))
+     {
+       switch (wd->date_format)
+         {
+          case DATE_FORMAT_MMDDYY:
+          case DATE_FORMAT_DDMMYY:
+             elm_object_focus(wd->date[DATE_YEAR]);
+             break;
+          case DATE_FORMAT_DDYYMM:
+          case DATE_FORMAT_YYDDMM:
+             elm_object_focus(wd->date[DATE_MON]);
+             break;
+          case DATE_FORMAT_YYMMDD:
+          case DATE_FORMAT_MMYYDD:
+             elm_object_focus(wd->date[DATE_DAY]);
+         }
+     }
 }
 
 static Eina_Bool 
 _focus_idler_cb(void *obj)
 {
-       Widget_Data *wd = elm_widget_data_get(obj);
-       Evas_Object *focus_obj;
-       focus_obj = elm_widget_focused_object_get(obj);
-       if (focus_obj == obj)
-       {
-               if (wd->layout == ELM_DATEFIELD_LAYOUT_TIME)
-                       elm_object_focus(wd->time[TIME_HOUR]);
-               
-               else if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME || wd->layout == ELM_DATEFIELD_LAYOUT_DATE)
-               {
-                       switch (wd->date_format)
-                       {
-                               case DATE_FORMAT_YYDDMM:
-                               case DATE_FORMAT_YYMMDD:
-                                       elm_object_focus(wd->date[DATE_YEAR]);
-                                       break;
-                               case DATE_FORMAT_MMDDYY:
-                               case DATE_FORMAT_MMYYDD:
-                                       elm_object_focus(wd->date[DATE_MON]);
-                                       break;
-                               case DATE_FORMAT_DDMMYY:
-                               case DATE_FORMAT_DDYYMM:
-                                       elm_object_focus(wd->date[DATE_DAY]);
-                       }
-               }
-       }
-       wd->idler = NULL;
-       return EINA_FALSE;
+   Widget_Data *wd = elm_widget_data_get(obj);
+   Evas_Object *focus_obj;
+
+   focus_obj = elm_widget_focused_object_get(obj);
+   if (focus_obj == obj)
+     {
+       if (wd->layout == ELM_DATEFIELD_LAYOUT_TIME)
+         elm_object_focus(wd->time[TIME_HOUR]);
+
+       else if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME || wd->layout == ELM_DATEFIELD_LAYOUT_DATE)
+         {
+            switch (wd->date_format)
+              {
+               case DATE_FORMAT_YYDDMM:
+               case DATE_FORMAT_YYMMDD:
+                  elm_object_focus(wd->date[DATE_YEAR]);
+                  break;
+               case DATE_FORMAT_MMDDYY:
+               case DATE_FORMAT_MMYYDD:
+                  elm_object_focus(wd->date[DATE_MON]);
+                  break;
+               case DATE_FORMAT_DDMMYY:
+               case DATE_FORMAT_DDYYMM:
+                  elm_object_focus(wd->date[DATE_DAY]);
+              }
+         }
+     }
+   wd->idler = NULL;
+   return EINA_FALSE;
 }
 
 static void
 _entry_focused_cb(void *data, Evas_Object *obj, void *event_info)
 {
-       Widget_Data *wd = elm_widget_data_get(data);
-       if (!wd || !wd->base) return;
-
-       if (wd->idler) 
-       {
-               ecore_idler_del(wd->idler);
-               wd->idler = NULL;
-       }
-       
-       if (obj == wd->date[DATE_YEAR])
-               edje_object_signal_emit(wd->base, "elm,state,year,focus,in", "elm");
-       else if (obj == wd->date[DATE_MON])
-               edje_object_signal_emit(wd->base, "elm,state,month,focus,in", "elm");
-       else if (obj == wd->date[DATE_DAY])
-               edje_object_signal_emit(wd->base, "elm,state,day,focus,in", "elm");
-       else if (obj == wd->time[TIME_HOUR])
-               edje_object_signal_emit(wd->base, "elm,state,hour,focus,in", "elm");
-       else if (obj == wd->time[TIME_MIN])
-               edje_object_signal_emit(wd->base, "elm,state,min,focus,in", "elm");
+   Widget_Data *wd = elm_widget_data_get(data);
+   if (!wd || !wd->base) return;
+
+   if (wd->idler) 
+     {
+       ecore_idler_del(wd->idler);
+       wd->idler = NULL;
+     }
+
+   if (obj == wd->date[DATE_YEAR])
+     edje_object_signal_emit(wd->base, "elm,state,year,focus,in", "elm");
+   else if (obj == wd->date[DATE_MON])
+     edje_object_signal_emit(wd->base, "elm,state,month,focus,in", "elm");
+   else if (obj == wd->date[DATE_DAY])
+     edje_object_signal_emit(wd->base, "elm,state,day,focus,in", "elm");
+   else if (obj == wd->time[TIME_HOUR])
+     edje_object_signal_emit(wd->base, "elm,state,hour,focus,in", "elm");
+   else if (obj == wd->time[TIME_MIN])
+     edje_object_signal_emit(wd->base, "elm,state,min,focus,in", "elm");
 }
 
 static void
 _entry_unfocused_cb(void *data, Evas_Object *obj, void *event_info)
 {
-       Widget_Data *wd = elm_widget_data_get(data);
-       char str[YEAR_MAX_LENGTH+1] = {0,};
-       int num = 0;
-
-       if (!wd || !wd->base) return;
-       wd->editing = FALSE;
-
-       if (obj == wd->date[DATE_YEAR])
-       {
-               if (strlen(elm_entry_entry_get(wd->date[DATE_YEAR]))) wd->year = atoi(elm_entry_entry_get(wd->date[DATE_YEAR]));
-               wd->year = _check_date_boundary(data, wd->year, DATE_YEAR);
-               sprintf(str, "%d", wd->year);
-               elm_entry_entry_set(wd->date[DATE_YEAR], str);
-
-               //check month boundary
-               if(wd->month != (num = _check_date_boundary(data, wd->month, DATE_MON)))
-               {
-                       wd->month = num;
-                       elm_entry_entry_set(wd->date[DATE_MON], month_label[wd->month-1]);
-               }
-               //check day boundary
-               if (wd->day != (num = _check_date_boundary(data, wd->day, DATE_DAY)))
-               {
-                       wd->day = num;
-                       sprintf(str, "%d", wd->day);            
-                       elm_entry_entry_set(wd->date[DATE_DAY], str);
-               }               
-               edje_object_signal_emit(wd->base, "elm,state,year,focus,out", "elm");
-       }
-       else if (obj == wd->date[DATE_MON])
-       {
-               if(wd->month != (num = _check_date_boundary(data, wd->month, DATE_MON)))
-               {
-                       wd->month = num;
-                       elm_entry_entry_set(wd->date[DATE_MON], month_label[wd->month-1]);
-               }
-               //check day boundary
-               if (wd->day != (num = _check_date_boundary(data, wd->day, DATE_DAY)))
-               {
-                       wd->day = num;
-                       sprintf(str, "%d", wd->day);            
-                       elm_entry_entry_set(wd->date[DATE_DAY], str);
-               }
-               edje_object_signal_emit(wd->base, "elm,state,month,focus,out", "elm");
-       }       
-       else if (obj == wd->date[DATE_DAY])
-       {
-               if (strlen(elm_entry_entry_get(wd->date[DATE_DAY]))) wd->day = atoi(elm_entry_entry_get(wd->date[DATE_DAY]));
-               wd->day = _check_date_boundary(data, wd->day, DATE_DAY);
-               sprintf(str, "%d", wd->day);            
-               elm_entry_entry_set(wd->date[DATE_DAY], str);
-               edje_object_signal_emit(wd->base, "elm,state,day,focus,out", "elm");
-       }
-       else if (obj == wd->time[TIME_HOUR])
-       {
-               if (strlen(elm_entry_entry_get(wd->time[TIME_HOUR]))) num = atoi(elm_entry_entry_get(wd->time[TIME_HOUR]));
-               else num = wd->hour;
-               
-               if (!wd->time_mode) // 24 mode
-               {
-                       if (num > HOUR_24H_MAXIMUM) num = HOUR_24H_MAXIMUM;
-                       wd->hour = num;
-               }
-               else // 12 mode
-               {
-                       if (num > HOUR_24H_MAXIMUM || num == 0)
-                       {
-                               num = HOUR_12H_MAXIMUM;
-                               wd->pm = EINA_FALSE;
-                       }
-                       else if (num > HOUR_12H_MAXIMUM)
-                       {
-                               num -= HOUR_12H_MAXIMUM;
-                               wd->pm = EINA_TRUE;
-                       }                       
-                       wd->hour = (wd->pm == EINA_TRUE)? num + HOUR_12H_MAXIMUM : num;
-                       if((wd->hour % 12) == 0) wd->hour -= HOUR_12H_MAXIMUM;
-
-                       if (wd->pm) edje_object_part_text_set(wd->base, "elm.text.ampm", "PM");
-                       else edje_object_part_text_set(wd->base, "elm.text.ampm", "AM");
-               }
-               sprintf(str, "%02d", num);              
-               elm_entry_entry_set(wd->time[TIME_HOUR], str);
-               edje_object_signal_emit(wd->base, "elm,state,hour,focus,out", "elm");                   
-       }
-       else if (obj == wd->time[TIME_MIN])
-       {
-               if (strlen(elm_entry_entry_get(wd->time[TIME_MIN]))) wd->min = atoi(elm_entry_entry_get(wd->time[TIME_MIN]));   
-               if (wd->min > MIN_MAXIMUM) wd->min = MIN_MAXIMUM;
-
-               sprintf(str, "%02d", wd->min);
-               elm_entry_entry_set(wd->time[TIME_MIN], str);
-               edje_object_signal_emit(wd->base, "elm,state,min,focus,out", "elm");
-       }
-       evas_object_smart_callback_call(data, "changed", NULL); 
+   Widget_Data *wd = elm_widget_data_get(data);
+   char str[YEAR_MAX_LENGTH+1] = {0,};
+   int num = 0;
+
+   if (!wd || !wd->base) return;
+   wd->editing = FALSE;
+
+   if (obj == wd->date[DATE_YEAR])
+     {
+       if (strlen(elm_entry_entry_get(wd->date[DATE_YEAR]))) wd->year = atoi(elm_entry_entry_get(wd->date[DATE_YEAR]));
+       wd->year = _check_date_boundary(data, wd->year, DATE_YEAR);
+       sprintf(str, "%d", wd->year);
+       elm_entry_entry_set(wd->date[DATE_YEAR], str);
+
+       //check month boundary
+       if(wd->month != (num = _check_date_boundary(data, wd->month, DATE_MON)))
+         {
+            wd->month = num;
+            elm_entry_entry_set(wd->date[DATE_MON], month_label[wd->month-1]);
+         }
+       //check day boundary
+       if (wd->day != (num = _check_date_boundary(data, wd->day, DATE_DAY)))
+         {
+            wd->day = num;
+            sprintf(str, "%d", wd->day);               
+            elm_entry_entry_set(wd->date[DATE_DAY], str);
+         }             
+       edje_object_signal_emit(wd->base, "elm,state,year,focus,out", "elm");
+     }
+   else if (obj == wd->date[DATE_MON])
+     {
+       if(wd->month != (num = _check_date_boundary(data, wd->month, DATE_MON)))
+         {
+            wd->month = num;
+            elm_entry_entry_set(wd->date[DATE_MON], month_label[wd->month-1]);
+         }
+       //check day boundary
+       if (wd->day != (num = _check_date_boundary(data, wd->day, DATE_DAY)))
+         {
+            wd->day = num;
+            sprintf(str, "%d", wd->day);               
+            elm_entry_entry_set(wd->date[DATE_DAY], str);
+         }
+       edje_object_signal_emit(wd->base, "elm,state,month,focus,out", "elm");
+     } 
+   else if (obj == wd->date[DATE_DAY])
+     {
+       if (strlen(elm_entry_entry_get(wd->date[DATE_DAY]))) wd->day = atoi(elm_entry_entry_get(wd->date[DATE_DAY]));
+       wd->day = _check_date_boundary(data, wd->day, DATE_DAY);
+       sprintf(str, "%d", wd->day);            
+       elm_entry_entry_set(wd->date[DATE_DAY], str);
+       edje_object_signal_emit(wd->base, "elm,state,day,focus,out", "elm");
+     }
+   else if (obj == wd->time[TIME_HOUR])
+     {
+       if (strlen(elm_entry_entry_get(wd->time[TIME_HOUR]))) num = atoi(elm_entry_entry_get(wd->time[TIME_HOUR]));
+       else num = wd->hour;
+
+       if (!wd->time_mode) // 24 mode
+         {
+            if (num > HOUR_24H_MAXIMUM) num = HOUR_24H_MAXIMUM;
+            wd->hour = num;
+         }
+       else // 12 mode
+         {
+            if (num > HOUR_24H_MAXIMUM || num == 0)
+              {
+                 num = HOUR_12H_MAXIMUM;
+                 wd->pm = EINA_FALSE;
+              }
+            else if (num > HOUR_12H_MAXIMUM)
+              {
+                 num -= HOUR_12H_MAXIMUM;
+                 wd->pm = EINA_TRUE;
+              }                        
+            wd->hour = (wd->pm == EINA_TRUE)? num + HOUR_12H_MAXIMUM : num;
+            if((wd->hour % 12) == 0) wd->hour -= HOUR_12H_MAXIMUM;
+
+            if (wd->pm) edje_object_part_text_set(wd->base, "elm.text.ampm", "PM");
+            else edje_object_part_text_set(wd->base, "elm.text.ampm", "AM");
+         }
+       sprintf(str, "%02d", num);              
+       elm_entry_entry_set(wd->time[TIME_HOUR], str);
+       edje_object_signal_emit(wd->base, "elm,state,hour,focus,out", "elm");                   
+     }
+   else if (obj == wd->time[TIME_MIN])
+     {
+       if (strlen(elm_entry_entry_get(wd->time[TIME_MIN]))) wd->min = atoi(elm_entry_entry_get(wd->time[TIME_MIN]));   
+       if (wd->min > MIN_MAXIMUM) wd->min = MIN_MAXIMUM;
+
+       sprintf(str, "%02d", wd->min);
+       elm_entry_entry_set(wd->time[TIME_MIN], str);
+       edje_object_signal_emit(wd->base, "elm,state,min,focus,out", "elm");
+     }
+   evas_object_smart_callback_call(data, "changed", NULL);     
 }
 
 static void 
 _entry_focus_move(Evas_Object *obj, Evas_Object *focus_obj)
 {
-       Widget_Data *wd = elm_widget_data_get(obj);
-
-       if (!wd) return;
-       if (focus_obj == wd->date[DATE_YEAR])
-       {
-               switch (wd->date_format)
-               {
-                       case DATE_FORMAT_DDMMYY:
-                       case DATE_FORMAT_MMDDYY:
-                               if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME)
-                                       elm_object_focus(wd->time[TIME_HOUR]);
-                               else if (wd->layout == ELM_DATEFIELD_LAYOUT_DATE)
-                                       elm_object_unfocus(wd->date[DATE_YEAR]);
-                               break;
-                       case DATE_FORMAT_DDYYMM:
-                       case DATE_FORMAT_YYMMDD:
-                               elm_object_focus(wd->date[DATE_MON]);
-                               break;
-                       case DATE_FORMAT_MMYYDD:
-                       case DATE_FORMAT_YYDDMM:
-                               elm_object_focus(wd->date[DATE_DAY]);
-               }
-       }
-       else if (focus_obj == wd->date[DATE_MON])
-       {
-               switch (wd->date_format)
-               {
-                       case DATE_FORMAT_DDYYMM:
-                       case DATE_FORMAT_YYDDMM:
-                               if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME)
-                                       elm_object_focus(wd->time[TIME_HOUR]);
-                               else if (wd->layout == ELM_DATEFIELD_LAYOUT_DATE)
-                                       elm_object_unfocus(wd->date[DATE_MON]);
-                               break;
-                       case DATE_FORMAT_DDMMYY:
-                       case DATE_FORMAT_MMYYDD:
-                               elm_object_focus(wd->date[DATE_YEAR]);
-                               break;
-                       case DATE_FORMAT_MMDDYY:
-                       case DATE_FORMAT_YYMMDD:
-                               elm_object_focus(wd->date[DATE_DAY]);
-               }
-       }
-       else if (focus_obj == wd->date[DATE_DAY])
-       {
-               switch (wd->date_format)
-               {
-                       case DATE_FORMAT_YYMMDD:
-                       case DATE_FORMAT_MMYYDD:
-                               if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME)
-                                       elm_object_focus(wd->time[TIME_HOUR]);
-                               else if (wd->layout == ELM_DATEFIELD_LAYOUT_DATE)
-                                       elm_object_unfocus(wd->date[DATE_DAY]);
-                               break;
-                       case DATE_FORMAT_DDYYMM:
-                       case DATE_FORMAT_MMDDYY:
-                               elm_object_focus(wd->date[DATE_YEAR]);
-                               break;
-                       case DATE_FORMAT_DDMMYY:
-                       case DATE_FORMAT_YYDDMM:
-                               elm_object_focus(wd->date[DATE_MON]);
-               }
-       }
-       else if (focus_obj == wd->time[TIME_HOUR])
-               elm_object_focus(wd->time[TIME_MIN]);
-       else if (focus_obj == wd->time[TIME_MIN])
-               elm_object_unfocus(wd->time[TIME_MIN]);
+   Widget_Data *wd = elm_widget_data_get(obj);
+
+   if (!wd) return;
+
+   if (focus_obj == wd->date[DATE_YEAR])
+     {
+       switch (wd->date_format)
+         {
+          case DATE_FORMAT_DDMMYY:
+          case DATE_FORMAT_MMDDYY:
+             if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME)
+               elm_object_focus(wd->time[TIME_HOUR]);
+             else if (wd->layout == ELM_DATEFIELD_LAYOUT_DATE)
+               elm_object_unfocus(wd->date[DATE_YEAR]);
+             break;
+          case DATE_FORMAT_DDYYMM:
+          case DATE_FORMAT_YYMMDD:
+             elm_object_focus(wd->date[DATE_MON]);
+             break;
+          case DATE_FORMAT_MMYYDD:
+          case DATE_FORMAT_YYDDMM:
+             elm_object_focus(wd->date[DATE_DAY]);
+         }
+     }
+   else if (focus_obj == wd->date[DATE_MON])
+     {
+       switch (wd->date_format)
+         {
+          case DATE_FORMAT_DDYYMM:
+          case DATE_FORMAT_YYDDMM:
+             if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME)
+               elm_object_focus(wd->time[TIME_HOUR]);
+             else if (wd->layout == ELM_DATEFIELD_LAYOUT_DATE)
+               elm_object_unfocus(wd->date[DATE_MON]);
+             break;
+          case DATE_FORMAT_DDMMYY:
+          case DATE_FORMAT_MMYYDD:
+             elm_object_focus(wd->date[DATE_YEAR]);
+             break;
+          case DATE_FORMAT_MMDDYY:
+          case DATE_FORMAT_YYMMDD:
+             elm_object_focus(wd->date[DATE_DAY]);
+         }
+     }
+   else if (focus_obj == wd->date[DATE_DAY])
+     {
+       switch (wd->date_format)
+         {
+          case DATE_FORMAT_YYMMDD:
+          case DATE_FORMAT_MMYYDD:
+             if (wd->layout == ELM_DATEFIELD_LAYOUT_DATEANDTIME)
+               elm_object_focus(wd->time[TIME_HOUR]);
+             else if (wd->layout == ELM_DATEFIELD_LAYOUT_DATE)
+               elm_object_unfocus(wd->date[DATE_DAY]);
+             break;
+          case DATE_FORMAT_DDYYMM:
+          case DATE_FORMAT_MMDDYY:
+             elm_object_focus(wd->date[DATE_YEAR]);
+             break;
+          case DATE_FORMAT_DDMMYY:
+          case DATE_FORMAT_YYDDMM:
+             elm_object_focus(wd->date[DATE_MON]);
+         }
+     }
+   else if (focus_obj == wd->time[TIME_HOUR])
+     elm_object_focus(wd->time[TIME_MIN]);
+   else if (focus_obj == wd->time[TIME_MIN])
+     elm_object_unfocus(wd->time[TIME_MIN]);
 }
 
 static int
 _check_date_boundary(Evas_Object *obj, int num, int flag)
 {
-       Widget_Data *wd = elm_widget_data_get(obj);
-       if (flag == DATE_YEAR)
-       {
-               if (num > wd->y_max) num = wd->y_max;
-               else if (num < wd->y_min) num = wd->y_min;
-               return num;
-       }
-
-       else if (flag == DATE_MON)
-       {
-               if (wd->year == wd->y_max && num > wd->m_max) num = wd->m_max;
-               else if (wd->year == wd->y_min && num < wd->m_min) num = wd->m_min;
-               else if (num > MONTH_MAXIMUM) num = MONTH_MAXIMUM;
-               else if (num <= 0) num = 1;
-               return num;
-       }
-
-       else if (flag == DATE_DAY)
-       {
-               int day_of_month = _maximum_day_get(wd->year, wd->month);
-               if (wd->year == wd->y_max && wd->month == wd->m_max && num > wd->d_max) num = wd->d_max;
-               else if (wd->year == wd->y_min && wd->month == wd->m_min && num < wd->d_min) num = wd->d_min;
-               else if (num > day_of_month) num = day_of_month;
-               else if (num <= 0) num = 1;
-               return num;
-       }
+   Widget_Data *wd = elm_widget_data_get(obj);
+   if (flag == DATE_YEAR)
+     {
+       if (num > wd->y_max) num = wd->y_max;
+       else if (num < wd->y_min) num = wd->y_min;
+       return num;
+     }
+
+   else if (flag == DATE_MON)
+     {
+       if (wd->year == wd->y_max && num > wd->m_max) num = wd->m_max;
+       else if (wd->year == wd->y_min && num < wd->m_min) num = wd->m_min;
+       else if (num > MONTH_MAXIMUM) num = MONTH_MAXIMUM;
+       else if (num <= 0) num = 1;
+       return num;
+     }
+
+   else if (flag == DATE_DAY)
+     {
+       int day_of_month = _maximum_day_get(wd->year, wd->month);
+       if (wd->year == wd->y_max && wd->month == wd->m_max && num > wd->d_max) num = wd->d_max;
+       else if (wd->year == wd->y_min && wd->month == wd->m_min && num < wd->d_min) num = wd->d_min;
+       else if (num > day_of_month) num = day_of_month;
+       else if (num <= 0) num = 1;
        return num;
+     }
+   return num;
 }
 
 static int
 _maximum_day_get(int year, int month)
 {
-       int day_of_month = 0;
-       if (year == 0 || month == 0) return 0;
-
-       switch (month) {
-               case 4: 
-               case 6: 
-               case 9: 
-               case 11:
-                       day_of_month = 30;
-                       break;
-               case 2:
-                       if ((!(year % 4) && (year % 100)) || !(year % 400))
-                               day_of_month = 29;
-                       else
-                               day_of_month = 28;
-                       break;
-               default:
-                       day_of_month = 31;
-                       break;
-       }
-
-       return day_of_month;
+   int day_of_month = 0;
+   if (year == 0 || month == 0) return 0;
+
+   switch (month) {
+      case 4: 
+      case 6:  
+      case 9:  
+      case 11:
+        day_of_month = 30;
+        break;
+      case 2:
+        if ((!(year % 4) && (year % 100)) || !(year % 400))
+          day_of_month = 29;
+        else
+          day_of_month = 28;
+        break;
+      default:
+        day_of_month = 31;
+        break;
+   }
+
+   return day_of_month;
 }
 
 static Eina_Bool 
 _check_input_done(Evas_Object *obj, Evas_Object *focus_obj, int strlen)
 {
-       Widget_Data *wd = elm_widget_data_get(obj);
-
-       if (!wd) return EINA_FALSE;
-
-       if (focus_obj == wd->date[DATE_YEAR] && strlen == YEAR_MAX_LENGTH)
-               wd->editing = EINA_FALSE;
-       else if (focus_obj == wd->date[DATE_MON] && strlen == MONTH_MAX_LENGTH)
-               wd->editing = EINA_FALSE;
-       else if (focus_obj == wd->date[DATE_DAY])
-       {
-               if (strlen == DAY_MAX_LENGTH || atoi(elm_entry_entry_get(focus_obj)) > 3)
-               wd->editing = EINA_FALSE;
-       }
-       else if (focus_obj == wd->time[TIME_HOUR])
-       {       
-               if (strlen == TIME_MAX_LENGTH || atoi(elm_entry_entry_get(focus_obj)) > 2)
-                       wd->editing = EINA_FALSE;
-       }
-       else if (focus_obj == wd->time[TIME_MIN])
-       {
-               if (strlen == TIME_MAX_LENGTH || atoi(elm_entry_entry_get(focus_obj)) > 5) 
-               wd->editing = EINA_FALSE;
-       }
-       return !wd->editing;
+   Widget_Data *wd = elm_widget_data_get(obj);
+
+   if (!wd) return EINA_FALSE;
+
+   if (focus_obj == wd->date[DATE_YEAR] && strlen == YEAR_MAX_LENGTH)
+     wd->editing = EINA_FALSE;
+   else if (focus_obj == wd->date[DATE_MON] && strlen == MONTH_MAX_LENGTH)
+     wd->editing = EINA_FALSE;
+   else if (focus_obj == wd->date[DATE_DAY])
+     {
+       if (strlen == DAY_MAX_LENGTH || atoi(elm_entry_entry_get(focus_obj)) > 3)
+         wd->editing = EINA_FALSE;
+     }
+   else if (focus_obj == wd->time[TIME_HOUR])
+     { 
+       if (strlen == TIME_MAX_LENGTH || atoi(elm_entry_entry_get(focus_obj)) > 2)
+         wd->editing = EINA_FALSE;
+     }
+   else if (focus_obj == wd->time[TIME_MIN])
+     {
+       if (strlen == TIME_MAX_LENGTH || atoi(elm_entry_entry_get(focus_obj)) > 5) 
+         wd->editing = EINA_FALSE;
+     }
+   return !wd->editing;
 }
 
 static void
 _entry_key_up_cb(void *data, Evas *e , Evas_Object *obj , void *event_info)
 {
-       Evas_Event_Key_Up *ev = (Evas_Event_Key_Up *) event_info;
+   Evas_Event_Key_Up *ev = (Evas_Event_Key_Up *) event_info;
 
-       if (!strcmp(ev->keyname, "BackSpace"))
-               elm_entry_entry_set(obj, "");
+   if (!strcmp(ev->keyname, "BackSpace"))
+     elm_entry_entry_set(obj, "");
 }
 
 static Eina_Bool 
 _imf_event_commit_cb(void *data, int type, void *event)
 {
-       Widget_Data *wd = elm_widget_data_get(data);
-       Ecore_IMF_Event_Commit *ev = (Ecore_IMF_Event_Commit *) event;
-       Evas_Object *focus_obj;
-       char str[YEAR_MAX_LENGTH+1] = {0,};
-       
-       if (!wd) return ECORE_CALLBACK_PASS_ON;
-       if (!elm_widget_focus_get(data)) return ECORE_CALLBACK_PASS_ON;
-       
-       focus_obj = elm_widget_focused_object_get(data);
-       if (!wd->editing) 
-       {
-               elm_entry_entry_set(focus_obj, "");
-               wd->editing = EINA_TRUE;
-       }
-       
-       if (focus_obj == wd->date[DATE_MON])
-       {
-               wd->month = atoi(ev->str);
-               strcpy(str, month_label[wd->month-1]);
-       }
-       else
-       {
-               strcpy(str, elm_entry_entry_get(focus_obj));
-               str[strlen(str)] = ev->str[0];
-       }
-       elm_entry_entry_set(focus_obj, str);
-
-       if (_check_input_done(data, focus_obj, strlen(str)))
-               _entry_focus_move(data, focus_obj);
-
-       return ECORE_CALLBACK_DONE;
+   Widget_Data *wd = elm_widget_data_get(data);
+   Ecore_IMF_Event_Commit *ev = (Ecore_IMF_Event_Commit *) event;
+   Evas_Object *focus_obj;
+   char str[YEAR_MAX_LENGTH+1] = {0,};
+
+   if (!wd) return ECORE_CALLBACK_PASS_ON;
+   if (!elm_widget_focus_get(data)) return ECORE_CALLBACK_PASS_ON;
+
+   focus_obj = elm_widget_focused_object_get(data);
+   if (!wd->editing) 
+     {
+       elm_entry_entry_set(focus_obj, "");
+       wd->editing = EINA_TRUE;
+     }
+
+   if (focus_obj == wd->date[DATE_MON])
+     {
+       wd->month = atoi(ev->str);
+       strcpy(str, month_label[wd->month-1]);
+     }
+   else
+     {
+       strcpy(str, elm_entry_entry_get(focus_obj));
+       str[strlen(str)] = ev->str[0];
+     }
+   elm_entry_entry_set(focus_obj, str);
+
+   if (_check_input_done(data, focus_obj, strlen(str)))
+     _entry_focus_move(data, focus_obj);
+
+   return ECORE_CALLBACK_DONE;
 }
 
 static void 
 _input_panel_event_callback(void *data, Ecore_IMF_Context *ctx, int value)
 {
-       Widget_Data *wd = elm_widget_data_get(data);
+   Widget_Data *wd = elm_widget_data_get(data);
 
-       if (!wd) return;
+   if (!wd) return;
 
-       if (wd->func)
-               wd->func(wd->func_data, data, value);
+   if (wd->func)
+     wd->func(wd->func_data, data, value);
 }
 
 static void
 _date_update(Evas_Object *obj)
 {
-       Widget_Data *wd = elm_widget_data_get(obj);
-       char str[YEAR_MAX_LENGTH+1];
+   Widget_Data *wd = elm_widget_data_get(obj);
+   char str[YEAR_MAX_LENGTH+1];
 
-       if (!wd || !wd->base) return;
-       
-       sprintf(str, "%d", wd->year);
-       elm_entry_entry_set(wd->date[DATE_YEAR], str);
+   if (!wd || !wd->base) return;
 
-       sprintf(str, "%s", month_label[wd->month-1]);
-       elm_entry_entry_set(wd->date[DATE_MON], str);
+   sprintf(str, "%d", wd->year);
+   elm_entry_entry_set(wd->date[DATE_YEAR], str);
 
-       sprintf(str, "%d", wd->day);
-       elm_entry_entry_set(wd->date[DATE_DAY], str);
+   sprintf(str, "%s", month_label[wd->month-1]);
+   elm_entry_entry_set(wd->date[DATE_MON], str);
 
-       if (!wd->time_mode) //24 mode
-               sprintf(str, "%d", wd->hour);
+   sprintf(str, "%d", wd->day);
+   elm_entry_entry_set(wd->date[DATE_DAY], str);
+
+   if (!wd->time_mode) //24 mode
+     sprintf(str, "%d", wd->hour);
+   else
+     {
+       if (wd->hour >= HOUR_12H_MAXIMUM)
+         {
+            wd->pm = EINA_TRUE;
+            edje_object_part_text_set(wd->base, "elm.text.ampm", "PM");
+         }
        else
-       {
-               if (wd->hour >= HOUR_12H_MAXIMUM)
-               {
-                       wd->pm = EINA_TRUE;
-                       edje_object_part_text_set(wd->base, "elm.text.ampm", "PM");
-               }
-               else
-               {
-                       wd->pm = EINA_FALSE;
-                       edje_object_part_text_set(wd->base, "elm.text.ampm", "AM");             
-               }
-
-               if (wd->hour > HOUR_12H_MAXIMUM)
-                       sprintf(str, "%02d", wd->hour - HOUR_12H_MAXIMUM);
-               else if (wd->hour == 0)
-                       sprintf(str, "%02d", HOUR_12H_MAXIMUM);
-               else
-                       sprintf(str, "%02d", wd->hour);
-       }
-       elm_entry_entry_set(wd->time[TIME_HOUR], str);
+         {
+            wd->pm = EINA_FALSE;
+            edje_object_part_text_set(wd->base, "elm.text.ampm", "AM");                
+         }
+
+       if (wd->hour > HOUR_12H_MAXIMUM)
+         sprintf(str, "%02d", wd->hour - HOUR_12H_MAXIMUM);
+       else if (wd->hour == 0)
+         sprintf(str, "%02d", HOUR_12H_MAXIMUM);
+       else
+         sprintf(str, "%02d", wd->hour);
+     }
+   elm_entry_entry_set(wd->time[TIME_HOUR], str);
 
-       sprintf(str, "%02d", wd->min);
-       elm_entry_entry_set(wd->time[TIME_MIN], str);
+   sprintf(str, "%02d", wd->min);
+   elm_entry_entry_set(wd->time[TIME_MIN], str);
 }
 
 static void 
 _date_entry_add(Evas_Object *obj)
 {
-       Widget_Data *wd = elm_widget_data_get(obj);
-       int i;
-
-       if (!wd) return;        
-       
-       for (i = 0; i < DATE_MAX; i++)
-       {
-               wd->date[i] = elm_entry_add(obj);
-               elm_entry_single_line_set(wd->date[i], EINA_TRUE);
-               elm_entry_context_menu_disabled_set(wd->date[i], EINA_TRUE);
-               if (i == DATE_MON) elm_entry_input_panel_layout_set(wd->date[i], ELM_INPUT_PANEL_LAYOUT_MONTH);
-               else elm_entry_input_panel_layout_set(wd->date[i], ELM_INPUT_PANEL_LAYOUT_NUMBERONLY);
-               evas_object_size_hint_weight_set(wd->date[i], EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-               evas_object_size_hint_align_set(wd->date[i], EVAS_HINT_FILL, EVAS_HINT_FILL);
-               evas_object_smart_callback_add(wd->date[i], "focused", _entry_focused_cb, obj);
-               evas_object_smart_callback_add(wd->date[i], "unfocused", _entry_unfocused_cb, obj);
-               evas_object_event_callback_add(wd->date[i], EVAS_CALLBACK_KEY_UP, _entry_key_up_cb, obj);
-               elm_widget_sub_object_add(obj, wd->date[i]);
-       }
-       elm_entry_maximum_bytes_set(wd->date[DATE_YEAR], YEAR_MAX_LENGTH);
-       elm_entry_maximum_bytes_set(wd->date[DATE_MON], MONTH_MAX_LENGTH);
-       elm_entry_maximum_bytes_set(wd->date[DATE_DAY], DAY_MAX_LENGTH);
+   Widget_Data *wd = elm_widget_data_get(obj);
+   int i;
+
+   if (!wd) return;    
+
+   for (i = 0; i < DATE_MAX; i++)
+     {
+       wd->date[i] = elm_entry_add(obj);
+       elm_entry_single_line_set(wd->date[i], EINA_TRUE);
+       elm_entry_context_menu_disabled_set(wd->date[i], EINA_TRUE);
+       if (i == DATE_MON) elm_entry_input_panel_layout_set(wd->date[i], ELM_INPUT_PANEL_LAYOUT_MONTH);
+       else elm_entry_input_panel_layout_set(wd->date[i], ELM_INPUT_PANEL_LAYOUT_NUMBERONLY);
+       evas_object_size_hint_weight_set(wd->date[i], EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(wd->date[i], EVAS_HINT_FILL, EVAS_HINT_FILL);
+       evas_object_smart_callback_add(wd->date[i], "focused", _entry_focused_cb, obj);
+       evas_object_smart_callback_add(wd->date[i], "unfocused", _entry_unfocused_cb, obj);
+       evas_object_event_callback_add(wd->date[i], EVAS_CALLBACK_KEY_UP, _entry_key_up_cb, obj);
+       elm_widget_sub_object_add(obj, wd->date[i]);
+     }
+   elm_entry_maximum_bytes_set(wd->date[DATE_YEAR], YEAR_MAX_LENGTH);
+   elm_entry_maximum_bytes_set(wd->date[DATE_MON], MONTH_MAX_LENGTH);
+   elm_entry_maximum_bytes_set(wd->date[DATE_DAY], DAY_MAX_LENGTH);
 }
 
 static void 
 _time_entry_add(Evas_Object *obj)
 {
-       Widget_Data *wd = elm_widget_data_get(obj);
-       int i;
-
-       if (!wd) return;        
-       
-       for (i = 0; i < TIME_MAX; i++)
-       {
-               wd->time[i] = elm_entry_add(obj);
-               elm_entry_single_line_set(wd->time[i], EINA_TRUE);
-               elm_entry_context_menu_disabled_set(wd->time[i], EINA_TRUE);
-               elm_entry_input_panel_layout_set(wd->time[i], ELM_INPUT_PANEL_LAYOUT_NUMBERONLY);               
-               elm_entry_maximum_bytes_set(wd->time[i], TIME_MAX_LENGTH);
-               evas_object_size_hint_weight_set(wd->time[i], EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-               evas_object_size_hint_align_set(wd->time[i], EVAS_HINT_FILL, EVAS_HINT_FILL);
-               evas_object_smart_callback_add(wd->time[i], "focused", _entry_focused_cb, obj);
-               evas_object_smart_callback_add(wd->time[i], "unfocused", _entry_unfocused_cb, obj);
-               evas_object_event_callback_add(wd->time[i], EVAS_CALLBACK_KEY_UP, _entry_key_up_cb, obj);
-               elm_widget_sub_object_add(obj, wd->time[i]);
-       }
+   Widget_Data *wd = elm_widget_data_get(obj);
+   int i;
+
+   if (!wd) return;    
+
+   for (i = 0; i < TIME_MAX; i++)
+     {
+       wd->time[i] = elm_entry_add(obj);
+       elm_entry_single_line_set(wd->time[i], EINA_TRUE);
+       elm_entry_context_menu_disabled_set(wd->time[i], EINA_TRUE);
+       elm_entry_input_panel_layout_set(wd->time[i], ELM_INPUT_PANEL_LAYOUT_NUMBERONLY);               
+       elm_entry_maximum_bytes_set(wd->time[i], TIME_MAX_LENGTH);
+       evas_object_size_hint_weight_set(wd->time[i], EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(wd->time[i], EVAS_HINT_FILL, EVAS_HINT_FILL);
+       evas_object_smart_callback_add(wd->time[i], "focused", _entry_focused_cb, obj);
+       evas_object_smart_callback_add(wd->time[i], "unfocused", _entry_unfocused_cb, obj);
+       evas_object_event_callback_add(wd->time[i], EVAS_CALLBACK_KEY_UP, _entry_key_up_cb, obj);
+       elm_widget_sub_object_add(obj, wd->time[i]);
+     }
 }
 
 /**
@@ -746,57 +746,57 @@ _time_entry_add(Evas_Object *obj)
 EAPI Evas_Object *
 elm_datefield_add(Evas_Object *parent)
 {
-       Evas_Object *obj;
-       Evas *e;
-       Widget_Data *wd;
-
-       e = evas_object_evas_get(parent);
-       if (!e) return NULL; 
-       wd = ELM_NEW(Widget_Data);
-       obj = elm_widget_add(e); 
-       ELM_SET_WIDTYPE(widtype, "datefield");
-       elm_widget_type_set(obj, "datefield");
-       elm_widget_sub_object_add(parent, obj);
-       elm_widget_data_set(obj, wd);
-       elm_widget_del_hook_set(obj, _del_hook);
-       elm_widget_theme_hook_set(obj, _theme_hook);
-       elm_widget_on_focus_hook_set( obj, _on_focus_hook, NULL );
-       elm_widget_can_focus_set(obj, EINA_TRUE);
-
-       wd->base = edje_object_add(e);
-       elm_widget_resize_object_set(obj, wd->base);
-       edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.left.pad", _signal_rect_mouse_down, obj);
-       edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.year.over", _signal_rect_mouse_down, obj);
-       edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.month.over", _signal_rect_mouse_down, obj);
-       edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.day.over", _signal_rect_mouse_down, obj);      
-       edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.right.pad", _signal_rect_mouse_down, obj);
-
-       edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.time.hour.over", _signal_rect_mouse_down, obj);
-       edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.time.min.over", _signal_rect_mouse_down, obj);
-       edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.time.ampm.over", _signal_ampm_mouse_down, obj);
-       edje_object_signal_callback_add(wd->base, "mouse,clicked,1", "elm.rect.time.ampm.over", _signal_ampm_clicked, obj);
-
-       wd->handler =  ecore_event_handler_add(ECORE_IMF_EVENT_COMMIT, _imf_event_commit_cb, obj);
-       _date_entry_add(obj);
-       _time_entry_add(obj);   
-
-       wd->y_min = 1900;
-       wd->m_min = 1;
-       wd->d_min = 1;
-       wd->y_max = 2099;
-       wd->m_max = 12;
-       wd->d_max = 31; 
-       wd->year = wd->y_min;
-       wd->month = 1;
-       wd->day = 1;
-
-       wd->layout = ELM_DATEFIELD_LAYOUT_DATEANDTIME;
-       wd->time_mode = EINA_TRUE;
-       wd->date_format = DATE_FORMAT_MMDDYY;
-       
-       _theme_hook(obj);
-       
-       return obj;
+   Evas_Object *obj;
+   Evas *e;
+   Widget_Data *wd;
+
+   e = evas_object_evas_get(parent);
+   if (!e) return NULL; 
+   wd = ELM_NEW(Widget_Data);
+   obj = elm_widget_add(e); 
+   ELM_SET_WIDTYPE(widtype, "datefield");
+   elm_widget_type_set(obj, "datefield");
+   elm_widget_sub_object_add(parent, obj);
+   elm_widget_data_set(obj, wd);
+   elm_widget_del_hook_set(obj, _del_hook);
+   elm_widget_theme_hook_set(obj, _theme_hook);
+   elm_widget_on_focus_hook_set( obj, _on_focus_hook, NULL );
+   elm_widget_can_focus_set(obj, EINA_TRUE);
+
+   wd->base = edje_object_add(e);
+   elm_widget_resize_object_set(obj, wd->base);
+   edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.left.pad", _signal_rect_mouse_down, obj);
+   edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.year.over", _signal_rect_mouse_down, obj);
+   edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.month.over", _signal_rect_mouse_down, obj);
+   edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.day.over", _signal_rect_mouse_down, obj);  
+   edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.date.right.pad", _signal_rect_mouse_down, obj);
+
+   edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.time.hour.over", _signal_rect_mouse_down, obj);
+   edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.time.min.over", _signal_rect_mouse_down, obj);
+   edje_object_signal_callback_add(wd->base, "mouse,down,1", "elm.rect.time.ampm.over", _signal_ampm_mouse_down, obj);
+   edje_object_signal_callback_add(wd->base, "mouse,clicked,1", "elm.rect.time.ampm.over", _signal_ampm_clicked, obj);
+
+   wd->handler =  ecore_event_handler_add(ECORE_IMF_EVENT_COMMIT, _imf_event_commit_cb, obj);
+   _date_entry_add(obj);
+   _time_entry_add(obj);       
+
+   wd->y_min = 1900;
+   wd->m_min = 1;
+   wd->d_min = 1;
+   wd->y_max = 2099;
+   wd->m_max = 12;
+   wd->d_max = 31;     
+   wd->year = wd->y_min;
+   wd->month = 1;
+   wd->day = 1;
+
+   wd->layout = ELM_DATEFIELD_LAYOUT_DATEANDTIME;
+   wd->time_mode = EINA_TRUE;
+   wd->date_format = DATE_FORMAT_MMDDYY;
+
+   _theme_hook(obj);
+
+   return obj;
 }
 
 /**
@@ -810,18 +810,18 @@ elm_datefield_add(Evas_Object *parent)
 EAPI void
 elm_datefield_layout_set(Evas_Object *obj, Elm_Datefield_Layout layout)
 {
-       ELM_CHECK_WIDTYPE(obj, widtype);
-       Widget_Data *wd = elm_widget_data_get(obj);
-       
-       if (!wd) return;
-       if (layout < ELM_DATEFIELD_LAYOUT_TIME ||layout > ELM_DATEFIELD_LAYOUT_DATEANDTIME) return;
-
-       if (wd->layout != layout)
-       {
-               wd->layout = layout;
-               _theme_hook(obj);
-       }
-       return;
+   ELM_CHECK_WIDTYPE(obj, widtype);
+   Widget_Data *wd = elm_widget_data_get(obj);
+
+   if (!wd) return;
+   if (layout < ELM_DATEFIELD_LAYOUT_TIME ||layout > ELM_DATEFIELD_LAYOUT_DATEANDTIME) return;
+
+   if (wd->layout != layout)
+     {
+       wd->layout = layout;
+       _theme_hook(obj);
+     }
+   return;
 }
 
 /**
@@ -835,12 +835,12 @@ elm_datefield_layout_set(Evas_Object *obj, Elm_Datefield_Layout layout)
 EAPI Elm_Datefield_Layout
 elm_datefield_layout_get(const Evas_Object *obj)
 {
-       ELM_CHECK_WIDTYPE(obj, widtype) 0;
-       Widget_Data *wd = elm_widget_data_get(obj);
-       
-       if (!wd) return 0;
+   ELM_CHECK_WIDTYPE(obj, widtype) 0;
+   Widget_Data *wd = elm_widget_data_get(obj);
 
-       return wd->layout;
+   if (!wd) return 0;
+
+   return wd->layout;
 }
 
 /**
@@ -858,24 +858,24 @@ elm_datefield_layout_get(const Evas_Object *obj)
 EAPI void
 elm_datefield_date_set(Evas_Object *obj, int year, int month, int day, int hour, int min)
 {
-       ELM_CHECK_WIDTYPE(obj, widtype);
-       Widget_Data *wd = elm_widget_data_get(obj);
-       
-       if (!wd) return;
-
-       wd->year = _check_date_boundary(obj, year, DATE_YEAR);
-       wd->month = _check_date_boundary(obj, month, DATE_MON);
-       wd->day = _check_date_boundary(obj, day, DATE_DAY);
-       
-       if (hour > HOUR_24H_MAXIMUM) wd->hour = HOUR_24H_MAXIMUM;
-       else if (hour < 0) wd->hour = 0;
-       else wd->hour = hour;
-
-       if (min > MIN_MAXIMUM) wd->min = MIN_MAXIMUM;
-       else if (min < 0) wd->min = 0;
-       else wd->min = min;
-
-       _date_update(obj);
+   ELM_CHECK_WIDTYPE(obj, widtype);
+   Widget_Data *wd = elm_widget_data_get(obj);
+
+   if (!wd) return;
+
+   wd->year = _check_date_boundary(obj, year, DATE_YEAR);
+   wd->month = _check_date_boundary(obj, month, DATE_MON);
+   wd->day = _check_date_boundary(obj, day, DATE_DAY);
+
+   if (hour > HOUR_24H_MAXIMUM) wd->hour = HOUR_24H_MAXIMUM;
+   else if (hour < 0) wd->hour = 0;
+   else wd->hour = hour;
+
+   if (min > MIN_MAXIMUM) wd->min = MIN_MAXIMUM;
+   else if (min < 0) wd->min = 0;
+   else wd->min = min;
+
+   _date_update(obj);
 }
 
 /**
@@ -893,21 +893,21 @@ elm_datefield_date_set(Evas_Object *obj, int year, int month, int day, int hour,
 EAPI void
 elm_datefield_date_get(const Evas_Object *obj, int *year, int *month, int *day, int *hour, int *min)
 {
-       ELM_CHECK_WIDTYPE(obj, widtype);
-       Widget_Data *wd = elm_widget_data_get(obj);
-       
-       if (!wd) return;
-       
-       if (year)
-               *year = wd->year;
-       if (month)
-               *month = wd->month;
-       if (day)
-               *day = wd->day;
-       if (hour)
-               *hour = wd->hour;
-       if (min)
-               *min = wd->min;
+   ELM_CHECK_WIDTYPE(obj, widtype);
+   Widget_Data *wd = elm_widget_data_get(obj);
+
+   if (!wd) return;
+
+   if (year)
+     *year = wd->year;
+   if (month)
+     *month = wd->month;
+   if (day)
+     *day = wd->day;
+   if (hour)
+     *hour = wd->hour;
+   if (min)
+     *min = wd->min;
 }
 
 /**
@@ -924,38 +924,38 @@ elm_datefield_date_get(const Evas_Object *obj, int *year, int *month, int *day,
 EAPI Eina_Bool
 elm_datefield_date_max_set(Evas_Object *obj, int year, int month, int day)
 {
-       ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
-       Widget_Data *wd = elm_widget_data_get(obj);
-       int day_of_month;
-       Eina_Bool update = EINA_FALSE;
-       
-       if (!wd) return EINA_FALSE;
-       if (month < 1 || month > MONTH_MAXIMUM) return EINA_FALSE;
-       day_of_month = _maximum_day_get(year, month);
-       if (day < 1 || day > day_of_month) return EINA_FALSE;
-
-       wd->y_max = year;
-       wd->m_max = month;
-       wd->d_max = day;
-
-       if (wd->year > wd->y_max)
-       {
-               wd->year = wd->y_max;
-               update = EINA_TRUE;
-       }
-       if (wd->year == wd->y_max && wd->month > wd->m_max)
-       {
-               wd->month = wd->m_max;
-               update = EINA_TRUE;
-       }
-       if (wd->year == wd->y_max && wd->month == wd->m_max && wd->day > wd->d_max)
-       {
-               wd->day = wd->d_max;
-               update = EINA_TRUE;
-       }
-
-       if (update) _date_update(obj);
-       return EINA_TRUE;
+   ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
+   Widget_Data *wd = elm_widget_data_get(obj);
+   int day_of_month;
+   Eina_Bool update = EINA_FALSE;
+
+   if (!wd) return EINA_FALSE;
+   if (month < 1 || month > MONTH_MAXIMUM) return EINA_FALSE;
+   day_of_month = _maximum_day_get(year, month);
+   if (day < 1 || day > day_of_month) return EINA_FALSE;
+
+   wd->y_max = year;
+   wd->m_max = month;
+   wd->d_max = day;
+
+   if (wd->year > wd->y_max)
+     {
+       wd->year = wd->y_max;
+       update = EINA_TRUE;
+     }
+   if (wd->year == wd->y_max && wd->month > wd->m_max)
+     {
+       wd->month = wd->m_max;
+       update = EINA_TRUE;
+     }
+   if (wd->year == wd->y_max && wd->month == wd->m_max && wd->day > wd->d_max)
+     {
+       wd->day = wd->d_max;
+       update = EINA_TRUE;
+     }
+
+   if (update) _date_update(obj);
+   return EINA_TRUE;
 }
 
 /**
@@ -971,17 +971,17 @@ elm_datefield_date_max_set(Evas_Object *obj, int year, int month, int day)
 EAPI void
 elm_datefield_date_max_get(const Evas_Object *obj, int *year, int *month, int *day)
 {
-       ELM_CHECK_WIDTYPE(obj, widtype);
-       Widget_Data *wd = elm_widget_data_get(obj);
-       
-       if (!wd) return;
-       
-       if (year)
-               *year = wd->y_max;
-       if (month)
-               *month = wd->m_max;
-       if (day)
-               *day = wd->d_max;
+   ELM_CHECK_WIDTYPE(obj, widtype);
+   Widget_Data *wd = elm_widget_data_get(obj);
+
+   if (!wd) return;
+
+   if (year)
+     *year = wd->y_max;
+   if (month)
+     *month = wd->m_max;
+   if (day)
+     *day = wd->d_max;
 }
 
 /**
@@ -998,38 +998,38 @@ elm_datefield_date_max_get(const Evas_Object *obj, int *year, int *month, int *d
 EAPI Eina_Bool
 elm_datefield_date_min_set(Evas_Object *obj, int year, int month, int day)
 {
-       ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
-       Widget_Data *wd = elm_widget_data_get(obj);
-       int day_of_month;
-       Eina_Bool update = EINA_FALSE;
-       
-       if (!wd) return EINA_FALSE;
-       if (month < 1 || month > MONTH_MAXIMUM) return EINA_FALSE;
-       day_of_month = _maximum_day_get(year, month);
-       if (day < 1 || day > day_of_month) return EINA_FALSE;
-
-       wd->y_min = year;
-       wd->m_min = month;
-       wd->d_min = day;
-
-       if (wd->year < wd->y_min)
-       {
-               wd->year = wd->y_min;
-               update = EINA_TRUE;
-       }
-       if (wd->year == wd->y_min && wd->month < wd->m_min)
-       {
-               wd->month = wd->m_min;
-               update = EINA_TRUE;
-       }
-       if (wd->year == wd->y_min && wd->month == wd->m_min && wd->day < wd->d_min)
-       {
-               wd->day = wd->d_min;
-               update = EINA_TRUE;
-       }
-
-       if (update) _date_update(obj);
-       return EINA_TRUE;
+   ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
+   Widget_Data *wd = elm_widget_data_get(obj);
+   int day_of_month;
+   Eina_Bool update = EINA_FALSE;
+
+   if (!wd) return EINA_FALSE;
+   if (month < 1 || month > MONTH_MAXIMUM) return EINA_FALSE;
+   day_of_month = _maximum_day_get(year, month);
+   if (day < 1 || day > day_of_month) return EINA_FALSE;
+
+   wd->y_min = year;
+   wd->m_min = month;
+   wd->d_min = day;
+
+   if (wd->year < wd->y_min)
+     {
+       wd->year = wd->y_min;
+       update = EINA_TRUE;
+     }
+   if (wd->year == wd->y_min && wd->month < wd->m_min)
+     {
+       wd->month = wd->m_min;
+       update = EINA_TRUE;
+     }
+   if (wd->year == wd->y_min && wd->month == wd->m_min && wd->day < wd->d_min)
+     {
+       wd->day = wd->d_min;
+       update = EINA_TRUE;
+     }
+
+   if (update) _date_update(obj);
+   return EINA_TRUE;
 }
 
 /**
@@ -1045,17 +1045,17 @@ elm_datefield_date_min_set(Evas_Object *obj, int year, int month, int day)
 EAPI void
 elm_datefield_date_min_get(const Evas_Object *obj, int *year, int *month, int *day)
 {
-       ELM_CHECK_WIDTYPE(obj, widtype);
-       Widget_Data *wd = elm_widget_data_get(obj);
-       
-       if (!wd) return;
-       
-       if (year)
-               *year = wd->y_min;
-       if (month)
-               *month = wd->m_min;
-       if (day)
-               *day = wd->d_min;
+   ELM_CHECK_WIDTYPE(obj, widtype);
+   Widget_Data *wd = elm_widget_data_get(obj);
+
+   if (!wd) return;
+
+   if (year)
+     *year = wd->y_min;
+   if (month)
+     *month = wd->m_min;
+   if (day)
+     *day = wd->d_min;
 }
 
 /**
@@ -1069,43 +1069,43 @@ elm_datefield_date_min_get(const Evas_Object *obj, int *year, int *month, int *d
 EAPI void
 elm_datefield_time_mode_set(Evas_Object *obj, Eina_Bool mode)
 {
-       ELM_CHECK_WIDTYPE(obj, widtype);
-       Widget_Data *wd = elm_widget_data_get(obj);
-       
-       if (!wd) return;
-
-       if (wd->time_mode != mode) 
-       {
-               char str[YEAR_MAX_LENGTH+1];
-               
-               wd->time_mode = mode;
-               if (!wd->time_mode) edje_object_signal_emit(wd->base, "elm,state,mode,24h", "elm");
-               else edje_object_signal_emit(wd->base, "elm,state,mode,12h", "elm");
-
-               if (!wd->time_mode) //24 mode
-                       sprintf(str, "%d", wd->hour);
-               else
-               {
-                       if (wd->hour >= HOUR_12H_MAXIMUM)
-                       {
-                               wd->pm = EINA_TRUE;
-                               edje_object_part_text_set(wd->base, "elm.text.ampm", "PM");
-                       }
-                       else
-                       {
-                               wd->pm = EINA_FALSE;
-                               edje_object_part_text_set(wd->base, "elm.text.ampm", "AM");             
-                       }
-
-                       if (wd->hour > HOUR_12H_MAXIMUM)
-                               sprintf(str, "%d", wd->hour - HOUR_12H_MAXIMUM);
-                       else if (wd->hour == 0)
-                               sprintf(str, "%d", HOUR_12H_MAXIMUM);
-                       else
-                               sprintf(str, "%d", wd->hour);
-               }
-               elm_entry_entry_set(wd->time[TIME_HOUR], str);
-       }
+   ELM_CHECK_WIDTYPE(obj, widtype);
+   Widget_Data *wd = elm_widget_data_get(obj);
+
+   if (!wd) return;
+
+   if (wd->time_mode != mode) 
+     {
+       char str[YEAR_MAX_LENGTH+1];
+
+       wd->time_mode = mode;
+       if (!wd->time_mode) edje_object_signal_emit(wd->base, "elm,state,mode,24h", "elm");
+       else edje_object_signal_emit(wd->base, "elm,state,mode,12h", "elm");
+
+       if (!wd->time_mode) //24 mode
+         sprintf(str, "%d", wd->hour);
+       else
+         {
+            if (wd->hour >= HOUR_12H_MAXIMUM)
+              {
+                 wd->pm = EINA_TRUE;
+                 edje_object_part_text_set(wd->base, "elm.text.ampm", "PM");
+              }
+            else
+              {
+                 wd->pm = EINA_FALSE;
+                 edje_object_part_text_set(wd->base, "elm.text.ampm", "AM");           
+              }
+
+            if (wd->hour > HOUR_12H_MAXIMUM)
+              sprintf(str, "%d", wd->hour - HOUR_12H_MAXIMUM);
+            else if (wd->hour == 0)
+              sprintf(str, "%d", HOUR_12H_MAXIMUM);
+            else
+              sprintf(str, "%d", wd->hour);
+         }
+       elm_entry_entry_set(wd->time[TIME_HOUR], str);
+     }
 }
 
 /**
@@ -1119,12 +1119,12 @@ elm_datefield_time_mode_set(Evas_Object *obj, Eina_Bool mode)
 EAPI Eina_Bool
 elm_datefield_time_mode_get(const Evas_Object *obj)
 {
-       ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
-       Widget_Data *wd = elm_widget_data_get(obj);
-       
-       if (!wd) return EINA_FALSE;
+   ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
+   Widget_Data *wd = elm_widget_data_get(obj);
 
-       return wd->time_mode;
+   if (!wd) return EINA_FALSE;
+
+   return wd->time_mode;
 }
 
 /**
@@ -1138,26 +1138,26 @@ elm_datefield_time_mode_get(const Evas_Object *obj)
 EAPI void
 elm_datefield_date_format_set(Evas_Object *obj, const char *fmt)
 {
-       ELM_CHECK_WIDTYPE(obj, widtype);
-       Widget_Data *wd = elm_widget_data_get(obj);
-       char sig[32] = "elm,state,format,";
-       int i = 0, j;
-
-       if (!wd || !fmt) return;
-
-       j = strlen(sig);
-       while (j < 32) {
-               sig[j++] = tolower(fmt[i++]);
-       }
-
-       edje_object_signal_emit(wd->base, sig, "elm");
-
-       if (strstr(sig, "yymmdd")) wd->date_format = DATE_FORMAT_YYMMDD;
-       else if (strstr(sig, "yyddmm")) wd->date_format = DATE_FORMAT_YYDDMM;
-       else if (strstr(sig, "mmyydd")) wd->date_format = DATE_FORMAT_MMYYDD;
-       else if (strstr(sig, "mmddyy")) wd->date_format = DATE_FORMAT_MMDDYY;
-       else if (strstr(sig, "ddyymm")) wd->date_format = DATE_FORMAT_DDYYMM;
-       else if (strstr(sig, "ddmmyy")) wd->date_format = DATE_FORMAT_DDMMYY;
+   ELM_CHECK_WIDTYPE(obj, widtype);
+   Widget_Data *wd = elm_widget_data_get(obj);
+   char sig[32] = "elm,state,format,";
+   int i = 0, j;
+
+   if (!wd || !fmt) return;
+
+   j = strlen(sig);
+   while (j < 32) {
+       sig[j++] = tolower(fmt[i++]);
+   }
+
+   edje_object_signal_emit(wd->base, sig, "elm");
+
+   if (strstr(sig, "yymmdd")) wd->date_format = DATE_FORMAT_YYMMDD;
+   else if (strstr(sig, "yyddmm")) wd->date_format = DATE_FORMAT_YYDDMM;
+   else if (strstr(sig, "mmyydd")) wd->date_format = DATE_FORMAT_MMYYDD;
+   else if (strstr(sig, "mmddyy")) wd->date_format = DATE_FORMAT_MMDDYY;
+   else if (strstr(sig, "ddyymm")) wd->date_format = DATE_FORMAT_DDYYMM;
+   else if (strstr(sig, "ddmmyy")) wd->date_format = DATE_FORMAT_DDMMYY;
 }
 
 /**
@@ -1171,18 +1171,18 @@ elm_datefield_date_format_set(Evas_Object *obj, const char *fmt)
 EAPI const char *
 elm_datefield_date_format_get(const Evas_Object *obj)
 {
-       ELM_CHECK_WIDTYPE(obj, widtype) NULL;
-       Widget_Data *wd = elm_widget_data_get(obj);
-
-       switch (wd->date_format)
-       {
-               case DATE_FORMAT_YYMMDD: return "yymmdd";
-               case DATE_FORMAT_YYDDMM: return "yyddmm";
-               case DATE_FORMAT_MMYYDD: return "mmyydd";
-               case DATE_FORMAT_MMDDYY: return "mmddyy";
-               case DATE_FORMAT_DDYYMM: return "ddyymm";
-               case DATE_FORMAT_DDMMYY: return "ddmmyy";
-       }
+   ELM_CHECK_WIDTYPE(obj, widtype) NULL;
+   Widget_Data *wd = elm_widget_data_get(obj);
+
+   switch (wd->date_format)
+     {
+      case DATE_FORMAT_YYMMDD: return "yymmdd";
+      case DATE_FORMAT_YYDDMM: return "yyddmm";
+      case DATE_FORMAT_MMYYDD: return "mmyydd";
+      case DATE_FORMAT_MMDDYY: return "mmddyy";
+      case DATE_FORMAT_DDYYMM: return "ddyymm";
+      case DATE_FORMAT_DDMMYY: return "ddmmyy";
+     }
 }
 
 /**
@@ -1197,28 +1197,28 @@ elm_datefield_date_format_get(const Evas_Object *obj)
 EAPI void 
 elm_datefield_input_panel_state_callback_add(Evas_Object *obj, void (*pEventCallbackFunc) (void *data, Evas_Object *obj, int value), void *data)
 {
-       ELM_CHECK_WIDTYPE(obj, widtype);
-       Widget_Data *wd = elm_widget_data_get(obj);
-       int i;
+   ELM_CHECK_WIDTYPE(obj, widtype);
+   Widget_Data *wd = elm_widget_data_get(obj);
+   int i;
 
-       if (!wd) return;
+   if (!wd) return;
 
-       if (wd->func && (wd->func != pEventCallbackFunc))
-               elm_datefield_input_panel_state_callback_del(obj, wd->func);    
+   if (wd->func && (wd->func != pEventCallbackFunc))
+     elm_datefield_input_panel_state_callback_del(obj, wd->func);      
 
-       if (wd->func != pEventCallbackFunc)
-       {
-               wd->func = pEventCallbackFunc;
-               wd->func_data = data;
+   if (wd->func != pEventCallbackFunc)
+     {
+       wd->func = pEventCallbackFunc;
+       wd->func_data = data;
 
-               for (i = 0; i < DATE_MAX; i++)
-                       ecore_imf_context_input_panel_event_callback_add(
-                               elm_entry_imf_context_get(wd->date[i]), ECORE_IMF_INPUT_PANEL_STATE_EVENT, _input_panel_event_callback, obj);
+       for (i = 0; i < DATE_MAX; i++)
+         ecore_imf_context_input_panel_event_callback_add(
+               elm_entry_imf_context_get(wd->date[i]), ECORE_IMF_INPUT_PANEL_STATE_EVENT, _input_panel_event_callback, obj);
 
-               for (i = 0; i < TIME_MAX; i++)
-                       ecore_imf_context_input_panel_event_callback_add(
-                               elm_entry_imf_context_get(wd->time[i]), ECORE_IMF_INPUT_PANEL_STATE_EVENT, _input_panel_event_callback, obj);
-       }               
+       for (i = 0; i < TIME_MAX; i++)
+         ecore_imf_context_input_panel_event_callback_add(
+               elm_entry_imf_context_get(wd->time[i]), ECORE_IMF_INPUT_PANEL_STATE_EVENT, _input_panel_event_callback, obj);
+     }         
 }
 
 /**
@@ -1232,24 +1232,23 @@ elm_datefield_input_panel_state_callback_add(Evas_Object *obj, void (*pEventCall
 EAPI void 
 elm_datefield_input_panel_state_callback_del(Evas_Object *obj, void (*pEventCallbackFunc) (void *data, Evas_Object *obj, int value))
 {
-       ELM_CHECK_WIDTYPE(obj, widtype);
-       Widget_Data *wd = elm_widget_data_get(obj);
-       int i;
+   ELM_CHECK_WIDTYPE(obj, widtype);
+   Widget_Data *wd = elm_widget_data_get(obj);
+   int i;
 
-       if (!wd) return;
+   if (!wd) return;
 
-       if (wd->func && wd->func == pEventCallbackFunc) 
-       {
-               for (i = 0; i < DATE_MAX; i++)
-                       ecore_imf_context_input_panel_event_callback_del(
-                               elm_entry_imf_context_get(wd->date[i]), ECORE_IMF_INPUT_PANEL_STATE_EVENT, _input_panel_event_callback);
+   if (wd->func && wd->func == pEventCallbackFunc) 
+     {
+       for (i = 0; i < DATE_MAX; i++)
+         ecore_imf_context_input_panel_event_callback_del(
+               elm_entry_imf_context_get(wd->date[i]), ECORE_IMF_INPUT_PANEL_STATE_EVENT, _input_panel_event_callback);
 
-               for (i = 0; i < TIME_MAX; i++)
-                       ecore_imf_context_input_panel_event_callback_del(
-                               elm_entry_imf_context_get(wd->time[i]), ECORE_IMF_INPUT_PANEL_STATE_EVENT, _input_panel_event_callback);
+       for (i = 0; i < TIME_MAX; i++)
+         ecore_imf_context_input_panel_event_callback_del(
+               elm_entry_imf_context_get(wd->time[i]), ECORE_IMF_INPUT_PANEL_STATE_EVENT, _input_panel_event_callback);
 
-               wd->func = NULL;
-               wd->func_data = NULL;
-       }
+       wd->func = NULL;
+       wd->func_data = NULL;
+     }
 }
-