gitcommit.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #ifndef GITCOMMIT_H
  2. #define GITCOMMIT_H
  3. #include <gitbase.h>
  4. #include <gittag.h>
  5. #include <QDateTime>
  6. #include <QString>
  7. #include <QList>
  8. #include <git2/types.h>
  9. class GitCommit : public GitBase<git_commit>
  10. {
  11. Q_OBJECT
  12. Q_PROPERTY(QString author READ author WRITE setAuthor NOTIFY commitChanged)
  13. Q_PROPERTY(QString email READ email WRITE setEmail NOTIFY commitChanged)
  14. Q_PROPERTY(QDateTime time READ time WRITE setTime NOTIFY commitChanged)
  15. Q_PROPERTY(QString message READ message WRITE setMessage NOTIFY commitChanged)
  16. Q_PROPERTY(QString sha1 READ sha1 NOTIFY commitChanged)
  17. Q_PROPERTY(QString shortSha1 READ shortSha1 NOTIFY commitChanged)
  18. Q_PROPERTY(bool isMerge READ isMerge NOTIFY commitChanged)
  19. Q_PROPERTY(QString body READ body NOTIFY bodyChanged)
  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. QString body();
  32. public slots:
  33. void setAuthor(QString author);
  34. void setTime(QDateTime time);
  35. void setMessage(QString message);
  36. void setEmail(QString email);
  37. signals:
  38. void commitChanged();
  39. void bodyChanged(QString body);
  40. private:
  41. GitCommit();
  42. QString m_author;
  43. QDateTime m_time;
  44. QString m_message;
  45. QString m_email;
  46. QString m_body;
  47. };
  48. #endif // GITCOMMIT_H