X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBranchList.cpp;h=01135526e64b72f077949aa776e2f6261e30fc98;hb=19f5aa58aa55fe210c689052967ade0f943f82fb;hp=2afc765a3d53aba2b4d04a14f03c57a3d07f0015;hpb=e6f922009f6311b561a1a3fa830f9eb3024d7902;p=lyx.git diff --git a/src/BranchList.cpp b/src/BranchList.cpp index 2afc765a3d..01135526e6 100644 --- a/src/BranchList.cpp +++ b/src/BranchList.cpp @@ -25,29 +25,14 @@ using namespace std; namespace lyx { -namespace { - -class BranchNamesEqual : public std::unary_function -{ -public: - BranchNamesEqual(docstring const & name) : name_(name) {} - - bool operator()(Branch const & branch) const - { - return branch.branch() == name_; - } -private: - docstring name_; -}; -} - - 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_); } @@ -78,13 +63,13 @@ bool Branch::setSelected(bool b) } -bool Branch::hasFilenameSuffix() const +bool Branch::hasFileNameSuffix() const { return filenameSuffix_; } -void Branch::setFilenameSuffix(bool b) +void Branch::setFileNameSuffix(bool b) { filenameSuffix_ = b; } @@ -106,25 +91,40 @@ void Branch::setColor(string const & str) { if (str.size() == 7 && str[0] == '#') color_ = rgbFromHexName(str); - else + else { // no color set or invalid color - use normal background - theApp()->getRgbColor(Color_background, color_); + // no theApp() with command line export + if (theApp()) + theApp()->getRgbColor(Color_background, color_); + else + frontend::Application::getRgbColorUncached(Color_background, color_); + } +} + + +namespace { + +std::function BranchNameIs(docstring const & d) +{ + 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; } @@ -140,16 +140,14 @@ bool BranchList::add(docstring const & s) else name = s.substr(i, j - i); // Is this name already in the list? - bool const already = - find_if(list.begin(), list.end(), - BranchNamesEqual(name)) != list.end(); + bool const already = find(name); if (!already) { added = true; Branch br; br.setBranch(name); br.setSelected(false); - br.setFilenameSuffix(false); - list.push_back(br); + br.setFileNameSuffix(false); + list_.push_back(br); } if (j == docstring::npos) break; @@ -161,9 +159,9 @@ bool BranchList::add(docstring const & s) bool BranchList::remove(docstring const & s) { - size_t const size = list.size(); - list.remove_if(BranchNamesEqual(s)); - return size != list.size(); + size_t const size = list_.size(); + list_.remove_if(BranchNameIs(s)); + return size != list_.size(); } @@ -172,8 +170,7 @@ bool BranchList::rename(docstring const & oldname, { if (newname.empty()) return false; - if (find_if(list.begin(), list.end(), - BranchNamesEqual(newname)) != list.end()) { + if (find(newname)) { // new name already taken if (merge) return remove(oldname); @@ -188,13 +185,12 @@ bool BranchList::rename(docstring const & oldname, } -docstring BranchList::getFilenameSuffix() const +docstring BranchList::getFileNameSuffix() const { docstring result; - List::const_iterator it = list.begin(); - for (; it != list.end(); ++it) { - if (it->isSelected() && it->hasFilenameSuffix()) - result += "-" + it->branch(); + for (auto const & br : list_) { + if (br.isSelected() && br.hasFileNameSuffix()) + result += "-" + br.branch(); } return support::subst(result, from_ascii("/"), from_ascii("_")); }