X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxfunc.C;h=fec6dc59140c9a8bfec32ea7473d06eeb65b478c;hb=bff0d2affbe3a2f107f07b536c164e410bf63ddd;hp=b290a637a07b3e00191b42b57d0d67d7f769bb38;hpb=305c1cb25ad24fc20660b827f5c78e17cde84f11;p=lyx.git diff --git a/src/lyxfunc.C b/src/lyxfunc.C index b290a637a0..fec6dc5914 100644 --- a/src/lyxfunc.C +++ b/src/lyxfunc.C @@ -352,16 +352,20 @@ FuncStatus LyXFunc::getStatus(FuncRequest const & cmd) const flag.message(from_utf8(N_("Exiting"))); flag.enabled(true); return flag; - } else if (cmd.action == LFUN_BOOKMARK_GOTO) { + } 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 @@ -573,6 +577,7 @@ FuncStatus LyXFunc::getStatus(FuncRequest const & cmd) const break; } + // this one is difficult to get right. As a half-baked // solution, we consider only the first action of the sequence case LFUN_COMMAND_SEQUENCE: { @@ -1690,6 +1695,10 @@ void LyXFunc::dispatch(FuncRequest const & cmd) LyX::ref().session().bookmarks().clear(); break; + case LFUN_TOOLBAR_TOGGLE_STATE: + lyx_view_->toggleToolbarState(argument); + break; + default: { BOOST_ASSERT(lyx_view_); view()->cursor().dispatch(cmd);