mirror of
https://github.com/YACReader/yacreader
synced 2025-05-28 03:10:27 -04:00
Revert "Thread ping pong"
This commit is contained in:
parent
b906bf964f
commit
0b83764734
@ -381,8 +381,8 @@ Render::Render()
|
|||||||
|
|
||||||
Render::~Render()
|
Render::~Render()
|
||||||
{
|
{
|
||||||
if (comic != 0) {
|
if (comic != nullptr) {
|
||||||
//comic->moveToThread(QApplication::instance()->thread());
|
comic->moveToThread(QApplication::instance()->thread());
|
||||||
comic->deleteLater();
|
comic->deleteLater();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -607,8 +607,8 @@ void Render::setRotation(int degrees)
|
|||||||
|
|
||||||
void Render::setComic(Comic *c)
|
void Render::setComic(Comic *c)
|
||||||
{
|
{
|
||||||
if (comic != 0) {
|
if (comic != nullptr) {
|
||||||
//comic->moveToThread(QApplication::instance()->thread());
|
comic->moveToThread(QApplication::instance()->thread());
|
||||||
comic->disconnect();
|
comic->disconnect();
|
||||||
comic->deleteLater();
|
comic->deleteLater();
|
||||||
}
|
}
|
||||||
|
@ -57,10 +57,9 @@ void ComicController::service(HttpRequest &request, HttpResponse &response)
|
|||||||
|
|
||||||
comicFile->moveToThread(thread);
|
comicFile->moveToThread(thread);
|
||||||
|
|
||||||
//connect(comicFile, SIGNAL(errorOpening()), thread, SLOT(quit()));
|
connect(comicFile, SIGNAL(errorOpening()), thread, SLOT(quit()));
|
||||||
//connect(comicFile, SIGNAL(errorOpening(QString)), thread, SLOT(quit()));
|
connect(comicFile, SIGNAL(errorOpening(QString)), thread, SLOT(quit()));
|
||||||
//connect(comicFile, SIGNAL(imagesLoaded()), thread, SLOT(quit()));
|
connect(comicFile, SIGNAL(imagesLoaded()), thread, SLOT(quit()));
|
||||||
connect(comicFile, SIGNAL(destroyed()), thread, SLOT(quit()));
|
|
||||||
connect(thread, SIGNAL(started()), comicFile, SLOT(process()));
|
connect(thread, SIGNAL(started()), comicFile, SLOT(process()));
|
||||||
connect(thread, SIGNAL(finished()), thread, SLOT(deleteLater()));
|
connect(thread, SIGNAL(finished()), thread, SLOT(deleteLater()));
|
||||||
|
|
||||||
|
@ -53,21 +53,23 @@ void ComicControllerV2::service(HttpRequest &request, HttpResponse &response)
|
|||||||
|
|
||||||
Comic *comicFile = FactoryComic::newComic(libraries.getPath(libraryId) + comic.path);
|
Comic *comicFile = FactoryComic::newComic(libraries.getPath(libraryId) + comic.path);
|
||||||
|
|
||||||
if (comicFile != NULL) {
|
if (comicFile != nullptr) {
|
||||||
QThread *thread = new QThread();
|
QThread *thread = nullptr;
|
||||||
|
|
||||||
|
thread = new QThread();
|
||||||
|
|
||||||
comicFile->moveToThread(thread);
|
comicFile->moveToThread(thread);
|
||||||
|
|
||||||
//connect(comicFile, SIGNAL(errorOpening()), thread, SLOT(quit()));
|
connect(comicFile, SIGNAL(errorOpening()), thread, SLOT(quit()));
|
||||||
//connect(comicFile, SIGNAL(errorOpening(QString)), thread, SLOT(quit()));
|
connect(comicFile, SIGNAL(errorOpening(QString)), thread, SLOT(quit()));
|
||||||
//connect(comicFile, SIGNAL(imagesLoaded()), thread, SLOT(quit()));
|
connect(comicFile, SIGNAL(imagesLoaded()), thread, SLOT(quit()));
|
||||||
connect(comicFile, SIGNAL(destroyed()), thread, SLOT(quit()));
|
|
||||||
connect(thread, SIGNAL(started()), comicFile, SLOT(process()));
|
connect(thread, SIGNAL(started()), comicFile, SLOT(process()));
|
||||||
connect(thread, SIGNAL(finished()), thread, SLOT(deleteLater()));
|
connect(thread, SIGNAL(finished()), thread, SLOT(deleteLater()));
|
||||||
|
|
||||||
comicFile->load(libraries.getPath(libraryId) + comic.path);
|
comicFile->load(libraries.getPath(libraryId) + comic.path);
|
||||||
|
|
||||||
thread->start();
|
if (thread != nullptr)
|
||||||
|
thread->start();
|
||||||
|
|
||||||
if (remoteComic) {
|
if (remoteComic) {
|
||||||
QLOG_TRACE() << "remote comic requested";
|
QLOG_TRACE() << "remote comic requested";
|
||||||
|
@ -234,21 +234,6 @@ void Comic::updateBookmarkImage(int index)
|
|||||||
emit bookmarksUpdated();
|
emit bookmarksUpdated();
|
||||||
//emit bookmarksLoaded(*bm);
|
//emit bookmarksLoaded(*bm);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bm->isBookmark(index)) {
|
|
||||||
QImage p;
|
|
||||||
p.loadFromData(_pages[index]);
|
|
||||||
bm->setBookmark(index, p);
|
|
||||||
emit bookmarksUpdated();
|
|
||||||
//emit bookmarksLoaded(*bm);
|
|
||||||
}
|
|
||||||
if (bm->getLastPage() == index) {
|
|
||||||
QImage p;
|
|
||||||
p.loadFromData(_pages[index]);
|
|
||||||
bm->setLastPage(index, p);
|
|
||||||
emit bookmarksUpdated();
|
|
||||||
//emit bookmarksLoaded(*bm);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
void Comic::setPageLoaded(int page)
|
void Comic::setPageLoaded(int page)
|
||||||
@ -393,7 +378,7 @@ bool FileComic::load(const QString &path, const ComicDB &comic)
|
|||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
//QMessageBox::critical(NULL,tr("Not found"),tr("Comic not found")+" : " + path);
|
//QMessageBox::critical(NULL,tr("Not found"),tr("Comic not found")+" : " + path);
|
||||||
//moveToThread(QCoreApplication::instance()->thread());
|
moveToThread(QCoreApplication::instance()->thread());
|
||||||
emit errorOpening();
|
emit errorOpening();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -534,32 +519,11 @@ QList<QVector<quint32>> FileComic::getSections(int §ionIndex)
|
|||||||
sections.append(section2);
|
sections.append(section2);
|
||||||
//out << "SPLIT" << endl;
|
//out << "SPLIT" << endl;
|
||||||
|
|
||||||
idx++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (sectionIndex == sectionCount) //found
|
|
||||||
{
|
|
||||||
if (section.indexOf(realIdx) != 0) {
|
|
||||||
QVector<quint32> section1;
|
|
||||||
QVector<quint32> section2;
|
|
||||||
foreach (quint32 si, section) {
|
|
||||||
if (si < realIdx) {
|
|
||||||
section1.append(si);
|
|
||||||
} else {
|
|
||||||
section2.append(si);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
sectionIndex++;
|
|
||||||
sections.append(section1);
|
|
||||||
sections.append(section2);
|
|
||||||
//out << "SPLIT" << endl;
|
|
||||||
|
|
||||||
} else {
|
|
||||||
sections.append(section);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
sections.append(section);
|
sections.append(section);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
sections.append(section);
|
||||||
}
|
}
|
||||||
|
|
||||||
//out << "se han encontrado : " << sections.count() << " sectionIndex : " << sectionIndex << endl;
|
//out << "se han encontrado : " << sections.count() << " sectionIndex : " << sectionIndex << endl;
|
||||||
@ -570,13 +534,13 @@ void FileComic::process()
|
|||||||
{
|
{
|
||||||
CompressedArchive archive(_path);
|
CompressedArchive archive(_path);
|
||||||
if (!archive.toolsLoaded()) {
|
if (!archive.toolsLoaded()) {
|
||||||
//moveToThread(QCoreApplication::instance()->thread());
|
moveToThread(QCoreApplication::instance()->thread());
|
||||||
emit errorOpening(tr("7z not found"));
|
emit errorOpening(tr("7z not found"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!archive.isValid()) {
|
if (!archive.isValid()) {
|
||||||
//moveToThread(QCoreApplication::instance()->thread());
|
moveToThread(QCoreApplication::instance()->thread());
|
||||||
emit errorOpening(tr("Format not supported"));
|
emit errorOpening(tr("Format not supported"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -587,7 +551,7 @@ void FileComic::process()
|
|||||||
|
|
||||||
if (_fileNames.size() == 0) {
|
if (_fileNames.size() == 0) {
|
||||||
//QMessageBox::critical(NULL,tr("File error"),tr("File not found or not images in file"));
|
//QMessageBox::critical(NULL,tr("File error"),tr("File not found or not images in file"));
|
||||||
//moveToThread(QCoreApplication::instance()->thread());
|
moveToThread(QCoreApplication::instance()->thread());
|
||||||
emit errorOpening();
|
emit errorOpening();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -623,14 +587,14 @@ void FileComic::process()
|
|||||||
|
|
||||||
for (int i = sectionIndex; i < sections.count(); i++) {
|
for (int i = sectionIndex; i < sections.count(); i++) {
|
||||||
if (_invalidated) {
|
if (_invalidated) {
|
||||||
//moveToThread(QCoreApplication::instance()->thread());
|
moveToThread(QCoreApplication::instance()->thread());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
archive.getAllData(sections.at(i), this);
|
archive.getAllData(sections.at(i), this);
|
||||||
}
|
}
|
||||||
for (int i = 0; i < sectionIndex; i++) {
|
for (int i = 0; i < sectionIndex; i++) {
|
||||||
if (_invalidated) {
|
if (_invalidated) {
|
||||||
//moveToThread(QCoreApplication::instance()->thread());
|
moveToThread(QCoreApplication::instance()->thread());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
archive.getAllData(sections.at(i), this);
|
archive.getAllData(sections.at(i), this);
|
||||||
@ -645,7 +609,7 @@ void FileComic::process()
|
|||||||
emit imageLoaded(sortedIndex);
|
emit imageLoaded(sortedIndex);
|
||||||
emit imageLoaded(sortedIndex,_pages[sortedIndex]);
|
emit imageLoaded(sortedIndex,_pages[sortedIndex]);
|
||||||
}*/
|
}*/
|
||||||
//moveToThread(QCoreApplication::instance()->thread());
|
moveToThread(QCoreApplication::instance()->thread());
|
||||||
emit imagesLoaded();
|
emit imagesLoaded();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -700,7 +664,7 @@ void FolderComic::process()
|
|||||||
if (nPages == 0) {
|
if (nPages == 0) {
|
||||||
//TODO emitir este mensaje en otro sitio
|
//TODO emitir este mensaje en otro sitio
|
||||||
//QMessageBox::critical(NULL,QObject::tr("No images found"),QObject::tr("There are not images on the selected folder"));
|
//QMessageBox::critical(NULL,QObject::tr("No images found"),QObject::tr("There are not images on the selected folder"));
|
||||||
//moveToThread(QCoreApplication::instance()->thread());
|
moveToThread(QCoreApplication::instance()->thread());
|
||||||
emit errorOpening();
|
emit errorOpening();
|
||||||
} else {
|
} else {
|
||||||
if (_firstPage == -1) {
|
if (_firstPage == -1) {
|
||||||
@ -723,7 +687,7 @@ void FolderComic::process()
|
|||||||
int i = _firstPage;
|
int i = _firstPage;
|
||||||
while (count < nPages) {
|
while (count < nPages) {
|
||||||
if (_invalidated) {
|
if (_invalidated) {
|
||||||
//moveToThread(QCoreApplication::instance()->thread());
|
moveToThread(QCoreApplication::instance()->thread());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -739,7 +703,7 @@ void FolderComic::process()
|
|||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//moveToThread(QCoreApplication::instance()->thread());
|
moveToThread(QCoreApplication::instance()->thread());
|
||||||
emit imagesLoaded();
|
emit imagesLoaded();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -778,7 +742,7 @@ bool PDFComic::load(const QString &path, int atPage)
|
|||||||
//emit bookmarksLoaded(*bm);
|
//emit bookmarksLoaded(*bm);
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
//moveToThread(QCoreApplication::instance()->thread());
|
moveToThread(QCoreApplication::instance()->thread());
|
||||||
emit errorOpening();
|
emit errorOpening();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -799,7 +763,7 @@ bool PDFComic::load(const QString &path, const ComicDB &comic)
|
|||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
//QMessageBox::critical(NULL,tr("Not found"),tr("Comic not found")+" : " + path);
|
//QMessageBox::critical(NULL,tr("Not found"),tr("Comic not found")+" : " + path);
|
||||||
//moveToThread(QCoreApplication::instance()->thread());
|
moveToThread(QCoreApplication::instance()->thread());
|
||||||
emit errorOpening();
|
emit errorOpening();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -826,12 +790,12 @@ void PDFComic::process()
|
|||||||
if (!pdfComic) {
|
if (!pdfComic) {
|
||||||
//delete pdfComic;
|
//delete pdfComic;
|
||||||
//pdfComic = 0;
|
//pdfComic = 0;
|
||||||
//moveToThread(QCoreApplication::instance()->thread());
|
moveToThread(QCoreApplication::instance()->thread());
|
||||||
emit errorOpening();
|
emit errorOpening();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (pdfComic->isLocked()) {
|
if (pdfComic->isLocked()) {
|
||||||
//moveToThread(QCoreApplication::instance()->thread());
|
moveToThread(QCoreApplication::instance()->thread());
|
||||||
emit errorOpening();
|
emit errorOpening();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -866,7 +830,7 @@ void PDFComic::process()
|
|||||||
for (int i = buffered_index; i < nPages; i++) {
|
for (int i = buffered_index; i < nPages; i++) {
|
||||||
if (_invalidated) {
|
if (_invalidated) {
|
||||||
delete pdfComic;
|
delete pdfComic;
|
||||||
//moveToThread(QCoreApplication::instance()->thread());
|
moveToThread(QCoreApplication::instance()->thread());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -875,14 +839,14 @@ void PDFComic::process()
|
|||||||
for (int i = 0; i < buffered_index; i++) {
|
for (int i = 0; i < buffered_index; i++) {
|
||||||
if (_invalidated) {
|
if (_invalidated) {
|
||||||
delete pdfComic;
|
delete pdfComic;
|
||||||
//moveToThread(QCoreApplication::instance()->thread());
|
moveToThread(QCoreApplication::instance()->thread());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
renderPage(i);
|
renderPage(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
delete pdfComic;
|
delete pdfComic;
|
||||||
//moveToThread(QCoreApplication::instance()->thread());
|
moveToThread(QCoreApplication::instance()->thread());
|
||||||
emit imagesLoaded();
|
emit imagesLoaded();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user