X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxrc.h;h=5cd5bc34b6036bade70afe485349b330e78ae050;hb=37e82a546392d43f787826b85481a11f2a27af15;hp=54310500b531b0e2e8f0c088e15ca321c5b1facd;hpb=0f9678630c661df5e3376c16cab3a5b2824871e9;p=lyx.git diff --git a/src/lyxrc.h b/src/lyxrc.h index 54310500b5..5cd5bc34b6 100644 --- a/src/lyxrc.h +++ b/src/lyxrc.h @@ -8,7 +8,7 @@ * \author Jean-Marc Lasgouttes * \author Angus Leeming * \author John Levon - * \author André Pöntiz + * \author André Pönitz * \author Allan Rae * \author Dekel Tsur * @@ -21,7 +21,10 @@ #include "paper.h" #include "graphics/GraphicsTypes.h" -#include "support/std_string.h" +#include +#include + +class LyXLex; /// This contains the runtime configuration of LyX class LyXRC //: public noncopyable { @@ -86,7 +89,6 @@ enum LyXRCTags { RC_CHECKLASTFILES, RC_VIEWDVI_PAPEROPTION, RC_DEFAULT_PAPERSIZE, - RC_PS_COMMAND, RC_ACCEPT_COMPOUND, RC_SPELL_COMMAND, RC_USE_INP_ENC, @@ -98,6 +100,7 @@ enum LyXRCTags { RC_PERS_DICT, RC_ESC_CHARS, RC_CHKTEX_COMMAND, + RC_BIBTEX_COMMAND, RC_CURSOR_FOLLOWS_SCROLLBAR, RC_DIALOGS_ICONIFY_WITH_MAIN, RC_MAKE_BACKUP, @@ -117,6 +120,7 @@ enum LyXRCTags { RC_SHOW_BANNER, RC_WHEEL_JUMP, RC_CONVERTER, + RC_COPIER, RC_VIEWER, RC_FORMAT, RC_DEFAULT_LANGUAGE, @@ -128,6 +132,7 @@ enum LyXRCTags { RC_USE_SPELL_LIB, RC_USER_NAME, RC_USER_EMAIL, + RC_INDEX_COMMAND, RC_LAST }; @@ -137,75 +142,83 @@ enum LyXRCTags { /// void setDefaults(); /// - int read(string const & filename); + int read(std::string const & filename); /// - void write(string const & filename) const; + int read(std::istream &); +private: /// - void print() const; + int read(LyXLex &); +public: + /// + void write(std::string const & filename, + bool ignore_system_lyxrc) const; /// - void output(std::ostream & os) const; + void write(std::ostream & os, + bool ignore_system_lyxrc) const; /// - static string const getDescription(LyXRCTags); + void print() const; + /// + static std::string const getDescription(LyXRCTags); /// - string bind_file; + std::string bind_file; /// - string ui_file; + std::string ui_file; /// - string printer; + std::string printer; /// - string print_command; + std::string print_command; /// - string print_evenpage_flag; + std::string print_evenpage_flag; /// - string print_oddpage_flag; + std::string print_oddpage_flag; /// - string print_pagerange_flag; + std::string print_pagerange_flag; /// - string print_copies_flag; + std::string print_copies_flag; /// - string print_collcopies_flag; + std::string print_collcopies_flag; /// - string print_reverse_flag; + std::string print_reverse_flag; /// - string print_landscape_flag; + std::string print_landscape_flag; /// - string print_to_printer; + std::string print_to_printer; /// bool print_adapt_output; /// - string print_to_file; + std::string print_to_file; /// - string print_file_extension; + std::string print_file_extension; /// - string print_extra_options; + std::string print_extra_options; /// - string print_spool_command; + std::string print_spool_command; /// - string print_spool_printerprefix; + std::string print_spool_printerprefix; /// - string print_paper_flag; + std::string print_paper_flag; /// - string print_paper_dimension_flag; + std::string print_paper_dimension_flag; /// - string custom_export_command; + std::string custom_export_command; /// - string custom_export_format; - /// postscript interpreter (in general "gs", if it is installed) - string ps_command; + std::string custom_export_format; /// option for telling the dvi viewer about the paper size - string view_dvi_paper_option; + 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 - string chktex_command; + std::string chktex_command; + /// command to run bibtex incl. options + std::string bibtex_command; + /// command to run makeindex incl. options or other index programs + std::string index_command; /// - string document_path; + std::string document_path; /// - string template_path; + std::string template_path; /// - string tempdir_path; - /// - bool use_tempdir; + std::string tempdir_path; /// bool auto_region_delete; /// flag telling whether lastfiles should be checked for existance @@ -213,13 +226,13 @@ enum LyXRCTags { /// bool check_lastfiles; /// filename for lastfiles file - string lastfiles; + std::string lastfiles; /// maximal number of lastfiles unsigned int num_lastfiles; /// shall a backup file be created bool make_backup; /// A directory for storing backup files - string backupdir_path; + std::string backupdir_path; /// Zoom factor for screen fonts unsigned int zoom; /// parameter for button_4 and button_5 (scrollwheel) @@ -231,25 +244,25 @@ enum LyXRCTags { /// DPI of monitor float dpi; /// - string fontenc; + std::string fontenc; /// - string roman_font_name; + std::string roman_font_name; /// - string sans_font_name; + std::string sans_font_name; /// - string typewriter_font_name; + std::string typewriter_font_name; /// - string roman_font_foundry; + std::string roman_font_foundry; /// - string sans_font_foundry; + std::string sans_font_foundry; /// - string typewriter_font_foundry; + std::string typewriter_font_foundry; /// - string popup_bold_font; + std::string popup_bold_font; /// - string popup_normal_font; + std::string popup_normal_font; /// - string font_norm; + std::string font_norm; /// enum FontEncoding { /// @@ -274,17 +287,17 @@ enum LyXRCTags { /// void set_font_norm_type(); /// - string popup_font_encoding; + std::string popup_font_encoding; /// unsigned int autosave; /// - string ascii_roff_command; + std::string ascii_roff_command; /// unsigned int ascii_linelen; /// use library instead of process bool use_spell_lib; /// Ispell command - string isp_command; + std::string isp_command; /// Accept compound words in spellchecker? bool isp_accept_compound; /// Pass input encoding switch to ispell? @@ -296,33 +309,33 @@ enum LyXRCTags { /// Use escape chars? bool isp_use_esc_chars; /// Alternate language for ispell - string isp_alt_lang; + std::string isp_alt_lang; /// Alternate personal dictionary file for ispell - string isp_pers_dict; + std::string isp_pers_dict; /// Escape characters - string isp_esc_chars; + std::string isp_esc_chars; /// bool use_kbmap; /// - string primary_kbmap; + std::string primary_kbmap; /// - string secondary_kbmap; + std::string secondary_kbmap; /// - string lyxpipes; + std::string lyxpipes; /// - string date_insert_format; + std::string date_insert_format; /// - string language_package; + std::string language_package; /// bool language_auto_begin; /// bool language_auto_end; /// - string language_command_begin; + std::string language_command_begin; /// - string language_command_end; + std::string language_command_end; /// - string language_command_local; + std::string language_command_local; /// bool language_global_options; /// @@ -334,7 +347,7 @@ enum LyXRCTags { /// bool mark_foreign_language; /// - string default_language; + std::string default_language; /// bool cursor_follows_scrollbar; /// @@ -346,17 +359,36 @@ enum LyXRCTags { /// bool show_banner; /// - bool preview; + enum PreviewStatus { + PREVIEW_OFF, + PREVIEW_NO_MATH, + PREVIEW_ON + }; + /// + PreviewStatus preview; /// bool preview_hashed_labels; /// float preview_scale_factor; /// user name - string user_name; + std::string user_name; /// user email - string user_email; + std::string user_email; }; + +/** \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_; } +}; + + /// extern LyXRC lyxrc; ///