summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* doc/: Fix several typos in online help textsLukas Fleischer2013-07-229-19/+19
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* doc/: Formatting fixesLukas Fleischer2013-07-2220-191/+212
| | | | | | | * Use an AsciiDoc-compatible layout. * Use a maximum line width of 79 characters everywhere. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* manual.txt: Update "Online help" sectionLukas Fleischer2013-07-221-3/+9
| | | | | | Add information on recent changes to the online help system. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* manual.txt: Update "Creation History" sectionLukas Fleischer2013-07-221-17/+11
| | | | | | | Remove some non-relevant information. Add information on myself to the creation history. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Document for -l/--limit and %(remaing)/%(duration)William Pettersson2013-07-192-4/+38
| | | | | | | | Update man-page and manual to describe limit option, and new formatting options for %(remaining) and %(duration). Signed-off-by: William Pettersson <william.pettersson@gmail.com> Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Add write and quit commandsLukas Fleischer2013-07-181-3/+26
| | | | | | | | | | | | | | This adds following vim-style commands to the command mode: * write * w * quit * q * wq Commands can be suffixed with a "!" to force execution. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Add support for moving appointmentsLukas Fleischer2013-07-181-4/+14
| | | | | | | This adds an edit option to change an appointment's start time without changing its duration. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* update_start_time(): Allow for moving an itemLukas Fleischer2013-07-181-3/+7
| | | | | | | Add a parameter that specifies whether the duration should be updated when updating the start time of an item. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Allow for making an appointment punctualLukas Fleischer2013-07-181-3/+8
| | | | | | | This allows for setting an empty end time when editing an item, converting it into a punctual appointment. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* key_generic_help(): Use display_help()Lukas Fleischer2013-07-181-1/+1
| | | | | | | | Now that we moved the online help code into a separate function, use that to display the introduction help page when pressing the generic help key binding. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Split online help code into a separate functionLukas Fleischer2013-07-184-100/+149
| | | | | | | Reintroduce help.c and move the online help code into a new function display_help(). Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Rename io_file_exist{,s}()Lukas Fleischer2013-07-174-8/+8
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Add several help topic aliasesLukas Fleischer2013-07-171-8/+92
| | | | | | | Add aliases and choose the right help topic if the user requests help on a key binding or a key binding label. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Allow for getting help on key bindingsLukas Fleischer2013-07-172-4/+12
| | | | | | | | | In addition to getting help on specific topics, users can type things like ":help s" or ":help ^A" to get help on specific key bindings now. Note that we do not add help texts for these keys here -- we will alias key bindings to already existing topics in a follow-up patch. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Drop legacy online help systemLukas Fleischer2013-07-175-850/+1
| | | | | | | | | | Remove the old online help system and change the generic help key to do the same thing as ":help". This also removes some context-sensitive help. We should think about re-adding support for this later. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Add introduction to the new online help systemLukas Fleischer2013-07-173-0/+19
| | | | | | | | This adds a very basic explanation of the new help command that can be displayed using ":help intro". This introduction is also added as default page so that users can simply type ":help" instead. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Add help commandLukas Fleischer2013-07-172-1/+31
| | | | | | | | | This adds a "help" command to the list of available command mode commands. You can currently type "help", followed by a topic like "add". calcurse will then try to open a file named "add.txt" in the documentation directory and display it in an external pager. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Add command promptLukas Fleischer2013-07-174-3/+19
| | | | | | | | | | This adds support for vim-style command mode. The command mode can be entered with pressing ":" (by default, the key binding is configurable). Currently, no command is supported. Support for various commands will be added later. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Add help text files to dist_doc_DATALukas Fleischer2013-07-171-1/+24
| | | | | | | We exported online help texts in commit 906c2fa. Make sure they are actually installed when running `make install`. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Add a short format specifier for "%(remaining)"Lukas Fleischer2013-07-171-0/+2
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Allow extended formats for durationsLukas Fleischer2013-07-171-1/+5
| | | | | | | Use print_datediff() to print durations. This allows for using something like "%(duration:%EH:%M)". Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* print_datediff(): Actually print a date differenceLukas Fleischer2013-07-171-5/+3
| | | | | | | | | Instead of passing a date and printing the date difference between that date and the current date, pass an actual date difference. This allows for using the function in other places, such as for printing item durations. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Add %(remaining) style formattingWilliam Pettersson2013-07-171-0/+83
| | | | | | | | Adds %(remaining) style formatting, with parameter substitution for %d, %H, %M, %S with E and - variables. Signed-off-by: William Pettersson <william.pettersson@gmail.com> Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Add -l/--limit optionWilliam Pettersson2013-07-163-18/+44
| | | | | | | | Adds the -l/--limit command line option. Limits the number of appointments and/or ToDo items displayed. Signed-off-by: William Pettersson <william.pettersson@gmail.com> Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Export online help as text filesLukas Fleischer2013-07-0922-0/+406
| | | | | | | Move the texts of each online help screen to a separate text file. The set of files is supposed to replace the online help screens later. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Fix a couple of translatable stringsLukas Fleischer2013-05-147-28/+28
| | | | | | | | * Remove space before punctuation. * Use "TODO" instead of "ToDo". * Strip some formats to make sure lines are <=80 characters wide. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Support punctual appointments in the UILukas Fleischer2013-05-141-0/+4
| | | | | | | | | Allow for skipping the end date which means that a punctual appointment will be created. Implements FR#25. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* display_item_date(): Support punctual appointmentsLukas Fleischer2013-05-141-2/+3
| | | | | | | | Display appointments having the same starting date as ending date using a specific format that hides the end time ("12:00" instead of "12:00 -> 12:00"). Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Refactor display_item_date()Lukas Fleischer2013-05-141-12/+6
| | | | | | | | | | Replace nested case differentiations by initializing every single character for each flag separately and joining all characters afterwards. This makes it much easier to extend the function later. Note that the same approach is already used in display_item(). Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Use a macro to determine the size of arraysLukas Fleischer2013-05-045-15/+14
| | | | | | | | Use following macro instead of "sizeof(x) / sizeof(x[0])" everywhere: #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* recur.c: Refactor/Reformat recur_item_find_occurrence()Lukas Fleischer2013-05-021-17/+13
| | | | | | | Fix a couple of whitespace and line breaks. Bail out early instead of using nested if statements. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* recur_exc_scan(): Do not check time of exceptionsLukas Fleischer2013-04-141-2/+1
| | | | | | | | | | Exceptions do not contain a time field -- do not check time fields which may be uninitialized. Regression introduced in 9907069f442c56c90b67accb2d8fbd046dfce6db. This fixes test/recur-*.sh. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Use tabs instead of spaces for indentationLukas Fleischer2013-04-1435-11435/+12019
| | | | | | | | | | | This completes our switch to the Linux kernel coding style. Note that we still use deeply nested constructs at some places which need to be fixed up later. Converted using the `Lindent` script from the Linux kernel code base, along with some manual fixes. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Validate date/time when scanning itemsLukas Fleischer2013-02-273-0/+29
| | | | | | | | | | | | | | | | Bail out when reading dates such as "02/30/2013" from the appointments file. These *could* be converted into valid dates but since we never write invalid dates to that file, these indicate a user error. Fixes following test cases: * appointment-009.sh * appointment-012.sh * appointment-016.sh * appointment-019.sh * event-003.sh Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* parse_{date,time}(): Split out date/time validationLukas Fleischer2013-02-272-3/+25
| | | | | | | | Split date/time validation into separate functions check_date() and check_time(). These will be used to validate date/time information when reading items from the appointments file. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* test/: Add default values for configuration variablesLukas Fleischer2013-02-2750-7/+102
| | | | | | | | | | | Add a small helper script called "test-init.sh" that is sourced in each test case and initializes the CALCURSE and DATA_DIR environment variables. Update the test suite README to point out that setting these environment variables is no longer required. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* test/: Add a couple of black-box tests for itemsLukas Fleischer2013-02-2755-0/+251
| | | | | | | This introduces five test suite failures which will be fixed in one of the following patches. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* date_sec2date_str(): Add missing semicolonLukas Fleischer2013-02-191-1/+1
| | | | | | Regression introduced in a363cb9b9111aed22d105adb0e7a8e9caab9bbe3. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Fix braces in if-else statementsLukas Fleischer2013-02-1720-132/+172
| | | | | | | | | | From the Linux kernel coding guidelines: Do not unnecessarily use braces where a single statement will do. [...] This does not apply if one branch of a conditional statement is a single statement. Use braces in both branches. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* parse_duration(): Bail out early in final stateLukas Fleischer2013-02-141-6/+4
| | | | | | | Bail out early if we are reading a character while being in a final state. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* ui-day.c: Several minor simplificationsLukas Fleischer2013-02-141-134/+110
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* ui-todo.c: Refactor ui_todo_chg_priority()Lukas Fleischer2013-02-141-19/+10
| | | | | | | Add the new item *before* deleting the old one and get rid of temporary buffers for the item message and note. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Mark todo_get_position() publicLukas Fleischer2013-02-142-1/+2
| | | | | | This is needed in "ui-todo.c" now. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* calendar.c: Rename to "ui-calendar.c"Lukas Fleischer2013-02-1412-126/+126
| | | | | | | | | This unit belongs to the presentation layer -- rename the file accordingly. Also, rename calendar_*() to ui_calendar_*(). Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* todo.c: Split out UI-related functionsLukas Fleischer2013-02-146-242/+242
| | | | | | | * Move UI-related functions to "ui-todo.c". * Rename UI-related functions to ui_todo_*(). Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* apoint.c: Split out UI-related functionsLukas Fleischer2013-02-145-168/+168
| | | | | | | * Move UI-related functions to "ui-day.c". * Rename UI-related functions to ui_day_*(). Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Rename appointment/event-related UI functionsLukas Fleischer2013-02-145-29/+29
| | | | | | | | | * Rename "interaction.c" to "ui-day.c" since it no longer contains todo-related UI functions. * Rename appointment/event-related UI functions to ui_day_*(). Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Split out UI functions for todo itemsLukas Fleischer2013-02-145-111/+150
| | | | | | | | | * Move todo-related UI functions from "interaction.c" to a new compilation unit "ui-todo.c". * Rename all todo-related UI functions to todo_ui_*(). Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Merge branch 'maint'Lukas Fleischer2013-02-093-1/+18
|\
| * Release 3.1.4v3.1.4Lukas Fleischer2013-02-092-1/+13
| | | | | | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>