Pointer + time delta

This commit is contained in:
Aurélie Delhaie
2022-03-01 21:08:34 +01:00
parent ffebb3c7d7
commit 9bb56fe174
24 changed files with 652 additions and 282 deletions

View File

@@ -5,19 +5,35 @@ Year::Year()
}
Year::Year(Year *old)
{
this->number = old->number;
foreach (int weekNumber, old->weeks.keys()) {
weeks[weekNumber] = new Week(old->weeks[weekNumber]);
}
}
Year::~Year()
{
foreach (Week *w, weeks) {
delete w;
}
weeks.clear();
}
Year::Year(int number)
{
this->number = number;
}
Year Year::from_json(QJsonObject obj)
Year* Year::from_json(QJsonObject obj)
{
Year result;
result.number = obj[KEY_NUMBER].toInt();
Year *result = new Year();
result->number = obj[KEY_NUMBER].toInt();
QJsonArray arr = obj[KEY_WEEKS].toArray();
foreach (QJsonValue val, arr) {
Week w = Week::from_json(val.toObject());
result.weeks[w.getWeekNumber()] = w;
Week* w = Week::from_json(val.toObject());
result->weeks[w->getWeekNumber()] = w;
}
return result;
}
@@ -26,17 +42,28 @@ QJsonObject Year::to_json()
{
QJsonObject obj;
QJsonArray arr;
foreach (Week w, weeks) {
arr.append(w.to_json());
foreach (Week *w, weeks) {
arr.append(w->to_json());
}
obj[KEY_NUMBER] = number;
obj[KEY_WEEKS] = arr;
return obj;
}
QMap<int, Week> Year::getWeeks()
Week *Year::getWeek(int weekNumber)
{
return weeks;
return weeks[weekNumber];
}
bool Year::hasWeek(int weekNumber)
{
return weeks.contains(weekNumber);
}
QMapIterator<int, Week *> Year::iterator()
{
QMapIterator i(weeks);
return i;
}
int Year::getNumber()
@@ -44,12 +71,7 @@ int Year::getNumber()
return number;
}
void Year::addWeek(Week w)
void Year::addWeek(Week* w)
{
weeks[w.getWeekNumber()] = w;
}
void Year::setWeeks(QMap<int, Week> weeks)
{
this->weeks = weeks;
weeks[w->getWeekNumber()] = w;
}