a?adida la capacidad de ocultar completamente el "comic flow", ha sido necesario modificar el c?digo de pictureflow para evitar un error inesperado al renderizar

completada la b?squeda con el soporte para incluir el nombre de los archivos, aunque falta por a?adir el scroll autom?tico

arreglada la actualizaci?n de las librer?as, ahora se a?ade el nodo ra?z a la tabla folder, el nodo ra?z ahora tiene id=1 y padre 1, se debe excluir de todas las b?squedas
This commit is contained in:
Luis Ángel San Martín
2012-06-03 16:21:01 +02:00
parent b551c9484a
commit 2bc1c4f4c3
16 changed files with 297 additions and 107 deletions

View File

@ -25,8 +25,15 @@ QSqlDatabase DataBaseManagement::createDatabase(QString name, QString path)
qDebug() << db.lastError();
else {
qDebug() << db.tables();
db.close();
}
QSqlQuery pragma("PRAGMA foreign_keys = ON",db);
DataBaseManagement::createTables(db);
QSqlQuery query("INSERT INTO folder (parentId, name, path) "
"VALUES (1,'root', '/')",db);
//db.close();
return db;
}
@ -37,9 +44,32 @@ QSqlDatabase DataBaseManagement::loadDatabase(QString path)
db.setDatabaseName(path+"/library.ydb");
if (!db.open()) {
//se devuelve una base de datos vac<61>a e inv<6E>lida
return QSqlDatabase();
}
QSqlQuery pragma("PRAGMA foreign_keys = ON",db);
//devuelve la base de datos
return db;
}
bool DataBaseManagement::createTables(QSqlDatabase & database)
{
bool success = true;
//FOLDER (representa una carpeta en disco)
QSqlQuery queryFolder(database);
queryFolder.prepare("CREATE TABLE folder (id INTEGER PRIMARY KEY, parentId INTEGER NOT NULL, name TEXT NOT NULL, path TEXT NOT NULL, FOREIGN KEY(parentId) REFERENCES folder(id) ON DELETE CASCADE)");
success = success && queryFolder.exec();
//COMIC INFO (representa la informaci<63>n de un c<>mic, cada c<>mic tendr<64> un id<69>ntificador <20>nico formado por un hash sha1'de los primeros 512kb' + su tama<6D>o en bytes)
QSqlQuery queryComicInfo(database);
queryComicInfo.prepare("CREATE TABLE comic_info (id INTEGER PRIMARY KEY, hash TEXT NOT NULL, name TEXT, read BOOLEAN)");
success = success && queryComicInfo.exec();
//COMIC (representa un c<>mic en disco, contiene el nombre de fichero)
QSqlQuery queryComic(database);
queryComic.prepare("CREATE TABLE comic (id INTEGER PRIMARY KEY, parentId INTEGER NOT NULL, comicInfoId INTEGER NOT NULL, fileName TEXT NOT NULL, path TEXT, FOREIGN KEY(parentId) REFERENCES folder(id) ON DELETE CASCADE, FOREIGN KEY(comicInfoId) REFERENCES comic_info(id))");
success = success && queryComic.exec();
return success;
}