diff --git a/generators/poppler/CMakeLists.txt b/generators/poppler/CMakeLists.txt index ecea4ed7f..025518c41 100644 --- a/generators/poppler/CMakeLists.txt +++ b/generators/poppler/CMakeLists.txt @@ -1,130 +1,129 @@ remove_definitions(-DTRANSLATION_DOMAIN="okular") add_definitions(-DTRANSLATION_DOMAIN="okular_poppler") add_subdirectory( conf ) if (Poppler_VERSION VERSION_GREATER "0.23.99") set (HAVE_POPPLER_0_24 1) endif() if (Poppler_VERSION VERSION_GREATER "0.27.99") set (HAVE_POPPLER_0_28 1) endif() if (Poppler_VERSION VERSION_GREATER "0.35.99") set (HAVE_POPPLER_0_36 1) endif() if (Poppler_VERSION VERSION_GREATER "0.36.99") set (HAVE_POPPLER_0_37 1) endif() set(CMAKE_REQUIRED_LIBRARIES Poppler::Qt5 Qt5::Core Qt5::Gui) check_cxx_source_compiles(" #include int main() { Poppler::LinkOCGState *l = 0; return 0; } " HAVE_POPPLER_0_50) check_cxx_source_compiles(" #include #include int main() { Poppler::FormFieldButton *ff = 0; Poppler::Link *l = ff->additionalAction(Poppler::FormField::CalculateField); return 0; } " HAVE_POPPLER_0_53) check_cxx_source_compiles(" #include int main() { Poppler::Document::RenderHint hint = Poppler::Document::HideAnnotations; return 0; } " HAVE_POPPLER_0_60) check_cxx_source_compiles(" #include #include int main() { Poppler::Page *p; p->renderToImage(0, 0, 0, 0, 0, 0, Poppler::Page::Rotate0, nullptr, nullptr, QVariant()); return 0; } " HAVE_POPPLER_0_62) check_cxx_source_compiles(" #include #include int main() { Poppler::Page *p; p->renderToImage(0, 0, 0, 0, 0, 0, Poppler::Page::Rotate0, nullptr, nullptr, nullptr, QVariant()); return 0; } " HAVE_POPPLER_0_63) check_cxx_source_compiles(" #include #include #include int main() { Poppler::FormField *f; f->setReadOnly(true); f->setVisible(true); Poppler::Link *l; l->nextLinks(); } " HAVE_POPPLER_0_64) check_cxx_source_compiles(" #include #include int main() { Poppler::FormField *f; f->additionalAction(Poppler::Annotation::CursorEnteringAction); } " HAVE_POPPLER_0_65) configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/config-okular-poppler.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-okular-poppler.h ) include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/../.. ) ########### next target ############### set(okularGenerator_poppler_PART_SRCS generator_pdf.cpp formfields.cpp annots.cpp - pdfsignatureinfo.cpp ) ki18n_wrap_ui(okularGenerator_poppler_PART_SRCS conf/pdfsettingswidget.ui ) kconfig_add_kcfg_files(okularGenerator_poppler_PART_SRCS conf/pdfsettings.kcfgc ) okular_add_generator(okularGenerator_poppler ${okularGenerator_poppler_PART_SRCS}) target_link_libraries(okularGenerator_poppler okularcore KF5::I18n KF5::Completion Poppler::Qt5 Qt5::Xml) ########### install files ############### install( FILES okularPoppler.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR} ) install( PROGRAMS okularApplication_pdf.desktop org.kde.mobile.okular_pdf.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) install( FILES org.kde.okular-poppler.metainfo.xml DESTINATION ${KDE_INSTALL_METAINFODIR} ) diff --git a/generators/poppler/pdfsignatureinfo.cpp b/generators/poppler/pdfsignatureinfo.cpp deleted file mode 100644 index b6ffb2dc5..000000000 --- a/generators/poppler/pdfsignatureinfo.cpp +++ /dev/null @@ -1,160 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2018 by Chinmoy Ranjan Pradhan * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - ***************************************************************************/ - -#include "pdfsignatureinfo.h" - -PopplerCertificateInfo::PopplerCertificateInfo( const Poppler::CertificateInfo &info ) - : Okular::CertificateInfo() -{ - initPrivate(); - - setVersion( info.version() ); - setIssuerName( info.issuerName() ); - setIssuerDN( info.issuerDN() ); - setSerialNumber( info.serialNumber() ); - setValidityStart( info.validityStart() ); - setValidityEnd( info.validityEnd() ); - setKeyUsages( convertToOkularKeyUsages( info.keyUsages() ) ); - setPublicKey( info.publicKey() ); - setPublicKeyStrength( info.publicKeyStrength() ); - setPublicKeyType( convertToOkularPublicKeyType( info.publicKeyType() ) ); - setCertificateData( info.certificateData() ); -} - -PopplerCertificateInfo::~PopplerCertificateInfo() -{ -} - -PopplerCertificateInfo::KeyUsages PopplerCertificateInfo::convertToOkularKeyUsages( Poppler::CertificateInfo::KeyUsages popplerKu ) -{ - KeyUsages ku = KuNone; - if ( popplerKu.testFlag( Poppler::CertificateInfo::KuDigitalSignature ) ) - ku |= KuDigitalSignature; - if ( popplerKu.testFlag( Poppler::CertificateInfo::KuNonRepudiation ) ) - ku |= KuNonRepudiation; - if ( popplerKu.testFlag( Poppler::CertificateInfo::KuKeyEncipherment ) ) - ku |= KuKeyEncipherment; - if ( popplerKu.testFlag( Poppler::CertificateInfo::KuDataEncipherment ) ) - ku |= KuDataEncipherment; - if ( popplerKu.testFlag( Poppler::CertificateInfo::KuKeyAgreement ) ) - ku |= KuKeyAgreement; - if ( popplerKu.testFlag( Poppler::CertificateInfo::KuKeyCertSign ) ) - ku |= KuKeyCertSign; - if ( popplerKu.testFlag( Poppler::CertificateInfo::KuClrSign ) ) - ku |= KuClrSign; - if ( popplerKu.testFlag( Poppler::CertificateInfo::KuEncipherOnly ) ) - ku |= KuEncipherOnly; - return ku; -} - -PopplerCertificateInfo::PublicKeyType PopplerCertificateInfo::convertToOkularPublicKeyType( Poppler::CertificateInfo::PublicKeyType popplerPkType ) -{ - switch ( popplerPkType ) - { - case Poppler::CertificateInfo::RsaKey: - return RsaKey; - case Poppler::CertificateInfo::DsaKey: - return DsaKey; - case Poppler::CertificateInfo::EcKey: - return EcKey; - case Poppler::CertificateInfo::OtherKey: - return OtherKey; - } -} - - -PopplerSignatureInfo::PopplerSignatureInfo(const Poppler::SignatureValidationInfo &info) - : Okular::SignatureInfo() -{ - initPrivate(); - - setSignatureStatus( convertToOkularSigStatus( info.signatureStatus() ) ); - setCertificateStatus( convertToOkularCertStatus( info.certificateStatus() ) ); - setSubjectName( info.signerName() ); - setSubjectDN( info.signerSubjectDN() ); - setHashAlgorithm( convertToOkularHashAlg( info.hashAlgorithm() ) ); - setSigningTime( QDateTime::fromTime_t( info.signingTime() ) ); - setSignature( info.signature() ); - setSignedRangeBounds( info.signedRangeBounds() ); - setSignsTotalDocument( info.signsTotalDocument() ); - setCertificateInfo( PopplerCertificateInfo( info.certificateInfo() ) ); -} - -PopplerSignatureInfo::~PopplerSignatureInfo() -{ -} - -PopplerSignatureInfo::SignatureStatus PopplerSignatureInfo::convertToOkularSigStatus( Poppler::SignatureValidationInfo::SignatureStatus popplerSigStatus) -{ - switch( popplerSigStatus ) - { - case Poppler::SignatureValidationInfo::SignatureValid: - return SignatureValid; - case Poppler::SignatureValidationInfo::SignatureInvalid: - return SignatureInvalid; - case Poppler::SignatureValidationInfo::SignatureDigestMismatch: - return SignatureDigestMismatch; - case Poppler::SignatureValidationInfo::SignatureDecodingError: - return SignatureDecodingError; - case Poppler::SignatureValidationInfo::SignatureGenericError: - return SignatureGenericError; - case Poppler::SignatureValidationInfo::SignatureNotFound: - return SignatureNotFound; - case Poppler::SignatureValidationInfo::SignatureNotVerified: - return SignatureNotVerified; - default: - return SignatureStatusUnknown; - } -} - -PopplerSignatureInfo::CertificateStatus PopplerSignatureInfo::convertToOkularCertStatus( Poppler::SignatureValidationInfo::CertificateStatus popplerCertStatus ) -{ - switch( popplerCertStatus ) - { - case Poppler::SignatureValidationInfo::CertificateTrusted: - return CertificateTrusted; - case Poppler::SignatureValidationInfo::CertificateUntrustedIssuer: - return CertificateUntrustedIssuer; - case Poppler::SignatureValidationInfo::CertificateUnknownIssuer: - return CertificateUnknownIssuer; - case Poppler::SignatureValidationInfo::CertificateRevoked: - return CertificateRevoked; - case Poppler::SignatureValidationInfo::CertificateExpired: - return CertificateExpired; - case Poppler::SignatureValidationInfo::CertificateGenericError: - return CertificateGenericError; - case Poppler::SignatureValidationInfo::CertificateNotVerified: - return CertificateNotVerified; - default: - return CertificateStatusUnknown; - } -} - -PopplerSignatureInfo::HashAlgorithm PopplerSignatureInfo::convertToOkularHashAlg( Poppler::SignatureValidationInfo::HashAlgorithm popplerHashAlg ) -{ - switch( popplerHashAlg ) - { - case Poppler::SignatureValidationInfo::HashAlgorithmMd2: - return HashAlgorithmMd2; - case Poppler::SignatureValidationInfo::HashAlgorithmMd5: - return HashAlgorithmMd5; - case Poppler::SignatureValidationInfo::HashAlgorithmSha1: - return HashAlgorithmSha1; - case Poppler::SignatureValidationInfo::HashAlgorithmSha256: - return HashAlgorithmSha256; - case Poppler::SignatureValidationInfo::HashAlgorithmSha384: - return HashAlgorithmSha384; - case Poppler::SignatureValidationInfo::HashAlgorithmSha512: - return HashAlgorithmSha512; - case Poppler::SignatureValidationInfo::HashAlgorithmSha224: - return HashAlgorithmSha224; - case Poppler::SignatureValidationInfo::HashAlgorithmUnknown: - return HashAlgorithmUnknown; - } -} diff --git a/generators/poppler/pdfsignatureinfo.h b/generators/poppler/pdfsignatureinfo.h deleted file mode 100644 index 6139a67a9..000000000 --- a/generators/poppler/pdfsignatureinfo.h +++ /dev/null @@ -1,41 +0,0 @@ -/*************************************************************************** - * Copyright (C) 2018 by Chinmoy Ranjan Pradhan * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - ***************************************************************************/ - -#ifndef _OKULAR_GENERATOR_PDF_SIGNATUREINFO_H_ -#define _OKULAR_GENERATOR_PDF_SIGNATUREINFO_H_ - -#include - -#include "core/signatureinfo.h" - -class PopplerCertificateInfo : public Okular::CertificateInfo -{ - public: - PopplerCertificateInfo(const Poppler::CertificateInfo &info); - ~PopplerCertificateInfo(); - - private: - KeyUsages convertToOkularKeyUsages( Poppler::CertificateInfo::KeyUsages ); - PublicKeyType convertToOkularPublicKeyType( Poppler::CertificateInfo::PublicKeyType ); -}; - -class PopplerSignatureInfo : public Okular::SignatureInfo -{ - public: - PopplerSignatureInfo(const Poppler::SignatureValidationInfo &info); - ~PopplerSignatureInfo(); - - private: - SignatureStatus convertToOkularSigStatus( Poppler::SignatureValidationInfo::SignatureStatus ); - CertificateStatus convertToOkularCertStatus( Poppler::SignatureValidationInfo::CertificateStatus ); - HashAlgorithm convertToOkularHashAlg( Poppler::SignatureValidationInfo::HashAlgorithm ); - -}; - -#endif