X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLyXRC.h;h=38fcd3739490f3f220d750ffbf684ab5c9a9c707;hb=28be7d552f62cc02fa86d7f79201d089bfb2d7b5;hp=4d4dcf6c5f7dd5b6429a12e3270ccdea396522be;hpb=dfb67984f24f4fa2a43efcd1cf40f109bf9bfaf0;p=lyx.git diff --git a/src/LyXRC.h b/src/LyXRC.h index 4d4dcf6c5f..38fcd37394 100644 --- a/src/LyXRC.h +++ b/src/LyXRC.h @@ -18,14 +18,13 @@ #ifndef LYXRC_H #define LYXRC_H -#include "paper.h" +#include "Length.h" #include "support/strfwd.h" #include #include #include -#include namespace lyx { @@ -57,6 +56,7 @@ public: RC_COMPLETION_INLINE_MATH, RC_COMPLETION_INLINE_TEXT, RC_COMPLETION_INLINE_DOTS, + RC_COMPLETION_MINLENGTH, RC_COMPLETION_POPUP_DELAY, RC_COMPLETION_POPUP_MATH, RC_COMPLETION_POPUP_TEXT, @@ -65,11 +65,12 @@ public: RC_CONVERTER_CACHE_MAXAGE, RC_COPIER, RC_CURSOR_FOLLOWS_SCROLLBAR, + RC_CURSOR_WIDTH, RC_DATE_INSERT_FORMAT, RC_DEFAULT_DECIMAL_POINT, - RC_DEFAULT_LANGUAGE, + RC_DEFAULT_LENGTH_UNIT, + RC_DEFAULT_OTF_VIEW_FORMAT, RC_DEFAULT_VIEW_FORMAT, - RC_DEFAULT_PAPERSIZE, RC_DEFFILE, RC_DIALOGS_ICONIFY_WITH_MAIN, RC_DISPLAY_GRAPHICS, @@ -84,6 +85,7 @@ public: RC_FORWARD_SEARCH_PDF, RC_FULL_SCREEN_LIMIT, RC_FULL_SCREEN_SCROLLBAR, + RC_FULL_SCREEN_STATUSBAR, RC_FULL_SCREEN_TABBAR, RC_FULL_SCREEN_MENUBAR, RC_FULL_SCREEN_TOOLBARS, @@ -92,9 +94,11 @@ public: RC_GROUP_LAYOUTS, RC_GUI_LANGUAGE, RC_HUNSPELLDIR_PATH, + RC_ICON_SET, RC_INDEX_ALTERNATIVES, RC_INDEX_COMMAND, RC_INPUT, + RC_JBIBTEX_ALTERNATIVES, RC_JBIBTEX_COMMAND, RC_JINDEX_COMMAND, RC_KBMAP, @@ -112,10 +116,11 @@ public: RC_LYXRCFORMAT, RC_MACRO_EDIT_STYLE, RC_MAC_DONTSWAP_CTRL_META, - RC_MAC_LIKE_WORD_MOVEMENT, + RC_MAC_LIKE_CURSOR_MOVEMENT, RC_MAKE_BACKUP, RC_MARK_FOREIGN_LANGUAGE, RC_MOUSE_WHEEL_SPEED, + RC_MOUSE_MIDDLEBUTTON_PASTE, RC_NOMENCL_COMMAND, RC_NUMLASTFILES, RC_OPEN_BUFFERS_IN_TABS, @@ -125,26 +130,12 @@ public: RC_PREVIEW, RC_PREVIEW_HASHED_LABELS, RC_PREVIEW_SCALE_FACTOR, - RC_PRINTCOLLCOPIESFLAG, - RC_PRINTCOPIESFLAG, - RC_PRINTER, - RC_PRINTEVENPAGEFLAG, - RC_PRINTEXSTRAOPTIONS, - RC_PRINTFILEEXTENSION, RC_PRINTLANDSCAPEFLAG, - RC_PRINTODDPAGEFLAG, - RC_PRINTPAGERANGEFLAG, RC_PRINTPAPERDIMENSIONFLAG, RC_PRINTPAPERFLAG, - RC_PRINTREVERSEFLAG, - RC_PRINTSPOOL_COMMAND, - RC_PRINTSPOOL_PRINTERPREFIX, - RC_PRINTTOFILE, - RC_PRINTTOPRINTER, - RC_PRINT_ADAPTOUTPUT, - RC_PRINT_COMMAND, - RC_RTL_SUPPORT, + RC_PYGMENTIZE_COMMAND, RC_SAVE_COMPRESSED, + RC_SAVE_ORIGIN, RC_SCREEN_DPI, RC_SCREEN_FONT_ROMAN, RC_SCREEN_FONT_ROMAN_FOUNDRY, @@ -171,19 +162,25 @@ public: RC_TEMPLATEPATH, RC_TEX_ALLOWS_SPACES, RC_TEX_EXPECTS_WINDOWS_PATHS, + RC_TEXINPUTS_PREFIX, RC_THESAURUSDIRPATH, RC_UIFILE, RC_USELASTFILEPOS, RC_USER_EMAIL, RC_USER_NAME, RC_USE_CONVERTER_CACHE, + RC_USE_CONVERTER_NEEDAUTH_FORBIDDEN, + RC_USE_CONVERTER_NEEDAUTH, RC_USE_SYSTEM_COLORS, RC_USE_TOOLTIP, RC_USE_PIXMAP_CACHE, + RC_USE_QIMAGE, + RC_USE_SYSTEM_THEME_ICONS, RC_VIEWDVI_PAPEROPTION, RC_VIEWER, RC_VIEWER_ALTERNATIVES, RC_VISUAL_CURSOR, + RC_CLOSE_BUFFER_WITH_LAST_VIEW, RC_LAST }; @@ -191,21 +188,20 @@ public: LyXRC(); /// void setDefaults(); - /// - bool read(support::FileName const & filename); + /// \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); /// bool read(std::istream &); private: enum ReturnValues { ReadOK, - FileError, ReadError, FormatMismatch }; /// - ReturnValues readWithoutConv(support::FileName const &); - /// - ReturnValues read(Lexer &); + ReturnValues read(Lexer &, bool check_format); public: /// typedef std::set CommandSet; @@ -230,45 +226,14 @@ public: /// std::string ui_file; /// - std::string printer; - /// - std::string print_command; - /// - std::string print_evenpage_flag; - /// - std::string print_oddpage_flag; - /// - std::string print_pagerange_flag; - /// - std::string print_copies_flag; - /// - std::string print_collcopies_flag; - /// - std::string print_reverse_flag; - /// std::string print_landscape_flag; /// - std::string print_to_printer; - /// - bool print_adapt_output; - /// - std::string print_to_file; - /// - std::string print_file_extension; - /// - std::string print_extra_options; - /// - std::string print_spool_command; - /// - std::string print_spool_printerprefix; - /// std::string print_paper_flag; /// std::string print_paper_dimension_flag; /// option for telling the dvi viewer about the paper size std::string view_dvi_paper_option; /// default paper size for local xdvi/dvips/ghostview/whatever - PAPER_SIZE default_papersize; /// command to run chktex incl. options std::string chktex_command; /// all available commands to run bibtex incl. options @@ -277,6 +242,8 @@ public: std::string bibtex_command; /// command to run japanese bibtex incl. options std::string jbibtex_command; + /// all available commands to run japanese bibtex incl. options + CommandSet jbibtex_alternatives; /// all available index commands incl. options CommandSet index_alternatives; /// command to run makeindex incl. options or other index programs @@ -287,6 +254,8 @@ public: std::string splitindex_command; /// command to run makeindex incl. options for nomencl std::string nomencl_command; + /// command to run the python pygments syntax highlighter + std::string pygmentize_command; /// std::string document_path; /// @@ -301,6 +270,8 @@ public: std::string hunspelldir_path; /// bool auto_region_delete; + /// enable middle-mouse-button paste + bool mouse_middlebutton_paste; /// flag telling whether lastfiles should be checked for existance bool auto_reset_options; /// @@ -313,6 +284,8 @@ public: bool load_session; /// do we save new documents as compressed by default bool save_compressed; + /// whether or not to save the document dir in the file + bool save_origin; /// shall a backup file be created bool make_backup; /// A directory for storing backup files @@ -323,7 +296,9 @@ public: /// Scrolling speed of the mouse wheel double mouse_wheel_speed; /// Zoom factor for screen fonts - unsigned int zoom; + int zoom; + /// Current zoom factor for screen fonts + int currentZoom; /// Screen font sizes in points for each font size std::string font_sizes[10]; /// Allow the use of scalable fonts? Default is yes. @@ -358,6 +333,8 @@ public: bool use_system_colors; /// Use pixmap cache? bool use_pixmap_cache; + /// Use QImage backend? + bool use_qimage; /// Spellchecker engine: aspell, hunspell, etc std::string spellchecker; /// Alternate language for spellchecker @@ -368,6 +345,8 @@ public: bool spellcheck_continuously; /// spellcheck notes and comments? bool spellcheck_notes; + /// minimum length of words to complete + unsigned int completion_minlength; /// bool use_kbmap; /// @@ -401,8 +380,6 @@ public: }; /// LangPackageSelection language_package_selection; - /// - bool rtl_support; /// bidi cursor movement: true = visual, false = logical bool visual_cursor; /// @@ -410,10 +387,10 @@ public: /// bool mark_foreign_language; /// - std::string default_language; - /// std::string gui_language; /// + std::string default_otf_view_format; + /// std::string default_view_format; /// all available viewers Alternatives viewer_alternatives; @@ -422,7 +399,7 @@ public: /// bool mac_dontswap_ctrl_meta; /// - bool mac_like_word_movement; + bool mac_like_cursor_movement; /// bool cursor_follows_scrollbar; /// @@ -457,6 +434,10 @@ public: std::string user_name; /// user email std::string user_email; + /// icon set name + std::string icon_set; + /// whether to use the icons from the theme + bool use_system_theme_icons; /// True if the TeX engine cannot handle posix paths bool windows_style_tex_paths; /// True if the TeX engine can handle file names containing spaces @@ -465,8 +446,17 @@ public: * The string is input, stored and output in native format. */ std::string path_prefix; + /** 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; /// Use the cache for file converters? bool use_converter_cache; + /// 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; /// The maximum age of cache files in seconds unsigned int converter_cache_maxage; /// Sort layouts alphabetically @@ -481,6 +471,8 @@ public: bool full_screen_tabbar; /// Toggle menubar in fullscreen mode? bool full_screen_menubar; + /// Toggle statusbar in fullscreen mode? + bool full_screen_statusbar; /// Limit the text width? bool full_screen_limit; /// Width of limited screen (in pixels) in fullscreen mode @@ -520,6 +512,8 @@ public: /// Default decimal point when aligning table columns on decimal std::string default_decimal_point; /// + Length::UNIT default_length_unit; + /// enum ScrollWheelZoom { SCROLL_WHEEL_ZOOM_OFF, SCROLL_WHEEL_ZOOM_CTRL, @@ -528,20 +522,13 @@ public: }; /// ScrollWheelZoom scroll_wheel_zoom; + /// + int cursor_width; + /// One of: yes, no, ask + std::string close_buffer_with_last_view; }; -/** \c LyXRC_PreviewStatus is a wrapper for LyXRC::PreviewStatus. - * It can be forward-declared and passed as a function argument without - * having to expose LyXRC.h. - */ -class LyXRC_PreviewStatus { - LyXRC::PreviewStatus val_; -public: - LyXRC_PreviewStatus(LyXRC::PreviewStatus val) : val_(val) {} - operator LyXRC::PreviewStatus() const { return val_; } -}; - void actOnUpdatedPrefs(LyXRC const & lyxrc_orig, LyXRC const & lyxrc_new); /// @@ -550,7 +537,7 @@ extern LyXRC lyxrc; extern LyXRC system_lyxrc; // used by at least frontends/qt4/GuiPref.cpp -const long maxlastfiles = 20; +const long maxlastfiles = 50; } // namespace lyx