gitcommit.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #ifndef GITCOMMIT_H
  2. #define GITCOMMIT_H
  3. #include <gitbase.h>
  4. #include <QDateTime>
  5. #include <QString>
  6. #include <git2/types.h>
  7. class GitCommit : public GitBase<git_commit>
  8. {
  9. Q_OBJECT
  10. Q_PROPERTY(QString author READ author WRITE setAuthor NOTIFY commitChanged)
  11. Q_PROPERTY(QString email READ email WRITE setEmail NOTIFY commitChanged)
  12. Q_PROPERTY(QDateTime time READ time WRITE setTime NOTIFY commitChanged)
  13. Q_PROPERTY(QString message READ message WRITE setMessage NOTIFY commitChanged)
  14. Q_PROPERTY(QString sha1 READ sha1 NOTIFY commitChanged)
  15. Q_PROPERTY(QString shortSha1 READ shortSha1 NOTIFY commitChanged)
  16. Q_PROPERTY(bool isMerge READ isMerge NOTIFY commitChanged)
  17. Q_PROPERTY(int x READ x NOTIFY commitChanged)
  18. Q_PROPERTY(int y READ y NOTIFY commitChanged)
  19. Q_PROPERTY(QString color READ color)
  20. public:
  21. GitCommit(git_commit* raw, GitRepository* parent);
  22. ~GitCommit();
  23. static GitCommit* fromOid(const GitOid& oid);
  24. QString author() const;
  25. QDateTime time() const;
  26. QString message() const;
  27. QString email() const;
  28. QString sha1() const;
  29. QString shortSha1() const;
  30. bool isMerge() const;
  31. int x() const { return m_x; }
  32. int y() const { return m_y; }
  33. QString color() const { return m_color; }
  34. public slots:
  35. void setAuthor(QString author);
  36. void setTime(QDateTime time);
  37. void setMessage(QString message);
  38. void setEmail(QString email);
  39. signals:
  40. void commitChanged();
  41. private:
  42. GitCommit();
  43. QString m_author;
  44. QDateTime m_time;
  45. QString m_message;
  46. QString m_email;
  47. public:
  48. int m_x;
  49. int m_y;
  50. int m_childrenCounter;
  51. QString m_color;
  52. };
  53. #endif // GITCOMMIT_H