diff options
author | Christian Kamm <mail@ckamm.de> | 2018-02-23 13:35:09 +0300 |
---|---|---|
committer | ckamm <mail@ckamm.de> | 2018-03-06 15:02:54 +0300 |
commit | 61869bb65e99f12b711ae6ebe4632f56a0f39566 (patch) | |
tree | dc8bd3b3a6e0e313aede41aeaa1bb4b06065f1fc /src/gui/protocolwidget.h | |
parent | 797473ba1fed83a915b8b56f61ace9185aff8a18 (diff) |
ProtocolItem: Adjust the way data is stored again
The struct makes it easy to pack data and should consume less memory
overall.
Diffstat (limited to 'src/gui/protocolwidget.h')
-rw-r--r-- | src/gui/protocolwidget.h | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/src/gui/protocolwidget.h b/src/gui/protocolwidget.h index d8612634d..33244ad33 100644 --- a/src/gui/protocolwidget.h +++ b/src/gui/protocolwidget.h @@ -49,17 +49,24 @@ public: static ProtocolItem *create(const QString &folder, const SyncFileItem &item); static QString timeString(QDateTime dt, QLocale::FormatType format = QLocale::NarrowFormat); - // accessors for extra data stored in the item - static QString folderName(const QTreeWidgetItem *item); - static void setFolderName(QTreeWidgetItem *item, const QString &folderName); - static QString filePath(const QTreeWidgetItem *item); - static void setFilePath(QTreeWidgetItem *item, const QString &filePath); - static QDateTime timestamp(const QTreeWidgetItem *item); - static void setTimestamp(QTreeWidgetItem *item, const QDateTime ×tamp); - static SyncFileItem::Status status(const QTreeWidgetItem *item); - static void setStatus(QTreeWidgetItem *item, SyncFileItem::Status status); - static quint64 size(const QTreeWidgetItem *item); - static void setSize(QTreeWidgetItem *item, quint64 size); + struct ExtraData + { + ExtraData() + : status(SyncFileItem::NoStatus) + , direction(SyncFileItem::None) + { + } + + QString path; + QString folderName; + QDateTime timestamp; + quint64 size = 0; + SyncFileItem::Status status BITFIELD(4); + SyncFileItem::Direction direction BITFIELD(3); + }; + + static ExtraData extraData(const QTreeWidgetItem *item); + static void setExtraData(QTreeWidgetItem *item, const ExtraData &data); static SyncJournalFileRecord syncJournalRecord(QTreeWidgetItem *item); static Folder *folder(QTreeWidgetItem *item); |