diff --git a/src/ui/mainmainwindow.cpp b/src/ui/mainmainwindow.cpp index ba14eed..8dfb6d8 100644 --- a/src/ui/mainmainwindow.cpp +++ b/src/ui/mainmainwindow.cpp @@ -2,6 +2,9 @@ #include "core/models/account.h" #include "core/mailitem.h" #include "db/dao/mailitemdao.h" +#include "db/dao/folderdao.h" +#include +#include #include "ui/accountsetupdialog.h" #include #include @@ -223,6 +226,16 @@ void MainMainWindow::onFolderSelected(const QModelIndex &index) { if (itemType == FolderTreeItem::FolderNode) { m_currentFolderId = index.data(FolderListModel::FolderIdRole).toInt(); m_emailModel->setFolderId(m_currentFolderId); + // Fetch mails for this folder + std::optional 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(); } }