From e95de7f9e4d475201470907c0b8028696427892a Mon Sep 17 00:00:00 2001 From: Siegfried Siegert Date: Thu, 30 Nov 2023 16:33:47 +0100 Subject: [PATCH] Print: dates in QLocale::ShortFormat Note: this needs test! Expected behaviour is that date format switches with language switch! This my be no problem in most cases however, e.g. in some cases there would be a different date format on the tickets. --- src/ATBAPP/ATBDeviceControllerPlugin.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/ATBAPP/ATBDeviceControllerPlugin.cpp b/src/ATBAPP/ATBDeviceControllerPlugin.cpp index c60d725..aef35e9 100644 --- a/src/ATBAPP/ATBDeviceControllerPlugin.cpp +++ b/src/ATBAPP/ATBDeviceControllerPlugin.cpp @@ -506,6 +506,10 @@ void ATBDeviceControllerPlugin::requestPrintTicket(nsDeviceControllerInterface:: QDateTime parkingEndDateTime = QDateTime::fromString(printingData["parkingEnd"].toString(), Qt::ISODate); QDateTime currentDateTime = QDateTime::fromString(printingData["currentDateTime"].toString(), Qt::ISODate); + QString parkingEndDateString = QLocale().toString(parkingEndDateTime.date(), QLocale::ShortFormat); + QString currentDateString = QLocale().toString(currentDateTime.date(), QLocale::ShortFormat); + + // set dynamic printer data: QByteArray ba_licenseplate = codec->fromUnicode(printingData["licenseplate"].toString()); memcpy((char*)dynTicketData->licensePlate, ba_licenseplate.data(), std::min(ba_licenseplate.size(),8)); @@ -517,11 +521,11 @@ void ATBDeviceControllerPlugin::requestPrintTicket(nsDeviceControllerInterface:: QByteArray ba_parkingEndTime = codec->fromUnicode(parkingEndDateTime.toString("hh:mm")); memcpy((char*)dynTicketData->parkingEnd, ba_parkingEndTime.data(), std::min(ba_parkingEndTime.size(),8)); - QByteArray ba_parkingEndDate = codec->fromUnicode(parkingEndDateTime.toString("yy.MM.dd")); + QByteArray ba_parkingEndDate = codec->fromUnicode(parkingEndDateString); memcpy((char*)dynTicketData->currentTime, ba_parkingEndDate.data(), std::min(ba_parkingEndDate.size(),8)); // ! and yes... 'ParkingEndDate' is 'currentTime' - QByteArray ba_currentDate = codec->fromUnicode(currentDateTime.toString("yy.MM.dd")); + QByteArray ba_currentDate = codec->fromUnicode(currentDateString); memcpy((char*)dynTicketData->currentDate, ba_currentDate.data(), std::min(ba_currentDate.size(),8)); // STAN for Szeged Start/Stop: must be 9 digits @@ -673,6 +677,9 @@ void ATBDeviceControllerPlugin::requestPrintTicket(const QHashfromUnicode(parkingEndDateTime.toString("hh:mm")); memcpy((char*)dynTicketData->parkingEnd, ba_parkingEndTime.data(), std::min(ba_parkingEndTime.size(),8)); - QByteArray ba_parkingEndDate = codec->fromUnicode(parkingEndDateTime.toString("yy.MM.dd")); + QByteArray ba_parkingEndDate = codec->fromUnicode(parkingEndDateString); memcpy((char*)dynTicketData->currentTime, ba_parkingEndDate.data(), std::min(ba_parkingEndDate.size(),8)); // ! and yes... 'ParkingEndDate' is 'currentTime' - QByteArray ba_currentDate = codec->fromUnicode(currentDateTime.toString("yy.MM.dd")); + QByteArray ba_currentDate = codec->fromUnicode(currentDateString); memcpy((char*)dynTicketData->currentDate, ba_currentDate.data(), std::min(ba_currentDate.size(),8));