#ifndef WPROGRAMITEMA_H #define WPROGRAMITEMA_H #include #include #include #include #include #include #include #include #include #include class wProgramItemA : public QObject, public QTreeWidgetItem { Q_OBJECT Q_PROPERTY(QString name MEMBER m_name READ name WRITE setName NOTIFY nameChanged ) Q_PROPERTY(int number MEMBER m_number READ number WRITE setNumber NOTIFY numberChanged ) Q_PROPERTY(int fsize MEMBER m_fsize READ fsize WRITE setFsize NOTIFY fsizeChanged ) Q_PROPERTY(QDateTime last MEMBER m_last READ last WRITE setLast NOTIFY lastChanged ) public: explicit wProgramItemA(const QString &pRoot, const QString &name, int number, LoQTreeWidget *parent = nullptr); explicit wProgramItemA(const QString &pRoot, const QJsonObject &json, LoQTreeWidget *parent = nullptr); private: void init(); public: void save(); void del(); QJsonObject jRoot(); public: QString name() const { return m_name; } int number() const { return m_number; } qint64 fsize() const { return m_fsize; } QDateTime last() const { return m_last; } public: void setName(const QString &s) { m_name = s; } void setNumber(int n) { m_number = n; } void setFsize(qint64 n) { m_fsize = n; } void setLast(const QDateTime &s) { m_last = s; } signals: void nameChanged(const QString &); void numberChanged(int); void fsizeChanged(quint64); void lastChanged(const QDateTime &); private: QString m_name; int m_number; qint64 m_fsize; QDateTime m_last; }; #endif // WPROGRAMITEMA_H