Item "Settings...|S" "inset-settings info"
End
+#
+# InsetBranch context menu
+#
+
+ Menu "context-branch"
+ OptItem "Open Inset|O" "inset-toggle open"
+ OptItem "Close Inset|C" "inset-toggle close"
+ Separator
+ OptItem "Activate Branch|A" "branch-activate"
+ OptItem "Deactivate Branch|e" "branch-deactivate"
+ Separator
+ Item "Dissolve Inset|D" "inset-dissolve"
+ OptItem "Settings...|S" "inset-settings"
+ End
+
End
case LFUN_BRANCH_DEACTIVATE: {
BranchList & branchList = params().branchlist();
docstring const branchName = func.argument();
+ // the case without a branch name is handled elsewhere
+ if (branchName.empty()) {
+ dispatched = false;
+ break;
+ }
Branch * branch = branchList.find(branchName);
if (!branch)
LYXERR0("Branch " << branchName << " does not exist.");
case LFUN_BRANCH_ACTIVATE:
case LFUN_BRANCH_DEACTIVATE: {
- bool enable = false;
+ BranchList const & branchList = buffer_.params().branchlist();
docstring const branchName = cmd.argument();
- if (!branchName.empty())
- enable = buffer_.params().branchlist().find(branchName);
- flag.setEnabled(enable);
+ flag.setEnabled(!branchName.empty()
+ && branchList.find(branchName));
break;
}
case LFUN_BRANCH_ACTIVATE:
case LFUN_BRANCH_DEACTIVATE:
+ if (cmd.argument().empty())
+ return false;
buffer_.dispatch(cmd);
processUpdateFlags(Update::Force);
break;
* \li Origin: rgh, 27 May 2008
* \endvar
*/
- { LFUN_BRANCH_ACTIVATE, "branch-activate", Argument, Buffer },
+ { LFUN_BRANCH_ACTIVATE, "branch-activate", AtPoint, Buffer },
/*!
* \var lyx::FuncCode lyx::LFUN_BRANCH_DEACTIVATE
* \li Action: De-activate the branch
* \li Origin: rgh, 27 May 2008
* \endvar
*/
- { LFUN_BRANCH_DEACTIVATE, "branch-deactivate", Argument, Buffer },
+ { LFUN_BRANCH_DEACTIVATE, "branch-deactivate", AtPoint, Buffer },
/*!
* \var lyx::FuncCode lyx::LFUN_COPY_LABEL_AS_REF
cur.bv().updateDialog("branch", params2string(params()));
break;
+ case LFUN_BRANCH_ACTIVATE:
+ case LFUN_BRANCH_DEACTIVATE: {
+ // FIXME: I do not like this cast, but have no other idea...
+ Buffer * realbuffer = const_cast<Buffer *>(buffer().masterBuffer());
+ BranchList & branchlist = realbuffer->params().branchlist();
+ Branch * ourBranch = branchlist.find(params_.branch);
+ if (!ourBranch)
+ break;
+ ourBranch->setSelected(cmd.action == LFUN_BRANCH_ACTIVATE);
+ break;
+ }
+
case LFUN_INSET_TOGGLE:
if (cmd.argument() == "assign")
setStatus(cur, isBranchSelected() ? Open : Collapsed);
flag.setEnabled(true);
break;
+ case LFUN_BRANCH_ACTIVATE:
+ flag.setEnabled(!isBranchSelected());
+ break;
+
+ case LFUN_BRANCH_DEACTIVATE:
+ flag.setEnabled(isBranchSelected());
+ break;
+
case LFUN_INSET_TOGGLE:
- if (cmd.argument() == "assign") {
+ if (cmd.argument() == "assign")
flag.setEnabled(true);
- break;
- }
- //fall through to generic InsetCollapsable implmementation
+ else
+ return InsetCollapsable::getStatus(cur, cmd, flag);
default:
return InsetCollapsable::getStatus(cur, cmd, flag);
}
+docstring InsetBranch::contextMenu(BufferView const &, int, int) const
+{
+ return from_ascii("context-branch");
+}
+
+
bool InsetBranch::isMacroScope() const
{
// Its own scope if not selected by buffer
///
void validate(LaTeXFeatures &) const;
///
+ docstring contextMenu(BufferView const &, int, int) const;
+ ///
void addToToc(DocIterator const &);
///
InsetBranchParams const & params() const { return params_; }