]> git.lyx.org Git - lyx.git/blobdiff - src/lyxrc.h
Andres fixes to sstrem problems
[lyx.git] / src / lyxrc.h
index 6b2a89ec43118976b196d2c1452699b788f49945..ede04f705552e83bab5df1e93f89372d91dbd4ea 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 <map>
+
+#include "ToolbarDefaults.h"
+#include "bufferparams.h"
 
 /// This contains the runtime configuration of LyX
 class LyXRC {
 public:
-       ///
        LyXRC();
        ///
-       int Read (string const & filename);
+       void setDefaults();
+       ///
+       int read (string const & filename);
+       ///
+       void write(string const & filename) const;
        ///
-        void Print();
+        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;
+       ToolbarDefaults toolbardefaults;
        ///
        string printer;
        ///
@@ -73,8 +81,16 @@ 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;
@@ -92,15 +108,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,6 +134,10 @@ 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;
        /// Screen font sizes in points for each font size
@@ -139,6 +161,8 @@ public:
        ///
        string font_norm;
        ///
+       string font_norm_menu;
+       ///
        unsigned int autosave;
        ///
        string fax_command;
@@ -180,10 +204,47 @@ public:
        string secondary_kbmap;
        ///
        string lyxpipes;
-
+       ///
+       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 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;
+       ///
+       typedef std::map<string, int> Bindings;
+       ///
+       Bindings bindings;
 private:
        ///
        void defaultKeyBindings();
 };
 
+extern LyXRC lyxrc;
+
 #endif