]> git.lyx.org Git - lyx.git/blobdiff - src/LyX.cpp
Allow using \binom without amsmath and add support for \brace and \brack
[lyx.git] / src / LyX.cpp
index 2f981c518b48c773b8ea5f5d3f17ea8f02f2c245..552b51181b8da3f501dd619a86712ea862efb4dd 100644 (file)
@@ -17,7 +17,7 @@
 
 #include "LyX.h"
 
-#include "buffer_funcs.h"
+#include "LayoutFile.h"
 #include "Buffer.h"
 #include "BufferList.h"
 #include "CmdDef.h"
 #include "Encoding.h"
 #include "ErrorList.h"
 #include "Format.h"
+#include "FuncStatus.h"
 #include "KeyMap.h"
 #include "Language.h"
 #include "Lexer.h"
 #include "LyXAction.h"
 #include "LyXFunc.h"
 #include "LyXRC.h"
-#include "MenuBackend.h"
 #include "ModuleList.h"
 #include "Mover.h"
 #include "Server.h"
 #include "ServerSocket.h"
 #include "Session.h"
-#include "TextClassList.h"
 #include "ToolbarBackend.h"
 
 #include "frontends/alert.h"
@@ -84,8 +83,6 @@ namespace os = support::os;
 
 bool use_gui = true;
 
-bool quitting; // flag, that we are quitting the program
-
 namespace {
 
 // Filled with the command line arguments "foo" of "-sysdir foo" or
@@ -307,12 +304,6 @@ frontend::Application const & LyX::application() const
 }
 
 
-KeyMap & LyX::topLevelKeymap()
-{
-       return pimpl_->toplevel_keymap_;
-}
-
-
 CmdDef & LyX::topLevelCmdDef()
 {
        return pimpl_->toplevel_cmddef_;
@@ -331,12 +322,6 @@ Converters & LyX::systemConverters()
 }
 
 
-KeyMap const & LyX::topLevelKeymap() const
-{
-       return pimpl_->toplevel_keymap_;
-}
-
-
 Messages & LyX::getMessages(string const & language)
 {
        map<string, Messages>::iterator it = pimpl_->messages_.find(language);
@@ -459,10 +444,6 @@ void LyX::prepareExit()
        cap::clearCutStack();
        cap::clearSelection();
 
-       // Set a flag that we do quitting from the program,
-       // so no refreshes are necessary.
-       quitting = true;
-
        // close buffers first
        pimpl_->buffer_list_.closeAll();
 
@@ -583,7 +564,7 @@ void LyX::execBatchCommands()
        // aknowledged.
 
        // if reconfiguration is needed.
-       while (textclasslist.empty()) {
+       while (LayoutFileList::get().empty()) {
            switch (Alert::prompt(
                    _("No textclass is found"),
                    _("LyX cannot continue because no textclass is found. "
@@ -625,15 +606,6 @@ void LyX::execBatchCommands()
        else
                pimpl_->application_->restoreGuiSession();
 
-       BufferList::iterator I = theBufferList().begin();
-       BufferList::iterator end = theBufferList().end();
-       for (; I != end; ++I) {
-               Buffer * buf = *I;
-               if (buf != buf->masterBuffer())
-                       continue;
-               updateLabels(*buf);
-       }
-
        // Execute batch commands if available
        if (pimpl_->batch_command.empty())
                return;
@@ -855,7 +827,7 @@ bool LyX::init()
        pimpl_->lyxfunc_.initKeySequences(&pimpl_->toplevel_keymap_);
 
        // Read menus
-       if (!readUIFile(lyxrc.ui_file))
+       if (use_gui && !readUIFile(lyxrc.ui_file))
                return false;
 
        if (lyxerr.debugging(Debug::LYXRC))
@@ -893,7 +865,12 @@ bool LyX::init()
        // This must happen after package initialization and after lyxrc is
        // read, therefore it can't be done by a static object.
        ConverterCache::init();
-
+       
+       // init the global menubar on Mac. This must be done after the session
+       // was recovered to know the "last files".
+       if (use_gui)
+               theApp()->initGlobalMenu();
+       
        return true;
 }
 
@@ -915,32 +892,6 @@ void LyX::emergencyCleanup() const
 }
 
 
-void LyX::deadKeyBindings(KeyMap * kbmap)
-{
-       // bindKeyings for transparent handling of deadkeys
-       // The keysyms are gotten from XFree86 X11R6
-       kbmap->bind("~C-~S-~M-dead_acute", FuncRequest(LFUN_ACCENT_ACUTE));
-       kbmap->bind("~C-~S-~M-dead_breve", FuncRequest(LFUN_ACCENT_BREVE));
-       kbmap->bind("~C-~S-~M-dead_caron", FuncRequest(LFUN_ACCENT_CARON));
-       kbmap->bind("~C-~S-~M-dead_cedilla", FuncRequest(LFUN_ACCENT_CEDILLA));
-       kbmap->bind("~C-~S-~M-dead_abovering", FuncRequest(LFUN_ACCENT_CIRCLE));
-       kbmap->bind("~C-~S-~M-dead_circumflex", FuncRequest(LFUN_ACCENT_CIRCUMFLEX));
-       kbmap->bind("~C-~S-~M-dead_abovedot", FuncRequest(LFUN_ACCENT_DOT));
-       kbmap->bind("~C-~S-~M-dead_grave", FuncRequest(LFUN_ACCENT_GRAVE));
-       kbmap->bind("~C-~S-~M-dead_doubleacute", FuncRequest(LFUN_ACCENT_HUNGARIAN_UMLAUT));
-       kbmap->bind("~C-~S-~M-dead_macron", FuncRequest(LFUN_ACCENT_MACRON));
-       // nothing with this name
-       // kbmap->bind("~C-~S-~M-dead_special_caron", LFUN_ACCENT_SPECIAL_CARON);
-       kbmap->bind("~C-~S-~M-dead_tilde", FuncRequest(LFUN_ACCENT_TILDE));
-       kbmap->bind("~C-~S-~M-dead_diaeresis", FuncRequest(LFUN_ACCENT_UMLAUT));
-       // nothing with this name either...
-       //kbmap->bind("~C-~S-~M-dead_underbar", FuncRequest(LFUN_ACCENT_UNDERBAR));
-       kbmap->bind("~C-~S-~M-dead_belowdot", FuncRequest(LFUN_ACCENT_UNDERDOT));
-       kbmap->bind("~C-~S-~M-dead_tie", FuncRequest(LFUN_ACCENT_TIE));
-       kbmap->bind("~C-~S-~M-dead_ogonek",FuncRequest(LFUN_ACCENT_OGONEK));
-}
-
-
 // return true if file does not exist or is older than configure.py.
 static bool needsUpdate(string const & file)
 {
@@ -1096,7 +1047,7 @@ bool LyX::readUIFile(string const & name, bool include)
                        break;
                }
                case ui_menuset:
-                       theApp()->menuBackend().read(lex);
+                       theApp()->readMenus(lex);
                        break;
 
                case ui_toolbarset:
@@ -1390,7 +1341,7 @@ ServerSocket & theServerSocket()
 
 KeyMap & theTopLevelKeymap()
 {
-       return LyX::ref().topLevelKeymap();
+       return LyX::ref().pimpl_->toplevel_keymap_;
 }