Refactor renderMonth

- rename to renderMonthAndWeek
This commit is contained in:
Thomas Lauf 2018-12-28 10:40:28 +01:00
parent c4a8542287
commit 2f8638ac8b

View file

@ -38,7 +38,7 @@
int renderChart (const CLI&, const std::string&, Interval&, Rules&, Database&); int renderChart (const CLI&, const std::string&, Interval&, Rules&, Database&);
static std::pair<int, int> determineHourRange (const std::string&, const Rules&, const Interval&, const std::vector <Interval>&); static std::pair<int, int> determineHourRange (const std::string&, const Rules&, const Interval&, const std::vector <Interval>&);
static void renderAxis (const std::string&, const Rules&, bool, const std::string&, int, int); static void renderAxis (const std::string&, const Rules&, bool, const std::string&, int, int);
static std::string renderMonth (const std::string&, const Rules&, const Datetime&, const Datetime&); static std::string renderMonthAndWeek (const std::string&, const Rules&, const Datetime&, const Datetime&);
static std::string renderDayName (const std::string&, const Rules&, Datetime&, Color&, Color&); static std::string renderDayName (const std::string&, const Rules&, Datetime&, Color&, Color&);
static std::string renderTotal (const std::string&, const Rules&, time_t); static std::string renderTotal (const std::string&, const Rules&, time_t);
static std::string renderSubTotal (const std::string&, const Rules&, int, int, time_t); static std::string renderSubTotal (const std::string&, const Rules&, int, int, time_t);
@ -195,7 +195,7 @@ int renderChart (
} }
} }
auto labelMonth = renderMonth (type, rules, previous, day); auto labelMonth = renderMonthAndWeek (type, rules, previous, day);
auto labelDay = renderDayName (type, rules, day, colorToday, colorHoliday); auto labelDay = renderDayName (type, rules, day, colorToday, colorHoliday);
std::cout << labelMonth std::cout << labelMonth
@ -343,22 +343,26 @@ static void renderAxis (
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// Includes trailing separator space. // Includes trailing separator space.
static std::string renderMonth ( static std::string renderMonthAndWeek (
const std::string& type, const std::string &type,
const Rules& rules, const Rules &rules,
const Datetime& previous, const Datetime &previous,
const Datetime& day) const Datetime &day)
{ {
auto showMonth = rules.getBoolean ("reports." + type + ".month"); auto with_month = rules.getBoolean ("reports." + type + ".month");
auto showWeek = rules.getBoolean ("reports." + type + ".week"); auto with_week = rules.getBoolean ("reports." + type + ".week");
const auto show_month = previous.month () != day.month ();
const auto show_week = previous.week () != day.week ();
std::stringstream out; std::stringstream out;
if (showMonth)
out << (previous.month () != day.month () ? day.monthNameShort (day.month ()) : " ") if (with_month)
out << (show_month ? Datetime::monthNameShort (day.month ()) : " ")
<< ' '; << ' ';
if (showWeek) if (with_week)
out << (previous.week () != day.week () ? leftJustify (format ("W{1}", day.week ()), 3) : " ") out << (show_week ? leftJustify (format ("W{1}", day.week ()), 3) : " ")
<< ' '; << ' ';
return out.str (); return out.str ();
@ -385,7 +389,7 @@ static std::string renderDayName (
std::stringstream out; std::stringstream out;
if (showWeekday) if (showWeekday)
out << color.colorize (day.dayNameShort (day.dayOfWeek ())) out << color.colorize (Datetime::dayNameShort (day.dayOfWeek ()))
<< ' '; << ' ';
if (showDay) if (showDay)