From: Jean-Marc Lasgouttes Date: Mon, 22 Jan 2007 14:43:45 +0000 (+0000) Subject: * src/LyXAction.C: mark goto-clear-bookmark as working without buffer X-Git-Tag: 1.6.10~11097 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=e28331ed63062dea10d0a21b9ec12034b4b17b9a;p=lyx.git * src/LyXAction.C: mark goto-clear-bookmark as working without buffer * src/lyxfunc.C (getStatus): move handling of LFUN_LYX_QUIT, LFUN_BOOKMARK_GOTO, LFUN_BOOKMARK_CLEAR and LFUN_TOOLBAR_TOGGLE_STATE where they belong. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16810 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/LyXAction.C b/src/LyXAction.C index 0e301fc455..d5eb40df3f 100644 --- a/src/LyXAction.C +++ b/src/LyXAction.C @@ -100,9 +100,9 @@ void LyXAction::init() { LFUN_ACCENT_UNDERBAR, "accent-underbar", Noop }, { LFUN_ACCENT_UNDERDOT, "accent-underdot", Noop }, { LFUN_APPENDIX, "appendix", Noop }, - { LFUN_BOOKMARK_GOTO, "bookmark-goto", ReadOnly }, + { LFUN_BOOKMARK_GOTO, "bookmark-goto", NoBuffer }, { LFUN_BOOKMARK_SAVE, "bookmark-save", ReadOnly }, - { LFUN_BOOKMARK_CLEAR, "bookmark-clear", ReadOnly }, + { LFUN_BOOKMARK_CLEAR, "bookmark-clear", NoBuffer }, { LFUN_BREAK_LINE, "break-line", Noop }, { LFUN_BREAK_PARAGRAPH, "break-paragraph", Noop }, { LFUN_BREAK_PARAGRAPH_KEEP_LAYOUT, "break-paragraph-keep-layout", Noop }, diff --git a/src/lyxfunc.C b/src/lyxfunc.C index 6bea042318..7bc580d7e7 100644 --- a/src/lyxfunc.C +++ b/src/lyxfunc.C @@ -386,24 +386,6 @@ FuncStatus LyXFunc::getStatus(FuncRequest const & cmd) const //lyxerr << "LyXFunc::getStatus: cmd: " << cmd << endl; FuncStatus flag; - if (cmd.action == LFUN_LYX_QUIT) { - flag.message(from_utf8(N_("Exiting"))); - flag.enabled(true); - return flag; - } else if (cmd.action == LFUN_BOOKMARK_GOTO) { - // bookmarks can be valid even if there is no opened buffer - flag.enabled(LyX::ref().session().bookmarks().isValid(convert(to_utf8(cmd.argument())))); - return flag; - } else if (cmd.action == LFUN_BOOKMARK_CLEAR) { - flag.enabled(LyX::ref().session().bookmarks().size() > 0); - return flag; - } else if (cmd.action == LFUN_TOOLBAR_TOGGLE_STATE) { - ToolbarBackend::Flags flags = lyx_view_->getToolbarState(to_utf8(cmd.argument())); - if (!(flags & ToolbarBackend::AUTO)) - flag.setOnOff(flags & ToolbarBackend::ON); - return flag; - } - LCursor & cur = view()->cursor(); /* In LyX/Mac, when a dialog is open, the menus of the @@ -614,6 +596,22 @@ FuncStatus LyXFunc::getStatus(FuncRequest const & cmd) const break; } + case LFUN_BOOKMARK_GOTO: { + const unsigned int num = convert(to_utf8(cmd.argument())); + enable = LyX::ref().session().bookmarks().isValid(num); + break; + } + + case LFUN_BOOKMARK_CLEAR: + enable = LyX::ref().session().bookmarks().size() > 0; + break; + + case LFUN_TOOLBAR_TOGGLE_STATE: { + ToolbarBackend::Flags flags = lyx_view_->getToolbarState(to_utf8(cmd.argument())); + if (!(flags & ToolbarBackend::AUTO)) + flag.setOnOff(flags & ToolbarBackend::ON); + break; + } // this one is difficult to get right. As a half-baked // solution, we consider only the first action of the sequence @@ -677,6 +675,7 @@ FuncStatus LyXFunc::getStatus(FuncRequest const & cmd) const case LFUN_BUFFER_PREVIOUS: case LFUN_WINDOW_NEW: case LFUN_WINDOW_CLOSE: + case LFUN_LYX_QUIT: // these are handled in our dispatch() break; @@ -1074,6 +1073,7 @@ void LyXFunc::dispatch(FuncRequest const & cmd) case LFUN_LYX_QUIT: // quitting is triggered by the gui code // (leaving the event loop). + lyx_view_->message(from_utf8(N_("Exiting."))); if (theBufferList().quitWriteAll()) theApp()->gui().closeAllViews(); break;