diff options
author | Lukas Fleischer <calcurse@cryptocrack.de> | 2012-02-20 19:23:25 +0100 |
---|---|---|
committer | Lukas Fleischer <calcurse@cryptocrack.de> | 2012-03-02 09:43:06 +0100 |
commit | 17aa73b73fdb3181b2b2e696d094a04b8b95ed60 (patch) | |
tree | 485ac44d1902bd8396a6b98a5a69800ec03f1472 /src/custom.c | |
parent | b5c1981842402f6fe8d4c02176db923e1955175b (diff) | |
download | calcurse-17aa73b73fdb3181b2b2e696d094a04b8b95ed60.zip |
Break out configuration main menu
This was the only big block of code left in our main loop. Move it to a
separate function, making the main loop a bit clearer.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
Diffstat (limited to 'src/custom.c')
-rw-r--r-- | src/custom.c | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/custom.c b/src/custom.c index 6dc6f04..d242b7f 100644 --- a/src/custom.c +++ b/src/custom.c @@ -1097,3 +1097,58 @@ custom_keys_config (void) wins_scrollwin_display (&kwin); } } + +void +custom_config_main (void) +{ + char *no_color_support = + _("Sorry, colors are not supported by your terminal\n" + "(Press [ENTER] to continue)"); + int ch; + + custom_config_bar (); + while ((ch = wgetch (win[STA].p)) != 'q') + { + switch (ch) + { + case 'C': + case 'c': + if (has_colors ()) + custom_color_config (); + else + { + colorize = 0; + wins_erase_status_bar (); + mvwprintw (win[STA].p, 0, 0, _(no_color_support)); + wgetch (win[STA].p); + } + break; + case 'L': + case 'l': + custom_layout_config (); + break; + case 'G': + case 'g': + custom_general_config (); + break; + case 'N': + case 'n': + notify_config_bar (); + break; + case 'K': + case 'k': + custom_keys_config (); + break; + case 's': + case 'S': + custom_sidebar_config (); + break; + default: + continue; + } + wins_reset (); + wins_update (FLAG_ALL); + wins_erase_status_bar (); + custom_config_bar (); + } +} |