gitcommit.h 1.1 KB

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