feat: Pagination/virtualization (fetchMore) for EmailListModel
- EmailListModel: QAbstractListModel with canFetchMore/fetchMore * Batch loading (default 50 emails per fetch) * Total count query for scrollbar * TotalCountChanged signal * Paginated DB queries: findAllPaginated, findByFolderIdPaginated * Count queries: countAll, countByFolderId - MailItemDao: new paginated methods * findAllPaginated(offset, limit, filters...) * findByFolderIdPaginated(folderId, offset, limit, filters...) * countAll(filters...), countByFolderId(folderId, filters...) - MailListView: scroll-triggered fetchMore * Connects verticalScrollBar valueChanged on both TreeView and ListView * Triggers fetchMore at 90% scroll threshold * onRowsInserted updates EmailTreeModel when new emails arrive * Works in both normal (tree) and compact (list) views
This commit is contained in:
@@ -28537,6 +28537,7 @@ CMakeFiles/wino-mail-qt.dir/src/ui/maillistview.cpp.o: /mnt/c/Users/javie/Docume
|
||||
/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/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 \
|
||||
@@ -28564,6 +28565,7 @@ CMakeFiles/wino-mail-qt.dir/src/ui/maillistview.cpp.o: /mnt/c/Users/javie/Docume
|
||||
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qlistview.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 \
|
||||
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qsizepolicy.h \
|
||||
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qslider.h \
|
||||
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qstackedwidget.h \
|
||||
@@ -42707,10 +42709,6 @@ wino-mail-qt_autogen/GQ6NBGVJMG/moc_accountservice.cpp:
|
||||
|
||||
/usr/include/x86_64-linux-gnu/qt6/QtGui/QTextImageFormat:
|
||||
|
||||
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qscrollbar.h:
|
||||
|
||||
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/QScrollBar:
|
||||
|
||||
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/QGraphicsDropShadowEffect:
|
||||
|
||||
/usr/include/x86_64-linux-gnu/qt6/QtGui/QTextDocument:
|
||||
@@ -42729,6 +42727,10 @@ wino-mail-qt_autogen/GQ6NBGVJMG/moc_accountservice.cpp:
|
||||
|
||||
/usr/include/x86_64-linux-gnu/qt6/QtGui/QCloseEvent:
|
||||
|
||||
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qscrollbar.h:
|
||||
|
||||
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/QScrollBar:
|
||||
|
||||
/usr/include/x86_64-linux-gnu/qt6/QtGui/QCursor:
|
||||
|
||||
/usr/include/x86_64-linux-gnu/qt6/QtWidgets/qfiledialog.h:
|
||||
|
||||
Reference in New Issue
Block a user