]> git.lyx.org Git - lyx.git/blobdiff - src/lyxrc.h
add config.h
[lyx.git] / src / lyxrc.h
index 00271517f48ac1bb025e62bd0fa6408aa50a1067..ceed6f936974b808058ae620b2b1e7e746feb3d5 100644 (file)
 #include <iosfwd>
 #include <string>
 
+
+namespace lyx {
+
+namespace support { class FileName; }
+
 class LyXLex;
 
 /// This contains the runtime configuration of LyX
-class LyXRC //: public noncopyable {
+class LyXRC //: public noncopyable 
 // after 1.1.6 I will use a LyXRCStruct here and then this can be made
 // noncopyable again.  For now I want to minimise changes.  ARRae 20001010
 {
@@ -35,8 +40,8 @@ public:
        enum LyXRCTags {
                RC_ACCEPT_COMPOUND = 1,
                RC_ALT_LANG,
-               RC_ASCIIROFF_COMMAND,
-               RC_ASCII_LINELEN,
+               RC_PLAINTEXT_ROFF_COMMAND,
+               RC_PLAINTEXT_LINELEN,
                RC_AUTOREGIONDELETE,
                RC_AUTORESET_OPTIONS,
                RC_AUTOSAVE,
@@ -47,11 +52,11 @@ public:
                RC_CHECKLASTFILES,
                RC_CHKTEX_COMMAND,
                RC_CONVERTER,
+               RC_CONVERTER_CACHE_MAXAGE,
                RC_COPIER,
                RC_CURSOR_FOLLOWS_SCROLLBAR,
                RC_CUSTOM_EXPORT_COMMAND,
                RC_CUSTOM_EXPORT_FORMAT,
-               RC_CYGWIN_PATH_FIX,
                RC_DATE_INSERT_FORMAT,
                RC_DEFAULT_LANGUAGE,
                RC_DEFAULT_PAPERSIZE,
@@ -75,7 +80,8 @@ public:
                RC_LANGUAGE_GLOBAL_OPTIONS,
                RC_LANGUAGE_PACKAGE,
                RC_LANGUAGE_USE_BABEL,
-               RC_LASTFILES,
+               RC_USELASTFILEPOS,
+               RC_LOADSESSION,
                RC_MAKE_BACKUP,
                RC_MARK_FOREIGN_LANGUAGE,
                RC_NUMLASTFILES,
@@ -116,6 +122,9 @@ public:
                RC_SCREEN_FONT_SIZES,
                RC_SCREEN_FONT_TYPEWRITER,
                RC_SCREEN_FONT_TYPEWRITER_FOUNDRY,
+               RC_SCREEN_GEOMETRY_HEIGHT,
+               RC_SCREEN_GEOMETRY_WIDTH,
+               RC_SCREEN_GEOMETRY_XYSAVED,
                RC_SCREEN_ZOOM,
                RC_SERVERPIPE,
                RC_SET_COLOR,
@@ -123,18 +132,20 @@ public:
                RC_SPELL_COMMAND,
                RC_TEMPDIRPATH,
                RC_TEMPLATEPATH,
+               RC_TEX_ALLOWS_SPACES,
+               RC_TEX_EXPECTS_WINDOWS_PATHS,
                RC_UIFILE,
                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_SPELL_LIB,
                RC_VIEWDVI_PAPEROPTION,
                RC_VIEWER,
-               RC_WHEEL_JUMP,
                RC_LAST
        };
 
@@ -143,7 +154,7 @@ public:
        ///
        void setDefaults();
        ///
-       int read(std::string const & filename);
+       int read(support::FileName const & filename);
        ///
        int read(std::istream &);
 private:
@@ -151,15 +162,15 @@ private:
        int read(LyXLex &);
 public:
        ///
-       void write(std::string const & filename,
+       void write(support::FileName const & filename,
                   bool ignore_system_lyxrc) const;
        ///
        void write(std::ostream & os,
                   bool ignore_system_lyxrc) const;
        ///
        void print() const;
-       ///
-       static std::string const getDescription(LyXRCTags);
+       // FIXME unused (was used for xforms. Do we still need this?)
+       //static docstring const getDescription(LyXRCTags);
        ///
        std::string bind_file;
        ///
@@ -226,18 +237,24 @@ public:
        bool auto_reset_options;
        ///
        bool check_lastfiles;
-       /// filename for lastfiles file
-       std::string lastfiles;
        /// maximal number of lastfiles
        unsigned int num_lastfiles;
+       /// whether or not go to saved position when opening a file
+       bool use_lastfilepos;
+       /// load files from last session automatically
+       bool load_session;
        /// shall a backup file be created
        bool make_backup;
        /// A directory for storing backup files
        std::string backupdir_path;
+       /// Width of MainWindow. if 0, value from last session will be used
+       int geometry_width;
+       /// Height of MainWindow, if 0, value from last session will be used
+       int geometry_height;
+       /// Whether or not save/restore windows position as session info
+       bool geometry_xysaved;
        /// Zoom factor for screen fonts
        unsigned int zoom;
-       /// parameter for button_4 and button_5 (scrollwheel)
-       unsigned int wheel_jump;
        /// Screen font sizes in points for each font size
        std::string font_sizes[10];
        /// Allow the use of scalable fonts? Default is yes.
@@ -292,9 +309,9 @@ public:
        ///
        unsigned int autosave;
        ///
-       std::string ascii_roff_command;
+       std::string plaintext_roff_command;
        ///
-       unsigned int ascii_linelen;
+       unsigned int plaintext_linelen;
        /// use library instead of process
        bool use_spell_lib;
        /// Ispell command
@@ -356,7 +373,7 @@ public:
        ///
        int label_init_length;
        ///
-       lyx::graphics::DisplayType display_graphics;
+       graphics::DisplayType display_graphics;
        ///
        bool show_banner;
        ///
@@ -375,12 +392,18 @@ public:
        std::string user_name;
        /// user email
        std::string user_email;
-       ///
-       bool cygwin_path_fix;
+       /// 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
+       bool tex_allows_spaces;
        /** Prepend paths to the PATH environment variable.
         *  The string is input, stored and output in native format.
         */
        std::string path_prefix;
+       /// Use the cache for file converters?
+       bool use_converter_cache;
+       /// The maximum age of cache files in seconds
+       unsigned int converter_cache_maxage;
 };
 
 
@@ -400,4 +423,7 @@ public:
 extern LyXRC lyxrc;
 ///
 extern LyXRC system_lyxrc;
+
+} // namespace lyx
+
 #endif