From 34023bd82f17392f7a1aa91f5c84bcf58350a91c Mon Sep 17 00:00:00 2001 From: Siegfried Siegert Date: Mon, 8 Jun 2026 08:46:29 +0200 Subject: [PATCH] update printQR method --- src/ATBAPP/ATBDeviceControllerPlugin.cpp | 29 +++++++++++++++++++++++- src/ATBAPP/ATBDeviceControllerPlugin.h | 2 ++ src/ATBAPP/DeviceControllerInterface.h | 2 ++ 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/ATBAPP/ATBDeviceControllerPlugin.cpp b/src/ATBAPP/ATBDeviceControllerPlugin.cpp index 313e749..a8c1380 100644 --- a/src/ATBAPP/ATBDeviceControllerPlugin.cpp +++ b/src/ATBAPP/ATBDeviceControllerPlugin.cpp @@ -862,11 +862,38 @@ void ATBDeviceControllerPlugin::requestPrintReceipt(const QString & printingStri this->printResultCheckCounter = 0; - QTimer::singleShot(2000, this, SLOT(onPrinterWaitForPrintingReceipt())); + //QTimer::singleShot(2000, this, SLOT(onPrinterWaitForPrintingReceipt())); //QTimer::singleShot(2000, this, [this](){ hw->prn_cut(3); } ); } +void ATBDeviceControllerPlugin::requestPrintQR(const QString & printingString) +{ + QByteArray ba_qr = this->codec->fromUnicode(printingString); + + //QByteArray ba = printingString.toUtf8(); + hw->prn_switchPower(true); + hw->prn_sendQRdata(&ba_qr); + hw->prn_printQRcode(); + // DEBUG + qCritical() << "---------------------------------------------------------------"; + qCritical() << "ATBDeviceControllerPlugin::requestPrintQR()"; + qCritical() << " QR data:"; + qCritical() << QString(ba_qr); + qCritical() << "---------------------------------------------------------------"; + + + this->printResultCheckCounter = 0; + //QTimer::singleShot(2000, this, SLOT(onPrinterWaitForPrintingReceipt())); + + //QTimer::singleShot(2000, this, [this](){ hw->prn_cut(3); } ); +} + +void ATBDeviceControllerPlugin::requestPrintCut(const qint16 & printTimer) +{ + QTimer::singleShot(printTimer, this, SLOT(onPrinterWaitForPrintingReceipt())); +} + void ATBDeviceControllerPlugin::onPrinterWaitForPrintingReceipt() { quint8 printerResult = this->hw->prn_getPrintResult(); diff --git a/src/ATBAPP/ATBDeviceControllerPlugin.h b/src/ATBAPP/ATBDeviceControllerPlugin.h index 4de81b0..40b16d7 100644 --- a/src/ATBAPP/ATBDeviceControllerPlugin.h +++ b/src/ATBAPP/ATBDeviceControllerPlugin.h @@ -79,6 +79,8 @@ public: void requestPrintTicket(nsDeviceControllerInterface::TICKET_VARIANT ticketVariant, const QHash & printingData); void requestPrintReceipt(const QHash & printingData); void requestPrintReceipt(const QString & printingString); + void requestPrintQR(const QString & printingString); + void requestPrintCut(const qint16 & printTimer); // TASKS: Account ------------------------------------------------------------- void requestAccount(); diff --git a/src/ATBAPP/DeviceControllerInterface.h b/src/ATBAPP/DeviceControllerInterface.h index 8ff33ed..d31d433 100644 --- a/src/ATBAPP/DeviceControllerInterface.h +++ b/src/ATBAPP/DeviceControllerInterface.h @@ -77,6 +77,8 @@ public: virtual void requestPrintTicket(nsDeviceControllerInterface::TICKET_VARIANT ticketVariant, const QHash & printingData) = 0; virtual void requestPrintReceipt(const QHash & printingData) = 0; virtual void requestPrintReceipt(const QString & printingString) = 0; + virtual void requestPrintQR(const QString & printingSTring) = 0; + virtual void requestPrintCut(const qint16 & printTimer) = 0; // read coin/cash processing variants virtual nsDeviceControllerInterface::COIN_PROCESSOR coinProcessor() = 0;