Corregido bug relacionado con la comunicaci?n entre ComicFlowGL y la TableView

Modificados los .pro para a?adir las opciones de compilaci?n para VisualStudio

A?adida la clase DBHelper para aislar el servidor web de la UI
This commit is contained in:
Luis Ángel San Martín
2013-02-20 18:57:20 +01:00
parent b85e45d862
commit 32e90bb7d8
13 changed files with 198 additions and 45 deletions

View File

@ -1,8 +1,6 @@
#include "comiccontroller.h"
#include "library_window.h"
extern LibraryWindow * mw;
#include "db_helper.h"
#include "template.h"
#include "../static.h"
@ -33,12 +31,17 @@ void ComicController::service(HttpRequest& request, HttpResponse& response)
// response.write("",true);
// return;
// }
//}
//}
QMap<QString,QString> libraries = mw->getLibraries();
//Aplicar a todos los controladores
//TODO usar LibraryWindow para acceder a informaci<63>n de las bases de datos est<73> mal, hay
//que crear una clase que se encargue de estas cosas
//<2F>Se est<73> accediendo a la UI desde un hilo?
QMap<QString,QString> libraries = DBHelper::getLibraries();
ComicDB comic = mw->getComicInfo(libraryName, comicId);
ComicDB comic = DBHelper::getComicInfo(libraryName, comicId);
session.setDownloadedComic(comic.info.hash);

View File

@ -1,11 +1,9 @@
#include "covercontroller.h"
#include "library_window.h" //get libraries
#include "db_helper.h" //get libraries
#include "template.h"
#include "../static.h"
extern LibraryWindow * mw;
CoverController::CoverController() {}
void CoverController::service(HttpRequest& request, HttpResponse& response)
@ -17,7 +15,7 @@ void CoverController::service(HttpRequest& request, HttpResponse& response)
response.setHeader("Connection","close");
//response.setHeader("Content-Type", "plain/text; charset=ISO-8859-1");
QMap<QString,QString> libraries = mw->getLibraries();
QMap<QString,QString> libraries = DBHelper::getLibraries();
QString path = QUrl::fromPercentEncoding(request.getPath()).toLatin1();
QStringList pathElements = path.split('/');
@ -55,5 +53,11 @@ void CoverController::service(HttpRequest& request, HttpResponse& response)
img.save(&buffer, "JPG");
response.write(ba,true);
}
//DONE else, hay que devolver un 404
else
{
response.setStatus(404,"not found");
response.write("404 not found",true);
}
}

View File

@ -1,10 +1,8 @@
#include "errorcontroller.h"
#include "library_window.h" //get libraries
#include "template.h"
#include "../static.h"
extern LibraryWindow * mw;
ErrorController::ErrorController(int errorCode)
:error(errorCode)

View File

@ -1,5 +1,6 @@
#include "foldercontroller.h"
#include "library_window.h" //get libraries
#include "db_helper.h" //get libraries
#include "comic_db.h"
#include "folder.h"
@ -16,8 +17,6 @@ struct LibraryItemSorter
}
};
extern LibraryWindow * mw;
FolderController::FolderController() {}
void FolderController::service(HttpRequest& request, HttpResponse& response)
@ -36,13 +35,13 @@ void FolderController::service(HttpRequest& request, HttpResponse& response)
QStringList pathElements = path.split('/');
QString libraryName = pathElements.at(2);
qulonglong parentId = pathElements.at(4).toULongLong();
QString folderName = mw->getFolderName(libraryName,parentId);
QString folderName = DBHelper::getFolderName(libraryName,parentId);
if(parentId!=1)
t.setVariable("folder.name",folderName);
else
t.setVariable("folder.name",libraryName);
QList<LibraryItem *> folderContent = mw->getFolderContentFromLibrary(libraryName,parentId);
QList<LibraryItem *> folderComics = mw->getFolderComicsFromLibrary(libraryName,parentId);
QList<LibraryItem *> folderContent = DBHelper::getFolderContentFromLibrary(libraryName,parentId);
QList<LibraryItem *> folderComics = DBHelper::getFolderComicsFromLibrary(libraryName,parentId);
//response.writeText(libraryName);
@ -51,7 +50,7 @@ void FolderController::service(HttpRequest& request, HttpResponse& response)
qSort(folderContent.begin(),folderContent.end(),LibraryItemSorter());
folderComics.clear();
qulonglong backId = mw->getParentFromComicFolderId(libraryName,parentId);
qulonglong backId = DBHelper::getParentFromComicFolderId(libraryName,parentId);
int page = 0;
QByteArray p = request.getParameter("page");

View File

@ -1,5 +1,5 @@
#include "folderinfocontroller.h"
#include "library_window.h" //get libraries
#include "db_helper.h" //get libraries
#include "folder.h"
#include "comic_db.h"
@ -7,7 +7,6 @@
#include "template.h"
#include "../static.h"
extern LibraryWindow * mw;
FolderInfoController::FolderInfoController() {}
@ -19,8 +18,8 @@ void FolderInfoController::service(HttpRequest& request, HttpResponse& response)
QStringList pathElements = path.split('/');
QString libraryName = pathElements.at(2);
qulonglong parentId = pathElements.at(4).toULongLong();
QList<LibraryItem *> folderContent = mw->getFolderContentFromLibrary(libraryName,parentId);
QList<LibraryItem *> folderComics = mw->getFolderComicsFromLibrary(libraryName,parentId);
QList<LibraryItem *> folderContent = DBHelper::getFolderContentFromLibrary(libraryName,parentId);
QList<LibraryItem *> folderComics = DBHelper::getFolderComicsFromLibrary(libraryName,parentId);
Folder * currentFolder;
for(QList<LibraryItem *>::const_iterator itr = folderContent.constBegin();itr!=folderContent.constEnd();itr++)

View File

@ -1,11 +1,9 @@
#include "librariescontroller.h"
#include "library_window.h" //get libraries
#include "db_helper.h" //get libraries
#include "template.h"
#include "../static.h"
extern LibraryWindow * mw;
LibrariesController::LibrariesController() {}
void LibrariesController::service(HttpRequest& request, HttpResponse& response)
@ -40,7 +38,7 @@ void LibrariesController::service(HttpRequest& request, HttpResponse& response)
Template t=Static::templateLoader->getTemplate("libraries_"+session.getDeviceType(),request.getHeader("Accept-Language"));
t.enableWarnings();
QMap<QString,QString> libraries = mw->getLibraries();
QMap<QString,QString> libraries = DBHelper::getLibraries();
QList<QString> names = libraries.keys();
t.loop("library",names.length());