X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLyX.cpp;h=9bbf03faea9aa5a9fd58ef816eb31dfd7bffab94;hb=ca339eb1991efcab02a5f1b7f33387b35df2a416;hp=1a65c497b94a7f33a4ce756b57d0ccc30ece55a3;hpb=1d6c4787f9392169b78cac3a924818f2ebe1145d;p=lyx.git diff --git a/src/LyX.cpp b/src/LyX.cpp index 1a65c497b9..9bbf03faea 100644 --- a/src/LyX.cpp +++ b/src/LyX.cpp @@ -31,20 +31,20 @@ #include "Language.h" #include "Session.h" #include "Color.h" -#include "lyx_cb.h" +#include "callback.h" #include "LyXAction.h" #include "LyXFunc.h" #include "Lexer.h" #include "LyXRC.h" -#include "LyXServer.h" -#include "LyXServerSocket.h" -#include "LyXTextClassList.h" +#include "Server.h" +#include "ServerSocket.h" +#include "TextClassList.h" #include "MenuBackend.h" #include "Messages.h" #include "Mover.h" #include "ToolbarBackend.h" -#include "frontends/Alert.h" +#include "frontends/alert.h" #include "frontends/Application.h" #include "frontends/Gui.h" #include "frontends/LyXView.h" @@ -62,6 +62,7 @@ #include #include +#include #include #include #include @@ -107,7 +108,7 @@ using std::system; /// are we using the GUI at all? -/** +/** * We default to true and this is changed to false when the export feature is used. */ bool use_gui = true; @@ -147,7 +148,7 @@ void reconfigureUserLyXDir() /// The main application class private implementation. -struct LyX::Singletons +struct LyX::Singletons { Singletons() { @@ -163,9 +164,9 @@ struct LyX::Singletons /// boost::scoped_ptr toplevel_keymap_; /// - boost::scoped_ptr lyx_server_; + boost::scoped_ptr lyx_server_; /// - boost::scoped_ptr lyx_socket_; + boost::scoped_ptr lyx_socket_; /// boost::scoped_ptr application_; /// lyx session, containing lastfiles, lastfilepos, and lastopened @@ -182,10 +183,10 @@ struct LyX::Singletons // The system converters copy after reading lyxrc.defaults. Converters system_converters_; - + /// Movers movers_; - + /// Movers system_movers_; }; @@ -265,28 +266,28 @@ LyXFunc const & LyX::lyxFunc() const } -LyXServer & LyX::server() +Server & LyX::server() { BOOST_ASSERT(pimpl_->lyx_server_.get()); - return *pimpl_->lyx_server_.get(); + return *pimpl_->lyx_server_.get(); } -LyXServer const & LyX::server() const +Server const & LyX::server() const { BOOST_ASSERT(pimpl_->lyx_server_.get()); - return *pimpl_->lyx_server_.get(); + return *pimpl_->lyx_server_.get(); } -LyXServerSocket & LyX::socket() +ServerSocket & LyX::socket() { BOOST_ASSERT(pimpl_->lyx_socket_.get()); return *pimpl_->lyx_socket_.get(); } -LyXServerSocket const & LyX::socket() const +ServerSocket const & LyX::socket() const { BOOST_ASSERT(pimpl_->lyx_socket_.get()); return *pimpl_->lyx_socket_.get(); @@ -340,7 +341,7 @@ Messages & LyX::getMessages(std::string const & language) if (it != pimpl_->messages_.end()) return it->second; - std::pair::iterator, bool> result = + std::pair::iterator, bool> result = pimpl_->messages_.insert(std::make_pair(language, Messages(language))); BOOST_ASSERT(result.second); @@ -360,7 +361,7 @@ void LyX::setGuiLanguage(std::string const & language) } -Buffer const * const LyX::updateInset(InsetBase const * inset) const +Buffer const * const LyX::updateInset(Inset const * inset) const { if (!inset) return 0; @@ -386,8 +387,8 @@ int LyX::exec(int & argc, char * argv[]) easyParse(argc, argv); try { support::init_package(to_utf8(from_local8bit(argv[0])), - cl_system_support, cl_user_support, - support::top_build_dir_is_one_level_up); + cl_system_support, cl_user_support, + support::top_build_dir_is_one_level_up); } catch (support::ExceptionMessage const & message) { if (message.type_ == support::ErrorException) { Alert::error(message.title_, message.details_); @@ -420,7 +421,7 @@ int LyX::exec(int & argc, char * argv[]) Buffer * buf = *I; bool success = false; buf->dispatch(batch_command, &success); - final_success |= success; + final_success |= success; } prepareExit(); return !final_success; @@ -454,13 +455,13 @@ int LyX::exec(int & argc, char * argv[]) */ // Note: socket callback must be registered after init(argc, argv) // such that package().temp_dir() is properly initialized. - pimpl_->lyx_server_.reset(new LyXServer(&pimpl_->lyxfunc_, lyxrc.lyxpipes)); - pimpl_->lyx_socket_.reset(new LyXServerSocket(&pimpl_->lyxfunc_, + pimpl_->lyx_server_.reset(new Server(&pimpl_->lyxfunc_, lyxrc.lyxpipes)); + pimpl_->lyx_socket_.reset(new ServerSocket(&pimpl_->lyxfunc_, FileName(package().temp_dir().absFilename() + "/lyxsocket"))); // Start the real execution loop. exit_status = pimpl_->application_->exec(); - + prepareExit(); // Restore original font resources after Application is destroyed. @@ -552,6 +553,17 @@ int LyX::init(int & argc, char * argv[]) } +void LyX::addFileToLoad(FileName const & fname) +{ + vector::const_iterator cit = std::find( + pimpl_->files_to_load_.begin(), pimpl_->files_to_load_.end(), + fname); + + if (cit == pimpl_->files_to_load_.end()) + pimpl_->files_to_load_.push_back(fname); +} + + void LyX::loadFiles() { vector::const_iterator it = pimpl_->files_to_load_.begin(); @@ -601,7 +613,7 @@ void LyX::restoreGuiSession() if (!pimpl_->files_to_load_.empty()) { for_each(pimpl_->files_to_load_.begin(), pimpl_->files_to_load_.end(), - bind(&LyXView::loadLyXFile, view, _1, true)); + bind(&LyXView::loadLyXFile, view, _1, true, false, false)); // clear this list to save a few bytes of RAM pimpl_->files_to_load_.clear(); pimpl_->session_->lastOpened().clear(); @@ -616,7 +628,7 @@ void LyX::restoreGuiSession() // last session, and should be already there (regular files), or should // not be added at all (help files). for_each(lastopened.begin(), lastopened.end(), - bind(&LyXView::loadLyXFile, view, _1, false)); + bind(&LyXView::loadLyXFile, view, _1, false, false, false)); // clear this list to save a few bytes of RAM pimpl_->session_->lastOpened().clear(); @@ -668,7 +680,7 @@ LyXView * LyX::newLyXView() posy = convert(val); } - if (!geometryArg.empty()) + if (!geometryArg.empty()) { width = 0; height = 0; @@ -796,7 +808,7 @@ void LyX::initGuiFont() lyxrc.sans_font_name = pimpl_->application_->sansFontName(); if (lyxrc.typewriter_font_name.empty()) - lyxrc.typewriter_font_name + lyxrc.typewriter_font_name = pimpl_->application_->typewriterFontName(); } @@ -924,8 +936,8 @@ bool LyX::init() } LYXERR(Debug::INIT) << "LyX tmp dir: `" - << package().temp_dir().absFilename() - << '\'' << endl; + << package().temp_dir().absFilename() + << '\'' << endl; LYXERR(Debug::INIT) << "Reading session information '.lyx/session'..." << endl; pimpl_->session_.reset(new Session(lyxrc.num_lastfiles)); @@ -1158,7 +1170,7 @@ bool LyX::readUIFile(string const & name, bool include) LYXERR(Debug::INIT) << "About to read " << name << "..." << endl; - + FileName ui_path; if (include) { ui_path = libFileSearch("ui", name, "inc"); @@ -1168,7 +1180,7 @@ bool LyX::readUIFile(string const & name, bool include) } else ui_path = libFileSearch("ui", name, "ui"); - + if (ui_path.empty()) { LYXERR(Debug::INIT) << "Could not find " << name << endl; showFileError(name); @@ -1238,10 +1250,10 @@ bool LyX::readLanguagesFile(string const & name) // Read the encodings file `name' bool LyX::readEncodingsFile(string const & enc_name, - string const & symbols_name) + string const & symbols_name) { LYXERR(Debug::INIT) << "About to read " << enc_name << " and " - << symbols_name << "..." << endl; + << symbols_name << "..." << endl; FileName const symbols_path = libFileSearch(string(), symbols_name); if (symbols_path.empty()) { @@ -1464,7 +1476,7 @@ LyXFunc & theLyXFunc() } -LyXServer & theLyXServer() +Server & theServer() { // FIXME: this should not be use_gui dependent BOOST_ASSERT(use_gui); @@ -1472,7 +1484,7 @@ LyXServer & theLyXServer() } -LyXServerSocket & theLyXServerSocket() +ServerSocket & theServerSocket() { // FIXME: this should not be use_gui dependent BOOST_ASSERT(use_gui);