69 lines
2.2 KiB
C++
69 lines
2.2 KiB
C++
#include "changeprocessor.h"
|
|||
|
|
#include "db/dbchangeprocessor.h"
|
||
|
|
#include "core/eventbus.h"
|
||
|
|
#include "core/events.h"
|
||
|
|
#include <QDebug>
|
||
|
|
|
||
|
|
ChangeProcessor::ChangeProcessor(QObject *parent)
|
||
|
|
: QObject(parent)
|
||
|
|
{
|
||
|
|
}
|
||
|
|
|
||
|
|
void ChangeProcessor::processMailItemAdded(const QString &accountId, const MailItem &item)
|
||
|
|
{
|
||
|
|
using namespace WinoMail::Events;
|
||
|
|
|
||
|
|
MailItemAddedEvent event;
|
||
|
|
event.item = item;
|
||
|
|
EVENT_BUS.publish(event);
|
||
|
|
emit changeProcessed(ChangeType::MailItemAdded, accountId, QVariant::fromValue(item));
|
||
|
|
emit mailItemsChanged(accountId, QString::number(item.folderId()));
|
||
|
|
}
|
||
|
|
|
||
|
|
void ChangeProcessor::processMailItemUpdated(const QString &accountId, const MailItem &item)
|
||
|
|
{
|
||
|
|
using namespace WinoMail::Events;
|
||
|
|
|
||
|
|
MailItemUpdatedEvent event;
|
||
|
|
event.item = item;
|
||
|
|
EVENT_BUS.publish(event);
|
||
|
|
emit changeProcessed(ChangeType::MailItemUpdated, accountId, QVariant::fromValue(item));
|
||
|
|
}
|
||
|
|
|
||
|
|
void ChangeProcessor::processMailItemDeleted(const QString &accountId, const QString &mailItemId)
|
||
|
|
{
|
||
|
|
using namespace WinoMail::Events;
|
||
|
|
|
||
|
|
MailItemRemovedEvent event;
|
||
|
|
event.itemUid = mailItemId;
|
||
|
|
event.folderId = accountId.toInt();
|
||
|
|
EVENT_BUS.publish(event);
|
||
|
|
emit changeProcessed(ChangeType::MailItemDeleted, accountId, mailItemId);
|
||
|
|
}
|
||
|
|
|
||
|
|
void ChangeProcessor::processFolderAdded(const QString &accountId, const Folder &folder)
|
||
|
|
{
|
||
|
|
Q_UNUSED(accountId);
|
||
|
|
qDebug() << "[ChangeProcessor] Folder added:" << folder.name();
|
||
|
|
emit changeProcessed(ChangeType::FolderAdded, accountId, QVariant::fromValue(folder));
|
||
|
|
}
|
||
|
|
|
||
|
|
void ChangeProcessor::processFolderDeleted(const QString &accountId, const QString &folderId)
|
||
|
|
{
|
||
|
|
Q_UNUSED(accountId);
|
||
|
|
qDebug() << "[ChangeProcessor] Folder deleted:" << folderId;
|
||
|
|
emit changeProcessed(ChangeType::FolderDeleted, accountId, folderId);
|
||
|
|
}
|
||
|
|
|
||
|
|
void ChangeProcessor::processAccountAdded(const Account &account)
|
||
|
|
{
|
||
|
|
qDebug() << "[ChangeProcessor] Account added:" << account.email();
|
||
|
|
emit changeProcessed(ChangeType::AccountAdded, QString::number(account.id()), QVariant::fromValue(account));
|
||
|
|
}
|
||
|
|
|
||
|
|
void ChangeProcessor::processAccountRemoved(const QString &accountId)
|
||
|
|
{
|
||
|
|
qDebug() << "[ChangeProcessor] Account removed:" << accountId;
|
||
|
|
emit changeProcessed(ChangeType::AccountDeleted, accountId, accountId);
|
||
|
|
}
|