]> git.lyx.org Git - lyx.git/blobdiff - src/LyXRC.h
listerrors.lyx : Update a link.
[lyx.git] / src / LyXRC.h
index eb410e3c09b232f2d3bd16692de2b01eb6770662..f80c7b5f517ddfe736afab3d571b216a8928764c 100644 (file)
@@ -19,6 +19,7 @@
 #define LYXRC_H
 
 #include "paper.h"
+#include "Length.h"
 
 #include "support/strfwd.h"
 
@@ -65,11 +66,12 @@ public:
                RC_CONVERTER_CACHE_MAXAGE,
                RC_COPIER,
                RC_CURSOR_FOLLOWS_SCROLLBAR,
+               RC_CURSOR_WIDTH,
                RC_DATE_INSERT_FORMAT,
                RC_DEFAULT_DECIMAL_POINT,
+               RC_DEFAULT_LENGTH_UNIT,
                RC_DEFAULT_LANGUAGE,
                RC_DEFAULT_VIEW_FORMAT,
-               RC_DEFAULT_PAPERSIZE,
                RC_DEFFILE,
                RC_DIALOGS_ICONIFY_WITH_MAIN,
                RC_DISPLAY_GRAPHICS,
@@ -79,7 +81,8 @@ public:
                RC_EXAMPLEPATH,
                RC_EXPORT_OVERWRITE,
                RC_FONT_ENCODING,
-               RC_FORMAT,
+               RC_FORCE_PAINT_SINGLE_CHAR,
+               RC_FILEFORMAT,
                RC_FORWARD_SEARCH_DVI,
                RC_FORWARD_SEARCH_PDF,
                RC_FULL_SCREEN_LIMIT,
@@ -92,6 +95,7 @@ public:
                RC_GROUP_LAYOUTS,
                RC_GUI_LANGUAGE,
                RC_HUNSPELLDIR_PATH,
+               RC_ICON_SET,
                RC_INDEX_ALTERNATIVES,
                RC_INDEX_COMMAND,
                RC_INPUT,
@@ -106,9 +110,10 @@ public:
                RC_LANGUAGE_COMMAND_END,
                RC_LANGUAGE_COMMAND_LOCAL,
                RC_LANGUAGE_GLOBAL_OPTIONS,
-               RC_LANGUAGE_PACKAGE,
-               RC_LANGUAGE_USE_BABEL,
+               RC_LANGUAGE_CUSTOM_PACKAGE,
+               RC_LANGUAGE_PACKAGE_SELECTION,
                RC_LOADSESSION,
+               RC_LYXRCFORMAT,
                RC_MACRO_EDIT_STYLE,
                RC_MAC_DONTSWAP_CTRL_META,
                RC_MAC_LIKE_WORD_MOVEMENT,
@@ -120,9 +125,7 @@ public:
                RC_OPEN_BUFFERS_IN_TABS,
                RC_PARAGRAPH_MARKERS,
                RC_PATH_PREFIX,
-               RC_PERS_DICT,
                RC_PLAINTEXT_LINELEN,
-               RC_PLAINTEXT_ROFF_COMMAND,
                RC_PREVIEW,
                RC_PREVIEW_HASHED_LABELS,
                RC_PREVIEW_SCALE_FACTOR,
@@ -164,7 +167,6 @@ public:
                RC_SINGLE_CLOSE_TAB_BUTTON,
                RC_SINGLE_INSTANCE,
                RC_SORT_LAYOUTS,
-               RC_SPELL_COMMAND,
                RC_SPELLCHECK_CONTINUOUSLY,
                RC_SPELLCHECK_NOTES,
                RC_SPELLCHECKER,
@@ -173,21 +175,16 @@ public:
                RC_TEMPLATEPATH,
                RC_TEX_ALLOWS_SPACES,
                RC_TEX_EXPECTS_WINDOWS_PATHS,
+               RC_TEXINPUTS_PREFIX,
                RC_THESAURUSDIRPATH,
                RC_UIFILE,
                RC_USELASTFILEPOS,
                RC_USER_EMAIL,
                RC_USER_NAME,
-               RC_USETEMPDIR,
-               RC_USE_ALT_LANG,
                RC_USE_CONVERTER_CACHE,
-               RC_USE_ESC_CHARS,
-               RC_USE_INP_ENC,
-               RC_USE_PERS_DICT,
                RC_USE_SYSTEM_COLORS,
                RC_USE_TOOLTIP,
                RC_USE_PIXMAP_CACHE,
-               RC_USE_SPELL_LIB,
                RC_VIEWDVI_PAPEROPTION,
                RC_VIEWER,
                RC_VIEWER_ALTERNATIVES,
@@ -199,17 +196,24 @@ public:
        LyXRC();
        ///
        void setDefaults();
+       /// \param check_format: whether to try to convert the file format,
+       /// if it is not current. this should only be true, really, for the
+       /// user's own preferences file.
+       bool read(support::FileName const & filename, bool check_format);
        ///
-       int read(support::FileName const & filename);
-       ///
-       int read(std::istream &);
+       bool read(std::istream &);
 private:
+       enum ReturnValues {
+               ReadOK,
+               ReadError,
+               FormatMismatch
+       };
        ///
-       int read(Lexer &);
+       ReturnValues read(Lexer &, bool check_format);
 public:
-       /// 
+       ///
        typedef std::set<std::string> CommandSet;
-       /// maps a format to a set of commands that can be used to 
+       /// maps a format to a set of commands that can be used to
        /// edit or view it.
        typedef std::map<std::string, CommandSet> Alternatives;
        ///
@@ -217,7 +221,7 @@ public:
                   bool ignore_system_lyxrc) const;
        /// write rc. If a specific tag is given, only output that one.
        void write(std::ostream & os,
-                  bool ignore_system_lyxrc, 
+                  bool ignore_system_lyxrc,
                   std::string const & tag = std::string()) const;
        ///
        void print() const;
@@ -268,7 +272,6 @@ public:
        /// option for telling the dvi viewer about the paper size
        std::string view_dvi_paper_option;
        /// default paper size for local xdvi/dvips/ghostview/whatever
-       PAPER_SIZE default_papersize;
        /// command to run chktex incl. options
        std::string chktex_command;
        /// all available commands to run bibtex incl. options
@@ -379,7 +382,7 @@ public:
        ///
        std::string date_insert_format;
        ///
-       std::string language_package;
+       std::string language_custom_package;
        ///
        bool language_auto_begin;
        ///
@@ -393,7 +396,14 @@ public:
        ///
        bool language_global_options;
        ///
-       bool language_use_babel;
+       enum LangPackageSelection {
+               LP_AUTO = 0,
+               LP_BABEL,
+               LP_CUSTOM,
+               LP_NONE
+       };
+       ///
+       LangPackageSelection language_package_selection;
        ///
        bool rtl_support;
        /// bidi cursor movement: true = visual, false = logical
@@ -450,6 +460,8 @@ public:
        std::string user_name;
        /// user email
        std::string user_email;
+       /// icon set name
+       std::string icon_set;
        /// True if the TeX engine cannot handle posix paths
        bool windows_style_tex_paths;
        /// True if the TeX engine can handle file names containing spaces
@@ -458,6 +470,11 @@ public:
         *  The string is input, stored and output in native format.
         */
        std::string path_prefix;
+       /** Prepend paths to the TEXINPUTS environment variable.
+        *  The string is input, stored and output in native format.
+        *  A '.' here stands for the current document directory.
+        */
+       std::string texinputs_prefix;
        /// Use the cache for file converters?
        bool use_converter_cache;
        /// The maximum age of cache files in seconds
@@ -513,6 +530,8 @@ public:
        /// Default decimal point when aligning table columns on decimal
        std::string default_decimal_point;
        ///
+       Length::UNIT default_length_unit;
+       ///
        enum ScrollWheelZoom {
                SCROLL_WHEEL_ZOOM_OFF,
                SCROLL_WHEEL_ZOOM_CTRL,
@@ -521,6 +540,10 @@ public:
        };
        ///
        ScrollWheelZoom scroll_wheel_zoom;
+       ///
+       bool force_paint_single_char;
+       ///
+       int cursor_width;
 };