summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-05-19Resize panels properlyLukas Fleischer
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>
2014-05-19listbox_resize(): Avoid segmentation faultLukas Fleischer
Only try to fix the visible region if an item is selected. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2014-05-19Fix calendar centeringLukas Fleischer
Adjust the positions of the weekly and monthly views inside the calendar panel. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2014-05-18Use an enum for the type field of day_itemLukas Fleischer
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2014-05-18Add default cases to some switch statementsLukas Fleischer
This squelches several compiler warnings. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2014-05-18day_item_add_exc(): Fix unwanted fall-throughLukas Fleischer
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2014-05-18Reintroduce heading and separator in appointmentsLukas Fleischer
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>
2014-05-18Add support for caption rows in list boxesLukas Fleischer
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>
2014-05-18Remove unused functions border_{,no}color()Lukas Fleischer
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2014-05-18ui-day: Large-scale refactoringLukas Fleischer
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>
2014-05-18Store appointments for the current day in a vectorLukas Fleischer
This allows for more efficient access to items at specific positions. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2014-05-18Add a vector implementationLukas Fleischer
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2014-05-18ui-calendar: Use scroll window implementationLukas Fleischer
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>
2014-05-18ui-todo: Large-scale refactoringLukas Fleischer
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>
2014-05-18Add support for drawing highlighted decorationLukas Fleischer
This allows for drawing selected scroll windows and list boxes with a highlighted border. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2014-05-18custom.c: Simplify codeLukas Fleischer
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2014-05-18Remove numbers and whitespace from option menusLukas Fleischer
These are no longer needed since items are no longer accessed via numeric keys. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2014-05-18Reduce flicker when resizing in option menusLukas Fleischer
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>
2014-05-18Use generic list box for notification optionsLukas Fleischer
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>
2014-05-18Use generic list box for general optionsLukas Fleischer
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>
2014-05-18Add a generic list box implementationLukas Fleischer
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>
2014-05-18Rework scroll window implementationLukas Fleischer
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>
2014-05-13Pass date parameter to ui_day_update_panel()Lukas Fleischer
This allows for drawing appointment panels for days other than the current day. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2013-08-27Display translated help pagesLukas Fleischer
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>
2013-08-27Install translated documentationLukas Fleischer
Add rules so that translated documentation is installed to /usr/local/share/doc/calcurse/<lang>/. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2013-08-27doc/: Add translated documentationLukas Fleischer
Created using `po2txt` from translate-toolkit. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2013-08-27po/: Translation updates from TransifexLukas Fleischer
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2013-08-13Redraw screen if command prompt is canceledLukas Fleischer
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>
2013-07-24.tx/config: Add file filters for all resourcesLukas Fleischer
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>
2013-07-24po/doc/: Update message catalogsLukas Fleischer
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2013-07-24Drop doc/main.txtLukas Fleischer
This is no longer needed since we don't use the internal online help system anymore. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2013-07-24doc/Makefile.am: Fix "copy-paste.txt" file nameLukas Fleischer
Regression introduced in 6ef890b434e7ab65abdd0e6bb13cb86e583d85ae. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2013-07-24doc/edit.txt: Mention the move featureLukas Fleischer
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2013-07-24doc/: Mention punctual appointmentsLukas Fleischer
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2013-07-24doc/: Spelling and grammar fixesLukas Fleischer
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2013-07-23Add POT files for online help textsLukas Fleischer
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>
2013-07-23.tx/config: Rename main resource to "calcurse"Lukas Fleischer
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2013-07-23.tx/config: Set global translation typeLukas Fleischer
We only deal with PO files in calcurse -- set the global translation format accordingly. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2013-07-23.tx/config: Update host URILukas Fleischer
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2013-07-23calcurse.pot: Update message catalogLukas Fleischer
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2013-07-23po/POTFILES.in: Sync with source treeLukas Fleischer
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2013-07-23doc/: Rename copy_paste.txt to copy-paste.txtLukas Fleischer
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2013-07-22doc/: Do not mention explicit key bindingsLukas Fleischer
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>
2013-07-22doc/: Fix several typos in online help textsLukas Fleischer
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2013-07-22doc/: Formatting fixesLukas Fleischer
* Use an AsciiDoc-compatible layout. * Use a maximum line width of 79 characters everywhere. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2013-07-22manual.txt: Update "Online help" sectionLukas Fleischer
Add information on recent changes to the online help system. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2013-07-22manual.txt: Update "Creation History" sectionLukas Fleischer
Remove some non-relevant information. Add information on myself to the creation history. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
2013-07-19Document for -l/--limit and %(remaing)/%(duration)William Pettersson
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>
2013-07-18Add write and quit commandsLukas Fleischer
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>
2013-07-18Add support for moving appointmentsLukas Fleischer
This adds an edit option to change an appointment's start time without changing its duration. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>