fix: fetch emails when folder is selected in tree view

This commit is contained in:
2026-06-25 18:10:49 +02:00
parent 967231db3b
commit 8799633447
+13
View File
@@ -2,6 +2,9 @@
#include "core/models/account.h" #include "core/models/account.h"
#include "core/mailitem.h" #include "core/mailitem.h"
#include "db/dao/mailitemdao.h" #include "db/dao/mailitemdao.h"
#include "db/dao/folderdao.h"
#include <optional>
#include <QMessageBox>
#include "ui/accountsetupdialog.h" #include "ui/accountsetupdialog.h"
#include <QVBoxLayout> #include <QVBoxLayout>
#include <QHBoxLayout> #include <QHBoxLayout>
@@ -223,6 +226,16 @@ void MainMainWindow::onFolderSelected(const QModelIndex &index) {
if (itemType == FolderTreeItem::FolderNode) { if (itemType == FolderTreeItem::FolderNode) {
m_currentFolderId = index.data(FolderListModel::FolderIdRole).toInt(); m_currentFolderId = index.data(FolderListModel::FolderIdRole).toInt();
m_emailModel->setFolderId(m_currentFolderId); m_emailModel->setFolderId(m_currentFolderId);
// Fetch mails for this folder
std::optional<Folder> optFolder = FolderDao::findById(m_currentFolderId);
if (optFolder.has_value()) {
Folder folder = optFolder.value();
Account* account = m_accountService->findAccountById(folder.accountId());
if (account) {
m_mailService->fetchMails(QString::number(account->id()), QString::number(m_currentFolderId));
delete account;
}
}
m_emailModel->refresh(); m_emailModel->refresh();
} }
} }