]> git.lyx.org Git - lyx.git/blobdiff - src/LyXRC.cpp
* InsetListings.cpp:
[lyx.git] / src / LyXRC.cpp
index 5d2a52ae8ca2bfb1e32fcf08f451ee29efafbf2f..dee4bcb9400bb37c97320d9434adcacd3db5a7fb 100644 (file)
@@ -23,6 +23,7 @@
 #include "FontEnums.h"
 #include "Format.h"
 #include "Lexer.h"
+#include "LyX.h"
 #include "Mover.h"
 #include "Session.h"
 #include "version.h"
@@ -42,6 +43,7 @@
 
 #include <fstream>
 #include <iostream>
+#include <algorithm>
 
 using namespace std;
 using namespace lyx::support;
@@ -83,6 +85,7 @@ LexerKeyword lyxrcTags[] = {
        { "\\cursor_follows_scrollbar", LyXRC::RC_CURSOR_FOLLOWS_SCROLLBAR },
        { "\\date_insert_format", LyXRC::RC_DATE_INSERT_FORMAT },
        { "\\def_file", LyXRC::RC_DEFFILE },
+       { "\\default_decimal_point", LyXRC::RC_DEFAULT_DECIMAL_POINT },
        { "\\default_language", LyXRC::RC_DEFAULT_LANGUAGE },
        { "\\default_papersize", LyXRC::RC_DEFAULT_PAPERSIZE },
        { "\\default_view_format", LyXRC::RC_DEFAULT_VIEW_FORMAT },
@@ -92,6 +95,7 @@ LexerKeyword lyxrcTags[] = {
        { "\\editor_alternatives", LyXRC::RC_EDITOR_ALTERNATIVES },
        { "\\escape_chars", LyXRC::RC_ESC_CHARS },
        { "\\example_path", LyXRC::RC_EXAMPLEPATH },
+       { "\\export_overwrite", LyXRC::RC_EXPORT_OVERWRITE },
        { "\\font_encoding", LyXRC::RC_FONT_ENCODING },
        { "\\format", LyXRC::RC_FORMAT },
        { "\\forward_search_dvi", LyXRC::RC_FORWARD_SEARCH_DVI },
@@ -330,6 +334,7 @@ void LyXRC::setDefaults()
        single_close_tab_button = false;
        forward_search_dvi = string();
        forward_search_pdf = string();
+       export_overwrite = NO_FILES;
 
        // Fullscreen settings
        full_screen_limit = false;
@@ -349,6 +354,7 @@ void LyXRC::setDefaults()
        completion_inline_text = false;
        completion_inline_dots = -1;
        completion_inline_delay = 0.2;
+       default_decimal_point = ".";
 }
 
 
@@ -430,7 +436,7 @@ int LyXRC::read(Lexer & lexrc)
                                                      lexrc.getString());
                                if (read(tmp)) {
                                        lexrc.printError("Error reading "
-                                                        "included file: " + tmp.absFilename());
+                                                        "included file: " + tmp.absFileName());
                                }
                        }
                        break;
@@ -936,6 +942,9 @@ int LyXRC::read(Lexer & lexrc)
                                backupdir_path = expandPath(backupdir_path);
                        }
                        break;
+               case RC_DEFAULT_DECIMAL_POINT:
+                       lexrc >> default_decimal_point;
+                       break;
                case RC_DATE_INSERT_FORMAT:
                        lexrc >> date_insert_format;
                        break;
@@ -1168,6 +1177,21 @@ int LyXRC::read(Lexer & lexrc)
                        if (lexrc.next(true)) 
                                forward_search_pdf = lexrc.getString();
                        break;
+               case RC_EXPORT_OVERWRITE:
+                       if (lexrc.next()) {
+                               string const tmp = lexrc.getString();
+                               if (tmp == "all" || tmp == "true")
+                                       export_overwrite = ALL_FILES;
+                               else if (tmp == "main")
+                                       export_overwrite = MAIN_FILE;
+                               else {
+                                       export_overwrite = NO_FILES;
+                                       if (tmp != "ask" && tmp != "false")
+                                               LYXERR0("Unrecognized export_overwrite status \""
+                                                      << tmp << '"');
+                               }
+                       }
+                       break;
 
                // Obsoteted in 1.4.0
                case RC_USETEMPDIR:
@@ -1400,8 +1424,23 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c
                        case PAPER_B5:
                                os << "b5"; break;
                        case PAPER_CUSTOM:
+                       case PAPER_A0:
+                       case PAPER_A1:
+                       case PAPER_A2:
+                       case PAPER_A6:
+                       case PAPER_B0:
+                       case PAPER_B1:
+                       case PAPER_B2:
                        case PAPER_B3:
-                       case PAPER_B4: break;
+                       case PAPER_B4:
+                       case PAPER_B6:
+                       case PAPER_JISB0:
+                       case PAPER_JISB1:
+                       case PAPER_JISB2:
+                       case PAPER_JISB3:
+                       case PAPER_JISB4:
+                       case PAPER_JISB5:
+                       case PAPER_JISB6: break;
                        }
                        os << "\"\n";
                }
@@ -2347,6 +2386,14 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c
                if (tag != RC_LAST)
                        break;
 
+       case RC_DEFAULT_DECIMAL_POINT:
+               if (ignore_system_lyxrc ||
+                   default_decimal_point != system_lyxrc.default_decimal_point) {
+                       os << "\\default_decimal_point " << default_decimal_point << '\n';
+               }
+               if (tag != RC_LAST)
+                       break;
+
        case RC_SPELLCHECKER:
                if (ignore_system_lyxrc ||
                    spellchecker != system_lyxrc.spellchecker) {
@@ -2494,6 +2541,25 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c
                }
                if (tag != RC_LAST)
                        break;
+       case RC_EXPORT_OVERWRITE:
+               if (ignore_system_lyxrc ||
+                   export_overwrite != system_lyxrc.export_overwrite) {
+                       string status;
+                       switch (export_overwrite) {
+                       case NO_FILES:
+                               status = "ask";
+                               break;
+                       case MAIN_FILE:
+                               status = "main";
+                               break;
+                       case ALL_FILES:
+                               status = "all";
+                               break;
+                       }
+                       os << "\\export_overwrite " << status << '\n';
+               }
+               if (tag != RC_LAST)
+                       break;
 
                os << "\n#\n"
                   << "# FORMATS SECTION ##########################\n"
@@ -2831,6 +2897,8 @@ void actOnUpdatedPrefs(LyXRC const & lyxrc_orig, LyXRC const & lyxrc_new)
        case LyXRC::RC_VIEWER_ALTERNATIVES:
        case LyXRC::RC_FORWARD_SEARCH_DVI:
        case LyXRC::RC_FORWARD_SEARCH_PDF:
+       case LyXRC::RC_EXPORT_OVERWRITE:
+       case LyXRC::RC_DEFAULT_DECIMAL_POINT:
        case LyXRC::RC_LAST:
                break;
        }