From a3cced9fb615a1cfe0b334fc41dc785f1fb9aef5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20G=C3=B6ttsche?= Date: Mon, 28 Dec 2020 23:26:14 +0100 Subject: Add option to hide the Function Bar Support three settings: - Always show Function Bar - Always hide the Function Bar, except in Infoscreens (Env/Locks...) and when editing the search and filter mode - Hide the Function Bar on ESC until the next user input Closes: #439 --- Panel.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'Panel.c') diff --git a/Panel.c b/Panel.c index d59f3d6b..c76909cd 100644 --- a/Panel.c +++ b/Panel.c @@ -208,7 +208,7 @@ void Panel_splice(Panel* this, Vector* from) { this->needsRedraw = true; } -void Panel_draw(Panel* this, bool force_redraw, bool focus, bool highlightSelected) { +void Panel_draw(Panel* this, bool force_redraw, bool focus, bool highlightSelected, bool hideFunctionBar) { assert (this != NULL); int size = Vector_size(this->items); @@ -217,6 +217,9 @@ void Panel_draw(Panel* this, bool force_redraw, bool focus, bool highlightSelect int x = this->x; int h = this->h; + if (hideFunctionBar) + h++; + const int header_attr = focus ? CRT_colors[PANEL_HEADER_FOCUS] : CRT_colors[PANEL_HEADER_UNFOCUS]; @@ -319,8 +322,8 @@ void Panel_draw(Panel* this, bool force_redraw, bool focus, bool highlightSelect if (focus && (this->needsRedraw || force_redraw || !this->wasFocus)) { if (Panel_drawFunctionBarFn(this)) - Panel_drawFunctionBar(this); - else + Panel_drawFunctionBar(this, hideFunctionBar); + else if (!hideFunctionBar) FunctionBar_draw(this->currentBar); } -- cgit v1.2.3