Fix more broken stuff after restructuring

This commit is contained in:
Anton Thomasson 2022-03-26 16:35:21 +01:00
parent 993eb75cf7
commit cecc038a6d
3 changed files with 27 additions and 31 deletions

@ -1 +1 @@
Subproject commit 7db7a12a8dbf8659050601888a6a48a38404f543 Subproject commit d96b97e2fdcb87d9671294ba12f8c98b11603647

View file

@ -382,8 +382,7 @@ QString targetFormatIfAuto(QString documentFormat, QString mimeType, QJsonArray
return documentFormat; return documentFormat;
} }
void IppPrinter::adjustRasterSettings(QString documentFormat, QJsonObject& jobAttrs, quint32& HwResX, quint32& HwResY, void IppPrinter::adjustRasterSettings(QString documentFormat, QJsonObject& jobAttrs, PrintParameters& Params)
bool& BackHFlip, bool& BackVFlip)
{ {
if(documentFormat != Mimer::PWG && documentFormat != Mimer::URF) if(documentFormat != Mimer::PWG && documentFormat != Mimer::URF)
{ {
@ -395,8 +394,8 @@ void IppPrinter::adjustRasterSettings(QString documentFormat, QJsonObject& jobAt
if(documentFormat == Mimer::PWG) if(documentFormat == Mimer::PWG)
{ {
quint32 diff = std::numeric_limits<quint32>::max(); quint32 diff = std::numeric_limits<quint32>::max();
quint32 AdjustedHwResX = HwResX; quint32 AdjustedHwResX = Params.hwResW;
quint32 AdjustedHwResY = HwResY; quint32 AdjustedHwResY = Params.hwResH;
foreach(QJsonValue res, _attrs["pwg-raster-document-resolution-supported"].toObject()["value"].toArray()) foreach(QJsonValue res, _attrs["pwg-raster-document-resolution-supported"].toObject()["value"].toArray())
{ {
QJsonObject resObj = res.toObject(); QJsonObject resObj = res.toObject();
@ -404,7 +403,7 @@ void IppPrinter::adjustRasterSettings(QString documentFormat, QJsonObject& jobAt
{ {
continue; continue;
} }
quint32 tmpDiff = std::abs(int(HwResX-resObj["x"].toInt())) + std::abs(int(HwResY-resObj["y"].toInt())); quint32 tmpDiff = std::abs(int(Params.hwResW-resObj["x"].toInt())) + std::abs(int(Params.hwResH-resObj["y"].toInt()));
if(tmpDiff < diff) if(tmpDiff < diff)
{ {
diff = tmpDiff; diff = tmpDiff;
@ -412,16 +411,16 @@ void IppPrinter::adjustRasterSettings(QString documentFormat, QJsonObject& jobAt
AdjustedHwResY = resObj["y"].toInt(); AdjustedHwResY = resObj["y"].toInt();
} }
} }
HwResX = AdjustedHwResX; Params.hwResW = AdjustedHwResX;
HwResY = AdjustedHwResY; Params.hwResH = AdjustedHwResY;
} }
if(documentFormat == Mimer::URF) if(documentFormat == Mimer::URF)
{ // Ensure symmetric resolution for URF { // Ensure symmetric resolution for URF
HwResX = HwResY = std::min(HwResX, HwResY); Params.hwResW = Params.hwResH = std::min(Params.hwResW, Params.hwResH);
quint32 diff = std::numeric_limits<quint32>::max(); quint32 diff = std::numeric_limits<quint32>::max();
quint32 AdjustedHwRes = HwResX; quint32 AdjustedHwRes = Params.hwResW;
QJsonArray urfSupported = _attrs["urf-supported"].toObject()["value"].toArray(); QJsonArray urfSupported = _attrs["urf-supported"].toObject()["value"].toArray();
foreach(QJsonValue us, urfSupported) foreach(QJsonValue us, urfSupported)
@ -432,7 +431,7 @@ void IppPrinter::adjustRasterSettings(QString documentFormat, QJsonObject& jobAt
foreach(QString res, resolutions) foreach(QString res, resolutions)
{ {
int intRes = res.toInt(); int intRes = res.toInt();
quint32 tmpDiff = std::abs(int(HwResX - intRes)); quint32 tmpDiff = std::abs(int(Params.hwResW - intRes));
if(tmpDiff < diff) if(tmpDiff < diff)
{ {
diff = tmpDiff; diff = tmpDiff;
@ -440,7 +439,7 @@ void IppPrinter::adjustRasterSettings(QString documentFormat, QJsonObject& jobAt
} }
} }
HwResX = HwResY = AdjustedHwRes; Params.hwResW = Params.hwResH = AdjustedHwRes;
break; break;
} }
} }
@ -457,24 +456,24 @@ void IppPrinter::adjustRasterSettings(QString documentFormat, QJsonObject& jobAt
{ {
if(DocumentSheetBack=="flipped") if(DocumentSheetBack=="flipped")
{ {
BackVFlip=true; Params.backVFlip=true;
} }
else if(DocumentSheetBack=="rotated") else if(DocumentSheetBack=="rotated")
{ {
BackHFlip=true; Params.backHFlip=true;
BackVFlip=true; Params.backVFlip=true;
} }
} }
else if(Sides=="two-sided-short-edge") else if(Sides=="two-sided-short-edge")
{ {
if(DocumentSheetBack=="flipped") if(DocumentSheetBack=="flipped")
{ {
BackHFlip=true; Params.backHFlip=true;
} }
else if(DocumentSheetBack=="manual-tumble") else if(DocumentSheetBack=="manual-tumble")
{ {
BackHFlip=true; Params.backHFlip=true;
BackVFlip=true; Params.backVFlip=true;
} }
} }
} }
@ -485,24 +484,24 @@ void IppPrinter::adjustRasterSettings(QString documentFormat, QJsonObject& jobAt
{ {
if(URfSupported.contains("DM2")) if(URfSupported.contains("DM2"))
{ {
BackVFlip=true; Params.backVFlip=true;
} }
else if(URfSupported.contains("DM3")) else if(URfSupported.contains("DM3"))
{ {
BackHFlip=true; Params.backHFlip=true;
BackVFlip=true; Params.backVFlip=true;
} }
} }
else if(Sides=="two-sided-short-edge") else if(Sides=="two-sided-short-edge")
{ {
if(URfSupported.contains("DM2")) if(URfSupported.contains("DM2"))
{ {
BackHFlip=true; Params.backHFlip=true;
} }
else if(URfSupported.contains("DM4")) else if(URfSupported.contains("DM4"))
{ {
BackHFlip=true; Params.backHFlip=true;
BackVFlip=true; Params.backVFlip=true;
} }
} }
} }
@ -640,12 +639,10 @@ void IppPrinter::print(QJsonObject jobAttrs, QString filename)
qDebug() << "Printing job" << o << jobAttrs; qDebug() << "Printing job" << o << jobAttrs;
QJsonValue PrinterResolutionRef = getAttrOrDefault(jobAttrs, "printer-resolution"); QJsonValue PrinterResolutionRef = getAttrOrDefault(jobAttrs, "printer-resolution");
quint32 HwResX = PrinterResolutionRef.toObject()["x"].toInt(300); Params.hwResW = PrinterResolutionRef.toObject()["x"].toInt(Params.hwResW);
quint32 HwResY = PrinterResolutionRef.toObject()["y"].toInt(300); Params.hwResH = PrinterResolutionRef.toObject()["y"].toInt(Params.hwResH);
bool BackHFlip = false;
bool BackVFlip = false;
adjustRasterSettings(targetFormat, jobAttrs, HwResX, HwResY, BackHFlip, BackVFlip); adjustRasterSettings(targetFormat, jobAttrs, Params);
Params.quality = getAttrOrDefault(jobAttrs, "print-quality").toInt(); Params.quality = getAttrOrDefault(jobAttrs, "print-quality").toInt();

View file

@ -100,8 +100,7 @@ private:
QJsonObject opAttrs(); QJsonObject opAttrs();
void adjustRasterSettings(QString documentFormat, QJsonObject& jobAttrs, quint32& HwResX, quint32& HwResY, void adjustRasterSettings(QString documentFormat, QJsonObject& jobAttrs, PrintParameters& Params);
bool& BackHFlip, bool& BackVFlip);
void setBusyMessage(QString msg); void setBusyMessage(QString msg);
void setProgress(qint64 sent, qint64 total); void setProgress(qint64 sent, qint64 total);