From edb52c37d26b7872c73d2a4cec0b1b73c3b376ab Mon Sep 17 00:00:00 2001 From: Pavel Sanda Date: Sat, 11 Jul 2009 09:38:31 +0000 Subject: [PATCH] Add LFUN_BRANCH_ADD_INSERT. http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg152890.html git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30467 a592a061-630c-0410-9148-cb99ea01b6c8 --- lib/ui/stdmenus.inc | 2 ++ src/BufferView.cpp | 24 ++++++++++++++++++++++++ src/FuncCode.h | 2 ++ src/LyXAction.cpp | 11 +++++++++++ 4 files changed, 39 insertions(+) diff --git a/lib/ui/stdmenus.inc b/lib/ui/stdmenus.inc index f0d8778b2b..6758889218 100644 --- a/lib/ui/stdmenus.inc +++ b/lib/ui/stdmenus.inc @@ -463,6 +463,8 @@ Menuset Menu "insert_branches" Branches + Separator + Item "Insert New Branch...|I" "branch-add-insert" End Menu "insert_phantom" diff --git a/src/BufferView.cpp b/src/BufferView.cpp index 94d8c056ba..936dcffc9a 100644 --- a/src/BufferView.cpp +++ b/src/BufferView.cpp @@ -935,6 +935,7 @@ bool BufferView::getStatus(FuncRequest const & cmd, FuncStatus & flag) case LFUN_NOTES_MUTATE: case LFUN_ALL_INSETS_TOGGLE: case LFUN_STATISTICS: + case LFUN_BRANCH_ADD_INSERT: flag.setEnabled(true); break; @@ -1504,6 +1505,29 @@ bool BufferView::dispatch(FuncRequest const & cmd) break; } + case LFUN_BRANCH_ADD_INSERT: { + docstring branch_name = from_utf8(cmd.getArg(0)); + if (branch_name.empty()) + if (!Alert::askForText(branch_name, _("Branch name")) || + branch_name.empty()) + break; + + DispatchResult drtmp; + buffer_.dispatch(FuncRequest(LFUN_BRANCH_ADD, branch_name), drtmp); + if (drtmp.error()) { + Alert::warning(_("Branch already exists"), drtmp.message()); + break; + } + BranchList & branch_list = buffer_.params().branchlist(); + Branch const * branch = branch_list.find(branch_name); + string const x11hexname = X11hexname(branch->color()); + docstring const str = branch_name + ' ' + from_ascii(x11hexname); + lyx::dispatch(FuncRequest(LFUN_SET_COLOR, str)); + lyx::dispatch(FuncRequest(LFUN_BRANCH_INSERT, branch_name)); + break; + } + + default: return false; } diff --git a/src/FuncCode.h b/src/FuncCode.h index 3d879d0424..682ed20e0b 100644 --- a/src/FuncCode.h +++ b/src/FuncCode.h @@ -436,6 +436,8 @@ enum FuncCode LFUN_BUFFER_EXPORT, // Lgb 97-07-29 LFUN_BUFFER_TOGGLE_COMPRESSION, // bpeng 20060427 LFUN_BRANCH_ADD, // spitz 20090707 + LFUN_BRANCH_ADD_INSERT, + // 340 LFUN_BRANCHES_RENAME, // spitz 20090709 LFUN_LASTACTION // end of the table diff --git a/src/LyXAction.cpp b/src/LyXAction.cpp index 42085c8b33..0585e9e3c5 100644 --- a/src/LyXAction.cpp +++ b/src/LyXAction.cpp @@ -3327,6 +3327,17 @@ void LyXAction::init() * \endvar */ { LFUN_BRANCHES_RENAME, "branches-rename", Noop, Buffer }, +/*! + * \var lyx::FuncCode lyx::LFUN_BRANCH_ADD_INSERT + * \li Action: Create new branch and directly put the branch inset into + the document. + * \li Syntax: branch-add-insert [] + * \li Params: : Branch name. If it is not specified, you will be asked. + * \li Origin: sanda, 10 Jul 2009 + * \endvar + */ + { LFUN_BRANCH_ADD_INSERT, "branch-add-insert", Noop, Buffer }, + /*! * \var lyx::FuncCode lyx::LFUN_LABEL_COPY_AS_REF -- 2.39.5