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

@@ -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;