comparison changeset.h @ 43:c32067cd19f8

* Some experiments towards a graph history view
author Chris Cannam
date Sun, 07 Nov 2010 19:59:54 +0000
parents
children bed7ab59f62e
comparison
equal deleted inserted replaced
42:9a89dedf260a 43:c32067cd19f8
1 #ifndef CHANGESET_H
2 #define CHANGESET_H
3
4 #include <QObject>
5 #include <QString>
6 #include <QStringList>
7 #include <QList>
8
9 class Changeset : public QObject
10 {
11 Q_OBJECT
12
13 Q_PROPERTY(QString id READ id WRITE setId NOTIFY idChanged STORED true);
14 Q_PROPERTY(QString author READ author WRITE setAuthor NOTIFY authorChanged STORED true);
15 Q_PROPERTY(QString branch READ branch WRITE setBranch NOTIFY branchChanged STORED true);
16 Q_PROPERTY(QString date READ date WRITE setDate NOTIFY dateChanged STORED true);
17 Q_PROPERTY(QString age READ age WRITE setAge NOTIFY ageChanged STORED true);
18 Q_PROPERTY(QStringList parents READ parents WRITE setParents NOTIFY parentsChanged STORED true);
19 Q_PROPERTY(QString comment READ comment WRITE setComment NOTIFY commentChanged STORED true);
20
21 public:
22 Changeset() : QObject() { }
23
24 QString id() const { return m_id; }
25 QString author() const { return m_author; }
26 QString branch() const { return m_branch; }
27 QString date() const { return m_date; }
28 QString age() const { return m_age; }
29 QStringList parents() const { return m_parents; }
30 QString comment() const { return m_comment; }
31
32 int number() const {
33 return id().split(':')[0].toInt();
34 }
35
36 signals:
37 void idChanged(QString id);
38 void authorChanged(QString author);
39 void branchChanged(QString branch);
40 void dateChanged(QString date);
41 void ageChanged(QString age);
42 void parentsChanged(QStringList parents);
43 void commentChanged(QString comment);
44
45 public slots:
46 void setId(QString id) { m_id = id; emit idChanged(id); }
47 void setAuthor(QString author) { m_author = author; emit authorChanged(author); }
48 void setBranch(QString branch) { m_branch = branch; emit branchChanged(branch); }
49 void setDate(QString date) { m_date = date; emit dateChanged(date); }
50 void setAge(QString age) { m_age = age; emit ageChanged(age); }
51 void setParents(QStringList parents) { m_parents = parents; emit parentsChanged(parents); }
52 void setComment(QString comment) { m_comment = comment; emit commentChanged(comment); }
53
54 private:
55 QString m_id;
56 QString m_author;
57 QString m_branch;
58 QString m_date;
59 QString m_age;
60 QStringList m_parents;
61 QString m_comment;
62 };
63
64 typedef QList<Changeset *> Changesets;
65
66 #endif // CHANGESET_H