Automatically select new appointments/events

This is a follow-up to commit 65b699f (Make automatic selection of
appointments/events smarter, 2016-02-16). Newly created appointments and
events are now selected automatically.

Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
This commit is contained in:
Lukas Fleischer 2016-09-28 19:00:01 +02:00
parent ab9256adf0
commit 1af9ccccd7
2 changed files with 11 additions and 10 deletions

View File

@ -120,7 +120,6 @@ static inline void key_generic_config_menu(void)
static inline void key_generic_add_appt(void) static inline void key_generic_add_appt(void)
{ {
ui_day_item_add(); ui_day_item_add();
do_storage(1);
wins_update(FLAG_CAL | FLAG_APP | FLAG_STA); wins_update(FLAG_CAL | FLAG_APP | FLAG_STA);
} }
@ -136,7 +135,6 @@ static inline void key_add_item(void)
case APP: case APP:
case CAL: case CAL:
ui_day_item_add(); ui_day_item_add();
do_storage(0);
wins_update(FLAG_CAL | FLAG_APP | FLAG_STA); wins_update(FLAG_CAL | FLAG_APP | FLAG_STA);
break; break;
case TOD: case TOD:

View File

@ -524,6 +524,7 @@ void ui_day_item_add(void)
unsigned apoint_duration; unsigned apoint_duration;
unsigned end_h, end_m; unsigned end_h, end_m;
int is_appointment = 1; int is_appointment = 1;
union aptev_ptr item;
/* Get the starting time */ /* Get the starting time */
for (;;) { for (;;) {
@ -580,26 +581,28 @@ void ui_day_item_add(void)
status_mesg(format_message_2, enter_str); status_mesg(format_message_2, enter_str);
wgetch(win[KEY].p); wgetch(win[KEY].p);
} }
} else {
heures = minutes = 0;
} }
status_mesg(mesg_3, ""); status_mesg(mesg_3, "");
if (getstring(win[STA].p, item_mesg, BUFSIZ, 0, 1) == if (getstring(win[STA].p, item_mesg, BUFSIZ, 0, 1) ==
GETSTRING_VALID) { GETSTRING_VALID) {
if (is_appointment) { apoint_start = date2sec(*ui_calendar_get_slctd_day(), heures,
apoint_start =
date2sec(*ui_calendar_get_slctd_day(), heures,
minutes); minutes);
apoint_new(item_mesg, 0L, apoint_start, if (is_appointment) {
item.apt = apoint_new(item_mesg, 0L, apoint_start,
min2sec(apoint_duration), 0L); min2sec(apoint_duration), 0L);
if (notify_bar()) if (notify_bar())
notify_check_added(item_mesg, apoint_start, notify_check_added(item_mesg, apoint_start,
0L); 0L);
} else { } else {
event_new(item_mesg, 0L, item.ev = event_new(item_mesg, 0L, apoint_start, 1);
date2sec(*ui_calendar_get_slctd_day(), 0,
0), 1);
} }
io_set_modified(); io_set_modified();
day_process_storage(ui_calendar_get_slctd_day(), 0);
ui_day_load_items();
ui_day_set_selitem_by_aptev_ptr(item);
} }
ui_calendar_monthly_view_cache_set_invalid(); ui_calendar_monthly_view_cache_set_invalid();