]> git.lyx.org Git - lyx.git/blobdiff - src/lyxrc.h
remove unneeded functions
[lyx.git] / src / lyxrc.h
index 96bee36ee45e801a99f1abffa8b4d6fa149a836e..e948e6489fcf8ec6ae1b56988da30fe1b677f23b 100644 (file)
@@ -1,23 +1,30 @@
 // -*- C++ -*-
-/* This file is part of
- * ====================================================== 
- * 
- *           LyX, The Document Processor
- *      
- *           Copyright 1995 Matthias Ettrich
- *           Copyright 1995-2000 The LyX Team.
+/**
+ * \file lyxrc.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
  *
- * ====================================================== */
+ * \author Lars Gullik Bjønnes
+ * \author Jean-Marc Lasgouttes
+ * \author Angus Leeming
+ * \author John Levon
+ * \author André Pönitz
+ * \author Allan Rae
+ * \author Dekel Tsur
+ *
+ * Full author contact details are available in file CREDITS.
+ */
 
 #ifndef LYXRC_H
 #define LYXRC_H
 
-#ifdef __GNUG__
-#pragma interface
-#endif
+#include "paper.h"
+#include "graphics/GraphicsTypes.h"
+
+#include <iosfwd>
+#include <string>
 
-#include "bufferparams.h"
-#include <boost/utility.hpp>
+class LyXLex;
 
 /// This contains the runtime configuration of LyX
 class LyXRC //: public noncopyable {
@@ -43,7 +50,7 @@ enum LyXRCTags {
        RC_PRINTEXSTRAOPTIONS,
        RC_PRINTSPOOL_COMMAND,
        RC_PRINTSPOOL_PRINTERPREFIX,
-        RC_PRINTPAPERFLAG,
+       RC_PRINTPAPERFLAG,
        RC_PRINTPAPERDIMENSIONFLAG,
        RC_CUSTOM_EXPORT_COMMAND,
        RC_CUSTOM_EXPORT_FORMAT,
@@ -53,10 +60,13 @@ enum LyXRCTags {
        RC_SCREEN_FONT_ROMAN,
        RC_SCREEN_FONT_SANS,
        RC_SCREEN_FONT_TYPEWRITER,
-       RC_SCREEN_FONT_MENU,
-       RC_SCREEN_FONT_POPUP,
+       RC_SCREEN_FONT_ROMAN_FOUNDRY,
+       RC_SCREEN_FONT_SANS_FOUNDRY,
+       RC_SCREEN_FONT_TYPEWRITER_FOUNDRY,
        RC_SCREEN_FONT_ENCODING,
-       RC_SCREEN_FONT_ENCODING_MENU,
+       RC_POPUP_BOLD_FONT,
+       RC_POPUP_NORMAL_FONT,
+       RC_POPUP_FONT_ENCODING,
        RC_SET_COLOR,
        RC_AUTOSAVE,
        RC_DOCUMENTPATH,
@@ -65,8 +75,7 @@ enum LyXRCTags {
        RC_USETEMPDIR,
        RC_LASTFILES,
        RC_AUTOREGIONDELETE,
-       RC_BIND,
-       RC_OVERRIDE_X_DEADKEYS,
+       RC_AUTORESET_OPTIONS,
        RC_SERVERPIPE,
        RC_INPUT,
        RC_BINDFILE,
@@ -74,18 +83,12 @@ enum LyXRCTags {
        RC_KBMAP,
        RC_KBMAP_PRIMARY,
        RC_KBMAP_SECONDARY,
-#if 0
-       RC_FAX_COMMAND,
-       RC_PHONEBOOK,
-       RC_FAXPROGRAM,
-#endif
        RC_ASCIIROFF_COMMAND,
        RC_ASCII_LINELEN,
        RC_NUMLASTFILES,
        RC_CHECKLASTFILES,
        RC_VIEWDVI_PAPEROPTION,
        RC_DEFAULT_PAPERSIZE,
-       RC_PS_COMMAND,
        RC_ACCEPT_COMPOUND,
        RC_SPELL_COMMAND,
        RC_USE_INP_ENC,
@@ -97,9 +100,9 @@ enum LyXRCTags {
        RC_PERS_DICT,
        RC_ESC_CHARS,
        RC_CHKTEX_COMMAND,
+       RC_BIBTEX_COMMAND,
        RC_CURSOR_FOLLOWS_SCROLLBAR,
-       RC_EXIT_CONFIRMATION,
-       RC_DISPLAY_SHORTCUTS,
+       RC_DIALOGS_ICONIFY_WITH_MAIN,
        RC_MAKE_BACKUP,
        RC_BACKUPDIR_PATH,
        RC_RTL_SUPPORT,
@@ -110,14 +113,24 @@ enum LyXRCTags {
        RC_LANGUAGE_AUTO_END,
        RC_LANGUAGE_COMMAND_BEGIN,
        RC_LANGUAGE_COMMAND_END,
+       RC_LANGUAGE_COMMAND_LOCAL,
+       RC_LANGUAGE_GLOBAL_OPTIONS,
+       RC_LANGUAGE_USE_BABEL,
        RC_DATE_INSERT_FORMAT,
        RC_SHOW_BANNER,
        RC_WHEEL_JUMP,
        RC_CONVERTER,
        RC_VIEWER,
        RC_FORMAT,
-       RC_NEW_ASK_FILENAME,
        RC_DEFAULT_LANGUAGE,
+       RC_LABEL_INIT_LENGTH,
+       RC_DISPLAY_GRAPHICS,
+       RC_PREVIEW,
+       RC_PREVIEW_HASHED_LABELS,
+       RC_PREVIEW_SCALE_FACTOR,
+       RC_USE_SPELL_LIB,
+       RC_USER_NAME,
+       RC_USER_EMAIL,
        RC_LAST
 };
 
@@ -127,93 +140,95 @@ 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 output(std::ostream & os) const;
-       /// Is a bind file already (or currently) read?
-       bool hasBindFile;
+       void write(std::string const & filename,
+                  bool ignore_system_lyxrc) const;
        ///
-       int ReadBindFile(string const & name = "cua");
+       void write(std::ostream & os,
+                  bool ignore_system_lyxrc) const;
        ///
-       static string getFeedback( LyXRCTags );
+       void print() const;
        ///
-       string bind_file;
+       static std::string const getDescription(LyXRCTags);
        ///
-       string ui_file;
+       std::string bind_file;
        ///
-       string printer;
+       std::string ui_file;
        ///
-       string print_command;
+       std::string printer;
        ///
-       string print_evenpage_flag;
+       std::string print_command;
        ///
-       string print_oddpage_flag;
+       std::string print_evenpage_flag;
        ///
-       string print_pagerange_flag;
+       std::string print_oddpage_flag;
        ///
-       string print_copies_flag;
+       std::string print_pagerange_flag;
        ///
-       string print_collcopies_flag;
+       std::string print_copies_flag;
        ///
-       string print_reverse_flag;
+       std::string print_collcopies_flag;
        ///
-       string print_landscape_flag;
+       std::string print_reverse_flag;
        ///
-       string print_to_printer;
+       std::string print_landscape_flag;
+       ///
+       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;
-        ///
-       string print_spool_printerprefix;
+       std::string print_spool_command;
        ///
-       string print_paper_flag;
+       std::string print_spool_printerprefix;
        ///
-       string print_paper_dimension_flag;
+       std::string print_paper_flag;
        ///
-        string custom_export_command;
+       std::string print_paper_dimension_flag;
        ///
-       string custom_export_format;
+       std::string custom_export_command;
        ///
-       bool pdf_mode;
-       /// 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;
-        /// default paper size for local xdvi/dvips/ghostview/whatever
-        BufferParams::PAPER_SIZE default_papersize;
+       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;
-       ///
-       string document_path;
+       std::string chktex_command;
+       /// command to run bibtex incl. options
+       std::string bibtex_command;
        ///
-       string template_path;
+       std::string document_path;
        ///
-       string tempdir_path;
+       std::string template_path;
        ///
-       bool use_tempdir;
+       std::string tempdir_path;
        ///
        bool auto_region_delete;
        /// flag telling whether lastfiles should be checked for existance
+       bool auto_reset_options;
+       ///
        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)
@@ -224,22 +239,26 @@ enum LyXRCTags {
        bool use_scalable_fonts;
        /// DPI of monitor
        float dpi;
-       /// Whether lyx should handle deadkeys by itself
-       bool override_x_deadkeys;
        ///
-       string fontenc;
+       std::string fontenc;
+       ///
+       std::string roman_font_name;
        ///
-       string roman_font_name;
+       std::string sans_font_name;
        ///
-       string sans_font_name;
+       std::string typewriter_font_name;
        ///
-       string typewriter_font_name;
+       std::string roman_font_foundry;
        ///
-       string menu_font_name;
+       std::string sans_font_foundry;
        ///
-       string popup_font_name;
+       std::string typewriter_font_foundry;
        ///
-       string font_norm;
+       std::string popup_bold_font;
+       ///
+       std::string popup_normal_font;
+       ///
+       std::string font_norm;
        ///
        enum FontEncoding {
                ///
@@ -247,10 +266,16 @@ enum LyXRCTags {
                ///
                ISO_8859_1,
                ///
+               ISO_8859_3,
+               ///
+               ISO_8859_4,
+               ///
                ISO_8859_6_8,
                ///
                ISO_8859_9,
                ///
+               ISO_8859_15,
+               ///
                OTHER_ENCODING
        };
        ///
@@ -258,23 +283,17 @@ enum LyXRCTags {
        ///
        void set_font_norm_type();
        ///
-       string font_norm_menu;
+       std::string popup_font_encoding;
        ///
        unsigned int autosave;
-#if 0
-       ///
-       string fax_command;
-       ///
-       string phone_book;
-       ///
-       string fax_program;
-#endif
        ///
-       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?
@@ -286,35 +305,37 @@ 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;
-       /// Ask for confirmation of exit when there are unsaved documents?
-       bool exit_confirmation;
-       /// Should we display short-cut information in the minibuffer?
-       bool display_shortcuts;
        ///
-       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;
+       ///
+       std::string language_command_local;
+       ///
+       bool language_global_options;
+       ///
+       bool language_use_babel;
        ///
        bool rtl_support;
        ///
@@ -322,17 +343,48 @@ enum LyXRCTags {
        ///
        bool mark_foreign_language;
        ///
+       std::string default_language;
+       ///
+       bool cursor_follows_scrollbar;
+       ///
+       bool dialogs_iconify_with_main;
+       ///
+       int label_init_length;
+       ///
+       lyx::graphics::DisplayType display_graphics;
+       ///
        bool show_banner;
-       /// Do we have to use a GUI?
-       bool use_gui;
        ///
-       bool new_ask_filename;
+       enum PreviewStatus {
+               PREVIEW_OFF,
+               PREVIEW_NO_MATH,
+               PREVIEW_ON
+       };
        ///
-       string default_language;
+       PreviewStatus preview;
        ///
-       bool cursor_follows_scrollbar;
+       bool preview_hashed_labels;
+       ///
+       float preview_scale_factor;
+       /// user name
+       std::string user_name;
+       /// 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;
 ///