X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLyXRC.h;h=3567bae6ea4e196b0b07844a60443b020cd1dfc4;hb=dad3c8ce74d1ebea92973bea5ca44f97d660d38e;hp=5a2a94bc5fc0d7425898b0cd02b2bad37414960a;hpb=87bd0e79ad5fdbac1ee254601d28eb7cc5511a2b;p=lyx.git diff --git a/src/LyXRC.h b/src/LyXRC.h index 5a2a94bc5f..3567bae6ea 100644 --- a/src/LyXRC.h +++ b/src/LyXRC.h @@ -4,11 +4,11 @@ * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * - * \author Lars Gullik Bjønnes + * \author Lars Gullik Bjønnes * \author Jean-Marc Lasgouttes * \author Angus Leeming * \author John Levon - * \author André Pönitz + * \author André Pönitz * \author Allan Rae * \author Dekel Tsur * @@ -22,7 +22,10 @@ #include "support/strfwd.h" +#include +#include #include +#include namespace lyx { @@ -38,39 +41,65 @@ public: enum LyXRCTags { RC_ACCEPT_COMPOUND = 1, RC_ALT_LANG, - RC_PLAINTEXT_ROFF_COMMAND, - RC_PLAINTEXT_LINELEN, + RC_AUTOCORRECTION_MATH, RC_AUTOREGIONDELETE, RC_AUTORESET_OPTIONS, RC_AUTOSAVE, RC_AUTO_NUMBER, RC_BACKUPDIR_PATH, + RC_BIBTEX_ALTERNATIVES, RC_BIBTEX_COMMAND, RC_BINDFILE, RC_CHECKLASTFILES, RC_CHKTEX_COMMAND, + RC_COMPLETION_CURSOR_TEXT, + RC_COMPLETION_INLINE_DELAY, + RC_COMPLETION_INLINE_MATH, + RC_COMPLETION_INLINE_TEXT, + RC_COMPLETION_INLINE_DOTS, + RC_COMPLETION_POPUP_DELAY, + RC_COMPLETION_POPUP_MATH, + RC_COMPLETION_POPUP_TEXT, + RC_COMPLETION_POPUP_AFTER_COMPLETE, RC_CONVERTER, RC_CONVERTER_CACHE_MAXAGE, RC_COPIER, RC_CURSOR_FOLLOWS_SCROLLBAR, - RC_CUSTOM_EXPORT_COMMAND, - RC_CUSTOM_EXPORT_FORMAT, RC_DATE_INSERT_FORMAT, - RC_DEFFILE, + RC_DEFAULT_DECIMAL_POINT, RC_DEFAULT_LANGUAGE, + RC_DEFAULT_VIEW_FORMAT, RC_DEFAULT_PAPERSIZE, + RC_DEFFILE, RC_DIALOGS_ICONIFY_WITH_MAIN, RC_DISPLAY_GRAPHICS, RC_DOCUMENTPATH, + RC_EDITOR_ALTERNATIVES, RC_ESC_CHARS, + RC_EXAMPLEPATH, + RC_EXPORT_OVERWRITE, RC_FONT_ENCODING, RC_FORMAT, + RC_FORWARD_SEARCH_DVI, + RC_FORWARD_SEARCH_PDF, + RC_FULL_SCREEN_LIMIT, + RC_FULL_SCREEN_SCROLLBAR, + RC_FULL_SCREEN_TABBAR, + RC_FULL_SCREEN_MENUBAR, + RC_FULL_SCREEN_TOOLBARS, + RC_FULL_SCREEN_WIDTH, + RC_GEOMETRY_SESSION, + RC_GROUP_LAYOUTS, + RC_GUI_LANGUAGE, + RC_HUNSPELLDIR_PATH, + RC_INDEX_ALTERNATIVES, RC_INDEX_COMMAND, RC_INPUT, + RC_JBIBTEX_COMMAND, + RC_JINDEX_COMMAND, RC_KBMAP, RC_KBMAP_PRIMARY, RC_KBMAP_SECONDARY, - RC_LABEL_INIT_LENGTH, RC_LANGUAGE_AUTO_BEGIN, RC_LANGUAGE_AUTO_END, RC_LANGUAGE_COMMAND_BEGIN, @@ -79,14 +108,21 @@ public: RC_LANGUAGE_GLOBAL_OPTIONS, RC_LANGUAGE_PACKAGE, RC_LANGUAGE_USE_BABEL, - RC_SORT_LAYOUTS, - RC_USELASTFILEPOS, RC_LOADSESSION, + RC_MACRO_EDIT_STYLE, + RC_MAC_DONTSWAP_CTRL_META, + RC_MAC_LIKE_WORD_MOVEMENT, RC_MAKE_BACKUP, RC_MARK_FOREIGN_LANGUAGE, + RC_MOUSE_WHEEL_SPEED, + RC_NOMENCL_COMMAND, RC_NUMLASTFILES, + RC_OPEN_BUFFERS_IN_TABS, + RC_PARAGRAPH_MARKERS, RC_PATH_PREFIX, RC_PERS_DICT, + RC_PLAINTEXT_LINELEN, + RC_PLAINTEXT_ROFF_COMMAND, RC_PREVIEW, RC_PREVIEW_HASHED_LABELS, RC_PREVIEW_SCALE_FACTOR, @@ -109,6 +145,7 @@ public: RC_PRINT_ADAPTOUTPUT, RC_PRINT_COMMAND, RC_RTL_SUPPORT, + RC_SAVE_COMPRESSED, RC_SCREEN_DPI, RC_SCREEN_FONT_ROMAN, RC_SCREEN_FONT_ROMAN_FOUNDRY, @@ -118,19 +155,26 @@ public: RC_SCREEN_FONT_SIZES, RC_SCREEN_FONT_TYPEWRITER, RC_SCREEN_FONT_TYPEWRITER_FOUNDRY, - RC_SCREEN_GEOMETRY_HEIGHT, - RC_SCREEN_GEOMETRY_WIDTH, - RC_SCREEN_GEOMETRY_XYSAVED, RC_SCREEN_ZOOM, + RC_SCROLL_BELOW_DOCUMENT, + RC_SCROLL_WHEEL_ZOOM, RC_SERVERPIPE, RC_SET_COLOR, RC_SHOW_BANNER, + RC_SINGLE_CLOSE_TAB_BUTTON, + RC_SORT_LAYOUTS, RC_SPELL_COMMAND, + RC_SPELLCHECK_CONTINUOUSLY, + RC_SPELLCHECK_NOTES, + RC_SPELLCHECKER, + RC_SPLITINDEX_COMMAND, RC_TEMPDIRPATH, RC_TEMPLATEPATH, RC_TEX_ALLOWS_SPACES, RC_TEX_EXPECTS_WINDOWS_PATHS, + RC_THESAURUSDIRPATH, RC_UIFILE, + RC_USELASTFILEPOS, RC_USER_EMAIL, RC_USER_NAME, RC_USETEMPDIR, @@ -139,10 +183,14 @@ public: RC_USE_ESC_CHARS, RC_USE_INP_ENC, RC_USE_PERS_DICT, + RC_USE_SYSTEM_COLORS, + RC_USE_TOOLTIP, RC_USE_PIXMAP_CACHE, RC_USE_SPELL_LIB, RC_VIEWDVI_PAPEROPTION, RC_VIEWER, + RC_VIEWER_ALTERNATIVES, + RC_VISUAL_CURSOR, RC_LAST }; @@ -158,6 +206,11 @@ private: /// int read(Lexer &); public: + /// + typedef std::set CommandSet; + /// maps a format to a set of commands that can be used to + /// edit or view it. + typedef std::map Alternatives; /// void write(support::FileName const & filename, bool ignore_system_lyxrc) const; @@ -211,27 +264,41 @@ public: std::string print_paper_flag; /// std::string print_paper_dimension_flag; - /// - std::string custom_export_command; - /// - std::string custom_export_format; /// 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 + CommandSet bibtex_alternatives; /// command to run bibtex incl. options std::string bibtex_command; + /// command to run japanese bibtex incl. options + std::string jbibtex_command; + /// all available index commands incl. options + CommandSet index_alternatives; /// command to run makeindex incl. options or other index programs std::string index_command; + /// command to run japanese index program incl. options + std::string jindex_command; + /// command to generate multiple indices + std::string splitindex_command; + /// command to run makeindex incl. options for nomencl + std::string nomencl_command; /// std::string document_path; /// + std::string example_path; + /// std::string template_path; /// std::string tempdir_path; /// + std::string thesaurusdir_path; + /// + std::string hunspelldir_path; + /// bool auto_region_delete; /// flag telling whether lastfiles should be checked for existance bool auto_reset_options; @@ -243,16 +310,17 @@ public: bool use_lastfilepos; /// load files from last session automatically bool load_session; + /// do we save new documents as compressed by default + bool save_compressed; /// shall a backup file be created bool make_backup; /// A directory for storing backup files std::string backupdir_path; - /// Width of MainWindow. if 0, value from last session will be used - int geometry_width; - /// Height of MainWindow, if 0, value from last session will be used - int geometry_height; - /// Whether or not save/restore windows position as session info - bool geometry_xysaved; + /// Whether or not save/restore session information + /// like windows position and geometry. + bool allow_geometry_session; + /// Scrolling speed of the mouse wheel + double mouse_wheel_speed; /// Zoom factor for screen fonts unsigned int zoom; /// Screen font sizes in points for each font size @@ -278,31 +346,27 @@ public: /// unsigned int autosave; /// - std::string plaintext_roff_command; - /// unsigned int plaintext_linelen; - /// use library instead of process - bool use_spell_lib; - /// Ispell command - std::string isp_command; /// Accept compound words in spellchecker? - bool isp_accept_compound; - /// Pass input encoding switch to ispell? - bool isp_use_input_encoding; - /// Use alternate language? - bool isp_use_alt_lang; - /// Use personal dictionary? - bool isp_use_pers_dict; + bool spellchecker_accept_compound; + /// End of paragraph markers? + bool paragraph_markers; + /// Use tooltips? + bool use_tooltip; + /// Use the colors from current system theme? + bool use_system_colors; /// Use pixmap cache? bool use_pixmap_cache; - /// Use escape chars? - bool isp_use_esc_chars; - /// Alternate language for ispell - std::string isp_alt_lang; - /// Alternate personal dictionary file for ispell - std::string isp_pers_dict; + /// Spellchecker engine: aspell, hunspell, etc + std::string spellchecker; + /// Alternate language for spellchecker + std::string spellchecker_alt_lang; /// Escape characters - std::string isp_esc_chars; + std::string spellchecker_esc_chars; + /// spellcheck continuously? + bool spellcheck_continuously; + /// spellcheck notes and comments? + bool spellcheck_notes; /// bool use_kbmap; /// @@ -331,6 +395,8 @@ public: bool language_use_babel; /// bool rtl_support; + /// bidi cursor movement: true = visual, false = logical + bool visual_cursor; /// bool auto_number; /// @@ -338,14 +404,33 @@ public: /// std::string default_language; /// + std::string gui_language; + /// + std::string default_view_format; + /// all available viewers + Alternatives viewer_alternatives; + /// all available editors + Alternatives editor_alternatives; + /// + bool mac_dontswap_ctrl_meta; + /// + bool mac_like_word_movement; + /// bool cursor_follows_scrollbar; /// - bool dialogs_iconify_with_main; + bool scroll_below_document; + /// + enum MacroEditStyle { + MACRO_EDIT_INLINE_BOX = 0, + MACRO_EDIT_INLINE, + MACRO_EDIT_LIST + }; + /// + MacroEditStyle macro_edit_style; /// - int label_init_length; + bool dialogs_iconify_with_main; /// - ///graphics::DisplayType - int display_graphics; + bool display_graphics; /// bool show_banner; /// @@ -359,7 +444,7 @@ public: /// bool preview_hashed_labels; /// - std::string preview_scale_factor; + double preview_scale_factor; /// user name std::string user_name; /// user email @@ -378,6 +463,61 @@ public: unsigned int converter_cache_maxage; /// Sort layouts alphabetically bool sort_layouts; + /// Group layout by their category + bool group_layouts; + /// 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; + /// Toggle menubar in fullscreen mode? + bool full_screen_menubar; + /// Limit the text width? + bool full_screen_limit; + /// Width of limited screen (in pixels) in fullscreen mode + int full_screen_width; + /// + bool completion_cursor_text; + /// + double completion_inline_delay; + /// + bool completion_inline_math; + /// + bool completion_inline_text; + /// + int completion_inline_dots; + /// + bool autocorrection_math; + /// + double completion_popup_delay; + /// + bool completion_popup_math; + /// + bool completion_popup_text; + /// + bool completion_popup_after_complete; + /// + bool open_buffers_in_tabs; + /// + bool single_close_tab_button; + /// + std::string forward_search_dvi; + /// + std::string forward_search_pdf; + /// + int export_overwrite; + /// Default decimal point when aligning table columns on decimal + std::string default_decimal_point; + /// + enum ScrollWheelZoom { + SCROLL_WHEEL_ZOOM_OFF, + SCROLL_WHEEL_ZOOM_CTRL, + SCROLL_WHEEL_ZOOM_SHIFT, + SCROLL_WHEEL_ZOOM_ALT + }; + /// + ScrollWheelZoom scroll_wheel_zoom; }; @@ -392,12 +532,16 @@ public: operator LyXRC::PreviewStatus() const { return val_; } }; +void actOnUpdatedPrefs(LyXRC const & lyxrc_orig, LyXRC const & lyxrc_new); /// extern LyXRC lyxrc; /// extern LyXRC system_lyxrc; +// used by at least frontends/qt4/GuiPref.cpp +const long maxlastfiles = 20; + } // namespace lyx #endif