Merge branch '1.9.3' of tasktools.org:task into 1.9.3

This commit is contained in:
Paul Beckingham 2010-10-23 15:03:16 -04:00
commit 191d8ef355
4 changed files with 21 additions and 6 deletions

View file

@ -30,6 +30,7 @@ The following submitted code, packages or analysis, and deserve special thanks:
Kevin Owens
Mick Koch
Kathryn Andersen
Alexander Schremmer
Thanks to the following, who submitted detailed bug reports and excellent
suggestions:
@ -59,6 +60,5 @@ suggestions:
Seneca Cunningham
Dirk Deimeke
Michelle Crane
Alexander Schremmer
Elizabeth Maxson

View file

@ -8,8 +8,9 @@
as relative to the current date/time.
+ Added feature #189, that records the start and stop times as an
annotation for a task.
+ Added features #244, #272, #274 and #275, which support import and
export of YAML 1.1. YAML is now the default export format for task.
+ Added features #244, #272, #273, #274, #275 and #279, which support
import and export of YAML 1.1. YAML is now the default export format
for task.
+ Added feature #391, now the 'task color legend' command will show
samples of all the defined colors and color rules from your .taskrc
and theme.

View file

@ -647,7 +647,7 @@ void Task::validate () const
if (has ("wait"))
{
Date wait (::atoi (get ("wait").c_str ()));
if (wait > due)
if (wait < due)
throw std::string ("A 'wait' date must be after a 'due' date.");
}

View file

@ -95,18 +95,32 @@ void handleRecurrence ()
{
if (mask.length () <= i)
{
mask += '-';
changed = true;
Task rec (*t); // Clone the parent.
rec.set ("uuid", uuid ()); // New UUID.
rec.setStatus (Task::pending); // Shiny.
rec.set ("parent", t->get ("uuid")); // Remember mom.
char dueDate[16];
sprintf (dueDate, "%u", (unsigned int) d->toEpoch ());
rec.set ("due", dueDate); // Store generated due date.
if (t->get ("wait").size())
{
Date old_wait (atoi (t->get ("wait").c_str ()));
Date old_due (atoi (t->get ("due").c_str ()));
Date due (*d);
sprintf (dueDate, "%u", (unsigned int) (due + (old_wait - old_due)).toEpoch ());
rec.set ("wait", dueDate);
rec.setStatus (Task::waiting);
mask += 'W';
}
else
{
mask += '-';
rec.setStatus (Task::pending);
}
char indexMask[12];
sprintf (indexMask, "%u", (unsigned int) i);
rec.set ("imask", indexMask); // Store index into mask.