X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxvc.C;h=6e4d421eee50fab9f8bad8db90e5d3899bc253d5;hb=35204f8f33d7400a5fefeffea533fb4cb4097211;hp=220d7c2491381332f1d573c523cf95e14bc749f2;hpb=9bc730abdb60f9c7959f7d2bba5601e023983c23;p=lyx.git diff --git a/src/lyxvc.C b/src/lyxvc.C index 220d7c2491..6e4d421eee 100644 --- a/src/lyxvc.C +++ b/src/lyxvc.C @@ -1,3 +1,18 @@ +/** + * \file lyxvc.C + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. + * + * \author Lars Gullik Bjønnes + * \author Jean-Marc Lasgouttes + * \author Angus Leeming + * \author John Levon + * \author André Pönitz + * \author Allan Rae + * + * Full author contact details are available in file CREDITS. + */ + #include #include "lyxvc.h" @@ -5,33 +20,36 @@ #include "debug.h" #include "buffer.h" #include "gettext.h" -#include "funcrequest.h" #include "frontends/Alert.h" -#include "frontends/LyXView.h" #include "support/filetools.h" #include "support/lyxlib.h" -#include -using namespace lyx::support; +namespace lyx { + +using support::bformat; +using support::isFileReadable; +using support::makeDisplayPath; +using support::tempName; using std::endl; +using std::string; using std::pair; +namespace Alert = frontend::Alert; + LyXVC::LyXVC() { - vcs = 0; owner_ = 0; } +// for the sake of boost::scoped_ptr LyXVC::~LyXVC() -{ - delete vcs; -} +{} bool LyXVC::file_found_hook(string const & fn) @@ -39,13 +57,13 @@ bool LyXVC::file_found_hook(string const & fn) string found_file; // Check if file is under RCS if (!(found_file = RCS::find_file(fn)).empty()) { - vcs = new RCS(found_file); + vcs.reset(new RCS(found_file)); vcs->owner(owner_); return true; } // Check if file is under CVS if (!(found_file = CVS::find_file(fn)).empty()) { - vcs = new CVS(found_file, fn); + vcs.reset(new CVS(found_file, fn)); vcs->owner(owner_); return true; } @@ -76,10 +94,10 @@ void LyXVC::registrer() string const filename = owner_->fileName(); // there must be a file to save - if (!IsFileReadable(filename)) { + if (!isFileReadable(filename)) { Alert::error(_("Document not saved"), _("You must save the document " - "before it can be registered.")); + "before it can be registered.")); return; } @@ -87,26 +105,26 @@ void LyXVC::registrer() if (!vcs) { string const cvs_entries = "CVS/Entries"; - if (IsFileReadable(cvs_entries)) { + if (isFileReadable(cvs_entries)) { lyxerr[Debug::LYXVC] << "LyXVC: registering " - << MakeDisplayPath(filename) + << to_utf8(makeDisplayPath(filename)) << " with CVS" << endl; - vcs = new CVS(cvs_entries, filename); + vcs.reset(new CVS(cvs_entries, filename)); } else { lyxerr[Debug::LYXVC] << "LyXVC: registering " - << MakeDisplayPath(filename) + << to_utf8(makeDisplayPath(filename)) << " with RCS" << endl; - vcs = new RCS(filename); + vcs.reset(new RCS(filename)); } vcs->owner(owner_); } lyxerr[Debug::LYXVC] << "LyXVC: registrer" << endl; - pair tmp = + pair tmp = Alert::askForText(_("LyX VC: Initial description"), _("(no initial description)")); if (!tmp.first || tmp.second.empty()) { @@ -115,7 +133,7 @@ void LyXVC::registrer() return; } - vcs->registrer(tmp.second); + vcs->registrer(to_utf8(tmp.second)); } @@ -123,12 +141,12 @@ void LyXVC::checkIn() { lyxerr[Debug::LYXVC] << "LyXVC: checkIn" << endl; - pair tmp = Alert::askForText(_("LyX VC: Log Message")); + pair tmp = Alert::askForText(_("LyX VC: Log Message")); if (tmp.first) { if (tmp.second.empty()) { tmp.second = _("(no log message)"); } - vcs->checkIn(tmp.second); + vcs->checkIn(to_utf8(tmp.second)); } else { lyxerr[Debug::LYXVC] << "LyXVC: user cancelled" << endl; } @@ -147,10 +165,10 @@ void LyXVC::revert() { lyxerr[Debug::LYXVC] << "LyXVC: revert" << endl; - string const file = MakeDisplayPath(owner_->fileName(), 20); - string text = bformat(_("Reverting to the stored version of the " + docstring const file = makeDisplayPath(owner_->fileName(), 20); + docstring text = bformat(_("Reverting to the stored version of the " "document %1$s will lose all current changes.\n\n" - "Do you want to revert to the saved version?"), file); + "Do you want to revert to the saved version?"), file); int const ret = Alert::prompt(_("Revert to stored version of document?"), text, 0, 1, _("&Revert"), _("&Cancel")); @@ -210,7 +228,15 @@ string const LyXVC::getLogFile() const return string(); string tmpf = tempName(string(), "lyxvclog"); + if (tmpf.empty()) { + lyxerr[Debug::LYXVC] << "Could not generate logfile " + << tmpf << endl; + return string(); + } lyxerr[Debug::LYXVC] << "Generating logfile " << tmpf << endl; vcs->getLog(tmpf); return tmpf; } + + +} // namespace lyx