namespace {
-static unsigned int const LYXRC_FILEFORMAT = 8; // rgh: add "nice" flag
+static unsigned int const LYXRC_FILEFORMAT = 13; // vfr: System theme's icons
// when adding something to this array keep it sorted!
LexerKeyword lyxrcTags[] = {
{ "\\bind_file", LyXRC::RC_BINDFILE },
{ "\\check_lastfiles", LyXRC::RC_CHECKLASTFILES },
{ "\\chktex_command", LyXRC::RC_CHKTEX_COMMAND },
+ { "\\close_buffer_with_last_view", LyXRC::RC_CLOSE_BUFFER_WITH_LAST_VIEW },
{ "\\completion_cursor_text", LyXRC::RC_COMPLETION_CURSOR_TEXT },
{ "\\completion_inline_delay", LyXRC::RC_COMPLETION_INLINE_DELAY },
{ "\\completion_inline_dots", LyXRC::RC_COMPLETION_INLINE_DOTS },
{ "\\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 },
+ { "\\mac_like_cursor_movement", LyXRC::RC_MAC_LIKE_CURSOR_MOVEMENT },
{ "\\macro_edit_style", LyXRC::RC_MACRO_EDIT_STYLE },
{ "\\make_backup", LyXRC::RC_MAKE_BACKUP },
{ "\\mark_foreign_language", LyXRC::RC_MARK_FOREIGN_LANGUAGE },
{ "\\use_qimage", LyXRC::RC_USE_QIMAGE },
// compatibility with versions older than 1.4.0 only
{ "\\use_system_colors", LyXRC::RC_USE_SYSTEM_COLORS },
+ { "\\use_system_theme_icons", LyXRC::RC_USE_SYSTEM_THEME_ICONS },
{ "\\use_tooltip", LyXRC::RC_USE_TOOLTIP },
{ "\\user_email", LyXRC::RC_USER_EMAIL },
{ "\\user_name", LyXRC::RC_USER_NAME },
void LyXRC::setDefaults()
{
icon_set = string();
+ use_system_theme_icons = false;
bind_file = "cua";
def_file = "default";
ui_file = "default";
scroll_wheel_zoom = SCROLL_WHEEL_ZOOM_CTRL;
paragraph_markers = false;
mac_dontswap_ctrl_meta = false;
- mac_like_word_movement = false;
+ mac_like_cursor_movement = false;
macro_edit_style = MACRO_EDIT_INLINE_BOX;
dialogs_iconify_with_main = false;
preview = PREVIEW_OFF;
default_decimal_point = ".";
default_length_unit = Length::CM;
cursor_width = 1;
+ close_buffer_with_last_view = "yes";
}
lexrc >> icon_set;
break;
+ case RC_USE_SYSTEM_THEME_ICONS:
+ lexrc >> use_system_theme_icons;
+ break;
+
case RC_SCREEN_FONT_ROMAN:
if (lexrc.next()) {
roman_font_name = lexrc.getString();
lexrc >> mac_dontswap_ctrl_meta;
break;
- case RC_MAC_LIKE_WORD_MOVEMENT:
- lexrc >> mac_like_word_movement;
+ case RC_MAC_LIKE_CURSOR_MOVEMENT:
+ lexrc >> mac_like_cursor_movement;
break;
case RC_MACRO_EDIT_STYLE:
case RC_VISUAL_CURSOR:
lexrc >> visual_cursor;
break;
+ case RC_CLOSE_BUFFER_WITH_LAST_VIEW:
+ lexrc >> close_buffer_with_last_view;
+ break;
case RC_AUTO_NUMBER:
lexrc >> auto_number;
break;
}
case RC_VIEWER_ALTERNATIVES: {
string format, command;
- if (lexrc.next())
- format = lexrc.getString();
- if (lexrc.eatLine())
- command = lexrc.getString();
+ lexrc >> format;
+ lexrc >> command;
viewer_alternatives[format].insert(command);
break;
}
case RC_EDITOR_ALTERNATIVES: {
string format, command;
- if (lexrc.next())
- format = lexrc.getString();
- if (lexrc.eatLine())
- command = lexrc.getString();
+ lexrc >> format;
+ lexrc >> command;
editor_alternatives[format].insert(command);
break;
}
if (tag != RC_LAST)
break;
+ case RC_USE_SYSTEM_THEME_ICONS:
+ if (ignore_system_lyxrc ||
+ use_system_theme_icons != system_lyxrc.use_system_theme_icons) {
+ os << "\\use_system_theme_icons "
+ << convert<string>(use_system_theme_icons)
+ << "\n";
+ }
+ if (tag != RC_LAST)
+ break;
+
case RC_SCREEN_DPI:
if (ignore_system_lyxrc ||
dpi != system_lyxrc.dpi) {
}
if (tag != RC_LAST)
break;
- case RC_MAC_LIKE_WORD_MOVEMENT:
+ case RC_MAC_LIKE_CURSOR_MOVEMENT:
if (ignore_system_lyxrc ||
- mac_like_word_movement
- != system_lyxrc.mac_like_word_movement) {
- os << "\\mac_like_word_movement "
- << convert<string>(mac_like_word_movement) << '\n';
+ mac_like_cursor_movement
+ != system_lyxrc.mac_like_cursor_movement) {
+ os << "\\mac_like_cursor_movement "
+ << convert<string>(mac_like_cursor_movement) << '\n';
}
if (tag != RC_LAST)
break;
}
if (tag != RC_LAST)
break;
+ case RC_CLOSE_BUFFER_WITH_LAST_VIEW:
+ if (ignore_system_lyxrc ||
+ close_buffer_with_last_view != system_lyxrc.close_buffer_with_last_view) {
+ os << "# When closing last view, buffer closes (yes), hides (no), or ask the user (ask)\n";
+ os << "\\close_buffer_with_last_view " << close_buffer_with_last_view << '\n';
+ }
+ if (tag != RC_LAST)
+ break;
case RC_LANGUAGE_CUSTOM_PACKAGE:
if (ignore_system_lyxrc ||
language_custom_package != system_lyxrc.language_custom_package) {
|| sysfmt == sysend // format not found
|| sysfmt->second.count(cmd) == 0 // this command not found
)
- os << "\\viewer_alternatives " << fmt << " " << cmd << "\n";
+ os << "\\viewer_alternatives " << fmt << " \"" << escapeCommand(cmd) << "\"\n";
}
}
if (tag != RC_LAST)
|| sysfmt == sysend // format not found
|| sysfmt->second.count(cmd) == 0 // this command not found
)
- os << "\\editor_alternatives " << fmt << " " << cmd << "\n";
+ os << "\\editor_alternatives " << fmt << " \"" << escapeCommand(cmd) << "\"\n";
}
}
if (tag != RC_LAST)
case LyXRC::RC_LANGUAGE_PACKAGE_SELECTION:
case LyXRC::RC_LYXRCFORMAT:
case LyXRC::RC_MAC_DONTSWAP_CTRL_META:
- case LyXRC::RC_MAC_LIKE_WORD_MOVEMENT:
+ case LyXRC::RC_MAC_LIKE_CURSOR_MOVEMENT:
case LyXRC::RC_MACRO_EDIT_STYLE:
case LyXRC::RC_MAKE_BACKUP:
case LyXRC::RC_MARK_FOREIGN_LANGUAGE:
case LyXRC::RC_USE_TOOLTIP:
case LyXRC::RC_USE_PIXMAP_CACHE:
case LyXRC::RC_USE_QIMAGE:
+ case LyXRC::RC_USE_SYSTEM_THEME_ICONS:
case LyXRC::RC_VIEWDVI_PAPEROPTION:
case LyXRC::RC_SINGLE_CLOSE_TAB_BUTTON:
case LyXRC::RC_SINGLE_INSTANCE:
case LyXRC::RC_FULL_SCREEN_TOOLBARS:
case LyXRC::RC_FULL_SCREEN_WIDTH:
case LyXRC::RC_VISUAL_CURSOR:
+ case LyXRC::RC_CLOSE_BUFFER_WITH_LAST_VIEW:
case LyXRC::RC_VIEWER:
case LyXRC::RC_VIEWER_ALTERNATIVES:
case LyXRC::RC_FORWARD_SEARCH_DVI:
str = _("Make Apple key act as Meta and Control key as Ctrl.");
break;
- case RC_MAC_LIKE_WORD_MOVEMENT:
- str = _("Use the Mac OS X conventions for the word-level cursor movement");
+ case RC_MAC_LIKE_CURSOR_MOVEMENT:
+ str = _("Use the Mac OS X conventions for cursor movement");
break;
case RC_SHOW_MACRO_LABEL:
str = _("Select to have visual bidi cursor movement, unselect for logical movement.");
break;
+ case RC_CLOSE_BUFFER_WITH_LAST_VIEW:
+ str = _("Specify whether, closing the last view of an open document, LyX should close the document (yes), hide it (no), or ask the user (ask).");
+ 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;