From c66287fb37befd850b25ae575f0f7e5ce1a8c3d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20=C3=81ngel=20San=20Mart=C3=ADn?= Date: Mon, 20 Aug 2012 22:06:18 +0200 Subject: [PATCH] Solucionado bug que evitaba que se creara un biblioteca en un directorio que ya conten?a una biblioteca v?lida --- YACReaderLibrary/library_creator.cpp | 11 +++++++++-- YACReaderLibrary/library_creator.h | 2 ++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/YACReaderLibrary/library_creator.cpp b/YACReaderLibrary/library_creator.cpp index eb7da7f4..171b2d75 100644 --- a/YACReaderLibrary/library_creator.cpp +++ b/YACReaderLibrary/library_creator.cpp @@ -23,12 +23,14 @@ QMutex mutex; //-------------------------------------------------------------------------------- LibraryCreator::LibraryCreator() + :creation(false) { _nameFilter << "*.cbr" << "*.cbz" << "*.rar" << "*.zip" << "*.tar"; } void LibraryCreator::createLibrary(const QString &source, const QString &target) { + creation = true; processLibrary(source,target); } @@ -47,7 +49,7 @@ void LibraryCreator::processLibrary(const QString & source, const QString & targ delTree(target); _mode = CREATOR; } - else + else // _mode = UPDATER; } @@ -93,10 +95,15 @@ void LibraryCreator::run() _database.commit(); _database.close(); QSqlDatabase::removeDatabase(_target); - emit(updated()); + //si estabamos en modo creación, se está añadiendo una librería que ya existía y se ha actualizado antes de añadirse. + if(!creation) + emit(updated()); + else + emit(created()); } msleep(100);//TODO try to solve the problem with the udpate dialog emit(finished()); + creation = false; } void LibraryCreator::stop() diff --git a/YACReaderLibrary/library_creator.h b/YACReaderLibrary/library_creator.h index dedd7043..5f17f5e1 100644 --- a/YACReaderLibrary/library_creator.h +++ b/YACReaderLibrary/library_creator.h @@ -46,6 +46,8 @@ //qulonglong insertFolder(qulonglong parentId,const Folder & folder); //qulonglong insertComic(const Comic & comic); bool stopRunning; + //LibraryCreator está en modo creación si creation == true; + bool creation; signals: void finished(); void coverExtracted(QString);