]> git.lyx.org Git - lyx.git/blobdiff - src/LyXRC.cpp
Next step in fixing problems noted by Vincent: Remove magic boolean from
[lyx.git] / src / LyXRC.cpp
index 488bdf699e53d62bef0d8d641056759437941105..bd52e887bb1425b5a39ab398b870b6350bd71b04 100644 (file)
@@ -173,6 +173,7 @@ LexerKeyword lyxrcTags[] = {
        { "\\screen_font_typewriter_foundry", LyXRC::RC_SCREEN_FONT_TYPEWRITER_FOUNDRY },
        { "\\screen_zoom", LyXRC::RC_SCREEN_ZOOM },
        { "\\scroll_below_document", LyXRC::RC_SCROLL_BELOW_DOCUMENT },
+       { "\\scroll_whell_zoom", LyXRC::RC_SCROLL_WHEEL_ZOOM },
        { "\\serverpipe", LyXRC::RC_SERVERPIPE },
        { "\\set_color", LyXRC::RC_SET_COLOR },
        { "\\show_banner", LyXRC::RC_SHOW_BANNER },
@@ -180,7 +181,6 @@ LexerKeyword lyxrcTags[] = {
        { "\\sort_layouts", LyXRC::RC_SORT_LAYOUTS },
        { "\\spell_command", LyXRC::RC_SPELL_COMMAND },
        { "\\spellcheck_continuously", LyXRC::RC_SPELLCHECK_CONTINUOUSLY },
-       { "\\spellcheck_minlength", LyXRC::RC_SPELL_MINLENGTH },
        { "\\spellcheck_notes", LyXRC::RC_SPELLCHECK_NOTES },
        { "\\spellchecker", LyXRC::RC_SPELLCHECKER },
        { "\\splitindex_command", LyXRC::RC_SPLITINDEX_COMMAND },
@@ -298,7 +298,6 @@ void LyXRC::setDefaults()
 #endif
        spellchecker_accept_compound = false;
        spellcheck_continuously = false;
-       spellcheck_minlength = 6;
        spellcheck_notes = true;
        use_kbmap = false;
        rtl_support = true;
@@ -322,6 +321,7 @@ void LyXRC::setDefaults()
        date_insert_format = "%x";
        cursor_follows_scrollbar = false;
        scroll_below_document = false;
+       scroll_whell_zoom = SCROLL_WHEEL_ZOOM_CTRL;
        paragraph_markers = false;
        mac_like_word_movement = false;
        macro_edit_style = MACRO_EDIT_INLINE_BOX;
@@ -923,19 +923,6 @@ int LyXRC::read(Lexer & lexrc)
                case RC_SPELLCHECKER:
                        lexrc >> spellchecker;
                        break;
-               case RC_SPELL_MINLENGTH: {
-                       int len;
-                       lexrc >> len;
-                       // make sure we have a sensible value
-                       // these should be kept in sync with the min and max 
-                       // values for the spinbox in PrefSpellcheckerUi.ui
-                       if (len < 5)
-                               len = 5;
-                       else if (len > 15)
-                               len = 15;
-                       spellcheck_minlength = len;
-                       break;
-               }
                case RC_ALT_LANG:
                        lexrc >> spellchecker_alt_lang;
                        break;
@@ -1210,6 +1197,23 @@ int LyXRC::read(Lexer & lexrc)
                                }
                        }
                        break;
+               case RC_SCROLL_WHEEL_ZOOM:
+                       if (lexrc.next()) {
+                               string const tmp = lexrc.getString();
+                               if (tmp == "ctrl")
+                                       scroll_whell_zoom = SCROLL_WHEEL_ZOOM_CTRL;
+                               else if (tmp == "shift")
+                                       scroll_whell_zoom = SCROLL_WHEEL_ZOOM_SHIFT;
+                               else if (tmp == "alt")
+                                       scroll_whell_zoom = SCROLL_WHEEL_ZOOM_ALT;
+                               else {
+                                       scroll_whell_zoom = SCROLL_WHEEL_ZOOM_OFF;
+                                       if (tmp != "off" && tmp != "false")
+                                               LYXERR0("Unrecognized scroll_whell_zoom status \""
+                                                      << tmp << '"');
+                               }
+                       }
+                       break;
 
                // Obsoteted in 1.4.0
                case RC_USETEMPDIR:
@@ -2436,15 +2440,6 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c
                if (tag != RC_LAST)
                        break;
 
-       case RC_SPELL_MINLENGTH:
-               if (ignore_system_lyxrc ||
-                   spellcheck_minlength != system_lyxrc.spellcheck_minlength) {
-                       os << "\\spellcheck_minlength " << convert<string>(spellcheck_minlength)
-                          << '\n';
-               }
-               if (tag != RC_LAST)
-                       break;
-
        case RC_SPELLCHECK_NOTES:
                if (ignore_system_lyxrc ||
                    spellcheck_notes != system_lyxrc.spellcheck_notes) {
@@ -2595,6 +2590,29 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c
                if (tag != RC_LAST)
                        break;
 
+       case RC_SCROLL_WHEEL_ZOOM:
+               if (ignore_system_lyxrc ||
+                   scroll_whell_zoom != system_lyxrc.scroll_whell_zoom) {
+                       string status;
+                       switch (scroll_whell_zoom) {
+                       case SCROLL_WHEEL_ZOOM_OFF:
+                               status = "off";
+                               break;
+                       case SCROLL_WHEEL_ZOOM_CTRL:
+                               status = "ctrl";
+                               break;
+                       case SCROLL_WHEEL_ZOOM_SHIFT:
+                               status = "shift";
+                               break;
+                       case SCROLL_WHEEL_ZOOM_ALT:
+                               status = "alt";
+                               break;
+                       }
+                       os << "\\scroll_whell_zoom " << status << '\n';
+               }
+               if (tag != RC_LAST)
+                       break;
+
                os << "\n#\n"
                   << "# FORMATS SECTION ##########################\n"
                   << "#\n\n";
@@ -2896,7 +2914,6 @@ void actOnUpdatedPrefs(LyXRC const & lyxrc_orig, LyXRC const & lyxrc_new)
        case LyXRC::RC_SPELLCHECKER:
        case LyXRC::RC_SPELLCHECK_CONTINUOUSLY:
        case LyXRC::RC_SPELLCHECK_NOTES:
-       case LyXRC::RC_SPELL_MINLENGTH:
        case LyXRC::RC_SPLITINDEX_COMMAND:
        case LyXRC::RC_TEMPDIRPATH:
        case LyXRC::RC_TEMPLATEPATH:
@@ -2934,6 +2951,7 @@ void actOnUpdatedPrefs(LyXRC const & lyxrc_orig, LyXRC const & lyxrc_new)
        case LyXRC::RC_FORWARD_SEARCH_PDF:
        case LyXRC::RC_EXPORT_OVERWRITE:
        case LyXRC::RC_DEFAULT_DECIMAL_POINT:
+       case LyXRC::RC_SCROLL_WHEEL_ZOOM:
        case LyXRC::RC_LAST:
                break;
        }