X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxvc.C;h=b4dae54556863c0f6b2f3f09777dbe6c71a4855c;hb=78046794ccfce3a20751e00b35295c290853afd6;hp=206250061bafd120c6c8ecd965978ae3b04483cb;hpb=1a8665988f6038b6d886c0bc663c1753c880d7ca;p=lyx.git diff --git a/src/lyxvc.C b/src/lyxvc.C index 206250061b..b4dae54556 100644 --- a/src/lyxvc.C +++ b/src/lyxvc.C @@ -1,29 +1,41 @@ +/** + * \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" #include "frontends/Alert.h" -#include "frontends/LyXView.h" #include "support/filetools.h" #include "support/lyxlib.h" -#include +using lyx::support::bformat; +using lyx::support::IsFileReadable; +using lyx::support::MakeDisplayPath; +using lyx::support::tempName; using std::endl; +using std::string; using std::pair; -/* WARNING: Several of the vcs-> methods end up - * deleting this object via BufferView::reload() ! - */ - LyXVC::LyXVC() { vcs = 0; @@ -74,25 +86,6 @@ void LyXVC::buffer(Buffer * buf) } -bool LyXVC::ensureClean() -{ - if (owner_->isClean()) - return true; - - string const file = MakeDisplayPath(owner_->fileName(), 30); - string text = bformat(_("The document %1$s has unsaved changes.\n\n" - "Do you want to save the document?"), file); - int const ret = Alert::prompt(_("Save changed document?"), - text, 0, 1, _("&Save"), _("&Cancel")); - - if (ret == 0) { - vcs->owner()->getUser()->owner()->dispatch(FuncRequest(LFUN_MENUWRITE)); - } - - return owner_->isClean(); -} - - void LyXVC::registrer() { string const filename = owner_->fileName(); @@ -100,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; } @@ -127,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"), @@ -148,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")); @@ -175,8 +153,6 @@ void LyXVC::checkIn() void LyXVC::checkOut() { lyxerr[Debug::LYXVC] << "LyXVC: checkOut" << endl; - if (!ensureClean()) - return; vcs->checkOut(); } @@ -248,7 +224,7 @@ 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;