Pointer + time delta
This commit is contained in:
@@ -4,11 +4,29 @@ Day::Day()
|
||||
{
|
||||
start = QTime(9, 0, 0, 0);
|
||||
end = QTime(17, 15, 0, 0);
|
||||
BreakPoint lunch(QTime(12, 0, 0, 0), QTime(12, 45, 0, 0));
|
||||
BreakPoint *lunch = new BreakPoint(QTime(12, 0, 0, 0), QTime(12, 45, 0, 0));
|
||||
breaks.append(lunch);
|
||||
validate = false;
|
||||
}
|
||||
|
||||
Day::Day(Day *old)
|
||||
{
|
||||
start = QTime(9, 0, 0, 0);
|
||||
end = QTime(17, 15, 0, 0);
|
||||
BreakPoint *lunch = new BreakPoint(QTime(12, 0, 0, 0), QTime(12, 45, 0, 0));
|
||||
breaks.append(lunch);
|
||||
validate = false;
|
||||
update(old);
|
||||
}
|
||||
|
||||
Day::~Day()
|
||||
{
|
||||
foreach (BreakPoint *bp, breaks) {
|
||||
delete bp;
|
||||
}
|
||||
breaks.clear();
|
||||
}
|
||||
|
||||
float Day::get_total() {
|
||||
int sec = start.secsTo(end);
|
||||
int minutes = sec / 60;
|
||||
@@ -30,7 +48,7 @@ void Day::set_validate(bool value) {
|
||||
validate = value;
|
||||
}
|
||||
|
||||
void Day::setBreaks(QVector<BreakPoint> breaks)
|
||||
void Day::setBreaks(QVector<BreakPoint*> breaks)
|
||||
{
|
||||
this->breaks = breaks;
|
||||
}
|
||||
@@ -45,7 +63,7 @@ QTime Day::get_end()
|
||||
return end;
|
||||
}
|
||||
|
||||
QVector<BreakPoint> Day::getBreaks()
|
||||
QVector<BreakPoint*> Day::getBreaks()
|
||||
{
|
||||
return breaks;
|
||||
}
|
||||
@@ -53,8 +71,8 @@ QVector<BreakPoint> Day::getBreaks()
|
||||
QJsonObject Day::to_json()
|
||||
{
|
||||
QJsonArray arr;
|
||||
foreach (BreakPoint bp, breaks) {
|
||||
arr.append(bp.to_json());
|
||||
foreach (BreakPoint *bp, breaks) {
|
||||
arr.append(bp->to_json());
|
||||
}
|
||||
QJsonObject obj{
|
||||
{KEY_START, start.toString(Qt::DateFormat::ISODate)},
|
||||
@@ -66,18 +84,18 @@ QJsonObject Day::to_json()
|
||||
return obj;
|
||||
}
|
||||
|
||||
Day Day::from_json(QJsonObject obj)
|
||||
Day* Day::from_json(QJsonObject obj)
|
||||
{
|
||||
Day result;
|
||||
Day *result = new Day();
|
||||
|
||||
result.start = QTime::fromString(obj[KEY_START].toString(), Qt::DateFormat::ISODate);
|
||||
result.end = QTime::fromString(obj[KEY_END].toString(), Qt::DateFormat::ISODate);
|
||||
result.validate = obj[KEY_VALIDATE].toBool();
|
||||
result->start = QTime::fromString(obj[KEY_START].toString(), Qt::DateFormat::ISODate);
|
||||
result->end = QTime::fromString(obj[KEY_END].toString(), Qt::DateFormat::ISODate);
|
||||
result->validate = obj[KEY_VALIDATE].toBool();
|
||||
|
||||
result.breaks.clear();
|
||||
result->breaks.clear();
|
||||
QJsonArray arr = obj[KEY_BREAKS].toArray();
|
||||
foreach (QJsonValue val, arr) {
|
||||
result.breaks.append(BreakPoint::from_json(val.toObject()));
|
||||
result->breaks.append(BreakPoint::from_json(val.toObject()));
|
||||
}
|
||||
|
||||
return result;
|
||||
@@ -90,8 +108,24 @@ bool Day::get_validate() {
|
||||
float Day::get_time_break()
|
||||
{
|
||||
float result = 0;
|
||||
foreach (BreakPoint bp, breaks) {
|
||||
result += bp.getDuration();
|
||||
foreach (BreakPoint* bp, breaks) {
|
||||
result += bp->getDuration();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
void Day::update(Day *old)
|
||||
{
|
||||
this->start = old->start;
|
||||
this->end = old->end;
|
||||
this->validate = old->validate;
|
||||
|
||||
foreach (BreakPoint *bp, breaks) {
|
||||
delete bp;
|
||||
}
|
||||
breaks.clear();
|
||||
|
||||
foreach (BreakPoint *bp, old->breaks) {
|
||||
this->breaks.append(new BreakPoint(bp));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user