- Supports 'scheduled' date for tasks, which represent the earliest opportunity
to work on a task.
- Added unit tests for urgency.
- Implemented color rule.
- Added scheduled to 'info' report.
- Updated assorted documentation.
- Removed comments in default rc because they are never seen.
- Added (broken) 'ready' report, which is like 'next' but only for ready tasks.
- Added support for more type-specific checks of attribute values.
- Added support for more type-specific attribute rendering.
- Improved generalized methods for checking columns in a report.
- Added unit tests.
- Minor code cleanup.
- Added secret hidden feature for internal testing.
- Possible fix for bug #892, which I cannot replicate anyway. This fix
involves testing my suspicion that std::map autovivifies via
std::map::operator[], which is not nice. Will ask Dmitriy to confirm.
- Removed unnecessary definitions of max() and min(), replaced existent calls
with std::max(). Precursor to Bugfix #887.
Signed-off-by: Paul Beckingham <paul@beckingham.net>
- Addressed bug #804 by allowing rc.hyphenate to control whether hyphens are
inserted when long lines are broken. This may help prevent xterm from
mis-parsing URLs in task annotations, when wrapped (thanks to Yann Davin).
- Added unit tests.
- Task is no longer a map of string to Att. Att is itself a name/
value pair, so the name was redundant. Task is now a map of string
to string. This brings the obsoletion of Att much closer.
- Added Context::getColumns to return a vector of column names.
This is to help a shift toward using the Column objects to assist
in the parsing/validation of data entry/modifications.
- Added Column::modifiable to delegate an attributes readable/writeable
state. This means the columns will be in charge of their own
mutability, which will simplify and generalize Command::modify_task.
- Added feature #800, adding a new command 'columns' that lists all the columns
available for custom reports, and includes their formatting options (thanks
to T. Charles Yun).
- Refactored column objects to contain a ::validate method, for the
validation of incoming data.
- Context.columns is now a vector of one of each column object,
indexed by attribute name, for validation purposes.
- Fixed bug so that columns of type "string*" calculate ideal size
by taking into account \n characters in the data, rather than simply
the string length.
- Fixed problem with incorrect Color vector addressing.
- Modified ViewText to not underline empty column headers.
- Implemented ViewText::set method to set only color.
- Corrected use of rc.fontunderline with the new Views.
- Added new sample todo.sh import data, thanks to Daniel Wilcox.
- Added rc.defaultwidth to various tests.
- Modified tests to accomodate new next report.
- Corrected regex in rc.override.t.
- The ColumnDepends object was failing to map uuid --> id and so
rendered no data for the blocked report.
- Code used the term 'blocked' when it should have used the term
'blocking'.
- Broke out View into ViewTask and ViewText, where the former uses an
external std::vector <Task> as storage, thus eliminating the additional
copy, and the latter that duplicates data and color into 2D vectors
for rendering non-task data.
- Changed the ::measure and ::render methods from pure virtual to
virtual.
- Fixed bug where recur.indicator used the length of the indicator
instead of the indicator.
- Implemented ColString.{h,cpp} to support generic Views based on
strings, not tasks.
- Implemented newly virtual Column:: methods.
- ColDescription::measure did not correctly account for annotation size.
- The macro 'max' was used with expensive arguments, which get evaluated
twice.
- Integrated new View in place of Table for all custom reports.
- Implemented legacy field mapping for columns and sort fields.
- Implemented rc.indent.report.
- Implemented rc.row.padding.
- Implemented rc.column.padding.
- Implemented rc.color.label.
- Modified default rc.indent.annotation from 1 to 2.
- Implemented urgency value caching.
- Implemented View truncation by line and row.
- Columns now know which report thy belong to, so they can use the
rc.report.<report>.dateformat override.
- Assorted bugs remain.
- Implemented 'description.default', 'description.count', and
'description.oneline'.
- New 'indent.annotation' for the 'description.default' field format.