Add additional roles to FileProviderMaterialisedItemsModel

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
This commit is contained in:
Claudio Cambra 2023-10-11 17:22:27 +08:00
parent d51c2a486b
commit 89bb008bd7
No known key found for this signature in database
GPG Key ID: C839200C384636B0
2 changed files with 87 additions and 0 deletions

View File

@ -38,7 +38,62 @@ QVariant FileProviderMaterialisedItemsModel::data(const QModelIndex &index, int
switch (role) {
case Qt::DisplayRole:
case FilenameRole:
return item.filename();
case IdentifierRole:
return item.identifier();
case ParentItemIdentifierRole:
return item.parentItemIdentifier();
case TypeIdentifierRole:
return item.typeIdentifier();
case SymlinkTargetPathRole:
return item.symlinkTargetPath();
case UploadingErrorRole:
return item.uploadingError();
case DownloadingErrorRole:
return item.downloadingError();
case MostRecentEditorNameRole:
return item.mostRecentEditorName();
case OwnerNameRole:
return item.ownerName();
case ContentModificationDateRole:
return item.contentModificationDate();
case CreationDateRole:
return item.creationDate();
case LastUsedDateRole:
return item.lastUsedDate();
case ContentVersionRole:
return item.contentVersion();
case MetadataVersionRole:
return item.metadataVersion();
case TagDataRole:
return item.tagData();
case CapabilitiesRole:
return item.capabilities();
case FileSystemFlagsRole:
return item.fileSystemFlags();
case ChildItemCountRole:
return item.childItemCount();
case TypeOsCodeRole:
return item.typeOsCode();
case CreatorOsCodeRole:
return item.creatorOsCode();
case DocumentSizeRole:
return item.documentSize();
case MostRecentVersionDownloadedRole:
return item.mostRecentVersionDownloaded();
case UploadingRole:
return item.uploading();
case UploadedRole:
return item.uploaded();
case DownloadingRole:
return item.downloading();
case DownloadedRole:
return item.downloaded();
case SharedRole:
return item.shared();
case SharedByCurrentUserRole:
return item.sharedByCurrentUser();
}
return {};
}

View File

@ -29,6 +29,38 @@ class FileProviderMaterialisedItemsModel : public QAbstractListModel
Q_PROPERTY(QVector<FileProviderItemMetadata> items READ items WRITE setItems NOTIFY itemsChanged)
public:
enum Roles {
IdentifierRole = Qt::UserRole + 1,
ParentItemIdentifierRole,
FilenameRole,
TypeIdentifierRole,
SymlinkTargetPathRole,
UploadingErrorRole,
DownloadingErrorRole,
MostRecentEditorNameRole,
OwnerNameRole,
ContentModificationDateRole,
CreationDateRole,
LastUsedDateRole,
ContentVersionRole,
MetadataVersionRole,
TagDataRole,
CapabilitiesRole,
FileSystemFlagsRole,
ChildItemCountRole,
TypeOsCodeRole,
CreatorOsCodeRole,
DocumentSizeRole,
MostRecentVersionDownloadedRole,
UploadingRole,
UploadedRole,
DownloadingRole,
DownloadedRole,
SharedRole,
SharedByCurrentUserRole,
};
Q_ENUM(Roles)
explicit FileProviderMaterialisedItemsModel(QObject *parent = nullptr);
int rowCount(const QModelIndex &parent = {}) const override;
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;