ukui-search/index/messagelist-manager.cpp

65 lines
1.7 KiB
C++
Raw Normal View History

2020-12-21 19:57:44 +08:00
#include "messagelist-manager.h"
2020-12-21 18:50:54 +08:00
#include <QDebug>
2020-12-24 20:38:26 +08:00
#include <QThread>
#include <QStringList>
#include <QTimer>
//#include <unistd.h>
2020-12-21 18:50:54 +08:00
MessageListManager::MessageListManager(){
this->messageList = new QList<QVector<QString>>();
2020-12-21 18:50:54 +08:00
this->ig = IndexGenerator::getInstance();
2020-12-24 20:38:26 +08:00
// indexGeneratorThread = new QThread();
// this->ig->moveToThread(indexGeneratorThread);
// connect(this,&MessageListManager::Send, this->ig, &IndexGenerator::creatAllIndex/*, Qt::QueuedConnection*/);
// connect(this,&MessageListManager::Send1, this->ig, [=](QStringList *l){
// qDebug()<<"send"<<*l;
// });
2020-12-21 18:50:54 +08:00
}
MessageListManager::~MessageListManager(){
delete this->messageList;
2020-12-24 20:38:26 +08:00
delete this->indexGeneratorThread;
2020-12-21 18:50:54 +08:00
//delete this->ig;
this->messageList = nullptr;
this->ig = nullptr;
2020-12-24 20:38:26 +08:00
this->indexGeneratorThread = nullptr;
2020-12-21 18:50:54 +08:00
}
2020-12-25 20:08:26 +08:00
void MessageListManager::AddMessage(const QVector<QString>& pathVec){
this->messageList->append(pathVec);
2020-12-21 18:50:54 +08:00
if (static_cast<size_t>(this->messageList->length()) >= this->length){
this->SendMessage();
}
}
bool MessageListManager::SendMessage(){
2020-12-24 20:38:26 +08:00
//Q_EMIT Send(this->messageList);
2020-12-21 18:50:54 +08:00
if (this->messageList->empty()){
return true;
}
2020-12-24 20:38:26 +08:00
// Q_EMIT Send(this->messageList);
// qDebug() << "emit";
2020-12-21 18:50:54 +08:00
this->ig->creatAllIndex(this->messageList);
2020-12-24 20:38:26 +08:00
//sleep(1);
this->messageList->clear();
return true;
}
bool MessageListManager::SendDeleteMessage(){
if (this->messageList->empty()){
return true;
}
// this->ig->deleteAllIndex(this->messageList);
2020-12-21 18:50:54 +08:00
this->messageList->clear();
return true;
}
void MessageListManager::SetAutoSendMessageLength(const size_t& length){
this->length = length;
}