diff --git a/YACReader/comic.cpp b/YACReader/comic.cpp index 376729cb..d6c0393d 100644 --- a/YACReader/comic.cpp +++ b/YACReader/comic.cpp @@ -242,6 +242,8 @@ QList FileComic::filter(const QList & src) return filtered; } + +//DELEGATE methods void FileComic::fileExtracted(int index, const QByteArray & rawData) { /*QFile f("c:/temp/out2.txt"); @@ -257,6 +259,18 @@ void FileComic::fileExtracted(int index, const QByteArray & rawData) emit imageLoaded(sortedIndex,_pages[sortedIndex]); } +void FileComic::crcError(int index) +{ + emit errorOpening(tr("CRC error")); +} + +void FileComic::unknownError(int index) +{ + emit errorOpening(tr("Unknown error opening the file")); +} + +//-------------------------------------- + QList > FileComic::getSections(int & sectionIndex) { QVector sortedIndexes; @@ -414,38 +428,7 @@ void FileComic::process() emit imagesLoaded(); moveToThread(QApplication::instance()->thread()); } -//----------------------------------------------------------------------------- -void FileComic::loadSizes() -{ -} -//----------------------------------------------------------------------------- -void FileComic::loadImages() -{ -} -//----------------------------------------------------------------------------- -void FileComic::openingError(QProcess::ProcessError error) -{ - switch(error) - { - case QProcess::FailedToStart: - QMessageBox::critical(NULL,tr("7z not found"),tr("7z wasn't found in your PATH.")); - break; - case QProcess::Crashed: - QMessageBox::critical(NULL,tr("7z crashed"),tr("7z crashed.")); - break; - case QProcess::ReadError: - QMessageBox::critical(NULL,tr("7z reading"),tr("problem reading from 7z")); - break; - case QProcess::UnknownError: - QMessageBox::critical(NULL,tr("7z problem"),tr("Unknown error 7z")); - break; - default: - //TODO - break; - } - _loaded = false; - emit errorOpening(); -} + //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// diff --git a/YACReader/comic.h b/YACReader/comic.h index 13380cd3..78a15ae0 100644 --- a/YACReader/comic.h +++ b/YACReader/comic.h @@ -75,6 +75,7 @@ void openAt(int index); void numPages(unsigned int numPages); void errorOpening(); + void errorOpening(QString); void isBookmark(bool); void bookmarksUpdated(); void isCover(); @@ -94,12 +95,10 @@ ~FileComic(); void fileExtracted(int index, const QByteArray & rawData); virtual bool load(const QString & path, int atPage = -1); - + void crcError(int index); + void unknownError(int index); public slots: void process(); - void loadImages(); - void loadSizes(); - void openingError(QProcess::ProcessError error); }; class FolderComic : public Comic diff --git a/compressed_archive/extract_callbacks.h b/compressed_archive/extract_callbacks.h index ed1f185d..45e8bab2 100644 --- a/compressed_archive/extract_callbacks.h +++ b/compressed_archive/extract_callbacks.h @@ -267,21 +267,28 @@ STDMETHODIMP CArchiveExtractCallback::SetOperationResult(Int32 operationResult) break; default: { - //TODO comunicar los fallos usando el delegado NumErrors++; qDebug() << " "; switch(operationResult) { case NArchive::NExtract::NOperationResult::kUnSupportedMethod: + if(delegate != 0) + delegate->unknownError(_index); qDebug() << kUnsupportedMethod; break; case NArchive::NExtract::NOperationResult::kCRCError: + if(delegate != 0) + delegate->crcError(_index); qDebug() << kCRCFailed; break; case NArchive::NExtract::NOperationResult::kDataError: + if(delegate != 0) + delegate->unknownError(_index); qDebug() << kDataError; break; default: + if(delegate != 0) + delegate->unknownError(_index); qDebug() << kUnknownError; } } diff --git a/compressed_archive/extract_delegate.h b/compressed_archive/extract_delegate.h index 9ab5b318..888d886a 100644 --- a/compressed_archive/extract_delegate.h +++ b/compressed_archive/extract_delegate.h @@ -7,6 +7,8 @@ class ExtractDelegate { public: virtual void fileExtracted(int index, const QByteArray & rawData) = 0; + virtual void crcError(int index) = 0; + virtual void unknownError(int index) = 0; }; #endif //EXTRACT_DELEGATE_H \ No newline at end of file