discard custom colors of selected items also in classic display mode

This commit is contained in:
Andrzej Rybczak
2010-01-30 20:08:48 +01:00
parent 1b6acb3372
commit 2b39e6ed42
5 changed files with 17 additions and 10 deletions

View File

@@ -222,7 +222,7 @@
# #
#search_engine_display_mode = "classic" (classic/columns) #search_engine_display_mode = "classic" (classic/columns)
# #
#discard_column_colors_if_item_is_selected = "yes" #discard_colors_if_item_is_selected = "yes"
# #
#incremental_seeking = "yes" #incremental_seeking = "yes"
# #

View File

@@ -177,8 +177,8 @@ Default display mode for Browser.
.B search_engine_display_mode = classic/columns .B search_engine_display_mode = classic/columns
Default display mode for Search engine. Default display mode for Search engine.
.TP .TP
.B discard_column_colors_if_item_is_selected = yes/no .B discard_colors_if_item_is_selected = yes/no
Indicates whether colors in column view have to be discarded if item is selected or not. Indicates whether custom colors of tags have to be discarded if item is selected or not.
.TP .TP
.B header_visibility = yes/no .B header_visibility = yes/no
If enabled, header window will be displayed, otherwise hidden. If enabled, header window will be displayed, otherwise hidden.

View File

@@ -130,7 +130,7 @@ void Display::SongsInColumns(const MPD::Song &s, void *, Menu<MPD::Song> *menu)
if (Config.columns.size() > 1) if (Config.columns.size() > 1)
next2last = Config.columns.end()-2; 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) 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) if (is_now_playing)
*menu << Config.now_playing_prefix; *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), "$"); std::string line = s.toString(*static_cast<std::string *>(data), "$");
for (std::string::const_iterator it = line.begin(); it != line.end(); ++it) 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 else if (isdigit(*it)) // color
{ {
*menu << Color(*it-'0'); if (!discard_colors)
*menu << Color(*it-'0');
} }
else if (*it == 'R') // right align 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); String2Buffer(TO_WSTRING(line.substr(it-line.begin()+1)), buf);
if (is_now_playing) if (is_now_playing)
buf << Config.now_playing_suffix; 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; return;
} }
else // not a color nor right align, just a random character else // not a color nor right align, just a random character

View File

@@ -373,7 +373,7 @@ void DefaultConfiguration(ncmpcpp_config &conf)
conf.browser_sort_by_mtime = false; conf.browser_sort_by_mtime = false;
conf.tag_editor_extended_numeration = false; conf.tag_editor_extended_numeration = false;
conf.media_library_display_date = true; 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.set_window_title = true;
conf.mpd_port = 6600; conf.mpd_port = 6600;
conf.mpd_connection_timeout = 15; conf.mpd_connection_timeout = 15;
@@ -953,9 +953,9 @@ void ReadConfiguration(ncmpcpp_config &conf)
{ {
conf.media_library_display_date = v == "yes"; 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) else if (cl.find("enable_window_title") != std::string::npos)
{ {

View File

@@ -220,7 +220,7 @@ struct ncmpcpp_config
bool browser_sort_by_mtime; bool browser_sort_by_mtime;
bool tag_editor_extended_numeration; bool tag_editor_extended_numeration;
bool media_library_display_date; 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_port;
int mpd_connection_timeout; int mpd_connection_timeout;