static char *k2gui_cbox_folder(int index) { int i,j,n,nc; n=k2gui_cbox_nfiles(); if (n<=0) return(NULL); if (index==0) return(folder_name(k2gui_cbox_converted_file(0))); if (n<2) return(NULL); for (i=1,nc=0;i<n;i++) { for (j=0;j<i;j++) if (same_folder(k2gui_cbox_converted_file(j),k2gui_cbox_converted_file(i))) break; if (j==i) { nc++; if (index==nc) return(folder_name(k2gui_cbox_converted_file(i))); } } return(NULL); }
static int same_folder(char *file1,char *file2) { char f1[512],f2[512]; strncpy(f1,folder_name(file1),511); f1[511]='\0'; strncpy(f2,folder_name(file2),511); f2[511]='\0'; return(!wfile_filename_compare(f1,f2)); }
void main_refresh_folders(void) { int row = 0; struct folder *f; char text[folders_width + 1]; for (f = folder_first(); f; f = folder_next(f)) { unsigned int level; unsigned int i; level = folder_level(f); if (level > 10) { level = 10; } if (f == main_active_folder) { text[0] = '*'; } else { text[0] = ' '; } for (i = 0; i < level; i++) { text[1+i] = ' '; } mystrlcpy(&text[level + 1], folder_name(f), sizeof(text) - 2); mvwprintw(folders_wnd, row++, 0 , text); } wrefresh(folders_wnd); }