#include "Format.h"
#include "FuncCode.h"
#include "FuncRequest.h"
-#include "Lexer.h"
#include "LyX.h"
#include "Mover.h"
#include "SpellChecker.h"
#include "support/environment.h"
#include "support/FileName.h"
#include "support/filetools.h"
+#include "support/Lexer.h"
#include "support/lstrings.h"
#include "support/os.h"
#include "support/Package.h"
// The format should also be updated in configure.py, and conversion code
// should be added to prefs2prefs_prefs.py.
-static unsigned int const LYXRC_FILEFORMAT = 36; // rkh: spellcheck_continuously default
+static unsigned int const LYXRC_FILEFORMAT = 38; // chillenb: screen_width and screen_limit
// when adding something to this array keep it sorted!
LexerKeyword lyxrcTags[] = {
{ "\\accept_compound", LyXRC::RC_ACCEPT_COMPOUND },
{ "\\dialogs_iconify_with_main", LyXRC::RC_DIALOGS_ICONIFY_WITH_MAIN },
{ "\\display_graphics", LyXRC::RC_DISPLAY_GRAPHICS },
{ "\\document_path", LyXRC::RC_DOCUMENTPATH },
+ { "\\draw_strategy", LyXRC::RC_DRAW_STRATEGY },
{ "\\editor_alternatives", LyXRC::RC_EDITOR_ALTERNATIVES },
{ "\\escape_chars", LyXRC::RC_ESC_CHARS },
{ "\\example_path", LyXRC::RC_EXAMPLEPATH },
+ { "\\experimental:bookmarks_visibility", LyXRC::RC_BOOKMARKS_VISIBILITY },
{ "\\export_overwrite", LyXRC::RC_EXPORT_OVERWRITE },
{ "\\format", LyXRC::RC_FILEFORMAT },
{ "\\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_statusbar", LyXRC::RC_FULL_SCREEN_STATUSBAR },
{ "\\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 },
{ "\\screen_font_sizes", LyXRC::RC_SCREEN_FONT_SIZES },
{ "\\screen_font_typewriter", LyXRC::RC_SCREEN_FONT_TYPEWRITER },
{ "\\screen_font_typewriter_foundry", LyXRC::RC_SCREEN_FONT_TYPEWRITER_FOUNDRY },
+ { "\\screen_limit", LyXRC::RC_SCREEN_LIMIT },
+ { "\\screen_width", LyXRC::RC_SCREEN_WIDTH },
{ "\\screen_zoom", LyXRC::RC_SCREEN_ZOOM },
{ "\\scroll_below_document", LyXRC::RC_SCROLL_BELOW_DOCUMENT },
{ "\\scroll_wheel_zoom", LyXRC::RC_SCROLL_WHEEL_ZOOM },
{ "\\texinputs_prefix", LyXRC::RC_TEXINPUTS_PREFIX },
{ "\\thesaurusdir_path", LyXRC::RC_THESAURUSDIRPATH },
{ "\\ui_file", LyXRC::RC_UIFILE },
+ { "\\ui_style", LyXRC::RC_UI_STYLE },
{ "\\use_converter_cache", LyXRC::RC_USE_CONVERTER_CACHE },
{ "\\use_converter_needauth", LyXRC::RC_USE_CONVERTER_NEEDAUTH },
{ "\\use_converter_needauth_forbidden", LyXRC::RC_USE_CONVERTER_NEEDAUTH_FORBIDDEN },
// format prior to 2.0 and introduction of format tag
unsigned int rc_format = 0;
-#ifdef USE_MACOSX_PACKAGING
- open_buffers_in_tabs = appleUserTabbingPreferenceAlways();
-#endif
-
while (lexrc.isOK()) {
// By using two switches we take advantage of the compiler
// telling us if we have missed a LyXRCTags element in
lexrc >> icon_set;
break;
+ case RC_UI_STYLE:
+ lexrc >> ui_style;
+ break;
+
case RC_USE_SYSTEM_THEME_ICONS:
lexrc >> use_system_theme_icons;
break;
case RC_GROUP_LAYOUTS:
lexrc >> group_layouts;
break;
- case RC_FULL_SCREEN_LIMIT:
- lexrc >> full_screen_limit;
+ case RC_SCREEN_LIMIT:
+ lexrc >> screen_limit;
break;
case RC_FULL_SCREEN_TOOLBARS:
lexrc >> full_screen_toolbars;
case RC_FULL_SCREEN_MENUBAR:
lexrc >> full_screen_menubar;
break;
- case RC_FULL_SCREEN_WIDTH:
- lexrc >> full_screen_width;
+ case RC_SCREEN_WIDTH:
+ lexrc >> screen_width;
break;
case RC_OPEN_BUFFERS_IN_TABS:
lexrc >> open_buffers_in_tabs;
+#ifdef USE_MACOSX_PACKAGING
+ if (appleUserTabbingPreferenceAlways())
+ open_buffers_in_tabs = true;
+#endif
break;
case RC_SINGLE_CLOSE_TAB_BUTTON:
lexrc >> single_close_tab_button;
lexrc >> mouse_middlebutton_paste;
break;
+ case RC_BOOKMARKS_VISIBILITY:
+ if (lexrc.next()) {
+ string const tmp = lexrc.getString();
+ if (tmp == "none")
+ bookmarks_visibility = BMK_NONE;
+ else if (tmp == "margin")
+ bookmarks_visibility = BMK_MARGIN;
+ else if (tmp == "inline")
+ bookmarks_visibility = BMK_INLINE;
+ else {
+ bookmarks_visibility = BMK_NONE;
+ LYXERR0("Unrecognized bookmark visibility " << tmp <<'"');
+ }
+ }
+ break;
+
+ case RC_DRAW_STRATEGY:
+ if (lexrc.next()) {
+ string const tmp = lexrc.getString();
+ if (tmp == "partial")
+ draw_strategy = DS_PARTIAL;
+ else if (tmp == "backingstore")
+ draw_strategy = DS_BACKINGSTORE;
+ else if (tmp == "full")
+ draw_strategy = DS_FULL;
+ else {
+ LYXERR0("Unrecognized draw strategy " << tmp <<'"');
+ }
+ }
+ break;
+
case RC_LAST:
break; // this is just a dummy
}
if (tag != RC_LAST)
break;
// fall through
+ case RC_UI_STYLE:
+ if (ignore_system_lyxrc ||
+ ui_style != system_lyxrc.ui_style) {
+ os << "\\ui_style \"" << ui_style
+ << "\"\n";
+ }
+ if (tag != RC_LAST)
+ break;
+ // fall through
case RC_USE_SYSTEM_THEME_ICONS:
if (ignore_system_lyxrc ||
use_system_theme_icons != system_lyxrc.use_system_theme_icons) {
case RC_CITATION_SEARCH:
if (ignore_system_lyxrc ||
citation_search != system_lyxrc.citation_search) {
- os << "# Set to true to use script to search\n"
- << "# locl disk for citation targets.\n"
+ os << "# Set to true to use script to search"
+ << " local disk for citation targets.\n"
<< "\\citation_search "
<< convert<string>(citation_search)
<< '\n';
if (tag != RC_LAST)
break;
// fall through
+ case RC_BOOKMARKS_VISIBILITY:
+ if (ignore_system_lyxrc ||
+ bookmarks_visibility != system_lyxrc.bookmarks_visibility) {
+ string status;
+ switch (bookmarks_visibility) {
+ case BMK_NONE:
+ status = "none";
+ break;
+ case BMK_INLINE:
+ status = "inline";
+ break;
+ case BMK_MARGIN:
+ status = "margin";
+ break;
+ }
+ os << "\\experimental:bookmarks_visibility " << status << '\n';
+ }
+ if (tag != RC_LAST)
+ break;
+ // fall through
case RC_MAC_DONTSWAP_CTRL_META:
if (ignore_system_lyxrc ||
mac_dontswap_ctrl_meta
if (tag != RC_LAST)
break;
// fall through
- case RC_FULL_SCREEN_LIMIT:
+ case RC_SCREEN_LIMIT:
if (ignore_system_lyxrc ||
- full_screen_limit != system_lyxrc.full_screen_limit) {
- os << "\\fullscreen_limit "
- << convert<string>(full_screen_limit)
+ screen_limit != system_lyxrc.screen_limit) {
+ os << "\\screen_limit "
+ << convert<string>(screen_limit)
<< '\n';
}
if (tag != RC_LAST)
if (tag != RC_LAST)
break;
// fall through
- case RC_FULL_SCREEN_WIDTH:
+ case RC_SCREEN_WIDTH:
if (ignore_system_lyxrc ||
- full_screen_width != system_lyxrc.full_screen_width) {
- os << "\\fullscreen_width "
- << convert<string>(full_screen_width)
+ screen_width != system_lyxrc.screen_width) {
+ os << "\\screen_width "
+ << screen_width.asString()
<< '\n';
}
if (tag != RC_LAST)
}
if (tag != RC_LAST)
break;
+ // fall through
+ case RC_DRAW_STRATEGY:
+ if (ignore_system_lyxrc ||
+ draw_strategy != system_lyxrc.draw_strategy) {
+ string status;
+ switch (draw_strategy) {
+ case DS_FULL:
+ status = "full";
+ break;
+ case DS_PARTIAL:
+ status = "partial";
+ break;
+ case DS_BACKINGSTORE:
+ status = "backingstore";
+ break;
+ }
+ os << "\\draw_strategy " << status << '\n';
+ }
+ if (tag != RC_LAST)
+ break;
+ // fall through
os << "\n#\n"
- << "# COLOR SECTION ###################################\n"
- << "#\n\n";
+ << "# COLOR SECTION ###################################\n"
+ << "#\n\n";
// fall through
case RC_SET_COLOR:
case LyXRC::RC_BIBTEX_ALTERNATIVES:
case LyXRC::RC_BIBTEX_COMMAND:
case LyXRC::RC_BINDFILE:
+ case LyXRC::RC_BOOKMARKS_VISIBILITY:
case LyXRC::RC_CITATION_SEARCH:
case LyXRC::RC_CITATION_SEARCH_PATTERN:
case LyXRC::RC_CITATION_SEARCH_VIEW:
package().document_dir() = FileName(lyxrc.document_path);
}
// fall through
+ case LyXRC::RC_DRAW_STRATEGY:
case LyXRC::RC_EDITOR_ALTERNATIVES:
case LyXRC::RC_ESC_CHARS:
case LyXRC::RC_EXAMPLEPATH:
case LyXRC::RC_GROUP_LAYOUTS:
case LyXRC::RC_HUNSPELLDIR_PATH:
case LyXRC::RC_ICON_SET:
+ case LyXRC::RC_UI_STYLE:
case LyXRC::RC_INDEX_ALTERNATIVES:
case LyXRC::RC_INDEX_COMMAND:
case LyXRC::RC_JBIBTEX_COMMAND:
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_SCREEN_LIMIT:
case LyXRC::RC_FULL_SCREEN_SCROLLBAR:
case LyXRC::RC_FULL_SCREEN_MENUBAR:
case LyXRC::RC_FULL_SCREEN_STATUSBAR:
case LyXRC::RC_FULL_SCREEN_TABBAR:
case LyXRC::RC_FULL_SCREEN_TOOLBARS:
- case LyXRC::RC_FULL_SCREEN_WIDTH:
+ case LyXRC::RC_SCREEN_WIDTH:
case LyXRC::RC_VISUAL_CURSOR:
case LyXRC::RC_CLOSE_BUFFER_WITH_LAST_VIEW:
case LyXRC::RC_VIEWER: