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 = new Window(0, footer_start_y, COLS, footer_height, "", Config.statusbar_color, brNone);
|
||||||
wFooter->SetTimeout(ncmpcpp_window_timeout);
|
wFooter->SetTimeout(ncmpcpp_window_timeout);
|
||||||
wFooter->SetGetStringHelper(StatusbarGetStringHelper);
|
wFooter->SetGetStringHelper(StatusbarGetStringHelper);
|
||||||
wFooter->Display();
|
*wFooter << fmtBold; // bold by default
|
||||||
|
|
||||||
myScreen = myPlaylist;
|
myScreen = myPlaylist;
|
||||||
|
|
||||||
|
|||||||
@@ -694,30 +694,38 @@ Window &Window::operator<<(Color color)
|
|||||||
|
|
||||||
Window &Window::operator<<(Format format)
|
Window &Window::operator<<(Format format)
|
||||||
{
|
{
|
||||||
|
static int bold_num = 0, reverse_num = 0, altcharset_num = 0;
|
||||||
|
|
||||||
switch (format)
|
switch (format)
|
||||||
{
|
{
|
||||||
case fmtNone:
|
case fmtNone:
|
||||||
Bold(0);
|
Bold((bold_num = 0));
|
||||||
Reverse(0);
|
Reverse((reverse_num = 0));
|
||||||
AltCharset(0);
|
AltCharset((altcharset_num = 0));
|
||||||
break;
|
break;
|
||||||
case fmtBold:
|
case fmtBold:
|
||||||
Bold(1);
|
Bold(++bold_num);
|
||||||
break;
|
break;
|
||||||
case fmtBoldEnd:
|
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;
|
break;
|
||||||
case fmtReverse:
|
case fmtReverse:
|
||||||
Reverse(1);
|
Reverse(++reverse_num);
|
||||||
break;
|
break;
|
||||||
case fmtReverseEnd:
|
case fmtReverseEnd:
|
||||||
Reverse(0);
|
if (--reverse_num <= 0)
|
||||||
|
Reverse((reverse_num = 0));
|
||||||
break;
|
break;
|
||||||
case fmtAltCharset:
|
case fmtAltCharset:
|
||||||
AltCharset(1);
|
AltCharset(++altcharset_num);
|
||||||
break;
|
break;
|
||||||
case fmtAltCharsetEnd:
|
case fmtAltCharsetEnd:
|
||||||
AltCharset(0);
|
if (--altcharset_num <= 0)
|
||||||
|
AltCharset((altcharset_num = 0));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return *this;
|
return *this;
|
||||||
|
|||||||
Reference in New Issue
Block a user