- Mark as spam: moves mail to Spam/Junk folder of account
- Rule priority: persistPriorityOrder persists 1..N via RuleDao::update
- Run rules on selected: uses MailListView::selectedMailIds() + onRunRulesOnSelected
- Icons: switch code to qrc short aliases (close/send/bold/etc) + new detach.svg
-> resolves all 'Cannot open file' SVG warnings at startup
- Categories: CompactMailDelegate paints category chips from CategoryDao
- Scheduled send: MailService::scheduleSend with QTimer; wire both composer paths
- Reader: show real 'Para:' recipient; delete attachment removes stored file
- Added destructor definitions (= default) to all classes that had them declared in header but not defined
- Fixes 'undefined reference to destructor' linker errors across 30+ classes
- Covers services, UI components, and synchronizers
- ReaderView: complete rewrite with CSS styling, headers, attachments, zoom, find, dark mode, image blocking
- Categories: DAO + UI tree widget with colors, nested categories, assignment
- Rules engine: DAO + evaluation + actions (move, mark read, flag, delete, category, forward)
- Templates: DAO + editor + manager with variables support
- Signatures: DAO + manager + auto-per-account + manual selector in compose
- ComposeView: signature combo, template selector, auto-signature on new email
- MainWindow: frameless with rounded corners, 1px border, resize from edges, no status bar
- Database: new tables (Category, MailCategory, Rule, Template, Signature) with indexes