]> git.lyx.org Git - lyx.git/blobdiff - src/lyx_main.h
Updates from Bennett and myself.
[lyx.git] / src / lyx_main.h
index 2d82153221c7584119e82a4dce8eb3bef1e53794..a0b74578ace3540040035786ac6c08f2e9d94b60 100644 (file)
@@ -25,6 +25,7 @@ namespace lyx {
 class Buffer;
 class BufferList;
 class ErrorItem;
+class IconvProcessor;
 class InsetBase;
 class LyXFunc;
 class LyXServer;
@@ -40,21 +41,23 @@ namespace frontend { class Application; }
 /// initial startup
 class LyX : boost::noncopyable {
 public:
+
+       LyX();
+       ~LyX();
+
        /**
         * Execute LyX. The startup sequence is as follows:
         * -# LyX::exec()
         * -# LyX::priv_exec()
         * -# lyx::createApplication()
-        * -# LyX::exec2()
         * Step 3 is omitted if no gui is wanted. We need lyx::createApplication()
         * only to create the QApplication object in the qt frontend. All
         * attempts with static and dynamically allocated QApplication
         * objects lead either to harmless error messages on exit
         * ("Mutex destroy failure") or crashes (OS X).
         */
-       static int exec(int & argc, char * argv[]);
-       /// Execute LyX (inner execution loop, \sa exec)
-       int exec2(int & argc, char * argv[]);
+       int exec(int & argc, char * argv[]);
+
        static LyX & ref();
        static LyX const & cref();
 
@@ -66,7 +69,7 @@ public:
        In GUI mode, after this function has been called, application_ leaves
        the main event loop and returns from the call to Application::start().
        */
-       void quit(bool noask);
+       void quit();
 
        ///
        BufferList & bufferList();
@@ -92,6 +95,9 @@ public:
        kb_keymap & topLevelKeymap();
        kb_keymap const & topLevelKeymap() const;
 
+       ///
+       IconvProcessor & iconvProcessor();
+
        LyXView * newLyXView();
 
        /** redraw \c inset in all the BufferViews in which it is currently
@@ -99,24 +105,22 @@ public:
         */
        Buffer const * const updateInset(InsetBase const *) const;
 
-private:
-       static boost::scoped_ptr<LyX> singleton_;
-
-       LyX();
-       int priv_exec(int & argc, char * argv[]);
+       /// Execute batch commands if available.
+       void execBatchCommands();
 
+private:
        /// Do some cleanup in preparation of an exit.
        void prepareExit();
 
        /// Early exit during the initialisation process.
        void earlyExit(int status);
 
-       /// Initialise LyX and execute batch commands if available.
+       /// Initialise LyX and load files if asked.
        /**
        \param files is filled in with the command-line file names.
        \return exit code failure if any.
        */
-       int execBatchCommands(int & argc, char * argv[],
+       int loadFiles(int & argc, char * argv[],
                std::vector<std::string> & files);
 
        /// Create a View and restore GUI Session.