X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FAuthor.h;h=b498655aa020fdb6aff53b1fceefdba110e77221;hb=62af7ee772f16f154225d2d0b65d77f4376b6001;hp=0f1e49e7a7ee8fd209c9c8af6e4e6371a8d88128;hpb=a8cd9a4b8fd325b00c75f601c66c6d618ba276db;p=lyx.git diff --git a/src/Author.h b/src/Author.h index 0f1e49e7a7..b498655aa0 100644 --- a/src/Author.h +++ b/src/Author.h @@ -14,7 +14,7 @@ #include "support/docstring.h" -#include +#include namespace lyx { @@ -22,28 +22,46 @@ namespace lyx { class Author { public: /// - Author() {} + Author() : used_(false), buffer_id_(0) {}; /// - Author(docstring const & name, docstring const & email) - : name_(name), email_(email), used_(true) {} + Author(docstring const & name, docstring const & email, + docstring const & initials); + /// For when the \author line is missing (#9854) + Author(int buffer_id); /// docstring name() const { return name_; } /// docstring email() const { return email_; } /// + docstring initials() const { return initials_; } + /// + docstring nameAndEmail() const; + /// + int bufferId() const { return buffer_id_; } + /// + void setBufferId(int buffer_id) const { buffer_id_ = buffer_id; } + /// void setUsed(bool u) const { used_ = u; } /// bool used() const { return used_; } + /// Was the author line not missing? + bool valid() const; /// friend std::istream & operator>>(std::istream & os, Author & a); + /// + friend std::ostream & operator<<(std::ostream & os, Author const & a); private: /// The author's name docstring name_; /// The author's email address docstring email_; + /// The author's initials + docstring initials_; /// mutable bool used_; + /// The id of the author in the lyx-file + mutable int buffer_id_; }; @@ -56,17 +74,21 @@ public: /// void record(int id, Author const & a); /// + void recordCurrentAuthor(Author const & a); + /// Author const & get(int id) const; /// - typedef std::map Authors; + void sort(); + /// + typedef std::vector Authors; /// Authors::const_iterator begin() const; /// Authors::const_iterator end() const; /// + friend + std::ostream & operator<<(std::ostream & os, AuthorList const & a); private: - /// - int last_id_; /// Authors authors_; };