X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fscreen_list.c;h=5a9f0d7a96517c93699108442785176be9fe6256;hb=2b171daac0ab6ac161514aeaa521fdd51e3f09c6;hp=4afbceac04ff5a55dbfc8b429020770fac77688d;hpb=0796b270b1699336f29908d11bca92d64da0653c;p=ncmpc.git diff --git a/src/screen_list.c b/src/screen_list.c index 4afbcea..5a9f0d7 100644 --- a/src/screen_list.c +++ b/src/screen_list.c @@ -1,21 +1,21 @@ /* ncmpc (Ncurses MPD Client) - * (c) 2004-2010 The Music Player Daemon Project + * (c) 2004-2017 The Music Player Daemon Project * Project homepage: http://musicpd.org - + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ + */ #include "screen_list.h" #include "screen_interface.h" @@ -29,6 +29,7 @@ #include "screen_keydef.h" #include "screen_lyrics.h" #include "screen_outputs.h" +#include "screen_chat.h" #include @@ -60,16 +61,15 @@ static const struct #ifdef ENABLE_OUTPUTS_SCREEN { "outputs", &screen_outputs }, #endif +#ifdef ENABLE_CHAT_SCREEN + { "chat", &screen_chat }, +#endif }; -static const unsigned NUM_SCREENS = sizeof(screens) / sizeof(screens[0]); - void screen_list_init(WINDOW *w, unsigned cols, unsigned rows) { - unsigned i; - - for (i = 0; i < NUM_SCREENS; ++i) { + for (unsigned i = 0; i < G_N_ELEMENTS(screens); ++i) { const struct screen_functions *sf = screens[i].functions; if (sf->init) @@ -80,9 +80,7 @@ screen_list_init(WINDOW *w, unsigned cols, unsigned rows) void screen_list_exit(void) { - unsigned i; - - for (i = 0; i < NUM_SCREENS; ++i) { + for (unsigned i = 0; i < G_N_ELEMENTS(screens); ++i) { const struct screen_functions *sf = screens[i].functions; if (sf->exit) @@ -93,9 +91,7 @@ screen_list_exit(void) void screen_list_resize(unsigned cols, unsigned rows) { - unsigned i; - - for (i = 0; i < NUM_SCREENS; ++i) { + for (unsigned i = 0; i < G_N_ELEMENTS(screens); ++i) { const struct screen_functions *sf = screens[i].functions; if (sf->resize) @@ -106,9 +102,7 @@ screen_list_resize(unsigned cols, unsigned rows) const char * screen_get_name(const struct screen_functions *sf) { - unsigned i; - - for (i = 0; i < NUM_SCREENS; ++i) + for (unsigned i = 0; i < G_N_ELEMENTS(screens); ++i) if (screens[i].functions == sf) return screens[i].name; @@ -118,9 +112,7 @@ screen_get_name(const struct screen_functions *sf) const struct screen_functions * screen_lookup_name(const char *name) { - unsigned i; - - for (i = 0; i < NUM_SCREENS; ++i) + for (unsigned i = 0; i < G_N_ELEMENTS(screens); ++i) if (strcmp(name, screens[i].name) == 0) return screens[i].functions;