#include <Elementary.h>
#include <time.h>
#include <app_control.h>
+#include <notification.h>
#include "main.h"
#include "main_view.h"
const char *const MAIN_VIEW_EDJE = "momentic.edj";
const char *const ENTRY_EDJE = "entry.edj";
const char *const PREDICT_ITEM_EDJE = "predict_item.edj";
+static int cur_page = 0;
static void _append_item_to_searchlist(Evas_Object *searchlist, Evas_Object *item)
{
}
}
+static char *_strcasestr(char *str1, char *str2)
+{
+ int len1 = 0, len2 = 0;
+
+ retv_if(!str1, NULL);
+ retv_if(!str2, NULL);
+
+ len1 = strlen(str1);
+ retv_if(!len1, NULL);
+
+ len2 = strlen(str2);
+ retv_if(!len2, NULL);
+
+ while (*str1) {
+ if (!strncasecmp(str1, str2, len2))
+ return str1;
+ str1++;
+ }
+
+ return NULL;
+}
+
+
static void _update_searchlist(Evas_Object *searchlist, const char *str, main_view_s *main_view_info)
{
+ Evas_Object *predict_item = NULL;
city_s *city_info = NULL;
register int i = 0;
+ int count = 0;
ret_if(!searchlist);
city_info = city_get();
ret_if(!city_info);
- for (; i < CITY_MAX; i++) {
+ /* This is the padding before the search list */
+ predict_item = item_create_padding(searchlist);
+ if (predict_item) {
+ _append_item_to_searchlist(searchlist, predict_item);
+ }
+
+ for (; i < CITY_SYDNEY; i++) {
int matched = 0;
- if (city_info[i].name && strstr(city_info[i].name, str))
+ if (city_info[i].name && str && _strcasestr(city_info[i].name, str))
matched = 1;
- else if (city_info[i].nation && strstr(city_info[i].nation, str))
+ else if (city_info[i].nation && str && _strcasestr(city_info[i].nation, str))
matched = 1;
if (matched) {
- Evas_Object *predict_item = NULL;
predict_item = item_create_typing(searchlist, i, main_view_info);
if (predict_item)
_append_item_to_searchlist(searchlist, predict_item);
}
}
+
elm_object_signal_emit(main_view_info->main_view, "show", "entry_result");
+
+ count = scroller_count_item(searchlist);
+ if (count > 1)
+ return;
+
+ predict_item = item_create_typing(searchlist, -1, main_view_info);
+ if (predict_item) {
+ _append_item_to_searchlist(searchlist, predict_item);
+ }
}
static void _change_entry_cb(void *data, Evas_Object *obj, void *event_info)
retv_if(!entry_obj, NULL);
elm_entry_single_line_set(entry_obj, EINA_TRUE);
- elm_entry_scrollable_set(entry_obj, EINA_TRUE);
- elm_entry_cnp_mode_set(entry_obj, ELM_CNP_MODE_PLAINTEXT);
+ /* This makes the text upper */
+ elm_entry_scrollable_set(entry_obj, EINA_FALSE);
elm_entry_text_style_user_push(entry_obj, "DEFAULT='font_size=20'");
+ elm_entry_context_menu_disabled_set(entry_obj, EINA_TRUE);
elm_object_part_text_set(entry_obj, "elm.guide", "<font_size=20>Search</font_size>");
evas_object_size_hint_weight_set(entry_obj, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(entry_obj, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_align_set(entry_obj, 0.0, 0.5);
evas_object_smart_callback_add(entry_obj, "changed", _change_entry_cb, main_view_info);
evas_object_smart_callback_add(entry_obj, "focused", _focus_entry_cb, main_view_info);
evas_object_del(searchbar);
}
-static void _click_next_btn_cb(void *data, Evas_Object *obj, void *event_info)
+static void _set_time_range(Evas_Object *item, int i, int base_city, int cur_city, double *matched_start, double *matched_end)
+{
+ double start1 = 0.0f;
+ double end1 = 0.0f;
+ double start2 = 0.0f;
+ double end2 = 0.0f;
+
+ city_s *city_info = NULL;
+
+ double start = 0;
+ double end = 0;
+ double half = 0.0f;
+
+ int tmp = 0;
+
+ city_info = city_get();
+ ret_if(!city_info);
+
+ start = city_info[cur_city].timezone - city_info[base_city].timezone + (double) BEST_START_TIME;
+
+ if (start < 0.0f)
+ start += 24.0f;
+
+ if (matched_start && matched_end) {
+ /* This end is only for the matched end */
+ end = start + BEST_DURING_TIME;
+ if (*matched_start < (double) start)
+ *matched_start = (double) start;
+
+ if (*matched_end > (double) end)
+ *matched_end = end;
+ }
+
+ tmp = start;
+ if (tmp != start) half = 0.5f;
+ else half = 0.0f;
+
+ tmp %= 24;
+
+ start = ((double) tmp) + half;
+ end = start + BEST_DURING_TIME;
+
+ if (end > 24.0f) {
+ start1 = (double) start;
+ end1 = 24.0f;
+
+ start2 = 0.0f;
+
+ tmp = end;
+ if (tmp != end) half = 0.5f;
+ else half = 0.0f;
+
+ end2 = (double) (tmp % 24) + half;
+ } else {
+ start1 = (double) start;
+ end1 = (double) end;
+ }
+
+ _D("HELLO, %s %f:%f:%f:%f", city_info[cur_city].name, start1, end1, start2, end2);
+
+ if (set_time_range(item, i, start1, end1, start2, end2) == EINA_FALSE)
+ _E("cannot set time range");
+}
+
+typedef struct part_info
+{
+ double p1, p2;
+
+} part_info_s;
+
+
+void main_view_click_next_btn_cb(void *data, Evas_Object *obj, void *event_info)
{
main_view_s *main_view_info = data;
Evas_Object *box = NULL;
time_t t;
city_s *city_info = NULL;
int cur_timezone = 0;
+ int base_city = 0;
+
+ double matched_start = 0.0f;
+ double matched_end = 100.0f; /* We have to initialize this variable as 100.0f */
ret_if(!main_view_info);
ret_if(!main_view_info->city_list);
- ret_if(!main_view_info->result_list);
_D("result button is clicked");
- scroller_clear_item(main_view_info->result_list);
-
city_info = city_get();
ret_if(!city_info);
global_time = gmtime(&t);
local_time = localtime(&t);
- cur_timezone = (int) local_time->tm_gmtoff / 3600;
+ cur_timezone = (int) local_time->tm_gmtoff / 3600l;
box = elm_object_content_get(main_view_info->city_list);
ret_if(!box);
ret_if(!list);
EINA_LIST_FREE(list, item) {
- selecting_info_s *selecting_info = NULL;
- Evas_Object *item_result = NULL;
- int start = 0, end = 0;
- int tmp_timezone = 0;
-
- selecting_info = evas_object_data_get(item, DATA_KEY_SELECTING);
+ selecting_info_s *selecting_info = evas_object_data_get(item, DATA_KEY_SELECTING);
continue_if(!selecting_info);
- tmp_timezone = city_info[selecting_info->city].timezone;
- if (tmp_timezone < cur_timezone)
- tmp_timezone += 24;
+ elm_object_signal_emit(item, "momentic,item,state,result", "");
+ elm_object_part_text_set(item, "time", "");
+
+ if (!base_city) {
+ base_city = selecting_info->city;
+ _set_time_range(item, selecting_info->color, base_city, base_city, &matched_start, &matched_end);
+ continue;
+ } else
+ _set_time_range(item, selecting_info->color, base_city, selecting_info->city, &matched_start, &matched_end);
+ }
+
+ _D("HELLO, match!! %f, %f", matched_start, matched_end);
+ item = item_create_best_time(main_view_info->city_list, matched_start, matched_end);
+ if (item) {
+ elm_object_signal_emit(item, "momentic,item,state,show", "");
+ scroller_append_item(main_view_info->city_list, item);
+ } else
+ _E("cannot append an item");
+
+ elm_object_signal_emit(main_view_info->main_view, "momentic,state,page2", "");
+ cur_page = 2;
+}
+
+void main_view_go_result(void *data)
+{
+ main_view_s *main_view_info = data;
+ Evas_Object *box = NULL;
+ Evas_Object *item = NULL;
+ Eina_List *list = NULL;
+ struct tm *global_time = NULL;
+ struct tm *local_time = NULL;
+ time_t t;
+ city_s *city_info = NULL;
+ int cur_timezone = 0;
+ int base_city = 0;
+
+ double matched_start = 0.0f;
+ double matched_end = 100.0f; /* We have to initialize this variable as 100.0f */
+
+ ret_if(!main_view_info);
+ ret_if(!main_view_info->city_list);
+
+ city_info = city_get();
+ ret_if(!city_info);
+
+ time(&t);
+ global_time = gmtime(&t);
+ local_time = localtime(&t);
- start = tmp_timezone - cur_timezone + BEST_START_TIME;
- end = (start + (BEST_END_TIME - BEST_START_TIME)) % 24;
+ cur_timezone = (int) local_time->tm_gmtoff / 3600l;
+
+ box = elm_object_content_get(main_view_info->city_list);
+ ret_if(!box);
- item_result = item_create_result(main_view_info->result_list
- , selecting_info->city
- , selecting_info->color
- , start
- , end
- , global_time);
+ list = elm_box_children_get(box);
+ ret_if(!list);
+
+ EINA_LIST_FREE(list, item) {
+ selecting_info_s *selecting_info = evas_object_data_get(item, DATA_KEY_SELECTING);
+ continue_if(!selecting_info);
- scroller_append_item(main_view_info->result_list, item_result);
+ elm_object_signal_emit(item, "momentic,item,state,result", "");
+ elm_object_part_text_set(item, "time", "");
+
+ if (!base_city) {
+ base_city = selecting_info->city;
+ _set_time_range(item, selecting_info->color, base_city, base_city, &matched_start, &matched_end);
+ continue;
+ } else
+ _set_time_range(item, selecting_info->color, base_city, selecting_info->city, &matched_start, &matched_end);
}
- elm_object_signal_emit(main_view_info->main_view, "momentic,state,page2", "");
+ _D("HELLO, match!! %f, %f", matched_start, matched_end);
+ item = item_create_best_time(main_view_info->city_list, matched_start, matched_end);
+ if (item) {
+ elm_object_signal_emit(item, "momentic,item,state,show", "");
+ scroller_append_item(main_view_info->city_list, item);
+ } else
+ _E("cannot append an item");
+
+ cur_page = 4;
}
static Evas_Object *_create_next_btn(Evas_Object *parent, main_view_s *main_view_info)
next_btn = elm_button_add(parent);
retv_if(!next_btn, NULL);
elm_object_style_set(next_btn, "transparent");
- evas_object_smart_callback_add(next_btn, "clicked", _click_next_btn_cb, main_view_info);
+ evas_object_smart_callback_add(next_btn, "clicked", main_view_click_next_btn_cb, main_view_info);
icon = elm_image_add(next_btn);
if (icon) {
elm_object_content_set(next_btn, icon);
}
+ button_effect(next_btn);
+
return next_btn;
}
evas_object_del(next_btn);
}
-static Evas_Object *_create_city_list(Evas_Object *parent)
+static void _append_here_to_city_list(Evas_Object *city_list, main_view_s *main_view_info)
+{
+ Evas_Object *item = NULL;
+ struct tm *local_time = NULL;
+ city_s *city_info = NULL;
+ time_t t;
+ int i = 0;
+
+ city_info = city_get();
+ ret_if(!city_info);
+
+ time(&t);
+ local_time = localtime(&t);
+
+ for (i = 0; i < CITY_SYDNEY; i++) {
+ if (city_info[i].timezone == ((double) (local_time->tm_gmtoff / 3600l)))
+ break;
+ }
+
+ item = item_create_selecting(city_list, i, local_time, main_view_info);
+ if (item)
+ scroller_append_item(city_list, item);
+}
+
+static Eina_Bool
+_append_here_city_anim_cb(void *data)
+{
+ main_view_s *main_view_info = data;
+
+ _append_here_to_city_list(main_view_info->city_list, main_view_info);
+ return ECORE_CALLBACK_CANCEL;
+}
+
+static Evas_Object *_create_city_list(Evas_Object *parent, main_view_s *main_view_info)
{
Evas_Object *city_list = NULL;
city_list = scroller_create(parent);
retv_if(!city_list, NULL);
+ ecore_timer_add(1, _append_here_city_anim_cb, main_view_info);
+
return city_list;
}
evas_object_del(city_list);
}
-static void _click_add_btn_cb(void *data, Evas_Object *obj, void *event_info)
+void main_view_click_add_btn_cb(void *data, Evas_Object *obj, void *event_info)
{
main_view_s *main_view_info = data;
ret_if(!main_view_info->main_view);
elm_object_signal_emit(main_view_info->main_view, "momentic,state,page1", "");
+}
+static void _page1_done_cb(void *data, Evas_Object *obj, const char *signal, const char *source)
+{
+ elm_object_focus_set(data, EINA_TRUE);
}
static Evas_Object *_create_add_btn(Evas_Object *parent, main_view_s *main_view_info)
add_btn = elm_button_add(parent);
retv_if(!add_btn, NULL);
elm_object_style_set(add_btn, "transparent");
- evas_object_smart_callback_add(add_btn, "clicked", _click_add_btn_cb, main_view_info);
+ evas_object_smart_callback_add(add_btn, "clicked", main_view_click_add_btn_cb, main_view_info);
icon = elm_image_add(add_btn);
if (icon) {
elm_object_content_set(add_btn, icon);
}
+ button_effect(add_btn);
+
return add_btn;
}
Evas_Object *item = NULL;
Eina_List *list = NULL;
group_info_s *group_info = NULL;
- int city[MAXIMUM_SELECTED_CITY] = {0, };
+ //int city[MAXIMUM_SELECTED_CITY] = {0, };
+ int city[5] = {0, }; /* FIXME : for compatibility */
int i = 0;
- long time = 0l;
+ char group_title[PATH_LEN] = {0, };
+ city_s *city_info = NULL;
+ char message[PATH_LEN] = {0, };
+
+ city_info = city_get();
+ ret_if(!city_info);
_D("Save button is clicked");
ret_if(!main_view_info);
- ret_if(!main_view_info->result_list);
- box = elm_object_content_get(main_view_info->result_list);
+ box = elm_object_content_get(main_view_info->city_list);
ret_if(!box);
list = elm_box_children_get(box);
ret_if(!list);
EINA_LIST_FREE(list, item) {
- result_info_s *result_info = NULL;
+ selecting_info_s *selecting_info = NULL;
- result_info = evas_object_data_get(item, DATA_KEY_RESULT);
- continue_if(!result_info);
+ selecting_info = evas_object_data_get(item, DATA_KEY_SELECTING);
+ break_if(!selecting_info);
- city[i] = result_info->city;
+ if (i != 0)
+ strcat(group_title, ", ");
+
+ city[i] = selecting_info->city;
+ _D("HELLO, city[%d] - %d", i, selecting_info->city);
+ strcat(group_title, city_info[city[i]].name);
i++;
}
- time = db_insert_group(moment_info->db
- , "Momentic time"
+ int id = db_insert_group(moment_info->db
+ , group_title
, city[0]
, city[1]
, city[2]
, city[3]
, city[4]);
- group_info = group_info_create(time
- , "Momentic time"
+ group_info = group_info_create(id
+ , group_title
, city[0]
, city[1]
, city[2]
, city[3]
, city[4]);
moment_info->group_list = eina_list_append(moment_info->group_list, group_info);
+
+ Evas_Object *item_group = item_create_group(main_view_info->group_scroller
+ , group_info
+ , main_view_info);
+ scroller_append_item(main_view_info->group_scroller, item_group);
+ elm_object_signal_emit(main_view_info->main_view, "momentic,state,drawer,noresult,hide", "");
+
+ snprintf(message, sizeof(message), "Create a group named <br>'%s'", group_title);
+ notification_status_message_post(message);
+}
+
+#if 0
+static void _click_save_button_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ main_view_s *main_view_info = data;
+ elm_object_signal_emit(main_view_info->save_button, "momentic,state,activate", "");
+ elm_object_signal_emit(main_view_info->main_view, "momentic,state,save_group,activate", "");
}
-static Evas_Object *_create_save_button(Evas_Object *parent, moment_info_s *moment_info)
+static void _click_cancel_button_cb(void *data, Evas_Object *obj, void *event_info)
{
+ main_view_s *main_view_info = data;
+ elm_object_signal_emit(main_view_info->save_button, "momentic,state,deactivate", "");
+ elm_object_signal_emit(main_view_info->main_view, "momentic,state,save_group,deactivate", "");
+}
+#endif
+
+
+static Evas_Object *_create_save_button(Evas_Object *parent, main_view_s *main_view_info)
+{
+ Evas_Object *popup_button = NULL;
Evas_Object *save_button = NULL;
+ char *path = NULL;
+ char full_path[PATH_LEN] = {0, };
+
retv_if(!parent, NULL);
- save_button = elm_button_add(parent);
- retv_if(!save_button, NULL);
+ path = app_get_resource_path();
+ retv_if(!path, NULL);
- elm_object_text_set(save_button, "Save");
- evas_object_size_hint_weight_set(save_button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(save_button, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_smart_callback_add(save_button, "clicked", _click_save_button_cb, moment_info);
+ snprintf(full_path, sizeof(full_path), "%s/edje/popup.edj", path);
+ free(path);
- return save_button;
+ popup_button = elm_layout_add(parent);
+ retv_if(!popup_button, NULL);
+
+ elm_layout_file_set(popup_button, full_path, "save_as_group");
+ evas_object_size_hint_weight_set(popup_button, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(popup_button, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_show(popup_button);
+
+ save_button = elm_button_add(parent);
+ retv_if(!save_button, NULL);
+ elm_object_style_set(save_button, "transparent");
+ elm_object_part_content_set(popup_button, "button", save_button);
+ evas_object_smart_callback_add(save_button, "clicked", _click_save_button_cb, main_view_info);
+
+#if 0
+ Evas_Object *create_button = NULL;
+ Evas_Object *cancel_button = NULL;
+
+ create_button = elm_button_add(parent);
+ retv_if(!create_button, NULL);
+ //elm_object_style_set(create_button, "transparent");
+ elm_object_part_content_set(popup_button, "create_btn", create_button);
+ //evas_object_smart_callback_add(create_button, "clicked", _click_create_button_cb, main_view_info);
+
+ cancel_button = elm_button_add(parent);
+ retv_if(!cancel_button, NULL);
+ //elm_object_style_set(cancel_button, "transparent");
+ elm_object_part_content_set(popup_button, "cancel_btn", cancel_button);
+ evas_object_smart_callback_add(cancel_button, "clicked", _click_cancel_button_cb, main_view_info);
+#endif
+
+ return popup_button;
}
static void _destroy_save_button(Evas_Object *save_button)
EINA_LIST_FOREACH(list, l, group_info) {
Evas_Object *item_group = item_create_group(group_scroller
- , group_info->title
+ , group_info
, main_view_info);
scroller_append_item(group_scroller, item_group);
}
+ int count = scroller_count_item(group_scroller);
+ if (count)
+ elm_object_signal_emit(main_view_info->main_view, "momentic,state,drawer,noresult,hide", "");
+ else
+ elm_object_signal_emit(main_view_info->main_view, "momentic,state,drawer,noresult,show", "");
+
return group_scroller;
}
evas_object_del(group_scroller);
}
+static void _main_view_back_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ main_view_s *main_view_info = data;
+ static time_t prev_t;
+ time_t cur_t;
+
+ time(&cur_t);
+
+ if (prev_t + 2 > cur_t) {
+ _D("wait a sec to process the back key event");
+ return;
+ }
+
+ prev_t = cur_t;
+ elm_object_signal_emit(obj, "momentic,state,page,back", "");
+
+ switch (cur_page) {
+ Eina_List *list = NULL;
+ Evas_Object *item = NULL;
+ Evas_Object *tmp = NULL;
+ Evas_Object *box = NULL;
+
+ case 0:
+ _D("Page 0 [Initial page] -> Out : elm_win_lower()");
+
+ elm_win_lower(main_view_info->moment_info->win);
+ break;
+ case 1:
+ _D("Page 1 [Entry page] -> Page 0 [Initial page] : Initial city list");
+
+ item_reset_color_index();
+ scroller_clear_item(main_view_info->city_list);
+ _append_here_to_city_list(main_view_info->city_list, main_view_info);
+ elm_object_focus_set(main_view_info->searchbar, EINA_FALSE);
+ cur_page = 0;
+ break;
+ case 2:
+ _D("Page 2 [Best time page] -> Page 1 [Entry page] : Remove the best item");
+
+ box = elm_object_content_get(main_view_info->city_list);
+ ret_if(!box);
+
+ list = elm_box_children_get(box);
+ ret_if(!list);
+
+ EINA_LIST_FREE(list, item) {
+ elm_object_signal_emit(item, "momentic,item,state,default", "");
+ unset_time_range(item);
+ tmp = item;
+ }
+
+ scroller_remove_item(main_view_info->city_list, tmp);
+ item_destroy_best_time(tmp);
+ cur_page = 1;
+ break;
+ case 4:
+ _D("Page 3 [Best time page] -> Page 0[Initial page]");
+
+ scroller_clear_item(main_view_info->city_list);
+ _append_here_to_city_list(main_view_info->city_list, main_view_info);
+ elm_object_signal_emit(main_view_info->main_view, "load", "");
+ elm_object_signal_emit(main_view_info->main_view, "momentic,state,add_description,show", "");
+ cur_page = 0;
+ break;
+ default:
+ _E("cannot reach here");
+ break;
+ }
+}
+
Evas_Object *main_view_create(Evas_Object *parent, moment_info_s *moment_info)
{
main_view_s *main_view_info = NULL;
return NULL;
}
+ eext_object_event_callback_add(main_view_info->main_view, EEXT_CALLBACK_BACK, _main_view_back_cb, main_view_info);
+
elm_layout_file_set(main_view_info->main_view, full_path, "main");
evas_object_size_hint_weight_set(main_view_info->main_view, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(main_view_info->main_view, EVAS_HINT_FILL, EVAS_HINT_FILL);
if (main_view_info->next_btn)
elm_object_part_content_set(main_view_info->main_view, "next_btn", main_view_info->next_btn);
- main_view_info->city_list = _create_city_list(main_view_info->main_view);
+ main_view_info->city_list = _create_city_list(main_view_info->main_view, main_view_info);
if (main_view_info->city_list)
elm_object_part_content_set(main_view_info->main_view, "city_list", main_view_info->city_list);
if (main_view_info->searchlist)
elm_object_part_content_set(main_view_info->main_view, "searchlist", main_view_info->searchlist);
- main_view_info->result_list = _create_result_list(main_view_info->main_view);
- if (main_view_info->result_list)
- elm_object_part_content_set(main_view_info->main_view, "result_list", main_view_info->result_list);
+ db_list_group(moment_info->db, &moment_info->group_list);
main_view_info->group_scroller = _create_group_scroller(main_view_info->main_view, moment_info->group_list, main_view_info);
if (main_view_info->group_scroller)
- evas_object_hide(main_view_info->group_scroller);
- //elm_object_part_content_set(main_view_info->main_view, "group_scroller", main_view_info->group_scroller);
+ elm_object_part_content_set(main_view_info->main_view, "drawer_content", main_view_info->group_scroller);
+
+ main_view_info->save_button = _create_save_button(main_view_info->main_view, main_view_info);
+ if (main_view_info->save_button)
+ elm_object_part_content_set(main_view_info->main_view, "save_group_btn", main_view_info->save_button);
+
+ elm_object_signal_callback_add(main_view_info->main_view, "momentic,page1,done", "", _page1_done_cb, main_view_info->searchbar);
return main_view_info->main_view;
}
main_view_info = evas_object_data_del(main_view_info->main_view, DATA_KEY_INFO);
ret_if(!main_view_info);
+ if (main_view_info->save_button)
+ _destroy_save_button(main_view_info->save_button);
+
if (main_view_info->group_scroller)
_destroy_group_scroller(main_view_info->group_scroller);
- if (main_view_info->result_list)
- _destroy_result_list(main_view_info->result_list);
-
if (main_view_info->searchlist)
_destroy_searchlist(main_view_info->searchlist);
ret = app_control_create(&app_control);
ret_if(APP_CONTROL_ERROR_NONE != ret);
+ time(&t);
local_time = localtime(&t);
snprintf(start_str, sizeof(start_str), "%4d-%2d-%2d %2d:%2d:%2d"