X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxvc.C;h=7291f0f3cbe04cd2574cf8ab8ef4b8fb95e956d4;hb=f268743f8c014ef2dadd260fd1a3873cb1d2038b;hp=b919bb1d4f14c587663d3314271607bc858c8ec2;hpb=06242eb145379e15ce539900a58b5f7cff58a47b;p=lyx.git diff --git a/src/lyxvc.C b/src/lyxvc.C index b919bb1d4f..7291f0f3cb 100644 --- a/src/lyxvc.C +++ b/src/lyxvc.C @@ -1,10 +1,24 @@ +/** + * \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" #include "vc-backend.h" #include "debug.h" #include "buffer.h" -#include "BufferView.h" #include "gettext.h" #include "funcrequest.h" @@ -13,16 +27,14 @@ #include "support/filetools.h" #include "support/lyxlib.h" -#include "BoostFormat.h" #include +using namespace lyx::support; + using std::endl; using std::pair; -/* WARNING: Several of the vcs-> methods end up - * deleting this object via BufferView::reload() ! - */ LyXVC::LyXVC() { @@ -74,31 +86,6 @@ void LyXVC::buffer(Buffer * buf) } -bool LyXVC::ensureClean() -{ - if (owner_->isClean()) - return true; - - string const file = MakeDisplayPath(owner_->fileName(), 30); -#if USE_BOOST_FORMAT - boost::format fmt(_("The document %1$s has unsaved changes.\n\nDo you want to save the document?")); - fmt % file; - string text = fmt.str(); -#else - string text = _("The document "); - text += file + _(" has unsaved changes.\n\nDo you want to save the document?"); -#endif - int const ret = Alert::prompt(_("Save changed document?"), - text, 0, _("&Save"), _("&Cancel")); - - if (ret == 0) { - vcs->owner()->getUser()->owner()->dispatch(FuncRequest(LFUN_MENUWRITE)); - } - - return owner_->isClean(); -} - - void LyXVC::registrer() { string const filename = owner_->fileName(); @@ -106,8 +93,8 @@ void LyXVC::registrer() // there must be a file to save if (!IsFileReadable(filename)) { Alert::error(_("Document not saved"), - _("You must save the document " - "before it can be registered.")); + _("You must save the document " + "before it can be registered.")); return; } @@ -133,11 +120,6 @@ void LyXVC::registrer() vcs->owner(owner_); } - // Maybe the save fails, or we answered "no". In both cases, - // the document will be dirty, and we abort. - if (!ensureClean()) - return; - lyxerr[Debug::LYXVC] << "LyXVC: registrer" << endl; pair tmp = Alert::askForText(_("LyX VC: Initial description"), @@ -154,16 +136,6 @@ void LyXVC::registrer() void LyXVC::checkIn() { - // If the document is changed, we might want to save it - if (!vcs->owner()->isClean()) { - vcs->owner()->getUser()->owner() - ->dispatch(FuncRequest(LFUN_MENUWRITE)); - } - - // Maybe the save fails, or we answered "no". In both cases, - // the document will be dirty, and we abort. - if (!vcs->owner()->isClean()) - return; lyxerr[Debug::LYXVC] << "LyXVC: checkIn" << endl; pair tmp = Alert::askForText(_("LyX VC: Log Message")); @@ -181,8 +153,6 @@ void LyXVC::checkIn() void LyXVC::checkOut() { lyxerr[Debug::LYXVC] << "LyXVC: checkOut" << endl; - if (!ensureClean()) - return; vcs->checkOut(); } @@ -193,17 +163,11 @@ void LyXVC::revert() lyxerr[Debug::LYXVC] << "LyXVC: revert" << endl; string const file = MakeDisplayPath(owner_->fileName(), 20); -#if USE_BOOST_FORMAT - boost::format fmt(_("Reverting to the stored version of the document %1$s will " - "lose all current changes.\n\nDo you want to revert to the saved version?")); - fmt % file; - string text = fmt.str(); -#else - string text = _("Reverting to the stored version of the document "); - text += file + _(" will lose all current changes.\n\nDo you want to revert to the saved version?"); -#endif + string 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); int const ret = Alert::prompt(_("Revert to stored version of document?"), - text, 1, _("&Revert"), _("&Cancel")); + text, 0, 1, _("&Revert"), _("&Cancel")); if (ret == 0) vcs->revert(); @@ -255,12 +219,12 @@ string const & LyXVC::locker() const } -const string LyXVC::getLogFile() const +string const LyXVC::getLogFile() const { if (!vcs) return string(); - string tmpf = lyx::tempName(string(), "lyxvclog"); + string tmpf = tempName(string(), "lyxvclog"); lyxerr[Debug::LYXVC] << "Generating logfile " << tmpf << endl; vcs->getLog(tmpf); return tmpf;