#ifndef LYXRC_H
#define LYXRC_H
-#include "Length.h"
#include "LyX.h"
+#include "support/Length.h"
#include "support/strfwd.h"
#include "support/userinfo.h"
namespace lyx {
-namespace support { class FileName; }
-
+namespace support {
+class FileName;
class Lexer;
+}
/// This contains the runtime configuration of LyX
class LyXRC
RC_BIBTEX_ALTERNATIVES,
RC_BIBTEX_COMMAND,
RC_BINDFILE,
+ RC_BOOKMARKS_VISIBILITY,
RC_CHECKLASTFILES,
RC_CHKTEX_COMMAND,
+ RC_CITATION_SEARCH,
+ RC_CITATION_SEARCH_PATTERN,
+ RC_CITATION_SEARCH_VIEW,
RC_COMPLETION_CURSOR_TEXT,
RC_COMPLETION_INLINE_DELAY,
RC_COMPLETION_INLINE_MATH,
RC_CONVERTER,
RC_CONVERTER_CACHE_MAXAGE,
RC_COPIER,
+ RC_CT_ADDITIONS_UNDERLINED,
+ RC_CT_MARKUP_COPIED,
RC_CURSOR_FOLLOWS_SCROLLBAR,
RC_CURSOR_WIDTH,
RC_DEFAULT_DECIMAL_SEP,
RC_FILEFORMAT,
RC_FORWARD_SEARCH_DVI,
RC_FORWARD_SEARCH_PDF,
- RC_FULL_SCREEN_LIMIT,
+ RC_SCREEN_LIMIT,
RC_FULL_SCREEN_SCROLLBAR,
RC_FULL_SCREEN_STATUSBAR,
RC_FULL_SCREEN_TABBAR,
RC_FULL_SCREEN_MENUBAR,
RC_FULL_SCREEN_TOOLBARS,
- RC_FULL_SCREEN_WIDTH,
+ RC_SCREEN_WIDTH,
RC_GEOMETRY_SESSION,
RC_GROUP_LAYOUTS,
RC_GUI_LANGUAGE,
RC_TEXINPUTS_PREFIX,
RC_THESAURUSDIRPATH,
RC_UIFILE,
+ RC_UI_STYLE,
RC_USELASTFILEPOS,
RC_USER_EMAIL,
+ RC_USER_INITIALS,
RC_USER_NAME,
RC_USE_CONVERTER_CACHE,
RC_USE_CONVERTER_NEEDAUTH_FORBIDDEN,
RC_VIEWER_ALTERNATIVES,
RC_VISUAL_CURSOR,
RC_CLOSE_BUFFER_WITH_LAST_VIEW,
+ RC_DRAW_STRATEGY,
RC_LAST
};
///
LyXRC() : user_name(support::user_name()),
user_email(support::user_email()) // always empty
- {};
+ {}
/// \param check_format: whether to try to convert the file format,
/// if it is not current. this should only be true, really, for the
FormatMismatch
};
///
- ReturnValues read(Lexer &, bool check_format);
+ ReturnValues read(support::Lexer &, bool check_format);
public:
///
typedef std::set<std::string> CommandSet;
/// default paper size for local xdvi/dvips/ghostview/whatever
/// command to run chktex incl. options
std::string chktex_command = "chktex -n1 -n3 -n6 -n9 -n22 -n25 -n30 -n38";
+ /// Use external script to search for file corresponding to a
+ /// given citation.
+ bool citation_search = false;
+ /// Name of external script which searches for file corresponding to a
+ /// given citation. At this moment only script lyxpaperview.py is supported
+ /// (search for pdf or ps based on specific items)
+ std::string citation_search_view;
+ /// Items to search for in citation_search_view
+ std::string citation_search_pattern = "%year% %abbrvciteauthor%";
/// all available commands to run bibtex incl. options
CommandSet bibtex_alternatives;
/// command to run bibtex incl. options
int defaultZoom = 150;
/// Actual zoom factor for screen fonts
/// (default zoom plus buffer zoom factor)
+ /// Do not set directly. Use GuiView::setCurrentZoom()
int currentZoom = 150;
/// Screen font sizes in points for each font size
std::string font_sizes[10] = { "5.0", "7.0", "8.0", "9.0", "10.0",
/// Accept compound words in spellchecker?
bool spellchecker_accept_compound = false;
/// spellcheck continuously?
- bool spellcheck_continuously = false;
+ bool spellcheck_continuously = true;
/// spellcheck notes and comments?
bool spellcheck_notes = true;
- /// minimum length of words to complete
- unsigned int completion_minlength = 6;
///
bool use_kbmap = false;
///
///
bool cursor_follows_scrollbar = false;
///
+ bool ct_additions_underlined = true;
+ ///
+ bool ct_markup_copied = false;
+ ///
bool scroll_below_document = false;
///
enum MacroEditStyle {
std::string user_name; // set in constructor
/// user email
std::string user_email; // set in constructor (empty for now)
+ /// user initials
+ std::string user_initials;
/// icon set name
std::string icon_set;
+ /// ui style name
+ std::string ui_style = "default";
/// whether to use the icons from the theme
bool use_system_theme_icons = false;
/// True if the TeX engine cannot handle posix paths
/// Toggle statusbar in fullscreen mode?
bool full_screen_statusbar = true;
/// Limit the text width?
- bool full_screen_limit = false;
- /// Width of limited screen (in pixels) in fullscreen mode
- int full_screen_width = 700;
+ bool screen_limit = false;
+ /// Width of limited screen width
+ Length screen_width = Length(7, Length::IN);
///
bool completion_cursor_text = true;
///
bool completion_inline_text = false;
///
int completion_inline_dots = -1;
+ /// minimum length of words to complete
+ unsigned int completion_minlength = 6;
///
double completion_popup_delay = 2.0;
///
};
///
ScrollWheelZoom scroll_wheel_zoom = SCROLL_WHEEL_ZOOM_CTRL;
+ // FIXME: should be caret_width
///
- int cursor_width = 1;
+ int cursor_width = 0;
/// One of: yes, no, ask
std::string close_buffer_with_last_view = "yes";
+ enum BookmarksVisibility {
+ BMK_NONE,
+ BMK_MARGIN,
+ BMK_INLINE
+ };
+
+ ///
+ BookmarksVisibility bookmarks_visibility = BMK_NONE;
+
+ enum DrawStrategy {
+ // draw all
+ DS_FULL,
+ // draw only what has changed
+ DS_PARTIAL,
+ // draw in backing store (only what has changed)
+ DS_BACKINGSTORE
+ };
+ ///
+ DrawStrategy draw_strategy = DS_PARTIAL;
};