Add delay to directory reload

This commit is contained in:
2024-08-25 22:20:41 +02:00
parent 79dd7d91eb
commit 87d7bd2d9f
2 changed files with 15 additions and 1 deletions
+12 -1
View File
@@ -114,6 +114,11 @@ ImageRingList::ImageRingList(Database *database, const QStringList &nameFilter,
m_slideShowTimer = new QTimer(this);
connect(m_slideShowTimer, &QTimer::timeout, this, static_cast<void (ImageRingList::*)()>(&ImageRingList::increment));
m_dirChangeDelay = new QTimer(this);
m_dirChangeDelay->setInterval(3000);
m_dirChangeDelay->setSingleShot(true);
connect(m_dirChangeDelay, &QTimer::timeout, this, &ImageRingList::reloadDir);
}
ImageRingList::~ImageRingList()
@@ -496,13 +501,19 @@ void ImageRingList::imageLoaded(Image *image)
}
void ImageRingList::dirChanged(QString dir)
{
m_currentDir = dir;
m_dirChangeDelay->start();
}
void ImageRingList::reloadDir()
{
QString currentFile;
if(m_images.size())
currentFile = (*m_currImage)->name();
setDir(dir, currentFile);
setDir(m_currentDir, currentFile);
if(m_images.size())
emit currentImageChanged(m_currImage-m_images.begin());
}