added sync back reading progress for remote reading

added covers to remote folders (it could cause performance issues)
added read next/previous to remote reading
This commit is contained in:
Luis Ángel San Martín
2014-07-30 18:28:01 +02:00
parent 093b2b0cb1
commit d584fc2879
13 changed files with 120 additions and 8 deletions

View File

@ -97,9 +97,9 @@ void ComicController::service(HttpRequest& request, HttpResponse& response)
{
//ERROR
}
response.writeText(comic.toTXT(),true);
qDeleteAll(siblings);
}
response.writeText(comic.toTXT(),true);
}
else
{

View File

@ -23,6 +23,8 @@ void CoverController::service(HttpRequest& request, HttpResponse& response)
QString libraryName = DBHelper::getLibraryName(pathElements.at(2).toInt());
QString fileName = pathElements.at(4);
bool folderCover = request.getParameter("folderCover").length()>0;
//response.writeText(path+"<br/>");
//response.writeText(libraryName+"<br/>");
//response.writeText(libraries.value(libraryName)+"/.yacreaderlibrary/covers/"+fileName+"<br/>");
@ -62,6 +64,14 @@ void CoverController::service(HttpRequest& request, HttpResponse& response)
p.drawImage((width-img.width())/2,(height-img.height())/2,img);
if(folderCover)
{
if(session.getDisplayType()=="@2x")
p.drawImage(0,0,QImage(":/images/f_retina.png"));
else
p.drawImage(0,0,QImage(":/images/f.png"));
}
QByteArray ba;
QBuffer buffer(&ba);
buffer.open(QIODevice::WriteOnly);

View File

@ -180,7 +180,15 @@ void FolderController::service(HttpRequest& request, HttpResponse& response)
if(item->isDir())
{
t.setVariable(QString("element%1.class").arg(i),"folder");
t.setVariable(QString("element%1.image.url").arg(i),"/images/f.png");
QList<LibraryItem *> children = DBHelper::getFolderComicsFromLibrary(libraryName, item->id);
if(children.length()>0)
{
const ComicDB * comic = static_cast<ComicDB*>(children.at(0));
t.setVariable(QString("element%1.image.url").arg(i),QString("/library/%1/cover/%2.jpg?folderCover=true").arg(libraryId).arg(comic->info.hash));
}
else
t.setVariable(QString("element%1.image.url").arg(i),"/images/f.png");
t.setVariable(QString("element%1.browse").arg(i),QString("<a class =\"browseButton\" href=\"%1\">browse</a>").arg(QString("/library/%1/folder/%2").arg(libraryId).arg(item->id)));
@ -217,7 +225,7 @@ void FolderController::service(HttpRequest& request, HttpResponse& response)
if(comic->info.hasBeenOpened)
t.setVariable(QString("element%1.pages").arg(i),QString("<span class=\"numPages\">%1/%2 pages</span>").arg(comic->info.currentPage).arg(comic->info.numPages.toInt()));
else
t.setVariable(QString("element%1.pages").arg(i),QString("<span class=\"numPages\">%1</span>").arg(comic->info.numPages.toInt()));
t.setVariable(QString("element%1.pages").arg(i),QString("<span class=\"numPages\">%1 pages</span>").arg(comic->info.numPages.toInt()));
if(comic->info.read)
t.setVariable(QString("element%1.status").arg(i), QString("<div class=\"mark\"><img src=\"/images/readMark.png\" style = \"width: 15px\"/> </div>"));

View File

@ -0,0 +1,46 @@
#include "updatecomiccontroller.h"
#include "db_helper.h"
#include "yacreader_libraries.h"
#include "template.h"
#include "../static.h"
#include "comic_db.h"
#include "comic.h"
#include "QsLog.h"
UpdateComicController::UpdateComicController(){}
void UpdateComicController::service(HttpRequest &request, HttpResponse &response)
{
HttpSession session=Static::sessionStore->getSession(request,response,false);
QString path = QUrl::fromPercentEncoding(request.getPath()).toLatin1();
QStringList pathElements = path.split('/');
qulonglong libraryId = pathElements.at(2).toULongLong();
QString libraryName = DBHelper::getLibraryName(libraryId);
qulonglong comicId = pathElements.at(4).toULongLong();
QString postData = QString::fromUtf8(request.getBody());
QLOG_INFO() << "POST DATA: " << postData;
if(postData.length()>0) {
QList<QString> data = postData.split("\n");
int currentPage = data.at(0).split(":").at(1).toInt();
ComicInfo info;
info.currentPage = currentPage;
info.id = comicId;
DBHelper::updateProgress(libraryId,info);
}
else
{
response.setStatus(412,"No comic info received");
response.writeText("",true);
return;
}
response.write("OK",true);
}

View File

@ -0,0 +1,22 @@
#ifndef UPDATECOMICCONTROLLER_H
#define UPDATECOMICCONTROLLER_H
#include "httprequest.h"
#include "httpresponse.h"
#include "httprequesthandler.h"
class UpdateComicController : public HttpRequestHandler
{
Q_OBJECT
Q_DISABLE_COPY(UpdateComicController);
public:
UpdateComicController();
/** Generates the response */
void service(HttpRequest& request, HttpResponse& response);
};
#endif // UPDATECOMICCONTROLLER_H