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 | |
parent | b5c1981842402f6fe8d4c02176db923e1955175b (diff) | |
download | calcurse-17aa73b73fdb3181b2b2e696d094a04b8b95ed60.tar.gz 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')
-rw-r--r-- | src/calcurse.c | 51 | ||||
-rw-r--r-- | src/calcurse.h | 1 | ||||
-rw-r--r-- | src/custom.c | 55 |
3 files changed, 58 insertions, 49 deletions
diff --git a/src/calcurse.c b/src/calcurse.c index 756a79f..4216462 100644 --- a/src/calcurse.c +++ b/src/calcurse.c @@ -68,9 +68,6 @@ main (int argc, char **argv) int non_interactive; int no_data_file = 1; int cut_item = 0; - char *no_color_support = - _("Sorry, colors are not supported by your terminal\n" - "(Press [ENTER] to continue)"); char *quit_message = _("Do you really want to quit ?"); char choices[] = "[y/n] "; int count; @@ -242,52 +239,8 @@ main (int argc, char **argv) case KEY_GENERIC_CONFIG_MENU: wins_erase_status_bar (); - custom_config_bar (); - while ((key = wgetch (win[STA].p)) != 'q') - { - switch (key) - { - 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 (); - inday = do_storage (0); - } + custom_config_main (); + inday = do_storage (0); wins_update (FLAG_ALL); break; diff --git a/src/calcurse.h b/src/calcurse.h index e475627..c260ef6 100644 --- a/src/calcurse.h +++ b/src/calcurse.h @@ -644,6 +644,7 @@ void custom_confwin_init (struct window *, char *); void custom_set_swsiz (struct scrollwin *); void custom_general_config (void); void custom_keys_config (void); +void custom_config_main (void); /* day.c */ void day_free_list (void); 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 (); + } +} |