summaryrefslogtreecommitdiffstats
path: root/filewidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'filewidget.cpp')
-rw-r--r--filewidget.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/filewidget.cpp b/filewidget.cpp
index e2be4e1..458dd45 100644
--- a/filewidget.cpp
+++ b/filewidget.cpp
@@ -31,6 +31,7 @@
#include <QApplication>
#include <QContextMenuEvent>
#include <QDirIterator>
+#include <QStandardPaths>
#include "filewidget.h"
#include "filesorter.h"
@@ -47,6 +48,19 @@ FileWidget::FileWidget(QWidget *parent) : QWidget(parent), mCopyToMenu(0) {
mFileCopier = new FileCopier(this);
mCopyProgress = new ProgressDialog;
mFileCache.setMaxCost(500);
+ QString cacheDir = QStandardPaths::locate(QStandardPaths::HomeLocation, ".shemovcleaner", QStandardPaths::LocateDirectory);
+ if(!cacheDir.isEmpty()){
+ QString cacheFile = QString("%1/%2").arg(cacheDir).arg("cfd.dat");
+ QFile f(cacheFile);
+ if(f.open(QIODevice::ReadOnly)){
+ QDataStream in(&f);
+ while(!in.atEnd()){
+ CachedFileData *fd = new CachedFileData;
+ in >> *fd;
+ mFileCache.insert(fd->fullPath, fd);
+ }
+ }
+ }
connect(mFileCopier, SIGNAL(newFile(QString,QString,qint64)), this, SLOT(setupProgress(QString,QString,qint64)));
connect(mFileCopier, SIGNAL(bytesRead(qint64)), this, SLOT(setCopyProgress(qint64)));
connect(mFileCopier, SIGNAL(bytesReadIntval(qint64,qint64)), this, SLOT(setCopySummary(qint64,qint64)));
@@ -59,6 +73,19 @@ FileWidget::FileWidget(QWidget *parent) : QWidget(parent), mCopyToMenu(0) {
FileWidget::~FileWidget(){
writeHeaderData();
writeSettings();
+ QString cacheDir = QStandardPaths::locate(QStandardPaths::HomeLocation, ".shemovcleaner", QStandardPaths::LocateDirectory);
+ if(!cacheDir.isEmpty()){
+ QString cacheFile = QString("%1/%2").arg(cacheDir).arg("cfd.dat");
+ QFile f(cacheFile);
+ if(f.open(QIODevice::WriteOnly)){
+ QDataStream out(&f);
+ QList<QString> entries = mFileCache.keys();
+ for(const QString &e : entries){
+ CachedFileData *entry = mFileCache[e];
+ out << *entry;
+ }
+ }
+ }
}
void FileWidget::setupGui(){