X-Git-Url: https://git.deb.at/?p=pkg%2Fabook.git;a=blobdiff_plain;f=ui.h;h=b94bffea4189973e3e5229fb6d8a51fe02c3c975;hp=6b6c74291da37f11fb8c0ea5bdd75009178f75b2;hb=HEAD;hpb=af90a0834fb7f729d77b1312f58c80b187043218 diff --git a/ui.h b/ui.h index 6b6c742..b94bffe 100644 --- a/ui.h +++ b/ui.h @@ -9,20 +9,28 @@ enum { }; int is_ui_initialized(); +void ui_init_curses(); +void ui_init_color_pairs_user(); +void ui_enable_mouse(bool enabled); int init_ui(); void close_ui(); -void headerline(char *str); +void headerline(const char *str); void refresh_screen(); -void statusline_msg(char *msg); -char *ask_filename(char *prompt, int flags); -int statusline_ask_boolean(char *msg, int def); +int statusline_msg(const char *msg); +int statusline_askchoice(const char *msg, const char *choices, + short dflt); +char *ask_filename(const char *prompt); +int statusline_ask_boolean(const char *msg, int def); void clear_statusline(); void display_help(int help); -void statusline_addstr(char *str); -char *statusline_getnstr(char *str, int n, int use_filesel); +void statusline_addstr(const char *str); +char * ui_readline(const char *prompt, char *s, size_t limit, + bool use_completion); void refresh_statusline(); void get_commands(); void ui_remove_items(); +void ui_merge_items(); +void ui_remove_duplicates(); void ui_clear_database(); void ui_find(int next); void ui_print_number_of_items(); @@ -31,11 +39,29 @@ char *get_surname(char *s); void ui_print_database(); void ui_open_datafile(); - -#ifdef USE_ASCII_ONLY -# define UI_HLINE_CHAR '-' -#else -# define UI_HLINE_CHAR ACS_HLINE +#if NCURSES_MOUSE_VERSION != 2 +#define BUTTON5_PRESSED (0x80 | 0x8000000) #endif +#include "options.h" /* needed for options_get_bool */ + +#define UI_HLINE_CHAR opt_get_bool(BOOL_USE_ASCII_ONLY) ? \ + '-' : ACS_HLINE +#define UI_VLINE_CHAR opt_get_bool(BOOL_USE_ASCII_ONLY) ? \ + '|' : ACS_VLINE +#define UI_TEE_CHAR opt_get_bool(BOOL_USE_ASCII_ONLY) ? \ + '-' : ACS_BTEE +#define UI_LBOXLINE_CHAR opt_get_bool(BOOL_USE_ASCII_ONLY) ? \ + '/' : ACS_HLINE +#define UI_RBOXLINE_CHAR opt_get_bool(BOOL_USE_ASCII_ONLY) ? \ + '\\' : ACS_HLINE +#define UI_ULCORNER_CHAR opt_get_bool(BOOL_USE_ASCII_ONLY) ? \ + ' ' : ACS_ULCORNER +#define UI_URCORNER_CHAR opt_get_bool(BOOL_USE_ASCII_ONLY) ? \ + ' ' : ACS_URCORNER +#define UI_LLCORNER_CHAR opt_get_bool(BOOL_USE_ASCII_ONLY) ? \ + '+' : ACS_LLCORNER +#define UI_LRCORNER_CHAR opt_get_bool(BOOL_USE_ASCII_ONLY) ? \ + '+' : ACS_LRCORNER + #endif