(Filebrowser) Refactor
This commit is contained in:
parent
b163096028
commit
018af9989f
|
@ -75,46 +75,48 @@ bool filebrowser_iterate(void *data, unsigned action)
|
||||||
switch(action)
|
switch(action)
|
||||||
{
|
{
|
||||||
case RGUI_ACTION_UP:
|
case RGUI_ACTION_UP:
|
||||||
if (!filebrowser->list->size)
|
if (filebrowser->list->size)
|
||||||
break;
|
{
|
||||||
filebrowser->current_dir.ptr--;
|
filebrowser->current_dir.ptr--;
|
||||||
if (filebrowser->current_dir.ptr >= filebrowser->list->size)
|
if (filebrowser->current_dir.ptr >= filebrowser->list->size)
|
||||||
filebrowser->current_dir.ptr = filebrowser->list->size - 1;
|
filebrowser->current_dir.ptr = filebrowser->list->size - 1;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case RGUI_ACTION_DOWN:
|
case RGUI_ACTION_DOWN:
|
||||||
if (!filebrowser->list->size)
|
if (filebrowser->list->size)
|
||||||
break;
|
{
|
||||||
filebrowser->current_dir.ptr++;
|
filebrowser->current_dir.ptr++;
|
||||||
if (filebrowser->current_dir.ptr >= filebrowser->list->size)
|
if (filebrowser->current_dir.ptr >= filebrowser->list->size)
|
||||||
filebrowser->current_dir.ptr = 0;
|
filebrowser->current_dir.ptr = 0;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case RGUI_ACTION_LEFT:
|
case RGUI_ACTION_LEFT:
|
||||||
if (!filebrowser->list->size)
|
if (filebrowser->list->size)
|
||||||
break;
|
{
|
||||||
if (filebrowser->current_dir.ptr <= 5)
|
if (filebrowser->current_dir.ptr <= 5)
|
||||||
filebrowser->current_dir.ptr = 0;
|
filebrowser->current_dir.ptr = 0;
|
||||||
else
|
else
|
||||||
filebrowser->current_dir.ptr -= 5;
|
filebrowser->current_dir.ptr -= 5;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case RGUI_ACTION_RIGHT:
|
case RGUI_ACTION_RIGHT:
|
||||||
if (!filebrowser->list->size)
|
if (filebrowser->list->size)
|
||||||
break;
|
filebrowser->current_dir.ptr = (min(filebrowser->current_dir.ptr + 5,
|
||||||
filebrowser->current_dir.ptr = (min(filebrowser->current_dir.ptr + 5,
|
filebrowser->list->size-1));
|
||||||
filebrowser->list->size-1));
|
|
||||||
break;
|
break;
|
||||||
case RGUI_ACTION_SCROLL_UP:
|
case RGUI_ACTION_SCROLL_UP:
|
||||||
if (!filebrowser->list->size)
|
if (filebrowser->list->size)
|
||||||
break;
|
{
|
||||||
if (filebrowser->current_dir.ptr <= entries_to_scroll)
|
if (filebrowser->current_dir.ptr <= entries_to_scroll)
|
||||||
filebrowser->current_dir.ptr= 0;
|
filebrowser->current_dir.ptr= 0;
|
||||||
else
|
else
|
||||||
filebrowser->current_dir.ptr -= entries_to_scroll;
|
filebrowser->current_dir.ptr -= entries_to_scroll;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case RGUI_ACTION_SCROLL_DOWN:
|
case RGUI_ACTION_SCROLL_DOWN:
|
||||||
if (!filebrowser->list->size)
|
if (filebrowser->list->size)
|
||||||
break;
|
filebrowser->current_dir.ptr = (min(filebrowser->current_dir.ptr +
|
||||||
filebrowser->current_dir.ptr = (min(filebrowser->current_dir.ptr +
|
entries_to_scroll, filebrowser->list->size-1));
|
||||||
entries_to_scroll, filebrowser->list->size-1));
|
|
||||||
break;
|
break;
|
||||||
case RGUI_ACTION_OK:
|
case RGUI_ACTION_OK:
|
||||||
ret = directory_parse(filebrowser, GET_CURRENT_PATH(filebrowser));
|
ret = directory_parse(filebrowser, GET_CURRENT_PATH(filebrowser));
|
||||||
|
|
Loading…
Reference in New Issue