- Add support for display time windows for images in folder.options

- the times are defined in a JSON array with start and end times, if inside the window the image is valid to display
This commit is contained in:
Alfred Reynolds
2021-08-12 17:40:56 +12:00
parent 6784a5dcb3
commit de7af88e53
5 changed files with 78 additions and 4 deletions

View File

@@ -3,7 +3,9 @@
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonValue>
#include <QJsonArray>
#include <QDateTime>
#include <QTime>
#include <QFileInfo>
#include <QDir>
@@ -90,6 +92,28 @@ Config loadConfiguration(const std::string &configFilePath, const Config &curren
userConfig.blurRadius = (int)jsonDoc["blur"].toDouble();
}
if(jsonDoc.contains("times") && jsonDoc["times"].isArray())
{
QJsonArray jsonArray = jsonDoc["times"].toArray();
foreach (const QJsonValue & value, jsonArray)
{
QJsonObject obj = value.toObject();
if(obj.contains("start") || obj.contains("end"))
{
DisplayTimeWindow window;
if(obj.contains("start"))
{
window.startDisplay = QTime::fromString(obj["start"].toString());
}
if(obj.contains("end"))
{
window.endDisplay = QTime::fromString(obj["end"].toString());
}
userConfig.baseDisplayOptions.timeWindows.append(window);
}
}
}
userConfig.loadTime = QDateTime::currentDateTime();
return userConfig;
}