diff --git a/generators/poppler/CMakeLists.txt b/generators/poppler/CMakeLists.txt index ee52ae5e0..f39f41449 100644 --- a/generators/poppler/CMakeLists.txt +++ b/generators/poppler/CMakeLists.txt @@ -107,6 +107,15 @@ int main() } " HAVE_POPPLER_0_69) +check_cxx_source_compiles(" +#include +int main() +{ + QString s = Poppler::Version::string(); + return 0; +} +" HAVE_POPPLER_0_73) + configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/config-okular-poppler.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-okular-poppler.h diff --git a/generators/poppler/config-okular-poppler.h.cmake b/generators/poppler/config-okular-poppler.h.cmake index e025f8333..b07ca2b90 100644 --- a/generators/poppler/config-okular-poppler.h.cmake +++ b/generators/poppler/config-okular-poppler.h.cmake @@ -33,3 +33,6 @@ /* Defined if we have the 0.69 version of the Poppler library */ #cmakedefine HAVE_POPPLER_0_69 1 + +/* Defined if we have the 0.73 version of the Poppler library */ +#cmakedefine HAVE_POPPLER_0_73 1 diff --git a/generators/poppler/generator_pdf.cpp b/generators/poppler/generator_pdf.cpp index d2066b1e0..ad65262ec 100644 --- a/generators/poppler/generator_pdf.cpp +++ b/generators/poppler/generator_pdf.cpp @@ -53,6 +53,7 @@ #include #include +#include #include "debug_pdf.h" #include "annots.h" @@ -1490,6 +1491,16 @@ QVariant PDFGenerator::metaData( const QString & key, const QVariant & option ) #ifdef HAVE_POPPLER_0_53 QMutexLocker ml(userMutex()); return QVariant::fromValue>(pdfdoc->formCalculateOrder()); +#endif + } + else if ( key == QLatin1String("GeneratorExtraDescription") ) + { +#ifdef HAVE_POPPLER_0_73 + if (Poppler::Version::string() == POPPLER_VERSION) { + return i18n("Using Poppler %1", Poppler::Version::string()); + } else { + return i18n("Using Poppler %1\n\nBuilt against Poppler %2", Poppler::Version::string(), POPPLER_VERSION); + } #endif } return QVariant(); diff --git a/part.cpp b/part.cpp index 3176b8f22..c123a5502 100644 --- a/part.cpp +++ b/part.cpp @@ -3166,6 +3166,11 @@ void Part::slotAboutBackend() } } + const QString extraDescription = m_document->metaData( QStringLiteral("GeneratorExtraDescription") ).toString(); + if (!extraDescription.isEmpty()) { + aboutData.setShortDescription(aboutData.shortDescription() + QStringLiteral("\n\n") + extraDescription); + } + if (!icon.isNull()) { // 48x48 is what KAboutApplicationDialog wants, which doesn't match any default so we hardcode it aboutData.setProgramLogo(icon.pixmap(48, 48));