X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBranchList.cpp;h=7cb23ef5b499db62d99f25f3e99256c8cdef43cb;hb=5170489b983c08c8be8d878996710eb0f6db2679;hp=02f8b8688d4d377976588f7d58ec7fa7c0bdfca6;hpb=5fdd2daa9c30c70a6c049376bd293addb05b5aad;p=lyx.git diff --git a/src/BranchList.cpp b/src/BranchList.cpp index 02f8b8688d..7cb23ef5b4 100644 --- a/src/BranchList.cpp +++ b/src/BranchList.cpp @@ -4,6 +4,7 @@ * Licence details can be found in the file COPYING. * * \author Martin Vermeer + * \author Jürgen Spitzmüller * * Full author contact details are available in file CREDITS. */ @@ -15,6 +16,8 @@ #include "frontends/Application.h" +#include "support/lstrings.h" + #include using namespace std; @@ -39,11 +42,14 @@ private: } -Branch::Branch() : selected_(false) +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_); } @@ -74,6 +80,18 @@ bool Branch::setSelected(bool b) } +bool Branch::hasFileNameSuffix() const +{ + return filenameSuffix_; +} + + +void Branch::setFileNameSuffix(bool b) +{ + filenameSuffix_ = b; +} + + RGBColor const & Branch::color() const { return color_; @@ -90,9 +108,14 @@ 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_); + } } @@ -132,6 +155,7 @@ bool BranchList::add(docstring const & s) Branch br; br.setBranch(name); br.setSelected(false); + br.setFileNameSuffix(false); list.push_back(br); } if (j == docstring::npos) @@ -171,4 +195,15 @@ bool BranchList::rename(docstring const & oldname, } +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(); + } + return support::subst(result, from_ascii("/"), from_ascii("_")); +} + } // namespace lyx