~boiko/history-service/rtm-remove_multiple_entries

« back to all changes in this revision

Viewing changes to plugins/sqlite/sqlitehistoryplugin.cpp

Save timestamps in UTC. Fixes: 1379018

Show diffs side-by-side

added added

removed removed

Lines of Context:
300
300
    query.bindValue(":threadId", event[History::FieldThreadId]);
301
301
    query.bindValue(":eventId", event[History::FieldEventId]);
302
302
    query.bindValue(":senderId", event[History::FieldSenderId]);
303
 
    query.bindValue(":timestamp", event[History::FieldTimestamp]);
 
303
    query.bindValue(":timestamp", event[History::FieldTimestamp].toDateTime().toUTC());
304
304
    query.bindValue(":newEvent", event[History::FieldNewEvent]);
305
305
    query.bindValue(":message", event[History::FieldMessage]);
306
306
    query.bindValue(":messageType", event[History::FieldMessageType]);
307
307
    query.bindValue(":messageStatus", event[History::FieldMessageStatus]);
308
 
    query.bindValue(":readTimestamp", event[History::FieldReadTimestamp]);
 
308
    query.bindValue(":readTimestamp", event[History::FieldReadTimestamp].toDateTime().toUTC());
309
309
    query.bindValue(":subject", event[History::FieldSubject].toString());
310
310
 
311
311
    if (!query.exec()) {
394
394
    query.bindValue(":threadId", event[History::FieldThreadId]);
395
395
    query.bindValue(":eventId", event[History::FieldEventId]);
396
396
    query.bindValue(":senderId", event[History::FieldSenderId]);
397
 
    query.bindValue(":timestamp", event[History::FieldTimestamp]);
 
397
    query.bindValue(":timestamp", event[History::FieldTimestamp].toDateTime().toUTC());
398
398
    query.bindValue(":newEvent", event[History::FieldNewEvent]);
399
399
    query.bindValue(":duration", event[History::FieldDuration]);
400
400
    query.bindValue(":missed", event[History::FieldMissed]);
515
515
 
516
516
        // the generic event fields
517
517
        thread[History::FieldSenderId] = query.value(6);
518
 
        thread[History::FieldTimestamp] = query.value(7);
 
518
        thread[History::FieldTimestamp] = toLocalTimeString(query.value(7).toDateTime());
519
519
        thread[History::FieldNewEvent] = query.value(8);
520
520
 
521
521
        // the next step is to get the last event
550
550
            thread[History::FieldMessage] = query.value(9);
551
551
            thread[History::FieldMessageType] = query.value(10);
552
552
            thread[History::FieldMessageStatus] = query.value(11);
553
 
            thread[History::FieldReadTimestamp] = query.value(12);
 
553
            thread[History::FieldReadTimestamp] = toLocalTimeString(query.value(12).toDateTime());
554
554
            break;
555
555
        case History::EventTypeVoice:
556
556
            thread[History::FieldMissed] = query.value(10);
604
604
        event[History::FieldThreadId] = threadId;
605
605
        event[History::FieldEventId] = eventId;
606
606
        event[History::FieldSenderId] = query.value(3);
607
 
        event[History::FieldTimestamp] = query.value(4);
 
607
        event[History::FieldTimestamp] = toLocalTimeString(query.value(4).toDateTime());
608
608
        event[History::FieldNewEvent] = query.value(5);
609
609
        event[History::FieldParticipants] = query.value(6).toString().split("|,|");
610
610
 
642
642
            event[History::FieldMessage] = query.value(7);
643
643
            event[History::FieldMessageType] = query.value(8);
644
644
            event[History::FieldMessageStatus] = query.value(9);
645
 
            event[History::FieldReadTimestamp] = query.value(10);
 
645
            event[History::FieldReadTimestamp] = toLocalTimeString(query.value(10).toDateTime());
646
646
            break;
647
647
        case History::EventTypeVoice:
648
648
            event[History::FieldDuration] = query.value(7).toInt();
654
654
    }
655
655
    return events;
656
656
}
 
657
 
 
658
QString SQLiteHistoryPlugin::toLocalTimeString(const QDateTime &timestamp)
 
659
{
 
660
    return QDateTime(timestamp.date(), timestamp.time(), Qt::UTC).toLocalTime().toString("yyyy-MM-ddTHH:mm:ss.zzz");
 
661
}