]> git.lyx.org Git - lyx.git/blobdiff - src/lyxrc.h
citation patch from Angus
[lyx.git] / src / lyxrc.h
index 6b2a89ec43118976b196d2c1452699b788f49945..77a292e95365f2292561c1845ebd55ccacd2d2d8 100644 (file)
@@ -1,13 +1,13 @@
 // -*- C++ -*-
 /* This file is part of
- * ======================================================
+ * ====================================================== 
  * 
  *           LyX, The Document Processor
  *      
  *           Copyright 1995 Matthias Ettrich
- *           Copyright 1995-1999 The LyX Team.
+ *           Copyright 1995-2000 The LyX Team.
  *
- * ======================================================*/
+ * ====================================================== */
 
 #ifndef LYXRC_H
 #define LYXRC_H
 #pragma interface
 #endif
 
-#include "toolbar.h"
+#include "bufferparams.h"
+#include "support/utility.hpp"
 
 /// This contains the runtime configuration of LyX
-class LyXRC {
+class LyXRC : public noncopyable {
 public:
        ///
        LyXRC();
        ///
-       int Read (string const & filename);
+       void setDefaults();
        ///
-        void Print();
+       int read (string const & filename);
+       ///
+       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");
        ///
-       Toolbar toolbar;
+       string bind_file;
+       ///
+       string ui_file;
        ///
        string printer;
        ///
@@ -73,14 +82,25 @@ public:
         string custom_export_command;
        ///
        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;
@@ -92,15 +112,17 @@ public:
        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
-        LYX_PAPER_SIZE default_papersize;
+        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;
        ///
        string template_path;
@@ -116,14 +138,22 @@ public:
        string lastfiles;
        /// maximal number of lastfiles
        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;
        ///
@@ -139,6 +169,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;
@@ -180,10 +225,46 @@ public:
        string secondary_kbmap;
        ///
        string lyxpipes;
-
-private:
        ///
-       void defaultKeyBindings();
+       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;
+       ///
+       string linuxdoc_to_lyx_command;
+       ///
+       string linuxdoc_to_html_command;
+       ///
+       string linuxdoc_to_latex_command;
+       ///
+       string docbook_to_dvi_command;
+       ///
+       string docbook_to_html_command;
+       ///
+       string docbook_to_pdf_command;
+       ///
+       bool new_ask_filename;
 };
 
+///
+extern LyXRC lyxrc;
+///
+//extern LyXRC system_lyxrc;
 #endif