count number of applied formatting flags
This commit is contained in:
@@ -161,7 +161,7 @@ int main(int argc, char *argv[])
|
||||
wFooter = new Window(0, footer_start_y, COLS, footer_height, "", Config.statusbar_color, brNone);
|
||||
wFooter->SetTimeout(ncmpcpp_window_timeout);
|
||||
wFooter->SetGetStringHelper(StatusbarGetStringHelper);
|
||||
wFooter->Display();
|
||||
*wFooter << fmtBold; // bold by default
|
||||
|
||||
myScreen = myPlaylist;
|
||||
|
||||
|
||||
@@ -694,30 +694,38 @@ Window &Window::operator<<(Color color)
|
||||
|
||||
Window &Window::operator<<(Format format)
|
||||
{
|
||||
static int bold_num = 0, reverse_num = 0, altcharset_num = 0;
|
||||
|
||||
switch (format)
|
||||
{
|
||||
case fmtNone:
|
||||
Bold(0);
|
||||
Reverse(0);
|
||||
AltCharset(0);
|
||||
Bold((bold_num = 0));
|
||||
Reverse((reverse_num = 0));
|
||||
AltCharset((altcharset_num = 0));
|
||||
break;
|
||||
case fmtBold:
|
||||
Bold(1);
|
||||
Bold(++bold_num);
|
||||
break;
|
||||
case fmtBoldEnd:
|
||||
Bold(0);
|
||||
// FIXME: No idea why this needs to de disabled at 1 :X
|
||||
// Probably a mistake somewhere in the code, but for now
|
||||
// I was not able to find it
|
||||
if (--bold_num <= 1)
|
||||
Bold((bold_num = 0));
|
||||
break;
|
||||
case fmtReverse:
|
||||
Reverse(1);
|
||||
Reverse(++reverse_num);
|
||||
break;
|
||||
case fmtReverseEnd:
|
||||
Reverse(0);
|
||||
if (--reverse_num <= 0)
|
||||
Reverse((reverse_num = 0));
|
||||
break;
|
||||
case fmtAltCharset:
|
||||
AltCharset(1);
|
||||
AltCharset(++altcharset_num);
|
||||
break;
|
||||
case fmtAltCharsetEnd:
|
||||
AltCharset(0);
|
||||
if (--altcharset_num <= 0)
|
||||
AltCharset((altcharset_num = 0));
|
||||
break;
|
||||
}
|
||||
return *this;
|
||||
|
||||
Reference in New Issue
Block a user