feat: Multi-selection + action bar in MailListView

- MailListView: ExtendedSelection mode for both tree and list views
- Action bar (blue bar) appears when items selected
- Select all checkbox + counter label
- Batch actions: Flag, Mark unread, Move (TODO), Delete, Exit selection
- Signals: selectionChanged, batchFlagRequested, batchDeleteRequested, batchMarkUnreadRequested, batchMoveRequested
- enterMultiSelectMode()/exitMultiSelectMode() state management
- Works in both normal and compact views
This commit is contained in:
2026-08-26 02:38:33 +02:00
parent 3846bd4e9d
commit 43b828fe87
11 changed files with 11023 additions and 10653 deletions
@@ -27264,6 +27264,7 @@ CMakeFiles/wino-mail-qt.dir/src/ui/delegates/CompactMailDelegate.cpp.o
/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
/usr/include/x86_64-linux-gnu/qt6/QtGui/QPainterPath
/usr/include/x86_64-linux-gnu/qt6/QtGui/QPixmap
/usr/include/x86_64-linux-gnu/qt6/QtGui/QTransform
/usr/include/x86_64-linux-gnu/qt6/QtGui/qaction.h
@@ -27286,6 +27287,7 @@ CMakeFiles/wino-mail-qt.dir/src/ui/delegates/CompactMailDelegate.cpp.o
/usr/include/x86_64-linux-gnu/qt6/QtGui/qkeysequence.h
/usr/include/x86_64-linux-gnu/qt6/QtGui/qpaintdevice.h
/usr/include/x86_64-linux-gnu/qt6/QtGui/qpainter.h
/usr/include/x86_64-linux-gnu/qt6/QtGui/qpainterpath.h
/usr/include/x86_64-linux-gnu/qt6/QtGui/qpalette.h
/usr/include/x86_64-linux-gnu/qt6/QtGui/qpen.h
/usr/include/x86_64-linux-gnu/qt6/QtGui/qpixelformat.h
@@ -28586,12 +28588,14 @@ CMakeFiles/wino-mail-qt.dir/src/ui/maillistview.cpp.o
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/QLabel
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/QLineEdit
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/QListView
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/QMenu
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/QPushButton
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/QScrollBar
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/QStackedWidget
/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/QToolButton
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/QTreeView
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/QVBoxLayout
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/QWidget
@@ -28613,6 +28617,7 @@ CMakeFiles/wino-mail-qt.dir/src/ui/maillistview.cpp.o
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qlayoutitem.h
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qlineedit.h
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qlistview.h
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qmenu.h
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qpushbutton.h
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qrubberband.h
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qscrollbar.h
@@ -28624,6 +28629,7 @@ CMakeFiles/wino-mail-qt.dir/src/ui/maillistview.cpp.o
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qstyleoption.h
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qtabbar.h
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qtabwidget.h
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qtoolbutton.h
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qtreeview.h
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qtwidgets-config.h
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qtwidgetsexports.h