X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLyXRC.cpp;h=92c95b0d1e5736981178ae0947990edd840e507f;hb=b271e3e06d778dbe7f20973c718f06d8aac0cf6f;hp=e266772bb5ac79817dfe7d4d7824b487642203e1;hpb=4eaa564c956b3fe435f4dc454b344ad2e40a8852;p=lyx.git diff --git a/src/LyXRC.cpp b/src/LyXRC.cpp index e266772bb5..92c95b0d1e 100644 --- a/src/LyXRC.cpp +++ b/src/LyXRC.cpp @@ -21,11 +21,9 @@ #include "LyXRC.h" -#include "support/debug.h" #include "Color.h" #include "Converter.h" #include "Format.h" -#include "support/gettext.h" #include "Session.h" #include "Lexer.h" #include "FontEnums.h" @@ -34,8 +32,10 @@ #include "graphics/GraphicsTypes.h" #include "support/convert.h" +#include "support/debug.h" #include "support/environment.h" #include "support/filetools.h" +#include "support/gettext.h" #include "support/lstrings.h" #include "support/os.h" #include "support/userinfo.h" @@ -63,6 +63,15 @@ keyword_item lyxrcTags[] = { { "\\bind_file", LyXRC::RC_BINDFILE }, { "\\check_lastfiles", LyXRC::RC_CHECKLASTFILES }, { "\\chktex_command", LyXRC::RC_CHKTEX_COMMAND }, + { "\\completion_cursor_text", LyXRC::RC_COMPLETION_CURSOR_TEXT }, + { "\\completion_inline_delay", LyXRC::RC_COMPLETION_INLINE_DELAY }, + { "\\completion_inline_dots", LyXRC::RC_COMPLETION_INLINE_DOTS }, + { "\\completion_inline_math", LyXRC::RC_COMPLETION_INLINE_MATH }, + { "\\completion_inline_text", LyXRC::RC_COMPLETION_INLINE_TEXT }, + { "\\completion_popup_after_complete", LyXRC::RC_COMPLETION_POPUP_AFTER_COMPLETE }, + { "\\completion_popup_delay", LyXRC::RC_COMPLETION_POPUP_DELAY }, + { "\\completion_popup_math", LyXRC::RC_COMPLETION_POPUP_MATH }, + { "\\completion_popup_text", LyXRC::RC_COMPLETION_POPUP_TEXT }, { "\\converter", LyXRC::RC_CONVERTER }, { "\\converter_cache_maxage", LyXRC::RC_CONVERTER_CACHE_MAXAGE }, { "\\copier", LyXRC::RC_COPIER }, @@ -80,6 +89,12 @@ keyword_item lyxrcTags[] = { { "\\example_path", LyXRC::RC_EXAMPLEPATH }, { "\\font_encoding", LyXRC::RC_FONT_ENCODING }, { "\\format", LyXRC::RC_FORMAT }, + { "\\fullscreen_limit", LyXRC::RC_FULL_SCREEN_LIMIT }, + { "\\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 }, { "\\index_command", LyXRC::RC_INDEX_COMMAND }, { "\\input", LyXRC::RC_INPUT }, { "\\kbmap", LyXRC::RC_KBMAP }, @@ -98,7 +113,9 @@ keyword_item lyxrcTags[] = { { "\\macro_edit_style", LyXRC::RC_MACRO_EDIT_STYLE }, { "\\make_backup", LyXRC::RC_MAKE_BACKUP }, { "\\mark_foreign_language", LyXRC::RC_MARK_FOREIGN_LANGUAGE }, + { "\\mouse_wheel_speed", LyXRC::RC_MOUSE_WHEEL_SPEED }, { "\\num_lastfiles", LyXRC::RC_NUMLASTFILES }, + { "\\open_buffers_in_tabs", LyXRC::RC_OPEN_BUFFERS_IN_TABS }, { "\\path_prefix", LyXRC::RC_PATH_PREFIX }, { "\\personal_dictionary", LyXRC::RC_PERS_DICT }, { "\\plaintext_linelen", LyXRC::RC_PLAINTEXT_LINELEN }, @@ -146,6 +163,7 @@ keyword_item lyxrcTags[] = { { "\\tex_expects_windows_paths", LyXRC::RC_TEX_EXPECTS_WINDOWS_PATHS }, { "\\ui_file", LyXRC::RC_UIFILE }, { "\\use_alt_language", LyXRC::RC_USE_ALT_LANG }, + { "\\use_bundled_format", LyXRC::RC_USE_BUNDLED_FORMAT }, { "\\use_converter_cache", LyXRC::RC_USE_CONVERTER_CACHE }, { "\\use_escape_chars", LyXRC::RC_USE_ESC_CHARS }, { "\\use_input_encoding", LyXRC::RC_USE_INP_ENC }, @@ -162,7 +180,8 @@ keyword_item lyxrcTags[] = { { "\\user_name", LyXRC::RC_USER_NAME }, { "\\view_dvi_paper_option", LyXRC::RC_VIEWDVI_PAPEROPTION }, // compatibility with versions older than 1.4.0 only - { "\\viewer", LyXRC::RC_VIEWER} + { "\\viewer", LyXRC::RC_VIEWER}, + { "\\visual_cursor" ,LyXRC::RC_VISUAL_CURSOR} }; const int lyxrcCount = sizeof(lyxrcTags) / sizeof(keyword_item); @@ -228,6 +247,7 @@ void LyXRC::setDefaults() { auto_region_delete = true; auto_reset_options = false; plaintext_linelen = 65; + mouse_wheel_speed = 1.0; num_lastfiles = maxlastfiles; check_lastfiles = true; use_lastfilepos = true; @@ -245,6 +265,7 @@ void LyXRC::setDefaults() { isp_use_esc_chars = false; use_kbmap = false; rtl_support = true; + visual_cursor = false; auto_number = true; mark_foreign_language = true; language_auto_begin = true; @@ -255,6 +276,7 @@ void LyXRC::setDefaults() { language_command_begin = "\\selectlanguage{$$lang}"; language_command_local = "\\foreignlanguage{$$lang}{"; sort_layouts = false; + group_layouts = true; default_language = "english"; show_banner = true; windows_style_tex_paths = false; @@ -271,10 +293,31 @@ void LyXRC::setDefaults() { use_tooltip = true; use_pixmap_cache = false; converter_cache_maxage = 6 * 30 * 24 * 3600; // 6 months - user_name = to_utf8(support::user_name()); - user_email = to_utf8(support::user_email()); +#ifdef __APPLE_CC__ + open_buffers_in_tabs = false; +#else + open_buffers_in_tabs = true; +#endif + use_bundled_format = false; + + // Fullscreen settings + full_screen_limit = false; + full_screen_toolbars = true; + full_screen_tabbar = true; + full_screen_scrollbar = true; + full_screen_width = 700; + + completion_cursor_text = true; + completion_popup_math = true; + completion_popup_text = false; + completion_popup_delay = 2.0; + completion_popup_after_complete = true; + completion_inline_math = true; + completion_inline_text = false; + completion_inline_dots = -1; + completion_inline_delay = 0.2; } @@ -734,6 +777,66 @@ int LyXRC::read(Lexer & lexrc) } break; + case RC_MOUSE_WHEEL_SPEED: + if (lexrc.next()) { + mouse_wheel_speed = lexrc.getFloat(); + } + break; + + case RC_COMPLETION_INLINE_DELAY: + if (lexrc.next()) { + completion_inline_delay = lexrc.getFloat(); + } + break; + + case RC_COMPLETION_INLINE_MATH: + if (lexrc.next()) { + completion_inline_math = lexrc.getBool(); + } + break; + + case RC_COMPLETION_INLINE_TEXT: + if (lexrc.next()) { + completion_inline_text = lexrc.getBool(); + } + break; + + case RC_COMPLETION_INLINE_DOTS: + if (lexrc.next()) { + completion_inline_dots = lexrc.getInteger(); + } + break; + + case RC_COMPLETION_POPUP_DELAY: + if (lexrc.next()) { + completion_popup_delay = lexrc.getFloat(); + } + break; + + case RC_COMPLETION_POPUP_MATH: + if (lexrc.next()) { + completion_popup_math = lexrc.getBool(); + } + break; + + case RC_COMPLETION_POPUP_TEXT: + if (lexrc.next()) { + completion_popup_text = lexrc.getBool(); + } + break; + + case RC_COMPLETION_CURSOR_TEXT: + if (lexrc.next()) { + completion_cursor_text = lexrc.getBool(); + } + break; + + case RC_COMPLETION_POPUP_AFTER_COMPLETE: + if (lexrc.next()) { + completion_popup_after_complete = lexrc.getBool(); + } + break; + case RC_NUMLASTFILES: if (lexrc.next()) { num_lastfiles = lexrc.getInteger(); @@ -987,6 +1090,11 @@ int LyXRC::read(Lexer & lexrc) rtl_support = lexrc.getBool(); } break; + case RC_VISUAL_CURSOR: + if (lexrc.next()) { + visual_cursor = lexrc.getBool(); + } + break; case RC_AUTO_NUMBER: if (lexrc.next()) { auto_number = lexrc.getBool(); @@ -1180,6 +1288,38 @@ int LyXRC::read(Lexer & lexrc) if (lexrc.next()) sort_layouts = lexrc.getBool(); break; + case RC_GROUP_LAYOUTS: + if (lexrc.next()) + group_layouts = lexrc.getBool(); + break; + case RC_FULL_SCREEN_LIMIT: + if (lexrc.next()) + full_screen_limit = lexrc.getBool(); + break; + case RC_FULL_SCREEN_TOOLBARS: + if (lexrc.next()) + full_screen_toolbars = lexrc.getBool(); + break; + case RC_FULL_SCREEN_SCROLLBAR: + if (lexrc.next()) + full_screen_scrollbar = lexrc.getBool(); + break; + case RC_FULL_SCREEN_TABBAR: + if (lexrc.next()) + full_screen_tabbar = lexrc.getBool(); + break; + case RC_FULL_SCREEN_WIDTH: + if (lexrc.next()) + full_screen_width = lexrc.getInteger(); + break; + case RC_OPEN_BUFFERS_IN_TABS: + if (lexrc.next()) + open_buffers_in_tabs = lexrc.getBool(); + break; + case RC_USE_BUNDLED_FORMAT: + if (lexrc.next()) + use_bundled_format = lexrc.getBool(); + break; case RC_LAST: break; // this is just a dummy } @@ -1351,6 +1491,14 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c } if (tag != RC_LAST) break; + case RC_GROUP_LAYOUTS: + if (ignore_system_lyxrc || + group_layouts != system_lyxrc.group_layouts) { + os << "# Group layouts by their category.\n" + << "\\group_layouts " << convert(group_layouts) << '\n'; + } + if (tag != RC_LAST) + break; case RC_VIEWDVI_PAPEROPTION: if (ignore_system_lyxrc || view_dvi_paper_option @@ -1705,6 +1853,69 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c } if (tag != RC_LAST) break; + case RC_FULL_SCREEN_LIMIT: + if (ignore_system_lyxrc || + full_screen_limit != system_lyxrc.full_screen_limit) { + os << "\\fullscreen_limit " + << convert(full_screen_limit) + << '\n'; + } + if (tag != RC_LAST) + break; + case RC_FULL_SCREEN_TOOLBARS: + if (ignore_system_lyxrc || + full_screen_toolbars != system_lyxrc.full_screen_toolbars) { + os << "\\fullscreen_toolbars " + << convert(full_screen_toolbars) + << '\n'; + } + if (tag != RC_LAST) + break; + case RC_FULL_SCREEN_SCROLLBAR: + if (ignore_system_lyxrc || + full_screen_scrollbar != system_lyxrc.full_screen_scrollbar) { + os << "\\fullscreen_scrollbar " + << convert(full_screen_scrollbar) + << '\n'; + } + if (tag != RC_LAST) + break; + case RC_FULL_SCREEN_TABBAR: + if (ignore_system_lyxrc || + full_screen_tabbar != system_lyxrc.full_screen_tabbar) { + os << "\\fullscreen_tabbar " + << convert(full_screen_tabbar) + << '\n'; + } + if (tag != RC_LAST) + break; + case RC_FULL_SCREEN_WIDTH: + if (ignore_system_lyxrc || + full_screen_width != system_lyxrc.full_screen_width) { + os << "\\fullscreen_width " + << convert(full_screen_width) + << '\n'; + } + if (tag != RC_LAST) + break; + case RC_OPEN_BUFFERS_IN_TABS: + if (ignore_system_lyxrc || + open_buffers_in_tabs != system_lyxrc.open_buffers_in_tabs) { + os << "\\open_buffers_in_tabs " + << convert(open_buffers_in_tabs) + << '\n'; + } + if (tag != RC_LAST) + break; + case RC_USE_BUNDLED_FORMAT: + if (ignore_system_lyxrc || + use_bundled_format != system_lyxrc.use_bundled_format) { + os << "\\use_bundled_format " + << convert(use_bundled_format) + << '\n'; + } + if (tag != RC_LAST) + break; os << "\n#\n" << "# COLOR SECTION ###################################\n" @@ -1942,6 +2153,84 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c } if (tag != RC_LAST) break; + case RC_MOUSE_WHEEL_SPEED: + if (ignore_system_lyxrc || + mouse_wheel_speed != system_lyxrc.mouse_wheel_speed) { + os << "\\mouse_wheel_speed " << mouse_wheel_speed << '\n'; + } + if (tag != RC_LAST) + break; + case RC_COMPLETION_INLINE_DELAY: + if (ignore_system_lyxrc || + completion_inline_delay != system_lyxrc.completion_inline_delay) { + os << "\\completion_inline_delay " << completion_inline_delay << '\n'; + } + if (tag != RC_LAST) + break; + case RC_COMPLETION_INLINE_MATH: + if (ignore_system_lyxrc || + completion_inline_math != system_lyxrc.completion_inline_math) { + os << "\\completion_inline_math " + << convert(completion_inline_math) << '\n'; + } + if (tag != RC_LAST) + break; + case RC_COMPLETION_INLINE_TEXT: + if (ignore_system_lyxrc || + completion_inline_text != system_lyxrc.completion_inline_text) { + os << "\\completion_inline_text " + << convert(completion_inline_text) << '\n'; + } + if (tag != RC_LAST) + break; + case RC_COMPLETION_INLINE_DOTS: + if (ignore_system_lyxrc || + completion_inline_dots != system_lyxrc.completion_inline_dots) { + os << "\\completion_inline_dots " + << convert(completion_inline_dots) << '\n'; + } + if (tag != RC_LAST) + break; + case RC_COMPLETION_POPUP_DELAY: + if (ignore_system_lyxrc || + completion_popup_delay != system_lyxrc.completion_popup_delay) { + os << "\\completion_popup_delay " << completion_popup_delay << '\n'; + } + if (tag != RC_LAST) + break; + case RC_COMPLETION_POPUP_MATH: + if (ignore_system_lyxrc || + completion_popup_math != system_lyxrc.completion_popup_math) { + os << "\\completion_popup_math " + << convert(completion_popup_math) << '\n'; + } + if (tag != RC_LAST) + break; + case RC_COMPLETION_POPUP_TEXT: + if (ignore_system_lyxrc || + completion_popup_text != system_lyxrc.completion_popup_text) { + os << "\\completion_popup_text " + << convert(completion_popup_text) << '\n'; + } + if (tag != RC_LAST) + break; + case RC_COMPLETION_CURSOR_TEXT: + if (ignore_system_lyxrc || + completion_cursor_text != system_lyxrc.completion_cursor_text) { + os << "\\completion_cursor_text " + << convert(completion_cursor_text) << '\n'; + } + if (tag != RC_LAST) + break; + case RC_COMPLETION_POPUP_AFTER_COMPLETE: + if (ignore_system_lyxrc || + completion_popup_after_complete + != system_lyxrc.completion_popup_after_complete) { + os << "\\completion_popup_after_complete " + << convert(completion_popup_after_complete) << '\n'; + } + if (tag != RC_LAST) + break; case RC_NUMLASTFILES: if (ignore_system_lyxrc || num_lastfiles != system_lyxrc.num_lastfiles) { @@ -2129,6 +2418,13 @@ void LyXRC::write(ostream & os, bool ignore_system_lyxrc, string const & name) c } if (tag != RC_LAST) break; + case RC_VISUAL_CURSOR: + if (ignore_system_lyxrc || + visual_cursor != system_lyxrc.visual_cursor) { + os << "\\visual_cursor " << convert(visual_cursor) << '\n'; + } + if (tag != RC_LAST) + break; case RC_LANGUAGE_PACKAGE: if (ignore_system_lyxrc || language_package != system_lyxrc.language_package) { @@ -2530,6 +2826,47 @@ string const LyXRC::getDescription(LyXRCTags tag) str = _("Select to control the highlighting of words with a language foreign to that of the document."); break; + case RC_MOUSE_WHEEL_SPEED: + str = bformat(_("The scrolling speed of the mouse wheel."), + maxlastfiles); + break; + + case RC_COMPLETION_POPUP_DELAY: + str = _("The completion popup delay."); + break; + + case RC_COMPLETION_POPUP_MATH: + str = _("Select to display the completion popup in math mode."); + break; + + case RC_COMPLETION_POPUP_TEXT: + str = _("Select to display the completion popup in text mode."); + break; + + case RC_COMPLETION_POPUP_AFTER_COMPLETE: + str = _("Show the completion popup without delay after non-unique completion attempt."); + break; + + case RC_COMPLETION_POPUP_TEXT: + str = _("Show a small triangle on the cursor to indicate that a completion is available."); + break; + + case RC_COMPLETION_POPUP_DELAY: + str = _("The inline completion delay."); + break; + + case RC_COMPLETION_INLINE_MATH: + str = _("Select to display the inline completion in math mode."); + break; + + case RC_COMPLETION_INLINE_TEXT: + str = _("Select to display the inline completion in text mode."); + break; + + case RC_COMPLETION_INLINE_DOTS: + str = _("Use \"...\" to shorten long completions."); + break; + case RC_NUMLASTFILES: str = bformat(_("Maximal number of lastfiles. Up to %1$d can appear in the file menu."), maxlastfiles); @@ -2634,6 +2971,10 @@ string const LyXRC::getDescription(LyXRCTags tag) str = _("Select to enable support of right-to-left languages (e.g. Hebrew, Arabic)."); break; + case RC_VISUAL_CURSOR: + str = _("Select to have visual bidi cursor movement, unselect for logical movement."); + break; + case RC_SCREEN_DPI: str = _("DPI (dots per inch) of your monitor is auto-detected by LyX. If that goes wrong, override the setting here."); break;