diff options
author | Lukas Fleischer <calcurse@cryptocrack.de> | 2012-06-27 11:31:08 +0200 |
---|---|---|
committer | Lukas Fleischer <calcurse@cryptocrack.de> | 2012-06-30 14:34:36 +0200 |
commit | 7a75415a619bd6698f45ec24f696f7b9dbb3752c (patch) | |
tree | 90a8c32c6def32e16e2454cb39e8b857dabe1062 /test/data%2525253fid%2525253db526d46fae3c9c18b532f808687f3afdafbd1ce4%25253fid%25253d86c465b0e50e1479e819f63c0bac86e7aec236a1%253fid%253d7a75415a619bd6698f45ec24f696f7b9dbb3752c%3fid%3d7a75415a619bd6698f45ec24f696f7b9dbb3752c&id2%3d81d97315c7dad26edf1dcfba849d57c3299e0f6b?id=7a75415a619bd6698f45ec24f696f7b9dbb3752c | |
parent | 81d97315c7dad26edf1dcfba849d57c3299e0f6b (diff) |
Implement a cache for the monthly view
Add a very simple cache, which is used to store the days that contain an
event or an appointment. This makes redrawing and browsing the calendar
panel much faster.
The cache has a size of 31 integers (which is equivalent to 124 bytes on
a 32 bit system and 248 bytes on a 64 bit system) and invalidates itself
if the current month has changed. If an item is added/changed/removed,
the cache needs to be invalidated manually by calling
calendar_monthly_view_cache_set_invalid(). Note that this will always
invalidate the whole cache, even if only one item at the last day of the
month was removed. This is a trade-off between simplicity and
efficiency.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
Diffstat (limited to 'test/data%2525253fid%2525253db526d46fae3c9c18b532f808687f3afdafbd1ce4%25253fid%25253d86c465b0e50e1479e819f63c0bac86e7aec236a1%253fid%253d7a75415a619bd6698f45ec24f696f7b9dbb3752c%3fid%3d7a75415a619bd6698f45ec24f696f7b9dbb3752c&id2%3d81d97315c7dad26edf1dcfba849d57c3299e0f6b?id=7a75415a619bd6698f45ec24f696f7b9dbb3752c')
0 files changed, 0 insertions, 0 deletions