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:
+25
-17
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user