]> git.lyx.org Git - lyx.git/blobdiff - src/lyxrc.h
Indentation change + small #ifndef NEW_INSETS fix.
[lyx.git] / src / lyxrc.h
index 4844a92efe601b909f5c2e2c50a20d382a39ea59..5b0882b51e18d26016ce673d7c6889bdca03ba6a 100644 (file)
 #endif
 
 #include "bufferparams.h"
+#include <boost/utility.hpp>
 
 /// This contains the runtime configuration of LyX
-class LyXRC {
+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
+{
 public:
+enum LyXRCTags {
+       RC_FONT_ENCODING = 1,
+       RC_PRINTER,
+       RC_PRINT_COMMAND,
+       RC_PRINTEVENPAGEFLAG,
+       RC_PRINTODDPAGEFLAG,
+       RC_PRINTPAGERANGEFLAG,
+       RC_PRINTCOPIESFLAG,
+       RC_PRINTCOLLCOPIESFLAG,
+       RC_PRINTREVERSEFLAG,
+       RC_PRINTLANDSCAPEFLAG,
+       RC_PRINTTOPRINTER,
+       RC_PRINT_ADAPTOUTPUT,
+       RC_PRINTTOFILE,
+       RC_PRINTFILEEXTENSION,
+       RC_PRINTEXSTRAOPTIONS,
+       RC_PRINTSPOOL_COMMAND,
+       RC_PRINTSPOOL_PRINTERPREFIX,
+        RC_PRINTPAPERFLAG,
+       RC_PRINTPAPERDIMENSIONFLAG,
+       RC_CUSTOM_EXPORT_COMMAND,
+       RC_CUSTOM_EXPORT_FORMAT,
+       RC_SCREEN_DPI,
+       RC_SCREEN_ZOOM,
+       RC_SCREEN_FONT_SIZES,
+       RC_SCREEN_FONT_ROMAN,
+       RC_SCREEN_FONT_SANS,
+       RC_SCREEN_FONT_TYPEWRITER,
+       RC_SCREEN_FONT_MENU,
+       RC_SCREEN_FONT_POPUP,
+       RC_SCREEN_FONT_ENCODING,
+       RC_SCREEN_FONT_ENCODING_MENU,
+       RC_SET_COLOR,
+       RC_AUTOSAVE,
+       RC_DOCUMENTPATH,
+       RC_TEMPLATEPATH,
+       RC_TEMPDIRPATH,
+       RC_USETEMPDIR,
+       RC_LASTFILES,
+       RC_AUTOREGIONDELETE,
+       RC_BIND,
+       RC_OVERRIDE_X_DEADKEYS,
+       RC_SERVERPIPE,
+       RC_INPUT,
+       RC_BINDFILE,
+       RC_UIFILE,
+       RC_KBMAP,
+       RC_KBMAP_PRIMARY,
+       RC_KBMAP_SECONDARY,
+       RC_ASCIIROFF_COMMAND,
+       RC_ASCII_LINELEN,
+       RC_NUMLASTFILES,
+       RC_CHECKLASTFILES,
+       RC_VIEWDVI_PAPEROPTION,
+       RC_DEFAULT_PAPERSIZE,
+       RC_PS_COMMAND,
+       RC_ACCEPT_COMPOUND,
+       RC_SPELL_COMMAND,
+       RC_USE_INP_ENC,
+       RC_USE_ALT_LANG,
+       RC_USE_PERS_DICT,
+       RC_USE_ESC_CHARS,
+       RC_SCREEN_FONT_SCALABLE,
+       RC_ALT_LANG,
+       RC_PERS_DICT,
+       RC_ESC_CHARS,
+       RC_CHKTEX_COMMAND,
+       RC_CURSOR_FOLLOWS_SCROLLBAR,
+       RC_EXIT_CONFIRMATION,
+       RC_DISPLAY_SHORTCUTS,
+       RC_MAKE_BACKUP,
+       RC_BACKUPDIR_PATH,
+       RC_RTL_SUPPORT,
+       RC_AUTO_NUMBER,
+       RC_MARK_FOREIGN_LANGUAGE,
+       RC_LANGUAGE_PACKAGE,
+       RC_LANGUAGE_AUTO_BEGIN,
+       RC_LANGUAGE_AUTO_END,
+       RC_LANGUAGE_COMMAND_BEGIN,
+       RC_LANGUAGE_COMMAND_END,
+       RC_LANGUAGE_COMMAND_LOCAL,
+       RC_LANGUAGE_GLOBAL_OPTIONS,
+       RC_LANGUAGE_USE_BABEL,
+       RC_DATE_INSERT_FORMAT,
+       RC_SHOW_BANNER,
+       RC_WHEEL_JUMP,
+       RC_CONVERTER,
+       RC_VIEWER,
+       RC_FORMAT,
+       RC_NEW_ASK_FILENAME,
+       RC_DEFAULT_LANGUAGE,
+       RC_LABEL_INIT_LENGTH,
+       RC_LAST
+};
+
+
+       ///
        LyXRC();
        ///
        void setDefaults();
        ///
        int read (string const & filename);
        ///
+       void readBindFileIfNeeded();
+       ///
        void write(string const & filename) const;
        ///
         void print() const;
        ///
        void output(std::ostream & os) const;
-       /// Is a bind file already (or currently) read?
-       bool hasBindFile;
        ///
-       int ReadBindFile(string const & name = "cua");
+       static string const getDescription(LyXRCTags);
        ///
        string bind_file;
        ///
@@ -82,41 +183,14 @@ public:
        string custom_export_format;
        ///
        bool pdf_mode;
-       /// program for running latex
-       string latex_command;
-       ///
-       string pdflatex_command;
-       ///
-       string pdf_to_ps_command;
-       ///
-       string dvi_to_ps_command;
-        /// program for performing literate programming
-        string literate_command;
-        string literate_extension;
-        string literate_error_filter;
-        /// program for compiling
-        string build_command;
-        string build_error_filter;
-       /// program for running relyx
-       string relyx_command;
        /// postscript interpreter (in general "gs", if it is installed)
        string ps_command;
-       /// program for viewing postscript output (default "ghostview -swap")
-       string view_ps_command;
-       /// program for viewing postscript pictures (default "ghostview")
-       string view_pspic_command;
-       /// program for viewing dvi output (default "xdvi")
-       string view_dvi_command;
        /// option for telling the dvi viewer about the paper size
        string view_dvi_paper_option;
-       /// program for viewing pdf output (default "xpdf")
-       string view_pdf_command;
         /// default paper size for local xdvi/dvips/ghostview/whatever
         BufferParams::PAPER_SIZE default_papersize;
        /// command to run chktex incl. options
        string chktex_command;
-       /// command to run an html converter incl. options
-       string html_command;
        ///
        string document_path;
        ///
@@ -163,11 +237,20 @@ public:
        string popup_font_name;
        ///
        string font_norm;
+       ///
        enum FontEncoding {
+               ///
                ISO_10646_1,
+               ///
+               ISO_8859_1,
+               ///
                ISO_8859_6_8,
+               ///
+               ISO_8859_9,
+               ///
                OTHER_ENCODING
        };
+       ///
        FontEncoding font_norm_type;
        ///
        void set_font_norm_type();
@@ -176,12 +259,6 @@ public:
        ///
        unsigned int autosave;
        ///
-       string fax_command;
-       ///
-       string phone_book;
-       ///
-       string fax_program;
-       ///
        string ascii_roff_command;
        ///
        unsigned int ascii_linelen;
@@ -228,6 +305,12 @@ public:
        ///
        string language_command_end;
        ///
+       string language_command_local;
+       ///
+       bool language_global_options; 
+       ///
+       bool language_use_babel;
+       ///
        bool rtl_support;
        ///
        bool auto_number;
@@ -238,19 +321,22 @@ public:
        /// Do we have to use a GUI?
        bool use_gui;
        ///
-       string linuxdoc_to_lyx_command;
+       bool new_ask_filename;
        ///
-       string linuxdoc_to_html_command;
+       string default_language;
        ///
-       string linuxdoc_to_latex_command;
+       bool cursor_follows_scrollbar;
        ///
-       string docbook_to_dvi_command;
-       ///
-       string docbook_to_html_command;
+       int label_init_length;
+private:
+       /// Is a bind file already (or currently) read?
+       bool hasBindFile;
        ///
-       string docbook_to_pdf_command;
+       int ReadBindFile(string const & name);
 };
 
+///
 extern LyXRC lyxrc;
-
+///
+extern LyXRC system_lyxrc;
 #endif