]> git.lyx.org Git - lyx.git/blobdiff - src/lyxrc.C
mathed31.diff
[lyx.git] / src / lyxrc.C
index 985a3bea109a2e1926654d99257a0dfd0bb07d3a..32edd2449a62b3c152de2bb6acfdf7282e54f635 100644 (file)
@@ -68,16 +68,13 @@ keyword_item lyxrcTags[] = {
        { "\\document_path", LyXRC::RC_DOCUMENTPATH },
        { "\\escape_chars", LyXRC::RC_ESC_CHARS },
        { "\\exit_confirmation", LyXRC::RC_EXIT_CONFIRMATION },
-#if 0
-       { "\\fax_command", LyXRC::RC_FAX_COMMAND },
-       { "\\fax_program", LyXRC::RC_FAXPROGRAM },
-#endif
        { "\\font_encoding", LyXRC::RC_FONT_ENCODING },
        { "\\format", LyXRC::RC_FORMAT },
        { "\\input", LyXRC::RC_INPUT },
        { "\\kbmap", LyXRC::RC_KBMAP },
        { "\\kbmap_primary", LyXRC::RC_KBMAP_PRIMARY },
        { "\\kbmap_secondary", LyXRC::RC_KBMAP_SECONDARY },
+       { "\\label_init_length", LyXRC::RC_LABEL_INIT_LENGTH },
        { "\\language_auto_begin", LyXRC::RC_LANGUAGE_AUTO_BEGIN },
        { "\\language_auto_end", LyXRC::RC_LANGUAGE_AUTO_END },
        { "\\language_command_begin", LyXRC::RC_LANGUAGE_COMMAND_BEGIN },
@@ -90,9 +87,6 @@ keyword_item lyxrcTags[] = {
        { "\\num_lastfiles", LyXRC::RC_NUMLASTFILES },
        { "\\override_x_deadkeys", LyXRC::RC_OVERRIDE_X_DEADKEYS },
        { "\\personal_dictionary", LyXRC::RC_PERS_DICT },
-#if 0
-       { "\\phone_book", LyXRC::RC_PHONEBOOK },
-#endif
        { "\\print_adapt_output", LyXRC::RC_PRINT_ADAPTOUTPUT },
        { "\\print_collcopies_flag", LyXRC::RC_PRINTCOLLCOPIESFLAG },
        { "\\print_command", LyXRC::RC_PRINT_COMMAND },
@@ -152,6 +146,8 @@ LyXRC::LyXRC()
 
 
 void LyXRC::setDefaults() {
+       bind_file = "cua";
+       hasBindFile = false;
        ui_file = "default";
        // Get printer from the environment. If fail, use default "",
        // assuming that everything is set up correctly.
@@ -201,7 +197,7 @@ void LyXRC::setDefaults() {
        menu_font_name = "-*-helvetica-bold-r";
        popup_font_name = "-*-helvetica-medium-r";
        font_norm = "iso8859-1";
-       font_norm_type = OTHER_ENCODING;
+       font_norm_type = ISO_8859_1;
        font_norm_menu = "";
        override_x_deadkeys = true;
        autosave = 300;
@@ -221,7 +217,6 @@ void LyXRC::setDefaults() {
        isp_use_pers_dict = false;
        isp_use_esc_chars = false;
        use_kbmap = false;
-       hasBindFile = false;
        rtl_support = false;
        auto_number = true;
        mark_foreign_language = true;
@@ -238,6 +233,7 @@ void LyXRC::setDefaults() {
        date_insert_format = "%A, %e %B %Y";
        show_banner = true;
        cursor_follows_scrollbar = false;
+       label_init_length = 3;
 
        /// These variables are not stored on disk (perhaps they
        // should be moved from the LyXRC class).
@@ -249,21 +245,23 @@ void LyXRC::setDefaults() {
 int LyXRC::ReadBindFile(string const & name)
 {
        hasBindFile = true;
-       string tmp = i18nLibFileSearch("bind", name, "bind");
+       string const tmp = i18nLibFileSearch("bind", name, "bind");
        lyxerr[Debug::LYXRC] << "Reading bindfile:" << tmp << endl;
-       int result = read(tmp);
+       int const result = read(tmp);
        if (result) {
                lyxerr << "Error reading bind file: " << tmp << endl;
        }
        return result;
 }
 
+void LyXRC::readBindFileIfNeeded()
+{
+       if (!hasBindFile)
+               ReadBindFile(bind_file);
+}
 
 int LyXRC::read(string const & filename)
-{
-       // Default bindfile.
-       string bindFile = "cua";
-       
+{      
        LyXLex lexrc(lyxrcTags, lyxrcCount);
        if (lyxerr.debugging(Debug::PARSER))
                lexrc.printTable(lyxerr);
@@ -304,13 +302,16 @@ int LyXRC::read(string const & filename)
                case RC_BINDFILE:                     // RVDK_PATCH_5
                        if (lexrc.next()) {
                                string tmp(lexrc.GetString());
-                               if (bind_file.empty()) {
-                                       // we only need the name of the first
-                                       // bind file since that (usually)
-                                       // includes several others.
+                               if (hasBindFile)
+                                       // We are already in the
+                                       // "actually read bind file"
+                                       // mode.
+                                       ReadBindFile(tmp);
+                               else
+                                       // We are still in the "just
+                                       // remember the name of the
+                                       // bind file" mode.
                                        bind_file = tmp;
-                               }
-                               ReadBindFile(tmp);
                        }
                        break;
                        
@@ -676,10 +677,8 @@ int LyXRC::read(string const & filename)
                        // we should not do an explicit binding before
                        // loading a bind file. So, in this case, load
                        // the default bind file.
-                       if (!hasBindFile) {
-                               ReadBindFile();
-                               bind_file = bindFile;
-                       }
+                       readBindFileIfNeeded();
+
                        // !!!chb, dynamic key binding...
                        int action, res = 0;
                        string seq, cmd;
@@ -732,25 +731,6 @@ int LyXRC::read(string const & filename)
                                cursor_follows_scrollbar = lexrc.GetBool();
                        break;
 
-#if 0
-               case RC_FAX_COMMAND:
-                       if (lexrc.next())
-                               fax_command = lexrc.GetString();
-                       break;
-               case RC_FAXPROGRAM:
-                       if (lexrc.next())
-                               fax_program = lexrc.GetString();
-                       break;
-               case RC_PHONEBOOK:
-                       if (lexrc.next()) {
-                               string s = lexrc.GetString();
-                               if (AbsolutePath(s))
-                                       phone_book = s;
-                               else
-                                       phone_book = user_lyxdir + s;
-                       }
-                       break;
-#endif
                case RC_ASCIIROFF_COMMAND:
                        if (lexrc.next())
                                ascii_roff_command = lexrc.GetString();
@@ -901,10 +881,19 @@ int LyXRC::read(string const & filename)
                                default_language = lexrc.GetString();
                        break;
 
+               case RC_LABEL_INIT_LENGTH:
+                       if (lexrc.next())
+                               label_init_length = lexrc.GetInteger();
+                       break;
+
                case RC_LAST: break; // this is just a dummy
                }
        }
 
+       /// Update converters data-structures
+       converters.Update(formats);
+       converters.BuildGraph();
+
        return 0;
 }
 
@@ -1062,7 +1051,12 @@ void LyXRC::output(ostream & os) const
                        os << "\\date_insert_format \"" << date_insert_format
                           << "\"\n";
                }
-               
+       case RC_LABEL_INIT_LENGTH:
+               if (label_init_length != system_lyxrc.label_init_length) {
+                       os << "\\label_init_length " << label_init_length
+                          << "\n";
+               }
+
                os << "\n#\n"
                   << "# SCREEN & FONTS SECTION ############################\n"
                   << "#\n\n";
@@ -1345,24 +1339,6 @@ void LyXRC::output(ostream & os) const
                        os << "\\backupdir_path \"" << backupdir_path << "\"\n";
                }
 
-#if 0
-               os << "\n#\n"
-                  << "# FAX SECTION #######################################\n"
-                  << "#\n\n";
-               
-       case RC_FAX_COMMAND:
-               if (fax_command != system_lyxrc.fax_command) {
-                       os << "\\fax_command \"" << fax_command << "\"\n";
-               }
-       case RC_PHONEBOOK:
-               if (phone_book != system_lyxrc.phone_book) {
-                       os << "\\phone_book \"" << phone_book << "\"\n";
-               }
-       case RC_FAXPROGRAM:
-               if (fax_program != system_lyxrc.fax_program) {
-                       os << "\\fax_program \"" << fax_program << "\"\n";
-               }
-#endif
                os << "\n#\n"
                   << "# ASCII EXPORT SECTION ##############################\n"
                   << "#\n\n";
@@ -1595,15 +1571,39 @@ string const LyXRC::getDescription(LyXRCTags tag)
                break;
                
        case RC_PRINTEVENPAGEFLAG:
+               str = N_("The option to print only even pages.");
+               break;
+
        case RC_PRINTODDPAGEFLAG:
+               str = N_("The option to print only odd pages.");
+               break;
+
        case RC_PRINTPAGERANGEFLAG:
+               str = N_("The option for specifying a comma-separated list of pages to print.");
+               break;
+
        case RC_PRINTCOPIESFLAG:
+               str = N_("The option for specifying the number of copies to print.");
+               break;
+
        case RC_PRINTCOLLCOPIESFLAG:
+               str = N_("The option for specifying whether the copies should be collated.");
+               break;
+
        case RC_PRINTREVERSEFLAG:
+               str = N_("The option to reverse the order of the pages printed.");
+               break;
+
        case RC_PRINTLANDSCAPEFLAG:
+               str = N_("The option to print out in landscape.");
+               break;
+
         case RC_PRINTPAPERFLAG:
+               str = N_("The option to specify paper type.");
+               break;
+
        case RC_PRINTPAPERDIMENSIONFLAG:
-               str = N_("Look at the man page for your favorite print program to learn which options to use.");
+               str = N_("Option to specify the dimensions of the print paper.");
                break;
                
        case RC_PRINTTOPRINTER:
@@ -1611,7 +1611,7 @@ string const LyXRC::getDescription(LyXRCTags tag)
                break;
                
        case RC_PRINT_ADAPTOUTPUT:
-               str = N_("Set to true for LyX to pass the name of the destination printer to your print command.");
+               str = N_("Select for LyX to pass the name of the destination printer to your print command.");
                break;
                
        case RC_PRINTTOFILE:
@@ -1639,6 +1639,7 @@ string const LyXRC::getDescription(LyXRCTags tag)
                break;
                
        case RC_SCREEN_ZOOM:
+               //xgettext:no-c-format
                str = N_("The zoom percentage for screen fonts. A setting of 100% will make the fonts roughly the same size as on paper.");
                break;
                
@@ -1684,11 +1685,11 @@ string const LyXRC::getDescription(LyXRCTags tag)
                break;
                
        case RC_TEMPDIRPATH:
-               str = N_("The path that LyX will use to store temporary TeX output.");
+               str = N_("LyX will place its temporary directories in this path. They will be deleted when you quit LyX.");
                break;
                
        case RC_USETEMPDIR:
-               str = N_("Specify to use a temporary directory to store temporary TeX output. This directory is deleted when you quit LyX.");
+               str = N_("Select if you wish to use a temporary directory structure to store temporary TeX output.");
                break;
                
        case RC_LASTFILES:
@@ -1696,11 +1697,11 @@ string const LyXRC::getDescription(LyXRCTags tag)
                break;
                
        case RC_AUTOREGIONDELETE:
-               str = N_("Set to false if you don't want the current selection to be replaced automatically by what you type.");
+               str = N_("De-select if you don't want the current selection to be replaced automatically by what you type.");
                break;
                
        case RC_OVERRIDE_X_DEADKEYS:
-               str = N_("Set to true for LyX to take over the handling of the dead keys (a.k.a. accent keys) that may be defined for your keyboard.");
+               str = N_("Select if LyX is to take over the handling of the dead keys (a.k.a. accent keys) that may be defined for your keyboard.");
                break;
                
 
@@ -1722,16 +1723,6 @@ string const LyXRC::getDescription(LyXRCTags tag)
                str = N_("Use this to set the correct mapping file for your keyboard. You'll need this if you for instance want to type German documents on an American keyboard.");
                break;
 
-#if 0
-       case RC_FAX_COMMAND:
-               break;
-               
-       case RC_PHONEBOOK:
-               break;
-               
-       case RC_FAXPROGRAM:
-               break;
-#endif 
        case RC_ASCIIROFF_COMMAND:
                str = N_("Use to define an external program to render tables in the ASCII output. E.g. \"groff -t -Tlatin1 $$FName\"  where $$FName is the input file. If \"none\" is specified, an internal routine is used.");
                break;
@@ -1745,7 +1736,7 @@ string const LyXRC::getDescription(LyXRCTags tag)
                break;
                
        case RC_CHECKLASTFILES:
-               str = N_("Specify to check whether the lastfiles still exist.");
+               str = N_("Select to check whether the lastfiles still exist.");
                break;
                
        case RC_VIEWDVI_PAPEROPTION:
@@ -1759,7 +1750,7 @@ string const LyXRC::getDescription(LyXRCTags tag)
                break;
                
        case RC_ACCEPT_COMPOUND:
-               str = N_("Consider run-together words, such as \"notthe\" for \"not the\", as legal words?");
+               str = N_("Consider run-together words, such as \"diskdrive\" for \"disk drive\", as legal words?");
                break;
                
        case RC_SPELL_COMMAND:
@@ -1806,7 +1797,7 @@ string const LyXRC::getDescription(LyXRCTags tag)
                break;
                
        case RC_MAKE_BACKUP:
-               str = N_("Set to false if you don't want LyX to create backup files.");
+               str = N_("De-select if you don't want LyX to create backup files.");
                break;
                
        case RC_BACKUPDIR_PATH:
@@ -1814,11 +1805,11 @@ string const LyXRC::getDescription(LyXRCTags tag)
                break;
 
        case RC_RTL_SUPPORT:
-               str = N_("Use to enable support of right-to-left languages (e.g. Hebrew, Arabic).");
+               str = N_("Select to enable support of right-to-left languages (e.g. Hebrew, Arabic).");
                break;
                
        case RC_MARK_FOREIGN_LANGUAGE:
-               str = N_("Use to control the highlighting of words with a language foreign to that of the document.");
+               str = N_("Select to control the highlighting of words with a language foreign to that of the document.");
                break;
                
        case RC_LANGUAGE_PACKAGE:
@@ -1826,11 +1817,11 @@ string const LyXRC::getDescription(LyXRCTags tag)
                break;
                
        case RC_LANGUAGE_AUTO_BEGIN:
-               str = N_("Use if a language switching command is needed at the beginning of the document.");
+               str = N_("Select if a language switching command is needed at the beginning of the document.");
                break;
                
        case RC_LANGUAGE_AUTO_END:
-               str = N_("Use if a language switching command is needed at the end of the document.");
+               str = N_("Select if a language switching command is needed at the end of the document.");
                break;
                
        case RC_LANGUAGE_COMMAND_BEGIN:
@@ -1842,11 +1833,12 @@ string const LyXRC::getDescription(LyXRCTags tag)
                break;
                
        case RC_DATE_INSERT_FORMAT:
+               //xgettext:no-c-format
                str = N_("This accepts the normal strftime formats; see man strftime for full details. E.g.\"%A, %e. %B %Y\".");
                break;
                
        case RC_SHOW_BANNER:
-               str = N_("Set to false if you don't want the startup banner.");
+               str = N_("De-select if you don't want the startup banner.");
                break;
                
        case RC_WHEEL_JUMP:
@@ -1869,6 +1861,10 @@ string const LyXRC::getDescription(LyXRCTags tag)
        case RC_DEFAULT_LANGUAGE:
                str = N_("New documents will be assigned this language.");
                break;
+
+       case RC_LABEL_INIT_LENGTH:
+               str = N_("Maximum number of words in the initialization string for a new label");
+               break;
                
        default:
                break;