4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
7 * \author Lars Gullik Bjønnes
8 * \author Jean-Marc Lasgouttes
11 * Full author contact details are available in file CREDITS.
18 #include "errorlist.h"
20 #include <boost/scoped_ptr.hpp>
21 #include <boost/utility.hpp>
33 extern boost::scoped_ptr<LastFiles> lastfiles;
37 class LyX : boost::noncopyable {
39 LyX(int & argc, char * argv[]);
41 /// in the case of failure
42 static void emergencyCleanup();
45 /// initial LyX set up
47 /// set up the default key bindings
48 void defaultKeyBindings(kb_keymap * kbmap);
49 /// set up the default dead key bindings if requested
50 void deadKeyBindings(kb_keymap * kbmap);
51 /// check, set up and configure the user dir if necessary
52 void queryUserLyXDir(bool explicit_userdir);
53 /// read lyxrc/preferences
54 void readRcFile(string const & name);
55 /// read the given ui (menu/toolbar) file
56 void readUIFile(string const & name);
57 /// read the given languages file
58 void readLanguagesFile(string const & name);
59 /// read the given encodings file
60 void readEncodingsFile(string const & name);
61 /// parsing of non-gui LyX options. Returns true if gui
62 bool easyParse(int & argc, char * argv[]);
63 /// shows up a parsing error on screen
64 void printError(ErrorItem const &);
66 /// has this user started lyx for the first time?
68 /// the parsed command line batch command if any