]> git.lyx.org Git - lyx.git/blobdiff - src/lyxrc.C
More fixes to insettabular/text (and some missing features added).
[lyx.git] / src / lyxrc.C
index a7b73c1c6ffd0d6215845e5f16a8449121f10da6..58eda541fb822f565b9c41c07e482a9798352745 100644 (file)
@@ -78,6 +78,7 @@ keyword_item lyxrcTags[] = {
        { "\\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 },
@@ -152,6 +153,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.
@@ -221,7 +224,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 +240,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 +252,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 +309,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 +684,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;
@@ -901,6 +907,11 @@ 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
                }
        }
@@ -1062,7 +1073,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";
@@ -1144,18 +1160,18 @@ void LyXRC::output(ostream & os) const
                    != system_lyxrc.font_sizes[LyXFont::SIZE_HUGER]) {
                        os.setf(ios::fixed);
                        os.precision(2);
-                       os << "\\screen_font_sizes";
-                       os << " " << font_sizes[LyXFont::SIZE_TINY];
-                       os << " " << font_sizes[LyXFont::SIZE_SCRIPT];
-                       os << " " << font_sizes[LyXFont::SIZE_FOOTNOTE];
-                       os << " " << font_sizes[LyXFont::SIZE_SMALL];
-                       os << " " << font_sizes[LyXFont::SIZE_NORMAL];
-                       os << " " << font_sizes[LyXFont::SIZE_LARGE];
-                       os << " " << font_sizes[LyXFont::SIZE_LARGER];
-                       os << " " << font_sizes[LyXFont::SIZE_LARGEST];
-                       os << " " << font_sizes[LyXFont::SIZE_HUGE];
-                       os << " " << font_sizes[LyXFont::SIZE_HUGER];
-                       os << "\n";
+                       os << "\\screen_font_sizes"
+                          << " " << font_sizes[LyXFont::SIZE_TINY]
+                          << " " << font_sizes[LyXFont::SIZE_SCRIPT]
+                          << " " << font_sizes[LyXFont::SIZE_FOOTNOTE]
+                          << " " << font_sizes[LyXFont::SIZE_SMALL]
+                          << " " << font_sizes[LyXFont::SIZE_NORMAL]
+                          << " " << font_sizes[LyXFont::SIZE_LARGE]
+                          << " " << font_sizes[LyXFont::SIZE_LARGER]
+                          << " " << font_sizes[LyXFont::SIZE_LARGEST]
+                          << " " << font_sizes[LyXFont::SIZE_HUGE]
+                          << " " << font_sizes[LyXFont::SIZE_HUGER]
+                          << "\n";
                }
                
                os << "\n#\n"
@@ -1163,13 +1179,14 @@ void LyXRC::output(ostream & os) const
                   << "#\n\n";
                
        case RC_SET_COLOR:
-               for( int i=0; i<LColor::ignore; ++i ) {
+               for (int i = 0; i < LColor::ignore; ++i ) {
                        LColor::color lc = static_cast<LColor::color>(i);
-
-                       if (lcolor.getX11Name(lc) !=
-                           system_lcolor.getX11Name(lc)) {
-                               os << "\\set_color \"" << lcolor.getX11Name(lc)
-                                  << "\"\n";
+                       
+                       string const col(lcolor.getX11Name(lc));
+                       if (col != system_lcolor.getX11Name(lc)) {
+                               os << "\\set_color \""
+                                  << lcolor.getLyXName(lc) << "\" \""
+                                  << col << "\"\n";
                        }
                }
                
@@ -1575,7 +1592,8 @@ void LyXRC::set_font_norm_type()
                font_norm_type = OTHER_ENCODING;
 }
 
-string LyXRC::getDescription(LyXRCTags tag)
+
+string const LyXRC::getDescription(LyXRCTags tag) 
 {
        string str;
        
@@ -1593,15 +1611,39 @@ string 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:
@@ -1609,7 +1651,7 @@ string 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:
@@ -1637,6 +1679,7 @@ string 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;
                
@@ -1682,11 +1725,11 @@ string 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:
@@ -1694,11 +1737,11 @@ string 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;
                
 
@@ -1743,7 +1786,7 @@ string 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:
@@ -1757,7 +1800,7 @@ string 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:
@@ -1804,7 +1847,7 @@ string 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:
@@ -1812,11 +1855,11 @@ string 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:
@@ -1824,11 +1867,11 @@ string 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:
@@ -1840,11 +1883,12 @@ string 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:
@@ -1867,6 +1911,10 @@ string 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;