static int ft_manage_inputs(t_env *e, char *inputs) { int value; if ((inputs[0] == 4 || inputs[0] == 10) && inputs[1] == 0 && inputs[2] == 0 && inputs[3] == 0 && inputs[4] == 0 && inputs[5] == 0 && inputs[6] == 0) return (ft_quit(e, inputs)); else if (!ft_delete(e, inputs)) if (!ft_arrows(e, inputs)) if (!ft_clear(e, inputs)) if (ft_isprint(inputs[0]) || inputs[0] == 9) if ((value = ft_process_char(e, inputs)) != 2) return (value); return (-1); }
int ft_keycmp(int buffer) { ft_arrows(buffer); if (buffer == SPACE) { singleton()->current->selected ^= 1; singleton()->current = singleton()->current->next; } if (buffer == DELETE || buffer == BACKSPACE) { if (singleton()->current->first == 1) singleton()->clst = singleton()->clst->next; ft_clstdelone(&singleton()->current); if (!singleton()->current) ft_reset(); ft_getmax(singleton()->clst); } if (buffer == ESCAPE) ft_reset(); if (buffer == RETURN) ft_returnslct(); return (1); }
void ft_keys(char *buf, t_control *list, char **modetab) { if (ARROW) ft_arrows(buf, list, modetab); else if (SPACE) ft_addselected(list, modetab); else if (BACKSPACE || SUPPR) { ft_delete_node(list, list->active); ft_clear(modetab, list, 1); } else if (ENTER) ft_quit(modetab, list, 0, ft_calcret(list)); else if (MINUS) ft_multiselect(list, 0, modetab); else if (PLUS) ft_multiselect(list, 1, modetab); else if (SLASH) ft_search(list, modetab); else if (QUESTIONMARK) ft_printhelp(list, modetab); else if (buf[0] == 'c' && !buf[1]) ft_selectskin(list, modetab); }