1
0
Fork 0
mirror of https://github.com/davatorium/rofi.git synced 2024-11-03 04:23:42 -05:00

Paginating

This commit is contained in:
Qball Cow 2014-04-15 09:14:00 +02:00
parent 5e226b86ab
commit de21215491

View file

@ -802,7 +802,13 @@ GC gc = NULL;
#include "textbox.h" #include "textbox.h"
void menu_draw ( textbox *text, textbox **boxes, int max_lines, int num_lines, int *last_offset, int selected, char **filtered ) void menu_draw ( textbox *text,
textbox **boxes,
int max_lines,
int num_lines,
int *last_offset,
int selected,
char **filtered )
{ {
int i, offset = 0; int i, offset = 0;
textbox_draw ( text ); textbox_draw ( text );
@ -815,29 +821,15 @@ void menu_draw ( textbox *text, textbox **boxes, int max_lines, int num_lines, i
} }
else else
{ {
// If selected is above visible, scroll up. // Do pageinating
if ( ( selected - ( *last_offset ) ) >= ( max_lines ) ) int page = selected/max_lines;
{ offset = page*max_lines;
offset = selected - max_lines + 1;
// Scroll down otherwise
}
else if ( ( selected - ( *last_offset ) ) < 0 )
{
offset = selected;
}
// Sanitize
if ( offset >= ( num_lines ) )
{
offset = num_lines - max_lines - 1;
}
*last_offset = offset; *last_offset = offset;
} }
for ( i = 0; i < max_lines; i++ ) for ( i = 0; i < max_lines ; i++ )
{ {
if ( filtered[i + offset] == NULL ) if ( (i+offset) >= num_lines || filtered[i + offset] == NULL )
{ {
textbox_font ( boxes[i], config.menu_font, textbox_font ( boxes[i], config.menu_font,
config.menu_fg, config.menu_fg,