playlist editor: add support for columns display mode

This commit is contained in:
Andrzej Rybczak
2011-11-13 16:43:53 +01:00
parent 4cd95d6c8d
commit 00a7743a34
6 changed files with 28 additions and 2 deletions

View File

@@ -258,6 +258,8 @@
#
#search_engine_display_mode = "classic" (classic/columns)
#
#playlist_editor_display_mode = "classic" (classic/columns)
#
#discard_colors_if_item_is_selected = "yes"
#
#incremental_seeking = "yes"

View File

@@ -192,6 +192,9 @@ Default display mode for Browser.
.B search_engine_display_mode = classic/columns
Default display mode for Search engine.
.TP
.B playlist_editor_display_mode = classic/columns
Default display mode for Playlist editor.
.TP
.B discard_colors_if_item_is_selected = yes/no
Indicates whether custom colors of tags have to be discarded if item is selected or not.
.TP

View File

@@ -1399,6 +1399,21 @@ int main(int argc, char *argv[])
if (mySearcher->Main()->Size() > SearchEngine::StaticOptions)
mySearcher->Main()->SetTitle(Config.columns_in_search_engine && Config.titles_visibility ? Display::Columns(mySearcher->Main()->GetWidth()) : "");
}
else if (myScreen->ActiveWindow() == myPlaylistEditor->Content)
{
Config.columns_in_playlist_editor = !Config.columns_in_playlist_editor;
ShowMessage("Playlist editor display mode: %s", Config.columns_in_playlist_editor ? "Columns" : "Classic");
if (Config.columns_in_playlist_editor)
{
myPlaylistEditor->Content->SetItemDisplayer(Display::SongsInColumns);
myPlaylistEditor->Content->SetGetStringFunction(Playlist::SongInColumnsToString);
}
else
{
myPlaylistEditor->Content->SetItemDisplayer(Display::Songs);
myPlaylistEditor->Content->SetGetStringFunction(Playlist::SongToString);
}
}
}
else if (Keypressed(input, Key.ToggleSeparatorsInPlaylist))
{

View File

@@ -60,9 +60,9 @@ void PlaylistEditor::Init()
Content->CenteredCursor(Config.centered_cursor);
Content->SetSelectPrefix(&Config.selected_item_prefix);
Content->SetSelectSuffix(&Config.selected_item_suffix);
Content->SetItemDisplayer(Display::Songs);
Content->SetItemDisplayer(Config.columns_in_playlist_editor ? Display::SongsInColumns : Display::Songs);
Content->SetItemDisplayerUserData(&sf);
Content->SetGetStringFunction(Playlist::SongToString);
Content->SetGetStringFunction(Config.columns_in_playlist_editor ? Playlist::SongInColumnsToString : Playlist::SongToString);
Content->SetGetStringFunctionUserData(&Config.song_list_format_dollar_free);
w = Playlists;

View File

@@ -405,6 +405,7 @@ void NcmpcppConfig::SetDefaults()
columns_in_playlist = false;
columns_in_browser = false;
columns_in_search_engine = false;
columns_in_playlist_editor = false;
header_visibility = true;
header_text_scrolling = true;
statusbar_visibility = true;
@@ -932,6 +933,10 @@ void NcmpcppConfig::Read()
{
columns_in_search_engine = v == "columns";
}
else if (name == "playlist_editor_display_mode")
{
columns_in_playlist_editor = v == "columns";
}
else if (name == "header_visibility")
{
header_visibility = v == "yes";

View File

@@ -215,6 +215,7 @@ struct NcmpcppConfig
bool columns_in_playlist;
bool columns_in_browser;
bool columns_in_search_engine;
bool columns_in_playlist_editor;
bool set_window_title;
bool header_visibility;
bool header_text_scrolling;