annotate changeset.h @ 51:bf3ab0ffb559

* some preliminaries for thinking about use of date in row layout
author Chris Cannam
date Thu, 11 Nov 2010 22:27:24 +0000
parents 24efab584ee5
children 384420567575
rev   line source
Chris@43 1 #ifndef CHANGESET_H
Chris@43 2 #define CHANGESET_H
Chris@43 3
Chris@43 4 #include <QObject>
Chris@43 5 #include <QString>
Chris@43 6 #include <QStringList>
Chris@43 7 #include <QList>
Chris@43 8
Chris@43 9 class Changeset : public QObject
Chris@43 10 {
Chris@43 11 Q_OBJECT
Chris@43 12
Chris@43 13 Q_PROPERTY(QString id READ id WRITE setId NOTIFY idChanged STORED true);
Chris@43 14 Q_PROPERTY(QString author READ author WRITE setAuthor NOTIFY authorChanged STORED true);
Chris@43 15 Q_PROPERTY(QString branch READ branch WRITE setBranch NOTIFY branchChanged STORED true);
Chris@44 16 Q_PROPERTY(QString tag READ tag WRITE setTag NOTIFY tagChanged STORED true);
Chris@51 17 Q_PROPERTY(QString datetime READ datetime WRITE setdatetime NOTIFY datetimeChanged STORED true);
Chris@43 18 Q_PROPERTY(QString age READ age WRITE setAge NOTIFY ageChanged STORED true);
Chris@43 19 Q_PROPERTY(QStringList parents READ parents WRITE setParents NOTIFY parentsChanged STORED true);
Chris@47 20 Q_PROPERTY(QStringList children READ children WRITE setChildren NOTIFY childrenChanged STORED true);
Chris@43 21 Q_PROPERTY(QString comment READ comment WRITE setComment NOTIFY commentChanged STORED true);
Chris@43 22
Chris@43 23 public:
Chris@43 24 Changeset() : QObject() { }
Chris@43 25
Chris@43 26 QString id() const { return m_id; }
Chris@43 27 QString author() const { return m_author; }
Chris@43 28 QString branch() const { return m_branch; }
Chris@44 29 QString tag() const { return m_tag; }
Chris@51 30 QString datetime() const { return m_datetime; }
Chris@43 31 QString age() const { return m_age; }
Chris@43 32 QStringList parents() const { return m_parents; }
Chris@47 33 QStringList children() const { return m_children; }
Chris@43 34 QString comment() const { return m_comment; }
Chris@43 35
Chris@43 36 int number() const {
Chris@43 37 return id().split(':')[0].toInt();
Chris@43 38 }
Chris@43 39
Chris@44 40 QString authorName() const {
Chris@44 41 QString a = author();
Chris@44 42 return a.replace(QRegExp("\\s*<[^>]*>"), "");
Chris@44 43 }
Chris@44 44
Chris@51 45 QString date() const {
Chris@51 46 return datetime().split(' ')[0];
Chris@51 47 }
Chris@51 48
Chris@43 49 signals:
Chris@43 50 void idChanged(QString id);
Chris@43 51 void authorChanged(QString author);
Chris@43 52 void branchChanged(QString branch);
Chris@44 53 void tagChanged(QString tag);
Chris@51 54 void datetimeChanged(QString datetime);
Chris@43 55 void ageChanged(QString age);
Chris@43 56 void parentsChanged(QStringList parents);
Chris@47 57 void childrenChanged(QStringList children);
Chris@43 58 void commentChanged(QString comment);
Chris@43 59
Chris@43 60 public slots:
Chris@43 61 void setId(QString id) { m_id = id; emit idChanged(id); }
Chris@43 62 void setAuthor(QString author) { m_author = author; emit authorChanged(author); }
Chris@43 63 void setBranch(QString branch) { m_branch = branch; emit branchChanged(branch); }
Chris@44 64 void setTag(QString tag) { m_tag = tag; emit tagChanged(tag); }
Chris@51 65 void setdatetime(QString datetime) { m_datetime = datetime; emit datetimeChanged(datetime); }
Chris@43 66 void setAge(QString age) { m_age = age; emit ageChanged(age); }
Chris@43 67 void setParents(QStringList parents) { m_parents = parents; emit parentsChanged(parents); }
Chris@47 68 void setChildren(QStringList children) { m_children = children; emit childrenChanged(m_children); }
Chris@47 69 void addChild(QString child) { m_children.push_back(child); emit childrenChanged(m_children); }
Chris@43 70 void setComment(QString comment) { m_comment = comment; emit commentChanged(comment); }
Chris@43 71
Chris@43 72 private:
Chris@43 73 QString m_id;
Chris@43 74 QString m_author;
Chris@43 75 QString m_branch;
Chris@44 76 QString m_tag;
Chris@51 77 QString m_datetime;
Chris@43 78 QString m_age;
Chris@43 79 QStringList m_parents;
Chris@47 80 QStringList m_children;
Chris@43 81 QString m_comment;
Chris@43 82 };
Chris@43 83
Chris@43 84 typedef QList<Changeset *> Changesets;
Chris@43 85
Chris@43 86 #endif // CHANGESET_H