feat: responsive compact mail view + folder unread badges

- CompactMailDelegate: card-based view for narrow panels (<420px)
  * Avatar with hash-based color, sender + date (relative format)
  * Subject line with attachment icon
  * Action buttons: flag, delete, category, more (context menu)
  * Unread highlight with light blue background + bold sender
- MailListView: automatic switch between tree/table (wide) and list/cards (narrow)
  * QStackedWidget with QTreeView + QListView sharing same proxy model
  * resizeEvent threshold at 420px
  * Signals forwarded to MainMainWindow for actions
- FolderTreeDelegate: custom paint for folder tree
  * Unread count badge (blue pill) right-aligned on folder nodes
  * Account nodes bold, folder nodes normal weight
  * Proper indentation per depth level
- MailItemDao::countUnreadByFolderId() for real-time unread counts
- MainMainWindow handlers for compact actions (flag, delete, category, more menu)
This commit is contained in:
2026-08-24 23:25:13 +02:00
parent 705fe32e66
commit 4c4fec7a0a
846 changed files with 498002 additions and 52534 deletions
+117 -15
View File
@@ -54,20 +54,22 @@ RM = /usr/bin/cmake -E rm -f
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /mnt/c/Users/javie/wino-mail-dtkqt
CMAKE_SOURCE_DIR = /mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /mnt/c/Users/javie/wino-mail-dtkqt/build
CMAKE_BINARY_DIR = /mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/build
#=============================================================================
# Directory level rules for the build root directory
# The main recursive "all" target.
all: CMakeFiles/wino-mail-qt.dir/all
all: CMakeFiles/test_mimestorage.dir/all
.PHONY : all
# The main recursive "codegen" target.
codegen: CMakeFiles/wino-mail-qt.dir/codegen
codegen: CMakeFiles/test_mimestorage.dir/codegen
.PHONY : codegen
# The main recursive "preinstall" target.
@@ -76,26 +78,29 @@ preinstall:
# The main recursive "clean" target.
clean: CMakeFiles/wino-mail-qt.dir/clean
clean: CMakeFiles/test_mimestorage.dir/clean
clean: CMakeFiles/wino-mail-qt_autogen_timestamp_deps.dir/clean
clean: CMakeFiles/wino-mail-qt_autogen.dir/clean
clean: CMakeFiles/test_mimestorage_autogen_timestamp_deps.dir/clean
clean: CMakeFiles/test_mimestorage_autogen.dir/clean
.PHONY : clean
#=============================================================================
# Target rules for target CMakeFiles/wino-mail-qt.dir
# All Build rule for target.
CMakeFiles/wino-mail-qt.dir/all: CMakeFiles/wino-mail-qt_autogen_timestamp_deps.dir/all
CMakeFiles/wino-mail-qt.dir/all: CMakeFiles/wino-mail-qt_autogen.dir/all
CMakeFiles/wino-mail-qt.dir/all: CMakeFiles/wino-mail-qt_autogen_timestamp_deps.dir/all
$(MAKE) $(MAKESILENT) -f CMakeFiles/wino-mail-qt.dir/build.make CMakeFiles/wino-mail-qt.dir/depend
$(MAKE) $(MAKESILENT) -f CMakeFiles/wino-mail-qt.dir/build.make CMakeFiles/wino-mail-qt.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/mnt/c/Users/javie/wino-mail-dtkqt/build/CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50 "Built target wino-mail-qt"
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/build/CMakeFiles --progress-num=8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83 "Built target wino-mail-qt"
.PHONY : CMakeFiles/wino-mail-qt.dir/all
# Build rule for subdir invocation for target.
CMakeFiles/wino-mail-qt.dir/rule: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /mnt/c/Users/javie/wino-mail-dtkqt/build/CMakeFiles 51
$(CMAKE_COMMAND) -E cmake_progress_start /mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/build/CMakeFiles 77
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/wino-mail-qt.dir/all
$(CMAKE_COMMAND) -E cmake_progress_start /mnt/c/Users/javie/wino-mail-dtkqt/build/CMakeFiles 0
$(CMAKE_COMMAND) -E cmake_progress_start /mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/build/CMakeFiles 0
.PHONY : CMakeFiles/wino-mail-qt.dir/rule
# Convenience name for target.
@@ -105,7 +110,7 @@ wino-mail-qt: CMakeFiles/wino-mail-qt.dir/rule
# codegen rule for target.
CMakeFiles/wino-mail-qt.dir/codegen: CMakeFiles/wino-mail-qt_autogen_timestamp_deps.dir/all
$(MAKE) $(MAKESILENT) -f CMakeFiles/wino-mail-qt.dir/build.make CMakeFiles/wino-mail-qt.dir/codegen
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/mnt/c/Users/javie/wino-mail-dtkqt/build/CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50 "Finished codegen for target wino-mail-qt"
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/build/CMakeFiles --progress-num=8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83 "Finished codegen for target wino-mail-qt"
.PHONY : CMakeFiles/wino-mail-qt.dir/codegen
# clean rule for target.
@@ -113,6 +118,39 @@ CMakeFiles/wino-mail-qt.dir/clean:
$(MAKE) $(MAKESILENT) -f CMakeFiles/wino-mail-qt.dir/build.make CMakeFiles/wino-mail-qt.dir/clean
.PHONY : CMakeFiles/wino-mail-qt.dir/clean
#=============================================================================
# Target rules for target CMakeFiles/test_mimestorage.dir
# All Build rule for target.
CMakeFiles/test_mimestorage.dir/all: CMakeFiles/test_mimestorage_autogen_timestamp_deps.dir/all
CMakeFiles/test_mimestorage.dir/all: CMakeFiles/test_mimestorage_autogen.dir/all
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_mimestorage.dir/build.make CMakeFiles/test_mimestorage.dir/depend
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_mimestorage.dir/build.make CMakeFiles/test_mimestorage.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/build/CMakeFiles --progress-num=1,2,3,4,5,6 "Built target test_mimestorage"
.PHONY : CMakeFiles/test_mimestorage.dir/all
# Build rule for subdir invocation for target.
CMakeFiles/test_mimestorage.dir/rule: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/build/CMakeFiles 7
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/test_mimestorage.dir/all
$(CMAKE_COMMAND) -E cmake_progress_start /mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/build/CMakeFiles 0
.PHONY : CMakeFiles/test_mimestorage.dir/rule
# Convenience name for target.
test_mimestorage: CMakeFiles/test_mimestorage.dir/rule
.PHONY : test_mimestorage
# codegen rule for target.
CMakeFiles/test_mimestorage.dir/codegen: CMakeFiles/test_mimestorage_autogen_timestamp_deps.dir/all
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_mimestorage.dir/build.make CMakeFiles/test_mimestorage.dir/codegen
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/build/CMakeFiles --progress-num=1,2,3,4,5,6 "Finished codegen for target test_mimestorage"
.PHONY : CMakeFiles/test_mimestorage.dir/codegen
# clean rule for target.
CMakeFiles/test_mimestorage.dir/clean:
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_mimestorage.dir/build.make CMakeFiles/test_mimestorage.dir/clean
.PHONY : CMakeFiles/test_mimestorage.dir/clean
#=============================================================================
# Target rules for target CMakeFiles/wino-mail-qt_autogen_timestamp_deps.dir
@@ -120,14 +158,14 @@ CMakeFiles/wino-mail-qt.dir/clean:
CMakeFiles/wino-mail-qt_autogen_timestamp_deps.dir/all:
$(MAKE) $(MAKESILENT) -f CMakeFiles/wino-mail-qt_autogen_timestamp_deps.dir/build.make CMakeFiles/wino-mail-qt_autogen_timestamp_deps.dir/depend
$(MAKE) $(MAKESILENT) -f CMakeFiles/wino-mail-qt_autogen_timestamp_deps.dir/build.make CMakeFiles/wino-mail-qt_autogen_timestamp_deps.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/mnt/c/Users/javie/wino-mail-dtkqt/build/CMakeFiles --progress-num= "Built target wino-mail-qt_autogen_timestamp_deps"
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/build/CMakeFiles --progress-num= "Built target wino-mail-qt_autogen_timestamp_deps"
.PHONY : CMakeFiles/wino-mail-qt_autogen_timestamp_deps.dir/all
# Build rule for subdir invocation for target.
CMakeFiles/wino-mail-qt_autogen_timestamp_deps.dir/rule: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /mnt/c/Users/javie/wino-mail-dtkqt/build/CMakeFiles 0
$(CMAKE_COMMAND) -E cmake_progress_start /mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/build/CMakeFiles 0
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/wino-mail-qt_autogen_timestamp_deps.dir/all
$(CMAKE_COMMAND) -E cmake_progress_start /mnt/c/Users/javie/wino-mail-dtkqt/build/CMakeFiles 0
$(CMAKE_COMMAND) -E cmake_progress_start /mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/build/CMakeFiles 0
.PHONY : CMakeFiles/wino-mail-qt_autogen_timestamp_deps.dir/rule
# Convenience name for target.
@@ -137,7 +175,7 @@ wino-mail-qt_autogen_timestamp_deps: CMakeFiles/wino-mail-qt_autogen_timestamp_d
# codegen rule for target.
CMakeFiles/wino-mail-qt_autogen_timestamp_deps.dir/codegen:
$(MAKE) $(MAKESILENT) -f CMakeFiles/wino-mail-qt_autogen_timestamp_deps.dir/build.make CMakeFiles/wino-mail-qt_autogen_timestamp_deps.dir/codegen
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/mnt/c/Users/javie/wino-mail-dtkqt/build/CMakeFiles --progress-num= "Finished codegen for target wino-mail-qt_autogen_timestamp_deps"
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/build/CMakeFiles --progress-num= "Finished codegen for target wino-mail-qt_autogen_timestamp_deps"
.PHONY : CMakeFiles/wino-mail-qt_autogen_timestamp_deps.dir/codegen
# clean rule for target.
@@ -152,14 +190,14 @@ CMakeFiles/wino-mail-qt_autogen_timestamp_deps.dir/clean:
CMakeFiles/wino-mail-qt_autogen.dir/all: CMakeFiles/wino-mail-qt_autogen_timestamp_deps.dir/all
$(MAKE) $(MAKESILENT) -f CMakeFiles/wino-mail-qt_autogen.dir/build.make CMakeFiles/wino-mail-qt_autogen.dir/depend
$(MAKE) $(MAKESILENT) -f CMakeFiles/wino-mail-qt_autogen.dir/build.make CMakeFiles/wino-mail-qt_autogen.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/mnt/c/Users/javie/wino-mail-dtkqt/build/CMakeFiles --progress-num=51 "Built target wino-mail-qt_autogen"
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/build/CMakeFiles --progress-num=84 "Built target wino-mail-qt_autogen"
.PHONY : CMakeFiles/wino-mail-qt_autogen.dir/all
# Build rule for subdir invocation for target.
CMakeFiles/wino-mail-qt_autogen.dir/rule: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /mnt/c/Users/javie/wino-mail-dtkqt/build/CMakeFiles 1
$(CMAKE_COMMAND) -E cmake_progress_start /mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/build/CMakeFiles 1
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/wino-mail-qt_autogen.dir/all
$(CMAKE_COMMAND) -E cmake_progress_start /mnt/c/Users/javie/wino-mail-dtkqt/build/CMakeFiles 0
$(CMAKE_COMMAND) -E cmake_progress_start /mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/build/CMakeFiles 0
.PHONY : CMakeFiles/wino-mail-qt_autogen.dir/rule
# Convenience name for target.
@@ -169,7 +207,7 @@ wino-mail-qt_autogen: CMakeFiles/wino-mail-qt_autogen.dir/rule
# codegen rule for target.
CMakeFiles/wino-mail-qt_autogen.dir/codegen: CMakeFiles/wino-mail-qt_autogen_timestamp_deps.dir/all
$(MAKE) $(MAKESILENT) -f CMakeFiles/wino-mail-qt_autogen.dir/build.make CMakeFiles/wino-mail-qt_autogen.dir/codegen
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/mnt/c/Users/javie/wino-mail-dtkqt/build/CMakeFiles --progress-num=51 "Finished codegen for target wino-mail-qt_autogen"
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/build/CMakeFiles --progress-num=84 "Finished codegen for target wino-mail-qt_autogen"
.PHONY : CMakeFiles/wino-mail-qt_autogen.dir/codegen
# clean rule for target.
@@ -177,6 +215,70 @@ CMakeFiles/wino-mail-qt_autogen.dir/clean:
$(MAKE) $(MAKESILENT) -f CMakeFiles/wino-mail-qt_autogen.dir/build.make CMakeFiles/wino-mail-qt_autogen.dir/clean
.PHONY : CMakeFiles/wino-mail-qt_autogen.dir/clean
#=============================================================================
# Target rules for target CMakeFiles/test_mimestorage_autogen_timestamp_deps.dir
# All Build rule for target.
CMakeFiles/test_mimestorage_autogen_timestamp_deps.dir/all:
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_mimestorage_autogen_timestamp_deps.dir/build.make CMakeFiles/test_mimestorage_autogen_timestamp_deps.dir/depend
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_mimestorage_autogen_timestamp_deps.dir/build.make CMakeFiles/test_mimestorage_autogen_timestamp_deps.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/build/CMakeFiles --progress-num= "Built target test_mimestorage_autogen_timestamp_deps"
.PHONY : CMakeFiles/test_mimestorage_autogen_timestamp_deps.dir/all
# Build rule for subdir invocation for target.
CMakeFiles/test_mimestorage_autogen_timestamp_deps.dir/rule: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/build/CMakeFiles 0
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/test_mimestorage_autogen_timestamp_deps.dir/all
$(CMAKE_COMMAND) -E cmake_progress_start /mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/build/CMakeFiles 0
.PHONY : CMakeFiles/test_mimestorage_autogen_timestamp_deps.dir/rule
# Convenience name for target.
test_mimestorage_autogen_timestamp_deps: CMakeFiles/test_mimestorage_autogen_timestamp_deps.dir/rule
.PHONY : test_mimestorage_autogen_timestamp_deps
# codegen rule for target.
CMakeFiles/test_mimestorage_autogen_timestamp_deps.dir/codegen:
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_mimestorage_autogen_timestamp_deps.dir/build.make CMakeFiles/test_mimestorage_autogen_timestamp_deps.dir/codegen
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/build/CMakeFiles --progress-num= "Finished codegen for target test_mimestorage_autogen_timestamp_deps"
.PHONY : CMakeFiles/test_mimestorage_autogen_timestamp_deps.dir/codegen
# clean rule for target.
CMakeFiles/test_mimestorage_autogen_timestamp_deps.dir/clean:
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_mimestorage_autogen_timestamp_deps.dir/build.make CMakeFiles/test_mimestorage_autogen_timestamp_deps.dir/clean
.PHONY : CMakeFiles/test_mimestorage_autogen_timestamp_deps.dir/clean
#=============================================================================
# Target rules for target CMakeFiles/test_mimestorage_autogen.dir
# All Build rule for target.
CMakeFiles/test_mimestorage_autogen.dir/all: CMakeFiles/test_mimestorage_autogen_timestamp_deps.dir/all
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_mimestorage_autogen.dir/build.make CMakeFiles/test_mimestorage_autogen.dir/depend
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_mimestorage_autogen.dir/build.make CMakeFiles/test_mimestorage_autogen.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/build/CMakeFiles --progress-num=7 "Built target test_mimestorage_autogen"
.PHONY : CMakeFiles/test_mimestorage_autogen.dir/all
# Build rule for subdir invocation for target.
CMakeFiles/test_mimestorage_autogen.dir/rule: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/build/CMakeFiles 1
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/test_mimestorage_autogen.dir/all
$(CMAKE_COMMAND) -E cmake_progress_start /mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/build/CMakeFiles 0
.PHONY : CMakeFiles/test_mimestorage_autogen.dir/rule
# Convenience name for target.
test_mimestorage_autogen: CMakeFiles/test_mimestorage_autogen.dir/rule
.PHONY : test_mimestorage_autogen
# codegen rule for target.
CMakeFiles/test_mimestorage_autogen.dir/codegen: CMakeFiles/test_mimestorage_autogen_timestamp_deps.dir/all
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_mimestorage_autogen.dir/build.make CMakeFiles/test_mimestorage_autogen.dir/codegen
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/build/CMakeFiles --progress-num=7 "Finished codegen for target test_mimestorage_autogen"
.PHONY : CMakeFiles/test_mimestorage_autogen.dir/codegen
# clean rule for target.
CMakeFiles/test_mimestorage_autogen.dir/clean:
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_mimestorage_autogen.dir/build.make CMakeFiles/test_mimestorage_autogen.dir/clean
.PHONY : CMakeFiles/test_mimestorage_autogen.dir/clean
#=============================================================================
# Special targets to cleanup operation of make.