Fix bug #10213 as discussed there: We now display the same button

whether the branch is open or closed.
This commit is contained in:
Richard Heck 2016-06-14 18:55:18 +01:00
parent a4b8094aac
commit 3573b7270c
2 changed files with 21 additions and 19 deletions

View File

@ -82,36 +82,38 @@ docstring InsetBranch::toolTip(BufferView const & bv, int, int) const
} }
docstring const InsetBranch::buttonLabel(BufferView const & bv) const docstring const InsetBranch::buttonLabel(BufferView const &) const
{ {
static char_type const tick = 0x2714; // ✔ U+2714 HEAVY CHECK MARK static char_type const tick = 0x2714; // ✔ U+2714 HEAVY CHECK MARK
static char_type const cross = 0x2716; // ✖ U+2716 HEAVY MULTIPLICATION X static char_type const cross = 0x2716; // ✖ U+2716 HEAVY MULTIPLICATION X
docstring s = _("Branch: ") + params_.branch;
Buffer const & realbuffer = *buffer().masterBuffer(); Buffer const & realbuffer = *buffer().masterBuffer();
BranchList const & branchlist = realbuffer.params().branchlist(); BranchList const & branchlist = realbuffer.params().branchlist();
bool const inmaster = branchlist.find(params_.branch); bool const inmaster = branchlist.find(params_.branch);
bool const inchild = buffer().params().branchlist().find(params_.branch); bool const inchild = buffer().params().branchlist().find(params_.branch);
if (!inmaster && inchild)
s = _("Branch (child only): ") + params_.branch;
else if (inmaster && !inchild)
s = _("Branch (master only): ") + params_.branch;
else if (!inmaster)
s = _("Branch (undefined): ") + params_.branch;
if (!params_.branch.empty()) {
// FIXME UNICODE
ColorCode c = lcolor.getFromLyXName(to_utf8(params_.branch));
if (c == Color_none)
s = _("Undef: ") + s;
}
bool const master_selected = isBranchSelected(); bool const master_selected = isBranchSelected();
bool const child_selected = isBranchSelected(true); bool const child_selected = isBranchSelected(true);
docstring symb = docstring(1, master_selected ? tick : cross); docstring symb = docstring(1, master_selected ? tick : cross);
if (inchild && master_selected != child_selected) if (inchild && master_selected != child_selected)
symb += child_selected ? tick : cross; symb += child_selected ? tick : cross;
if (decoration() == InsetLayout::CLASSIC)
return symb + (isOpen(bv) ? s : getNewLabel(s)); if (decoration() == InsetLayout::MINIMALISTIC)
else return symb + params_.branch;
return symb + params_.branch + ": " + getNewLabel(s);
docstring s;
if (inmaster && inchild)
s = _("Branch: ");
else if (inchild) // && !inmaster
s = _("Branch (child only): ");
else if (inmaster) // && !inchild
s = _("Branch (master only): ");
else // !inmaster && !inchild
s = _("Branch (undefined): ");
s += params_.branch;
return symb + s;
} }

View File

@ -61,7 +61,7 @@ private:
/// ///
void read(Lexer & lex); void read(Lexer & lex);
/// ///
docstring const buttonLabel(BufferView const & bv) const; docstring const buttonLabel(BufferView const &) const;
/// ///
ColorCode backgroundColor(PainterInfo const &) const; ColorCode backgroundColor(PainterInfo const &) const;
/// ///