X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLyXVC.cpp;h=15d2626ce7567846aae5c95d218a1ac30833d6af;hb=32b65a8ee5ad6d5264011b66771a6ed91633ba3d;hp=2dd5ac154cc83cd21f1cf23e8f1b1e9b921217cd;hpb=2f9ef2b98a6170d4c890ce3325ddc3ad9105bbad;p=lyx.git diff --git a/src/LyXVC.cpp b/src/LyXVC.cpp index 2dd5ac154c..15d2626ce7 100644 --- a/src/LyXVC.cpp +++ b/src/LyXVC.cpp @@ -25,6 +25,7 @@ #include "support/filetools.h" #include "support/gettext.h" #include "support/lstrings.h" +#include "support/TempFile.h" using namespace std; using namespace lyx::support; @@ -40,9 +41,10 @@ LyXVC::LyXVC() } -// for the sake of boost::scoped_ptr -LyXVC::~LyXVC() -{} +string LyXVC::vcname() const +{ + return vcs->vcname(); +} bool LyXVC::fileInVC(FileName const & fn) @@ -322,13 +324,18 @@ string LyXVC::toggleReadOnly() case VCS::LOCKED: { LYXERR(Debug::LYXVC, "LyXVC: toggle to unlocked"); string log; - if (checkIn(log) != Success) + if (checkIn(log) != VCSuccess) return string(); return log; } case VCS::NOLOCKING: - case VCS::UNVERSIONED: - break; + Buffer * b = vcs->owner(); + bool const newstate = !b->isReadonly(); + string result = "LyXVC: toggle to "; + result += (newstate ? "readonly" : "readwrite"); + LYXERR(Debug::LYXVC, result); + b->setReadonly(newstate); + return result; } return string(); } @@ -337,7 +344,7 @@ string LyXVC::toggleReadOnly() bool LyXVC::inUse() const { if (vcs) - return vcs->status() != VCS::UNVERSIONED; + return true; return false; } @@ -363,7 +370,9 @@ string const LyXVC::getLogFile() const if (!vcs) return string(); - FileName const tmpf = FileName::tempName("lyxvclog"); + TempFile tempfile("lyxvclog"); + tempfile.setAutoRemove(false); + FileName const tmpf = tempfile.name(); if (tmpf.empty()) { LYXERR(Debug::LYXVC, "Could not generate logfile " << tmpf); return string();