diff options
author | Lars Henriksen <LarsHenriksen@get2net.dk> | 2018-12-13 20:29:22 +0100 |
---|---|---|
committer | Lukas Fleischer <lfleischer@calcurse.org> | 2019-05-22 01:56:59 -0400 |
commit | 8dd694b56956a1c4ec3519743904222b465e10a5 (patch) | |
tree | a049852063d6fdece604a454e2218fae892f68d6 | |
parent | 06a4449afae29d4dd0e5d49249674511bb1f4489 (diff) | |
download | calcurse-8dd694b56956a1c4ec3519743904222b465e10a5.tar.gz calcurse-8dd694b56956a1c4ec3519743904222b465e10a5.zip |
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 <lfleischer@calcurse.org>
-rw-r--r-- | src/calcurse.c | 11 | ||||
-rw-r--r-- | src/calcurse.h | 3 | ||||
-rw-r--r-- | src/day.c | 25 | ||||
-rw-r--r-- | src/ui-calendar.c | 6 | ||||
-rw-r--r-- | src/ui-day.c | 8 | ||||
-rw-r--r-- | 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); @@ -369,28 +369,6 @@ day_store_items(time_t date, int include_captions) } /* - * 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. */ void @@ -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) { |