dispatch(FuncRequest(LFUN_SELF_INSERT, arg,
FuncRequest::KEYBOARD));
LYXERR(Debug::KEY, "SelfInsert arg[`" << to_utf8(arg) << "']");
+ lyx_view_->updateCompletion(true, true);
}
} else {
dispatch(func);
+ if (func.action == LFUN_CHAR_DELETE_BACKWARD)
+ // backspace is not a self-insertion. But it
+ // still should not hide the completion popup.
+ // FIXME: more clever way to detect those movements
+ lyx_view_->updateCompletion(false, true);
+ else
+ lyx_view_->updateCompletion(false, false);
}
lyx_view_->restartCursor();
enable = false;
break;
+ case LFUN_COMPLETION_POPUP:
+ case LFUN_COMPLETION_INLINE:
+ case LFUN_COMPLETION_COMPLETE:
+ if (lyx_view_)
+ return lyx_view_->getStatus(cmd);
+ enable = false;
+ break;
+
case LFUN_BUFFER_TOGGLE_READ_ONLY:
flag.setOnOff(buf->isReadonly());
break;
case LyXRC::RC_BIBTEX_COMMAND:
case LyXRC::RC_BINDFILE:
case LyXRC::RC_CHECKLASTFILES:
+ case LyXRC::RC_COMPLETION_INLINE_DELAY:
+ case LyXRC::RC_COMPLETION_INLINE_MATH:
+ case LyXRC::RC_COMPLETION_INLINE_TEXT:
+ case LyXRC::RC_COMPLETION_INLINE_DOTS:
+ case LyXRC::RC_COMPLETION_POPUP_DELAY:
+ case LyXRC::RC_COMPLETION_POPUP_MATH:
+ case LyXRC::RC_COMPLETION_POPUP_TEXT:
+ case LyXRC::RC_COMPLETION_POPUP_AFTER_COMPLETE:
case LyXRC::RC_USELASTFILEPOS:
case LyXRC::RC_LOADSESSION:
case LyXRC::RC_CHKTEX_COMMAND: