X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLyX.h;h=a19b5234594047a81bec19802efa9d1f80df4c64;hb=4b64aaf4ce026aacce02cfda58dcb1cd954f4adb;hp=0b578590fa768e69e39024a32ee7c7486da14db7;hpb=161af56f4e0c0b84bdfc150f0c6cbc67f2d184b2;p=lyx.git diff --git a/src/LyX.h b/src/LyX.h index 0b578590fa..a19b523459 100644 --- a/src/LyX.h +++ b/src/LyX.h @@ -16,6 +16,8 @@ #include "support/strfwd.h" +#include + namespace lyx { class BufferList; @@ -26,6 +28,7 @@ class ErrorItem; class FuncRequest; class FuncStatus; class KeyMap; +class LaTeXFonts; class Messages; class Mover; class Movers; @@ -34,6 +37,12 @@ class ServerSocket; class Session; class SpellChecker; +enum RunMode { + NEW_INSTANCE, + USE_REMOTE, + PREFERRED +}; + enum OverwriteFiles { NO_FILES, MAIN_FILE, @@ -42,20 +51,17 @@ enum OverwriteFiles { }; extern bool use_gui; +extern RunMode run_mode; extern OverwriteFiles force_overwrite; namespace frontend { class Application; } -namespace graphics { -class Previews; -} - /// initial startup class LyX { + friend class LyXConsoleApp; public: - LyX(); ~LyX(); @@ -79,16 +85,12 @@ private: */ int init(int & argc, char * argv[]); + /// Execute commandline commands if no GUI was requested. + int execWithoutGui(int & argc, char * argv[]); + /// Execute batch commands if available. void execCommands(); - /// Load files passed at command-line. - /// return true on success false if we encounter an error - /** - This method is used only in non-GUI mode. - */ - bool loadFiles(); - /// initial LyX set up bool init(); /** Check for the existence of the user's support directory and, @@ -99,7 +101,9 @@ private: */ bool queryUserLyXDir(bool explicit_userdir); /// read lyxrc/preferences - bool readRcFile(std::string const & name); + /// \param check_format: whether to try to convert the format of + /// the file, if there is a mismatch. + bool readRcFile(std::string const & name, bool check_format = false); /// read the given languages file bool readLanguagesFile(std::string const & name); /// read the encodings. @@ -124,8 +128,9 @@ private: bool first_start; friend FuncStatus getStatus(FuncRequest const & action); - friend void dispatch(FuncRequest const & action); + friend DispatchResult const & dispatch(FuncRequest const & action); friend void dispatch(FuncRequest const & action, DispatchResult & dr); + friend std::vector & theFilesToLoad(); friend BufferList & theBufferList(); friend Server & theServer(); friend ServerSocket & theServerSocket(); @@ -135,16 +140,15 @@ private: friend Messages const & getGuiMessages(); friend KeyMap & theTopLevelKeymap(); friend Movers & theMovers(); - friend Mover const & getMover(std::string const & fmt); + friend Mover const & getMover(std::string const & fmt); friend void setMover(std::string const & fmt, std::string const & command); friend Movers & theSystemMovers(); friend frontend::Application * theApp(); - friend graphics::Previews & thePreviews(); friend Session & theSession(); + friend LaTeXFonts & theLaTeXFonts(); friend CmdDef & theTopLevelCmdDef(); friend SpellChecker * theSpellChecker(); friend void setSpellChecker(); - friend void setRcGuiLanguage(); friend void emergencyCleanup(); friend void execBatchCommands(); friend void lyx_exit(int exit_code); @@ -157,8 +161,6 @@ void emergencyCleanup(); /// \p exit_code is 0 by default, if a non zero value is passed, /// emergencyCleanup() will be called before exiting. void lyx_exit(int exit_code); -/// Set the language defined by the user. -void setRcGuiLanguage(); /// Execute batch commands if available. void execBatchCommands(); @@ -166,7 +168,7 @@ void execBatchCommands(); FuncStatus getStatus(FuncRequest const & action); /// -void dispatch(FuncRequest const & action); +DispatchResult const & dispatch(FuncRequest const & action); /// void dispatch(FuncRequest const & action, DispatchResult & dr); @@ -174,4 +176,3 @@ void dispatch(FuncRequest const & action, DispatchResult & dr); } // namespace lyx #endif // LYX_H -