comparison src/core/date.cpp @ 47:d8eb763e6661

information.cpp: add widgets to the list tab, and add an "optional date" widget like taiga has so users can specify whether to set the date or not
author Paper <mrpapersonic@gmail.com>
date Mon, 25 Sep 2023 00:43:38 -0400
parents 2743011a6042
children 75c804f713b2
comparison
equal deleted inserted replaced
46:d0adc4aedfc8 47:d8eb763e6661
83 if (ptr != nullptr) 83 if (ptr != nullptr)
84 return *day; 84 return *day;
85 return -1; 85 return -1;
86 } 86 }
87 87
88 bool Date::IsValid() const {
89 return year.get() && month.get() && day.get();
90 }
91
88 bool Date::operator<(const Date& other) const { 92 bool Date::operator<(const Date& other) const {
93 int y = GetYear(), m = GetMonth(), d = GetDay();
89 int o_y = other.GetYear(), o_m = other.GetMonth(), o_d = other.GetDay(); 94 int o_y = other.GetYear(), o_m = other.GetMonth(), o_d = other.GetDay();
90 return std::tie(*year, *month, *day) < std::tie(o_y, o_m, o_d); 95 return std::tie(y, m, d) < std::tie(o_y, o_m, o_d);
91 } 96 }
92 97
93 bool Date::operator>(const Date& other) const { 98 bool Date::operator>(const Date& other) const {
94 return other < (*this); 99 return other < (*this);
95 } 100 }
101 bool Date::operator>=(const Date& other) const { 106 bool Date::operator>=(const Date& other) const {
102 return !((*this) < other); 107 return !((*this) < other);
103 } 108 }
104 109
105 QDate Date::GetAsQDate() const { 110 QDate Date::GetAsQDate() const {
106 /* QDates don't (yet) support "missing" values */ 111 /* QDates don't support "missing" values, for good reason. */
107 if (year.get() && month.get() && day.get()) 112 if (IsValid())
108 return QDate(*year, *month, *day); 113 return QDate(*year, *month, *day);
109 else 114 else
110 return QDate(); 115 return QDate();
111 } 116 }
112 117