void scanIcons(char *path) { Fl_Directory_DS dds; dds.directory(path); dds.open(); while(!dds.eof()) { Fl_String name(dds["Name"].get_string()); Fl_String filename(dds.directory() + name); dds.next(); if(access(filename, R_OK)!=0) continue; if(fl_file_match(name, "*.desktop")) { Icon *desktopIcon = new Icon(filename); desktopIcon->show(); } } }
void fillItems() { char *file; Fl_String path(fl_homedir()); path += "/.ede/schemes"; dirent **files; int count = fl_filename_list(path, &files); if (count > 0) { new Fl_Item("Active"); schemeListBox->value("Active"); for(int n=0; n<count; n++) { file = files[n]->d_name; if( strcmp(file, ".") && strcmp(file, "..")) { char *filename = fl_strdup_printf("%s/%s", (char*)path, file); if (!fl_is_dir(filename) && fl_file_match(file, "*.scheme") && strcmp(file, "Active.scheme")!=0) { new Fl_Item(strdup(fl_file_filename(filename))); } delete [] filename; } free(files[n]); } free(files); getSchemeColors(); //we apply first scheme - active.scheme } }