]> git.lyx.org Git - lyx.git/blob - src/lyxrc.h
more changes, read the Changelog
[lyx.git] / src / lyxrc.h
1 // -*- C++ -*-
2 /* This file is part of
3  * ====================================================== 
4  * 
5  *           LyX, The Document Processor
6  *       
7  *           Copyright 1995 Matthias Ettrich
8  *           Copyright 1995-2000 The LyX Team.
9  *
10  * ====================================================== */
11
12 #ifndef LYXRC_H
13 #define LYXRC_H
14
15 #ifdef __GNUG__
16 #pragma interface
17 #endif
18
19 #include "ToolbarDefaults.h"
20 #include "bufferparams.h"
21
22 /// This contains the runtime configuration of LyX
23 class LyXRC {
24 public:
25         LyXRC();
26         ///
27         void setDefaults();
28         ///
29         int read (string const & filename);
30         ///
31         void write(string const & filename) const;
32         ///
33         void print() const;
34         ///
35         void output(std::ostream & os) const;
36         /// Is a bind file already (or currently) read?
37         bool hasBindFile;
38         ///
39         int ReadBindFile(string const & name = "cua");
40         ///
41         ToolbarDefaults toolbardefaults;
42         ///
43         string bind_file;
44         ///
45         string printer;
46         ///
47         string print_command;
48         ///
49         string print_evenpage_flag;
50         ///
51         string print_oddpage_flag;
52         ///
53         string print_pagerange_flag;
54         ///
55         string print_copies_flag;
56         ///
57         string print_collcopies_flag;
58         ///
59         string print_reverse_flag;
60         ///
61         string print_landscape_flag;
62         ///
63         string print_to_printer;
64         ///
65         bool print_adapt_output;
66         ///
67         string print_to_file;
68         ///
69         string print_file_extension;
70         ///
71         string print_extra_options;
72         ///
73         string print_spool_command;
74         ///
75         string print_spool_printerprefix;
76         ///
77         string print_paper_flag;
78         ///
79         string print_paper_dimension_flag;
80         ///
81         string custom_export_command;
82         ///
83         string custom_export_format;
84         ///
85         bool pdf_mode;
86         /// program for running latex
87         string latex_command;
88         ///
89         string pdflatex_command;
90         ///
91         string pdf_to_ps_command;
92         ///
93         string dvi_to_ps_command;
94         /// program for performing literate programming
95         string literate_command;
96         string literate_extension;
97         string literate_error_filter;
98         /// program for compiling
99         string build_command;
100         string build_error_filter;
101         /// program for running relyx
102         string relyx_command;
103         /// postscript interpreter (in general "gs", if it is installed)
104         string ps_command;
105         /// program for viewing postscript output (default "ghostview -swap")
106         string view_ps_command;
107         /// program for viewing postscript pictures (default "ghostview")
108         string view_pspic_command;
109         /// program for viewing dvi output (default "xdvi")
110         string view_dvi_command;
111         /// option for telling the dvi viewer about the paper size
112         string view_dvi_paper_option;
113         /// program for viewing pdf output (default "xpdf")
114         string view_pdf_command;
115         /// default paper size for local xdvi/dvips/ghostview/whatever
116         BufferParams::PAPER_SIZE default_papersize;
117         /// command to run chktex incl. options
118         string chktex_command;
119         /// command to run an html converter incl. options
120         string html_command;
121         ///
122         string document_path;
123         ///
124         string template_path;
125         ///
126         string tempdir_path;
127         ///
128         bool use_tempdir;
129         ///
130         bool auto_region_delete;
131         /// flag telling whether lastfiles should be checked for existance
132         bool check_lastfiles;
133         /// filename for lastfiles file
134         string lastfiles;
135         /// maximal number of lastfiles
136         unsigned int num_lastfiles;
137         /// shall a backup file be created
138         bool make_backup;
139         /// A directory for storing backup files
140         string backupdir_path;
141         /// Zoom factor for screen fonts
142         unsigned int zoom;
143         /// Screen font sizes in points for each font size
144         float font_sizes[10];
145         /// Allow the use of scalable fonts? Default is yes.
146         bool use_scalable_fonts;
147         /// DPI of monitor
148         float dpi;
149         /// Whether lyx should handle deadkeys by itself
150         bool override_x_deadkeys;
151         ///
152         string fontenc;
153         ///
154         string roman_font_name;
155         ///
156         string sans_font_name;
157         ///
158         string typewriter_font_name;
159         ///
160         string menu_font_name;
161         ///
162         string popup_font_name;
163         ///
164         string font_norm;
165         ///
166         string font_norm_menu;
167         ///
168         unsigned int autosave;
169         ///
170         string fax_command;
171         ///
172         string phone_book;
173         ///
174         string fax_program;
175         ///
176         string ascii_roff_command;
177         ///
178         unsigned int ascii_linelen;
179         /// Ispell command
180         string isp_command;
181         /// Accept compound words in spellchecker?
182         bool isp_accept_compound;
183         /// Pass input encoding switch to ispell?
184         bool isp_use_input_encoding;
185         /// Use alternate language?
186         bool isp_use_alt_lang;
187         /// Use personal dictionary?
188         bool isp_use_pers_dict;
189         /// Use escape chars?
190         bool isp_use_esc_chars;
191         /// Alternate language for ispell
192         string isp_alt_lang;
193         /// Alternate personal dictionary file for ispell
194         string isp_pers_dict;
195         /// Escape characters
196         string isp_esc_chars;
197         ///
198         bool use_kbmap;
199         /// Ask for confirmation of exit when there are unsaved documents?
200         bool exit_confirmation;
201         /// Should we display short-cut information in the minibuffer?
202         bool display_shortcuts;
203         ///
204         string primary_kbmap;
205         ///
206         string secondary_kbmap;
207         ///
208         string lyxpipes;
209         ///
210         string date_insert_format;
211         ///
212         string language_package;
213         ///
214         bool language_auto_begin;
215         ///
216         bool language_auto_end;
217         ///
218         string language_command_begin;
219         ///
220         string language_command_end;
221         ///
222         bool rtl_support;
223         ///
224         bool auto_number;
225         ///
226         bool mark_foreign_language;
227         ///
228         bool show_banner;
229         /// Do we have to use a GUI?
230         bool use_gui;
231         ///
232         string linuxdoc_to_lyx_command;
233         ///
234         string linuxdoc_to_html_command;
235         ///
236         string linuxdoc_to_latex_command;
237         ///
238         string docbook_to_dvi_command;
239         ///
240         string docbook_to_html_command;
241         ///
242         string docbook_to_pdf_command;
243 };
244
245 extern LyXRC lyxrc;
246
247 #endif