]> git.lyx.org Git - features.git/blobdiff - src/Text3.cpp
move more functions from InsetCollapsable::getStatus to Text
[features.git] / src / Text3.cpp
index d48c15ac462c195dc97b83ff37f97d415ec48ba1..7c8678158c0ac3816284709f30476c8625675f3f 100644 (file)
@@ -2611,6 +2611,13 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
                break;
        }
 
+       case LFUN_LANGUAGE:
+               // FIXME: use isPassThru() here?
+               enable = !cur.inset().forceLTR();
+
+       case LFUN_BREAK_PARAGRAPH:
+               enable = cur.inset().getLayout().isMultiPar();
+
        case LFUN_WORD_DELETE_FORWARD:
        case LFUN_WORD_DELETE_BACKWARD:
        case LFUN_LINE_DELETE:
@@ -2646,7 +2653,6 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
        case LFUN_LINE_END:
        case LFUN_CHAR_DELETE_FORWARD:
        case LFUN_CHAR_DELETE_BACKWARD:
-       case LFUN_BREAK_PARAGRAPH:
        case LFUN_PARAGRAPH_SPACING:
        case LFUN_INSET_INSERT:
        case LFUN_WORD_UPCASE:
@@ -2670,7 +2676,6 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
        case LFUN_FONT_UULINE:
        case LFUN_FONT_UWAVE:
        case LFUN_FONT_SIZE:
-       case LFUN_LANGUAGE:
        case LFUN_TEXTSTYLE_APPLY:
        case LFUN_TEXTSTYLE_UPDATE:
        case LFUN_LAYOUT_PARAGRAPH:
@@ -2716,6 +2721,94 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
            && (cur.empty() || !cur.inset().insetAllowed(code)))
                enable = false;
 
+       switch (cmd.action) {
+       case LFUN_ACCENT_ACUTE:
+       case LFUN_ACCENT_BREVE:
+       case LFUN_ACCENT_CARON:
+       case LFUN_ACCENT_CEDILLA:
+       case LFUN_ACCENT_CIRCLE:
+       case LFUN_ACCENT_CIRCUMFLEX:
+       case LFUN_ACCENT_DOT:
+       case LFUN_ACCENT_GRAVE:
+       case LFUN_ACCENT_HUNGARIAN_UMLAUT:
+       case LFUN_ACCENT_MACRON:
+       case LFUN_ACCENT_OGONEK:
+       case LFUN_ACCENT_TIE:
+       case LFUN_ACCENT_TILDE:
+       case LFUN_ACCENT_UMLAUT:
+       case LFUN_ACCENT_UNDERBAR:
+       case LFUN_ACCENT_UNDERDOT:
+       case LFUN_APPENDIX:
+       case LFUN_BOX_INSERT:
+       case LFUN_BRANCH_INSERT:
+       case LFUN_CAPTION_INSERT:
+       case LFUN_DEPTH_DECREMENT:
+       case LFUN_DEPTH_INCREMENT:
+       case LFUN_ERT_INSERT:
+       case LFUN_FILE_INSERT:
+       case LFUN_FLEX_INSERT:
+       case LFUN_FLOAT_INSERT:
+       case LFUN_FLOAT_LIST_INSERT:
+       case LFUN_FLOAT_WIDE_INSERT:
+       case LFUN_FONT_BOLD:
+       case LFUN_FONT_BOLDSYMBOL:
+       case LFUN_FONT_TYPEWRITER:
+       case LFUN_FONT_DEFAULT:
+       case LFUN_FONT_EMPH:
+       case LFUN_FONT_NOUN:
+       case LFUN_FONT_ROMAN:
+       case LFUN_FONT_SANS:
+       case LFUN_FONT_FRAK:
+       case LFUN_FONT_ITAL:
+       case LFUN_FONT_SIZE:
+       case LFUN_FONT_STATE:
+       case LFUN_FONT_UNDERLINE:
+       case LFUN_FONT_STRIKEOUT:
+       case LFUN_FONT_UULINE:
+       case LFUN_FONT_UWAVE:
+       case LFUN_FOOTNOTE_INSERT:
+       case LFUN_HYPERLINK_INSERT:
+       case LFUN_INDEX_INSERT:
+       case LFUN_INDEX_PRINT:
+       case LFUN_INSET_INSERT:
+       case LFUN_LABEL_GOTO:
+       case LFUN_LABEL_INSERT:
+       case LFUN_LAYOUT_TABULAR:
+       case LFUN_LINE_INSERT:
+       case LFUN_MARGINALNOTE_INSERT:
+       case LFUN_MATH_DISPLAY:
+       case LFUN_MATH_INSERT:
+       case LFUN_MATH_AMS_MATRIX:
+       case LFUN_MATH_MATRIX:
+       case LFUN_MATH_MODE:
+       case LFUN_MENU_OPEN:
+       case LFUN_NEWLINE_INSERT:
+       case LFUN_NEWPAGE_INSERT:
+       case LFUN_NOACTION:
+       case LFUN_NOMENCL_INSERT:
+       case LFUN_NOMENCL_PRINT:
+       case LFUN_NOTE_INSERT:
+       case LFUN_NOTE_NEXT:
+       case LFUN_OPTIONAL_INSERT:
+       case LFUN_PHANTOM_INSERT:
+       case LFUN_REFERENCE_NEXT:
+       case LFUN_SERVER_GOTO_FILE_ROW:
+       case LFUN_SERVER_NOTIFY:
+       case LFUN_SERVER_SET_XY:
+       case LFUN_SPACE_INSERT:
+       case LFUN_SPECIALCHAR_INSERT:
+       case LFUN_TABULAR_INSERT:
+       case LFUN_TEXTSTYLE_APPLY:
+       case LFUN_TEXTSTYLE_UPDATE:
+       case LFUN_TOC_INSERT:
+       case LFUN_WRAP_INSERT:
+               if (!cur.inset().getLayout().isPassThru())
+                       enable = false;
+               break;
+       default:
+               break;
+       }
+
        flag.setEnabled(enable);
        return true;
 }