discard custom colors of selected items also in classic display mode
This commit is contained in:
@@ -130,7 +130,7 @@ void Display::SongsInColumns(const MPD::Song &s, void *, Menu<MPD::Song> *menu)
|
||||
if (Config.columns.size() > 1)
|
||||
next2last = Config.columns.end()-2;
|
||||
|
||||
bool discard_colors = Config.discard_column_colors_if_item_is_selected && menu->isSelected(menu->CurrentlyDrawedPosition());
|
||||
bool discard_colors = Config.discard_colors_if_item_is_selected && menu->GetColor() != Config.main_color && menu->isSelected(menu->CurrentlyDrawedPosition());
|
||||
|
||||
for (it = Config.columns.begin(); it != Config.columns.end(); ++it)
|
||||
{
|
||||
@@ -243,6 +243,8 @@ void Display::Songs(const MPD::Song &s, void *data, Menu<MPD::Song> *menu)
|
||||
if (is_now_playing)
|
||||
*menu << Config.now_playing_prefix;
|
||||
|
||||
bool discard_colors = Config.discard_colors_if_item_is_selected && menu->GetColor() != Config.main_color && menu->isSelected(menu->CurrentlyDrawedPosition());
|
||||
|
||||
std::string line = s.toString(*static_cast<std::string *>(data), "$");
|
||||
for (std::string::const_iterator it = line.begin(); it != line.end(); ++it)
|
||||
{
|
||||
@@ -255,7 +257,8 @@ void Display::Songs(const MPD::Song &s, void *data, Menu<MPD::Song> *menu)
|
||||
}
|
||||
else if (isdigit(*it)) // color
|
||||
{
|
||||
*menu << Color(*it-'0');
|
||||
if (!discard_colors)
|
||||
*menu << Color(*it-'0');
|
||||
}
|
||||
else if (*it == 'R') // right align
|
||||
{
|
||||
@@ -264,7 +267,11 @@ void Display::Songs(const MPD::Song &s, void *data, Menu<MPD::Song> *menu)
|
||||
String2Buffer(TO_WSTRING(line.substr(it-line.begin()+1)), buf);
|
||||
if (is_now_playing)
|
||||
buf << Config.now_playing_suffix;
|
||||
*menu << XY(menu->GetWidth()-buf.Str().length()-(menu->isSelected(menu->CurrentlyDrawedPosition()) ? Config.selected_item_suffix_length : 0), menu->Y()) << buf;
|
||||
*menu << XY(menu->GetWidth()-buf.Str().length()-(menu->isSelected(menu->CurrentlyDrawedPosition()) ? Config.selected_item_suffix_length : 0), menu->Y());
|
||||
if (discard_colors)
|
||||
*menu << buf.Str();
|
||||
else
|
||||
*menu << buf;
|
||||
return;
|
||||
}
|
||||
else // not a color nor right align, just a random character
|
||||
|
||||
@@ -373,7 +373,7 @@ void DefaultConfiguration(ncmpcpp_config &conf)
|
||||
conf.browser_sort_by_mtime = false;
|
||||
conf.tag_editor_extended_numeration = false;
|
||||
conf.media_library_display_date = true;
|
||||
conf.discard_column_colors_if_item_is_selected = true;
|
||||
conf.discard_colors_if_item_is_selected = true;
|
||||
conf.set_window_title = true;
|
||||
conf.mpd_port = 6600;
|
||||
conf.mpd_connection_timeout = 15;
|
||||
@@ -953,9 +953,9 @@ void ReadConfiguration(ncmpcpp_config &conf)
|
||||
{
|
||||
conf.media_library_display_date = v == "yes";
|
||||
}
|
||||
else if (cl.find("discard_column_colors_if_item_is_selected") != std::string::npos)
|
||||
else if (cl.find("discard_colors_if_item_is_selected") != std::string::npos)
|
||||
{
|
||||
conf.discard_column_colors_if_item_is_selected = v == "yes";
|
||||
conf.discard_colors_if_item_is_selected = v == "yes";
|
||||
}
|
||||
else if (cl.find("enable_window_title") != std::string::npos)
|
||||
{
|
||||
|
||||
@@ -220,7 +220,7 @@ struct ncmpcpp_config
|
||||
bool browser_sort_by_mtime;
|
||||
bool tag_editor_extended_numeration;
|
||||
bool media_library_display_date;
|
||||
bool discard_column_colors_if_item_is_selected;
|
||||
bool discard_colors_if_item_is_selected;
|
||||
|
||||
int mpd_port;
|
||||
int mpd_connection_timeout;
|
||||
|
||||
Reference in New Issue
Block a user