Mercurial > minori
diff include/core/date.h @ 258:862d0d8619f6
*: HUUUGE changes
animia has been renamed to animone, so instead of thinking of a
health condition, you think of a beautiful flower :)
I've also edited some of the code for animone, but I have no idea
if it even works or not because I don't have a mac or windows
machine lying around. whoops!
... anyway, all of the changes divergent from Anisthesia are now
licensed under BSD. it's possible that I could even rewrite most
of the code to where I don't even have to keep the MIT license,
but that's thinking too far into the future
I've been slacking off on implementing the anime seasons page,
mostly out of laziness. I think I'd have to create another db file
specifically for the seasons
anyway, this code is being pushed *primarily* because the hard drive
it's on is failing! yay :)
author | Paper <paper@paper.us.eu.org> |
---|---|
date | Mon, 01 Apr 2024 02:43:44 -0400 |
parents | c4ca035c565d |
children | 3ec7804abf17 |
line wrap: on
line diff
--- a/include/core/date.h Sun Feb 18 16:02:14 2024 -0500 +++ b/include/core/date.h Mon Apr 01 02:43:44 2024 -0400 @@ -8,29 +8,46 @@ class QDate; class Date { - public: - Date(); - Date(unsigned int y); - Date(unsigned int y, unsigned int m, unsigned int d); - Date(const QDate& date); - Date(const nlohmann::json& json); - bool IsValid() const; - void SetYear(unsigned int y); - void SetMonth(unsigned int m); - void SetDay(unsigned int d); - void VoidYear(); - void VoidMonth(); - void VoidDay(); - std::optional<unsigned int> GetYear() const; - std::optional<unsigned int> GetMonth() const; - std::optional<unsigned int> GetDay() const; - QDate GetAsQDate() const; - nlohmann::json GetAsAniListJson() const; +public: + using Year = unsigned int; + using Day = unsigned char; + enum class Month { + Jan = 0, + Feb, + Mar, + Apr, + May, + Jun, + Jul, + Aug, + Sep, + Oct, + Nov, + Dec + }; - private: - std::optional<unsigned int> year; - std::optional<unsigned int> month; - std::optional<unsigned int> day; + Date(); + Date(Year y); + Date(Year y, Month m, Day d); + Date(const QDate& date); + Date(const nlohmann::json& json); + bool IsValid() const; + void SetYear(Year y); + void SetMonth(Month m); + void SetDay(Day d); + void VoidYear(); + void VoidMonth(); + void VoidDay(); + std::optional<Year> GetYear() const; + std::optional<Month> GetMonth() const; + std::optional<Day> GetDay() const; + QDate GetAsQDate() const; + nlohmann::json GetAsAniListJson() const; + +private: + std::optional<Year> year; + std::optional<Month> month; + std::optional<Day> day; }; #endif // __core__date_h