diff options
author | Carlos Garcia Campos <carlosgc@gnome.org> | 2011-05-07 12:55:34 +0200 |
---|---|---|
committer | Carlos Garcia Campos <carlosgc@gnome.org> | 2011-05-27 15:12:56 +0200 |
commit | 04dfb2c984b3c9949466e2b70e26b58029c5a7d3 (patch) | |
tree | e60f57a13ad2503b24876bc8f5d8f7e3b2319606 /qt4 | |
parent | 74f9befddd4b5848c4af0c1b2848a1322f8cd0a2 (diff) |
Make FileSpec a class and move EmbFile from Catalog to FileSpec
Qt and cpp frontends adapted by Pino Toscano
Diffstat (limited to 'qt4')
-rw-r--r-- | qt4/src/poppler-embeddedfile-private.h | 6 | ||||
-rw-r--r-- | qt4/src/poppler-embeddedfile.cc | 34 | ||||
-rw-r--r-- | qt4/src/poppler-page.cc | 5 | ||||
-rw-r--r-- | qt4/src/poppler-private.h | 4 | ||||
-rw-r--r-- | qt4/tests/check_attachments.cpp | 12 |
5 files changed, 35 insertions, 26 deletions
diff --git a/qt4/src/poppler-embeddedfile-private.h b/qt4/src/poppler-embeddedfile-private.h index cdd98028..f109d36b 100644 --- a/qt4/src/poppler-embeddedfile-private.h +++ b/qt4/src/poppler-embeddedfile-private.h @@ -21,7 +21,7 @@ #ifndef POPPLER_EMBEDDEDFILE_PRIVATE_H #define POPPLER_EMBEDDEDFILE_PRIVATE_H -class EmbFile; +class FileSpec; namespace Poppler { @@ -29,10 +29,10 @@ namespace Poppler class EmbeddedFileData { public: - EmbeddedFileData(EmbFile *ef); + EmbeddedFileData(FileSpec *fs); ~EmbeddedFileData(); - EmbFile *embfile; + FileSpec *filespec; }; } diff --git a/qt4/src/poppler-embeddedfile.cc b/qt4/src/poppler-embeddedfile.cc index fc1cfecc..ad942b73 100644 --- a/qt4/src/poppler-embeddedfile.cc +++ b/qt4/src/poppler-embeddedfile.cc @@ -26,6 +26,7 @@ #include "Object.h" #include "Stream.h" #include "Catalog.h" +#include "FileSpec.h" #include "poppler-private.h" #include "poppler-embeddedfile-private.h" @@ -33,14 +34,14 @@ namespace Poppler { -EmbeddedFileData::EmbeddedFileData(EmbFile *ef) - : embfile(ef) +EmbeddedFileData::EmbeddedFileData(FileSpec *fs) + : filespec(fs) { } EmbeddedFileData::~EmbeddedFileData() { - delete embfile; + delete filespec; } @@ -62,47 +63,54 @@ EmbeddedFile::~EmbeddedFile() QString EmbeddedFile::name() const { - return QString(m_embeddedFile->embfile->name()->getCString()); + GooString *goo = m_embeddedFile->filespec->getFileName(); + return goo ? QString(goo->getCString()) : QString(); } QString EmbeddedFile::description() const { - return UnicodeParsedString(m_embeddedFile->embfile->description()); + GooString *goo = m_embeddedFile->filespec->getDescription(); + return goo ? UnicodeParsedString(goo) : QString(); } int EmbeddedFile::size() const { - return m_embeddedFile->embfile->size(); + return m_embeddedFile->filespec->getEmbeddedFile()->size(); } QDateTime EmbeddedFile::modDate() const { - return convertDate(m_embeddedFile->embfile->modDate()->getCString()); + GooString *goo = m_embeddedFile->filespec->getEmbeddedFile()->modDate(); + return goo ? convertDate(goo->getCString()) : QDateTime(); } QDateTime EmbeddedFile::createDate() const { - return convertDate(m_embeddedFile->embfile->createDate()->getCString()); + GooString *goo = m_embeddedFile->filespec->getEmbeddedFile()->createDate(); + return goo ? convertDate(goo->getCString()) : QDateTime(); } QByteArray EmbeddedFile::checksum() const { - GooString *goo_checksum = m_embeddedFile->embfile->checksum(); - return QByteArray::fromRawData(goo_checksum->getCString(), goo_checksum->getLength()); + GooString *goo = m_embeddedFile->filespec->getEmbeddedFile()->checksum(); + return goo ? QByteArray::fromRawData(goo->getCString(), goo->getLength()) : QByteArray(); } QString EmbeddedFile::mimeType() const { - return QString(m_embeddedFile->embfile->mimeType()->getCString()); + GooString *goo = m_embeddedFile->filespec->getEmbeddedFile()->mimeType(); + return goo ? QString(goo->getCString()) : QString(); } QByteArray EmbeddedFile::data() { if (!isValid()) return QByteArray(); + Stream *stream = m_embeddedFile->filespec->getEmbeddedFile()->stream(); + if (!stream) + return QByteArray(); Object obj; - Stream *stream = m_embeddedFile->embfile->streamObject().getStream(); stream->reset(); int dataLen = 0; QByteArray fileArray; @@ -117,7 +125,7 @@ QByteArray EmbeddedFile::data() bool EmbeddedFile::isValid() const { - return m_embeddedFile->embfile->isOk(); + return m_embeddedFile->filespec->isOk(); } } diff --git a/qt4/src/poppler-page.cc b/qt4/src/poppler-page.cc index b92002c1..62d16f98 100644 --- a/qt4/src/poppler-page.cc +++ b/qt4/src/poppler-page.cc @@ -42,6 +42,7 @@ #include <TextOutputDev.h> #include <Annot.h> #include <Link.h> +#include <FileSpec.h> #include <ArthurOutputDev.h> #if defined(HAVE_SPLASH) #include <SplashOutputDev.h> @@ -939,8 +940,8 @@ QList<Annotation*> Page::annotations() const // -> fileIcon f->setFileIconName( QString::fromLatin1( attachann->getName()->getCString() ) ); // -> embeddedFile - EmbFile *embfile = new EmbFile( attachann->getFile(), attachann->getContents() ); - f->setEmbeddedFile( new EmbeddedFile( *new EmbeddedFileData( embfile ) ) ); + FileSpec *filespec = new FileSpec( attachann->getFile() ); + f->setEmbeddedFile( new EmbeddedFile( *new EmbeddedFileData( filespec ) ) ); break; } case Annot::typeSound: diff --git a/qt4/src/poppler-private.h b/qt4/src/poppler-private.h index ea36e7e3..6d2b3154 100644 --- a/qt4/src/poppler-private.h +++ b/qt4/src/poppler-private.h @@ -164,8 +164,8 @@ namespace Poppler { if (!(0 == numEmb)) { // we have some embedded documents, build the list for (int yalv = 0; yalv < numEmb; ++yalv) { - EmbFile *ef = doc->getCatalog()->embeddedFile(yalv); - m_embeddedFiles.append(new EmbeddedFile(*new EmbeddedFileData(ef))); + FileSpec *fs = doc->getCatalog()->embeddedFile(yalv); + m_embeddedFiles.append(new EmbeddedFile(*new EmbeddedFileData(fs))); } } } diff --git a/qt4/tests/check_attachments.cpp b/qt4/tests/check_attachments.cpp index 2e02ec81..6405351f 100644 --- a/qt4/tests/check_attachments.cpp +++ b/qt4/tests/check_attachments.cpp @@ -40,7 +40,7 @@ void TestAttachments::checkAttach1() Poppler::EmbeddedFile *embfile = fileList.at(0); QCOMPARE( embfile->name(), QString( "kroller.png" ) ); - QCOMPARE( embfile->description(), QString("/home/bradh/coding/svn-vers/KDE/kdeartwork/wallpapers/kroller.png") ); + QCOMPARE( embfile->description(), QString() ); QCOMPARE( embfile->createDate(), QDateTime( QDate(), QTime() ) ); QCOMPARE( embfile->modDate(), QDateTime( QDate(), QTime() ) ); QCOMPARE( embfile->mimeType(), QString() ); @@ -54,7 +54,7 @@ void TestAttachments::checkAttach1() Poppler::EmbeddedFile *embfile2 = fileList.at(1); QCOMPARE( embfile2->name(), QString("gnome-64.gif") ); - QCOMPARE( embfile2->description(), QString("/usr/share/gnome-about/gnome-64.gif") ); + QCOMPARE( embfile2->description(), QString() ); QCOMPARE( embfile2->modDate(), QDateTime( QDate(), QTime() ) ); QCOMPARE( embfile2->createDate(), QDateTime( QDate(), QTime() ) ); QCOMPARE( embfile2->mimeType(), QString() ); @@ -84,21 +84,21 @@ void TestAttachments::checkAttach2() Poppler::EmbeddedFile *embfile1 = fileList.at(0); QCOMPARE( embfile1->name(), QString("Acro7 thoughts") ); - QCOMPARE( embfile1->description(), QString("Acro7 Thoughts") ); + QCOMPARE( embfile1->description(), QString() ); QCOMPARE( embfile1->createDate(), QDateTime( QDate( 2003, 8, 4 ), QTime( 13, 54, 54), Qt::UTC ) ); QCOMPARE( embfile1->modDate(), QDateTime( QDate( 2003, 8, 4 ), QTime( 14, 15, 27), Qt::UTC ) ); QCOMPARE( embfile1->mimeType(), QString("text/xml") ); Poppler::EmbeddedFile *embfile2 = fileList.at(1); QCOMPARE( embfile2->name(), QString("acro transitions 1.xls") ); - QCOMPARE( embfile2->description(), QString("AcroTransitions") ); + QCOMPARE( embfile2->description(), QString() ); QCOMPARE( embfile2->createDate(), QDateTime( QDate( 2003, 7, 18 ), QTime( 21, 7, 16), Qt::UTC ) ); QCOMPARE( embfile2->modDate(), QDateTime( QDate( 2003, 7, 22 ), QTime( 13, 4, 40), Qt::UTC ) ); QCOMPARE( embfile2->mimeType(), QString("application/excel") ); Poppler::EmbeddedFile *embfile3 = fileList.at(2); QCOMPARE( embfile3->name(), QString("apago_pdfe_wide.gif") ); - QCOMPARE( embfile3->description(), QString("PDFE Animation") ); + QCOMPARE( embfile3->description(), QString() ); QCOMPARE( embfile3->createDate(), QDateTime( QDate( 2003, 1, 31 ), QTime( 15, 54, 29), Qt::UTC ) ); QCOMPARE( embfile3->modDate(), QDateTime( QDate( 2003, 1, 31 ), QTime( 15, 52, 58), Qt::UTC ) ); QCOMPARE( embfile3->mimeType(), QString() ); @@ -121,7 +121,7 @@ void TestAttachments::checkAttach3() Poppler::EmbeddedFile *embfile = fileList.at(0); QCOMPARE( embfile->name(), QString( "ADEX1.xpdf.pgp" ) ); - QCOMPARE( embfile->description(), QString("encrypted version of document") ); + QCOMPARE( embfile->description(), QString() ); QCOMPARE( embfile->createDate(), QDateTime( QDate( 2004, 3, 29 ), QTime( 19, 37, 16), Qt::UTC ) ); QCOMPARE( embfile->modDate(), QDateTime( QDate( 2004, 3, 29 ), QTime( 19, 37, 16), Qt::UTC ) ); QCOMPARE( embfile->mimeType(), QString() ); |