1999-09-27 18:44:28 +00:00
|
|
|
// -*- C++ -*-
|
2003-02-08 19:18:01 +00:00
|
|
|
/**
|
2007-04-26 04:41:58 +00:00
|
|
|
* \file LyXRC.h
|
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
|
|
|
|
1999-10-02 16:21:10 +00:00
|
|
|
#ifndef LYXRC_H
|
|
|
|
#define LYXRC_H
|
1999-09-27 18:44:28 +00:00
|
|
|
|
2011-10-27 11:52:11 +00:00
|
|
|
#include "Length.h"
|
2001-07-29 15:34:18 +00:00
|
|
|
|
2007-11-01 22:17:22 +00:00
|
|
|
#include "support/strfwd.h"
|
|
|
|
|
2009-10-17 22:52:16 +00:00
|
|
|
#include <map>
|
2009-05-28 12:49:41 +00:00
|
|
|
#include <set>
|
2003-10-06 15:43:21 +00:00
|
|
|
#include <string>
|
|
|
|
|
2006-10-21 00:16:43 +00:00
|
|
|
|
|
|
|
namespace lyx {
|
|
|
|
|
2006-11-26 21:30:39 +00:00
|
|
|
namespace support { class FileName; }
|
|
|
|
|
2007-04-26 11:30:54 +00:00
|
|
|
class Lexer;
|
1999-09-27 18:44:28 +00:00
|
|
|
|
|
|
|
/// This contains the runtime configuration of LyX
|
2007-10-25 18:27:08 +00:00
|
|
|
class LyXRC
|
2000-10-10 14:17:33 +00:00
|
|
|
{
|
1999-09-27 18:44:28 +00:00
|
|
|
public:
|
2005-01-16 21:01:41 +00:00
|
|
|
enum LyXRCTags {
|
|
|
|
RC_ACCEPT_COMPOUND = 1,
|
|
|
|
RC_ALT_LANG,
|
2009-01-15 09:48:00 +00:00
|
|
|
RC_AUTOCORRECTION_MATH,
|
2005-01-16 21:01:41 +00:00
|
|
|
RC_AUTOREGIONDELETE,
|
|
|
|
RC_AUTORESET_OPTIONS,
|
|
|
|
RC_AUTOSAVE,
|
|
|
|
RC_AUTO_NUMBER,
|
|
|
|
RC_BACKUPDIR_PATH,
|
2009-05-08 10:07:32 +00:00
|
|
|
RC_BIBTEX_ALTERNATIVES,
|
2005-01-16 21:01:41 +00:00
|
|
|
RC_BIBTEX_COMMAND,
|
|
|
|
RC_BINDFILE,
|
|
|
|
RC_CHECKLASTFILES,
|
|
|
|
RC_CHKTEX_COMMAND,
|
2008-03-16 17:07:10 +00:00
|
|
|
RC_COMPLETION_CURSOR_TEXT,
|
2008-02-21 19:42:34 +00:00
|
|
|
RC_COMPLETION_INLINE_DELAY,
|
|
|
|
RC_COMPLETION_INLINE_MATH,
|
|
|
|
RC_COMPLETION_INLINE_TEXT,
|
|
|
|
RC_COMPLETION_INLINE_DOTS,
|
2012-01-02 22:47:04 +00:00
|
|
|
RC_COMPLETION_MINLENGTH,
|
2008-02-21 19:42:34 +00:00
|
|
|
RC_COMPLETION_POPUP_DELAY,
|
|
|
|
RC_COMPLETION_POPUP_MATH,
|
|
|
|
RC_COMPLETION_POPUP_TEXT,
|
|
|
|
RC_COMPLETION_POPUP_AFTER_COMPLETE,
|
2005-01-16 21:01:41 +00:00
|
|
|
RC_CONVERTER,
|
2006-11-13 10:27:57 +00:00
|
|
|
RC_CONVERTER_CACHE_MAXAGE,
|
2005-01-16 21:01:41 +00:00
|
|
|
RC_COPIER,
|
|
|
|
RC_CURSOR_FOLLOWS_SCROLLBAR,
|
2011-03-11 06:11:55 +00:00
|
|
|
RC_CURSOR_WIDTH,
|
2005-01-16 21:01:41 +00:00
|
|
|
RC_DATE_INSERT_FORMAT,
|
2010-06-05 07:44:44 +00:00
|
|
|
RC_DEFAULT_DECIMAL_POINT,
|
2011-10-27 11:52:11 +00:00
|
|
|
RC_DEFAULT_LENGTH_UNIT,
|
2013-06-01 14:58:34 +00:00
|
|
|
RC_DEFAULT_OTF_VIEW_FORMAT,
|
2009-04-07 05:01:08 +00:00
|
|
|
RC_DEFAULT_VIEW_FORMAT,
|
2009-06-13 22:23:16 +00:00
|
|
|
RC_DEFFILE,
|
2005-01-16 21:01:41 +00:00
|
|
|
RC_DIALOGS_ICONIFY_WITH_MAIN,
|
|
|
|
RC_DISPLAY_GRAPHICS,
|
|
|
|
RC_DOCUMENTPATH,
|
2009-09-05 15:11:43 +00:00
|
|
|
RC_EDITOR_ALTERNATIVES,
|
2005-01-16 21:01:41 +00:00
|
|
|
RC_ESC_CHARS,
|
2007-11-25 18:26:58 +00:00
|
|
|
RC_EXAMPLEPATH,
|
2010-04-20 16:49:49 +00:00
|
|
|
RC_EXPORT_OVERWRITE,
|
2005-01-16 21:01:41 +00:00
|
|
|
RC_FONT_ENCODING,
|
2011-01-16 20:28:43 +00:00
|
|
|
RC_FILEFORMAT,
|
2010-04-15 23:32:52 +00:00
|
|
|
RC_FORWARD_SEARCH_DVI,
|
|
|
|
RC_FORWARD_SEARCH_PDF,
|
2008-02-19 21:51:55 +00:00
|
|
|
RC_FULL_SCREEN_LIMIT,
|
|
|
|
RC_FULL_SCREEN_SCROLLBAR,
|
2014-02-26 01:48:56 +00:00
|
|
|
RC_FULL_SCREEN_STATUSBAR,
|
2008-02-19 21:51:55 +00:00
|
|
|
RC_FULL_SCREEN_TABBAR,
|
2009-05-26 21:41:45 +00:00
|
|
|
RC_FULL_SCREEN_MENUBAR,
|
2008-02-19 21:51:55 +00:00
|
|
|
RC_FULL_SCREEN_TOOLBARS,
|
|
|
|
RC_FULL_SCREEN_WIDTH,
|
2008-03-10 13:02:57 +00:00
|
|
|
RC_GEOMETRY_SESSION,
|
|
|
|
RC_GROUP_LAYOUTS,
|
2009-06-13 22:23:16 +00:00
|
|
|
RC_GUI_LANGUAGE,
|
2009-08-08 17:05:31 +00:00
|
|
|
RC_HUNSPELLDIR_PATH,
|
2011-03-25 01:59:34 +00:00
|
|
|
RC_ICON_SET,
|
2009-05-08 10:07:32 +00:00
|
|
|
RC_INDEX_ALTERNATIVES,
|
2005-01-16 21:01:41 +00:00
|
|
|
RC_INDEX_COMMAND,
|
|
|
|
RC_INPUT,
|
2017-01-14 11:13:33 +00:00
|
|
|
RC_JBIBTEX_ALTERNATIVES,
|
2009-04-13 09:53:40 +00:00
|
|
|
RC_JBIBTEX_COMMAND,
|
|
|
|
RC_JINDEX_COMMAND,
|
2005-01-16 21:01:41 +00:00
|
|
|
RC_KBMAP,
|
|
|
|
RC_KBMAP_PRIMARY,
|
|
|
|
RC_KBMAP_SECONDARY,
|
|
|
|
RC_LANGUAGE_AUTO_BEGIN,
|
|
|
|
RC_LANGUAGE_AUTO_END,
|
|
|
|
RC_LANGUAGE_COMMAND_BEGIN,
|
|
|
|
RC_LANGUAGE_COMMAND_END,
|
|
|
|
RC_LANGUAGE_COMMAND_LOCAL,
|
|
|
|
RC_LANGUAGE_GLOBAL_OPTIONS,
|
2010-11-20 13:34:14 +00:00
|
|
|
RC_LANGUAGE_CUSTOM_PACKAGE,
|
|
|
|
RC_LANGUAGE_PACKAGE_SELECTION,
|
2006-04-05 22:56:18 +00:00
|
|
|
RC_LOADSESSION,
|
2011-01-16 20:28:43 +00:00
|
|
|
RC_LYXRCFORMAT,
|
2008-01-25 22:02:38 +00:00
|
|
|
RC_MACRO_EDIT_STYLE,
|
2010-09-19 22:00:25 +00:00
|
|
|
RC_MAC_DONTSWAP_CTRL_META,
|
2013-05-25 16:02:21 +00:00
|
|
|
RC_MAC_LIKE_CURSOR_MOVEMENT,
|
2005-01-16 21:01:41 +00:00
|
|
|
RC_MAKE_BACKUP,
|
|
|
|
RC_MARK_FOREIGN_LANGUAGE,
|
2008-01-30 21:20:29 +00:00
|
|
|
RC_MOUSE_WHEEL_SPEED,
|
2015-02-08 16:41:28 +00:00
|
|
|
RC_MOUSE_MIDDLEBUTTON_PASTE,
|
2008-08-23 09:44:00 +00:00
|
|
|
RC_NOMENCL_COMMAND,
|
2005-01-16 21:01:41 +00:00
|
|
|
RC_NUMLASTFILES,
|
2009-06-13 22:23:16 +00:00
|
|
|
RC_OPEN_BUFFERS_IN_TABS,
|
2009-08-19 22:46:43 +00:00
|
|
|
RC_PARAGRAPH_MARKERS,
|
2005-01-16 21:01:41 +00:00
|
|
|
RC_PATH_PREFIX,
|
2009-06-13 22:23:16 +00:00
|
|
|
RC_PLAINTEXT_LINELEN,
|
2005-01-16 21:01:41 +00:00
|
|
|
RC_PREVIEW,
|
|
|
|
RC_PREVIEW_HASHED_LABELS,
|
|
|
|
RC_PREVIEW_SCALE_FACTOR,
|
|
|
|
RC_PRINTLANDSCAPEFLAG,
|
|
|
|
RC_PRINTPAPERDIMENSIONFLAG,
|
|
|
|
RC_PRINTPAPERFLAG,
|
2017-06-12 15:24:26 +00:00
|
|
|
RC_PYGMENTIZE_COMMAND,
|
2010-03-26 14:02:56 +00:00
|
|
|
RC_SAVE_COMPRESSED,
|
2015-05-23 15:49:33 +00:00
|
|
|
RC_SAVE_ORIGIN,
|
2005-01-16 21:01:41 +00:00
|
|
|
RC_SCREEN_DPI,
|
|
|
|
RC_SCREEN_FONT_ROMAN,
|
|
|
|
RC_SCREEN_FONT_ROMAN_FOUNDRY,
|
|
|
|
RC_SCREEN_FONT_SANS,
|
|
|
|
RC_SCREEN_FONT_SANS_FOUNDRY,
|
|
|
|
RC_SCREEN_FONT_SCALABLE,
|
|
|
|
RC_SCREEN_FONT_SIZES,
|
|
|
|
RC_SCREEN_FONT_TYPEWRITER,
|
|
|
|
RC_SCREEN_FONT_TYPEWRITER_FOUNDRY,
|
|
|
|
RC_SCREEN_ZOOM,
|
2009-03-27 17:41:58 +00:00
|
|
|
RC_SCROLL_BELOW_DOCUMENT,
|
2010-07-17 22:29:42 +00:00
|
|
|
RC_SCROLL_WHEEL_ZOOM,
|
2005-01-16 21:01:41 +00:00
|
|
|
RC_SERVERPIPE,
|
|
|
|
RC_SET_COLOR,
|
|
|
|
RC_SHOW_BANNER,
|
2009-10-07 09:15:29 +00:00
|
|
|
RC_SINGLE_CLOSE_TAB_BUTTON,
|
2010-11-13 11:55:05 +00:00
|
|
|
RC_SINGLE_INSTANCE,
|
2008-03-10 13:02:57 +00:00
|
|
|
RC_SORT_LAYOUTS,
|
2009-03-29 19:57:30 +00:00
|
|
|
RC_SPELLCHECK_CONTINUOUSLY,
|
2010-02-13 16:22:39 +00:00
|
|
|
RC_SPELLCHECK_NOTES,
|
2009-08-08 17:05:31 +00:00
|
|
|
RC_SPELLCHECKER,
|
2009-04-16 07:29:01 +00:00
|
|
|
RC_SPLITINDEX_COMMAND,
|
2005-01-16 21:01:41 +00:00
|
|
|
RC_TEMPDIRPATH,
|
|
|
|
RC_TEMPLATEPATH,
|
2005-03-25 15:27:30 +00:00
|
|
|
RC_TEX_ALLOWS_SPACES,
|
2006-06-27 10:51:24 +00:00
|
|
|
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
|
|
|
RC_TEXINPUTS_PREFIX,
|
2008-11-16 18:48:25 +00:00
|
|
|
RC_THESAURUSDIRPATH,
|
2005-01-16 21:01:41 +00:00
|
|
|
RC_UIFILE,
|
2008-03-10 13:02:57 +00:00
|
|
|
RC_USELASTFILEPOS,
|
2005-01-16 21:01:41 +00:00
|
|
|
RC_USER_EMAIL,
|
|
|
|
RC_USER_NAME,
|
2006-11-13 10:27:57 +00:00
|
|
|
RC_USE_CONVERTER_CACHE,
|
2016-11-05 00:00:44 +00:00
|
|
|
RC_USE_CONVERTER_NEEDAUTH_FORBIDDEN,
|
|
|
|
RC_USE_CONVERTER_NEEDAUTH,
|
2010-08-08 23:11:02 +00:00
|
|
|
RC_USE_SYSTEM_COLORS,
|
2007-12-26 13:52:56 +00:00
|
|
|
RC_USE_TOOLTIP,
|
2007-11-02 14:43:09 +00:00
|
|
|
RC_USE_PIXMAP_CACHE,
|
2012-05-08 15:55:59 +00:00
|
|
|
RC_USE_SYSTEM_THEME_ICONS,
|
2005-01-16 21:01:41 +00:00
|
|
|
RC_VIEWDVI_PAPEROPTION,
|
|
|
|
RC_VIEWER,
|
2009-09-05 15:11:43 +00:00
|
|
|
RC_VIEWER_ALTERNATIVES,
|
2008-02-10 19:51:23 +00:00
|
|
|
RC_VISUAL_CURSOR,
|
2012-09-15 22:37:55 +00:00
|
|
|
RC_CLOSE_BUFFER_WITH_LAST_VIEW,
|
2005-01-16 21:01:41 +00:00
|
|
|
RC_LAST
|
|
|
|
};
|
2000-10-30 21:53:29 +00:00
|
|
|
|
2000-08-07 20:58:24 +00:00
|
|
|
///
|
1999-09-27 18:44:28 +00:00
|
|
|
LyXRC();
|
|
|
|
///
|
2000-03-12 10:35:05 +00:00
|
|
|
void setDefaults();
|
2011-01-17 15:54:51 +00:00
|
|
|
/// \param check_format: whether to try to convert the file format,
|
|
|
|
/// if it is not current. this should only be true, really, for the
|
|
|
|
/// user's own preferences file.
|
|
|
|
bool read(support::FileName const & filename, bool check_format);
|
2004-03-31 16:50:59 +00:00
|
|
|
///
|
2011-01-16 20:28:43 +00:00
|
|
|
bool read(std::istream &);
|
2011-01-17 15:07:54 +00:00
|
|
|
private:
|
2011-01-16 20:28:43 +00:00
|
|
|
enum ReturnValues {
|
|
|
|
ReadOK,
|
|
|
|
ReadError,
|
|
|
|
FormatMismatch
|
|
|
|
};
|
|
|
|
///
|
2011-01-17 15:54:51 +00:00
|
|
|
ReturnValues read(Lexer &, bool check_format);
|
2004-03-31 16:50:59 +00:00
|
|
|
public:
|
2011-01-16 20:28:43 +00:00
|
|
|
///
|
2009-10-17 22:52:16 +00:00
|
|
|
typedef std::set<std::string> CommandSet;
|
2011-01-16 20:28:43 +00:00
|
|
|
/// maps a format to a set of commands that can be used to
|
2009-10-17 22:52:16 +00:00
|
|
|
/// edit or view it.
|
|
|
|
typedef std::map<std::string, CommandSet> Alternatives;
|
1999-09-27 18:44:28 +00:00
|
|
|
///
|
2006-11-29 21:47:37 +00:00
|
|
|
void write(support::FileName const & filename,
|
2004-04-05 18:21:25 +00:00
|
|
|
bool ignore_system_lyxrc) const;
|
2007-10-11 15:23:52 +00:00
|
|
|
/// write rc. If a specific tag is given, only output that one.
|
2004-04-05 18:21:25 +00:00
|
|
|
void write(std::ostream & os,
|
2011-01-16 20:28:43 +00:00
|
|
|
bool ignore_system_lyxrc,
|
2007-10-11 15:23:52 +00:00
|
|
|
std::string const & tag = std::string()) const;
|
1999-12-01 00:57:31 +00:00
|
|
|
///
|
2004-03-31 16:50:59 +00:00
|
|
|
void print() const;
|
2006-11-11 19:02:27 +00:00
|
|
|
// FIXME unused (was used for xforms. Do we still need this?)
|
|
|
|
//static docstring const getDescription(LyXRCTags);
|
2000-10-30 21:53:29 +00:00
|
|
|
///
|
2003-10-06 15:43:21 +00:00
|
|
|
std::string bind_file;
|
2000-06-12 11:27:15 +00:00
|
|
|
///
|
2007-10-20 23:27:03 +00:00
|
|
|
std::string def_file;
|
|
|
|
///
|
2003-10-06 15:43:21 +00:00
|
|
|
std::string ui_file;
|
2000-07-24 13:53:19 +00:00
|
|
|
///
|
2003-10-06 15:43:21 +00:00
|
|
|
std::string print_landscape_flag;
|
1999-09-27 18:44:28 +00:00
|
|
|
///
|
2003-10-06 15:43:21 +00:00
|
|
|
std::string print_paper_flag;
|
1999-09-27 18:44:28 +00:00
|
|
|
///
|
2003-10-06 15:43:21 +00:00
|
|
|
std::string print_paper_dimension_flag;
|
2000-02-15 13:30:49 +00:00
|
|
|
/// option for telling the dvi viewer about the paper size
|
2003-10-06 15:43:21 +00:00
|
|
|
std::string view_dvi_paper_option;
|
2002-03-21 17:27:08 +00:00
|
|
|
/// default paper size for local xdvi/dvips/ghostview/whatever
|
1999-09-27 18:44:28 +00:00
|
|
|
/// command to run chktex incl. options
|
2003-10-06 15:43:21 +00:00
|
|
|
std::string chktex_command;
|
2009-05-08 10:07:32 +00:00
|
|
|
/// all available commands to run bibtex incl. options
|
2009-10-17 22:52:16 +00:00
|
|
|
CommandSet bibtex_alternatives;
|
2004-03-29 12:11:53 +00:00
|
|
|
/// command to run bibtex incl. options
|
|
|
|
std::string bibtex_command;
|
2009-04-13 09:53:40 +00:00
|
|
|
/// command to run japanese bibtex incl. options
|
|
|
|
std::string jbibtex_command;
|
2017-01-14 11:13:33 +00:00
|
|
|
/// all available commands to run japanese bibtex incl. options
|
|
|
|
CommandSet jbibtex_alternatives;
|
2009-05-08 10:07:32 +00:00
|
|
|
/// all available index commands incl. options
|
2009-10-17 22:52:16 +00:00
|
|
|
CommandSet index_alternatives;
|
2004-10-05 10:11:42 +00:00
|
|
|
/// command to run makeindex incl. options or other index programs
|
|
|
|
std::string index_command;
|
2009-04-13 09:53:40 +00:00
|
|
|
/// command to run japanese index program incl. options
|
|
|
|
std::string jindex_command;
|
2009-04-16 07:29:01 +00:00
|
|
|
/// command to generate multiple indices
|
|
|
|
std::string splitindex_command;
|
2008-08-23 09:44:00 +00:00
|
|
|
/// command to run makeindex incl. options for nomencl
|
|
|
|
std::string nomencl_command;
|
2017-06-12 15:24:26 +00:00
|
|
|
/// command to run the python pygments syntax highlighter
|
|
|
|
std::string pygmentize_command;
|
1999-09-27 18:44:28 +00:00
|
|
|
///
|
2003-10-06 15:43:21 +00:00
|
|
|
std::string document_path;
|
1999-09-27 18:44:28 +00:00
|
|
|
///
|
2007-11-25 18:26:58 +00:00
|
|
|
std::string example_path;
|
|
|
|
///
|
2003-10-06 15:43:21 +00:00
|
|
|
std::string template_path;
|
1999-09-27 18:44:28 +00:00
|
|
|
///
|
2003-10-06 15:43:21 +00:00
|
|
|
std::string tempdir_path;
|
1999-09-27 18:44:28 +00:00
|
|
|
///
|
2008-11-16 18:48:25 +00:00
|
|
|
std::string thesaurusdir_path;
|
|
|
|
///
|
2009-08-08 17:05:31 +00:00
|
|
|
std::string hunspelldir_path;
|
|
|
|
///
|
1999-09-27 18:44:28 +00:00
|
|
|
bool auto_region_delete;
|
2015-02-08 16:41:28 +00:00
|
|
|
/// enable middle-mouse-button paste
|
|
|
|
bool mouse_middlebutton_paste;
|
1999-09-27 18:44:28 +00:00
|
|
|
/// flag telling whether lastfiles should be checked for existance
|
2001-09-21 10:41:09 +00:00
|
|
|
bool auto_reset_options;
|
|
|
|
///
|
1999-09-27 18:44:28 +00:00
|
|
|
bool check_lastfiles;
|
|
|
|
/// maximal number of lastfiles
|
|
|
|
unsigned int num_lastfiles;
|
2006-04-05 22:56:18 +00:00
|
|
|
/// whether or not go to saved position when opening a file
|
|
|
|
bool use_lastfilepos;
|
|
|
|
/// load files from last session automatically
|
|
|
|
bool load_session;
|
2010-03-26 14:02:56 +00:00
|
|
|
/// do we save new documents as compressed by default
|
|
|
|
bool save_compressed;
|
2015-05-23 15:49:33 +00:00
|
|
|
/// whether or not to save the document dir in the file
|
|
|
|
bool save_origin;
|
2000-01-11 01:59:00 +00:00
|
|
|
/// shall a backup file be created
|
|
|
|
bool make_backup;
|
2000-03-20 14:49:54 +00:00
|
|
|
/// A directory for storing backup files
|
2003-10-06 15:43:21 +00:00
|
|
|
std::string backupdir_path;
|
2007-11-15 12:58:44 +00:00
|
|
|
/// Whether or not save/restore session information
|
|
|
|
/// like windows position and geometry.
|
|
|
|
bool allow_geometry_session;
|
2008-01-30 21:20:29 +00:00
|
|
|
/// Scrolling speed of the mouse wheel
|
|
|
|
double mouse_wheel_speed;
|
2017-09-06 16:11:31 +00:00
|
|
|
/// Default zoom factor for screen fonts
|
|
|
|
int defaultZoom;
|
|
|
|
/// Actual zoom factor for screen fonts
|
|
|
|
/// (default zoom plus buffer zoom factor)
|
2016-10-29 08:28:34 +00:00
|
|
|
int currentZoom;
|
1999-09-27 18:44:28 +00:00
|
|
|
/// Screen font sizes in points for each font size
|
2005-01-05 10:54:31 +00:00
|
|
|
std::string font_sizes[10];
|
1999-09-27 18:44:28 +00:00
|
|
|
/// Allow the use of scalable fonts? Default is yes.
|
|
|
|
bool use_scalable_fonts;
|
|
|
|
/// DPI of monitor
|
2005-01-05 10:54:31 +00:00
|
|
|
unsigned int dpi;
|
1999-09-27 18:44:28 +00:00
|
|
|
///
|
2003-10-06 15:43:21 +00:00
|
|
|
std::string fontenc;
|
1999-09-27 18:44:28 +00:00
|
|
|
///
|
2003-10-06 15:43:21 +00:00
|
|
|
std::string roman_font_name;
|
1999-09-27 18:44:28 +00:00
|
|
|
///
|
2003-10-06 15:43:21 +00:00
|
|
|
std::string sans_font_name;
|
1999-09-27 18:44:28 +00:00
|
|
|
///
|
2003-10-06 15:43:21 +00:00
|
|
|
std::string typewriter_font_name;
|
1999-09-27 18:44:28 +00:00
|
|
|
///
|
2003-10-06 15:43:21 +00:00
|
|
|
std::string roman_font_foundry;
|
2002-11-27 21:49:50 +00:00
|
|
|
///
|
2003-10-06 15:43:21 +00:00
|
|
|
std::string sans_font_foundry;
|
2002-11-27 21:49:50 +00:00
|
|
|
///
|
2003-10-06 15:43:21 +00:00
|
|
|
std::string typewriter_font_foundry;
|
2002-11-27 21:49:50 +00:00
|
|
|
///
|
1999-09-27 18:44:28 +00:00
|
|
|
unsigned int autosave;
|
|
|
|
///
|
2007-01-15 22:49:14 +00:00
|
|
|
unsigned int plaintext_linelen;
|
1999-09-27 18:44:28 +00:00
|
|
|
/// Accept compound words in spellchecker?
|
2008-11-15 18:47:25 +00:00
|
|
|
bool spellchecker_accept_compound;
|
2009-08-19 22:46:43 +00:00
|
|
|
/// End of paragraph markers?
|
|
|
|
bool paragraph_markers;
|
2007-12-26 13:52:56 +00:00
|
|
|
/// Use tooltips?
|
|
|
|
bool use_tooltip;
|
2010-08-08 23:11:02 +00:00
|
|
|
/// Use the colors from current system theme?
|
|
|
|
bool use_system_colors;
|
2007-11-02 14:43:09 +00:00
|
|
|
/// Use pixmap cache?
|
|
|
|
bool use_pixmap_cache;
|
2009-08-08 17:05:31 +00:00
|
|
|
/// Spellchecker engine: aspell, hunspell, etc
|
|
|
|
std::string spellchecker;
|
2008-12-09 10:45:29 +00:00
|
|
|
/// Alternate language for spellchecker
|
2008-11-15 18:47:25 +00:00
|
|
|
std::string spellchecker_alt_lang;
|
1999-09-27 18:44:28 +00:00
|
|
|
/// Escape characters
|
2008-11-15 18:47:25 +00:00
|
|
|
std::string spellchecker_esc_chars;
|
2009-03-29 19:57:30 +00:00
|
|
|
/// spellcheck continuously?
|
|
|
|
bool spellcheck_continuously;
|
2010-02-13 16:22:39 +00:00
|
|
|
/// spellcheck notes and comments?
|
|
|
|
bool spellcheck_notes;
|
2012-01-02 22:47:04 +00:00
|
|
|
/// minimum length of words to complete
|
|
|
|
unsigned int completion_minlength;
|
1999-09-27 18:44:28 +00:00
|
|
|
///
|
|
|
|
bool use_kbmap;
|
|
|
|
///
|
2003-10-06 15:43:21 +00:00
|
|
|
std::string primary_kbmap;
|
1999-09-27 18:44:28 +00:00
|
|
|
///
|
2003-10-06 15:43:21 +00:00
|
|
|
std::string secondary_kbmap;
|
1999-09-27 18:44:28 +00:00
|
|
|
///
|
2003-10-06 15:43:21 +00:00
|
|
|
std::string lyxpipes;
|
2000-02-01 11:32:33 +00:00
|
|
|
///
|
2003-10-06 15:43:21 +00:00
|
|
|
std::string date_insert_format;
|
2000-03-10 13:22:20 +00:00
|
|
|
///
|
2010-11-20 13:34:14 +00:00
|
|
|
std::string language_custom_package;
|
2000-03-10 13:22:20 +00:00
|
|
|
///
|
2000-03-17 10:14:46 +00:00
|
|
|
bool language_auto_begin;
|
2000-03-10 13:22:20 +00:00
|
|
|
///
|
2000-03-17 10:14:46 +00:00
|
|
|
bool language_auto_end;
|
2000-03-10 13:22:20 +00:00
|
|
|
///
|
2003-10-06 15:43:21 +00:00
|
|
|
std::string language_command_begin;
|
2000-03-10 13:22:20 +00:00
|
|
|
///
|
2003-10-06 15:43:21 +00:00
|
|
|
std::string language_command_end;
|
2000-02-03 19:51:27 +00:00
|
|
|
///
|
2003-10-06 15:43:21 +00:00
|
|
|
std::string language_command_local;
|
2001-02-25 10:22:54 +00:00
|
|
|
///
|
2002-03-21 17:27:08 +00:00
|
|
|
bool language_global_options;
|
2001-02-25 10:22:54 +00:00
|
|
|
///
|
2010-11-20 13:34:14 +00:00
|
|
|
enum LangPackageSelection {
|
|
|
|
LP_AUTO = 0,
|
|
|
|
LP_BABEL,
|
|
|
|
LP_CUSTOM,
|
|
|
|
LP_NONE
|
|
|
|
};
|
|
|
|
///
|
|
|
|
LangPackageSelection language_package_selection;
|
2008-02-10 19:51:23 +00:00
|
|
|
/// bidi cursor movement: true = visual, false = logical
|
|
|
|
bool visual_cursor;
|
2000-03-06 02:42:40 +00:00
|
|
|
///
|
2000-04-10 21:40:13 +00:00
|
|
|
bool auto_number;
|
2000-03-17 10:14:46 +00:00
|
|
|
///
|
2000-05-30 19:31:11 +00:00
|
|
|
bool mark_foreign_language;
|
2000-03-12 10:35:05 +00:00
|
|
|
///
|
2008-06-24 12:55:40 +00:00
|
|
|
std::string gui_language;
|
|
|
|
///
|
2013-06-01 14:58:34 +00:00
|
|
|
std::string default_otf_view_format;
|
|
|
|
///
|
2009-04-07 05:01:08 +00:00
|
|
|
std::string default_view_format;
|
2009-09-05 15:11:43 +00:00
|
|
|
/// all available viewers
|
2009-10-17 22:52:16 +00:00
|
|
|
Alternatives viewer_alternatives;
|
2009-09-05 15:11:43 +00:00
|
|
|
/// all available editors
|
2009-10-17 22:52:16 +00:00
|
|
|
Alternatives editor_alternatives;
|
2009-04-07 05:01:08 +00:00
|
|
|
///
|
2010-09-19 22:00:25 +00:00
|
|
|
bool mac_dontswap_ctrl_meta;
|
|
|
|
///
|
2013-05-25 16:02:21 +00:00
|
|
|
bool mac_like_cursor_movement;
|
2008-07-01 14:42:32 +00:00
|
|
|
///
|
2000-10-10 14:17:33 +00:00
|
|
|
bool cursor_follows_scrollbar;
|
2000-12-11 09:46:09 +00:00
|
|
|
///
|
2009-03-27 17:41:58 +00:00
|
|
|
bool scroll_below_document;
|
|
|
|
///
|
2008-01-25 22:02:38 +00:00
|
|
|
enum MacroEditStyle {
|
|
|
|
MACRO_EDIT_INLINE_BOX = 0,
|
|
|
|
MACRO_EDIT_INLINE,
|
|
|
|
MACRO_EDIT_LIST
|
|
|
|
};
|
|
|
|
///
|
|
|
|
MacroEditStyle macro_edit_style;
|
2008-01-22 21:23:41 +00:00
|
|
|
///
|
2001-09-07 10:11:02 +00:00
|
|
|
bool dialogs_iconify_with_main;
|
|
|
|
///
|
2008-06-13 07:34:55 +00:00
|
|
|
bool display_graphics;
|
2002-06-26 08:59:25 +00:00
|
|
|
///
|
|
|
|
bool show_banner;
|
|
|
|
///
|
2004-04-19 13:31:17 +00:00
|
|
|
enum PreviewStatus {
|
|
|
|
PREVIEW_OFF,
|
|
|
|
PREVIEW_NO_MATH,
|
|
|
|
PREVIEW_ON
|
|
|
|
};
|
|
|
|
///
|
|
|
|
PreviewStatus preview;
|
2002-07-10 09:09:37 +00:00
|
|
|
///
|
|
|
|
bool preview_hashed_labels;
|
|
|
|
///
|
2009-09-21 00:44:43 +00:00
|
|
|
double preview_scale_factor;
|
2003-02-08 19:18:01 +00:00
|
|
|
/// user name
|
2003-10-06 15:43:21 +00:00
|
|
|
std::string user_name;
|
2003-02-08 19:18:01 +00:00
|
|
|
/// user email
|
2003-10-06 15:43:21 +00:00
|
|
|
std::string user_email;
|
2011-03-25 01:59:34 +00:00
|
|
|
/// icon set name
|
|
|
|
std::string icon_set;
|
2012-05-08 15:55:59 +00:00
|
|
|
/// whether to use the icons from the theme
|
|
|
|
bool use_system_theme_icons;
|
2006-06-27 10:51:24 +00:00
|
|
|
/// True if the TeX engine cannot handle posix paths
|
|
|
|
bool windows_style_tex_paths;
|
2005-03-25 15:27:30 +00:00
|
|
|
/// True if the TeX engine can handle file names containing spaces
|
|
|
|
bool tex_allows_spaces;
|
2005-01-16 21:01:41 +00:00
|
|
|
/** Prepend paths to the PATH environment variable.
|
|
|
|
* The string is input, stored and output in native format.
|
|
|
|
*/
|
|
|
|
std::string path_prefix;
|
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
|
|
|
/** Prepend paths to the TEXINPUTS environment variable.
|
|
|
|
* The string is input, stored and output in native format.
|
|
|
|
* A '.' here stands for the current document directory.
|
|
|
|
*/
|
|
|
|
std::string texinputs_prefix;
|
2006-11-13 10:27:57 +00:00
|
|
|
/// Use the cache for file converters?
|
|
|
|
bool use_converter_cache;
|
2016-11-05 00:00:44 +00:00
|
|
|
/// Forbid use of external converters with 'needauth' option
|
|
|
|
bool use_converter_needauth_forbidden;
|
|
|
|
/// Ask user before calling external converters with 'needauth' option
|
|
|
|
bool use_converter_needauth;
|
2006-11-13 10:27:57 +00:00
|
|
|
/// The maximum age of cache files in seconds
|
|
|
|
unsigned int converter_cache_maxage;
|
2007-11-10 00:21:42 +00:00
|
|
|
/// Sort layouts alphabetically
|
|
|
|
bool sort_layouts;
|
2008-03-10 13:02:57 +00:00
|
|
|
/// Group layout by their category
|
|
|
|
bool group_layouts;
|
2008-02-19 21:51:55 +00:00
|
|
|
/// Toggle toolbars in fullscreen mode?
|
|
|
|
bool full_screen_toolbars;
|
|
|
|
/// Toggle scrollbar in fullscreen mode?
|
|
|
|
bool full_screen_scrollbar;
|
|
|
|
/// Toggle tabbar in fullscreen mode?
|
|
|
|
bool full_screen_tabbar;
|
2009-05-26 21:41:45 +00:00
|
|
|
/// Toggle menubar in fullscreen mode?
|
|
|
|
bool full_screen_menubar;
|
2014-02-26 01:48:56 +00:00
|
|
|
/// Toggle statusbar in fullscreen mode?
|
|
|
|
bool full_screen_statusbar;
|
2008-02-19 21:51:55 +00:00
|
|
|
/// Limit the text width?
|
|
|
|
bool full_screen_limit;
|
|
|
|
/// Width of limited screen (in pixels) in fullscreen mode
|
|
|
|
int full_screen_width;
|
2008-02-21 19:42:34 +00:00
|
|
|
///
|
2008-03-16 17:07:10 +00:00
|
|
|
bool completion_cursor_text;
|
|
|
|
///
|
2008-02-21 19:42:34 +00:00
|
|
|
double completion_inline_delay;
|
|
|
|
///
|
|
|
|
bool completion_inline_math;
|
|
|
|
///
|
|
|
|
bool completion_inline_text;
|
|
|
|
///
|
|
|
|
int completion_inline_dots;
|
|
|
|
///
|
2009-01-15 09:48:00 +00:00
|
|
|
bool autocorrection_math;
|
|
|
|
///
|
2008-02-21 19:42:34 +00:00
|
|
|
double completion_popup_delay;
|
|
|
|
///
|
|
|
|
bool completion_popup_math;
|
|
|
|
///
|
|
|
|
bool completion_popup_text;
|
|
|
|
///
|
|
|
|
bool completion_popup_after_complete;
|
2008-03-14 23:27:31 +00:00
|
|
|
///
|
|
|
|
bool open_buffers_in_tabs;
|
2009-10-05 23:06:29 +00:00
|
|
|
///
|
|
|
|
bool single_close_tab_button;
|
2010-04-15 13:19:48 +00:00
|
|
|
///
|
2010-11-13 11:55:05 +00:00
|
|
|
bool single_instance;
|
|
|
|
///
|
2010-04-15 23:32:52 +00:00
|
|
|
std::string forward_search_dvi;
|
|
|
|
///
|
|
|
|
std::string forward_search_pdf;
|
2010-04-20 16:49:49 +00:00
|
|
|
///
|
|
|
|
int export_overwrite;
|
2010-06-05 07:44:44 +00:00
|
|
|
/// Default decimal point when aligning table columns on decimal
|
|
|
|
std::string default_decimal_point;
|
2010-07-17 22:29:42 +00:00
|
|
|
///
|
2011-10-27 11:52:11 +00:00
|
|
|
Length::UNIT default_length_unit;
|
|
|
|
///
|
2010-07-17 22:29:42 +00:00
|
|
|
enum ScrollWheelZoom {
|
|
|
|
SCROLL_WHEEL_ZOOM_OFF,
|
|
|
|
SCROLL_WHEEL_ZOOM_CTRL,
|
|
|
|
SCROLL_WHEEL_ZOOM_SHIFT,
|
2010-07-18 10:04:59 +00:00
|
|
|
SCROLL_WHEEL_ZOOM_ALT
|
2010-07-17 22:29:42 +00:00
|
|
|
};
|
|
|
|
///
|
2010-07-22 14:51:35 +00:00
|
|
|
ScrollWheelZoom scroll_wheel_zoom;
|
2011-03-11 06:11:55 +00:00
|
|
|
///
|
|
|
|
int cursor_width;
|
2012-09-15 22:37:55 +00:00
|
|
|
/// One of: yes, no, ask
|
|
|
|
std::string close_buffer_with_last_view;
|
1999-09-27 18:44:28 +00:00
|
|
|
};
|
|
|
|
|
2004-04-19 13:31:17 +00:00
|
|
|
|
2009-10-03 19:37:29 +00:00
|
|
|
void actOnUpdatedPrefs(LyXRC const & lyxrc_orig, LyXRC const & lyxrc_new);
|
2004-04-19 13:31:17 +00:00
|
|
|
|
2000-08-07 20:58:24 +00:00
|
|
|
///
|
2000-03-12 10:35:05 +00:00
|
|
|
extern LyXRC lyxrc;
|
2000-08-14 05:24:35 +00:00
|
|
|
///
|
2000-10-10 14:17:33 +00:00
|
|
|
extern LyXRC system_lyxrc;
|
2006-10-21 00:16:43 +00:00
|
|
|
|
2008-09-22 07:42:57 +00:00
|
|
|
// used by at least frontends/qt4/GuiPref.cpp
|
2016-01-13 01:30:05 +00:00
|
|
|
const long maxlastfiles = 50;
|
2008-09-22 07:42:57 +00:00
|
|
|
|
2006-10-21 00:16:43 +00:00
|
|
|
} // namespace lyx
|
|
|
|
|
1999-09-27 18:44:28 +00:00
|
|
|
#endif
|