javier 7865e1b451 feat: orthogonal date + conversation grouping (Wino-style)
Were mutually exclusive (GroupMode chose ONE). In Wino/Outlook/Gmail the
conversation grouping is an independent flag that combines with date grouping
(Hoy/Ayer/Semana...) — conversations collapse inside each date group.

EmailTreeModel:
- Add independent setGroupByDate / setGroupByThread toggles (+ defaults)
- setupModelData: date grouping is the base; collapseThreads() is applied
  orthogonally after any grouping to collapse threads within each group
- collapseThreads: creates fresh nodes (fixes latent double-free from my
  earlier attempt), recurses into subgroups, single-message threads stay
  plain mail rows under the date group
- m_groupMode default -> GroupByDate

MailListView:
- Replace exclusive group-by combo with two independent checkboxes:
  'Por fecha' + 'Conversaciones' (both on by default)
- onGroupingChanged reads both and applies to the model

Verified against user's real DB (162 mails): date groups (10) + threads
collapse inside them; 5x repeat runs stable (no crash / double-free).
2026-09-04 22:12:00 +02:00

Wino Mail Qt (C++/DTK)

A modern C++/Qt port of Wino Mail for Deepin Linux using DTKWidget.

S
Description
Conversion of Wino-Mail from C# to C++/Qt using DTKWidgets
Readme
205 MiB
2026-06-04 18:29:16 +02:00
Languages
C++ 91.1%
Python 4.3%
C 2%
Makefile 2%
CMake 0.6%