diff options
author | Daniel Lange <DLange@git.local> | 2021-01-11 20:43:27 +0100 |
---|---|---|
committer | Daniel Lange <DLange@git.local> | 2021-01-11 20:43:27 +0100 |
commit | c55320e9e2a8916e911bcd39ab37b79e3a7d03b2 (patch) | |
tree | d6be9a09fdf7d6dc155de3429a70697ee2bb43b0 /ColorsPanel.c | |
parent | 65357c8c46154de4e4eca14075bfe5523bb5fc14 (diff) | |
download | debian_htop-c55320e9e2a8916e911bcd39ab37b79e3a7d03b2.tar.gz debian_htop-c55320e9e2a8916e911bcd39ab37b79e3a7d03b2.tar.bz2 debian_htop-c55320e9e2a8916e911bcd39ab37b79e3a7d03b2.zip |
New upstream version 3.0.5upstream/3.0.5
Diffstat (limited to 'ColorsPanel.c')
-rw-r--r-- | ColorsPanel.c | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/ColorsPanel.c b/ColorsPanel.c index 2fb1c92..c076adc 100644 --- a/ColorsPanel.c +++ b/ColorsPanel.c @@ -60,26 +60,21 @@ static HandlerResult ColorsPanel_eventHandler(Panel* super, int ch) { case KEY_MOUSE: case KEY_RECLICK: case ' ': + assert(mark >= 0); + assert(mark < LAST_COLORSCHEME); for (int i = 0; ColorSchemeNames[i] != NULL; i++) CheckItem_set((CheckItem*)Panel_get(super, i), false); CheckItem_set((CheckItem*)Panel_get(super, mark), true); this->settings->colorScheme = mark; - result = HANDLED; - } - - if (result == HANDLED) { this->settings->changed = true; - const Header* header = this->scr->header; + CRT_setColors(mark); clear(); - Panel* menu = (Panel*) Vector_get(this->scr->panels, 0); - Header_draw(header); - FunctionBar_draw(super->currentBar); - RichString_setAttr(&(super->header), CRT_colors[PANEL_HEADER_FOCUS]); - RichString_setAttr(&(menu->header), CRT_colors[PANEL_HEADER_UNFOCUS]); - ScreenManager_resize(this->scr, this->scr->x1, header->height, this->scr->x2, this->scr->y2); + + result = HANDLED | REDRAW; } + return result; } @@ -100,6 +95,8 @@ ColorsPanel* ColorsPanel_new(Settings* settings, ScreenManager* scr) { this->settings = settings; this->scr = scr; + assert(ARRAYSIZE(ColorSchemeNames) == LAST_COLORSCHEME + 1); + Panel_setHeader(super, "Colors"); for (int i = 0; ColorSchemeNames[i] != NULL; i++) { Panel_add(super, (Object*) CheckItem_newByVal(ColorSchemeNames[i], false)); |