1 /* 2 SPDX-FileCopyrightText: 2018 Volker Krause <vkrause@kde.org> 3 4 SPDX-License-Identifier: LGPL-2.0-or-later 5 */ 6 7 #include "barcode.h" 8 #include "pass.h" 9 #include "pass_p.h" 10 11 #include <QJsonObject> 12 13 using namespace KPkPass; 14 15 namespace KPkPass 16 { 17 class BarcodePrivate 18 { 19 public: 20 const Pass *pass = nullptr; 21 QJsonObject obj; 22 }; 23 } 24 Barcode()25Barcode::Barcode() 26 : d(new BarcodePrivate) 27 { 28 } 29 Barcode(const QJsonObject & obj,const Pass * pass)30Barcode::Barcode(const QJsonObject &obj, const Pass *pass) 31 : d(new BarcodePrivate) 32 { 33 d->pass = pass; 34 d->obj = obj; 35 } 36 37 Barcode::~Barcode() = default; 38 alternativeText() const39QString Barcode::alternativeText() const 40 { 41 if (d->pass) { 42 return d->pass->d->message(d->obj.value(QLatin1String("altText")).toString()); 43 } 44 return {}; 45 } 46 format() const47Barcode::Format KPkPass::Barcode::format() const 48 { 49 const auto format = d->obj.value(QLatin1String("format")).toString(); 50 if (format == QLatin1String("PKBarcodeFormatQR")) { 51 return QR; 52 } else if (format == QLatin1String("PKBarcodeFormatPDF417")) { 53 return PDF417; 54 } else if (format == QLatin1String("PKBarcodeFormatAztec")) { 55 return Aztec; 56 } else if (format == QLatin1String("PKBarcodeFormatCode128")) { 57 return Code128; 58 } 59 return Invalid; 60 } 61 message() const62QString Barcode::message() const 63 { 64 return d->obj.value(QLatin1String("message")).toString(); 65 } 66 messageEncoding() const67QString Barcode::messageEncoding() const 68 { 69 return d->obj.value(QLatin1String("messageEncoding")).toString(); 70 } 71