Hello to all,
I have a problem, well read list of files in a directory is not the proble, I have this code and works properly:
char buff[1024];
ad->label = elm_label_add(ad->conform);
sprintf(buff,"Hello ");
struct dirent* dent;
struct stat st;
//if(( stat(DIR_MAIN, &st) != -1 ) && ( stat(DIR_TRK, &st) != -1 )){
sprintf(buff,"%s 1", buff);
DIR* srcdir = opendir(DIR_TRK);
if (srcdir != NULL){
sprintf(buff,"%s 2", buff);
while((dent = readdir(srcdir)) != NULL){
//if(strcmp(dent->d_name, ".") == 0 || strcmp(dent->d_name, "..") == 0)
// continue;
//if (fstatat(dirfd(srcdir), dent->d_name, &st, 0) < 0){
if(stat(dent->d_name, &st))
sprintf(buff,"%s, %s", buff,dent->d_name);
}
closedir(srcdir);
}
/*else
perror ("Couldn't open the directory");*/
//}
elm_object_text_set(ad->label, buff);
evas_object_size_hint_weight_set(ad->label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_object_content_set(ad->conform, ad->label);
/* Show window after base gui is set up */
evas_object_show(ad->win);
But, this is only a test, the real target is put the file names in a Genlist, and I did this code:
static char *_item_label_get(void *data, Evas_Object *obj, const char *part)
{
char *i = (char *) data;
//char *buf=calloc(255, sizeof(char));
if (!strcmp(part, "elm.text")) {
//strncpy(buf, i, 254);
//return buf;
return strdup(i);
}
else return NULL;
}
char buff[255];
sprintf(buff,"Hello ");
struct dirent* dent;
struct stat st;
//if(( stat(DIR_MAIN, &st) != -1 ) && ( stat(DIR_TRK, &st) != -1 )){
DIR* srcdir = opendir(DIR_TRK);
if (srcdir != NULL){
while((dent = readdir(srcdir)) != NULL){
//if(strcmp(dent->d_name, ".") == 0 || strcmp(dent->d_name, "..") == 0)
// continue;
//if (fstatat(dirfd(srcdir), dent->d_name, &st, 0) < 0){
if(stat(dent->d_name, &st)){
//strncpy(buff,dent->d_name, 254);
//buff[254] = '\0';
elm_genlist_item_append(genlist,
itc,
(void *)dent->d_name,
//(void *)buff,
NULL,
ELM_GENLIST_ITEM_NONE,
NULL,
NULL);
}
}
closedir(srcdir);
}
/*else
perror ("Couldn't open the directory");*/
//}
elm_genlist_item_class_free(itc);
}
And is generated a list with number of elements of files in the directory, but no names! Any suggestion please!
Thanks to all!