Age | Commit message (Collapse) | Author |
|
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Start converting some variables and return values to store times from
long to time_t.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
`sed -i` is not portable, use a temporary file instead.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Refactor the iCal parser to reduce nesting depth.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Create user-defined functions to check whether a string contains a
certain prefix instead of messing around with strncmp() and
strncasecmp().
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Support the "Add item" key binding in the calendar panel and make it add
a new appointment.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Add missing resize support in the configuration main menu and in the key
bindings menu.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
According to the iCal standard (4.3.12 Time):
UTC time, or absolute time, is identified by a LATIN CAPITAL LETTER
Z suffix character (US-ASCII decimal 90), the UTC designator,
appended to the time value.
Parse such time values properly when importing iCal files.
Fixes GitHub issue #3.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Fixes tests range-002.sh and search-001.sh.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
We cannot use -1 here since negative values are valid dates.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Since 5c6a00e (Use hash-bashed file names in edit_note(), 2011-08-02),
the file name of notes is no longer generated by mkstemp.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Allow for using shorthands like "Monday" as date specifiers.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Since aa682f7 (Rework command line argument handling, 2014-08-06), the
format.inputdate option is no longer honored when parsing dates in
non-interactive mode. Update the documentation accordingly.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
We now understand the shorthands "today", "yesterday", "tomorrow" and
"now" which might come in useful sometimes.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Document the query and grep modes, as well as the new filter interface,
in the man page and in the user manual.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Try to support dates past year 2038 on systems with 64-bit time_t.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Optimize the monthly view by only erasing the window content when a new
month is selected.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
In an effort to better integrate the import process with external
applications, it's desirable to have a mechanism by which external
programs can trigger a reload of calcurse's data.
This patch adds that functionality via SIGUSR1. The reload request is
handled in the main loop. When the user is currently entering data, the
request is delayed until the main loop is re-entered.
Signed-off-by: Tim Hentenaar <tim@hentenaar.com>
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Adds a new function io_reload_data() which can be used to reload all
appointments and TODO items.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
This are neither needed for the tests nor supported by the iCal import.
Reported-by: Håkan Jerning <jerning@home.se>
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
We added ical-005 in f3fe3c8 (Gracefully handle all day events in iCal
imports, 2014-08-18) but forgot to add entries to the Makefile.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
This was supposed to be fixed in 6ca2535 (ical.c: Simplify and fix
ical_durtime2long(), 2014-07-28) but some cases were not covered.
Reported-by: Håkan Jerning <jerning@home.se>
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Comments should only be stripped if they start at the beginning of a
line. We do not want to chop off an TODO item description or a
configuration value.
Reported-by: Håkan Jerning <jerning@home.se>
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Do not create two events when importing an event that lasts an entire
day.
Reported-by: Jörn Tillmanns <tillmanns@tuxzone.org>
Reported-by: Håkan Jerning <jerning@home.se>
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
RFC 2445 mentions that CRLF line endings may be used in iCal files.
Handle them properly when importing.
Reported-by: Håkan Jerning <jerning@home.se>
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Allow for specifying both date and time in all dates and date ranges
used in filters.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
These are shorthands for --filter-start-from/--filter-start-to and
--filter-end-from/--filter-end-to.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
This allows for printing a subset of the items in the data files by
using filters.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Use the same error message if option arguments have the same data type
and always add the violating value.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Show an error message and die if the user specified a non-existent
custom calendar file. This fixes some random hangs when calcurse is used
in non-interactive mode within scripts.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Print TODO items before appointments in query outputs and add an empty
line between the list of TODO items and the list of appointments. This
is how items were printed before the big parser refactoring.
Also, add a test to ensure we do not unintentionally change that format
in the future.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Filtering items when running garbage collection or when importing data
might result in data loss, so simply ignore filters here.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Add a new range query mode (--days) and refactor the command line
argument parser.
Note: This slightly changes the behavior of some command line
parameters, since date arguments no longer use the input date format
from the configuration file!
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
The item filters now apply to both appointments and TODO items. Also,
add a new type mask "todo" and the following new filter options:
* --filter-priority
* --filter-completed
* --filter-uncompleted
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Add a new parameter -Q that can be used to print all appointments inside
a given query range, followed by all TODO items. The date range can be
specified using the --from and --to arguments. The start date defaults
to the current day, the end date defaults to the day after the start
date if not specified.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
This adds a new item filter option --filter-pattern and removes the
whole -S parameter logic, while making -S an alias for --filter-pattern.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
This adds the following filter options that allow for restricting the
set of items that are read from the appointments file:
* --filter-type
* --filter-start-from
* --filter-start-to
* --filter-start-after
* --filter-start-before
* --filter-end-from
* --filter-end-to
* --filter-end-after
* --filter-end-before
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|
|
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
|