X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxvc.C;h=220d7c2491381332f1d573c523cf95e14bc749f2;hb=09e01879979643949f1f2c7216023f1f35d5ada2;hp=92670f2a17d8a547bf436eff77847fe8cf86178d;hpb=c10dfd15cd79499dd23f161d8f1716c00a143e09;p=lyx.git diff --git a/src/lyxvc.C b/src/lyxvc.C index 92670f2a17..220d7c2491 100644 --- a/src/lyxvc.C +++ b/src/lyxvc.C @@ -1,16 +1,11 @@ #include -#ifdef __GNUG__ -#pragma implementation -#endif - #include "lyxvc.h" #include "vc-backend.h" #include "debug.h" #include "buffer.h" -#include "BufferView.h" -#include "lyxfunc.h" #include "gettext.h" +#include "funcrequest.h" #include "frontends/Alert.h" #include "frontends/LyXView.h" @@ -20,9 +15,12 @@ #include +using namespace lyx::support; + using std::endl; using std::pair; + LyXVC::LyXVC() { vcs = 0; @@ -76,12 +74,12 @@ void LyXVC::buffer(Buffer * buf) void LyXVC::registrer() { string const filename = owner_->fileName(); - + // there must be a file to save if (!IsFileReadable(filename)) { - Alert::alert(_("File not saved"), - _("You must save the file"), - _("before it can be registered.")); + Alert::error(_("Document not saved"), + _("You must save the document " + "before it can be registered.")); return; } @@ -107,21 +105,6 @@ void LyXVC::registrer() vcs->owner(owner_); } - // If the document is changed, we might want to save it - if (!vcs->owner()->isClean() && - Alert::askQuestion(_("Changes in document:"), - MakeDisplayPath(filename, 50), - _("Save document and proceed?"))) { - vcs->owner()->getUser()->owner() - ->getLyXFunc().dispatch(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: registrer" << endl; pair tmp = Alert::askForText(_("LyX VC: Initial description"), @@ -129,8 +112,6 @@ void LyXVC::registrer() if (!tmp.first || tmp.second.empty()) { // should we insist on checking tmp.second.empty()? lyxerr[Debug::LYXVC] << "LyXVC: user cancelled" << endl; - Alert::alert(_("Info"), - _("This document has NOT been registered.")); return; } @@ -140,20 +121,6 @@ void LyXVC::registrer() void LyXVC::checkIn() { - // If the document is changed, we might want to save it - if (!vcs->owner()->isClean() && - Alert::askQuestion(_("Changes in document:"), - MakeDisplayPath(vcs->owner()->fileName(), 50), - _("Save document and proceed?"))) { - vcs->owner()->getUser()->owner() - ->getLyXFunc().dispatch(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")); @@ -171,30 +138,24 @@ void LyXVC::checkIn() void LyXVC::checkOut() { lyxerr[Debug::LYXVC] << "LyXVC: checkOut" << endl; - if (!vcs->owner()->isClean() - && !Alert::askQuestion(_("Changes in document:"), - MakeDisplayPath(vcs->owner()->fileName(), 50), - _("Ignore changes and proceed with check out?"))) { - return; - } vcs->checkOut(); - } void LyXVC::revert() { lyxerr[Debug::LYXVC] << "LyXVC: revert" << endl; - // Here we should check if the buffer is dirty. And if it is - // we should warn the user that reverting will discard all - // changes made since the last check in. - if (Alert::askQuestion(_("When you revert, you will loose all changes made"), - _("to the document since the last check in."), - _("Do you still want to do it?"))) { + string const file = MakeDisplayPath(owner_->fileName(), 20); + 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, 0, 1, _("&Revert"), _("&Cancel")); + + if (ret == 0) vcs->revert(); - } } @@ -243,12 +204,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;