summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Make sure that tmppath is always NULL-terminatedLukas Fleischer2014-07-082-2/+3
| | | | | | | Fixes GitHub issue #5. Reported-by: dcb314 Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* ical.c: Remove newlines from item summariesLukas Fleischer2014-07-081-6/+12
| | | | | | | | | | Newline characters are not allowed in calcurse item descriptions. Replace any newlines in iCal summary lines with spaces. Fixes GitHub issue #6. Reported-by: Jonathan McCrohan <jmccrohan@gmail.com> Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Define _DARWIN_C_SOURCE to get SIGWINCH on OS XJack Nagel2014-07-081-0/+5
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Fix SHA1 calculation of long notesLukas Fleischer2014-07-081-1/+5
| | | | | | | | | sha1_update() modifies the input data, so we need to duplicate the input before calculating the hash. Otherwise, input data longer than 64 bytes will be garbled. Reported-by: Hakan Jerning <jerning@home.se> Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Fix segmentation faultLukas Fleischer2014-06-254-14/+16
| | | | | | | | | | This adds some more accurate checks to avoid a segmentation fault that occurred when accessing a nonexistent item. Fixes GitHub issue #7. Reported-by: Bromind <martin.vassor@hotmail.fr> Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Avoid blank space after the last list box itemLukas Fleischer2014-05-193-0/+19
| | | | | | | Automatically scroll down the list box when resizing creates some blank space below the list of items. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Resize panels properlyLukas Fleischer2014-05-194-17/+23
| | | | | | | Rewrite the panel resize code and remove the code that reinitializes the caption and the selected item when the window is resized. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* listbox_resize(): Avoid segmentation faultLukas Fleischer2014-05-191-0/+4
| | | | | | Only try to fix the visible region if an item is selected. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Fix calendar centeringLukas Fleischer2014-05-191-11/+9
| | | | | | | Adjust the positions of the weekly and monthly views inside the calendar panel. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Use an enum for the type field of day_itemLukas Fleischer2014-05-181-13/+13
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Add default cases to some switch statementsLukas Fleischer2014-05-183-5/+26
| | | | | | This squelches several compiler warnings. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* day_item_add_exc(): Fix unwanted fall-throughLukas Fleischer2014-05-181-0/+2
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Reintroduce heading and separator in appointmentsLukas Fleischer2014-05-184-32/+52
| | | | | | | This re-introduces the heading (showing the POM and the current date) as well as the separating line between events and appointments. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Add support for caption rows in list boxesLukas Fleischer2014-05-187-16/+105
| | | | | | | This adds support for rows that cannot be selected. Such rows can be used for section headings and the like. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* Remove unused functions border_{,no}color()Lukas Fleischer2014-05-181-41/+0
| | | | Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
* 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>