]> git.lyx.org Git - features.git/blob - src/lyxrc.h
some new (not extensive) changes, some fixes, will probably reverto to .la libs later...
[features.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         /// program for running latex
82         string latex_command;
83         /// program for performing literate programming
84         string literate_command;
85         string literate_extension;
86         string literate_error_filter;
87         /// program for compiling
88         string build_command;
89         string build_error_filter;
90         /// program for running relyx
91         string relyx_command;
92         /// postscript interpreter (in general "gs", if it is installed)
93         string ps_command;
94         /// program for viewing postscript output (default "ghostview -swap")
95         string view_ps_command;
96         /// program for viewing postscript pictures (default "ghostview")
97         string view_pspic_command;
98         /// program for viewing dvi output (default "xdvi")
99         string view_dvi_command;
100         /// default paper size for local xdvi/dvips/ghostview/whatever
101         BufferParams::PAPER_SIZE default_papersize;
102         /// command to run chktex incl. options
103         string chktex_command;
104         /// command to run an html converter incl. options
105         string html_command;
106         ///
107         string sgml_extra_options;
108         ///
109         string document_path;
110         ///
111         string template_path;
112         ///
113         string tempdir_path;
114         ///
115         bool use_tempdir;
116         ///
117         bool auto_region_delete;
118         /// flag telling whether lastfiles should be checked for existance
119         bool check_lastfiles;
120         /// filename for lastfiles file
121         string lastfiles;
122         /// maximal number of lastfiles
123         unsigned int num_lastfiles;
124         /// Zoom factor for screen fonts
125         unsigned int zoom;
126         /// Screen font sizes in points for each font size
127         float font_sizes[10];
128         /// Allow the use of scalable fonts? Default is yes.
129         bool use_scalable_fonts;
130         /// DPI of monitor
131         float dpi;
132         ///
133         string fontenc;
134         ///
135         string roman_font_name;
136         ///
137         string sans_font_name;
138         ///
139         string typewriter_font_name;
140         ///
141         string menu_font_name;
142         ///
143         string popup_font_name;
144         ///
145         string font_norm;
146         ///
147         unsigned int autosave;
148         ///
149         string fax_command;
150         ///
151         string phone_book;
152         ///
153         string fax_program;
154         ///
155         string ascii_roff_command;
156         ///
157         unsigned int ascii_linelen;
158         /// Ispell command
159         string isp_command;
160         /// Accept compound words in spellchecker?
161         bool isp_accept_compound;
162         /// Pass input encoding switch to ispell?
163         bool isp_use_input_encoding;
164         /// Use alternate language?
165         bool isp_use_alt_lang;
166         /// Use personal dictionary?
167         bool isp_use_pers_dict;
168         /// Use escape chars?
169         bool isp_use_esc_chars;
170         /// Alternate language for ispell
171         string isp_alt_lang;
172         /// Alternate personal dictionary file for ispell
173         string isp_pers_dict;
174         /// Escape characters
175         string isp_esc_chars;
176         ///
177         bool use_kbmap;
178         /// Ask for confirmation of exit when there are unsaved documents?
179         bool exit_confirmation;
180         /// Should we display short-cut information in the minibuffer?
181         bool display_shortcuts;
182         ///
183         string primary_kbmap;
184         ///
185         string secondary_kbmap;
186         ///
187         string lyxpipes;
188
189 private:
190         ///
191         void defaultKeyBindings();
192 };
193
194 #endif