Add file list sorting

This commit is contained in:
2023-03-11 10:41:26 +01:00
parent a9783f6030
commit fde1594086
12 changed files with 121 additions and 5 deletions
+26 -1
View File
@@ -129,7 +129,9 @@ bool ImageRingList::setDir(const QString path, const QString &currentFile)
if(dir.exists())
{
QStringList list = dir.entryList(m_nameFilter, QDir::Files | QDir::Readable, m_liveMode ? QDir::Time : QDir::Name | QDir::IgnoreCase);
QDir::SortFlags sortFlags = m_liveMode ? QDir::Time : m_sort | QDir::IgnoreCase;
if(m_reversed)sortFlags |= QDir::Reversed;
QStringList list = dir.entryList(m_nameFilter, QDir::Files | QDir::Readable, sortFlags);
QStringList absolutePaths;
foreach(const QString &file, list)
{
@@ -377,6 +379,29 @@ void ImageRingList::setPreload(int width)
m_width = newWidth;
}
void ImageRingList::setSort(QDir::SortFlag sort)
{
if(m_sort != sort)
{
m_sort = sort;
if(m_images.size())
{
QString path = (*m_currImage)->name();
setFile(path);
}
}
}
void ImageRingList::reverseSort()
{
m_reversed = !m_reversed;
if(m_images.size())
{
QString path = (*m_currImage)->name();
setFile(path);
}
}
void ImageRingList::setFiles(const QStringList files, const QString &currentFile)
{
QThreadPool::globalInstance()->clear();