Run folder search filtering in the background

It uses the same approach used by the comics search filter
This commit is contained in:
Luis Ángel San Martín
2021-01-14 11:37:17 +01:00
parent 047fd24609
commit 5343d24f26
7 changed files with 238 additions and 309 deletions

View File

@ -0,0 +1,36 @@
#ifndef FOLDER_QUERY_RESULT_PROCESSOR_H
#define FOLDER_QUERY_RESULT_PROCESSOR_H
#include <QObject>
#include "yacreader_global_gui.h"
#include "concurrent_queue.h"
class FolderItem;
class FolderModel;
class QSqlQuery;
namespace YACReader {
class FolderQueryResultProcessor : public QObject
{
Q_OBJECT
public:
FolderQueryResultProcessor(FolderModel *model);
public slots:
void createModelData(const SearchModifiers modifier, const QString &filter, bool includeComics);
signals:
void newData(QMap<unsigned long long int, FolderItem *> *filteredItems, FolderItem *root);
private:
ConcurrentQueue querySearchQueue;
FolderModel *model;
void setupFilteredModelData(QSqlQuery &sqlquery);
};
};
#endif // FOLDER_QUERY_RESULT_PROCESSOR_H