diff --git a/YACReaderLibrary/server/controllers/foldercontroller.cpp b/YACReaderLibrary/server/controllers/foldercontroller.cpp index 30aa657f..407880fe 100644 --- a/YACReaderLibrary/server/controllers/foldercontroller.cpp +++ b/YACReaderLibrary/server/controllers/foldercontroller.cpp @@ -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 children = DBHelper::getFolderComicsFromLibrary(libraryId, item->id); - if(children.length()>0) + if(showlessInfoPerFolder) { - const ComicDB * comic = static_cast(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 children = DBHelper::getFolderComicsFromLibrary(libraryId, item->id); + if(children.length()>0) + { + const ComicDB * comic = static_cast(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("BROWSE").arg(QString("/library/%1/folder/%2").arg(libraryId).arg(item->id))); t.setVariable(QString("element%1.cover.browse").arg(i),QString("").arg(QString("/library/%1/folder/%2").arg(libraryId).arg(item->id))); diff --git a/YACReaderLibrary/server_config_dialog.cpp b/YACReaderLibrary/server_config_dialog.cpp index 5ce706d1..58ae6a53 100644 --- a/YACReaderLibrary/server_config_dialog.cpp +++ b/YACReaderLibrary/server_config_dialog.cpp @@ -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() diff --git a/YACReaderLibrary/server_config_dialog.h b/YACReaderLibrary/server_config_dialog.h index dfe441b5..54ed30b3 100644 --- a/YACReaderLibrary/server_config_dialog.h +++ b/YACReaderLibrary/server_config_dialog.h @@ -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); diff --git a/common/yacreader_global.h b/common/yacreader_global.h index 5fcf2b8c..18262e96 100644 --- a/common/yacreader_global.h +++ b/common/yacreader_global.h @@ -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"