feat: comprehensive Wino Mail updates

- 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
This commit is contained in:
2026-08-23 14:49:58 +02:00
parent 5fcedfa129
commit 0bb8738607
7399 changed files with 44711 additions and 209 deletions
+25 -17
View File
@@ -8,25 +8,17 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
include(FetchContent)
# Option to use mailio-based IMAP (OFF by default to avoid Boost dependency issues)
option(USE_MAILIO_IMAP "Use mailio-based IMAP synchronizer (requires Boost)" OFF)
option(USE_MAILIO_IMAP "Use mailio-based IMAP synchronizer (requires Boost)" ON)
if (USE_MAILIO_IMAP)
# Fetch Boost first (required by mailio)
FetchContent_Declare(
Boost
GIT_REPOSITORY https://github.com/boostorg/boost.git
GIT_TAG boost-1.85.0
GIT_SHALLOW TRUE
)
FetchContent_MakeAvailable(Boost)
FetchContent_Declare(
mailio
GIT_REPOSITORY https://github.com/karastojko/mailio
GIT_TAG master
GIT_SHALLOW TRUE
)
FetchContent_MakeAvailable(mailio)
# Use pre-built mailio and Boost from thirdparty/
list(APPEND CMAKE_PREFIX_PATH "${PROJECT_SOURCE_DIR}/thirdparty/boost" "${PROJECT_SOURCE_DIR}/thirdparty/mailio")
# Find Boost components
find_package(Boost 1.90.0 EXACT COMPONENTS date_time regex REQUIRED CONFIG)
# Find mailio
find_package(mailio REQUIRED CONFIG)
endif()
find_package(Qt6 COMPONENTS Core Gui Widgets Network Sql Test Concurrent REQUIRED)
@@ -72,6 +64,7 @@ set(SRC_FILES
src/services/mimestorage.cpp
src/services/folderservice.cpp
src/services/synchronizer.cpp
src/services/rulesengine.cpp
src/services/imap/imapsynchronizer.cpp
src/services/imap/imapconnection.cpp
src/services/outlook/outlooksynchronizer.cpp
@@ -81,6 +74,9 @@ set(SRC_FILES
src/db/dao/accountdao.cpp
src/db/dao/folderdao.cpp
src/db/dao/mailitemdao.cpp
src/db/dao/categorydao.cpp
src/db/dao/ruledao.cpp
src/db/dao/templatedao.cpp
src/db/dbchangeprocessor.cpp
src/core/eventbus.cpp
src/utils/notificationmanager.cpp
@@ -117,6 +113,18 @@ set(SRC_FILES
src/ui/calendarview.h
src/ui/connectionwizard.cpp
src/ui/connectionwizard.h
src/ui/categorytreewidget.cpp
src/ui/categorytreewidget.h
src/ui/rulesmanagerdialog.cpp
src/ui/rulesmanagerdialog.h
src/ui/ruleditordialog.cpp
src/ui/ruleditordialog.h
src/ui/templateeditordialog.cpp
src/ui/templateeditordialog.h
src/ui/templatesmanagerdialog.cpp
src/ui/templatesmanagerdialog.h
src/ui/signaturemanagerdialog.cpp
src/ui/signaturemanagerdialog.h
src/syncscheduler.cpp
thirdparty/tags/src/tags_line_edit.cpp
thirdparty/tags/src/tags_edit.cpp