#include "FontEnums.h"
#include "Format.h"
#include "Lexer.h"
+#include "LyX.h"
#include "Mover.h"
#include "Session.h"
#include "version.h"
#include "support/convert.h"
#include "support/debug.h"
#include "support/environment.h"
+#include "support/FileName.h"
#include "support/filetools.h"
#include "support/gettext.h"
#include "support/lstrings.h"
#include "support/os.h"
+#include "support/Package.h"
#include "support/userinfo.h"
#include <fstream>
{ "\\autocorrection_math", LyXRC::RC_AUTOCORRECTION_MATH },
{ "\\autosave", LyXRC::RC_AUTOSAVE },
{ "\\backupdir_path", LyXRC::RC_BACKUPDIR_PATH },
+ { "\\bibtex_alternatives", LyXRC::RC_BIBTEX_ALTERNATIVES },
{ "\\bibtex_command", LyXRC::RC_BIBTEX_COMMAND },
{ "\\bind_file", LyXRC::RC_BINDFILE },
{ "\\check_lastfiles", LyXRC::RC_CHECKLASTFILES },
{ "\\cursor_follows_scrollbar", LyXRC::RC_CURSOR_FOLLOWS_SCROLLBAR },
{ "\\date_insert_format", LyXRC::RC_DATE_INSERT_FORMAT },
{ "\\def_file", LyXRC::RC_DEFFILE },
+ { "\\default_decimal_point", LyXRC::RC_DEFAULT_DECIMAL_POINT },
{ "\\default_language", LyXRC::RC_DEFAULT_LANGUAGE },
{ "\\default_papersize", LyXRC::RC_DEFAULT_PAPERSIZE },
{ "\\default_view_format", LyXRC::RC_DEFAULT_VIEW_FORMAT },
{ "\\dialogs_iconify_with_main", LyXRC::RC_DIALOGS_ICONIFY_WITH_MAIN },
{ "\\display_graphics", LyXRC::RC_DISPLAY_GRAPHICS },
{ "\\document_path", LyXRC::RC_DOCUMENTPATH },
+ { "\\editor_alternatives", LyXRC::RC_EDITOR_ALTERNATIVES },
{ "\\escape_chars", LyXRC::RC_ESC_CHARS },
{ "\\example_path", LyXRC::RC_EXAMPLEPATH },
+ { "\\export_overwrite", LyXRC::RC_EXPORT_OVERWRITE },
{ "\\font_encoding", LyXRC::RC_FONT_ENCODING },
{ "\\format", LyXRC::RC_FORMAT },
+ { "\\forward_search_dvi", LyXRC::RC_FORWARD_SEARCH_DVI },
+ { "\\forward_search_pdf", LyXRC::RC_FORWARD_SEARCH_PDF },
{ "\\fullscreen_limit", LyXRC::RC_FULL_SCREEN_LIMIT },
+ { "\\fullscreen_menubar", LyXRC::RC_FULL_SCREEN_MENUBAR },
{ "\\fullscreen_scrollbar", LyXRC::RC_FULL_SCREEN_SCROLLBAR },
{ "\\fullscreen_tabbar", LyXRC::RC_FULL_SCREEN_TABBAR },
{ "\\fullscreen_toolbars", LyXRC::RC_FULL_SCREEN_TOOLBARS },
{ "\\fullscreen_width", LyXRC::RC_FULL_SCREEN_WIDTH },
{ "\\group_layouts", LyXRC::RC_GROUP_LAYOUTS },
{ "\\gui_language", LyXRC::RC_GUI_LANGUAGE },
+ { "\\hunspelldir_path", LyXRC::RC_HUNSPELLDIR_PATH },
+ { "\\index_alternatives", LyXRC::RC_INDEX_ALTERNATIVES },
{ "\\index_command", LyXRC::RC_INDEX_COMMAND },
{ "\\input", LyXRC::RC_INPUT },
+ { "\\jbibtex_command", LyXRC::RC_JBIBTEX_COMMAND },
+ { "\\jindex_command", LyXRC::RC_JINDEX_COMMAND },
{ "\\kbmap", LyXRC::RC_KBMAP },
{ "\\kbmap_primary", LyXRC::RC_KBMAP_PRIMARY },
{ "\\kbmap_secondary", LyXRC::RC_KBMAP_SECONDARY },
- { "\\label_init_length", LyXRC::RC_LABEL_INIT_LENGTH },
{ "\\language_auto_begin", LyXRC::RC_LANGUAGE_AUTO_BEGIN },
{ "\\language_auto_end", LyXRC::RC_LANGUAGE_AUTO_END },
{ "\\language_command_begin", LyXRC::RC_LANGUAGE_COMMAND_BEGIN },
{ "\\nomencl_command", LyXRC::RC_NOMENCL_COMMAND },
{ "\\num_lastfiles", LyXRC::RC_NUMLASTFILES },
{ "\\open_buffers_in_tabs", LyXRC::RC_OPEN_BUFFERS_IN_TABS },
+ { "\\paragraph_markers", LyXRC::RC_PARAGRAPH_MARKERS },
{ "\\path_prefix", LyXRC::RC_PATH_PREFIX },
{ "\\personal_dictionary", LyXRC::RC_PERS_DICT },
{ "\\plaintext_linelen", LyXRC::RC_PLAINTEXT_LINELEN },
{ "\\print_to_printer", LyXRC::RC_PRINTTOPRINTER },
{ "\\printer", LyXRC::RC_PRINTER },
{ "\\rtl", LyXRC::RC_RTL_SUPPORT },
+ { "\\save_compressed", LyXRC::RC_SAVE_COMPRESSED },
{ "\\screen_dpi", LyXRC::RC_SCREEN_DPI },
{ "\\screen_font_roman", LyXRC::RC_SCREEN_FONT_ROMAN },
{ "\\screen_font_roman_foundry", LyXRC::RC_SCREEN_FONT_ROMAN_FOUNDRY },
{ "\\serverpipe", LyXRC::RC_SERVERPIPE },
{ "\\set_color", LyXRC::RC_SET_COLOR },
{ "\\show_banner", LyXRC::RC_SHOW_BANNER },
+ { "\\single_close_tab_button", LyXRC::RC_SINGLE_CLOSE_TAB_BUTTON },
{ "\\sort_layouts", LyXRC::RC_SORT_LAYOUTS },
{ "\\spell_command", LyXRC::RC_SPELL_COMMAND },
{ "\\spellcheck_continuously", LyXRC::RC_SPELLCHECK_CONTINUOUSLY },
+ { "\\spellcheck_notes", LyXRC::RC_SPELLCHECK_NOTES },
+ { "\\spellchecker", LyXRC::RC_SPELLCHECKER },
+ { "\\splitindex_command", LyXRC::RC_SPLITINDEX_COMMAND },
{ "\\tempdir_path", LyXRC::RC_TEMPDIRPATH },
{ "\\template_path", LyXRC::RC_TEMPLATEPATH },
{ "\\tex_allows_spaces", LyXRC::RC_TEX_ALLOWS_SPACES },
{ "\\view_dvi_paper_option", LyXRC::RC_VIEWDVI_PAPEROPTION },
// compatibility with versions older than 1.4.0 only
{ "\\viewer", LyXRC::RC_VIEWER},
+ { "\\viewer_alternatives", LyXRC::RC_VIEWER_ALTERNATIVES },
{ "\\visual_cursor" ,LyXRC::RC_VISUAL_CURSOR}
};
index_command = "makeindex -c -q";
nomencl_command = "makeindex -s nomencl.ist";
dpi = 75;
- // Because a screen typically is wider than a piece of paper:
+ // Because a screen is typically wider than a piece of paper:
zoom = 150;
allow_geometry_session = true;
// Default LaTeX font size:
use_lastfilepos = true;
load_session = false;
make_backup = true;
+ save_compressed = false;
backupdir_path.erase();
display_graphics = true;
// Spellchecker settings:
+#if defined(USE_ASPELL)
+ spellchecker = "aspell";
+#elif defined(USE_HUNSPELL)
+ spellchecker = "hunspell";
+#else
+ spellchecker = "aspell";
+#endif
spellchecker_accept_compound = false;
- spellchecker_use_input_encoding = false;
- spellchecker_use_alt_lang = false;
- spellchecker_use_pers_dict = false;
- spellchecker_use_esc_chars = false;
spellcheck_continuously = false;
+ spellcheck_notes = true;
use_kbmap = false;
rtl_support = true;
visual_cursor = false;
date_insert_format = "%x";
cursor_follows_scrollbar = false;
scroll_below_document = false;
+ paragraph_markers = false;
mac_like_word_movement = false;
macro_edit_style = MACRO_EDIT_INLINE_BOX;
dialogs_iconify_with_main = false;
- label_init_length = 3;
preview = PREVIEW_OFF;
preview_hashed_labels = false;
- preview_scale_factor = "0.9";
+ preview_scale_factor = 1.0;
use_converter_cache = true;
use_tooltip = true;
use_pixmap_cache = false;
user_name = to_utf8(support::user_name());
user_email = to_utf8(support::user_email());
open_buffers_in_tabs = true;
+ single_close_tab_button = false;
+ forward_search_dvi = string();
+ forward_search_pdf = string();
+ export_overwrite = NO_FILES;
// Fullscreen settings
full_screen_limit = false;
full_screen_toolbars = true;
full_screen_tabbar = true;
+ full_screen_menubar = true;
full_screen_scrollbar = true;
full_screen_width = 700;
completion_inline_text = false;
completion_inline_dots = -1;
completion_inline_delay = 0.2;
+ default_decimal_point = ".";
}
lexrc.getString());
if (read(tmp)) {
lexrc.printError("Error reading "
- "included file: " + tmp.absFilename());
+ "included file: " + tmp.absFileName());
}
}
break;
case RC_KBMAP_PRIMARY:
if (lexrc.next()) {
string const kmap(os::internal_path(lexrc.getString()));
- if (kmap.empty()) {
- // nothing
- } else if (!libFileSearch("kbd", kmap,
- "kmap").empty()) {
+ if (!libFileSearch("kbd", kmap, "kmap").empty()
+ || kmap.empty()) {
primary_kbmap = kmap;
} else {
lexrc.printError("LyX: Keymap `$$Token' not found");
case RC_KBMAP_SECONDARY:
if (lexrc.next()) {
string const kmap(os::internal_path(lexrc.getString()));
- if (kmap.empty()) {
- // nothing
- } else if (!libFileSearch("kbd", kmap,
- "kmap").empty()) {
+ if (!libFileSearch("kbd", kmap, "kmap").empty()
+ || kmap.empty()) {
secondary_kbmap = kmap;
} else {
lexrc.printError("LyX: Keymap `$$Token' not found");
}
break;
+ case RC_BIBTEX_ALTERNATIVES:
+ if (lexrc.next(true)) {
+ bibtex_alternatives.insert(lexrc.getString());
+ }
+ break;
+
case RC_BIBTEX_COMMAND:
if (lexrc.next(true)) {
bibtex_command = lexrc.getString();
}
break;
+ case RC_JBIBTEX_COMMAND:
+ if (lexrc.next(true)) {
+ jbibtex_command = lexrc.getString();
+ }
+ break;
+
+ case RC_INDEX_ALTERNATIVES:
+ if (lexrc.next(true)) {
+ index_alternatives.insert(lexrc.getString());
+ }
+ break;
+
case RC_INDEX_COMMAND:
if (lexrc.next(true)) {
index_command = lexrc.getString();
}
break;
+ case RC_JINDEX_COMMAND:
+ if (lexrc.next(true)) {
+ jindex_command = lexrc.getString();
+ }
+ break;
+
+ case RC_SPLITINDEX_COMMAND:
+ if (lexrc.next(true)) {
+ splitindex_command = lexrc.getString();
+ }
+ break;
+
case RC_NOMENCL_COMMAND:
if (lexrc.next(true)) {
nomencl_command = lexrc.getString();
}
break;
- case RC_USETEMPDIR:
- if (lexrc.next())
- LYXERR0("Ignoring obsolete use_tempdir flag.");
+ case RC_HUNSPELLDIR_PATH:
+ if (lexrc.next()) {
+ hunspelldir_path = os::internal_path(lexrc.getString());
+ hunspelldir_path = expandPath(hunspelldir_path);
+ }
break;
case RC_USELASTFILEPOS:
lexrc >> scroll_below_document;
break;
+ case RC_PARAGRAPH_MARKERS:
+ lexrc >> paragraph_markers;
+ break;
+
case RC_MAC_LIKE_WORD_MOVEMENT:
lexrc >> mac_like_word_movement;
break;
lexrc >> dialogs_iconify_with_main;
break;
- case RC_PLAINTEXT_ROFF_COMMAND:
- (void) lexrc.getString(); // Obsoleted in 2.0
- break;
case RC_PLAINTEXT_LINELEN:
lexrc >> plaintext_linelen;
break;
case RC_ACCEPT_COMPOUND:
lexrc >> spellchecker_accept_compound;
break;
- case RC_USE_INP_ENC:
- lexrc >> spellchecker_use_input_encoding;
- break;
- case RC_USE_ALT_LANG:
- lexrc >> spellchecker_use_alt_lang;
- break;
- case RC_USE_PERS_DICT:
- lexrc >> spellchecker_use_pers_dict;
- break;
case RC_USE_TOOLTIP:
lexrc >> use_tooltip;
break;
case RC_USE_PIXMAP_CACHE:
lexrc >> use_pixmap_cache;
break;
- case RC_USE_ESC_CHARS:
- lexrc >> spellchecker_use_esc_chars;
+ case RC_SPELLCHECKER:
+ lexrc >> spellchecker;
break;
case RC_ALT_LANG:
lexrc >> spellchecker_alt_lang;
break;
- case RC_PERS_DICT:
- if (lexrc.next())
- spellchecker_pers_dict = os::internal_path(lexrc.getString());
- break;
case RC_ESC_CHARS:
lexrc >> spellchecker_esc_chars;
break;
case RC_SPELLCHECK_CONTINUOUSLY:
lexrc >> spellcheck_continuously;
break;
+ case RC_SPELLCHECK_NOTES:
+ lexrc >> spellcheck_notes;
+ break;
case RC_MAKE_BACKUP:
lexrc >> make_backup;
break;
+ case RC_SAVE_COMPRESSED:
+ lexrc >> save_compressed;
+ break;
case RC_BACKUPDIR_PATH:
if (lexrc.next()) {
backupdir_path = os::internal_path(lexrc.getString());
backupdir_path = expandPath(backupdir_path);
}
break;
+ case RC_DEFAULT_DECIMAL_POINT:
+ lexrc >> default_decimal_point;
+ break;
case RC_DATE_INSERT_FORMAT:
lexrc >> date_insert_format;
break;
}
break;
}
+ case RC_VIEWER_ALTERNATIVES: {
+ string format, command;
+ if (lexrc.next())
+ format = lexrc.getString();
+ if (lexrc.eatLine())
+ command = lexrc.getString();
+ viewer_alternatives[format].insert(command);
+ break;
+ }
+ case RC_EDITOR_ALTERNATIVES: {
+ string format, command;
+ lexrc >> format >> command;
+ editor_alternatives[format].insert(command);
+ break;
+ }
+
case RC_DEFAULT_VIEW_FORMAT:
lexrc >> default_view_format;
break;
lexrc >> gui_language;
break;
- case RC_LABEL_INIT_LENGTH:
- lexrc >> label_init_length;
- break;
-
case RC_SHOW_BANNER:
lexrc >> show_banner;
break;
case RC_FULL_SCREEN_TABBAR:
lexrc >> full_screen_tabbar;
break;
+ case RC_FULL_SCREEN_MENUBAR:
+ lexrc >> full_screen_menubar;
+ break;
case RC_FULL_SCREEN_WIDTH:
lexrc >> full_screen_width;
break;
case RC_OPEN_BUFFERS_IN_TABS:
lexrc >> open_buffers_in_tabs;
break;
+ case RC_SINGLE_CLOSE_TAB_BUTTON:
+ lexrc >> single_close_tab_button;
+ break;
+ case RC_FORWARD_SEARCH_DVI:
+ if (lexrc.next(true))
+ forward_search_dvi = lexrc.getString();
+ break;
+ case RC_FORWARD_SEARCH_PDF:
+ if (lexrc.next(true))
+ forward_search_pdf = lexrc.getString();
+ break;
+ case RC_EXPORT_OVERWRITE:
+ if (lexrc.next()) {
+ string const tmp = lexrc.getString();
+ if (tmp == "all" || tmp == "true")
+ export_overwrite = ALL_FILES;
+ else if (tmp == "main")
+ export_overwrite = MAIN_FILE;
+ else {
+ export_overwrite = NO_FILES;
+ if (tmp != "ask" && tmp != "false")
+ LYXERR0("Unrecognized export_overwrite status \""
+ << tmp << '"');
+ }
+ }
+ break;
+ // Obsoteted in 1.4.0
+ case RC_USETEMPDIR:
// Obsoleted in 2.0
case RC_SPELL_COMMAND:
+ case RC_PERS_DICT:
+ case RC_PLAINTEXT_ROFF_COMMAND:
+ case RC_USE_ALT_LANG:
+ case RC_USE_ESC_CHARS:
+ case RC_USE_INP_ENC:
+ case RC_USE_PERS_DICT:
case RC_USE_SPELL_LIB:
- (void) lexrc.getString();
+ LYXERR(Debug::LYXRC, "Skipping obsolete tag `"
+ << lexrc.getString() << "'.");
+ lexrc.next(true);
break;
case RC_LAST:
case PAPER_B5:
os << "b5"; break;
case PAPER_CUSTOM:
+ case PAPER_A0:
+ case PAPER_A1:
+ case PAPER_A2:
+ case PAPER_A6:
+ case PAPER_B0:
+ case PAPER_B1:
+ case PAPER_B2:
case PAPER_B3:
- case PAPER_B4: break;
+ case PAPER_B4:
+ case PAPER_B6:
+ case PAPER_JISB0:
+ case PAPER_JISB1:
+ case PAPER_JISB2:
+ case PAPER_JISB3:
+ case PAPER_JISB4:
+ case PAPER_JISB5:
+ case PAPER_JISB6: break;
}
os << "\"\n";
}
}
if (tag != RC_LAST)
break;
+ case RC_BIBTEX_ALTERNATIVES: {
+ CommandSet::const_iterator it = bibtex_alternatives.begin();
+ CommandSet::const_iterator end = bibtex_alternatives.end();
+ for ( ; it != end; ++it) {
+ if (ignore_system_lyxrc
+ || !system_lyxrc.bibtex_alternatives.count(*it))
+ os << "\\bibtex_alternatives \""
+ << *it << "\"\n";
+ }
+ if (tag != RC_LAST)
+ break;
+ }
case RC_BIBTEX_COMMAND:
if (ignore_system_lyxrc ||
bibtex_command != system_lyxrc.bibtex_command) {
}
if (tag != RC_LAST)
break;
+ case RC_JBIBTEX_COMMAND:
+ if (ignore_system_lyxrc ||
+ jbibtex_command != system_lyxrc.jbibtex_command) {
+ os << "\\jbibtex_command \"" << escapeCommand(jbibtex_command) << "\"\n";
+ }
+ if (tag != RC_LAST)
+ break;
+ case RC_INDEX_ALTERNATIVES: {
+ CommandSet::const_iterator it = index_alternatives.begin();
+ CommandSet::const_iterator end = index_alternatives.end();
+ for ( ; it != end; ++it) {
+ if (ignore_system_lyxrc
+ || !system_lyxrc.index_alternatives.count(*it))
+ os << "\\index_alternatives \""
+ << *it << "\"\n";
+ }
+ if (tag != RC_LAST)
+ break;
+ }
case RC_INDEX_COMMAND:
if (ignore_system_lyxrc ||
index_command != system_lyxrc.index_command) {
}
if (tag != RC_LAST)
break;
+ case RC_JINDEX_COMMAND:
+ if (ignore_system_lyxrc ||
+ jindex_command != system_lyxrc.jindex_command) {
+ os << "\\jindex_command \"" << escapeCommand(jindex_command) << "\"\n";
+ }
+ if (tag != RC_LAST)
+ break;
+ case RC_SPLITINDEX_COMMAND:
+ if (ignore_system_lyxrc ||
+ splitindex_command != system_lyxrc.splitindex_command) {
+ os << "\\splitindex_command \"" << escapeCommand(splitindex_command) << "\"\n";
+ }
+ if (tag != RC_LAST)
+ break;
case RC_NOMENCL_COMMAND:
if (ignore_system_lyxrc ||
nomencl_command != system_lyxrc.nomencl_command) {
}
if (tag != RC_LAST)
break;
- case RC_LABEL_INIT_LENGTH:
- if (ignore_system_lyxrc ||
- label_init_length != system_lyxrc.label_init_length) {
- os << "\\label_init_length " << label_init_length
- << '\n';
- }
- if (tag != RC_LAST)
- break;
case RC_USER_NAME:
os << "\\user_name \"" << user_name << "\"\n";
}
if (tag != RC_LAST)
break;
+ case RC_PARAGRAPH_MARKERS:
+ if (ignore_system_lyxrc ||
+ paragraph_markers
+ != system_lyxrc.paragraph_markers) {
+ os << "\\paragraph_markers "
+ << convert<string>(paragraph_markers) << '\n';
+ }
+ if (tag != RC_LAST)
+ break;
case RC_MAC_LIKE_WORD_MOVEMENT:
if (ignore_system_lyxrc ||
mac_like_word_movement
}
if (tag != RC_LAST)
break;
+ case RC_FULL_SCREEN_MENUBAR:
+ if (ignore_system_lyxrc ||
+ full_screen_menubar != system_lyxrc.full_screen_menubar) {
+ os << "\\fullscreen_menubar "
+ << convert<string>(full_screen_menubar)
+ << '\n';
+ }
+ if (tag != RC_LAST)
+ break;
case RC_FULL_SCREEN_WIDTH:
if (ignore_system_lyxrc ||
full_screen_width != system_lyxrc.full_screen_width) {
}
if (tag != RC_LAST)
break;
+ case RC_SINGLE_CLOSE_TAB_BUTTON:
+ if (ignore_system_lyxrc ||
+ single_close_tab_button != system_lyxrc.single_close_tab_button) {
+ os << "\\single_close_tab_button "
+ << convert<string>(single_close_tab_button)
+ << '\n';
+ }
+ if (tag != RC_LAST)
+ break;
+ case RC_FORWARD_SEARCH_DVI:
+ if (ignore_system_lyxrc ||
+ forward_search_dvi != system_lyxrc.forward_search_dvi) {
+ os << "\\forward_search_dvi \"" << escapeCommand(forward_search_dvi) << "\"\n";
+ }
+ if (tag != RC_LAST)
+ break;
+ case RC_FORWARD_SEARCH_PDF:
+ if (ignore_system_lyxrc ||
+ forward_search_pdf != system_lyxrc.forward_search_pdf) {
+ os << "\\forward_search_pdf \"" << escapeCommand(forward_search_pdf) << "\"\n";
+ }
+ if (tag != RC_LAST)
+ break;
os << "\n#\n"
<< "# COLOR SECTION ###################################\n"
}
if (tag != RC_LAST)
break;
+ case RC_HUNSPELLDIR_PATH:
+ if (ignore_system_lyxrc ||
+ hunspelldir_path != system_lyxrc.hunspelldir_path) {
+ string const path = os::external_path(hunspelldir_path);
+ os << "\\hunspelldir_path \"" << path << "\"\n";
+ }
+ if (tag != RC_LAST)
+ break;
case RC_USETEMPDIR:
if (tag != RC_LAST)
break;
}
if (tag != RC_LAST)
break;
+ case RC_SAVE_COMPRESSED:
+ if (ignore_system_lyxrc ||
+ save_compressed != system_lyxrc.save_compressed) {
+ os << "\\save_compressed " << convert<string>(save_compressed) << '\n';
+ }
+ if (tag != RC_LAST)
+ break;
case RC_BACKUPDIR_PATH:
if (ignore_system_lyxrc ||
backupdir_path != system_lyxrc.backupdir_path) {
if (tag != RC_LAST)
break;
case RC_USE_ALT_LANG:
- if (ignore_system_lyxrc ||
- spellchecker_use_alt_lang != system_lyxrc.spellchecker_use_alt_lang) {
- os << "\\use_alt_language " << convert<string>(spellchecker_use_alt_lang)
- << '\n';
- }
+ // Obsoleted in 2.0
if (tag != RC_LAST)
break;
case RC_ALT_LANG:
if (tag != RC_LAST)
break;
case RC_USE_ESC_CHARS:
- if (ignore_system_lyxrc ||
- spellchecker_use_esc_chars != system_lyxrc.spellchecker_use_esc_chars) {
- os << "\\use_escape_chars " << convert<string>(spellchecker_use_esc_chars)
- << '\n';
- }
if (tag != RC_LAST)
break;
case RC_ESC_CHARS:
if (tag != RC_LAST)
break;
case RC_USE_PERS_DICT:
- if (ignore_system_lyxrc ||
- spellchecker_use_pers_dict != system_lyxrc.spellchecker_use_pers_dict) {
- os << "\\use_personal_dictionary "
- << convert<string>(spellchecker_use_pers_dict)
- << '\n';
- }
+ // obsoleted in 2.0
if (tag != RC_LAST)
break;
case RC_USE_TOOLTIP:
<< convert<string>(use_tooltip)
<< '\n';
}
+ if (tag != RC_LAST)
+ break;
case RC_USE_PIXMAP_CACHE:
if (ignore_system_lyxrc ||
use_pixmap_cache != system_lyxrc.use_pixmap_cache) {
<< convert<string>(use_pixmap_cache)
<< '\n';
}
+ if (tag != RC_LAST)
+ break;
case RC_PERS_DICT:
- if (spellchecker_pers_dict != system_lyxrc.spellchecker_pers_dict) {
- string const path = os::external_path(spellchecker_pers_dict);
- os << "\\personal_dictionary \"" << path << "\"\n";
- }
+ // obsoleted in 2.0
if (tag != RC_LAST)
break;
case RC_USE_INP_ENC:
- if (ignore_system_lyxrc ||
- spellchecker_use_input_encoding
- != system_lyxrc.spellchecker_use_input_encoding) {
- os << "\\use_input_encoding "
- << convert<string>(spellchecker_use_input_encoding)
- << '\n';
- }
+ // obsoleted in 2.0
if (tag != RC_LAST)
break;
os << "\n#\n"
<< "# LANGUAGE SUPPORT SECTION ##########################\n"
<< "#\n\n";
+ if (tag != RC_LAST)
+ break;
+
+ case RC_DEFAULT_DECIMAL_POINT:
+ if (ignore_system_lyxrc ||
+ default_decimal_point != system_lyxrc.default_decimal_point) {
+ os << "\\default_decimal_point " << default_decimal_point << '\n';
+ }
+ if (tag != RC_LAST)
+ break;
+
+ case RC_SPELLCHECKER:
+ if (ignore_system_lyxrc ||
+ spellchecker != system_lyxrc.spellchecker) {
+ os << "\\spellchecker " << spellchecker << '\n';
+ }
+ if (tag != RC_LAST)
+ break;
case RC_SPELLCHECK_CONTINUOUSLY:
if (ignore_system_lyxrc ||
if (tag != RC_LAST)
break;
+ case RC_SPELLCHECK_NOTES:
+ if (ignore_system_lyxrc ||
+ spellcheck_notes != system_lyxrc.spellcheck_notes) {
+ os << "\\spellcheck_notes " << convert<string>(spellcheck_notes)
+ << '\n';
+ }
+ if (tag != RC_LAST)
+ break;
+
case RC_RTL_SUPPORT:
if (ignore_system_lyxrc ||
rtl_support != system_lyxrc.rtl_support) {
}
if (tag != RC_LAST)
break;
+ case RC_EXPORT_OVERWRITE:
+ if (ignore_system_lyxrc ||
+ export_overwrite != system_lyxrc.export_overwrite) {
+ string status;
+ switch (export_overwrite) {
+ case NO_FILES:
+ status = "ask";
+ break;
+ case MAIN_FILE:
+ status = "main";
+ break;
+ case ALL_FILES:
+ status = "all";
+ break;
+ }
+ os << "\\export_overwrite " << status << '\n';
+ }
+ if (tag != RC_LAST)
+ break;
os << "\n#\n"
<< "# FORMATS SECTION ##########################\n"
<< "\" \"\" \"\" \"\" \"\" \"\" \"\"\n";
if (tag != RC_LAST)
break;
+ case RC_VIEWER_ALTERNATIVES: {
+ Alternatives::const_iterator it = viewer_alternatives.begin();
+ Alternatives::const_iterator const en = viewer_alternatives.end();
+ Alternatives::const_iterator const sysend =
+ system_lyxrc.viewer_alternatives.end();
+ for (; it != en; ++it) {
+ string const & fmt = it->first;
+ CommandSet const & cmd = it->second;
+ CommandSet::const_iterator sit = cmd.begin();
+ CommandSet::const_iterator const sen = cmd.end();
+ Alternatives::const_iterator const sysfmt = ignore_system_lyxrc ?
+ system_lyxrc.viewer_alternatives.begin() : // we won't use it in this case
+ system_lyxrc.viewer_alternatives.find(fmt);
+ for (; sit != sen; ++sit) {
+ string const & cmd = *sit;
+ if (ignore_system_lyxrc
+ || sysfmt == sysend // format not found
+ || sysfmt->second.count(cmd) == 0 // this command not found
+ )
+ os << "\\viewer_alternatives " << fmt << " " << cmd << "\n";
+ }
+ }
+ if (tag != RC_LAST)
+ break;
+ }
+ case RC_EDITOR_ALTERNATIVES: {
+ Alternatives::const_iterator it = editor_alternatives.begin();
+ Alternatives::const_iterator const en = editor_alternatives.end();
+ Alternatives::const_iterator const sysend =
+ system_lyxrc.editor_alternatives.end();
+ for (; it != en; ++it) {
+ string const & fmt = it->first;
+ CommandSet const & cmd = it->second;
+ CommandSet::const_iterator sit = cmd.begin();
+ CommandSet::const_iterator const sen = cmd.end();
+ Alternatives::const_iterator const sysfmt = ignore_system_lyxrc ?
+ system_lyxrc.editor_alternatives.begin() : // we won't use it in this case
+ system_lyxrc.editor_alternatives.find(fmt);
+ for (; sit != sen; ++sit) {
+ string const & cmd = *sit;
+ if (ignore_system_lyxrc
+ || sysfmt == sysend // format not found
+ || sysfmt->second.count(cmd) == 0 // this command not found
+ )
+ os << "\\editor_alternatives " << fmt << " " << cmd << "\n";
+ }
+ }
+ if (tag != RC_LAST)
+ break;
+ }
case RC_DEFAULT_VIEW_FORMAT:
if (ignore_system_lyxrc ||
default_view_format != system_lyxrc.default_view_format) {
}
+void actOnUpdatedPrefs(LyXRC const & lyxrc_orig, LyXRC const & lyxrc_new)
+{
+ // 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.
+ LyXRC::LyXRCTags tag = LyXRC::RC_LAST;
+ switch (tag) {
+ case LyXRC::RC_ACCEPT_COMPOUND:
+ case LyXRC::RC_ALT_LANG:
+ case LyXRC::RC_PLAINTEXT_LINELEN:
+ case LyXRC::RC_PLAINTEXT_ROFF_COMMAND:
+ case LyXRC::RC_AUTOCORRECTION_MATH:
+ case LyXRC::RC_AUTOREGIONDELETE:
+ case LyXRC::RC_AUTORESET_OPTIONS:
+ case LyXRC::RC_AUTOSAVE:
+ case LyXRC::RC_AUTO_NUMBER:
+ case LyXRC::RC_BACKUPDIR_PATH:
+ case LyXRC::RC_BIBTEX_ALTERNATIVES:
+ case LyXRC::RC_BIBTEX_COMMAND:
+ case LyXRC::RC_BINDFILE:
+ case LyXRC::RC_CHECKLASTFILES:
+ case LyXRC::RC_COMPLETION_CURSOR_TEXT:
+ case LyXRC::RC_COMPLETION_INLINE_DELAY:
+ case LyXRC::RC_COMPLETION_INLINE_DOTS:
+ case LyXRC::RC_COMPLETION_INLINE_MATH:
+ case LyXRC::RC_COMPLETION_INLINE_TEXT:
+ case LyXRC::RC_COMPLETION_POPUP_AFTER_COMPLETE:
+ case LyXRC::RC_COMPLETION_POPUP_DELAY:
+ case LyXRC::RC_COMPLETION_POPUP_MATH:
+ case LyXRC::RC_COMPLETION_POPUP_TEXT:
+ case LyXRC::RC_USELASTFILEPOS:
+ case LyXRC::RC_LOADSESSION:
+ case LyXRC::RC_CHKTEX_COMMAND:
+ case LyXRC::RC_CONVERTER:
+ case LyXRC::RC_CONVERTER_CACHE_MAXAGE:
+ case LyXRC::RC_COPIER:
+ case LyXRC::RC_CURSOR_FOLLOWS_SCROLLBAR:
+ case LyXRC::RC_SCROLL_BELOW_DOCUMENT:
+ case LyXRC::RC_DATE_INSERT_FORMAT:
+ case LyXRC::RC_DEFAULT_LANGUAGE:
+ case LyXRC::RC_GUI_LANGUAGE:
+ case LyXRC::RC_DEFAULT_PAPERSIZE:
+ case LyXRC::RC_DEFAULT_VIEW_FORMAT:
+ case LyXRC::RC_DEFFILE:
+ case LyXRC::RC_DIALOGS_ICONIFY_WITH_MAIN:
+ case LyXRC::RC_DISPLAY_GRAPHICS:
+ case LyXRC::RC_DOCUMENTPATH:
+ if (lyxrc_orig.document_path != lyxrc_new.document_path) {
+ FileName path(lyxrc_new.document_path);
+ if (path.exists() && path.isDirectory())
+ package().document_dir() = FileName(lyxrc.document_path);
+ }
+ case LyXRC::RC_EDITOR_ALTERNATIVES:
+ case LyXRC::RC_ESC_CHARS:
+ case LyXRC::RC_EXAMPLEPATH:
+ case LyXRC::RC_FONT_ENCODING:
+ case LyXRC::RC_FORMAT:
+ case LyXRC::RC_GROUP_LAYOUTS:
+ case LyXRC::RC_HUNSPELLDIR_PATH:
+ case LyXRC::RC_INDEX_ALTERNATIVES:
+ case LyXRC::RC_INDEX_COMMAND:
+ case LyXRC::RC_JBIBTEX_COMMAND:
+ case LyXRC::RC_JINDEX_COMMAND:
+ case LyXRC::RC_NOMENCL_COMMAND:
+ case LyXRC::RC_INPUT:
+ case LyXRC::RC_KBMAP:
+ case LyXRC::RC_KBMAP_PRIMARY:
+ case LyXRC::RC_KBMAP_SECONDARY:
+ case LyXRC::RC_LANGUAGE_AUTO_BEGIN:
+ case LyXRC::RC_LANGUAGE_AUTO_END:
+ case LyXRC::RC_LANGUAGE_COMMAND_BEGIN:
+ case LyXRC::RC_LANGUAGE_COMMAND_END:
+ case LyXRC::RC_LANGUAGE_COMMAND_LOCAL:
+ case LyXRC::RC_LANGUAGE_GLOBAL_OPTIONS:
+ case LyXRC::RC_LANGUAGE_PACKAGE:
+ case LyXRC::RC_LANGUAGE_USE_BABEL:
+ case LyXRC::RC_MAC_LIKE_WORD_MOVEMENT:
+ case LyXRC::RC_MACRO_EDIT_STYLE:
+ case LyXRC::RC_MAKE_BACKUP:
+ case LyXRC::RC_MARK_FOREIGN_LANGUAGE:
+ case LyXRC::RC_MOUSE_WHEEL_SPEED:
+ case LyXRC::RC_NUMLASTFILES:
+ case LyXRC::RC_PARAGRAPH_MARKERS:
+ case LyXRC::RC_PATH_PREFIX:
+ if (lyxrc_orig.path_prefix != lyxrc_new.path_prefix) {
+ prependEnvPath("PATH", lyxrc.path_prefix);
+ }
+ case LyXRC::RC_PERS_DICT:
+ case LyXRC::RC_PREVIEW:
+ case LyXRC::RC_PREVIEW_HASHED_LABELS:
+ case LyXRC::RC_PREVIEW_SCALE_FACTOR:
+ case LyXRC::RC_PRINTCOLLCOPIESFLAG:
+ case LyXRC::RC_PRINTCOPIESFLAG:
+ case LyXRC::RC_PRINTER:
+ case LyXRC::RC_PRINTEVENPAGEFLAG:
+ case LyXRC::RC_PRINTEXSTRAOPTIONS:
+ case LyXRC::RC_PRINTFILEEXTENSION:
+ case LyXRC::RC_PRINTLANDSCAPEFLAG:
+ case LyXRC::RC_PRINTODDPAGEFLAG:
+ case LyXRC::RC_PRINTPAGERANGEFLAG:
+ case LyXRC::RC_PRINTPAPERDIMENSIONFLAG:
+ case LyXRC::RC_PRINTPAPERFLAG:
+ case LyXRC::RC_PRINTREVERSEFLAG:
+ case LyXRC::RC_PRINTSPOOL_COMMAND:
+ case LyXRC::RC_PRINTSPOOL_PRINTERPREFIX:
+ case LyXRC::RC_PRINTTOFILE:
+ case LyXRC::RC_PRINTTOPRINTER:
+ case LyXRC::RC_PRINT_ADAPTOUTPUT:
+ case LyXRC::RC_PRINT_COMMAND:
+ case LyXRC::RC_RTL_SUPPORT:
+ case LyXRC::RC_SAVE_COMPRESSED:
+ case LyXRC::RC_SCREEN_DPI:
+ case LyXRC::RC_SCREEN_FONT_ROMAN:
+ case LyXRC::RC_SCREEN_FONT_ROMAN_FOUNDRY:
+ case LyXRC::RC_SCREEN_FONT_SANS:
+ case LyXRC::RC_SCREEN_FONT_SANS_FOUNDRY:
+ case LyXRC::RC_SCREEN_FONT_SCALABLE:
+ case LyXRC::RC_SCREEN_FONT_SIZES:
+ case LyXRC::RC_SCREEN_FONT_TYPEWRITER:
+ case LyXRC::RC_SCREEN_FONT_TYPEWRITER_FOUNDRY:
+ case LyXRC::RC_GEOMETRY_SESSION:
+ case LyXRC::RC_SCREEN_ZOOM:
+ case LyXRC::RC_SERVERPIPE:
+ case LyXRC::RC_SET_COLOR:
+ case LyXRC::RC_SHOW_BANNER:
+ case LyXRC::RC_OPEN_BUFFERS_IN_TABS:
+ case LyXRC::RC_SPELL_COMMAND:
+ case LyXRC::RC_SPELLCHECKER:
+ case LyXRC::RC_SPELLCHECK_CONTINUOUSLY:
+ case LyXRC::RC_SPELLCHECK_NOTES:
+ case LyXRC::RC_SPLITINDEX_COMMAND:
+ case LyXRC::RC_TEMPDIRPATH:
+ case LyXRC::RC_TEMPLATEPATH:
+ case LyXRC::RC_TEX_ALLOWS_SPACES:
+ case LyXRC::RC_TEX_EXPECTS_WINDOWS_PATHS:
+ if (lyxrc_orig.windows_style_tex_paths != lyxrc_new.windows_style_tex_paths) {
+ os::windows_style_tex_paths(lyxrc_new.windows_style_tex_paths);
+ }
+ case LyXRC::RC_THESAURUSDIRPATH:
+ case LyXRC::RC_UIFILE:
+ case LyXRC::RC_USER_EMAIL:
+ case LyXRC::RC_USER_NAME:
+ case LyXRC::RC_USETEMPDIR:
+ case LyXRC::RC_USE_ALT_LANG:
+ case LyXRC::RC_USE_CONVERTER_CACHE:
+ case LyXRC::RC_USE_ESC_CHARS:
+ case LyXRC::RC_USE_INP_ENC:
+ case LyXRC::RC_USE_PERS_DICT:
+ case LyXRC::RC_USE_TOOLTIP:
+ case LyXRC::RC_USE_PIXMAP_CACHE:
+ case LyXRC::RC_USE_SPELL_LIB:
+ case LyXRC::RC_VIEWDVI_PAPEROPTION:
+ case LyXRC::RC_SINGLE_CLOSE_TAB_BUTTON:
+ case LyXRC::RC_SORT_LAYOUTS:
+ case LyXRC::RC_FULL_SCREEN_LIMIT:
+ case LyXRC::RC_FULL_SCREEN_SCROLLBAR:
+ case LyXRC::RC_FULL_SCREEN_MENUBAR:
+ case LyXRC::RC_FULL_SCREEN_TABBAR:
+ case LyXRC::RC_FULL_SCREEN_TOOLBARS:
+ case LyXRC::RC_FULL_SCREEN_WIDTH:
+ case LyXRC::RC_VISUAL_CURSOR:
+ case LyXRC::RC_VIEWER:
+ case LyXRC::RC_VIEWER_ALTERNATIVES:
+ case LyXRC::RC_FORWARD_SEARCH_DVI:
+ case LyXRC::RC_FORWARD_SEARCH_PDF:
+ case LyXRC::RC_EXPORT_OVERWRITE:
+ case LyXRC::RC_LAST:
+ break;
+ }
+}
+
+
#if 0
string const LyXRC::getDescription(LyXRCTags tag)
{
str = _("Define the options of bibtex (cf. man bibtex) or select an alternative compiler (e.g. mlbibtex or bibulus).");
break;
+ case RC_JBIBTEX_COMMAND:
+ str = _("Define the options of the bibtex program for PLaTeX (Japanese LaTeX).");
+ break;
+
case RC_BINDFILE:
str = _("Keybindings file. Can either specify an absolute path, or LyX will look in its global and local bind/ directories.");
break;
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\".");
break;
+ case RC_JINDEX_COMMAND:
+ str = _("Define the options of the index program for PLaTeX (Japanese LaTeX).");
+ break;
+
case RC_NOMENCL_COMMAND:
str = _("Define the options of makeindex (cf. man makeindex) to be used for nomenclatures. This might differ from the index processing options.");
break;
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.");
break;
- case RC_LABEL_INIT_LENGTH:
- str = _("Maximum number of words in the initialization string for a new label");
- break;
-
case RC_LANGUAGE_AUTO_BEGIN:
str = _("Select if a language switching command is needed at the beginning of the document.");
break;
"Use the OS native format.");
break;
- case RC_PERS_DICT:
- case RC_USE_PERS_DICT:
- str = _("Specify an alternate personal dictionary file. E.g. \".aspell_english\".");
- break;
-
case RC_PREVIEW:
str = _("Shows a typeset preview of things such as math");
break;
case RC_USETEMPDIR:
break;
- case RC_USE_INP_ENC:
- str = _("Specify whether to pass the -T input encoding option to aspell. Enable this if you cannot check the spelling of words containing accented letters. This may not work with all dictionaries.");
- break;
-
case RC_USE_TOOLTIP:
str = _("Enable the automatic appearance of tool tips in the work area.");
break;