feat: Wino-style compact mail view with display modes + hover actions

- CompactMailDelegate: 3 display modes (Compact/Medium/Spacious) like WinUI original
  * Compact: 64px, minimal, no preview
  * Medium: 96px, with preview, detailed categories
  * Spacious: 120px, full padding, preview visible
- Hover actions: Reply (↩), Forward (↪), Mark unread (✎) on right side
- Unread dot indicator (top-right, blue) like WinUI
- User-configurable display mode via combo box in filter bar
- MainMainWindow handlers for reply/forward/mark-unread from compact view
- Signals: replyRequested, forwardRequested, markUnreadRequested
This commit is contained in:
2026-08-25 13:41:43 +02:00
parent 4c4fec7a0a
commit fa699b5399
92 changed files with 26111 additions and 13449 deletions
@@ -27124,7 +27124,6 @@ CMakeFiles/wino-mail-qt.dir/src/ui/delegates/CompactMailDelegate.cpp.o: /mnt/c/U
/usr/include/x86_64-linux-gnu/qt6/QtCore/qhashfunctions.h \
/usr/include/x86_64-linux-gnu/qt6/QtCore/qiodevice.h \
/usr/include/x86_64-linux-gnu/qt6/QtCore/qiodevicebase.h \
/usr/include/x86_64-linux-gnu/qt6/QtCore/qitemselectionmodel.h \
/usr/include/x86_64-linux-gnu/qt6/QtCore/qiterable.h \
/usr/include/x86_64-linux-gnu/qt6/QtCore/qiterator.h \
/usr/include/x86_64-linux-gnu/qt6/QtCore/qlatin1stringview.h \
@@ -27211,6 +27210,7 @@ CMakeFiles/wino-mail-qt.dir/src/ui/delegates/CompactMailDelegate.cpp.o: /mnt/c/U
/usr/include/x86_64-linux-gnu/qt6/QtCore/qxptype_traits.h \
/usr/include/x86_64-linux-gnu/qt6/QtCore/qyieldcpu.h \
/usr/include/x86_64-linux-gnu/qt6/QtGui/QColor \
/usr/include/x86_64-linux-gnu/qt6/QtGui/QCursor \
/usr/include/x86_64-linux-gnu/qt6/QtGui/QFontMetrics \
/usr/include/x86_64-linux-gnu/qt6/QtGui/QMouseEvent \
/usr/include/x86_64-linux-gnu/qt6/QtGui/QPainter \
@@ -27262,18 +27262,14 @@ CMakeFiles/wino-mail-qt.dir/src/ui/delegates/CompactMailDelegate.cpp.o: /mnt/c/U
/usr/include/x86_64-linux-gnu/qt6/QtSql/qtsqlexports.h \
/usr/include/x86_64-linux-gnu/qt6/QtSql/qtsqlglobal.h \
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/QApplication \
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/QListView \
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/QStyle \
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/QStyleOptionViewItem \
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/QStyledItemDelegate \
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qabstractitemdelegate.h \
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qabstractitemview.h \
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qabstractscrollarea.h \
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qabstractslider.h \
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qabstractspinbox.h \
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qapplication.h \
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qframe.h \
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qlistview.h \
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qrubberband.h \
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qsizepolicy.h \
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qslider.h \
@@ -30938,9 +30934,11 @@ CMakeFiles/wino-mail-qt.dir/src/ui/models/EmailTreeModel.cpp.o: /mnt/c/Users/jav
CMakeFiles/wino-mail-qt.dir/src/ui/models/FolderListModel.cpp.o: /mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/src/ui/models/FolderListModel.cpp \
/mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/src/core/authenticator.h \
/mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/src/core/models/account.h \
/mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/src/core/mailitem.h \
/mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/src/core/models/folder.h \
/mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/src/db/databasemanager.h \
/mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/src/db/dao/folderdao.h \
/mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/src/db/dao/mailitemdao.h \
/mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/src/services/accountservice.h \
/mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/src/ui/models/FolderListModel.h \
/usr/include/alloca.h \
@@ -41914,6 +41912,8 @@ wino-mail-qt: /lib/x86_64-linux-gnu/libproxy.so.1 \
CMakeFiles/wino-mail-qt.dir/src/ui/composeview.cpp.o \
CMakeFiles/wino-mail-qt.dir/src/ui/connectionwizard.cpp.o \
CMakeFiles/wino-mail-qt.dir/src/ui/contactsview.cpp.o \
CMakeFiles/wino-mail-qt.dir/src/ui/delegates/CompactMailDelegate.cpp.o \
CMakeFiles/wino-mail-qt.dir/src/ui/delegates/FolderTreeDelegate.cpp.o \
CMakeFiles/wino-mail-qt.dir/src/ui/maillistview.cpp.o \
CMakeFiles/wino-mail-qt.dir/src/ui/mainmainwindow.cpp.o \
CMakeFiles/wino-mail-qt.dir/src/ui/models/DateGroupProxyModel.cpp.o \
@@ -41961,12 +41961,16 @@ CMakeFiles/wino-mail-qt.dir/src/ui/mainmainwindow.cpp.o:
CMakeFiles/wino-mail-qt.dir/src/ui/maillistview.cpp.o:
CMakeFiles/wino-mail-qt.dir/src/ui/delegates/FolderTreeDelegate.cpp.o:
CMakeFiles/wino-mail-qt.dir/src/ui/contactsview.cpp.o:
CMakeFiles/wino-mail-qt.dir/src/ui/connectionwizard.cpp.o:
CMakeFiles/wino-mail-qt.dir/src/ui/categorytreewidget.cpp.o:
CMakeFiles/wino-mail-qt.dir/src/ui/delegates/CompactMailDelegate.cpp.o:
CMakeFiles/wino-mail-qt.dir/src/ui/calendarview.cpp.o:
CMakeFiles/wino-mail-qt.dir/src/ui/accountsetupdialog.cpp.o:
@@ -42229,6 +42233,8 @@ wino-mail-qt_autogen/GQ6NBGVJMG/moc_accountservice.cpp:
/usr/include/x86_64-linux-gnu/qt6/QtGui/QCloseEvent:
/usr/include/x86_64-linux-gnu/qt6/QtGui/QCursor:
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qfiledialog.h:
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/QFileIconProvider: