]> git.lyx.org Git - lyx.git/blobdiff - src/BranchList.cpp
Allow semantic colors in branches and use semantic background color by default
[lyx.git] / src / BranchList.cpp
index 58b4a81e8af1e566a9b014b6c5af5bc2afcff09c..379b338030bf17e6eb4a6416adcee2af363a7023 100644 (file)
@@ -13,6 +13,7 @@
 
 #include "BranchList.h"
 #include "Color.h"
+#include "ColorSet.h"
 
 #include "frontends/Application.h"
 
@@ -28,11 +29,7 @@ namespace lyx {
 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";
 }
 
 
@@ -75,36 +72,21 @@ void Branch::setFileNameSuffix(bool b)
 }
 
 
-RGBColor const & Branch::color() const
+string const & Branch::color() const
 {
        return color_;
 }
 
 
-void Branch::setColor(RGBColor const & c)
-{
-       color_ = c;
-}
-
-
 void Branch::setColor(string const & str)
 {
-       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_);
-       }
+       color_ = str;
 }
 
 
 namespace {
 
-std::function<bool (Branch const &)> BranchNamesEqual(docstring const & d)
+std::function<bool (Branch const &)> BranchNameIs(docstring const & d)
 {
        return [d](Branch const & b){ return b.branch() == d; };
 }
@@ -115,7 +97,7 @@ std::function<bool (Branch const &)> BranchNamesEqual(docstring const & d)
 Branch * BranchList::find(docstring const & name)
 {
        List::iterator it =
-               find_if(list_.begin(), list_.end(), BranchNamesEqual(name));
+               find_if(list_.begin(), list_.end(), BranchNameIs(name));
        return it == list_.end() ? nullptr : &*it;
 }
 
@@ -123,7 +105,7 @@ Branch * BranchList::find(docstring const & name)
 Branch const * BranchList::find(docstring const & name) const
 {
        List::const_iterator it =
-               find_if(list_.begin(), list_.end(), BranchNamesEqual(name));
+               find_if(list_.begin(), list_.end(), BranchNameIs(name));
        return it == list_.end() ? nullptr : &*it;
 }
 
@@ -160,7 +142,7 @@ bool BranchList::add(docstring const & s)
 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();
 }