static Ret _bt_on_item_clicked(void *ctx, void *list) { FtkListItemInfo* info = NULL; FtkListModel* model = ftk_list_view_get_model(list); int i = ftk_list_view_get_selected(list); printf("%s : clicked index %d\n", __func__, i); ftk_list_model_get_data(model, i, (void**)&info); if(info != NULL && !info->disable) { info->state = !info->state; } if (i < _bt_dev_num) { FtkWidget *label = ftk_widget_lookup((FtkWidget *)ctx, IDC_INFO); if (label) ftk_widget_set_text(label, "접속 중"); _bt_connect = i; _timer = ftk_source_timer_create(300, _bt_connect_start, ctx); ftk_main_loop_add_source(ftk_default_main_loop(), _timer); } return RET_OK; }
static Ret ftk_file_browser_on_item_clicked(void* ctx, void* list) { FtkWidget* win = (FtkWidget*)ctx; FtkListItemInfo* info = NULL; int i = ftk_list_view_get_selected((FtkWidget*)list); PrivInfo* priv = (PrivInfo*)ftk_widget_user_data(win); FtkListModel* model = ftk_list_view_get_model((FtkWidget*)list); return_val_if_fail(priv != NULL, RET_FAIL); ftk_list_model_get_data(model, i, (void**)&info); if(info != NULL && info->text != NULL) { char* p = NULL; char path[FTK_MAX_PATH+1] = {0}; char* file_name = info->text; if(strcmp(file_name, _("..")) == 0) { ftk_strcpy(path, priv->path); if((p = strrchr(path, FTK_PATH_DELIM)) != NULL) { if(p == path) { p[1] = '\0'; } else { *p = '\0'; } } ftk_file_browser_set_path(win, path); ftk_file_browser_load(win); } else if(info->value) /*enter selected folder*/ { ftk_strs_cat(path, FTK_MAX_PATH, priv->path, "/", file_name, NULL); ftk_file_browser_set_path(win, path); ftk_file_browser_load(win); } else if(priv->type == FTK_FILE_BROWER_SINGLE_CHOOSER) { if(priv->on_choosed != NULL) { ftk_strs_cat(path, FTK_MAX_PATH, priv->path, "/", file_name, NULL); priv->on_choosed(priv->on_choosed_ctx, 0, path); ftk_widget_unref(win); } } else if(priv->type == FTK_FILE_BROWER_MULTI_CHOOSER) { info->state = !info->state; } } return RET_OK; }