2003-02-08 19:18:01 +00:00
/**
2007-04-26 04:41:58 +00:00
* \ file LyXRC . cpp
2003-02-08 19:18:01 +00:00
* This file is part of LyX , the document processor .
* Licence details can be found in the file COPYING .
2002-03-21 17:27:08 +00:00
*
2008-11-14 15:58:50 +00:00
* \ author Lars Gullik Bjønnes
2003-08-23 00:17:00 +00:00
* \ author Jean - Marc Lasgouttes
* \ author Angus Leeming
* \ author John Levon
2008-11-14 15:58:50 +00:00
* \ author André Pönitz
2003-08-23 00:17:00 +00:00
* \ author Allan Rae
* \ author Dekel Tsur
*
* Full author contact details are available in file CREDITS .
2003-02-08 19:18:01 +00:00
*/
1999-09-27 18:44:28 +00:00
# include <config.h>
2007-04-26 04:41:58 +00:00
# include "LyXRC.h"
2003-05-13 14:36:24 +00:00
2016-10-19 21:22:58 +00:00
# include "BufferList.h"
2009-02-09 23:30:24 +00:00
# include "ColorSet.h"
2007-04-26 04:41:58 +00:00
# include "Converter.h"
2008-11-16 13:27:00 +00:00
# include "FontEnums.h"
2007-04-26 04:41:58 +00:00
# include "Format.h"
2019-02-26 15:37:41 +00:00
# include "FuncCode.h"
# include "FuncRequest.h"
2007-04-26 11:30:54 +00:00
# include "Lexer.h"
2010-04-20 16:49:49 +00:00
# include "LyX.h"
2007-04-26 04:41:58 +00:00
# include "Mover.h"
2011-07-21 08:47:20 +00:00
# include "SpellChecker.h"
2008-11-16 13:27:00 +00:00
# include "version.h"
1999-09-27 18:44:28 +00:00
2005-01-14 15:53:30 +00:00
# include "support/convert.h"
2008-02-18 07:14:42 +00:00
# include "support/debug.h"
2005-02-15 13:45:41 +00:00
# include "support/environment.h"
2009-10-03 19:37:29 +00:00
# include "support/FileName.h"
2003-05-13 14:36:24 +00:00
# include "support/filetools.h"
2003-05-23 13:54:09 +00:00
# include "support/lstrings.h"
2005-06-18 00:18:29 +00:00
# include "support/os.h"
2009-10-03 19:37:29 +00:00
# include "support/Package.h"
2014-06-09 11:05:50 +00:00
# include "support/TempFile.h"
2003-05-13 14:36:24 +00:00
2020-08-30 20:25:34 +00:00
# ifdef USE_MACOSX_PACKAGING
# include "support/AppleSupport.h"
# endif
2009-02-09 23:30:24 +00:00
# include <fstream>
# include <iostream>
2010-06-06 10:07:49 +00:00
# include <algorithm>
2009-02-09 23:30:24 +00:00
2007-12-12 10:16:00 +00:00
using namespace std ;
2007-12-12 18:57:56 +00:00
using namespace lyx : : support ;
2005-06-18 00:18:29 +00:00
2006-10-21 00:16:43 +00:00
namespace lyx {
namespace os = support : : os ;
2001-03-20 01:22:46 +00:00
namespace {
1999-09-27 18:44:28 +00:00
2014-03-19 15:04:46 +00:00
// The format should also be updated in configure.py, and conversion code
// should be added to prefs2prefs_prefs.py.
2021-02-15 16:02:58 +00:00
static unsigned int const LYXRC_FILEFORMAT = 36 ; // rkh: spellcheck_continuously default
2002-06-26 08:59:25 +00:00
// when adding something to this array keep it sorted!
2008-04-02 23:06:22 +00:00
LexerKeyword lyxrcTags [ ] = {
2000-10-30 21:53:29 +00:00
{ " \\ accept_compound " , LyXRC : : RC_ACCEPT_COMPOUND } ,
2007-11-15 12:58:44 +00:00
{ " \\ allow_geometry_session " , LyXRC : : RC_GEOMETRY_SESSION } ,
2000-10-30 21:53:29 +00:00
{ " \\ alternate_language " , LyXRC : : RC_ALT_LANG } ,
{ " \\ auto_number " , LyXRC : : RC_AUTO_NUMBER } ,
{ " \\ auto_region_delete " , LyXRC : : RC_AUTOREGIONDELETE } ,
2001-09-21 10:41:09 +00:00
{ " \\ auto_reset_options " , LyXRC : : RC_AUTORESET_OPTIONS } ,
2009-01-15 09:48:00 +00:00
{ " \\ autocorrection_math " , LyXRC : : RC_AUTOCORRECTION_MATH } ,
2000-10-30 21:53:29 +00:00
{ " \\ autosave " , LyXRC : : RC_AUTOSAVE } ,
{ " \\ backupdir_path " , LyXRC : : RC_BACKUPDIR_PATH } ,
2009-05-08 10:07:32 +00:00
{ " \\ bibtex_alternatives " , LyXRC : : RC_BIBTEX_ALTERNATIVES } ,
2004-03-29 12:11:53 +00:00
{ " \\ bibtex_command " , LyXRC : : RC_BIBTEX_COMMAND } ,
2000-10-30 21:53:29 +00:00
{ " \\ bind_file " , LyXRC : : RC_BINDFILE } ,
{ " \\ check_lastfiles " , LyXRC : : RC_CHECKLASTFILES } ,
{ " \\ chktex_command " , LyXRC : : RC_CHKTEX_COMMAND } ,
2020-08-27 06:45:41 +00:00
{ " \\ citation_search " , LyXRC : : RC_CITATION_SEARCH } ,
{ " \\ citation_search_pattern " , LyXRC : : RC_CITATION_SEARCH_PATTERN } ,
2020-08-23 20:19:34 +00:00
{ " \\ citation_search_view " , LyXRC : : RC_CITATION_SEARCH_VIEW } ,
2012-09-29 14:11:09 +00:00
{ " \\ close_buffer_with_last_view " , LyXRC : : RC_CLOSE_BUFFER_WITH_LAST_VIEW } ,
2008-03-16 17:07:10 +00:00
{ " \\ completion_cursor_text " , LyXRC : : RC_COMPLETION_CURSOR_TEXT } ,
2008-02-21 19:42:34 +00:00
{ " \\ completion_inline_delay " , LyXRC : : RC_COMPLETION_INLINE_DELAY } ,
2008-02-22 10:25:12 +00:00
{ " \\ completion_inline_dots " , LyXRC : : RC_COMPLETION_INLINE_DOTS } ,
2008-02-21 19:42:34 +00:00
{ " \\ completion_inline_math " , LyXRC : : RC_COMPLETION_INLINE_MATH } ,
{ " \\ completion_inline_text " , LyXRC : : RC_COMPLETION_INLINE_TEXT } ,
2012-01-02 22:47:04 +00:00
{ " \\ completion_minlength " , LyXRC : : RC_COMPLETION_MINLENGTH } ,
2008-02-22 10:25:12 +00:00
{ " \\ completion_popup_after_complete " , LyXRC : : RC_COMPLETION_POPUP_AFTER_COMPLETE } ,
2008-02-21 19:42:34 +00:00
{ " \\ completion_popup_delay " , LyXRC : : RC_COMPLETION_POPUP_DELAY } ,
{ " \\ completion_popup_math " , LyXRC : : RC_COMPLETION_POPUP_MATH } ,
{ " \\ completion_popup_text " , LyXRC : : RC_COMPLETION_POPUP_TEXT } ,
2000-10-30 21:53:29 +00:00
{ " \\ converter " , LyXRC : : RC_CONVERTER } ,
2006-11-13 10:27:57 +00:00
{ " \\ converter_cache_maxage " , LyXRC : : RC_CONVERTER_CACHE_MAXAGE } ,
2004-10-26 18:39:13 +00:00
{ " \\ copier " , LyXRC : : RC_COPIER } ,
2019-12-27 09:35:52 +00:00
{ " \\ ct_additions_underlined " , LyXRC : : RC_CT_ADDITIONS_UNDERLINED } ,
2020-01-13 14:20:48 +00:00
{ " \\ ct_markup_copied " , LyXRC : : RC_CT_MARKUP_COPIED } ,
2000-10-30 21:53:29 +00:00
{ " \\ cursor_follows_scrollbar " , LyXRC : : RC_CURSOR_FOLLOWS_SCROLLBAR } ,
2011-03-11 06:11:55 +00:00
{ " \\ cursor_width " , LyXRC : : RC_CURSOR_WIDTH } ,
2007-10-20 23:27:03 +00:00
{ " \\ def_file " , LyXRC : : RC_DEFFILE } ,
2019-07-22 06:05:28 +00:00
{ " \\ default_decimal_point " , LyXRC : : RC_DEFAULT_DECIMAL_SEP } ,
2011-10-27 11:52:11 +00:00
{ " \\ default_length_unit " , LyXRC : : RC_DEFAULT_LENGTH_UNIT } ,
2013-06-01 14:58:34 +00:00
{ " \\ default_otf_view_format " , LyXRC : : RC_DEFAULT_OTF_VIEW_FORMAT } ,
2017-09-09 06:56:04 +00:00
{ " \\ default_platex_view_format " , LyXRC : : RC_DEFAULT_PLATEX_VIEW_FORMAT } ,
2009-04-07 05:01:08 +00:00
{ " \\ default_view_format " , LyXRC : : RC_DEFAULT_VIEW_FORMAT } ,
2001-09-07 10:11:02 +00:00
{ " \\ dialogs_iconify_with_main " , LyXRC : : RC_DIALOGS_ICONIFY_WITH_MAIN } ,
2001-09-18 10:58:35 +00:00
{ " \\ display_graphics " , LyXRC : : RC_DISPLAY_GRAPHICS } ,
2000-10-30 21:53:29 +00:00
{ " \\ document_path " , LyXRC : : RC_DOCUMENTPATH } ,
2009-09-05 15:11:43 +00:00
{ " \\ editor_alternatives " , LyXRC : : RC_EDITOR_ALTERNATIVES } ,
2000-10-30 21:53:29 +00:00
{ " \\ escape_chars " , LyXRC : : RC_ESC_CHARS } ,
2007-11-25 18:26:58 +00:00
{ " \\ example_path " , LyXRC : : RC_EXAMPLEPATH } ,
2010-04-20 16:49:49 +00:00
{ " \\ export_overwrite " , LyXRC : : RC_EXPORT_OVERWRITE } ,
2011-01-16 20:28:43 +00:00
{ " \\ format " , LyXRC : : RC_FILEFORMAT } ,
2010-04-15 23:32:52 +00:00
{ " \\ forward_search_dvi " , LyXRC : : RC_FORWARD_SEARCH_DVI } ,
{ " \\ forward_search_pdf " , LyXRC : : RC_FORWARD_SEARCH_PDF } ,
2008-02-19 21:51:55 +00:00
{ " \\ fullscreen_limit " , LyXRC : : RC_FULL_SCREEN_LIMIT } ,
2009-05-26 21:41:45 +00:00
{ " \\ fullscreen_menubar " , LyXRC : : RC_FULL_SCREEN_MENUBAR } ,
2008-02-19 21:51:55 +00:00
{ " \\ fullscreen_scrollbar " , LyXRC : : RC_FULL_SCREEN_SCROLLBAR } ,
2014-02-26 01:48:56 +00:00
{ " \\ fullscreen_statusbar " , LyXRC : : RC_FULL_SCREEN_STATUSBAR } ,
2008-02-19 21:51:55 +00:00
{ " \\ fullscreen_tabbar " , LyXRC : : RC_FULL_SCREEN_TABBAR } ,
{ " \\ fullscreen_toolbars " , LyXRC : : RC_FULL_SCREEN_TOOLBARS } ,
{ " \\ fullscreen_width " , LyXRC : : RC_FULL_SCREEN_WIDTH } ,
2008-03-10 13:02:57 +00:00
{ " \\ group_layouts " , LyXRC : : RC_GROUP_LAYOUTS } ,
2008-06-24 12:55:40 +00:00
{ " \\ gui_language " , LyXRC : : RC_GUI_LANGUAGE } ,
2009-08-08 17:05:31 +00:00
{ " \\ hunspelldir_path " , LyXRC : : RC_HUNSPELLDIR_PATH } ,
2011-03-25 01:59:34 +00:00
{ " \\ icon_set " , LyXRC : : RC_ICON_SET } ,
2009-05-08 10:07:32 +00:00
{ " \\ index_alternatives " , LyXRC : : RC_INDEX_ALTERNATIVES } ,
2004-10-05 10:11:42 +00:00
{ " \\ index_command " , LyXRC : : RC_INDEX_COMMAND } ,
2000-10-30 21:53:29 +00:00
{ " \\ input " , LyXRC : : RC_INPUT } ,
2017-01-14 11:13:33 +00:00
{ " \\ jbibtex_alternatives " , LyXRC : : RC_JBIBTEX_ALTERNATIVES } ,
2009-04-13 09:53:40 +00:00
{ " \\ jbibtex_command " , LyXRC : : RC_JBIBTEX_COMMAND } ,
{ " \\ jindex_command " , LyXRC : : RC_JINDEX_COMMAND } ,
2000-10-30 21:53:29 +00:00
{ " \\ kbmap " , LyXRC : : RC_KBMAP } ,
{ " \\ kbmap_primary " , LyXRC : : RC_KBMAP_PRIMARY } ,
{ " \\ kbmap_secondary " , LyXRC : : RC_KBMAP_SECONDARY } ,
{ " \\ language_auto_begin " , LyXRC : : RC_LANGUAGE_AUTO_BEGIN } ,
{ " \\ language_auto_end " , LyXRC : : RC_LANGUAGE_AUTO_END } ,
{ " \\ language_command_begin " , LyXRC : : RC_LANGUAGE_COMMAND_BEGIN } ,
{ " \\ language_command_end " , LyXRC : : RC_LANGUAGE_COMMAND_END } ,
2001-02-25 10:22:54 +00:00
{ " \\ language_command_local " , LyXRC : : RC_LANGUAGE_COMMAND_LOCAL } ,
2010-11-20 13:34:14 +00:00
{ " \\ language_custom_package " , LyXRC : : RC_LANGUAGE_CUSTOM_PACKAGE } ,
2001-02-25 10:22:54 +00:00
{ " \\ language_global_options " , LyXRC : : RC_LANGUAGE_GLOBAL_OPTIONS } ,
2010-11-20 13:34:14 +00:00
{ " \\ language_package_selection " , LyXRC : : RC_LANGUAGE_PACKAGE_SELECTION } ,
2006-04-05 22:56:18 +00:00
{ " \\ load_session " , LyXRC : : RC_LOADSESSION } ,
2010-09-19 22:00:25 +00:00
{ " \\ mac_dontswap_ctrl_meta " , LyXRC : : RC_MAC_DONTSWAP_CTRL_META } ,
2013-05-25 16:02:21 +00:00
{ " \\ mac_like_cursor_movement " , LyXRC : : RC_MAC_LIKE_CURSOR_MOVEMENT } ,
2008-01-26 17:44:15 +00:00
{ " \\ macro_edit_style " , LyXRC : : RC_MACRO_EDIT_STYLE } ,
2000-10-30 21:53:29 +00:00
{ " \\ make_backup " , LyXRC : : RC_MAKE_BACKUP } ,
{ " \\ mark_foreign_language " , LyXRC : : RC_MARK_FOREIGN_LANGUAGE } ,
2015-02-08 16:41:28 +00:00
{ " \\ mouse_middlebutton_paste " , LyXRC : : RC_MOUSE_MIDDLEBUTTON_PASTE } ,
2008-01-30 21:20:29 +00:00
{ " \\ mouse_wheel_speed " , LyXRC : : RC_MOUSE_WHEEL_SPEED } ,
2008-08-23 09:44:00 +00:00
{ " \\ nomencl_command " , LyXRC : : RC_NOMENCL_COMMAND } ,
2000-10-30 21:53:29 +00:00
{ " \\ num_lastfiles " , LyXRC : : RC_NUMLASTFILES } ,
2008-03-15 00:14:15 +00:00
{ " \\ open_buffers_in_tabs " , LyXRC : : RC_OPEN_BUFFERS_IN_TABS } ,
2009-08-19 22:46:43 +00:00
{ " \\ paragraph_markers " , LyXRC : : RC_PARAGRAPH_MARKERS } ,
2005-01-16 21:01:41 +00:00
{ " \\ path_prefix " , LyXRC : : RC_PATH_PREFIX } ,
2007-01-15 22:49:14 +00:00
{ " \\ plaintext_linelen " , LyXRC : : RC_PLAINTEXT_LINELEN } ,
2002-06-26 08:59:25 +00:00
{ " \\ preview " , LyXRC : : RC_PREVIEW } ,
2002-07-10 09:09:37 +00:00
{ " \\ preview_hashed_labels " , LyXRC : : RC_PREVIEW_HASHED_LABELS } ,
{ " \\ preview_scale_factor " , LyXRC : : RC_PREVIEW_SCALE_FACTOR } ,
2000-10-30 21:53:29 +00:00
{ " \\ print_landscape_flag " , LyXRC : : RC_PRINTLANDSCAPEFLAG } ,
2002-03-21 17:27:08 +00:00
{ " \\ print_paper_dimension_flag " , LyXRC : : RC_PRINTPAPERDIMENSIONFLAG } ,
{ " \\ print_paper_flag " , LyXRC : : RC_PRINTPAPERFLAG } ,
2017-06-12 15:24:26 +00:00
{ " \\ pygmentize_command " , LyXRC : : RC_PYGMENTIZE_COMMAND } ,
2019-07-19 15:23:20 +00:00
{ " \\ respect_os_kbd_language " , LyXRC : : RC_RESPECT_OS_KBD_LANGUAGE } ,
2010-03-26 14:02:56 +00:00
{ " \\ save_compressed " , LyXRC : : RC_SAVE_COMPRESSED } ,
2015-05-23 15:49:33 +00:00
{ " \\ save_origin " , LyXRC : : RC_SAVE_ORIGIN } ,
2000-10-30 21:53:29 +00:00
{ " \\ screen_dpi " , LyXRC : : RC_SCREEN_DPI } ,
{ " \\ screen_font_roman " , LyXRC : : RC_SCREEN_FONT_ROMAN } ,
2002-11-27 21:49:50 +00:00
{ " \\ screen_font_roman_foundry " , LyXRC : : RC_SCREEN_FONT_ROMAN_FOUNDRY } ,
2000-10-30 21:53:29 +00:00
{ " \\ screen_font_sans " , LyXRC : : RC_SCREEN_FONT_SANS } ,
2002-11-27 21:49:50 +00:00
{ " \\ screen_font_sans_foundry " , LyXRC : : RC_SCREEN_FONT_SANS_FOUNDRY } ,
2000-10-30 21:53:29 +00:00
{ " \\ screen_font_scalable " , LyXRC : : RC_SCREEN_FONT_SCALABLE } ,
{ " \\ screen_font_sizes " , LyXRC : : RC_SCREEN_FONT_SIZES } ,
{ " \\ screen_font_typewriter " , LyXRC : : RC_SCREEN_FONT_TYPEWRITER } ,
2002-11-27 21:49:50 +00:00
{ " \\ screen_font_typewriter_foundry " , LyXRC : : RC_SCREEN_FONT_TYPEWRITER_FOUNDRY } ,
2006-04-06 19:05:42 +00:00
{ " \\ screen_zoom " , LyXRC : : RC_SCREEN_ZOOM } ,
2009-03-27 17:41:58 +00:00
{ " \\ scroll_below_document " , LyXRC : : RC_SCROLL_BELOW_DOCUMENT } ,
2010-07-22 14:51:35 +00:00
{ " \\ scroll_wheel_zoom " , LyXRC : : RC_SCROLL_WHEEL_ZOOM } ,
2000-10-30 21:53:29 +00:00
{ " \\ serverpipe " , LyXRC : : RC_SERVERPIPE } ,
{ " \\ set_color " , LyXRC : : RC_SET_COLOR } ,
2002-06-26 08:59:25 +00:00
{ " \\ show_banner " , LyXRC : : RC_SHOW_BANNER } ,
2009-10-05 23:06:29 +00:00
{ " \\ single_close_tab_button " , LyXRC : : RC_SINGLE_CLOSE_TAB_BUTTON } ,
2010-11-13 11:55:05 +00:00
{ " \\ single_instance " , LyXRC : : RC_SINGLE_INSTANCE } ,
2007-11-10 11:39:49 +00:00
{ " \\ sort_layouts " , LyXRC : : RC_SORT_LAYOUTS } ,
2009-03-29 19:57:30 +00:00
{ " \\ spellcheck_continuously " , LyXRC : : RC_SPELLCHECK_CONTINUOUSLY } ,
2010-02-13 16:22:39 +00:00
{ " \\ spellcheck_notes " , LyXRC : : RC_SPELLCHECK_NOTES } ,
2009-08-08 17:05:31 +00:00
{ " \\ spellchecker " , LyXRC : : RC_SPELLCHECKER } ,
2009-04-16 07:29:01 +00:00
{ " \\ splitindex_command " , LyXRC : : RC_SPLITINDEX_COMMAND } ,
2000-10-30 21:53:29 +00:00
{ " \\ tempdir_path " , LyXRC : : RC_TEMPDIRPATH } ,
{ " \\ template_path " , LyXRC : : RC_TEMPLATEPATH } ,
2005-03-25 15:27:30 +00:00
{ " \\ tex_allows_spaces " , LyXRC : : RC_TEX_ALLOWS_SPACES } ,
2006-06-27 10:51:24 +00:00
{ " \\ tex_expects_windows_paths " , LyXRC : : RC_TEX_EXPECTS_WINDOWS_PATHS } ,
Introduce the possibility of setting a prefix for the TEXINPUTS environment
variable. This is done in the preferences, much like as the PATH prefix.
A single '.' in the paths will get replaced with the current document dir
and also non-absolute paths will be prefixed with that dir.
The default semantics of TEXINPUTS apply, such that, for example, if a
path is terminated with a double slash, all subdirectories will be also
searched by both the TeX engine and ancillary programs such as dvi
previewers or dvips. As an example, if the prefix is set to ".:figs", the
TEXINPUTS variable will be set as ".:<docdir>:<docdir>/figs:$ORIGTEXINPUTS",
where <docdir> is the document directory.
The initial '.' is necessary to address the actual current dir (this will
be the temp dir at preview time), while if TEXINPUTS was initially unset,
such that $ORIGTEXINPUTS is empty, a colon (or semicolon on Windows) will
end the path list. This is very important, because we don't want to replace
the system directories but to complement them and, in order to do that, an
empty element has to be present in the list. Indeed, according to the
TEXINPUTS semantics, an empty element means the standard search path.
This works whether TEXINPUTS is originally set or not, because if the
original TEXINPUTS starts with a colon (meaning that the standard search
path is wanted there) we will have an empty element at that point,
otherwise the final colon will simply serve as a path separator.
Of course, on Windows a ';' has to be used as a path separator. LyX will
take care of transforming the platform path list into one understandable
by the TeX engine. For example, this will be the case for a Cygwin version
of LyX using a native Windows TeX engine or viceversa. I tested all of
this and it works for me.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38681 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-09 23:25:51 +00:00
{ " \\ texinputs_prefix " , LyXRC : : RC_TEXINPUTS_PREFIX } ,
2008-11-16 18:48:25 +00:00
{ " \\ thesaurusdir_path " , LyXRC : : RC_THESAURUSDIRPATH } ,
2000-10-30 21:53:29 +00:00
{ " \\ ui_file " , LyXRC : : RC_UIFILE } ,
2006-11-13 10:27:57 +00:00
{ " \\ use_converter_cache " , LyXRC : : RC_USE_CONVERTER_CACHE } ,
2016-11-05 00:00:44 +00:00
{ " \\ use_converter_needauth " , LyXRC : : RC_USE_CONVERTER_NEEDAUTH } ,
{ " \\ use_converter_needauth_forbidden " , LyXRC : : RC_USE_CONVERTER_NEEDAUTH_FORBIDDEN } ,
2006-04-05 22:56:18 +00:00
{ " \\ use_lastfilepos " , LyXRC : : RC_USELASTFILEPOS } ,
2018-01-30 13:32:53 +00:00
{ " \\ use_native_filedialog " , LyXRC : : RC_USE_NATIVE_FILEDIALOG } ,
2003-03-26 01:20:25 +00:00
// compatibility with versions older than 1.4.0 only
2010-08-08 23:11:02 +00:00
{ " \\ use_system_colors " , LyXRC : : RC_USE_SYSTEM_COLORS } ,
2012-05-08 15:55:59 +00:00
{ " \\ use_system_theme_icons " , LyXRC : : RC_USE_SYSTEM_THEME_ICONS } ,
2007-12-26 13:52:56 +00:00
{ " \\ use_tooltip " , LyXRC : : RC_USE_TOOLTIP } ,
2003-02-08 19:18:01 +00:00
{ " \\ user_email " , LyXRC : : RC_USER_EMAIL } ,
2019-12-24 13:31:08 +00:00
{ " \\ user_initials " , LyXRC : : RC_USER_INITIALS } ,
2003-02-08 19:18:01 +00:00
{ " \\ user_name " , LyXRC : : RC_USER_NAME } ,
2000-10-30 21:53:29 +00:00
{ " \\ view_dvi_paper_option " , LyXRC : : RC_VIEWDVI_PAPEROPTION } ,
2004-04-13 10:36:09 +00:00
// compatibility with versions older than 1.4.0 only
2008-02-10 19:51:23 +00:00
{ " \\ viewer " , LyXRC : : RC_VIEWER } ,
2009-09-05 15:11:43 +00:00
{ " \\ viewer_alternatives " , LyXRC : : RC_VIEWER_ALTERNATIVES } ,
2011-01-16 20:28:43 +00:00
{ " \\ visual_cursor " , LyXRC : : RC_VISUAL_CURSOR } ,
{ " format " , LyXRC : : RC_LYXRCFORMAT }
1999-09-27 18:44:28 +00:00
} ;
2008-04-02 23:06:22 +00:00
const int lyxrcCount = sizeof ( lyxrcTags ) / sizeof ( lyxrcTags [ 0 ] ) ;
2001-03-20 01:22:46 +00:00
2002-11-27 21:49:50 +00:00
void oldFontFormat ( string & family , string & foundry )
{
if ( family . empty ( ) | | family [ 0 ] ! = ' - ' )
return ;
foundry = token ( family , ' - ' , 1 ) ;
family = token ( family , ' - ' , 2 ) ;
if ( foundry = = " * " )
foundry . erase ( ) ;
}
2017-07-23 11:11:54 +00:00
} // namespace
2002-11-27 21:49:50 +00:00
2011-01-17 15:54:51 +00:00
bool LyXRC : : read ( FileName const & filename , bool check_format )
2002-03-21 17:27:08 +00:00
{
2008-04-02 23:06:22 +00:00
Lexer lexrc ( lyxrcTags ) ;
1999-09-27 18:44:28 +00:00
lexrc . setFile ( filename ) ;
2007-11-15 20:04:51 +00:00
LYXERR ( Debug : : LYXRC , " Reading ' " < < filename < < " '... " ) ;
2011-01-17 15:54:51 +00:00
ReturnValues retval = read ( lexrc , check_format ) ;
if ( ! check_format | | retval ! = FormatMismatch )
2011-01-16 20:28:43 +00:00
return retval = = ReadOK ;
LYXERR ( Debug : : FILES , " Converting LyXRC file to " < < LYXRC_FILEFORMAT ) ;
2014-06-09 11:05:50 +00:00
TempFile tmp ( " convert_lyxrc " ) ;
FileName const tempfile = tmp . name ( ) ;
2011-01-16 20:28:43 +00:00
bool const success = prefs2prefs ( filename , tempfile , false ) ;
if ( ! success ) {
LYXERR0 ( " Unable to convert " < < filename . absFileName ( ) < <
" to format " < < LYXRC_FILEFORMAT ) ;
return false ;
2011-09-27 20:07:41 +00:00
} else {
// Keep this in the else branch, such that lexrc2 goes out
// of scope and releases the lock on tempfile before we
// attempt to remove it. This matters on Windows.
Lexer lexrc2 ( lyxrcTags ) ;
lexrc2 . setFile ( tempfile ) ;
LYXERR ( Debug : : LYXRC , " Reading ' " < < tempfile < < " '... " ) ;
retval = read ( lexrc2 , check_format ) ;
2018-04-24 00:35:39 +00:00
if ( retval = = FormatMismatch )
LYXERR0 ( " Conversion failed for " < < filename . absFileName ( ) ) ;
2011-01-16 20:28:43 +00:00
}
return retval = = ReadOK ;
2004-03-31 16:50:59 +00:00
}
2011-01-16 20:28:43 +00:00
// don't need to worry about conversion, because this is always
// from an internal source
bool LyXRC : : read ( istream & is )
2004-03-31 16:50:59 +00:00
{
2008-04-02 23:06:22 +00:00
Lexer lexrc ( lyxrcTags ) ;
2004-03-31 16:50:59 +00:00
lexrc . setStream ( is ) ;
2007-11-15 20:04:51 +00:00
LYXERR ( Debug : : LYXRC , " Reading istream... " ) ;
2011-01-17 15:54:51 +00:00
return read ( lexrc , false ) = = ReadOK ;
2004-03-31 16:50:59 +00:00
}
2011-01-17 15:54:51 +00:00
LyXRC : : ReturnValues LyXRC : : read ( Lexer & lexrc , bool check_format )
2004-03-31 16:50:59 +00:00
{
2011-01-16 20:28:43 +00:00
if ( lyxerr . debugging ( Debug : : PARSER ) )
lexrc . printTable ( lyxerr ) ;
2008-11-16 12:22:54 +00:00
if ( ! lexrc . isOK ( ) )
2011-01-16 20:28:43 +00:00
return ReadError ;
// format prior to 2.0 and introduction of format tag
2018-02-24 06:06:36 +00:00
unsigned int rc_format = 0 ;
2004-03-31 16:50:59 +00:00
2020-08-30 20:25:34 +00:00
# ifdef USE_MACOSX_PACKAGING
open_buffers_in_tabs = appleUserTabbingPreferenceAlways ( ) ;
# endif
2001-08-06 19:12:46 +00:00
while ( lexrc . isOK ( ) ) {
1999-12-01 00:57:31 +00:00
// By using two switches we take advantage of the compiler
// telling us if we have missed a LyXRCTags element in
// the second switch.
2007-04-26 11:30:54 +00:00
// Note that this also shows a problem with Lexer since it
1999-12-01 00:57:31 +00:00
// helps us avoid taking advantage of the strictness of the
// compiler.
int le = lexrc . lex ( ) ;
2000-11-04 10:00:12 +00:00
switch ( le ) {
2008-11-16 13:57:21 +00:00
case Lexer : : LEX_UNDEF :
lexrc . printError ( " Unknown tag `$$Token' " ) ;
continue ;
case Lexer : : LEX_FEOF :
continue ;
default :
break ;
1999-12-01 00:57:31 +00:00
}
switch ( static_cast < LyXRCTags > ( le ) ) {
2011-01-16 20:28:43 +00:00
case RC_LYXRCFORMAT :
if ( lexrc . next ( ) )
2018-02-24 06:06:36 +00:00
rc_format = lexrc . getInteger ( ) ;
2011-01-16 20:28:43 +00:00
break ;
1999-09-27 18:44:28 +00:00
case RC_INPUT : // Include file
2002-03-21 17:27:08 +00:00
if ( lexrc . next ( ) ) {
2006-11-26 21:30:39 +00:00
FileName const tmp =
2006-04-08 22:31:11 +00:00
libFileSearch ( string ( ) ,
2002-03-21 17:27:08 +00:00
lexrc . getString ( ) ) ;
2017-08-01 11:08:07 +00:00
if ( ! read ( tmp , check_format ) ) {
2011-01-17 15:54:51 +00:00
lexrc . printError (
" Error reading included file: " + tmp . absFileName ( ) ) ;
1999-09-27 18:44:28 +00:00
}
}
break ;
2005-06-18 00:18:29 +00:00
case RC_BINDFILE :
2008-11-16 12:22:54 +00:00
if ( lexrc . next ( ) )
2005-06-18 00:18:29 +00:00
bind_file = os : : internal_path ( lexrc . getString ( ) ) ;
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
2007-10-20 23:27:03 +00:00
case RC_DEFFILE :
2008-11-16 12:22:54 +00:00
if ( lexrc . next ( ) )
2007-10-20 23:27:03 +00:00
def_file = os : : internal_path ( lexrc . getString ( ) ) ;
break ;
2002-03-21 17:27:08 +00:00
case RC_UIFILE :
2008-11-16 12:22:54 +00:00
if ( lexrc . next ( ) )
2005-06-18 00:18:29 +00:00
ui_file = os : : internal_path ( lexrc . getString ( ) ) ;
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
2001-09-21 10:41:09 +00:00
case RC_AUTORESET_OPTIONS :
2008-04-05 10:34:29 +00:00
lexrc > > auto_reset_options ;
2001-09-21 10:41:09 +00:00
break ;
2001-09-18 10:58:35 +00:00
case RC_DISPLAY_GRAPHICS :
2008-04-05 10:34:29 +00:00
if ( lexrc . next ( ) )
2008-06-13 07:34:55 +00:00
display_graphics = lexrc . getString ( ) = = " true " ;
2001-09-18 10:58:35 +00:00
break ;
2001-09-21 10:41:09 +00:00
2006-06-27 10:51:24 +00:00
case RC_TEX_EXPECTS_WINDOWS_PATHS :
2008-04-05 10:34:29 +00:00
lexrc > > windows_style_tex_paths ;
2006-04-05 23:56:29 +00:00
break ;
2005-01-16 21:01:41 +00:00
2005-03-25 15:27:30 +00:00
case RC_TEX_ALLOWS_SPACES :
2008-04-05 10:34:29 +00:00
lexrc > > tex_allows_spaces ;
2006-04-05 23:56:29 +00:00
break ;
2005-04-26 11:12:20 +00:00
Introduce the possibility of setting a prefix for the TEXINPUTS environment
variable. This is done in the preferences, much like as the PATH prefix.
A single '.' in the paths will get replaced with the current document dir
and also non-absolute paths will be prefixed with that dir.
The default semantics of TEXINPUTS apply, such that, for example, if a
path is terminated with a double slash, all subdirectories will be also
searched by both the TeX engine and ancillary programs such as dvi
previewers or dvips. As an example, if the prefix is set to ".:figs", the
TEXINPUTS variable will be set as ".:<docdir>:<docdir>/figs:$ORIGTEXINPUTS",
where <docdir> is the document directory.
The initial '.' is necessary to address the actual current dir (this will
be the temp dir at preview time), while if TEXINPUTS was initially unset,
such that $ORIGTEXINPUTS is empty, a colon (or semicolon on Windows) will
end the path list. This is very important, because we don't want to replace
the system directories but to complement them and, in order to do that, an
empty element has to be present in the list. Indeed, according to the
TEXINPUTS semantics, an empty element means the standard search path.
This works whether TEXINPUTS is originally set or not, because if the
original TEXINPUTS starts with a colon (meaning that the standard search
path is wanted there) we will have an empty element at that point,
otherwise the final colon will simply serve as a path separator.
Of course, on Windows a ';' has to be used as a path separator. LyX will
take care of transforming the platform path list into one understandable
by the TeX engine. For example, this will be the case for a Cygwin version
of LyX using a native Windows TeX engine or viceversa. I tested all of
this and it works for me.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38681 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-09 23:25:51 +00:00
case RC_TEXINPUTS_PREFIX :
lexrc > > texinputs_prefix ;
break ;
2005-03-25 15:27:30 +00:00
case RC_KBMAP :
2008-04-05 10:34:29 +00:00
lexrc > > use_kbmap ;
2005-03-25 15:27:30 +00:00
break ;
1999-09-27 18:44:28 +00:00
case RC_KBMAP_PRIMARY :
2000-07-24 21:49:58 +00:00
if ( lexrc . next ( ) ) {
2005-06-18 00:18:29 +00:00
string const kmap ( os : : internal_path ( lexrc . getString ( ) ) ) ;
2009-08-03 19:54:32 +00:00
if ( ! libFileSearch ( " kbd " , kmap , " kmap " ) . empty ( )
| | kmap . empty ( ) ) {
2000-07-24 21:49:58 +00:00
primary_kbmap = kmap ;
2002-08-27 20:30:20 +00:00
} else {
2000-06-27 15:46:07 +00:00
lexrc . printError ( " LyX: Keymap `$$Token' not found " ) ;
2002-08-27 20:30:20 +00:00
}
2000-07-24 21:49:58 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_KBMAP_SECONDARY :
2000-07-24 21:49:58 +00:00
if ( lexrc . next ( ) ) {
2005-06-18 00:18:29 +00:00
string const kmap ( os : : internal_path ( lexrc . getString ( ) ) ) ;
2009-08-03 19:54:32 +00:00
if ( ! libFileSearch ( " kbd " , kmap , " kmap " ) . empty ( )
| | kmap . empty ( ) ) {
2000-07-24 21:49:58 +00:00
secondary_kbmap = kmap ;
2002-08-27 20:30:20 +00:00
} else {
2000-06-27 15:46:07 +00:00
lexrc . printError ( " LyX: Keymap `$$Token' not found " ) ;
2002-08-27 20:30:20 +00:00
}
2000-07-24 21:49:58 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_PRINTLANDSCAPEFLAG :
2008-04-05 10:34:29 +00:00
lexrc > > print_landscape_flag ;
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
case RC_PRINTPAPERDIMENSIONFLAG :
2008-04-05 10:34:29 +00:00
lexrc > > print_paper_dimension_flag ;
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
case RC_PRINTPAPERFLAG :
2008-04-05 10:34:29 +00:00
lexrc > > print_paper_flag ;
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
2017-06-12 15:24:26 +00:00
case RC_PYGMENTIZE_COMMAND :
if ( lexrc . next ( true ) ) {
pygmentize_command = lexrc . getString ( ) ;
}
break ;
2000-02-15 13:30:49 +00:00
case RC_VIEWDVI_PAPEROPTION :
2008-04-05 12:56:43 +00:00
if ( lexrc . next ( ) )
2001-08-06 19:12:46 +00:00
view_dvi_paper_option = lexrc . getString ( ) ;
2008-04-05 12:56:43 +00:00
else
2002-01-13 19:19:05 +00:00
view_dvi_paper_option . erase ( ) ;
2000-02-15 13:30:49 +00:00
break ;
1999-09-27 18:44:28 +00:00
case RC_CHKTEX_COMMAND :
2008-05-05 13:53:28 +00:00
if ( lexrc . next ( true ) ) {
chktex_command = lexrc . getString ( ) ;
}
1999-09-27 18:44:28 +00:00
break ;
2004-04-03 08:37:12 +00:00
2009-05-08 10:07:32 +00:00
case RC_BIBTEX_ALTERNATIVES :
if ( lexrc . next ( true ) ) {
2009-05-28 12:49:41 +00:00
bibtex_alternatives . insert ( lexrc . getString ( ) ) ;
2009-05-08 10:07:32 +00:00
}
break ;
2004-03-29 12:11:53 +00:00
case RC_BIBTEX_COMMAND :
2008-05-05 13:53:28 +00:00
if ( lexrc . next ( true ) ) {
bibtex_command = lexrc . getString ( ) ;
}
2004-03-29 12:11:53 +00:00
break ;
2002-03-21 17:27:08 +00:00
2009-04-13 09:53:40 +00:00
case RC_JBIBTEX_COMMAND :
if ( lexrc . next ( true ) ) {
jbibtex_command = lexrc . getString ( ) ;
}
break ;
2017-01-14 11:13:33 +00:00
case RC_JBIBTEX_ALTERNATIVES :
if ( lexrc . next ( true ) ) {
jbibtex_alternatives . insert ( lexrc . getString ( ) ) ;
}
break ;
2009-05-08 10:07:32 +00:00
case RC_INDEX_ALTERNATIVES :
if ( lexrc . next ( true ) ) {
2009-05-28 12:49:41 +00:00
index_alternatives . insert ( lexrc . getString ( ) ) ;
2009-05-08 10:07:32 +00:00
}
break ;
2004-10-05 10:11:42 +00:00
case RC_INDEX_COMMAND :
2008-05-05 13:53:28 +00:00
if ( lexrc . next ( true ) ) {
index_command = lexrc . getString ( ) ;
}
2004-10-05 10:11:42 +00:00
break ;
2004-10-05 08:34:41 +00:00
2009-04-13 09:53:40 +00:00
case RC_JINDEX_COMMAND :
if ( lexrc . next ( true ) ) {
jindex_command = lexrc . getString ( ) ;
}
break ;
2009-04-16 07:29:01 +00:00
case RC_SPLITINDEX_COMMAND :
if ( lexrc . next ( true ) ) {
splitindex_command = lexrc . getString ( ) ;
}
break ;
2008-08-23 09:44:00 +00:00
case RC_NOMENCL_COMMAND :
if ( lexrc . next ( true ) ) {
nomencl_command = lexrc . getString ( ) ;
}
break ;
1999-09-27 18:44:28 +00:00
case RC_SCREEN_DPI :
2008-04-05 10:34:29 +00:00
lexrc > > dpi ;
1999-09-27 18:44:28 +00:00
break ;
2004-03-31 17:29:16 +00:00
1999-09-27 18:44:28 +00:00
case RC_SCREEN_ZOOM :
2017-09-06 16:11:31 +00:00
lexrc > > defaultZoom ;
if ( defaultZoom < 10 )
defaultZoom = 10 ;
1999-09-27 18:44:28 +00:00
break ;
2000-07-04 20:32:37 +00:00
2007-11-15 12:58:44 +00:00
case RC_GEOMETRY_SESSION :
2008-04-05 10:34:29 +00:00
lexrc > > allow_geometry_session ;
2006-04-05 22:56:18 +00:00
break ;
1999-09-27 18:44:28 +00:00
case RC_SCREEN_FONT_SIZES :
2019-06-14 14:42:02 +00:00
lexrc > > font_sizes [ TINY_SIZE ] ;
lexrc > > font_sizes [ SCRIPT_SIZE ] ;
lexrc > > font_sizes [ FOOTNOTE_SIZE ] ;
lexrc > > font_sizes [ SMALL_SIZE ] ;
lexrc > > font_sizes [ NORMAL_SIZE ] ;
lexrc > > font_sizes [ LARGE_SIZE ] ;
lexrc > > font_sizes [ LARGER_SIZE ] ;
lexrc > > font_sizes [ LARGEST_SIZE ] ;
lexrc > > font_sizes [ HUGE_SIZE ] ;
lexrc > > font_sizes [ HUGER_SIZE ] ;
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
case RC_SCREEN_FONT_SCALABLE :
2008-04-05 10:34:29 +00:00
lexrc > > use_scalable_fonts ;
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_AUTOSAVE :
2008-04-05 10:34:29 +00:00
lexrc > > autosave ;
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_DOCUMENTPATH :
Rel. path in paths prefs preserved as rel. paths
Before this commit, in the paths preferences tab if you put a
relative path, LyX would convert it behind the scenes to an absolute
path by evaluating the relative path with respect to the working
directory of the LyX instance where the preference change is taking
place. This seems confusing because (1) it is done behind the scenes
(after the preferences dialog is closed) and (2) if the user chooses
to enter a relative path, the safest thing to do is to preserve it
as a relative path, instead of making the assumption that the user
intended for it to be expanded to an absolute path.
An explanation of how relative paths are handled is given at the
bottom of the paths tab. Note that the height/width of the
preferences window is not changed as a result of adding this
explanatory comment because the height of the preferences dialog is
already stretched by other tabs.
This commit improves consistency in the sense that the behavior of
LyX is now the same when a relative path is specified in the
preferences dialog as when it is manually specified in the
preferences file. Before, if the preferences file were manually
edited and a relative path were inserted, the next time the user
made a change to preferences with the GUI (even if the preference
change was a different preference, e.g. instant preview), the
relative path would be silently converted to an absolute path,
evaluated with respect to the working directory of that instance.
Beyond improving clarity and consistency (IMO), this commit allows
for a new feature to be implemented of using relative paths in the
paths preferences. For example, the user may now enter '.' as the
"Working directory" path and now whenever they start LyX from a
directory and create a new file, the default location of the file
will be the directory from which they started LyX, instead of the
user's home directory which is LyX's default and is less intuitive.
No prefs2prefs work is needed because if a relative path were
entered in the preferences dialog before this commit, it was
converted to an absolute path before being stored in preferences. If
a relative path were specified by manually editing the preferences
file, then (unless the path were already automatically converted to
an absolute path by a GUI preferences change, as described above)
the behavior will be the same (the path will be treated as a
relative path).
For related discussion, see the lyx-devel thread here:
https://www.mail-archive.com/search?l=mid&q=20160616003010.bnymtcouar7g55ti%40cotopaxi
This commit removes the last use of lyx::support::expandPath() in
LyX's sources.
2016-07-29 17:13:55 +00:00
if ( lexrc . next ( ) )
2005-06-18 00:18:29 +00:00
document_path = os : : internal_path ( lexrc . getString ( ) ) ;
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
2007-11-25 18:26:58 +00:00
case RC_EXAMPLEPATH :
Rel. path in paths prefs preserved as rel. paths
Before this commit, in the paths preferences tab if you put a
relative path, LyX would convert it behind the scenes to an absolute
path by evaluating the relative path with respect to the working
directory of the LyX instance where the preference change is taking
place. This seems confusing because (1) it is done behind the scenes
(after the preferences dialog is closed) and (2) if the user chooses
to enter a relative path, the safest thing to do is to preserve it
as a relative path, instead of making the assumption that the user
intended for it to be expanded to an absolute path.
An explanation of how relative paths are handled is given at the
bottom of the paths tab. Note that the height/width of the
preferences window is not changed as a result of adding this
explanatory comment because the height of the preferences dialog is
already stretched by other tabs.
This commit improves consistency in the sense that the behavior of
LyX is now the same when a relative path is specified in the
preferences dialog as when it is manually specified in the
preferences file. Before, if the preferences file were manually
edited and a relative path were inserted, the next time the user
made a change to preferences with the GUI (even if the preference
change was a different preference, e.g. instant preview), the
relative path would be silently converted to an absolute path,
evaluated with respect to the working directory of that instance.
Beyond improving clarity and consistency (IMO), this commit allows
for a new feature to be implemented of using relative paths in the
paths preferences. For example, the user may now enter '.' as the
"Working directory" path and now whenever they start LyX from a
directory and create a new file, the default location of the file
will be the directory from which they started LyX, instead of the
user's home directory which is LyX's default and is less intuitive.
No prefs2prefs work is needed because if a relative path were
entered in the preferences dialog before this commit, it was
converted to an absolute path before being stored in preferences. If
a relative path were specified by manually editing the preferences
file, then (unless the path were already automatically converted to
an absolute path by a GUI preferences change, as described above)
the behavior will be the same (the path will be treated as a
relative path).
For related discussion, see the lyx-devel thread here:
https://www.mail-archive.com/search?l=mid&q=20160616003010.bnymtcouar7g55ti%40cotopaxi
This commit removes the last use of lyx::support::expandPath() in
LyX's sources.
2016-07-29 17:13:55 +00:00
if ( lexrc . next ( ) )
2007-11-25 18:26:58 +00:00
example_path = os : : internal_path ( lexrc . getString ( ) ) ;
break ;
1999-09-27 18:44:28 +00:00
case RC_TEMPLATEPATH :
Rel. path in paths prefs preserved as rel. paths
Before this commit, in the paths preferences tab if you put a
relative path, LyX would convert it behind the scenes to an absolute
path by evaluating the relative path with respect to the working
directory of the LyX instance where the preference change is taking
place. This seems confusing because (1) it is done behind the scenes
(after the preferences dialog is closed) and (2) if the user chooses
to enter a relative path, the safest thing to do is to preserve it
as a relative path, instead of making the assumption that the user
intended for it to be expanded to an absolute path.
An explanation of how relative paths are handled is given at the
bottom of the paths tab. Note that the height/width of the
preferences window is not changed as a result of adding this
explanatory comment because the height of the preferences dialog is
already stretched by other tabs.
This commit improves consistency in the sense that the behavior of
LyX is now the same when a relative path is specified in the
preferences dialog as when it is manually specified in the
preferences file. Before, if the preferences file were manually
edited and a relative path were inserted, the next time the user
made a change to preferences with the GUI (even if the preference
change was a different preference, e.g. instant preview), the
relative path would be silently converted to an absolute path,
evaluated with respect to the working directory of that instance.
Beyond improving clarity and consistency (IMO), this commit allows
for a new feature to be implemented of using relative paths in the
paths preferences. For example, the user may now enter '.' as the
"Working directory" path and now whenever they start LyX from a
directory and create a new file, the default location of the file
will be the directory from which they started LyX, instead of the
user's home directory which is LyX's default and is less intuitive.
No prefs2prefs work is needed because if a relative path were
entered in the preferences dialog before this commit, it was
converted to an absolute path before being stored in preferences. If
a relative path were specified by manually editing the preferences
file, then (unless the path were already automatically converted to
an absolute path by a GUI preferences change, as described above)
the behavior will be the same (the path will be treated as a
relative path).
For related discussion, see the lyx-devel thread here:
https://www.mail-archive.com/search?l=mid&q=20160616003010.bnymtcouar7g55ti%40cotopaxi
This commit removes the last use of lyx::support::expandPath() in
LyX's sources.
2016-07-29 17:13:55 +00:00
if ( lexrc . next ( ) )
2005-06-18 00:18:29 +00:00
template_path = os : : internal_path ( lexrc . getString ( ) ) ;
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_TEMPDIRPATH :
Rel. path in paths prefs preserved as rel. paths
Before this commit, in the paths preferences tab if you put a
relative path, LyX would convert it behind the scenes to an absolute
path by evaluating the relative path with respect to the working
directory of the LyX instance where the preference change is taking
place. This seems confusing because (1) it is done behind the scenes
(after the preferences dialog is closed) and (2) if the user chooses
to enter a relative path, the safest thing to do is to preserve it
as a relative path, instead of making the assumption that the user
intended for it to be expanded to an absolute path.
An explanation of how relative paths are handled is given at the
bottom of the paths tab. Note that the height/width of the
preferences window is not changed as a result of adding this
explanatory comment because the height of the preferences dialog is
already stretched by other tabs.
This commit improves consistency in the sense that the behavior of
LyX is now the same when a relative path is specified in the
preferences dialog as when it is manually specified in the
preferences file. Before, if the preferences file were manually
edited and a relative path were inserted, the next time the user
made a change to preferences with the GUI (even if the preference
change was a different preference, e.g. instant preview), the
relative path would be silently converted to an absolute path,
evaluated with respect to the working directory of that instance.
Beyond improving clarity and consistency (IMO), this commit allows
for a new feature to be implemented of using relative paths in the
paths preferences. For example, the user may now enter '.' as the
"Working directory" path and now whenever they start LyX from a
directory and create a new file, the default location of the file
will be the directory from which they started LyX, instead of the
user's home directory which is LyX's default and is less intuitive.
No prefs2prefs work is needed because if a relative path were
entered in the preferences dialog before this commit, it was
converted to an absolute path before being stored in preferences. If
a relative path were specified by manually editing the preferences
file, then (unless the path were already automatically converted to
an absolute path by a GUI preferences change, as described above)
the behavior will be the same (the path will be treated as a
relative path).
For related discussion, see the lyx-devel thread here:
https://www.mail-archive.com/search?l=mid&q=20160616003010.bnymtcouar7g55ti%40cotopaxi
This commit removes the last use of lyx::support::expandPath() in
LyX's sources.
2016-07-29 17:13:55 +00:00
if ( lexrc . next ( ) )
2005-06-18 00:18:29 +00:00
tempdir_path = os : : internal_path ( lexrc . getString ( ) ) ;
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
2008-11-16 18:48:25 +00:00
case RC_THESAURUSDIRPATH :
Rel. path in paths prefs preserved as rel. paths
Before this commit, in the paths preferences tab if you put a
relative path, LyX would convert it behind the scenes to an absolute
path by evaluating the relative path with respect to the working
directory of the LyX instance where the preference change is taking
place. This seems confusing because (1) it is done behind the scenes
(after the preferences dialog is closed) and (2) if the user chooses
to enter a relative path, the safest thing to do is to preserve it
as a relative path, instead of making the assumption that the user
intended for it to be expanded to an absolute path.
An explanation of how relative paths are handled is given at the
bottom of the paths tab. Note that the height/width of the
preferences window is not changed as a result of adding this
explanatory comment because the height of the preferences dialog is
already stretched by other tabs.
This commit improves consistency in the sense that the behavior of
LyX is now the same when a relative path is specified in the
preferences dialog as when it is manually specified in the
preferences file. Before, if the preferences file were manually
edited and a relative path were inserted, the next time the user
made a change to preferences with the GUI (even if the preference
change was a different preference, e.g. instant preview), the
relative path would be silently converted to an absolute path,
evaluated with respect to the working directory of that instance.
Beyond improving clarity and consistency (IMO), this commit allows
for a new feature to be implemented of using relative paths in the
paths preferences. For example, the user may now enter '.' as the
"Working directory" path and now whenever they start LyX from a
directory and create a new file, the default location of the file
will be the directory from which they started LyX, instead of the
user's home directory which is LyX's default and is less intuitive.
No prefs2prefs work is needed because if a relative path were
entered in the preferences dialog before this commit, it was
converted to an absolute path before being stored in preferences. If
a relative path were specified by manually editing the preferences
file, then (unless the path were already automatically converted to
an absolute path by a GUI preferences change, as described above)
the behavior will be the same (the path will be treated as a
relative path).
For related discussion, see the lyx-devel thread here:
https://www.mail-archive.com/search?l=mid&q=20160616003010.bnymtcouar7g55ti%40cotopaxi
This commit removes the last use of lyx::support::expandPath() in
LyX's sources.
2016-07-29 17:13:55 +00:00
if ( lexrc . next ( ) )
2008-11-16 18:48:25 +00:00
thesaurusdir_path = os : : internal_path ( lexrc . getString ( ) ) ;
break ;
2009-08-08 17:05:31 +00:00
case RC_HUNSPELLDIR_PATH :
Rel. path in paths prefs preserved as rel. paths
Before this commit, in the paths preferences tab if you put a
relative path, LyX would convert it behind the scenes to an absolute
path by evaluating the relative path with respect to the working
directory of the LyX instance where the preference change is taking
place. This seems confusing because (1) it is done behind the scenes
(after the preferences dialog is closed) and (2) if the user chooses
to enter a relative path, the safest thing to do is to preserve it
as a relative path, instead of making the assumption that the user
intended for it to be expanded to an absolute path.
An explanation of how relative paths are handled is given at the
bottom of the paths tab. Note that the height/width of the
preferences window is not changed as a result of adding this
explanatory comment because the height of the preferences dialog is
already stretched by other tabs.
This commit improves consistency in the sense that the behavior of
LyX is now the same when a relative path is specified in the
preferences dialog as when it is manually specified in the
preferences file. Before, if the preferences file were manually
edited and a relative path were inserted, the next time the user
made a change to preferences with the GUI (even if the preference
change was a different preference, e.g. instant preview), the
relative path would be silently converted to an absolute path,
evaluated with respect to the working directory of that instance.
Beyond improving clarity and consistency (IMO), this commit allows
for a new feature to be implemented of using relative paths in the
paths preferences. For example, the user may now enter '.' as the
"Working directory" path and now whenever they start LyX from a
directory and create a new file, the default location of the file
will be the directory from which they started LyX, instead of the
user's home directory which is LyX's default and is less intuitive.
No prefs2prefs work is needed because if a relative path were
entered in the preferences dialog before this commit, it was
converted to an absolute path before being stored in preferences. If
a relative path were specified by manually editing the preferences
file, then (unless the path were already automatically converted to
an absolute path by a GUI preferences change, as described above)
the behavior will be the same (the path will be treated as a
relative path).
For related discussion, see the lyx-devel thread here:
https://www.mail-archive.com/search?l=mid&q=20160616003010.bnymtcouar7g55ti%40cotopaxi
This commit removes the last use of lyx::support::expandPath() in
LyX's sources.
2016-07-29 17:13:55 +00:00
if ( lexrc . next ( ) )
2009-08-08 17:05:31 +00:00
hunspelldir_path = os : : internal_path ( lexrc . getString ( ) ) ;
break ;
2006-04-05 22:56:18 +00:00
case RC_USELASTFILEPOS :
2008-04-05 10:34:29 +00:00
lexrc > > use_lastfilepos ;
2006-04-05 22:56:18 +00:00
break ;
case RC_LOADSESSION :
2008-04-05 10:34:29 +00:00
lexrc > > load_session ;
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
2008-01-30 21:20:29 +00:00
case RC_MOUSE_WHEEL_SPEED :
2008-04-05 10:34:29 +00:00
lexrc > > mouse_wheel_speed ;
2008-01-30 21:20:29 +00:00
break ;
2008-02-21 19:42:34 +00:00
case RC_COMPLETION_INLINE_DELAY :
2008-04-05 10:34:29 +00:00
lexrc > > completion_inline_delay ;
2008-02-21 19:42:34 +00:00
break ;
case RC_COMPLETION_INLINE_MATH :
2008-04-05 10:34:29 +00:00
lexrc > > completion_inline_math ;
2008-02-21 19:42:34 +00:00
break ;
case RC_COMPLETION_INLINE_TEXT :
2008-04-05 10:34:29 +00:00
lexrc > > completion_inline_text ;
2008-02-21 19:42:34 +00:00
break ;
case RC_COMPLETION_INLINE_DOTS :
2008-04-05 10:34:29 +00:00
lexrc > > completion_inline_dots ;
2008-02-21 19:42:34 +00:00
break ;
2009-01-15 09:48:00 +00:00
case RC_AUTOCORRECTION_MATH :
lexrc > > autocorrection_math ;
break ;
2008-02-21 19:42:34 +00:00
case RC_COMPLETION_POPUP_DELAY :
2008-04-05 10:34:29 +00:00
lexrc > > completion_popup_delay ;
2008-02-21 19:42:34 +00:00
break ;
case RC_COMPLETION_POPUP_MATH :
2008-04-05 10:34:29 +00:00
lexrc > > completion_popup_math ;
2008-02-21 19:42:34 +00:00
break ;
case RC_COMPLETION_POPUP_TEXT :
2008-04-05 10:34:29 +00:00
lexrc > > completion_popup_text ;
2008-02-21 19:42:34 +00:00
break ;
2008-03-16 17:07:10 +00:00
case RC_COMPLETION_CURSOR_TEXT :
2008-04-05 10:34:29 +00:00
lexrc > > completion_cursor_text ;
2008-03-16 17:07:10 +00:00
break ;
2008-02-21 19:42:34 +00:00
case RC_COMPLETION_POPUP_AFTER_COMPLETE :
2008-04-05 10:34:29 +00:00
lexrc > > completion_popup_after_complete ;
2008-02-21 19:42:34 +00:00
break ;
2012-01-02 22:47:04 +00:00
case RC_COMPLETION_MINLENGTH :
lexrc > > completion_minlength ;
break ;
2002-03-21 17:27:08 +00:00
case RC_NUMLASTFILES :
2008-04-05 10:34:29 +00:00
lexrc > > num_lastfiles ;
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
case RC_CHECKLASTFILES :
2008-04-05 10:34:29 +00:00
lexrc > > check_lastfiles ;
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
2011-03-25 01:59:34 +00:00
case RC_ICON_SET :
lexrc > > icon_set ;
break ;
2012-05-08 15:55:59 +00:00
case RC_USE_SYSTEM_THEME_ICONS :
lexrc > > use_system_theme_icons ;
break ;
1999-09-27 18:44:28 +00:00
case RC_SCREEN_FONT_ROMAN :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
roman_font_name = lexrc . getString ( ) ;
2002-11-27 21:49:50 +00:00
oldFontFormat ( roman_font_name ,
roman_font_foundry ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_SCREEN_FONT_SANS :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
sans_font_name = lexrc . getString ( ) ;
2002-11-27 21:49:50 +00:00
oldFontFormat ( sans_font_name , sans_font_foundry ) ;
2002-08-27 20:30:20 +00:00
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_SCREEN_FONT_TYPEWRITER :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2001-08-06 19:12:46 +00:00
typewriter_font_name = lexrc . getString ( ) ;
2002-11-27 21:49:50 +00:00
oldFontFormat ( typewriter_font_name ,
typewriter_font_foundry ) ;
}
break ;
case RC_SCREEN_FONT_ROMAN_FOUNDRY :
2008-04-05 12:56:43 +00:00
lexrc > > roman_font_foundry ;
2002-11-27 21:49:50 +00:00
break ;
case RC_SCREEN_FONT_SANS_FOUNDRY :
2008-04-05 12:56:43 +00:00
lexrc > > sans_font_foundry ;
2002-11-27 21:49:50 +00:00
break ;
case RC_SCREEN_FONT_TYPEWRITER_FOUNDRY :
2008-04-05 12:56:43 +00:00
lexrc > > typewriter_font_foundry ;
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
2008-05-29 17:57:57 +00:00
case RC_SET_COLOR : {
if ( ! lexrc . next ( ) ) {
2000-07-25 12:44:07 +00:00
lexrc . printError ( " Missing color tag. " ) ;
2000-06-26 15:33:13 +00:00
break ;
}
2020-05-18 00:52:58 +00:00
string const lyx_name = lexrc . getString ( ) ;
2002-03-21 17:27:08 +00:00
2008-05-29 17:57:57 +00:00
if ( ! lexrc . next ( ) ) {
2003-01-06 14:02:24 +00:00
lexrc . printError ( " Missing color name for color: `$$Token' " ) ;
2000-06-26 15:33:13 +00:00
break ;
}
2020-05-18 00:52:58 +00:00
string const x11_name = lexrc . getString ( ) ;
2000-06-26 15:33:13 +00:00
2020-12-12 09:56:05 +00:00
string x11_darkname = x11_name ;
if ( lexrc . next ( ) )
x11_darkname = lexrc . getString ( ) ;
2007-10-25 12:41:02 +00:00
ColorCode const col =
2004-04-08 12:55:44 +00:00
lcolor . getFromLyXName ( lyx_name ) ;
2007-10-25 12:41:02 +00:00
if ( col = = Color_none | |
col = = Color_inherit | |
col = = Color_ignore )
2004-04-08 12:55:44 +00:00
break ;
2020-12-12 09:56:05 +00:00
if ( ! lcolor . setColor ( col , x11_name , x11_darkname ) )
2008-05-29 17:57:57 +00:00
LYXERR0 ( " Bad lyxrc set_color for " < < lyx_name ) ;
2020-12-12 09:56:05 +00:00
LYXERR ( Debug : : LYXRC , " Set " < < lyx_name < < " ( " < < col < < " ) to "
< < x11_name < < " and " < < x11_darkname ) ;
2000-06-26 15:33:13 +00:00
break ;
}
2008-05-29 17:57:57 +00:00
1999-09-27 18:44:28 +00:00
case RC_AUTOREGIONDELETE :
// Auto region delete defaults to true
2008-04-05 12:56:43 +00:00
lexrc > > auto_region_delete ;
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
1999-09-27 18:44:28 +00:00
case RC_SERVERPIPE :
2020-04-18 14:32:24 +00:00
if ( lexrc . next ( ) ) {
string userdir = package ( ) . user_support ( ) . absFileName ( ) ;
if ( userdir . back ( ) = = ' / ' )
2020-04-19 06:59:54 +00:00
userdir . pop_back ( ) ;
2020-04-18 20:25:55 +00:00
lyxpipes = subst ( os : : internal_path ( lexrc . getString ( ) ) , " $$UserDir " ,
2020-04-18 14:32:24 +00:00
userdir ) ;
}
1999-09-27 18:44:28 +00:00
break ;
2002-03-21 17:27:08 +00:00
2020-08-27 06:45:41 +00:00
case RC_CITATION_SEARCH :
lexrc > > citation_search ;
break ;
case RC_CITATION_SEARCH_PATTERN :
if ( lexrc . next ( ) )
citation_search_pattern = lexrc . getString ( ) ;
break ;
2020-08-23 20:19:34 +00:00
case RC_CITATION_SEARCH_VIEW :
2020-08-27 06:45:41 +00:00
if ( lexrc . next ( ) )
citation_search_view = lexrc . getString ( ) ;
2020-08-23 20:19:34 +00:00
break ;
2019-12-27 09:35:52 +00:00
case RC_CT_ADDITIONS_UNDERLINED :
lexrc > > ct_additions_underlined ;
break ;
2020-01-13 14:20:48 +00:00
case RC_CT_MARKUP_COPIED :
lexrc > > ct_markup_copied ;
break ;
1999-09-27 18:44:28 +00:00
case RC_CURSOR_FOLLOWS_SCROLLBAR :
2008-04-05 12:56:43 +00:00
lexrc > > cursor_follows_scrollbar ;
1999-09-27 18:44:28 +00:00
break ;
2000-01-13 16:28:54 +00:00
2011-03-11 06:11:55 +00:00
case RC_CURSOR_WIDTH :
lexrc > > cursor_width ;
break ;
2009-03-27 17:41:58 +00:00
case RC_SCROLL_BELOW_DOCUMENT :
lexrc > > scroll_below_document ;
break ;
2009-08-19 22:46:43 +00:00
case RC_PARAGRAPH_MARKERS :
lexrc > > paragraph_markers ;
break ;
2010-09-19 22:00:25 +00:00
case RC_MAC_DONTSWAP_CTRL_META :
lexrc > > mac_dontswap_ctrl_meta ;
break ;
2013-05-25 16:02:21 +00:00
case RC_MAC_LIKE_CURSOR_MOVEMENT :
lexrc > > mac_like_cursor_movement ;
2008-07-01 14:42:32 +00:00
break ;
2008-01-25 22:02:38 +00:00
case RC_MACRO_EDIT_STYLE :
2008-01-22 21:23:41 +00:00
if ( lexrc . next ( ) ) {
2008-01-25 22:02:38 +00:00
switch ( lexrc . getInteger ( ) ) {
case 0 : macro_edit_style = MACRO_EDIT_INLINE_BOX ; break ;
case 1 : macro_edit_style = MACRO_EDIT_INLINE ; break ;
case 2 : macro_edit_style = MACRO_EDIT_LIST ; break ;
}
2008-01-22 21:23:41 +00:00
}
break ;
2001-09-07 10:11:02 +00:00
case RC_DIALOGS_ICONIFY_WITH_MAIN :
2008-04-05 12:56:43 +00:00
lexrc > > dialogs_iconify_with_main ;
2001-09-07 10:11:02 +00:00
break ;
2007-01-15 22:49:14 +00:00
case RC_PLAINTEXT_LINELEN :
2008-04-05 12:56:43 +00:00
lexrc > > plaintext_linelen ;
1999-09-27 18:44:28 +00:00
break ;
1999-12-01 00:57:31 +00:00
// Spellchecker settings:
1999-09-27 18:44:28 +00:00
case RC_ACCEPT_COMPOUND :
2008-11-15 18:47:25 +00:00
lexrc > > spellchecker_accept_compound ;
1999-09-27 18:44:28 +00:00
break ;
2018-01-30 13:32:53 +00:00
case RC_USE_NATIVE_FILEDIALOG :
lexrc > > use_native_filedialog ;
break ;
2010-08-08 23:11:02 +00:00
case RC_USE_SYSTEM_COLORS :
lexrc > > use_system_colors ;
break ;
2007-12-26 13:52:56 +00:00
case RC_USE_TOOLTIP :
2008-04-05 12:56:43 +00:00
lexrc > > use_tooltip ;
2007-12-26 13:52:56 +00:00
break ;
2009-08-08 17:05:31 +00:00
case RC_SPELLCHECKER :
lexrc > > spellchecker ;
break ;
1999-09-27 18:44:28 +00:00
case RC_ALT_LANG :
2008-11-15 18:47:25 +00:00
lexrc > > spellchecker_alt_lang ;
1999-09-27 18:44:28 +00:00
break ;
case RC_ESC_CHARS :
2008-11-15 18:47:25 +00:00
lexrc > > spellchecker_esc_chars ;
1999-09-27 18:44:28 +00:00
break ;
2009-03-29 19:57:30 +00:00
case RC_SPELLCHECK_CONTINUOUSLY :
lexrc > > spellcheck_continuously ;
break ;
2010-02-13 16:22:39 +00:00
case RC_SPELLCHECK_NOTES :
lexrc > > spellcheck_notes ;
break ;
2000-01-11 01:59:00 +00:00
case RC_MAKE_BACKUP :
2008-04-05 12:56:43 +00:00
lexrc > > make_backup ;
2000-01-11 01:59:00 +00:00
break ;
2010-03-26 14:02:56 +00:00
case RC_SAVE_COMPRESSED :
lexrc > > save_compressed ;
break ;
2015-05-23 15:49:33 +00:00
case RC_SAVE_ORIGIN :
lexrc > > save_origin ;
break ;
2000-03-20 14:49:54 +00:00
case RC_BACKUPDIR_PATH :
Rel. path in paths prefs preserved as rel. paths
Before this commit, in the paths preferences tab if you put a
relative path, LyX would convert it behind the scenes to an absolute
path by evaluating the relative path with respect to the working
directory of the LyX instance where the preference change is taking
place. This seems confusing because (1) it is done behind the scenes
(after the preferences dialog is closed) and (2) if the user chooses
to enter a relative path, the safest thing to do is to preserve it
as a relative path, instead of making the assumption that the user
intended for it to be expanded to an absolute path.
An explanation of how relative paths are handled is given at the
bottom of the paths tab. Note that the height/width of the
preferences window is not changed as a result of adding this
explanatory comment because the height of the preferences dialog is
already stretched by other tabs.
This commit improves consistency in the sense that the behavior of
LyX is now the same when a relative path is specified in the
preferences dialog as when it is manually specified in the
preferences file. Before, if the preferences file were manually
edited and a relative path were inserted, the next time the user
made a change to preferences with the GUI (even if the preference
change was a different preference, e.g. instant preview), the
relative path would be silently converted to an absolute path,
evaluated with respect to the working directory of that instance.
Beyond improving clarity and consistency (IMO), this commit allows
for a new feature to be implemented of using relative paths in the
paths preferences. For example, the user may now enter '.' as the
"Working directory" path and now whenever they start LyX from a
directory and create a new file, the default location of the file
will be the directory from which they started LyX, instead of the
user's home directory which is LyX's default and is less intuitive.
No prefs2prefs work is needed because if a relative path were
entered in the preferences dialog before this commit, it was
converted to an absolute path before being stored in preferences. If
a relative path were specified by manually editing the preferences
file, then (unless the path were already automatically converted to
an absolute path by a GUI preferences change, as described above)
the behavior will be the same (the path will be treated as a
relative path).
For related discussion, see the lyx-devel thread here:
https://www.mail-archive.com/search?l=mid&q=20160616003010.bnymtcouar7g55ti%40cotopaxi
This commit removes the last use of lyx::support::expandPath() in
LyX's sources.
2016-07-29 17:13:55 +00:00
if ( lexrc . next ( ) )
2005-06-18 00:18:29 +00:00
backupdir_path = os : : internal_path ( lexrc . getString ( ) ) ;
2000-03-20 14:49:54 +00:00
break ;
2019-07-22 06:05:28 +00:00
case RC_DEFAULT_DECIMAL_SEP :
lexrc > > default_decimal_sep ;
2010-06-05 07:44:44 +00:00
break ;
2011-10-27 11:52:11 +00:00
case RC_DEFAULT_LENGTH_UNIT :
if ( lexrc . next ( ) )
default_length_unit = ( Length : : UNIT ) lexrc . getInteger ( ) ;
break ;
2010-11-20 13:34:14 +00:00
case RC_LANGUAGE_CUSTOM_PACKAGE :
lexrc > > language_custom_package ;
2000-03-10 13:22:20 +00:00
break ;
2000-03-17 10:14:46 +00:00
case RC_LANGUAGE_AUTO_BEGIN :
2008-04-05 12:56:43 +00:00
lexrc > > language_auto_begin ;
2000-03-10 13:22:20 +00:00
break ;
2000-03-17 10:14:46 +00:00
case RC_LANGUAGE_AUTO_END :
2008-04-05 12:56:43 +00:00
lexrc > > language_auto_end ;
2000-03-10 13:22:20 +00:00
break ;
2001-02-25 10:22:54 +00:00
case RC_LANGUAGE_GLOBAL_OPTIONS :
2008-04-05 12:56:43 +00:00
lexrc > > language_global_options ;
2001-02-25 10:22:54 +00:00
break ;
2010-11-20 13:34:14 +00:00
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 ;
}
}
2001-02-25 10:22:54 +00:00
break ;
2000-03-17 10:14:46 +00:00
case RC_LANGUAGE_COMMAND_BEGIN :
2008-04-05 12:56:43 +00:00
lexrc > > language_command_begin ;
2000-03-10 13:22:20 +00:00
break ;
2000-03-17 10:14:46 +00:00
case RC_LANGUAGE_COMMAND_END :
2008-04-05 12:56:43 +00:00
lexrc > > language_command_end ;
2000-03-10 13:22:20 +00:00
break ;
2001-02-25 10:22:54 +00:00
case RC_LANGUAGE_COMMAND_LOCAL :
2008-04-05 12:56:43 +00:00
lexrc > > language_command_local ;
2001-02-25 10:22:54 +00:00
break ;
2019-07-19 15:23:20 +00:00
case RC_RESPECT_OS_KBD_LANGUAGE :
lexrc > > respect_os_kbd_language ;
break ;
2008-02-10 19:51:23 +00:00
case RC_VISUAL_CURSOR :
2008-04-05 12:56:43 +00:00
lexrc > > visual_cursor ;
2008-02-10 19:51:23 +00:00
break ;
2012-09-15 22:37:55 +00:00
case RC_CLOSE_BUFFER_WITH_LAST_VIEW :
lexrc > > close_buffer_with_last_view ;
break ;
2000-04-10 21:40:13 +00:00
case RC_AUTO_NUMBER :
2008-04-05 12:56:43 +00:00
lexrc > > auto_number ;
2000-03-17 10:14:46 +00:00
break ;
2000-05-30 19:31:11 +00:00
case RC_MARK_FOREIGN_LANGUAGE :
2008-04-05 12:56:43 +00:00
lexrc > > mark_foreign_language ;
2000-05-31 08:47:26 +00:00
break ;
2002-03-21 17:27:08 +00:00
2004-10-26 18:39:13 +00:00
case RC_COPIER : {
string fmt , command ;
2008-05-29 17:57:57 +00:00
if ( lexrc . next ( ) )
2008-05-05 13:53:28 +00:00
fmt = lexrc . getString ( ) ;
2008-05-29 17:57:57 +00:00
if ( lexrc . next ( true ) )
2008-05-05 13:53:28 +00:00
command = lexrc . getString ( ) ;
2007-01-18 08:42:53 +00:00
setMover ( fmt , command ) ;
2004-10-26 18:39:13 +00:00
break ;
}
2000-10-23 12:16:05 +00:00
case RC_CONVERTER : {
2000-08-30 03:40:51 +00:00
string from , to , command , flags ;
2008-05-29 17:57:57 +00:00
if ( lexrc . next ( ) )
2008-05-05 13:53:28 +00:00
from = lexrc . getString ( ) ;
2008-05-29 17:57:57 +00:00
if ( lexrc . next ( ) )
2008-05-05 13:53:28 +00:00
to = lexrc . getString ( ) ;
2008-05-29 17:57:57 +00:00
if ( lexrc . next ( true ) )
2008-05-05 13:53:28 +00:00
command = lexrc . getString ( ) ;
2008-05-29 17:57:57 +00:00
if ( lexrc . next ( ) )
2008-05-05 13:53:28 +00:00
flags = lexrc . getString ( ) ;
2008-04-05 10:34:29 +00:00
if ( command . empty ( ) )
2007-01-17 13:18:16 +00:00
theConverters ( ) . erase ( from , to ) ;
2008-04-05 10:34:29 +00:00
else
2007-01-17 13:18:16 +00:00
theConverters ( ) . add ( from , to , command , flags ) ;
2000-08-30 03:40:51 +00:00
break ;
}
2004-04-13 10:36:09 +00:00
// compatibility with versions older than 1.4.0 only
2000-10-23 12:16:05 +00:00
case RC_VIEWER : {
2000-08-30 03:40:51 +00:00
string format , command ;
2008-04-05 10:34:29 +00:00
lexrc > > format > > command ;
2017-03-14 03:33:40 +00:00
theFormats ( ) . setViewer ( format , command ) ;
2000-08-30 03:40:51 +00:00
break ;
}
2011-01-16 20:28:43 +00:00
case RC_FILEFORMAT : {
2012-02-21 20:29:44 +00:00
bool ok = true ;
2016-08-28 00:27:37 +00:00
string format , extensions , shortcut ;
docstring prettyname ;
2012-02-21 20:29:44 +00:00
if ( ! ( lexrc > > format > > extensions ) )
ok = false ;
if ( ok & & lexrc . next ( true ) )
2016-08-28 00:27:37 +00:00
prettyname = lexrc . getDocString ( ) ;
2012-02-21 20:29:44 +00:00
else
ok = false ;
if ( ok )
if ( ! ( lexrc > > shortcut ) )
ok = false ;
2004-04-13 10:36:09 +00:00
string viewer , editor ;
2012-02-21 20:29:44 +00:00
if ( ok & & lexrc . next ( true ) )
2008-05-05 13:53:28 +00:00
viewer = lexrc . getString ( ) ;
2012-02-21 20:29:44 +00:00
else
ok = false ;
if ( ok & & lexrc . next ( true ) )
2008-05-05 13:53:28 +00:00
editor = lexrc . getString ( ) ;
2012-02-21 20:29:44 +00:00
else
ok = false ;
string flags , mime ;
if ( ! ( lexrc > > flags > > mime ) )
ok = false ;
2006-10-03 08:34:59 +00:00
int flgs = Format : : none ;
while ( ! flags . empty ( ) ) {
string flag ;
2007-12-12 19:57:42 +00:00
flags = split ( flags , flag , ' , ' ) ;
2006-10-03 08:34:59 +00:00
if ( flag = = " document " )
flgs | = Format : : document ;
else if ( flag = = " vector " )
flgs | = Format : : vector ;
2011-09-19 00:12:09 +00:00
else if ( flag = = " zipped=native " )
flgs | = Format : : zipped_native ;
2011-02-13 09:34:10 +00:00
else if ( flag = = " menu=export " )
flgs | = Format : : export_menu ;
2019-09-11 08:29:50 +00:00
else if ( flag = = " menu=none " )
flgs | = Format : : no_menu ;
2006-10-03 08:34:59 +00:00
else
2008-05-29 17:57:57 +00:00
LYXERR0 ( " Ignoring unknown flag ` "
2006-10-03 08:34:59 +00:00
< < flag < < " ' for format ` "
2008-05-29 17:57:57 +00:00
< < format < < " '. " ) ;
2006-10-03 08:34:59 +00:00
}
2012-02-21 20:29:44 +00:00
if ( ! ok )
LYXERR0 ( " Syntax error in format " < < format ) ;
else if ( prettyname . empty ( ) ) {
2008-04-05 12:56:43 +00:00
if ( theConverters ( ) . formatIsUsed ( format ) )
2008-05-29 17:57:57 +00:00
LYXERR0 ( " Can't delete format " < < format ) ;
2008-04-05 12:56:43 +00:00
else
2017-03-14 03:33:40 +00:00
theFormats ( ) . erase ( format ) ;
2002-08-27 20:30:20 +00:00
} else {
2017-03-14 03:33:40 +00:00
theFormats ( ) . add ( format , extensions , prettyname ,
2012-02-21 20:29:44 +00:00
shortcut , viewer , editor , mime , flgs ) ;
2002-08-27 20:30:20 +00:00
}
2000-10-23 12:16:05 +00:00
break ;
}
2009-09-05 15:11:43 +00:00
case RC_VIEWER_ALTERNATIVES : {
string format , command ;
2015-11-02 22:46:14 +00:00
if ( ( lexrc > > format ) & & lexrc . next ( true ) ) {
command = lexrc . getString ( ) ;
viewer_alternatives [ format ] . insert ( command ) ;
}
2009-09-05 15:11:43 +00:00
break ;
}
case RC_EDITOR_ALTERNATIVES : {
string format , command ;
2015-11-02 22:46:14 +00:00
if ( ( lexrc > > format ) & & lexrc . next ( true ) ) {
command = lexrc . getString ( ) ;
editor_alternatives [ format ] . insert ( command ) ;
}
2009-09-05 15:11:43 +00:00
break ;
}
2013-06-01 14:58:34 +00:00
case RC_DEFAULT_OTF_VIEW_FORMAT :
lexrc > > default_otf_view_format ;
break ;
2017-09-09 06:56:04 +00:00
case RC_DEFAULT_PLATEX_VIEW_FORMAT :
lexrc > > default_platex_view_format ;
break ;
2009-04-07 05:01:08 +00:00
case RC_DEFAULT_VIEW_FORMAT :
lexrc > > default_view_format ;
break ;
2011-03-21 22:30:17 +00:00
2008-06-24 12:55:40 +00:00
case RC_GUI_LANGUAGE :
lexrc > > gui_language ;
break ;
2002-06-26 08:59:25 +00:00
case RC_SHOW_BANNER :
2008-04-05 12:56:43 +00:00
lexrc > > show_banner ;
2002-06-26 08:59:25 +00:00
break ;
case RC_PREVIEW :
2002-08-27 20:30:20 +00:00
if ( lexrc . next ( ) ) {
2004-04-19 13:31:17 +00:00
string const tmp = lexrc . getString ( ) ;
if ( tmp = = " true " | | tmp = = " on " )
preview = PREVIEW_ON ;
else if ( tmp = = " no_math " )
preview = PREVIEW_NO_MATH ;
else {
preview = PREVIEW_OFF ;
if ( tmp ! = " false " & & tmp ! = " off " )
2008-05-29 17:57:57 +00:00
LYXERR0 ( " Unrecognized preview status \" "
< < tmp < < ' \n ' ) ;
2004-04-19 13:31:17 +00:00
}
2002-08-27 20:30:20 +00:00
}
2002-06-26 08:59:25 +00:00
break ;
2002-07-10 09:09:37 +00:00
case RC_PREVIEW_HASHED_LABELS :
2008-04-05 12:56:43 +00:00
lexrc > > preview_hashed_labels ;
2002-07-10 09:09:37 +00:00
break ;
case RC_PREVIEW_SCALE_FACTOR :
2008-04-05 12:56:43 +00:00
lexrc > > preview_scale_factor ;
2002-07-10 09:09:37 +00:00
break ;
2003-02-08 19:18:01 +00:00
case RC_USER_NAME :
2008-04-05 12:56:43 +00:00
lexrc > > user_name ;
2003-02-08 19:18:01 +00:00
break ;
case RC_USER_EMAIL :
2008-04-05 12:56:43 +00:00
lexrc > > user_email ;
2003-02-08 19:18:01 +00:00
break ;
2019-12-24 13:31:08 +00:00
case RC_USER_INITIALS :
lexrc > > user_initials ;
break ;
2003-03-04 09:27:27 +00:00
2005-01-16 21:01:41 +00:00
case RC_PATH_PREFIX :
2008-04-05 12:56:43 +00:00
lexrc > > path_prefix ;
2005-01-16 21:01:41 +00:00
break ;
2006-11-13 10:27:57 +00:00
case RC_USE_CONVERTER_CACHE :
2008-04-05 12:56:43 +00:00
lexrc > > use_converter_cache ;
2006-11-13 10:27:57 +00:00
break ;
2016-11-05 00:00:44 +00:00
case RC_USE_CONVERTER_NEEDAUTH_FORBIDDEN :
lexrc > > use_converter_needauth_forbidden ;
break ;
case RC_USE_CONVERTER_NEEDAUTH :
lexrc > > use_converter_needauth ;
break ;
2006-11-13 10:27:57 +00:00
case RC_CONVERTER_CACHE_MAXAGE :
2008-04-05 12:56:43 +00:00
lexrc > > converter_cache_maxage ;
2006-11-13 10:27:57 +00:00
break ;
2007-11-10 00:21:42 +00:00
case RC_SORT_LAYOUTS :
2008-04-05 12:56:43 +00:00
lexrc > > sort_layouts ;
2007-11-10 00:21:42 +00:00
break ;
2008-03-10 13:02:57 +00:00
case RC_GROUP_LAYOUTS :
2008-04-05 12:56:43 +00:00
lexrc > > group_layouts ;
2008-03-10 13:02:57 +00:00
break ;
2008-02-19 21:51:55 +00:00
case RC_FULL_SCREEN_LIMIT :
2008-04-05 12:56:43 +00:00
lexrc > > full_screen_limit ;
2008-02-19 21:51:55 +00:00
break ;
case RC_FULL_SCREEN_TOOLBARS :
2008-04-05 12:56:43 +00:00
lexrc > > full_screen_toolbars ;
2008-02-19 21:51:55 +00:00
break ;
case RC_FULL_SCREEN_SCROLLBAR :
2008-04-05 12:56:43 +00:00
lexrc > > full_screen_scrollbar ;
2008-02-19 21:51:55 +00:00
break ;
2014-02-26 01:48:56 +00:00
case RC_FULL_SCREEN_STATUSBAR :
lexrc > > full_screen_statusbar ;
break ;
2008-02-19 21:51:55 +00:00
case RC_FULL_SCREEN_TABBAR :
2008-04-05 12:56:43 +00:00
lexrc > > full_screen_tabbar ;
2008-02-19 21:51:55 +00:00
break ;
2009-05-26 21:41:45 +00:00
case RC_FULL_SCREEN_MENUBAR :
lexrc > > full_screen_menubar ;
break ;
2008-02-19 21:51:55 +00:00
case RC_FULL_SCREEN_WIDTH :
2008-04-05 12:56:43 +00:00
lexrc > > full_screen_width ;
2008-02-19 21:51:55 +00:00
break ;
2008-03-14 23:27:31 +00:00
case RC_OPEN_BUFFERS_IN_TABS :
2008-04-05 12:56:43 +00:00
lexrc > > open_buffers_in_tabs ;
2008-04-05 10:34:29 +00:00
break ;
2009-10-05 23:06:29 +00:00
case RC_SINGLE_CLOSE_TAB_BUTTON :
lexrc > > single_close_tab_button ;
break ;
2010-11-13 11:55:05 +00:00
case RC_SINGLE_INSTANCE :
lexrc > > single_instance ;
if ( run_mode = = PREFERRED )
run_mode = single_instance ? USE_REMOTE : NEW_INSTANCE ;
break ;
2010-04-15 23:32:52 +00:00
case RC_FORWARD_SEARCH_DVI :
2011-03-21 22:30:17 +00:00
if ( lexrc . next ( true ) )
2010-04-15 23:32:52 +00:00
forward_search_dvi = lexrc . getString ( ) ;
break ;
case RC_FORWARD_SEARCH_PDF :
2011-03-21 22:30:17 +00:00
if ( lexrc . next ( true ) )
2010-04-15 23:32:52 +00:00
forward_search_pdf = lexrc . getString ( ) ;
2010-04-15 13:19:48 +00:00
break ;
2010-04-20 16:49:49 +00:00
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 ;
2010-07-17 22:29:42 +00:00
case RC_SCROLL_WHEEL_ZOOM :
if ( lexrc . next ( ) ) {
string const tmp = lexrc . getString ( ) ;
if ( tmp = = " ctrl " )
2010-07-22 14:51:35 +00:00
scroll_wheel_zoom = SCROLL_WHEEL_ZOOM_CTRL ;
2010-07-17 22:29:42 +00:00
else if ( tmp = = " shift " )
2010-07-22 14:51:35 +00:00
scroll_wheel_zoom = SCROLL_WHEEL_ZOOM_SHIFT ;
2010-07-18 10:04:59 +00:00
else if ( tmp = = " alt " )
2010-07-22 14:51:35 +00:00
scroll_wheel_zoom = SCROLL_WHEEL_ZOOM_ALT ;
2010-07-17 22:29:42 +00:00
else {
2010-07-22 14:51:35 +00:00
scroll_wheel_zoom = SCROLL_WHEEL_ZOOM_OFF ;
2010-07-17 22:29:42 +00:00
if ( tmp ! = " off " & & tmp ! = " false " )
2010-07-22 14:51:35 +00:00
LYXERR0 ( " Unrecognized scroll_wheel_zoom status \" "
2010-07-17 22:29:42 +00:00
< < tmp < < ' " ' ) ;
}
}
break ;
2007-11-10 00:21:42 +00:00
2015-02-08 16:41:28 +00:00
case RC_MOUSE_MIDDLEBUTTON_PASTE :
lexrc > > mouse_middlebutton_paste ;
break ;
2008-04-05 12:56:43 +00:00
case RC_LAST :
break ; // this is just a dummy
1999-09-27 18:44:28 +00:00
}
2011-01-16 20:28:43 +00:00
// This is triggered the first time through the loop unless
// we hit a format tag.
2018-02-24 06:06:36 +00:00
if ( check_format & & rc_format ! = LYXRC_FILEFORMAT )
2011-01-16 20:28:43 +00:00
return FormatMismatch ;
1999-09-27 18:44:28 +00:00
}
2001-02-07 15:26:33 +00:00
/// Update converters data-structures
2017-03-14 03:33:40 +00:00
theConverters ( ) . update ( theFormats ( ) ) ;
2007-01-17 13:18:16 +00:00
theConverters ( ) . buildGraph ( ) ;
2016-10-19 21:22:58 +00:00
theBufferList ( ) . invalidateConverterCache ( ) ;
2001-02-07 15:26:33 +00:00
2011-01-16 20:28:43 +00:00
return ReadOK ;
1999-09-27 18:44:28 +00:00
}
2006-11-29 21:47:37 +00:00
void LyXRC : : write ( FileName const & filename , bool ignore_system_lyxrc ) const
1999-09-27 18:44:28 +00:00
{
2006-11-29 21:47:37 +00:00
ofstream ofs ( filename . toFilesystemEncoding ( ) . c_str ( ) ) ;
1999-12-01 00:57:31 +00:00
if ( ofs )
2004-04-05 18:21:25 +00:00
write ( ofs , ignore_system_lyxrc ) ;
1999-12-01 00:57:31 +00:00
}
void LyXRC : : print ( ) const
{
if ( lyxerr . debugging ( ) )
2004-04-05 18:21:25 +00:00
write ( lyxerr , false ) ;
1999-12-01 00:57:31 +00:00
else
2004-04-05 18:21:25 +00:00
write ( cout , false ) ;
1999-12-01 00:57:31 +00:00
}
2005-01-19 15:03:31 +00:00
class SameMover {
public :
2007-12-12 19:28:07 +00:00
typedef pair < string , SpecialisedMover > Data ;
2004-10-26 18:39:13 +00:00
SameMover ( Data const & comparison )
: comparison_ ( comparison ) { }
bool operator ( ) ( Data const & data ) const
{
return data . first = = comparison_ . first & &
data . second . command ( ) = = comparison_ . second . command ( ) ;
}
private :
Data comparison_ ;
} ;
2008-05-05 13:53:28 +00:00
namespace {
// Escape \ and " so that LyXLex can read the string later
string escapeCommand ( string const & str ) {
2011-03-21 22:30:17 +00:00
return subst ( subst ( str , " \\ " , " \\ \\ " ) ,
2008-05-05 13:53:28 +00:00
" \" " , " \\ \" " ) ;
}
2017-07-23 11:11:54 +00:00
} // namespace
2008-05-05 13:53:28 +00:00
2007-10-11 15:23:52 +00:00
void LyXRC : : write ( ostream & os , bool ignore_system_lyxrc , string const & name ) const
1999-12-01 00:57:31 +00:00
{
2007-10-11 15:23:52 +00:00
LyXRCTags tag = RC_LAST ;
2011-03-21 22:30:17 +00:00
2007-10-11 15:23:52 +00:00
if ( ! name . empty ( ) ) {
2007-10-20 10:03:45 +00:00
for ( int i = 0 ; i ! = lyxrcCount ; + + i )
2007-10-11 15:23:52 +00:00
if ( " \\ " + name = = lyxrcTags [ i ] . tag )
tag = static_cast < LyXRCTags > ( lyxrcTags [ i ] . code ) ;
}
if ( tag = = RC_LAST )
2008-11-16 13:27:00 +00:00
os < < " # LyX " < < lyx_version
< < " generated this file. If you want to make your own \n "
2011-01-16 20:28:43 +00:00
< < " # modifications you should do them from inside LyX and save. \n \n "
< < " Format " < < LYXRC_FILEFORMAT < < " \n \n " ;
2002-03-21 17:27:08 +00:00
1999-12-01 00:57:31 +00:00
// Why the switch you might ask. It is a trick to ensure that all
2008-05-05 13:53:28 +00:00
// the elements in the LyXRCTags enum are handled. As you can see
1999-12-01 00:57:31 +00:00
// 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.
2000-11-04 10:00:12 +00:00
switch ( tag ) {
1999-12-01 00:57:31 +00:00
case RC_LAST :
case RC_INPUT :
// input/include files are not done here
2011-01-16 20:28:43 +00:00
case RC_LYXRCFORMAT :
1999-12-01 00:57:31 +00:00
case RC_BINDFILE :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
bind_file ! = system_lyxrc . bind_file ) {
2005-06-18 00:18:29 +00:00
string const path = os : : external_path ( bind_file ) ;
os < < " \\ bind_file \" " < < path < < " \" \n " ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2007-10-20 23:27:03 +00:00
case RC_DEFFILE :
if ( ignore_system_lyxrc | |
def_file ! = system_lyxrc . def_file ) {
string const path = os : : external_path ( def_file ) ;
os < < " \\ def_file \" " < < path < < " \" \n " ;
}
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
//
// Misc Section
//
os < < " \n # \n "
< < " # MISC SECTION ###################################### \n "
< < " # \n \n " ;
1999-12-01 00:57:31 +00:00
// bind files are not done here.
2017-08-12 07:06:29 +00:00
// fall through
2005-01-16 21:01:41 +00:00
case RC_PATH_PREFIX :
if ( ignore_system_lyxrc | |
path_prefix ! = system_lyxrc . path_prefix ) {
os < < " \\ path_prefix \" " < < path_prefix < < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2000-07-24 13:53:19 +00:00
case RC_UIFILE :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
ui_file ! = system_lyxrc . ui_file ) {
2005-06-18 00:18:29 +00:00
string const path = os : : external_path ( ui_file ) ;
os < < " \\ ui_file \" " < < path < < " \" \n " ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
1999-12-01 00:57:31 +00:00
case RC_AUTOREGIONDELETE :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
auto_region_delete ! = system_lyxrc . auto_region_delete ) {
2000-10-10 14:17:33 +00:00
os < < " # Set to false to inhibit automatic replacement of \n "
< < " # the current selection. \n "
2005-01-06 15:40:49 +00:00
< < " \\ auto_region_delete " < < convert < string > ( auto_region_delete )
2002-11-27 10:30:28 +00:00
< < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2001-09-21 10:41:09 +00:00
case RC_AUTORESET_OPTIONS :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
auto_reset_options ! = system_lyxrc . auto_reset_options ) {
2001-09-21 10:41:09 +00:00
os < < " # Set to false to inhibit automatic reset of \n "
< < " # the class options to defaults on class change. \n "
2005-01-06 15:40:49 +00:00
< < " \\ auto_reset_options "
< < convert < string > ( auto_reset_options )
2002-11-27 10:30:28 +00:00
< < ' \n ' ;
2001-09-21 10:41:09 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
1999-12-01 00:57:31 +00:00
case RC_AUTOSAVE :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
autosave ! = system_lyxrc . autosave ) {
2000-10-10 14:17:33 +00:00
os < < " # The time interval between auto-saves in seconds. \n "
2002-11-27 10:30:28 +00:00
< < " \\ autosave " < < autosave < < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2001-09-18 10:58:35 +00:00
case RC_DISPLAY_GRAPHICS :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
display_graphics ! = system_lyxrc . display_graphics ) {
2001-09-18 10:58:35 +00:00
os < < " # Display graphics within LyX \n "
2008-06-13 07:34:55 +00:00
< < " # true|false \n "
2003-07-21 21:30:57 +00:00
< < " \\ display_graphics "
2008-06-13 07:34:55 +00:00
< < ( display_graphics ? " true " : " false " )
2002-11-27 10:30:28 +00:00
< < ' \n ' ;
2001-09-18 10:58:35 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2007-11-10 00:21:42 +00:00
case RC_SORT_LAYOUTS :
if ( ignore_system_lyxrc | |
sort_layouts ! = system_lyxrc . sort_layouts ) {
os < < " # Sort layouts alphabetically. \n "
< < " \\ sort_layouts " < < convert < string > ( sort_layouts ) < < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2008-03-10 13:02:57 +00:00
case RC_GROUP_LAYOUTS :
if ( ignore_system_lyxrc | |
group_layouts ! = system_lyxrc . group_layouts ) {
os < < " # Group layouts by their category. \n "
< < " \\ group_layouts " < < convert < string > ( group_layouts ) < < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2000-02-15 13:30:49 +00:00
case RC_VIEWDVI_PAPEROPTION :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
view_dvi_paper_option
2000-10-10 14:17:33 +00:00
! = system_lyxrc . view_dvi_paper_option ) {
os < < " # Options used to specify paper size to the \n "
2001-09-02 11:46:00 +00:00
< < " # view_dvi_command (e.g. -paper) \n "
2000-10-10 14:17:33 +00:00
< < " \\ view_dvi_paper_option \" "
< < view_dvi_paper_option < < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
1999-12-01 00:57:31 +00:00
case RC_CHKTEX_COMMAND :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
chktex_command ! = system_lyxrc . chktex_command ) {
2008-05-05 13:53:28 +00:00
os < < " \\ chktex_command \" " < < escapeCommand ( chktex_command ) < < " \" \n " ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2009-05-27 22:21:33 +00:00
case RC_BIBTEX_ALTERNATIVES : {
2009-10-17 22:52:16 +00:00
CommandSet : : const_iterator it = bibtex_alternatives . begin ( ) ;
CommandSet : : const_iterator end = bibtex_alternatives . end ( ) ;
2009-05-28 12:49:41 +00:00
for ( ; it ! = end ; + + it ) {
if ( ignore_system_lyxrc
| | ! system_lyxrc . bibtex_alternatives . count ( * it ) )
2009-05-27 22:21:33 +00:00
os < < " \\ bibtex_alternatives \" "
< < * it < < " \" \n " ;
2009-05-08 10:07:32 +00:00
}
if ( tag ! = RC_LAST )
break ;
2009-05-27 22:21:33 +00:00
}
2017-08-12 07:06:29 +00:00
// fall through
2004-03-29 12:11:53 +00:00
case RC_BIBTEX_COMMAND :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
bibtex_command ! = system_lyxrc . bibtex_command ) {
2008-05-05 13:53:28 +00:00
os < < " \\ bibtex_command \" " < < escapeCommand ( bibtex_command ) < < " \" \n " ;
2004-03-29 12:11:53 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2009-04-13 09:53:40 +00:00
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 ;
2017-08-12 07:06:29 +00:00
// fall through
2017-01-14 11:13:33 +00:00
case RC_JBIBTEX_ALTERNATIVES : {
CommandSet : : const_iterator it = jbibtex_alternatives . begin ( ) ;
CommandSet : : const_iterator end = jbibtex_alternatives . end ( ) ;
for ( ; it ! = end ; + + it ) {
if ( ignore_system_lyxrc
| | ! system_lyxrc . jbibtex_alternatives . count ( * it ) )
os < < " \\ jbibtex_alternatives \" "
< < * it < < " \" \n " ;
}
if ( tag ! = RC_LAST )
break ;
}
2017-08-12 07:06:29 +00:00
// fall through
2009-05-27 22:21:33 +00:00
case RC_INDEX_ALTERNATIVES : {
2009-10-17 22:52:16 +00:00
CommandSet : : const_iterator it = index_alternatives . begin ( ) ;
CommandSet : : const_iterator end = index_alternatives . end ( ) ;
2009-05-28 12:49:41 +00:00
for ( ; it ! = end ; + + it ) {
if ( ignore_system_lyxrc
| | ! system_lyxrc . index_alternatives . count ( * it ) )
2009-05-27 22:21:33 +00:00
os < < " \\ index_alternatives \" "
< < * it < < " \" \n " ;
2009-05-08 10:07:32 +00:00
}
if ( tag ! = RC_LAST )
break ;
2009-05-27 22:21:33 +00:00
}
2017-08-12 07:06:29 +00:00
// fall through
2004-10-05 10:11:42 +00:00
case RC_INDEX_COMMAND :
if ( ignore_system_lyxrc | |
index_command ! = system_lyxrc . index_command ) {
2008-05-05 13:53:28 +00:00
os < < " \\ index_command \" " < < escapeCommand ( index_command ) < < " \" \n " ;
2004-10-05 10:11:42 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2009-04-13 09:53:40 +00:00
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 ;
2017-08-12 07:06:29 +00:00
// fall through
2009-04-16 07:29:01 +00:00
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 ;
2017-08-12 07:06:29 +00:00
// fall through
2008-08-23 09:44:00 +00:00
case RC_NOMENCL_COMMAND :
if ( ignore_system_lyxrc | |
nomencl_command ! = system_lyxrc . nomencl_command ) {
os < < " \\ nomencl_command \" " < < escapeCommand ( nomencl_command ) < < " \" \n " ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2017-06-12 15:24:26 +00:00
case RC_PYGMENTIZE_COMMAND :
if ( ignore_system_lyxrc | |
pygmentize_command ! = system_lyxrc . pygmentize_command ) {
os < < " \\ pygmentize_command \" " < < escapeCommand ( pygmentize_command ) < < " \" \n " ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2006-06-27 10:51:24 +00:00
case RC_TEX_EXPECTS_WINDOWS_PATHS :
2011-05-13 12:31:19 +00:00
// Don't write this setting to the preferences file,
// but allow temporary changes (bug 7557).
if ( ignore_system_lyxrc ) {
2006-06-27 10:51:24 +00:00
os < < " \\ tex_expects_windows_paths "
< < convert < string > ( windows_style_tex_paths ) < < ' \n ' ;
2005-01-14 15:53:30 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2005-03-25 15:27:30 +00:00
case RC_TEX_ALLOWS_SPACES :
if ( tex_allows_spaces ! = system_lyxrc . tex_allows_spaces ) {
os < < " \\ tex_allows_spaces "
< < convert < string > ( tex_allows_spaces ) < < ' \n ' ;
2006-04-05 23:56:29 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2005-03-25 15:27:30 +00:00
case RC_KBMAP :
if ( ignore_system_lyxrc | |
use_kbmap ! = system_lyxrc . use_kbmap ) {
os < < " \\ kbmap " < < convert < string > ( use_kbmap ) < < ' \n ' ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
1999-12-01 00:57:31 +00:00
case RC_KBMAP_PRIMARY :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
primary_kbmap ! = system_lyxrc . primary_kbmap ) {
2005-06-18 00:18:29 +00:00
string const path = os : : external_path ( primary_kbmap ) ;
os < < " \\ kbmap_primary \" " < < path < < " \" \n " ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
1999-12-01 00:57:31 +00:00
case RC_KBMAP_SECONDARY :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
secondary_kbmap ! = system_lyxrc . secondary_kbmap ) {
2005-06-18 00:18:29 +00:00
string const path = os : : external_path ( secondary_kbmap ) ;
os < < " \\ kbmap_secondary \" " < < path < < " \" \n " ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
1999-12-01 00:57:31 +00:00
case RC_SERVERPIPE :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
lyxpipes ! = system_lyxrc . lyxpipes ) {
2005-06-18 00:18:29 +00:00
string const path = os : : external_path ( lyxpipes ) ;
os < < " \\ serverpipe \" " < < path < < " \" \n " ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2003-02-08 19:18:01 +00:00
case RC_USER_NAME :
os < < " \\ user_name \" " < < user_name < < " \" \n " ;
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2003-02-08 19:18:01 +00:00
case RC_USER_EMAIL :
2003-02-18 17:23:55 +00:00
os < < " \\ user_email \" " < < user_email < < " \" \n " ;
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2019-12-24 13:31:08 +00:00
case RC_USER_INITIALS :
os < < " \\ user_initials \" " < < user_initials < < " \" \n " ;
if ( tag ! = RC_LAST )
break ;
// fall through
2002-06-26 08:59:25 +00:00
case RC_SHOW_BANNER :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
show_banner ! = system_lyxrc . show_banner ) {
2005-01-06 15:40:49 +00:00
os < < " \\ show_banner " < < convert < string > ( show_banner ) < < ' \n ' ;
2002-06-26 08:59:25 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2002-06-26 08:59:25 +00:00
case RC_PREVIEW :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
preview ! = system_lyxrc . preview ) {
2004-04-19 13:31:17 +00:00
string status ;
switch ( preview ) {
case PREVIEW_ON :
status = " on " ;
break ;
case PREVIEW_NO_MATH :
status = " no_math " ;
break ;
case PREVIEW_OFF :
status = " off " ;
break ;
}
os < < " \\ preview " < < status < < ' \n ' ;
2002-06-26 08:59:25 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2002-07-10 09:09:37 +00:00
case RC_PREVIEW_HASHED_LABELS :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
preview_hashed_labels ! =
2002-07-10 09:09:37 +00:00
system_lyxrc . preview_hashed_labels ) {
os < < " \\ preview_hashed_labels "
2005-01-06 15:40:49 +00:00
< < convert < string > ( preview_hashed_labels ) < < ' \n ' ;
2002-07-10 09:09:37 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2002-07-10 09:09:37 +00:00
case RC_PREVIEW_SCALE_FACTOR :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
preview_scale_factor ! = system_lyxrc . preview_scale_factor ) {
2002-07-10 09:09:37 +00:00
os < < " \\ preview_scale_factor "
2002-11-27 10:30:28 +00:00
< < preview_scale_factor < < ' \n ' ;
2002-07-10 09:09:37 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2006-11-13 10:27:57 +00:00
case RC_USE_CONVERTER_CACHE :
if ( ignore_system_lyxrc | |
use_converter_cache ! = system_lyxrc . use_converter_cache ) {
os < < " \\ use_converter_cache "
< < convert < string > ( use_converter_cache ) < < ' \n ' ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2016-11-05 00:00:44 +00:00
case RC_USE_CONVERTER_NEEDAUTH_FORBIDDEN :
if ( ignore_system_lyxrc | |
use_converter_needauth_forbidden ! = system_lyxrc . use_converter_needauth_forbidden ) {
os < < " \\ use_converter_needauth_forbidden "
< < convert < string > ( use_converter_needauth_forbidden ) < < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2016-11-05 00:00:44 +00:00
case RC_USE_CONVERTER_NEEDAUTH :
if ( ignore_system_lyxrc | |
use_converter_needauth ! = system_lyxrc . use_converter_needauth ) {
os < < " \\ use_converter_needauth "
< < convert < string > ( use_converter_needauth ) < < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2006-11-13 10:27:57 +00:00
case RC_CONVERTER_CACHE_MAXAGE :
if ( ignore_system_lyxrc | |
converter_cache_maxage ! = system_lyxrc . converter_cache_maxage ) {
2006-11-27 18:11:11 +00:00
os < < " \\ converter_cache_maxage "
2006-11-13 10:27:57 +00:00
< < converter_cache_maxage < < ' \n ' ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2006-11-13 10:27:57 +00:00
2000-07-24 21:49:58 +00:00
os < < " \n # \n "
< < " # SCREEN & FONTS SECTION ############################ \n "
< < " # \n \n " ;
2017-08-12 07:06:29 +00:00
// fall through
2011-03-25 01:59:34 +00:00
case RC_ICON_SET :
if ( ignore_system_lyxrc | |
icon_set ! = system_lyxrc . icon_set ) {
os < < " \\ icon_set \" " < < icon_set
< < " \" \n " ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2012-05-08 15:55:59 +00:00
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 ;
2017-08-12 07:06:29 +00:00
// fall through
2000-07-24 21:49:58 +00:00
case RC_SCREEN_DPI :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
dpi ! = system_lyxrc . dpi ) {
2002-11-27 10:30:28 +00:00
os < < " \\ screen_dpi " < < dpi < < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2000-07-24 21:49:58 +00:00
case RC_SCREEN_ZOOM :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
2017-09-06 16:11:31 +00:00
defaultZoom ! = system_lyxrc . defaultZoom ) {
os < < " \\ screen_zoom " < < defaultZoom < < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2007-11-15 12:58:44 +00:00
case RC_GEOMETRY_SESSION :
2006-04-05 22:56:18 +00:00
if ( ignore_system_lyxrc | |
2007-11-15 12:58:44 +00:00
allow_geometry_session ! = system_lyxrc . allow_geometry_session ) {
os < < " \\ allow_geometry_session " < < convert < string > ( allow_geometry_session )
2006-04-05 22:56:18 +00:00
< < ' \n ' ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2020-08-27 06:45:41 +00:00
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 "
< < " \\ citation_search "
< < convert < string > ( citation_search )
< < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
// fall through
2020-08-23 20:19:34 +00:00
case RC_CITATION_SEARCH_VIEW :
if ( ignore_system_lyxrc | |
citation_search_view ! = system_lyxrc . citation_search_view ) {
2020-08-27 06:45:41 +00:00
os < < " \\ citation_search_view \" "
< < citation_search_view < < " \" \n " ;
}
if ( tag ! = RC_LAST )
break ;
// fall through
case RC_CITATION_SEARCH_PATTERN :
if ( ignore_system_lyxrc | |
citation_search_pattern ! = system_lyxrc . citation_search_pattern ) {
os < < " \\ citation_search_pattern \" "
< < citation_search_pattern < < " \" \n " ;
2020-08-23 20:19:34 +00:00
}
if ( tag ! = RC_LAST )
break ;
// fall through
2019-12-27 09:35:52 +00:00
case RC_CT_ADDITIONS_UNDERLINED :
if ( ignore_system_lyxrc | |
ct_additions_underlined
! = system_lyxrc . ct_additions_underlined ) {
os < < " \\ ct_additions_underlined "
< < convert < string > ( ct_additions_underlined ) < < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
// fall through
2020-01-13 14:20:48 +00:00
case RC_CT_MARKUP_COPIED :
if ( ignore_system_lyxrc | |
ct_markup_copied
! = system_lyxrc . ct_markup_copied ) {
os < < " \\ ct_markup_copied "
< < convert < string > ( ct_markup_copied ) < < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
// fall through
2000-07-24 21:49:58 +00:00
case RC_CURSOR_FOLLOWS_SCROLLBAR :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
cursor_follows_scrollbar
2000-10-10 14:17:33 +00:00
! = system_lyxrc . cursor_follows_scrollbar ) {
os < < " \\ cursor_follows_scrollbar "
2005-01-06 15:40:49 +00:00
< < convert < string > ( cursor_follows_scrollbar ) < < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2011-03-11 06:11:55 +00:00
case RC_CURSOR_WIDTH :
if ( ignore_system_lyxrc | |
cursor_width
! = system_lyxrc . cursor_width ) {
os < < " \\ cursor_width "
< < cursor_width < < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2009-03-27 17:41:58 +00:00
case RC_SCROLL_BELOW_DOCUMENT :
if ( ignore_system_lyxrc | |
scroll_below_document
! = system_lyxrc . scroll_below_document ) {
os < < " \\ scroll_below_document "
< < convert < string > ( scroll_below_document ) < < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2009-08-19 22:46:43 +00:00
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 ;
2017-08-12 07:06:29 +00:00
// fall through
2010-09-19 22:00:25 +00:00
case RC_MAC_DONTSWAP_CTRL_META :
if ( ignore_system_lyxrc | |
mac_dontswap_ctrl_meta
! = system_lyxrc . mac_dontswap_ctrl_meta ) {
os < < " \\ mac_dontswap_ctrl_meta "
< < convert < string > ( mac_dontswap_ctrl_meta ) < < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2013-05-25 16:02:21 +00:00
case RC_MAC_LIKE_CURSOR_MOVEMENT :
2008-07-01 14:42:32 +00:00
if ( ignore_system_lyxrc | |
2013-05-25 16:02:21 +00:00
mac_like_cursor_movement
! = system_lyxrc . mac_like_cursor_movement ) {
os < < " \\ mac_like_cursor_movement "
< < convert < string > ( mac_like_cursor_movement ) < < ' \n ' ;
2008-07-01 14:42:32 +00:00
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2008-01-25 22:02:38 +00:00
case RC_MACRO_EDIT_STYLE :
2008-01-22 21:23:41 +00:00
if ( ignore_system_lyxrc | |
2008-01-25 22:02:38 +00:00
macro_edit_style
! = system_lyxrc . macro_edit_style ) {
os < < " \\ macro_edit_style " ;
switch ( macro_edit_style ) {
case MACRO_EDIT_INLINE_BOX : os < < " 0 \n " ; break ;
case MACRO_EDIT_INLINE : os < < " 1 \n " ; break ;
case MACRO_EDIT_LIST : os < < " 2 \n " ; break ;
}
2008-01-22 21:23:41 +00:00
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2001-09-07 10:11:02 +00:00
case RC_DIALOGS_ICONIFY_WITH_MAIN :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
dialogs_iconify_with_main
2001-09-07 10:11:02 +00:00
! = system_lyxrc . dialogs_iconify_with_main ) {
os < < " \\ dialogs_iconify_with_main "
2005-01-06 15:40:49 +00:00
< < convert < string > ( dialogs_iconify_with_main ) < < ' \n ' ;
2001-09-07 10:11:02 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
1999-12-01 00:57:31 +00:00
case RC_SCREEN_FONT_ROMAN :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
roman_font_name ! = system_lyxrc . roman_font_name ) {
2000-10-10 14:17:33 +00:00
os < < " \\ screen_font_roman \" " < < roman_font_name
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2002-11-27 21:49:50 +00:00
case RC_SCREEN_FONT_ROMAN_FOUNDRY :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
roman_font_foundry ! = system_lyxrc . roman_font_foundry ) {
2002-11-27 21:49:50 +00:00
os < < " \\ screen_font_roman_foundry \" " < < roman_font_foundry
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
1999-12-01 00:57:31 +00:00
case RC_SCREEN_FONT_SANS :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
sans_font_name ! = system_lyxrc . sans_font_name ) {
2000-10-10 14:17:33 +00:00
os < < " \\ screen_font_sans \" " < < sans_font_name
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2002-11-27 21:49:50 +00:00
case RC_SCREEN_FONT_SANS_FOUNDRY :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
sans_font_foundry ! = system_lyxrc . sans_font_foundry ) {
2002-11-27 21:49:50 +00:00
os < < " \\ screen_font_sans_foundry \" " < < sans_font_foundry
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
1999-12-01 00:57:31 +00:00
case RC_SCREEN_FONT_TYPEWRITER :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
typewriter_font_name ! = system_lyxrc . typewriter_font_name ) {
2000-10-10 14:17:33 +00:00
os < < " \\ screen_font_typewriter \" "
< < typewriter_font_name < < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2002-11-27 21:49:50 +00:00
case RC_SCREEN_FONT_TYPEWRITER_FOUNDRY :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
typewriter_font_foundry ! = system_lyxrc . typewriter_font_foundry ) {
2002-11-27 21:49:50 +00:00
os < < " \\ screen_font_typewriter_foundry \" "
< < typewriter_font_foundry < < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
1999-12-01 00:57:31 +00:00
case RC_SCREEN_FONT_SCALABLE :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
use_scalable_fonts ! = system_lyxrc . use_scalable_fonts ) {
2000-10-10 14:17:33 +00:00
os < < " \\ screen_font_scalable "
2005-01-06 15:40:49 +00:00
< < convert < string > ( use_scalable_fonts )
2002-11-27 10:30:28 +00:00
< < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2000-07-24 21:49:58 +00:00
case RC_SCREEN_FONT_SIZES :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
2019-06-14 14:42:02 +00:00
font_sizes [ TINY_SIZE ]
! = system_lyxrc . font_sizes [ TINY_SIZE ] | |
font_sizes [ SCRIPT_SIZE ]
! = system_lyxrc . font_sizes [ SCRIPT_SIZE ] | |
font_sizes [ FOOTNOTE_SIZE ]
! = system_lyxrc . font_sizes [ FOOTNOTE_SIZE ] | |
font_sizes [ SMALL_SIZE ]
! = system_lyxrc . font_sizes [ SMALL_SIZE ] | |
font_sizes [ NORMAL_SIZE ]
! = system_lyxrc . font_sizes [ NORMAL_SIZE ] | |
font_sizes [ LARGE_SIZE ]
! = system_lyxrc . font_sizes [ LARGE_SIZE ] | |
font_sizes [ LARGER_SIZE ]
! = system_lyxrc . font_sizes [ LARGER_SIZE ] | |
font_sizes [ LARGEST_SIZE ]
! = system_lyxrc . font_sizes [ LARGEST_SIZE ] | |
font_sizes [ HUGE_SIZE ]
! = system_lyxrc . font_sizes [ HUGE_SIZE ] | |
font_sizes [ HUGER_SIZE ]
! = system_lyxrc . font_sizes [ HUGER_SIZE ] ) {
2015-03-05 11:44:02 +00:00
streamsize old_prec = os . precision ( ) ;
2000-10-10 14:17:33 +00:00
os . setf ( ios : : fixed ) ;
os . precision ( 2 ) ;
2000-11-17 00:07:41 +00:00
os < < " \\ screen_font_sizes "
2019-06-14 14:42:02 +00:00
< < ' ' < < font_sizes [ TINY_SIZE ]
< < ' ' < < font_sizes [ SCRIPT_SIZE ]
< < ' ' < < font_sizes [ FOOTNOTE_SIZE ]
< < ' ' < < font_sizes [ SMALL_SIZE ]
< < ' ' < < font_sizes [ NORMAL_SIZE ]
< < ' ' < < font_sizes [ LARGE_SIZE ]
< < ' ' < < font_sizes [ LARGER_SIZE ]
< < ' ' < < font_sizes [ LARGEST_SIZE ]
< < ' ' < < font_sizes [ HUGE_SIZE ]
< < ' ' < < font_sizes [ HUGER_SIZE ]
2002-11-27 10:30:28 +00:00
< < ' \n ' ;
2015-03-05 11:44:02 +00:00
os . precision ( old_prec ) ;
os . unsetf ( ios : : fixed ) ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2008-02-19 21:51:55 +00:00
case RC_FULL_SCREEN_LIMIT :
if ( ignore_system_lyxrc | |
full_screen_limit ! = system_lyxrc . full_screen_limit ) {
os < < " \\ fullscreen_limit "
< < convert < string > ( full_screen_limit )
< < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2008-02-19 21:51:55 +00:00
case RC_FULL_SCREEN_TOOLBARS :
if ( ignore_system_lyxrc | |
full_screen_toolbars ! = system_lyxrc . full_screen_toolbars ) {
os < < " \\ fullscreen_toolbars "
< < convert < string > ( full_screen_toolbars )
< < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2008-02-19 21:51:55 +00:00
case RC_FULL_SCREEN_SCROLLBAR :
if ( ignore_system_lyxrc | |
full_screen_scrollbar ! = system_lyxrc . full_screen_scrollbar ) {
os < < " \\ fullscreen_scrollbar "
< < convert < string > ( full_screen_scrollbar )
< < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2014-02-26 01:48:56 +00:00
case RC_FULL_SCREEN_STATUSBAR :
if ( ignore_system_lyxrc | |
full_screen_statusbar ! = system_lyxrc . full_screen_statusbar ) {
os < < " \\ fullscreen_statusbar "
< < convert < string > ( full_screen_statusbar )
< < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2008-02-19 21:51:55 +00:00
case RC_FULL_SCREEN_TABBAR :
if ( ignore_system_lyxrc | |
full_screen_tabbar ! = system_lyxrc . full_screen_tabbar ) {
os < < " \\ fullscreen_tabbar "
< < convert < string > ( full_screen_tabbar )
< < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2009-05-26 21:41:45 +00:00
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 ;
2017-08-12 07:06:29 +00:00
// fall through
2008-02-19 21:51:55 +00:00
case RC_FULL_SCREEN_WIDTH :
if ( ignore_system_lyxrc | |
full_screen_width ! = system_lyxrc . full_screen_width ) {
os < < " \\ fullscreen_width "
< < convert < string > ( full_screen_width )
< < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2008-03-14 23:27:31 +00:00
case RC_OPEN_BUFFERS_IN_TABS :
2008-03-14 23:24:45 +00:00
if ( ignore_system_lyxrc | |
2008-03-14 23:27:31 +00:00
open_buffers_in_tabs ! = system_lyxrc . open_buffers_in_tabs ) {
os < < " \\ open_buffers_in_tabs "
< < convert < string > ( open_buffers_in_tabs )
2008-03-14 23:24:45 +00:00
< < ' \n ' ;
}
2010-04-15 13:19:48 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2009-10-05 23:06:29 +00:00
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 ' ;
}
2008-03-14 23:24:45 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2010-11-13 11:55:05 +00:00
case RC_SINGLE_INSTANCE :
if ( ignore_system_lyxrc | |
single_instance ! = system_lyxrc . single_instance ) {
os < < " \\ single_instance "
< < convert < string > ( single_instance )
< < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2010-04-15 23:32:52 +00:00
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 ;
2017-08-12 07:06:29 +00:00
// fall through
2010-04-15 23:32:52 +00:00
case RC_FORWARD_SEARCH_PDF :
2010-04-15 13:19:48 +00:00
if ( ignore_system_lyxrc | |
2010-04-15 23:32:52 +00:00
forward_search_pdf ! = system_lyxrc . forward_search_pdf ) {
os < < " \\ forward_search_pdf \" " < < escapeCommand ( forward_search_pdf ) < < " \" \n " ;
2010-04-15 13:19:48 +00:00
}
if ( tag ! = RC_LAST )
break ;
2002-03-21 17:27:08 +00:00
2008-04-20 03:08:11 +00:00
os < < " \n # \n "
< < " # COLOR SECTION ################################### \n "
< < " # \n \n " ;
2002-03-21 17:27:08 +00:00
2017-08-12 07:06:29 +00:00
// fall through
2000-11-15 18:02:45 +00:00
case RC_SET_COLOR :
2007-10-25 12:41:02 +00:00
for ( int i = 0 ; i < Color_ignore ; + + i ) {
ColorCode lc = static_cast < ColorCode > ( i ) ;
2020-12-12 09:56:05 +00:00
string const col = lcolor . getAllX11HexNames ( lc ) . first ;
string const darkcol = lcolor . getAllX11HexNames ( lc ) . second ;
2008-05-29 17:57:57 +00:00
if ( ignore_system_lyxrc
2020-12-12 09:56:05 +00:00
| | col ! = system_lcolor . getAllX11HexNames ( lc ) . first
| | darkcol ! = system_lcolor . getAllX11HexNames ( lc ) . second ) {
2000-11-17 00:07:41 +00:00
os < < " \\ set_color \" "
< < lcolor . getLyXName ( lc ) < < " \" \" "
2020-12-12 09:56:05 +00:00
< < col < < " \" \" "
< < darkcol < < " \" \n " ;
2000-11-15 18:02:45 +00:00
}
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2002-03-21 17:27:08 +00:00
2015-05-27 22:10:38 +00:00
os < < " \n # \n "
< < " # PRINTER SECTION ################################### \n "
< < " # \n \n " ;
2002-03-21 17:27:08 +00:00
2017-08-12 07:06:29 +00:00
// fall through
2000-07-24 21:49:58 +00:00
case RC_PRINTLANDSCAPEFLAG :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
print_landscape_flag ! = system_lyxrc . print_landscape_flag ) {
2000-10-10 14:17:33 +00:00
os < < " \\ print_landscape_flag \" " < < print_landscape_flag
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2000-07-24 21:49:58 +00:00
case RC_PRINTPAPERFLAG :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
print_paper_flag ! = system_lyxrc . print_paper_flag ) {
2000-10-10 14:17:33 +00:00
os < < " \\ print_paper_flag \" " < < print_paper_flag
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2000-07-24 21:49:58 +00:00
case RC_PRINTPAPERDIMENSIONFLAG :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
print_paper_dimension_flag
2000-10-10 14:17:33 +00:00
! = system_lyxrc . print_paper_dimension_flag ) {
os < < " \\ print_paper_dimension_flag \" "
< < print_paper_dimension_flag < < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
2015-05-27 22:10:38 +00:00
os < < " \n # \n "
< < " # TEX SECTION ####################################### \n "
< < " # \n \n " ;
2002-03-21 17:27:08 +00:00
2017-08-12 07:06:29 +00:00
// fall through
Introduce the possibility of setting a prefix for the TEXINPUTS environment
variable. This is done in the preferences, much like as the PATH prefix.
A single '.' in the paths will get replaced with the current document dir
and also non-absolute paths will be prefixed with that dir.
The default semantics of TEXINPUTS apply, such that, for example, if a
path is terminated with a double slash, all subdirectories will be also
searched by both the TeX engine and ancillary programs such as dvi
previewers or dvips. As an example, if the prefix is set to ".:figs", the
TEXINPUTS variable will be set as ".:<docdir>:<docdir>/figs:$ORIGTEXINPUTS",
where <docdir> is the document directory.
The initial '.' is necessary to address the actual current dir (this will
be the temp dir at preview time), while if TEXINPUTS was initially unset,
such that $ORIGTEXINPUTS is empty, a colon (or semicolon on Windows) will
end the path list. This is very important, because we don't want to replace
the system directories but to complement them and, in order to do that, an
empty element has to be present in the list. Indeed, according to the
TEXINPUTS semantics, an empty element means the standard search path.
This works whether TEXINPUTS is originally set or not, because if the
original TEXINPUTS starts with a colon (meaning that the standard search
path is wanted there) we will have an empty element at that point,
otherwise the final colon will simply serve as a path separator.
Of course, on Windows a ';' has to be used as a path separator. LyX will
take care of transforming the platform path list into one understandable
by the TeX engine. For example, this will be the case for a Cygwin version
of LyX using a native Windows TeX engine or viceversa. I tested all of
this and it works for me.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38681 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-09 23:25:51 +00:00
case RC_TEXINPUTS_PREFIX :
if ( ignore_system_lyxrc | |
texinputs_prefix ! = system_lyxrc . texinputs_prefix ) {
os < < " \\ texinputs_prefix \" " < < texinputs_prefix < < " \" \n " ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2000-07-24 21:49:58 +00:00
os < < " \n # \n "
2000-10-10 14:17:33 +00:00
< < " # FILE SECTION ###################################### \n "
2000-07-24 21:49:58 +00:00
< < " # \n \n " ;
2017-08-12 07:06:29 +00:00
// fall through
2000-07-24 21:49:58 +00:00
case RC_DOCUMENTPATH :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
document_path ! = system_lyxrc . document_path ) {
2005-06-18 00:18:29 +00:00
string const path = os : : external_path ( document_path ) ;
os < < " \\ document_path \" " < < path < < " \" \n " ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2006-04-05 22:56:18 +00:00
case RC_USELASTFILEPOS :
if ( ignore_system_lyxrc | |
use_lastfilepos ! = system_lyxrc . use_lastfilepos ) {
2006-04-22 16:49:19 +00:00
os < < " \\ use_lastfilepos " < < convert < string > ( use_lastfilepos )
2006-04-05 22:56:18 +00:00
< < ' \n ' ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2006-04-05 22:56:18 +00:00
case RC_LOADSESSION :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
2006-04-05 22:56:18 +00:00
load_session ! = system_lyxrc . load_session ) {
2006-04-05 23:56:29 +00:00
os < < " \\ load_session " < < convert < string > ( load_session )
2006-04-05 22:56:18 +00:00
< < " \n " ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2008-01-30 21:20:29 +00:00
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 ;
2017-08-12 07:06:29 +00:00
// fall through
2015-02-08 16:41:28 +00:00
case RC_MOUSE_MIDDLEBUTTON_PASTE :
if ( ignore_system_lyxrc | |
mouse_middlebutton_paste ! = system_lyxrc . mouse_middlebutton_paste ) {
os < < " \\ mouse_middlebutton_paste "
< < convert < string > ( mouse_middlebutton_paste ) < < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2008-02-21 19:42:34 +00:00
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 ;
2017-08-12 07:06:29 +00:00
// fall through
2008-02-21 19:42:34 +00:00
case RC_COMPLETION_INLINE_MATH :
if ( ignore_system_lyxrc | |
completion_inline_math ! = system_lyxrc . completion_inline_math ) {
os < < " \\ completion_inline_math "
< < convert < string > ( completion_inline_math ) < < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2008-02-21 19:42:34 +00:00
case RC_COMPLETION_INLINE_TEXT :
if ( ignore_system_lyxrc | |
completion_inline_text ! = system_lyxrc . completion_inline_text ) {
os < < " \\ completion_inline_text "
< < convert < string > ( completion_inline_text ) < < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2008-02-21 19:42:34 +00:00
case RC_COMPLETION_INLINE_DOTS :
if ( ignore_system_lyxrc | |
completion_inline_dots ! = system_lyxrc . completion_inline_dots ) {
os < < " \\ completion_inline_dots "
< < convert < string > ( completion_inline_dots ) < < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2009-01-15 09:48:00 +00:00
case RC_AUTOCORRECTION_MATH :
if ( ignore_system_lyxrc | |
autocorrection_math ! = system_lyxrc . autocorrection_math ) {
os < < " \\ autocorrection_math "
< < convert < string > ( autocorrection_math ) < < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2008-02-21 19:42:34 +00:00
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 ;
2017-08-12 07:06:29 +00:00
// fall through
2008-02-21 19:42:34 +00:00
case RC_COMPLETION_POPUP_MATH :
if ( ignore_system_lyxrc | |
completion_popup_math ! = system_lyxrc . completion_popup_math ) {
os < < " \\ completion_popup_math "
< < convert < string > ( completion_popup_math ) < < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2008-02-21 19:42:34 +00:00
case RC_COMPLETION_POPUP_TEXT :
if ( ignore_system_lyxrc | |
completion_popup_text ! = system_lyxrc . completion_popup_text ) {
os < < " \\ completion_popup_text "
< < convert < string > ( completion_popup_text ) < < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2008-03-16 17:07:10 +00:00
case RC_COMPLETION_CURSOR_TEXT :
if ( ignore_system_lyxrc | |
completion_cursor_text ! = system_lyxrc . completion_cursor_text ) {
os < < " \\ completion_cursor_text "
< < convert < string > ( completion_cursor_text ) < < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2008-02-21 19:42:34 +00:00
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 < string > ( completion_popup_after_complete ) < < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2012-01-02 22:47:04 +00:00
case RC_COMPLETION_MINLENGTH :
if ( ignore_system_lyxrc | |
completion_minlength ! = system_lyxrc . completion_minlength ) {
os < < " \\ completion_minlength " < < convert < string > ( completion_minlength )
< < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
case RC_NUMLASTFILES :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
num_lastfiles ! = system_lyxrc . num_lastfiles ) {
2002-11-27 10:30:28 +00:00
os < < " \\ num_lastfiles " < < num_lastfiles < < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2000-07-24 21:49:58 +00:00
case RC_CHECKLASTFILES :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
check_lastfiles ! = system_lyxrc . check_lastfiles ) {
2005-01-06 15:40:49 +00:00
os < < " \\ check_lastfiles " < < convert < string > ( check_lastfiles )
2002-11-27 10:30:28 +00:00
< < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2007-11-25 18:26:58 +00:00
case RC_EXAMPLEPATH :
if ( ignore_system_lyxrc | |
example_path ! = system_lyxrc . example_path ) {
string const path = os : : external_path ( example_path ) ;
os < < " \\ example_path \" " < < path < < " \" \n " ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2000-07-24 21:49:58 +00:00
case RC_TEMPLATEPATH :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
template_path ! = system_lyxrc . template_path ) {
2005-06-18 00:18:29 +00:00
string const path = os : : external_path ( template_path ) ;
os < < " \\ template_path \" " < < path < < " \" \n " ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2000-07-24 21:49:58 +00:00
case RC_TEMPDIRPATH :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
tempdir_path ! = system_lyxrc . tempdir_path ) {
2005-06-18 00:18:29 +00:00
string const path = os : : external_path ( tempdir_path ) ;
os < < " \\ tempdir_path \" " < < path < < " \" \n " ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2008-11-16 18:48:25 +00:00
case RC_THESAURUSDIRPATH :
if ( ignore_system_lyxrc | |
thesaurusdir_path ! = system_lyxrc . thesaurusdir_path ) {
string const path = os : : external_path ( thesaurusdir_path ) ;
os < < " \\ thesaurusdir_path \" " < < path < < " \" \n " ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2009-08-08 17:05:31 +00:00
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 ;
2017-08-12 07:06:29 +00:00
// fall through
2007-01-15 22:49:14 +00:00
case RC_PLAINTEXT_LINELEN :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
2007-01-15 22:49:14 +00:00
plaintext_linelen ! = system_lyxrc . plaintext_linelen ) {
os < < " \\ plaintext_linelen " < < plaintext_linelen < < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2000-07-24 21:49:58 +00:00
case RC_MAKE_BACKUP :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
make_backup ! = system_lyxrc . make_backup ) {
2005-01-06 15:40:49 +00:00
os < < " \\ make_backup " < < convert < string > ( make_backup ) < < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2010-03-26 14:02:56 +00:00
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 ;
2017-08-12 07:06:29 +00:00
// fall through
2015-05-23 15:49:33 +00:00
case RC_SAVE_ORIGIN :
if ( ignore_system_lyxrc | |
save_origin ! = system_lyxrc . save_origin ) {
os < < " \\ save_origin " < < convert < string > ( save_origin ) < < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2000-07-24 21:49:58 +00:00
case RC_BACKUPDIR_PATH :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
backupdir_path ! = system_lyxrc . backupdir_path ) {
2005-06-18 00:18:29 +00:00
string const path = os : : external_path ( backupdir_path ) ;
os < < " \\ backupdir_path \" " < < path < < " \" \n " ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
os < < " \n # \n "
2007-01-18 22:29:50 +00:00
< < " # PLAIN TEXT EXPORT SECTION ############################## \n "
2000-07-24 21:49:58 +00:00
< < " # \n \n " ;
os < < " \n # \n "
< < " # SPELLCHECKER SECTION ############################## \n "
< < " # \n \n " ;
2009-03-29 19:57:30 +00:00
2017-08-12 07:06:29 +00:00
// fall through
1999-12-01 00:57:31 +00:00
case RC_ACCEPT_COMPOUND :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
2008-11-15 18:47:25 +00:00
spellchecker_accept_compound ! = system_lyxrc . spellchecker_accept_compound ) {
os < < " \\ accept_compound " < < convert < string > ( spellchecker_accept_compound )
2002-11-27 10:30:28 +00:00
< < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2000-07-24 21:49:58 +00:00
case RC_ALT_LANG :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
2008-11-15 18:47:25 +00:00
spellchecker_alt_lang ! = system_lyxrc . spellchecker_alt_lang ) {
os < < " \\ alternate_language \" " < < spellchecker_alt_lang
2000-10-10 14:17:33 +00:00
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
1999-12-01 00:57:31 +00:00
case RC_ESC_CHARS :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
2008-11-15 18:47:25 +00:00
spellchecker_esc_chars ! = system_lyxrc . spellchecker_esc_chars ) {
os < < " \\ escape_chars \" " < < spellchecker_esc_chars < < " \" \n " ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2018-01-30 13:32:53 +00:00
case RC_USE_NATIVE_FILEDIALOG :
if ( ignore_system_lyxrc | |
use_native_filedialog ! = system_lyxrc . use_native_filedialog ) {
os < < " \\ use_native_filedialog "
< < convert < string > ( use_native_filedialog )
< < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
// fall through
2010-08-08 23:11:02 +00:00
case RC_USE_SYSTEM_COLORS :
if ( ignore_system_lyxrc | |
use_system_colors ! = system_lyxrc . use_system_colors ) {
os < < " \\ use_system_colors "
< < convert < string > ( use_system_colors )
< < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2007-12-26 13:52:56 +00:00
case RC_USE_TOOLTIP :
if ( ignore_system_lyxrc | |
use_tooltip ! = system_lyxrc . use_tooltip ) {
os < < " \\ use_tooltip "
< < convert < string > ( use_tooltip )
< < ' \n ' ;
}
2009-06-18 14:28:13 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2000-07-24 21:49:58 +00:00
os < < " \n # \n "
2000-10-10 14:17:33 +00:00
< < " # LANGUAGE SUPPORT SECTION ########################## \n "
2000-07-24 21:49:58 +00:00
< < " # \n \n " ;
2017-08-12 07:06:29 +00:00
// fall through
2019-07-22 06:05:28 +00:00
case RC_DEFAULT_DECIMAL_SEP :
2010-06-05 07:44:44 +00:00
if ( ignore_system_lyxrc | |
2019-07-22 06:05:28 +00:00
default_decimal_sep ! = system_lyxrc . default_decimal_sep ) {
os < < " \\ default_decimal_point \" " < < default_decimal_sep < < " \" " < < ' \n ' ;
2010-06-05 07:44:44 +00:00
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2011-10-27 11:52:11 +00:00
case RC_DEFAULT_LENGTH_UNIT :
if ( ignore_system_lyxrc | |
default_length_unit ! = system_lyxrc . default_length_unit ) {
os < < " \\ default_length_unit " < < int ( default_length_unit ) < < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2009-08-08 17:05:31 +00:00
case RC_SPELLCHECKER :
if ( ignore_system_lyxrc | |
spellchecker ! = system_lyxrc . spellchecker ) {
os < < " \\ spellchecker " < < spellchecker < < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2009-03-29 19:57:30 +00:00
case RC_SPELLCHECK_CONTINUOUSLY :
if ( ignore_system_lyxrc | |
spellcheck_continuously ! = system_lyxrc . spellcheck_continuously ) {
os < < " \\ spellcheck_continuously " < < convert < string > ( spellcheck_continuously )
< < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2010-02-13 16:22:39 +00:00
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 ;
2017-08-12 07:06:29 +00:00
// fall through
2008-02-10 19:51:23 +00:00
case RC_VISUAL_CURSOR :
if ( ignore_system_lyxrc | |
visual_cursor ! = system_lyxrc . visual_cursor ) {
os < < " \\ visual_cursor " < < convert < string > ( visual_cursor ) < < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2012-09-15 22:37:55 +00:00
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 ;
2017-08-12 07:06:29 +00:00
// fall through
2010-11-20 13:34:14 +00:00
case RC_LANGUAGE_CUSTOM_PACKAGE :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
2010-11-20 13:34:14 +00:00
language_custom_package ! = system_lyxrc . language_custom_package ) {
os < < " \\ language_custom_package \" " < < language_custom_package
2000-10-10 14:17:33 +00:00
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2001-02-25 10:22:54 +00:00
case RC_LANGUAGE_GLOBAL_OPTIONS :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
language_global_options
2001-02-25 10:22:54 +00:00
! = system_lyxrc . language_global_options ) {
os < < " \\ language_global_options \" "
2005-01-06 15:40:49 +00:00
< < convert < string > ( language_global_options )
2001-02-25 10:22:54 +00:00
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2010-11-20 13:34:14 +00:00
case RC_LANGUAGE_PACKAGE_SELECTION :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
2010-11-20 13:34:14 +00:00
language_package_selection ! = system_lyxrc . language_package_selection ) {
os < < " \\ language_package_selection " ;
switch ( language_package_selection ) {
2011-03-21 22:30:17 +00:00
case LP_AUTO :
2010-11-20 13:34:14 +00:00
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 ;
}
2001-02-25 10:22:54 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2000-03-17 10:14:46 +00:00
case RC_LANGUAGE_COMMAND_BEGIN :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
language_command_begin
2000-10-10 14:17:33 +00:00
! = system_lyxrc . language_command_begin ) {
os < < " \\ language_command_begin \" "
< < language_command_begin
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2000-03-17 10:14:46 +00:00
case RC_LANGUAGE_COMMAND_END :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
language_command_end
2000-10-10 14:17:33 +00:00
! = system_lyxrc . language_command_end ) {
os < < " \\ language_command_end \" " < < language_command_end
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2001-02-25 10:22:54 +00:00
case RC_LANGUAGE_COMMAND_LOCAL :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
language_command_local
2001-02-25 10:22:54 +00:00
! = system_lyxrc . language_command_local ) {
os < < " \\ language_command_local \" "
< < language_command_local
< < " \" \n " ;
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2000-07-24 21:49:58 +00:00
case RC_LANGUAGE_AUTO_BEGIN :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
language_auto_begin ! = system_lyxrc . language_auto_begin ) {
2002-03-21 17:27:08 +00:00
os < < " \\ language_auto_begin "
2005-01-06 15:40:49 +00:00
< < convert < string > ( language_auto_begin ) < < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2000-07-24 21:49:58 +00:00
case RC_LANGUAGE_AUTO_END :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
language_auto_end ! = system_lyxrc . language_auto_end ) {
2002-03-21 17:27:08 +00:00
os < < " \\ language_auto_end "
2005-01-06 15:40:49 +00:00
< < convert < string > ( language_auto_end ) < < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2000-07-24 21:49:58 +00:00
case RC_MARK_FOREIGN_LANGUAGE :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
mark_foreign_language
2000-10-10 14:17:33 +00:00
! = system_lyxrc . mark_foreign_language ) {
os < < " \\ mark_foreign_language " < <
2005-01-06 15:40:49 +00:00
convert < string > ( mark_foreign_language ) < < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2019-07-19 15:23:20 +00:00
// fall through
case RC_RESPECT_OS_KBD_LANGUAGE :
if ( ignore_system_lyxrc | |
respect_os_kbd_language
! = system_lyxrc . respect_os_kbd_language ) {
os < < " \\ respect_os_kbd_language " < <
convert < string > ( respect_os_kbd_language ) < < ' \n ' ;
}
//fall through
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-07-24 21:49:58 +00:00
os < < " \n # \n "
< < " # 2nd MISC SUPPORT SECTION ########################## \n "
< < " # \n \n " ;
2017-08-12 07:06:29 +00:00
// fall through
2000-07-24 21:49:58 +00:00
case RC_AUTO_NUMBER :
2004-04-05 18:21:25 +00:00
if ( ignore_system_lyxrc | |
auto_number ! = system_lyxrc . auto_number ) {
2005-01-06 15:40:49 +00:00
os < < " \\ auto_number " < < convert < string > ( auto_number ) < < ' \n ' ;
2000-10-10 14:17:33 +00:00
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2008-06-24 12:55:40 +00:00
case RC_GUI_LANGUAGE :
if ( ignore_system_lyxrc | |
gui_language ! = system_lyxrc . gui_language ) {
os < < " \\ gui_language " < < gui_language < < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2010-04-20 16:49:49 +00:00
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 ;
2017-08-12 07:06:29 +00:00
// fall through
2010-07-17 22:29:42 +00:00
case RC_SCROLL_WHEEL_ZOOM :
if ( ignore_system_lyxrc | |
2010-07-22 14:51:35 +00:00
scroll_wheel_zoom ! = system_lyxrc . scroll_wheel_zoom ) {
2010-07-17 22:29:42 +00:00
string status ;
2010-07-22 14:51:35 +00:00
switch ( scroll_wheel_zoom ) {
2010-07-17 22:29:42 +00:00
case SCROLL_WHEEL_ZOOM_OFF :
status = " off " ;
break ;
case SCROLL_WHEEL_ZOOM_CTRL :
status = " ctrl " ;
break ;
case SCROLL_WHEEL_ZOOM_SHIFT :
status = " shift " ;
break ;
2010-07-18 10:04:59 +00:00
case SCROLL_WHEEL_ZOOM_ALT :
status = " alt " ;
2010-07-17 22:29:42 +00:00
break ;
}
2010-07-22 14:51:35 +00:00
os < < " \\ scroll_wheel_zoom " < < status < < ' \n ' ;
2010-07-17 22:29:42 +00:00
}
if ( tag ! = RC_LAST )
break ;
2000-11-06 11:20:22 +00:00
os < < " \n # \n "
< < " # FORMATS SECTION ########################## \n "
< < " # \n \n " ;
2017-08-12 07:06:29 +00:00
// fall through
2011-01-16 20:28:43 +00:00
case RC_FILEFORMAT :
2006-05-20 12:03:40 +00:00
// New/modified formats
2017-07-03 17:53:14 +00:00
for ( Formats : : const_iterator cit = theFormats ( ) . begin ( ) ;
2017-03-14 03:33:40 +00:00
cit ! = theFormats ( ) . end ( ) ; + + cit ) {
2000-11-13 10:35:02 +00:00
Format const * format =
2017-03-14 03:33:40 +00:00
theSystemFormats ( ) . getFormat ( cit - > name ( ) ) ;
2000-11-13 10:35:02 +00:00
if ( ! format | |
2011-09-13 20:42:23 +00:00
format - > extensions ( ) ! = cit - > extensions ( ) | |
2000-11-13 10:35:02 +00:00
format - > prettyname ( ) ! = cit - > prettyname ( ) | |
2004-04-13 10:36:09 +00:00
format - > shortcut ( ) ! = cit - > shortcut ( ) | |
format - > viewer ( ) ! = cit - > viewer ( ) | |
2006-05-20 12:03:40 +00:00
format - > editor ( ) ! = cit - > editor ( ) | |
2006-10-03 08:34:59 +00:00
format - > documentFormat ( ) ! = cit - > documentFormat ( ) | |
2011-03-21 22:30:17 +00:00
format - > vectorFormat ( ) ! = cit - > vectorFormat ( ) | |
2012-02-21 20:29:44 +00:00
format - > inExportMenu ( ) ! = cit - > inExportMenu ( ) | |
2019-09-11 08:29:50 +00:00
format - > noMenu ( ) ! = cit - > noMenu ( ) | |
2012-02-21 20:29:44 +00:00
format - > mime ( ) ! = cit - > mime ( ) ) {
2000-11-13 10:35:02 +00:00
os < < " \\ format \" " < < cit - > name ( ) < < " \" \" "
2011-09-13 20:42:23 +00:00
< < cit - > extensions ( ) < < " \" \" "
2016-08-28 00:27:37 +00:00
< < to_utf8 ( cit - > prettyname ( ) ) < < " \" \" "
2004-04-13 10:36:09 +00:00
< < cit - > shortcut ( ) < < " \" \" "
2008-05-05 13:53:28 +00:00
< < escapeCommand ( cit - > viewer ( ) ) < < " \" \" "
< < escapeCommand ( cit - > editor ( ) ) < < " \" \" " ;
2007-12-12 19:28:07 +00:00
vector < string > flags ;
2006-05-20 12:03:40 +00:00
if ( cit - > documentFormat ( ) )
2006-10-03 08:34:59 +00:00
flags . push_back ( " document " ) ;
if ( cit - > vectorFormat ( ) )
flags . push_back ( " vector " ) ;
2011-09-19 00:12:09 +00:00
if ( cit - > zippedNative ( ) )
flags . push_back ( " zipped=native " ) ;
2011-03-21 22:30:17 +00:00
if ( cit - > inExportMenu ( ) )
flags . push_back ( " menu=export " ) ;
2007-12-12 19:57:42 +00:00
os < < getStringFromVector ( flags ) ;
2012-02-21 20:29:44 +00:00
os < < " \" \" " < < cit - > mime ( ) < < " \" \n " ;
2006-05-20 12:03:40 +00:00
}
2000-11-06 11:20:22 +00:00
}
2004-04-13 10:36:09 +00:00
// Look for deleted formats
2017-07-03 17:53:14 +00:00
for ( Formats : : const_iterator cit = theSystemFormats ( ) . begin ( ) ;
2017-03-14 03:33:40 +00:00
cit ! = theSystemFormats ( ) . end ( ) ; + + cit )
if ( ! theFormats ( ) . getFormat ( cit - > name ( ) ) )
2002-03-21 17:27:08 +00:00
os < < " \\ format \" " < < cit - > name ( )
2012-02-21 20:29:44 +00:00
< < " \" \" \" \" \" \" \" \" \" \" \" \" \" \" \" \n " ;
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2009-10-17 18:02:40 +00:00
case RC_VIEWER_ALTERNATIVES : {
2009-10-17 22:52:16 +00:00
Alternatives : : const_iterator it = viewer_alternatives . begin ( ) ;
Alternatives : : const_iterator const en = viewer_alternatives . end ( ) ;
2011-03-21 22:30:17 +00:00
Alternatives : : const_iterator const sysend =
2009-10-17 18:02:40 +00:00
system_lyxrc . viewer_alternatives . end ( ) ;
2015-05-17 15:27:12 +00:00
for ( ; it ! = en ; + + it ) {
2009-10-17 22:52:16 +00:00
string const & fmt = it - > first ;
CommandSet const & cmd = it - > second ;
CommandSet : : const_iterator sit = cmd . begin ( ) ;
CommandSet : : const_iterator const sen = cmd . end ( ) ;
2011-03-21 22:30:17 +00:00
Alternatives : : const_iterator const sysfmt = ignore_system_lyxrc ?
2009-10-17 22:52:16 +00:00
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 ;
2011-03-21 22:30:17 +00:00
if ( ignore_system_lyxrc
2009-10-17 22:52:16 +00:00
| | sysfmt = = sysend // format not found
| | sysfmt - > second . count ( cmd ) = = 0 // this command not found
)
2013-01-12 21:00:52 +00:00
os < < " \\ viewer_alternatives " < < fmt < < " \" " < < escapeCommand ( cmd ) < < " \" \n " ;
2009-10-17 22:52:16 +00:00
}
2009-09-05 15:11:43 +00:00
}
if ( tag ! = RC_LAST )
break ;
2009-10-17 18:02:40 +00:00
}
2017-08-12 07:06:29 +00:00
// fall through
2009-10-17 18:02:40 +00:00
case RC_EDITOR_ALTERNATIVES : {
2009-10-17 22:52:16 +00:00
Alternatives : : const_iterator it = editor_alternatives . begin ( ) ;
Alternatives : : const_iterator const en = editor_alternatives . end ( ) ;
2011-03-21 22:30:17 +00:00
Alternatives : : const_iterator const sysend =
2009-10-17 18:02:40 +00:00
system_lyxrc . editor_alternatives . end ( ) ;
2009-10-17 22:52:16 +00:00
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 ( ) ;
2011-03-21 22:30:17 +00:00
Alternatives : : const_iterator const sysfmt = ignore_system_lyxrc ?
2009-10-17 22:52:16 +00:00
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 ;
2011-03-21 22:30:17 +00:00
if ( ignore_system_lyxrc
2009-10-17 22:52:16 +00:00
| | sysfmt = = sysend // format not found
| | sysfmt - > second . count ( cmd ) = = 0 // this command not found
)
2013-01-12 21:00:52 +00:00
os < < " \\ editor_alternatives " < < fmt < < " \" " < < escapeCommand ( cmd ) < < " \" \n " ;
2009-10-17 22:52:16 +00:00
}
2009-09-05 15:11:43 +00:00
}
if ( tag ! = RC_LAST )
break ;
2009-10-17 18:02:40 +00:00
}
2017-08-12 07:06:29 +00:00
// fall through
2013-06-01 14:58:34 +00:00
case RC_DEFAULT_OTF_VIEW_FORMAT :
2015-05-17 15:27:12 +00:00
if ( ( ignore_system_lyxrc | |
default_otf_view_format ! = system_lyxrc . default_otf_view_format )
& & ! default_otf_view_format . empty ( ) ) {
2013-06-01 14:58:34 +00:00
os < < " \\ default_otf_view_format " < < default_otf_view_format < < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2017-09-09 06:56:04 +00:00
case RC_DEFAULT_PLATEX_VIEW_FORMAT :
if ( ( ignore_system_lyxrc | |
default_platex_view_format ! = system_lyxrc . default_platex_view_format )
& & ! default_platex_view_format . empty ( ) ) {
os < < " \\ default_platex_view_format " < < default_platex_view_format < < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
// fall through
2009-04-07 05:01:08 +00:00
case RC_DEFAULT_VIEW_FORMAT :
2021-02-15 15:55:20 +00:00
if ( ( ignore_system_lyxrc | |
default_view_format ! = system_lyxrc . default_view_format )
& & ! default_view_format . empty ( ) ) {
2009-04-07 05:01:08 +00:00
os < < " \\ default_view_format " < < default_view_format < < ' \n ' ;
}
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2000-11-13 10:35:02 +00:00
case RC_VIEWER :
2004-04-13 10:36:09 +00:00
// Ignore it
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2000-11-13 10:35:02 +00:00
os < < " \n # \n "
< < " # CONVERTERS SECTION ########################## \n "
< < " # \n \n " ;
2017-08-12 07:06:29 +00:00
// fall through
2000-11-13 10:35:02 +00:00
case RC_CONVERTER :
// Look for new converters
2007-01-17 13:18:16 +00:00
for ( Converters : : const_iterator cit = theConverters ( ) . begin ( ) ;
cit ! = theConverters ( ) . end ( ) ; + + cit ) {
2000-11-13 10:35:02 +00:00
Converter const * converter =
2014-12-07 17:35:28 +00:00
theSystemConverters ( ) . getConverter ( cit - > from ( ) ,
cit - > to ( ) ) ;
2000-11-13 10:35:02 +00:00
if ( ! converter | |
2014-12-07 17:35:28 +00:00
converter - > command ( ) ! = cit - > command ( ) | |
converter - > flags ( ) ! = cit - > flags ( ) )
os < < " \\ converter \" " < < cit - > from ( ) < < " \" \" "
< < cit - > to ( ) < < " \" \" "
< < escapeCommand ( cit - > command ( ) ) < < " \" \" "
< < cit - > flags ( ) < < " \" \n " ;
2000-11-06 11:20:22 +00:00
}
2000-11-13 10:35:02 +00:00
// New/modifed converters
2007-01-17 13:18:16 +00:00
for ( Converters : : const_iterator cit = theSystemConverters ( ) . begin ( ) ;
cit ! = theSystemConverters ( ) . end ( ) ; + + cit )
2014-12-07 17:35:28 +00:00
if ( ! theConverters ( ) . getConverter ( cit - > from ( ) , cit - > to ( ) ) )
os < < " \\ converter \" " < < cit - > from ( )
< < " \" \" " < < cit - > to ( ) < < " \" \" \" \" \" \n " ;
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2017-08-12 07:06:29 +00:00
// fall through
2004-10-26 18:39:13 +00:00
case RC_COPIER :
2007-10-11 15:23:52 +00:00
if ( tag = = RC_LAST )
os < < " \n # \n "
< < " # COPIERS SECTION ########################## \n "
< < " # \n \n " ;
2004-10-26 18:39:13 +00:00
// Look for new movers
2007-01-18 08:42:53 +00:00
Movers : : const_iterator const sysbegin = theSystemMovers ( ) . begin ( ) ;
Movers : : const_iterator const sysend = theSystemMovers ( ) . end ( ) ;
Movers : : const_iterator it = theMovers ( ) . begin ( ) ;
Movers : : const_iterator end = theMovers ( ) . end ( ) ;
2004-10-26 18:39:13 +00:00
2007-01-18 08:42:53 +00:00
for ( ; it ! = end ; + + it ) {
Movers : : const_iterator const sysit =
2007-12-12 19:28:07 +00:00
find_if ( sysbegin , sysend , SameMover ( * it ) ) ;
2004-10-26 18:39:13 +00:00
if ( sysit = = sysend ) {
2007-12-12 19:28:07 +00:00
string const & fmt = it - > first ;
string const & command =
2004-10-26 18:39:13 +00:00
it - > second . command ( ) ;
os < < " \\ copier " < < fmt
2008-05-05 13:53:28 +00:00
< < " \" " < < escapeCommand ( command ) < < " \" \n " ;
2004-10-26 18:39:13 +00:00
}
}
2007-10-11 15:23:52 +00:00
if ( tag ! = RC_LAST )
break ;
2004-10-26 18:39:13 +00:00
// We don't actually delete SpecialisedMover(s) from the
// map, just clear their 'command', so there's no need
// to test for anything else.
1999-12-01 00:57:31 +00:00
}
2004-10-26 18:39:13 +00:00
1999-12-01 00:57:31 +00:00
os . flush ( ) ;
1999-09-27 18:44:28 +00:00
}
2000-11-17 00:07:41 +00:00
2009-10-03 19:37:29 +00:00
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 ) {
2011-05-13 11:47:38 +00:00
case LyXRC : : RC_LAST :
2009-10-03 19:37:29 +00:00
case LyXRC : : RC_ACCEPT_COMPOUND :
2011-07-21 08:47:20 +00:00
if ( lyxrc_orig . spellchecker_accept_compound ! = lyxrc_new . spellchecker_accept_compound )
if ( theSpellChecker ( ) ) theSpellChecker ( ) - > advanceChangeNumber ( ) ;
2015-09-12 20:14:04 +00:00
// fall through
2009-10-03 19:37:29 +00:00
case LyXRC : : RC_ALT_LANG :
case LyXRC : : RC_PLAINTEXT_LINELEN :
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 :
2020-08-27 06:45:41 +00:00
case LyXRC : : RC_CITATION_SEARCH :
case LyXRC : : RC_CITATION_SEARCH_PATTERN :
2020-08-23 20:19:34 +00:00
case LyXRC : : RC_CITATION_SEARCH_VIEW :
2009-10-03 19:37:29 +00:00
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 :
2012-01-02 22:47:04 +00:00
case LyXRC : : RC_COMPLETION_MINLENGTH :
2009-10-03 19:37:29 +00:00
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 :
2019-12-27 09:35:52 +00:00
case LyXRC : : RC_CT_ADDITIONS_UNDERLINED :
2020-01-13 14:20:48 +00:00
case LyXRC : : RC_CT_MARKUP_COPIED :
2009-10-03 19:37:29 +00:00
case LyXRC : : RC_CURSOR_FOLLOWS_SCROLLBAR :
case LyXRC : : RC_SCROLL_BELOW_DOCUMENT :
case LyXRC : : RC_GUI_LANGUAGE :
2013-06-01 14:58:34 +00:00
case LyXRC : : RC_DEFAULT_OTF_VIEW_FORMAT :
2017-09-09 06:56:04 +00:00
case LyXRC : : RC_DEFAULT_PLATEX_VIEW_FORMAT :
2009-10-03 19:37:29 +00:00
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 :
2011-05-13 11:47:38 +00:00
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 ) ;
}
2015-09-12 20:14:04 +00:00
// fall through
2009-10-03 19:37:29 +00:00
case LyXRC : : RC_EDITOR_ALTERNATIVES :
case LyXRC : : RC_ESC_CHARS :
case LyXRC : : RC_EXAMPLEPATH :
2011-01-16 20:28:43 +00:00
case LyXRC : : RC_FILEFORMAT :
2009-10-03 19:37:29 +00:00
case LyXRC : : RC_GROUP_LAYOUTS :
case LyXRC : : RC_HUNSPELLDIR_PATH :
2011-03-25 01:59:34 +00:00
case LyXRC : : RC_ICON_SET :
2009-10-03 19:37:29 +00:00
case LyXRC : : RC_INDEX_ALTERNATIVES :
case LyXRC : : RC_INDEX_COMMAND :
case LyXRC : : RC_JBIBTEX_COMMAND :
2017-01-14 11:13:33 +00:00
case LyXRC : : RC_JBIBTEX_ALTERNATIVES :
2009-10-03 19:37:29 +00:00
case LyXRC : : RC_JINDEX_COMMAND :
case LyXRC : : RC_NOMENCL_COMMAND :
2017-06-12 15:24:26 +00:00
case LyXRC : : RC_PYGMENTIZE_COMMAND :
2009-10-03 19:37:29 +00:00
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 :
2010-11-20 13:34:14 +00:00
case LyXRC : : RC_LANGUAGE_CUSTOM_PACKAGE :
case LyXRC : : RC_LANGUAGE_PACKAGE_SELECTION :
2011-01-16 20:28:43 +00:00
case LyXRC : : RC_LYXRCFORMAT :
2010-09-20 14:37:58 +00:00
case LyXRC : : RC_MAC_DONTSWAP_CTRL_META :
2013-05-25 16:02:21 +00:00
case LyXRC : : RC_MAC_LIKE_CURSOR_MOVEMENT :
2009-10-03 19:37:29 +00:00
case LyXRC : : RC_MACRO_EDIT_STYLE :
case LyXRC : : RC_MAKE_BACKUP :
case LyXRC : : RC_MARK_FOREIGN_LANGUAGE :
2019-07-19 15:23:20 +00:00
case LyXRC : : RC_RESPECT_OS_KBD_LANGUAGE :
2009-10-03 19:37:29 +00:00
case LyXRC : : RC_MOUSE_WHEEL_SPEED :
2015-02-08 16:41:28 +00:00
case LyXRC : : RC_MOUSE_MIDDLEBUTTON_PASTE :
2009-10-03 19:37:29 +00:00
case LyXRC : : RC_NUMLASTFILES :
case LyXRC : : RC_PARAGRAPH_MARKERS :
case LyXRC : : RC_PATH_PREFIX :
2011-05-13 11:47:38 +00:00
if ( lyxrc_orig . path_prefix ! = lyxrc_new . path_prefix ) {
2019-01-11 17:15:40 +00:00
prependEnvPath ( " PATH " , replaceEnvironmentPath ( lyxrc_new . path_prefix ) ) ;
2014-03-14 10:48:40 +00:00
// Resets python path
support : : os : : python ( true ) ;
2011-05-13 11:47:38 +00:00
}
2015-09-12 20:14:04 +00:00
// fall through
2009-10-03 19:37:29 +00:00
case LyXRC : : RC_PREVIEW :
2019-02-26 15:37:41 +00:00
if ( lyxrc_orig . preview ! = lyxrc_new . preview ) {
// Update all previews of all documents.
/* FIXME: this can be very expensive. It would be cheaper
* to kill all existing previews and update visible
* previews . */
theBufferList ( ) . updatePreviews ( ) ;
}
// fall through
2009-10-03 19:37:29 +00:00
case LyXRC : : RC_PREVIEW_HASHED_LABELS :
case LyXRC : : RC_PREVIEW_SCALE_FACTOR :
case LyXRC : : RC_PRINTLANDSCAPEFLAG :
case LyXRC : : RC_PRINTPAPERDIMENSIONFLAG :
case LyXRC : : RC_PRINTPAPERFLAG :
2010-03-26 14:02:56 +00:00
case LyXRC : : RC_SAVE_COMPRESSED :
2015-05-23 15:49:33 +00:00
case LyXRC : : RC_SAVE_ORIGIN :
2009-10-03 19:37:29 +00:00
case LyXRC : : RC_SCREEN_DPI :
2019-02-26 15:37:41 +00:00
2009-10-03 19:37:29 +00:00
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_SCREEN_ZOOM :
2019-02-26 15:37:41 +00:00
if ( lyxrc_orig . roman_font_name ! = lyxrc_new . roman_font_name
| | lyxrc_orig . sans_font_name ! = lyxrc_new . sans_font_name
| | lyxrc_orig . typewriter_font_name ! = lyxrc_new . typewriter_font_name
| | lyxrc_orig . roman_font_foundry ! = lyxrc_new . roman_font_foundry
| | lyxrc_orig . sans_font_foundry ! = lyxrc_new . sans_font_foundry
| | lyxrc_orig . use_scalable_fonts ! = lyxrc_new . use_scalable_fonts
2020-12-31 18:15:14 +00:00
| | ! std : : equal ( std : : begin ( lyxrc_orig . font_sizes ) , std : : end ( lyxrc_orig . font_sizes ) ,
std : : begin ( lyxrc_new . font_sizes ) )
2019-02-26 15:37:41 +00:00
| | lyxrc_orig . typewriter_font_foundry ! = lyxrc_new . typewriter_font_foundry
| | lyxrc_orig . defaultZoom ! = lyxrc_new . defaultZoom ) {
2019-03-08 15:48:49 +00:00
dispatch ( FuncRequest ( LFUN_SCREEN_FONT_UPDATE ) ) ;
}
// fall through
2019-02-26 15:37:41 +00:00
case LyXRC : : RC_GEOMETRY_SESSION :
2009-10-03 19:37:29 +00:00
case LyXRC : : RC_SERVERPIPE :
case LyXRC : : RC_SET_COLOR :
case LyXRC : : RC_SHOW_BANNER :
case LyXRC : : RC_OPEN_BUFFERS_IN_TABS :
case LyXRC : : RC_SPELLCHECKER :
2011-07-21 08:47:20 +00:00
if ( lyxrc_orig . spellchecker ! = lyxrc_new . spellchecker )
setSpellChecker ( ) ;
2015-09-12 20:14:04 +00:00
// fall through
2009-10-03 19:37:29 +00:00
case LyXRC : : RC_SPELLCHECK_CONTINUOUSLY :
2010-02-13 16:22:39 +00:00
case LyXRC : : RC_SPELLCHECK_NOTES :
2009-10-03 19:37:29 +00:00
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 :
2011-05-13 11:47:38 +00:00
if ( lyxrc_orig . windows_style_tex_paths ! = lyxrc_new . windows_style_tex_paths ) {
os : : windows_style_tex_paths ( lyxrc_new . windows_style_tex_paths ) ;
}
2015-09-12 20:14:04 +00:00
// fall through
Introduce the possibility of setting a prefix for the TEXINPUTS environment
variable. This is done in the preferences, much like as the PATH prefix.
A single '.' in the paths will get replaced with the current document dir
and also non-absolute paths will be prefixed with that dir.
The default semantics of TEXINPUTS apply, such that, for example, if a
path is terminated with a double slash, all subdirectories will be also
searched by both the TeX engine and ancillary programs such as dvi
previewers or dvips. As an example, if the prefix is set to ".:figs", the
TEXINPUTS variable will be set as ".:<docdir>:<docdir>/figs:$ORIGTEXINPUTS",
where <docdir> is the document directory.
The initial '.' is necessary to address the actual current dir (this will
be the temp dir at preview time), while if TEXINPUTS was initially unset,
such that $ORIGTEXINPUTS is empty, a colon (or semicolon on Windows) will
end the path list. This is very important, because we don't want to replace
the system directories but to complement them and, in order to do that, an
empty element has to be present in the list. Indeed, according to the
TEXINPUTS semantics, an empty element means the standard search path.
This works whether TEXINPUTS is originally set or not, because if the
original TEXINPUTS starts with a colon (meaning that the standard search
path is wanted there) we will have an empty element at that point,
otherwise the final colon will simply serve as a path separator.
Of course, on Windows a ';' has to be used as a path separator. LyX will
take care of transforming the platform path list into one understandable
by the TeX engine. For example, this will be the case for a Cygwin version
of LyX using a native Windows TeX engine or viceversa. I tested all of
this and it works for me.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38681 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-09 23:25:51 +00:00
case LyXRC : : RC_TEXINPUTS_PREFIX :
2009-10-03 19:37:29 +00:00
case LyXRC : : RC_THESAURUSDIRPATH :
case LyXRC : : RC_UIFILE :
case LyXRC : : RC_USER_EMAIL :
2019-12-24 13:31:08 +00:00
case LyXRC : : RC_USER_INITIALS :
2009-10-03 19:37:29 +00:00
case LyXRC : : RC_USER_NAME :
case LyXRC : : RC_USE_CONVERTER_CACHE :
2016-11-05 00:00:44 +00:00
case LyXRC : : RC_USE_CONVERTER_NEEDAUTH_FORBIDDEN :
case LyXRC : : RC_USE_CONVERTER_NEEDAUTH :
2018-01-30 13:32:53 +00:00
case LyXRC : : RC_USE_NATIVE_FILEDIALOG :
2010-08-08 23:11:02 +00:00
case LyXRC : : RC_USE_SYSTEM_COLORS :
2009-10-03 19:37:29 +00:00
case LyXRC : : RC_USE_TOOLTIP :
2012-05-08 15:55:59 +00:00
case LyXRC : : RC_USE_SYSTEM_THEME_ICONS :
2009-10-03 19:37:29 +00:00
case LyXRC : : RC_VIEWDVI_PAPEROPTION :
2009-10-06 10:22:06 +00:00
case LyXRC : : RC_SINGLE_CLOSE_TAB_BUTTON :
2010-11-13 11:55:05 +00:00
case LyXRC : : RC_SINGLE_INSTANCE :
2009-10-03 19:37:29 +00:00
case LyXRC : : RC_SORT_LAYOUTS :
case LyXRC : : RC_FULL_SCREEN_LIMIT :
case LyXRC : : RC_FULL_SCREEN_SCROLLBAR :
case LyXRC : : RC_FULL_SCREEN_MENUBAR :
2014-02-26 01:48:56 +00:00
case LyXRC : : RC_FULL_SCREEN_STATUSBAR :
2009-10-03 19:37:29 +00:00
case LyXRC : : RC_FULL_SCREEN_TABBAR :
case LyXRC : : RC_FULL_SCREEN_TOOLBARS :
case LyXRC : : RC_FULL_SCREEN_WIDTH :
case LyXRC : : RC_VISUAL_CURSOR :
2012-09-15 22:37:55 +00:00
case LyXRC : : RC_CLOSE_BUFFER_WITH_LAST_VIEW :
2009-10-03 19:37:29 +00:00
case LyXRC : : RC_VIEWER :
case LyXRC : : RC_VIEWER_ALTERNATIVES :
2010-04-15 23:32:52 +00:00
case LyXRC : : RC_FORWARD_SEARCH_DVI :
case LyXRC : : RC_FORWARD_SEARCH_PDF :
2010-04-20 16:49:49 +00:00
case LyXRC : : RC_EXPORT_OVERWRITE :
2019-07-22 06:05:28 +00:00
case LyXRC : : RC_DEFAULT_DECIMAL_SEP :
2011-10-27 11:52:11 +00:00
case LyXRC : : RC_DEFAULT_LENGTH_UNIT :
2010-07-17 22:29:42 +00:00
case LyXRC : : RC_SCROLL_WHEEL_ZOOM :
2011-03-11 06:11:55 +00:00
case LyXRC : : RC_CURSOR_WIDTH :
2009-10-03 19:37:29 +00:00
break ;
}
}
2018-08-01 07:28:03 +00:00
set < string > LyXRC : : getRCs ( )
{
set < string > res ;
for ( int i = 0 ; i ! = lyxrcCount ; + + i )
res . insert ( ltrim ( lyxrcTags [ i ] . tag , " \\ " ) ) ;
return res ;
}
2006-11-11 19:02:27 +00:00
#if 0
2002-03-21 17:27:08 +00:00
string const LyXRC : : getDescription ( LyXRCTags tag )
2000-10-30 21:53:29 +00:00
{
2006-09-09 15:27:44 +00:00
docstring str ;
2002-03-21 17:27:08 +00:00
2000-11-04 10:00:12 +00:00
switch ( tag ) {
2005-01-16 21:01:41 +00:00
case RC_ACCEPT_COMPOUND :
str = _ ( " Consider run-together words, such as \" diskdrive \" for \" disk drive \" , as legal words? " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_ALT_LANG :
str = _ ( " Specify an alternate language. The default is to use the language of the document. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2007-01-15 22:49:14 +00:00
case RC_PLAINTEXT_LINELEN :
2007-01-20 14:51:40 +00:00
str = _ ( " The maximum line length of exported plain text/LaTeX/SGML files. If set to 0, paragraphs are output in a single line; if the line length is > 0, paragraphs are separated by a blank line. " ) ;
2000-11-29 15:34:56 +00:00
break ;
2005-01-16 21:01:41 +00:00
case RC_AUTOREGIONDELETE :
str = _ ( " De-select if you don't want the current selection to be replaced automatically by what you type. " ) ;
2000-11-29 15:34:56 +00:00
break ;
2005-01-16 21:01:41 +00:00
case RC_AUTORESET_OPTIONS :
str = _ ( " De-select if you don't want the class options to be reset to defaults after class change. " ) ;
2000-11-29 15:34:56 +00:00
break ;
2005-01-16 21:01:41 +00:00
case RC_AUTOSAVE :
str = _ ( " The time interval between auto-saves (in seconds). 0 means no auto-save. " ) ;
2000-11-29 15:34:56 +00:00
break ;
2005-01-16 21:01:41 +00:00
case RC_AUTO_NUMBER :
2000-11-29 15:34:56 +00:00
break ;
2005-01-16 21:01:41 +00:00
case RC_BACKUPDIR_PATH :
str = _ ( " The path for storing backup files. If it is an empty string, LyX will store the backup file in the same directory as the original file. " ) ;
2000-11-29 15:34:56 +00:00
break ;
2005-01-16 21:01:41 +00:00
case RC_BIBTEX_COMMAND :
str = _ ( " Define the options of bibtex (cf. man bibtex) or select an alternative compiler (e.g. mlbibtex or bibulus). " ) ;
2000-11-29 15:34:56 +00:00
break ;
2009-04-13 09:53:40 +00:00
case RC_JBIBTEX_COMMAND :
str = _ ( " Define the options of the bibtex program for PLaTeX (Japanese LaTeX). " ) ;
break ;
2005-01-16 21:01:41 +00:00
case RC_BINDFILE :
str = _ ( " Keybindings file. Can either specify an absolute path, or LyX will look in its global and local bind/ directories. " ) ;
2000-11-29 15:34:56 +00:00
break ;
2005-01-16 21:01:41 +00:00
case RC_CHECKLASTFILES :
str = _ ( " Select to check whether the lastfiles still exist. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_CHKTEX_COMMAND :
str = _ ( " Define how to run chktex. E.g. \" chktex -n11 -n1 -n3 -n6 -n9 -22 -n25 -n30 -n38 \" Refer to the ChkTeX documentation. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_CONVERTER :
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2016-11-05 00:00:44 +00:00
case RC_CONVERTER_NEEDAUTH_FORBIDDEN :
str = _ ( " Forbid use of external converters with 'needauth' option to prevent undesired effects. " ) ;
break ;
case RC_CONVERTER_NEEDAUTH :
str = _ ( " Ask user before calling external converters with 'needauth' option to prevent undesired effects. " ) ;
break ;
2005-01-16 21:01:41 +00:00
case RC_COPIER :
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_CURSOR_FOLLOWS_SCROLLBAR :
str = _ ( " LyX normally doesn't update the cursor position if you move the scrollbar. Set to true if you'd prefer to always have the cursor on screen. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2008-07-01 14:42:32 +00:00
2011-03-11 06:11:55 +00:00
case RC_CURSOR_WIDTH :
2011-03-13 12:06:54 +00:00
str = _ ( " Configure the width of the text cursor. Automatic zoom-controlled cursor width used when set to 0. " ) ;
2011-03-11 06:11:55 +00:00
break ;
2009-03-27 17:41:58 +00:00
case RC_SCROLL_BELOW_DOCUMENT :
str = _ ( " LyX normally doesn't allow the user to scroll further than the bottom of the document. Set to true if you prefer to scroll the bottom of the document to the top of the screen " ) ;
break ;
2010-09-19 22:00:25 +00:00
case RC_MAC_DONTSWAP_CTRL_META :
str = _ ( " Make Apple key act as Meta and Control key as Ctrl. " ) ;
break ;
2013-05-25 16:02:21 +00:00
case RC_MAC_LIKE_CURSOR_MOVEMENT :
str = _ ( " Use the Mac OS X conventions for cursor movement " ) ;
2008-07-01 14:42:32 +00:00
break ;
2002-03-21 17:27:08 +00:00
2008-01-22 21:23:41 +00:00
case RC_SHOW_MACRO_LABEL :
str = _ ( " Show a small box around a Math Macro with the macro name when the cursor is inside. " ) ;
break ;
2007-11-04 11:29:12 +00:00
case RC_DEFFILE :
2007-12-02 22:10:26 +00:00
str = _ ( " Command definition file. Can either specify an absolute path, or LyX will look in its global and local commands/ directories. " ) ;
2007-11-04 11:29:12 +00:00
break ;
2013-06-01 14:58:34 +00:00
case RC_DEFAULT_OTF_VIEW_FORMAT :
str = _ ( " The default format used with LFUN_BUFFER_[VIEW|UPDATE] with non-TeX fonts. " ) ;
break ;
2009-04-07 05:01:08 +00:00
case RC_DEFAULT_VIEW_FORMAT :
str = _ ( " The default format used with LFUN_BUFFER_[VIEW|UPDATE]. " ) ;
break ;
2005-01-16 21:01:41 +00:00
case RC_DIALOGS_ICONIFY_WITH_MAIN :
str = _ ( " Iconify the dialogs when the main window is iconified. (Affects only dialogs shown after the change has been made.) " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_DISPLAY_GRAPHICS :
str = _ ( " Select how LyX will display any graphics. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_DOCUMENTPATH :
str = _ ( " The default path for your documents. An empty value selects the directory LyX was started from. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_ESC_CHARS :
str = _ ( " Specify additional chars that can be part of a word. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2007-11-25 18:26:58 +00:00
case RC_EXAMPLEPATH :
str = _ ( " The path that LyX will set when offering to choose an example. An empty value selects the directory LyX was started from. " ) ;
break ;
2011-01-16 20:28:43 +00:00
case RC_FILEFORMAT :
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_INDEX_COMMAND :
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 \" . " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2009-04-13 09:53:40 +00:00
case RC_JINDEX_COMMAND :
str = _ ( " Define the options of the index program for PLaTeX (Japanese LaTeX). " ) ;
break ;
2008-08-23 09:44:00 +00:00
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 ;
2017-06-12 15:24:26 +00:00
case RC_PYGMENTIZE_COMMAND :
str = _ ( " The command to run the python pygments syntax highlighter. " ) ;
break ;
2005-01-16 21:01:41 +00:00
case RC_INPUT :
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_KBMAP :
case RC_KBMAP_PRIMARY :
case RC_KBMAP_SECONDARY :
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. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_LANGUAGE_AUTO_BEGIN :
str = _ ( " Select if a language switching command is needed at the beginning of the document. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_LANGUAGE_AUTO_END :
str = _ ( " Select if a language switching command is needed at the end of the document. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2001-09-21 10:41:09 +00:00
2005-01-16 21:01:41 +00:00
case RC_LANGUAGE_COMMAND_BEGIN :
str = _ ( " The LaTeX command for changing from the language of the document to another language. E.g. \\ selectlanguage{$$lang} where $$lang is substituted by the name of the second language. " ) ;
2001-09-21 10:41:09 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_LANGUAGE_COMMAND_END :
str = _ ( " The LaTeX command for changing back to the language of the document. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2001-09-21 10:41:09 +00:00
2005-01-16 21:01:41 +00:00
case RC_LANGUAGE_COMMAND_LOCAL :
str = _ ( " The LaTeX command for local changing of the language. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2001-09-21 10:41:09 +00:00
2005-01-16 21:01:41 +00:00
case RC_LANGUAGE_GLOBAL_OPTIONS :
str = _ ( " De-select if you don't want the language(s) used as an argument to \\ documentclass. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2010-11-20 13:34:14 +00:00
case RC_LANGUAGE_CUSTOM_PACKAGE :
2005-01-16 21:01:41 +00:00
str = _ ( " The LaTeX command for loading the language package. E.g. \" \\ usepackage{babel} \" , \" \\ usepackage{omega} \" . " ) ;
2000-10-30 21:53:29 +00:00
break ;
2000-11-02 04:48:34 +00:00
2010-11-20 13:34:14 +00:00
case RC_LANGUAGE_PACKAGE_SELECTION :
2005-01-16 21:01:41 +00:00
str = _ ( " De-select if you don't want babel to be used when the language of the document is the default language. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2006-04-05 22:56:18 +00:00
case RC_USELASTFILEPOS :
str = _ ( " De-select if you do not want LyX to scroll to saved position. " ) ;
break ;
case RC_LOADSESSION :
2007-06-12 21:05:25 +00:00
str = _ ( " De-select to prevent loading files opened from the last LyX session. " ) ;
2005-01-16 21:01:41 +00:00
break ;
case RC_MAKE_BACKUP :
str = _ ( " De-select if you don't want LyX to create backup files. " ) ;
break ;
case RC_MARK_FOREIGN_LANGUAGE :
str = _ ( " Select to control the highlighting of words with a language foreign to that of the document. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2019-07-19 15:23:20 +00:00
case RC_RESPECT_OS_KBD_LANGUAGE :
str = _ ( " Select to use the current keyboard language, as set from the operating system, as default input language. " ) ;
break ;
2008-01-30 21:20:29 +00:00
case RC_MOUSE_WHEEL_SPEED :
2016-01-13 01:30:05 +00:00
str = _ ( " The scrolling speed of the mouse wheel. " ) ;
2008-01-30 21:20:29 +00:00
break ;
2008-02-21 19:42:34 +00:00
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 ;
2008-03-16 17:07:10 +00:00
case RC_COMPLETION_POPUP_TEXT :
str = _ ( " Show a small triangle on the cursor to indicate that a completion is available. " ) ;
break ;
2008-02-21 19:42:34 +00:00
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 ;
2009-01-15 09:48:00 +00:00
case RC_AUTOCORRECTION_MATH :
2015-03-16 13:30:02 +00:00
str = _ ( " Allow TeXMacs shorthand, like => converting to \\ Rightarrow. " ) ;
2009-01-15 09:48:00 +00:00
break ;
2000-10-30 21:53:29 +00:00
case RC_NUMLASTFILES :
2006-09-11 08:54:10 +00:00
str = bformat ( _ ( " Maximal number of lastfiles. Up to %1$d can appear in the file menu. " ) ,
maxlastfiles ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_PATH_PREFIX :
2005-02-01 22:48:23 +00:00
str = _ ( " Specify those directories which should be "
2011-05-10 10:08:02 +00:00
" prepended to the PATH environment variable. \n "
2005-02-01 22:48:23 +00:00
" Use the OS native format. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_PREVIEW :
str = _ ( " Shows a typeset preview of things such as math " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_PREVIEW_HASHED_LABELS :
str = _ ( " Previewed equations will have \" (#) \" labels rather than numbered ones " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_PREVIEW_SCALE_FACTOR :
str = _ ( " Scale the preview size to suit. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_PRINTLANDSCAPEFLAG :
str = _ ( " The option to print out in landscape. " ) ;
2001-09-07 10:11:02 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_PRINTPAPERDIMENSIONFLAG :
2015-05-27 22:10:38 +00:00
str = _ ( " Option to specify the dimensions of the print paper. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2005-01-16 21:01:41 +00:00
case RC_PRINTPAPERFLAG :
str = _ ( " The option to specify paper type. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2008-02-10 19:51:23 +00:00
case RC_VISUAL_CURSOR :
str = _ ( " Select to have visual bidi cursor movement, unselect for logical movement. " ) ;
break ;
2012-09-15 22:37:55 +00:00
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 ;
2005-01-16 21:01:41 +00:00
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. " ) ;
2001-02-25 10:22:54 +00:00
break ;
2005-01-16 21:01:41 +00:00
case RC_SCREEN_FONT_ROMAN :
case RC_SCREEN_FONT_SANS :
case RC_SCREEN_FONT_TYPEWRITER :
str = _ ( " The screen fonts used to display the text while editing. " ) ;
break ;
case RC_SCREEN_FONT_ROMAN_FOUNDRY :
case RC_SCREEN_FONT_SANS_FOUNDRY :
case RC_SCREEN_FONT_TYPEWRITER_FOUNDRY :
break ;
case RC_SCREEN_FONT_SCALABLE :
str = _ ( " Allow bitmap fonts to be resized. If you are using a bitmap font, selecting this option may make some fonts look blocky in LyX. Deselecting this option makes LyX use the nearest bitmap font size available, instead of scaling. " ) ;
break ;
case RC_SCREEN_FONT_SIZES :
str = _ ( " The font sizes used for calculating the scaling of the screen fonts. " ) ;
break ;
case RC_SCREEN_ZOOM :
2000-12-06 09:49:54 +00:00
//xgettext:no-c-format
2005-01-16 21:01:41 +00:00
str = _ ( " The zoom percentage for screen fonts. A setting of 100% will make the fonts roughly the same size as on paper. " ) ;
break ;
2007-11-15 12:58:44 +00:00
case RC_GEOMETRY_SESSION :
str = _ ( " Allow session manager to save and restore windows geometry. " ) ;
2006-04-05 23:56:29 +00:00
break ;
2006-04-05 22:56:18 +00:00
2005-01-16 21:01:41 +00:00
case RC_SERVERPIPE :
str = _ ( " This starts the lyxserver. The pipes get an additional extension \" .in \" and \" .out \" . Only for advanced users. " ) ;
break ;
case RC_SET_COLOR :
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2000-10-30 21:53:29 +00:00
case RC_SHOW_BANNER :
2002-04-02 17:04:23 +00:00
str = _ ( " De-select if you don't want the startup banner. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_TEMPDIRPATH :
str = _ ( " LyX will place its temporary directories in this path. They will be deleted when you quit LyX. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2008-11-16 18:48:25 +00:00
case RC_THESAURUSDIRPATH :
str = _ ( " This is the place where the files of the thesaurus library reside. " ) ;
break ;
2005-01-16 21:01:41 +00:00
case RC_TEMPLATEPATH :
str = _ ( " The path that LyX will set when offering to choose a template. An empty value selects the directory LyX was started from. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-03-25 15:27:30 +00:00
case RC_TEX_ALLOWS_SPACES :
break ;
2006-06-27 10:51:24 +00:00
case RC_TEX_EXPECTS_WINDOWS_PATHS :
break ;
Introduce the possibility of setting a prefix for the TEXINPUTS environment
variable. This is done in the preferences, much like as the PATH prefix.
A single '.' in the paths will get replaced with the current document dir
and also non-absolute paths will be prefixed with that dir.
The default semantics of TEXINPUTS apply, such that, for example, if a
path is terminated with a double slash, all subdirectories will be also
searched by both the TeX engine and ancillary programs such as dvi
previewers or dvips. As an example, if the prefix is set to ".:figs", the
TEXINPUTS variable will be set as ".:<docdir>:<docdir>/figs:$ORIGTEXINPUTS",
where <docdir> is the document directory.
The initial '.' is necessary to address the actual current dir (this will
be the temp dir at preview time), while if TEXINPUTS was initially unset,
such that $ORIGTEXINPUTS is empty, a colon (or semicolon on Windows) will
end the path list. This is very important, because we don't want to replace
the system directories but to complement them and, in order to do that, an
empty element has to be present in the list. Indeed, according to the
TEXINPUTS semantics, an empty element means the standard search path.
This works whether TEXINPUTS is originally set or not, because if the
original TEXINPUTS starts with a colon (meaning that the standard search
path is wanted there) we will have an empty element at that point,
otherwise the final colon will simply serve as a path separator.
Of course, on Windows a ';' has to be used as a path separator. LyX will
take care of transforming the platform path list into one understandable
by the TeX engine. For example, this will be the case for a Cygwin version
of LyX using a native Windows TeX engine or viceversa. I tested all of
this and it works for me.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38681 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-09 23:25:51 +00:00
case RC_TEXINPUTS_PREFIX :
str = _ ( " Specify those directories which should be "
2011-05-10 10:08:02 +00:00
" prepended to the TEXINPUTS environment variable. \n "
Introduce the possibility of setting a prefix for the TEXINPUTS environment
variable. This is done in the preferences, much like as the PATH prefix.
A single '.' in the paths will get replaced with the current document dir
and also non-absolute paths will be prefixed with that dir.
The default semantics of TEXINPUTS apply, such that, for example, if a
path is terminated with a double slash, all subdirectories will be also
searched by both the TeX engine and ancillary programs such as dvi
previewers or dvips. As an example, if the prefix is set to ".:figs", the
TEXINPUTS variable will be set as ".:<docdir>:<docdir>/figs:$ORIGTEXINPUTS",
where <docdir> is the document directory.
The initial '.' is necessary to address the actual current dir (this will
be the temp dir at preview time), while if TEXINPUTS was initially unset,
such that $ORIGTEXINPUTS is empty, a colon (or semicolon on Windows) will
end the path list. This is very important, because we don't want to replace
the system directories but to complement them and, in order to do that, an
empty element has to be present in the list. Indeed, according to the
TEXINPUTS semantics, an empty element means the standard search path.
This works whether TEXINPUTS is originally set or not, because if the
original TEXINPUTS starts with a colon (meaning that the standard search
path is wanted there) we will have an empty element at that point,
otherwise the final colon will simply serve as a path separator.
Of course, on Windows a ';' has to be used as a path separator. LyX will
take care of transforming the platform path list into one understandable
by the TeX engine. For example, this will be the case for a Cygwin version
of LyX using a native Windows TeX engine or viceversa. I tested all of
this and it works for me.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38681 a592a061-630c-0410-9148-cb99ea01b6c8
2011-05-09 23:25:51 +00:00
" A '.' represents the current document directory. "
" Use the OS native format. " ) ;
break ;
2005-01-16 21:01:41 +00:00
case RC_UIFILE :
str = _ ( " The UI (user interface) file. Can either specify an absolute path, or LyX will look in its global and local ui/ directories. " ) ;
2000-10-30 21:53:29 +00:00
break ;
2002-03-21 17:27:08 +00:00
2005-01-16 21:01:41 +00:00
case RC_USER_EMAIL :
2000-10-30 21:53:29 +00:00
break ;
2000-12-11 09:46:09 +00:00
2005-01-16 21:01:41 +00:00
case RC_USER_NAME :
2000-12-11 09:46:09 +00:00
break ;
2002-03-21 17:27:08 +00:00
2010-08-09 09:41:36 +00:00
case RC_USE_USE_SYSTEM_COLORS :
2010-08-08 23:11:02 +00:00
str = _ ( " Enable use the system colors for some things like main window background and selection. " ) ;
break ;
2007-12-26 13:52:56 +00:00
case RC_USE_TOOLTIP :
str = _ ( " Enable the automatic appearance of tool tips in the work area. " ) ;
break ;
2005-01-16 21:01:41 +00:00
case RC_VIEWDVI_PAPEROPTION :
2006-09-09 15:27:44 +00:00
_ ( " Specify the paper command to DVI viewer (leave empty or use \" -paper \" ) " ) ;
2005-01-16 21:01:41 +00:00
break ;
case RC_VIEWER :
break ;
case RC_LAST :
2000-10-30 21:53:29 +00:00
break ;
}
2006-11-11 19:02:27 +00:00
return str ;
2000-10-30 21:53:29 +00:00
}
2006-11-11 19:02:27 +00:00
# endif
2000-10-30 21:53:29 +00:00
2000-03-12 10:35:05 +00:00
// The global instance
LyXRC lyxrc ;
2000-08-14 05:24:35 +00:00
// The global copy of the system lyxrc entries (everything except preferences)
2000-10-10 14:17:33 +00:00
LyXRC system_lyxrc ;
2006-10-21 00:16:43 +00:00
} // namespace lyx