#include "support/path.h"
#include "support/filetools.h"
#include "lyxtext.h"
+#include "converter.h"
+using std::ostream;
using std::ofstream;
using std::cout;
using std::ios;
// not in lyxrc?? (Matthias)
// Because nobody put them there. (Asger)
-extern string background_color;
-extern char selection_color[];
extern bool cursor_follows_scrollbar;
extern LyXAction lyxaction;
extern kb_keymap * toplevel_keymap;
enum LyXRCTags {
- RC_BEGINTOOLBAR = 1,
- RC_FONT_ENCODING,
+ RC_FONT_ENCODING = 1,
RC_PRINTER,
RC_PRINT_COMMAND,
RC_PRINTEVENPAGEFLAG,
RC_SCREEN_FONT_POPUP,
RC_SCREEN_FONT_ENCODING,
RC_SCREEN_FONT_ENCODING_MENU,
+ RC_SET_COLOR,
RC_AUTOSAVE,
RC_DOCUMENTPATH,
RC_TEMPLATEPATH,
RC_LASTFILES,
RC_AUTOREGIONDELETE,
RC_BIND,
+ RC_OVERRIDE_X_DEADKEYS,
RC_SERVERPIPE,
RC_INPUT,
RC_BINDFILE,
+ RC_UIFILE,
RC_KBMAP,
RC_KBMAP_PRIMARY,
RC_KBMAP_SECONDARY,
- RC_SELECTION_COLOR,
- RC_BACKGROUND_COLOR,
RC_FAX_COMMAND,
RC_PHONEBOOK,
RC_FAXPROGRAM,
RC_MAKE_BACKUP,
RC_BACKUPDIR_PATH,
RC_RTL_SUPPORT,
- RC_NUMBER_INSET,
+ RC_AUTO_NUMBER,
+ RC_MARK_FOREIGN_LANGUAGE,
RC_LANGUAGE_PACKAGE,
RC_LANGUAGE_AUTO_BEGIN,
RC_LANGUAGE_AUTO_END,
RC_DOCBOOK_TO_DVI_COMMAND,
RC_DOCBOOK_TO_HTML_COMMAND,
RC_DOCBOOK_TO_PDF_COMMAND,
+ RC_WHEEL_JUMP,
+ RC_CONVERTER,
+ RC_VIEWER,
+ RC_NEW_ASK_FILENAME,
RC_LAST
};
{ "\\alternate_language", RC_ALT_LANG },
{ "\\ascii_linelen", RC_ASCII_LINELEN },
{ "\\ascii_roff_command", RC_ASCIIROFF_COMMAND },
+ { "\\auto_number", RC_AUTO_NUMBER },
{ "\\auto_region_delete", RC_AUTOREGIONDELETE },
{ "\\autosave", RC_AUTOSAVE },
- { "\\background_color", RC_BACKGROUND_COLOR },
{ "\\backupdir_path", RC_BACKUPDIR_PATH },
- { "\\begin_toolbar", RC_BEGINTOOLBAR },
{ "\\bind", RC_BIND },
{ "\\bind_file", RC_BINDFILE },
{ "\\build_command", RC_BUILD_COMMAND },
{ "\\build_error_filter", RC_BUILD_ERROR_FILTER },
{ "\\check_lastfiles", RC_CHECKLASTFILES },
{ "\\chktex_command", RC_CHKTEX_COMMAND },
+ { "\\converter", RC_CONVERTER },
{ "\\cursor_follows_scrollbar", RC_CURSOR_FOLLOWS_SCROLLBAR },
{ "\\custom_export_command", RC_CUSTOM_EXPORT_COMMAND },
{ "\\custom_export_format", RC_CUSTOM_EXPORT_FORMAT },
{ "\\literate_error_filter", RC_LITERATE_ERROR_FILTER },
{ "\\literate_extension", RC_LITERATE_EXTENSION },
{ "\\make_backup", RC_MAKE_BACKUP },
+ { "\\mark_foreign_language", RC_MARK_FOREIGN_LANGUAGE },
+ { "\\new_ask_filename", RC_NEW_ASK_FILENAME },
{ "\\num_lastfiles", RC_NUMLASTFILES },
- { "\\number_inset", RC_NUMBER_INSET },
+ { "\\override_x_deadkeys", RC_OVERRIDE_X_DEADKEYS },
{ "\\pdf_mode", RC_PDF_MODE },
{ "\\pdf_to_ps_command", RC_PDF_TO_PS_COMMAND },
{ "\\pdflatex_command", RC_PDFLATEX_COMMAND },
{ "\\screen_font_sizes", RC_SCREEN_FONT_SIZES },
{ "\\screen_font_typewriter", RC_SCREEN_FONT_TYPEWRITER },
{ "\\screen_zoom", RC_SCREEN_ZOOM },
- { "\\selection_color", RC_SELECTION_COLOR },
{ "\\serverpipe", RC_SERVERPIPE },
+ { "\\set_color", RC_SET_COLOR },
{ "\\show_banner", RC_SHOW_BANNER },
{ "\\spell_command", RC_SPELL_COMMAND },
{ "\\tempdir_path", RC_TEMPDIRPATH },
{ "\\template_path", RC_TEMPLATEPATH },
+ { "\\ui_file", RC_UIFILE },
{ "\\use_alt_language", RC_USE_ALT_LANG },
{ "\\use_escape_chars", RC_USE_ESC_CHARS },
{ "\\use_gui", RC_USE_GUI },
{ "\\view_dvi_paper_option", RC_VIEWDVI_PAPEROPTION },
{ "\\view_pdf_command", RC_VIEWPDF_COMMAND },
{ "\\view_ps_command", RC_VIEWPS_COMMAND },
- { "\\view_pspic_command", RC_VIEWPSPIC_COMMAND }
+ { "\\view_pspic_command", RC_VIEWPSPIC_COMMAND },
+ { "\\viewer" ,RC_VIEWER},
+ { "\\wheel_jump", RC_WHEEL_JUMP }
};
/* Let the range depend of the size of lyxrcTags. Alejandro 240596 */
void LyXRC::setDefaults() {
+ ui_file = "default";
// Get printer from the environment. If fail, use default "",
// assuming that everything is set up correctly.
printer = GetEnv("PRINTER");
dpi = 75;
// Because a screen typically is wider than a piece of paper:
zoom = 150;
+ wheel_jump = 100;
// Default LaTeX font size:
font_sizes[LyXFont::SIZE_TINY] = 5.0;
font_sizes[LyXFont::SIZE_SCRIPT] = 7.0;
menu_font_name = "-*-helvetica-bold-r";
popup_font_name = "-*-helvetica-medium-r";
font_norm = "iso8859-1";
+ font_norm_type = OTHER_ENCODING;
font_norm_menu = "";
+ override_x_deadkeys = true;
autosave = 300;
auto_region_delete = true;
- ascii_linelen = 75;
+ ascii_linelen = 65;
num_lastfiles = 4;
check_lastfiles = true;
make_backup = true;
use_kbmap = false;
hasBindFile = false;
rtl_support = false;
- number_inset = "rtl";
+ auto_number = true;
+ mark_foreign_language = true;
language_package = "\\usepackage{babel}";
language_auto_begin = true;
language_auto_end = true;
language_command_begin = "\\selectlanguage{$$lang}";
language_command_end = "\\selectlanguage{$$lang}";
+ ///
+ new_ask_filename = false;
///
date_insert_format = "%A, %e %B %Y";
docbook_to_dvi_command="none";
docbook_to_html_command="none";
docbook_to_pdf_command="none";
-
- //
- defaultKeyBindings();
}
break;
case RC_BINDFILE: // RVDK_PATCH_5
if (lexrc.next()) {
- ReadBindFile(lexrc.GetString());
+ string tmp(lexrc.GetString());
+ if (bind_file.empty()) {
+ // we only need the name of the first
+ // bind file since that (usually)
+ // includes several others.
+ bind_file = tmp;
+ }
+ ReadBindFile(tmp);
}
break;
- case RC_BEGINTOOLBAR:
- // this toolbar should be changed to be a completely
- // non gui toolbar. (Lgb)
- toolbardefaults.read(lexrc);
- break;
-
- case RC_KBMAP:
- if (lexrc.next())
- use_kbmap = lexrc.GetBool();
+ case RC_UIFILE:
+ if (lexrc.next()) {
+ ui_file = lexrc.GetString();
+ }
break;
case RC_EXIT_CONFIRMATION:
display_shortcuts = lexrc.GetBool();
break;
- case RC_KBMAP_PRIMARY:
+ case RC_KBMAP:
if (lexrc.next())
- primary_kbmap = lexrc.GetString();
+ use_kbmap = lexrc.GetBool();
+ break;
+
+ case RC_KBMAP_PRIMARY:
+ if (lexrc.next()) {
+ string kmap(lexrc.GetString());
+ if (kmap.empty()) {
+ // nothing
+ } else if (!LibFileSearch("kbd", kmap,
+ "kmap").empty())
+ primary_kbmap = kmap;
+ else
+ lexrc.printError("LyX: Keymap `$$Token' not found");
+ }
break;
case RC_KBMAP_SECONDARY:
- if (lexrc.next())
- secondary_kbmap = lexrc.GetString();
+ if (lexrc.next()) {
+ string kmap(lexrc.GetString());
+ if (kmap.empty()) {
+ // nothing
+ } else if (!LibFileSearch("kbd", kmap,
+ "kmap").empty())
+ secondary_kbmap = kmap;
+ else
+ lexrc.printError("LyX: Keymap `$$Token' not found");
+ }
break;
case RC_FONT_ENCODING:
if (lexrc.next())
zoom = lexrc.GetInteger();
break;
+
+ case RC_WHEEL_JUMP:
+ if (lexrc.next())
+ wheel_jump = lexrc.GetInteger();
+ break;
case RC_SCREEN_FONT_SIZES:
if (lexrc.next())
break;
case RC_SCREEN_FONT_ENCODING:
- if (lexrc.next())
+ if (lexrc.next()) {
font_norm = lexrc.GetString();
+ set_font_norm_type();
+ }
break;
case RC_SCREEN_FONT_ENCODING_MENU:
font_norm_menu = lexrc.GetString();
break;
+ case RC_SET_COLOR:
+ {
+ string lyx_name, x11_name;
+
+ if (lexrc.next()) {
+ lyx_name = lexrc.GetString();
+ } else {
+ lexrc.printError("Missing color tag.");
+ break;
+ }
+
+ if (lexrc.next()) {
+ x11_name = lexrc.GetString();
+ } else {
+ lexrc.printError("Missing color name for color : `$$Token'");
+ break;
+ }
+
+ if (!lcolor.setColor(lyx_name, x11_name))
+ lyxerr << "Bad lyxrc set_color for "
+ << lyx_name << endl;
+
+ break;
+ }
case RC_AUTOREGIONDELETE:
// Auto region delete defaults to true
if (lexrc.next())
// we should not do an explicit binding before
// loading a bind file. So, in this case, load
// the default bind file.
- if (!hasBindFile)
+ if (!hasBindFile) {
ReadBindFile();
-
+ bind_file = bindFile;
+ }
// !!!chb, dynamic key binding...
int action, res = 0;
string seq, cmd;
}
if ((action = lyxaction.LookupFunc(cmd.c_str()))>= 0) {
- if (lyxerr.debugging(Debug::KEY)) {
+ if (lyxerr.debugging(Debug::KBMAP)) {
lyxerr << "RC_BIND: Sequence `"
<< seq << "' Command `"
<< cmd << "' Action `"
}
break;
}
+ case RC_OVERRIDE_X_DEADKEYS:
+ if (lexrc.next())
+ override_x_deadkeys = lexrc.GetBool();
+ break;
+
case RC_SERVERPIPE:
if (lexrc.next())
lyxpipes = ExpandPath(lexrc.GetString());
cursor_follows_scrollbar = lexrc.GetBool();
break;
- case RC_BACKGROUND_COLOR:
- if (lexrc.next())
- background_color = lexrc.GetString();
- break;
- case RC_SELECTION_COLOR:
- if (lexrc.next())
- strncpy(selection_color,
- lexrc.GetString().c_str(), 31);
- break;
case RC_FAX_COMMAND:
if (lexrc.next())
fax_command = lexrc.GetString();
if (lexrc.next())
rtl_support = lexrc.GetBool();
break;
- case RC_NUMBER_INSET:
+ case RC_AUTO_NUMBER:
+ if (lexrc.next())
+ auto_number = lexrc.GetBool();
+ break;
+ case RC_MARK_FOREIGN_LANGUAGE:
if (lexrc.next())
- number_inset = lowercase(lexrc.GetString());
+ mark_foreign_language = lexrc.GetBool();
break;
case RC_SHOW_BANNER:
if (lexrc.next())
if ( lexrc.next())
docbook_to_pdf_command = lexrc.GetString();
break;
+
+ case RC_NEW_ASK_FILENAME:
+ if ( lexrc.next())
+ new_ask_filename = lexrc.GetBool();
+ break;
+ case RC_CONVERTER:
+ {
+ string from, to, command, flags;
+ if (lexrc.next())
+ from = lexrc.GetString();
+ if (lexrc.next())
+ to = lexrc.GetString();
+ if (lexrc.next())
+ command = lexrc.GetString();
+ if (lexrc.next())
+ flags = lexrc.GetString();
+ command = subst(command, "$$FName", "'$$FName'");
+ command = subst(command, "$$BaseName", "'$$BaseName'");
+ command = subst(command, "$$OutName", "'$$OutName'");
+ Converter::Add(from, to, command, flags);
+ break;
+ }
+ case RC_VIEWER:
+ {
+ string format, command;
+ if (lexrc.next())
+ format = lexrc.GetString();
+ if (lexrc.next())
+ command = lexrc.GetString();
+ command = subst(command, "$$FName", "'$$FName'");
+ Formats::SetViewer(format, command);
+ break;
+ }
+
case RC_LAST: break; // this is just a dummy
}
}
<< "### LyX, The Document Processor\n"
<< "###\n"
<< "### Copyright 1995 Matthias Ettrich\n"
- << "### Copyright 1995-1998 The LyX Team.\n"
+ << "### Copyright 1995-2000 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"
- << "# your preferences, or you can also make your modifications\n"
- << "# to lyxrc by hand. It is not advisable to edit this file.\n"
<< "\n";
// Why the switch you might ask. It is a trick to ensure that all
case RC_BIND:
// bindings is not written to the preferences file.
case RC_BINDFILE:
+ os << "\\bind_file " << bind_file << "\n";
+
+ //
+ // Misc Section
+ //
+ os << "\n#\n"
+ << "# MISC SECTION ######################################\n"
+ << "#\n\n";
+
+ case RC_SHOW_BANNER:
+ os << "# Set to false to inhibit the startup banner.\n"
+ << "\\show_banner " << tostr(show_banner) << "\n";
+
// bind files are not done here.
- case RC_BEGINTOOLBAR:
- // Toolbar is not written here (yet).
- case RC_FONT_ENCODING:
- os << "\\font_encoding \"" << fontenc << "\"\n";
- case RC_PRINTER:
- os << "\\printer \"" << printer << "\"\n";
- case RC_PRINT_COMMAND:
- os << "\\print_command \"" << print_command << "\"\n";
- case RC_PRINTEVENPAGEFLAG:
- os << "\\print_evenpage_flag \"" << print_evenpage_flag
- << "\"\n";
- case RC_PRINTODDPAGEFLAG:
- os << "\\print_oddpage_flag \"" << print_oddpage_flag
- << "\"\n";
- case RC_PRINTPAGERANGEFLAG:
- os << "\\print_pagerange_flag \"" << print_pagerange_flag
- << "\"\n";
- case RC_PRINTCOPIESFLAG:
- os << "\\print_copies_flag \"" << print_copies_flag << "\"\n";
- case RC_PRINTCOLLCOPIESFLAG:
- os << "\\print_collcopies_flag \"" << print_collcopies_flag
- << "\"\n";
- case RC_PRINTREVERSEFLAG:
- os << "\\print_reverse_flag \"" << print_reverse_flag
- << "\"\n";
- case RC_PRINTLANDSCAPEFLAG:
- os << "\\print_landscape_flag \"" << print_landscape_flag
- << "\"\n";
- case RC_PRINTTOPRINTER:
- os << "\\print_to_printer \"" << print_to_printer << "\"\n";
- case RC_PRINT_ADAPTOUTPUT:
- os << "\\print_adapt_output " << tostr(print_adapt_output)
- << "\n";
- case RC_PRINTTOFILE:
- os << "\\print_to_file \"" << print_to_file << "\"\n";
- case RC_PRINTFILEEXTENSION:
- os << "\\print_file_extension \"" << print_file_extension
- << "\"\n";
- case RC_PRINTEXSTRAOPTIONS:
- os << "\\print_extra_options \"" << print_extra_options
- << "\"\n";
- case RC_PRINTSPOOL_COMMAND:
- os << "\\print_spool_command \"" << print_spool_command
- << "\"\n";
- case RC_PRINTSPOOL_PRINTERPREFIX:
- os << "\\print_spool_printerprefix \""
- << print_spool_printerprefix << "\"\n";
- case RC_PRINTPAPERDIMENSIONFLAG:
- os << "\\print_paper_dimension_flag \""
- << print_paper_dimension_flag << "\"\n";
- case RC_PRINTPAPERFLAG:
- os << "\\print_paper_flag \"" << print_paper_flag << "\"\n";
- case RC_CUSTOM_EXPORT_COMMAND:
- os << "\\custom_export_command \"" << custom_export_command
- << "\"\n";
- case RC_CUSTOM_EXPORT_FORMAT:
- os << "\\custom_export_format \"" << custom_export_format
- << "\"\n";
- case RC_PDF_MODE:
- os << "\\pdf_mode " << tostr(pdf_mode) << "\n";
- case RC_LATEX_COMMAND:
- os << "\\latex_command \"" << latex_command << "\"\n";
- case RC_PDFLATEX_COMMAND:
- os << "\\pdflatex_command \"" << pdflatex_command << "\"\n";
- case RC_PDF_TO_PS_COMMAND:
- os << "\\pdf_to_ps_command \"" << pdf_to_ps_command << "\"\n";
- case RC_DVI_TO_PS_COMMAND:
- os << "\\dvi_to_ps_command \"" << dvi_to_ps_command << "\"\n";
- case RC_LITERATE_COMMAND:
- os << "\\literate_command \"" << literate_command << "\"\n";
- case RC_LITERATE_EXTENSION:
- os << "\\literate_extension \"" << literate_extension
- << "\"\n";
- case RC_LITERATE_ERROR_FILTER:
- os << "\\literate_error_filter \"" << literate_error_filter
- << "\"\n";
- case RC_BUILD_COMMAND:
- os << "\\build_command \"" << build_command << "\"\n";
- case RC_BUILD_ERROR_FILTER:
- os << "\\build_error_filter \"" << build_error_filter
- << "\"\n";
- case RC_SCREEN_DPI:
- os << "\\screen_dpi " << dpi << "\n";
- case RC_SCREEN_ZOOM:
- os << "\\screen_zoom " << zoom << "\n";
- case RC_SCREEN_FONT_SIZES:
- os.setf(ios::fixed);
- os.precision(2);
- os << "\\screen_font_sizes";
- os << " " << font_sizes[LyXFont::SIZE_TINY];
- os << " " << font_sizes[LyXFont::SIZE_SCRIPT];
- os << " " << font_sizes[LyXFont::SIZE_FOOTNOTE];
- os << " " << font_sizes[LyXFont::SIZE_SMALL];
- os << " " << font_sizes[LyXFont::SIZE_NORMAL];
- os << " " << font_sizes[LyXFont::SIZE_LARGE];
- os << " " << font_sizes[LyXFont::SIZE_LARGER];
- os << " " << font_sizes[LyXFont::SIZE_LARGEST];
- os << " " << font_sizes[LyXFont::SIZE_HUGE];
- os << " " << font_sizes[LyXFont::SIZE_HUGER];
- os << "\n";
+ case RC_UIFILE:
+ os << "\\ui_file \"" << ui_file << "\"\n";
case RC_AUTOREGIONDELETE:
- os << "\\auto_region_delete " << tostr(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_AUTOSAVE:
- os << "\\autosave " << autosave << "\n";
+ os << "# The time interval between auto-saves in seconds.\n"
+ << "\\autosave " << autosave << "\n";
case RC_EXIT_CONFIRMATION:
- os << "\\exit_confirmation " << tostr(exit_confirmation)
+ os << "# Ask for confirmation before exit if there are\n"
+ << "# unsaved changed documents.\n"
+ << "\\exit_confirmation " << tostr(exit_confirmation)
<< "\n";
case RC_DISPLAY_SHORTCUTS:
- os << "\\display_shortcuts " << tostr(display_shortcuts)
+ os << "# Display name of the last command executed, with a\n"
+ << "# list of short-cuts in the minibuffer.\n"
+ << "\\display_shortcuts " << tostr(display_shortcuts)
<< "\n";
case RC_VIEWDVI_COMMAND:
- os << "\\view_dvi_command \"" << view_dvi_command << "\"\n";
+ os << "# Program used to view dvi files.\n"
+ << "\\view_dvi_command \"" << view_dvi_command << "\"\n";
case RC_VIEWDVI_PAPEROPTION:
- os << "\\view_dvi_paper_option \"" << view_dvi_paper_option << "\"\n";
- case RC_VIEWPDF_COMMAND:
- os << "\\view_pdf_command \"" << view_pdf_command << "\"\n";
+ os << "# Options used to specify paper size to the\n"
+ << "# view_dvi_command\n"
+ << "\\view_dvi_paper_option \""
+ << view_dvi_paper_option << "\"\n";
case RC_DEFAULT_PAPERSIZE:
- os << "\\default_papersize \"";
+ os << "# The default papersize to use.\n"
+ << "\\default_papersize \"";
switch (default_papersize) {
case BufferParams::PAPER_USLETTER:
os << "usletter"; break;
case BufferParams::PAPER_DEFAULT: break;
}
os << "\"\n";
+ case RC_VIEWPDF_COMMAND:
+ os << "# Command used to view PDF files.\n"
+ << "\\view_pdf_command \"" << view_pdf_command << "\"\n";
case RC_VIEWPS_COMMAND:
- os << "\\view_ps_command \"" << view_ps_command << "\"\n";
+ os << "# Command used to view PostScript files.\n"
+ << "\\view_ps_command \"" << view_ps_command << "\"\n";
case RC_VIEWPSPIC_COMMAND:
- os << "\\view_pspic_command \"" << view_pspic_command
+ os << "# Command used to view full screen included PS\n"
+ << "# pictures.\n"
+ << "\\view_pspic_command \"" << view_pspic_command
<< "\"\n";
case RC_PS_COMMAND:
- os << "\\ps_command \"" << ps_command << "\"\n";
+ os << "# Program used for interpreting postscript.\n"
+ << "\\ps_command \"" << ps_command << "\"\n";
case RC_CHKTEX_COMMAND:
os << "\\chktex_command \"" << chktex_command << "\"\n";
case RC_HTML_COMMAND:
os << "\\serverpipe \"" << lyxpipes << "\"\n";
case RC_RELYX_COMMAND:
os << "\\relyx_command \"" << relyx_command << "\"\n";
- case RC_DOCUMENTPATH:
- os << "\\document_path \"" << document_path << "\"\n";
- case RC_TEMPLATEPATH:
- os << "\\template_path \"" << template_path << "\"\n";
- case RC_TEMPDIRPATH:
- os << "\\tempdir_path \"" << tempdir_path << "\"\n";
- case RC_USETEMPDIR:
- os << "\\use_tempdir " << tostr(use_tempdir) << "\n";
- case RC_LASTFILES:
- os << "\\lastfiles \"" << lastfiles << "\"\n";
- case RC_NUMLASTFILES:
- os << "\\num_lastfiles " << num_lastfiles << "\n";
- case RC_CHECKLASTFILES:
- os << "\\check_lastfiles " << tostr(check_lastfiles) << "\n";
+ case RC_DATE_INSERT_FORMAT:
+ os << "\\date_insert_format \"" << date_insert_format
+ << "\"\n";
+
+
+ os << "\n#\n"
+ << "# SCREEN & FONTS SECTION ############################\n"
+ << "#\n\n";
+
+ case RC_SCREEN_DPI:
+ os << "\\screen_dpi " << dpi << "\n";
+ case RC_SCREEN_ZOOM:
+ os << "\\screen_zoom " << zoom << "\n";
+ case RC_WHEEL_JUMP:
+ os << "\\wheel_jump " << wheel_jump << "\n";
+ case RC_CURSOR_FOLLOWS_SCROLLBAR:
+ os << "\\cursor_follows_scrollbar "
+ << tostr(cursor_follows_scrollbar) << "\n";
case RC_SCREEN_FONT_ROMAN:
os << "\\screen_font_roman \"" << roman_font_name << "\"\n";
case RC_SCREEN_FONT_SANS:
case RC_SCREEN_FONT_TYPEWRITER:
os << "\\screen_font_typewriter \""
<< typewriter_font_name << "\"\n";
- case RC_SCREEN_FONT_MENU:
- os << "\\screen_font_menu \"" << menu_font_name << "\"\n";
- case RC_SCREEN_FONT_POPUP:
- os << "\\screen_font_popup \"" << popup_font_name << "\"\n";
- case RC_SCREEN_FONT_ENCODING:
- os << "\\screen_font_encoding \"" << font_norm << "\"\n";
- case RC_SCREEN_FONT_ENCODING_MENU:
- os << "\\screen_font_encoding_menu \"" << font_norm_menu
- << "\"\n";
case RC_SCREEN_FONT_SCALABLE:
os << "\\screen_font_scalable " << tostr(use_scalable_fonts)
<< "\n";
- case RC_CURSOR_FOLLOWS_SCROLLBAR:
- os << "\\cursor_follows_scrollbar "
- << tostr(cursor_follows_scrollbar) << "\n";
- case RC_BACKGROUND_COLOR:
- os << "\\background_color \"" << background_color << "\"\n";
- case RC_SELECTION_COLOR:
- os << "\\selection_color \"" << selection_color << "\"\n";
+ case RC_SCREEN_FONT_ENCODING:
+ os << "\\screen_font_encoding \"" << font_norm << "\"\n";
+ case RC_SCREEN_FONT_POPUP:
+ os << "\\screen_font_popup \"" << popup_font_name << "\"\n";
+ case RC_SCREEN_FONT_MENU:
+ os << "\\screen_font_menu \"" << menu_font_name << "\"\n";
+ case RC_SCREEN_FONT_SIZES:
+ os.setf(ios::fixed);
+ os.precision(2);
+ os << "\\screen_font_sizes";
+ os << " " << font_sizes[LyXFont::SIZE_TINY];
+ os << " " << font_sizes[LyXFont::SIZE_SCRIPT];
+ os << " " << font_sizes[LyXFont::SIZE_FOOTNOTE];
+ os << " " << font_sizes[LyXFont::SIZE_SMALL];
+ os << " " << font_sizes[LyXFont::SIZE_NORMAL];
+ os << " " << font_sizes[LyXFont::SIZE_LARGE];
+ os << " " << font_sizes[LyXFont::SIZE_LARGER];
+ os << " " << font_sizes[LyXFont::SIZE_LARGEST];
+ os << " " << font_sizes[LyXFont::SIZE_HUGE];
+ os << " " << font_sizes[LyXFont::SIZE_HUGER];
+ os << "\n";
+ //case RC_SET_COLOR:
+ // color bindings not written to preference file.
+ // And we want to be warned about that. (Lgb)
+
+ os << "\n#\n"
+ << "# PRINTER SECTION ###################################\n"
+ << "#\n\n";
+
+ case RC_PRINTER:
+ os << "\\printer \"" << printer << "\"\n";
+ case RC_PRINT_ADAPTOUTPUT:
+ os << "\\print_adapt_output " << tostr(print_adapt_output)
+ << "\n";
+ case RC_PRINT_COMMAND:
+ os << "\\print_command \"" << print_command << "\"\n";
+ case RC_PRINTEXSTRAOPTIONS:
+ os << "\\print_extra_options \"" << print_extra_options
+ << "\"\n";
+ case RC_PRINTSPOOL_COMMAND:
+ os << "\\print_spool_command \"" << print_spool_command
+ << "\"\n";
+ case RC_PRINTSPOOL_PRINTERPREFIX:
+ os << "\\print_spool_printerprefix \""
+ << print_spool_printerprefix << "\"\n";
+ case RC_PRINTEVENPAGEFLAG:
+ os << "\\print_evenpage_flag \"" << print_evenpage_flag
+ << "\"\n";
+ case RC_PRINTODDPAGEFLAG:
+ os << "\\print_oddpage_flag \"" << print_oddpage_flag
+ << "\"\n";
+ case RC_PRINTREVERSEFLAG:
+ os << "\\print_reverse_flag \"" << print_reverse_flag
+ << "\"\n";
+ case RC_PRINTLANDSCAPEFLAG:
+ os << "\\print_landscape_flag \"" << print_landscape_flag
+ << "\"\n";
+ case RC_PRINTPAGERANGEFLAG:
+ os << "\\print_pagerange_flag \"" << print_pagerange_flag
+ << "\"\n";
+ case RC_PRINTCOPIESFLAG:
+ os << "\\print_copies_flag \"" << print_copies_flag << "\"\n";
+ case RC_PRINTCOLLCOPIESFLAG:
+ os << "\\print_collcopies_flag \"" << print_collcopies_flag
+ << "\"\n";
+ case RC_PRINTPAPERFLAG:
+ os << "\\print_paper_flag \"" << print_paper_flag << "\"\n";
+ case RC_PRINTPAPERDIMENSIONFLAG:
+ os << "\\print_paper_dimension_flag \""
+ << print_paper_dimension_flag << "\"\n";
+ case RC_PRINTTOPRINTER:
+ os << "\\print_to_printer \"" << print_to_printer << "\"\n";
+ case RC_PRINTTOFILE:
+ os << "\\print_to_file \"" << print_to_file << "\"\n";
+ case RC_PRINTFILEEXTENSION:
+ os << "\\print_file_extension \"" << print_file_extension
+ << "\"\n";
+
+ os << "\n#\n"
+ << "# EXPORT SECTION ####################################\n"
+ << "#\n\n";
+
+ case RC_CUSTOM_EXPORT_COMMAND:
+ os << "\\custom_export_command \"" << custom_export_command
+ << "\"\n";
+ case RC_CUSTOM_EXPORT_FORMAT:
+ os << "\\custom_export_format \"" << custom_export_format
+ << "\"\n";
+
+ os << "\n#\n"
+ << "# TEX SECTION #######################################\n"
+ << "#\n\n";
+
+ case RC_LATEX_COMMAND:
+ os << "\\latex_command \"" << latex_command << "\"\n";
+ case RC_PDFLATEX_COMMAND:
+ os << "\\pdflatex_command \"" << pdflatex_command << "\"\n";
+ case RC_PDF_MODE:
+ os << "\\pdf_mode " << tostr(pdf_mode) << "\n";
+ case RC_FONT_ENCODING:
+ os << "\\font_encoding \"" << fontenc << "\"\n";
+
+ os << "\n#\n"
+ << "# LINUXDOC SECTION ##################################\n"
+ << "#\n\n";
+
+ case RC_LINUXDOC_TO_LATEX_COMMAND:
+ os << "\\linuxdoc_to_latex_command \"" << linuxdoc_to_latex_command
+ << "\"\n";
+ case RC_LINUXDOC_TO_HTML_COMMAND:
+ os << "\\linuxdoc_to_html_command \"" << linuxdoc_to_html_command
+ << "\"\n";
+ case RC_LINUXDOC_TO_LYX_COMMAND:
+ os << "\\linuxdoc_to_lyx_command \"" << linuxdoc_to_lyx_command
+ << "\"\n";
+
+ os << "\n#\n"
+ << "# DOCBOOK SECTION ###################################\n"
+ << "#\n\n";
+
+ case RC_DOCBOOK_TO_DVI_COMMAND:
+ os << "\\docbook_to_dvi_command \"" << docbook_to_dvi_command
+ << "\"\n";
+ case RC_DOCBOOK_TO_HTML_COMMAND:
+ os << "\\docbook_to_html_command \"" << docbook_to_html_command
+ << "\"\n";
+ case RC_DOCBOOK_TO_PDF_COMMAND:
+ os << "\\docbook_to_pdf_command \"" << docbook_to_pdf_command
+ << "\"\n";
+
+ os << "\n#\n"
+ << "# FILE SECTION ######################################\n"
+ << "#\n\n";
+
+ case RC_DOCUMENTPATH:
+ os << "\\document_path \"" << document_path << "\"\n";
+ case RC_LASTFILES:
+ os << "\\lastfiles \"" << lastfiles << "\"\n";
+ case RC_NUMLASTFILES:
+ os << "\\num_lastfiles " << num_lastfiles << "\n";
+ case RC_CHECKLASTFILES:
+ os << "\\check_lastfiles " << tostr(check_lastfiles) << "\n";
+ case RC_TEMPLATEPATH:
+ os << "\\template_path \"" << template_path << "\"\n";
+ case RC_TEMPDIRPATH:
+ os << "\\tempdir_path \"" << tempdir_path << "\"\n";
+ case RC_USETEMPDIR:
+ os << "\\use_tempdir " << tostr(use_tempdir) << "\n";
+ case RC_ASCII_LINELEN:
+ os << "\\ascii_linelen " << ascii_linelen << "\n";
+ case RC_MAKE_BACKUP:
+ os << "\\make_backup " << tostr(make_backup) << "\n";
+ case RC_BACKUPDIR_PATH:
+ os << "\\backupdir_path \"" << backupdir_path << "\"\n";
+
+ os << "\n#\n"
+ << "# FAX SECTION #######################################\n"
+ << "#\n\n";
+
case RC_FAX_COMMAND:
os << "\\fax_command \"" << fax_command << "\"\n";
- case RC_FAXPROGRAM:
- os << "\\fax_program \"" << fax_program << "\"\n";
case RC_PHONEBOOK:
os << "\\phone_book \"" << phone_book << "\"\n";
+ case RC_FAXPROGRAM:
+ os << "\\fax_program \"" << fax_program << "\"\n";
+
+ os << "\n#\n"
+ << "# ASCII EXPORT SECTION ##############################\n"
+ << "#\n\n";
+
case RC_ASCIIROFF_COMMAND:
os << "\\ascii_roff_command \"" << ascii_roff_command
<< "\"\n";
- case RC_ASCII_LINELEN:
- os << "\\ascii_linelen " << ascii_linelen << "\n";
+
+ os << "\n#\n"
+ << "# SPELLCHECKER SECTION ##############################\n"
+ << "#\n\n";
+
case RC_SPELL_COMMAND:
os << "\\spell_command \"" << isp_command << "\"\n";
case RC_ACCEPT_COMPOUND:
os << "\\accept_compound " << tostr(isp_accept_compound)
<< "\n";
- case RC_USE_INP_ENC:
- os << "\\use_input_encoding " << tostr(isp_use_input_encoding)
- << "\n";
case RC_USE_ALT_LANG:
os << "\\use_alt_language " << tostr(isp_use_alt_lang) << "\n";
- case RC_USE_PERS_DICT:
- os << "\\use_personal_dictionary " << tostr(isp_use_pers_dict)
- << "\n";
+ case RC_ALT_LANG:
+ os << "\\alternate_language \"" << isp_alt_lang << "\"\n";
case RC_USE_ESC_CHARS:
os << "\\use_escape_chars " << tostr(isp_use_esc_chars)
<< "\n";
- case RC_ALT_LANG:
- os << "\\alternate_language \"" << isp_alt_lang << "\"\n";
- case RC_PERS_DICT:
- os << "\\personal_dictionary \"" << isp_pers_dict << "\"\n";
case RC_ESC_CHARS:
os << "\\escape_chars \"" << isp_esc_chars << "\"\n";
+ case RC_USE_PERS_DICT:
+ os << "\\use_personal_dictionary " << tostr(isp_use_pers_dict)
+ << "\n";
+ case RC_PERS_DICT:
+ os << "\\personal_dictionary \"" << isp_pers_dict << "\"\n";
+ case RC_USE_INP_ENC:
+ os << "\\use_input_encoding " << tostr(isp_use_input_encoding)
+ << "\n";
+
+ os << "\n#\n"
+ << "# LANGUAGE SUPPORT SECTION ##########################\n"
+ << "#\n\n";
+
case RC_RTL_SUPPORT:
os << "\\rtl " << tostr(rtl_support) << "\n";
- case RC_NUMBER_INSET:
- os << "\\number_inset " << number_inset << "\n";
- case RC_LANGUAGE_AUTO_BEGIN:
- os << "\\language_auto_begin "
- << tostr(language_auto_begin) << "\n";
- case RC_LANGUAGE_AUTO_END:
- os << "\\language_auto_end "
- << tostr(language_auto_end) << "\n";
case RC_LANGUAGE_PACKAGE:
os << "\\language_package \"" << language_package << "\"\n";
case RC_LANGUAGE_COMMAND_BEGIN:
case RC_LANGUAGE_COMMAND_END:
os << "\\language_command_end \"" << language_command_end
<< "\"\n";
- case RC_MAKE_BACKUP:
- os << "\\make_backup " << tostr(make_backup) << "\n";
- case RC_BACKUPDIR_PATH:
- os << "\\backupdir_path" << backupdir_path << "\n";
- case RC_DATE_INSERT_FORMAT:
- os << "\\date_insert_format \"" << date_insert_format
- << "\"\n";
- case RC_SHOW_BANNER:
- os << "\\show_banner " << tostr(show_banner) << "\n";
- case RC_USE_GUI:
- os << "\\use_gui " << tostr(show_banner) << "\n";
- case RC_LINUXDOC_TO_LYX_COMMAND:
- os << "\\linuxdoc_to_lyx_command \"" << linuxdoc_to_lyx_command
- << "\"\n";
- case RC_LINUXDOC_TO_HTML_COMMAND:
- os << "\\linuxdoc_to_html_command \"" << linuxdoc_to_html_command
- << "\"\n";
- case RC_LINUXDOC_TO_LATEX_COMMAND:
- os << "\\linuxdoc_to_latex_command \"" << linuxdoc_to_latex_command
+ case RC_LANGUAGE_AUTO_BEGIN:
+ os << "\\language_auto_begin "
+ << tostr(language_auto_begin) << "\n";
+ case RC_LANGUAGE_AUTO_END:
+ os << "\\language_auto_end "
+ << tostr(language_auto_end) << "\n";
+ case RC_MARK_FOREIGN_LANGUAGE:
+ os << "\\mark_foreign_language " <<
+ tostr(mark_foreign_language) << "\n";
+
+ os << "\n#\n"
+ << "# 2nd MISC SUPPORT SECTION ##########################\n"
+ << "#\n\n";
+
+ case RC_PDF_TO_PS_COMMAND:
+ os << "\\pdf_to_ps_command \"" << pdf_to_ps_command << "\"\n";
+ case RC_DVI_TO_PS_COMMAND:
+ os << "\\dvi_to_ps_command \"" << dvi_to_ps_command << "\"\n";
+ case RC_LITERATE_COMMAND:
+ os << "\\literate_command \"" << literate_command << "\"\n";
+ case RC_LITERATE_EXTENSION:
+ os << "\\literate_extension \"" << literate_extension
<< "\"\n";
- case RC_DOCBOOK_TO_DVI_COMMAND:
- os << "\\docbook_to_dvi_command \"" << docbook_to_dvi_command
+ case RC_LITERATE_ERROR_FILTER:
+ os << "\\literate_error_filter \"" << literate_error_filter
<< "\"\n";
- case RC_DOCBOOK_TO_HTML_COMMAND:
- os << "\\docbook_to_html_command \"" << docbook_to_html_command
+ case RC_BUILD_COMMAND:
+ os << "\\build_command \"" << build_command << "\"\n";
+ case RC_BUILD_ERROR_FILTER:
+ os << "\\build_error_filter \"" << build_error_filter
<< "\"\n";
- case RC_DOCBOOK_TO_PDF_COMMAND:
- os << "\\docbook_to_pdf_command \"" << docbook_to_pdf_command
+ case RC_OVERRIDE_X_DEADKEYS:
+ os << "\\override_x_deadkeys "
+ << tostr(override_x_deadkeys) << "\n";
+ case RC_SCREEN_FONT_ENCODING_MENU:
+ os << "\\screen_font_encoding_menu \"" << font_norm_menu
<< "\"\n";
+ case RC_AUTO_NUMBER:
+ os << "\\auto_number " << tostr(auto_number) << "\n";
+ case RC_USE_GUI:
+ os << "\\use_gui " << tostr(use_gui) << "\n";
+ case RC_NEW_ASK_FILENAME:
+ os << "\\new_ask_filename " << tostr(new_ask_filename) << "\n";
}
os.flush();
}
-
-/// define the default key bindings for LyX.
-void LyXRC::defaultKeyBindings()
+void LyXRC::set_font_norm_type()
{
- bindings["Right"] = LFUN_RIGHT;
- bindings["Left"] = LFUN_LEFT;
- bindings["Up"] = LFUN_UP;
- bindings["Down"] = LFUN_DOWN;
-
- bindings["Tab"] = LFUN_TAB;
-
- bindings["Home"] = LFUN_HOME;
- bindings["End"] = LFUN_END;
- bindings["Prior"] = LFUN_PRIOR;
- bindings["Next"] = LFUN_NEXT;
-
- bindings["Return"] = LFUN_BREAKPARAGRAPH;
- bindings["~C-~S-~M-nobreakspace"] = LFUN_PROTECTEDSPACE;
-
- bindings["Delete"] = LFUN_DELETE;
- bindings["BackSpace"] = LFUN_BACKSPACE;
- // bindKeyings for transparent handling of deadkeys
- // The keysyms are gotten from XFree86 X11R6
- bindings["~C-~S-~M-dead_acute"] = LFUN_ACUTE;
- bindings["~C-~S-~M-dead_breve"] = LFUN_BREVE;
- bindings["~C-~S-~M-dead_caron"] = LFUN_CARON;
- bindings["~C-~S-~M-dead_cedilla"] = LFUN_CEDILLA;
- bindings["~C-~S-~M-dead_abovering"] = LFUN_CIRCLE;
- bindings["~C-~S-~M-dead_circumflex"] = LFUN_CIRCUMFLEX;
- bindings["~C-~S-~M-dead_abovedot"] = LFUN_DOT;
- bindings["~C-~S-~M-dead_grave"] = LFUN_GRAVE;
- bindings["~C-~S-~M-dead_doubleacute"] = LFUN_HUNG_UMLAUT;
- bindings["~C-~S-~M-dead_macron"] = LFUN_MACRON;
- // nothing with this name
- // bindings["~C-~S-~M-dead_special_caron"] = LFUN_SPECIAL_CARON;
- bindings["~C-~S-~M-dead_tilde"] = LFUN_TILDE;
- bindings["~C-~S-~M-dead_diaeresis"] = LFUN_UMLAUT;
- // nothing with this name either...
- //bindings["~C-~S-~M-dead_underbar"] = LFUN_UNDERBAR;
- bindings["~C-~S-~M-dead_belowdot"] = LFUN_UNDERDOT;
- bindings["~C-~S-~M-dead_tie"] = LFUN_TIE;
- bindings["~C-~S-~M-dead_ogonek"] = LFUN_OGONEK;
-
- // bindings to utilize the use of the numeric keypad
- // e.g. Num Lock set
- bindings["KP_0"] = LFUN_SELFINSERT;
- bindings["KP_Decimal"] = LFUN_SELFINSERT;
- bindings["KP_Enter"] = LFUN_SELFINSERT;
- bindings["KP_1"] = LFUN_SELFINSERT;
- bindings["KP_2"] = LFUN_SELFINSERT;
- bindings["KP_3"] = LFUN_SELFINSERT;
- bindings["KP_4"] = LFUN_SELFINSERT;
- bindings["KP_5"] = LFUN_SELFINSERT;
- bindings["KP_6"] = LFUN_SELFINSERT;
- bindings["KP_Add"] = LFUN_SELFINSERT;
- bindings["KP_7"] = LFUN_SELFINSERT;
- bindings["KP_8"] = LFUN_SELFINSERT;
- bindings["KP_9"] = LFUN_SELFINSERT;
- bindings["KP_Divide"] = LFUN_SELFINSERT;
- bindings["KP_Multiply"] = LFUN_SELFINSERT;
- bindings["KP_Subtract"] = LFUN_SELFINSERT;
-
- /* Most self-insert keys are handled in the 'default:' section of
- * WorkAreaKeyPress - so we don't have to define them all.
- * However keys explicit decleared as self-insert are
- * handled seperatly (LFUN_SELFINSERT.) Lgb. */
-
- bindings["C-Tab"] = LFUN_TABINSERT; // ale970515
+ if (font_norm == "iso10646-1")
+ font_norm_type = ISO_10646_1;
+ else if (font_norm == "iso8859-6.8x")
+ font_norm_type = ISO_8859_6_8;
+ else
+ font_norm_type = OTHER_ENCODING;
}
// The global instance
LyXRC lyxrc;
+
+// The global copy of the system lyxrc entries (everything except preferences)
+//LyXRC system_lyxrc;