Commit graph

244 commits

Author SHA1 Message Date
Wilhelm Schuermann
e95167a984 Plumbing: Use variadic templates for format()
- Use variadic templates, with a slight twist for properly supporting
  Taskwarrior's l10n strings.
- Adjust code that relied on implicit type conversion which led to
  problems with template instantiation.
- Move some functionality out of format() in order to keep it generic.
2015-06-07 20:54:02 +02:00
Wilhelm Schuermann
5105bd05f9 TW-1454: Redundant dependency should not stop modification 2015-06-05 23:57:48 +02:00
Wilhelm Schuermann
2ad3713e8c JSON: Fix memory leak in parser
- Fix JSON root object leaking out by using delete.
  This is by no means a comprehensive fix since exceptions are involved
  in a lot of places, but it does fix the memory leak in all cases
  checked in Taskwarrior's test suite.
- Going with a shared_ptr or unique_ptr here might be a better
  solution, but would involve more code changes.
2015-06-03 23:12:34 +02:00
Paul Beckingham
e8d04bdce6 C++11: N1984 auto 2015-05-24 13:36:26 -04:00
Wilhelm Schuermann
49f7612704 TW-1572: Implement better urgency inheritance
- Implement recursive urgency inheritance.  If this is to be made a
  default setting, some thought will have to be put into making it
  more efficient.
2015-05-22 23:01:21 +02:00
Paul Beckingham
e74c6963a9 C++11: Cleaned up program framework with range-based for 2015-05-11 17:50:53 -04:00
Paul Beckingham
935b2993f3 C++11: Took advantage of N1757. 2015-04-06 15:30:39 -04:00
Paul Beckingham
5da3416b79 TW-70: urgency.user.keyword.<keyword>.coefficient=...
- The 'urgency.user.keyword.<keywrod>.coefficient' setting allows for urgency
  adjustments based on description keywords.
2015-04-05 10:25:42 -04:00
Paul Beckingham
5af4579741 Priority: Converted 'priority' attribute to a UDA
- 'priority.long' and 'priority.short' formats now map to 'priority', and
  generate a warning.
- Man page updated.
- Converted priority urgency coefficients to UDA equivalents.
- Converted priority color rules to UDA color rules.
- Removed 'default.priority' support.
- Removed special sort handling for 'priority' field in Variant, added special
  UDA sort handling.
- Removed ColPriority.{h,cpp} source files.
- Removed asorted newly-unused variables.
- The 'show' command now highlights unused priority settings.
- Removed unused localized priority-relateѕ strings.
- Added legacy mapping for columns and sort columns for 'priority.long' and
  'priority.short' columns in report definitions.
- Removed priority color rules implementation.
- Removed obsolete tests for #860, #990, custom.priority_long.t.
- Updated various tests that set priority default, colors.
2015-04-04 19:30:33 -04:00
Paul Beckingham
743cb92958 Context: Static initialize UDA sort order values 2015-04-04 14:50:38 -04:00
Wilhelm Schuermann
c1815b8277 TW-1279: default.* applies to recurring tasks
- Recurring tasks inherit attributes from their parent.  default.*
  is no longer applied to them.
2015-04-02 13:37:59 +02:00
Paul Beckingham
a75c293286 Merge branch '2.4.2' into lexer2 2015-03-07 17:33:23 -05:00
Paul Beckingham
7665d13d42 Duration
- Removed legacy duration value mapping, which causes much performance
  degradation.
2015-03-02 16:16:39 -05:00
Paul Beckingham
cefc129e9a Task
- Delegated the modifiability check to Column::modifiable.
2015-03-01 21:36:56 -05:00
Paul Beckingham
58e62711f3 Virtual Tags
- The 'info' command now shows virtual tags.
2015-02-26 21:09:50 -05:00
Paul Beckingham
2ef0214248 TW-1542
- TW-1542 Large numeric UDA values get rendered in scientific notation on export
          (thanks to Ralph Bean).
2015-02-15 11:24:24 -05:00
Tomas Babej
328b7ec260 Task: Do not export empty attributes in composeJSON 2015-02-14 16:32:41 -05:00
Jens Erat
cd31335742 TW-1491 - TW-1491 Regression in deleting due dates 2015-01-12 15:42:58 -05:00
Paul Beckingham
a22d173b9b TW-1487
- TW-1487 Task export exports some numeric attributes as strings (thanks to
          Tomas Babej).
2015-01-11 09:07:04 -05:00
Paul Beckingham
dad0ac0c27 TW-1486
- TW-1486 task wait shows completed tasks which has a wait attribute (thanks to
          Sujeevan Vijayakumaran).
2015-01-03 09:31:54 -05:00
Paul Beckingham
b7ad091d00 Updated copyright to 2015 2015-01-01 00:00:41 -05:00
Paul Beckingham
38daf415ff TW-1482
- TW-1482 Priority values may be 'H', 'M' or 'L', not ''.
2014-12-30 23:24:54 -05:00
Paul Beckingham
bbc40c051d Tw-145
- TW-145 default.due should accept a Duration (thanks to Ozgur Akgun).
2014-12-27 14:44:31 -05:00
Paul Beckingham
84dc7dd245 TW-1423
- TW-1423 Using the date February 29th, in a non leap year does not fail well
          (thanks to Black Ops Testing).
2014-12-24 09:03:49 -05:00
Paul Beckingham
1be01b19a4 Task
- Prevented some (but not all) errors from being incorrectly displayed as "no
  longer support file format 1".
2014-12-24 00:15:35 -05:00
Paul Beckingham
85518c646f Task
- Modification diagnostics were missing for 'recur' attribute.
2014-11-22 13:38:24 -05:00
Wilhelm Schuermann
00b15ca407 TW-1460
- Display error for empty due: attribute when adding recurring tasks.
- Prevent endless loop for tasks that have an empty due: attribute.
2014-11-15 14:16:02 -05:00
Paul Beckingham
8e039c4a8a Task
- Fixed bug where tag modifications were trying to access a 'tag' attribute,
  instead of the 'name' attribute.
2014-11-01 22:21:18 -04:00
Paul Beckingham
a078ad41e8 Task
- Removed unnecessary include.
2014-11-01 21:56:18 -04:00
Paul Beckingham
0a7d02787d Task
- Converted ::modify to use CLI.
2014-10-31 22:30:39 -04:00
Paul Beckingham
0c4b447c77 Task
- Added CLI::dump.
2014-10-25 14:35:00 -04:00
Paul Beckingham
0183c8a231 TW-1420, TW-1421, TW-1422
- TW-1420 Modifying 'uuid' fails to generate error (thanks to Black Ops Testing).
- TW-1421 Modifying 'uuid' with bogus value can corrupt undo.data (thanks to
          Black Ops Testing).
- TW-1422 Attempt to modify 'id' attribute creates an id attribute (thanks to
          Black Ops Testing).
2014-10-13 00:18:01 -04:00
Paul Beckingham
963e79696b TW-1354
- Tweaks.
2014-10-10 16:27:55 -04:00
Johannes Schlatow
a88a062d3d Urgency
- Supports 'urgency.uda.<name>.<value>.coefficient' (TW-1354)
2014-10-10 16:21:36 -04:00
Paul Beckingham
4513248360 Task
- Upgrades UDA values of type 'duration' to supported values.
2014-10-07 22:49:46 -04:00
Paul Beckingham
b972c2c6c8 Task
- Improved structure of legacy duration value upgrades, so it can be used for
  other things, namely UDA durations.
2014-10-07 22:38:44 -04:00
Paul Beckingham
1a5fb437a5 Task
- Upgrades legacy recur values.
2014-10-07 00:24:03 -04:00
Paul Beckingham
a0c488cfcf Code Cleanup
- Removed support for legacy format FF3 (v1.6.0 - v1.7.1).
2014-09-14 12:16:27 -04:00
Paul Beckingham
e93c61ae8d L10N
- Localized two remaining errors in Task.cpp that were missed.
2014-09-14 12:11:45 -04:00
Paul Beckingham
b5f3cfd9a3 Code Cleanup
- Replaced multiple Task:setX methods with Task::setAsNow (x).
2014-09-14 11:57:02 -04:00
Paul Beckingham
fe549094e3 Task
- Added 'modified' attribute in ::validate, if not already present. This is not
  strictly necessary, but it is good to be explicit.
2014-09-07 23:24:07 -04:00
Paul Beckingham
a7171193ca Task
- Migrated util.cpp encode and decode functions because this is the only place
  they are used.
2014-09-07 17:23:16 -04:00
Paul Beckingham
2e3be1c5a0 Task
- Now decodes backslashes on annotation add.
2014-08-31 13:26:06 -04:00
Paul Beckingham
bd4a7081c1 Task
- Now decodes backslashes on attribute set.
2014-08-31 13:25:46 -04:00
Paul Beckingham
fa4fba6573 Code Cleanup
- Corrected comment which was saying the opposite of what happens.
2014-08-16 10:50:05 -04:00
Paul Beckingham
ce07b9ba7b Code Cleanup
- Removed unused attribute lookup from Task::validate.
2014-08-16 10:46:55 -04:00
Paul Beckingham
af75fa8b05 TW-296
- TW-296 urgency of blocked task should affect urgency of blocking task (thanks
         to Sitaram Chamarty).
2014-07-06 17:19:29 -04:00
Wilhelm Schuermann
7548ce662a TW-296
- TW-296 urgency of blocked task should affect urgency of blocking task

Signed-off-by: Paul Beckingham <paul@beckingham.net>
2014-07-06 14:11:10 -04:00
Paul Beckingham
75af8d6ca4 Task
- The ::remove method only needs to set ::recalc_urgency if the attribute was
  actually removed.
2014-07-06 00:36:16 -04:00
Paul Beckingham
a04df10d11 TW-1267
- TW-1267 If default.project is defined it's not possible to add a task without
          a project (thanks to Renato Alves).
2014-07-03 17:41:39 -04:00