/** @file * * Wireshark - Network traffic analyzer * By Gerald Combs * Copyright 1998 Gerald Combs * * SPDX-License-Identifier: GPL-2.0-or-later */ #ifndef FILESET_ENTRY_MODEL_H #define FILESET_ENTRY_MODEL_H #include #include #include #include #include #include class FilesetEntryModel : public QAbstractItemModel { Q_OBJECT public: explicit FilesetEntryModel(QObject * parent = 0); QModelIndex index(int row, int column, const QModelIndex & = QModelIndex()) const; // Everything is under the root. virtual QModelIndex parent(const QModelIndex &) const { return QModelIndex(); } virtual int rowCount(const QModelIndex &parent = QModelIndex()) const; virtual int columnCount(const QModelIndex &) const { return ColumnCount; } virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; virtual QVariant headerData(int section, Qt::Orientation, int role = Qt::DisplayRole) const; virtual void appendEntry(const fileset_entry *entry); const fileset_entry *getRowEntry(int row) const { return entries_.value(row, NULL); } int entryCount() const { return static_cast(entries_.count()); } // Calls fileset_delete and clears our model data. void clear(); private: QVector entries_; enum Column { Name, Created, Modified, Size, ColumnCount }; QString nameToDate(const char *name) const ; QString time_tToString(time_t clock) const; }; #endif // FILESET_ENTRY_MODEL_H