mirror of
https://github.com/YACReader/yacreader
synced 2025-07-17 12:34:37 -04:00
QsLog
YACReader
YACReaderLibrary
comic_vine
db
qml
server
controllers
lib
bfHttpServer
bfLogging
bfTemplateEngine
bfTemplateEngine.pri
template.cpp
template.h
templatecache.cpp
templatecache.h
templateloader.cpp
templateloader.h
documentcache.h
requestmapper.cpp
requestmapper.h
server.pri
startup.cpp
startup.h
static.cpp
static.h
YACReaderLibrary.icns
YACReaderLibrary.pro
add_label_dialog.cpp
add_label_dialog.h
add_library_dialog.cpp
add_library_dialog.h
bundle_creator.cpp
bundle_creator.h
classic_comics_view.cpp
classic_comics_view.h
comic_files_manager.cpp
comic_files_manager.h
comic_flow.cpp
comic_flow.h
comic_flow_widget.cpp
comic_flow_widget.h
comics_remover.cpp
comics_remover.h
comics_view.cpp
comics_view.h
comics_view_transition.cpp
comics_view_transition.h
create_library_dialog.cpp
create_library_dialog.h
db_helper.cpp
db_helper.h
empty_container_info.cpp
empty_container_info.h
empty_folder_widget.cpp
empty_folder_widget.h
empty_label_widget.cpp
empty_label_widget.h
empty_reading_list_widget.cpp
empty_reading_list_widget.h
empty_special_list.cpp
empty_special_list.h
export_comics_info_dialog.cpp
export_comics_info_dialog.h
export_library_dialog.cpp
export_library_dialog.h
files.qrc
grid_comics_view.cpp
grid_comics_view.h
icon.ico
icon.rc
icon2.ico
icon3.ico
images.qrc
images_osx.qrc
images_win.qrc
import_comics_info_dialog.cpp
import_comics_info_dialog.h
import_library_dialog.cpp
import_library_dialog.h
import_widget.cpp
import_widget.h
library_creator.cpp
library_creator.h
library_window.cpp
library_window.h
main.cpp
no_libraries_widget.cpp
no_libraries_widget.h
no_search_results_widget.cpp
no_search_results_widget.h
options_dialog.cpp
options_dialog.h
package_manager.cpp
package_manager.h
properties_dialog.cpp
properties_dialog.h
qml.qrc
qml_osx.qrc
qml_win.qrc
rename_library_dialog.cpp
rename_library_dialog.h
server_config_dialog.cpp
server_config_dialog.h
yacreader_folders_view.cpp
yacreader_folders_view.h
yacreader_history_controller.cpp
yacreader_history_controller.h
yacreader_libraries.cpp
yacreader_libraries.h
yacreader_local_server.cpp
yacreader_local_server.h
yacreader_main_toolbar.cpp
yacreader_main_toolbar.h
yacreader_navigation_controller.cpp
yacreader_navigation_controller.h
yacreader_reading_lists_view.cpp
yacreader_reading_lists_view.h
yacreaderlibrary_de.ts
yacreaderlibrary_es.qm
yacreaderlibrary_es.ts
yacreaderlibrary_fr.ts
yacreaderlibrary_nl.ts
yacreaderlibrary_pt.ts
yacreaderlibrary_ru.ts
yacreaderlibrary_source.ts
yacreaderlibrary_tr.ts
common
compressed_archive
custom_widgets
dependencies
files
images
release
shortcuts_management
tests
CHANGELOG.txt
COPYING.txt
INSTALL.txt
README.txt
YACReader.1
YACReader.desktop
YACReader.pro
YACReaderLibrary.1
YACReaderLibrary.desktop
background.png
cleanOSX.sh
compileOSX.sh
create-dmg
generateVS2010Projects.bat
icon.icns
mktarball.sh
releaseOSX.sh
31 lines
1.1 KiB
C++
31 lines
1.1 KiB
C++
#include "templatecache.h"
|
|
#include <QDateTime>
|
|
#include <QStringList>
|
|
#include <QSet>
|
|
|
|
TemplateCache::TemplateCache(QSettings* settings, QObject* parent)
|
|
:TemplateLoader(settings,parent)
|
|
{
|
|
cache.setMaxCost(settings->value("cacheSize","160000").toInt());//este tamaño antes era 1000000
|
|
cacheTimeout=settings->value("cacheTime","60000").toInt();
|
|
qDebug("TemplateCache: timeout=%i, size=%i",cacheTimeout,cache.maxCost());
|
|
}
|
|
|
|
QString TemplateCache::tryFile(QString localizedName) {
|
|
qint64 now=QDateTime::currentMSecsSinceEpoch();
|
|
// search in cache
|
|
qDebug("TemplateCache: trying cached %s",qPrintable(localizedName));
|
|
CacheEntry* entry=cache.object(localizedName);
|
|
if (entry && (cacheTimeout==0 || entry->created>now-cacheTimeout)) {
|
|
return entry->document;
|
|
}
|
|
// search on filesystem
|
|
entry=new CacheEntry();
|
|
entry->created=now;
|
|
entry->document=TemplateLoader::tryFile(localizedName);
|
|
// Store in cache even when the file did not exist, to remember that there is no such file
|
|
cache.insert(localizedName,entry,entry->document.size());
|
|
return entry->document;
|
|
}
|
|
|