diff options
author | Slávek Banko <slavek.banko@axis.cz> | 2017-12-26 17:03:04 +0100 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2017-12-26 17:03:14 +0100 |
commit | 9b9293b1cd83f25f69c1f75e03fcb103b43bb575 (patch) | |
tree | fb9e6162632afdd420d51740babc89b24dd7a592 /tdefile-plugins | |
parent | ec9ef61440bbf98e86d39b0bb228c66f19377c6c (diff) | |
download | tdegraphics-9b9293b1cd83f25f69c1f75e03fcb103b43bb575.tar.gz tdegraphics-9b9293b1cd83f25f69c1f75e03fcb103b43bb575.zip |
Add support for Poppler >= 0.60
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
(cherry picked from commit 9dd187337acce50e168b06571dfa315c41a1b628)
Diffstat (limited to 'tdefile-plugins')
3 files changed, 53 insertions, 6 deletions
diff --git a/tdefile-plugins/dependencies/poppler-tqt/ConfigureChecks.cmake b/tdefile-plugins/dependencies/poppler-tqt/ConfigureChecks.cmake index 7714f5e3..725a19c6 100644 --- a/tdefile-plugins/dependencies/poppler-tqt/ConfigureChecks.cmake +++ b/tdefile-plugins/dependencies/poppler-tqt/ConfigureChecks.cmake @@ -24,3 +24,13 @@ check_cxx_source_compiles(" HAVE_POPPLER_030 ) tde_restore( CMAKE_REQUIRED_INCLUDES CMAKE_REQUIRED_LIBRARIES ) +if( NOT DEFINED HAVE_POPPLER_060 ) + message( STATUS "Performing Test HAVE_POPPLER_060" ) + if( POPPLER_VERSION VERSION_GREATER_EQUAL "0.60" ) + set( HAVE_POPPLER_060 1 CACHE INTERNAL "" FORCE ) + message( STATUS "Performing Test HAVE_POPPLER_060 - Success" ) + else( ) + set( HAVE_POPPLER_060 "" CACHE INTERNAL "" FORCE ) + message( STATUS "Performing Test HAVE_POPPLER_060 - Failed" ) + endif( ) +endif( ) diff --git a/tdefile-plugins/dependencies/poppler-tqt/poppler-document.cc b/tdefile-plugins/dependencies/poppler-tqt/poppler-document.cc index 081e1035..5998ae24 100644 --- a/tdefile-plugins/dependencies/poppler-tqt/poppler-document.cc +++ b/tdefile-plugins/dependencies/poppler-tqt/poppler-document.cc @@ -153,7 +153,11 @@ TQString Document::getInfo( const TQString & type ) const if ( data->locked ) return NULL; +# if defined(HAVE_POPPLER_060) + info = data->doc.getDocInfo(); +# else data->doc.getDocInfo( &info ); +# endif if ( !info.isDict() ) return NULL; @@ -165,7 +169,13 @@ TQString Document::getInfo( const TQString & type ) const int i; Dict *infoDict = info.getDict(); - if ( infoDict->lookup( (char*)type.latin1(), &obj )->isString() ) + if ( +# if defined(HAVE_POPPLER_060) + infoDict->lookup( (char*)type.latin1() ).isString() +# else + infoDict->lookup( (char*)type.latin1(), &obj )->isString() +# endif + ) { s1 = obj.getString(); if ( ( s1->getChar(0) & 0xff ) == 0xfe && ( s1->getChar(1) & 0xff ) == 0xff ) @@ -192,12 +202,16 @@ TQString Document::getInfo( const TQString & type ) const } result += unicodeToTQString( &u, 1 ); } +# if !defined(HAVE_POPPLER_060) obj.free(); info.free(); +# endif return result; } +# if !defined(HAVE_POPPLER_060) obj.free(); info.free(); +# endif return NULL; } @@ -209,9 +223,15 @@ TQDateTime Document::getDate( const TQString & type ) const return TQDateTime(); Object info; +# if defined(HAVE_POPPLER_060) + info = data->doc.getDocInfo(); +# else data->doc.getDocInfo( &info ); +# endif if ( !info.isDict() ) { +# if !defined(HAVE_POPPLER_060) info.free(); +# endif return TQDateTime(); } @@ -221,7 +241,13 @@ TQDateTime Document::getDate( const TQString & type ) const Dict *infoDict = info.getDict(); TQString result; - if ( infoDict->lookup( (char*)type.latin1(), &obj )->isString() ) + if ( +# if defined(HAVE_POPPLER_060) + infoDict->lookup( (char*)type.latin1() ).isString() +# else + infoDict->lookup( (char*)type.latin1(), &obj )->isString() +# endif + ) { TQString s = UnicodeParsedString(obj.getString()); // TODO do something with the timezone information @@ -230,14 +256,18 @@ TQDateTime Document::getDate( const TQString & type ) const TQDate d( year, mon, day ); //CHECK: it was mon-1, Jan->0 (??) TQTime t( hour, min, sec ); if ( d.isValid() && t.isValid() ) { +# if !defined(HAVE_POPPLER_060) obj.free(); info.free(); +# endif return TQDateTime( d, t ); } } } +# if !defined(HAVE_POPPLER_060) obj.free(); info.free(); +# endif return TQDateTime(); } @@ -317,7 +347,7 @@ bool Document::print(const TQString &fileName, TQValueList<int> pageList, double bool Document::print(const TQString &file, TQValueList<int> pageList, double hDPI, double vDPI, int rotate, int paperWidth, int paperHeight) { -#if defined(HAVE_POPPLER_030) +#if defined(HAVE_POPPLER_060) || defined(HAVE_POPPLER_030) std::vector<int> pages; TQValueList<int>::iterator it; for (it = pageList.begin(); it != pageList.end(); ++it ) { diff --git a/tdefile-plugins/dependencies/poppler-tqt/poppler-page.cc b/tdefile-plugins/dependencies/poppler-tqt/poppler-page.cc index 2c6a5f0e..3c6bafca 100644 --- a/tdefile-plugins/dependencies/poppler-tqt/poppler-page.cc +++ b/tdefile-plugins/dependencies/poppler-tqt/poppler-page.cc @@ -129,7 +129,7 @@ TQString Page::getText(const Rectangle &r) const TQString result; ::Page *p; -#if defined(HAVE_POPPLER_030) || defined(HAVE_POPPLER_020) +#if defined(HAVE_POPPLER_060) || defined(HAVE_POPPLER_030) || defined(HAVE_POPPLER_020) output_dev = new TextOutputDev(0, gFalse, 0, gFalse, gFalse); #else output_dev = new TextOutputDev(0, gFalse, gFalse, gFalse); @@ -164,7 +164,7 @@ TQValueList<TextBox*> Page::textList() const TQValueList<TextBox*> output_list; -#if defined(HAVE_POPPLER_030) || defined(HAVE_POPPLER_020) +#if defined(HAVE_POPPLER_060) || defined(HAVE_POPPLER_030) || defined(HAVE_POPPLER_020) output_dev = new TextOutputDev(0, gFalse, 0, gFalse, gFalse); #else output_dev = new TextOutputDev(0, gFalse, gFalse, gFalse); @@ -205,9 +205,16 @@ PageTransition *Page::getTransition() const { Object o; PageTransitionParams params; - params.dictObj = data->doc->data->doc.getCatalog()->getPage(data->index + 1)->getTrans(&o); +# if defined(HAVE_POPPLER_060) + o = data->doc->data->doc.getCatalog()->getPage(data->index + 1)->getTrans(); +# else + data->doc->data->doc.getCatalog()->getPage(data->index + 1)->getTrans(&o); +# endif + params.dictObj = &o; data->transition = new PageTransition(params); +# if !defined(HAVE_POPPLER_060) o.free(); +# endif } return data->transition; } |