#include "BranchList.h"
#include "Color.h"
+#include "ColorSet.h"
#include "frontends/Application.h"
namespace lyx {
-namespace {
-
-class BranchNamesEqual : public std::unary_function<Branch, bool>
-{
-public:
- BranchNamesEqual(docstring const & name)
- : name_(name)
- {}
-
- bool operator()(Branch const & branch) const
- {
- return branch.branch() == name_;
- }
-private:
- docstring name_;
-};
-
-} // namespace
-
-
Branch::Branch()
: selected_(false), filenameSuffix_(false)
{
- // no theApp() with command line export
- if (theApp())
- theApp()->getRgbColor(Color_background, color_);
- else
- frontend::Application::getRgbColorUncached(Color_background, color_);
+ color_ = "background";
}
}
-RGBColor const & Branch::color() const
+string const & Branch::color() const
{
return color_;
}
-void Branch::setColor(RGBColor const & c)
+void Branch::setColor(string const & str)
{
- color_ = c;
+ color_ = str;
}
-void Branch::setColor(string const & str)
+namespace {
+
+std::function<bool (Branch const &)> BranchNameIs(docstring const & d)
{
- if (str.size() == 7 && str[0] == '#')
- color_ = rgbFromHexName(str);
- else {
- // no color set or invalid color - use normal background
- // no theApp() with command line export
- if (theApp())
- theApp()->getRgbColor(Color_background, color_);
- else
- frontend::Application::getRgbColorUncached(Color_background, color_);
- }
+ return [d](Branch const & b){ return b.branch() == d; };
}
+} // namespace
+
Branch * BranchList::find(docstring const & name)
{
List::iterator it =
- find_if(list_.begin(), list_.end(), BranchNamesEqual(name));
- return it == list_.end() ? 0 : &*it;
+ find_if(list_.begin(), list_.end(), BranchNameIs(name));
+ return it == list_.end() ? nullptr : &*it;
}
Branch const * BranchList::find(docstring const & name) const
{
List::const_iterator it =
- find_if(list_.begin(), list_.end(), BranchNamesEqual(name));
- return it == list_.end() ? 0 : &*it;
+ find_if(list_.begin(), list_.end(), BranchNameIs(name));
+ return it == list_.end() ? nullptr : &*it;
}
else
name = s.substr(i, j - i);
// Is this name already in the list?
- bool const already = find(name) != nullptr;
+ bool const already = find(name);
if (!already) {
added = true;
Branch br;
bool BranchList::remove(docstring const & s)
{
size_t const size = list_.size();
- list_.remove_if(BranchNamesEqual(s));
+ list_.remove_if(BranchNameIs(s));
return size != list_.size();
}