From 8dd694b56956a1c4ec3519743904222b465e10a5 Mon Sep 17 00:00:00 2001 From: Lars Henriksen Date: Thu, 13 Dec 2018 20:29:22 +0100 Subject: Simplify day storage The function day_process_storage() is a wrapper for day_store_items(). It has an unused second argument, and is only used twice to load the selected day. It has been removed. A new function, get_slctd_day(), is the equivalant of get_today() and replaces the very awkwardly named ui_calendar_get_slctd_day_sec(). Signed-off-by: Lukas Fleischer --- src/calcurse.c | 11 +++-------- src/calcurse.h | 3 +-- src/day.c | 25 +------------------------ src/ui-calendar.c | 6 ------ src/ui-day.c | 8 ++++---- src/utils.c | 6 ++++++ 6 files changed, 15 insertions(+), 44 deletions(-) diff --git a/src/calcurse.c b/src/calcurse.c index a6d54fd..d470661 100644 --- a/src/calcurse.c +++ b/src/calcurse.c @@ -48,18 +48,13 @@ int count, reg; */ static void do_storage(int day_changed) { + /* * Save the selected item before rebuilding the day vector. */ struct day_item *day = ui_day_selitem(); union aptev_ptr item; - - if (day) { - /* - * day_process_storage() rebuilds the vector of day items, so - * we need to save the reference to the actual item here. - */ + if (day) item = day->item; - } - day_process_storage(ui_calendar_get_slctd_day(), day_changed); + day_store_items(get_slctd_day(), 1); ui_day_load_items(); if (day_changed) diff --git a/src/calcurse.h b/src/calcurse.h index 3c9986f..6d6f205 100644 --- a/src/calcurse.h +++ b/src/calcurse.h @@ -773,7 +773,6 @@ unsigned ui_calendar_week_begins_on_monday(void); void ui_calendar_store_current_date(struct date *); void ui_calendar_init_slctd_day(void); struct date *ui_calendar_get_slctd_day(void); -time_t ui_calendar_get_slctd_day_sec(void); void ui_calendar_monthly_view_cache_set_invalid(void); void ui_calendar_update_panel(void); void ui_calendar_goto_today(void); @@ -807,7 +806,6 @@ int day_item_get_state(struct day_item *); void day_item_add_exc(struct day_item *, time_t); void day_item_fork(struct day_item *, struct day_item *); void day_store_items(time_t, int); -void day_process_storage(struct date *, unsigned); void day_display_item_date(struct day_item *, WINDOW *, int, time_t, int, int); void day_display_item(struct day_item *, WINDOW *, int, int, int, int); void day_write_stdout(time_t, const char *, const char *, const char *, @@ -1175,6 +1173,7 @@ long min2sec(unsigned); void draw_scrollbar(struct scrollwin *, int); void item_in_popup(const char *, const char *, const char *, const char *); time_t get_today(void); +time_t get_slctd_day(void); time_t now(void); char *nowstr(void); void print_bool_option_incolor(WINDOW *, unsigned, int, int); diff --git a/src/day.c b/src/day.c index 96b863a..c4d1cac 100644 --- a/src/day.c +++ b/src/day.c @@ -368,28 +368,6 @@ day_store_items(time_t date, int include_captions) day_items_nb = events + apts; } -/* - * Store the events and appointments for the selected day, and write - * those items in a pad. If selected day is null, then store items for current - * day. This is useful to speed up the appointment panel update. - */ -void day_process_storage(struct date *slctd_date, unsigned day_changed) -{ - struct date day; - - if (slctd_date) - day = *slctd_date; - else - ui_calendar_store_current_date(&day); - - /* Inits */ - if (apad.length != 0) - delwin(apad.ptrwin); - - /* Store the events and appointments (recursive and normal items). */ - day_store_items(date2sec(day, 0, 0), 1); -} - /* * Print an item date in the appointment panel. */ @@ -495,8 +473,7 @@ void day_popup_item(struct day_item *day) struct apoint apt_tmp; apt_tmp.start = day->start; apt_tmp.dur = day_item_get_duration(day); - apoint_sec2str(&apt_tmp, ui_calendar_get_slctd_day_sec(), - a_st, a_end); + apoint_sec2str(&apt_tmp, get_slctd_day(), a_st, a_end); item_in_popup(a_st, a_end, day_item_get_mesg(day), _("Appointment:")); diff --git a/src/ui-calendar.c b/src/ui-calendar.c index 20bfd09..5b8ab1f 100644 --- a/src/ui-calendar.c +++ b/src/ui-calendar.c @@ -193,12 +193,6 @@ struct date *ui_calendar_get_slctd_day(void) return &slctd_day; } -/* Returned value represents the selected day in calendar (in seconds) */ -time_t ui_calendar_get_slctd_day_sec(void) -{ - return date2sec(slctd_day, 0, 0); -} - static int ui_calendar_get_wday(struct date *date) { struct tm t; diff --git a/src/ui-day.c b/src/ui-day.c index 2df9cef..bb5063f 100644 --- a/src/ui-day.c +++ b/src/ui-day.c @@ -672,7 +672,7 @@ void ui_day_item_add(void) item.ev = event_new(item_mesg, 0L, start, 1); } io_set_modified(); - day_process_storage(ui_calendar_get_slctd_day(), 0); + day_store_items(get_slctd_day(), 1); ui_day_load_items(); ui_day_set_selitem_by_aptev_ptr(item); } @@ -734,7 +734,7 @@ void ui_day_item_delete(unsigned reg) break; case 2: if (p->type == RECUR_EVNT) { - date = ui_calendar_get_slctd_day_sec(); + date = get_slctd_day(); day_item_add_exc(p, date); } else { date = update_time_in_date(p->start, 0, 0); @@ -888,7 +888,7 @@ void ui_day_item_repeat(void) keys_wgetch(win[KEY].p); } - date = ui_calendar_get_slctd_day_sec(); + date = get_slctd_day(); if (p->type == EVNT) { struct event *ev = p->item.ev; recur_event_new(ev->mesg, ev->note, ev->day, ev->id, type, @@ -963,7 +963,7 @@ void ui_day_item_paste(unsigned reg) return; day_item_fork(&day_cut[reg], &day); - day_paste_item(&day, ui_calendar_get_slctd_day_sec()); + day_paste_item(&day, get_slctd_day()); io_set_modified(); ui_calendar_monthly_view_cache_set_invalid(); diff --git a/src/utils.c b/src/utils.c index a194b10..fd47de6 100644 --- a/src/utils.c +++ b/src/utils.c @@ -672,6 +672,12 @@ time_t get_today(void) return date2sec(day, 0, 0); } +/* Returns the beginning of the selected day in the calendar. */ +time_t get_slctd_day(void) +{ + return date2sec(*ui_calendar_get_slctd_day(), 0, 0); +} + /* Returns the current time in seconds. */ time_t now(void) { -- cgit v1.2.3