summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ui-day: Large-scale refactoringLukas Fleischer2014-05-186-362/+188
| | | | | | | | | | Use the generic list box implementation for the appointments panel. This results in some major changes to how the items are printed. Note that this temporarily removes the heading showing the POM and the date as well as the separating line between events and appointments. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Store appointments for the current day in a vectorLukas Fleischer2014-05-183-19/+21
| | | | | | This allows for more efficient access to items at specific positions. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Add a vector implementationLukas Fleischer2014-05-184-0/+207
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* ui-calendar: Use scroll window implementationLukas Fleischer2014-05-184-66/+60
| | | | | | | | | Make use of the generic scroll window implementation for the calendar view. Note that this is useful despite the panel not needing a scroll bar, since the scroll window functions can be used to draw the panel border and take care of relative positions. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* ui-todo: Large-scale refactoringLukas Fleischer2014-05-186-233/+155
| | | | | | | This is a complete overhaul of the TODO list user interface. The new implementation uses the generic list box panel. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Add support for drawing highlighted decorationLukas Fleischer2014-05-185-11/+18
| | | | | | | This allows for drawing selected scroll windows and list boxes with a highlighted border. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* custom.c: Simplify codeLukas Fleischer2014-05-181-10/+1
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Remove numbers and whitespace from option menusLukas Fleischer2014-05-182-28/+25
| | | | | | | These are no longer needed since items are no longer accessed via numeric keys. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Reduce flicker when resizing in option menusLukas Fleischer2014-05-184-3/+10
| | | | | | | 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>
* Use generic list box for notification optionsLukas Fleischer2014-05-181-106/+107
| | | | | | | | 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>
* Use generic list box for general optionsLukas Fleischer2014-05-181-156/+187
| | | | | | | | | 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>
* Add a generic list box implementationLukas Fleischer2014-05-183-0/+165
| | | | | | | | 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>
* Rework scroll window implementationLukas Fleischer2014-05-185-93/+123
| | | | | | | | | | 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>
* Pass date parameter to ui_day_update_panel()Lukas Fleischer2014-05-133-5/+3
| | | | | | | This allows for drawing appointment panels for days other than the current day. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Display translated help pagesLukas Fleischer2013-08-273-3/+64
| | | | | | | 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>
* Install translated documentationLukas Fleischer2013-08-271-2/+5
| | | | | | | Add rules so that translated documentation is installed to /usr/local/share/doc/calcurse/<lang>/. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* doc/: Add translated documentationLukas Fleischer2013-08-27132-0/+2595
| | | | | | Created using `po2txt` from translate-toolkit. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* po/: Translation updates from TransifexLukas Fleischer2013-08-27225-3897/+12445
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Redraw screen if command prompt is canceledLukas Fleischer2013-08-131-1/+2
| | | | | | | | | 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>
* .tx/config: Add file filters for all resourcesLukas Fleischer2013-07-241-0/+22
| | | | | | | | 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>
* po/doc/: Update message catalogsLukas Fleischer2013-07-2422-76/+87
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Drop doc/main.txtLukas Fleischer2013-07-244-73/+0
| | | | | | | This is no longer needed since we don't use the internal online help system anymore. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* doc/Makefile.am: Fix "copy-paste.txt" file nameLukas Fleischer2013-07-241-1/+1
| | | | | | Regression introduced in 6ef890b434e7ab65abdd0e6bb13cb86e583d85ae. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* doc/edit.txt: Mention the move featureLukas Fleischer2013-07-241-1/+2
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* doc/: Mention punctual appointmentsLukas Fleischer2013-07-242-1/+6
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* doc/: Spelling and grammar fixesLukas Fleischer2013-07-2414-39/+39
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Add POT files for online help textsLukas Fleischer2013-07-2324-0/+1281
| | | | | | | 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>
* .tx/config: Rename main resource to "calcurse"Lukas Fleischer2013-07-231-1/+1
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* .tx/config: Set global translation typeLukas Fleischer2013-07-231-0/+1
| | | | | | | We only deal with PO files in calcurse -- set the global translation format accordingly. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* .tx/config: Update host URILukas Fleischer2013-07-231-1/+1
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* calcurse.pot: Update message catalogLukas Fleischer2013-07-231-715/+202
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* po/POTFILES.in: Sync with source treeLukas Fleischer2013-07-231-2/+3
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* doc/: Rename copy_paste.txt to copy-paste.txtLukas Fleischer2013-07-231-0/+0
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* doc/: Do not mention explicit key bindingsLukas Fleischer2013-07-229-30/+30
| | | | | | | | 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>
* 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>