status: fix drawing progressbar if third character is non-ascii

This commit is contained in:
Andrzej Rybczak
2010-08-24 16:38:00 +02:00
parent 30ab7814f4
commit 80d6b36917

View File

@@ -653,12 +653,15 @@ Window &Statusbar()
void DrawProgressbar(unsigned elapsed, unsigned time) void DrawProgressbar(unsigned elapsed, unsigned time)
{ {
unsigned howlong = time ? wFooter->GetWidth()*elapsed/time : 0; unsigned pb_width = wFooter->GetWidth();
*wFooter << fmtBold << Config.progressbar_color; unsigned howlong = time ? pb_width*elapsed/time : 0;
mvwhline(wFooter->Raw(), 0, 0, Config.progressbar[2], wFooter->GetWidth()); *wFooter << fmtBold << Config.progressbar_color << XY(0, 0);
for (unsigned i = 0; i < pb_width; ++i)
*wFooter << Config.progressbar[2];
wFooter->GotoXY(0, 0);
if (time) if (time)
{ {
unsigned pb_width = std::min(size_t(howlong), wFooter->GetWidth()); pb_width = std::min(size_t(howlong), wFooter->GetWidth());
for (unsigned i = 0; i < pb_width; ++i) for (unsigned i = 0; i < pb_width; ++i)
*wFooter << Config.progressbar[0]; *wFooter << Config.progressbar[0];
if (howlong < wFooter->GetWidth()) if (howlong < wFooter->GetWidth())