Ejemplo n.º 1
0
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);
}
Ejemplo n.º 2
0
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);
}
Ejemplo n.º 3
0
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);
}