Chris@43: #ifndef CHANGESET_H Chris@43: #define CHANGESET_H Chris@43: Chris@43: #include Chris@43: #include Chris@43: #include Chris@43: #include Chris@43: Chris@43: class Changeset : public QObject Chris@43: { Chris@43: Q_OBJECT Chris@43: Chris@43: Q_PROPERTY(QString id READ id WRITE setId NOTIFY idChanged STORED true); Chris@43: Q_PROPERTY(QString author READ author WRITE setAuthor NOTIFY authorChanged STORED true); Chris@43: Q_PROPERTY(QString branch READ branch WRITE setBranch NOTIFY branchChanged STORED true); Chris@44: Q_PROPERTY(QString tag READ tag WRITE setTag NOTIFY tagChanged STORED true); Chris@43: Q_PROPERTY(QString date READ date WRITE setDate NOTIFY dateChanged STORED true); Chris@43: Q_PROPERTY(QString age READ age WRITE setAge NOTIFY ageChanged STORED true); Chris@43: Q_PROPERTY(QStringList parents READ parents WRITE setParents NOTIFY parentsChanged STORED true); Chris@43: Q_PROPERTY(QString comment READ comment WRITE setComment NOTIFY commentChanged STORED true); Chris@43: Chris@43: public: Chris@43: Changeset() : QObject() { } Chris@43: Chris@43: QString id() const { return m_id; } Chris@43: QString author() const { return m_author; } Chris@43: QString branch() const { return m_branch; } Chris@44: QString tag() const { return m_tag; } Chris@43: QString date() const { return m_date; } Chris@43: QString age() const { return m_age; } Chris@43: QStringList parents() const { return m_parents; } Chris@43: QString comment() const { return m_comment; } Chris@43: Chris@43: int number() const { Chris@43: return id().split(':')[0].toInt(); Chris@43: } Chris@43: Chris@44: QString authorName() const { Chris@44: QString a = author(); Chris@44: return a.replace(QRegExp("\\s*<[^>]*>"), ""); Chris@44: } Chris@44: Chris@43: signals: Chris@43: void idChanged(QString id); Chris@43: void authorChanged(QString author); Chris@43: void branchChanged(QString branch); Chris@44: void tagChanged(QString tag); Chris@43: void dateChanged(QString date); Chris@43: void ageChanged(QString age); Chris@43: void parentsChanged(QStringList parents); Chris@43: void commentChanged(QString comment); Chris@43: Chris@43: public slots: Chris@43: void setId(QString id) { m_id = id; emit idChanged(id); } Chris@43: void setAuthor(QString author) { m_author = author; emit authorChanged(author); } Chris@43: void setBranch(QString branch) { m_branch = branch; emit branchChanged(branch); } Chris@44: void setTag(QString tag) { m_tag = tag; emit tagChanged(tag); } Chris@43: void setDate(QString date) { m_date = date; emit dateChanged(date); } Chris@43: void setAge(QString age) { m_age = age; emit ageChanged(age); } Chris@43: void setParents(QStringList parents) { m_parents = parents; emit parentsChanged(parents); } Chris@43: void setComment(QString comment) { m_comment = comment; emit commentChanged(comment); } Chris@43: Chris@43: private: Chris@43: QString m_id; Chris@43: QString m_author; Chris@43: QString m_branch; Chris@44: QString m_tag; Chris@43: QString m_date; Chris@43: QString m_age; Chris@43: QStringList m_parents; Chris@43: QString m_comment; Chris@43: }; Chris@43: Chris@43: typedef QList Changesets; Chris@43: Chris@43: #endif // CHANGESET_H