summaryrefslogtreecommitdiffstats
path: root/src/calcurse.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/calcurse.c')
-rw-r--r--src/calcurse.c29
1 files changed, 14 insertions, 15 deletions
diff --git a/src/calcurse.c b/src/calcurse.c
index 00b7708..000436c 100644
--- a/src/calcurse.c
+++ b/src/calcurse.c
@@ -289,24 +289,23 @@ static inline void key_generic_import(void)
static inline void key_generic_export()
{
- int key;
+ const char *export_msg = _("Export to (i)cal or (p)cal format?");
+ const char *export_choices = _("[ip]");
+ const int nb_export_choices = 2;
wins_erase_status_bar();
- io_export_bar();
- while ((key = wgetch(win[STA].p)) != 'q') {
- switch (key) {
- case 'I':
- case 'i':
- io_export_data(IO_EXPORT_ICAL);
- case 'p':
- io_export_data(IO_EXPORT_PCAL);
- break;
- }
- wins_reset();
- wins_update(FLAG_ALL);
- wins_erase_status_bar();
- io_export_bar();
+
+ switch (status_ask_choice(export_msg, export_choices, nb_export_choices)) {
+ case 1:
+ io_export_data(IO_EXPORT_ICAL);
+ break;
+ case 2:
+ io_export_data(IO_EXPORT_PCAL);
+ break;
+ default: /* User escaped */
+ break;
}
+
inday = do_storage(0);
wins_update(FLAG_ALL);
}