Introduce LFUN_CLOSE_TAB_GROUP.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23097 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Abdelrazak Younes 2008-02-21 14:53:09 +00:00
parent 3d87d2f724
commit 2a725d7c23
4 changed files with 22 additions and 1 deletions

View File

@ -1144,7 +1144,7 @@ void LyXAction::init()
* \var lyx::kb_action lyx::LFUN_SPLIT_VIEW * \var lyx::kb_action lyx::LFUN_SPLIT_VIEW
* \li Action: Creates another split view of current buffer. * \li Action: Creates another split view of current buffer.
* \li Notion: All split views act in the same way indpendently. * \li Notion: All split views act in the same way indpendently.
* \li Syntax: split-buffer <vertical|horizontal> * \li Syntax: split-view <vertical|horizontal>
* \li Params: horizontal : The work areas are laid out side by side.\n * \li Params: horizontal : The work areas are laid out side by side.\n
vertical : The work areas laid out vertically.\n vertical : The work areas laid out vertically.\n
* \li Origin: abdel, 20 Feb 2007 * \li Origin: abdel, 20 Feb 2007
@ -1152,6 +1152,16 @@ void LyXAction::init()
*/ */
{ LFUN_SPLIT_VIEW, "split-view", ReadOnly, Buffer }, { LFUN_SPLIT_VIEW, "split-view", ReadOnly, Buffer },
/*!
* \var lyx::kb_action lyx::LFUN_CLOSE_TAB_GROUP
* \li Action: Close the current tab group.
* \li Notion: This only closes the work areas, not the buffer themselves.
The still opened buffers can be visualized in another tab group.
* \li Syntax: close-tab-group
* \li Origin: abdel, 21 Feb 2007
* \endvar
*/
{ LFUN_CLOSE_TAB_GROUP, "close-tab-group", ReadOnly, Buffer },
{ LFUN_DIALOG_SHOW, "dialog-show", NoBuffer, Edit }, { LFUN_DIALOG_SHOW, "dialog-show", NoBuffer, Edit },
{ LFUN_DIALOG_SHOW_NEW_INSET, "dialog-show-new-inset", Noop, Edit }, { LFUN_DIALOG_SHOW_NEW_INSET, "dialog-show-new-inset", Noop, Edit },
{ LFUN_DIALOG_UPDATE, "dialog-update", NoBuffer, Edit }, { LFUN_DIALOG_UPDATE, "dialog-update", NoBuffer, Edit },

View File

@ -453,6 +453,7 @@ FuncStatus LyXFunc::getStatus(FuncRequest const & cmd) const
case LFUN_BUFFER_WRITE: case LFUN_BUFFER_WRITE:
case LFUN_BUFFER_WRITE_AS: case LFUN_BUFFER_WRITE_AS:
case LFUN_SPLIT_VIEW: case LFUN_SPLIT_VIEW:
case LFUN_CLOSE_TAB_GROUP:
if (lyx_view_) if (lyx_view_)
return lyx_view_->getStatus(cmd); return lyx_view_->getStatus(cmd);
enable = false; enable = false;

View File

@ -964,6 +964,10 @@ FuncStatus GuiView::getStatus(FuncRequest const & cmd)
enable = buf; enable = buf;
break; break;
case LFUN_CLOSE_TAB_GROUP:
enable = d.currentTabWorkArea();
break;
case LFUN_TOOLBAR_TOGGLE: case LFUN_TOOLBAR_TOGGLE:
flag.setOnOff(d.toolbars_->visible(cmd.getArg(0))); flag.setOnOff(d.toolbars_->visible(cmd.getArg(0)));
break; break;
@ -1822,6 +1826,11 @@ bool GuiView::dispatch(FuncRequest const & cmd)
} }
break; break;
case LFUN_CLOSE_TAB_GROUP:
if (TabWorkArea * twa = d.currentTabWorkArea())
delete twa;
break;
default: default:
return false; return false;
} }

View File

@ -414,6 +414,7 @@ enum kb_action {
LFUN_SCROLL, LFUN_SCROLL,
LFUN_UI_TOGGLE, LFUN_UI_TOGGLE,
LFUN_SPLIT_VIEW, LFUN_SPLIT_VIEW,
LFUN_CLOSE_TAB_GROUP,
LFUN_LASTACTION // end of the table LFUN_LASTACTION // end of the table
}; };