]> git.lyx.org Git - lyx.git/blobdiff - src/LyXRC.h
Squash gcc warn
[lyx.git] / src / LyXRC.h
index a51d63fffc21390fe2c3bdc2d4938c60712351e7..af28ce0129a2cfe53c35786b69bfa2d5812790b5 100644 (file)
 
 #include "support/strfwd.h"
 
+#include <map>
+#include <set>
 #include <string>
+#include <vector>
 
 
 namespace lyx {
@@ -39,13 +42,12 @@ public:
                RC_ACCEPT_COMPOUND = 1,
                RC_ALT_LANG,
                RC_AUTOCORRECTION_MATH,
-               RC_PLAINTEXT_LINELEN,
-               RC_PLAINTEXT_ROFF_COMMAND,
                RC_AUTOREGIONDELETE,
                RC_AUTORESET_OPTIONS,
                RC_AUTOSAVE,
                RC_AUTO_NUMBER,
                RC_BACKUPDIR_PATH,
+               RC_BIBTEX_ALTERNATIVES,
                RC_BIBTEX_COMMAND,
                RC_BINDFILE,
                RC_CHECKLASTFILES,
@@ -63,16 +65,15 @@ public:
                RC_CONVERTER_CACHE_MAXAGE,
                RC_COPIER,
                RC_CURSOR_FOLLOWS_SCROLLBAR,
-               RC_MAC_LIKE_WORD_MOVEMENT,
                RC_DATE_INSERT_FORMAT,
-               RC_DEFFILE,
                RC_DEFAULT_LANGUAGE,
                RC_DEFAULT_VIEW_FORMAT,
-               RC_GUI_LANGUAGE,
                RC_DEFAULT_PAPERSIZE,
+               RC_DEFFILE,
                RC_DIALOGS_ICONIFY_WITH_MAIN,
                RC_DISPLAY_GRAPHICS,
                RC_DOCUMENTPATH,
+               RC_EDITOR_ALTERNATIVES,
                RC_ESC_CHARS,
                RC_EXAMPLEPATH,
                RC_FONT_ENCODING,
@@ -80,10 +81,14 @@ public:
                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,
@@ -102,13 +107,18 @@ public:
                RC_LANGUAGE_USE_BABEL,
                RC_LOADSESSION,
                RC_MACRO_EDIT_STYLE,
+               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,
@@ -145,10 +155,11 @@ public:
                RC_SERVERPIPE,
                RC_SET_COLOR,
                RC_SHOW_BANNER,
-               RC_OPEN_BUFFERS_IN_TABS,
+               RC_SINGLE_CLOSE_TAB_BUTTON,
                RC_SORT_LAYOUTS,
                RC_SPELL_COMMAND,
                RC_SPELLCHECK_CONTINUOUSLY,
+               RC_SPELLCHECKER,
                RC_SPLITINDEX_COMMAND,
                RC_TEMPDIRPATH,
                RC_TEMPLATEPATH,
@@ -170,6 +181,7 @@ public:
                RC_USE_SPELL_LIB,
                RC_VIEWDVI_PAPEROPTION,
                RC_VIEWER,
+               RC_VIEWER_ALTERNATIVES,
                RC_VISUAL_CURSOR,
                RC_LAST
        };
@@ -186,6 +198,11 @@ private:
        ///
        int read(Lexer &);
 public:
+       /// 
+       typedef std::set<std::string> CommandSet;
+       /// maps a format to a set of commands that can be used to 
+       /// edit or view it.
+       typedef std::map<std::string, CommandSet> Alternatives;
        ///
        void write(support::FileName const & filename,
                   bool ignore_system_lyxrc) const;
@@ -245,10 +262,14 @@ public:
        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
@@ -268,6 +289,8 @@ public:
        ///
        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;
@@ -316,22 +339,16 @@ public:
        unsigned int plaintext_linelen;
        /// Accept compound words in spellchecker?
        bool spellchecker_accept_compound;
-       /// Pass input encoding switch to the spellchecker?
-       bool spellchecker_use_input_encoding;
-       /// Use alternate language?
-       bool spellchecker_use_alt_lang;
-       /// Use personal dictionary?
-       bool spellchecker_use_pers_dict;
+       /// End of paragraph markers?
+       bool paragraph_markers;
        /// Use tooltips?
        bool use_tooltip;
        /// Use pixmap cache?
        bool use_pixmap_cache;
-       /// Use escape chars?
-       bool spellchecker_use_esc_chars;
+       /// Spellchecker engine: aspell, hunspell, etc
+       std::string spellchecker;
        /// Alternate language for spellchecker
        std::string spellchecker_alt_lang;
-       /// Alternate personal dictionary file for the spellchecker
-       std::string spellchecker_pers_dict;
        /// Escape characters
        std::string spellchecker_esc_chars;
        /// spellcheck continuously?
@@ -376,6 +393,10 @@ public:
        std::string gui_language;
        ///
        std::string default_view_format;
+       /// all available viewers
+       Alternatives viewer_alternatives;
+       /// all available editors
+       Alternatives editor_alternatives;
        ///
        bool mac_like_word_movement;
        ///
@@ -409,7 +430,7 @@ public:
        ///
        bool preview_hashed_labels;
        ///
-       std::string preview_scale_factor;
+       double preview_scale_factor;
        /// user name
        std::string user_name;
        /// user email
@@ -436,6 +457,8 @@ public:
        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
@@ -462,6 +485,8 @@ public:
        bool completion_popup_after_complete;
        ///
        bool open_buffers_in_tabs;
+       ///
+       bool single_close_tab_button;
 };
 
 
@@ -476,6 +501,7 @@ public:
        operator LyXRC::PreviewStatus() const { return val_; }
 };
 
+void actOnUpdatedPrefs(LyXRC const & lyxrc_orig, LyXRC const & lyxrc_new);
 
 ///
 extern LyXRC lyxrc;