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) #search_engine_display_mode = "classic" (classic/columns)
# #
#playlist_editor_display_mode = "classic" (classic/columns)
#
#discard_colors_if_item_is_selected = "yes" #discard_colors_if_item_is_selected = "yes"
# #
#incremental_seeking = "yes" #incremental_seeking = "yes"

View File

@@ -192,6 +192,9 @@ 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 playlist_editor_display_mode = classic/columns
Default display mode for Playlist editor.
.TP
.B discard_colors_if_item_is_selected = yes/no .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. Indicates whether custom colors of tags have to be discarded if item is selected or not.
.TP .TP

View File

@@ -1399,6 +1399,21 @@ int main(int argc, char *argv[])
if (mySearcher->Main()->Size() > SearchEngine::StaticOptions) if (mySearcher->Main()->Size() > SearchEngine::StaticOptions)
mySearcher->Main()->SetTitle(Config.columns_in_search_engine && Config.titles_visibility ? Display::Columns(mySearcher->Main()->GetWidth()) : ""); 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)) else if (Keypressed(input, Key.ToggleSeparatorsInPlaylist))
{ {

View File

@@ -60,9 +60,9 @@ void PlaylistEditor::Init()
Content->CenteredCursor(Config.centered_cursor); Content->CenteredCursor(Config.centered_cursor);
Content->SetSelectPrefix(&Config.selected_item_prefix); Content->SetSelectPrefix(&Config.selected_item_prefix);
Content->SetSelectSuffix(&Config.selected_item_suffix); 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->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); Content->SetGetStringFunctionUserData(&Config.song_list_format_dollar_free);
w = Playlists; w = Playlists;

View File

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

View File

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