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