X-Git-Url: https://git.deb.at/?a=blobdiff_plain;f=ui.c;h=2799039ca11b0d7d76e146cee03081fde9ff26fa;hb=75633ffa7a52aec7958b5cf4e0f3375683851c65;hp=3d7e01a8f7469ae640e014509808b1802a371167;hpb=853a82571bfc466bc9257046ef172512220e00b5;p=pkg%2Fabook.git diff --git a/ui.c b/ui.c index 3d7e01a..2799039 100644 --- a/ui.c +++ b/ui.c @@ -375,13 +375,15 @@ get_commands() for(;;) { can_resize = TRUE; /* it's safe to resize now */ - hide_cursor(); - if( should_resize ) + if(!opt_get_bool(BOOL_SHOW_CURSOR)) + hide_cursor(); + if(should_resize) refresh_screen(); ch = getch(); - show_cursor(); + if(!opt_get_bool(BOOL_SHOW_CURSOR)) + show_cursor(); can_resize = FALSE; /* it's not safe to resize anymore */ - switch( ch ) { + switch(ch) { case 'q': return; case 'Q': quit_abook(QUIT_DONTSAVE); break; case 'P': print_stderr(selected_items() ? @@ -489,27 +491,30 @@ ui_clear_database() void ui_find(int next) { - int item; + int item = -1; static char findstr[MAX_FIELD_LEN]; int search_fields[] = {NAME, EMAIL, NICK, -1}; + clear_statusline(); + if(next) { if( !*findstr ) return; } else { char *s; - clear_statusline(); s = ui_readline("/", findstr, MAX_FIELD_LEN - 1, 0); strncpy(findstr, s, MAX_FIELD_LEN); refresh_screen(); } - if( (item = find_item(findstr, curitem + !!next, - search_fields )) >= 0 ) { + if( (item = find_item(findstr, curitem + !!next, search_fields)) < 0 && + (item = find_item(findstr, 0, search_fields)) >= 0) + statusline_addstr("Search hit bottom, continuing at top"); + + if(item >= 0) { curitem = item; refresh_list(); } - }