X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBranchList.h;h=21f8d05303d6b4fd86791bbdbe4ea58c14d2613e;hb=acc5af9912533261c37795971af269f77317f14f;hp=77b8d2be93c768b4d064fe105fa7ded1cb6e3ea4;hpb=6c300f72a217722652dc27db9108e1050028979c;p=lyx.git diff --git a/src/BranchList.h b/src/BranchList.h index 77b8d2be93..21f8d05303 100644 --- a/src/BranchList.h +++ b/src/BranchList.h @@ -27,50 +27,58 @@ */ -#ifndef BRANCHES_H -#define BRANCHES_H +#ifndef BRANCHLIST_H +#define BRANCHLIST_H -#include "Color.h" +#include "ColorCode.h" + +#include "support/docstring.h" -#include #include namespace lyx { - class Branch { public: /// Branch(); /// - std::string const & getBranch() const; + docstring const & branch() const; /// - void setBranch(std::string const &); + void setBranch(docstring const &); /// - bool getSelected() const; + bool isSelected() const; /** Select/deselect the branch. * \return true if the selection status changes. */ bool setSelected(bool); + /** If true, the branch name will be appended + * to the output file name. + */ + bool hasFilenameSuffix() const; + /// Select/deselect filename suffix property. + void setFilenameSuffix(bool); /// - RGBColor const & getColor() const; + RGBColor const & color() const; /// void setColor(RGBColor const &); /** * Set color from a string "#rrggbb". - * Use LColor:background if the string is no valid color. + * Use Color:background if the string is no valid color. * This ensures compatibility with LyX 1.4.0 that had the symbolic - * color "none" that was displayed as LColor:background. + * color "none" that was displayed as Color:background. */ void setColor(std::string const &); private: /// - std::string branch_; + docstring branch_; /// bool selected_; /// + bool filenameSuffix_; + /// RGBColor color_; }; @@ -82,7 +90,7 @@ public: typedef List::const_iterator const_iterator; /// - BranchList() : separator_("|") {} + BranchList() : separator_(from_ascii("|")) {} /// bool empty() const { return list.empty(); } @@ -94,39 +102,33 @@ public: /** \returns the Branch with \c name. If not found, returns 0. */ - Branch * find(std::string const & name); - Branch const * find(std::string const & name) const; + Branch * find(docstring const & name); + Branch const * find(docstring const & name) const; /** Add (possibly multiple (separated by separator())) branches to list * \returns true if a branch is added. */ - bool add(std::string const &); + bool add(docstring const &); /** remove a branch from list by name * \returns true if a branch is removed. */ - bool remove(std::string const &); + bool remove(docstring const &); + /** rename an branch in list + * \returns true if renaming succeeded. + * if \p merge is true, the branch will be removed + * if a branch with the newname already exists. + */ + bool rename(docstring const &, docstring const &, bool const merge = false); + /// get the complete filename suffix + docstring getFilenameSuffix() const; private: /// List list; /// - std::string separator_; + docstring separator_; }; - -class BranchNamesEqual : public std::unary_function { -public: - BranchNamesEqual(std::string const & name) - : name_(name) {} - bool operator()(Branch const & branch) const - { - return branch.getBranch() == name_; - } -private: - std::string name_; -}; - - } // namespace lyx -#endif +#endif // BRANCHLIST_H