X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyx_main.C;h=82dd64cbf9db6d70c1117adda9ca69a613d5f5c1;hb=916ae4222d5218ad7d5c2d5b989ed95437eb3491;hp=324f2000c6fbc7c717b1abff70c2bb7cc657b0c5;hpb=adaef99e60e28eba8c413a3472cc71e234718af0;p=lyx.git diff --git a/src/lyx_main.C b/src/lyx_main.C index 324f2000c6..82dd64cbf9 100644 --- a/src/lyx_main.C +++ b/src/lyx_main.C @@ -64,7 +64,7 @@ LyXServer * lyxserver = 0; bool finished = false; // flag, that we are quitting the program // convenient to have it here. -kb_keymap * toplevel_keymap; +boost::scoped_ptr toplevel_keymap; LyX::LyX(int * argc, char * argv[]) @@ -78,8 +78,8 @@ LyX::LyX(int * argc, char * argv[]) bool gui = easyParse(argc, argv); // Global bindings (this must be done as early as possible.) (Lgb) - toplevel_keymap = new kb_keymap; - defaultKeyBindings(toplevel_keymap); + toplevel_keymap.reset(new kb_keymap); + defaultKeyBindings(toplevel_keymap.get()); // Make the GUI object, and let it take care of the // command line arguments that concerns it. @@ -318,10 +318,10 @@ void LyX::init(int */*argc*/, char **argv, bool gui) // Warn the user if we couldn't find "chkconfig.ltx" if (system_lyxdir == "./") { - lyxerr <<_("LyX Warning! Couldn't determine system directory.") - <<_("Try the '-sysdir' command line parameter or") + lyxerr <<_("LyX Warning! Couldn't determine system directory. ") + <<_("Try the '-sysdir' command line parameter or ") <<_("set the environment variable LYX_DIR_11x to the " - "LyX system directory") + "LyX system directory ") << _("containing the file `chkconfig.ltx'.") << endl; if (!path_shown) lyxerr << _("Using built-in default ") @@ -351,10 +351,10 @@ void LyX::init(int */*argc*/, char **argv, bool gui) bool explicit_userdir = true; if (user_lyxdir.empty()) { - // LYX_USERDIR_11x environment variable + // LYX_USERDIR_11x environment variable user_lyxdir = GetEnvPath("LYX_USERDIR_11x"); - // default behaviour + // default behaviour if (user_lyxdir.empty()) user_lyxdir = AddPath(GetEnvPath("HOME"), string(".") + PACKAGE); @@ -364,8 +364,12 @@ void LyX::init(int */*argc*/, char **argv, bool gui) lyxerr[Debug::INIT] << "User LyX directory: '" << user_lyxdir << '\'' << endl; - // Check that user LyX directory is ok. - queryUserLyXDir(explicit_userdir); + // Check that user LyX directory is ok. We don't do that if + // running in batch mode. + if (gui) + queryUserLyXDir(explicit_userdir); + else + first_start = false; // // Shine up lyxrc defaults @@ -400,14 +404,15 @@ void LyX::init(int */*argc*/, char **argv, bool gui) ReadRcFile("lyxrc.defaults"); system_lyxrc = lyxrc; + system_formats = formats; + system_converters = converters; + system_lcolor = lcolor; + // If there is a preferences file we read that instead // of the old lyxrc file. if (!ReadRcFile("preferences")) ReadRcFile("lyxrc"); - /// Init Converter - Converter::init(); - // Read encodings ReadEncodingsFile("encodings"); // Read languages @@ -419,8 +424,7 @@ void LyX::init(int */*argc*/, char **argv, bool gui) // Ensure that we have really read a bind file, so that LyX is // usable. - if (!lyxrc.hasBindFile) - lyxrc.ReadBindFile(); + lyxrc.readBindFileIfNeeded(); // Read menus ReadUIFile(lyxrc.ui_file); @@ -428,7 +432,7 @@ void LyX::init(int */*argc*/, char **argv, bool gui) // Bind the X dead keys to the corresponding LyX functions if // necessary. if (lyxrc.override_x_deadkeys) - deadKeyBindings(toplevel_keymap); + deadKeyBindings(toplevel_keymap.get()); if (lyxerr.debugging(Debug::LYXRC)) { lyxrc.print(); @@ -463,6 +467,7 @@ void LyX::defaultKeyBindings(kb_keymap * kbmap) kbmap->bind("Down", LFUN_DOWN); kbmap->bind("Tab", LFUN_TAB); + kbmap->bind("ISO_Left_Tab", LFUN_TAB); // jbl 2001-23-02 kbmap->bind("Home", LFUN_HOME); kbmap->bind("End", LFUN_END); @@ -501,6 +506,7 @@ void LyX::defaultKeyBindings(kb_keymap * kbmap) kbmap->bind("C-Tab", LFUN_TABINSERT); // ale970515 kbmap->bind("S-Tab", LFUN_SHIFT_TAB); // jug20000522 + kbmap->bind("S-ISO_Left_Tab", LFUN_SHIFT_TAB); // jbl 2001-23-02 } @@ -709,7 +715,14 @@ void commandLineHelp() "\t-dbg feature[,feature]...\n" " select the features to debug.\n" " Type `lyx -dbg' to see the list of features\n" - "Check the LyX man page for more options.") << endl; + "\t-x [--execute] command\n" + " where command is a lyx command.\n" + "\t-e [--export] fmt\n" + " where fmt is the export format of choice.\n" + "\t-i [--import] fmt file.xxx\n" + " where fmt is the import format of choice\n" + " and file.xxx is the file to be imported.\n" + "Check the LyX man page for more details.") << endl; } @@ -789,7 +802,7 @@ bool LyX::easyParse(int * argc, char * argv[]) "ps...] after ") << arg << _(" switch!") << endl; } - else if (arg == "--import") { + else if (arg == "-i" || arg == "--import") { if (i + 1 < *argc) { string type(argv[i+1]); string file(argv[i+2]);