From e310efb763ddac63dd4d88fbced743e585ac5255 Mon Sep 17 00:00:00 2001 From: Jakub Melka Date: Sun, 31 Jul 2022 18:32:57 +0200 Subject: [PATCH] Issue #22: Fix compilation warnings --- CodeGenerator/codegenerator.cpp | 38 ++++++------ JBIG2_Viewer/mainwindow.cpp | 4 +- Pdf4Qt.pri | 2 + Pdf4QtDocDiff/differencesdockwidget.cpp | 14 ++--- Pdf4QtDocDiff/mainwindow.cpp | 2 +- Pdf4QtDocPageOrganizer/mainwindow.cpp | 19 +++--- Pdf4QtDocPageOrganizer/pageitemdelegate.cpp | 3 +- Pdf4QtDocPageOrganizer/pageitemmodel.cpp | 6 +- Pdf4QtLib/sources/pdfaction.cpp | 18 +++--- Pdf4QtLib/sources/pdfadvancedtools.cpp | 8 +-- Pdf4QtLib/sources/pdfalgorithmlcs.h | 6 +- Pdf4QtLib/sources/pdfannotation.cpp | 20 +++---- Pdf4QtLib/sources/pdfcatalog.cpp | 8 +-- Pdf4QtLib/sources/pdfccittfaxdecoder.cpp | 2 - Pdf4QtLib/sources/pdfcms.cpp | 6 +- Pdf4QtLib/sources/pdfcolorspaces.cpp | 31 +++------- Pdf4QtLib/sources/pdfdiff.cpp | 2 +- Pdf4QtLib/sources/pdfdocument.cpp | 10 ++-- Pdf4QtLib/sources/pdfdocumentmanipulator.cpp | 2 +- Pdf4QtLib/sources/pdfdocumentreader.cpp | 5 +- Pdf4QtLib/sources/pdfdrawspacecontroller.cpp | 8 +-- Pdf4QtLib/sources/pdffile.cpp | 16 ++--- Pdf4QtLib/sources/pdffont.cpp | 35 +++++------ Pdf4QtLib/sources/pdfform.cpp | 16 ++--- Pdf4QtLib/sources/pdffunction.cpp | 2 - Pdf4QtLib/sources/pdficontheme.cpp | 2 +- Pdf4QtLib/sources/pdfimage.cpp | 32 +++++----- Pdf4QtLib/sources/pdfitemmodels.cpp | 4 +- Pdf4QtLib/sources/pdfjbig2decoder.cpp | 27 ++++----- Pdf4QtLib/sources/pdfobject.cpp | 8 +-- Pdf4QtLib/sources/pdfobjectutils.cpp | 4 +- Pdf4QtLib/sources/pdfoptionalcontent.cpp | 7 +-- Pdf4QtLib/sources/pdfpage.cpp | 18 +++--- .../sources/pdfpagecontenteditortools.cpp | 6 +- Pdf4QtLib/sources/pdfpagecontentelements.cpp | 20 +++---- Pdf4QtLib/sources/pdfpagecontentprocessor.cpp | 25 +++----- Pdf4QtLib/sources/pdfpagecontentprocessor.h | 2 - Pdf4QtLib/sources/pdfpainter.cpp | 58 +++++++++---------- Pdf4QtLib/sources/pdfpattern.cpp | 26 ++++----- Pdf4QtLib/sources/pdfsecurityhandler.cpp | 6 +- Pdf4QtLib/sources/pdfsignaturehandler.cpp | 32 +++++----- Pdf4QtLib/sources/pdfstreamfilters.cpp | 6 +- Pdf4QtLib/sources/pdfstructuretree.cpp | 6 +- Pdf4QtLib/sources/pdftexteditpseudowidget.cpp | 4 +- Pdf4QtLib/sources/pdftextlayout.cpp | 10 ++-- Pdf4QtLib/sources/pdftransparencyrenderer.cpp | 24 ++++---- Pdf4QtLib/sources/pdfwidgettool.cpp | 14 ++--- Pdf4QtLib/sources/pdfxfaengine.cpp | 26 ++++----- Pdf4QtLib/sources/pdfxreftable.cpp | 6 +- Pdf4QtViewer/pdfadvancedfindwidget.cpp | 2 +- Pdf4QtViewer/pdfdocumentpropertiesdialog.cpp | 2 +- .../pdfencryptionstrengthhintwidget.cpp | 2 +- Pdf4QtViewer/pdfprogramcontroller.cpp | 18 +++--- Pdf4QtViewer/pdfsidebarwidget.cpp | 14 ++--- Pdf4QtViewer/pdfviewersettingsdialog.cpp | 4 +- .../DimensionsPlugin/dimensionsplugin.cpp | 2 +- .../objectviewerwidget.cpp | 6 +- .../statisticsgraphwidget.h | 2 +- .../OutputPreviewPlugin/inkcoveragedialog.cpp | 4 +- .../outputpreviewwidget.cpp | 4 +- PdfExampleGenerator/pdfexamplesgenerator.cpp | 58 +++++++++---------- PdfTool/pdftoolabstractapplication.cpp | 28 +++++++-- PdfTool/pdftoolabstractapplication.h | 12 +++- PdfTool/pdftoolaudiobook.cpp | 2 +- PdfTool/pdftoolcertstore.cpp | 4 +- PdfTool/pdftoolinfo.cpp | 6 +- PdfTool/pdftoolinfofonts.cpp | 4 +- PdfTool/pdftoolverifysignatures.cpp | 18 +++--- RELEASES.txt | 2 + UnitTests/tst_lexicalanalyzertest.cpp | 9 +++ 70 files changed, 424 insertions(+), 435 deletions(-) diff --git a/CodeGenerator/codegenerator.cpp b/CodeGenerator/codegenerator.cpp index 44ceffb..6516be2 100644 --- a/CodeGenerator/codegenerator.cpp +++ b/CodeGenerator/codegenerator.cpp @@ -102,9 +102,9 @@ QObject* Serializer::load(const QDomElement& element, QObject* parent) // Find, if property was serialized QDomElement propertyElement; QDomNodeList children = element.childNodes(); - for (int i = 0; i < children.count(); ++i) + for (int iChild = 0; iChild < children.count(); ++iChild) { - QDomNode child = children.item(i); + QDomNode child = children.item(iChild); if (child.isElement()) { QDomElement childElement = child.toElement(); @@ -129,14 +129,14 @@ QObject* Serializer::load(const QDomElement& element, QObject* parent) else if (property.userType() == qMetaTypeId()) { QObjectList objectList; - QDomNodeList children = propertyElement.childNodes(); - for (int i = 0; i < children.count(); ++i) + QDomNodeList subChildren = propertyElement.childNodes(); + for (int iChild = 0; iChild < subChildren.count(); ++iChild) { - QDomNode node = children.item(i); + QDomNode node = subChildren.item(iChild); if (node.isElement()) { - QDomElement element = node.toElement(); - if (QObject* object = Serializer::load(element, deserializedObject)) + QDomElement nodeElement = node.toElement(); + if (QObject* object = Serializer::load(nodeElement, deserializedObject)) { objectList.append(object); } @@ -1481,12 +1481,12 @@ void XFACodeGenerator::loadClasses(const QDomDocument& document) Class myClass; - QDomElement element = child.toElement(); + QDomElement childElement = child.toElement(); // Class name - myClass.className = element.attribute("name"); + myClass.className = childElement.attribute("name"); - QDomElement valueElement = element.firstChildElement("value"); + QDomElement valueElement = childElement.firstChildElement("value"); if (!valueElement.isNull()) { QString valueType = valueElement.attribute("type"); @@ -1494,7 +1494,7 @@ void XFACodeGenerator::loadClasses(const QDomDocument& document) } // Attributes - QDomNodeList attributes = element.elementsByTagName("property"); + QDomNodeList attributes = childElement.elementsByTagName("property"); const int attributeCount = attributes.size(); for (int ai = 0; ai < attributeCount; ++ai) { @@ -1513,7 +1513,7 @@ void XFACodeGenerator::loadClasses(const QDomDocument& document) } // Subnodes - QDomNodeList subnodes = element.elementsByTagName("item"); + QDomNodeList subnodes = childElement.elementsByTagName("item"); const int subnodeCount = subnodes.size(); for (int ai = 0; ai < subnodeCount; ++ai) { @@ -1613,11 +1613,11 @@ const XFACodeGenerator::Type* XFACodeGenerator::createType(QString id, QString n auto it = m_types.find(adjustedId); if (it == m_types.end()) { - Type type; - type.id = adjustedId; - type.typeName = simpleType; + Type typeObject; + typeObject.id = adjustedId; + typeObject.typeName = simpleType; - if (type.typeName.isEmpty()) + if (typeObject.typeName.isEmpty()) { QString typeName = name.toUpper(); QString finalTypeName = typeName; @@ -1631,12 +1631,12 @@ const XFACodeGenerator::Type* XFACodeGenerator::createType(QString id, QString n m_usedTypes.insert(finalTypeName); QString enumValues = enumValuesString.remove(QChar::Space); - type.enumValues = enumValues.split("|"); + typeObject.enumValues = enumValues.split("|"); - type.typeName = finalTypeName; + typeObject.typeName = finalTypeName; } - it = m_types.insert(std::make_pair(type.id, type)).first; + it = m_types.insert(std::make_pair(typeObject.id, typeObject)).first; } return &it->second; diff --git a/JBIG2_Viewer/mainwindow.cpp b/JBIG2_Viewer/mainwindow.cpp index 4c4ff9e..21f8a5d 100644 --- a/JBIG2_Viewer/mainwindow.cpp +++ b/JBIG2_Viewer/mainwindow.cpp @@ -85,12 +85,12 @@ void MainWindow::on_actionAdd_JBIG2_image_triggered() if (file.open(QFile::ReadOnly)) { m_directory = QFileInfo(file).filePath(); - QByteArray data = file.readAll(); + QByteArray fileContentData = file.readAll(); file.close(); try { - pdf::PDFJBIG2Decoder decoder(data, QByteArray(), this); + pdf::PDFJBIG2Decoder decoder(fileContentData, QByteArray(), this); QElapsedTimer timer; timer.start(); diff --git a/Pdf4Qt.pri b/Pdf4Qt.pri index d58379a..8268a3f 100644 --- a/Pdf4Qt.pri +++ b/Pdf4Qt.pri @@ -17,6 +17,8 @@ win32-msvc*: { QMAKE_CXXFLAGS += /std:c++latest /utf-8 /bigobj + QMAKE_CXXFLAGS_WARN_ON -= -W3 + QMAKE_CXXFLAGS_WARN_ON += -W4 -wd5054 -wd4127 -wd4702 } win32-*g++|unix: { diff --git a/Pdf4QtDocDiff/differencesdockwidget.cpp b/Pdf4QtDocDiff/differencesdockwidget.cpp index 12dfb53..967678f 100644 --- a/Pdf4QtDocDiff/differencesdockwidget.cpp +++ b/Pdf4QtDocDiff/differencesdockwidget.cpp @@ -142,11 +142,11 @@ QModelIndex DifferencesDockWidget::findResultIndex(size_t index) const const int childCount = model->rowCount(parentIndex); for (int j = 0; j < childCount; ++j) { - QModelIndex childIndex = parentIndex.child(j, 0); - QVariant data = childIndex.data(Qt::UserRole); - if (data.isValid()) + QModelIndex childIndex = model->index(j, 0, parentIndex); + QVariant childUserData = childIndex.data(Qt::UserRole); + if (childUserData.isValid()) { - if (data.toULongLong() == index) + if (childUserData.toULongLong() == index) { return childIndex; } @@ -294,11 +294,11 @@ void DifferencesDockWidget::onCurrentItemChanged(QTreeWidgetItem* current, QTree } pdf::PDFTemporaryValueChange guard(&m_disableChangeSelectedResultIndex, true); - QVariant data = current->data(0, Qt::UserRole); + QVariant childUserData = current->data(0, Qt::UserRole); - if (data.isValid()) + if (childUserData.isValid()) { - m_diffNavigator->select(data.toULongLong()); + m_diffNavigator->select(childUserData.toULongLong()); } } diff --git a/Pdf4QtDocDiff/mainwindow.cpp b/Pdf4QtDocDiff/mainwindow.cpp index 76231c3..129309d 100644 --- a/Pdf4QtDocDiff/mainwindow.cpp +++ b/Pdf4QtDocDiff/mainwindow.cpp @@ -149,7 +149,7 @@ MainWindow::MainWindow(QWidget* parent) : ui->menuToolbars->addAction(toolbar->toggleViewAction()); } - connect(&m_mapper, QOverload::of(&QSignalMapper::mapped), this, &MainWindow::onMappedActionTriggered); + connect(&m_mapper, &QSignalMapper::mappedInt, this, &MainWindow::onMappedActionTriggered); QList actions = findChildren(); for (QAction* action : actions) diff --git a/Pdf4QtDocPageOrganizer/mainwindow.cpp b/Pdf4QtDocPageOrganizer/mainwindow.cpp index f198413..fe5c5a8 100644 --- a/Pdf4QtDocPageOrganizer/mainwindow.cpp +++ b/Pdf4QtDocPageOrganizer/mainwindow.cpp @@ -173,7 +173,7 @@ MainWindow::MainWindow(QWidget* parent) : ui->menuToolbars->addAction(toolbar->toggleViewAction()); } - connect(&m_mapper, QOverload::of(&QSignalMapper::mapped), this, &MainWindow::onMappedActionTriggered); + connect(&m_mapper, &QSignalMapper::mappedInt, this, &MainWindow::onMappedActionTriggered); connect(ui->documentItemsView->selectionModel(), &QItemSelectionModel::selectionChanged, this, &MainWindow::updateActions); QList actions = findChildren(); @@ -743,11 +743,11 @@ void MainWindow::performOperation(Operation operation) } pdf::PDFDocumentWriter writer(nullptr); - pdf::PDFOperationResult result = writer.write(filename, document, isDocumentFileAlreadyExisting); + pdf::PDFOperationResult writeResult = writer.write(filename, document, isDocumentFileAlreadyExisting); - if (!result) + if (!writeResult) { - QMessageBox::critical(this, tr("Error"), result.getErrorMessage()); + QMessageBox::critical(this, tr("Error"), writeResult.getErrorMessage()); return; } } @@ -808,11 +808,14 @@ void MainWindow::performOperation(Operation operation) { QModelIndex rootIndex = ui->documentItemsView->rootIndex(); - QModelIndex firstIndex = rootIndex.child(0, 0); - QModelIndex lastIndex = rootIndex.child(rootIndex.model()->rowCount() - 1, 0); - QItemSelection selection(firstIndex, lastIndex); + if (rootIndex.isValid()) + { + QModelIndex firstIndex = rootIndex.model()->index(0, 0, rootIndex); + QModelIndex lastIndex = rootIndex.model()->index(rootIndex.model()->rowCount() - 1, 0, rootIndex); + QItemSelection selection(firstIndex, lastIndex); - ui->documentItemsView->selectionModel()->select(selection, QItemSelectionModel::Toggle); + ui->documentItemsView->selectionModel()->select(selection, QItemSelectionModel::Toggle); + } break; } diff --git a/Pdf4QtDocPageOrganizer/pageitemdelegate.cpp b/Pdf4QtDocPageOrganizer/pageitemdelegate.cpp index e068620..77a32a4 100644 --- a/Pdf4QtDocPageOrganizer/pageitemdelegate.cpp +++ b/Pdf4QtDocPageOrganizer/pageitemdelegate.cpp @@ -214,8 +214,7 @@ QPixmap PageItemDelegate::getPageImagePixmap(const PageGroupItem* item, QRect re QMatrix matrix = pdf::PDFRenderer::createMediaBoxToDevicePointMatrix(rotatedMediaBox, drawRect, groupItem.pageAdditionalRotation); QPainter painter(&pixmap); - painter.setWorldMatrixEnabled(true); - painter.setWorldMatrix(matrix); + painter.setWorldTransform(QTransform(matrix)); painter.translate(0, image.height()); painter.scale(1.0, -1.0); painter.drawImage(0, 0, image); diff --git a/Pdf4QtDocPageOrganizer/pageitemmodel.cpp b/Pdf4QtDocPageOrganizer/pageitemmodel.cpp index 55e0a89..1150fea 100644 --- a/Pdf4QtDocPageOrganizer/pageitemmodel.cpp +++ b/Pdf4QtDocPageOrganizer/pageitemmodel.cpp @@ -1070,9 +1070,9 @@ bool PageItemModel::dropMimeData(const QMimeData* data, Qt::DropAction action, i QDataStream stream(&serializedData, QIODevice::ReadOnly); while (!stream.atEnd()) { - int row = -1; - stream >> row; - rows.push_back(row); + int currentRow = -1; + stream >> currentRow; + rows.push_back(currentRow); } std::sort(rows.begin(), rows.end()); diff --git a/Pdf4QtLib/sources/pdfaction.cpp b/Pdf4QtLib/sources/pdfaction.cpp index a1e2149..116856c 100644 --- a/Pdf4QtLib/sources/pdfaction.cpp +++ b/Pdf4QtLib/sources/pdfaction.cpp @@ -181,18 +181,18 @@ PDFActionPtr PDFAction::parseImpl(const PDFObjectStorage* storage, PDFObject obj std::vector annotations; std::vector fieldNames; - const PDFObject& object = dictionary->get("T"); - if (object.isReference()) + const PDFObject& objectT = dictionary->get("T"); + if (objectT.isReference()) { - annotations = { object.getReference() }; + annotations = { objectT.getReference() }; } - else if (object.isString()) + else if (objectT.isString()) { - fieldNames = { loader.readTextString(object, QString()) }; + fieldNames = { loader.readTextString(objectT, QString()) }; } - else if (object.isArray()) + else if (objectT.isArray()) { - const PDFArray* items = object.getArray(); + const PDFArray* items = objectT.getArray(); for (size_t i = 0; i < items->getCount(); ++i) { const PDFObject& itemObject = items->getItem(i); @@ -219,9 +219,9 @@ PDFActionPtr PDFAction::parseImpl(const PDFObjectStorage* storage, PDFObject obj std::pair{ "LastPage", PDFActionNamed::NamedActionType::LastPage } }; - QByteArray name = loader.readNameFromDictionary(dictionary, "N"); + QByteArray actionNamed = loader.readNameFromDictionary(dictionary, "N"); PDFActionNamed::NamedActionType actionType = loader.readEnumByName(dictionary->get("N"), types.cbegin(), types.cend(), PDFActionNamed::NamedActionType::Custom); - return PDFActionPtr(new PDFActionNamed(actionType, qMove(name))); + return PDFActionPtr(new PDFActionNamed(actionType, qMove(actionNamed))); } else if (name == "SetOCGState") { diff --git a/Pdf4QtLib/sources/pdfadvancedtools.cpp b/Pdf4QtLib/sources/pdfadvancedtools.cpp index 895f93e..9605005 100644 --- a/Pdf4QtLib/sources/pdfadvancedtools.cpp +++ b/Pdf4QtLib/sources/pdfadvancedtools.cpp @@ -439,7 +439,7 @@ void PDFCreateLineTypeTool::drawPage(QPainter* painter, QPointF mousePoint = pagePointToDevicePointMatrix.inverted().map(m_pickTool->getSnappedPoint()); - painter->setWorldMatrix(pagePointToDevicePointMatrix, true); + painter->setWorldTransform(QTransform(pagePointToDevicePointMatrix), true); QPen pen(m_strokeColor); QBrush brush(m_fillColor, Qt::SolidPattern); @@ -552,7 +552,7 @@ void PDFCreateEllipseTool::drawPage(QPainter* painter, QPointF mousePoint = pagePointToDevicePointMatrix.inverted().map(m_pickTool->getSnappedPoint()); - painter->setWorldMatrix(pagePointToDevicePointMatrix, true); + painter->setWorldTransform(QTransform(pagePointToDevicePointMatrix), true); QPen pen(m_strokeColor); QBrush brush(m_fillColor, Qt::SolidPattern); @@ -624,7 +624,7 @@ void PDFCreateFreehandCurveTool::drawPage(QPainter* painter, return; } - painter->setWorldMatrix(pagePointToDevicePointMatrix, true); + painter->setWorldTransform(QTransform(pagePointToDevicePointMatrix), true); QPen pen(m_strokeColor); pen.setWidthF(m_penWidth); @@ -791,7 +791,7 @@ void PDFCreateStampTool::drawPage(QPainter* painter, const PDFPage* page = getDocument()->getCatalog()->getPage(pageIndex); QRectF rectangle = m_stampAnnotation.getRectangle(); QMatrix matrix = getProxy()->getAnnotationManager()->prepareTransformations(pagePointToDevicePointMatrix, painter->device(), m_stampAnnotation.getFlags(), page, rectangle); - painter->setWorldMatrix(matrix, true); + painter->setWorldTransform(QTransform(matrix), true); AnnotationDrawParameters parameters; parameters.painter = painter; diff --git a/Pdf4QtLib/sources/pdfalgorithmlcs.h b/Pdf4QtLib/sources/pdfalgorithmlcs.h index f029553..bff6be9 100644 --- a/Pdf4QtLib/sources/pdfalgorithmlcs.h +++ b/Pdf4QtLib/sources/pdfalgorithmlcs.h @@ -202,10 +202,10 @@ void PDFAlgorithmLongestCommonSubsequence::perform() const size_t index1 = i1 - 1; const size_t index2 = i2 - 1; - auto it1 = std::next(m_it1, index1); - auto it2 = std::next(m_it2, index2); + auto cit1 = std::next(m_it1, index1); + auto cit2 = std::next(m_it2, index2); - if (m_comparator(*it1, *it2)) + if (m_comparator(*cit1, *cit2)) { item.index1 = index1; item.index2 = index2; diff --git a/Pdf4QtLib/sources/pdfannotation.cpp b/Pdf4QtLib/sources/pdfannotation.cpp index 07459be..ee5cad3 100644 --- a/Pdf4QtLib/sources/pdfannotation.cpp +++ b/Pdf4QtLib/sources/pdfannotation.cpp @@ -1468,7 +1468,7 @@ void PDFAnnotationManager::drawAnnotationDirect(const PageAnnotation& annotation { PDFPainterStateGuard guard(painter); painter->setRenderHint(QPainter::Antialiasing, true); - painter->setWorldMatrix(pagePointToDevicePointMatrix, true); + painter->setWorldTransform(QTransform(pagePointToDevicePointMatrix), true); AnnotationDrawParameters parameters; parameters.painter = painter; parameters.annotation = annotation.annotation.data(); @@ -1758,8 +1758,8 @@ void PDFWidgetAnnotationManager::mousePressEvent(QWidget* widget, QMouseEvent* e // Show context menu? if (event->button() == Qt::RightButton) { - PDFWidget* widget = m_proxy->getWidget(); - std::vector currentPages = widget->getDrawWidget()->getCurrentPages(); + PDFWidget* pdfWidget = m_proxy->getWidget(); + std::vector currentPages = pdfWidget->getDrawWidget()->getCurrentPages(); if (!hasAnyPageAnnotation(currentPages)) { @@ -1797,7 +1797,7 @@ void PDFWidgetAnnotationManager::mousePressEvent(QWidget* widget, QMouseEvent* e if (m_editableAnnotation.isValid()) { - QMenu menu(tr("Annotation"), widget); + QMenu menu(tr("Annotation"), pdfWidget); QAction* showPopupAction = menu.addAction(tr("Show Popup Window")); QAction* copyAction = menu.addAction(tr("Copy to Multiple Pages")); QAction* editAction = menu.addAction(tr("Edit")); @@ -1807,7 +1807,7 @@ void PDFWidgetAnnotationManager::mousePressEvent(QWidget* widget, QMouseEvent* e connect(editAction, &QAction::triggered, this, &PDFWidgetAnnotationManager::onEditAnnotation); connect(deleteAction, &QAction::triggered, this, &PDFWidgetAnnotationManager::onDeleteAnnotation); - m_editableAnnotationGlobalPosition = widget->mapToGlobal(event->pos()); + m_editableAnnotationGlobalPosition = pdfWidget->mapToGlobal(event->pos()); menu.exec(m_editableAnnotationGlobalPosition); } } @@ -2167,7 +2167,7 @@ void PDFWidgetAnnotationManager::createWidgetsForMarkupAnnotations(QWidget* pare title = markupAnnotation->getSubject(); } - QString dateTimeString = markupAnnotation->getCreationDate().toLocalTime().toString(Qt::SystemLocaleLongDate); + QString dateTimeString = QLocale::system().toString(markupAnnotation->getCreationDate().toLocalTime(), QLocale::LongFormat); title = QString("%1 (%2)").arg(title, dateTimeString).trimmed(); groupBox->setStyleSheet(style); @@ -2899,18 +2899,18 @@ void PDFHighlightAnnotation::draw(AnnotationDrawParameters& parameters) const bool leadingEdge = true; for (PDFReal x = lineGeometryInfo.transformedLine.p1().x(); x < lineGeometryInfo.transformedLine.p2().x(); x+= markSize) { - QLineF line; + QLineF edgeLine; if (leadingEdge) { - line = QLineF(x, 0.0, x + markSize, markSize); + edgeLine = QLineF(x, 0.0, x + markSize, markSize); } else { // Falling edge - line = QLineF(x, markSize, x + markSize, 0.0); + edgeLine = QLineF(x, markSize, x + markSize, 0.0); } - QLineF transformedLine = lineGeometryInfo.LCStoGCS.map(line); + QLineF transformedLine = lineGeometryInfo.LCStoGCS.map(edgeLine); painter.drawLine(transformedLine); leadingEdge = !leadingEdge; } diff --git a/Pdf4QtLib/sources/pdfcatalog.cpp b/Pdf4QtLib/sources/pdfcatalog.cpp index 5beb630..f5432d0 100644 --- a/Pdf4QtLib/sources/pdfcatalog.cpp +++ b/Pdf4QtLib/sources/pdfcatalog.cpp @@ -613,8 +613,6 @@ PDFPageLabel PDFPageLabel::parse(PDFInteger pageIndex, const PDFObjectStorage* s { throw PDFException(PDFTranslationContext::tr("Expected page label dictionary.")); } - - return PDFPageLabel(); } const PDFDocumentSecurityStore::SecurityStoreItem* PDFDocumentSecurityStore::getItem(const QByteArray& hash) const @@ -646,10 +644,10 @@ PDFDocumentSecurityStore PDFDocumentSecurityStore::parse(const PDFObject& object result.reserve(references.size()); for (const PDFObjectReference& reference : references) { - PDFObject object = document->getObjectByReference(reference); - if (object.isStream()) + PDFObject objectWithStream = document->getObjectByReference(reference); + if (objectWithStream.isStream()) { - result.emplace_back(document->getDecodedStream(object.getStream())); + result.emplace_back(document->getDecodedStream(objectWithStream.getStream())); } } diff --git a/Pdf4QtLib/sources/pdfccittfaxdecoder.cpp b/Pdf4QtLib/sources/pdfccittfaxdecoder.cpp index bdb449a..330ab56 100644 --- a/Pdf4QtLib/sources/pdfccittfaxdecoder.cpp +++ b/Pdf4QtLib/sources/pdfccittfaxdecoder.cpp @@ -669,7 +669,6 @@ uint32_t PDFCCITTFaxDecoder::getCode(const PDFCCITTCode* codes, size_t codeCount } throw PDFException(PDFTranslationContext::tr("Invalid CCITT run length code word.")); - return 0; } CCITT_2D_Code_Mode PDFCCITTFaxDecoder::get2DMode() @@ -692,7 +691,6 @@ CCITT_2D_Code_Mode PDFCCITTFaxDecoder::get2DMode() } throw PDFException(PDFTranslationContext::tr("Invalid CCITT 2D mode.")); - return Invalid; } } // namespace pdf diff --git a/Pdf4QtLib/sources/pdfcms.cpp b/Pdf4QtLib/sources/pdfcms.cpp index ca6af02..2f4ef4f 100644 --- a/Pdf4QtLib/sources/pdfcms.cpp +++ b/Pdf4QtLib/sources/pdfcms.cpp @@ -825,10 +825,10 @@ cmsBool PDFLittleCMS::optimizePipeline(cmsPipeline** Lut, cmsUInt32Number Intent s2.x0 = low; s2.x1 = high; - for (cmsUInt32Number i = 0; i < gridPoints; ++i) + for (cmsUInt32Number iPt = 0; iPt < gridPoints; ++iPt) { - const cmsFloat32Number x = i * factor; - s2.SampledPoints[i] = cmsEvalToneCurveFloat(curve, interpolate(x, 0.0, 1.0, low, high)); + const cmsFloat32Number x = iPt * factor; + s2.SampledPoints[iPt] = cmsEvalToneCurveFloat(curve, interpolate(x, 0.0, 1.0, low, high)); } s3.Type = type; diff --git a/Pdf4QtLib/sources/pdfcolorspaces.cpp b/Pdf4QtLib/sources/pdfcolorspaces.cpp index 7a08e08..b374e52 100644 --- a/Pdf4QtLib/sources/pdfcolorspaces.cpp +++ b/Pdf4QtLib/sources/pdfcolorspaces.cpp @@ -32,21 +32,6 @@ namespace pdf { -static PDFColorComponent getDeterminant(const PDFColorComponentMatrix_3x3& matrix) -{ - const PDFColorComponent a_11 = matrix.getValue(0, 0); - const PDFColorComponent a_12 = matrix.getValue(0, 1); - const PDFColorComponent a_13 = matrix.getValue(0, 2); - const PDFColorComponent a_21 = matrix.getValue(1, 0); - const PDFColorComponent a_22 = matrix.getValue(1, 1); - const PDFColorComponent a_23 = matrix.getValue(1, 2); - const PDFColorComponent a_31 = matrix.getValue(2, 0); - const PDFColorComponent a_32 = matrix.getValue(2, 1); - const PDFColorComponent a_33 = matrix.getValue(2, 2); - - return -a_13* a_22 * a_31 + a_12 * a_23 * a_31 + a_13 * a_21 * a_32 - a_11 * a_23 * a_32 - a_12 * a_21 * a_33 + a_11 * a_22 * a_33; -} - PDFColorComponentMatrix_3x3 getInverseMatrix(const PDFColorComponentMatrix_3x3& matrix) { const PDFColorComponent a_11 = matrix.getValue(0, 0); @@ -388,7 +373,7 @@ QImage PDFAbstractColorSpace::getImage(const PDFImageData& imageData, fillRGBBuffer(inputColors, outputColors.data(), intent, cms, reporter); const unsigned char* transformedLine = outputColors.data(); - for (unsigned int i = 0; i < imageWidth; ++i) + for (unsigned int ii = 0; ii < imageWidth; ++ii) { *outputLine++ = *transformedLine++; *outputLine++ = *transformedLine++; @@ -1144,7 +1129,6 @@ PDFColorSpacePointer PDFAbstractColorSpace::createColorSpaceImpl(const PDFDictio } throw PDFException(PDFTranslationContext::tr("Invalid color space.")); - return PDFColorSpacePointer(); } PDFColorSpacePointer PDFAbstractColorSpace::createDeviceColorSpaceByNameImpl(const PDFDictionary* colorSpaceDictionary, @@ -1210,7 +1194,6 @@ PDFColorSpacePointer PDFAbstractColorSpace::createDeviceColorSpaceByNameImpl(con } throw PDFException(PDFTranslationContext::tr("Invalid color space.")); - return PDFColorSpacePointer(); } /// Conversion matrix from XYZ space to RGB space. Values are taken from this article: @@ -2168,9 +2151,9 @@ QColor PDFSeparationColorSpace::getColor(const PDFColor& color, const PDFCMS* cm if (result) { - PDFColor color; - std::for_each(outputColor.cbegin(), outputColor.cend(), [&color](double value) { color.push_back(static_cast(value)); }); - return m_alternateColorSpace->getColor(color, cms, intent, reporter, false); + PDFColor inputColor; + std::for_each(outputColor.cbegin(), outputColor.cend(), [&inputColor](double value) { inputColor.push_back(static_cast(value)); }); + return m_alternateColorSpace->getColor(inputColor, cms, intent, reporter, false); } else { @@ -2403,9 +2386,9 @@ QColor PDFDeviceNColorSpace::getColor(const PDFColor& color, const PDFCMS* cms, if (result) { - PDFColor color; - std::for_each(outputColor.cbegin(), outputColor.cend(), [&color](double value) { color.push_back(static_cast(value)); }); - return m_alternateColorSpace->getColor(color, cms, intent, reporter, false); + PDFColor inputColor2; + std::for_each(outputColor.cbegin(), outputColor.cend(), [&inputColor2](double value) { inputColor2.push_back(static_cast(value)); }); + return m_alternateColorSpace->getColor(inputColor2, cms, intent, reporter, false); } else { diff --git a/Pdf4QtLib/sources/pdfdiff.cpp b/Pdf4QtLib/sources/pdfdiff.cpp index a5d5038..0295101 100644 --- a/Pdf4QtLib/sources/pdfdiff.cpp +++ b/Pdf4QtLib/sources/pdfdiff.cpp @@ -244,7 +244,7 @@ void PDFDiff::performPageMatching(const std::vector& leftPre auto it = pageMatches.find(left.pageIndex); if (it != pageMatches.cend()) { - return it->second == right.pageIndex; + return it->second == static_cast(right.pageIndex); } return false; diff --git a/Pdf4QtLib/sources/pdfdocument.cpp b/Pdf4QtLib/sources/pdfdocument.cpp index e6e8318..c6e8a38 100644 --- a/Pdf4QtLib/sources/pdfdocument.cpp +++ b/Pdf4QtLib/sources/pdfdocument.cpp @@ -249,14 +249,14 @@ QRectF PDFDocumentDataLoaderDecorator::readRectangle(const PDFObject& object, co std::array items; for (size_t i = 0; i < 4; ++i) { - const PDFObject& object = m_storage->getObject(array->getItem(i)); - if (object.isReal()) + const PDFObject& currentObject = m_storage->getObject(array->getItem(i)); + if (currentObject.isReal()) { - items[i] = object.getReal(); + items[i] = currentObject.getReal(); } - else if (object.isInt()) + else if (currentObject.isInt()) { - items[i] = object.getInteger(); + items[i] = currentObject.getInteger(); } else { diff --git a/Pdf4QtLib/sources/pdfdocumentmanipulator.cpp b/Pdf4QtLib/sources/pdfdocumentmanipulator.cpp index 3bc335d..104009e 100644 --- a/Pdf4QtLib/sources/pdfdocumentmanipulator.cpp +++ b/Pdf4QtLib/sources/pdfdocumentmanipulator.cpp @@ -363,7 +363,7 @@ PDFDocumentManipulator::ProcessedPages PDFDocumentManipulator::collectObjectsAnd documentBuilder.mergeNames(m_mergedObjects[MOT_Names], namesReference); m_outlines[documentIndex] = outlineReference; - Q_ASSERT(references.size() == std::distance(it, itEnd)); + Q_ASSERT(references.size() == size_t(std::distance(it, itEnd))); auto referenceIt = references.begin(); for (auto currentIt = it; currentIt != itEnd; ++currentIt, ++referenceIt) diff --git a/Pdf4QtLib/sources/pdfdocumentreader.cpp b/Pdf4QtLib/sources/pdfdocumentreader.cpp index 85fbfee..96857c9 100644 --- a/Pdf4QtLib/sources/pdfdocumentreader.cpp +++ b/Pdf4QtLib/sources/pdfdocumentreader.cpp @@ -368,7 +368,6 @@ PDFDocumentReader::Result PDFDocumentReader::processSecurityHandler(const PDFObj if (encryptObject.isReference()) { encryptObjectReference = encryptObject.getReference(); - PDFObjectReference encryptObjectReference = encryptObject.getReference(); if (static_cast(encryptObjectReference.objectNumber) < objects.size() && objects[encryptObjectReference.objectNumber].generation == encryptObjectReference.generation) { encryptObject = objects[encryptObjectReference.objectNumber].object; @@ -506,12 +505,12 @@ void PDFDocumentReader::processObjectStreams(PDFXRefTable* xrefTable, PDFObjectS const PDFInteger offset = objectNumberAndOffset[i].second; parser.seek(offset); - PDFObject object = parser.getObject(); + PDFObject currentObject = parser.getObject(); auto predicate = [objectNumber, objectStreamReference](const PDFXRefTable::Entry& entry) -> bool { return entry.reference.objectNumber == objectNumber && entry.objectStream == objectStreamReference; }; if (std::find_if(objectStreamEntries.cbegin(), objectStreamEntries.cend(), predicate) != objectStreamEntries.cend()) { QMutexLocker lock(&m_mutex); - objects[objectNumber].object = qMove(object); + objects[objectNumber].object = qMove(currentObject); } else { diff --git a/Pdf4QtLib/sources/pdfdrawspacecontroller.cpp b/Pdf4QtLib/sources/pdfdrawspacecontroller.cpp index d1bbeb4..32d83c6 100644 --- a/Pdf4QtLib/sources/pdfdrawspacecontroller.cpp +++ b/Pdf4QtLib/sources/pdfdrawspacecontroller.cpp @@ -758,7 +758,7 @@ QColor PDFDrawWidgetProxy::getPaperColor() void PDFDrawWidgetProxy::drawPages(QPainter* painter, QRect rect, PDFRenderer::Features features) { painter->fillRect(rect, Qt::lightGray); - QMatrix baseMatrix = painter->worldMatrix(); + QTransform baseMatrix = painter->worldTransform(); // Use current paper color (it can be a bit different from white) QColor paperColor = getPaperColor(); @@ -787,8 +787,8 @@ void PDFDrawWidgetProxy::drawPages(QPainter* painter, QRect rect, PDFRenderer::F timer.start(); const PDFPage* page = m_controller->getDocument()->getCatalog()->getPage(item.pageIndex); - QMatrix matrix = createPagePointToDevicePointMatrix(page, placedRect) * baseMatrix; - compiledPage->draw(painter, page->getCropBox(), matrix, features, groupInfo.transparency); + QTransform matrix = QTransform(createPagePointToDevicePointMatrix(page, placedRect)) * baseMatrix; + compiledPage->draw(painter, page->getCropBox(), matrix.toAffine(), features, groupInfo.transparency); PDFTextLayoutGetter layoutGetter = m_textLayoutCompiler->getTextLayoutLazy(item.pageIndex); // Draw text blocks/text lines, if it is enabled @@ -848,7 +848,7 @@ void PDFDrawWidgetProxy::drawPages(QPainter* painter, QRect rect, PDFRenderer::F for (IDocumentDrawInterface* drawInterface : m_drawInterfaces) { painter->save(); - drawInterface->drawPage(painter, item.pageIndex, compiledPage, layoutGetter, matrix, drawInterfaceErrors); + drawInterface->drawPage(painter, item.pageIndex, compiledPage, layoutGetter, matrix.toAffine(), drawInterfaceErrors); painter->restore(); } } diff --git a/Pdf4QtLib/sources/pdffile.cpp b/Pdf4QtLib/sources/pdffile.cpp index 6fabc21..9a7bfed 100644 --- a/Pdf4QtLib/sources/pdffile.cpp +++ b/Pdf4QtLib/sources/pdffile.cpp @@ -170,14 +170,14 @@ PDFFileSpecification PDFFileSpecification::parse(const PDFObjectStorage* storage const PDFArray* relatedFileArray = relatedFileArrayObject.getArray(); const size_t relatedFilesCount = relatedFileArray->getCount() / 2; - RelatedFiles& relatedFiles = result.m_relatedFiles[key]; - relatedFiles.reserve(relatedFilesCount); - for (size_t i = 0; i < relatedFilesCount; ++i) + RelatedFiles& currentRelatedFiles = result.m_relatedFiles[key]; + currentRelatedFiles.reserve(relatedFilesCount); + for (size_t ii = 0; ii < relatedFilesCount; ++ii) { RelatedFile relatedFile; - relatedFile.name = loader.readString(relatedFileArray->getItem(2 * i)); - relatedFile.fileReference = loader.readReference(relatedFileArray->getItem(2 * i + 1)); - relatedFiles.emplace_back(qMove(relatedFile)); + relatedFile.name = loader.readString(relatedFileArray->getItem(2 * ii)); + relatedFile.fileReference = loader.readReference(relatedFileArray->getItem(2 * ii + 1)); + currentRelatedFiles.emplace_back(qMove(relatedFile)); } } } @@ -499,9 +499,9 @@ PDFCollectionNavigator PDFCollectionNavigator::parse(const PDFObjectStorage* sto PDFObject layoutObject = storage->getObject(dictionary->get("Layout")); if (layoutObject.isArray()) { - for (const PDFObject& object : *layoutObject.getArray()) + for (const PDFObject& objectInLayourObjects : *layoutObject.getArray()) { - result.m_layouts |= getLayout(object); + result.m_layouts |= getLayout(objectInLayourObjects); } } else diff --git a/Pdf4QtLib/sources/pdffont.cpp b/Pdf4QtLib/sources/pdffont.cpp index 229f2b7..2acc355 100644 --- a/Pdf4QtLib/sources/pdffont.cpp +++ b/Pdf4QtLib/sources/pdffont.cpp @@ -1330,24 +1330,24 @@ PDFFontPointer PDFFont::createFont(const PDFObject& object, const PDFDocument* d // Try to load data from the encoding if (!FT_Set_Charmap(face, charMap)) { - for (size_t i = 0; i < simpleFontEncodingTable.size(); ++i) + for (size_t iTable = 0; iTable < simpleFontEncodingTable.size(); ++iTable) { - FT_UInt glyphIndex = FT_Get_Char_Index(face, static_cast(i)); + FT_UInt glyphIndex = FT_Get_Char_Index(face, static_cast(iTable)); if (glyphIndex == 0) { - glyphIndex = FT_Get_Char_Index(face, static_cast(i + 0xF000)); + glyphIndex = FT_Get_Char_Index(face, static_cast(iTable + 0xF000)); } if (glyphIndex == 0) { - glyphIndex = FT_Get_Char_Index(face, static_cast(i + 0xF100)); + glyphIndex = FT_Get_Char_Index(face, static_cast(iTable + 0xF100)); } if (glyphIndex > 0) { // Fill the glyph index array - glyphIndexArray[i] = glyphIndex; + glyphIndexArray[iTable] = glyphIndex; // Set mapping to unicode char buffer[128] = { }; @@ -1362,7 +1362,7 @@ PDFFontPointer PDFFont::createFont(const PDFObject& object, const PDFDocument* d if (!character.isNull()) { encoding = PDFEncoding::Encoding::Custom; - simpleFontEncodingTable[i] = character; + simpleFontEncodingTable[iTable] = character; } } } @@ -1563,21 +1563,21 @@ PDFFontPointer PDFFont::createFont(const PDFObject& object, const PDFDocument* d } const PDFDictionary* charProcsDictionary = charProcs.getDictionary(); - PDFInteger firstChar = fontLoader.readIntegerFromDictionary(fontDictionary, "FirstChar", -1); - PDFInteger lastChar = fontLoader.readIntegerFromDictionary(fontDictionary, "LastChar", -1); + const PDFInteger firstCharF3 = fontLoader.readIntegerFromDictionary(fontDictionary, "FirstChar", -1); + const PDFInteger lastCharF3 = fontLoader.readIntegerFromDictionary(fontDictionary, "LastChar", -1); - if (firstChar < 0 || lastChar > 255 || firstChar > lastChar) + if (firstCharF3 < 0 || lastCharF3 > 255 || firstCharF3 > lastCharF3) { - throw PDFException(PDFTranslationContext::tr("Invalid Type 3 font character range (from %1 to %2).").arg(firstChar).arg(lastChar)); + throw PDFException(PDFTranslationContext::tr("Invalid Type 3 font character range (from %1 to %2).").arg(firstCharF3).arg(lastCharF3)); } - const PDFObject& encoding = document->getObject(fontDictionary->get("Encoding")); - if (!encoding.isDictionary()) + const PDFObject& encodingF3 = document->getObject(fontDictionary->get("Encoding")); + if (!encodingF3.isDictionary()) { throw PDFException(PDFTranslationContext::tr("Invalid Type 3 font encoding.")); } - const PDFDictionary* encodingDictionary = encoding.getDictionary(); + const PDFDictionary* encodingDictionary = encodingF3.getDictionary(); const PDFObject& differences = document->getObject(encodingDictionary->get("Differences")); if (!differences.isArray()) { @@ -1631,8 +1631,8 @@ PDFFontPointer PDFFont::createFont(const PDFObject& object, const PDFDocument* d toUnicodeCMap = PDFFontCMap::createFromData(decodedStream); } - std::vector widths = fontLoader.readNumberArrayFromDictionary(fontDictionary, "Widths"); - return PDFFontPointer(new PDFType3Font(qMove(fontDescriptor), firstChar, lastChar, fontMatrix, qMove(characterContentStreams), qMove(widths), document->getObject(fontDictionary->get("Resources")), qMove(toUnicodeCMap))); + std::vector widthsF3 = fontLoader.readNumberArrayFromDictionary(fontDictionary, "Widths"); + return PDFFontPointer(new PDFType3Font(qMove(fontDescriptor), firstCharF3, lastCharF3, fontMatrix, qMove(characterContentStreams), qMove(widthsF3), document->getObject(fontDictionary->get("Resources")), qMove(toUnicodeCMap))); } default: @@ -1974,7 +1974,6 @@ PDFFontCMap PDFFontCMap::createFromName(const QByteArray& name) } throw PDFException(PDFTranslationContext::tr("Can't load CID font mapping named '%1'.").arg(QString::fromLatin1(name))); - return PDFFontCMap(); } PDFFontCMap PDFFontCMap::createFromData(const QByteArray& data) @@ -2014,7 +2013,6 @@ PDFFontCMap PDFFontCMap::createFromData(const QByteArray& data) } throw PDFException(PDFTranslationContext::tr("Can't fetch code from CMap definition.")); - return std::pair(); }; auto fetchCID = [] (const PDFLexicalAnalyzer::Token& currentToken) -> CID @@ -2025,7 +2023,6 @@ PDFFontCMap PDFFontCMap::createFromData(const QByteArray& data) } throw PDFException(PDFTranslationContext::tr("Can't fetch CID from CMap definition.")); - return 0; }; auto fetchUnicode = [](const PDFLexicalAnalyzer::Token& currentToken) -> CID @@ -2213,7 +2210,7 @@ std::vector PDFFontCMap::interpret(const QByteArray& byteArray) const result.reserve(byteArray.size() / m_maxKeyLength); unsigned int value = 0; - int scannedBytes = 0; + unsigned int scannedBytes = 0; for (int i = 0, size = byteArray.size(); i < size; ++i) { diff --git a/Pdf4QtLib/sources/pdfform.cpp b/Pdf4QtLib/sources/pdfform.cpp index 50868dc..24aabf2 100644 --- a/Pdf4QtLib/sources/pdfform.cpp +++ b/Pdf4QtLib/sources/pdfform.cpp @@ -1355,7 +1355,7 @@ void PDFFormManager::wheelEvent(QWidget* widget, QWheelEvent* event) return; } - MouseEventInfo info = getMouseEventInfo(widget, event->pos()); + MouseEventInfo info = getMouseEventInfo(widget, event->position().toPoint()); if (info.isValid()) { Q_ASSERT(info.editor); @@ -1965,13 +1965,13 @@ void PDFFormFieldAbstractButtonEditor::mousePressEvent(QWidget* widget, QMouseEv void PDFFormFieldPushButtonEditor::click() { - if (const PDFAction* action = m_formManager->getAction(PDFAnnotationAdditionalActions::MousePressed, getFormWidget())) + if (const PDFAction* mousePressAction = m_formManager->getAction(PDFAnnotationAdditionalActions::MousePressed, getFormWidget())) { - emit m_formManager->actionTriggered(action); + emit m_formManager->actionTriggered(mousePressAction); } - else if (const PDFAction* action = m_formManager->getAction(PDFAnnotationAdditionalActions::Default, getFormWidget())) + else if (const PDFAction* defaultAction = m_formManager->getAction(PDFAnnotationAdditionalActions::Default, getFormWidget())) { - emit m_formManager->actionTriggered(action); + emit m_formManager->actionTriggered(defaultAction); } } @@ -2707,14 +2707,14 @@ void PDFListBoxPseudowidget::draw(AnnotationDrawParameters& parameters, bool edi if (edit) { - pdf::PDFPainterStateGuard guard(painter); + pdf::PDFPainterStateGuard guard2(painter); painter->setPen(getAdjustedColor(Qt::black)); painter->setBrush(Qt::NoBrush); painter->drawRect(parameters.boundingRectangle); } painter->setClipRect(parameters.boundingRectangle, Qt::IntersectClip); - painter->setWorldMatrix(matrix, true); + painter->setWorldTransform(QTransform(matrix), true); painter->setPen(getAdjustedColor(m_textColor)); painter->setFont(m_font); @@ -2739,7 +2739,7 @@ void PDFListBoxPseudowidget::draw(AnnotationDrawParameters& parameters, bool edi if (edit && m_currentIndex == i) { - pdf::PDFPainterStateGuard guard(painter); + pdf::PDFPainterStateGuard guard2(painter); painter->setBrush(Qt::NoBrush); painter->setPen(Qt::DotLine); painter->drawRect(rect); diff --git a/Pdf4QtLib/sources/pdffunction.cpp b/Pdf4QtLib/sources/pdffunction.cpp index 5f4dc63..6694929 100644 --- a/Pdf4QtLib/sources/pdffunction.cpp +++ b/Pdf4QtLib/sources/pdffunction.cpp @@ -326,8 +326,6 @@ PDFFunctionPtr PDFFunction::createFunctionImpl(const PDFDocument* document, cons throw PDFException(PDFParsingContext::tr("Invalid function type: %1.").arg(functionType)); } } - - return nullptr; } PDFSampledFunction::PDFSampledFunction(uint32_t m, uint32_t n, diff --git a/Pdf4QtLib/sources/pdficontheme.cpp b/Pdf4QtLib/sources/pdficontheme.cpp index 56ade02..6d4d9ea 100644 --- a/Pdf4QtLib/sources/pdficontheme.cpp +++ b/Pdf4QtLib/sources/pdficontheme.cpp @@ -82,7 +82,7 @@ void PDFIconTheme::prepareTheme() stream.setGenerateByteOrderMark(true); for (const QString& text : infoList) { - stream << text << endl; + stream << text << Qt::endl; } } file.close(); diff --git a/Pdf4QtLib/sources/pdfimage.cpp b/Pdf4QtLib/sources/pdfimage.cpp index 5cc976d..272b47b 100644 --- a/Pdf4QtLib/sources/pdfimage.cpp +++ b/Pdf4QtLib/sources/pdfimage.cpp @@ -139,18 +139,18 @@ PDFImage PDFImage::createImage(const PDFDocument* document, } // We must alter decode, because it has opposite meaning (it is transparency) - std::vector decode = softMaskImage.m_imageData.getDecode(); - if (decode.size() < 2) + std::vector adjustedDecode = softMaskImage.m_imageData.getDecode(); + if (adjustedDecode.size() < 2) { - decode = { 0.0, 1.0}; + adjustedDecode = { 0.0, 1.0}; } - std::swap(decode[0], decode[1]); + std::swap(adjustedDecode[0], adjustedDecode[1]); // Create soft mask from image maskingType = PDFImageData::MaskingType::SoftMask; image.m_softMask = qMove(softMaskImage.m_imageData); image.m_softMask.setMaskingType(PDFImageData::MaskingType::None); - image.m_softMask.setDecode(qMove(decode)); + image.m_softMask.setDecode(qMove(adjustedDecode)); } } else if (dictionary->hasKey("SMask")) @@ -409,12 +409,12 @@ PDFImage PDFImage::createImage(const PDFDocument* document, opj_set_warning_handler(codec, warningCallback, &imageData); opj_set_error_handler(codec, errorCallback, &imageData); - opj_stream_t* stream = opj_stream_create(content.size(), OPJ_TRUE); - opj_stream_set_user_data(stream, &imageData, nullptr); - opj_stream_set_user_data_length(stream, content.size()); - opj_stream_set_read_function(stream, &PDFJPEG2000ImageData::read); - opj_stream_set_seek_function(stream, &PDFJPEG2000ImageData::seek); - opj_stream_set_skip_function(stream, &PDFJPEG2000ImageData::skip); + opj_stream_t* opjStream = opj_stream_create(content.size(), OPJ_TRUE); + opj_stream_set_user_data(opjStream, &imageData, nullptr); + opj_stream_set_user_data_length(opjStream, content.size()); + opj_stream_set_read_function(opjStream, &PDFJPEG2000ImageData::read); + opj_stream_set_seek_function(opjStream, &PDFJPEG2000ImageData::seek); + opj_stream_set_skip_function(opjStream, &PDFJPEG2000ImageData::skip); // Reset the stream position, clear the data imageData.position = 0; @@ -427,13 +427,13 @@ PDFImage PDFImage::createImage(const PDFDocument* document, { // Try to read the header - if (opj_read_header(stream, codec, &jpegImage)) + if (opj_read_header(opjStream, codec, &jpegImage)) { if (opj_set_decode_area(codec, jpegImage, decompressParameters.DA_x0, decompressParameters.DA_y0, decompressParameters.DA_x1, decompressParameters.DA_y1)) { - if (opj_decode(codec, stream, jpegImage)) + if (opj_decode(codec, opjStream, jpegImage)) { - if (opj_end_decompress(codec, stream)) + if (opj_end_decompress(codec, opjStream)) { } @@ -442,10 +442,10 @@ PDFImage PDFImage::createImage(const PDFDocument* document, } } - opj_stream_destroy(stream); + opj_stream_destroy(opjStream); opj_destroy_codec(codec); - stream = nullptr; + opjStream = nullptr; codec = nullptr; // If we have a valid image, then adjust it diff --git a/Pdf4QtLib/sources/pdfitemmodels.cpp b/Pdf4QtLib/sources/pdfitemmodels.cpp index 2a89f40..e23d497 100644 --- a/Pdf4QtLib/sources/pdfitemmodels.cpp +++ b/Pdf4QtLib/sources/pdfitemmodels.cpp @@ -678,11 +678,11 @@ QVariant PDFThumbnailsItemModel::data(const QModelIndex& index, int role) const return QVariant(); } - const int page = index.row(); + const int pageIndex = index.row(); switch (role) { case Qt::DisplayRole: - return QString::number(page + 1); + return QString::number(pageIndex + 1); case Qt::DecorationRole: { diff --git a/Pdf4QtLib/sources/pdfjbig2decoder.cpp b/Pdf4QtLib/sources/pdfjbig2decoder.cpp index 7dbf058..38e14ca 100644 --- a/Pdf4QtLib/sources/pdfjbig2decoder.cpp +++ b/Pdf4QtLib/sources/pdfjbig2decoder.cpp @@ -2408,7 +2408,7 @@ void PDFJBIG2Decoder::processHalftoneRegion(const PDFJBIG2SegmentHeader& header) } } - if (PLANE.getWidth() != HGW || PLANE.getHeight() != HGH) + if (uint32_t(PLANE.getWidth()) != HGW || uint32_t(PLANE.getHeight()) != HGH) { throw PDFException(PDFTranslationContext::tr("JBIG2 invalid halftone grayscale bit plane image.")); } @@ -2508,8 +2508,8 @@ void PDFJBIG2Decoder::processGenericRegion(const PDFJBIG2SegmentHeader& header) QByteArray endSequence(2, 0); if (!parameters.MMR) { - endSequence[0] = char(0xFF); - endSequence[1] = char(0xAC); + endSequence[0] = unsigned char(0xFF); + endSequence[1] = unsigned char(0xAC); } int endPosition = stream->indexOf(endSequence); @@ -2610,7 +2610,7 @@ void PDFJBIG2Decoder::processGenericRefinementRegion(const PDFJBIG2SegmentHeader throw PDFException(PDFTranslationContext::tr("JBIG2 - invalid referred segments (%1) for generic refinement region.").arg(referredSegments.size())); } - if (GRREFERENCE.getWidth() != field.width || GRREFERENCE.getHeight() != field.height) + if (uint32_t(GRREFERENCE.getWidth()) != field.width || uint32_t(GRREFERENCE.getHeight()) != field.height) { throw PDFException(PDFTranslationContext::tr("JBIG2 - invalid referred bitmap size [%1 x %2] instead of [%3 x %4] for generic refinement region.").arg(GRREFERENCE.getWidth()).arg(GRREFERENCE.getHeight()).arg(field.width).arg(field.height)); } @@ -2843,7 +2843,6 @@ PDFJBIG2Bitmap PDFJBIG2Decoder::getBitmap(const uint32_t segmentIndex, bool remo } throw PDFException(PDFTranslationContext::tr("JBIG2 bitmap segment %1 not found.").arg(segmentIndex)); - return result; } PDFJBIG2Bitmap PDFJBIG2Decoder::readBitmap(PDFJBIG2BitmapDecodingParameters& parameters) @@ -3147,8 +3146,6 @@ PDFJBIG2Bitmap PDFJBIG2Decoder::readBitmap(PDFJBIG2BitmapDecodingParameters& par return bitmap; } - - return PDFJBIG2Bitmap(); } PDFJBIG2Bitmap PDFJBIG2Decoder::readRefinementBitmap(PDFJBIG2BitmapRefinementDecodingParameters& parameters) @@ -3635,8 +3632,6 @@ int32_t PDFJBIG2Decoder::checkInteger(std::optional value) { throw PDFException(PDFTranslationContext::tr("JBIG2 can't read integer.")); } - - return 0; } PDFJBIG2Bitmap::PDFJBIG2Bitmap() : @@ -3942,9 +3937,9 @@ std::vector PDFJBIG2ReferencedSegments::getSymbolBitmaps( for (const PDFJBIG2SymbolDictionary* dictionary : symbolDictionaries) { - const std::vector& bitmaps = dictionary->getBitmaps(); - result.reserve(result.size() + bitmaps.size()); - for (const PDFJBIG2Bitmap& bitmap : bitmaps) + const std::vector& dictionaryBitmaps = dictionary->getBitmaps(); + result.reserve(result.size() + dictionaryBitmaps.size()); + for (const PDFJBIG2Bitmap& bitmap : dictionaryBitmaps) { result.push_back(&bitmap); } @@ -3959,9 +3954,9 @@ std::vector PDFJBIG2ReferencedSegments::getPatternBitmaps for (const PDFJBIG2PatternDictionary* dictionary : patternDictionaries) { - const std::vector& bitmaps = dictionary->getBitmaps(); - result.reserve(result.size() + bitmaps.size()); - for (const PDFJBIG2Bitmap& bitmap : bitmaps) + const std::vector& dictionaryBitmaps = dictionary->getBitmaps(); + result.reserve(result.size() + dictionaryBitmaps.size()); + for (const PDFJBIG2Bitmap& bitmap : dictionaryBitmaps) { result.push_back(&bitmap); } @@ -3980,8 +3975,6 @@ PDFJBIG2HuffmanDecoder PDFJBIG2ReferencedSegments::getUserTable(PDFBitReader* re { throw PDFException(PDFTranslationContext::tr("JBIG2 invalid user huffman code table.")); } - - return PDFJBIG2HuffmanDecoder(); } } // namespace pdf diff --git a/Pdf4QtLib/sources/pdfobject.cpp b/Pdf4QtLib/sources/pdfobject.cpp index 2462153..1c49133 100644 --- a/Pdf4QtLib/sources/pdfobject.cpp +++ b/Pdf4QtLib/sources/pdfobject.cpp @@ -476,11 +476,11 @@ PDFObject PDFObjectManipulator::removeDuplicitReferencesInArrays(PDFObject objec PDFArray array; std::set usedReferences; - for (const PDFObject& object : *object.getArray()) + for (const PDFObject& arrayObject : *object.getArray()) { - if (object.isReference()) + if (arrayObject.isReference()) { - PDFObjectReference reference = object.getReference(); + PDFObjectReference reference = arrayObject.getReference(); if (!usedReferences.count(reference)) { usedReferences.insert(reference); @@ -489,7 +489,7 @@ PDFObject PDFObjectManipulator::removeDuplicitReferencesInArrays(PDFObject objec } else { - array.appendItem(removeDuplicitReferencesInArrays(object)); + array.appendItem(removeDuplicitReferencesInArrays(arrayObject)); } } diff --git a/Pdf4QtLib/sources/pdfobjectutils.cpp b/Pdf4QtLib/sources/pdfobjectutils.cpp index da945cc..9dc4a55 100644 --- a/Pdf4QtLib/sources/pdfobjectutils.cpp +++ b/Pdf4QtLib/sources/pdfobjectutils.cpp @@ -343,9 +343,9 @@ void PDFObjectClassifier::classify(const PDFDocument* document) if (const PDFDictionary* xobjectDictionary = document->getDictionaryFromObject(resourcesDictionary->get("XObject"))) { const size_t count = xobjectDictionary->getCount(); - for (size_t i = 0; i < count; ++i) + for (size_t xObjectIndex = 0; xObjectIndex < count; ++xObjectIndex) { - const PDFObject& item = xobjectDictionary->getValue(i); + const PDFObject& item = xobjectDictionary->getValue(xObjectIndex); if (item.isReference() && hasObject(item.getReference())) { if (const PDFDictionary* xobjectItemDictionary = document->getDictionaryFromObject(item)) diff --git a/Pdf4QtLib/sources/pdfoptionalcontent.cpp b/Pdf4QtLib/sources/pdfoptionalcontent.cpp index d675bfb..ef638f2 100644 --- a/Pdf4QtLib/sources/pdfoptionalcontent.cpp +++ b/Pdf4QtLib/sources/pdfoptionalcontent.cpp @@ -37,10 +37,10 @@ PDFOptionalContentProperties PDFOptionalContentProperties::create(const PDFDocum for (const PDFObjectReference& reference : properties.m_allOptionalContentGroups) { - const PDFObject& object = document->getStorage().getObject(reference); - if (!object.isNull()) + const PDFObject& currentObject = document->getStorage().getObject(reference); + if (!currentObject.isNull()) { - properties.m_optionalContentGroups[reference] = PDFOptionalContentGroup::create(document, object); + properties.m_optionalContentGroups[reference] = PDFOptionalContentGroup::create(document, currentObject); } } @@ -548,7 +548,6 @@ PDFOptionalContentMembershipObject PDFOptionalContentMembershipObject::create(co { // Something strange occured - either we should have an array, or we should have a reference to the OCG throw PDFException(PDFTranslationContext::tr("Invalid optional content visibility expression.")); - return std::unique_ptr(nullptr); } }; diff --git a/Pdf4QtLib/sources/pdfpage.cpp b/Pdf4QtLib/sources/pdfpage.cpp index cf3839f..5315ab1 100644 --- a/Pdf4QtLib/sources/pdfpage.cpp +++ b/Pdf4QtLib/sources/pdfpage.cpp @@ -35,22 +35,22 @@ PDFPageInheritableAttributes PDFPageInheritableAttributes::parse(const PDFPageIn { PDFDocumentDataLoaderDecorator loader(storage); - const PDFDictionary* dictionary = dereferencedDictionary.getDictionary(); - if (dictionary->hasKey("MediaBox")) + const PDFDictionary* pageAttributesDictionary = dereferencedDictionary.getDictionary(); + if (pageAttributesDictionary->hasKey("MediaBox")) { - result.m_mediaBox = loader.readRectangle(dictionary->get("MediaBox"), result.getMediaBox()); + result.m_mediaBox = loader.readRectangle(pageAttributesDictionary->get("MediaBox"), result.getMediaBox()); } - if (dictionary->hasKey("CropBox")) + if (pageAttributesDictionary->hasKey("CropBox")) { - result.m_cropBox = loader.readRectangle(dictionary->get("CropBox"), result.getCropBox()); + result.m_cropBox = loader.readRectangle(pageAttributesDictionary->get("CropBox"), result.getCropBox()); } - if (dictionary->hasKey("Resources")) + if (pageAttributesDictionary->hasKey("Resources")) { - result.m_resources = dictionary->get("Resources"); + result.m_resources = pageAttributesDictionary->get("Resources"); } - if (dictionary->hasKey("Rotate")) + if (pageAttributesDictionary->hasKey("Rotate")) { - PDFInteger rotation = loader.readInteger(dictionary->get("Rotate"), 0); + PDFInteger rotation = loader.readInteger(pageAttributesDictionary->get("Rotate"), 0); // PDF specification says, that angle can be multiple of 90, so we can have here // for example, 450° (90° * 5), or even negative angles. We must get rid of them. diff --git a/Pdf4QtLib/sources/pdfpagecontenteditortools.cpp b/Pdf4QtLib/sources/pdfpagecontenteditortools.cpp index 232ffde..1af1c1e 100644 --- a/Pdf4QtLib/sources/pdfpagecontenteditortools.cpp +++ b/Pdf4QtLib/sources/pdfpagecontenteditortools.cpp @@ -358,7 +358,7 @@ void PDFCreatePCElementImageTool::drawPage(QPainter* painter, { PDFPainterStateGuard guard(painter); - painter->setWorldMatrix(pagePointToDevicePointMatrix, true); + painter->setWorldTransform(QTransform(pagePointToDevicePointMatrix), true); painter->setRenderHint(QPainter::Antialiasing); painter->setPen(Qt::DotLine); painter->setBrush(Qt::NoBrush); @@ -492,7 +492,7 @@ void PDFCreatePCElementDotTool::drawPage(QPainter* painter, QPointF point = pagePointToDevicePointMatrix.inverted().map(m_pickTool->getSnappedPoint()); PDFPainterStateGuard guard(painter); - painter->setWorldMatrix(pagePointToDevicePointMatrix, true); + painter->setWorldTransform(QTransform(pagePointToDevicePointMatrix), true); painter->setRenderHint(QPainter::Antialiasing); painter->setPen(m_element->getPen()); painter->setBrush(m_element->getBrush()); @@ -708,7 +708,7 @@ void PDFCreatePCElementTextTool::drawPage(QPainter* painter, parameters.key.first = PDFAppeareanceStreams::Appearance::Normal; parameters.invertColors = getProxy()->getFeatures().testFlag(PDFRenderer::InvertColors); - painter->setWorldMatrix(pagePointToDevicePointMatrix, true); + painter->setWorldTransform(QTransform(pagePointToDevicePointMatrix), true); m_textEditWidget->draw(parameters, true); } } diff --git a/Pdf4QtLib/sources/pdfpagecontentelements.cpp b/Pdf4QtLib/sources/pdfpagecontentelements.cpp index 48d8607..de5ffea 100644 --- a/Pdf4QtLib/sources/pdfpagecontentelements.cpp +++ b/Pdf4QtLib/sources/pdfpagecontentelements.cpp @@ -282,7 +282,7 @@ void PDFPageContentElementRectangle::drawPage(QPainter* painter, } PDFPainterStateGuard guard(painter); - painter->setWorldMatrix(pagePointToDevicePointMatrix, true); + painter->setWorldTransform(QTransform(pagePointToDevicePointMatrix), true); painter->setPen(getPen()); painter->setBrush(getBrush()); painter->setRenderHint(QPainter::Antialiasing); @@ -965,7 +965,7 @@ void PDFPageContentElementLine::drawPage(QPainter* painter, } PDFPainterStateGuard guard(painter); - painter->setWorldMatrix(pagePointToDevicePointMatrix, true); + painter->setWorldTransform(QTransform(pagePointToDevicePointMatrix), true); painter->setPen(getPen()); painter->setBrush(getBrush()); painter->setRenderHint(QPainter::Antialiasing); @@ -1147,7 +1147,7 @@ void PDFPageContentImageElement::drawPage(QPainter* painter, } PDFPainterStateGuard guard(painter); - painter->setWorldMatrix(pagePointToDevicePointMatrix, true); + painter->setWorldTransform(QTransform(pagePointToDevicePointMatrix), true); painter->setRenderHint(QPainter::Antialiasing); if (m_renderer->isValid()) @@ -1274,7 +1274,7 @@ void PDFPageContentElementDot::drawPage(QPainter* painter, } PDFPainterStateGuard guard(painter); - painter->setWorldMatrix(pagePointToDevicePointMatrix, true); + painter->setWorldTransform(QTransform(pagePointToDevicePointMatrix), true); painter->setRenderHint(QPainter::Antialiasing); painter->setPen(getPen()); painter->setBrush(getBrush()); @@ -1362,7 +1362,7 @@ void PDFPageContentElementFreehandCurve::drawPage(QPainter* painter, } PDFPainterStateGuard guard(painter); - painter->setWorldMatrix(pagePointToDevicePointMatrix, true); + painter->setWorldTransform(QTransform(pagePointToDevicePointMatrix), true); painter->setPen(getPen()); painter->setBrush(getBrush()); painter->setRenderHint(QPainter::Antialiasing); @@ -2133,11 +2133,11 @@ void PDFPageContentElementManipulator::performOperation(Operation operation) qreal yTop = representativeRect.bottom(); for (PDFPageContentElement* element : manipulatedElements) { - const PDFInteger row = elementToRow[element]; - const PDFInteger column = elementToColumn[element]; + const PDFInteger currentRow = elementToRow[element]; + const PDFInteger currentColumn = elementToColumn[element]; - const qreal xOffset = cellOffsetX[column]; - const qreal yOffset = cellOffsetY[row]; + const qreal xOffset = cellOffsetX[currentColumn]; + const qreal yOffset = cellOffsetY[currentRow]; QRectF boundingBox = element->getBoundingBox(); QPointF offset(xLeft + xOffset - boundingBox.left(), yTop - yOffset - boundingBox.bottom()); @@ -2395,7 +2395,7 @@ void PDFPageContentElementTextBox::drawPage(QPainter* painter, } PDFPainterStateGuard guard(painter); - painter->setWorldMatrix(pagePointToDevicePointMatrix, true); + painter->setWorldTransform(QTransform(pagePointToDevicePointMatrix), true); painter->setPen(getPen()); painter->setBrush(getBrush()); painter->setFont(font); diff --git a/Pdf4QtLib/sources/pdfpagecontentprocessor.cpp b/Pdf4QtLib/sources/pdfpagecontentprocessor.cpp index 779f7fb..7c1adc4 100644 --- a/Pdf4QtLib/sources/pdfpagecontentprocessor.cpp +++ b/Pdf4QtLib/sources/pdfpagecontentprocessor.cpp @@ -627,7 +627,6 @@ void PDFPageContentProcessor::processContent(const QByteArray& content) dataLength = -1; // We will try to use stream filter hint - PDFDocumentDataLoaderDecorator loader(m_document); QByteArray filterName = loader.readNameFromDictionary(dictionary, "Filter"); if (!filterName.isEmpty()) { @@ -1088,14 +1087,14 @@ void PDFPageContentProcessor::processTillingPatternPainting(const PDFTilingPatte { for (PDFInteger row = 0; row < rows; ++row) { - PDFPageContentProcessorGraphicStateSaveRestoreGuard guard(this); + PDFPageContentProcessorGraphicStateSaveRestoreGuard guard3(this); QMatrix transformationMatrix = baseTransformationMatrix; transformationMatrix.translate(tilingArea.left(), tilingArea.top()); transformationMatrix.translate(column * xStep, row * yStep); - QMatrix patternMatrix = transformationMatrix * m_pagePointToDevicePointMatrix; - PDFTemporaryValueChange patternMatrixGuard(&m_patternBaseMatrix, patternMatrix); + QMatrix currentPatternMatrix = transformationMatrix * m_pagePointToDevicePointMatrix; + PDFTemporaryValueChange patternMatrixGuard(&m_patternBaseMatrix, currentPatternMatrix); m_graphicState.setCurrentTransformationMatrix(transformationMatrix); updateGraphicState(); @@ -1611,8 +1610,6 @@ QPointF PDFPageContentProcessor::getCurrentPoint() const { throw PDFRendererException(RenderErrorType::Error, PDFTranslationContext::tr("Current point of path is not set. Path is empty.")); } - - return QPointF(); } void PDFPageContentProcessor::updateGraphicState() @@ -2129,8 +2126,6 @@ PDFReal PDFPageContentProcessor::readOperand(size_t index) const { throw PDFRendererException(RenderErrorType::Error, PDFTranslationContext::tr("Can't read operand (real number) on index %1. Only %2 operands provided.").arg(index + 1).arg(m_operands.size())); } - - return 0.0; } template<> @@ -2153,8 +2148,6 @@ PDFInteger PDFPageContentProcessor::readOperand(size_t index) const { throw PDFRendererException(RenderErrorType::Error, PDFTranslationContext::tr("Can't read operand (integer) on index %1. Only %2 operands provided.").arg(index + 1).arg(m_operands.size())); } - - return 0; } template<> @@ -2177,8 +2170,6 @@ PDFPageContentProcessor::PDFOperandName PDFPageContentProcessor::readOperandhasKey("OC")) { - const PDFObject& object = streamDictionary->get("OC"); - if (object.isReference()) + const PDFObject& optionalContentObject = streamDictionary->get("OC"); + if (optionalContentObject.isReference()) { - if (isContentSuppressedByOC(object.getReference())) + if (isContentSuppressedByOC(optionalContentObject.getReference())) { return; } @@ -3304,7 +3293,7 @@ void PDFPageContentProcessor::drawText(const TextSequence& textSequence) if (item.characterContentStream && (fill || stroke)) { - PDFPageContentProcessorStateGuard guard(this); + PDFPageContentProcessorStateGuard guard2(this); // We must clear operands, because we are processing a new content stream m_operands.clear(); diff --git a/Pdf4QtLib/sources/pdfpagecontentprocessor.h b/Pdf4QtLib/sources/pdfpagecontentprocessor.h index 135c027..8be1fdc 100644 --- a/Pdf4QtLib/sources/pdfpagecontentprocessor.h +++ b/Pdf4QtLib/sources/pdfpagecontentprocessor.h @@ -863,8 +863,6 @@ private: { throw PDFRendererException(RenderErrorType::Error, PDFTranslationContext::tr("Invalid color component count. Provided %1, required %2.").arg(operandCount).arg(colorSpaceComponentCount)); } - - return QColor(); } /// Converts PDF line cap to Qt's pen cap style. Function always succeeds, diff --git a/Pdf4QtLib/sources/pdfpainter.cpp b/Pdf4QtLib/sources/pdfpainter.cpp index 07985c1..f3dd802 100644 --- a/Pdf4QtLib/sources/pdfpainter.cpp +++ b/Pdf4QtLib/sources/pdfpainter.cpp @@ -329,9 +329,9 @@ void PDFPainter::performImagePainting(const QImage& image) // 1) Transformed rectangle is not skewed or deformed (so vectors (0, 1) and (1, 0) are orthogonal) // 2) We are shrinking the image - QMatrix matrix = m_painter->worldMatrix(); - QLineF mappedWidthVector = matrix.map(QLineF(0, 0, 1, 0)); - QLineF mappedHeightVector = matrix.map(QLineF(0, 0, 0, 1)); + QTransform transform = m_painter->worldTransform(); + QLineF mappedWidthVector = transform.map(QLineF(0, 0, 1, 0)); + QLineF mappedHeightVector = transform.map(QLineF(0, 0, 0, 1)); qreal angle = mappedWidthVector.angleTo(mappedHeightVector); if (qFuzzyCompare(angle, 90.0)) { @@ -351,15 +351,15 @@ void PDFPainter::performImagePainting(const QImage& image) } } - QMatrix imageTransform(1.0 / adjustedImage.width(), 0, 0, 1.0 / adjustedImage.height(), 0, 0); - QMatrix worldMatrix = imageTransform * m_painter->worldMatrix(); + QTransform imageTransform(1.0 / adjustedImage.width(), 0, 0, 1.0 / adjustedImage.height(), 0, 0); + QTransform worldTransform = imageTransform * m_painter->worldTransform(); // Because Qt uses opposite axis direction than PDF, then we must transform the y-axis // to the opposite (so the image is then unchanged) - worldMatrix.translate(0, adjustedImage.height()); - worldMatrix.scale(1, -1); + worldTransform.translate(0, adjustedImage.height()); + worldTransform.scale(1, -1); - m_painter->setWorldMatrix(worldMatrix); + m_painter->setWorldTransform(worldTransform); m_painter->drawImage(0, 0, adjustedImage); m_painter->restore(); @@ -368,7 +368,7 @@ void PDFPainter::performImagePainting(const QImage& image) void PDFPainter::performMeshPainting(const PDFMesh& mesh) { m_painter->save(); - m_painter->setWorldMatrix(QMatrix()); + m_painter->setWorldTransform(QTransform()); mesh.paint(m_painter, getEffectiveFillingAlpha()); m_painter->restore(); } @@ -391,7 +391,7 @@ void PDFPainter::performRestoreGraphicState(ProcessOrder order) void PDFPainter::setWorldMatrix(const QMatrix& matrix) { - m_painter->setWorldMatrix(matrix, false); + m_painter->setWorldTransform(QTransform(matrix), false); } void PDFPainter::setCompositionMode(QPainter::CompositionMode mode) @@ -514,7 +514,7 @@ void PDFPrecompiledPage::draw(QPainter* painter, Q_ASSERT(pagePointToDevicePointMatrix.isInvertible()); painter->save(); - painter->setWorldMatrix(QMatrix()); + painter->setWorldTransform(QTransform()); painter->setOpacity(opacity); if (features.testFlag(PDFRenderer::ClipToCropBox)) @@ -554,15 +554,15 @@ void PDFPrecompiledPage::draw(QPainter* painter, painter->save(); - QMatrix imageTransform(1.0 / image.width(), 0, 0, 1.0 / image.height(), 0, 0); - QMatrix worldMatrix = imageTransform * painter->worldMatrix(); + QTransform imageTransform(1.0 / image.width(), 0, 0, 1.0 / image.height(), 0, 0); + QTransform worldTransform = imageTransform * painter->worldTransform(); // Jakub Melka: Because Qt uses opposite axis direction than PDF, then we must transform the y-axis // to the opposite (so the image is then unchanged) - worldMatrix.translate(0, image.height()); - worldMatrix.scale(1, -1); + worldTransform.translate(0, image.height()); + worldTransform.scale(1, -1); - painter->setWorldMatrix(worldMatrix); + painter->setWorldTransform(worldTransform); painter->drawImage(0, 0, image); painter->restore(); break; @@ -573,7 +573,7 @@ void PDFPrecompiledPage::draw(QPainter* painter, const MeshPaintData& data = m_meshes[instruction.dataIndex]; painter->save(); - painter->setWorldMatrix(pagePointToDevicePointMatrix); + painter->setWorldTransform(QTransform(pagePointToDevicePointMatrix)); data.mesh.paint(painter, data.alpha); painter->restore(); break; @@ -599,7 +599,7 @@ void PDFPrecompiledPage::draw(QPainter* painter, case InstructionType::SetWorldMatrix: { - painter->setWorldMatrix(m_matrices[instruction.dataIndex] * pagePointToDevicePointMatrix); + painter->setWorldTransform(QTransform(m_matrices[instruction.dataIndex] * pagePointToDevicePointMatrix)); break; } @@ -643,8 +643,8 @@ void PDFPrecompiledPage::redact(QPainterPath redactPath, const QMatrix& matrix, { case InstructionType::DrawPath: { - QMatrix matrix = worldMatrixStack.top().inverted(); - QPainterPath mappedRedactPath = matrix.map(redactPath); + QMatrix currentMatrix = worldMatrixStack.top().inverted(); + QPainterPath mappedRedactPath = currentMatrix.map(redactPath); PathPaintData& path = m_paths[instruction.dataIndex]; path.path = path.path.subtracted(mappedRedactPath); break; @@ -655,16 +655,16 @@ void PDFPrecompiledPage::redact(QPainterPath redactPath, const QMatrix& matrix, ImageData& data = m_images[instruction.dataIndex]; QImage& image = data.image; - QMatrix imageTransform(1.0 / image.width(), 0, 0, 1.0 / image.height(), 0, 0); - QMatrix worldMatrix = imageTransform * worldMatrixStack.top(); + QTransform imageTransform(1.0 / image.width(), 0, 0, 1.0 / image.height(), 0, 0); + QTransform worldTransform = imageTransform * QTransform(worldMatrixStack.top()); // Jakub Melka: Because Qt uses opposite axis direction than PDF, then we must transform the y-axis // to the opposite (so the image is then unchanged) - worldMatrix.translate(0, image.height()); - worldMatrix.scale(1, -1); + worldTransform.translate(0, image.height()); + worldTransform.scale(1, -1); QPainter painter(&image); - painter.setWorldMatrix(worldMatrix.inverted()); + painter.setWorldTransform(worldTransform.inverted()); painter.drawPath(redactPath); painter.end(); break; @@ -676,8 +676,8 @@ void PDFPrecompiledPage::redact(QPainterPath redactPath, const QMatrix& matrix, case InstructionType::Clip: { - QMatrix matrix = worldMatrixStack.top().inverted(); - QPainterPath mappedRedactPath = matrix.map(redactPath); + QMatrix currentMatrix = worldMatrixStack.top().inverted(); + QPainterPath mappedRedactPath = currentMatrix.map(redactPath); m_clips[instruction.dataIndex].clipPath = m_clips[instruction.dataIndex].clipPath.subtracted(mappedRedactPath); break; } @@ -982,12 +982,12 @@ PDFPrecompiledPage::GraphicPieceInfos PDFPrecompiledPage::calculateGraphicPieceI shadingTestImage.fill(Qt::transparent); - QMatrix pagePointToDevicePointMatrix; + QTransform pagePointToDevicePointMatrix; pagePointToDevicePointMatrix.scale(shadingTestImage.width() / mediaBox.width(), -shadingTestImage.height() / mediaBox.height()); { QPainter painter(&shadingTestImage); - painter.setWorldMatrix(pagePointToDevicePointMatrix); + painter.setWorldTransform(pagePointToDevicePointMatrix); data.mesh.paint(&painter, data.alpha); } diff --git a/Pdf4QtLib/sources/pdfpattern.cpp b/Pdf4QtLib/sources/pdfpattern.cpp index 2e490f9..f44cfb4 100644 --- a/Pdf4QtLib/sources/pdfpattern.cpp +++ b/Pdf4QtLib/sources/pdfpattern.cpp @@ -143,12 +143,9 @@ PDFPatternPtr PDFPattern::createPattern(const PDFDictionary* colorSpaceDictionar default: throw PDFException(PDFTranslationContext::tr("Invalid pattern.")); } - - return PDFPatternPtr(); } throw PDFException(PDFTranslationContext::tr("Invalid pattern.")); - return PDFPatternPtr(); } PDFPatternPtr PDFPattern::createShadingPattern(const PDFDictionary* colorSpaceDictionary, @@ -503,9 +500,6 @@ PDFPatternPtr PDFPattern::createShadingPattern(const PDFDictionary* colorSpaceDi throw PDFException(PDFTranslationContext::tr("Invalid shading pattern type (%1).").arg(static_cast(shadingType))); } } - - throw PDFException(PDFTranslationContext::tr("Invalid shading.")); - return PDFPatternPtr(); } class PDFFunctionShadingSampler : public PDFShadingSampler @@ -1682,8 +1676,8 @@ PDFMesh PDFRadialShading::createMesh(const PDFMeshQualitySettings& settings, const PDFReal x1 = rightItem.first; const PDFColor mixedColor = PDFAbstractColorSpace::mixColors(leftItem.second, rightItem.second, 0.5); const PDFReal angleStep = 2 * M_PI / SLICES; - const PDFReal r0 = rLine.pointAt((x0 - p1m.x()) / rlength).y(); - const PDFReal r1 = rLine.pointAt((x1 - p1m.x()) / rlength).y(); + const PDFReal cr0 = rLine.pointAt((x0 - p1m.x()) / rlength).y(); + const PDFReal cr1 = rLine.pointAt((x1 - p1m.x()) / rlength).y(); PDFReal angle0 = 0; for (int i = 0; i < SLICES; ++i) @@ -1694,15 +1688,15 @@ PDFMesh PDFRadialShading::createMesh(const PDFMeshQualitySettings& settings, const PDFReal cos1 = std::cos(angle1); const PDFReal sin1 = std::sin(angle1); - QPointF p1(x0 + cos0 * r0, sin0 * r0); - QPointF p2(x1 + cos0 * r1, sin0 * r1); - QPointF p3(x1 + cos1 * r1, sin1 * r1); - QPointF p4(x0 + cos1 * r0, sin1 * r0); + QPointF cp1(x0 + cos0 * cr0, sin0 * cr0); + QPointF cp2(x1 + cos0 * cr1, sin0 * cr1); + QPointF cp3(x1 + cos1 * cr1, sin1 * cr1); + QPointF cp4(x0 + cos1 * cr0, sin1 * cr0); - uint32_t v1 = mesh.addVertex(p1); - uint32_t v2 = mesh.addVertex(p2); - uint32_t v3 = mesh.addVertex(p3); - uint32_t v4 = mesh.addVertex(p4); + uint32_t v1 = mesh.addVertex(cp1); + uint32_t v2 = mesh.addVertex(cp2); + uint32_t v3 = mesh.addVertex(cp3); + uint32_t v4 = mesh.addVertex(cp4); QColor color = m_colorSpace->getColor(mixedColor, cms, intent, reporter, true); mesh.addQuad(v1, v2, v3, v4, color.rgb()); diff --git a/Pdf4QtLib/sources/pdfsecurityhandler.cpp b/Pdf4QtLib/sources/pdfsecurityhandler.cpp index d95c828..447081b 100644 --- a/Pdf4QtLib/sources/pdfsecurityhandler.cpp +++ b/Pdf4QtLib/sources/pdfsecurityhandler.cpp @@ -1775,9 +1775,9 @@ QByteArray PDFStandardSecurityHandler::createHash_r6(const QByteArray& input, co uint8_t byte = E[i]; int currentRemainder = 1; - for (uint8_t i = 0; i < 8; ++i) + for (uint8_t iRemainder = 0; iRemainder < 8; ++iRemainder) { - if ((byte >> i) & 1) + if ((byte >> iRemainder) & 1) { remainderAccumulator += currentRemainder; } @@ -2444,7 +2444,7 @@ PDFSecurityHandler::AuthorizationResult PDFPublicKeySecurityHandler::authenticat openssl_ptr key(keyPtr, EVP_PKEY_free); openssl_ptr certificate(certificatePtr, X509_free); - openssl_ptr certificates(certificatesPtr, sk_X509_free); + openssl_ptr certificates2(certificatesPtr, sk_X509_free); for (const auto& recipientItem : recipients) { diff --git a/Pdf4QtLib/sources/pdfsignaturehandler.cpp b/Pdf4QtLib/sources/pdfsignaturehandler.cpp index bb5a8c5..c67ead6 100644 --- a/Pdf4QtLib/sources/pdfsignaturehandler.cpp +++ b/Pdf4QtLib/sources/pdfsignaturehandler.cpp @@ -614,18 +614,18 @@ void PDFPublicKeySignatureHandler::verifyCertificate(PDFSignatureVerificationRes // We will add certificate info for all certificates const int count = sk_X509_num(certificates); - for (int i = 0; i < count; ++i) + for (int ii = 0; ii < count; ++ii) { - result.addCertificateInfo(getCertificateInfo(sk_X509_value(certificates, i))); + result.addCertificateInfo(getCertificateInfo(sk_X509_value(certificates, ii))); } } else { STACK_OF(X509)* validChain = X509_STORE_CTX_get0_chain(context); const int count = sk_X509_num(validChain); - for (int i = 0; i < count; ++i) + for (int ii = 0; ii < count; ++ii) { - result.addCertificateInfo(getCertificateInfo(sk_X509_value(validChain, i))); + result.addCertificateInfo(getCertificateInfo(sk_X509_value(validChain, ii))); } } X509_STORE_CTX_cleanup(context); @@ -754,11 +754,11 @@ void PDFPublicKeySignatureHandler::verifySignature(PDFSignatureVerificationResul if (BIO* dataBio = PKCS7_dataInit(pkcs7, inputBuffer)) { // Now, we must read from bio to calculate digests (digest is returned) - std::array buffer = { }; + std::array bioReadBuffer = { }; int bytesRead = 0; do { - bytesRead = BIO_read(dataBio, buffer.data(), int(buffer.size())); + bytesRead = BIO_read(dataBio, bioReadBuffer.data(), int(bioReadBuffer.size())); } while (bytesRead > 0); STACK_OF(PKCS7_SIGNER_INFO)* signerInfo = PKCS7_get_signer_info(pkcs7); @@ -1185,18 +1185,18 @@ void PDFSignatureHandler_ETSI_base::verifyCertificateCAdES(PDFSignatureVerificat // We will add certificate info for all certificates const int count = sk_X509_num(usedCertificates); - for (int i = 0; i < count; ++i) + for (int ii = 0; ii < count; ++ii) { - result.addCertificateInfo(getCertificateInfo(sk_X509_value(usedCertificates, i))); + result.addCertificateInfo(getCertificateInfo(sk_X509_value(usedCertificates, ii))); } } else { STACK_OF(X509)* validChain = X509_STORE_CTX_get0_chain(context); const int count = sk_X509_num(validChain); - for (int i = 0; i < count; ++i) + for (int ii = 0; ii < count; ++ii) { - result.addCertificateInfo(getCertificateInfo(sk_X509_value(validChain, i))); + result.addCertificateInfo(getCertificateInfo(sk_X509_value(validChain, ii))); } } X509_STORE_CTX_cleanup(context); @@ -1702,8 +1702,8 @@ void PDFCertificateInfo::serialize(QDataStream& stream) const void PDFCertificateInfo::deserialize(QDataStream& stream) { - int persist_version = 0; - stream >> persist_version; + int persistVersionDeserialized = 0; + stream >> persistVersionDeserialized; stream >> m_version; stream >> m_keySize; stream >> m_publicKey; @@ -1808,8 +1808,8 @@ void PDFCertificateStore::CertificateEntry::serialize(QDataStream& stream) const void PDFCertificateStore::CertificateEntry::deserialize(QDataStream& stream) { - int persist_version = 0; - stream >> persist_version; + int persistVersionDeserialized = 0; + stream >> persistVersionDeserialized; stream >> type; stream >> info; } @@ -1932,8 +1932,8 @@ void PDFCertificateStore::serialize(QDataStream& stream) const void PDFCertificateStore::deserialize(QDataStream& stream) { - int persist_version = 0; - stream >> persist_version; + int persistVersionDeserialized = 0; + stream >> persistVersionDeserialized; stream >> m_certificates; } diff --git a/Pdf4QtLib/sources/pdfstreamfilters.cpp b/Pdf4QtLib/sources/pdfstreamfilters.cpp index c25cc63..15b5fef 100644 --- a/Pdf4QtLib/sources/pdfstreamfilters.cpp +++ b/Pdf4QtLib/sources/pdfstreamfilters.cpp @@ -112,14 +112,14 @@ QByteArray PDFAscii85DecodeFilter::apply(const QByteArray& data, scannedChars.fill(84); scannedChars[0] = scannedChar - 33; int validBytes = 0; - for (auto it = std::next(scannedChars.begin()); it != scannedChars.end(); ++it) + for (auto it2 = std::next(scannedChars.begin()); it2 != scannedChars.end(); ++it2) { uint32_t character = getChar(); if (character == STREAM_END) { break; } - *it = character - 33; + *it2 = character - 33; ++validBytes; } @@ -762,7 +762,6 @@ PDFStreamPredictor PDFStreamPredictor::createPredictor(const PDFObjectFetcher& o } throw PDFException(PDFTranslationContext::tr("Invalid property '%1' of the stream predictor parameters.").arg(QString::fromLatin1(key))); - return 0; }; int predictor = getInteger("Predictor", 1, 15, 1); @@ -797,7 +796,6 @@ QByteArray PDFStreamPredictor::apply(const QByteArray& data) const } throw PDFException(PDFTranslationContext::tr("Invalid predictor algorithm.")); - return QByteArray(); } QByteArray PDFStreamPredictor::applyPNGPredictor(const QByteArray& data) const diff --git a/Pdf4QtLib/sources/pdfstructuretree.cpp b/Pdf4QtLib/sources/pdfstructuretree.cpp index 9e46487..4ecf678 100644 --- a/Pdf4QtLib/sources/pdfstructuretree.cpp +++ b/Pdf4QtLib/sources/pdfstructuretree.cpp @@ -577,11 +577,11 @@ PDFStructureTree PDFStructureTree::parse(const PDFObjectStorage* storage, PDFObj if (dereferencedObject.isArray()) { std::vector references; - for (const PDFObject& object : *dereferencedObject.getArray()) + for (const PDFObject& objectInArray : *dereferencedObject.getArray()) { - if (object.isReference()) + if (objectInArray.isReference()) { - references.emplace_back(object.getReference()); + references.emplace_back(objectInArray.getReference()); } } diff --git a/Pdf4QtLib/sources/pdftexteditpseudowidget.cpp b/Pdf4QtLib/sources/pdftexteditpseudowidget.cpp index 668dfb8..650ece8 100644 --- a/Pdf4QtLib/sources/pdftexteditpseudowidget.cpp +++ b/Pdf4QtLib/sources/pdftexteditpseudowidget.cpp @@ -655,14 +655,14 @@ void PDFTextEditPseudowidget::draw(AnnotationDrawParameters& parameters, bool ed if (edit) { - pdf::PDFPainterStateGuard guard(painter); + pdf::PDFPainterStateGuard guard2(painter); painter->setPen(getAdjustedColor(Qt::black)); painter->setBrush(Qt::NoBrush); painter->drawRect(parameters.boundingRectangle); } painter->setClipRect(parameters.boundingRectangle, Qt::IntersectClip); - painter->setWorldMatrix(createTextBoxTransformMatrix(edit), true); + painter->setWorldTransform(QTransform(createTextBoxTransformMatrix(edit)), true); painter->setPen(getAdjustedColor(Qt::black)); if (isComb()) diff --git a/Pdf4QtLib/sources/pdftextlayout.cpp b/Pdf4QtLib/sources/pdftextlayout.cpp index 7aa1fa3..7e277d5 100644 --- a/Pdf4QtLib/sources/pdftextlayout.cpp +++ b/Pdf4QtLib/sources/pdftextlayout.cpp @@ -371,17 +371,17 @@ PDFTextSelection PDFTextLayout::createTextSelection(PDFInteger pageIndex, const std::swap(pointA, pointB); } - QRectF rect = boundingBoxPath.controlPointRect(); + QRectF boundingBoxPathBBRect = boundingBoxPath.controlPointRect(); // If start point is above the text block, move start point to the left. - if (rect.bottom() < pointA.y()) + if (boundingBoxPathBBRect.bottom() < pointA.y()) { - pointA.setX(rect.left()); + pointA.setX(boundingBoxPathBBRect.left()); isTopPointAboveText = true; } - if (rect.top() > pointB.y()) + if (boundingBoxPathBBRect.top() > pointB.y()) { - pointB.setX(rect.right()); + pointB.setX(boundingBoxPathBBRect.right()); isBottomPointBelowText = true; } } diff --git a/Pdf4QtLib/sources/pdftransparencyrenderer.cpp b/Pdf4QtLib/sources/pdftransparencyrenderer.cpp index 3aeebb2..4006a06 100644 --- a/Pdf4QtLib/sources/pdftransparencyrenderer.cpp +++ b/Pdf4QtLib/sources/pdftransparencyrenderer.cpp @@ -2036,35 +2036,35 @@ void PDFTransparencyRenderer::processSoftMask(const PDFDictionary* softMask) softMaskRenderer.setGraphicsState(graphicState); softMaskRenderer.processForm(softMaskDefinition.getFormStream()); const PDFFloatBitmap& renderedSoftMask = softMaskRenderer.endPaint(); - PDFFloatBitmap softMask; + PDFFloatBitmap createdSoftMask; switch (softMaskDefinition.getType()) { case pdf::PDFPageContentProcessor::PDFSoftMaskDefinition::Type::Alpha: - softMask = renderedSoftMask.extractOpacityChannel(); + createdSoftMask = renderedSoftMask.extractOpacityChannel(); break; case pdf::PDFPageContentProcessor::PDFSoftMaskDefinition::Type::Luminosity: - softMask = renderedSoftMask.extractLuminosityChannel(); + createdSoftMask = renderedSoftMask.extractLuminosityChannel(); break; default: case pdf::PDFPageContentProcessor::PDFSoftMaskDefinition::Type::Invalid: reportRenderError(RenderErrorType::Error, PDFTranslationContext::tr("Invalid soft mask type.")); - softMask = renderedSoftMask.extractOpacityChannel(); + createdSoftMask = renderedSoftMask.extractOpacityChannel(); break; } if (const PDFFunction* function = softMaskDefinition.getTransferFunction()) { - const size_t width = softMask.getWidth(); - const size_t height = softMask.getHeight(); + const size_t width = createdSoftMask.getWidth(); + const size_t height = createdSoftMask.getHeight(); for (size_t y = 0; y < height; ++y) { for (size_t x = 0; x < width; ++x) { - PDFColorBuffer pixel = softMask.getPixel(x, y); + PDFColorBuffer pixel = createdSoftMask.getPixel(x, y); PDFReal sourceValue = pixel[0]; PDFReal targetValue = sourceValue; @@ -2080,7 +2080,7 @@ void PDFTransparencyRenderer::processSoftMask(const PDFDictionary* softMask) } } - getPainterState()->softMask = PDFTransparencySoftMask(false, qMove(softMask)); + getPainterState()->softMask = PDFTransparencySoftMask(false, qMove(createdSoftMask)); } } @@ -3274,19 +3274,19 @@ void PDFInkMapper::createSpotColors(bool activate) if (!deviceNColorSpace->isNone()) { const PDFDeviceNColorSpace::Colorants& colorants = deviceNColorSpace->getColorants(); - for (size_t i = 0; i < colorants.size(); ++i) + for (size_t ii = 0; ii < colorants.size(); ++ii) { - const PDFDeviceNColorSpace::ColorantInfo& colorantInfo = colorants[i]; + const PDFDeviceNColorSpace::ColorantInfo& colorantInfo = colorants[ii]; if (!containsSpotColor(colorantInfo.name) && !containsProcessColor(colorantInfo.name)) { PDFColor color; color.resize(deviceNColorSpace->getColorComponentCount()); - color[i] = 1.0f; + color[ii] = 1.0f; ColorInfo info; info.name = colorantInfo.name; info.textName = PDFEncoding::convertTextString(info.name); - info.colorSpaceIndex = uint32_t(i); + info.colorSpaceIndex = uint32_t(ii); info.colorSpace = colorSpacePointer; info.spotColorIndex = uint32_t(m_spotColors.size()); info.color = cms ? deviceNColorSpace->getColor(color, cms.get(), pdf::RenderingIntent::Perceptual, &renderErrorReporter, true) : nullptr; diff --git a/Pdf4QtLib/sources/pdfwidgettool.cpp b/Pdf4QtLib/sources/pdfwidgettool.cpp index 3961e2f..5d15743 100644 --- a/Pdf4QtLib/sources/pdfwidgettool.cpp +++ b/Pdf4QtLib/sources/pdfwidgettool.cpp @@ -447,7 +447,7 @@ void PDFFindTextTool::performSearch() else { // Use regular expression search - QRegularExpression::PatternOptions patternOptions = QRegularExpression::UseUnicodePropertiesOption | QRegularExpression::OptimizeOnFirstUsageOption; + QRegularExpression::PatternOptions patternOptions = QRegularExpression::UseUnicodePropertiesOption; if (!m_parameters.isCaseSensitive) { patternOptions |= QRegularExpression::CaseInsensitiveOption; @@ -1577,13 +1577,13 @@ void PDFSelectTableTool::keyPressEvent(QWidget* widget, QKeyEvent* event) // Detect, if whole block can be in some text cell const PDFTextBlock& textBlock = textBlocks[i]; QRectF textRect = textBlock.getBoundingBox().boundingRect(); - auto it = std::find_if(tableCells.begin(), tableCells.end(), [textRect](const auto& cell) { return cell.rectangle.contains(textRect); }); - if (it != tableCells.end()) + auto itBlockCell = std::find_if(tableCells.begin(), tableCells.end(), [textRect](const auto& cell) { return cell.rectangle.contains(textRect); }); + if (itBlockCell != tableCells.end()) { // Jakub Melka: whole block is contained in the cell PDFTextSelection blockSelection = m_textLayout.selectBlock(i, m_pageIndex, QColor()); QString text = m_textLayout.getTextFromSelection(blockSelection, m_pageIndex); - TableCell& cell = *it; + TableCell& cell = *itBlockCell; cell.text = QString("%1 %2").arg(cell.text, text).trimmed(); continue; } @@ -1594,13 +1594,13 @@ void PDFSelectTableTool::keyPressEvent(QWidget* widget, QKeyEvent* event) const PDFTextLine& textLine = textLines[j]; QRectF boundingRect = textLine.getBoundingBox().boundingRect(); - auto it = std::find_if(tableCells.begin(), tableCells.end(), [boundingRect](const auto& cell) { return cell.rectangle.contains(boundingRect); }); - if (it != tableCells.end()) + auto itLineCell = std::find_if(tableCells.begin(), tableCells.end(), [boundingRect](const auto& cell) { return cell.rectangle.contains(boundingRect); }); + if (itLineCell != tableCells.end()) { // Jakub Melka: whole block is contained in the cell PDFTextSelection blockSelection = m_textLayout.selectLineInBlock(i, j, m_pageIndex, QColor()); QString text = m_textLayout.getTextFromSelection(blockSelection, m_pageIndex); - TableCell& cell = *it; + TableCell& cell = *itLineCell; cell.text = QString("%1 %2").arg(cell.text, text).trimmed(); continue; } diff --git a/Pdf4QtLib/sources/pdfxfaengine.cpp b/Pdf4QtLib/sources/pdfxfaengine.cpp index 444cc30..80e90cd 100644 --- a/Pdf4QtLib/sources/pdfxfaengine.cpp +++ b/Pdf4QtLib/sources/pdfxfaengine.cpp @@ -9945,9 +9945,9 @@ private: { void translate(PDFReal dx, PDFReal dy) { nominalExtent.translate(dx, dy); } - void updatePresence(xfa::XFA_BaseNode::PRESENCE presence) + void updatePresence(xfa::XFA_BaseNode::PRESENCE nodePresence) { - switch (presence) + switch (nodePresence) { case xfa::XFA_BaseNode::PRESENCE::Visible: break; @@ -11670,10 +11670,10 @@ void PDFXFAEngineImpl::setDocument(const PDFModifiedDocument& document, PDFForm* xfaData["template"] = m_document->getDecodedStream(xfaObject.getStream()); } - QDomDocument document; - if (document.setContent(xfaData["template"])) + QDomDocument templateDocument; + if (templateDocument.setContent(xfaData["template"])) { - m_template = xfa::XFA_template::parse(document.firstChildElement("template")); + m_template = xfa::XFA_template::parse(templateDocument.firstChildElement("template")); } } catch (const PDFException&) @@ -11715,7 +11715,7 @@ void PDFXFAEngineImpl::draw(const QMatrix& pagePointToDevicePointMatrix, PDFPainterStateGuard guard(painter); painter->setRenderHint(QPainter::Antialiasing); - painter->setWorldMatrix(pagePointToDevicePointMatrix, true); + painter->setWorldTransform(QTransform(pagePointToDevicePointMatrix), true); painter->translate(0, page->getMediaBox().height()); painter->scale(1.0, -1.0); painter->fillRect(page->getMediaBox(), Qt::white); @@ -11723,7 +11723,7 @@ void PDFXFAEngineImpl::draw(const QMatrix& pagePointToDevicePointMatrix, const LayoutItems& items = it->second; for (const LayoutItem& item : items) { - PDFPainterStateGuard guard(painter); + PDFPainterStateGuard guard2(painter); drawItemDraw(item.draw, errors, item.nominalExtent, item.paragraphSettingsIndex, item.captionParagraphSettingsIndex, painter); drawItemField(item.field, errors, item.nominalExtent, item.paragraphSettingsIndex, item.captionParagraphSettingsIndex, painter); drawItemSubform(item.subform, errors, item.nominalExtent, painter); @@ -12296,10 +12296,10 @@ void PDFXFAEngineImpl::drawUiTextEdit(const xfa::XFA_textEdit* textEdit, font.setHintingPreference(QFont::PreferNoHinting); charFormat.setFont(font, QTextCharFormat::FontPropertiesAll); - QTextCursor cursor(block); - cursor.setPosition(block.position() + formatRange.start, QTextCursor::MoveAnchor); - cursor.setPosition(block.position() + formatRange.start + formatRange.length, QTextCursor::KeepAnchor); - cursor.mergeCharFormat(charFormat); + QTextCursor blockCursor(block); + blockCursor.setPosition(block.position() + formatRange.start, QTextCursor::MoveAnchor); + blockCursor.setPosition(block.position() + formatRange.start + formatRange.length, QTextCursor::KeepAnchor); + blockCursor.mergeCharFormat(charFormat); } block = block.next(); @@ -12336,8 +12336,8 @@ void PDFXFAEngineImpl::drawUiTextEdit(const xfa::XFA_textEdit* textEdit, break; } - QString text = QString(text[i]); - painter->drawText(combRect, Qt::AlignCenter, text); + QString textLine = QString(text[i]); + painter->drawText(combRect, Qt::AlignCenter, textLine); combRect.translate(combWidth, 0.0); } diff --git a/Pdf4QtLib/sources/pdfxreftable.cpp b/Pdf4QtLib/sources/pdfxreftable.cpp index 00445c1..09bfe3e 100644 --- a/Pdf4QtLib/sources/pdfxreftable.cpp +++ b/Pdf4QtLib/sources/pdfxreftable.cpp @@ -284,11 +284,11 @@ void PDFXRefTable::readXRefTable(PDFParsingContext* context, const QByteArray& b PDFInteger count = indexArray[2 * i + 1]; const PDFInteger lastObjectIndex = firstObjectNumber + count - 1; - const PDFInteger desiredSize = lastObjectIndex + 1; + const PDFInteger currentDesiredSize = lastObjectIndex + 1; - if (static_cast(m_entries.size()) < desiredSize) + if (static_cast(m_entries.size()) < currentDesiredSize) { - m_entries.resize(desiredSize); + m_entries.resize(currentDesiredSize); } for (PDFInteger objectNumber = firstObjectNumber; objectNumber <= lastObjectIndex; ++ objectNumber) diff --git a/Pdf4QtViewer/pdfadvancedfindwidget.cpp b/Pdf4QtViewer/pdfadvancedfindwidget.cpp index f2c082a..cb184fc 100644 --- a/Pdf4QtViewer/pdfadvancedfindwidget.cpp +++ b/Pdf4QtViewer/pdfadvancedfindwidget.cpp @@ -258,7 +258,7 @@ void PDFAdvancedFindWidget::performSearch() else { // Use regular expression search - QRegularExpression::PatternOptions patternOptions = QRegularExpression::UseUnicodePropertiesOption | QRegularExpression::OptimizeOnFirstUsageOption; + QRegularExpression::PatternOptions patternOptions = QRegularExpression::UseUnicodePropertiesOption; if (!m_parameters.isCaseSensitive) { patternOptions |= QRegularExpression::CaseInsensitiveOption; diff --git a/Pdf4QtViewer/pdfdocumentpropertiesdialog.cpp b/Pdf4QtViewer/pdfdocumentpropertiesdialog.cpp index 6143ee5..750b93f 100644 --- a/Pdf4QtViewer/pdfdocumentpropertiesdialog.cpp +++ b/Pdf4QtViewer/pdfdocumentpropertiesdialog.cpp @@ -538,7 +538,7 @@ void PDFDocumentPropertiesDialog::onFontsFinished() { if (!m_fontTreeWidgetItems.empty()) { - std::sort(m_fontTreeWidgetItems.begin(), m_fontTreeWidgetItems.end(), [](QTreeWidgetItem* left, QTreeWidgetItem* right) { return left->data(0, Qt::DisplayRole) < right->data(0, Qt::DisplayRole); }); + std::sort(m_fontTreeWidgetItems.begin(), m_fontTreeWidgetItems.end(), [](QTreeWidgetItem* left, QTreeWidgetItem* right) { return left->data(0, Qt::DisplayRole).toString() < right->data(0, Qt::DisplayRole).toString(); }); for (QTreeWidgetItem* item : m_fontTreeWidgetItems) { ui->fontsTreeWidget->addTopLevelItem(item); diff --git a/Pdf4QtViewer/pdfencryptionstrengthhintwidget.cpp b/Pdf4QtViewer/pdfencryptionstrengthhintwidget.cpp index 1bd3fa5..97176da 100644 --- a/Pdf4QtViewer/pdfencryptionstrengthhintwidget.cpp +++ b/Pdf4QtViewer/pdfencryptionstrengthhintwidget.cpp @@ -138,7 +138,7 @@ QSize PDFEncryptionStrengthHintWidget::getTextSizeHint() const for (const auto& levelItem : m_levels) { - width = qMax(width, fontMetrics.width(levelItem.text)); + width = qMax(width, fontMetrics.horizontalAdvance(levelItem.text)); } return QSize(width, height); diff --git a/Pdf4QtViewer/pdfprogramcontroller.cpp b/Pdf4QtViewer/pdfprogramcontroller.cpp index 81eee95..664afcd 100644 --- a/Pdf4QtViewer/pdfprogramcontroller.cpp +++ b/Pdf4QtViewer/pdfprogramcontroller.cpp @@ -672,7 +672,7 @@ void PDFProgramController::performPrint() Q_ASSERT(page); QRectF mediaBox = page->getRotatedMediaBox(); - QRectF paperRect = printer.paperRect(); + QRectF paperRect = printer.pageLayout().fullRectPixels(printer.resolution()); QSizeF scaledSize = mediaBox.size().scaled(paperRect.size(), Qt::KeepAspectRatio); mediaBox.setSize(scaledSize); mediaBox.moveCenter(paperRect.center()); @@ -1518,7 +1518,7 @@ void PDFProgramController::updateFileInfo(const QString& fileName) m_fileInfo.path = fileInfo.path(); m_fileInfo.fileSize = fileInfo.size(); m_fileInfo.writable = fileInfo.isWritable(); - m_fileInfo.creationTime = fileInfo.created(); + m_fileInfo.creationTime = fileInfo.birthTime(); m_fileInfo.lastModifiedTime = fileInfo.lastModified(); m_fileInfo.lastReadTime = fileInfo.lastRead(); } @@ -2050,13 +2050,13 @@ void PDFProgramController::onActionDeveloperCreateInstaller() if (configFile.open(QFile::WriteOnly | QFile::Truncate)) { QTextStream stream(&configFile); - stream << "TEMPLATE = aux" << endl << endl; - stream << "INSTALLER_NAME = $$PWD/instpdf4qt" << endl; - stream << "INPUT = $$PWD/config/config.xml $$PWD/packages" << endl; - stream << "pdfforqtinstaller.input = INPUT" << endl; - stream << "pdfforqtinstaller.output = $$INSTALLER_NAME" << endl; - stream << QString("pdfforqtinstaller.commands = %1/binarycreator -c $$PWD/config/config.xml -p $$PWD/packages ${QMAKE_FILE_OUT}").arg(binaryCreatorDirectory) << endl; - stream << "pdfforqtinstaller.CONFIG += target_predeps no_link combine" << endl << endl; + stream << "TEMPLATE = aux" << Qt::endl << Qt::endl; + stream << "INSTALLER_NAME = $$PWD/instpdf4qt" << Qt::endl; + stream << "INPUT = $$PWD/config/config.xml $$PWD/packages" << Qt::endl; + stream << "pdfforqtinstaller.input = INPUT" << Qt::endl; + stream << "pdfforqtinstaller.output = $$INSTALLER_NAME" << Qt::endl; + stream << QString("pdfforqtinstaller.commands = %1/binarycreator -c $$PWD/config/config.xml -p $$PWD/packages ${QMAKE_FILE_OUT}").arg(binaryCreatorDirectory) << Qt::endl; + stream << "pdfforqtinstaller.CONFIG += target_predeps no_link combine" << Qt::endl << Qt::endl; stream << "QMAKE_EXTRA_COMPILERS += pdfforqtinstaller"; configFile.close(); } diff --git a/Pdf4QtViewer/pdfsidebarwidget.cpp b/Pdf4QtViewer/pdfsidebarwidget.cpp index b08601e..41d8675 100644 --- a/Pdf4QtViewer/pdfsidebarwidget.cpp +++ b/Pdf4QtViewer/pdfsidebarwidget.cpp @@ -441,14 +441,14 @@ void PDFSidebarWidget::updateSignatures(const std::vectorsetIcon(0, infoIcon); } QDateTime timestampDate = signature.getTimestampDate(); if (timestampDate.isValid()) { - QTreeWidgetItem* item = new QTreeWidgetItem(rootItem, QStringList(QString("Timestamp: %2").arg(timestampDate.toString(Qt::DefaultLocaleShortDate)))); + QTreeWidgetItem* item = new QTreeWidgetItem(rootItem, QStringList(QString("Timestamp: %2").arg(QLocale::system().toString(timestampDate, QLocale::ShortFormat)))); item->setIcon(0, infoIcon); } @@ -529,13 +529,13 @@ void PDFSidebarWidget::updateSignatures(const std::vectorsetIcon(0, infoIcon); } if (notValidAfter.isValid()) { - QTreeWidgetItem* item = new QTreeWidgetItem(certRoot, QStringList(QString("Valid to: %2").arg(notValidAfter.toString(Qt::DefaultLocaleShortDate)))); + QTreeWidgetItem* item = new QTreeWidgetItem(certRoot, QStringList(QString("Valid to: %2").arg(QLocale::system().toString(notValidAfter, QLocale::ShortFormat)))); item->setIcon(0, infoIcon); } @@ -693,10 +693,10 @@ void PDFSidebarWidget::onSignatureCustomContextMenuRequested(const QPoint& pos) { if (QTreeWidgetItem* item = ui->signatureTreeWidget->itemAt(pos)) { - QVariant data = item->data(0, Qt::UserRole); - if (data.isValid()) + QVariant itemData = item->data(0, Qt::UserRole); + if (itemData.isValid()) { - const pdf::PDFCertificateInfo& info = m_certificateInfos.at(data.toInt()); + const pdf::PDFCertificateInfo& info = m_certificateInfos.at(itemData.toInt()); if (!m_certificateStore->contains(info)) { QMenu menu; diff --git a/Pdf4QtViewer/pdfviewersettingsdialog.cpp b/Pdf4QtViewer/pdfviewersettingsdialog.cpp index dd7d7d0..b6f1fd2 100644 --- a/Pdf4QtViewer/pdfviewersettingsdialog.cpp +++ b/Pdf4QtViewer/pdfviewersettingsdialog.cpp @@ -676,12 +676,12 @@ void PDFViewerSettingsDialog::updateTrustedCertificatesTable() if (notValidBefore.isValid()) { - ui->trustedCertificateStoreTableWidget->setItem(i, 3, new QTableWidgetItem(notValidBefore.toString(Qt::DefaultLocaleShortDate))); + ui->trustedCertificateStoreTableWidget->setItem(i, 3, new QTableWidgetItem(QLocale::system().toString(notValidBefore, QLocale::ShortFormat))); } if (notValidAfter.isValid()) { - ui->trustedCertificateStoreTableWidget->setItem(i, 4, new QTableWidgetItem(notValidAfter.toString(Qt::DefaultLocaleShortDate))); + ui->trustedCertificateStoreTableWidget->setItem(i, 4, new QTableWidgetItem(QLocale::system().toString(notValidAfter, QLocale::ShortFormat))); } } diff --git a/Pdf4QtViewerPlugins/DimensionsPlugin/dimensionsplugin.cpp b/Pdf4QtViewerPlugins/DimensionsPlugin/dimensionsplugin.cpp index a2a4e13..a9572d6 100644 --- a/Pdf4QtViewerPlugins/DimensionsPlugin/dimensionsplugin.cpp +++ b/Pdf4QtViewerPlugins/DimensionsPlugin/dimensionsplugin.cpp @@ -236,7 +236,7 @@ void DimensionsPlugin::drawPage(QPainter* painter, painter->setPen(qMove(pen)); painter->setBrush(QBrush(brushColor, isArea ? Qt::SolidPattern : Qt::DiagCrossPattern)); - painter->setMatrix(pagePointToDevicePointMatrix, true); + painter->setTransform(QTransform(pagePointToDevicePointMatrix), true); painter->drawPolygon(polygon.data(), int(polygon.size()), Qt::OddEvenFill); painter->restore(); diff --git a/Pdf4QtViewerPlugins/ObjectInspectorPlugin/objectviewerwidget.cpp b/Pdf4QtViewerPlugins/ObjectInspectorPlugin/objectviewerwidget.cpp index c3a3767..b54b994 100644 --- a/Pdf4QtViewerPlugins/ObjectInspectorPlugin/objectviewerwidget.cpp +++ b/Pdf4QtViewerPlugins/ObjectInspectorPlugin/objectviewerwidget.cpp @@ -245,9 +245,9 @@ void ObjectViewerWidget::updateUi() } else { - QByteArray data = m_document->getDecodedStream(stream); - data.replace('\r', ' '); - QByteArray percentEncodedData = data.toPercentEncoding(m_printableCharacters); + QByteArray dataToBeAdjusted = m_document->getDecodedStream(stream); + dataToBeAdjusted.replace('\r', ' '); + QByteArray percentEncodedData = dataToBeAdjusted.toPercentEncoding(m_printableCharacters); ui->contentTextBrowser->setText(QString::fromLatin1(percentEncodedData)); ui->stackedWidget->setCurrentWidget(ui->contentTextBrowserPage); } diff --git a/Pdf4QtViewerPlugins/ObjectInspectorPlugin/statisticsgraphwidget.h b/Pdf4QtViewerPlugins/ObjectInspectorPlugin/statisticsgraphwidget.h index 1381c8f..ac3fe43 100644 --- a/Pdf4QtViewerPlugins/ObjectInspectorPlugin/statisticsgraphwidget.h +++ b/Pdf4QtViewerPlugins/ObjectInspectorPlugin/statisticsgraphwidget.h @@ -98,7 +98,7 @@ private: Statistics m_statistics; std::vector m_colorBoxes; - size_t m_selectedColorBox = -1; + size_t m_selectedColorBox = std::numeric_limits::max(); }; } // namespace pdfplugin diff --git a/Pdf4QtViewerPlugins/OutputPreviewPlugin/inkcoveragedialog.cpp b/Pdf4QtViewerPlugins/OutputPreviewPlugin/inkcoveragedialog.cpp index a8e65f9..292bb92 100644 --- a/Pdf4QtViewerPlugins/OutputPreviewPlugin/inkcoveragedialog.cpp +++ b/Pdf4QtViewerPlugins/OutputPreviewPlugin/inkcoveragedialog.cpp @@ -312,12 +312,12 @@ QVariant InkCoverageStatisticsModel::data(const QModelIndex& index, int role) co break; } - case Qt::BackgroundColorRole: + case Qt::BackgroundRole: { if (index.column() >= LastStandardColumn && getChannelColumn(index.column()) == ChannelColumnColorant) { const int channelIndex = getChannelIndex(index.column()); - return m_inkCoverageResults.sumInfo[channelIndex].color; + return QBrush(m_inkCoverageResults.sumInfo[channelIndex].color); } break; diff --git a/Pdf4QtViewerPlugins/OutputPreviewPlugin/outputpreviewwidget.cpp b/Pdf4QtViewerPlugins/OutputPreviewPlugin/outputpreviewwidget.cpp index 2d82488..193d1d0 100644 --- a/Pdf4QtViewerPlugins/OutputPreviewPlugin/outputpreviewwidget.cpp +++ b/Pdf4QtViewerPlugins/OutputPreviewPlugin/outputpreviewwidget.cpp @@ -358,9 +358,9 @@ void OutputPreviewWidget::paintEvent(QPaintEvent* event) const int textWidth = painter.fontMetrics().horizontalAdvance(textCoverage); const int textStart = textRight - textWidth; - QRect textRect(textStart, yCoordinate - halfHeight, textWidth + 1, rowHeight); + QRect currentTextRect(textStart, yCoordinate - halfHeight, textWidth + 1, rowHeight); painter.setPen(Qt::black); - painter.drawText(textRect, Qt::AlignVCenter | Qt::AlignLeft | Qt::TextSingleLine, textCoverage); + painter.drawText(currentTextRect, Qt::AlignVCenter | Qt::AlignLeft | Qt::TextSingleLine, textCoverage); } } diff --git a/PdfExampleGenerator/pdfexamplesgenerator.cpp b/PdfExampleGenerator/pdfexamplesgenerator.cpp index 0e7f9d0..5642e9d 100644 --- a/PdfExampleGenerator/pdfexamplesgenerator.cpp +++ b/PdfExampleGenerator/pdfexamplesgenerator.cpp @@ -154,45 +154,45 @@ void PDFExamplesGenerator::generateAnnotationsExample() builder.createAnnotationSquare(page5, QRectF(50, 250, 50, 50), 3.0, Qt::green, QColor(), "Title3", "Subject3", "Contents - green filling"); { - pdf::PDFObjectReference page5 = builder.appendPage(QRectF(0, 0, 400, 400)); + pdf::PDFObjectReference page5a = builder.appendPage(QRectF(0, 0, 400, 400)); { - pdf::PDFObjectReference annotation = builder.createAnnotationSquare(page5, QRectF(50, 50, 50, 50), 3.0, Qt::green, Qt::red, "Title1", "Subject1", "Contents - green filling, red boundary"); + pdf::PDFObjectReference annotation = builder.createAnnotationSquare(page5a, QRectF(50, 50, 50, 50), 3.0, Qt::green, Qt::red, "Title1", "Subject1", "Contents - green filling, red boundary"); builder.setAnnotationBorderStyle(annotation, pdf::PDFAnnotationBorder::Style::Solid, 2.718); builder.setAnnotationColor(annotation, Qt::black); builder.updateAnnotationAppearanceStreams(annotation); } { - pdf::PDFObjectReference annotation = builder.createAnnotationSquare(page5, QRectF(50, 150, 50, 50), 3.0, Qt::green, Qt::red, "Title1", "Subject1", "Contents - green filling, red boundary"); + pdf::PDFObjectReference annotation = builder.createAnnotationSquare(page5a, QRectF(50, 150, 50, 50), 3.0, Qt::green, Qt::red, "Title1", "Subject1", "Contents - green filling, red boundary"); builder.setAnnotationBorderStyle(annotation, pdf::PDFAnnotationBorder::Style::Underline, 2.718); builder.setAnnotationColor(annotation, Qt::black); builder.updateAnnotationAppearanceStreams(annotation); } { - pdf::PDFObjectReference annotation = builder.createAnnotationSquare(page5, QRectF(50, 250, 50, 50), 3.0, Qt::green, Qt::red, "Title1", "Subject1", "Contents - green filling, red boundary"); + pdf::PDFObjectReference annotation = builder.createAnnotationSquare(page5a, QRectF(50, 250, 50, 50), 3.0, Qt::green, Qt::red, "Title1", "Subject1", "Contents - green filling, red boundary"); builder.setAnnotationBorderStyle(annotation, pdf::PDFAnnotationBorder::Style::Inset, 2.718); builder.setAnnotationColor(annotation, Qt::black); builder.updateAnnotationAppearanceStreams(annotation); } { - pdf::PDFObjectReference annotation = builder.createAnnotationSquare(page5, QRectF(150, 50, 50, 50), 3.0, Qt::green, Qt::red, "Title1", "Subject1", "Contents - green filling, red boundary"); + pdf::PDFObjectReference annotation = builder.createAnnotationSquare(page5a, QRectF(150, 50, 50, 50), 3.0, Qt::green, Qt::red, "Title1", "Subject1", "Contents - green filling, red boundary"); builder.setAnnotationBorderStyle(annotation, pdf::PDFAnnotationBorder::Style::Beveled, 2.718); builder.setAnnotationColor(annotation, Qt::black); builder.updateAnnotationAppearanceStreams(annotation); } { - pdf::PDFObjectReference annotation = builder.createAnnotationSquare(page5, QRectF(150, 150, 50, 50), 3.0, Qt::green, Qt::red, "Title1", "Subject1", "Contents - green filling, red boundary"); + pdf::PDFObjectReference annotation = builder.createAnnotationSquare(page5a, QRectF(150, 150, 50, 50), 3.0, Qt::green, Qt::red, "Title1", "Subject1", "Contents - green filling, red boundary"); builder.setAnnotationBorderStyle(annotation, pdf::PDFAnnotationBorder::Style::Dashed, 2.718); builder.setAnnotationColor(annotation, Qt::black); builder.updateAnnotationAppearanceStreams(annotation); } { - pdf::PDFObjectReference annotation = builder.createAnnotationSquare(page5, QRectF(150, 250, 50, 50), 3.0, Qt::green, Qt::red, "Title1", "Subject1", "Contents - green filling, red boundary"); + pdf::PDFObjectReference annotation = builder.createAnnotationSquare(page5a, QRectF(150, 250, 50, 50), 3.0, Qt::green, Qt::red, "Title1", "Subject1", "Contents - green filling, red boundary"); builder.setAnnotationBorder(annotation, 5.0, 3.0, 2.0); builder.setAnnotationColor(annotation, Qt::black); builder.updateAnnotationAppearanceStreams(annotation); @@ -244,33 +244,33 @@ void PDFExamplesGenerator::generateAnnotationsExample() pdf::PDFObjectReference page13 = builder.appendPage(QRectF(0, 0, 400, 400)); { - QPolygonF polygon; - polygon << QPointF(50, 50); - polygon << QPointF(50, 100); - polygon << QPointF(100, 50); - builder.createAnnotationInk(page13, polygon, 2.0, Qt::red, "Title", "Subject", "Contents"); + QPolygonF polygonInk; + polygonInk << QPointF(50, 50); + polygonInk << QPointF(50, 100); + polygonInk << QPointF(100, 50); + builder.createAnnotationInk(page13, polygonInk, 2.0, Qt::red, "Title", "Subject", "Contents"); } { - QPolygonF polygon; - polygon << QPointF(50, 50); - polygon << QPointF(50, 100); - polygon << QPointF(100, 50); - polygon.translate(150, 0); - builder.createAnnotationInk(page13, polygon, 2.0, Qt::red, "Title", "Subject", "Contents"); + QPolygonF polygonInk; + polygonInk << QPointF(50, 50); + polygonInk << QPointF(50, 100); + polygonInk << QPointF(100, 50); + polygonInk.translate(150, 0); + builder.createAnnotationInk(page13, polygonInk, 2.0, Qt::red, "Title", "Subject", "Contents"); } { - pdf::Polygons polygons; - QPolygonF polygon; - polygon << QPointF(50, 50); - polygon << QPointF(50, 100); - polygon << QPointF(100, 50); - polygon << QPointF(50, 50); - polygon.translate(0, 150); - polygons.push_back(polygon); - polygon.translate(150, 0); - polygons.push_back(polygon); - builder.createAnnotationInk(page13, polygons, 2.0, Qt::red, "Title", "Subject", "Contents"); + pdf::Polygons polygonInk; + QPolygonF polygonPart; + polygonPart << QPointF(50, 50); + polygonPart << QPointF(50, 100); + polygonPart << QPointF(100, 50); + polygonPart << QPointF(50, 50); + polygonPart.translate(0, 150); + polygonInk.push_back(polygonPart); + polygonPart.translate(150, 0); + polygonInk.push_back(polygonPart); + builder.createAnnotationInk(page13, polygonInk, 2.0, Qt::red, "Title", "Subject", "Contents"); } pdf::PDFObjectReference page14 = builder.appendPage(QRectF(0, 0, 400, 400)); diff --git a/PdfTool/pdftoolabstractapplication.cpp b/PdfTool/pdftoolabstractapplication.cpp index 1ff0e7c..ed5d35f 100644 --- a/PdfTool/pdftoolabstractapplication.cpp +++ b/PdfTool/pdftoolabstractapplication.cpp @@ -381,19 +381,19 @@ PDFToolOptions PDFToolAbstractApplication::getOptions(QCommandLineParser* parser QString dateFormat = parser->value("date-format"); if (dateFormat == "short") { - options.outputDateFormat = Qt::DefaultLocaleShortDate; + options.outputDateFormat = PDFToolOptions::LocaleShortDate; } else if (dateFormat == "long") { - options.outputDateFormat = Qt::DefaultLocaleLongDate; + options.outputDateFormat = PDFToolOptions::LocaleLongDate; } else if (dateFormat == "iso") { - options.outputDateFormat = Qt::ISODate; + options.outputDateFormat = PDFToolOptions::ISODate; } else if (dateFormat == "rfc2822") { - options.outputDateFormat = Qt::RFC2822Date; + options.outputDateFormat = PDFToolOptions::RFC2822Date; } else if (!dateFormat.isEmpty()) { @@ -972,6 +972,26 @@ PDFToolOptions PDFToolAbstractApplication::getOptions(QCommandLineParser* parser return options; } +QString PDFToolAbstractApplication::convertDateTimeToString(const QDateTime& dateTime, PDFToolOptions::DateFormat dateFormat) +{ + switch (dateFormat) + { + case PDFToolOptions::LocaleShortDate: + return QLocale::system().toString(dateTime, QLocale::ShortFormat); + case PDFToolOptions::LocaleLongDate: + return QLocale::system().toString(dateTime, QLocale::LongFormat); + case PDFToolOptions::ISODate: + return dateTime.toString(Qt::ISODate); + case PDFToolOptions::RFC2822Date: + return dateTime.toString(Qt::RFC2822Date); + default: + break; + } + + Q_ASSERT(false); + return QLocale::system().toString(dateTime, QLocale::ShortFormat); +} + bool PDFToolAbstractApplication::readDocument(const PDFToolOptions& options, pdf::PDFDocument& document, QByteArray* sourceData, bool authorizeOwnerOnly) { bool isFirstPasswordAttempt = true; diff --git a/PdfTool/pdftoolabstractapplication.h b/PdfTool/pdftoolabstractapplication.h index 782883f..1820dab 100644 --- a/PdfTool/pdftoolabstractapplication.h +++ b/PdfTool/pdftoolabstractapplication.h @@ -44,12 +44,20 @@ struct PDFToolTranslationContext struct PDFToolOptions { + enum DateFormat + { + LocaleShortDate, + LocaleLongDate, + ISODate, + RFC2822Date + }; + // For option 'ConsoleFormat' PDFOutputFormatter::Style outputStyle = PDFOutputFormatter::Style::Text; QString outputCodec = "UTF-8"; // For option 'DateFormat' - Qt::DateFormat outputDateFormat = Qt::DefaultLocaleShortDate; + DateFormat outputDateFormat = LocaleShortDate; // For option 'OpenDocument' QString document; @@ -252,6 +260,8 @@ public: void initializeCommandLineParser(QCommandLineParser* parser) const; PDFToolOptions getOptions(QCommandLineParser* parser) const; + static QString convertDateTimeToString(const QDateTime& dateTime, PDFToolOptions::DateFormat dateFormat); + protected: /// Tries to read the document. If document is successfully read, true is returned, /// if error occurs, then false is returned. Optionally, original document content diff --git a/PdfTool/pdftoolaudiobook.cpp b/PdfTool/pdftoolaudiobook.cpp index b92e706..12170c7 100644 --- a/PdfTool/pdftoolaudiobook.cpp +++ b/PdfTool/pdftoolaudiobook.cpp @@ -380,7 +380,7 @@ int PDFToolAudioBook::createAudioBook(const PDFToolOptions& options, pdf::PDFDoc if (showText) { - textStream << item.text << endl; + textStream << item.text << Qt::endl; } } } diff --git a/PdfTool/pdftoolcertstore.cpp b/PdfTool/pdftoolcertstore.cpp index 9f90eb6..e6fb563 100644 --- a/PdfTool/pdftoolcertstore.cpp +++ b/PdfTool/pdftoolcertstore.cpp @@ -111,12 +111,12 @@ int PDFToolCertStore::execute(const PDFToolOptions& options) if (notValidBefore.isValid()) { - notValidBeforeText = notValidBefore.toString(options.outputDateFormat); + notValidBeforeText = convertDateTimeToString(notValidBefore, options.outputDateFormat); } if (notValidAfter.isValid()) { - notValidAfterText = notValidAfter.toString(options.outputDateFormat); + notValidAfterText = convertDateTimeToString(notValidAfter, options.outputDateFormat); } formatter.beginTableRow("certificate", ref); diff --git a/PdfTool/pdftoolinfo.cpp b/PdfTool/pdftoolinfo.cpp index 1d8aa42..7cc4cd1 100644 --- a/PdfTool/pdftoolinfo.cpp +++ b/PdfTool/pdftoolinfo.cpp @@ -87,8 +87,8 @@ int PDFToolInfoApplication::execute(const PDFToolOptions& options) writeProperty("author", PDFToolTranslationContext::tr("Author"), info->author); writeProperty("creator", PDFToolTranslationContext::tr("Creator"), info->creator); writeProperty("producer", PDFToolTranslationContext::tr("Producer"), info->producer); - writeProperty("creation-date", PDFToolTranslationContext::tr("Creation date"), info->creationDate.toLocalTime().toString(options.outputDateFormat)); - writeProperty("modified-date", PDFToolTranslationContext::tr("Modified date"), info->modifiedDate.toLocalTime().toString(options.outputDateFormat)); + writeProperty("creation-date", PDFToolTranslationContext::tr("Creation date"), convertDateTimeToString(info->creationDate.toLocalTime(), options.outputDateFormat)); + writeProperty("modified-date", PDFToolTranslationContext::tr("Modified date"), convertDateTimeToString(info->modifiedDate.toLocalTime(), options.outputDateFormat)); writeProperty("version", PDFToolTranslationContext::tr("Version"), QString::fromLatin1(document.getVersion())); QString trapped; @@ -155,7 +155,7 @@ int PDFToolInfoApplication::execute(const PDFToolOptions& options) { QString key = QString::fromLatin1(item.first); QVariant valueVariant = item.second; - QString value = (valueVariant.type() == QVariant::DateTime) ? valueVariant.toDateTime().toLocalTime().toString(options.outputDateFormat) : valueVariant.toString(); + QString value = (valueVariant.type() == QVariant::DateTime) ? convertDateTimeToString(valueVariant.toDateTime().toLocalTime(), options.outputDateFormat) : valueVariant.toString(); writeProperty("custom-property", key, value); } } diff --git a/PdfTool/pdftoolinfofonts.cpp b/PdfTool/pdftoolinfofonts.cpp index 01eacbb..44f7d63 100644 --- a/PdfTool/pdftoolinfofonts.cpp +++ b/PdfTool/pdftoolinfofonts.cpp @@ -139,9 +139,9 @@ int PDFToolInfoFonts::execute(const PDFToolOptions& options) if (plusPos == 6) { isSubset = true; - for (int i = 0; i < 6; ++i) + for (int iFontName = 0; iFontName < 6; ++iFontName) { - QChar character = fontName[i]; + QChar character = fontName[iFontName]; if (!character.isLetter() || !character.isUpper()) { isSubset = false; diff --git a/PdfTool/pdftoolverifysignatures.cpp b/PdfTool/pdftoolverifysignatures.cpp index 8f49362..824a0f1 100644 --- a/PdfTool/pdftoolverifysignatures.cpp +++ b/PdfTool/pdftoolverifysignatures.cpp @@ -165,8 +165,8 @@ int PDFToolVerifySignaturesApplication::execute(const PDFToolOptions& options) formatter.writeTableColumn("common-name", commonName); formatter.writeTableColumn("cert-status", options.verificationOmitCertificateCheck ? PDFToolTranslationContext::tr("Skipped") : signature.getCertificateStatusText()); formatter.writeTableColumn("signature-status", signature.getSignatureStatusText()); - formatter.writeTableColumn("signing-date", signature.getSignatureDate().isValid() ? signature.getSignatureDate().toLocalTime().toString(options.outputDateFormat) : QString()); - formatter.writeTableColumn("timestamp-date", signature.getTimestampDate().isValid() ? signature.getTimestampDate().toLocalTime().toString(options.outputDateFormat) : QString()); + formatter.writeTableColumn("signing-date", signature.getSignatureDate().isValid() ? convertDateTimeToString(signature.getSignatureDate().toLocalTime(), options.outputDateFormat) : QString()); + formatter.writeTableColumn("timestamp-date", signature.getTimestampDate().isValid() ? convertDateTimeToString(signature.getTimestampDate().toLocalTime(), options.outputDateFormat) : QString()); formatter.writeTableColumn("hash-algorithm", signature.getHashAlgorithms().join(", ").toUpper()); formatter.writeTableColumn("handler", QString::fromLatin1(signature.getSignatureHandler())); formatter.writeTableColumn("whole-signed", signature.hasFlag(pdf::PDFSignatureVerificationResult::Warning_Signature_NotCoveredBytes) ? PDFToolTranslationContext::tr("No") : PDFToolTranslationContext::tr("Yes")); @@ -182,11 +182,11 @@ int PDFToolVerifySignaturesApplication::execute(const PDFToolOptions& options) formatter.endl(); formatter.beginHeader("details", PDFToolTranslationContext::tr("Details")); - int i = 1; + int ii = 1; for (const pdf::PDFSignatureVerificationResult& signature : signatures) { formatter.endl(); - formatter.beginHeader("signature", PDFToolTranslationContext::tr("%1 #%2").arg(getTypeName(signature)).arg(i), i); + formatter.beginHeader("signature", PDFToolTranslationContext::tr("%1 #%2").arg(getTypeName(signature)).arg(ii), ii); const pdf::PDFCertificateInfos& certificateInfos = signature.getCertificateInfos(); const pdf::PDFCertificateInfo* certificateInfo = !certificateInfos.empty() ? &certificateInfos.front() : nullptr; @@ -194,8 +194,8 @@ int PDFToolVerifySignaturesApplication::execute(const PDFToolOptions& options) formatter.writeText("common-name", PDFToolTranslationContext::tr("Signed by: %1").arg(commonName)); formatter.writeText("certificate-status", PDFToolTranslationContext::tr("Certificate status: %1").arg(options.verificationOmitCertificateCheck ? PDFToolTranslationContext::tr("Skipped") : signature.getCertificateStatusText())); formatter.writeText("signature-status", PDFToolTranslationContext::tr("Signature status: %1").arg(signature.getSignatureStatusText())); - formatter.writeText("signing-date", PDFToolTranslationContext::tr("Signing date: %1").arg(signature.getSignatureDate().isValid() ? signature.getSignatureDate().toLocalTime().toString(options.outputDateFormat) : QString())); - formatter.writeText("timestamp-date", PDFToolTranslationContext::tr("Timestamp date: %1").arg(signature.getTimestampDate().isValid() ? signature.getTimestampDate().toLocalTime().toString(options.outputDateFormat) : QString())); + formatter.writeText("signing-date", PDFToolTranslationContext::tr("Signing date: %1").arg(signature.getSignatureDate().isValid() ? convertDateTimeToString(signature.getSignatureDate().toLocalTime(), options.outputDateFormat) : QString())); + formatter.writeText("timestamp-date", PDFToolTranslationContext::tr("Timestamp date: %1").arg(signature.getTimestampDate().isValid() ? convertDateTimeToString(signature.getTimestampDate().toLocalTime(), options.outputDateFormat) : QString())); formatter.writeText("hash-algorithm", PDFToolTranslationContext::tr("Hash algorithm: %1").arg(signature.getHashAlgorithms().join(", ").toUpper())); formatter.writeText("handler", PDFToolTranslationContext::tr("Handler: %1").arg(QString::fromLatin1(signature.getSignatureHandler()))); formatter.writeText("whole-signed", PDFToolTranslationContext::tr("Is whole document signed: %1").arg(signature.hasFlag(pdf::PDFSignatureVerificationResult::Warning_Signature_NotCoveredBytes) ? PDFToolTranslationContext::tr("No") : PDFToolTranslationContext::tr("Yes"))); @@ -307,7 +307,7 @@ int PDFToolVerifySignaturesApplication::execute(const PDFToolOptions& options) { formatter.beginTableRow("valid-from"); formatter.writeTableColumn("description", PDFToolTranslationContext::tr("Valid from")); - formatter.writeTableColumn("value", notValidBefore.toString(options.outputDateFormat)); + formatter.writeTableColumn("value", convertDateTimeToString(notValidBefore, options.outputDateFormat)); formatter.endTableRow(); } @@ -315,7 +315,7 @@ int PDFToolVerifySignaturesApplication::execute(const PDFToolOptions& options) { formatter.beginTableRow("valid-to"); formatter.writeTableColumn("description", PDFToolTranslationContext::tr("Valid to")); - formatter.writeTableColumn("value", notValidAfter.toString(options.outputDateFormat)); + formatter.writeTableColumn("value", convertDateTimeToString(notValidAfter, options.outputDateFormat)); formatter.endTableRow(); } @@ -373,7 +373,7 @@ int PDFToolVerifySignaturesApplication::execute(const PDFToolOptions& options) } formatter.endHeader(); - ++i; + ++ii; } formatter.endHeader(); diff --git a/RELEASES.txt b/RELEASES.txt index 7dbe8e5..bd54437 100644 --- a/RELEASES.txt +++ b/RELEASES.txt @@ -1,4 +1,6 @@ CURRENT: + - Issue #21: Table selection tool + - Issue #22: Solve compilation warnings V: 1.2.1 30.6.2022 - Issue #17: Public key security handler diff --git a/UnitTests/tst_lexicalanalyzertest.cpp b/UnitTests/tst_lexicalanalyzertest.cpp index 6b94f47..998e99d 100644 --- a/UnitTests/tst_lexicalanalyzertest.cpp +++ b/UnitTests/tst_lexicalanalyzertest.cpp @@ -30,6 +30,11 @@ #include +#ifdef PDF4QT_COMPILER_MSVC +#pragma warning(push) +#pragma warning(disable:4125) +#endif + class LexicalAnalyzerTest : public QObject { Q_OBJECT @@ -1153,6 +1158,10 @@ QString LexicalAnalyzerTest::getStringFromTokens(const std::vector