2003-02-08 19:18:01 +00:00
/**
2007-04-26 04:41:58 +00:00
* \ file LyXRC . cpp
2003-02-08 19:18:01 +00:00
* This file is part of LyX , the document processor .
* Licence details can be found in the file COPYING .
2002-03-21 17:27:08 +00:00
*
2003-08-23 00:17:00 +00:00
* \ author Lars Gullik Bj <EFBFBD> nnes
* \ author Jean - Marc Lasgouttes
* \ author Angus Leeming
* \ author John Levon
2003-09-15 02:24:31 +00:00
* \ author Andr <EFBFBD> P <EFBFBD> nitz
2003-08-23 00:17:00 +00:00
* \ author Allan Rae
* \ author Dekel Tsur
*
* Full author contact details are available in file CREDITS .
2003-02-08 19:18:01 +00:00
*/
1999-09-27 18:44:28 +00:00
# include <config.h>
1999-12-01 00:57:31 +00:00
# include <fstream>
2000-03-16 04:29:22 +00:00
# include <iostream>
2007-04-26 04:41:58 +00:00
# include "LyXRC.h"
2003-05-13 14:36:24 +00:00
# include "debug.h"
2007-04-26 04:41:58 +00:00
# include "Converter.h"
# include "Format.h"
2001-04-05 12:26:41 +00:00
# include "gettext.h"
2007-04-26 04:41:58 +00:00
# include "Session.h"
2007-04-26 17:34:20 +00:00
# include "Color.h"
2007-04-26 11:30:54 +00:00
# include "Lexer.h"
2007-04-29 18:17:15 +00:00
# include "Font.h"
2007-04-26 04:41:58 +00:00
# include "Mover.h"
1999-09-27 18:44:28 +00:00
2003-10-13 21:50:33 +00:00
# include "graphics/GraphicsTypes.h"
2005-01-14 15:53:30 +00:00
# include "support/convert.h"
2005-02-15 13:45:41 +00:00
# include "support/environment.h"
2003-05-13 14:36:24 +00:00
# include "support/filetools.h"
2003-05-23 13:54:09 +00:00
# include "support/lstrings.h"
2005-06-18 00:18:29 +00:00
# include "support/os.h"
2003-09-09 22:13:45 +00:00
# include "support/userinfo.h"
2003-05-13 14:36:24 +00:00
2005-06-18 00:18:29 +00:00
2006-10-21 00:16:43 +00:00
namespace lyx {
namespace os = support : : os ;
using support : : ascii_lowercase ;
using support : : bformat ;
using support : : expandPath ;
2006-11-26 21:30:39 +00:00
using support : : FileName ;
2006-10-21 00:16:43 +00:00
using support : : getEnv ;
using support : : libFileSearch ;
using support : : token ;
2003-06-30 23:56:22 +00:00
2000-03-28 02:18:55 +00:00
using std : : cout ;
using std : : endl ;
2000-02-14 22:14:48 +00:00
2003-09-09 22:13:45 +00:00
using std : : ios ;
using std : : ofstream ;
using std : : ostream ;
2003-10-06 15:43:21 +00:00
using std : : string ;
2003-09-09 22:13:45 +00:00
2001-03-20 01:22:46 +00:00
namespace {
1999-09-27 18:44:28 +00:00
2002-06-26 08:59:25 +00:00
// when adding something to this array keep it sorted!
2000-03-07 01:14:37 +00:00
keyword_item lyxrcTags [ ] = {
2000-10-30 21:53:29 +00:00
{ " \\ accept_compound " , LyXRC : : RC_ACCEPT_COMPOUND } ,
{ " \\ alternate_language " , LyXRC : : RC_ALT_LANG } ,
{ " \\ auto_number " , LyXRC : : RC_AUTO_NUMBER } ,
{ " \\ auto_region_delete " , LyXRC : : RC_AUTOREGIONDELETE } ,
2001-09-21 10:41:09 +00:00
{ " \\ auto_reset_options " , LyXRC : : RC_AUTORESET_OPTIONS } ,
2000-10-30 21:53:29 +00:00
{ " \\ autosave " , LyXRC : : RC_AUTOSAVE } ,
{ " \\ backupdir_path " , LyXRC : : RC_BACKUPDIR_PATH } ,
2004-03-29 12:11:53 +00:00
{ " \\ bibtex_command " , LyXRC : : RC_BIBTEX_COMMAND } ,
2000-10-30 21:53:29 +00:00
{ " \\ bind_file " , LyXRC : : RC_BINDFILE } ,
{ " \\ check_lastfiles " , LyXRC : : RC_CHECKLASTFILES } ,
{ " \\ chktex_command " , LyXRC : : RC_CHKTEX_COMMAND } ,
{ " \\ converter " , LyXRC : : RC_CONVERTER } ,
2006-11-13 10:27:57 +00:00
{ " \\ converter_cache_maxage " , LyXRC : : RC_CONVERTER_CACHE_MAXAGE } ,
2004-10-26 18:39:13 +00:00
{ " \\ copier " , LyXRC : : RC_COPIER } ,
2000-10-30 21:53:29 +00:00
{ " \\ cursor_follows_scrollbar " , LyXRC : : RC_CURSOR_FOLLOWS_SCROLLBAR } ,
{ " \\ custom_export_command " , LyXRC : : RC_CUSTOM_EXPORT_COMMAND } ,
{ " \\ custom_export_format " , LyXRC : : RC_CUSTOM_EXPORT_FORMAT } ,
{ " \\ date_insert_format " , LyXRC : : RC_DATE_INSERT_FORMAT } ,
{ " \\ default_language " , LyXRC : : RC_DEFAULT_LANGUAGE } ,
{ " \\ default_papersize " , LyXRC : : RC_DEFAULT_PAPERSIZE } ,
2001-09-07 10:11:02 +00:00
{ " \\ dialogs_iconify_with_main " , LyXRC : : RC_DIALOGS_ICONIFY_WITH_MAIN } ,
2001-09-18 10:58:35 +00:00
{ " \\ display_graphics " , LyXRC : : RC_DISPLAY_GRAPHICS } ,
2000-10-30 21:53:29 +00:00
{ " \\ document_path " , LyXRC : : RC_DOCUMENTPATH } ,
{ " \\ escape_chars " , LyXRC : : RC_ESC_CHARS } ,
{ " \\ font_encoding " , LyXRC : : RC_FONT_ENCODING } ,
{ " \\ format " , LyXRC : : RC_FORMAT } ,
2004-10-05 10:11:42 +00:00
{ " \\ index_command " , LyXRC : : RC_INDEX_COMMAND } ,
2000-10-30 21:53:29 +00:00
{ " \\ input " , LyXRC : : RC_INPUT } ,
{ " \\ kbmap " , LyXRC : : RC_KBMAP } ,
{ " \\ kbmap_primary " , LyXRC : : RC_KBMAP_PRIMARY } ,
{ " \\ kbmap_secondary " , LyXRC : : RC_KBMAP_SECONDARY } ,
2000-12-11 09:46:09 +00:00
{ " \\ label_init_length " , LyXRC : : RC_LABEL_INIT_LENGTH } ,
2000-10-30 21:53:29 +00:00
{ " \\ language_auto_begin " , LyXRC : : RC_LANGUAGE_AUTO_BEGIN } ,
{ " \\ language_auto_end " , LyXRC : : RC_LANGUAGE_AUTO_END } ,
{ " \\ language_command_begin " , LyXRC : : RC_LANGUAGE_COMMAND_BEGIN } ,
{ " \\ language_command_end " , LyXRC : : RC_LANGUAGE_COMMAND_END } ,
2001-02-25 10:22:54 +00:00
{ " \\ language_command_local " , LyXRC : : RC_LANGUAGE_COMMAND_LOCAL } ,
{ " \\ language_global_options " , LyXRC : : RC_LANGUAGE_GLOBAL_OPTIONS } ,
2000-10-30 21:53:29 +00:00
{ " \\ language_package " , LyXRC : : RC_LANGUAGE_PACKAGE } ,
2001-02-25 10:22:54 +00:00
{ " \\ language_use_babel " , LyXRC : : RC_LANGUAGE_USE_BABEL } ,
2006-04-05 22:56:18 +00:00
{ " \\ load_session " , LyXRC : : RC_LOADSESSION } ,
2000-10-30 21:53:29 +00:00
{ " \\ make_backup " , LyXRC : : RC_MAKE_BACKUP } ,
{ " \\ mark_foreign_language " , LyXRC : : RC_MARK_FOREIGN_LANGUAGE } ,
{ " \\ num_lastfiles " , LyXRC : : RC_NUMLASTFILES } ,
2005-01-16 21:01:41 +00:00
{ " \\ path_prefix " , LyXRC : : RC_PATH_PREFIX } ,
2000-10-30 21:53:29 +00:00
{ " \\ personal_dictionary " , LyXRC : : RC_PERS_DICT } ,
2007-01-15 22:49:14 +00:00
{ " \\ plaintext_linelen " , LyXRC : : RC_PLAINTEXT_LINELEN } ,
{ " \\ plaintext_roff_command " , LyXRC : : RC_PLAINTEXT_ROFF_COMMAND } ,
2002-06-26 08:59:25 +00:00
{ " \\ preview " , LyXRC : : RC_PREVIEW } ,
2002-07-10 09:09:37 +00:00
{ " \\ preview_hashed_labels " , LyXRC : : RC_PREVIEW_HASHED_LABELS } ,
{ " \\ preview_scale_factor " , LyXRC : : RC_PREVIEW_SCALE_FACTOR } ,
2000-10-30 21:53:29 +00:00
{ " \\ print_adapt_output " , LyXRC : : RC_PRINT_ADAPTOUTPUT } ,
{ " \\ print_collcopies_flag " , LyXRC : : RC_PRINTCOLLCOPIESFLAG } ,
{ " \\ print_command " , LyXRC : : RC_PRINT_COMMAND } ,
{ " \\ print_copies_flag " , LyXRC : : RC_PRINTCOPIESFLAG } ,
{ " \\ print_evenpage_flag " , LyXRC : : RC_PRINTEVENPAGEFLAG } ,
{ " \\ print_extra_options " , LyXRC : : RC_PRINTEXSTRAOPTIONS } ,
{ " \\ print_file_extension " , LyXRC : : RC_PRINTFILEEXTENSION } ,
{ " \\ print_landscape_flag " , LyXRC : : RC_PRINTLANDSCAPEFLAG } ,
{ " \\ print_oddpage_flag " , LyXRC : : RC_PRINTODDPAGEFLAG } ,
{ " \\ print_pagerange_flag " , LyXRC : : RC_PRINTPAGERANGEFLAG } ,
2002-03-21 17:27:08 +00:00
{ " \\ print_paper_dimension_flag " , LyXRC : : RC_PRINTPAPERDIMENSIONFLAG } ,
{ " \\ print_paper_flag " , LyXRC : : RC_PRINTPAPERFLAG } ,
2000-10-30 21:53:29 +00:00
{ " \\ print_reverse_flag " , LyXRC : : RC_PRINTREVERSEFLAG } ,
{ " \\ print_spool_command " , LyXRC : : RC_PRINTSPOOL_COMMAND } ,
{ " \\ print_spool_printerprefix " , LyXRC : : RC_PRINTSPOOL_PRINTERPREFIX } ,
{ " \\ print_to_file " , LyXRC : : RC_PRINTTOFILE } ,
{ " \\ print_to_printer " , LyXRC : : RC_PRINTTOPRINTER } ,
{ " \\ printer " , LyXRC : : RC_PRINTER } ,
{ " \\ rtl " , LyXRC : : RC_RTL_SUPPORT } ,
{ " \\ screen_dpi " , LyXRC : : RC_SCREEN_DPI } ,
{ " \\ screen_font_roman " , LyXRC : : RC_SCREEN_FONT_ROMAN } ,
2002-11-27 21:49:50 +00:00
{ " \\ screen_font_roman_foundry " , LyXRC : : RC_SCREEN_FONT_ROMAN_FOUNDRY } ,
2000-10-30 21:53:29 +00:00
{ " \\ screen_font_sans " , LyXRC : : RC_SCREEN_FONT_SANS } ,
2002-11-27 21:49:50 +00:00
{ " \\ screen_font_sans_foundry " , LyXRC : : RC_SCREEN_FONT_SANS_FOUNDRY } ,
2000-10-30 21:53:29 +00:00
{ " \\ screen_font_scalable " , LyXRC : : RC_SCREEN_FONT_SCALABLE } ,
{ " \\ screen_font_sizes " , LyXRC : : RC_SCREEN_FONT_SIZES } ,
{ " \\ screen_font_typewriter " , LyXRC : : RC_SCREEN_FONT_TYPEWRITER } ,
2002-11-27 21:49:50 +00:00
{ " \\ screen_font_typewriter_foundry " , LyXRC : : RC_SCREEN_FONT_TYPEWRITER_FOUNDRY } ,
2006-04-05 22:56:18 +00:00
{ " \\ screen_geometry_height " , LyXRC : : RC_SCREEN_GEOMETRY_HEIGHT } ,
{ " \\ screen_geometry_width " , LyXRC : : RC_SCREEN_GEOMETRY_WIDTH } ,
{ " \\ screen_geometry_xysaved " , LyXRC : : RC_SCREEN_GEOMETRY_XYSAVED } ,
2006-04-06 19:05:42 +00:00
{ " \\ screen_zoom " , LyXRC : : RC_SCREEN_ZOOM } ,
2000-10-30 21:53:29 +00:00
{ " \\ serverpipe " , LyXRC : : RC_SERVERPIPE } ,
{ " \\ set_color " , LyXRC : : RC_SET_COLOR } ,
2002-06-26 08:59:25 +00:00
{ " \\ show_banner " , LyXRC : : RC_SHOW_BANNER } ,
2000-10-30 21:53:29 +00:00
{ " \\ spell_command " , LyXRC : : RC_SPELL_COMMAND } ,
{ " \\ tempdir_path " , LyXRC : : RC_TEMPDIRPATH } ,
{ " \\ template_path " , LyXRC : : RC_TEMPLATEPATH } ,
2005-03-25 15:27:30 +00:00
{ " \\ tex_allows_spaces " , LyXRC : : RC_TEX_ALLOWS_SPACES } ,
2006-06-27 10:51:24 +00:00
{ " \\ tex_expects_windows_paths " , LyXRC : : RC_TEX_EXPECTS_WINDOWS_PATHS } ,
2000-10-30 21:53:29 +00:00
{ " \\ ui_file " , LyXRC : : RC_UIFILE } ,
{ " \\ use_alt_language " , LyXRC : : RC_USE_ALT_LANG } ,
2006-11-13 10:27:57 +00:00
{ " \\ use_converter_cache " , LyXRC : : RC_USE_CONVERTER_CACHE } ,
2000-10-30 21:53:29 +00:00
{ " \\ use_escape_chars " , LyXRC : : RC_USE_ESC_CHARS } ,
{ " \\ use_input_encoding " , LyXRC : : RC_USE_INP_ENC } ,
2006-04-05 22:56:18 +00:00
{ " \\ use_lastfilepos " , LyXRC : : RC_USELASTFILEPOS } ,
2000-10-30 21:53:29 +00:00
{ " \\ use_personal_dictionary " , LyXRC : : RC_USE_PERS_DICT } ,
2003-03-26 01:20:25 +00:00
// compatibility with versions older than 1.4.0 only
{ " \\ use_pspell " , LyXRC : : RC_USE_SPELL_LIB } ,
{ " \\ use_spell_lib " , LyXRC : : RC_USE_SPELL_LIB } ,
2004-02-25 12:00:53 +00:00
// compatibility with versions older than 1.4.0 only
2000-10-30 21:53:29 +00:00
{ " \\ use_tempdir " , LyXRC : : RC_USETEMPDIR } ,
2003-02-08 19:18:01 +00:00
{ " \\ user_email " , LyXRC : : RC_USER_EMAIL } ,
{ " \\ user_name " , LyXRC : : RC_USER_NAME } ,
2000-10-30 21:53:29 +00:00
{ " \\ view_dvi_paper_option " , LyXRC : : RC_VIEWDVI_PAPEROPTION } ,
2004-04-13 10:36:09 +00:00
// compatibility with versions older than 1.4.0 only
2006-07-09 17:57:15 +00:00
{ " \\ viewer " , LyXRC : : RC_VIEWER }
1999-09-27 18:44:28 +00:00
} ;
2001-03-20 01:22:46 +00:00
const int lyxrcCount = sizeof ( lyxrcTags ) / sizeof ( keyword_item ) ;
} // namespace anon
1999-09-27 18:44:28 +00:00
2000-03-12 10:35:05 +00:00
2002-03-21 17:27:08 +00:00
LyXRC : : LyXRC ( )
2000-03-12 10:35:05 +00:00
{
setDefaults ( ) ;
1999-09-27 18:44:28 +00:00
}
2000-03-12 10:35:05 +00:00
void LyXRC : : setDefaults ( ) {
2000-12-11 13:41:21 +00:00
bind_file = " cua " ;
2000-07-24 13:53:19 +00:00
ui_file = " default " ;
1999-09-27 18:44:28 +00:00
// Get printer from the environment. If fail, use default "",
// assuming that everything is set up correctly.
2005-02-15 13:45:41 +00:00
printer = getEnv ( " PRINTER " ) ;
2000-01-05 13:09:19 +00:00
print_adapt_output = false ;
1999-09-27 18:44:28 +00:00
print_command = " dvips " ;
print_evenpage_flag = " -B " ;
print_oddpage_flag = " -A " ;
print_pagerange_flag = " -pp " ;
print_copies_flag = " -c " ;
print_collcopies_flag = " -C " ;
print_reverse_flag = " -r " ;
print_landscape_flag = " -t landscape " ;
print_to_printer = " -P " ;
print_to_file = " -o " ;
print_file_extension = " .ps " ;
2000-03-20 16:37:50 +00:00
print_paper_flag = " -t " ;
1999-09-27 18:44:28 +00:00
print_paper_dimension_flag = " -T " ;
2002-01-13 19:19:05 +00:00
document_path . erase ( ) ;
view_dvi_paper_option . erase ( ) ;
2005-12-12 11:13:03 +00:00
default_papersize = PAPER_DEFAULT ;
1999-09-27 18:44:28 +00:00
custom_export_format = " ps " ;
chktex_command = " chktex -n1 -n3 -n6 -n9 -n22 -n25 -n30 -n38 " ;
2004-03-29 12:11:53 +00:00
bibtex_command = " bibtex " ;
1999-09-27 18:44:28 +00:00
fontenc = " default " ;
2004-10-05 10:11:42 +00:00
index_command = " makeindex -c -q " ;
1999-09-27 18:44:28 +00:00
dpi = 75 ;
// Because a screen typically is wider than a piece of paper:
zoom = 150 ;
2006-04-05 22:56:18 +00:00
geometry_width = 0 ;
geometry_height = 0 ;
geometry_xysaved = true ;
1999-09-27 18:44:28 +00:00
// Default LaTeX font size:
2007-04-29 18:17:15 +00:00
font_sizes [ Font : : SIZE_TINY ] = " 5.0 " ;
font_sizes [ Font : : SIZE_SCRIPT ] = " 7.0 " ;
font_sizes [ Font : : SIZE_FOOTNOTE ] = " 8.0 " ;
font_sizes [ Font : : SIZE_SMALL ] = " 9.0 " ;
font_sizes [ Font : : SIZE_NORMAL ] = " 10.0 " ;
font_sizes [ Font : : SIZE_LARGE ] = " 12.0 " ;
font_sizes [ Font : : SIZE_LARGER ] = " 14.4 " ;
font_sizes [ Font : : SIZE_LARGEST ] = " 17.26 " ;
font_sizes [ Font : : SIZE_HUGE ] = " 20.74 " ;
font_sizes [ Font : : SIZE_HUGER ] = " 24.88 " ;
1999-09-27 18:44:28 +00:00
use_scalable_fonts = true ;
2003-03-31 02:59:34 +00:00
roman_font_name = " " ;
sans_font_name = " " ;
typewriter_font_name = " " ;
1999-09-27 18:44:28 +00:00
autosave = 300 ;
auto_region_delete = true ;
2001-09-21 15:20:17 +00:00
auto_reset_options = false ;
2007-01-15 22:49:14 +00:00
plaintext_linelen = 65 ;
2004-10-05 08:34:41 +00:00
num_lastfiles = maxlastfiles ;
1999-09-27 18:44:28 +00:00
check_lastfiles = true ;
2006-04-05 22:56:18 +00:00
use_lastfilepos = true ;
2006-04-25 22:22:11 +00:00
load_session = false ;
2000-01-11 01:59:00 +00:00
make_backup = true ;
2002-01-13 19:19:05 +00:00
backupdir_path . erase ( ) ;
2006-10-21 00:16:43 +00:00
display_graphics = graphics : : ColorDisplay ;
1999-09-27 18:44:28 +00:00
// Spellchecker settings:
2003-03-26 01:20:25 +00:00
use_spell_lib = true ;
1999-09-27 18:44:28 +00:00
isp_command = " ispell " ;
isp_accept_compound = false ;
isp_use_input_encoding = false ;
isp_use_alt_lang = false ;
isp_use_pers_dict = false ;
isp_use_esc_chars = false ;
use_kbmap = false ;
2007-05-11 13:01:59 +00:00
rtl_support = true ;
2000-04-10 21:40:13 +00:00
auto_number = true ;
2000-05-30 19:31:11 +00:00
mark_foreign_language = true ;
2000-03-17 10:14:46 +00:00
language_auto_begin = true ;
language_auto_end = true ;
2001-02-25 10:22:54 +00:00
language_global_options = true ;
language_use_babel = true ;
language_package = " \\ usepackage{babel} " ;
2000-03-17 10:14:46 +00:00
language_command_begin = " \\ selectlanguage{$$lang} " ;
2001-02-25 10:22:54 +00:00
language_command_local = " \\ foreignlanguage{$$lang}{ " ;
2000-09-27 15:23:24 +00:00
default_language = " english " ;
2002-08-06 13:20:45 +00:00
show_banner = true ;
2006-06-27 10:51:24 +00:00
windows_style_tex_paths = false ;
2005-03-25 15:27:30 +00:00
tex_allows_spaces = false ;
2006-10-25 10:28:29 +00:00
date_insert_format = " %x " ;
2000-10-10 14:17:33 +00:00
cursor_follows_scrollbar = false ;
2001-09-07 10:11:02 +00:00
dialogs_iconify_with_main = false ;
2000-12-11 09:46:09 +00:00
label_init_length = 3 ;
2004-04-19 13:31:17 +00:00
preview = PREVIEW_OFF ;
2002-07-10 09:09:37 +00:00
preview_hashed_labels = false ;
2005-01-05 10:54:31 +00:00
preview_scale_factor = " 0.9 " ;
2007-05-11 13:01:59 +00:00
use_converter_cache = true ;
2006-11-13 10:27:57 +00:00
converter_cache_maxage = 6 * 30 * 24 * 3600 ; // 6 months
2000-03-20 18:55:57 +00:00
2006-12-22 10:26:52 +00:00
user_name = to_utf8 ( support : : user_name ( ) ) ;
2003-03-04 09:27:27 +00:00
2006-12-22 10:26:52 +00:00
user_email = to_utf8 ( support : : user_email ( ) ) ;
1999-09-27 18:44:28 +00:00
}
2002-11-27 21:49:50 +00:00
namespace {
void oldFontFormat ( string & family , string & foundry )
{
if ( family . empty ( ) | | family [ 0 ] ! = ' - ' )
return ;
foundry = token ( family , ' - ' , 1 ) ;
family = token ( family , ' - ' , 2 ) ;
if ( foundry = = " * " )
foundry . erase ( ) ;
}
} // namespace anon
2006-11-26 21:30:39 +00:00
int LyXRC : : read ( FileName const & filename )
2002-03-21 17:27:08 +00:00
{
2007-04-26 11:30:54 +00:00
Lexer lexrc ( lyxrcTags , lyxrcCount ) ;
1999-10-07 18:44:17 +00:00
if ( lyxerr . debugging ( Debug : : PARSER ) )
2000-03-09 03:36:48 +00:00
lexrc . printTable ( lyxerr ) ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
lexrc . setFile ( filename ) ;
2001-08-06 19:12:46 +00:00
if ( ! lexrc . isOK ( ) ) return - 2 ;
2002-03-21 17:27:08 +00:00
2007-04-01 10:09:49 +00:00
LYXERR ( Debug : : LYXRC ) < < " Reading ' " < < filename < < " '... " < < endl ;
2002-03-21 17:27:08 +00:00
2004-03-31 16:50:59 +00:00
return read ( lexrc ) ;
}
int LyXRC : : read ( std : : istream & is )
{
2007-04-26 11:30:54 +00:00
Lexer lexrc ( lyxrcTags , lyxrcCount ) ;
2004-03-31 16:50:59 +00:00
if ( lyxerr . debugging ( Debug : : PARSER ) )
lexrc . printTable ( lyxerr ) ;
lexrc . setStream ( is ) ;
if ( ! lexrc . isOK ( ) ) return - 2 ;
2007-04-01 10:09:49 +00:00
LYXERR ( Debug : : LYXRC ) < < " Reading istream... " < < endl ;
2004-03-31 16:50:59 +00:00
return read ( lexrc ) ;
}
2007-04-26 11:30:54 +00:00
int LyXRC : : read ( Lexer & lexrc )
2004-03-31 16:50:59 +00:00
{
if ( ! lexrc . isOK ( ) ) return - 2 ;
2001-08-06 19:12:46 +00:00
while ( lexrc . isOK ( ) ) {
1999-12-01 00:57:31 +00:00
// By using two switches we take advantage of the compiler
// telling us if we have missed a LyXRCTags element in
// the second switch.
2007-04-26 11:30:54 +00:00
// Note that this also shows a problem with Lexer since it
1999-12-01 00:57:31 +00:00
// helps us avoid taking advantage of the strictness of the
// compiler.
int le = lexrc . lex ( ) ;
2000-11-04 10:00:12 +00:00
switch ( le ) {
2007-04-26 11:30:54 +00:00
case Lexer : : LEX_UNDEF :
1999-12-01 00:57:31 +00:00
lexrc . printError ( " Unknown tag `$$Token' " ) ;
2002-03-21 17:27:08 +00:00
continue ;
2007-04-26 11:30:54 +00:00
case Lexer : : LEX_FEOF :
2002-03-21 17:27:08 +00:00
continue ;
1999-12-01 00:57:31 +00:00
default : break ;
}
switch ( static_cast < LyXRCTags > ( le ) ) {
1999-09-27 18:44:28 +00:00
case RC_INPUT : // Include file
2002-03-21 17:27:08 +00:00
if ( lexrc . next ( ) ) {
2006-11-26 21:30:39 +00:00
FileName const tmp =
2006-04-08 22:31:11 +00:00
libFileSearch ( string ( ) ,
2002-03-21 17:27:08 +00:00
lexrc . getString ( ) ) ;
1999-12-01 00:57:31 +00:00
if ( read ( tmp ) ) {
1999-09-27 18:44:28 +00:00
lexrc . printError ( " Error reading "
2006-11-26 21:30:39 +00:00
" included file: " + tmp . absFilename ( ) ) ;
1999-09-27 18:44:28 +00:00
}
}
break ;
2005-06-18 00:18:29 +00:00
case RC_BINDFILE :
1999-12-01 00:57:31 +00:00
if ( lexrc . next ( ) ) {
2005-06-18 00:18:29 +00:00
bind_file = os : : internal_path ( lexrc . getString ( ) ) ;
1999-12-01 00:57:31 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
case RC_UIFILE :
2000-07-24 13:53:19 +00:00
if ( lexrc . next ( ) ) {
2005-06-18 00:18:29 +00:00
ui_file = os : : internal_path ( lexrc . getString ( ) ) ;
2000-07-24 13:53:19 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
2001-09-21 10:41:09 +00:00
case RC_AUTORESET_OPTIONS :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-09-21 10:41:09 +00:00
auto_reset_options = lexrc . getBool ( ) ;
2002-08-27 20:30:20 +00:00
}
2001-09-21 10:41:09 +00:00
break ;
2001-09-18 10:58:35 +00:00
case RC_DISPLAY_GRAPHICS :
2002-08-24 22:02:30 +00:00
if ( lexrc . next ( ) ) {
2006-10-21 00:16:43 +00:00
display_graphics = graphics : : displayTranslator ( ) . find ( lexrc . getString ( ) ) ;
2002-08-24 22:02:30 +00:00
}
2001-09-18 10:58:35 +00:00
break ;
2001-09-21 10:41:09 +00:00
2006-06-27 10:51:24 +00:00
case RC_TEX_EXPECTS_WINDOWS_PATHS :
2005-01-14 15:53:30 +00:00
if ( lexrc . next ( ) ) {
2006-06-27 10:51:24 +00:00
windows_style_tex_paths = lexrc . getBool ( ) ;
2006-04-05 23:56:29 +00:00
}
break ;
2005-01-16 21:01:41 +00:00
2005-03-25 15:27:30 +00:00
case RC_TEX_ALLOWS_SPACES :
if ( lexrc . next ( ) ) {
tex_allows_spaces = lexrc . getBool ( ) ;
2006-04-05 23:56:29 +00:00
}
break ;
2005-04-26 11:12:20 +00:00
2005-03-25 15:27:30 +00:00
case RC_KBMAP :
if ( lexrc . next ( ) ) {
use_kbmap = lexrc . getBool ( ) ;
}
break ;
1999-09-27 18:44:28 +00:00
case RC_KBMAP_PRIMARY :
2000-07-24 21:49:58 +00:00
if ( lexrc . next ( ) ) {
2005-06-18 00:18:29 +00:00
string const kmap ( os : : internal_path ( lexrc . getString ( ) ) ) ;
2000-07-24 21:49:58 +00:00
if ( kmap . empty ( ) ) {
// nothing
2006-04-08 22:31:11 +00:00
} else if ( ! libFileSearch ( " kbd " , kmap ,
2002-08-27 20:30:20 +00:00
" kmap " ) . empty ( ) ) {
2000-07-24 21:49:58 +00:00
primary_kbmap = kmap ;
2002-08-27 20:30:20 +00:00
} else {
2000-06-27 15:46:07 +00:00
lexrc . printError ( " LyX: Keymap `$$Token' not found " ) ;
2002-08-27 20:30:20 +00:00
}
2000-07-24 21:49:58 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_KBMAP_SECONDARY :
2000-07-24 21:49:58 +00:00
if ( lexrc . next ( ) ) {
2005-06-18 00:18:29 +00:00
string const kmap ( os : : internal_path ( lexrc . getString ( ) ) ) ;
2000-07-24 21:49:58 +00:00
if ( kmap . empty ( ) ) {
// nothing
2006-04-08 22:31:11 +00:00
} else if ( ! libFileSearch ( " kbd " , kmap ,
2002-08-27 20:30:20 +00:00
" kmap " ) . empty ( ) ) {
2000-07-24 21:49:58 +00:00
secondary_kbmap = kmap ;
2002-08-27 20:30:20 +00:00
} else {
2000-06-27 15:46:07 +00:00
lexrc . printError ( " LyX: Keymap `$$Token' not found " ) ;
2002-08-27 20:30:20 +00:00
}
2000-07-24 21:49:58 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_FONT_ENCODING :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
fontenc = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_PRINTER :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
printer = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_PRINT_COMMAND :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
print_command = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_PRINTEVENPAGEFLAG :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
print_evenpage_flag = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_PRINTODDPAGEFLAG :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
print_oddpage_flag = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_PRINTPAGERANGEFLAG :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
print_pagerange_flag = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_PRINTCOPIESFLAG :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
print_copies_flag = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_PRINTCOLLCOPIESFLAG :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
print_collcopies_flag = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_PRINTREVERSEFLAG :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
print_reverse_flag = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_PRINTLANDSCAPEFLAG :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
print_landscape_flag = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_PRINTTOPRINTER :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
print_to_printer = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_PRINT_ADAPTOUTPUT :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
print_adapt_output = lexrc . getBool ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_PRINTTOFILE :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2005-06-18 00:18:29 +00:00
print_to_file = os : : internal_path ( lexrc . getString ( ) ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_PRINTFILEEXTENSION :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
print_file_extension = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_PRINTEXSTRAOPTIONS :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
print_extra_options = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_PRINTSPOOL_COMMAND :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
print_spool_command = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_PRINTSPOOL_PRINTERPREFIX :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
print_spool_printerprefix = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
case RC_PRINTPAPERDIMENSIONFLAG :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
print_paper_dimension_flag = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
case RC_PRINTPAPERFLAG :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
print_paper_flag = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_CUSTOM_EXPORT_COMMAND :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
custom_export_command = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_CUSTOM_EXPORT_FORMAT :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
custom_export_format = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2000-01-11 01:59:00 +00:00
1999-09-27 18:44:28 +00:00
case RC_DEFAULT_PAPERSIZE :
2002-03-21 17:27:08 +00:00
if ( lexrc . next ( ) ) {
string const size =
2002-07-16 21:17:10 +00:00
ascii_lowercase ( lexrc . getString ( ) ) ;
1999-09-27 18:44:28 +00:00
if ( size = = " usletter " )
2002-03-21 17:27:08 +00:00
default_papersize =
2003-07-26 23:04:39 +00:00
PAPER_USLETTER ;
1999-09-27 18:44:28 +00:00
else if ( size = = " legal " )
2002-03-21 17:27:08 +00:00
default_papersize =
2005-07-16 16:57:55 +00:00
PAPER_USLEGAL ;
1999-09-27 18:44:28 +00:00
else if ( size = = " executive " )
2003-09-09 18:27:24 +00:00
default_papersize =
2005-07-16 16:57:55 +00:00
PAPER_USEXECUTIVE ;
1999-09-27 18:44:28 +00:00
else if ( size = = " a3 " )
2002-03-21 17:27:08 +00:00
default_papersize =
2005-07-16 16:57:55 +00:00
PAPER_A3 ;
1999-09-27 18:44:28 +00:00
else if ( size = = " a4 " )
2002-03-21 17:27:08 +00:00
default_papersize =
2005-07-16 16:57:55 +00:00
PAPER_A4 ;
1999-09-27 18:44:28 +00:00
else if ( size = = " a5 " )
2002-03-21 17:27:08 +00:00
default_papersize =
2005-07-16 16:57:55 +00:00
PAPER_A5 ;
1999-09-27 18:44:28 +00:00
else if ( size = = " b5 " )
2002-03-21 17:27:08 +00:00
default_papersize =
2005-07-16 16:57:55 +00:00
PAPER_B5 ;
2005-12-12 11:13:03 +00:00
else if ( size = = " default " )
default_papersize =
PAPER_DEFAULT ;
1999-09-27 18:44:28 +00:00
}
break ;
2000-01-11 01:59:00 +00:00
2000-02-15 13:30:49 +00:00
case RC_VIEWDVI_PAPEROPTION :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
view_dvi_paper_option = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
} else {
2002-01-13 19:19:05 +00:00
view_dvi_paper_option . erase ( ) ;
2002-08-27 20:30:20 +00:00
}
2000-02-15 13:30:49 +00:00
break ;
1999-09-27 18:44:28 +00:00
case RC_CHKTEX_COMMAND :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
chktex_command = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2004-04-03 08:37:12 +00:00
2004-03-29 12:11:53 +00:00
case RC_BIBTEX_COMMAND :
if ( lexrc . next ( ) ) {
bibtex_command = lexrc . getString ( ) ;
}
break ;
2002-03-21 17:27:08 +00:00
2004-10-05 10:11:42 +00:00
case RC_INDEX_COMMAND :
if ( lexrc . next ( ) ) {
index_command = lexrc . getString ( ) ;
}
break ;
2004-10-05 08:34:41 +00:00
1999-09-27 18:44:28 +00:00
case RC_SCREEN_DPI :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
dpi = lexrc . getInteger ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2004-03-31 17:29:16 +00:00
1999-09-27 18:44:28 +00:00
case RC_SCREEN_ZOOM :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
zoom = lexrc . getInteger ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2000-07-04 20:32:37 +00:00
2006-04-05 22:56:18 +00:00
case RC_SCREEN_GEOMETRY_HEIGHT :
if ( lexrc . next ( ) ) {
geometry_height = lexrc . getInteger ( ) ;
}
break ;
case RC_SCREEN_GEOMETRY_WIDTH :
if ( lexrc . next ( ) ) {
geometry_width = lexrc . getInteger ( ) ;
}
break ;
case RC_SCREEN_GEOMETRY_XYSAVED :
if ( lexrc . next ( ) ) {
geometry_xysaved = lexrc . getBool ( ) ;
}
break ;
1999-09-27 18:44:28 +00:00
case RC_SCREEN_FONT_SIZES :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2007-04-29 18:17:15 +00:00
font_sizes [ Font : : SIZE_TINY ] =
2005-01-05 10:54:31 +00:00
lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
if ( lexrc . next ( ) ) {
2007-04-29 18:17:15 +00:00
font_sizes [ Font : : SIZE_SCRIPT ] =
2005-01-05 10:54:31 +00:00
lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
if ( lexrc . next ( ) ) {
2007-04-29 18:17:15 +00:00
font_sizes [ Font : : SIZE_FOOTNOTE ] =
2005-01-05 10:54:31 +00:00
lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
if ( lexrc . next ( ) ) {
2007-04-29 18:17:15 +00:00
font_sizes [ Font : : SIZE_SMALL ] =
2005-01-05 10:54:31 +00:00
lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
if ( lexrc . next ( ) ) {
2007-04-29 18:17:15 +00:00
font_sizes [ Font : : SIZE_NORMAL ] =
2005-01-05 10:54:31 +00:00
lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
if ( lexrc . next ( ) ) {
2007-04-29 18:17:15 +00:00
font_sizes [ Font : : SIZE_LARGE ] =
2005-01-05 10:54:31 +00:00
lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
if ( lexrc . next ( ) ) {
2007-04-29 18:17:15 +00:00
font_sizes [ Font : : SIZE_LARGER ] =
2005-01-05 10:54:31 +00:00
lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
if ( lexrc . next ( ) ) {
2007-04-29 18:17:15 +00:00
font_sizes [ Font : : SIZE_LARGEST ] =
2005-01-05 10:54:31 +00:00
lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
if ( lexrc . next ( ) ) {
2007-04-29 18:17:15 +00:00
font_sizes [ Font : : SIZE_HUGE ] =
2005-01-05 10:54:31 +00:00
lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
if ( lexrc . next ( ) ) {
2007-04-29 18:17:15 +00:00
font_sizes [ Font : : SIZE_HUGER ] =
2005-01-05 10:54:31 +00:00
lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
case RC_SCREEN_FONT_SCALABLE :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2002-03-21 17:27:08 +00:00
use_scalable_fonts = lexrc . getBool ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_AUTOSAVE :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
autosave = lexrc . getInteger ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_DOCUMENTPATH :
if ( lexrc . next ( ) ) {
2005-06-18 00:18:29 +00:00
document_path = os : : internal_path ( lexrc . getString ( ) ) ;
2006-04-08 22:31:11 +00:00
document_path = expandPath ( document_path ) ;
1999-09-27 18:44:28 +00:00
}
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_TEMPLATEPATH :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2005-06-18 00:18:29 +00:00
template_path = os : : internal_path ( lexrc . getString ( ) ) ;
2006-04-08 22:31:11 +00:00
template_path = expandPath ( template_path ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_TEMPDIRPATH :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2005-06-18 00:18:29 +00:00
tempdir_path = os : : internal_path ( lexrc . getString ( ) ) ;
2006-04-08 22:31:11 +00:00
tempdir_path = expandPath ( tempdir_path ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_USETEMPDIR :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2004-02-25 12:00:53 +00:00
lyxerr < < " Ignoring obsolete use_tempdir flag. " < < endl ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
2006-04-05 22:56:18 +00:00
case RC_USELASTFILEPOS :
if ( lexrc . next ( ) ) {
use_lastfilepos = lexrc . getBool ( ) ;
}
break ;
case RC_LOADSESSION :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2006-04-05 22:56:18 +00:00
load_session = lexrc . getBool ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
case RC_NUMLASTFILES :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2002-03-21 17:27:08 +00:00
num_lastfiles = lexrc . getInteger ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
case RC_CHECKLASTFILES :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2002-03-21 17:27:08 +00:00
check_lastfiles = lexrc . getBool ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_SCREEN_FONT_ROMAN :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
roman_font_name = lexrc . getString ( ) ;
2002-11-27 21:49:50 +00:00
oldFontFormat ( roman_font_name ,
roman_font_foundry ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_SCREEN_FONT_SANS :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
sans_font_name = lexrc . getString ( ) ;
2002-11-27 21:49:50 +00:00
oldFontFormat ( sans_font_name , sans_font_foundry ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_SCREEN_FONT_TYPEWRITER :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
typewriter_font_name = lexrc . getString ( ) ;
2002-11-27 21:49:50 +00:00
oldFontFormat ( typewriter_font_name ,
typewriter_font_foundry ) ;
}
break ;
case RC_SCREEN_FONT_ROMAN_FOUNDRY :
if ( lexrc . next ( ) ) {
roman_font_foundry = lexrc . getString ( ) ;
}
break ;
case RC_SCREEN_FONT_SANS_FOUNDRY :
if ( lexrc . next ( ) ) {
sans_font_foundry = lexrc . getString ( ) ;
}
break ;
case RC_SCREEN_FONT_TYPEWRITER_FOUNDRY :
if ( lexrc . next ( ) ) {
typewriter_font_foundry = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
2000-06-26 15:33:13 +00:00
case RC_SET_COLOR :
{
string lyx_name , x11_name ;
2002-08-28 08:30:27 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
lyx_name = lexrc . getString ( ) ;
2000-06-26 15:33:13 +00:00
} else {
2000-07-25 12:44:07 +00:00
lexrc . printError ( " Missing color tag. " ) ;
2000-06-26 15:33:13 +00:00
break ;
}
2002-03-21 17:27:08 +00:00
2000-07-25 12:44:07 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
x11_name = lexrc . getString ( ) ;
2000-06-26 15:33:13 +00:00
} else {
2003-01-06 14:02:24 +00:00
lexrc . printError ( " Missing color name for color: `$$Token' " ) ;
2000-06-26 15:33:13 +00:00
break ;
}
2007-04-26 17:34:20 +00:00
Color : : color const col =
2004-04-08 12:55:44 +00:00
lcolor . getFromLyXName ( lyx_name ) ;
2007-04-26 17:34:20 +00:00
if ( col = = Color : : none | |
col = = Color : : inherit | |
col = = Color : : ignore )
2004-04-08 12:55:44 +00:00
break ;
2003-12-14 16:33:56 +00:00
if ( ! lcolor . setColor ( col , x11_name ) ) {
2000-06-26 15:33:13 +00:00
lyxerr < < " Bad lyxrc set_color for "
< < lyx_name < < endl ;
2002-08-27 20:30:20 +00:00
}
2000-06-26 15:33:13 +00:00
break ;
}
1999-09-27 18:44:28 +00:00
case RC_AUTOREGIONDELETE :
// Auto region delete defaults to true
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2002-03-21 17:27:08 +00:00
auto_region_delete = lexrc . getBool ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_SERVERPIPE :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2005-06-18 00:18:29 +00:00
lyxpipes = os : : internal_path ( lexrc . getString ( ) ) ;
2006-04-08 22:31:11 +00:00
lyxpipes = expandPath ( lyxpipes ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_CURSOR_FOLLOWS_SCROLLBAR :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
cursor_follows_scrollbar = lexrc . getBool ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2000-01-13 16:28:54 +00:00
2001-09-07 10:11:02 +00:00
case RC_DIALOGS_ICONIFY_WITH_MAIN :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-09-07 10:11:02 +00:00
dialogs_iconify_with_main = lexrc . getBool ( ) ;
2002-08-27 20:30:20 +00:00
}
2001-09-07 10:11:02 +00:00
break ;
2007-01-15 22:49:14 +00:00
case RC_PLAINTEXT_ROFF_COMMAND :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2007-01-15 22:49:14 +00:00
plaintext_roff_command = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2007-01-15 22:49:14 +00:00
case RC_PLAINTEXT_LINELEN :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2007-01-15 22:49:14 +00:00
plaintext_linelen = lexrc . getInteger ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
1999-12-01 00:57:31 +00:00
// Spellchecker settings:
2003-03-26 01:20:25 +00:00
case RC_USE_SPELL_LIB :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2003-03-26 01:20:25 +00:00
use_spell_lib = lexrc . getBool ( ) ;
2002-08-27 20:30:20 +00:00
}
2001-07-16 10:03:38 +00:00
break ;
1999-09-27 18:44:28 +00:00
case RC_SPELL_COMMAND :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
isp_command = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
case RC_ACCEPT_COMPOUND :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
isp_accept_compound = lexrc . getBool ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
case RC_USE_INP_ENC :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
isp_use_input_encoding = lexrc . getBool ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
case RC_USE_ALT_LANG :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
isp_use_alt_lang = lexrc . getBool ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
case RC_USE_PERS_DICT :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
isp_use_pers_dict = lexrc . getBool ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
case RC_USE_ESC_CHARS :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
isp_use_esc_chars = lexrc . getBool ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
case RC_ALT_LANG :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
isp_alt_lang = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
case RC_PERS_DICT :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2005-06-18 00:18:29 +00:00
isp_pers_dict = os : : internal_path ( lexrc . getString ( ) ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
case RC_ESC_CHARS :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
isp_esc_chars = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2000-01-11 01:59:00 +00:00
case RC_MAKE_BACKUP :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2002-03-21 17:27:08 +00:00
make_backup = lexrc . getBool ( ) ;
2002-08-27 20:30:20 +00:00
}
2000-01-11 01:59:00 +00:00
break ;
2000-03-20 14:49:54 +00:00
case RC_BACKUPDIR_PATH :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2005-06-18 00:18:29 +00:00
backupdir_path = os : : internal_path ( lexrc . getString ( ) ) ;
2006-04-08 22:31:11 +00:00
backupdir_path = expandPath ( backupdir_path ) ;
2002-08-27 20:30:20 +00:00
}
2000-03-20 14:49:54 +00:00
break ;
2000-02-01 13:58:06 +00:00
case RC_DATE_INSERT_FORMAT :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
date_insert_format = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
2000-02-01 11:32:33 +00:00
break ;
2000-03-10 13:22:20 +00:00
case RC_LANGUAGE_PACKAGE :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
language_package = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
2000-03-10 13:22:20 +00:00
break ;
2000-03-17 10:14:46 +00:00
case RC_LANGUAGE_AUTO_BEGIN :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
language_auto_begin = lexrc . getBool ( ) ;
2002-08-27 20:30:20 +00:00
}
2000-03-10 13:22:20 +00:00
break ;
2000-03-17 10:14:46 +00:00
case RC_LANGUAGE_AUTO_END :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
language_auto_end = lexrc . getBool ( ) ;
2002-08-27 20:30:20 +00:00
}
2000-03-10 13:22:20 +00:00
break ;
2001-02-25 10:22:54 +00:00
case RC_LANGUAGE_GLOBAL_OPTIONS :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
language_global_options = lexrc . getBool ( ) ;
2002-08-27 20:30:20 +00:00
}
2001-02-25 10:22:54 +00:00
break ;
case RC_LANGUAGE_USE_BABEL :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
language_use_babel = lexrc . getBool ( ) ;
2002-08-27 20:30:20 +00:00
}
2001-02-25 10:22:54 +00:00
break ;
2000-03-17 10:14:46 +00:00
case RC_LANGUAGE_COMMAND_BEGIN :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
language_command_begin = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
2000-03-10 13:22:20 +00:00
break ;
2000-03-17 10:14:46 +00:00
case RC_LANGUAGE_COMMAND_END :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
language_command_end = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
2000-03-10 13:22:20 +00:00
break ;
2001-02-25 10:22:54 +00:00
case RC_LANGUAGE_COMMAND_LOCAL :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
language_command_local = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
2001-02-25 10:22:54 +00:00
break ;
2000-02-03 19:51:27 +00:00
case RC_RTL_SUPPORT :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
rtl_support = lexrc . getBool ( ) ;
2002-08-27 20:30:20 +00:00
}
2000-02-03 19:51:27 +00:00
break ;
2000-04-10 21:40:13 +00:00
case RC_AUTO_NUMBER :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
auto_number = lexrc . getBool ( ) ;
2002-08-27 20:30:20 +00:00
}
2000-03-17 10:14:46 +00:00
break ;
2000-05-30 19:31:11 +00:00
case RC_MARK_FOREIGN_LANGUAGE :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
mark_foreign_language = lexrc . getBool ( ) ;
2002-08-27 20:30:20 +00:00
}
2000-05-31 08:47:26 +00:00
break ;
2002-03-21 17:27:08 +00:00
2004-10-26 18:39:13 +00:00
case RC_COPIER : {
string fmt , command ;
if ( lexrc . next ( ) ) {
fmt = lexrc . getString ( ) ;
}
if ( lexrc . next ( ) ) {
command = lexrc . getString ( ) ;
}
2007-01-18 08:42:53 +00:00
setMover ( fmt , command ) ;
2004-10-26 18:39:13 +00:00
break ;
}
2000-10-23 12:16:05 +00:00
case RC_CONVERTER : {
2000-08-30 03:40:51 +00:00
string from , to , command , flags ;
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
from = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
to = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
command = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
flags = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
2006-05-25 11:57:22 +00:00
if ( command . empty ( ) ) {
2007-01-17 13:18:16 +00:00
theConverters ( ) . erase ( from , to ) ;
2002-08-27 20:30:20 +00:00
} else {
2007-01-17 13:18:16 +00:00
theConverters ( ) . add ( from , to , command , flags ) ;
2002-08-27 20:30:20 +00:00
}
2000-08-30 03:40:51 +00:00
break ;
}
2004-04-13 10:36:09 +00:00
// compatibility with versions older than 1.4.0 only
2000-10-23 12:16:05 +00:00
case RC_VIEWER : {
2000-08-30 03:40:51 +00:00
string format , command ;
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
format = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
command = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
2001-07-30 11:56:00 +00:00
formats . setViewer ( format , command ) ;
2000-08-30 03:40:51 +00:00
break ;
}
2000-10-23 12:16:05 +00:00
case RC_FORMAT : {
string format , extension , prettyname , shortcut ;
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
format = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
extension = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
prettyname = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
shortcut = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
2004-04-13 10:36:09 +00:00
string viewer , editor ;
2006-05-20 12:03:40 +00:00
if ( lexrc . next ( ) )
viewer = lexrc . getString ( ) ;
if ( lexrc . next ( ) )
editor = lexrc . getString ( ) ;
string flags ;
2004-04-13 10:36:09 +00:00
// Hack to ensure compatibility with versions older
2006-05-20 12:03:40 +00:00
// than 1.5.0
2004-04-13 10:36:09 +00:00
int le = lexrc . lex ( ) ;
2007-04-26 11:30:54 +00:00
if ( le ! = Lexer : : LEX_FEOF & & le ! = Lexer : : LEX_UNDEF ) {
2006-05-20 12:03:40 +00:00
flags = lexrc . getString ( ) ;
2007-04-26 11:30:54 +00:00
if ( le ! = Lexer : : LEX_DATA ) {
2004-04-13 10:36:09 +00:00
// We have got a known token.
// Therefore this is an old style
// format definition without
2006-05-20 12:03:40 +00:00
// flags.
lexrc . pushToken ( flags ) ;
flags . erase ( ) ;
2004-04-13 10:36:09 +00:00
}
}
2006-10-03 08:34:59 +00:00
int flgs = Format : : none ;
while ( ! flags . empty ( ) ) {
string flag ;
2006-10-21 00:16:43 +00:00
flags = support : : split ( flags , flag , ' , ' ) ;
2006-10-03 08:34:59 +00:00
if ( flag = = " document " )
flgs | = Format : : document ;
else if ( flag = = " vector " )
flgs | = Format : : vector ;
else
lyxerr < < " Ignoring unknown flag ` "
< < flag < < " ' for format ` "
< < format < < " '. " < < endl ;
}
2000-11-13 10:35:02 +00:00
if ( prettyname . empty ( ) ) {
2007-01-17 13:18:16 +00:00
if ( theConverters ( ) . formatIsUsed ( format ) ) {
2000-11-13 10:35:02 +00:00
lyxerr < < " Can't delete format "
< < format < < endl ;
2002-08-27 20:30:20 +00:00
} else {
2001-07-30 11:56:00 +00:00
formats . erase ( format ) ;
2002-08-27 20:30:20 +00:00
}
} else {
2001-07-30 11:56:00 +00:00
formats . add ( format , extension , prettyname ,
2007-05-28 22:27:45 +00:00
shortcut , viewer , editor , flgs ) ;
2002-08-27 20:30:20 +00:00
}
2000-10-23 12:16:05 +00:00
break ;
}
2000-09-27 15:23:24 +00:00
case RC_DEFAULT_LANGUAGE :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
default_language = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
2000-09-27 15:23:24 +00:00
break ;
2000-06-26 15:33:13 +00:00
2000-12-11 09:46:09 +00:00
case RC_LABEL_INIT_LENGTH :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
label_init_length = lexrc . getInteger ( ) ;
2002-08-27 20:30:20 +00:00
}
2000-12-11 09:46:09 +00:00
break ;
2002-06-26 08:59:25 +00:00
case RC_SHOW_BANNER :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2002-06-26 08:59:25 +00:00
show_banner = lexrc . getBool ( ) ;
2002-08-27 20:30:20 +00:00
}
2002-06-26 08:59:25 +00:00
break ;
case RC_PREVIEW :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2004-04-19 13:31:17 +00:00
string const tmp = lexrc . getString ( ) ;
if ( tmp = = " true " | | tmp = = " on " )
preview = PREVIEW_ON ;
else if ( tmp = = " no_math " )
preview = PREVIEW_NO_MATH ;
else {
preview = PREVIEW_OFF ;
if ( tmp ! = " false " & & tmp ! = " off " )
lyxerr < < " Unrecognized "
" preview status \" "
< < tmp < < ' \n ' < < endl ;
}
2002-08-27 20:30:20 +00:00
}
2002-06-26 08:59:25 +00:00
break ;
2002-07-10 09:09:37 +00:00
case RC_PREVIEW_HASHED_LABELS :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2002-07-10 09:09:37 +00:00
preview_hashed_labels = lexrc . getBool ( ) ;
2002-08-27 20:30:20 +00:00
}
2002-07-10 09:09:37 +00:00
break ;
case RC_PREVIEW_SCALE_FACTOR :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2005-01-05 10:54:31 +00:00
preview_scale_factor = lexrc . getString ( ) ;
2002-08-27 20:30:20 +00:00
}
2002-07-10 09:09:37 +00:00
break ;
2003-02-08 19:18:01 +00:00
case RC_USER_NAME :
if ( lexrc . next ( ) )
user_name = lexrc . getString ( ) ;
break ;
case RC_USER_EMAIL :
if ( lexrc . next ( ) )
user_email = lexrc . getString ( ) ;
break ;
2003-03-04 09:27:27 +00:00
2005-01-16 21:01:41 +00:00
case RC_PATH_PREFIX :
if ( lexrc . next ( ) )
path_prefix = lexrc . getString ( ) ;
break ;
2006-11-13 10:27:57 +00:00
case RC_USE_CONVERTER_CACHE :
if ( lexrc . next ( ) )
use_converter_cache = lexrc . getBool ( ) ;
break ;
case RC_CONVERTER_CACHE_MAXAGE :
if ( lexrc . next ( ) )
converter_cache_maxage =
convert < unsigned int > ( lexrc . getString ( ) ) ;
break ;
1999-12-01 00:57:31 +00:00
case RC_LAST : break ; // this is just a dummy
1999-09-27 18:44:28 +00:00
}
}
2001-02-07 15:26:33 +00:00
/// Update converters data-structures
2007-01-17 13:18:16 +00:00
theConverters ( ) . update ( formats ) ;
theConverters ( ) . buildGraph ( ) ;
2001-02-07 15:26:33 +00:00
1999-09-27 18:44:28 +00:00
return 0 ;
}
2006-11-29 21:47:37 +00:00
void LyXRC : : write ( FileName const & filename , bool ignore_system_lyxrc ) const
1999-09-27 18:44:28 +00:00
{
2006-11-29 21:47:37 +00:00
ofstream ofs ( filename . toFilesystemEncoding ( ) . c_str ( ) ) ;
1999-12-01 00:57:31 +00:00
if ( ofs )
2004-04-05 18:21:25 +00:00
write ( ofs , ignore_system_lyxrc ) ;
1999-12-01 00:57:31 +00:00
}
void LyXRC : : print ( ) const
{
if ( lyxerr . debugging ( ) )
2004-04-05 18:21:25 +00:00
write ( lyxerr , false ) ;
1999-12-01 00:57:31 +00:00
else
2004-04-05 18:21:25 +00:00
write ( cout , false ) ;
1999-12-01 00:57:31 +00:00
}
2005-01-19 15:03:31 +00:00
class SameMover {
public :
2004-10-26 18:39:13 +00:00
typedef std : : pair < std : : string , SpecialisedMover > Data ;
SameMover ( Data const & comparison )
: comparison_ ( comparison ) { }
bool operator ( ) ( Data const & data ) const
{
return data . first = = comparison_ . first & &
data . second . command ( ) = = comparison_ . second . command ( ) ;
}
private :
Data comparison_ ;
} ;
2007-10-11 15:23:52 +00:00
void LyXRC : : write ( ostream & os , bool ignore_system_lyxrc , string const & name ) const
1999-12-01 00:57:31 +00:00
{
2007-10-11 15:23:52 +00:00
LyXRCTags tag = RC_LAST ;
if ( ! name . empty ( ) ) {
for ( size_t i = 0 ; i < lyxrcCount ; + + i )
if ( " \\ " + name = = lyxrcTags [ i ] . tag )
tag = static_cast < LyXRCTags > ( lyxrcTags [ i ] . code ) ;
}
if ( tag = = RC_LAST )
os < < " ### This file is part of \n "
< < " ### ======================================================== \n "
< < " ### LyX, The Document Processor \n "
< < " ### \n "
< < " ### Copyright 1995 Matthias Ettrich \n "
< < " ### Copyright 1995-2001 The LyX Team. \n "
< < " ### \n "
< < " ### ======================================================== \n "
< < " \n "
< < " # This file is written by LyX, if you want to make your own \n "
< < " # modifications you should do them from inside LyX and save \n "
< < " \n " ;
2002-03-21 17:27:08 +00:00
1999-12-01 00:57:31 +00:00
// Why the switch you might ask. It is a trick to ensure that all
// the elements in the LyXRCTags enum is handled. As you can see
// there are no breaks at all. So it is just a huge fall-through.
// The nice thing is that we will get a warning from the compiler
// if we forget an element.
2000-11-04 10:00:12 +00:00
switch ( tag ) {
1999-12-01 00:57:31 +00:00
case RC_LAST :
case RC_INPUT :
// input/include files are not done here
case RC_BINDFILE :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
bind_file ! = system_lyxrc . bind_file ) {
2005-06-18 00:18:29 +00:00
string const path = os : : external_path ( bind_file ) ;
os < < " \\ bind_file \" " < < path < < " \" \n " ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
//
// Misc Section
//
os < < " \n # \n "
< < " # MISC SECTION ###################################### \n "
< < " # \n \n " ;
1999-12-01 00:57:31 +00:00
// bind files are not done here.
2005-01-16 21:01:41 +00:00
case RC_PATH_PREFIX :
if ( ignore_system_lyxrc | |
path_prefix ! = system_lyxrc . path_prefix ) {
os < < " \\ path_prefix \" " < < path_prefix < < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 13:53:19 +00:00
case RC_UIFILE :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
ui_file ! = system_lyxrc . ui_file ) {
2005-06-18 00:18:29 +00:00
string const path = os : : external_path ( ui_file ) ;
os < < " \\ ui_file \" " < < path < < " \" \n " ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
1999-12-01 00:57:31 +00:00
case RC_AUTOREGIONDELETE :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
auto_region_delete ! = system_lyxrc . auto_region_delete ) {
2000-10-10 14:17:33 +00:00
os < < " # Set to false to inhibit automatic replacement of \n "
< < " # the current selection. \n "
2005-01-06 15:40:49 +00:00
< < " \\ auto_region_delete " < < convert < string > ( auto_region_delete )
2002-11-27 10:30:28 +00:00
< < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2001-09-21 10:41:09 +00:00
case RC_AUTORESET_OPTIONS :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
auto_reset_options ! = system_lyxrc . auto_reset_options ) {
2001-09-21 10:41:09 +00:00
os < < " # Set to false to inhibit automatic reset of \n "
< < " # the class options to defaults on class change. \n "
2005-01-06 15:40:49 +00:00
< < " \\ auto_reset_options "
< < convert < string > ( auto_reset_options )
2002-11-27 10:30:28 +00:00
< < ' \n ' ;
2001-09-21 10:41:09 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
1999-12-01 00:57:31 +00:00
case RC_AUTOSAVE :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
autosave ! = system_lyxrc . autosave ) {
2000-10-10 14:17:33 +00:00
os < < " # The time interval between auto-saves in seconds. \n "
2002-11-27 10:30:28 +00:00
< < " \\ autosave " < < autosave < < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2001-09-18 10:58:35 +00:00
case RC_DISPLAY_GRAPHICS :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
display_graphics ! = system_lyxrc . display_graphics ) {
2001-09-18 10:58:35 +00:00
os < < " # Display graphics within LyX \n "
2002-08-24 22:02:30 +00:00
< < " # monochrome|grayscale|color|none \n "
2003-07-21 21:30:57 +00:00
< < " \\ display_graphics "
2006-10-21 00:16:43 +00:00
< < graphics : : displayTranslator ( ) . find ( display_graphics )
2002-11-27 10:30:28 +00:00
< < ' \n ' ;
2001-09-18 10:58:35 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2002-03-21 17:27:08 +00:00
2000-02-15 13:30:49 +00:00
case RC_VIEWDVI_PAPEROPTION :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
view_dvi_paper_option
2000-10-10 14:17:33 +00:00
! = system_lyxrc . view_dvi_paper_option ) {
os < < " # Options used to specify paper size to the \n "
2001-09-02 11:46:00 +00:00
< < " # view_dvi_command (e.g. -paper) \n "
2000-10-10 14:17:33 +00:00
< < " \\ view_dvi_paper_option \" "
< < view_dvi_paper_option < < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
1999-12-01 00:57:31 +00:00
case RC_DEFAULT_PAPERSIZE :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
default_papersize ! = system_lyxrc . default_papersize ) {
2000-10-10 14:17:33 +00:00
os < < " # The default papersize to use. \n "
< < " \\ default_papersize \" " ;
switch ( default_papersize ) {
2005-12-12 11:13:03 +00:00
case PAPER_DEFAULT :
os < < " default " ; break ;
2003-07-26 23:04:39 +00:00
case PAPER_USLETTER :
2000-10-10 14:17:33 +00:00
os < < " usletter " ; break ;
2005-07-16 16:57:55 +00:00
case PAPER_USLEGAL :
2000-10-10 14:17:33 +00:00
os < < " legal " ; break ;
2005-07-16 16:57:55 +00:00
case PAPER_USEXECUTIVE :
2000-10-10 14:17:33 +00:00
os < < " executive " ; break ;
2005-07-16 16:57:55 +00:00
case PAPER_A3 :
2000-10-10 14:17:33 +00:00
os < < " a3 " ; break ;
2005-07-16 16:57:55 +00:00
case PAPER_A4 :
2000-10-10 14:17:33 +00:00
os < < " a4 " ; break ;
2005-07-16 16:57:55 +00:00
case PAPER_A5 :
2000-10-10 14:17:33 +00:00
os < < " a5 " ; break ;
2005-07-16 16:57:55 +00:00
case PAPER_B5 :
2000-10-10 14:17:33 +00:00
os < < " b5 " ; break ;
2005-12-12 11:13:03 +00:00
case PAPER_CUSTOM :
2005-09-20 08:31:37 +00:00
case PAPER_B3 :
case PAPER_B4 : break ;
2000-10-10 14:17:33 +00:00
}
os < < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
1999-12-01 00:57:31 +00:00
case RC_CHKTEX_COMMAND :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
chktex_command ! = system_lyxrc . chktex_command ) {
2000-10-10 14:17:33 +00:00
os < < " \\ chktex_command \" " < < chktex_command < < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2004-03-29 12:11:53 +00:00
case RC_BIBTEX_COMMAND :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
bibtex_command ! = system_lyxrc . bibtex_command ) {
2004-03-29 12:11:53 +00:00
os < < " \\ bibtex_command \" " < < bibtex_command < < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2004-10-05 10:11:42 +00:00
case RC_INDEX_COMMAND :
if ( ignore_system_lyxrc | |
index_command ! = system_lyxrc . index_command ) {
os < < " \\ index_command \" " < < index_command < < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2006-06-27 10:51:24 +00:00
case RC_TEX_EXPECTS_WINDOWS_PATHS :
2005-01-14 15:53:30 +00:00
if ( ignore_system_lyxrc | |
2006-06-27 10:51:24 +00:00
windows_style_tex_paths ! = system_lyxrc . windows_style_tex_paths ) {
os < < " \\ tex_expects_windows_paths "
< < convert < string > ( windows_style_tex_paths ) < < ' \n ' ;
2005-01-14 15:53:30 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2005-03-25 15:27:30 +00:00
case RC_TEX_ALLOWS_SPACES :
if ( tex_allows_spaces ! = system_lyxrc . tex_allows_spaces ) {
os < < " \\ tex_allows_spaces "
< < convert < string > ( tex_allows_spaces ) < < ' \n ' ;
2006-04-05 23:56:29 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2005-03-25 15:27:30 +00:00
case RC_KBMAP :
if ( ignore_system_lyxrc | |
use_kbmap ! = system_lyxrc . use_kbmap ) {
os < < " \\ kbmap " < < convert < string > ( use_kbmap ) < < ' \n ' ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
1999-12-01 00:57:31 +00:00
case RC_KBMAP_PRIMARY :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
primary_kbmap ! = system_lyxrc . primary_kbmap ) {
2005-06-18 00:18:29 +00:00
string const path = os : : external_path ( primary_kbmap ) ;
os < < " \\ kbmap_primary \" " < < path < < " \" \n " ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
1999-12-01 00:57:31 +00:00
case RC_KBMAP_SECONDARY :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
secondary_kbmap ! = system_lyxrc . secondary_kbmap ) {
2005-06-18 00:18:29 +00:00
string const path = os : : external_path ( secondary_kbmap ) ;
os < < " \\ kbmap_secondary \" " < < path < < " \" \n " ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
1999-12-01 00:57:31 +00:00
case RC_SERVERPIPE :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
lyxpipes ! = system_lyxrc . lyxpipes ) {
2005-06-18 00:18:29 +00:00
string const path = os : : external_path ( lyxpipes ) ;
os < < " \\ serverpipe \" " < < path < < " \" \n " ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_DATE_INSERT_FORMAT :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
date_insert_format ! = system_lyxrc . date_insert_format ) {
2000-10-10 14:17:33 +00:00
os < < " \\ date_insert_format \" " < < date_insert_format
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-12-11 09:46:09 +00:00
case RC_LABEL_INIT_LENGTH :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
label_init_length ! = system_lyxrc . label_init_length ) {
2000-12-11 09:46:09 +00:00
os < < " \\ label_init_length " < < label_init_length
2002-11-27 10:30:28 +00:00
< < ' \n ' ;
2000-12-11 09:46:09 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-12-11 09:46:09 +00:00
2003-02-08 19:18:01 +00:00
case RC_USER_NAME :
os < < " \\ user_name \" " < < user_name < < " \" \n " ;
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2003-02-08 19:18:01 +00:00
case RC_USER_EMAIL :
2003-02-18 17:23:55 +00:00
os < < " \\ user_email \" " < < user_email < < " \" \n " ;
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2003-02-08 19:18:01 +00:00
2002-06-26 08:59:25 +00:00
case RC_SHOW_BANNER :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
show_banner ! = system_lyxrc . show_banner ) {
2005-01-06 15:40:49 +00:00
os < < " \\ show_banner " < < convert < string > ( show_banner ) < < ' \n ' ;
2002-06-26 08:59:25 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2002-06-26 08:59:25 +00:00
case RC_PREVIEW :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
preview ! = system_lyxrc . preview ) {
2004-04-19 13:31:17 +00:00
string status ;
switch ( preview ) {
case PREVIEW_ON :
status = " on " ;
break ;
case PREVIEW_NO_MATH :
status = " no_math " ;
break ;
case PREVIEW_OFF :
status = " off " ;
break ;
}
os < < " \\ preview " < < status < < ' \n ' ;
2002-06-26 08:59:25 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2002-06-26 08:59:25 +00:00
2002-07-10 09:09:37 +00:00
case RC_PREVIEW_HASHED_LABELS :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
preview_hashed_labels ! =
2002-07-10 09:09:37 +00:00
system_lyxrc . preview_hashed_labels ) {
os < < " \\ preview_hashed_labels "
2005-01-06 15:40:49 +00:00
< < convert < string > ( preview_hashed_labels ) < < ' \n ' ;
2002-07-10 09:09:37 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2002-07-10 09:09:37 +00:00
case RC_PREVIEW_SCALE_FACTOR :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
preview_scale_factor ! = system_lyxrc . preview_scale_factor ) {
2002-07-10 09:09:37 +00:00
os < < " \\ preview_scale_factor "
2002-11-27 10:30:28 +00:00
< < preview_scale_factor < < ' \n ' ;
2002-07-10 09:09:37 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2006-04-05 23:56:29 +00:00
2006-11-13 10:27:57 +00:00
case RC_USE_CONVERTER_CACHE :
if ( ignore_system_lyxrc | |
use_converter_cache ! = system_lyxrc . use_converter_cache ) {
os < < " \\ use_converter_cache "
< < convert < string > ( use_converter_cache ) < < ' \n ' ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2006-11-13 10:27:57 +00:00
case RC_CONVERTER_CACHE_MAXAGE :
if ( ignore_system_lyxrc | |
converter_cache_maxage ! = system_lyxrc . converter_cache_maxage ) {
2006-11-27 18:11:11 +00:00
os < < " \\ converter_cache_maxage "
2006-11-13 10:27:57 +00:00
< < converter_cache_maxage < < ' \n ' ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2006-11-13 10:27:57 +00:00
2000-07-24 21:49:58 +00:00
os < < " \n # \n "
< < " # SCREEN & FONTS SECTION ############################ \n "
< < " # \n \n " ;
2002-03-21 17:27:08 +00:00
2000-07-24 21:49:58 +00:00
case RC_SCREEN_DPI :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
dpi ! = system_lyxrc . dpi ) {
2002-11-27 10:30:28 +00:00
os < < " \\ screen_dpi " < < dpi < < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_SCREEN_ZOOM :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
zoom ! = system_lyxrc . zoom ) {
2002-11-27 10:30:28 +00:00
os < < " \\ screen_zoom " < < zoom < < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2006-04-05 22:56:18 +00:00
case RC_SCREEN_GEOMETRY_HEIGHT :
if ( ignore_system_lyxrc | |
geometry_height ! = system_lyxrc . geometry_height ) {
os < < " \\ screen_geometry_height " < < geometry_height
< < ' \n ' ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2006-04-05 22:56:18 +00:00
case RC_SCREEN_GEOMETRY_WIDTH :
if ( ignore_system_lyxrc | |
geometry_width ! = system_lyxrc . geometry_width ) {
os < < " \\ screen_geometry_width " < < geometry_width
< < ' \n ' ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2006-04-05 22:56:18 +00:00
case RC_SCREEN_GEOMETRY_XYSAVED :
if ( ignore_system_lyxrc | |
geometry_xysaved ! = system_lyxrc . geometry_xysaved ) {
os < < " \\ screen_geometry_xysaved " < < convert < string > ( geometry_xysaved )
< < ' \n ' ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_CURSOR_FOLLOWS_SCROLLBAR :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
cursor_follows_scrollbar
2000-10-10 14:17:33 +00:00
! = system_lyxrc . cursor_follows_scrollbar ) {
os < < " \\ cursor_follows_scrollbar "
2005-01-06 15:40:49 +00:00
< < convert < string > ( cursor_follows_scrollbar ) < < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2001-09-07 10:11:02 +00:00
case RC_DIALOGS_ICONIFY_WITH_MAIN :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
dialogs_iconify_with_main
2001-09-07 10:11:02 +00:00
! = system_lyxrc . dialogs_iconify_with_main ) {
os < < " \\ dialogs_iconify_with_main "
2005-01-06 15:40:49 +00:00
< < convert < string > ( dialogs_iconify_with_main ) < < ' \n ' ;
2001-09-07 10:11:02 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
1999-12-01 00:57:31 +00:00
case RC_SCREEN_FONT_ROMAN :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
roman_font_name ! = system_lyxrc . roman_font_name ) {
2000-10-10 14:17:33 +00:00
os < < " \\ screen_font_roman \" " < < roman_font_name
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2002-11-27 21:49:50 +00:00
case RC_SCREEN_FONT_ROMAN_FOUNDRY :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
roman_font_foundry ! = system_lyxrc . roman_font_foundry ) {
2002-11-27 21:49:50 +00:00
os < < " \\ screen_font_roman_foundry \" " < < roman_font_foundry
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
1999-12-01 00:57:31 +00:00
case RC_SCREEN_FONT_SANS :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
sans_font_name ! = system_lyxrc . sans_font_name ) {
2000-10-10 14:17:33 +00:00
os < < " \\ screen_font_sans \" " < < sans_font_name
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2002-11-27 21:49:50 +00:00
case RC_SCREEN_FONT_SANS_FOUNDRY :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
sans_font_foundry ! = system_lyxrc . sans_font_foundry ) {
2002-11-27 21:49:50 +00:00
os < < " \\ screen_font_sans_foundry \" " < < sans_font_foundry
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
1999-12-01 00:57:31 +00:00
case RC_SCREEN_FONT_TYPEWRITER :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
typewriter_font_name ! = system_lyxrc . typewriter_font_name ) {
2000-10-10 14:17:33 +00:00
os < < " \\ screen_font_typewriter \" "
< < typewriter_font_name < < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2002-11-27 21:49:50 +00:00
case RC_SCREEN_FONT_TYPEWRITER_FOUNDRY :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
typewriter_font_foundry ! = system_lyxrc . typewriter_font_foundry ) {
2002-11-27 21:49:50 +00:00
os < < " \\ screen_font_typewriter_foundry \" "
< < typewriter_font_foundry < < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2002-11-27 21:49:50 +00:00
1999-12-01 00:57:31 +00:00
case RC_SCREEN_FONT_SCALABLE :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
use_scalable_fonts ! = system_lyxrc . use_scalable_fonts ) {
2000-10-10 14:17:33 +00:00
os < < " \\ screen_font_scalable "
2005-01-06 15:40:49 +00:00
< < convert < string > ( use_scalable_fonts )
2002-11-27 10:30:28 +00:00
< < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_SCREEN_FONT_SIZES :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
2007-04-29 18:17:15 +00:00
font_sizes [ Font : : SIZE_TINY ]
! = system_lyxrc . font_sizes [ Font : : SIZE_TINY ] | |
font_sizes [ Font : : SIZE_SCRIPT ]
! = system_lyxrc . font_sizes [ Font : : SIZE_SCRIPT ] | |
font_sizes [ Font : : SIZE_FOOTNOTE ]
! = system_lyxrc . font_sizes [ Font : : SIZE_FOOTNOTE ] | |
font_sizes [ Font : : SIZE_SMALL ]
! = system_lyxrc . font_sizes [ Font : : SIZE_SMALL ] | |
font_sizes [ Font : : SIZE_NORMAL ]
! = system_lyxrc . font_sizes [ Font : : SIZE_NORMAL ] | |
font_sizes [ Font : : SIZE_LARGE ]
! = system_lyxrc . font_sizes [ Font : : SIZE_LARGE ] | |
font_sizes [ Font : : SIZE_LARGER ]
! = system_lyxrc . font_sizes [ Font : : SIZE_LARGER ] | |
font_sizes [ Font : : SIZE_LARGEST ]
! = system_lyxrc . font_sizes [ Font : : SIZE_LARGEST ] | |
font_sizes [ Font : : SIZE_HUGE ]
! = system_lyxrc . font_sizes [ Font : : SIZE_HUGE ] | |
font_sizes [ Font : : SIZE_HUGER ]
! = system_lyxrc . font_sizes [ Font : : SIZE_HUGER ] ) {
2000-10-10 14:17:33 +00:00
os . setf ( ios : : fixed ) ;
os . precision ( 2 ) ;
2000-11-17 00:07:41 +00:00
os < < " \\ screen_font_sizes "
2007-04-29 18:17:15 +00:00
< < ' ' < < font_sizes [ Font : : SIZE_TINY ]
< < ' ' < < font_sizes [ Font : : SIZE_SCRIPT ]
< < ' ' < < font_sizes [ Font : : SIZE_FOOTNOTE ]
< < ' ' < < font_sizes [ Font : : SIZE_SMALL ]
< < ' ' < < font_sizes [ Font : : SIZE_NORMAL ]
< < ' ' < < font_sizes [ Font : : SIZE_LARGE ]
< < ' ' < < font_sizes [ Font : : SIZE_LARGER ]
< < ' ' < < font_sizes [ Font : : SIZE_LARGEST ]
< < ' ' < < font_sizes [ Font : : SIZE_HUGE ]
< < ' ' < < font_sizes [ Font : : SIZE_HUGER ]
2002-11-27 10:30:28 +00:00
< < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2002-03-21 17:27:08 +00:00
2000-11-15 18:02:45 +00:00
os < < " \n # \n "
< < " # COLOR SECTION ################################### \n "
< < " # \n \n " ;
2002-03-21 17:27:08 +00:00
2000-11-15 18:02:45 +00:00
case RC_SET_COLOR :
2007-04-26 17:34:20 +00:00
for ( int i = 0 ; i < Color : : ignore ; + + i ) {
Color : : color lc = static_cast < Color : : color > ( i ) ;
2002-03-21 17:27:08 +00:00
2000-11-17 00:07:41 +00:00
string const col ( lcolor . getX11Name ( lc ) ) ;
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
col ! = system_lcolor . getX11Name ( lc ) ) {
2000-11-17 00:07:41 +00:00
os < < " \\ set_color \" "
< < lcolor . getLyXName ( lc ) < < " \" \" "
< < col < < " \" \n " ;
2000-11-15 18:02:45 +00:00
}
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2002-03-21 17:27:08 +00:00
2000-07-24 21:49:58 +00:00
os < < " \n # \n "
< < " # PRINTER SECTION ################################### \n "
< < " # \n \n " ;
2002-03-21 17:27:08 +00:00
2000-07-24 21:49:58 +00:00
case RC_PRINTER :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
printer ! = system_lyxrc . printer ) {
2000-10-10 14:17:33 +00:00
os < < " \\ printer \" " < < printer < < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_PRINT_ADAPTOUTPUT :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
print_adapt_output ! = system_lyxrc . print_adapt_output ) {
2000-10-10 14:17:33 +00:00
os < < " \\ print_adapt_output "
2005-01-06 15:40:49 +00:00
< < convert < string > ( print_adapt_output )
2002-11-27 10:30:28 +00:00
< < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_PRINT_COMMAND :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
print_command ! = system_lyxrc . print_command ) {
2000-10-10 14:17:33 +00:00
os < < " \\ print_command \" " < < print_command < < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_PRINTEXSTRAOPTIONS :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
print_extra_options ! = system_lyxrc . print_extra_options ) {
2000-10-10 14:17:33 +00:00
os < < " \\ print_extra_options \" " < < print_extra_options
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_PRINTSPOOL_COMMAND :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
print_spool_command ! = system_lyxrc . print_spool_command ) {
2000-10-10 14:17:33 +00:00
os < < " \\ print_spool_command \" " < < print_spool_command
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_PRINTSPOOL_PRINTERPREFIX :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
print_spool_printerprefix
2000-10-10 14:17:33 +00:00
! = system_lyxrc . print_spool_printerprefix ) {
os < < " \\ print_spool_printerprefix \" "
< < print_spool_printerprefix < < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_PRINTEVENPAGEFLAG :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
print_evenpage_flag ! = system_lyxrc . print_evenpage_flag ) {
2000-10-10 14:17:33 +00:00
os < < " \\ print_evenpage_flag \" " < < print_evenpage_flag
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_PRINTODDPAGEFLAG :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
print_oddpage_flag ! = system_lyxrc . print_oddpage_flag ) {
2000-10-10 14:17:33 +00:00
os < < " \\ print_oddpage_flag \" " < < print_oddpage_flag
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_PRINTREVERSEFLAG :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
print_reverse_flag ! = system_lyxrc . print_reverse_flag ) {
2000-10-10 14:17:33 +00:00
os < < " \\ print_reverse_flag \" " < < print_reverse_flag
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_PRINTLANDSCAPEFLAG :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
print_landscape_flag ! = system_lyxrc . print_landscape_flag ) {
2000-10-10 14:17:33 +00:00
os < < " \\ print_landscape_flag \" " < < print_landscape_flag
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_PRINTPAGERANGEFLAG :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
print_pagerange_flag ! = system_lyxrc . print_pagerange_flag ) {
2000-10-10 14:17:33 +00:00
os < < " \\ print_pagerange_flag \" " < < print_pagerange_flag
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_PRINTCOPIESFLAG :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
print_copies_flag ! = system_lyxrc . print_copies_flag ) {
2002-03-21 17:27:08 +00:00
os < < " \\ print_copies_flag \" " < < print_copies_flag
2000-10-10 14:17:33 +00:00
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_PRINTCOLLCOPIESFLAG :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
print_collcopies_flag
2000-10-10 14:17:33 +00:00
! = system_lyxrc . print_collcopies_flag ) {
os < < " \\ print_collcopies_flag \" "
< < print_collcopies_flag
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_PRINTPAPERFLAG :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
print_paper_flag ! = system_lyxrc . print_paper_flag ) {
2000-10-10 14:17:33 +00:00
os < < " \\ print_paper_flag \" " < < print_paper_flag
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_PRINTPAPERDIMENSIONFLAG :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
print_paper_dimension_flag
2000-10-10 14:17:33 +00:00
! = system_lyxrc . print_paper_dimension_flag ) {
os < < " \\ print_paper_dimension_flag \" "
< < print_paper_dimension_flag < < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_PRINTTOPRINTER :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
print_to_printer ! = system_lyxrc . print_to_printer ) {
2000-10-10 14:17:33 +00:00
os < < " \\ print_to_printer \" " < < print_to_printer
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_PRINTTOFILE :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
print_to_file ! = system_lyxrc . print_to_file ) {
2005-06-18 00:18:29 +00:00
string const path = os : : external_path ( print_to_file ) ;
os < < " \\ print_to_file \" " < < path < < " \" \n " ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_PRINTFILEEXTENSION :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
print_file_extension ! = system_lyxrc . print_file_extension ) {
2000-10-10 14:17:33 +00:00
os < < " \\ print_file_extension \" "
< < print_file_extension
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
os < < " \n # \n "
< < " # EXPORT SECTION #################################### \n "
< < " # \n \n " ;
2002-03-21 17:27:08 +00:00
2000-07-24 21:49:58 +00:00
case RC_CUSTOM_EXPORT_COMMAND :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
custom_export_command
2000-10-10 14:17:33 +00:00
! = system_lyxrc . custom_export_command ) {
os < < " \\ custom_export_command \" "
< < custom_export_command
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_CUSTOM_EXPORT_FORMAT :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
custom_export_format
2000-10-10 14:17:33 +00:00
! = system_lyxrc . custom_export_format ) {
os < < " \\ custom_export_format \" " < < custom_export_format
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
os < < " \n # \n "
2000-10-10 14:17:33 +00:00
< < " # TEX SECTION ####################################### \n "
2000-07-24 21:49:58 +00:00
< < " # \n \n " ;
2002-03-21 17:27:08 +00:00
2000-07-24 21:49:58 +00:00
case RC_FONT_ENCODING :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
fontenc ! = system_lyxrc . fontenc ) {
2000-10-10 14:17:33 +00:00
os < < " \\ font_encoding \" " < < fontenc < < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
os < < " \n # \n "
2000-10-10 14:17:33 +00:00
< < " # FILE SECTION ###################################### \n "
2000-07-24 21:49:58 +00:00
< < " # \n \n " ;
case RC_DOCUMENTPATH :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
document_path ! = system_lyxrc . document_path ) {
2005-06-18 00:18:29 +00:00
string const path = os : : external_path ( document_path ) ;
os < < " \\ document_path \" " < < path < < " \" \n " ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2006-04-05 22:56:18 +00:00
case RC_USELASTFILEPOS :
if ( ignore_system_lyxrc | |
use_lastfilepos ! = system_lyxrc . use_lastfilepos ) {
2006-04-22 16:49:19 +00:00
os < < " \\ use_lastfilepos " < < convert < string > ( use_lastfilepos )
2006-04-05 22:56:18 +00:00
< < ' \n ' ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2006-04-05 22:56:18 +00:00
case RC_LOADSESSION :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
2006-04-05 22:56:18 +00:00
load_session ! = system_lyxrc . load_session ) {
2006-04-05 23:56:29 +00:00
os < < " \\ load_session " < < convert < string > ( load_session )
2006-04-05 22:56:18 +00:00
< < " \n " ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_NUMLASTFILES :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
num_lastfiles ! = system_lyxrc . num_lastfiles ) {
2002-11-27 10:30:28 +00:00
os < < " \\ num_lastfiles " < < num_lastfiles < < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_CHECKLASTFILES :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
check_lastfiles ! = system_lyxrc . check_lastfiles ) {
2005-01-06 15:40:49 +00:00
os < < " \\ check_lastfiles " < < convert < string > ( check_lastfiles )
2002-11-27 10:30:28 +00:00
< < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_TEMPLATEPATH :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
template_path ! = system_lyxrc . template_path ) {
2005-06-18 00:18:29 +00:00
string const path = os : : external_path ( template_path ) ;
os < < " \\ template_path \" " < < path < < " \" \n " ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_TEMPDIRPATH :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
tempdir_path ! = system_lyxrc . tempdir_path ) {
2005-06-18 00:18:29 +00:00
string const path = os : : external_path ( tempdir_path ) ;
os < < " \\ tempdir_path \" " < < path < < " \" \n " ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_USETEMPDIR :
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2004-02-25 12:00:53 +00:00
// Ignore it
2007-01-15 22:49:14 +00:00
case RC_PLAINTEXT_LINELEN :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
2007-01-15 22:49:14 +00:00
plaintext_linelen ! = system_lyxrc . plaintext_linelen ) {
os < < " \\ plaintext_linelen " < < plaintext_linelen < < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_MAKE_BACKUP :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
make_backup ! = system_lyxrc . make_backup ) {
2005-01-06 15:40:49 +00:00
os < < " \\ make_backup " < < convert < string > ( make_backup ) < < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_BACKUPDIR_PATH :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
backupdir_path ! = system_lyxrc . backupdir_path ) {
2005-06-18 00:18:29 +00:00
string const path = os : : external_path ( backupdir_path ) ;
os < < " \\ backupdir_path \" " < < path < < " \" \n " ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
os < < " \n # \n "
2007-01-18 22:29:50 +00:00
< < " # PLAIN TEXT EXPORT SECTION ############################## \n "
2000-07-24 21:49:58 +00:00
< < " # \n \n " ;
2007-01-15 22:49:14 +00:00
case RC_PLAINTEXT_ROFF_COMMAND :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
2007-01-15 22:49:14 +00:00
plaintext_roff_command ! = system_lyxrc . plaintext_roff_command ) {
os < < " \\ plaintext_roff_command \" " < < plaintext_roff_command
2000-10-10 14:17:33 +00:00
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
os < < " \n # \n "
< < " # SPELLCHECKER SECTION ############################## \n "
< < " # \n \n " ;
2003-03-26 01:20:25 +00:00
case RC_USE_SPELL_LIB :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
use_spell_lib ! = system_lyxrc . use_spell_lib ) {
2005-01-06 15:40:49 +00:00
os < < " \\ use_spell_lib " < < convert < string > ( use_spell_lib ) < < ' \n ' ;
2001-07-16 10:03:38 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
1999-12-01 00:57:31 +00:00
case RC_SPELL_COMMAND :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
isp_command ! = system_lyxrc . isp_command ) {
2000-10-10 14:17:33 +00:00
os < < " \\ spell_command \" " < < isp_command < < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
1999-12-01 00:57:31 +00:00
case RC_ACCEPT_COMPOUND :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
isp_accept_compound ! = system_lyxrc . isp_accept_compound ) {
2005-01-06 15:40:49 +00:00
os < < " \\ accept_compound " < < convert < string > ( isp_accept_compound )
2002-11-27 10:30:28 +00:00
< < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
1999-12-01 00:57:31 +00:00
case RC_USE_ALT_LANG :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
isp_use_alt_lang ! = system_lyxrc . isp_use_alt_lang ) {
2005-01-06 15:40:49 +00:00
os < < " \\ use_alt_language " < < convert < string > ( isp_use_alt_lang )
2002-11-27 10:30:28 +00:00
< < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_ALT_LANG :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
isp_alt_lang ! = system_lyxrc . isp_alt_lang ) {
2000-10-10 14:17:33 +00:00
os < < " \\ alternate_language \" " < < isp_alt_lang
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
1999-12-01 00:57:31 +00:00
case RC_USE_ESC_CHARS :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
isp_use_esc_chars ! = system_lyxrc . isp_use_esc_chars ) {
2005-01-06 15:40:49 +00:00
os < < " \\ use_escape_chars " < < convert < string > ( isp_use_esc_chars )
2002-11-27 10:30:28 +00:00
< < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
1999-12-01 00:57:31 +00:00
case RC_ESC_CHARS :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
isp_esc_chars ! = system_lyxrc . isp_esc_chars ) {
2000-10-10 14:17:33 +00:00
os < < " \\ escape_chars \" " < < isp_esc_chars < < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_USE_PERS_DICT :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
isp_use_pers_dict ! = system_lyxrc . isp_use_pers_dict ) {
2000-10-10 14:17:33 +00:00
os < < " \\ use_personal_dictionary "
2005-01-06 15:40:49 +00:00
< < convert < string > ( isp_use_pers_dict )
2002-11-27 10:30:28 +00:00
< < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_PERS_DICT :
2000-10-10 14:17:33 +00:00
if ( isp_pers_dict ! = system_lyxrc . isp_pers_dict ) {
2005-06-18 00:18:29 +00:00
string const path = os : : external_path ( isp_pers_dict ) ;
os < < " \\ personal_dictionary \" " < < path < < " \" \n " ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_USE_INP_ENC :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
isp_use_input_encoding
2000-10-10 14:17:33 +00:00
! = system_lyxrc . isp_use_input_encoding ) {
os < < " \\ use_input_encoding "
2005-01-06 15:40:49 +00:00
< < convert < string > ( isp_use_input_encoding )
2002-11-27 10:30:28 +00:00
< < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
os < < " \n # \n "
2000-10-10 14:17:33 +00:00
< < " # LANGUAGE SUPPORT SECTION ########################## \n "
2000-07-24 21:49:58 +00:00
< < " # \n \n " ;
2000-02-03 19:51:27 +00:00
case RC_RTL_SUPPORT :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
rtl_support ! = system_lyxrc . rtl_support ) {
2005-01-06 15:40:49 +00:00
os < < " \\ rtl " < < convert < string > ( rtl_support ) < < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-03-10 13:22:20 +00:00
case RC_LANGUAGE_PACKAGE :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
language_package ! = system_lyxrc . language_package ) {
2000-10-10 14:17:33 +00:00
os < < " \\ language_package \" " < < language_package
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2001-02-25 10:22:54 +00:00
case RC_LANGUAGE_GLOBAL_OPTIONS :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
language_global_options
2001-02-25 10:22:54 +00:00
! = system_lyxrc . language_global_options ) {
os < < " \\ language_global_options \" "
2005-01-06 15:40:49 +00:00
< < convert < string > ( language_global_options )
2001-02-25 10:22:54 +00:00
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2001-02-25 10:22:54 +00:00
case RC_LANGUAGE_USE_BABEL :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
language_use_babel ! = system_lyxrc . language_use_babel ) {
2001-02-25 10:22:54 +00:00
os < < " \\ language_use_babel \" "
2005-01-06 15:40:49 +00:00
< < convert < string > ( language_use_babel )
2001-02-25 10:22:54 +00:00
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-03-17 10:14:46 +00:00
case RC_LANGUAGE_COMMAND_BEGIN :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
language_command_begin
2000-10-10 14:17:33 +00:00
! = system_lyxrc . language_command_begin ) {
os < < " \\ language_command_begin \" "
< < language_command_begin
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-03-17 10:14:46 +00:00
case RC_LANGUAGE_COMMAND_END :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
language_command_end
2000-10-10 14:17:33 +00:00
! = system_lyxrc . language_command_end ) {
os < < " \\ language_command_end \" " < < language_command_end
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2001-02-25 10:22:54 +00:00
case RC_LANGUAGE_COMMAND_LOCAL :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
language_command_local
2001-02-25 10:22:54 +00:00
! = system_lyxrc . language_command_local ) {
os < < " \\ language_command_local \" "
< < language_command_local
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_LANGUAGE_AUTO_BEGIN :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
language_auto_begin ! = system_lyxrc . language_auto_begin ) {
2002-03-21 17:27:08 +00:00
os < < " \\ language_auto_begin "
2005-01-06 15:40:49 +00:00
< < convert < string > ( language_auto_begin ) < < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_LANGUAGE_AUTO_END :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
language_auto_end ! = system_lyxrc . language_auto_end ) {
2002-03-21 17:27:08 +00:00
os < < " \\ language_auto_end "
2005-01-06 15:40:49 +00:00
< < convert < string > ( language_auto_end ) < < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
case RC_MARK_FOREIGN_LANGUAGE :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
mark_foreign_language
2000-10-10 14:17:33 +00:00
! = system_lyxrc . mark_foreign_language ) {
os < < " \\ mark_foreign_language " < <
2005-01-06 15:40:49 +00:00
convert < string > ( mark_foreign_language ) < < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
os < < " \n # \n "
< < " # 2nd MISC SUPPORT SECTION ########################## \n "
< < " # \n \n " ;
case RC_AUTO_NUMBER :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
auto_number ! = system_lyxrc . auto_number ) {
2005-01-06 15:40:49 +00:00
os < < " \\ auto_number " < < convert < string > ( auto_number ) < < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-09-27 15:23:24 +00:00
case RC_DEFAULT_LANGUAGE :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
default_language ! = system_lyxrc . default_language ) {
2002-11-27 10:30:28 +00:00
os < < " \\ default_language " < < default_language < < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-11-06 11:20:22 +00:00
os < < " \n # \n "
< < " # FORMATS SECTION ########################## \n "
< < " # \n \n " ;
2000-11-13 10:35:02 +00:00
case RC_FORMAT :
2006-05-20 12:03:40 +00:00
// New/modified formats
2000-11-13 10:35:02 +00:00
for ( Formats : : const_iterator cit = formats . begin ( ) ;
cit ! = formats . end ( ) ; + + cit ) {
Format const * format =
2001-07-30 11:56:00 +00:00
system_formats . getFormat ( cit - > name ( ) ) ;
2000-11-13 10:35:02 +00:00
if ( ! format | |
format - > extension ( ) ! = cit - > extension ( ) | |
format - > prettyname ( ) ! = cit - > prettyname ( ) | |
2004-04-13 10:36:09 +00:00
format - > shortcut ( ) ! = cit - > shortcut ( ) | |
format - > viewer ( ) ! = cit - > viewer ( ) | |
2006-05-20 12:03:40 +00:00
format - > editor ( ) ! = cit - > editor ( ) | |
2006-10-03 08:34:59 +00:00
format - > documentFormat ( ) ! = cit - > documentFormat ( ) | |
format - > vectorFormat ( ) ! = cit - > vectorFormat ( ) ) {
2000-11-13 10:35:02 +00:00
os < < " \\ format \" " < < cit - > name ( ) < < " \" \" "
< < cit - > extension ( ) < < " \" \" "
< < cit - > prettyname ( ) < < " \" \" "
2004-04-13 10:36:09 +00:00
< < cit - > shortcut ( ) < < " \" \" "
< < cit - > viewer ( ) < < " \" \" "
2006-05-20 12:03:40 +00:00
< < cit - > editor ( ) < < " \" \" " ;
2006-10-03 08:34:59 +00:00
std : : vector < string > flags ;
2006-05-20 12:03:40 +00:00
if ( cit - > documentFormat ( ) )
2006-10-03 08:34:59 +00:00
flags . push_back ( " document " ) ;
if ( cit - > vectorFormat ( ) )
flags . push_back ( " vector " ) ;
2006-10-21 00:16:43 +00:00
os < < support : : getStringFromVector ( flags ) ;
2006-05-20 12:03:40 +00:00
os < < " \" \n " ;
}
2000-11-06 11:20:22 +00:00
}
2004-04-13 10:36:09 +00:00
// Look for deleted formats
2000-11-13 10:35:02 +00:00
for ( Formats : : const_iterator cit = system_formats . begin ( ) ;
cit ! = system_formats . end ( ) ; + + cit )
2001-07-30 11:56:00 +00:00
if ( ! formats . getFormat ( cit - > name ( ) ) )
2002-03-21 17:27:08 +00:00
os < < " \\ format \" " < < cit - > name ( )
2006-05-20 12:03:40 +00:00
< < " \" \" \" \" \" \" \" \" \" \" \" \" \" \n " ;
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-11-13 10:35:02 +00:00
case RC_VIEWER :
2004-04-13 10:36:09 +00:00
// Ignore it
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-11-13 10:35:02 +00:00
os < < " \n # \n "
< < " # CONVERTERS SECTION ########################## \n "
< < " # \n \n " ;
case RC_CONVERTER :
// Look for new converters
2007-01-17 13:18:16 +00:00
for ( Converters : : const_iterator cit = theConverters ( ) . begin ( ) ;
cit ! = theConverters ( ) . end ( ) ; + + cit ) {
2000-11-13 10:35:02 +00:00
Converter const * converter =
2007-01-17 13:18:16 +00:00
theSystemConverters ( ) . getConverter ( cit - > from ,
2000-11-13 10:35:02 +00:00
cit - > to ) ;
if ( ! converter | |
converter - > command ! = cit - > command | |
converter - > flags ! = cit - > flags )
os < < " \\ converter \" " < < cit - > from < < " \" \" "
< < cit - > to < < " \" \" "
< < cit - > command < < " \" \" "
< < cit - > flags < < " \" \n " ;
2000-11-06 11:20:22 +00:00
}
2000-11-13 10:35:02 +00:00
// New/modifed converters
2007-01-17 13:18:16 +00:00
for ( Converters : : const_iterator cit = theSystemConverters ( ) . begin ( ) ;
cit ! = theSystemConverters ( ) . end ( ) ; + + cit )
if ( ! theConverters ( ) . getConverter ( cit - > from , cit - > to ) )
2002-03-21 17:27:08 +00:00
os < < " \\ converter \" " < < cit - > from
2000-11-13 10:35:02 +00:00
< < " \" \" " < < cit - > to < < " \" \" \" \" \" \n " ;
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2003-02-08 19:18:01 +00:00
2004-10-26 18:39:13 +00:00
case RC_COPIER :
2007-10-11 15:23:52 +00:00
if ( tag = = RC_LAST )
os < < " \n # \n "
< < " # COPIERS SECTION ########################## \n "
< < " # \n \n " ;
2004-10-26 18:39:13 +00:00
// Look for new movers
2007-01-18 08:42:53 +00:00
Movers : : const_iterator const sysbegin = theSystemMovers ( ) . begin ( ) ;
Movers : : const_iterator const sysend = theSystemMovers ( ) . end ( ) ;
Movers : : const_iterator it = theMovers ( ) . begin ( ) ;
Movers : : const_iterator end = theMovers ( ) . end ( ) ;
2004-10-26 18:39:13 +00:00
2007-01-18 08:42:53 +00:00
for ( ; it ! = end ; + + it ) {
Movers : : const_iterator const sysit =
2004-10-26 18:39:13 +00:00
std : : find_if ( sysbegin , sysend , SameMover ( * it ) ) ;
if ( sysit = = sysend ) {
std : : string const & fmt = it - > first ;
std : : string const & command =
it - > second . command ( ) ;
os < < " \\ copier " < < fmt
< < " \" " < < command < < " \" \n " ;
}
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2004-10-26 18:39:13 +00:00
// We don't actually delete SpecialisedMover(s) from the
// map, just clear their 'command', so there's no need
// to test for anything else.
1999-12-01 00:57:31 +00:00
}
2004-10-26 18:39:13 +00:00
1999-12-01 00:57:31 +00:00
os . flush ( ) ;
1999-09-27 18:44:28 +00:00
}
2000-11-17 00:07:41 +00:00
2006-11-11 19:02:27 +00:00
#if 0
2002-03-21 17:27:08 +00:00
string const LyXRC : : getDescription ( LyXRCTags tag )
2000-10-30 21:53:29 +00:00
{
2006-09-09 15:27:44 +00:00
docstring str ;
2002-03-21 17:27:08 +00:00
2000-11-04 10:00:12 +00:00
switch ( tag ) {
2005-01-16 21:01:41 +00:00
case RC_ACCEPT_COMPOUND :
str = _ ( " Consider run-together words, such as \" diskdrive \" for \" disk drive \" , as legal words? " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_ALT_LANG :
case RC_USE_ALT_LANG :
str = _ ( " Specify an alternate language. The default is to use the language of the document. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2007-01-15 22:49:14 +00:00
case RC_PLAINTEXT_ROFF_COMMAND :
2006-05-25 11:57:22 +00:00
str = _ ( " Use to define an external program to render tables in plain text output. E.g. \" groff -t -Tlatin1 $$FName \" where $$FName is the input file. If \" \" is specified, an internal routine is used. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2007-01-15 22:49:14 +00:00
case RC_PLAINTEXT_LINELEN :
2007-01-20 14:51:40 +00:00
str = _ ( " The maximum line length of exported plain text/LaTeX/SGML files. If set to 0, paragraphs are output in a single line; if the line length is > 0, paragraphs are separated by a blank line. " ) ;
2000-11-29 15:34:56 +00:00
break ;
2005-01-16 21:01:41 +00:00
case RC_AUTOREGIONDELETE :
str = _ ( " De-select if you don't want the current selection to be replaced automatically by what you type. " ) ;
2000-11-29 15:34:56 +00:00
break ;
2005-01-16 21:01:41 +00:00
case RC_AUTORESET_OPTIONS :
str = _ ( " De-select if you don't want the class options to be reset to defaults after class change. " ) ;
2000-11-29 15:34:56 +00:00
break ;
2005-01-16 21:01:41 +00:00
case RC_AUTOSAVE :
str = _ ( " The time interval between auto-saves (in seconds). 0 means no auto-save. " ) ;
2000-11-29 15:34:56 +00:00
break ;
2005-01-16 21:01:41 +00:00
case RC_AUTO_NUMBER :
2000-11-29 15:34:56 +00:00
break ;
2005-01-16 21:01:41 +00:00
case RC_BACKUPDIR_PATH :
str = _ ( " The path for storing backup files. If it is an empty string, LyX will store the backup file in the same directory as the original file. " ) ;
2000-11-29 15:34:56 +00:00
break ;
2005-01-16 21:01:41 +00:00
case RC_BIBTEX_COMMAND :
str = _ ( " Define the options of bibtex (cf. man bibtex) or select an alternative compiler (e.g. mlbibtex or bibulus). " ) ;
2000-11-29 15:34:56 +00:00
break ;
2005-01-16 21:01:41 +00:00
case RC_BINDFILE :
str = _ ( " Keybindings file. Can either specify an absolute path, or LyX will look in its global and local bind/ directories. " ) ;
2000-11-29 15:34:56 +00:00
break ;
2005-01-16 21:01:41 +00:00
case RC_CHECKLASTFILES :
str = _ ( " Select to check whether the lastfiles still exist. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_CHKTEX_COMMAND :
str = _ ( " Define how to run chktex. E.g. \" chktex -n11 -n1 -n3 -n6 -n9 -22 -n25 -n30 -n38 \" Refer to the ChkTeX documentation. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_CONVERTER :
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_COPIER :
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_CURSOR_FOLLOWS_SCROLLBAR :
str = _ ( " LyX normally doesn't update the cursor position if you move the scrollbar. Set to true if you'd prefer to always have the cursor on screen. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_CUSTOM_EXPORT_COMMAND :
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_CUSTOM_EXPORT_FORMAT :
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_DATE_INSERT_FORMAT :
//xgettext:no-c-format
str = _ ( " This accepts the normal strftime formats; see man strftime for full details. E.g. \" %A, %e. %B %Y \" . " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_DEFAULT_LANGUAGE :
str = _ ( " New documents will be assigned this language. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_DEFAULT_PAPERSIZE :
str = _ ( " Specify the default paper size. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_DIALOGS_ICONIFY_WITH_MAIN :
str = _ ( " Iconify the dialogs when the main window is iconified. (Affects only dialogs shown after the change has been made.) " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_DISPLAY_GRAPHICS :
str = _ ( " Select how LyX will display any graphics. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_DOCUMENTPATH :
str = _ ( " The default path for your documents. An empty value selects the directory LyX was started from. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_ESC_CHARS :
case RC_USE_ESC_CHARS :
str = _ ( " Specify additional chars that can be part of a word. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_FONT_ENCODING :
str = _ ( " The font encoding used for the LaTeX2e fontenc package. T1 is highly recommended for non-English languages. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_FORMAT :
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_INDEX_COMMAND :
str = _ ( " Define the options of makeindex (cf. man makeindex) or select an alternative compiler. E.g., using xindy/make-rules, the command string would be \" makeindex.sh -m $$lang \" . " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_INPUT :
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_KBMAP :
case RC_KBMAP_PRIMARY :
case RC_KBMAP_SECONDARY :
str = _ ( " Use this to set the correct mapping file for your keyboard. You'll need this if you for instance want to type German documents on an American keyboard. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_LABEL_INIT_LENGTH :
str = _ ( " Maximum number of words in the initialization string for a new label " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_LANGUAGE_AUTO_BEGIN :
str = _ ( " Select if a language switching command is needed at the beginning of the document. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_LANGUAGE_AUTO_END :
str = _ ( " Select if a language switching command is needed at the end of the document. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2001-09-21 10:41:09 +00:00
2005-01-16 21:01:41 +00:00
case RC_LANGUAGE_COMMAND_BEGIN :
str = _ ( " The LaTeX command for changing from the language of the document to another language. E.g. \\ selectlanguage{$$lang} where $$lang is substituted by the name of the second language. " ) ;
2001-09-21 10:41:09 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_LANGUAGE_COMMAND_END :
str = _ ( " The LaTeX command for changing back to the language of the document. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2001-09-21 10:41:09 +00:00
2005-01-16 21:01:41 +00:00
case RC_LANGUAGE_COMMAND_LOCAL :
str = _ ( " The LaTeX command for local changing of the language. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2001-09-21 10:41:09 +00:00
2005-01-16 21:01:41 +00:00
case RC_LANGUAGE_GLOBAL_OPTIONS :
str = _ ( " De-select if you don't want the language(s) used as an argument to \\ documentclass. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_LANGUAGE_PACKAGE :
str = _ ( " The LaTeX command for loading the language package. E.g. \" \\ usepackage{babel} \" , \" \\ usepackage{omega} \" . " ) ;
2000-10-30 21:53:29 +00:00
break ;
2000-11-02 04:48:34 +00:00
2005-01-16 21:01:41 +00:00
case RC_LANGUAGE_USE_BABEL :
str = _ ( " De-select if you don't want babel to be used when the language of the document is the default language. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2006-04-05 22:56:18 +00:00
case RC_USELASTFILEPOS :
str = _ ( " De-select if you do not want LyX to scroll to saved position. " ) ;
break ;
case RC_LOADSESSION :
2007-06-12 21:05:25 +00:00
str = _ ( " De-select to prevent loading files opened from the last LyX session. " ) ;
2005-01-16 21:01:41 +00:00
break ;
case RC_MAKE_BACKUP :
str = _ ( " De-select if you don't want LyX to create backup files. " ) ;
break ;
case RC_MARK_FOREIGN_LANGUAGE :
str = _ ( " Select to control the highlighting of words with a language foreign to that of the document. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2000-10-30 21:53:29 +00:00
case RC_NUMLASTFILES :
2006-09-11 08:54:10 +00:00
str = bformat ( _ ( " Maximal number of lastfiles. Up to %1$d can appear in the file menu. " ) ,
maxlastfiles ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_PATH_PREFIX :
2005-02-01 22:48:23 +00:00
str = _ ( " Specify those directories which should be "
" prepended to the PATH environment variable. "
" Use the OS native format. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_PERS_DICT :
case RC_USE_PERS_DICT :
str = _ ( " Specify an alternate personal dictionary file. E.g. \" .ispell_english \" . " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_PREVIEW :
str = _ ( " Shows a typeset preview of things such as math " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_PREVIEW_HASHED_LABELS :
str = _ ( " Previewed equations will have \" (#) \" labels rather than numbered ones " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_PREVIEW_SCALE_FACTOR :
str = _ ( " Scale the preview size to suit. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_PRINTCOLLCOPIESFLAG :
str = _ ( " The option for specifying whether the copies should be collated. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_PRINTCOPIESFLAG :
str = _ ( " The option for specifying the number of copies to print. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_PRINTER :
str = _ ( " The default printer to print on. If none is specified, LyX will use the environment variable PRINTER. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2004-04-03 08:37:12 +00:00
2005-01-16 21:01:41 +00:00
case RC_PRINTEVENPAGEFLAG :
str = _ ( " The option to print only even pages. " ) ;
2004-10-05 08:34:41 +00:00
break ;
2005-01-16 21:01:41 +00:00
case RC_PRINTEXSTRAOPTIONS :
str = _ ( " Extra options to pass to printing program after everything else, but before the filename of the DVI file to be printed. " ) ;
2004-03-29 12:11:53 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_PRINTFILEEXTENSION :
str = _ ( " Extension of printer program output file. Usually \" .ps \" . " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_PRINTLANDSCAPEFLAG :
str = _ ( " The option to print out in landscape. " ) ;
2001-09-07 10:11:02 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_PRINTODDPAGEFLAG :
str = _ ( " The option to print only odd pages. " ) ;
2001-09-18 10:58:35 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_PRINTPAGERANGEFLAG :
str = _ ( " The option for specifying a comma-separated list of pages to print. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_PRINTPAPERDIMENSIONFLAG :
2006-09-09 15:27:44 +00:00
str = _ ( " Option to specify the dimensions of the print paper. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2005-01-16 21:01:41 +00:00
case RC_PRINTPAPERFLAG :
str = _ ( " The option to specify paper type. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_PRINTREVERSEFLAG :
str = _ ( " The option to reverse the order of the pages printed. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_PRINTSPOOL_COMMAND :
str = _ ( " When set, this printer option automatically prints to a file and then calls a separate print spooling program on that file with the given name and arguments. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2001-02-25 10:22:54 +00:00
2005-01-16 21:01:41 +00:00
case RC_PRINTSPOOL_PRINTERPREFIX :
str = _ ( " If you specify a printer name in the print dialog, the following argument is prepended along with the printer name after the spool command. " ) ;
2001-02-25 10:22:54 +00:00
break ;
2005-01-16 21:01:41 +00:00
case RC_PRINTTOFILE :
str = _ ( " Option to pass to the print program to print to a file. " ) ;
2001-02-25 10:22:54 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_PRINTTOPRINTER :
str = _ ( " Option to pass to the print program to print on a specific printer. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_PRINT_ADAPTOUTPUT :
str = _ ( " Select for LyX to pass the name of the destination printer to your print command. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_PRINT_COMMAND :
str = _ ( " Your favorite print program, e.g. \" dvips \" , \" dvilj4 \" . " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_RTL_SUPPORT :
str = _ ( " Select to enable support of right-to-left languages (e.g. Hebrew, Arabic). " ) ;
2000-10-30 21:53:29 +00:00
break ;
2001-02-25 10:22:54 +00:00
2005-01-16 21:01:41 +00:00
case RC_SCREEN_DPI :
str = _ ( " DPI (dots per inch) of your monitor is auto-detected by LyX. If that goes wrong, override the setting here. " ) ;
2001-02-25 10:22:54 +00:00
break ;
2005-01-16 21:01:41 +00:00
case RC_SCREEN_FONT_ROMAN :
case RC_SCREEN_FONT_SANS :
case RC_SCREEN_FONT_TYPEWRITER :
str = _ ( " The screen fonts used to display the text while editing. " ) ;
break ;
case RC_SCREEN_FONT_ROMAN_FOUNDRY :
case RC_SCREEN_FONT_SANS_FOUNDRY :
case RC_SCREEN_FONT_TYPEWRITER_FOUNDRY :
break ;
case RC_SCREEN_FONT_SCALABLE :
str = _ ( " Allow bitmap fonts to be resized. If you are using a bitmap font, selecting this option may make some fonts look blocky in LyX. Deselecting this option makes LyX use the nearest bitmap font size available, instead of scaling. " ) ;
break ;
case RC_SCREEN_FONT_SIZES :
str = _ ( " The font sizes used for calculating the scaling of the screen fonts. " ) ;
break ;
case RC_SCREEN_ZOOM :
2000-12-06 09:49:54 +00:00
//xgettext:no-c-format
2005-01-16 21:01:41 +00:00
str = _ ( " The zoom percentage for screen fonts. A setting of 100% will make the fonts roughly the same size as on paper. " ) ;
break ;
2006-04-05 22:56:18 +00:00
case RC_SCREEN_GEOMETRY_HEIGHT :
case RC_SCREEN_GEOMETRY_WIDTH :
str = _ ( " Specify geometry of the main view in width x height (values from last session will not be used if non-zero values are specified). " ) ;
2006-04-05 23:56:29 +00:00
break ;
2006-04-05 22:56:18 +00:00
case RC_SCREEN_GEOMETRY_XYSAVED :
str = _ ( " Allow session manager to save and restore windows position. " ) ;
2006-04-05 23:56:29 +00:00
break ;
2006-04-05 22:56:18 +00:00
2005-01-16 21:01:41 +00:00
case RC_SERVERPIPE :
str = _ ( " This starts the lyxserver. The pipes get an additional extension \" .in \" and \" .out \" . Only for advanced users. " ) ;
break ;
case RC_SET_COLOR :
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2000-10-30 21:53:29 +00:00
case RC_SHOW_BANNER :
2002-04-02 17:04:23 +00:00
str = _ ( " De-select if you don't want the startup banner. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_SPELL_COMMAND :
2005-09-08 09:20:16 +00:00
str = _ ( " What command runs the spellchecker? " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_TEMPDIRPATH :
str = _ ( " LyX will place its temporary directories in this path. They will be deleted when you quit LyX. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_TEMPLATEPATH :
str = _ ( " The path that LyX will set when offering to choose a template. An empty value selects the directory LyX was started from. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-03-25 15:27:30 +00:00
case RC_TEX_ALLOWS_SPACES :
break ;
2006-06-27 10:51:24 +00:00
case RC_TEX_EXPECTS_WINDOWS_PATHS :
break ;
2005-01-16 21:01:41 +00:00
case RC_UIFILE :
str = _ ( " The UI (user interface) file. Can either specify an absolute path, or LyX will look in its global and local ui/ directories. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_USER_EMAIL :
2000-10-30 21:53:29 +00:00
break ;
2000-12-11 09:46:09 +00:00
2005-01-16 21:01:41 +00:00
case RC_USER_NAME :
2000-12-11 09:46:09 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_USETEMPDIR :
2002-07-10 09:09:37 +00:00
break ;
2005-01-16 21:01:41 +00:00
case RC_USE_INP_ENC :
2005-09-08 09:20:16 +00:00
str = _ ( " Specify whether to pass the -T input encoding option to ispell. Enable this if you cannot check the spelling of words containing accented letters. This may not work with all dictionaries. " ) ;
2002-07-10 09:09:37 +00:00
break ;
2005-01-16 21:01:41 +00:00
case RC_USE_SPELL_LIB :
2002-06-26 08:59:25 +00:00
break ;
2005-01-16 21:01:41 +00:00
case RC_VIEWDVI_PAPEROPTION :
2006-09-09 15:27:44 +00:00
_ ( " Specify the paper command to DVI viewer (leave empty or use \" -paper \" ) " ) ;
2005-01-16 21:01:41 +00:00
break ;
case RC_VIEWER :
break ;
case RC_LAST :
2000-10-30 21:53:29 +00:00
break ;
}
2006-11-11 19:02:27 +00:00
return str ;
2000-10-30 21:53:29 +00:00
}
2006-11-11 19:02:27 +00:00
# endif
2000-10-30 21:53:29 +00:00
2000-03-12 10:35:05 +00:00
// The global instance
LyXRC lyxrc ;
2000-08-14 05:24:35 +00:00
// The global copy of the system lyxrc entries (everything except preferences)
2000-10-10 14:17:33 +00:00
LyXRC system_lyxrc ;
2006-10-21 00:16:43 +00:00
} // namespace lyx