#include "insetbranch.h"
#include "buffer.h"
-#include "BufferView.h"
#include "bufferparams.h"
#include "BranchList.h"
#include "cursor.h"
#include "lyxlex.h"
#include "paragraph.h"
-#include "support/std_sstream.h"
+#include <sstream>
using std::string;
using std::auto_ptr;
font.decSize();
font.decSize();
- setLabel("Branch: " + params_.branch);
+ string s = "Branch: " + params_.branch;
+ setLabel(isOpen() ? s : getNewLabel(s) );
font.setColor(LColor::foreground);
if (!params_.branch.empty())
setBackgroundColor(lcolor.getFromLyXName(params_.branch));
setStatus(Open);
else if (cmd.argument == "close") {
setStatus(Collapsed);
- getOutOfInset(cur, *this);
+ leaveInset(cur, *this);
+ } else if (cmd.argument == "toggle") {
+ if (isOpen()) {
+ setStatus(Collapsed);
+ leaveInset(cur, *this);
+ } else
+ setStatus(Open);
- // The branch inset specialises its behaviour on "toggle".
- } else if (cmd.argument == "toggle"
+ // The branch inset uses "assign".
+ } else if (cmd.argument == "assign"
|| cmd.argument.empty()) {
BranchList const & branchlist =
- cur.bv().buffer()->params().branchlist();
+ cur.buffer().params().branchlist();
if (isBranchSelected(branchlist)) {
if (status() != Open)
setStatus(Open);
} else {
if (status() != Collapsed) {
setStatus(Collapsed);
- getOutOfInset(cur, *this);
+ leaveInset(cur, *this);
} else
cur.undispatched();
}