]> git.lyx.org Git - features.git/blobdiff - src/Text3.cpp
InsetInfo: Move validateArgument() to params
[features.git] / src / Text3.cpp
index 9ca87f3eaa75b00de0349851237b1b72a431c9d7..7d1142c13929f9f7b70f2c70183d7340decea7bb 100644 (file)
@@ -60,6 +60,7 @@
 #include "insets/InsetFloatList.h"
 #include "insets/InsetGraphics.h"
 #include "insets/InsetGraphicsParams.h"
+#include "insets/InsetInfo.h"
 #include "insets/InsetIPAMacro.h"
 #include "insets/InsetNewline.h"
 #include "insets/InsetQuotes.h"
@@ -1996,22 +1997,18 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
        }
 
        case LFUN_INFO_INSERT: {
-               Inset * inset;
-               if (cmd.argument().empty() && cur.selection()) {
-                       // if command argument is empty use current selection as parameter.
-                       docstring ds = cur.selectionAsString(false);
-                       cutSelection(cur, false);
-                       FuncRequest cmd0(cmd, ds);
-                       inset = createInset(cur.buffer(), cmd0);
+               if (cmd.argument().empty()) {
+                       bv->showDialog("info", cur.current_font.language()->lang());
                } else {
+                       Inset * inset;
                        inset = createInset(cur.buffer(), cmd);
+                       if (!inset)
+                               break;
+                       cur.recordUndo();
+                       insertInset(cur, inset);
+                       cur.forceBufferUpdate();
+                       cur.posForward();
                }
-               if (!inset)
-                       break;
-               cur.recordUndo();
-               insertInset(cur, inset);
-               cur.forceBufferUpdate();
-               cur.posForward();
                break;
        }
        case LFUN_CAPTION_INSERT:
@@ -2953,6 +2950,7 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
                break;
        case LFUN_INFO_INSERT:
                code = INFO_CODE;
+               enable = infoparams.validateArgument(cur.buffer(), cmd.argument(), true);
                break;
        case LFUN_ARGUMENT_INSERT: {
                code = ARG_CODE;