From 61869bb65e99f12b711ae6ebe4632f56a0f39566 Mon Sep 17 00:00:00 2001 From: Christian Kamm Date: Fri, 23 Feb 2018 11:35:09 +0100 Subject: ProtocolItem: Adjust the way data is stored again The struct makes it easy to pack data and should consume less memory overall. --- src/gui/protocolwidget.h | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) (limited to 'src/gui/protocolwidget.h') 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); -- cgit v1.2.3