X-Git-Url: https://git.deb.at/?a=blobdiff_plain;f=list.h;h=e968a2f8c655f81b82097f80b3fa58d710c86f8b;hb=7d7ae6aab5fb6307328b7cfb193ebce3e2870624;hp=f76928ee244328ea07ce008254f908329990b675;hpb=0d3c17d9ab127e5596c8fb97d65122b3b90f6b11;p=pkg%2Fabook.git diff --git a/list.h b/list.h index f76928e..e968a2f 100644 --- a/list.h +++ b/list.h @@ -1,11 +1,13 @@ #ifndef _LIST_H #define _LIST_H +#include "ui.h" void init_list(); +int init_extra_field(enum str_opts option); void close_list(); void refresh_list(); -void print_list_line(int i, int line); +void print_list_line(int i, int line, int highlight); void list_headerline(); void scroll_up(); void scroll_down(); @@ -13,12 +15,18 @@ void page_up(); void page_down(); void select_none(); void select_all(); +void set_selection(int item, int value); +void list_invert_curitem_selection(); void move_curitem(int direction); void goto_home(); void goto_end(); void highlight_line(WINDOW *win, int line); int selected_items(); void invert_selection(); +int list_is_empty(); +int list_get_curitem(); +void list_set_curitem(int i); +int duplicate_item(); enum { @@ -27,19 +35,19 @@ enum { }; #define LIST_TOP 3 -#define LIST_BOTTOM (LINES-3) +#define LIST_BOTTOM (LINES-2) #define LIST_LINES (LIST_BOTTOM-LIST_TOP) #define LIST_COLS COLS #define NAMEPOS 2 -#define EMAILPOS options_get_int("emailpos") -#define EXTRAPOS options_get_int("extrapos") +#define EMAILPOS opt_get_int(INT_EMAILPOS) +#define EXTRAPOS opt_get_int(INT_EXTRAPOS) -#define NAMELEN (EMAILPOS-NAMEPOS -1) -#define EMAILLEN (EXTRAPOS-EMAILPOS -1) -#define EXTRALEN (COLS-EXTRAPOS) +#define NAMELEN (EMAILPOS - NAMEPOS - 1) +#define EMAILLEN (EXTRAPOS - EMAILPOS - 1) +#define EXTRALEN (COLS - EXTRAPOS) -#define LAST_LIST_ITEM ( first_list_item + LIST_LINES - 1 ) +#define LAST_LIST_ITEM (first_list_item + LIST_LINES - 1) #endif