- /**@name Constructors and Deconstructors */
- //@{
- /// not allowed
- LyX(const LyX &){;} // not allowed
- /// not allowed
- LyX(){;} // not allowed
- //@}
-
- /**@name Private variables */
- //@{
- /// does this user start lyx for the first time?
+ static boost::scoped_ptr<LyX> singleton_;
+
+ LyX();
+ void priv_exec(int & argc, char * argv[]);
+
+ /// initial LyX set up
+ void init(bool);
+ /// set up the default key bindings
+ void defaultKeyBindings(kb_keymap * kbmap);
+ /// set up the default dead key bindings if requested
+ void deadKeyBindings(kb_keymap * kbmap);
+ /** Check for the existence of the user's support directory and,
+ * if not present, create it. Exits the program if the directory
+ * cannot be created.
+ * \returns true if the user-side configuration script
+ * (lib/configure) should be re-run in this directory.
+ */
+ bool queryUserLyXDir(bool explicit_userdir);
+ /// read lyxrc/preferences
+ void readRcFile(std::string const & name);
+ /// read the given ui (menu/toolbar) file
+ void readUIFile(std::string const & name);
+ /// read the given languages file
+ void readLanguagesFile(std::string const & name);
+ /// read the given encodings file
+ void readEncodingsFile(std::string const & name);
+ /// parsing of non-gui LyX options. Returns true if gui
+ bool easyParse(int & argc, char * argv[]);
+ /// shows up a parsing error on screen
+ void printError(ErrorItem const &);
+
+ /// has this user started lyx for the first time?