display: pass screen to functions by pointer

This commit is contained in:
Andrzej Rybczak
2012-09-05 20:52:33 +02:00
parent eff1d672b9
commit 10e88ec6b4
6 changed files with 19 additions and 16 deletions

View File

@@ -1117,12 +1117,15 @@ void ToggleDisplayMode::Run()
if (Config.columns_in_playlist)
{
myPlaylist->Items->setItemDisplayer(std::bind(Display::SongsInColumns, _1, *myPlaylist));
myPlaylist->Items->setTitle(Config.titles_visibility ? Display::Columns(myPlaylist->Items->getWidth()) : "");
myPlaylist->Items->setItemDisplayer(std::bind(Display::SongsInColumns, _1, myPlaylist));
if (Config.titles_visibility)
myPlaylist->Items->setTitle(Display::Columns(myPlaylist->Items->getWidth()));
else
myPlaylist->Items->setTitle("");
}
else
{
myPlaylist->Items->setItemDisplayer(std::bind(Display::Songs, _1, *myPlaylist, Config.song_list_format));
myPlaylist->Items->setItemDisplayer(std::bind(Display::Songs, _1, myPlaylist, Config.song_list_format));
myPlaylist->Items->setTitle("");
}
}
@@ -1144,9 +1147,9 @@ void ToggleDisplayMode::Run()
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(std::bind(Display::SongsInColumns, _1, *myPlaylistEditor));
myPlaylistEditor->Content->setItemDisplayer(std::bind(Display::SongsInColumns, _1, myPlaylistEditor));
else
myPlaylistEditor->Content->setItemDisplayer(std::bind(Display::Songs, _1, *myPlaylistEditor, Config.song_list_format));
myPlaylistEditor->Content->setItemDisplayer(std::bind(Display::Songs, _1, myPlaylistEditor, Config.song_list_format));
}
}

View File

@@ -336,14 +336,14 @@ std::string Display::Columns(size_t list_width)
return result;
}
void Display::SongsInColumns(NC::Menu<MPD::Song> &menu, HasSongs &screen)
void Display::SongsInColumns(NC::Menu<MPD::Song> &menu, HasSongs *screen)
{
showSongsInColumns(menu, menu.drawn()->value(), screen);
showSongsInColumns(menu, menu.drawn()->value(), *screen);
}
void Display::Songs(NC::Menu<MPD::Song> &menu, HasSongs &screen, const std::string &format)
void Display::Songs(NC::Menu<MPD::Song> &menu, HasSongs *screen, const std::string &format)
{
showSongs(menu, menu.drawn()->value(), screen, format);
showSongs(menu, menu.drawn()->value(), *screen, format);
}
void Display::Tags(NC::Menu<MPD::MutableSong> &menu)

View File

@@ -40,9 +40,9 @@ namespace Display
menu << menu.drawn()->value().first;
}
void SongsInColumns(NC::Menu<MPD::Song> &menu, HasSongs &screen);
void SongsInColumns(NC::Menu<MPD::Song> &menu, HasSongs *screen);
void Songs(NC::Menu<MPD::Song> &menu, HasSongs &screen, const std::string &format);
void Songs(NC::Menu<MPD::Song> &menu, HasSongs *screen, const std::string &format);
void Tags(NC::Menu<MPD::MutableSong> &menu);

View File

@@ -107,7 +107,7 @@ void MediaLibrary::Init()
Songs->centeredCursor(Config.centered_cursor);
Songs->setSelectedPrefix(Config.selected_item_prefix);
Songs->setSelectedSuffix(Config.selected_item_suffix);
Songs->setItemDisplayer(std::bind(Display::Songs, _1, *this, Config.song_library_format));
Songs->setItemDisplayer(std::bind(Display::Songs, _1, this, Config.song_library_format));
w = Tags;
isInitialized = 1;

View File

@@ -63,9 +63,9 @@ void Playlist::Init()
Items->setSelectedPrefix(Config.selected_item_prefix);
Items->setSelectedSuffix(Config.selected_item_suffix);
if (Config.columns_in_playlist)
Items->setItemDisplayer(std::bind(Display::SongsInColumns, _1, *this));
Items->setItemDisplayer(std::bind(Display::SongsInColumns, _1, this));
else
Items->setItemDisplayer(std::bind(Display::Songs, _1, *this, Config.song_list_format));
Items->setItemDisplayer(std::bind(Display::Songs, _1, this, Config.song_list_format));
if (!SortDialog)
{

View File

@@ -73,9 +73,9 @@ void PlaylistEditor::Init()
Content->setSelectedPrefix(Config.selected_item_prefix);
Content->setSelectedSuffix(Config.selected_item_suffix);
if (Config.columns_in_playlist_editor)
Content->setItemDisplayer(std::bind(Display::SongsInColumns, _1, *this));
Content->setItemDisplayer(std::bind(Display::SongsInColumns, _1, this));
else
Content->setItemDisplayer(std::bind(Display::Songs, _1, *this, Config.song_list_format));
Content->setItemDisplayer(std::bind(Display::Songs, _1, this, Config.song_list_format));
w = Playlists;
isInitialized = 1;