improve handling of images from immich albums
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
#include "immichpathtraverser.h"
|
||||
#include "logger.h"
|
||||
#include <QDateTime>
|
||||
|
||||
ImmichPathTraverser::ImmichPathTraverser(const ImmichConfig &configIn)
|
||||
: PathTraverser(""),
|
||||
@@ -25,10 +26,16 @@ void ImmichPathTraverser::loadAssets()
|
||||
assetNames.insert(asset.id, asset.originalFileName);
|
||||
}
|
||||
Log("Immich assets loaded: ", assetIds.size());
|
||||
lastRefresh = QDateTime::currentDateTime();
|
||||
}
|
||||
|
||||
QStringList ImmichPathTraverser::getImages() const
|
||||
{
|
||||
if (refreshDue())
|
||||
{
|
||||
Log("Immich refresh due, reloading assets.");
|
||||
const_cast<ImmichPathTraverser*>(this)->loadAssets();
|
||||
}
|
||||
return assetIds;
|
||||
}
|
||||
|
||||
@@ -45,3 +52,17 @@ ImageDisplayOptions ImmichPathTraverser::UpdateOptionsForImage(const std::string
|
||||
Q_UNUSED(filename);
|
||||
return options;
|
||||
}
|
||||
|
||||
bool ImmichPathTraverser::refreshDue() const
|
||||
{
|
||||
if (config.refreshSeconds <= 0)
|
||||
return false;
|
||||
if (!lastRefresh.isValid())
|
||||
return true;
|
||||
return lastRefresh.secsTo(QDateTime::currentDateTime()) >= config.refreshSeconds;
|
||||
}
|
||||
|
||||
bool ImmichPathTraverser::shouldReloadImages() const
|
||||
{
|
||||
return refreshDue();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user