*/
#include <config.h>
-#include <vector>
#include "LyXFunc.h"
#include "Converter.h"
#include "Cursor.h"
#include "CutAndPaste.h"
-#include "support/debug.h"
#include "DispatchResult.h"
#include "Encoding.h"
#include "ErrorList.h"
#include "Format.h"
#include "FuncRequest.h"
#include "FuncStatus.h"
-#include "support/gettext.h"
#include "InsetIterator.h"
#include "Intl.h"
#include "KeyMap.h"
#include "Server.h"
#include "Session.h"
#include "TextClassList.h"
-#include "ToolbarBackend.h"
#include "insets/InsetBox.h"
#include "insets/InsetBranch.h"
#include "frontends/LyXView.h"
#include "frontends/Selection.h"
+#include "support/debug.h"
#include "support/environment.h"
#include "support/FileName.h"
#include "support/filetools.h"
+#include "support/gettext.h"
#include "support/lstrings.h"
#include "support/Path.h"
#include "support/Package.h"
#include "support/os.h"
#include <sstream>
+#include <vector>
using namespace std;
using namespace lyx::support;
namespace Alert = frontend::Alert;
-extern bool quitting;
-extern bool use_gui;
-
namespace {
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();
break;
case LFUN_TOOLBAR_TOGGLE:
- case LFUN_UI_TOGGLE:
case LFUN_INSET_APPLY:
case LFUN_BUFFER_WRITE:
case LFUN_BUFFER_WRITE_AS:
+ case LFUN_SPLIT_VIEW:
+ case LFUN_CLOSE_TAB_GROUP:
+ if (lyx_view_)
+ return lyx_view_->getStatus(cmd);
+ 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;
case LFUN_DIALOG_HIDE:
case LFUN_DIALOG_DISCONNECT_INSET:
case LFUN_BUFFER_CHILD_OPEN:
+ case LFUN_UI_TOGGLE:
case LFUN_TOGGLE_CURSOR_FOLLOWS_SCROLLBAR:
case LFUN_KEYMAP_OFF:
case LFUN_KEYMAP_PRIMARY:
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:
case LyXRC::RC_USE_SPELL_LIB:
case LyXRC::RC_VIEWDVI_PAPEROPTION:
case LyXRC::RC_SORT_LAYOUTS:
+ case LyXRC::RC_FULL_SCREEN_LIMIT:
+ case LyXRC::RC_FULL_SCREEN_SCROLLBAR:
+ case LyXRC::RC_FULL_SCREEN_TABBAR:
+ case LyXRC::RC_FULL_SCREEN_TOOLBARS:
+ case LyXRC::RC_FULL_SCREEN_WIDTH:
+ case LyXRC::RC_VISUAL_CURSOR:
case LyXRC::RC_VIEWER:
case LyXRC::RC_LAST:
break;