Make '-t' take a numeric argument that sets the "DeltaOffset" to that

value.  We trigger any reminder that will trigger between today and
today+DeltaOffset days.  A bare '-t' sets InfiniteDelta as before.
This commit is contained in:
David F. Skoll
2008-02-06 22:16:47 -05:00
parent 06c8fc8f78
commit ad5e096caa
3 changed files with 15 additions and 3 deletions

View File

@@ -781,6 +781,11 @@ int ShouldTriggerReminder(Trigger *t, TimeTrig *tim, int jul)
/* If there's a "warn" function, it overrides any deltas */
if (t->warn[0] != 0) {
if (DeltaOffset) {
if (jul <= JulianToday + DeltaOffset) {
return 1;
}
}
return ShouldTriggerBasedOnWarn(t, jul);
}
@@ -798,7 +803,7 @@ int ShouldTriggerReminder(Trigger *t, TimeTrig *tim, int jul)
}
/* Should we trigger the reminder? */
return (jul <= JulianToday);
return (jul <= JulianToday + DeltaOffset);
}
/***************************************************************/

View File

@@ -53,6 +53,7 @@ EXTERN INIT( int CalMonths, 0);
EXTERN INIT( int Hush, 0);
EXTERN INIT( int NextMode, 0);
EXTERN INIT( int InfiniteDelta, 0);
EXTERN INIT( int DeltaOffset, 0);
EXTERN INIT( int RunDisabled, 0);
EXTERN INIT( int IgnoreOnce, 0);
EXTERN INIT( int SortByTime, 0);

View File

@@ -222,9 +222,15 @@ void InitRemind(int argc, char const *argv[])
case 't':
case 'T':
InfiniteDelta = 1;
if (!*arg) {
InfiniteDelta = 1;
} else {
PARSENUM(DeltaOffset, arg);
if (DeltaOffset < 0) {
DeltaOffset = 0;
}
}
break;
case 'e':
case 'E':
ErrFp = stdout;