diff --git a/YACReader/comic.cpp b/YACReader/comic.cpp index 517feaeb..96660a4f 100644 --- a/YACReader/comic.cpp +++ b/YACReader/comic.cpp @@ -264,12 +264,14 @@ void FileComic::fileExtracted(int index, const QByteArray & rawData) void FileComic::crcError(int index) { - emit errorOpening(tr("CRC error")); + emit errorOpening(tr("CRC error: some of the pages will not be displayed correctly")); } +//TODO: comprobar que si se produce uno de estos errores, la carga del cómic es irrecuperable void FileComic::unknownError(int index) { - emit errorOpening(tr("Unknown error opening the file")); + //emit errorOpening(tr("Unknown error opening the file")); + //emit errorOpening(); } //-------------------------------------- diff --git a/YACReader/render.cpp b/YACReader/render.cpp index d1fce827..199ad3aa 100644 --- a/YACReader/render.cpp +++ b/YACReader/render.cpp @@ -606,6 +606,7 @@ void Render::load(const QString & path, int atPage) previousIndex = currentIndex = 0; connect(comic,SIGNAL(errorOpening()),this,SIGNAL(errorOpening())); + connect(comic,SIGNAL(errorOpening(QString)),this,SIGNAL(errorOpening(QString))); connect(comic,SIGNAL(errorOpening()),this,SLOT(reset())); connect(comic,SIGNAL(imageLoaded(int)),this,SIGNAL(imageLoaded(int))); connect(comic,SIGNAL(imageLoaded(int)),this,SLOT(pageRawDataReady(int))); diff --git a/YACReader/render.h b/YACReader/render.h index eb22efd3..90471f2e 100644 --- a/YACReader/render.h +++ b/YACReader/render.h @@ -165,6 +165,7 @@ signals: void pageChanged(int index); void numPages(unsigned int numPages); void errorOpening(); + void errorOpening(QString); void currentPageIsBookmark(bool); void isLast(); void isCover(); diff --git a/YACReader/viewer.cpp b/YACReader/viewer.cpp index f99a022b..f63266f2 100644 --- a/YACReader/viewer.cpp +++ b/YACReader/viewer.cpp @@ -157,6 +157,7 @@ void Viewer::createConnections() //render connect(render,SIGNAL(errorOpening()),this,SLOT(resetContent())); connect(render,SIGNAL(errorOpening()),this,SLOT(showMessageErrorOpening())); + connect(render,SIGNAL(errorOpening(QString)),this,SLOT(showMessageErrorOpening(QString))); connect(render,SIGNAL(numPages(unsigned int)),goToFlow,SLOT(setNumSlides(unsigned int))); connect(render,SIGNAL(numPages(unsigned int)),goToDialog,SLOT(setNumPages(unsigned int))); //connect(render,SIGNAL(numPages(unsigned int)),this,SLOT(updateInformation())); @@ -203,6 +204,11 @@ void Viewer::showMessageErrorOpening() QMessageBox::critical(NULL,tr("Not found"),tr("Comic not found")); } +void Viewer::showMessageErrorOpening(QString message) +{ + QMessageBox::critical(NULL,tr("Error opening"),message); +} + void Viewer::next() { direction = 1; @@ -238,6 +244,11 @@ void Viewer::updatePage() //TODO -> update bookmark action setFocus(Qt::ShortcutFocusReason); delete previousPage; + + //TODO: fix loading...please wait! + if(currentPage->isNull()) + setPageUnavailableMessage(); + if(restoreMagnifyingGlass) { restoreMagnifyingGlass = false; @@ -669,6 +680,17 @@ void Viewer::setLoadingMessage() configureContent(tr("Loading...please wait!")); } +void Viewer::setPageUnavailableMessage() +{ + if(magnifyingGlassShowed) + { + hideMagnifyingGlass(); + restoreMagnifyingGlass = true; + } + emit(pageAvailable(false)); + configureContent(tr("Page not available!")); +} + void Viewer::configureContent(QString msg) { content->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored); diff --git a/YACReader/viewer.h b/YACReader/viewer.h index 338a05a3..404f3695 100644 --- a/YACReader/viewer.h +++ b/YACReader/viewer.h @@ -64,6 +64,7 @@ class NotificationsLabelWidget; void doublePageSwitch(); void resetContent(); void setLoadingMessage(); + void setPageUnavailableMessage(); void configureContent(QString msg); void hideCursor(); void showCursor(); @@ -77,6 +78,7 @@ virtual void mouseReleaseEvent ( QMouseEvent * event ); void updateFitToWidthRatio(float ratio); void updateConfig(QSettings * settings); void showMessageErrorOpening(); + void showMessageErrorOpening(QString); void setBookmarks(); void updateImageOptions(); void showIsCoverMessage();