]> git.lyx.org Git - lyx.git/blobdiff - src/Author.h
Fix text direction issue for InsetInfo in RTL context
[lyx.git] / src / Author.h
index ca449381e55b6c66bd9dde42048979cffff0c324..108a701e825300144ede07a05a032d6e36040e8e 100644 (file)
@@ -22,24 +22,31 @@ 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), buffer_id_(0) {}
+       Author(docstring const & name, docstring const & email);
+       /// For when the \author line is missing (#9854)
+       Author(int buffer_id);
        ///
        docstring name() const { return name_; }
        ///
        docstring email() const { return email_; }
        ///
-       unsigned int buffer_id() const { return buffer_id_; }
+       docstring nameAndEmail() const;
        ///
-       void setBufferId(unsigned int buffer_id) const { buffer_id_ = buffer_id; }
+       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
@@ -49,7 +56,7 @@ private:
        ///
        mutable bool used_;
        /// The id of the author in the lyx-file
-       mutable unsigned int buffer_id_;
+       mutable int buffer_id_;
 };
 
 
@@ -66,10 +73,10 @@ public:
        ///
        Author const & get(int id) const;
        ///
-       typedef std::vector<Author> Authors;
-       ///
        void sort();
        ///
+       typedef std::vector<Author> Authors;
+       ///
        Authors::const_iterator begin() const;
        ///
        Authors::const_iterator end() const;
@@ -77,8 +84,6 @@ public:
        friend
        std::ostream & operator<<(std::ostream & os, AuthorList const & a);
 private:
-       ///
-       int last_id_;
        ///
        Authors authors_;
 };