if( LINES < MIN_LINES || COLS < MIN_COLS ) {
clear(); refresh(); endwin();
fprintf(stderr, _("Your terminal size is %dx%d\n"), COLS, LINES);
- fprintf(stderr, _("Terminal is too small. Minium terminal size "
- "for abook is "
+ fprintf(stderr, _("Terminal is too small. Minimum terminal "
+ "size for abook is "
"%dx%d\n"), MIN_COLS, MIN_LINES);
return 1;
}
static void
statusline_addhlstr(const char *str)
{
-#if defined(A_BOLD) && defined(A_NORMAL)
+#if defined(A_BOLD) && defined(A_NORMAL) && defined(A_DIM)
const char *p = str, *start = str;
char *tmp;
int pos = 0;
while(1) {
if(!*p || strchr("<>", *p)) {
if(p - start > 0) {
- wattrset(bottom, (*p == '>') ? A_UNDERLINE : A_NORMAL);
+ wattrset(bottom, (*p == '>') ? A_BOLD : A_NORMAL);
tmp = xstrndup(start, p - start);
mvwaddstr(bottom, 1, pos, tmp);
+ pos += strwidth(tmp);
free(tmp);
- pos += p - start;
}
if(*p) {
start = p + 1;
-#if 0
+
/* show tag markers */
wattrset(bottom, A_DIM);
mvwaddch(bottom, 1, pos++, *p);
-#endif
}
}
assert((dflt < 0) || (dflt > strlen(choices)));
if(dflt) {
- s = mkstr("%s [%c]", msg, choices[dflt - 1]);
+ s = strdup_printf("%s [%c]", msg, choices[dflt - 1]);
statusline_addhlstr(s);
free(s);
} else
void
ui_print_number_of_items()
{
- char *str = mkstr(" " "|%3d/%3d", selected_items(), items);
+ char *str = strdup_printf(" " "|%3d/%3d", selected_items(), items);
mvaddstr(0, COLS-strlen(str), str);
void
ui_read_database()
{
- if(items > 0)
- if(!statusline_ask_boolean(_("Your current data will be lost - "
- "Press 'y' to continue"), FALSE))
+ char *msg;
+
+ if(items > 0) {
+ msg = strdup_printf(_("Your current data will be lost - "
+ "Press '%c' to continue"),
+ *(S_("keybinding for yes|y")));
+ if(!statusline_ask_boolean(msg, FALSE)) {
+ free(msg);
return;
+ }
+ free(msg);
+ }
load_database(datafile);
refresh_list();