diff --git a/README.md b/README.md index 80f01de..b69a526 100644 --- a/README.md +++ b/README.md @@ -7,3 +7,14 @@ App to view ranking and calendar data from https://www.digitalrock.de/ git submodule init git submodule update ยดยดยด + +# Poster +The poster offsets are (always top left of the element): +- Width: 1654 +- Height: 2339 +### QR-Code +- Cooridnates: 276, 276 +- Size: 1100x1100 +### Comp name +- Cooridnates: x: 216, y: 1670 +- Size: 44 diff --git a/headers/bluerockbackend.h b/headers/bluerockbackend.h index 7236b1f..9377ae2 100644 --- a/headers/bluerockbackend.h +++ b/headers/bluerockbackend.h @@ -32,6 +32,7 @@ #include #include #include +#include #include "QZXing.h" #ifdef Q_OS_ANDROID diff --git a/resources/shared/PosterTemplate.png b/resources/shared/PosterTemplate.png index 74b8721..8471921 100644 Binary files a/resources/shared/PosterTemplate.png and b/resources/shared/PosterTemplate.png differ diff --git a/resources/shared/PosterTemplate.xcf b/resources/shared/PosterTemplate.xcf index 9781e61..8ec4d4a 100644 Binary files a/resources/shared/PosterTemplate.xcf and b/resources/shared/PosterTemplate.xcf differ diff --git a/resources/shared/fonts/OpenSans-Light.ttf b/resources/shared/fonts/OpenSans-Light.ttf new file mode 100644 index 0000000..6580d3a Binary files /dev/null and b/resources/shared/fonts/OpenSans-Light.ttf differ diff --git a/resources/shared/shared.qrc b/resources/shared/shared.qrc index 552fa12..5475fd3 100644 --- a/resources/shared/shared.qrc +++ b/resources/shared/shared.qrc @@ -21,5 +21,6 @@ fonts/fa5regular.otf fonts/fa5solid.otf PosterTemplate.png + fonts/OpenSans-Light.ttf diff --git a/sources/bluerockbackend.cpp b/sources/bluerockbackend.cpp index 8a1e655..9e49f11 100644 --- a/sources/bluerockbackend.cpp +++ b/sources/bluerockbackend.cpp @@ -112,8 +112,9 @@ void BlueRockBackend::shareResultsAsPoster(QString url, QString compName) { } } - compName = compName.replace("/", ""); - path += "/" + compName + ".pdf"; + QString rawCompName = compName; + QString escapedCompName = compName.replace("/", " "); + path += "/" + escapedCompName + ".pdf"; QFile file(path); file.remove(); @@ -123,7 +124,7 @@ void BlueRockBackend::shareResultsAsPoster(QString url, QString compName) { } QPdfWriter writer(&file); - writer.setPageSize(QPageSize(QPageSize::A4)); + writer.setPageSize(QPageSize(QSizeF(70.02, 99.02), QPageSize::Millimeter)); writer.setPageMargins(QMargins(0, 0, 0, 0)); writer.setResolution(600); @@ -132,17 +133,22 @@ void BlueRockBackend::shareResultsAsPoster(QString url, QString compName) { painter.drawPixmap(0,0, writer.width(), writer.height(), background); QPixmap barcode; - int size = writer.width() * 0.5; - - QZXingEncoderConfig encoderConfig(QZXing::EncoderFormat_QR_CODE, QSize(size, size), QZXing::EncodeErrorCorrectionLevel_M, false, false); + int size = 1100; + QZXingEncoderConfig encoderConfig(QZXing::EncoderFormat_QR_CODE, QSize(size, size), QZXing::EncodeErrorCorrectionLevel_H, false, false); barcode.convertFromImage(QZXing::encodeData(url, encoderConfig)); + painter.drawPixmap(276, 276, size, size, barcode); - painter.drawPixmap((writer.width() - size) / 2, size * 0.5, size, size, barcode); + QFont font("OpenSans-Light"); + font.setPixelSize(44); + painter.setFont(font); + painter.setPen(Qt::black); + // QFontMetrics(painter.font()).size(Qt::TextSingleLine, "One ").width() + painter.drawText(QRect(216, 1670, 1100, 100), Qt::AlignLeft|Qt::AlignTop|Qt::TextWordWrap, rawCompName); painter.end(); file.close(); - this->_shareUtils->sendFile(path, compName, "application/pdf", 1); + this->_shareUtils->sendFile(path, escapedCompName, "application/pdf", 1); } bool BlueRockBackend::isCameraPermissionGranted() { diff --git a/sources/main.cpp b/sources/main.cpp index 4f35905..fb66458 100644 --- a/sources/main.cpp +++ b/sources/main.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include "QZXing.h" #include "headers/bluerockbackend.h" @@ -41,6 +42,8 @@ int main(int argc, char *argv[]) if(!translator->load(":/" + localeName + ".qm")) translator->load(":/en.qm"); + QFontDatabase::addApplicationFont(":/fonts/OpenSans-Light.ttf"); + QGuiApplication::installTranslator(translator); QQuickStyle::setStyle("Material");