aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLukas Fleischer <lfleischer@calcurse.org>2017-09-03 16:30:39 +0200
committerLukas Fleischer <lfleischer@calcurse.org>2017-09-03 16:37:35 +0200
commit53f0f1d2e375ed800fe9235d359a119f0eee592e (patch)
tree024fb7cdb29e35df2c9d9c75a6f981d1d7dbba87
parent8373ecfe5137a42035ce472eb47e84391b10a2c4 (diff)
downloadcalcurse-53f0f1d2e375ed800fe9235d359a119f0eee592e.tar.gz
calcurse-53f0f1d2e375ed800fe9235d359a119f0eee592e.zip
Add a function to wait for any key press
Introduce a new function keys_wait_for_any_key() and use it instead of wgetch() whenever the return value is discarded. Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
-rw-r--r--src/calcurse.h1
-rw-r--r--src/custom.c2
-rw-r--r--src/io.c14
-rw-r--r--src/keys.c5
-rw-r--r--src/ui-calendar.c2
-rw-r--r--src/ui-day.c28
-rw-r--r--src/utils.c6
7 files changed, 32 insertions, 26 deletions
diff --git a/src/calcurse.h b/src/calcurse.h
index f9439b7..10e60aa 100644
--- a/src/calcurse.h
+++ b/src/calcurse.h
@@ -873,6 +873,7 @@ void keys_dump_defaults(char *);
const char *keys_get_label(enum key);
enum key keys_get_action(int);
int keys_wgetch(WINDOW *);
+void keys_wait_for_any_key(WINDOW *);
enum key keys_get(WINDOW *, int *, int *);
int keys_assign_binding(int, enum key);
void keys_remove_binding(int, enum key);
diff --git a/src/custom.c b/src/custom.c
index 8688245..8201ffa 100644
--- a/src/custom.c
+++ b/src/custom.c
@@ -1102,7 +1102,7 @@ void custom_config_main(void)
colorize = 0;
wins_erase_status_bar();
mvwaddstr(win[STA].p, 0, 0, no_color_support);
- wgetch(win[KEY].p);
+ keys_wait_for_any_key(win[KEY].p);
}
break;
case 'L':
diff --git a/src/io.c b/src/io.c
index 6f87407..ac3836e 100644
--- a/src/io.c
+++ b/src/io.c
@@ -182,7 +182,7 @@ static FILE *get_export_stream(enum export_type type)
stream = fopen(stream_name, "w");
if (stream == NULL) {
status_mesg(wrong_name, press_enter);
- wgetch(win[KEY].p);
+ keys_wait_for_any_key(win[KEY].p);
}
}
@@ -470,7 +470,7 @@ void io_save_cal(enum save_display display)
if (ui_mode == UI_CURSES && display == IO_SAVE_DISPLAY_BAR &&
show_dialogs()) {
status_mesg(save_success, enter);
- wgetch(win[KEY].p);
+ keys_wait_for_any_key(win[KEY].p);
}
pthread_mutex_unlock(&io_save_mutex);
@@ -873,7 +873,7 @@ void io_reload_data(void)
if (show_dialogs()) {
status_mesg(reload_success, enter);
- wgetch(win[KEY].p);
+ keys_wait_for_any_key(win[KEY].p);
}
if (notify_bar())
@@ -1157,7 +1157,7 @@ void io_startup_screen(int no_data_file)
status_mesg(_("Data files found. Data will be loaded now."),
enter);
- wgetch(win[KEY].p);
+ keys_wait_for_any_key(win[KEY].p);
}
/* Export calcurse data. */
@@ -1192,7 +1192,7 @@ void io_export_data(enum export_type type, int export_uid)
if (show_dialogs() && ui_mode == UI_CURSES) {
status_mesg(success, enter);
- wgetch(win[KEY].p);
+ keys_wait_for_any_key(win[KEY].p);
}
}
@@ -1217,7 +1217,7 @@ static FILE *get_import_stream(enum import_type type)
stream = fopen(stream_name, "r");
if (stream == NULL) {
status_mesg(wrong_file, press_enter);
- wgetch(win[KEY].p);
+ keys_wait_for_any_key(win[KEY].p);
}
}
mem_free(stream_name);
@@ -1305,7 +1305,7 @@ void io_import_data(enum import_type type, const char *stream_name,
status_mesg(read, stat);
mem_free(read);
mem_free(stat);
- wgetch(win[KEY].p);
+ keys_wait_for_any_key(win[KEY].p);
} else if (ui_mode == UI_CMDLINE && show_dialogs()) {
printf(proc_report, stats.lines);
printf("\n%s / %s / %s / %s\n", stats_str[0], stats_str[1],
diff --git a/src/keys.c b/src/keys.c
index 6dad43e..40c3188 100644
--- a/src/keys.c
+++ b/src/keys.c
@@ -239,6 +239,11 @@ int keys_wgetch(WINDOW *win)
}
+void keys_wait_for_any_key(WINDOW *win)
+{
+ keys_wgetch(win);
+}
+
enum key keys_get(WINDOW *win, int *count, int *reg)
{
int ch = '0';
diff --git a/src/ui-calendar.c b/src/ui-calendar.c
index c412dc0..419f7da 100644
--- a/src/ui-calendar.c
+++ b/src/ui-calendar.c
@@ -658,7 +658,7 @@ void ui_calendar_change_day(int datefmt)
}
if (wrong_day) {
status_mesg(mesg_line1, mesg_line2);
- wgetch(win[KEY].p);
+ keys_wait_for_any_key(win[KEY].p);
}
}
}
diff --git a/src/ui-day.c b/src/ui-day.c
index ab588fd..9ec0bc8 100644
--- a/src/ui-day.c
+++ b/src/ui-day.c
@@ -76,7 +76,7 @@ static int day_edit_time(int time)
if (parse_datetime(input, &ts))
return ts;
status_mesg(fmt_msg, enter_str);
- wgetch(win[KEY].p);
+ keys_wait_for_any_key(win[KEY].p);
}
}
@@ -122,7 +122,7 @@ static int day_edit_duration(int start, int dur, unsigned *new_duration)
break;
}
status_mesg(fmt_msg, enter_str);
- wgetch(win[KEY].p);
+ keys_wait_for_any_key(win[KEY].p);
}
mem_free(timestr);
@@ -152,7 +152,7 @@ static void update_start_time(long *start, long *dur, int update_dur)
valid_date = 1;
} else {
status_mesg(msg_wrong_time, msg_enter);
- wgetch(win[KEY].p);
+ keys_wait_for_any_key(win[KEY].p);
valid_date = 0;
}
}
@@ -250,7 +250,7 @@ static void update_rept(struct rpt **rpt, const long start)
newfreq = atoi(freqstr);
if (newfreq == 0) {
status_mesg(msg_wrong_freq, msg_enter);
- wgetch(win[KEY].p);
+ keys_wait_for_any_key(win[KEY].p);
}
}
while (newfreq == 0);
@@ -284,7 +284,7 @@ static void update_rept(struct rpt **rpt, const long start)
DATEFMT_DESC(conf.input_datefmt));
status_mesg(msg_wrong_date, outstr);
mem_free(outstr);
- wgetch(win[KEY].p);
+ keys_wait_for_any_key(win[KEY].p);
continue;
}
t = start;
@@ -301,7 +301,7 @@ static void update_rept(struct rpt **rpt, const long start)
DATEFMT_DESC(conf.input_datefmt));
status_mesg(msg_wrong_date, outstr);
mem_free(outstr);
- wgetch(win[KEY].p);
+ keys_wait_for_any_key(win[KEY].p);
continue;
}
t = start;
@@ -314,7 +314,7 @@ static void update_rept(struct rpt **rpt, const long start)
if (newuntil >= start)
break;
status_mesg(msg_wrong_time, msg_enter);
- wgetch(win[KEY].p);
+ keys_wait_for_any_key(win[KEY].p);
}
(*rpt)->type = recur_char2def(newtype);
@@ -542,7 +542,7 @@ void ui_day_item_add(void)
if (ret)
break;
status_mesg(format_message_1, enter_str);
- wgetch(win[KEY].p);
+ keys_wait_for_any_key(win[KEY].p);
}
/*
@@ -581,7 +581,7 @@ void ui_day_item_add(void)
break;
}
status_mesg(format_message_2, enter_str);
- wgetch(win[KEY].p);
+ keys_wait_for_any_key(win[KEY].p);
}
}
@@ -728,7 +728,7 @@ void ui_day_item_repeat(void)
p = day_get_item(item_nb);
if (p->type != APPT && p->type != EVNT) {
status_mesg(wrong_type_1, wrong_type_2);
- wgetch(win[KEY].p);
+ keys_wait_for_any_key(win[KEY].p);
goto cleanup;
}
@@ -757,7 +757,7 @@ void ui_day_item_repeat(void)
freq = atoi(user_input);
if (freq == 0) {
status_mesg(mesg_wrong_freq, wrong_type_2);
- wgetch(win[KEY].p);
+ keys_wait_for_any_key(win[KEY].p);
}
user_input[0] = '\0';
}
@@ -780,7 +780,7 @@ void ui_day_item_repeat(void)
DATEFMT_DESC(conf.input_datefmt));
status_mesg(mesg_wrong_1, outstr);
mem_free(outstr);
- wgetch(win[KEY].p);
+ keys_wait_for_any_key(win[KEY].p);
continue;
}
t = p->start;
@@ -802,7 +802,7 @@ void ui_day_item_repeat(void)
DATEFMT_DESC(conf.input_datefmt));
status_mesg(mesg_wrong_1, outstr);
mem_free(outstr);
- wgetch(win[KEY].p);
+ keys_wait_for_any_key(win[KEY].p);
continue;
}
@@ -810,7 +810,7 @@ void ui_day_item_repeat(void)
if (until >= p->start)
break;
status_mesg(mesg_older, wrong_type_2);
- wgetch(win[KEY].p);
+ keys_wait_for_any_key(win[KEY].p);
}
date = ui_calendar_get_slctd_day_sec();
diff --git a/src/utils.c b/src/utils.c
index 4719add..e922997 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -145,7 +145,7 @@ void fatalbox(const char *errmsg)
mvwaddstr(errwin, 5, (WINCOL - strlen(msg)) / 2, msg);
custom_remove_attr(errwin, ATTR_HIGHEST);
wins_wrefresh(errwin);
- wgetch(errwin);
+ keys_wait_for_any_key(errwin);
delwin(errwin);
wins_doupdate();
}
@@ -172,7 +172,7 @@ void warnbox(const char *msg)
mvwaddstr(warnwin, 5, (WINCOL - strlen(displmsg)) / 2, displmsg);
custom_remove_attr(warnwin, ATTR_HIGHEST);
wins_wrefresh(warnwin);
- wgetch(warnwin);
+ keys_wait_for_any_key(warnwin);
delwin(warnwin);
wins_doupdate();
}
@@ -614,7 +614,7 @@ item_in_popup(const char *a_start, const char *a_end, const char *msg,
wmove(win[STA].p, 0, 0);
pnoutrefresh(pad, 0, 0, margin_top + 2, margin_left, padl, winw);
wins_doupdate();
- wgetch(popup_win);
+ keys_wait_for_any_key(popup_win);
delwin(pad);
delwin(popup_win);
}