Lars Henriksen f9cf5fb0c1 Derive selected day from selected item
Previously, with only one day visible at a time, the appointments panel
displayed the details of the day selected in the calendar (slctd_day);
information required for operations on items (day_items) can often be
derived from the selected day. The items available are derived from the
selected day. In particular, the selected item is derived from the
selected day.

With multiple days in the APP panel, the relation between selected day
(in the calendar) and the selected item (in the APP panel) has, in a
way, been turned around. The selected item may now be moved between days
without explicitly changing the selected day. Implicitly it is changed
when the target day of a move is unavailable.

This commit draws the full consequence: the selected day in the calendar
is always (set to) the day of the selected item in the APP panel.

The static variable 'struct date slctd_day' lives in ui_calendar.c and
is accessible through various public functions. To these are added
ui_calendar_set_slctd_day() which sets slctd_day directly.

The selected day retains its significance for load of the day vector (in
day_store_items()): the range of loaded days begins with the selected
day.  Movements (up/down) in the APP panel will change the selected day
as the selected item moves among the already loaded days. Only when the
target of a movement is unreachable, will further days be loaded. On the
other hand, if the same range of days must be reloaded because of a
changed item, the selected item - and with it the selected day - must be
reset to the first day item (see do_storage()).

Movements in the calendar (generic-next-day, etc.) are not affected and
behave as previously, i.e. they will cause a range of days to be loaded
with the selected day as the first and the selected item as the first of
the selected day.

Signed-off-by: Lars Henriksen <LarsHenriksen@get2net.dk>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
2019-05-22 01:56:59 -04:00
2014-07-28 13:12:42 +02:00
2019-02-21 07:50:08 +01:00
2019-03-13 17:01:54 +01:00
2019-02-21 07:20:24 +01:00
2017-01-12 08:40:30 +01:00
2012-11-26 01:46:56 +01:00
2015-04-12 17:32:44 +02:00
2015-04-12 19:14:15 +02:00
2017-01-12 08:40:30 +01:00
2017-01-12 08:40:30 +01:00
2011-03-03 12:21:16 +01:00
2018-08-30 07:25:25 +02:00

calcurse

Building

Install the following build dependencies. If your distro segments development files from core packages (i.e., *-devel or *-dev packages), you may need to install those as well:

  • gcc
  • automake
  • asciidoc
  • gettext with development files
  • ncurses with development files

If you are using a release tarball, the following commands can be used to build and install calcurse:

$ ./configure
$ make
$ make install

Note that make install needs to be run as root. When working on a Git checkout, you need to run ./autogen.sh before ./configure.

Package Overview

  • build-aux: auxiliary files for the build process
  • contrib: useful tools such as hooks or the CalDAV synchronization script
  • doc: detailed documentation in plain text and HTML
  • po: translations and i18n-related files
  • scripts: additional official scripts, such as calcurse-upgrade
  • src: the actual calcurse source files
  • test: test suite and test cases for calcurse

Authors

calcurse was originally authored by Frederic Culot and is currently maintained by Lukas Fleischer.

Of course, there are numerous other contributors. Check the Git commit log and the Thanks section in the manual for a list of people who have contributed by reporting bugs, sending fixes, or suggesting improvements.

Contributing and Donations

Patches, bug reports and other requests are always welcome! You can submit them to one of our mailing lists (check the patch submission guidelines for details) or via GitHub.

We are also extremely grateful for donations which help us continue developing calcurse as open source software and are used to cover recurring costs, such as for our servers. You can use https://calcurse.org/donate/ for a one-time payment. If you prefer another form of donation, do not hesitate to contact us!

Demo

Demo

Description
No description provided
Readme 5.2 MiB
Languages
C 65.7%
Shell 29.6%
Python 3.4%
M4 0.8%
Makefile 0.5%