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@43
|
17 Q_PROPERTY(QString date READ date WRITE setDate NOTIFY dateChanged 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@43
|
30 QString date() const { return m_date; }
|
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@43
|
45 signals:
|
Chris@43
|
46 void idChanged(QString id);
|
Chris@43
|
47 void authorChanged(QString author);
|
Chris@43
|
48 void branchChanged(QString branch);
|
Chris@44
|
49 void tagChanged(QString tag);
|
Chris@43
|
50 void dateChanged(QString date);
|
Chris@43
|
51 void ageChanged(QString age);
|
Chris@43
|
52 void parentsChanged(QStringList parents);
|
Chris@47
|
53 void childrenChanged(QStringList children);
|
Chris@43
|
54 void commentChanged(QString comment);
|
Chris@43
|
55
|
Chris@43
|
56 public slots:
|
Chris@43
|
57 void setId(QString id) { m_id = id; emit idChanged(id); }
|
Chris@43
|
58 void setAuthor(QString author) { m_author = author; emit authorChanged(author); }
|
Chris@43
|
59 void setBranch(QString branch) { m_branch = branch; emit branchChanged(branch); }
|
Chris@44
|
60 void setTag(QString tag) { m_tag = tag; emit tagChanged(tag); }
|
Chris@43
|
61 void setDate(QString date) { m_date = date; emit dateChanged(date); }
|
Chris@43
|
62 void setAge(QString age) { m_age = age; emit ageChanged(age); }
|
Chris@43
|
63 void setParents(QStringList parents) { m_parents = parents; emit parentsChanged(parents); }
|
Chris@47
|
64 void setChildren(QStringList children) { m_children = children; emit childrenChanged(m_children); }
|
Chris@47
|
65 void addChild(QString child) { m_children.push_back(child); emit childrenChanged(m_children); }
|
Chris@43
|
66 void setComment(QString comment) { m_comment = comment; emit commentChanged(comment); }
|
Chris@43
|
67
|
Chris@43
|
68 private:
|
Chris@43
|
69 QString m_id;
|
Chris@43
|
70 QString m_author;
|
Chris@43
|
71 QString m_branch;
|
Chris@44
|
72 QString m_tag;
|
Chris@43
|
73 QString m_date;
|
Chris@43
|
74 QString m_age;
|
Chris@43
|
75 QStringList m_parents;
|
Chris@47
|
76 QStringList m_children;
|
Chris@43
|
77 QString m_comment;
|
Chris@43
|
78 };
|
Chris@43
|
79
|
Chris@43
|
80 typedef QList<Changeset *> Changesets;
|
Chris@43
|
81
|
Chris@43
|
82 #endif // CHANGESET_H
|