Commit graph

93 commits

Author SHA1 Message Date
Paul Beckingham
5ec4b5ebc9 recur: Migrated from ISO8601d to Datetime 2016-12-17 22:36:29 -05:00
Paul Beckingham
8a3af0c4a6 recur: Converted from ISO8601p to Duration 2016-12-11 21:32:41 -05:00
Paul Beckingham
355620c640 libhsared: migrating from local to libshared 2016-12-06 07:20:45 -05:00
Paul Beckingham
2d20f4d57b Cleanup: Converted all sprintf to snprintf 2016-02-25 00:19:38 -05:00
Paul Beckingham
641d232dea Copyright: Updated to 2016 2015-12-31 15:06:43 -05:00
Paul Beckingham
8e778712ea TW-1313: some recurring intervals reset due time to midnight
- Thanks to James Dietrich.
2015-11-07 17:12:25 -05:00
Paul Beckingham
2c0bb1663d Revert "Recurrence: Converted from sprintf to std::to_string"
This reverts commit b4035d6ff5.
2015-11-02 18:46:19 -05:00
Paul Beckingham
993b94c701 Revert "Recurrence: Converted from strtol to std::stoi"
This reverts commit 368df43583.
2015-11-02 18:39:55 -05:00
Paul Beckingham
368df43583 Recurrence: Converted from strtol to std::stoi 2015-11-01 21:54:29 -05:00
Paul Beckingham
b4035d6ff5 Recurrence: Converted from sprintf to std::to_string 2015-11-01 18:49:11 -05:00
Paul Beckingham
4f156c407c Recur: Migrated recurrence from Date to ISO8601d
- Changed signature of recur functions, which needed a main.h change, which led
  to removing '#include <Date.h>' from main.h, which necessitated adding the
  sam include to various other source files.  Temporarily.
- Added 'ISO8601d ISO8601d::operator+ (time_t)', because of differences from the
  original Date object.
2015-09-30 09:52:09 -04:00
Paul Beckingham
c61f7e6b8f Footnote: New 'recur' verbosity token 2015-08-23 20:36:06 -04:00
Paul Beckingham
ab7f0741d0 Recurrence: Duration replaced by ISO8601p 2015-08-12 07:52:17 -04:00
Paul Beckingham
5c27f80432 Recurrence: updated code and ISO8601 recurrence processing
- Converted from 'atoi' to 'strtol'.
- Updated special handling for recurrence values to include ISO8601 durations.
2015-07-27 22:22:08 -04:00
Paul Beckingham
326367a36e TW-1488: You have more urgent tasks
- Thanks to Stefan Betz, Denis Kasak.
2015-07-13 11:40:42 -04:00
Paul Beckingham
e74c6963a9 C++11: Cleaned up program framework with range-based for 2015-05-11 17:50:53 -04:00
Paul Beckingham
3cbb2bb20f Lexer: Migrated isdigit to Lexer::isDigit 2015-04-16 23:33:25 -04:00
Paul Beckingham
4bdee56fa7 Configuration
- New 'recurrence' configuration setting can disable recurring task generation.
2015-01-25 15:41:31 -05:00
Paul Beckingham
b7ad091d00 Updated copyright to 2015 2015-01-01 00:00:41 -05:00
Paul Beckingham
34ef9f6dd7 TW-1449
- TW-1449 Nag function does not respect urgency (thanks to Tomas Babej).
2014-11-29 16:58:06 -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
b5f3cfd9a3 Code Cleanup
- Replaced multiple Task:setX methods with Task::setAsNow (x).
2014-09-14 11:57:02 -04:00
Paul Beckingham
87dcbd556e Recurrence
- Task::validate and getNextRecurrence needed to consider both Duration and
  ISO8601p.
2014-05-30 21:29:42 -04:00
Paul Beckingham
f77074785b recur
- Converted from OldDuration to Duration.
2014-05-28 22:23:40 -04:00
Paul Beckingham
c933ed2cf7 Code Cleanup
- Migrated the recur.cpp getDueState() function into Task::getDateState(),
  which can assess any date attribute.
- Improved implementation to distinguish between:
    - not due, or not due for rc.due days
    - due after today
    - due later today
    - due earlier today
    - due before today
  This greater precision should address some outstanding issues.
2014-04-12 16:03:19 -04:00
Paul Beckingham
523dce8f32 Code Cleanup
- Standardized headers.
2014-02-01 14:33:37 -05:00
Paul Beckingham
98f740e9d1 Merge branch '2.3.0' into 2.4.0
Conflicts:
	AUTHORS
	CMakeLists.txt
	NEWS
	src/A3.cpp
	src/CMakeLists.txt
	src/Config.cpp
	src/Duration.cpp
	src/Duration.h
	src/Nibbler.cpp
	src/Nibbler.h
	src/RX.cpp
	src/RX.h
	src/columns/ColDate.cpp
	src/columns/ColScheduled.cpp
	src/commands/Command.cpp
	src/legacy.cpp
	src/utf8.cpp
	src/utf8.h
	test/CMakeLists.txt
	test/bug.mergedeps.t.postponed
	test/duration.t.cpp
	test/merge.duplicates.t
	test/merge.simple_duplication.t
	test/merge.t
	test/nibbler.t.cpp
	test/roundtrip.t
	test/rx.t.cpp
	test/utf8.t.cpp
2014-01-07 19:10:03 -05:00
Paul Beckingham
18f03c25b4 Duration
- Renamed Duration object to OldDuration so that the two implementations can
  coexist in a binary.
2014-01-02 01:06:48 -05:00
Paul Beckingham
d27451590a Duration Rename
- In preparation for a new (different) Duration object, the source files need
  to be renamed.
2014-01-02 00:12:28 -05:00
Paul Beckingham
8ed92ca498 Copyright
- Bumped copyright to 2014, ready for release.
2014-01-01 13:32:22 -05:00
Paul Beckingham
d03c4cda8a Build Error
- 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)
2013-06-02 13:57:36 -04:00
Paul Beckingham
773b55d374 Code Cleanup
- Removed L10N define.  It served its purpose.
2013-04-07 23:50:51 -04:00
Paul Beckingham
1dccd29643 Copyright 2013
- Updated copyright notices.
2013-03-04 17:47:12 -05:00
Paul Beckingham
79e2c591f1 Bug #1022
- Fixed bug #1022, where dependencies were note released when a blocking task
  was completed (thanks to Arkady Grudzinsky).
- The Task object now caches ::is_blocked and ::is_blocking Booleans that are
  determined on pending.data load.
- Simplified and sped up color rule processing using cached values, reducing
  the number of map lookups, and removed loop invariants when the rules are
  not defined.
- Simplified urgency calculations given the cached values for blocked/blocking.
- On load, pending.data is scanned for accurate blocked/blocking status
  determination.
- Obsoleted and removed complex single-task dependency calculations.
- Sped up 'nag' processing by using cached values..
- Modified the 'show' command to consider color.blocking to be valid.
- Added default config value for color.blocking, and included it in the
  precedence list ahead of blocked, as it is more important.
- Updated taskrc.5 man page to include the new color.blocking rule, and its
  place in the rule precedence.
2012-07-09 01:29:51 -04:00
Paul Beckingham
665bc197dc Feature #457
- Tasks may now be given an 'until' date, after which they expire and are
  deleted.
2012-05-13 23:43:53 -04:00
Paul Beckingham
873376c287 Performance improvements:
- Added parse-free convenience functions
2012-05-05 13:28:02 -04:00
Paul Beckingham
96fe3f42ba Minor Refactoring
- 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.
2012-02-05 20:56:46 -05:00
Paul Beckingham
6580095002 Copyright
- Year change.
2012-01-02 23:32:10 -05:00
Federico Hernandez
8116c6a103 License
- moving task from GPL to MIT license
  top level src directory
2011-10-08 00:04:01 +02:00
Paul Beckingham
6e649f3f45 Recurring Tasks
- Rewrote updateRecurrenceMask, which was hopelessly muddled after the
  TDB -> TDB2 change.
- Modified associated code.
- Improved signal to noise ratio in unit tests.
2011-09-11 01:56:56 -04:00
Paul Beckingham
54866864ad Code Cleanup
- Removed unnecessary Task::setEnd call.
2011-09-03 11:29:23 -04:00
Paul Beckingham
f19a09b390 Bug
- When handleRecurrence was cloning the parent task, it failed to set
  a new ID, so all the child tasks were given the ID of the parent.
- Cleaned up bug.annual.t.
2011-09-01 01:05:59 -04:00
Paul Beckingham
b09351c517 Task Validation
- Fixed validation bug whereby recurring child tasks inherited the
  parent status ("recurring") instead of the expected "pending".
- Modified 'add' command to code duplicated in Task::validate.
- Cleaned up associated bug.period.t unit test.
2011-08-31 01:34:59 -04:00
Paul Beckingham
06d54b2e72 Commands - Calendar
- Converted the 'cal' command to TDB2.
- Reinstated command line handling for 'cal' command, but realized there
  is a conflict with filters.  Filtering disabled for 'cal' until a good
  solution is found.
- Converted recur.cpp to use TDB2, which eliminates the file locking
  problems that occur when both TDB and TDB2 are in use at the same time.
  This will cause other issues until all commands are converted to TDB2.
2011-08-14 12:04:34 -04:00
Paul Beckingham
1f58856299 TDB2 - Recurrence
- Re-enabled the recurrence handling code and converted from TDB to
  TDB2.  Time for some difficult TDB2 work.  But first, coffee.
2011-08-14 10:19:59 -04:00
Paul Beckingham
ba723db9d7 Helpers
- Implemented Task::setEnd.
- Updated all code to use Task::setEntry and Task::setEnd.
2011-07-10 11:07:00 -04:00
Paul Beckingham
63f91c2f88 Enhancement
- Implemented Record::get_date to eliminated the need to obtain a date
  as a string, then convert to time_t, then instantiate a Date.
2011-07-01 22:13:34 -04:00
Paul Beckingham
45a757832a Feature #559
- Added feature #559, which implements a new configuration variable,
  rc.exit.on.missing.db, which causes taskwarrior to exit if the
  rc.data.location is missing (thanks to Sander Marechal).
2011-06-27 23:23:28 -04:00
Paul Beckingham
37edd06027 I18N
- Localized more files.
2011-06-26 14:41:59 -04:00
Paul Beckingham
f971fcd110 Code Cleanup
- Obsoleted Filter.{h,cpp}.
- Obsoleted Sequence.{h,cpp}.
- Eliminated Context::autoFilter.
- Stubbed Expression::eval.
2011-06-15 23:45:50 -04:00