- Many files were missing an explicit cmake.h include. Some were not including
it at all. Now it's used almost everywhere.
(cherry picked from commit 82ae86979c497e6d1d0c6b2b5a55aa379ec82c98)
- It it not necessary to make a copy of all configuration variable names, if the
Config::const_iterator is sufficient.
(cherry picked from commit 5708cb90780f1f6c8f58f5b549796c4af612b1ab)
- Some bad inefficiencies in date formatting were noticed, and when addressed,
caused a bug to surface. The length of a formatted date can be calculated
from the dateformat, but was done incorrectly. Very, very incorrectly.
- Added unit tests.
- Promoted date column-specific "countdown" size measurements up to the ColDate
base class. This neatly falls out from work on #1218.
- Noted a potential I18N problem in Date.cpp.
- Modified default report definitions to use shorter column labels, namely
'Proj' and 'Urg'. This results in less horizontal space use.
- Adjusted unit tests accordingly.
- Add the configuration variable 'print.empty.columns'.
- If this variable is set to 'no', columns with all empty values are not
printed. This variable defaults to 'yes' (thus nothing is changed
by default).
- Updated taskrc.5.in to mention the new variable.
- Added unit tests.
- Removed deprecated 'fg:' and 'bg:' attributes, which involves code,
documentation and tests.
- Cleaned out NEWS file.
- Cleaned out config import synonyms, which should have been deleted a while
ago.
- Removed unused localized strings, but left the 'deprecated' one behind,
because it will be needed.
- Added an A3::is_attr type override for 'recur', which needs to be
treated as an un-expanded 'string' type, most, but not all of the
time.
- Documented the above in ColRecur.cpp.
- Modified Command.cpp to recognize both type 'duration' and name 'recur'.
- Removed Command::next_mod_group argument coalescing for date types,
which was not used anyway.
- Improved the error message for unrecognized durations, which previously
included the word 'date'.
- Modified unit tests to accomodate the above error message change.
- Added bug.972.t unit tests, which fail, because it isn't fixed yet.
- Made A3::dump const so it can be used anywhere.
- 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.