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:
@@ -28587,6 +28587,7 @@ CMakeFiles/wino-mail-qt.dir/src/ui/maillistview.cpp.o
|
||||
/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
|
||||
@@ -28614,6 +28615,7 @@ CMakeFiles/wino-mail-qt.dir/src/ui/maillistview.cpp.o
|
||||
/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
|
||||
|
||||
Reference in New Issue
Block a user