Bug fix: enable the frontend to ignore the contents of system_lyxrc

when posting the user's changes to lyxrc back to the core.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@8611 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Angus Leeming 2004-04-05 18:21:25 +00:00
parent d75a027942
commit 9f4d9b92b9
6 changed files with 202 additions and 99 deletions

View File

@ -1,3 +1,9 @@
2004-04-05 Angus Leeming <leeming@lyx.org>
* lyxrc.[Ch] (write): now takes a 'bool ignore_system_lyxrc' arg
to enable the frontends to export changes to lyxrc correctly.
* lyxfunc.C (dispatch): output lyxrc.write("preferences", false).
2004-04-05 André Pönitz <poenitz@gmx.net>

View File

@ -1,3 +1,8 @@
2004-04-05 Angus Leeming <leeming@lyx.org>
* ControlPrefs.C (dispatchParams): ignore system_lyxrc when writing
the contents of rc_ to the stringstream.
2004-04-05 Angus Leeming <leeming@lyx.org>
* ControlErrorList.C: wrap #warning calls inside #ifdef

View File

@ -63,7 +63,7 @@ bool ControlPrefs::initialiseParams(std::string const &)
void ControlPrefs::dispatchParams()
{
ostringstream ss;
rc_.write(ss);
rc_.write(ss, true);
kernel().dispatch(FuncRequest(LFUN_LYXRC_APPLY, ss.str()));
// FIXME: these need lfuns

View File

@ -1189,7 +1189,7 @@ void LyXFunc::dispatch(FuncRequest const & cmd, bool verbose)
case LFUN_SAVEPREFERENCES: {
Path p(user_lyxdir());
lyxrc.write("preferences");
lyxrc.write("preferences", false);
break;
}

View File

@ -1071,24 +1071,24 @@ int LyXRC::read(LyXLex & lexrc)
}
void LyXRC::write(string const & filename) const
void LyXRC::write(string const & filename, bool ignore_system_lyxrc) const
{
ofstream ofs(filename.c_str());
if (ofs)
write(ofs);
write(ofs, ignore_system_lyxrc);
}
void LyXRC::print() const
{
if (lyxerr.debugging())
write(lyxerr);
write(lyxerr, false);
else
write(cout);
write(cout, false);
}
void LyXRC::write(ostream & os) const
void LyXRC::write(ostream & os, bool ignore_system_lyxrc) const
{
os << "### This file is part of\n"
<< "### ========================================================\n"
@ -1114,7 +1114,8 @@ void LyXRC::write(ostream & os) const
case RC_INPUT:
// input/include files are not done here
case RC_BINDFILE:
if (bind_file != system_lyxrc.bind_file) {
if (ignore_system_lyxrc ||
bind_file != system_lyxrc.bind_file) {
os << "\\bind_file " << bind_file << "\n";
}
//
@ -1126,30 +1127,35 @@ void LyXRC::write(ostream & os) const
// bind files are not done here.
case RC_UIFILE:
if (ui_file != system_lyxrc.ui_file) {
if (ignore_system_lyxrc ||
ui_file != system_lyxrc.ui_file) {
os << "\\ui_file \"" << ui_file << "\"\n";
}
case RC_AUTOREGIONDELETE:
if (auto_region_delete != system_lyxrc.auto_region_delete) {
if (ignore_system_lyxrc ||
auto_region_delete != system_lyxrc.auto_region_delete) {
os << "# Set to false to inhibit automatic replacement of\n"
<< "# the current selection.\n"
<< "\\auto_region_delete " << tostr(auto_region_delete)
<< '\n';
}
case RC_AUTORESET_OPTIONS:
if (auto_reset_options != system_lyxrc.auto_reset_options) {
if (ignore_system_lyxrc ||
auto_reset_options != system_lyxrc.auto_reset_options) {
os << "# Set to false to inhibit automatic reset of\n"
<< "# the class options to defaults on class change.\n"
<< "\\auto_reset_options " << tostr(auto_reset_options)
<< '\n';
}
case RC_AUTOSAVE:
if (autosave != system_lyxrc.autosave) {
if (ignore_system_lyxrc ||
autosave != system_lyxrc.autosave) {
os << "# The time interval between auto-saves in seconds.\n"
<< "\\autosave " << autosave << '\n';
}
case RC_DISPLAY_GRAPHICS:
if (display_graphics != system_lyxrc.display_graphics) {
if (ignore_system_lyxrc ||
display_graphics != system_lyxrc.display_graphics) {
os << "# Display graphics within LyX\n"
<< "# monochrome|grayscale|color|none\n"
<< "\\display_graphics "
@ -1158,7 +1164,8 @@ void LyXRC::write(ostream & os) const
}
case RC_VIEWDVI_PAPEROPTION:
if (view_dvi_paper_option
if (ignore_system_lyxrc ||
view_dvi_paper_option
!= system_lyxrc.view_dvi_paper_option) {
os << "# Options used to specify paper size to the\n"
<< "# view_dvi_command (e.g. -paper)\n"
@ -1166,7 +1173,8 @@ void LyXRC::write(ostream & os) const
<< view_dvi_paper_option << "\"\n";
}
case RC_DEFAULT_PAPERSIZE:
if (default_papersize != system_lyxrc.default_papersize) {
if (ignore_system_lyxrc ||
default_papersize != system_lyxrc.default_papersize) {
os << "# The default papersize to use.\n"
<< "\\default_papersize \"";
switch (default_papersize) {
@ -1189,37 +1197,45 @@ void LyXRC::write(ostream & os) const
os << "\"\n";
}
case RC_CHKTEX_COMMAND:
if (chktex_command != system_lyxrc.chktex_command) {
if (ignore_system_lyxrc ||
chktex_command != system_lyxrc.chktex_command) {
os << "\\chktex_command \"" << chktex_command << "\"\n";
}
case RC_BIBTEX_COMMAND:
if (bibtex_command != system_lyxrc.bibtex_command) {
if (ignore_system_lyxrc ||
bibtex_command != system_lyxrc.bibtex_command) {
os << "\\bibtex_command \"" << bibtex_command << "\"\n";
}
case RC_KBMAP:
if (use_kbmap != system_lyxrc.use_kbmap) {
if (ignore_system_lyxrc ||
use_kbmap != system_lyxrc.use_kbmap) {
os << "\\kbmap " << tostr(use_kbmap) << '\n';
}
case RC_KBMAP_PRIMARY:
if (primary_kbmap != system_lyxrc.primary_kbmap) {
if (ignore_system_lyxrc ||
primary_kbmap != system_lyxrc.primary_kbmap) {
os << "\\kbmap_primary \"" << primary_kbmap << "\"\n";
}
case RC_KBMAP_SECONDARY:
if (secondary_kbmap != system_lyxrc.secondary_kbmap) {
if (ignore_system_lyxrc ||
secondary_kbmap != system_lyxrc.secondary_kbmap) {
os << "\\kbmap_secondary \"" << secondary_kbmap
<< "\"\n";
}
case RC_SERVERPIPE:
if (lyxpipes != system_lyxrc.lyxpipes) {
if (ignore_system_lyxrc ||
lyxpipes != system_lyxrc.lyxpipes) {
os << "\\serverpipe \"" << lyxpipes << "\"\n";
}
case RC_DATE_INSERT_FORMAT:
if (date_insert_format != system_lyxrc.date_insert_format) {
if (ignore_system_lyxrc ||
date_insert_format != system_lyxrc.date_insert_format) {
os << "\\date_insert_format \"" << date_insert_format
<< "\"\n";
}
case RC_LABEL_INIT_LENGTH:
if (label_init_length != system_lyxrc.label_init_length) {
if (ignore_system_lyxrc ||
label_init_length != system_lyxrc.label_init_length) {
os << "\\label_init_length " << label_init_length
<< '\n';
}
@ -1231,24 +1247,28 @@ void LyXRC::write(ostream & os) const
os << "\\user_email \"" << user_email << "\"\n";
case RC_SHOW_BANNER:
if (show_banner != system_lyxrc.show_banner) {
if (ignore_system_lyxrc ||
show_banner != system_lyxrc.show_banner) {
os << "\\show_banner " << tostr(show_banner) << '\n';
}
case RC_PREVIEW:
if (preview != system_lyxrc.preview) {
if (ignore_system_lyxrc ||
preview != system_lyxrc.preview) {
os << "\\preview " << tostr(preview) << '\n';
}
case RC_PREVIEW_HASHED_LABELS:
if (preview_hashed_labels !=
if (ignore_system_lyxrc ||
preview_hashed_labels !=
system_lyxrc.preview_hashed_labels) {
os << "\\preview_hashed_labels "
<< tostr(preview_hashed_labels) << '\n';
}
case RC_PREVIEW_SCALE_FACTOR:
if (preview_scale_factor != system_lyxrc.preview_scale_factor) {
if (ignore_system_lyxrc ||
preview_scale_factor != system_lyxrc.preview_scale_factor) {
os << "\\preview_scale_factor "
<< preview_scale_factor << '\n';
}
@ -1258,88 +1278,105 @@ void LyXRC::write(ostream & os) const
<< "#\n\n";
case RC_POPUP_NORMAL_FONT:
if (popup_normal_font != system_lyxrc.popup_normal_font) {
if (ignore_system_lyxrc ||
popup_normal_font != system_lyxrc.popup_normal_font) {
os << "\\popup_normal_font \"" << popup_normal_font
<< "\"\n";
}
case RC_POPUP_BOLD_FONT:
if (popup_bold_font != system_lyxrc.popup_bold_font) {
if (ignore_system_lyxrc ||
popup_bold_font != system_lyxrc.popup_bold_font) {
os << "\\popup_bold_font \"" << popup_bold_font
<< "\"\n";
}
case RC_POPUP_FONT_ENCODING:
if (popup_font_encoding != system_lyxrc.popup_font_encoding) {
if (ignore_system_lyxrc ||
popup_font_encoding != system_lyxrc.popup_font_encoding) {
os << "\\popup_font_encoding \"" << popup_font_encoding
<< "\"\n";
}
case RC_SCREEN_DPI:
if (dpi != system_lyxrc.dpi) {
if (ignore_system_lyxrc ||
dpi != system_lyxrc.dpi) {
os << "\\screen_dpi " << dpi << '\n';
}
case RC_SCREEN_ZOOM:
if (zoom != system_lyxrc.zoom) {
if (ignore_system_lyxrc ||
zoom != system_lyxrc.zoom) {
os << "\\screen_zoom " << zoom << '\n';
}
case RC_WHEEL_JUMP:
if (wheel_jump != system_lyxrc.wheel_jump) {
if (ignore_system_lyxrc ||
wheel_jump != system_lyxrc.wheel_jump) {
os << "\\wheel_jump " << wheel_jump << '\n';
}
case RC_CURSOR_FOLLOWS_SCROLLBAR:
if (cursor_follows_scrollbar
if (ignore_system_lyxrc ||
cursor_follows_scrollbar
!= system_lyxrc.cursor_follows_scrollbar) {
os << "\\cursor_follows_scrollbar "
<< tostr(cursor_follows_scrollbar) << '\n';
}
case RC_DIALOGS_ICONIFY_WITH_MAIN:
if (dialogs_iconify_with_main
if (ignore_system_lyxrc ||
dialogs_iconify_with_main
!= system_lyxrc.dialogs_iconify_with_main) {
os << "\\dialogs_iconify_with_main "
<< tostr(dialogs_iconify_with_main) << '\n';
}
case RC_SCREEN_FONT_ROMAN:
if (roman_font_name != system_lyxrc.roman_font_name) {
if (ignore_system_lyxrc ||
roman_font_name != system_lyxrc.roman_font_name) {
os << "\\screen_font_roman \"" << roman_font_name
<< "\"\n";
}
case RC_SCREEN_FONT_ROMAN_FOUNDRY:
if (roman_font_foundry != system_lyxrc.roman_font_foundry) {
if (ignore_system_lyxrc ||
roman_font_foundry != system_lyxrc.roman_font_foundry) {
os << "\\screen_font_roman_foundry \"" << roman_font_foundry
<< "\"\n";
}
case RC_SCREEN_FONT_SANS:
if (sans_font_name != system_lyxrc.sans_font_name) {
if (ignore_system_lyxrc ||
sans_font_name != system_lyxrc.sans_font_name) {
os << "\\screen_font_sans \"" << sans_font_name
<< "\"\n";
}
case RC_SCREEN_FONT_SANS_FOUNDRY:
if (sans_font_foundry != system_lyxrc.sans_font_foundry) {
if (ignore_system_lyxrc ||
sans_font_foundry != system_lyxrc.sans_font_foundry) {
os << "\\screen_font_sans_foundry \"" << sans_font_foundry
<< "\"\n";
}
case RC_SCREEN_FONT_TYPEWRITER:
if (typewriter_font_name != system_lyxrc.typewriter_font_name) {
if (ignore_system_lyxrc ||
typewriter_font_name != system_lyxrc.typewriter_font_name) {
os << "\\screen_font_typewriter \""
<< typewriter_font_name << "\"\n";
}
case RC_SCREEN_FONT_TYPEWRITER_FOUNDRY:
if (typewriter_font_foundry != system_lyxrc.typewriter_font_foundry) {
if (ignore_system_lyxrc ||
typewriter_font_foundry != system_lyxrc.typewriter_font_foundry) {
os << "\\screen_font_typewriter_foundry \""
<< typewriter_font_foundry << "\"\n";
}
case RC_SCREEN_FONT_SCALABLE:
if (use_scalable_fonts != system_lyxrc.use_scalable_fonts) {
if (ignore_system_lyxrc ||
use_scalable_fonts != system_lyxrc.use_scalable_fonts) {
os << "\\screen_font_scalable "
<< tostr(use_scalable_fonts)
<< '\n';
}
case RC_SCREEN_FONT_ENCODING:
if (font_norm != system_lyxrc.font_norm) {
if (ignore_system_lyxrc ||
font_norm != system_lyxrc.font_norm) {
os << "\\screen_font_encoding \"" << font_norm
<< "\"\n";
}
case RC_SCREEN_FONT_SIZES:
if (font_sizes[LyXFont::SIZE_TINY]
if (ignore_system_lyxrc ||
font_sizes[LyXFont::SIZE_TINY]
!= system_lyxrc.font_sizes[LyXFont::SIZE_TINY] ||
font_sizes[LyXFont::SIZE_SCRIPT]
!= system_lyxrc.font_sizes[LyXFont::SIZE_SCRIPT] ||
@ -1384,7 +1421,8 @@ void LyXRC::write(ostream & os) const
LColor::color lc = static_cast<LColor::color>(i);
string const col(lcolor.getX11Name(lc));
if (col != system_lcolor.getX11Name(lc)) {
if (ignore_system_lyxrc ||
col != system_lcolor.getX11Name(lc)) {
os << "\\set_color \""
<< lcolor.getLyXName(lc) << "\" \""
<< col << "\"\n";
@ -1396,94 +1434,112 @@ void LyXRC::write(ostream & os) const
<< "#\n\n";
case RC_PRINTER:
if (printer != system_lyxrc.printer) {
if (ignore_system_lyxrc ||
printer != system_lyxrc.printer) {
os << "\\printer \"" << printer << "\"\n";
}
case RC_PRINT_ADAPTOUTPUT:
if (print_adapt_output != system_lyxrc.print_adapt_output) {
if (ignore_system_lyxrc ||
print_adapt_output != system_lyxrc.print_adapt_output) {
os << "\\print_adapt_output "
<< tostr(print_adapt_output)
<< '\n';
}
case RC_PRINT_COMMAND:
if (print_command != system_lyxrc.print_command) {
if (ignore_system_lyxrc ||
print_command != system_lyxrc.print_command) {
os << "\\print_command \"" << print_command << "\"\n";
}
case RC_PRINTEXSTRAOPTIONS:
if (print_extra_options != system_lyxrc.print_extra_options) {
if (ignore_system_lyxrc ||
print_extra_options != system_lyxrc.print_extra_options) {
os << "\\print_extra_options \"" << print_extra_options
<< "\"\n";
}
case RC_PRINTSPOOL_COMMAND:
if (print_spool_command != system_lyxrc.print_spool_command) {
if (ignore_system_lyxrc ||
print_spool_command != system_lyxrc.print_spool_command) {
os << "\\print_spool_command \"" << print_spool_command
<< "\"\n";
}
case RC_PRINTSPOOL_PRINTERPREFIX:
if (print_spool_printerprefix
if (ignore_system_lyxrc ||
print_spool_printerprefix
!= system_lyxrc.print_spool_printerprefix) {
os << "\\print_spool_printerprefix \""
<< print_spool_printerprefix << "\"\n";
}
case RC_PRINTEVENPAGEFLAG:
if (print_evenpage_flag != system_lyxrc.print_evenpage_flag) {
if (ignore_system_lyxrc ||
print_evenpage_flag != system_lyxrc.print_evenpage_flag) {
os << "\\print_evenpage_flag \"" << print_evenpage_flag
<< "\"\n";
}
case RC_PRINTODDPAGEFLAG:
if (print_oddpage_flag != system_lyxrc.print_oddpage_flag) {
if (ignore_system_lyxrc ||
print_oddpage_flag != system_lyxrc.print_oddpage_flag) {
os << "\\print_oddpage_flag \"" << print_oddpage_flag
<< "\"\n";
}
case RC_PRINTREVERSEFLAG:
if (print_reverse_flag != system_lyxrc.print_reverse_flag) {
if (ignore_system_lyxrc ||
print_reverse_flag != system_lyxrc.print_reverse_flag) {
os << "\\print_reverse_flag \"" << print_reverse_flag
<< "\"\n";
}
case RC_PRINTLANDSCAPEFLAG:
if (print_landscape_flag != system_lyxrc.print_landscape_flag) {
if (ignore_system_lyxrc ||
print_landscape_flag != system_lyxrc.print_landscape_flag) {
os << "\\print_landscape_flag \"" << print_landscape_flag
<< "\"\n";
}
case RC_PRINTPAGERANGEFLAG:
if (print_pagerange_flag != system_lyxrc.print_pagerange_flag) {
if (ignore_system_lyxrc ||
print_pagerange_flag != system_lyxrc.print_pagerange_flag) {
os << "\\print_pagerange_flag \"" << print_pagerange_flag
<< "\"\n";
}
case RC_PRINTCOPIESFLAG:
if (print_copies_flag != system_lyxrc.print_copies_flag) {
if (ignore_system_lyxrc ||
print_copies_flag != system_lyxrc.print_copies_flag) {
os << "\\print_copies_flag \"" << print_copies_flag
<< "\"\n";
}
case RC_PRINTCOLLCOPIESFLAG:
if (print_collcopies_flag
if (ignore_system_lyxrc ||
print_collcopies_flag
!= system_lyxrc.print_collcopies_flag) {
os << "\\print_collcopies_flag \""
<< print_collcopies_flag
<< "\"\n";
}
case RC_PRINTPAPERFLAG:
if (print_paper_flag != system_lyxrc.print_paper_flag) {
if (ignore_system_lyxrc ||
print_paper_flag != system_lyxrc.print_paper_flag) {
os << "\\print_paper_flag \"" << print_paper_flag
<< "\"\n";
}
case RC_PRINTPAPERDIMENSIONFLAG:
if (print_paper_dimension_flag
if (ignore_system_lyxrc ||
print_paper_dimension_flag
!= system_lyxrc.print_paper_dimension_flag) {
os << "\\print_paper_dimension_flag \""
<< print_paper_dimension_flag << "\"\n";
}
case RC_PRINTTOPRINTER:
if (print_to_printer != system_lyxrc.print_to_printer) {
if (ignore_system_lyxrc ||
print_to_printer != system_lyxrc.print_to_printer) {
os << "\\print_to_printer \"" << print_to_printer
<< "\"\n";
}
case RC_PRINTTOFILE:
if (print_to_file != system_lyxrc.print_to_file) {
if (ignore_system_lyxrc ||
print_to_file != system_lyxrc.print_to_file) {
os << "\\print_to_file \"" << print_to_file << "\"\n";
}
case RC_PRINTFILEEXTENSION:
if (print_file_extension != system_lyxrc.print_file_extension) {
if (ignore_system_lyxrc ||
print_file_extension != system_lyxrc.print_file_extension) {
os << "\\print_file_extension \""
<< print_file_extension
<< "\"\n";
@ -1494,14 +1550,16 @@ void LyXRC::write(ostream & os) const
<< "#\n\n";
case RC_CUSTOM_EXPORT_COMMAND:
if (custom_export_command
if (ignore_system_lyxrc ||
custom_export_command
!= system_lyxrc.custom_export_command) {
os << "\\custom_export_command \""
<< custom_export_command
<< "\"\n";
}
case RC_CUSTOM_EXPORT_FORMAT:
if (custom_export_format
if (ignore_system_lyxrc ||
custom_export_format
!= system_lyxrc.custom_export_format) {
os << "\\custom_export_format \"" << custom_export_format
<< "\"\n";
@ -1512,7 +1570,8 @@ void LyXRC::write(ostream & os) const
<< "#\n\n";
case RC_FONT_ENCODING:
if (fontenc != system_lyxrc.fontenc) {
if (ignore_system_lyxrc ||
fontenc != system_lyxrc.fontenc) {
os << "\\font_encoding \"" << fontenc << "\"\n";
}
@ -1521,42 +1580,51 @@ void LyXRC::write(ostream & os) const
<< "#\n\n";
case RC_DOCUMENTPATH:
if (document_path != system_lyxrc.document_path) {
if (ignore_system_lyxrc ||
document_path != system_lyxrc.document_path) {
os << "\\document_path \"" << document_path << "\"\n";
}
case RC_LASTFILES:
if (lastfiles != system_lyxrc.lastfiles) {
if (ignore_system_lyxrc ||
lastfiles != system_lyxrc.lastfiles) {
os << "\\lastfiles \"" << lastfiles << "\"\n";
}
case RC_NUMLASTFILES:
if (num_lastfiles != system_lyxrc.num_lastfiles) {
if (ignore_system_lyxrc ||
num_lastfiles != system_lyxrc.num_lastfiles) {
os << "\\num_lastfiles " << num_lastfiles << '\n';
}
case RC_CHECKLASTFILES:
if (check_lastfiles != system_lyxrc.check_lastfiles) {
if (ignore_system_lyxrc ||
check_lastfiles != system_lyxrc.check_lastfiles) {
os << "\\check_lastfiles " << tostr(check_lastfiles)
<< '\n';
}
case RC_TEMPLATEPATH:
if (template_path != system_lyxrc.template_path) {
if (ignore_system_lyxrc ||
template_path != system_lyxrc.template_path) {
os << "\\template_path \"" << template_path << "\"\n";
}
case RC_TEMPDIRPATH:
if (tempdir_path != system_lyxrc.tempdir_path) {
if (ignore_system_lyxrc ||
tempdir_path != system_lyxrc.tempdir_path) {
os << "\\tempdir_path \"" << tempdir_path << "\"\n";
}
case RC_USETEMPDIR:
// Ignore it
case RC_ASCII_LINELEN:
if (ascii_linelen != system_lyxrc.ascii_linelen) {
if (ignore_system_lyxrc ||
ascii_linelen != system_lyxrc.ascii_linelen) {
os << "\\ascii_linelen " << ascii_linelen << '\n';
}
case RC_MAKE_BACKUP:
if (make_backup != system_lyxrc.make_backup) {
if (ignore_system_lyxrc ||
make_backup != system_lyxrc.make_backup) {
os << "\\make_backup " << tostr(make_backup) << '\n';
}
case RC_BACKUPDIR_PATH:
if (backupdir_path != system_lyxrc.backupdir_path) {
if (ignore_system_lyxrc ||
backupdir_path != system_lyxrc.backupdir_path) {
os << "\\backupdir_path \"" << backupdir_path << "\"\n";
}
@ -1565,7 +1633,8 @@ void LyXRC::write(ostream & os) const
<< "#\n\n";
case RC_ASCIIROFF_COMMAND:
if (ascii_roff_command != system_lyxrc.ascii_roff_command) {
if (ignore_system_lyxrc ||
ascii_roff_command != system_lyxrc.ascii_roff_command) {
os << "\\ascii_roff_command \"" << ascii_roff_command
<< "\"\n";
}
@ -1574,39 +1643,47 @@ void LyXRC::write(ostream & os) const
<< "# SPELLCHECKER SECTION ##############################\n"
<< "#\n\n";
case RC_USE_SPELL_LIB:
if (use_spell_lib != system_lyxrc.use_spell_lib) {
if (ignore_system_lyxrc ||
use_spell_lib != system_lyxrc.use_spell_lib) {
os << "\\use_spell_lib " << tostr(use_spell_lib) << '\n';
}
case RC_SPELL_COMMAND:
if (isp_command != system_lyxrc.isp_command) {
if (ignore_system_lyxrc ||
isp_command != system_lyxrc.isp_command) {
os << "\\spell_command \"" << isp_command << "\"\n";
}
case RC_ACCEPT_COMPOUND:
if (isp_accept_compound != system_lyxrc.isp_accept_compound) {
if (ignore_system_lyxrc ||
isp_accept_compound != system_lyxrc.isp_accept_compound) {
os << "\\accept_compound " << tostr(isp_accept_compound)
<< '\n';
}
case RC_USE_ALT_LANG:
if (isp_use_alt_lang != system_lyxrc.isp_use_alt_lang) {
if (ignore_system_lyxrc ||
isp_use_alt_lang != system_lyxrc.isp_use_alt_lang) {
os << "\\use_alt_language " << tostr(isp_use_alt_lang)
<< '\n';
}
case RC_ALT_LANG:
if (isp_alt_lang != system_lyxrc.isp_alt_lang) {
if (ignore_system_lyxrc ||
isp_alt_lang != system_lyxrc.isp_alt_lang) {
os << "\\alternate_language \"" << isp_alt_lang
<< "\"\n";
}
case RC_USE_ESC_CHARS:
if (isp_use_esc_chars != system_lyxrc.isp_use_esc_chars) {
if (ignore_system_lyxrc ||
isp_use_esc_chars != system_lyxrc.isp_use_esc_chars) {
os << "\\use_escape_chars " << tostr(isp_use_esc_chars)
<< '\n';
}
case RC_ESC_CHARS:
if (isp_esc_chars != system_lyxrc.isp_esc_chars) {
if (ignore_system_lyxrc ||
isp_esc_chars != system_lyxrc.isp_esc_chars) {
os << "\\escape_chars \"" << isp_esc_chars << "\"\n";
}
case RC_USE_PERS_DICT:
if (isp_use_pers_dict != system_lyxrc.isp_use_pers_dict) {
if (ignore_system_lyxrc ||
isp_use_pers_dict != system_lyxrc.isp_use_pers_dict) {
os << "\\use_personal_dictionary "
<< tostr(isp_use_pers_dict)
<< '\n';
@ -1617,7 +1694,8 @@ void LyXRC::write(ostream & os) const
<< "\"\n";
}
case RC_USE_INP_ENC:
if (isp_use_input_encoding
if (ignore_system_lyxrc ||
isp_use_input_encoding
!= system_lyxrc.isp_use_input_encoding) {
os << "\\use_input_encoding "
<< tostr(isp_use_input_encoding)
@ -1629,59 +1707,69 @@ void LyXRC::write(ostream & os) const
<< "#\n\n";
case RC_RTL_SUPPORT:
if (rtl_support != system_lyxrc.rtl_support) {
if (ignore_system_lyxrc ||
rtl_support != system_lyxrc.rtl_support) {
os << "\\rtl " << tostr(rtl_support) << '\n';
}
case RC_LANGUAGE_PACKAGE:
if (language_package != system_lyxrc.language_package) {
if (ignore_system_lyxrc ||
language_package != system_lyxrc.language_package) {
os << "\\language_package \"" << language_package
<< "\"\n";
}
case RC_LANGUAGE_GLOBAL_OPTIONS:
if (language_global_options
if (ignore_system_lyxrc ||
language_global_options
!= system_lyxrc.language_global_options) {
os << "\\language_global_options \""
<< tostr(language_global_options)
<< "\"\n";
}
case RC_LANGUAGE_USE_BABEL:
if (language_use_babel != system_lyxrc.language_use_babel) {
if (ignore_system_lyxrc ||
language_use_babel != system_lyxrc.language_use_babel) {
os << "\\language_use_babel \""
<< tostr(language_use_babel)
<< "\"\n";
}
case RC_LANGUAGE_COMMAND_BEGIN:
if (language_command_begin
if (ignore_system_lyxrc ||
language_command_begin
!= system_lyxrc.language_command_begin) {
os << "\\language_command_begin \""
<< language_command_begin
<< "\"\n";
}
case RC_LANGUAGE_COMMAND_END:
if (language_command_end
if (ignore_system_lyxrc ||
language_command_end
!= system_lyxrc.language_command_end) {
os << "\\language_command_end \"" << language_command_end
<< "\"\n";
}
case RC_LANGUAGE_COMMAND_LOCAL:
if (language_command_local
if (ignore_system_lyxrc ||
language_command_local
!= system_lyxrc.language_command_local) {
os << "\\language_command_local \""
<< language_command_local
<< "\"\n";
}
case RC_LANGUAGE_AUTO_BEGIN:
if (language_auto_begin != system_lyxrc.language_auto_begin) {
if (ignore_system_lyxrc ||
language_auto_begin != system_lyxrc.language_auto_begin) {
os << "\\language_auto_begin "
<< tostr(language_auto_begin) << '\n';
}
case RC_LANGUAGE_AUTO_END:
if (language_auto_end != system_lyxrc.language_auto_end) {
if (ignore_system_lyxrc ||
language_auto_end != system_lyxrc.language_auto_end) {
os << "\\language_auto_end "
<< tostr(language_auto_end) << '\n';
}
case RC_MARK_FOREIGN_LANGUAGE:
if (mark_foreign_language
if (ignore_system_lyxrc ||
mark_foreign_language
!= system_lyxrc.mark_foreign_language) {
os << "\\mark_foreign_language " <<
tostr(mark_foreign_language) << '\n';
@ -1692,11 +1780,13 @@ void LyXRC::write(ostream & os) const
<< "#\n\n";
case RC_AUTO_NUMBER:
if (auto_number != system_lyxrc.auto_number) {
if (ignore_system_lyxrc ||
auto_number != system_lyxrc.auto_number) {
os << "\\auto_number " << tostr(auto_number) << '\n';
}
case RC_DEFAULT_LANGUAGE:
if (default_language != system_lyxrc.default_language) {
if (ignore_system_lyxrc ||
default_language != system_lyxrc.default_language) {
os << "\\default_language " << default_language << '\n';
}

View File

@ -148,9 +148,11 @@ private:
int read(LyXLex &);
public:
///
void write(std::string const & filename) const;
void write(std::string const & filename,
bool ignore_system_lyxrc) const;
///
void write(std::ostream & os) const;
void write(std::ostream & os,
bool ignore_system_lyxrc) const;
///
void print() const;
///