X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLyX.cpp;h=9b637570d5f9adb4d5071b822ee92bd129b14ed7;hb=da67bde61af6dfecef7a237b72b878fe30638a81;hp=4e97f7ae64b92286ef5aa0a3152349942c1f2e32;hpb=32f37250d5cbbf3353cad47afdf81afa8d438295;p=lyx.git diff --git a/src/LyX.cpp b/src/LyX.cpp index 4e97f7ae64..9b637570d5 100644 --- a/src/LyX.cpp +++ b/src/LyX.cpp @@ -141,7 +141,7 @@ string cl_user_support; string geometryArg; -LyX * singleton_ = 0; +LyX * singleton_ = nullptr; void showFileError(string const & error) { @@ -155,7 +155,9 @@ void showFileError(string const & error) /// The main application class private implementation. struct LyX::Impl { Impl() - : latexfonts_(0), spell_checker_(0), apple_spell_checker_(0), aspell_checker_(0), enchant_checker_(0), hunspell_checker_(0) + : latexfonts_(nullptr), spell_checker_(nullptr), + apple_spell_checker_(nullptr), aspell_checker_(nullptr), + enchant_checker_(nullptr), hunspell_checker_(nullptr) {} ~Impl() @@ -250,14 +252,14 @@ frontend::Application * theApp() if (singleton_) return singleton_->pimpl_->application_.get(); else - return 0; + return nullptr; } LyX::~LyX() { delete pimpl_; - singleton_ = 0; + singleton_ = nullptr; } @@ -397,11 +399,9 @@ int LyX::exec(int & argc, char * argv[]) if (!pimpl_->lyx_server_->deferredLoadingToOtherInstance()) exit_status = pimpl_->application_->exec(); else if (!pimpl_->files_to_load_.empty()) { - vector::const_iterator it = pimpl_->files_to_load_.begin(); - vector::const_iterator end = pimpl_->files_to_load_.end(); lyxerr << _("The following files could not be loaded:") << endl; - for (; it != end; ++it) - lyxerr << *it << endl; + for (auto const & f : pimpl_->files_to_load_) + lyxerr << f << endl; } prepareExit(); @@ -438,17 +438,16 @@ void LyX::prepareExit() // do any other cleanup procedures now if (package().temp_dir() != package().system_temp_dir()) { string const abs_tmpdir = package().temp_dir().absFileName(); - if (!contains(package().temp_dir().absFileName(), "lyx_tmpdir")) { + if (!contains(abs_tmpdir, "lyx_tmpdir")) { docstring const msg = bformat(_("%1$s does not appear like a LyX created temporary directory."), from_utf8(abs_tmpdir)); Alert::warning(_("Cannot remove temporary directory"), msg); } else { - LYXERR(Debug::INFO, "Deleting tmp dir " - << package().temp_dir().absFileName()); + LYXERR(Debug::INFO, "Deleting tmp dir " << abs_tmpdir); if (!package().temp_dir().destroyDirectory()) { LYXERR0(bformat(_("Unable to remove the temporary directory %1$s"), - from_utf8(package().temp_dir().absFileName()))); + from_utf8(abs_tmpdir))); } } } @@ -500,7 +499,7 @@ int LyX::init(int & argc, char * argv[]) if (first_start) { pimpl_->files_to_load_.push_back( - i18nLibFileSearch("examples", "splash.lyx").absFileName()); + i18nLibFileSearch("examples", "Welcome.lyx").absFileName()); } return EXIT_SUCCESS; @@ -910,6 +909,25 @@ bool LyX::init() if (package().build_support().empty()) prependEnvPath("PATH", package().binary_dir().absFileName()); #endif + { + // Add the directory containing the dt2dv and dv2dt executables to the path + FileName dtldir; + if (!package().build_support().empty()) { + // dtl executables should be in the same dir ar tex2lyx + dtldir = package().binary_dir(); + } + else { + dtldir = FileName(addName(package().system_support().absFileName(), "extratools")); + } +#if defined(_WIN32) + string dtlexe = "dt2dv.exe"; +#else + string dtlexe = "dt2dv"; +#endif + FileName const dt2dv = FileName(addName(dtldir.absFileName(), dtlexe)); + if (dt2dv.exists()) + prependEnvPath("PATH", dtldir.absFileName()); + } if (!lyxrc.path_prefix.empty()) prependEnvPath("PATH", replaceEnvironmentPath(lyxrc.path_prefix)); @@ -990,7 +1008,7 @@ bool LyX::init() pimpl_->toplevel_keymap_.read("site"); pimpl_->toplevel_keymap_.read(lyxrc.bind_file); // load user bind file user.bind - pimpl_->toplevel_keymap_.read("user", 0, KeyMap::MissingOK); + pimpl_->toplevel_keymap_.read("user", nullptr, KeyMap::MissingOK); if (lyxerr.debugging(Debug::LYXRC)) lyxrc.print(); @@ -1621,7 +1639,7 @@ void setSpellChecker() singleton_->pimpl_->apple_spell_checker_ = new AppleSpellChecker; singleton_->pimpl_->spell_checker_ = singleton_->pimpl_->apple_spell_checker_; #else - singleton_->pimpl_->spell_checker_ = 0; + singleton_->pimpl_->spell_checker_ = nullptr; #endif } else if (lyxrc.spellchecker == "aspell") { #if defined(USE_ASPELL) @@ -1629,7 +1647,7 @@ void setSpellChecker() singleton_->pimpl_->aspell_checker_ = new AspellChecker; singleton_->pimpl_->spell_checker_ = singleton_->pimpl_->aspell_checker_; #else - singleton_->pimpl_->spell_checker_ = 0; + singleton_->pimpl_->spell_checker_ = nullptr; #endif } else if (lyxrc.spellchecker == "enchant") { #if defined(USE_ENCHANT) @@ -1637,7 +1655,7 @@ void setSpellChecker() singleton_->pimpl_->enchant_checker_ = new EnchantChecker; singleton_->pimpl_->spell_checker_ = singleton_->pimpl_->enchant_checker_; #else - singleton_->pimpl_->spell_checker_ = 0; + singleton_->pimpl_->spell_checker_ = nullptr; #endif } else if (lyxrc.spellchecker == "hunspell") { #if defined(USE_HUNSPELL) @@ -1645,10 +1663,10 @@ void setSpellChecker() singleton_->pimpl_->hunspell_checker_ = new HunspellChecker; singleton_->pimpl_->spell_checker_ = singleton_->pimpl_->hunspell_checker_; #else - singleton_->pimpl_->spell_checker_ = 0; + singleton_->pimpl_->spell_checker_ = nullptr; #endif } else { - singleton_->pimpl_->spell_checker_ = 0; + singleton_->pimpl_->spell_checker_ = nullptr; } if (singleton_->pimpl_->spell_checker_) { singleton_->pimpl_->spell_checker_->changeNumber(speller_change_number);