Do not update the main windows when resizing the terminal in the general
options menu or in the notification options menu.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
This changes the notification options menu to use the new generic list
box implementation. The only user-visible change is that items are now
accessed via the arrow and edit key bindings instead of digits.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
This changes the general options menu to use the new generic list box
implementation. The only user-visible change is that items are now
accessed via the arrow and edit key bindings instead of digits. This
also allows for easily adding more than 10 options to the menu.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
This adds a very generic list box implementation. List boxes with items
of different heights are supported. Two callback functions to determine
the height of every single item and to draw a specific item are used.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
This complete rewrite of the scroll window implementation decouples
scroll windows from every other window abstraction layer we use. Note
that this leads to some code duplication. The long-term purpose of this
rewrite, however, is to eventually make every panel use scroll windows.
This makes for a huge cleanup of the UI code.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
Use an algorithm similar to gettext's locale resolution to find an
appropriate translation to display. Fall back to the English version.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
Add rules so that translated documentation is installed to
/usr/local/share/doc/calcurse/<lang>/.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
When pressing escape or entering an empty command, we returned from
key_generic_cmd() without updating the screen. Fix this by creating a
cleanup section at the bottom of key_generic_cmd() and jump to that
section when the command prompt is cancelled.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
This allows for naming translations "<foo>-<lang>.po", where <foo> is a
document name (e.g. "add") and <lang> is a language (e.g. "de"), and
simply using `tx push -t` to submit them to Transifex.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
Use translate-toolkit to generate message catalogs for all online help
texts. Add Transifex resources for each of the message catalogs.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
Since we exported help texts into text files, we are no longer able to
refer to the user's key bindings. Drop key binding references from the
online help texts.
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
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>
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 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Use print_datediff() to print durations. This allows for using something
like "%(duration:%EH:%M)".
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
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>
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>