]> git.lyx.org Git - lyx.git/blobdiff - src/lyxrc.h
Dekel's import/export patch
[lyx.git] / src / lyxrc.h
index d485ae51afce24ce0963a6fe80049572e90a86c4..b6065dcb10c46dc21508396335fc855ee875795e 100644 (file)
@@ -5,7 +5,7 @@
  *           LyX, The Document Processor
  *      
  *           Copyright 1995 Matthias Ettrich
- *           Copyright 1995-1999 The LyX Team.
+ *           Copyright 1995-2000 The LyX Team.
  *
  * ====================================================== */
 
 #pragma interface
 #endif
 
-#include "toolbar.h"
 #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:
        ///
        LyXRC();
        ///
+       void setDefaults();
+       ///
        int read (string const & filename);
        ///
        void write(string const & filename) const;
        ///
         void print() const;
        ///
-       void output(ostream & os) const;
+       void output(std::ostream & os) const;
        /// Is a bind file already (or currently) read?
        bool hasBindFile;
        ///
        int ReadBindFile(string const & name = "cua");
        ///
-       Toolbar toolbar;
+       string bind_file;
+       ///
+       string ui_file;
        ///
        string printer;
        ///
@@ -80,41 +87,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;
-       /// program for viewing pdf output (default "xpdf")
-       string view_pdf_command;
+       /// option for telling the dvi viewer about the paper size
+       string view_dvi_paper_option;
         /// 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 sgml_extra_options;
        ///
        string document_path;
        ///
@@ -133,14 +113,20 @@ public:
        unsigned int num_lastfiles;
        /// shall a backup file be created
        bool make_backup;
+       /// A directory for storing backup files
+       string backupdir_path;
        /// 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
        float font_sizes[10];
        /// Allow the use of scalable fonts? Default is yes.
        bool use_scalable_fonts;
        /// DPI of monitor
        float dpi;
+       /// Whether lyx should handle deadkeys by itself
+       bool override_x_deadkeys;
        ///
        string fontenc;
        ///
@@ -156,6 +142,21 @@ public:
        ///
        string font_norm;
        ///
+       enum FontEncoding {
+               ///
+               ISO_10646_1,
+               ///
+               ISO_8859_6_8,
+               ///
+               OTHER_ENCODING
+       };
+       ///
+       FontEncoding font_norm_type;
+       ///
+       void set_font_norm_type();
+       ///
+       string font_norm_menu;
+       ///
        unsigned int autosave;
        ///
        string fax_command;
@@ -198,11 +199,37 @@ public:
        ///
        string lyxpipes;
        ///
-       string insert_date_format;
-
-private:
+       string date_insert_format;
+       ///
+       string language_package;
+       ///
+       bool language_auto_begin;
+       ///
+       bool language_auto_end;
+       ///
+       string language_command_begin;
+       ///
+       string language_command_end;
+       ///
+       bool rtl_support;
+       ///
+       bool auto_number;
+       ///
+       bool mark_foreign_language;
+       ///
+       bool show_banner;
+       /// Do we have to use a GUI?
+       bool use_gui;
+       ///
+       bool new_ask_filename;
+       ///
+       string default_language;
        ///
-       void defaultKeyBindings();
+       bool cursor_follows_scrollbar;
 };
 
+///
+extern LyXRC lyxrc;
+///
+extern LyXRC system_lyxrc;
 #endif