|
| Model (View *pParent) |
|
| ~Model () override |
|
int | columnCount (const QModelIndex &parent=QModelIndex()) const override |
|
MessageItemSetReference | createPersistentSet (const QList< MessageItem * > &items) |
|
QVariant | data (const QModelIndex &index, int role=Qt::DisplayRole) const override |
|
void | deletePersistentSet (MessageItemSetReference ref) |
|
Qt::ItemFlags | flags (const QModelIndex &index) const override |
|
QVariant | headerData (int section, Qt::Orientation orientation, int role) const override |
|
QModelIndex | index (int row, int column, const QModelIndex &parent=QModelIndex()) const override |
|
QModelIndex | index (Item *item, int column) const |
|
bool | isLoading () const |
|
MessageItem * | messageItemByStorageRow (int row) const |
|
QMimeData * | mimeData (const QModelIndexList &indexes) const override |
|
QModelIndex | parent (const QModelIndex &index) const override |
|
QList< MessageItem * > | persistentSetCurrentMessageItemList (MessageItemSetReference ref) |
|
Item * | rootItem () const |
|
int | rowCount (const QModelIndex &parent=QModelIndex()) const override |
|
void | setAggregation (const Aggregation *aggregation) |
|
void | setFilter (const Filter *filter) |
|
void | setPreSelectionMode (PreSelectionMode preSelect) |
|
void | setSortOrder (const SortOrder *sortOrder) |
|
void | setStorageModel (StorageModel *storageModel, PreSelectionMode preSelectionMode=PreSelectLastSelected) |
|
void | setTheme (const Theme *theme) |
|
const SortOrder * | sortOrder () const |
|
StorageModel * | storageModel () const |
|
| QAbstractItemModel (QObject *parent) |
|
virtual QModelIndex | buddy (const QModelIndex &index) const const |
|
virtual bool | canDropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const const |
|
virtual bool | canFetchMore (const QModelIndex &parent) const const |
|
bool | checkIndex (const QModelIndex &index, CheckIndexOptions options) const const |
|
virtual bool | clearItemData (const QModelIndex &index) |
|
void | columnsAboutToBeInserted (const QModelIndex &parent, int first, int last) |
|
void | columnsAboutToBeMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationColumn) |
|
void | columnsAboutToBeRemoved (const QModelIndex &parent, int first, int last) |
|
void | columnsInserted (const QModelIndex &parent, int first, int last) |
|
void | columnsMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationColumn) |
|
void | columnsRemoved (const QModelIndex &parent, int first, int last) |
|
void | dataChanged (const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList< int > &roles) |
|
virtual bool | dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) |
|
virtual void | fetchMore (const QModelIndex &parent) |
|
virtual bool | hasChildren (const QModelIndex &parent) const const |
|
bool | hasIndex (int row, int column, const QModelIndex &parent) const const |
|
bool | insertColumn (int column, const QModelIndex &parent) |
|
virtual bool | insertColumns (int column, int count, const QModelIndex &parent) |
|
bool | insertRow (int row, const QModelIndex &parent) |
|
virtual bool | insertRows (int row, int count, const QModelIndex &parent) |
|
virtual QMap< int, QVariant > | itemData (const QModelIndex &index) const const |
|
void | layoutAboutToBeChanged (const QList< QPersistentModelIndex > &parents, QAbstractItemModel::LayoutChangeHint hint) |
|
void | layoutChanged (const QList< QPersistentModelIndex > &parents, QAbstractItemModel::LayoutChangeHint hint) |
|
virtual QModelIndexList | match (const QModelIndex &start, int role, const QVariant &value, int hits, Qt::MatchFlags flags) const const |
|
virtual QStringList | mimeTypes () const const |
|
void | modelAboutToBeReset () |
|
void | modelReset () |
|
bool | moveColumn (const QModelIndex &sourceParent, int sourceColumn, const QModelIndex &destinationParent, int destinationChild) |
|
virtual bool | moveColumns (const QModelIndex &sourceParent, int sourceColumn, int count, const QModelIndex &destinationParent, int destinationChild) |
|
bool | moveRow (const QModelIndex &sourceParent, int sourceRow, const QModelIndex &destinationParent, int destinationChild) |
|
virtual bool | moveRows (const QModelIndex &sourceParent, int sourceRow, int count, const QModelIndex &destinationParent, int destinationChild) |
|
virtual void | multiData (const QModelIndex &index, QModelRoleDataSpan roleDataSpan) const const |
|
bool | removeColumn (int column, const QModelIndex &parent) |
|
virtual bool | removeColumns (int column, int count, const QModelIndex &parent) |
|
bool | removeRow (int row, const QModelIndex &parent) |
|
virtual bool | removeRows (int row, int count, const QModelIndex &parent) |
|
virtual void | revert () |
|
virtual QHash< int, QByteArray > | roleNames () const const |
|
void | rowsAboutToBeInserted (const QModelIndex &parent, int start, int end) |
|
void | rowsAboutToBeMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationRow) |
|
void | rowsAboutToBeRemoved (const QModelIndex &parent, int first, int last) |
|
void | rowsInserted (const QModelIndex &parent, int first, int last) |
|
void | rowsMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationRow) |
|
void | rowsRemoved (const QModelIndex &parent, int first, int last) |
|
virtual bool | setData (const QModelIndex &index, const QVariant &value, int role) |
|
virtual bool | setItemData (const QModelIndex &index, const QMap< int, QVariant > &roles) |
|
virtual QModelIndex | sibling (int row, int column, const QModelIndex &index) const const |
|
virtual void | sort (int column, Qt::SortOrder order) |
|
virtual QSize | span (const QModelIndex &index) const const |
|
virtual bool | submit () |
|
virtual Qt::DropActions | supportedDragActions () const const |
|
virtual Qt::DropActions | supportedDropActions () const const |
|
| QObject (QObject *parent) |
|
QBindable< QString > | bindableObjectName () |
|
bool | blockSignals (bool block) |
|
const QObjectList & | children () const const |
|
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const |
|
void | deleteLater () |
|
void | destroyed (QObject *obj) |
|
bool | disconnect (const char *signal, const QObject *receiver, const char *method) const const |
|
bool | disconnect (const QObject *receiver, const char *method) const const |
|
void | dumpObjectInfo () const const |
|
void | dumpObjectTree () const const |
|
QList< QByteArray > | dynamicPropertyNames () const const |
|
virtual bool | event (QEvent *e) |
|
virtual bool | eventFilter (QObject *watched, QEvent *event) |
|
T | findChild (const QString &name, Qt::FindChildOptions options) const const |
|
QList< T > | findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const |
|
QList< T > | findChildren (const QString &name, Qt::FindChildOptions options) const const |
|
QList< T > | findChildren (Qt::FindChildOptions options) const const |
|
bool | inherits (const char *className) const const |
|
void | installEventFilter (QObject *filterObj) |
|
bool | isQuickItemType () const const |
|
bool | isWidgetType () const const |
|
bool | isWindowType () const const |
|
void | killTimer (int id) |
|
virtual const QMetaObject * | metaObject () const const |
|
void | moveToThread (QThread *targetThread) |
|
QString | objectName () const const |
|
void | objectNameChanged (const QString &objectName) |
|
QObject * | parent () const const |
|
QVariant | property (const char *name) const const |
|
| Q_CLASSINFO (Name, Value) |
|
| Q_EMIT Q_EMIT |
|
| Q_ENUM (...) |
|
| Q_ENUM_NS (...) |
|
| Q_ENUMS (...) |
|
| Q_FLAG (...) |
|
| Q_FLAG_NS (...) |
|
| Q_FLAGS (...) |
|
| Q_GADGET Q_GADGET |
|
| Q_GADGET_EXPORT (EXPORT_MACRO) |
|
| Q_INTERFACES (...) |
|
| Q_INVOKABLE Q_INVOKABLE |
|
| Q_MOC_INCLUDE Q_MOC_INCLUDE |
|
| Q_NAMESPACE Q_NAMESPACE |
|
| Q_NAMESPACE_EXPORT (EXPORT_MACRO) |
|
| Q_OBJECT Q_OBJECT |
|
| Q_PROPERTY (...) |
|
| Q_REVISION Q_REVISION |
|
| Q_SET_OBJECT_NAME (Object) |
|
| Q_SIGNAL Q_SIGNAL |
|
| Q_SIGNALS Q_SIGNALS |
|
| Q_SLOT Q_SLOT |
|
| Q_SLOTS Q_SLOTS |
|
T | qobject_cast (const QObject *object) |
|
T | qobject_cast (QObject *object) |
|
| QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT |
|
void | removeEventFilter (QObject *obj) |
|
void | setObjectName (const QString &name) |
|
void | setObjectName (QAnyStringView name) |
|
void | setParent (QObject *parent) |
|
bool | setProperty (const char *name, const QVariant &value) |
|
bool | setProperty (const char *name, QVariant &&value) |
|
bool | signalsBlocked () const const |
|
int | startTimer (int interval, Qt::TimerType timerType) |
|
int | startTimer (std::chrono::milliseconds interval, Qt::TimerType timerType) |
|
QThread * | thread () const const |
|
|
enum | CheckIndexOption |
|
typedef | CheckIndexOptions |
|
enum | LayoutChangeHint |
|
typedef | QObjectList |
|
| objectName |
|
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
|
QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
|
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type) |
|
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) |
|
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, Functor functor) |
|
bool | disconnect (const QMetaObject::Connection &connection) |
|
bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
|
bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
|
bool | disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
|
QString | tr (const char *sourceText, const char *disambiguation, int n) |
|
| DoNotUseParent |
|
| HorizontalSortHint |
|
| IndexIsValid |
|
| NoLayoutChangeHint |
|
| NoOption |
|
| ParentIsInvalid |
|
| VerticalSortHint |
|
void | beginInsertColumns (const QModelIndex &parent, int first, int last) |
|
void | beginInsertRows (const QModelIndex &parent, int first, int last) |
|
bool | beginMoveColumns (const QModelIndex &sourceParent, int sourceFirst, int sourceLast, const QModelIndex &destinationParent, int destinationChild) |
|
bool | beginMoveRows (const QModelIndex &sourceParent, int sourceFirst, int sourceLast, const QModelIndex &destinationParent, int destinationChild) |
|
void | beginRemoveColumns (const QModelIndex &parent, int first, int last) |
|
void | beginRemoveRows (const QModelIndex &parent, int first, int last) |
|
void | beginResetModel () |
|
void | changePersistentIndex (const QModelIndex &from, const QModelIndex &to) |
|
void | changePersistentIndexList (const QModelIndexList &from, const QModelIndexList &to) |
|
QModelIndex | createIndex (int row, int column, const void *ptr) const const |
|
QModelIndex | createIndex (int row, int column, quintptr id) const const |
|
void | endInsertColumns () |
|
void | endInsertRows () |
|
void | endMoveColumns () |
|
void | endMoveRows () |
|
void | endRemoveColumns () |
|
void | endRemoveRows () |
|
void | endResetModel () |
|
QModelIndexList | persistentIndexList () const const |
|
virtual void | resetInternalData () |
|
virtual void | childEvent (QChildEvent *event) |
|
virtual void | connectNotify (const QMetaMethod &signal) |
|
virtual void | customEvent (QEvent *event) |
|
virtual void | disconnectNotify (const QMetaMethod &signal) |
|
bool | isSignalConnected (const QMetaMethod &signal) const const |
|
int | receivers (const char *signal) const const |
|
QObject * | sender () const const |
|
int | senderSignalIndex () const const |
|
virtual void | timerEvent (QTimerEvent *event) |
|
This class manages the huge tree of displayable objects: GroupHeaderItems and MessageItems.
The tree is exposed via a 'hacked' QAbstractItemModel interface to a QTreeView subclass (which is MessageList::View).
The keypoint in this class is that it has to be non-blocking in manipulating the tree: fill, cleanup and update operations are performed in timed chunks. Perfect non-blocking behaviour is not possible since there are some small operations that basically can't be split in chunks. However, these exceptions apply to a minority of tasks and in the average case the user will not notice.
The data for building the tree is obtained from a subclass of StorageModel. The StorageModel must offer a consistent rappresentation of a "flat" folder containing messages.
Definition at line 53 of file model.h.