]> git.lyx.org Git - lyx.git/blobdiff - src/LyXRC.cpp
Partially revert r34995, which broke math output. Not sure why yet....
[lyx.git] / src / LyXRC.cpp
index 64febe8146c92eaef43423c826a218f2cc72a6f6..bd52e887bb1425b5a39ab398b870b6350bd71b04 100644 (file)
@@ -43,6 +43,7 @@
 
 #include <fstream>
 #include <iostream>
+#include <algorithm>
 
 using namespace std;
 using namespace lyx::support;
@@ -172,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 },
@@ -284,7 +286,10 @@ void LyXRC::setDefaults()
        backupdir_path.erase();
        display_graphics = true;
        // Spellchecker settings:
-#if defined(USE_ASPELL)
+// FIXME: this check should test the target platform (darwin)
+#if defined(USE_MACOSX_PACKAGING)
+       spellchecker = "native";
+#elif defined(USE_ASPELL)
        spellchecker = "aspell";
 #elif defined(USE_HUNSPELL)
        spellchecker = "hunspell";
@@ -316,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;
@@ -1191,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:
@@ -1433,6 +1456,13 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c
                        case PAPER_B3:
                        case PAPER_B4:
                        case PAPER_B6:
+                       case PAPER_C0:
+                       case PAPER_C1:
+                       case PAPER_C2:
+                       case PAPER_C3:
+                       case PAPER_C4:
+                       case PAPER_C5:
+                       case PAPER_C6:
                        case PAPER_JISB0:
                        case PAPER_JISB1:
                        case PAPER_JISB2:
@@ -2560,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";
@@ -2898,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;
        }