Add journey model and list
[harbour-pedalo.git] / src / journey.cpp
index af13ec8..775ece7 100644 (file)
@@ -21,6 +21,29 @@ quint64 Journey::getStart () const {
     return start;
 }
 
+QDate Journey::getStartDate() const {
+    QDateTime date;
+
+    date.setMSecsSinceEpoch(start);
+    return date.date();
+}
+
+QTime Journey::getStartTime() const {
+    QDateTime time;
+
+    time.setMSecsSinceEpoch(start);
+    return time.time();
+}
+
+QTime Journey::getEndTime() const {
+    QDateTime time;
+
+    time.setMSecsSinceEpoch(start);
+    time.addSecs(duration);
+
+    return time.time();
+}
+
 qint32 Journey::getDuration () const {
     return duration;
 }
@@ -38,6 +61,35 @@ void Journey::setStart (const quint64 value) {
     start = value;
 }
 
+void Journey::setStartDate (const QDate &value) {
+    QDateTime time;
+
+    time.setMSecsSinceEpoch(start);
+    time.setDate(value);
+}
+
+void Journey::setStartTime (const QTime &value) {
+    QDateTime time;
+
+    time.setMSecsSinceEpoch(start);
+    time.setTime(value);
+}
+
+void Journey::setEndTime(const QTime &value) {
+    qint64 difference;
+    QDateTime starttime;
+    QDateTime endtime;
+
+    starttime.setMSecsSinceEpoch(start);
+    endtime = QDateTime(starttime);
+    endtime.setTime(value);
+    difference = starttime.secsTo(endtime);
+    if (difference < 0) {
+        difference %= 24 * 60 * 60;
+    }
+    duration = difference;
+}
+
 void Journey::setDuration (qint32 value) {
     duration = value;
 }