do not display '>' char if progressbar's width is equal to screen's width

This commit is contained in:
Andrzej Rybczak
2009-08-29 21:34:24 +02:00
parent 7c593fa90c
commit ab54ceaf71
2 changed files with 8 additions and 6 deletions

View File

@@ -1152,12 +1152,13 @@ int main(int argc, char *argv[])
*wFooter << XY(wFooter->GetWidth()-tracklength.length(), 1) << tracklength; *wFooter << XY(wFooter->GetWidth()-tracklength.length(), 1) << tracklength;
} }
double progressbar_size = songpos/double(s->GetTotalLength()); double progressbar_size = songpos/double(s->GetTotalLength());
int howlong = wFooter->GetWidth()*progressbar_size; unsigned howlong = wFooter->GetWidth()*progressbar_size;
mvwhline(wFooter->Raw(), 0, 0, 0, wFooter->GetWidth()); mvwhline(wFooter->Raw(), 0, 0, 0, wFooter->GetWidth());
for (int i = 0; i < howlong; ++i) for (unsigned i = 0; i < howlong; ++i)
*wFooter << Config.progressbar[0]; *wFooter << Config.progressbar[0];
*wFooter << Config.progressbar[1]; if (howlong < wFooter->GetWidth())
*wFooter << Config.progressbar[1];
*wFooter << fmtBoldEnd; *wFooter << fmtBoldEnd;
wFooter->Refresh(); wFooter->Refresh();
} }

View File

@@ -497,14 +497,15 @@ void NcmpcppStatusChanged(Connection *, StatusChanges changed, void *)
if (!block_progressbar_update) if (!block_progressbar_update)
{ {
double progressbar_size = elapsed/double(np.GetTotalLength()); double progressbar_size = elapsed/double(np.GetTotalLength());
int howlong = wFooter->GetWidth()*progressbar_size; unsigned howlong = wFooter->GetWidth()*progressbar_size;
wFooter->SetColor(Config.progressbar_color); wFooter->SetColor(Config.progressbar_color);
mvwhline(wFooter->Raw(), 0, 0, 0, wFooter->GetWidth()); mvwhline(wFooter->Raw(), 0, 0, 0, wFooter->GetWidth());
if (np.GetTotalLength()) if (np.GetTotalLength())
{ {
for (int i = 0; i < howlong; ++i) for (unsigned i = 0; i < howlong; ++i)
*wFooter << Config.progressbar[0]; *wFooter << Config.progressbar[0];
*wFooter << Config.progressbar[1]; if (howlong < wFooter->GetWidth())
*wFooter << Config.progressbar[1];
} }
wFooter->SetColor(Config.statusbar_color); wFooter->SetColor(Config.statusbar_color);
} }