Skip to content

Commit 08ee160

Browse files
committed
make DisplayOptionsPanel own its alternative bar
1 parent 5bb71f9 commit 08ee160

3 files changed

Lines changed: 5 additions & 17 deletions

File tree

CommandLine.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ in the source distribution for its full text.
3232
#include "Machine.h"
3333
#include "MainPanel.h"
3434
#include "MetersPanel.h"
35-
#include "DisplayOptionsPanel.h"
3635
#include "Panel.h"
3736
#include "Platform.h"
3837
#include "Process.h"
@@ -426,7 +425,6 @@ int CommandLine_run(int argc, char** argv) {
426425

427426
ScreenManager_delete(scr);
428427
MetersPanel_cleanup();
429-
DisplayOptionsPanel_cleanup();
430428

431429
UsersTable_delete(ut);
432430

DisplayOptionsPanel.c

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,18 +27,11 @@ static const char* const DisplayOptionsFunctions[] = {" ", " ", "
2727
static const char* const DisplayOptionsIncDecFunctions[] = {"Inc ", "Dec ", " ", "Done ", NULL};
2828
static const char* const DisplayOptionsIncDecKeys[] = {"+ ", "- ", " ", "F10", NULL};
2929
static const int DisplayOptionsIncDecEvents[] = {'+', '-', ERR, KEY_F(10)};
30-
static FunctionBar* DisplayOptions_incDecBar = NULL;
31-
32-
void DisplayOptionsPanel_cleanup(void) {
33-
if (DisplayOptions_incDecBar) {
34-
FunctionBar_delete(DisplayOptions_incDecBar);
35-
DisplayOptions_incDecBar = NULL;
36-
}
37-
}
3830

3931
static void DisplayOptionsPanel_delete(Object* object) {
4032
Panel* super = (Panel*) object;
4133
DisplayOptionsPanel* this = (DisplayOptionsPanel*) object;
34+
FunctionBar_delete(this->incDecBar);
4235
Panel_done(super);
4336
free(this);
4437
}
@@ -102,7 +95,7 @@ static HandlerResult DisplayOptionsPanel_eventHandler(Panel* super, int ch) {
10295
/* fallthrough */
10396
case EVENT_SET_SELECTED:
10497
if (OptionItem_kind(selected) == OPTION_ITEM_NUMBER) {
105-
super->currentBar = DisplayOptions_incDecBar;
98+
super->currentBar = this->incDecBar;
10699
} else {
107100
Panel_setDefaultBar(super);
108101
}
@@ -138,10 +131,7 @@ DisplayOptionsPanel* DisplayOptionsPanel_new(Settings* settings, ScreenManager*
138131
FunctionBar* fuBar = FunctionBar_new(DisplayOptionsFunctions, NULL, NULL);
139132
Panel_init(super, 1, 1, 1, 1, Class(OptionItem), true, fuBar);
140133

141-
if (!DisplayOptions_incDecBar) {
142-
DisplayOptions_incDecBar = FunctionBar_new(DisplayOptionsIncDecFunctions, DisplayOptionsIncDecKeys, DisplayOptionsIncDecEvents);
143-
}
144-
134+
this->incDecBar = FunctionBar_new(DisplayOptionsIncDecFunctions, DisplayOptionsIncDecKeys, DisplayOptionsIncDecEvents);
145135
this->settings = settings;
146136
this->scr = scr;
147137

DisplayOptionsPanel.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,19 @@ in the source distribution for its full text.
1010
#include "Panel.h"
1111
#include "ScreenManager.h"
1212
#include "Settings.h"
13+
#include "FunctionBar.h"
1314

1415

1516
typedef struct DisplayOptionsPanel_ {
1617
Panel super;
1718

1819
Settings* settings;
1920
ScreenManager* scr;
21+
FunctionBar* incDecBar;
2022
} DisplayOptionsPanel;
2123

2224
extern const PanelClass DisplayOptionsPanel_class;
2325

24-
void DisplayOptionsPanel_cleanup(void);
25-
2626
DisplayOptionsPanel* DisplayOptionsPanel_new(Settings* settings, ScreenManager* scr);
2727

2828
#endif

0 commit comments

Comments
 (0)