Added a new setting for improving the performance in the remote browser by showing less information about folders. REMOTE_BROWSE_PERFORMANCE_WORKAROUND

This commit is contained in:
Luis Ángel San Martín 2017-09-16 10:01:10 +02:00
parent c06fb71a52
commit b28e9e4e68
4 changed files with 46 additions and 6 deletions

View File

@ -10,6 +10,7 @@
#include "../static.h"
#include "qnaturalsorting.h"
#include "yacreader_global.h"
#include "QsLog.h"
@ -25,6 +26,11 @@ FolderController::FolderController() {}
void FolderController::service(HttpRequest& request, HttpResponse& response)
{
QSettings * settings = new QSettings(YACReader::getSettingsPath()+"/YACReaderLibrary.ini",QSettings::IniFormat); //TODO unificar la creación del fichero de config con el servidor
settings->beginGroup("libraryConfig");
bool showlessInfoPerFolder = settings->value(REMOTE_BROWSE_PERFORMANCE_WORKAROUND,false).toBool();
HttpSession session=Static::sessionStore->getSession(request,response,false);
response.setHeader("Content-Type", "text/html; charset=utf-8");
@ -167,14 +173,21 @@ void FolderController::service(HttpRequest& request, HttpResponse& response)
{
t.setVariable(QString("element%1.class").arg(i),"folder");
QList<LibraryItem *> children = DBHelper::getFolderComicsFromLibrary(libraryId, item->id);
if(children.length()>0)
if(showlessInfoPerFolder)
{
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));
t.setVariable(QString("element%1.image.url").arg(i),"/images/f.png");
}
else
t.setVariable(QString("element%1.image.url").arg(i),"/images/f.png");
{
QList<LibraryItem *> children = DBHelper::getFolderComicsFromLibrary(libraryId, 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)));
t.setVariable(QString("element%1.cover.browse").arg(i),QString("<a href=\"%1\">").arg(QString("/library/%1/folder/%2").arg(libraryId).arg(item->id)));

View File

@ -147,6 +147,10 @@ ServerConfigDialog::ServerConfigDialog(QWidget * parent)
check->setText(tr("enable the server"));
check->setStyleSheet("QCheckBox {color:#262626; font-size:13px; font-family: Arial;}");
performanceWorkaroundCheck = new QCheckBox(this);
performanceWorkaroundCheck->move(332,354);
performanceWorkaroundCheck->setText(tr("display less information about folders in the browser\nto improve the performance"));
performanceWorkaroundCheck->setStyleSheet("QCheckBox {color:#262626; font-size:13px; font-family: Arial;}");
//accept->move(444, 242);
//check->setLayoutDirection(Qt::RightToLeft);
@ -184,9 +188,12 @@ ServerConfigDialog::ServerConfigDialog(QWidget * parent)
else
check->setChecked(false);
performanceWorkaroundCheck->setChecked(settings->value(REMOTE_BROWSE_PERFORMANCE_WORKAROUND,false).toBool());
settings->endGroup();
connect(check,SIGNAL(stateChanged(int)),this,SLOT(enableServer(int)));
connect(performanceWorkaroundCheck,SIGNAL(stateChanged(int)),this,SLOT(enableperformanceWorkaround(int)));
}
void ServerConfigDialog::enableServer(int status)
@ -208,7 +215,23 @@ void ServerConfigDialog::enableServer(int status)
port->setText("");
settings->setValue(SERVER_ON,false);
}
settings->endGroup();
settings->endGroup();
}
void ServerConfigDialog::enableperformanceWorkaround(int status)
{
QSettings * settings = new QSettings(YACReader::getSettingsPath()+"/YACReaderLibrary.ini",QSettings::IniFormat); //TODO unificar la creación del fichero de config con el servidor
settings->beginGroup("libraryConfig");
if(status == Qt::Checked)
{
settings->setValue(REMOTE_BROWSE_PERFORMANCE_WORKAROUND,true);
}
else
{
settings->setValue(REMOTE_BROWSE_PERFORMANCE_WORKAROUND,false);
}
settings->endGroup();
}
void ServerConfigDialog::generateQR()

View File

@ -21,6 +21,7 @@ Q_OBJECT
QLineEdit * port;
QCheckBox * check;
QCheckBox * performanceWorkaroundCheck;
QPushButton * close;
QPushButton * accept;
@ -35,6 +36,7 @@ Q_OBJECT
void regenerateQR(const QString & ip);
void updateImage();
void enableServer(int status);
void enableperformanceWorkaround(int status);
void updatePort();
signals:
void portChanged(QString port);

View File

@ -14,6 +14,8 @@
#define BLUR_RADIUS_BACKGROUND_IMAGE_IN_GRID_VIEW "BLUR_RADIUS_BACKGROUND_IMAGE_IN_GRID_VIEW"
#define USE_SELECTED_COMIC_COVER_AS_BACKGROUND_IMAGE_IN_GRID_VIEW "USE_SELECTED_COMIC_COVER_AS_BACKGROUND_IMAGE_IN_GRID_VIEW"
#define REMOTE_BROWSE_PERFORMANCE_WORKAROUND "REMOTE_BROWSE_PERFORMANCE_WORKAROUND"
#define NUM_DAYS_BETWEEN_VERSION_CHECKS "NUM_DAYS_BETWEEN_VERSION_CHECKS"
#define LAST_VERSION_CHECK "LAST_VERSION_CHECK"