The branch, master, has been updated.

- Log -----------------------------------------------------------------

commit 3f0bf02cc79cda84bb09272c681d5974458ea9ed
Author: Juergen Spitzmueller <[email protected]>
Date:   Sat Dec 29 10:31:41 2012 +0100

    Disable CAPTION_INSERT in tables except for longtable caption cells (bug 
#5777)

diff --git a/src/insets/InsetTabular.cpp b/src/insets/InsetTabular.cpp
index f8d8686..a2aa334 100644
--- a/src/insets/InsetTabular.cpp
+++ b/src/insets/InsetTabular.cpp
@@ -32,6 +32,7 @@
 #include "DispatchResult.h"
 #include "FuncRequest.h"
 #include "FuncStatus.h"
+#include "InsetList.h"
 #include "Language.h"
 #include "LaTeXFeatures.h"
 #include "Lexer.h"
@@ -4698,6 +4699,31 @@ bool InsetTabular::getStatus(Cursor & cur, FuncRequest 
const & cmd,
                return true;
        }
 
+       case LFUN_CAPTION_INSERT: {
+               // caption is only allowed in caption cell of longtable
+               if (!tabular.ltCaption(tabular.cellRow(cur.idx()))) {
+                       status.setEnabled(false);
+                       return true;
+               }
+               // check if there is already a caption
+               bool have_caption = false;
+               InsetTableCell itc = 
InsetTableCell(*tabular.cellInset(cur.idx()).get());
+               ParagraphList::const_iterator pit = itc.paragraphs().begin();
+               ParagraphList::const_iterator pend = itc.paragraphs().end();
+               for (; pit != pend; ++pit) {
+                       InsetList::const_iterator it  = 
pit->insetList().begin();
+                       InsetList::const_iterator end = pit->insetList().end();
+                       for (; it != end; ++it) {
+                               if (it->inset->lyxCode() == CAPTION_CODE) {
+                                       have_caption = true;
+                                       break;
+                               }
+                       }
+               }
+               status.setEnabled(!have_caption);
+               return true;
+       }
+
        // These are only enabled inside tabular
        case LFUN_CELL_BACKWARD:
        case LFUN_CELL_FORWARD:

-----------------------------------------------------------------------

Summary of changes:
 src/insets/InsetTabular.cpp |   26 ++++++++++++++++++++++++++
 1 files changed, 26 insertions(+), 0 deletions(-)


hooks/post-receive
-- 
The LyX Source Repository

Reply via email to