aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Reimplement ical_unformat_line() using dynamic stringsLukas Fleischer2016-01-131-22/+10
| | | | | | | Use the new dynamic string utility functions instead of relying on a fixed-size buffer. Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
* ical: Export completed todo items properlyLukas Fleischer2016-01-131-3/+6
| | | | | | | Do not skip completed todo items when exporting to an iCal file. Instead, mark them as "STATUS:COMPLETED". Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
* ical: Honor completed status of todo itemsLukas Fleischer2016-01-131-0/+5
| | | | | | | When importing todo items from an iCal file, mark completed items as completed. Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
* Hide import statistics in quiet modeLukas Fleischer2016-01-131-1/+1
| | | | | | | | Do not show the import summary when system dialogs are disabled or when the --quiet option is specified, even if calcurse is executed in non-interactive mode. Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
* Add --list-imported command line optionLukas Fleischer2016-01-135-26/+66
| | | | | | | When this option is used together with -i/--import, the object identifiers of imported objects are printed to stdout. Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
* Add command line option to suppress dialogsLukas Fleischer2016-01-136-6/+20
| | | | | | | Implement a -q/--quiet command line option to disable system dialogs temporarily. Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
* Implement filter modeLukas Fleischer2016-01-131-4/+8
| | | | | | | Add a new -F mode that is identical to -G but writes the result back to the calcurse data files instead of stdout. Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
* Add an option to filter by object hashLukas Fleischer2016-01-137-8/+91
| | | | | | | | | Implement a new --filter-hash option to filter by object identifiers. Each object having an identifier that has the specified pattern as a prefix is matched. Patterns starting with an exclamation mark (!) are interpreted as negative patterns. Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
* Add long format specifiers "raw" and "hash"Lukas Fleischer2016-01-136-5/+114
| | | | | | | Add new format specifiers to print the raw item representation or an object's hash value. Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
* Implement recur_{apoint,event}_tostr()Lukas Fleischer2016-01-132-27/+53
| | | | | | | Add functions to serialize recurrent items without immediately writing them to stdout. Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
* Implement {apoint,event,todo}_tostr()Lukas Fleischer2016-01-134-18/+54
| | | | | | | Add functions to serialize non-recurrent objects without immediately writing them to stdout. Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
* Reimplement asprintf() using dynamic stringsLukas Fleischer2016-01-131-26/+4
| | | | | | Use the new string implementation to simplify asprintf(). Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
* Implement utility functions for dynamic stringsLukas Fleischer2016-01-133-0/+129
| | | | | | | | Introduce support for strings which support concatenating the current value with a printf-style formatted value, thereby growing in size dynamically. Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
* Reset status page when opening configurationLukas Fleischer2016-01-101-0/+1
| | | | Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
* Add pre-load and post-load hooksLukas Fleischer2016-01-101-0/+2
| | | | | | Potential use case: Synchronize data with some server before loading. Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
* Add an example post-save hookLukas Fleischer2016-01-071-0/+10
| | | | Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
* Add pre-save and post-save hooksLukas Fleischer2016-01-075-0/+75
| | | | | | | | | | | | | This adds support for hooks which are executed before/after saving calcurse data. Hooks can be placed under hooks/pre-save and hooks/post-save in the data directory and need to be executable. Potential use cases include: * Automatically commit any changes to the data files using a VCS. * Automatically sync with some sever component on data file changes. Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
* custom.c: Display missing optionsLukas Fleischer2016-01-071-2/+2
| | | | | | | | Also, determine the number of displayed options on the general configuration screen automatically (statically) instead of hard-coding the value to prevent from future fallouts. Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
* Add support for --filter-end-* to eventsLukas Fleischer2015-05-202-2/+12
| | | | | | | A natural convention is to specify the end time of an event as 23:59:59 on the day it is scheduled. Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
* Make the generic-credits key binding work againLukas Fleischer2015-04-151-0/+8
| | | | Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
* Show an error message on missing documentationLukas Fleischer2015-04-151-1/+2
| | | | | | | Show a warning when the user presses the generic-help binding and the main help document is not available. Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
* Update README and AUTHORSLukas Fleischer2015-04-122-12/+13
| | | | | | | | * Add build instructions. * List the current maintainer first in AUTHORS and README. * Remove outdated information on the TODO file. Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
* Update maintainer email addressLukas Fleischer2015-04-124-3/+4
| | | | Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
* Do not mark slice of end time busyLukas Fleischer2015-04-111-4/+18
| | | | | | | | In weekly view, when computing busy slices, do not fill a slot that is only hit by the end time of an appointment. Suggested-by: Håkan Jerning <jerning@home.se> Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Fix range checks in day_chk_busy_slices()Lukas Fleischer2015-04-101-5/+8
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Highlight week number when the calendar is selectedLukas Fleischer2015-04-101-0/+4
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Show week numbers in the monthly viewLukas Fleischer2015-04-101-0/+4
| | | | | Suggested-by: Håkan Jerning <jerning@home.se> Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Split out code for drawing week numbersLukas Fleischer2015-04-103-99/+116
| | | | | | | This allows for easily adding week numbers to other panel modes, such as the monthly view. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Fix slice computation of recurring appointmentsLukas Fleischer2015-04-101-2/+7
| | | | | Reported-by: Håkan Jerning <jerning@home.se> Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* calcurse.1.txt: Split out filter and formatting optionsLukas Fleischer2015-03-261-73/+31
| | | | | | Move those options into separate subsections. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* ical.c: Small refactoringLukas Fleischer2015-02-251-15/+10
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Simplify code in status_ask_choice()Lukas Fleischer2015-02-241-7/+5
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Use time_t instead of long in several placesLukas Fleischer2015-02-249-89/+69
| | | | | | | Start converting some variables and return values to store times from long to time_t. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* autogen.sh: Do not use `sed -i`Lukas Fleischer2015-02-241-2/+3
| | | | | | `sed -i` is not portable, use a temporary file instead. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* ical.c: Reduce nesting depthLukas Fleischer2015-02-241-318/+257
| | | | | | Refactor the iCal parser to reduce nesting depth. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Introduce starts_with() and starts_with_ci()Lukas Fleischer2015-02-244-123/+72
| | | | | | | | 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>
* Make "Add Item" work from the calendar panelLukas Fleischer2015-02-231-0/+1
| | | | | | | 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>
* Redraw calendar panel when switching viewsLukas Fleischer2015-02-231-0/+6
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Support resize in all configuration menusLukas Fleischer2015-02-231-0/+25
| | | | | | | Add missing resize support in the configuration main menu and in the key bindings menu. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Add support for UTC times in iCal importsLukas Fleischer2015-02-236-8/+78
| | | | | | | | | | | | | | 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>
* Release 4.0.0v4.0.0Lukas Fleischer2015-02-222-1/+31
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Use date_sec_change() for adding day deltasLukas Fleischer2015-02-222-10/+9
| | | | | | Fixes tests range-002.sh and search-001.sh. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Use LONG_MAX for invalid dates in parse_datearg()Lukas Fleischer2015-02-221-3/+3
| | | | | | We cannot use -1 here since negative values are valid dates. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* po/: Translation updates from TransifexLukas Fleischer2015-02-2222-668/+736
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* po/doc/: Rebuild with new translate-toolkitLukas Fleischer2015-02-2223-62/+99
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* calcurse.1.txt: Update details on note file namesLukas Fleischer2015-02-111-2/+1
| | | | | | | 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>
* Support weekday names as date specifiersLukas Fleischer2015-02-111-5/+51
| | | | | | Allow for using shorthands like "Monday" as date specifiers. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* doc/calcurse.1.txt: Modernize synopsisv4.0.0-rc1Lukas Fleischer2015-02-071-3/+8
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* doc/: Do not lie about format.inputdateLukas Fleischer2015-02-072-14/+1
| | | | | | | | 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>
* Update copyright rangesLukas Fleischer2015-02-0770-75/+75
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>