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