From b063595be8cf550d9c5903ac35854ef49d77996a Mon Sep 17 00:00:00 2001 From: Jean-Marc Lasgouttes Date: Wed, 2 Nov 2005 11:27:08 +0000 Subject: [PATCH] bug 2081: Disallow insertion of marginal note in float table. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10582 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/BranchList.h | 2 +- src/ChangeLog | 6 +++++ src/text3.C | 67 ++++++++++++------------------------------------ 3 files changed, 24 insertions(+), 51 deletions(-) diff --git a/src/BranchList.h b/src/BranchList.h index 184e3f3cf8..610e97fd48 100644 --- a/src/BranchList.h +++ b/src/BranchList.h @@ -72,7 +72,7 @@ public: BranchList() : separator_("|") {} /// - bool empty() { return list.empty(); } + bool empty() const { return list.empty(); } /// void clear() { list.clear(); } /// diff --git a/src/ChangeLog b/src/ChangeLog index a6ecbd8d46..dc5ac72434 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2005-10-28 Jean-Marc Lasgouttes + + * text3.C (getStatus): re-enable disabled code. (bug 2081) + + * BranchList.h (empty): constify. + 2005-10-25 Jean-Marc Lasgouttes * text3.C (getStatus): diff --git a/src/text3.C b/src/text3.C index ec2fbe9462..f9e37c6131 100644 --- a/src/text3.C +++ b/src/text3.C @@ -17,6 +17,7 @@ #include "lyxtext.h" +#include "BranchList.h" #include "FloatList.h" #include "FuncStatus.h" #include "buffer.h" @@ -1561,8 +1562,10 @@ bool LyXText::getStatus(LCursor & cur, FuncRequest const & cmd, FuncStatus & flag) const { BOOST_ASSERT(cur.text() == this); + LyXFont const & font = real_current_font; bool enable = true; + InsetBase::Code code = InsetBase::NO_CODE; switch (cmd.action) { @@ -1574,11 +1577,6 @@ bool LyXText::getStatus(LCursor & cur, FuncRequest const & cmd, enable = changeDepthAllowed(cur, INC_DEPTH); break; - case LFUN_INSET_OPTARG: - enable = numberOfOptArgs(cur.paragraph()) - < cur.paragraph().layout()->optionalargs; - break; - case LFUN_APPENDIX: flag.setOnOff(cur.paragraph().params().startOfAppendix()); return true; @@ -1587,10 +1585,6 @@ bool LyXText::getStatus(LCursor & cur, FuncRequest const & cmd, enable = (cur.paragraph().layout()->labeltype == LABEL_BIBLIO); break; -#if 0 - // the functions which insert insets - InsetBase::Code code = InsetBase::NO_CODE; - switch (cmd.action) { case LFUN_DIALOG_SHOW_NEW_INSET: if (cmd.argument == "bibitem") code = InsetBase::BIBITEM_CODE; @@ -1668,7 +1662,7 @@ bool LyXText::getStatus(LCursor & cur, FuncRequest const & cmd, break; case LFUN_INSERT_CHARSTYLE: code = InsetBase::CHARSTYLE_CODE; - if (buf->params().getLyXTextClass().charstyles().empty()) + if (cur.buffer().params().getLyXTextClass().charstyles().empty()) enable = false; break; case LFUN_INSERT_BOX: @@ -1676,7 +1670,7 @@ bool LyXText::getStatus(LCursor & cur, FuncRequest const & cmd, break; case LFUN_INSERT_BRANCH: code = InsetBase::BRANCH_CODE; - if (buf->getMasterBuffer()->params().branchlist().empty()) + if (cur.buffer().getMasterBuffer()->params().branchlist().empty()) enable = false; break; case LFUN_INSERT_LABEL: @@ -1684,6 +1678,8 @@ bool LyXText::getStatus(LCursor & cur, FuncRequest const & cmd, break; case LFUN_INSET_OPTARG: code = InsetBase::OPTARG_CODE; + enable = numberOfOptArgs(cur.paragraph()) + < cur.paragraph().layout()->optionalargs; break; case LFUN_ENVIRONMENT_INSERT: code = InsetBase::BOX_CODE; @@ -1718,6 +1714,11 @@ bool LyXText::getStatus(LCursor & cur, FuncRequest const & cmd, if (cur.inTexted()) code = InsetBase::SPACE_CODE; break; + +#ifdef WITH_WARNINGS +#warning This LFUN is not used anymore and should be nuked (JMarc 29/10/2005) +#endif +#if 0 case LFUN_INSET_DIALOG_SHOW: { InsetBase * inset = cur.nextInset(); enable = inset; @@ -1731,37 +1732,8 @@ bool LyXText::getStatus(LCursor & cur, FuncRequest const & cmd, } break; } - default: - break; - } - - if (code != InsetBase::NO_CODE - && (cur.empty() || !cur.inset().insetAllowed(code))) - enable = false; - #endif - case LFUN_DIALOG_SHOW_NEW_INSET: - case LFUN_INSET_ERT: - case LFUN_INSERT_BOX: - case LFUN_INSERT_BRANCH: - case LFUN_ENVIRONMENT_INSERT: - case LFUN_INDEX_INSERT: - case LFUN_INDEX_PRINT: - case LFUN_TOC_INSERT: - case LFUN_HTMLURL: - case LFUN_URL: - case LFUN_QUOTE: - case LFUN_HYPHENATION: - case LFUN_LIGATURE_BREAK: - case LFUN_HFILL: - case LFUN_MENU_SEPARATOR: - case LFUN_LDOTS: - case LFUN_END_OF_SENTENCE: - case LFUN_SPACE_INSERT: - case LFUN_INSET_DIALOG_SHOW: - break; - case LFUN_INSET_MODIFY: // We need to disable this, because we may get called for a // tabular cell via @@ -1848,15 +1820,6 @@ bool LyXText::getStatus(LCursor & cur, FuncRequest const & cmd, case LFUN_PASTESELECTION: case LFUN_DATE_INSERT: case LFUN_SELFINSERT: - case LFUN_INSERT_LABEL: - case LFUN_INSERT_NOTE: - case LFUN_INSERT_CHARSTYLE: - case LFUN_INSET_FLOAT: - case LFUN_INSET_FOOTNOTE: - case LFUN_INSET_MARGINAL: - case LFUN_INSET_WIDE_FLOAT: - case LFUN_INSET_WRAP: - case LFUN_TABULAR_INSERT: case LFUN_INSERT_LINE: case LFUN_INSERT_PAGEBREAK: case LFUN_MATH_DISPLAY: @@ -1893,7 +1856,6 @@ bool LyXText::getStatus(LCursor & cur, FuncRequest const & cmd, case LFUN_HUNG_UMLAUT: case LFUN_CIRCLE: case LFUN_OGONEK: - case LFUN_FLOAT_LIST: case LFUN_ACCEPT_CHANGE: case LFUN_REJECT_CHANGE: case LFUN_THESAURUS_ENTRY: @@ -1910,6 +1872,11 @@ bool LyXText::getStatus(LCursor & cur, FuncRequest const & cmd, default: return false; } + + if (code != InsetBase::NO_CODE + && (cur.empty() || !cur.inset().insetAllowed(code))) + enable = false; + flag.enabled(enable); return true; }