]> git.lyx.org Git - lyx.git/blobdiff - src/lyxrc.C
Fix bug 886 and others not reported related with the document paper size.
[lyx.git] / src / lyxrc.C
index 3db4de36829c969e954809897d78904e27bed90c..38ea5f23a464955112a8f1ef1829e0e227920fe9 100644 (file)
 #include "support/environment.h"
 #include "support/filetools.h"
 #include "support/lstrings.h"
+#include "support/os.h"
 #include "support/userinfo.h"
 
+namespace os = lyx::support::os;
+
 using lyx::support::ascii_lowercase;
 using lyx::support::bformat;
 using lyx::support::ExpandPath;
@@ -362,15 +365,15 @@ int LyXRC::read(LyXLex & lexrc)
                                }
                        }
                        break;
-               case RC_BINDFILE:                     // RVDK_PATCH_5
+               case RC_BINDFILE:
                        if (lexrc.next()) {
-                               bind_file = lexrc.getString();
+                               bind_file = os::internal_path(lexrc.getString());
                        }
                        break;
 
                case RC_UIFILE:
                        if (lexrc.next()) {
-                               ui_file = lexrc.getString();
+                               ui_file = os::internal_path(lexrc.getString());
                        }
                        break;
 
@@ -397,7 +400,7 @@ int LyXRC::read(LyXLex & lexrc)
                                tex_allows_spaces = lexrc.getBool();
                        }
                        break;
+
                case RC_KBMAP:
                        if (lexrc.next()) {
                                use_kbmap = lexrc.getBool();
@@ -406,7 +409,7 @@ int LyXRC::read(LyXLex & lexrc)
 
                case RC_KBMAP_PRIMARY:
                        if (lexrc.next()) {
-                               string const kmap(lexrc.getString());
+                               string const kmap(os::internal_path(lexrc.getString()));
                                if (kmap.empty()) {
                                        // nothing
                                } else if (!LibFileSearch("kbd", kmap,
@@ -420,7 +423,7 @@ int LyXRC::read(LyXLex & lexrc)
 
                case RC_KBMAP_SECONDARY:
                        if (lexrc.next()) {
-                               string const kmap(lexrc.getString());
+                               string const kmap(os::internal_path(lexrc.getString()));
                                if (kmap.empty()) {
                                        // nothing
                                } else if (!LibFileSearch("kbd", kmap,
@@ -506,7 +509,7 @@ int LyXRC::read(LyXLex & lexrc)
 
                case RC_PRINTTOFILE:
                        if (lexrc.next()) {
-                               print_to_file = lexrc.getString();
+                               print_to_file = os::internal_path(lexrc.getString());
                        }
                        break;
 
@@ -567,22 +570,22 @@ int LyXRC::read(LyXLex & lexrc)
                                                PAPER_USLETTER;
                                else if (size == "legal")
                                        default_papersize =
-                                               PAPER_LEGALPAPER;
+                                               PAPER_USLEGAL;
                                else if (size == "executive")
                                        default_papersize =
-                                               PAPER_EXECUTIVEPAPER;
+                                               PAPER_USEXECUTIVE;
                                else if (size == "a3")
                                        default_papersize =
-                                               PAPER_A3PAPER;
+                                               PAPER_A3;
                                else if (size == "a4")
                                        default_papersize =
-                                               PAPER_A4PAPER;
+                                               PAPER_A4;
                                else if (size == "a5")
                                        default_papersize =
-                                               PAPER_A5PAPER;
+                                               PAPER_A5;
                                else if (size == "b5")
                                        default_papersize =
-                                               PAPER_B5PAPER;
+                                               PAPER_B5;
                        }
                        break;
 
@@ -687,19 +690,22 @@ int LyXRC::read(LyXLex & lexrc)
 
                case RC_DOCUMENTPATH:
                        if (lexrc.next()) {
-                               document_path = ExpandPath(lexrc.getString());
+                               document_path = os::internal_path(lexrc.getString());
+                               document_path = ExpandPath(document_path);
                        }
                        break;
 
                case RC_TEMPLATEPATH:
                        if (lexrc.next()) {
-                               template_path = ExpandPath(lexrc.getString());
+                               template_path = os::internal_path(lexrc.getString());
+                               template_path = ExpandPath(template_path);
                        }
                        break;
 
                case RC_TEMPDIRPATH:
                        if (lexrc.next()) {
-                               tempdir_path = ExpandPath(lexrc.getString());
+                               tempdir_path = os::internal_path(lexrc.getString());
+                               tempdir_path = ExpandPath(tempdir_path);
                        }
                        break;
 
@@ -711,7 +717,7 @@ int LyXRC::read(LyXLex & lexrc)
 
                case RC_LASTFILES:
                        if (lexrc.next()) {
-                               lastfiles = ExpandPath(lexrc.getString());
+                               lastfiles = ExpandPath(os::internal_path(lexrc.getString()));
                        }
                        break;
 
@@ -834,7 +840,8 @@ int LyXRC::read(LyXLex & lexrc)
 
                case RC_SERVERPIPE:
                        if (lexrc.next()) {
-                               lyxpipes = ExpandPath(lexrc.getString());
+                               lyxpipes = os::internal_path(lexrc.getString());
+                               lyxpipes = ExpandPath(lyxpipes);
                        }
                        break;
 
@@ -903,7 +910,7 @@ int LyXRC::read(LyXLex & lexrc)
                        break;
                case RC_PERS_DICT:
                        if (lexrc.next()) {
-                               isp_pers_dict = lexrc.getString();
+                               isp_pers_dict = os::internal_path(lexrc.getString());
                        }
                        break;
                case RC_ESC_CHARS:
@@ -918,7 +925,8 @@ int LyXRC::read(LyXLex & lexrc)
                        break;
                case RC_BACKUPDIR_PATH:
                        if (lexrc.next()) {
-                               backupdir_path = ExpandPath(lexrc.getString());
+                               backupdir_path = os::internal_path(lexrc.getString());
+                               backupdir_path = ExpandPath(backupdir_path);
                        }
                        break;
                case RC_DATE_INSERT_FORMAT:
@@ -1217,7 +1225,8 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc) const
        case RC_BINDFILE:
                if (ignore_system_lyxrc ||
                    bind_file != system_lyxrc.bind_file) {
-                       os << "\\bind_file " << bind_file << "\n";
+                       string const path = os::external_path(bind_file);
+                       os << "\\bind_file \"" << path << "\"\n";
                }
                //
                // Misc Section
@@ -1237,7 +1246,8 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc) const
        case RC_UIFILE:
                if (ignore_system_lyxrc ||
                    ui_file != system_lyxrc.ui_file) {
-                       os << "\\ui_file \"" << ui_file << "\"\n";
+                       string const path = os::external_path(ui_file);
+                       os << "\\ui_file \"" << path << "\"\n";
                }
        case RC_AUTOREGIONDELETE:
                if (ignore_system_lyxrc ||
@@ -1289,17 +1299,17 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc) const
                        switch (default_papersize) {
                        case PAPER_USLETTER:
                                os << "usletter"; break;
-                       case PAPER_LEGALPAPER:
+                       case PAPER_USLEGAL:
                                os << "legal"; break;
-                       case PAPER_EXECUTIVEPAPER:
+                       case PAPER_USEXECUTIVE:
                                os << "executive"; break;
-                       case PAPER_A3PAPER:
+                       case PAPER_A3:
                                os << "a3"; break;
-                       case PAPER_A4PAPER:
+                       case PAPER_A4:
                                os << "a4"; break;
-                       case PAPER_A5PAPER:
+                       case PAPER_A5:
                                os << "a5"; break;
-                       case PAPER_B5PAPER:
+                       case PAPER_B5:
                                os << "b5"; break;
                        case PAPER_DEFAULT: break;
                        }
@@ -1339,18 +1349,20 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc) const
        case RC_KBMAP_PRIMARY:
                if (ignore_system_lyxrc ||
                    primary_kbmap != system_lyxrc.primary_kbmap) {
-                       os << "\\kbmap_primary \"" << primary_kbmap << "\"\n";
+                       string const path = os::external_path(primary_kbmap);
+                       os << "\\kbmap_primary \"" << path << "\"\n";
                }
        case RC_KBMAP_SECONDARY:
                if (ignore_system_lyxrc ||
                    secondary_kbmap != system_lyxrc.secondary_kbmap) {
-                       os << "\\kbmap_secondary \"" << secondary_kbmap
-                          << "\"\n";
+                       string const path = os::external_path(secondary_kbmap);
+                       os << "\\kbmap_secondary \"" << path << "\"\n";
                }
        case RC_SERVERPIPE:
                if (ignore_system_lyxrc ||
                    lyxpipes != system_lyxrc.lyxpipes) {
-                       os << "\\serverpipe \"" << lyxpipes << "\"\n";
+                       string const path = os::external_path(lyxpipes);
+                       os << "\\serverpipe \"" << path << "\"\n";
                }
        case RC_DATE_INSERT_FORMAT:
                if (ignore_system_lyxrc ||
@@ -1672,7 +1684,8 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc) const
        case RC_PRINTTOFILE:
                if (ignore_system_lyxrc ||
                    print_to_file != system_lyxrc.print_to_file) {
-                       os << "\\print_to_file \"" << print_to_file << "\"\n";
+                       string const path = os::external_path(print_to_file);
+                       os << "\\print_to_file \"" << path << "\"\n";
                }
        case RC_PRINTFILEEXTENSION:
                if (ignore_system_lyxrc ||
@@ -1719,12 +1732,14 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc) const
        case RC_DOCUMENTPATH:
                if (ignore_system_lyxrc ||
                    document_path != system_lyxrc.document_path) {
-                       os << "\\document_path \"" << document_path << "\"\n";
+                       string const path = os::external_path(document_path);
+                       os << "\\document_path \"" << path << "\"\n";
                }
        case RC_LASTFILES:
                if (ignore_system_lyxrc ||
                    lastfiles != system_lyxrc.lastfiles) {
-                       os << "\\lastfiles \"" << lastfiles << "\"\n";
+                       string const path = os::external_path(lastfiles);
+                       os << "\\lastfiles \"" << path << "\"\n";
                }
        case RC_NUMLASTFILES:
                if (ignore_system_lyxrc ||
@@ -1740,12 +1755,14 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc) const
        case RC_TEMPLATEPATH:
                if (ignore_system_lyxrc ||
                    template_path != system_lyxrc.template_path) {
-                       os << "\\template_path \"" << template_path << "\"\n";
+                       string const path = os::external_path(template_path);
+                       os << "\\template_path \"" << path << "\"\n";
                }
        case RC_TEMPDIRPATH:
                if (ignore_system_lyxrc ||
                    tempdir_path != system_lyxrc.tempdir_path) {
-                       os << "\\tempdir_path \"" << tempdir_path << "\"\n";
+                       string const path = os::external_path(tempdir_path);
+                       os << "\\tempdir_path \"" << path << "\"\n";
                }
        case RC_USETEMPDIR:
                // Ignore it
@@ -1762,7 +1779,8 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc) const
        case RC_BACKUPDIR_PATH:
                if (ignore_system_lyxrc ||
                    backupdir_path != system_lyxrc.backupdir_path) {
-                       os << "\\backupdir_path \"" << backupdir_path << "\"\n";
+                       string const path = os::external_path(backupdir_path);
+                       os << "\\backupdir_path \"" << path << "\"\n";
                }
 
                os << "\n#\n"
@@ -1827,8 +1845,8 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc) const
                }
        case RC_PERS_DICT:
                if (isp_pers_dict != system_lyxrc.isp_pers_dict) {
-                       os << "\\personal_dictionary \"" << isp_pers_dict
-                          << "\"\n";
+                       string const path = os::external_path(isp_pers_dict);
+                       os << "\\personal_dictionary \"" << path << "\"\n";
                }
        case RC_USE_INP_ENC:
                if (ignore_system_lyxrc ||
@@ -2054,11 +2072,11 @@ string const LyXRC::getDescription(LyXRCTags tag)
                break;
 
        case RC_ASCIIROFF_COMMAND:
-               str = _("Use to define an external program to render tables in the ASCII output. E.g. \"groff -t -Tlatin1 $$FName\" where $$FName is the input file. If \"none\" is specified, an internal routine is used.");
+               str = _("Use to define an external program to render tables in plain text output. E.g. \"groff -t -Tlatin1 $$FName\" where $$FName is the input file. If \"none\" is specified, an internal routine is used.");
                break;
 
        case RC_ASCII_LINELEN:
-               str = _("This is the maximum line length of an exported ASCII file (LaTeX, SGML or plain text).");
+               str = _("This is the maximum line length of an exported text file (LaTeX, SGML or plain text).");
                break;
 
        case RC_AUTOREGIONDELETE: