-
Notifications
You must be signed in to change notification settings - Fork 1
/
localphotolist.cpp
49 lines (39 loc) · 1.03 KB
/
localphotolist.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <QDebug>
#include <QDir>
#include <QFile>
#include <QJsonDocument>
#include <QJsonObject>
#include "filesystem.h"
#include "localphotolist.h"
LocalPhotoList::LocalPhotoList(QObject* parent) : PhotoList(parent)
{
}
void LocalPhotoList::fetch()
{
QDir dir(FileSystem::getAppDataPath() + QString("/data/photos"));
QStringList filters;
filters << "*.json";
dir.setNameFilters(filters);
dir.setFilter(QDir::Files);
dir.setSorting(QDir::Time | QDir::Reversed);
foreach (QString filename, dir.entryList()) {
QFile file(dir.absoluteFilePath(filename));
file.open(QIODevice::ReadOnly | QIODevice::Text);
QString string = file.readAll();
QJsonDocument doc = QJsonDocument::fromJson(string.toUtf8());
QJsonObject json = doc.object();
Photo *photo = new Photo(json);
emit photoParsed(photo);
}
emit allPhotosParsed();
emit reachEnd();
}
void LocalPhotoList::nextPage()
{
page++;
fetch();
}
bool LocalPhotoList::isLocal()
{
return true;
}