From 89bb008bd7b3e2ffd16c9359b7dde40248f0c728 Mon Sep 17 00:00:00 2001 From: Claudio Cambra Date: Wed, 11 Oct 2023 17:22:27 +0800 Subject: [PATCH] Add additional roles to FileProviderMaterialisedItemsModel Signed-off-by: Claudio Cambra --- .../fileprovidermaterialiseditemsmodel.cpp | 55 +++++++++++++++++++ .../fileprovidermaterialiseditemsmodel.h | 32 +++++++++++ 2 files changed, 87 insertions(+) diff --git a/src/gui/macOS/fileprovidermaterialiseditemsmodel.cpp b/src/gui/macOS/fileprovidermaterialiseditemsmodel.cpp index fb4682cd93..e9c8c481ea 100644 --- a/src/gui/macOS/fileprovidermaterialiseditemsmodel.cpp +++ b/src/gui/macOS/fileprovidermaterialiseditemsmodel.cpp @@ -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 {}; } diff --git a/src/gui/macOS/fileprovidermaterialiseditemsmodel.h b/src/gui/macOS/fileprovidermaterialiseditemsmodel.h index fc2a92cf2e..81d1624469 100644 --- a/src/gui/macOS/fileprovidermaterialiseditemsmodel.h +++ b/src/gui/macOS/fileprovidermaterialiseditemsmodel.h @@ -29,6 +29,38 @@ class FileProviderMaterialisedItemsModel : public QAbstractListModel Q_PROPERTY(QVector 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;