Pass Settings to CRT_init

Resolve todo
This commit is contained in:
Christian Göttsche 2021-01-27 17:14:15 +01:00
parent 211121f060
commit 6dba60f6bd
3 changed files with 7 additions and 8 deletions

10
CRT.c
View File

@ -687,14 +687,12 @@ void CRT_restorePrivileges() {
static struct sigaction old_sig_handler[32]; static struct sigaction old_sig_handler[32];
// TODO: pass an instance of Settings instead. void CRT_init(const Settings* settings, bool allowUnicode) {
void CRT_init(const int* delay, int colorScheme, bool allowUnicode) {
initscr(); initscr();
noecho(); noecho();
CRT_delay = delay; CRT_delay = &(settings->delay);
CRT_colors = CRT_colorSchemes[colorScheme]; CRT_colors = CRT_colorSchemes[settings->colorScheme];
CRT_colorScheme = colorScheme; CRT_colorScheme = settings->colorScheme;
for (int i = 0; i < LAST_COLORELEMENT; i++) { for (int i = 0; i < LAST_COLORELEMENT; i++) {
unsigned int color = CRT_colorSchemes[COLORSCHEME_DEFAULT][i]; unsigned int color = CRT_colorSchemes[COLORSCHEME_DEFAULT][i];

3
CRT.h
View File

@ -13,6 +13,7 @@ in the source distribution for its full text.
#include "Macros.h" #include "Macros.h"
#include "ProvideCurses.h" #include "ProvideCurses.h"
#include "Settings.h"
typedef enum TreeStr_ { typedef enum TreeStr_ {
@ -173,7 +174,7 @@ static inline void CRT_restorePrivileges(void) { }
#endif /* HAVE_SETUID_ENABLED */ #endif /* HAVE_SETUID_ENABLED */
void CRT_init(const int* delay, int colorScheme, bool allowUnicode); void CRT_init(const Settings* settings, bool allowUnicode);
void CRT_done(void); void CRT_done(void);

2
htop.c
View File

@ -441,7 +441,7 @@ int main(int argc, char** argv) {
Settings_setSortKey(settings, flags.sortKey); Settings_setSortKey(settings, flags.sortKey);
} }
CRT_init(&(settings->delay), settings->colorScheme, flags.allowUnicode); CRT_init(settings, flags.allowUnicode);
MainPanel* panel = MainPanel_new(); MainPanel* panel = MainPanel_new();
ProcessList_setPanel(pl, (Panel*) panel); ProcessList_setPanel(pl, (Panel*) panel);