CmdCalendar: Migrated from ISO8601d to Datetime

This commit is contained in:
Paul Beckingham 2016-12-17 22:08:38 -05:00
parent 17f4b0fdbc
commit d3b25f7325
2 changed files with 34 additions and 34 deletions

View file

@ -76,7 +76,7 @@ int CmdCalendar::execute (std::string& output)
handleRecurrence ();
auto tasks = context.tdb2.pending.get_tasks ();
ISO8601d today;
Datetime today;
bool getpendingdate = false;
int monthsToDisplay = 1;
int mFrom = today.month ();
@ -100,7 +100,7 @@ int CmdCalendar::execute (std::string& output)
// Set up a vector of months, for autoComplete.
std::vector <std::string> monthNames;
for (int i = 1; i <= 12; ++i)
monthNames.push_back (Lexer::lowerCase (ISO8601d::monthName (i)));
monthNames.push_back (Lexer::lowerCase (Datetime::monthName (i)));
// For autoComplete results.
std::vector <std::string> matches;
@ -141,7 +141,7 @@ int CmdCalendar::execute (std::string& output)
// "January" etc.
else if (autoComplete (Lexer::lowerCase (arg), monthNames, matches, context.config.getInteger ("abbreviation.minimum")) == 1)
{
argMonth = ISO8601d::monthOfYear (matches[0]);
argMonth = Datetime::monthOfYear (matches[0]);
if (argMonth == -1)
throw format (STRING_CMD_CAL_BAD_MONTH, arg);
}
@ -178,7 +178,7 @@ int CmdCalendar::execute (std::string& output)
if (getpendingdate == true)
{
// Find the oldest pending due date.
ISO8601d oldest (12, 31, 2037);
Datetime oldest (2037, 12, 31);
for (auto& task : tasks)
{
if (task.getStatus () == Task::pending)
@ -187,7 +187,7 @@ int CmdCalendar::execute (std::string& output)
!task.hasTag ("nocal"))
{
++countDueDates;
ISO8601d d (task.get ("due"));
Datetime d (task.get ("due"));
if (d < oldest) oldest = d;
}
}
@ -236,7 +236,7 @@ int CmdCalendar::execute (std::string& output)
// Print month headers (cheating on the width settings, yes)
for (int i = 0 ; i < monthsPerLine ; i++)
{
std::string month = ISO8601d::monthName (nextM);
std::string month = Datetime::monthName (nextM);
// 12345678901234567890123456 = 26 chars wide
// ^^ = center
@ -319,7 +319,7 @@ int CmdCalendar::execute (std::string& output)
details_mFrom = 12;
--details_yFrom;
}
int details_dFrom = ISO8601d::daysInMonth (details_mFrom, details_yFrom);
int details_dFrom = Datetime::daysInMonth (details_yFrom, details_mFrom);
++mTo;
if (mTo == 13)
@ -328,10 +328,10 @@ int CmdCalendar::execute (std::string& output)
++yTo;
}
ISO8601d date_after (details_mFrom, details_dFrom, details_yFrom);
Datetime date_after (details_yFrom, details_mFrom, details_dFrom);
std::string after = date_after.toString (context.config.get ("dateformat"));
ISO8601d date_before (mTo, 1, yTo);
Datetime date_before (yTo, mTo, 1);
std::string before = date_before.toString (context.config.get ("dateformat"));
// Table with due date information
@ -381,7 +381,7 @@ int CmdCalendar::execute (std::string& output)
{
std::string holName = context.config.get ("holiday." + it.first.substr (8, it.first.size () - 13) + ".name");
std::string holDate = context.config.get ("holiday." + it.first.substr (8, it.first.size () - 13) + ".date");
ISO8601d hDate (holDate.c_str (), context.config.get ("dateformat.holiday"));
Datetime hDate (holDate.c_str (), context.config.get ("dateformat.holiday"));
if (date_after < hDate && hDate < date_before)
hm[hDate.toEpoch()].push_back(holName);
@ -398,7 +398,7 @@ int CmdCalendar::execute (std::string& output)
for (auto& hm_it : hm)
{
std::vector <std::string> v = hm_it.second;
ISO8601d hDate (hm_it.first);
Datetime hDate (hm_it.first);
std::string d = hDate.toString (format);
for (size_t i = 0; i < v.size(); i++)
{
@ -422,12 +422,12 @@ int CmdCalendar::execute (std::string& output)
std::string CmdCalendar::renderMonths (
int firstMonth,
int firstYear,
const ISO8601d& today,
const Datetime& today,
std::vector <Task>& all,
int monthsPerLine)
{
// What day of the week does the user consider the first?
int weekStart = ISO8601d::dayOfWeek (context.config.get ("weekstart"));
int weekStart = Datetime::dayOfWeek (context.config.get ("weekstart"));
if (weekStart != 0 && weekStart != 1)
throw std::string (STRING_CMD_CAL_SUN_MON);
@ -442,24 +442,24 @@ std::string CmdCalendar::renderMonths (
if (weekStart == 1)
{
view.add ("", false);
view.add (utf8_substr (ISO8601d::dayName (1), 0, 2), false);
view.add (utf8_substr (ISO8601d::dayName (2), 0, 2), false);
view.add (utf8_substr (ISO8601d::dayName (3), 0, 2), false);
view.add (utf8_substr (ISO8601d::dayName (4), 0, 2), false);
view.add (utf8_substr (ISO8601d::dayName (5), 0, 2), false);
view.add (utf8_substr (ISO8601d::dayName (6), 0, 2), false);
view.add (utf8_substr (ISO8601d::dayName (0), 0, 2), false);
view.add (utf8_substr (Datetime::dayName (1), 0, 2), false);
view.add (utf8_substr (Datetime::dayName (2), 0, 2), false);
view.add (utf8_substr (Datetime::dayName (3), 0, 2), false);
view.add (utf8_substr (Datetime::dayName (4), 0, 2), false);
view.add (utf8_substr (Datetime::dayName (5), 0, 2), false);
view.add (utf8_substr (Datetime::dayName (6), 0, 2), false);
view.add (utf8_substr (Datetime::dayName (0), 0, 2), false);
}
else
{
view.add ("", false);
view.add (utf8_substr (ISO8601d::dayName (0), 0, 2), false);
view.add (utf8_substr (ISO8601d::dayName (1), 0, 2), false);
view.add (utf8_substr (ISO8601d::dayName (2), 0, 2), false);
view.add (utf8_substr (ISO8601d::dayName (3), 0, 2), false);
view.add (utf8_substr (ISO8601d::dayName (4), 0, 2), false);
view.add (utf8_substr (ISO8601d::dayName (5), 0, 2), false);
view.add (utf8_substr (ISO8601d::dayName (6), 0, 2), false);
view.add (utf8_substr (Datetime::dayName (0), 0, 2), false);
view.add (utf8_substr (Datetime::dayName (1), 0, 2), false);
view.add (utf8_substr (Datetime::dayName (2), 0, 2), false);
view.add (utf8_substr (Datetime::dayName (3), 0, 2), false);
view.add (utf8_substr (Datetime::dayName (4), 0, 2), false);
view.add (utf8_substr (Datetime::dayName (5), 0, 2), false);
view.add (utf8_substr (Datetime::dayName (6), 0, 2), false);
}
}
@ -489,7 +489,7 @@ std::string CmdCalendar::renderMonths (
years.push_back (++thisYear);
}
months.push_back (thisMonth);
daysInMonth.push_back (ISO8601d::daysInMonth (thisMonth++, thisYear));
daysInMonth.push_back (Datetime::daysInMonth (thisYear, thisMonth++));
}
int row = 0;
@ -512,9 +512,9 @@ std::string CmdCalendar::renderMonths (
// Loop through days in month and add to table.
for (int d = 1; d <= daysInMonth[mpl]; ++d)
{
ISO8601d temp (months[mpl], d, years[mpl]);
Datetime temp (years[mpl], months[mpl], d);
int dow = temp.dayOfWeek ();
int woy = temp.weekOfYear (weekStart);
int woy = temp.week ();
if (context.config.getBoolean ("displayweeknumber"))
view.set (row,
@ -549,7 +549,7 @@ std::string CmdCalendar::renderMonths (
if (hol.first.substr (hol.first.size () - 4) == "date")
{
std::string value = hol.second;
ISO8601d holDate (value.c_str (), context.config.get ("dateformat.holiday"));
Datetime holDate (value.c_str (), context.config.get ("dateformat.holiday"));
if (holDate.day () == d &&
holDate.month () == months[mpl] &&
holDate.year () == years[mpl])
@ -574,7 +574,7 @@ std::string CmdCalendar::renderMonths (
task.has ("due"))
{
std::string due = task.get ("due");
ISO8601d duedmy (strtol (due.c_str(), NULL, 10));
Datetime duedmy (strtol (due.c_str(), NULL, 10));
if (duedmy.day () == d &&
duedmy.month () == months[mpl] &&

View file

@ -29,7 +29,7 @@
#include <string>
#include <vector>
#include <ISO8601.h>
#include <Datetime.h>
#include <Task.h>
#include <Command.h>
@ -40,7 +40,7 @@ public:
int execute (std::string&);
private:
std::string renderMonths (int, int, const ISO8601d&, std::vector <Task>&, int);
std::string renderMonths (int, int, const Datetime&, std::vector <Task>&, int);
};
#endif