]> git.lyx.org Git - lyx.git/blobdiff - src/lyxfunc.C
Fix remaining toolbar/session issues
[lyx.git] / src / lyxfunc.C
index b290a637a07b3e00191b42b57d0d67d7f769bb38..fec6dc59140c9a8bfec32ea7473d06eeb65b478c 100644 (file)
@@ -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<unsigned int>(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);