feat: EmailTreeModel grouping modes + MailListView integration

- EmailTreeModel: 4 grouping modes
  * NoGrouping - flat list
  * GroupByDate - chronological groups (Hoy, Ayer, Esta semana...)
  * GroupByThread - conversations with expandable threads (ThreadId from References/In-Reply-To/Message-ID)
  * GroupBySender - groups by sender email/name

- EmailTreeModel thread support:
  * ThreadItem type with expand/collapse
  * ThreadId extraction via ThreadUtils (References > In-Reply-To > Message-ID)
  * Double-click thread node toggles expansion
  * Threads sorted by newest email first, emails within thread oldest first

- EmailTreeModel sender grouping:
  * Groups by sender name/email
  * Senders sorted by newest email first
  * Emails within group newest first

- MailListView: Added 'Agrupar por remitente' to group-by combo
- MailListView: Double-click thread node toggles expansion (not open mail)
- ThreadUtils: parseReferencesHeader, extractThreadId, generateThreadId
This commit is contained in:
2026-08-25 18:53:51 +02:00
parent fa699b5399
commit 6e6fdf9c21
75 changed files with 25631 additions and 12574 deletions
+27
View File
@@ -1746,6 +1746,30 @@ src/utils/notificationmanager.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/wino-mail-qt.dir/build.make CMakeFiles/wino-mail-qt.dir/src/utils/notificationmanager.cpp.s
.PHONY : src/utils/notificationmanager.cpp.s
src/utils/threadutils.o: src/utils/threadutils.cpp.o
.PHONY : src/utils/threadutils.o
# target to build an object file
src/utils/threadutils.cpp.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/wino-mail-qt.dir/build.make CMakeFiles/wino-mail-qt.dir/src/utils/threadutils.cpp.o
.PHONY : src/utils/threadutils.cpp.o
src/utils/threadutils.i: src/utils/threadutils.cpp.i
.PHONY : src/utils/threadutils.i
# target to preprocess a source file
src/utils/threadutils.cpp.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/wino-mail-qt.dir/build.make CMakeFiles/wino-mail-qt.dir/src/utils/threadutils.cpp.i
.PHONY : src/utils/threadutils.cpp.i
src/utils/threadutils.s: src/utils/threadutils.cpp.s
.PHONY : src/utils/threadutils.s
# target to generate assembly for a file
src/utils/threadutils.cpp.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/wino-mail-qt.dir/build.make CMakeFiles/wino-mail-qt.dir/src/utils/threadutils.cpp.s
.PHONY : src/utils/threadutils.cpp.s
test_mimestorage_autogen/mocs_compilation.o: test_mimestorage_autogen/mocs_compilation.cpp.o
.PHONY : test_mimestorage_autogen/mocs_compilation.o
@@ -2169,6 +2193,9 @@ help:
@echo "... src/utils/notificationmanager.o"
@echo "... src/utils/notificationmanager.i"
@echo "... src/utils/notificationmanager.s"
@echo "... src/utils/threadutils.o"
@echo "... src/utils/threadutils.i"
@echo "... src/utils/threadutils.s"
@echo "... test_mimestorage_autogen/mocs_compilation.o"
@echo "... test_mimestorage_autogen/mocs_compilation.i"
@echo "... test_mimestorage_autogen/mocs_compilation.s"