static int mcview_search_status_update_cb (status_msg_t * sm) { simple_status_msg_t *ssm = SIMPLE_STATUS_MSG (sm); mcview_search_status_msg_t *vsm = (mcview_search_status_msg_t *) sm; Widget *wd = WIDGET (sm->dlg); int percent = -1; if (verbose) percent = mcview_calc_percent (vsm->view, vsm->offset); if (percent >= 0) label_set_textv (ssm->label, _("Searching %s: %3d%%"), vsm->view->last_search_string, percent); else label_set_textv (ssm->label, _("Searching %s"), vsm->view->last_search_string); if (vsm->first) { int wd_width; Widget *lw = WIDGET (ssm->label); wd_width = MAX (wd->cols, lw->cols + 6); widget_set_size (wd, wd->y, wd->x, wd->lines, wd_width); widget_set_size (lw, lw->y, wd->x + (wd->cols - lw->cols) / 2, lw->lines, lw->cols); vsm->first = FALSE; } return status_msg_common_update (sm); }
static void mcview_display_percent (WView * view, off_t p) { int percent; percent = mcview_calc_percent (view, p); if (percent >= 0) { const screen_dimen top = view->status_area.top; const screen_dimen right = view->status_area.left + view->status_area.width; widget_move (view, top, right - 4); tty_printf ("%3d%%", percent); /* avoid cursor wrapping in NCurses-base MC */ widget_move (view, top, right - 1); } }