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
@@ -28313,6 +28313,7 @@ CMakeFiles/wino-mail-qt.dir/src/ui/maillistview.cpp.o: /mnt/c/Users/javie/Docume
/usr/include/x86_64-linux-gnu/qt6/QtCore/QEvent \
/usr/include/x86_64-linux-gnu/qt6/QtCore/QHash \
/usr/include/x86_64-linux-gnu/qt6/QtCore/QList \
/usr/include/x86_64-linux-gnu/qt6/QtCore/QMimeData \
/usr/include/x86_64-linux-gnu/qt6/QtCore/QModelIndex \
/usr/include/x86_64-linux-gnu/qt6/QtCore/QMutex \
/usr/include/x86_64-linux-gnu/qt6/QtCore/QObject \
@@ -28402,6 +28403,7 @@ CMakeFiles/wino-mail-qt.dir/src/ui/maillistview.cpp.o: /mnt/c/Users/javie/Docume
/usr/include/x86_64-linux-gnu/qt6/QtCore/qmetacontainer.h \
/usr/include/x86_64-linux-gnu/qt6/QtCore/qmetaobject.h \
/usr/include/x86_64-linux-gnu/qt6/QtCore/qmetatype.h \
/usr/include/x86_64-linux-gnu/qt6/QtCore/qmimedata.h \
/usr/include/x86_64-linux-gnu/qt6/QtCore/qminmax.h \
/usr/include/x86_64-linux-gnu/qt6/QtCore/qmutex.h \
/usr/include/x86_64-linux-gnu/qt6/QtCore/qnamespace.h \
@@ -28475,6 +28477,7 @@ CMakeFiles/wino-mail-qt.dir/src/ui/maillistview.cpp.o: /mnt/c/Users/javie/Docume
/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/QDrag \
/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 \
@@ -28486,6 +28489,7 @@ CMakeFiles/wino-mail-qt.dir/src/ui/maillistview.cpp.o: /mnt/c/Users/javie/Docume
/usr/include/x86_64-linux-gnu/qt6/QtGui/qbrush.h \
/usr/include/x86_64-linux-gnu/qt6/QtGui/qcolor.h \
/usr/include/x86_64-linux-gnu/qt6/QtGui/qcursor.h \
/usr/include/x86_64-linux-gnu/qt6/QtGui/qdrag.h \
/usr/include/x86_64-linux-gnu/qt6/QtGui/qevent.h \
/usr/include/x86_64-linux-gnu/qt6/QtGui/qeventpoint.h \
/usr/include/x86_64-linux-gnu/qt6/QtGui/qfont.h \
@@ -42735,6 +42739,10 @@ wino-mail-qt_autogen/GQ6NBGVJMG/moc_accountservice.cpp:
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/QScrollBar:
/usr/include/x86_64-linux-gnu/qt6/QtGui/qdrag.h:
/usr/include/x86_64-linux-gnu/qt6/QtGui/QDrag:
/usr/include/x86_64-linux-gnu/qt6/QtGui/qpainterpath.h:
/usr/include/x86_64-linux-gnu/qt6/QtGui/QCursor:
@@ -43959,6 +43967,8 @@ CMakeFiles/wino-mail-qt.dir/src/services/synchronizer.cpp.o:
/mnt/c/Users/javie/Documents/Codex/2026-08-11/revisar-2/wino-mail-dtkqt/icons.qrc:
/usr/include/x86_64-linux-gnu/qt6/QtCore/QMimeData:
/usr/include/x86_64-linux-gnu/qt6/QtCore/QDeadlineTimer:
/usr/include/x86_64-linux-gnu/qt6/QtCore/qlist.h: