feat: Drag & drop between folders

- MailListView: setDragEnabled, setAcceptDrops, setDropIndicatorShown, setDragDropMode(DragDrop)
- Custom MIME type: application/x-wino-mail-ids with QVector<int> mail IDs
- mousePressEvent + mouseMoveEvent for drag initiation (standard Qt drag distance)
- initDrag() creates QDrag with selected mail IDs
- dragEnterEvent, dragMoveEvent, dropEvent handlers
- dropEvent emits batchMoveRequested(mailIds, targetFolderId)
- Works in both tree view and compact list view
This commit is contained in:
2026-08-26 04:05:56 +02:00
parent 3a3a7b0ff8
commit 6d1feabfc5
10 changed files with 13316 additions and 13205 deletions
@@ -602,4 +602,8 @@ CMakeFiles/wino-mail-qt.dir/src/ui/maillistview.cpp.o: \
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/QToolButton \
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qtoolbutton.h \
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/QMenu \
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qmenu.h
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qmenu.h \
/usr/include/x86_64-linux-gnu/qt6/QtGui/QDrag \
/usr/include/x86_64-linux-gnu/qt6/QtGui/qdrag.h \
/usr/include/x86_64-linux-gnu/qt6/QtCore/QMimeData \
/usr/include/x86_64-linux-gnu/qt6/QtCore/qmimedata.h