mirror of
https://github.com/GothenburgBitFactory/timewarrior.git
synced 2025-06-26 10:54:28 +02:00
Add convenience method to set range with two dates
This commit is contained in:
parent
9dd106116c
commit
c0039b6ff5
7 changed files with 16 additions and 8 deletions
|
@ -212,6 +212,12 @@ void Interval::setRange (const Range& range)
|
|||
end = range.end;
|
||||
}
|
||||
|
||||
void Interval::setRange (const Datetime& start, const Datetime& end)
|
||||
{
|
||||
this->start = start;
|
||||
this->end = end;
|
||||
}
|
||||
|
||||
Interval Interval::fromJson (std::string jsonString)
|
||||
{
|
||||
Interval interval = Interval ();
|
||||
|
|
|
@ -44,6 +44,7 @@ public:
|
|||
void untag (const std::string&);
|
||||
|
||||
void setRange (const Range& range);
|
||||
void setRange (const Datetime& start, const Datetime& end);
|
||||
|
||||
std::string serialize () const;
|
||||
std::string json () const;
|
||||
|
@ -54,6 +55,7 @@ public:
|
|||
public:
|
||||
int id {0};
|
||||
bool synthetic {false};
|
||||
std::string annotation {};
|
||||
|
||||
private:
|
||||
std::set <std::string> _tags {};
|
||||
|
|
|
@ -60,7 +60,7 @@ int CmdChartDay (
|
|||
if (rules.has ("reports.day.range"))
|
||||
expandIntervalHint (rules.get ("reports.day.range"), filter);
|
||||
else
|
||||
filter.setRange (Range (Datetime ("today"), Datetime ("tomorrow")));
|
||||
filter.setRange (Datetime ("today"), Datetime ("tomorrow"));
|
||||
}
|
||||
|
||||
return renderChart (cli, "day", filter, rules, database);
|
||||
|
@ -79,7 +79,7 @@ int CmdChartWeek (
|
|||
if (rules.has ("reports.week.range"))
|
||||
expandIntervalHint (rules.get ("reports.week.range"), filter);
|
||||
else
|
||||
filter.setRange (Range (Datetime ("sow"), Datetime ("eow")));
|
||||
filter.setRange (Datetime ("sow"), Datetime ("eow"));
|
||||
}
|
||||
|
||||
return renderChart (cli, "week", filter, rules, database);
|
||||
|
@ -98,7 +98,7 @@ int CmdChartMonth (
|
|||
if (rules.has ("reports.month.range"))
|
||||
expandIntervalHint (rules.get ("reports.month.range"), filter);
|
||||
else
|
||||
filter.setRange (Range (Datetime ("som"), Datetime ("eom")));
|
||||
filter.setRange (Datetime ("som"), Datetime ("eom"));
|
||||
}
|
||||
|
||||
return renderChart (cli, "month", filter, rules, database);
|
||||
|
|
|
@ -44,7 +44,7 @@ int CmdGaps (
|
|||
if (rules.has ("reports.gaps.range"))
|
||||
expandIntervalHint (rules.get ("reports.gaps.range"), filter);
|
||||
else
|
||||
filter.setRange (Range (Datetime ("today"), Datetime ("tomorrow")));
|
||||
filter.setRange (Datetime ("today"), Datetime ("tomorrow"));
|
||||
}
|
||||
|
||||
// Is the :blank hint being used?
|
||||
|
|
|
@ -44,7 +44,7 @@ int CmdSummary (
|
|||
// Create a filter, and if empty, choose 'today'.
|
||||
auto filter = getFilter (cli);
|
||||
if (! filter.is_started ())
|
||||
filter.setRange (Range (Datetime ("today"), Datetime ("tomorrow")));
|
||||
filter.setRange (Datetime ("today"), Datetime ("tomorrow"));
|
||||
|
||||
if (! filter.is_ended())
|
||||
filter.end = filter.start + Duration("1d").toTime_t();
|
||||
|
|
|
@ -175,7 +175,7 @@ void validate (
|
|||
// Create a filter, and if empty, choose 'today'.
|
||||
auto filter = getFilter (cli);
|
||||
if (! filter.is_started ())
|
||||
filter.setRange (Range (Datetime ("today"), Datetime ("tomorrow")));
|
||||
filter.setRange (Datetime ("today"), Datetime ("tomorrow"));
|
||||
|
||||
// All validation performed here.
|
||||
if (findHint (cli, ":fill"))
|
||||
|
|
|
@ -201,12 +201,12 @@ int main (int, char**)
|
|||
|
||||
// bool matchesFilter (const Interval& interval, const Interval& filter);
|
||||
Interval refOpen;
|
||||
refOpen.setRange (Range (Datetime (2016, 6, 1), Datetime (0)));
|
||||
refOpen.setRange (Datetime (2016, 6, 1), Datetime (0));
|
||||
refOpen.tag ("tag1");
|
||||
refOpen.tag ("tag2");
|
||||
|
||||
Interval refClosed;
|
||||
refClosed.setRange (Range (Datetime (2016, 6, 1), Datetime (2016, 6, 30)));
|
||||
refClosed.setRange (Datetime (2016, 6, 1), Datetime (2016, 6, 30));
|
||||
refClosed.tag ("tag1");
|
||||
refClosed.tag ("tag2");
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue