]> git.lyx.org Git - lyx.git/blobdiff - src/LyXRC.cpp
Fix up a few little things after r29065. If we're calculating the autosave
[lyx.git] / src / LyXRC.cpp
index ebbff6a463f44d5aa5da97da9b22738aeacabea0..3e14a078982a228a60c957fe1187936fcb79b381 100644 (file)
 
 #include <config.h>
 
-#include <fstream>
-#include <iostream>
-
 #include "LyXRC.h"
 
-#include "Color.h"
+#include "ColorSet.h"
 #include "Converter.h"
 #include "FontEnums.h"
 #include "Format.h"
@@ -41,6 +38,9 @@
 #include "support/os.h"
 #include "support/userinfo.h"
 
+#include <fstream>
+#include <iostream>
+
 using namespace std;
 using namespace lyx::support;
 
@@ -58,6 +58,7 @@ LexerKeyword lyxrcTags[] = {
        { "\\auto_number", LyXRC::RC_AUTO_NUMBER },
        { "\\auto_region_delete", LyXRC::RC_AUTOREGIONDELETE },
        { "\\auto_reset_options", LyXRC::RC_AUTORESET_OPTIONS },
+       { "\\autocorrection_math", LyXRC::RC_AUTOCORRECTION_MATH },
        { "\\autosave", LyXRC::RC_AUTOSAVE },
        { "\\backupdir_path", LyXRC::RC_BACKUPDIR_PATH },
        { "\\bibtex_command", LyXRC::RC_BIBTEX_COMMAND },
@@ -156,15 +157,18 @@ LexerKeyword lyxrcTags[] = {
        { "\\screen_font_typewriter", LyXRC::RC_SCREEN_FONT_TYPEWRITER },
        { "\\screen_font_typewriter_foundry", LyXRC::RC_SCREEN_FONT_TYPEWRITER_FOUNDRY },
        { "\\screen_zoom", LyXRC::RC_SCREEN_ZOOM },
+       { "\\scroll_below_document", LyXRC::RC_SCROLL_BELOW_DOCUMENT },
        { "\\serverpipe", LyXRC::RC_SERVERPIPE },
        { "\\set_color", LyXRC::RC_SET_COLOR },
        { "\\show_banner", LyXRC::RC_SHOW_BANNER },
        { "\\sort_layouts", LyXRC::RC_SORT_LAYOUTS },
        { "\\spell_command", LyXRC::RC_SPELL_COMMAND },
+       { "\\spellcheck_continuously", LyXRC::RC_SPELLCHECK_CONTINUOUSLY },
        { "\\tempdir_path", LyXRC::RC_TEMPDIRPATH },
        { "\\template_path", LyXRC::RC_TEMPLATEPATH },
        { "\\tex_allows_spaces", LyXRC::RC_TEX_ALLOWS_SPACES },
        { "\\tex_expects_windows_paths", LyXRC::RC_TEX_EXPECTS_WINDOWS_PATHS },
+       { "\\thesaurusdir_path", LyXRC::RC_THESAURUSDIRPATH },
        { "\\ui_file", LyXRC::RC_UIFILE },
        { "\\use_alt_language", LyXRC::RC_USE_ALT_LANG },
        { "\\use_converter_cache", LyXRC::RC_USE_CONVERTER_CACHE },
@@ -265,6 +269,7 @@ void LyXRC::setDefaults()
        spellchecker_use_alt_lang = false;
        spellchecker_use_pers_dict = false;
        spellchecker_use_esc_chars = false;
+       spellcheck_continuously = false;
        use_kbmap = false;
        rtl_support = true;
        visual_cursor = false;
@@ -286,6 +291,7 @@ void LyXRC::setDefaults()
        tex_allows_spaces = false;
        date_insert_format = "%x";
        cursor_follows_scrollbar = false;
+       scroll_below_document = false;
        mac_like_word_movement = false;
        macro_edit_style = MACRO_EDIT_INLINE_BOX;
        dialogs_iconify_with_main = false;
@@ -313,6 +319,7 @@ void LyXRC::setDefaults()
        completion_popup_text = false;
        completion_popup_delay = 2.0;
        completion_popup_after_complete = true;
+       autocorrection_math = false;
        completion_inline_math = true;
        completion_inline_text = false;
        completion_inline_dots = -1;
@@ -382,15 +389,13 @@ int LyXRC::read(Lexer & lexrc)
 
                int le = lexrc.lex();
                switch (le) {
-                       case Lexer::LEX_UNDEF:
-                               // dro[ obsolete tag
-                               if (lexrc.getString() != "\\plaintest_roff_command")
-                                       lexrc.printError("Unknown tag `$$Token'");
-                               continue;
-                       case Lexer::LEX_FEOF:
-                               continue;
-                       default:
-                               break;
+               case Lexer::LEX_UNDEF:
+                       lexrc.printError("Unknown tag `$$Token'");
+                       continue;
+               case Lexer::LEX_FEOF:
+                       continue;
+               default:
+                       break;
                }
                switch (static_cast<LyXRCTags>(le)) {
                case RC_INPUT: // Include file
@@ -672,6 +677,13 @@ int LyXRC::read(Lexer & lexrc)
                        }
                        break;
 
+               case RC_THESAURUSDIRPATH:
+                       if (lexrc.next()) {
+                               thesaurusdir_path = os::internal_path(lexrc.getString());
+                               thesaurusdir_path = expandPath(thesaurusdir_path);
+                       }
+                       break;
+
                case RC_USETEMPDIR:
                        if (lexrc.next())
                                LYXERR0("Ignoring obsolete use_tempdir flag.");
@@ -705,6 +717,10 @@ int LyXRC::read(Lexer & lexrc)
                        lexrc >> completion_inline_dots;
                        break;
 
+               case RC_AUTOCORRECTION_MATH:
+                       lexrc >> autocorrection_math;
+                       break;
+
                case RC_COMPLETION_POPUP_DELAY:
                        lexrc >> completion_popup_delay;
                        break;
@@ -809,6 +825,10 @@ int LyXRC::read(Lexer & lexrc)
                        lexrc >> cursor_follows_scrollbar;
                        break;
 
+               case RC_SCROLL_BELOW_DOCUMENT:
+                       lexrc >> scroll_below_document;
+                       break;
+
                case RC_MAC_LIKE_WORD_MOVEMENT:
                        lexrc >> mac_like_word_movement;
                        break;
@@ -828,7 +848,7 @@ int LyXRC::read(Lexer & lexrc)
                        break;
 
                case RC_PLAINTEXT_ROFF_COMMAND: 
-                       (void) lexrc.getString(); // Obsoleted in 1.7
+                       (void) lexrc.getString(); // Obsoleted in 2.0
                        break;
                case RC_PLAINTEXT_LINELEN:
                        lexrc >> plaintext_linelen;
@@ -865,6 +885,9 @@ int LyXRC::read(Lexer & lexrc)
                case RC_ESC_CHARS:
                        lexrc >> spellchecker_esc_chars;
                        break;
+               case RC_SPELLCHECK_CONTINUOUSLY:
+                       lexrc >> spellcheck_continuously;
+                       break;
                case RC_MAKE_BACKUP:
                        lexrc >> make_backup;
                        break;
@@ -1077,11 +1100,8 @@ int LyXRC::read(Lexer & lexrc)
                        lexrc >> open_buffers_in_tabs;
                        break;
 
-               // Obsoleted in 1.7
+               // Obsoleted in 2.0
                case RC_SPELL_COMMAND:
-                       (void) lexrc.getString();
-                       break;
-               // Obsoleted in 1.7
                case RC_USE_SPELL_LIB:
                        (void) lexrc.getString();
                        break;
@@ -1509,6 +1529,15 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c
                }
                if (tag != RC_LAST)
                        break;
+       case RC_SCROLL_BELOW_DOCUMENT:
+               if (ignore_system_lyxrc ||
+                   scroll_below_document
+                   != system_lyxrc.scroll_below_document) {
+                       os << "\\scroll_below_document "
+                          << convert<string>(scroll_below_document) << '\n';
+               }
+               if (tag != RC_LAST)
+                       break;
        case RC_MAC_LIKE_WORD_MOVEMENT:
                if (ignore_system_lyxrc ||
                    mac_like_word_movement
@@ -1965,6 +1994,14 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c
                }
                if (tag != RC_LAST)
                        break;
+       case RC_AUTOCORRECTION_MATH:
+               if (ignore_system_lyxrc ||
+                   autocorrection_math != system_lyxrc.autocorrection_math) {
+                       os << "\\autocorrection_math "
+                               << convert<string>(autocorrection_math) << '\n';
+               }
+               if (tag != RC_LAST)
+                       break;
        case RC_COMPLETION_POPUP_DELAY:
                if (ignore_system_lyxrc ||
                    completion_popup_delay != system_lyxrc.completion_popup_delay) {
@@ -2044,11 +2081,19 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c
                }
                if (tag != RC_LAST)
                        break;
+       case RC_THESAURUSDIRPATH:
+               if (ignore_system_lyxrc ||
+                   thesaurusdir_path != system_lyxrc.thesaurusdir_path) {
+                       string const path = os::external_path(thesaurusdir_path);
+                       os << "\\thesaurusdir_path \"" << path << "\"\n";
+               }
+               if (tag != RC_LAST)
+                       break;
        case RC_USETEMPDIR:
                if (tag != RC_LAST)
                        break;
                // Ignore it
-       case RC_PLAINTEXT_ROFF_COMMAND: // Obsoleted in 1.7
+       case RC_PLAINTEXT_ROFF_COMMAND: // Obsoleted in 2.0
                if (tag != RC_LAST)
                        break;
        case RC_PLAINTEXT_LINELEN:
@@ -2081,10 +2126,12 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c
                os << "\n#\n"
                   << "# SPELLCHECKER SECTION ##############################\n"
                   << "#\n\n";
+
        case RC_SPELL_COMMAND:
-               // Obsoleted in 1.7
        case RC_USE_SPELL_LIB:
-               // Obsoleted in 1.7
+               // Obsoleted in 2.0
+               if (tag != RC_LAST)
+                       break;
        case RC_ACCEPT_COMPOUND:
                if (ignore_system_lyxrc ||
                    spellchecker_accept_compound != system_lyxrc.spellchecker_accept_compound) {
@@ -2169,6 +2216,15 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c
                   << "# LANGUAGE SUPPORT SECTION ##########################\n"
                   << "#\n\n";
 
+       case RC_SPELLCHECK_CONTINUOUSLY:
+               if (ignore_system_lyxrc ||
+                   spellcheck_continuously != system_lyxrc.spellcheck_continuously) {
+                       os << "\\spellcheck_continuously " << convert<string>(spellcheck_continuously)
+                          << '\n';
+               }
+               if (tag != RC_LAST)
+                       break;
+
        case RC_RTL_SUPPORT:
                if (ignore_system_lyxrc ||
                    rtl_support != system_lyxrc.rtl_support) {
@@ -2471,6 +2527,10 @@ string const LyXRC::getDescription(LyXRCTags tag)
                str = _("LyX normally doesn't update the cursor position if you move the scrollbar. Set to true if you'd prefer to always have the cursor on screen.");
                break;
 
+       case RC_SCROLL_BELOW_DOCUMENT:
+               str = _("LyX normally doesn't allow the user to scroll further than the bottom of the document. Set to true if you prefer to scroll the bottom of the document to the top of the screen");
+               break;
+
        case RC_MAC_LIKE_WORD_MOVEMENT:
                str = _("Use the Mac OS X conventions for the word-level cursor movement");
                break;
@@ -2640,6 +2700,10 @@ string const LyXRC::getDescription(LyXRCTags tag)
                str = _("Use \"...\" to shorten long completions.");
                break;
 
+       case RC_AUTOCORRECTION_MATH:
+               str = _("Allow TeXMacs shorthand, like => converting to \Rightarrow.");
+               break;
+
        case RC_NUMLASTFILES:
                str = bformat(_("Maximal number of lastfiles. Up to %1$d can appear in the file menu."),
                        maxlastfiles);
@@ -2653,7 +2717,7 @@ string const LyXRC::getDescription(LyXRCTags tag)
 
        case RC_PERS_DICT:
        case RC_USE_PERS_DICT:
-               str = _("Specify an alternate personal dictionary file. E.g. \".ispell_english\".");
+               str = _("Specify an alternate personal dictionary file. E.g. \".aspell_english\".");
                break;
 
        case RC_PREVIEW:
@@ -2795,6 +2859,10 @@ string const LyXRC::getDescription(LyXRCTags tag)
                str = _("LyX will place its temporary directories in this path. They will be deleted when you quit LyX.");
                break;
 
+       case RC_THESAURUSDIRPATH:
+               str = _("This is the place where the files of the thesaurus library reside.");
+               break;
+
        case RC_TEMPLATEPATH:
                str = _("The path that LyX will set when offering to choose a template. An empty value selects the directory LyX was started from.");
                break;
@@ -2819,7 +2887,7 @@ string const LyXRC::getDescription(LyXRCTags tag)
                break;
 
        case RC_USE_INP_ENC:
-               str = _("Specify whether to pass the -T input encoding option to ispell. Enable this if you cannot check the spelling of words containing accented letters. This may not work with all dictionaries.");
+               str = _("Specify whether to pass the -T input encoding option to aspell. Enable this if you cannot check the spelling of words containing accented letters. This may not work with all dictionaries.");
                break;
 
        case RC_USE_TOOLTIP: