X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLyXRC.cpp;h=4e45875f9052bbe72c25c16d4243266c2bccd3c0;hb=c7e6a677c4df14b0f2f7d701e1f1976c4005a629;hp=5b351fc5a5069ac2e7d4205c8dfb379c8ba3f79b;hpb=90e1f226b807f56906cb2734b69b51ee015e422a;p=lyx.git diff --git a/src/LyXRC.cpp b/src/LyXRC.cpp index 5b351fc5a5..4e45875f90 100644 --- a/src/LyXRC.cpp +++ b/src/LyXRC.cpp @@ -122,9 +122,9 @@ LexerKeyword lyxrcTags[] = { { "\\language_command_begin", LyXRC::RC_LANGUAGE_COMMAND_BEGIN }, { "\\language_command_end", LyXRC::RC_LANGUAGE_COMMAND_END }, { "\\language_command_local", LyXRC::RC_LANGUAGE_COMMAND_LOCAL }, + { "\\language_custom_package", LyXRC::RC_LANGUAGE_CUSTOM_PACKAGE }, { "\\language_global_options", LyXRC::RC_LANGUAGE_GLOBAL_OPTIONS }, - { "\\language_package", LyXRC::RC_LANGUAGE_PACKAGE }, - { "\\language_use_babel", LyXRC::RC_LANGUAGE_USE_BABEL }, + { "\\language_package_selection", LyXRC::RC_LANGUAGE_PACKAGE_SELECTION }, { "\\load_session", LyXRC::RC_LOADSESSION }, { "\\mac_dontswap_ctrl_meta", LyXRC::RC_MAC_DONTSWAP_CTRL_META }, { "\\mac_like_word_movement", LyXRC::RC_MAC_LIKE_WORD_MOVEMENT }, @@ -179,6 +179,7 @@ LexerKeyword lyxrcTags[] = { { "\\set_color", LyXRC::RC_SET_COLOR }, { "\\show_banner", LyXRC::RC_SHOW_BANNER }, { "\\single_close_tab_button", LyXRC::RC_SINGLE_CLOSE_TAB_BUTTON }, + { "\\single_instance", LyXRC::RC_SINGLE_INSTANCE }, { "\\sort_layouts", LyXRC::RC_SORT_LAYOUTS }, { "\\spell_command", LyXRC::RC_SPELL_COMMAND }, { "\\spellcheck_continuously", LyXRC::RC_SPELLCHECK_CONTINUOUSLY }, @@ -309,8 +310,8 @@ void LyXRC::setDefaults() language_auto_begin = true; language_auto_end = true; language_global_options = true; - language_use_babel = true; - language_package = "\\usepackage{babel}"; + language_package_selection = LP_AUTO; + language_custom_package = "\\usepackage{babel}"; language_command_begin = "\\selectlanguage{$$lang}"; language_command_local = "\\foreignlanguage{$$lang}{"; sort_layouts = false; @@ -341,6 +342,7 @@ void LyXRC::setDefaults() user_email = to_utf8(support::user_email()); open_buffers_in_tabs = true; single_close_tab_button = false; + single_instance = true; forward_search_dvi = string(); forward_search_pdf = string(); export_overwrite = NO_FILES; @@ -964,8 +966,8 @@ int LyXRC::read(Lexer & lexrc) case RC_DATE_INSERT_FORMAT: lexrc >> date_insert_format; break; - case RC_LANGUAGE_PACKAGE: - lexrc >> language_package; + case RC_LANGUAGE_CUSTOM_PACKAGE: + lexrc >> language_custom_package; break; case RC_LANGUAGE_AUTO_BEGIN: lexrc >> language_auto_begin; @@ -976,8 +978,23 @@ int LyXRC::read(Lexer & lexrc) case RC_LANGUAGE_GLOBAL_OPTIONS: lexrc >> language_global_options; break; - case RC_LANGUAGE_USE_BABEL: - lexrc >> language_use_babel; + case RC_LANGUAGE_PACKAGE_SELECTION: + if (lexrc.next()) { + switch (lexrc.getInteger()) { + case 0: + language_package_selection = LP_AUTO; + break; + case 1: + language_package_selection = LP_BABEL; + break; + case 2: + language_package_selection = LP_CUSTOM; + break; + case 3: + language_package_selection = LP_NONE; + break; + } + } break; case RC_LANGUAGE_COMMAND_BEGIN: lexrc >> language_command_begin; @@ -1185,6 +1202,11 @@ int LyXRC::read(Lexer & lexrc) case RC_SINGLE_CLOSE_TAB_BUTTON: lexrc >> single_close_tab_button; break; + case RC_SINGLE_INSTANCE: + lexrc >> single_instance; + if (run_mode == PREFERRED) + run_mode = single_instance ? USE_REMOTE : NEW_INSTANCE; + break; case RC_FORWARD_SEARCH_DVI: if (lexrc.next(true)) forward_search_dvi = lexrc.getString(); @@ -1951,6 +1973,15 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c } if (tag != RC_LAST) break; + case RC_SINGLE_INSTANCE: + if (ignore_system_lyxrc || + single_instance != system_lyxrc.single_instance) { + os << "\\single_instance " + << convert(single_instance) + << '\n'; + } + if (tag != RC_LAST) + break; case RC_FORWARD_SEARCH_DVI: if (ignore_system_lyxrc || forward_search_dvi != system_lyxrc.forward_search_dvi) { @@ -2492,10 +2523,10 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c } if (tag != RC_LAST) break; - case RC_LANGUAGE_PACKAGE: + case RC_LANGUAGE_CUSTOM_PACKAGE: if (ignore_system_lyxrc || - language_package != system_lyxrc.language_package) { - os << "\\language_package \"" << language_package + language_custom_package != system_lyxrc.language_custom_package) { + os << "\\language_custom_package \"" << language_custom_package << "\"\n"; } if (tag != RC_LAST) @@ -2510,12 +2541,24 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c } if (tag != RC_LAST) break; - case RC_LANGUAGE_USE_BABEL: + case RC_LANGUAGE_PACKAGE_SELECTION: if (ignore_system_lyxrc || - language_use_babel != system_lyxrc.language_use_babel) { - os << "\\language_use_babel \"" - << convert(language_use_babel) - << "\"\n"; + language_package_selection != system_lyxrc.language_package_selection) { + os << "\\language_package_selection "; + switch (language_package_selection) { + case LP_AUTO: + os << "0\n"; + break; + case LP_BABEL: + os << "1\n"; + break; + case LP_CUSTOM: + os << "2\n"; + break; + case LP_NONE: + os << "3\n"; + break; + } } if (tag != RC_LAST) break; @@ -2887,8 +2930,8 @@ void actOnUpdatedPrefs(LyXRC const & lyxrc_orig, LyXRC const & lyxrc_new) 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_LANGUAGE_CUSTOM_PACKAGE: + case LyXRC::RC_LANGUAGE_PACKAGE_SELECTION: case LyXRC::RC_MAC_DONTSWAP_CTRL_META: case LyXRC::RC_MAC_LIKE_WORD_MOVEMENT: case LyXRC::RC_MACRO_EDIT_STYLE: @@ -2968,6 +3011,7 @@ void actOnUpdatedPrefs(LyXRC const & lyxrc_orig, LyXRC const & lyxrc_new) case LyXRC::RC_USE_SPELL_LIB: case LyXRC::RC_VIEWDVI_PAPEROPTION: case LyXRC::RC_SINGLE_CLOSE_TAB_BUTTON: + case LyXRC::RC_SINGLE_INSTANCE: case LyXRC::RC_SORT_LAYOUTS: case LyXRC::RC_FULL_SCREEN_LIMIT: case LyXRC::RC_FULL_SCREEN_SCROLLBAR: @@ -3171,11 +3215,11 @@ string const LyXRC::getDescription(LyXRCTags tag) str = _("De-select if you don't want the language(s) used as an argument to \\documentclass."); break; - case RC_LANGUAGE_PACKAGE: + case RC_LANGUAGE_CUSTOM_PACKAGE: str = _("The LaTeX command for loading the language package. E.g. \"\\usepackage{babel}\", \"\\usepackage{omega}\"."); break; - case RC_LANGUAGE_USE_BABEL: + case RC_LANGUAGE_PACKAGE_SELECTION: str = _("De-select if you don't want babel to be used when the language of the document is the default language."); break;