#include "support/docstring.h"
+#include <cstdlib> // rand()
#include <list>
class Branch {
public:
///
- Branch();
+ Branch() {}
///
docstring const & branch() const;
///
/// Select/deselect filename suffix property.
void setFileNameSuffix(bool);
///
+ void setListID(int const id) { branch_list_id_ = id; }
+ ///
std::string const & color() const;
+ ///
+ std::string const & lightModeColor() const;
+ ///
+ std::string const & darkModeColor() const;
/**
- * Set color from a hexcolor string "#rrggbb" or a lyx color name.
+ * Set background color from a hexcolor string "#rrggbb" or a lyx color name.
* 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 Color:background.
+ * This sets the dark color if in dark mode, else the light color.
*/
- void setColor(std::string const &);
+ void setColor(std::string const & color);
+ /// Set dark and light background colors
+ void setColors(std::string const & color,
+ std::string const & dmcolor = std::string());
+ ///
+ int listID() const { return branch_list_id_; }
private:
///
docstring branch_;
///
- bool selected_;
+ bool selected_ = false;
///
- bool filenameSuffix_;
+ bool filenameSuffix_ = false;
+ /// light mode background color
+ std::string lmcolor_ = "background";
+ /// dark mode background color
+ std::string dmcolor_ = "background";
///
- std::string color_;
+ int branch_list_id_ = 0;
};
typedef List::const_iterator const_iterator;
///
- BranchList() : separator_(from_ascii("|")) {}
+ BranchList() : separator_(from_ascii("|")), id_(rand()) {}
///
docstring separator() const { return separator_; }
+ ///
+ int id() const { return id_; }
+
///
bool empty() const { return list_.empty(); }
///
List list_;
///
docstring separator_;
+ ///
+ int id_;
};
} // namespace lyx