X-Git-Url: https://git.deb.at/w?a=blobdiff_plain;f=list.c;h=00e149ad50b2ffc442a2769d01424ba41654fc2b;hb=a55d5c006e2bc270671d4ea8b1a4aff0f3cc3879;hp=9f293e9eb8b88abe2be6499fd712142a670d8edb;hpb=ebb3a365ead9d1898c92fccaf53f118faa1b6fbf;p=pkg%2Fabook.git diff --git a/list.c b/list.c index 9f293e9..00e149a 100644 --- a/list.c +++ b/list.c @@ -14,9 +14,11 @@ #include "ui.h" #include "database.h" #include "edit.h" +#include "gettext.h" #include "list.h" #include "misc.h" #include "options.h" +#include "xmalloc.h" #define MIN_EXTRA_COLUMN ADDRESS /* 2 */ #define MAX_EXTRA_COLUMN LAST_FIELD @@ -32,7 +34,7 @@ extern int items; extern list_item *database; extern struct abook_field abook_fields[]; -WINDOW *list = NULL; +static WINDOW *list = NULL; static int init_extra_field(enum str_opts option) @@ -82,17 +84,17 @@ void refresh_list() { int i, line; - + werase(list); ui_print_number_of_items(); - - if(items < 1) { + + if(list_is_empty()) { refresh(); wrefresh(list); return; } - + if(curitem < 0) curitem = 0; @@ -132,7 +134,7 @@ print_list_line(int i, int line, int highlight) if(selected[i]) mvwaddch(list, line, 0, '*' ); - + mvwaddnstr(list, line, NAMEPOS, database[i][NAME], bytes2width(database[i][NAME], NAMELEN)); if(opt_get_bool(BOOL_SHOW_ALL_EMAILS)) @@ -155,7 +157,7 @@ print_list_line(int i, int line, int highlight) if(highlight) wstandend(list); } - + void list_headerline() @@ -163,10 +165,10 @@ list_headerline() #if defined(A_BOLD) && defined(A_NORMAL) attrset(A_BOLD); #endif - mvaddstr(2, NAMEPOS, abook_fields[NAME].name); - mvaddstr(2, EMAILPOS, abook_fields[EMAIL].name); + mvaddstr(2, NAMEPOS, gettext(abook_fields[NAME].name)); + mvaddstr(2, EMAILPOS, gettext(abook_fields[EMAIL].name)); if(extra_column > 0) - mvaddnstr(2, EXTRAPOS, abook_fields[extra_column].name, + mvaddnstr(2, EXTRAPOS, gettext(abook_fields[extra_column].name), COLS-EXTRAPOS); #if defined(A_BOLD) && defined(A_NORMAL) attrset(A_NORMAL); @@ -201,10 +203,10 @@ page_up() { if(curitem < 1) return; - + curitem = curitem == first_list_item ? ((curitem -= LIST_LINES) < 0 ? 0 : curitem) : first_list_item; - + refresh_list(); } @@ -267,7 +269,7 @@ goto_home() { if(items > 0) curitem = 0; - + refresh_list(); } @@ -354,7 +356,7 @@ duplicate_item() return 1; for(i = 0; i < ITEM_FIELDS; i++) - item[i] = database[curitem][i] ? strdup(database[curitem][i]) : + item[i] = database[curitem][i] ? xstrdup(database[curitem][i]) : NULL; if(add_item2database(item))