Author: spitz
Date: Tue Mar  6 10:14:24 2012
New Revision: 40869
URL: http://www.lyx.org/trac/changeset/40869

Log:
Allow superscript (but not subscript) in IPA inset.

Modified:
   lyx-devel/trunk/src/insets/InsetIPA.cpp
   lyx-devel/trunk/src/insets/InsetIPA.h

Modified: lyx-devel/trunk/src/insets/InsetIPA.cpp
==============================================================================
--- lyx-devel/trunk/src/insets/InsetIPA.cpp     Tue Mar  6 08:56:24 2012        
(r40868)
+++ lyx-devel/trunk/src/insets/InsetIPA.cpp     Tue Mar  6 10:14:24 2012        
(r40869)
@@ -15,6 +15,8 @@
 #include "BufferParams.h"
 #include "BufferView.h"
 #include "Cursor.h"
+#include "FuncRequest.h"
+#include "FuncStatus.h"
 #include "LaTeXFeatures.h"
 #include "Lexer.h"
 #include "LyXRC.h"
@@ -61,6 +63,24 @@
 }
 
 
+bool InsetIPA::getStatus(Cursor & cur, FuncRequest const & cmd,
+               FuncStatus & flag) const
+{
+       switch (cmd.action()) {
+       case LFUN_SCRIPT_INSERT: {
+               if (cmd.argument() == "subscript") {
+                       flag.setEnabled(false);
+                       return true;
+               }
+               break;
+       }
+       default:
+               break;
+       }
+       return InsetText::getStatus(cur, cmd, flag);
+}
+
+
 void InsetIPA::addPreview(DocIterator const & inset_pos,
        graphics::PreviewLoader &) const
 {
@@ -189,10 +209,14 @@
 
 bool InsetIPA::insetAllowed(InsetCode code) const
 {
-       if (code == ERT_CODE)
+       switch (code) {
+       // code that is allowed
+       case ERT_CODE:
+       case SCRIPT_CODE:
                return true;
-       else
+       default:
                return false;
+       }
 }
 
 

Modified: lyx-devel/trunk/src/insets/InsetIPA.h
==============================================================================
--- lyx-devel/trunk/src/insets/InsetIPA.h       Tue Mar  6 08:56:24 2012        
(r40868)
+++ lyx-devel/trunk/src/insets/InsetIPA.h       Tue Mar  6 10:14:24 2012        
(r40869)
@@ -55,6 +55,9 @@
 
        void draw(PainterInfo & pi, int x, int y) const;
 
+       ///
+       bool getStatus(Cursor &, FuncRequest const &, FuncStatus &) const;
+
        void addPreview(DocIterator const & inset_pos,
                graphics::PreviewLoader & ploader) const;
 

Reply via email to