gitcommit.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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. public:
  17. GitCommit(git_commit* raw, GitRepository* parent);
  18. ~GitCommit();
  19. static GitCommit* fromOid(const GitOid& oid);
  20. QString author() const;
  21. QDateTime time() const;
  22. QString message() const;
  23. QString email() const;
  24. QString sha1() const;
  25. QString shortSha1() const;
  26. public slots:
  27. void setAuthor(QString author);
  28. void setTime(QDateTime time);
  29. void setMessage(QString message);
  30. void setEmail(QString email);
  31. signals:
  32. void commitChanged();
  33. private:
  34. GitCommit();
  35. QString m_author;
  36. QDateTime m_time;
  37. QString m_message;
  38. QString m_email;
  39. };
  40. #endif // GITCOMMIT_H