]> git.lyx.org Git - lyx.git/blobdiff - src/lyxfunc.C
hopefully fix tex2lyx linking.
[lyx.git] / src / lyxfunc.C
index ed16fc23ec3f7b8038401c67e794016e589e1bd8..7de71684d5d8267f2de39d929e5b4b88325e2ce3 100644 (file)
@@ -377,7 +377,7 @@ FuncStatus LyXFunc::getStatus(FuncRequest const & cmd) const
           http://bugzilla.lyx.org/show_bug.cgi?id=1941#c4
        */
        Buffer * buf;
-       if (cmd.origin == FuncRequest::UI && !lyx_view_->hasFocus())
+       if (cmd.origin == FuncRequest::MENU && !lyx_view_->hasFocus())
                buf = 0;
        else
                buf = lyx_view_->buffer();
@@ -1252,6 +1252,7 @@ void LyXFunc::dispatch(FuncRequest const & cmd)
                            name == "bibtex" ||
                            name == "index" ||
                            name == "label" ||
+                           name == "nomenclature" ||
                            name == "ref" ||
                            name == "toc" ||
                            name == "url") {
@@ -1714,15 +1715,11 @@ void LyXFunc::dispatch(FuncRequest const & cmd)
                        // Redraw screen unless explicitly told otherwise.
                        // This also initializes the position cache for all insets
                        // in (at least partially) visible top-level paragraphs.
-                       bool needSecondUpdate = false;
-                       if (updateFlags != Update::None)
-                               view()->update(updateFlags);
-                       else
-                               needSecondUpdate = view()->fitCursor();
+                       std::pair<bool, bool> needSecondUpdate = view()->update(updateFlags);
+
+                       if (needSecondUpdate.first)
+                               view()->buffer()->changed(needSecondUpdate.second);
 
-                       if (needSecondUpdate || updateFlags != Update::None) {
-                               view()->buffer()->changed(updateFlags & Update::SinglePar);
-                       }
                        lyx_view_->updateStatusBar();
 
                        // if we executed a mutating lfun, mark the buffer as dirty
@@ -1736,26 +1733,18 @@ void LyXFunc::dispatch(FuncRequest const & cmd)
                        }
                }
        }
-       if (!quitting)
-               // FIXME UNICODE: _() does not support anything but ascii.
-               // Do we need a to_ascii() method?
+       if (!quitting) {
+               lyx_view_->updateMenubar();
+               lyx_view_->updateToolbars();
                sendDispatchMessage(getMessage(), cmd);
+       }
 }
 
 
 void LyXFunc::sendDispatchMessage(docstring const & msg, FuncRequest const & cmd)
 {
-       /* When an action did not originate from the UI/kbd, it makes
-        * sense to avoid updating the GUI. It turns out that this
-        * fixes bug 1941, for reasons that are described here:
-        * http://bugzilla.lyx.org/show_bug.cgi?id=1941#c4
-        */
-       if (cmd.origin != FuncRequest::INTERNAL) {
-               lyx_view_->updateMenubar();
-               lyx_view_->updateToolbars();
-       }
-
-       const bool verbose = (cmd.origin == FuncRequest::UI
+       const bool verbose = (cmd.origin == FuncRequest::MENU
+                             || cmd.origin == FuncRequest::TOOLBAR
                              || cmd.origin == FuncRequest::COMMANDBUFFER);
 
        if (cmd.action == LFUN_SELF_INSERT || !verbose) {
@@ -2099,6 +2088,7 @@ void actOnUpdatedPrefs(LyXRC const & lyxrc_orig, LyXRC const & lyxrc_new)
        case LyXRC::RC_LOADSESSION:
        case LyXRC::RC_CHKTEX_COMMAND:
        case LyXRC::RC_CONVERTER:
+       case LyXRC::RC_CONVERTER_CACHE_MAXAGE:
        case LyXRC::RC_COPIER:
        case LyXRC::RC_CURSOR_FOLLOWS_SCROLLBAR:
        case LyXRC::RC_CUSTOM_EXPORT_COMMAND:
@@ -2195,6 +2185,7 @@ void actOnUpdatedPrefs(LyXRC const & lyxrc_orig, LyXRC const & lyxrc_new)
        case LyXRC::RC_USER_NAME:
        case LyXRC::RC_USETEMPDIR:
        case LyXRC::RC_USE_ALT_LANG:
+       case LyXRC::RC_USE_CONVERTER_CACHE:
        case LyXRC::RC_USE_ESC_CHARS:
        case LyXRC::RC_USE_INP_ENC:
        case LyXRC::RC_USE_PERS_DICT: